]> AND Private Git Repository - book_gpu.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
ch8
authorcouturie <couturie@carcariass.(none)>
Sat, 1 Dec 2012 08:13:15 +0000 (09:13 +0100)
committercouturie <couturie@carcariass.(none)>
Sat, 1 Dec 2012 08:13:15 +0000 (09:13 +0100)
20 files changed:
BookGPU/BookGPU.tex
BookGPU/Chapters/chapter14/ch14.tex
BookGPU/Chapters/chapter8/biblio8.bib [new file with mode: 0644]
BookGPU/Chapters/chapter8/ch8.tex [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/Diagram1-eps-converted-to.pdf [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/Diagram1.eps [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/FlowShop-eps-converted-to.pdf [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/FlowShop.eps [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/approach-eps-converted-to.pdf [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/approach.eps [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/johnson_with_lags-eps-converted-to.pdf [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/johnson_with_lags.eps [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/parallel_bounding-eps-converted-to.pdf [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/parallel_bounding.eps [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/parallel_exploration-eps-converted-to.pdf [new file with mode: 0644]
BookGPU/Chapters/chapter8/figures/parallel_exploration.eps [new file with mode: 0644]
BookGPU/Makefile
BookGPU/algorithm.sty [new file with mode: 0644]
BookGPU/algorithm2e.sty [new file with mode: 0644]
BookGPU/algorithmicx.sty [new file with mode: 0644]

index a06c9c9c5598501bf0c7a64a26368aaefe90133c..e2a1c0365ee09b624b2c5471b5f5b5da72eef860 100755 (executable)
 \usepackage[sectionbib]{bibunits}
 \usepackage{multicol}
 \usepackage{cite}
+\usepackage{algorithm}
+\usepackage{algorithmicx}
+\usepackage[lined,boxed,commentsnumbered]{algorithm2e}
+\usepackage{epstopdf}
+
 
 \frenchspacing
 \tolerance=5000
 \part{This is a Part}
 \include{Chapters/chapter1/ch1}
 \include{Chapters/chapter2/ch2}
+\include{Chapters/chapter8/ch8}
 \include{Chapters/chapter11/ch11}
 \include{Chapters/chapter14/ch14}
 
index 38f7f6fa71d927da3a8789967deb74902207d1c1..916717df33fc168f80bffd43948fef61a3cf5b08 100755 (executable)
@@ -1161,8 +1161,6 @@ dispersions,
 
 
 
-% that's all folks
-\end{document}
 
 
 
diff --git a/BookGPU/Chapters/chapter8/biblio8.bib b/BookGPU/Chapters/chapter8/biblio8.bib
new file mode 100644 (file)
index 0000000..78424f2
--- /dev/null
@@ -0,0 +1,158 @@
+@ARTICLE{ch8:Allen_1997,
+   author =    "R. Allen and L. Cinque and S. Tanimoto and L. Shapiro and D. Yasuda.",
+   title =     "A parallel algorithm for graph matching and its MasPar implementation",
+   journal =   "IEEE Transactions on Parallel and Distributed Systems",
+   volume =    "8",
+   year =      "1997"
+   }
+
+@InProceedings{ch8:Carneiro_2011,
+ author =       {T. Carneiro and A. Einstein Muritibab and M. Negreirosc and G. Augusto Lima de Campos},
+ title =        {A New Parallel Schema for Branch-and-Bound Algorithms Using GPGPU},
+ booktitle =    {23rd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)},
+ year =         {2011}
+}
+
+@ARTICLE{ch8:Casadoa_2008,
+   author =    "L.G. Casadoa and J.A. Martíneza and I. Garcíaa and E.M.T. Hendrixb.",
+   title =     "Branch-and-Bound interval global optimization on shared memory multiprocessors",
+   journal =   "Optimization Methods and Software",
+   volume =    "23, No.5",
+   pages =     "689-701",
+   year =      "2008"
+   }
+
+@InProceedings{ch8:Fung,
+ author =       {W. Fung and I. Sham and G. Yuan and T. Aamodt},
+ title =        {Dynamic warp formation and scheduling for efficient gpu control flow},
+ booktitle =    {{In MICRO '07: Proceedings of the 40th Annual IEEE/ACM International Symposium on Micro-architecture}},
+ year =         {2007},
+ pages =         {407-420},
+ publisher =    {Washington, DC, USA}
+}
+
+@Article{ch8:Garey_1976,
+ author =       {M.R. Garey and D.S. Johnson and R. Sethi},
+ title =        {{The complexity of flow-shop and job-shop scheduling}},
+ journal =      {Mathematics of Operations Research},
+ year =         {1976},
+ volume =       {1},
+ number =       {},
+ pages =        {117--129}
+}
+
+@Article{ch8:Gendron_1994,
+ author =       {B. Gendron and T.G. Crainic},
+ title =        {Parallel {B}ranch and {B}ound {A}lgorithms: {S}urvey and {S}ynthesis},
+ journal =      {Operations Research},
+ year =         {1994},
+ volume =       {42},
+ number =       {},
+ pages =        {1042--1066}
+}
+
+@InProceedings{ch8:Han,
+ author =       {T. Han and T.S. Abdelrahman},
+ title =        {Reducing branch divergence in GPU programs},
+ booktitle =    {{In Proceedings of the Fourth Workshop on General Purpose Processing on Graphics Processing Units (GPGPU-4), ACM}},
+ year =         {2011},
+ publisher =    {New York, USA}
+}
+
+@Article{ch8:Johnson_1954,
+ author =       {S.M. Johnson},
+ title =        {{Optimal two and three-stage production schedules with setup times included}},
+ journal =      {Naval Research Logistis Quarterly},
+ year =         {1954},
+ volume =       {1},
+ number =       {},
+ pages =        {61--68}
+}
+
+@ARTICLE{ch8:Kurzak_2010,
+   author =    "J. Kurzak and D. A. Bader and J. Dongarra.",
+   title =     "Scientific Computing with Multicore and Accelerators",
+   journal =   "Chapman \& Hall / CRC Press",
+   year =      "2010"
+   }
+
+@Article{ch8:Lenstra_1978,
+ author =       {J.K. Lenstra and B.J. Lageweg and A.H.G. Rinnooy Kan},
+ title =        {{A General bounding scheme for the permutation flow-shop problem}},
+ journal =      {Operations Research},
+ year =         {1978},
+ volume =       {26},
+ number =       {1},
+ pages =        {53--67}
+}
+
+@MISC{ch8:MelabHDR_2005,
+AUTHOR =       "N. Melab",
+TITLE =                "Contributions \`a la r\'esolution de probl\`emes d'optimisation combinatoire sur grilles de calcul",
+HOWPUBLISHED = "LIFL, USTL",
+MONTH =                "Novembre",
+year =         "2005",
+NOTE =         "Th\`ese HDR"
+}
+
+@ARTICLE{ch8:Taillard_1993,
+       AUTHOR ="E. Taillard",
+       TITLE ="Benchmarks for basic scheduling problems",
+       JOURNAL ="Journal of Operational Research",
+       YEAR ="1993",
+       VOLUME ="64",
+       NUMBER ="",
+       PAGES ="278--285",
+       MONTH ="",
+       NOTE =""
+}
+
+@ARTICLE{ch8:JRJackson_1956,
+       AUTHOR ="J.R.Jackson",
+       TITLE ="An Extension of Johnson's results on Job-Lot Scheduling",
+       JOURNAL ="Naval Research Logistis Quarterly",
+       YEAR ="1956",
+       NOTE ="3:3"
+}
+
+@ARTICLE{ch8:LGMitten_1959,
+       AUTHOR ="L.G.Mitten",
+       TITLE ="Sequencing n jobs on two machines with arbitrary time lags",
+       JOURNAL ="Management Science",
+       YEAR ="1959"
+}
+
+@InProceedings{ch8:Mezmaz_2007,
+ author =       {M. Mezmaz and N. Melab and E-G. Talbi.},
+ title =        {A grid-enabled branch and bound algorithm for solving challenging combinatorial optimization problems},
+ booktitle = {{In Proc. of 21th IEEE Intl. Parallel and Distributed Processing Symp. (IPDPS)}},
+ year =         {2007},
+ month =        {March},
+ publisher = {Long Beach, California}
+}
+
+@ARTICLE{ch8:Quinn_1990,
+   author =    "M. J. Quinn.",
+   title =     "Analysis and implementation of branch-and-bound algorithms on a hypercube multicomputer",
+   journal =   "IEEE transactions on computers",
+   volume =    "39, No3",
+   pages =     "384-387",
+   year =      "1990"
+   }
+
+@InProceedings{ch8:Zhang,
+ author =       {E.Z. Zhang and Y. Jiang and Z. Guo and X. Shen},
+ title =        {Streamlining GPU applications on the fly: thread divergence elimination through runtime thread-data remapping},
+ booktitle = {{In Proceedings of the 24th ACM International Conference on Supercomputing (ICS'10), ACM.}},
+ year =         {2010},
+ pages =        {115-126},
+ publisher = {New York, NY, USA}
+}
+
+@misc{ch8:cuda,
+  author = {{NVIDIA Corporation}},
+  keywords = {CUDA},
+  note = {Version 4.0},
+  title = {{NVIDIA CUDA C} Programming Guide},
+  year = 2011
+}
diff --git a/BookGPU/Chapters/chapter8/ch8.tex b/BookGPU/Chapters/chapter8/ch8.tex
new file mode 100644 (file)
index 0000000..a4aaac3
--- /dev/null
@@ -0,0 +1,862 @@
+
+\chapterauthor{Imen Chakroun}{Universit\'e Lille 1 CNRS/LIFL, INRIA Lille Nord Europe, Cit\'e scientifique - 59655, Villeneuve d'Ascq cedex, France\\}
+\chapterauthor{Nouredine Melab}{Universit\'e Lille 1 CNRS/LIFL, INRIA Lille Nord Europe, Cit\'e scientifique - 59655, Villeneuve d'Ascq cedex, France\\}
+
+\chapter{GPU-accelerated Tree-based Exact Optimization Methods}
+
+\section{Introduction}
+\label{ch8:introduction}
+
+In practice, a wide range of problems can be modeled as NP-hard combinatorial optimization problems (COPs). Those problems consist in choosing the best combination out of a large finite set of possible combinations and are known to be large in size and difficult to solve to optimality. One of the most popular methods for solving exactly a COP (finding a solution having the optimal cost), is the Branch-and-Bound (B\&B) algorithm. This algorithm is based on an implicit enumeration of all the feasible solutions of the tackled problem. Enumerating the solutions of a problem consists in building a dynamically generated search tree whose nodes are subsets of solutions of the considered problem. The construction of such tree and its exploration is performed using four operators: branching, bounding, selection and pruning. Due to the exponentially increasing number of potential solutions, the B\&B algorithm explores only promising nodes of the search tree using an estimated optimal solution called ``lower bound'' of the associated sub-problem. 
+
+\vspace{0.3cm}
+
+Although this bounding mechanism allows to considerably reduce the exploration time, often only small or moderately-sized instances of COPs can be practically solved. For this reason, over the last decades, parallel computing has been revealed as an attractive way to deal with larger instances of COPs. However, while many contributions have been proposed for parallel B\&B methods using Massively Parallel Processors \cite{ch8:Allen_1997}, Networks or Clusters of Workstations \cite{ch8:Quinn_1990} and SMP machines \cite{ch8:Casadoa_2008}, very few contributions have been proposed for redesigning B\&B algorithms on Graphical Processing Units (GPUs) \cite{ch8:Carneiro_2011}. For years, the use of GPU accelerators was limited to graphics and video applications. Driven by the demand for high-definition 3D graphics on personal computers, GPUs have evolved into a highly parallel, multi-threaded and many-core environment. Their utilization has recently been extended to other application domains such as scientific computing \cite{ch8:Kurzak_2010}. 
+
+\vspace{0.3cm}
+
+In this work, we rethink the design and implementation of irregular tree-based algorithms such as B\&B algorithm on top of GPUs. During the execution of the B\&B algorithm, the number of new generated nodes and the number of not yet explored but promising nodes are variable and depend on the level of the tree being explored and on the best solution found so far. Therefore, due to such unstructured and unpredictable nature of its search tree, designing efficient B\&B on top of GPUs is not straightforward. We investigate two different approaches for designing GPU-based B\&B starting from the parallel models for B\&B identified in \cite{ch8:MelabHDR_2005}. The first one is based on the ``parallel tree exploration'' paradigm. This approach consists in exploring in parallel different sub-spaces of the tree. The second approach is based on the ``parallel evaluation of bounds'' approach. The two approaches have been applied to the permutation \index{Flowshop Scheduling Problem} (FSP)(see Section~\ref{ch8:BB-FSP}) which is an NP-hard combinatorial optimization problem. The lower bound function used in this work for FSP is the one proposed in~\cite{ch8:Johnson_1954} for two machines and generalized in~\cite{ch8:Lenstra_1978} to more than two machines.
+
+\vspace{0.3cm}
+
+When rethinking those two parallel model for GPU's architectures, our main focus was on the lower bound function. Indeed, preliminary experiments we carried out on some Taillard's problem instances \cite{ch8:Taillard_1993} show that computing the lower bounds takes on average between 98\% and 99\% of the total execution time of the B\&B. The GPU-based lower bound's implementation raises mainly two challenges. On the one hand, having in mind that the execution model of GPUs is SIMD, irregular computations (containing loops and conditional instructions) contained in the lower bound function may lead to a very challenging issue: the thread or branch divergence. This problem drops down the performance and arises when threads of a same warp (the smallest executable unit of parallelism on the GPU) execute different data-dependent instructions. On the other hand, the lower bound computation usually uses large in size and frequently accessed data structures. Since GPU is a many-core co-processor device that provides a hierarchy of memories having different sizes and access latencies, the placement and sharing of these data sets become challenging.
+
+\vspace{0.3cm}
+
+The scope of this chapter is to design parallel B\&B algorithms on GPU accelerators to allow highly efficient solving of permutation-based COPs. To do so, our contributions consist in: (1) rethinking two approaches for parallel B\&B on top of GPUs, discussing the performances of each and identifying which best suits the GPU accelerators. (2) proposing a new approach for thread/branch divergence reduction through a thorough analysis of the different loops and conditional instructions of the bounding function. (2) defining an optimal mapping of the data structures of the bounding function on the hierarchy of memories provided in the GPU device through a careful analysis of both the data structures (size and access frequency) and the GPU memories (size and access latency). 
+
+\vspace{0.3cm}
+
+The chapter is organized in seven main sections. Section \ref{ch8:BB} presents the B\&B algorithm. Section \ref{ch8:Parallel-BB} introduces the different models used to parallelize B\&B algorithms. Section \ref{ch8:BB-FSP} briefly describes the Flowshop Scheduling permutation Problem. In Section~\ref{ch8:approach1}, we describe the GPU-accelerated B\&B based on the parallel tree exploration. In Section~\ref{ch8:approach2},  details about the second approach, the GPU-accelerated B\&B based on the parallel evaluation of lower bounds, are given. In Section \ref{ch8:ThreadDivergence}, the thread divergence issue related to the location of nodes in the B\&B tree and to the control flow instructions within the bounding operator is described. In Section \ref{ch8:DataAccessOpt}, the memory access optimization challenge is addressed and an overview of the GPU memory hierarchy and the used memory access pattern is given. In Section~\ref{ch8:Experiments}, we report experimental results showing the performances of each of two studied approaches compared to a sequential CPU-based execution of the B\&B and demonstrating the efficiency of the proposed optimizations.
+
+\section{\index{Branch-and-Bound} algorithm}
+\label{ch8:BB}
+
+Branch-and-bound algorithms are by far the most widely used methods for exactly solving large scale NP-hard combinatorial optimization problems. Indeed, they allow to find the optimal solution of a problem with proof of optimality. 
+
+\vspace{0.3cm}
+
+The basic idea of the B\&B algorithm consists in implicitly enumerating all the solutions of the original problem by only examining a subset of feasible solutions and eliminating the others when they are not likely to lead to a feasible or an optimal solution. Enumerating the solutions of a problem consists in building a dynamically generated search tree whose nodes are subsets of solutions of the considered problem. The construction of such tree and its exploration are performed using four operators: branching, bounding, selection and pruning.
+
+\vspace{0.3cm}
+
+The algorithm proceeds in several iterations during which the best solution found so far is progressively improved. During the exploration process, the search space is described by a pool of unexplored nodes and the best solution found so far. The generated and not yet examined (pending) nodes are kept into a list initialized with the original problem. At each iteration of the algorithm, the following steps are performed:
+
+\begin{itemize}
+ \item The {\it selection operator} chooses one node to process among the pending nodes according to a defined strategy. If the selection is based on the depth of the sub-problem in the B\&B tree, we speak about a depth-first exploration strategy. A selection based on the breadth of the sub-problem is called a breadth-first exploration. A best-first selection strategy could also be used. It is based on the presumed capacity of the node to yield good solutions.
+ \item The {\it branching operator} subdivides a solution space into two or more disjointed sub-spaces to be investigated in a subsequent iteration.
+ \item The {\it bounding operator} computes a bound value of the optimal solution of each generated sub-problem.
+ \item Each sub-problem having a greater bound than the upper-bound, i.e. the cost of the best solution found so far, is eliminated using the {\it pruning operator}.
+\end{itemize}
+
+Algorithm \ref{ch8:algoBB} gives the general template of the Branch-and-Bound method.
+
+\begin{algorithm}[H]
+
+\SetAlgoLined  
+
+\vspace{0.2cm}
+
+Create the initial problem; \\
+Inset the initial problem into the tree; \\
+Set the Upper\_Bound to $\propto$;  \\
+Set the Best\_Solution to $\emptyset$; \\
+
+\While{ not\_empty\_tree() }
+{
+    \vspace{0.2cm}     
+
+    Sub\_Problem = Take\_sub\_problem();  
+
+    \If{ Is\_leaf ( Sub\_Problem ) } 
+    {
+           Upper\_Bound = Cost\_Of( Sub\_Problem );\\
+           Best\_Solution = Sub\_Problem;
+    }
+    \Else
+    {
+       Lower\_Bound = compute\_lower\_bound(Sub\_Problem);
+      
+       \If{ Lower\_Bound $\leq$ Upper\_Bound } 
+       {       
+         Branch(Sub\_Problem); \\
+         Insert child sub problems into the tree; 
+       }       
+       \Else
+       {
+         Prune (Sub\_Problem); 
+       }
+    }
+}
+
+\caption{General template of the Branch-and-Bound Algorithm.}
+\label{ch8:algoBB}
+\end{algorithm}
+
+\section{Parallel Branch-and-Bound algorithms}
+\label{ch8:Parallel-BB}
+
+Thanks to the bounding operator, B\&B allows to significantly reduce the computing time needed to explore the whole solution space. However, finding an optimal solution for large instances remains unpractical using a sequential B\&B. Therefore, parallel processing of these algorithms has been widely studied in the literature. In \cite{ch8:MelabHDR_2005}, a taxonomy of the various existing parallel paradigm used to parallelize the B\&B algorithm is presented.
+
+\vspace{0.2cm}
+
+This taxonomy based on the classification proposed in \cite{ch8:Gendron_1994} identified several models to accelerate the B\&B search. The first model we consider in this chapter is called ``parallel tree exploration model'' and belongs to the ``Tree-based'' strategies that aim to build and explore the B\&B tree in parallel. The second model called ``parallel evaluation of bounds model'' (evaluation of bounds in parallel) belong to the parallelization approach called ``Node-based''. This strategy aims to accelerate the execution of a particular operation at the node level.
+
+\vspace{0.2cm}
+
+\subsection{The parallel tree exploration model}
+\label{ch8:para_tree}
+
+Tree-based strategies consist in building and/or exploring the solution tree in parallel by performing operations on several sub-problems simultaneously. This coarse-grained type of parallelism affects the general structure of the B\&B algorithm and makes it highly irregular.\\
+
+The \index{parallel tree exploration} model, illustrated in Figure \ref{ch8:parallel_tree}, consists in visiting in parallel different paths of the same tree. The search tree is explored in parallel by performing the branching, selection, bounding and elimination operators on several sub-problems simultaneously.\\
+
+\begin{figure}
+  \begin{center}
+\includegraphics[scale=0.5]{Chapters/chapter8/figures/parallel_exploration.eps}%
+
+\caption{Illustration of the parallel tree exploration model}
+\label{ch8:parallel_tree}
+  \end{center}
+\end{figure}
+
+\subsection{The parallel evaluation of bounds model}
+\label{ch8:Node_parallel}
+
+Node-based strategies introduce parallelism when performing the operations on a single problem. For instance, they consist in executing the bounding operation in parallel for each sub-problem to accelerate the execution. This type of parallelism has no influence on the general structure of the B\&B algorithm and is particular to the problem being solved.\\
+
+The \index{parallel evaluation of bounds} model, as shown in Figure \ref{ch8:bounds_parallel}, allows the parallelization of the bounding of sub-problems generated by the branching operator. This model is used in the case where the bounding operator is performed several times after the branching operator. The model does not change the order and the number of explored sub-problems in the parallel B\&B algorithm compared to the sequential B\&B.
+
+\begin{figure}
+  \begin{center}
+\includegraphics[scale=0.5]{Chapters/chapter8/figures/parallel_bounding.eps}%
+
+\caption{Illustration of the parallel evaluation of bounds model}
+\label{ch8:bounds_parallel}
+  \end{center}
+\end{figure}
+
+\section{The Flowshop Scheduling Problem}
+\label{ch8:BB-FSP}
+
+\subsection{Definition of the Flowshop Scheduling Problem} 
+\label{ch8:LB-FSP}
+
+As a case study for our GPU-based Branch-and-Bound, we considered the NP-hard and well-known problem in the scheduling theory: the "Permutation Flow-shop Scheduling Problem" (FSP). 
+In this work, the mono-objective case is considered. The FSP aims to find the optimal schedule of n jobs on m machines so that the overall completion time of all jobs, called {\it makespan}, is minimized. 
+
+\vspace{0.3cm}
+
+Let us suppose the set of jobs is represented by J = {$j_1$, $j_2$, . . . $j_n$} and the set of machines is represented by M = {$m_1$,$m_2$, . . .$m_m$} organized 
+in the line. Each job $j_i$ is a sequence of operations ji = { $oi_1$, $oi_2$, . . . $oi_m$ } where oim is the duration required for the job ji on the machine m. 
+A feasible solution of the flowshop permutation should satisfy these constraints:
+
+\begin{itemize}
+ \item A machine can not start processing a job if all the machines, which are located upstream, did not finish their treatment. Thus, the operation $oi_j$ cannot be processed by the machine $m_j$ if it is not completed on $m_j$ - 1. 
+\item An operation can not be interrupted, and the machines are critical resources, because a machine processes one job at a time.
+\item The sequence of jobs should be the same on every machine, e.g. if j3 is treated in position 2 on the first machine, j3 is also executed in position 2 on all machines.
+\end{itemize}
+
+Figure~\ref{flow-shop} illustrates a solution of a flow-shop problem instance defined by 6 jobs and 3 machines. 
+
+\begin{figure}[h!]
+\centering
+\includegraphics[height=1.7cm,width=6.8cm]{Chapters/chapter8/figures/FlowShop.eps}
+\caption{Flow-shop problem instance with 3 jobs and 6 machines.}
+\label{flow-shop}
+\end{figure}
+
+\vspace{0.3cm}
+
+\subsection{\index{Lower Bound} for the Flowshop Scheduling Problem}
+\label{ch8:LB-FSP}
+
+The lower bounding technique provides a lower bound (LB) for each sub-problem generated by the branching operator. The more the bound is accurate, the more it allows to eliminate not promising nodes from the search tree. Therefore, the efficiency of a B\&B algorithm depends strongly on the quality of its lower bound function. In this chapter, we use the lower bound proposed by Lenstra {\it et al.}~\cite{ch8:Lenstra_1978} for FSP, based on the Johnson's algorithm~\cite{ch8:Johnson_1954}.
+
+\vspace{0.2cm}
+
+The Johnson's algorithm allows to solve optimally FSP with two machines ($m=2$) using the following transitive rule $\preceq$:
+
+$$J_i \preceq J_j \Leftrightarrow \min(p_{i,1}\ ;\ p_{j,2}) \leq
+\min(p_{i,2}\ ;\ p_{j,1})$$
+
+We recall that $p_{k,l}$ designates the processing time of the job $J_k$ on the machine $M_l$. From the above rule, it follows the Johnson's theorem: \\
+
+\textbf{Jonhson's theorem} \emph{Given $P$ an FSP with $m=2$, if $J_i\preceq J_j$ there exists an optimal schedule for $P$ in which the job $J_i$ precedes the job $J_j$.}\\
+
+According to Johnson's theorem, FSP with $m=2$ is solved with a time complexity of $O(n.log n)$. The optimal solution is obtained by first sorting in increasing order the jobs having a
+processing time shorter on the first machine than on the second one~; Second, sorting in decreasing order the jobs having a shorter processing time on the second machine. 
+
+\vspace{0.2cm}
+
+In~\cite{ch8:JRJackson_1956} and~\cite{ch8:LGMitten_1959}, the Johnson's rule has been extended by Jackson and Mitten with lags which allowed further Lenstra {\it et al.} to propose a lower bound for FSP with $m \geq 3$. A lag~$l_j$ designates the minimum duration between the starting time of the job $J_j$ on the second machine and its finishing time on the first machine. Jackson and Mitten demonstrated that the optimal solution for FSP with $m=2$ can be obtained using the following transitive rule $\preceq$:
+
+$$J_i \preceq J_j \Leftrightarrow \min(p_{i,1}+l_i\ ;\ l_j+p_{j,2})
+\leq \min(l_i+p_{i,2}\ ;\ p_{j,1}+l_j)$$
+
+Based on this rule, Lenstra {\it et al.}~\cite{ch8:Lenstra_1978} have proposed the following lower bound for a sub-problem associated to a partial schedule where a set {\Large $\jmath$} of jobs have to be scheduled on $m$ machines. $P_{Ja}^*(\jmath,M_k,M_l)$ represents the Jackson-Mitten optimal solution for the sub-problem that consists in scheduling the set {\Large $\jmath$} of jobs on the two machines $M_k$ and~$M_l$. The term  $r_{i,k} = \sum_{l<k} p_{i,l}$ designates the starting time of the job $J_i$ on the machine $M_k$. The other term $q_{j,l} = \sum_{k>l} p_{j,k}$ refers to the latency between the finishing time of $J_j$ on $M_l$ and the finishing time of the schedule.
+
+$$LB(\jmath)=\max\limits_{1 \leq k < l \leq m}\{P_{Ja}^*(\jmath,M_k,M_l)+\min\limits_{(i,j)\in \jmath^2, i \neq
+j}(r_{i,k}+q_{j,l}) \}$$
+
+According to this $LB$ expression, the lower bound for the scheduling of a subset {\Large $\jmath$} of jobs is calculated by applying the Johnson's rule with lags considering all the couples
+$(k,l)$ for $1 \leq k,l \leq m$ and $k<l$. As illustrated in Figure~\ref{LagKLExample}, the lag $l_j$ of a job $J_j$ for a couple $(k,l)$ of machines is the sum of the processing times of the job on
+all the machines between~$k$~and~$l$.
+
+\begin{figure}
+  \begin{center}
+\includegraphics[width=8cm]{Chapters/chapter8/figures/johnson_with_lags.eps}%
+\caption{The lag $l_j$ of a job $J_j$ for a couple $(k,l)$ of machines is the sum of the processing times of the job on all the machines between~$k$~and~$l$.}
+\label{LagKLExample}
+  \end{center}
+\end{figure}
+
+\section{GPU-accelerated B\&B based on the parallel tree exploration (GPU-PTE-BB)}
+\label{ch8:approach1} 
+
+The first approach we investigate for designing B\&B on GPUs consists in exploring in parallel the generated search tree. The idea is to divide the global search space into disjoint sub-spaces that are explored in parallel by the GPU threads. As explained in Section \ref{ch8:BB}, during the execution of a B\&B, the search space is described by a list of unexplored (pending) nodes and the best solution found so far. In the considered GPU-based scheme, a set of parent nodes is selected from this list according to their depth: deepest pending nodes are the first selected. The selected pool of nodes is off loaded to the GPU where each thread builds its own local search tree by applying the {\it branching}, {\it bounding} and {\it pruning} operators to the assigned node.
+
+\vspace{0.2cm}
+
+\begin{figure}[h!]
+\centering
+\includegraphics[height=8cm, width=8.1cm]{Chapters/chapter8/figures/Diagram1.eps}
+\caption{The overall architecture of the parallel tree exploration-based GPU-accelerated Branch-and-Bound algorithm.} 
+\label{tree_approach}
+\end{figure}
+
+\vspace{0.2cm}
+
+According to the CUDA threading model, each thread has a unique identifier used to determine its assigned role, assigns specific input and output positions and selects work to perform. Therefore, each node (problem) from the pending list is mapped to a thread to ensure that each sub-space of the solution space is evaluated concurrently and is disjoint from others. Figure \ref{tree_approach} illustrates the scheme of the parallel tree exploration-based GPU-accelerated B\&B.
+
+\section{GPU-accelerated B\&B based on the parallel evaluation of bounds (GPU-PEB-BB) }
+\label{ch8:approach2} 
+
+In the GPU-accelerated B\&B based on the parallel evaluation of bounds, illustrated in Figure~\ref{ch8:approach}, the generation of the sub-problems (elimination, selection and branching operations) to be solved is performed on CPU and the evaluation of their lower bounds (bounding operation) is executed on the GPU device. The pool of sub-problems generated on CPU is off-loaded to the GPU device to be evaluated by a pool of threads partitioned into blocks. Each thread applies the lower bound function to one sub-problem. Once the evaluation is completed, the lower bound values corresponding to the different sub-problems is returned to the CPU to be used by the elimination operator to decide either to be pruned or to be decomposed. The process is iterated until the exploration is completed and the optimal solution is found. 
+
+\vspace{0.2cm}
+
+\begin{figure}[h!]
+  \begin{center}
+\includegraphics[scale=0.3]{Chapters/chapter8/figures/approach.eps}%
+\caption{The overall architecture of the GPU-accelerated Branch-and-Bound algorithm based on the parallel evaluation of bounds.}
+\label{ch8:approach}
+  \end{center}
+\end{figure}
+
+\vspace{0.2cm}
+
+In both considered approaches, GPU-PEB-BB and GPU-PTE-BB, the GPU-based lower bound's implementation raises mainly two challenges. The first one is related to the ``single instruction multiple data'' (SIMD) model of the GPU and to the implementation of the LB. Indeed, although typically every GPU thread will run the identical lower bound function, the body of the lower bound can contains conditions on thread identifiers and data. This implies that different instructions are executed in some threads. In SIMD architectures like GPUs this behavior leads to the thread or branch divergence issue. This problem arises when threads of a same warp execute different data-dependent instructions. It might causes serious performance declining since computation occurs in parallel only when the same instructions are being performed. The second challenge consists in adjusting the pattern of accesses to the GPU device memory. Good placement of data over the different memory hierarchy grants programmers to further improve the throughput of many high-performance CUDA applications. For B\&B applied to FSP, threads of the same block perform concurrent accesses to the six data structures of the problem when they execute the lower bound function. These data structures have different sizes and access frequencies and should be wisely placed on the different memories of the GPUs that also have different sizes and latencies. 
+
+\vspace{0.2cm}
+
+In the following, we present how we dealt with the thread/branch divergence issue and maps the different data structures on the memory hierarchy of the GPU device taking into account the characteristics of the data structures and those of the different GPU memories.
+
+\vspace{-0.4cm}
+
+\section{\index{Thread divergence}}
+\label{ch8:ThreadDivergence}
+
+\subsection{The thread divergence issue}
+
+During the execution of an application on GPU, to each GPU multiprocessor is assigned one or more thread block(s) to execute. Those threads are partitioned into warps that get scheduled for execution. For each  instruction of the flow, the multiprocessor selects a warp that is ready to be run. A warp executes one common instruction at a time, so full efficiency is realized when all threads of a warp agree on their execution path. In this chapter, the G80 model, in which a warp is a pool of 32 threads, is used. If threads of a warp diverge via a data-dependent conditional branch, the warp serially executes each branch path taken. Threads that are not on the taken path are disabled, and when all paths complete, the threads converge back to the same execution path. This phenomenon is called thread/branch divergence and often causes serious performance degradations. Branch divergence occurs only within a warp; different warps execute independently regardless of whether they are executing common or disjointed code paths.
+
+\vspace{0.2cm}
+
+This section discusses thread divergence issue encountered when computing the bounds by GPU. The thread divergence occurs for two main reasons, namely the locations of nodes in the search tree and the control flow instructions within the bounding operator. 
+
+\vspace{0.3cm}
+
+\textbf{Divergence related to the location of nodes}
+
+\vspace{0.3cm}
+
+This divergence is related to the positions of the nodes in the B\&B search tree. Below is given an example from the source code of the used LB showing that the execution flow depends on the position of the node in the search tree. In the following piece of code, three methods are used {\it is\_leaf()}, {\it makespan()} and {\it lower\_bound()}. {\it is\_leaf()} tests if the node {\it \_node} is a leaf or an internal node. If {\it \_node} is a leaf, {\it makespan()} computes the cost of its makespan. Otherwise, {\it \_node} is an internal node and {\it lower\_bound()} computes the value of its lower bound. 
+
+\begin{verbatim}
+       if (_node.is_leaf())
+          return _node.makespan();
+       else
+          return _node.lower_bound();
+\end{verbatim}
+
+\vspace{0.3cm}
+
+\textbf{Divergence related to the control flow instructions}
+
+\vspace{0.2cm}
+
+Control flow refers to the order in which the instructions, statements or function calls are executed in a program. This flow is determined by instructions such as {\it if-then-else}, {\it for}, {\it while-do}, {\it switch-case}, etc. There are a dozen of such instructions in the implementation of our bounding operator. The source code examples given below show two scenarios in which this kind of instructions is used.
+
+\begin{itemize}
+\item Example 1:\\ \vspace{-0.4cm}
+\begin{verbatim}
+   if( pool[thread_idx].begin != 0 ) 
+      time = TimeMachines[1] ;
+   else
+      time = TimeArrival[1] ;
+\end{verbatim}
+
+\item Example 2:\\ \vspace{-0.4cm} 
+\begin{verbatim}
+   for(int k = 0 ; k < pool[thread_idx].begin; k++)
+      jobTime = jobEnd[k] ;  
+\end{verbatim}
+
+\end{itemize}
+
+In these two examples, {\it thread\_idx} is the index associated to the current thread. Let suppose that the code of Example 1 is executed by $32$ threads, {\it pool[thread\_idx].begin} is equal to $0$ for the first thread, and {\it pool[thread\_idx].begin} is not equal to $0$ for the other $31$ threads. When the first thread executes the statement {\it ``time = TimeArrival[1];''}, 
+all the other $31$ threads remain idle. Therefore, the GPU cores on which these $31$ threads are executed remain idle and can not be used during the execution of the statement {\it ``time = TimeArrival[1];``}. 
+
+\vspace{0.2cm}
+
+The same scenario occurs during the execution of Example 2. Let us suppose that the instruction is executed by $32$ threads, {\it pool[thread\_idx].begin} is equal to $100$ for the first thread, and {\it pool[thread\_idx].begin} is equal to $0$ for the other $31$ threads. When the first thread executes the loop $for$, all the other $31$ threads remain idle. 
+
+\vspace{0.2cm}
+
+Existing techniques for handling branch divergence either demand hardware support \cite{ch8:Fung} or require host-GPU interaction \cite{ch8:Zhang}, which incurs overhead. Some other works such as \cite{ch8:Han} intervene at the code level. They expose a branch distribution method that aims to reduce the divergent portion of a branch by factoring out structurally similar code from the branch paths. In our work, we have also opted for software-based optimizations like \cite{ch8:Han}. In fact, we figure out how to literally rewrite the branching instructions into basic ones in order to make thread execution paths uniform. We also demonstrate that we could ameliorate performances only by judiciously reordering data being assigned to each thread.
+
+\subsection{Mechanisms for reducing branch divergence}
+
+\vspace{0.3cm}
+
+ \textbf{Thread-data reordering}
+
+\vspace{0.2cm}
+
+At each iteration of our GPU-accelerated B\&B approach, several thousands of sub-problems are sent to the GPU. The GPU groups the received sub-problems into several warps according to their reception order. The first 32 sub-problems belong to the first warp, the following 32 sub-problems belong to the second warp, etc. Therefore, thread-data reordering technique sorts sub-problems before sending them to the GPU. These sub-problems are sorted according to their position in the B\&B tree. This sort of sub-problems allows to have warps containing more homogeneous sub-problems, and reduces the number of thread divergences. 
+
+\vspace{0.2cm}
+
+ \textbf{Branch refactoring}
+
+\vspace{0.2cm}
+
+As quoted above, thread or branch divergence occurs when the kernel includes conditional instructions and loops that make the threads performing different control flows leading to their serial execution. In this chapter, we investigate the branch refactoring approach to deal with thread divergence. Branch refactoring consists in rewriting the conditional instructions so that threads of the same warp execute an uniform code avoiding their divergence. To do that, two major ``if" scenarios are studied and some optimizations are proposed accordingly. These two scenarios correspond to the conditional instructions contained in the $LB$ kernel code. In the first scenario, the conditional expression is a comparison of the content of a variable to 0. For instance, the following example extracted from the pseudo-code of the lower bound $LB$ illustrates such scenario.
+
+\vspace{0.3cm}
+
+\begin{tabular}{l}
+\\
+\small
+\textsf{ if ( pool[thread\_idx].limit1 $\neq$ 0 ) tmp = MM[1];  }\\
+\small
+\textsf{ else  tmp = RM[1] ; }\\  \\
+\end{tabular}
+
+\vspace{0.2cm}
+
+The refactoring idea is to replace the conditional expression by two functions namely $f$ and $g$ as shown in Equation~\ref{ch8:Eq1}.
+
+\vspace{0.2cm}
+
+The behavior of $f$ and $g$ fits the cosine trigonometric function. These functions return values between $0$ and $1$. An integer variable is used to store the result of the cosine function. Its value is $0$ or $1$ since it is rounded to $0$ if it is not equal to~$1$. In order to increase the performance the CUDA runtime math operations are used: $sinf(x)$, $expf(x)$ and so forth. Those functions are mapped directly to the hardware level~\cite{ch8:cuda}. They are faster but provide lower accuracy which does not matter in our case because the results are rounded to $int$. 
+
+\begin{equation}
+\begin{array}{lllllllll}
+\small
+    &\multicolumn{8}{l}{ if (x \neq 0) ~ a = b[1]; ~~~~~~ if (x \neq 0) ~ a = b[1] + 0 \times c[1];} \\
+    & \multicolumn{2}{l}{} & ~~~~~~\Rightarrow & \multicolumn{2}{l}{} \\
+    &\multicolumn{2}{l}{\emph{else}}    $a = c[1];$ &     &\multicolumn{2}{l}{\emph{else}} $a = 0 \times b[1] + c[1];$ \\\\
+    & \multicolumn{6}{l}{\Rightarrow a = f(x) \times b[1] + g(x) \times c[1];}\\ \\
+    &\multicolumn{6}{l}{\emph{where:}}\\
+    &&\multicolumn{6}{l}{ f(x)=\left\{
+                    \begin{array}{lll}
+                        f(x) = 0    & if &x = 0\\
+                        1           &else\\
+                    \end{array}
+                \right.}\\
+     &\multicolumn{6}{l}{\emph{and}}\\
+    &&\multicolumn{6}{l}{g(x)=\left\{
+                    \begin{array}{lll}
+                        g(x) = 1    & if &x = 0\\
+                        0           &else & \\
+                    \end{array}
+                  \right.}
+\end{array}
+\label{ch8:Eq1}
+\end{equation}
+
+\vspace{0.3cm}
+
+The throughput of $sinf(x)$, $cosf(x)$, $expf(x)$ is one operation per clock cycle~\cite{ch8:cuda}. The refactoring result for the ``if" pseudo-code given above is the following:
+
+\vspace{0.3cm}
+
+\begin{tabular}{l}
+\\
+\small
+\textsf{int coeff = \_\_cosf (pool[thread\_idx].limit1);}\\
+\small
+\textsf{tmp = (1 - coeff) $\times$ MM[1] +  coeff $\times$ RM[1];}\\ \\
+\end{tabular}
+
+\vspace{0.3cm}
+
+The second "if" scenario considered in our study compares two values between themselves as shown in Equation~\ref{ch8:Eq2}.
+
+\vspace{0.2cm}
+
+\begin{equation}
+\begin{array}{lllllllll}
+\small
+    &\multicolumn{8}{l}{if (x > y)  a = b[1];~~~ \Rightarrow if (x - y \geq 1)   a = b[1];}\\\\
+    \Rightarrow &\multicolumn{6}{l}{if (x - y - 1 \geq 0)}& a = b[1];~~~~~ (x, y) \in N\\\\
+    \Rightarrow &\multicolumn{4}{l}{a = f(x, y) \times b[1] + g(x,y) \times a;}\\\\
+    &\multicolumn{6}{l}{\emph{where:}}\\
+    &&\multicolumn{6}{l}{ f(x,y)=\left\{
+                    \begin{array}{lll}
+                        1    & if &x - y - 1 \geq 0\\
+                        0    &if&x - y - 1 < 0\\
+                    \end{array}
+                \right.}\\
+    &\multicolumn{6}{l}{\emph{and}}\\
+    &&\multicolumn{6}{l}{g(x,y)=\left\{
+                    \begin{array}{llll}
+                        0    & if &x - y - 1 \geq 0\\
+                        1    &if&x - y - 1 < 0 & \\
+                    \end{array}
+                \right.}\\\\
+\end{array}
+\label{ch8:Eq2}
+\end{equation}
+
+\vspace{0.3cm}
+
+For instance, the following example extracted from the pseudo-code of the lower bound $LB$ illustrates such scenario.
+
+\vspace{0.3cm}
+
+\footnotesize
+\begin{tabular}{ll}
+\\
+\multicolumn{2}{l}{\textsf{if(RM[1]] $>$ MIN )}\{}  \textsf{Best\_idx = Current\_idx;}  \textsf{\}}\\\\
+\end{tabular}
+\normalsize
+
+\vspace{0.3cm}
+
+The same transformations as those applied for the first scenario are applied here using the exponential function. Recall that the exponential is a positive function which is equal to $1$ when applied to $0$. Thus, if $x$ is greater than $y$ then $expf(x-y-1)$ returns a value between $0$ and $1$. If the result is rounded to an integer value $0$ will be obtained. Now, if $x$ is less than $y$ then $expf(x-y-1)$ returns a value greater than $1$ and since the minimum between $1$ and the exponential is get, the returned result would be $1$. Such behavior satisfies exactly our prerequisites. The above ``if" instruction pseudo-code is now equivalent to:
+
+\vspace{0.3cm}
+
+\small
+\begin{tabular}{l}
+\\
+\textsf{int coeff = min(1, \_\_expf(RM[1] - MIN - 1)); }\\
+\textsf{Best\_idx = coeff $\times$ Current\_idx + ( 1 - coeff ) $\times$ Best\_idx ;}\\
+\end{tabular}
+\normalsize
+
+\section{Memory access optimization}
+\label{ch8:DataAccessOpt}
+
+\index{Memory access optimizations} are by far the most studied area for improving GPU-based application performances. Indeed, adjusting the pattern of accesses to the GPU device memory grants programmers to further improve the throughput of many high-performance CUDA applications. The goal of memory access optimizations is generally to use as much fast memory and as little slow-access memory as possible. This section discusses how best to set up data LB items on the various kinds of memory on the device.   
+
+\vspace{0.2cm} 
+
+CUDA enabled devices use several memory spaces, which have different characteristics in term of sizes and access latencies. These memory spaces include global memory, local memory , shared memory, texture memory , and registers. Devices of compute capability 2.0 have also an L1 $/$ L2 cache hierarchy that is used to cache local and global memory accesses.
+
+\begin{itemize}
+\item At the thread-level, each thread has its own allocated registers and a private local memory. CUDA uses this local memory for thread-private variables that do not fit in the threads registers, as well as for stack frames and register spilling. \item At the thread block-level, each thread block has a shared memory visible to all its associated threads. \item At the grid-level, all threads have access to the same global memory. Texture and constant cached memories are two other memories accessible by all threads. 
+\end{itemize}
+
+The data access optimization challenge is to find the best mapping of the data structures of the application at hand (different sizes and access frequencies) and the GPU hierarchy of memories (different sizes and access latencies). For instance, of these different memory spaces, global memory is the most plentiful but the one with the highest access latency. On the contrary, shared memory is smaller in size but has much higher bandwidth and lower latency than the global memory.
+
+\subsection{Complexity analysis of the memory usage of the Lower Bound }
+\label{ch8:MemComplex}
+
+In this section, the characteristics of the data structures used by the lower bound function are studied in terms of sizes and access frequencies. For an efficient implementation of the LB, six data structures are required: the  matrix $PTM$ of the processing times of the jobs, the matrix of lags $LM$, the Johnson's matrix $JM$, the matrix $RM$ of the earliest starting times of jobs, the matrix $QM$ of their lowest latency times and the matrix $MM$ containing the couples of machines. The complexities of the different data structures are summarized in Table~\ref{ch8:tabMemComplex} where the columns represent respectively the name of the data structure, its size and the number of times it is accessed.
+
+\vspace{0.2cm} 
+
+In the $LB$ expression, the computation of the term $P_{Ja}^*(\jmath,M_k,M_l)$ requires the calculation of the lag of each remaining job to be scheduled on the couple $(M_k,M_l)$ of machines using its processing times on these machines (Johnson's rule with lags). Such computation is repeated for each couple $(M_k,M_l)$ of machines with $1 \leq k,l \leq m$ and $k<l$. To avoid the repetitive computation of the lags, they are computed once at the beginning of the algorithm and stored in the matrix $LM$. The dimension of $LM$ is $n \times \frac{m\times (m-1)}{2}$, where $n$ and $m$ are respectively the number of jobs to be scheduled and $m$ the number of machines. $LM$ is accessed $n' \times \frac{m \times (m-1)}{2}$ times, $n'$ being the number of remaining jobs to be scheduled in the sub-problem for which the lower bound is being calculated. The processing times of all the jobs on all the machines are stored in the matrix $PTM$. This matrix has a dimension of $n \times m$ and is accessed $n' \times m \times (m-1)$ times.
+
+\vspace{0.2cm} 
+
+In addition, in order to avoid relaunching the Johnson's algorithm for each couple of machines and each subset of jobs, the Johnson's algorithm is computed once to find the optimal solutions on the couples of machines. These optimal solutions are then stored in the Johnson's matrix $JM$. This matrix has the same dimension as $LM$ and is accessed $n \times \frac{m \times (m-1)}{2}$ times during the computation of the lower bound. Finally, the $MM$ matrix that contains all the couples of machines has a dimension and access frequency of $m \times (m-1)$.  
+
+\vspace{0.2cm} 
+
+To reduce the computation time cost of the term $\min\limits_{(i,j)\in \jmath^2, i \neq j}(r_{i,k}+q_{j,l})$ in the $LB$ expression, two matrices are defined, namely $RM$ and $QM$. They are used to store respectively the lowest starting and latency times of all the jobs on each machine. Their dimension is $m$ and are accessed $ m \times (m-1)$ times and $ \frac{m \times (m-1)}{2}$ times respectively.
+
+\begin{table}
+  \centering
+\begin{tabular}{|c|c|c|}
+\hline
+  \textbf{Matrix} & \textbf{Size} & \textbf{Number of accesses} \\
+ \hline
+ \hline
+   PTM &  $n \times m$ & $n' \times m \times (m-1)$ \\
+ \hline
+   LM & $n \times \frac{m \times (m-1)}{2}$ & $n' \times \frac{m \times (m-1)}{2}$ \\
+ \hline
+   JM & $n \times \frac{m \times (m-1)}{2}$ & $n \times \frac{m \times (m-1)}{2}$ \\
+ \hline
+   RM &  $m$ & $m \times (m-1)$ \\
+ \hline
+   QM &  $m$ & $\frac{m \times (m-1)}{2}$ \\
+ \hline
+   MM &  $m \times (m-1)$ & $m \times (m-1)$ \\
+ \hline
+\end{tabular}
+\vspace{0.5cm}
+ \caption{The different data structures of the $LB$ algorithm and their associated complexities in memory size and numbers of accesses. The parameters $n$, $m$ and $n'$ designate respectively the total number of jobs, the total number of machines and the number of remaining jobs to be scheduled for the sub-problems the lower bound is being computed.}
+\label{ch8:tabMemComplex}
+\end{table}
+
+\subsection{Data placement pattern of the Lower Bound on GPU}
+\label{ch8:MemComplex}
+
+This section discusses how best to map the six data structures identified above on the various kinds of memories of the GPU device.
+
+\vspace{0.2cm} 
+
+The focus is put on the shared memory which is a key enabler for many high-performance CUDA applications. Indeed, because it is on-chip, shared memory has much higher bandwidth and lower latency than local and global memory. However, for large problem instances (large $n$ and $m$) the data structures especially JM and LM (see Table \ref{ch8:tabMemSizes}), do not fit in the shared memory for some GPU configurations. 
+
+\vspace{0.2cm} 
+
+In order to achieve further performances, we also take care of adequately use the global memory by judiciously configuring the L1 cache which greatly enables improving performance over direct access to global memory. Indeed, the GPU device we are using in our experiments is based on the NVIDIA Fermi architecture which introduced two new hierarchies of memories (L1 $/$ L2 cache)
+compared to older architectures. 
+
+\begin{table*}
+  \centering
+  \footnotesize
+  \begin{tabular}{|r|r|r|r|r|r|}
+    \hline
+Prob. instance & JM & LM & PTM & RM, QM & MM \\
+    \hline
+    \hline
+$200 \times 20$ & 38.000 (38KB) & 38.000 (76KB) & 4.000 (4KB) & 20 (0.04KB) & 380 (0.76KB) \\
+    \hline
+$100 \times 20$ & 19.000 (19KB) & 19.000 (38KB) & 2.000 (2KB) & 20 (0.04KB) & 380 (0.76KB) \\
+    \hline
+$50 \times 20$ & 9.500 (9.5KB) & 9.500 (19KB) & 1.000 (1KB) & 20 (0.04KB) & 380 (0.76KB) \\
+    \hline
+$20 \times 20$ & 3.800 (3.8KB) & 3.800 (7.6KB) & 400 (0.4KB) & 20 (0.04KB) & 380 (0.76KB) \\
+   \hline
+  \end{tabular}
+\vspace{0.5cm}
+\caption{The sizes of each data structure for the different experimented problem instances. The sizes are given in number of elements and in bytes (between brackets).}
+\label{ch8:tabMemSizes}
+\end{table*}
+
+\vspace{0.2cm} 
+
+Taking into consideration the sizes of each data structure presented in Table \ref{ch8:tabMemSizes}, our challenge is to find which data structure has to be mapped on which memory and in some cases how to split the data  structures on different memories and efficiently manage their accesses. The sizes in bytes reported in Table \ref{ch8:tabMemSizes}, are computed knowing that in our implementation the elements of $JM$ and $PTM$ are unsigned chars (one byte) and that the elements of $LM$, $RM$, $QM$ and $MM$ are unsigned short ints (2 bytes). It is important here to highlight that the types of the data of the used matrices impact the size of each matrix. For instance, a matrix of $100$ integers has a size of $400$ octets while the same matrix with $100$ unsigned chars has a size of $100$ octets. In order to minimize the size of each of the used matrices, we analyzed the ranges of their values and defined their data types accordingly. For instance, in PTM all the processing times have positive values varying between $0$ and $100$. Therefore, we defined PTM as a matrix of \verb|unsigned char| having values in the range $[0, 255]$. Using the \verb|unsigned char| type instead of the integer type allows us to reduce by $4$ times the memory space occupied by PTM.
+
+\vspace{0.2cm} 
+
+According to the Table \ref{ch8:tabMemSizes} :
+
+\begin{itemize}
+ \item The data structures $RM$, $QM$ and $MM$ are small sized matrices. Therefore, their impact on the performances is not significant whatever is the memory to which they are off-loaded. In particular, preliminary experiments proves that putting them on the shared memory would allows a very poor performance improvement. 
+\item The $LM$ data structure is the double of the $JM$ in memory size but with a much lower access frequency. It is thus better to map $JM$ on the shared memory.
+\item The $PTM$ has almost the same access frequency than $JM$ but requires less memory space.
+\end{itemize}
+  
+\vspace{0.2cm} 
+
+Consequently, the focus is put on the study of the performance impact of the placement of $JM$ and $PTM$ on the shared memory. Three placement scenarios of $JM$ and $PTM$ are experimented and studied: (1) Only $PTM$ is stored in shared memory and all others are placed in global memory~; (2) Only $JM$ is stored in shared memory and all others are placed on global memory~; (3) $PTM$ and $JM$ are stored together in shared memory and all others are placed on global memory. 
+
+\vspace{0.2cm} 
+
+Taking profit from the configurable storage space provided in the new Fermi-based devices, the $64$ KB of local storage was spitted between the shared memory and the L1 cache according to the experimented scenario.
+
+\begin{itemize}
+\item For the scenario were the data structures are put on the shared memory the $64$ KB of available storage are split on $48$ KB for shared memory and $16$ KB for L1 cache.
+\item For the scenario where the data sets are put on global memory we used $16$ KB for shared memory and $48$ KB for L1 cache.
+\end{itemize}
+
+\section{Experiments}
+\label{ch8:Experiments}
+
+In the following, we present the experimental study  we have performed with the aim to evaluate the performance impact of the GPU-accelerated bounding, the techniques for reducing the thread divergence and the proposed approach for data placement on the GPU memories. 
+
+\subsection{Parameters settings} 
+
+In our experiments, we used the flow-shop instances defined by Taillard \cite{ch8:Taillard_1993}. These standard instances are often used in the literature to evaluate the performance of methods that minimize the makespan. Optimal solutions of some of these instances are still not known. These instances are divided into groups of $10$ instances. In each group, the $10$ instances  are defined by the same number of jobs and the same number of machines. The groups of 10 instances have different numbers of jobs, namely $20$, $50$, $10$, $200$ and $500$, and different numbers of machines, namely $5$, $10$ and $20$. For example, there are $10$ instances with $200$ jobs and $20$ machines belonging to the same group of instances.
+
+\vspace{0.2cm} 
+
+In this work, we used only the instances where the number of machines is equal to $20$. Indeed, instances where the number of machines is equal to $5$ or $10$ are easy to solve. For these instances, the used bounding operator gives so good lower bounds that it is possible to solve them in few minutes using a sequential B\&B. Therefore, these instances do not require the use of a GPU.
+
+\vspace{0.2cm} 
+
+Our approach has been implemented using C-CUDA 4.0. The experiments have been carried out using a an Intel Xeon E5520 bi-processor coupled with a GPU device. The bi-processor is 64-bit, quad-core and has a clock speed of 2.27GHz. The GPU device is an Nvidia Tesla C2050 with 448 CUDA cores (14 multiprocessors with 32 cores each), a clock speed of 1.15GHz, a 2.8GB global memory, a 49.15KB shared memory, and a warp size of 32.
+
+\subsection{Experimental protocol: computing the speed up}
+\label{ch8:Protocol}
+
+We need to compute the speed up of our approach to evaluate its performances. This speed up is obtained by comparing our GPU B\&B version to a sequential B\&B version deployed on one CPU core. However, all the instances used in our experiments are extremely hard to solve. Indeed, the resolution of each of these instances requires several months of computation on one CPU core. For example, the optimal solution of one of these instances defined by $50$ jobs and $20$ machines is obtained after $25$ days of computation using an average of $328$ CPU cores \cite{ch8:Mezmaz_2007}. 
+
+\vspace{0.2cm} 
+
+Using the approach defined in \cite{ch8:Mezmaz_2007}, it is possible to obtain a random list $L$ of sub-problems such as the resolution of $L$ lasts $T$ minutes with a sequential B\&B. So by initializing the pool of our sequential B\&B with the sub-problems of this list $L$, we are sure that the resolution of the sequential B\&B will last $T{cpu}$ minutes such as $T{cpu}$ will be approximately equal to $T$. Therefore, it will be possible to initialize the pool of our GPU B\&B with the same list $L$ of sub-problems in order to compute the speed up. Let suppose that the resolution of the GPU B\&B will last $T{gpu}$ minutes. So the speed up of our GPU algorithm will be equal to $Tcpu/Tgpu$. With this experimental protocol, the sub-problems explored by the GPU and CPU B\&B versions will be exactly the same. So to find the speed up associated to an instance, we:
+
+\begin{itemize}
+\item compute, using the approach defined in \cite{ch8:Mezmaz_2007}, a list $L$ of sub-problems such as the resolution of $L$ lasts $T$ minutes with a sequential B\&B, 
+\item initialize the pool of our sequential B\&B with the sub-problems of this list $L$, 
+\item solve the sub-problems of this pool with our sequential B\&B ,
+\item get the sequential resolution time $T{cpu}$ and the number of explored sub-problems $N{cpu}$, 
+\item check that $T{cpu}$ is approximately equal to $T$, 
+\item initialize the pool of our GPU B\&B with the sub-problems of the list $L$, 
+\item solve the sub-problems of this pool with our GPU B\&B,
+\item get the GPU resolution time $T{gpu}$ and the number of explored sub-problems $N{gpu}$, 
+\item check that $N{gpu}$ is exactly equal to $N{cpu}$, 
+\item and finally compute the speed up associated to this instance by dividing $T{cpu}$ on $T{gpu}$ (i.e. $Tcpu/Tgpu$).
+\end{itemize}
+
+\vspace{0.2cm} 
+
+Table \ref{ch8:instance_time} gives, for each instance according to its number of jobs and its number of machines, the used resolution time with a sequential B\&B. For example, the sequential resolution time of each instance defined with $20$ jobs and $20$ machines is approximately 10 minutes. Of course, the computation time of the lower bound of a sub-problem defined with $20$ jobs and $20$ machines is on average greater than the computation time of the lower bound of a sub-problem defined with $50$ jobs and $20$ machines. Therefore, as shown in this table, the sequential resolution time increases with the size of the instance in order to be sure that the number of sub-problems explored is significant for all instances.  
+
+\begin{table*}
+\setlength{\tabcolsep}{0.2cm}
+\renewcommand{\arraystretch}{1.2}
+\centering
+\footnotesize
+\begin{tabular}{|r|r|r|r|r|}
+\hline
+Instance (No. of jobs x No. of machines) & 20$\times$20        & 50$\times$20  & 100$\times$20 & 200$\times$20 \\
+\hline
+Sequential resolution time (minutes) & 10 & 50 & 150 & 300 \\
+\hline
+\end{tabular}
+\vspace{0.3cm}
+\caption{The sequential resolution time of each instance according to its number of jobs and machines}
+\label{ch8:instance_time}
+\end{table*}
+
+\subsection{Performance impact of GPU-based parallelism}
+
+The objective of the experimental study presented in this section is to compared the performances of both proposed approaches for designing B\&B on top of GPUs. 
+
+Table \ref{ch8:ParaGPU1} and Table~\ref{ch8:ParaGPU2} report respectively the speedups obtained with the GPU-PTE-BB and GPU-PEB-BB approaches for different problem instances. The first part of both tables gives the size of the pool generated and evaluated on the GPU. The second part of the tables gives the average speedup for each group of instances and for each pool size. Each line corresponds to a group of $10$ instances defined by the same number of jobs and the same number of machines. 
+
+The results obtained with the GPU-PTE-BB approach (see Table \ref{ch8:ParaGPU1}) show that exploring in parallel the tree search allows to speedup the execution of the B\&B compared to a CPU-based execution. Indeed, an acceleration factor up to 40.50 is obtained for the 20 $\times$ 20 problem instances using a pool of 262144 sub-problems. 
+
+The results show also that the parallel efficiency decreases with the size of the problem instance. For a fixed number of machines (here 20 machines) and a fixed pool size, the obtained speedup decline accordingly with the number of jobs. For instance for a pool size of 262144, the acceleration factor obtained with 200 jobs (13.4) while it is (40.50) for the instances with 20 jobs. This behavior is mainly due to the overhead induced by the transfer of the pool of resulting sub-problems between the CPU and the GPU. For example, for the instances with 200 jobs the size of the pool to exchange between the CPU and the GPU is ten times bigger than the size of the pool for the instances with 20 jobs.
+
+\begin{table*}
+\setlength{\tabcolsep}{0.2cm}
+\renewcommand{\arraystretch}{1.2}
+  \centering
+  \footnotesize
+ \begin{tabular}{|r|r|r|r|r|r|r|r|}
+    \hline
+Pool size & 4096 & 8192 & 16384 & 32768        & 65536 & 131072 & 262144\\
+    \hline
+    \hline
+(NJobs $\times$ NMachines) & \multicolumn{7}{|c|}{Average speedup for each group of 10 instances}\\
+    \hline
+$200 \times $20 & 1.12 & 2.89 & 3.57 & 4.23 & 6.442 & 8.32 & 13.4\\
+    \hline
+$100 \times $20 & 1.33 & 1.88 & 3.45 & 6.45 & 12.38 & 20.40 & 28.76 \\
+    \hline
+$50 \times $20 & 2.70 & 3.80 & 6.82 & 13.04 & 23.53 & 30.94 & 37.66\\
+    \hline
+$20 \times $20 & 6.43 & 11.43 & 20.14 & 27.78 & 30.12 & 35.74 & 40.50\\
+    \hline
+    \hline
+% Total average speedup & 2.895 & 5.0 & 8.495 & 14.625 & 22.61 & 30.6 & 41.65\\   
+%     \hline
+%     \hline
+  \end{tabular}
+\vspace{0.3cm}
+  \caption{Speedups for different problem instances and pool sizes with the GPU-PTE-BB approach.}
+\label{ch8:ParaGPU1}
+\end{table*}
+
+The results obtained with the GPU-PEB-BB approach (see Table \ref{ch8:ParaGPU2}) show that evaluating in parallel the bounds of a selected pool, allow to significantly speedup the execution of the B\&B. Indeed, an acceleration factor up to 71.69 is obtained for the 200 $\times$ 20 problem instances using a pool of 262144 sub-problems. The results show also that the parallel efficiency grows with the size of the problem instance. For a fixed number of machines (here 20 machines) and a fixed pool size, the obtained speedup grows accordingly with the number of jobs. For instance for a pool size of 262144, the acceleration factor obtained with 200 jobs (71.69) is almost the double of the one obtained with 20 jobs (38.40). 
+
+As far the pool size tuning is considered, we could notice that this parameter depends strongly on the problem instance being solved. Indeed, while the best acceleration is obtained with a pool size of 8192 sub-problems for the instances 50 $\times$ 20 and 20 $\times$ 20, the best speedups are obtained with a pool size of 262144 sub-problems with the instances 200 $\times$ 20 and 100 $\times$ 20.\\
+
+\begin{table*}
+\setlength{\tabcolsep}{0.2cm}
+\renewcommand{\arraystretch}{1.2}
+  \centering
+  \footnotesize
+ \begin{tabular}{|r|r|r|r|r|r|r|r|}
+    \hline
+Pool size & 4096 & 8192 & 16384 & 32768        & 65536 & 131072 & 262144\\
+    \hline
+    \hline
+(NJobs $\times$ NMachines) & \multicolumn{7}{|c|}{Average speedup for each group of 10 instances}\\
+    \hline
+$200 \times $20 & 42.83 & 56.23 & 57.68 & 61.21 & 66.75 & 68.30 & \textbf{71.69}\\
+    \hline
+$100 \times $20 & 42.59 & 56.18 & 57.53 & 60.95 & 65.52 & 65.70 & \textbf{65.97}\\
+    \hline
+$50 \times $20 & 42.57 & \textbf{56.15} & 55.69 & 55.49 & 55.39 & 55.27 & 55.14\\
+    \hline
+$20 \times $20 & 38.74 & \textbf{46.47} & 45.37 & 41.92 & 39.55 & 38.90 & 38.40\\
+    \hline
+    \hline
+% Total average speedup & 41.68 & 53.76 & 54.07 & 54.89 & 56.80 & 57.04 & 57.80\\
+%     \hline
+%     \hline
+  \end{tabular}
+\vspace{0.3cm}
+  \caption{Speedups for different problem instances and pool sizes with the GPU-PEB-BB approach.}
+\label{ch8:ParaGPU2}
+\end{table*}
+
+Compared to the parallel tree exploration-based GPU-accelerated B\&B approach, the parallel evaluation of bounds approach is by far much more efficient wherever the instance is. For example, while the GPU-PEB-BB approach reaches speedup of $\times$71.69 for the instance with 200 jobs on 20 machines, a speedup of a $\times$13.4 is measured with the parallel tree exploration-based approach which corresponds to an acceleration of $\times$5.56 . Moreover, on the contrary to the GPU-PEB-BB approach, in the GPU-PTE-BB the speedups decrease when the problem instance becomes higher. Remember here that while in the GPU-PEB-BB approach all threads evaluate only one node each whatever the permutation size is. In the GPU-PTE-BB, each thread branches all the children of its assigned parent node. Therefore, the bigger the size of the permutation is, the bigger the amount of work performed by each thread is and the bigger the difference between the workload is. Indeed, let us suppose that for the instance with $200$ jobs, the thread $0$ handles a node from the level $2$ of the tree and the thread $100$ handles a node from the level $170$ of the tree. In this case, the thread $0$ generates and evaluates $198$ nodes while the thread $100$ decomposes and bounds only $30$ nodes. The problem in this example is that the kernel execution would last until the thread $0$ finishes its work while the other threads might have ended their works and stayed idle.
+
+\subsection{Thread divergence reduction}
+
+The objective of this section is to demonstrate that the thread divergence reduction mechanisms we propose has an impact on the performance of the GPU accelerated B\&B and to evaluate how this impact is significant. 
+In the following, the reported results are obtained with the GPU-accelerated B\&B based on the parallel evaluation of bounds.
+
+\begin{table*}[!h]
+\setlength{\tabcolsep}{0.2cm}
+\renewcommand{\arraystretch}{1.2}
+  \centering
+  \footnotesize
+ \begin{tabular}{|r|r|r|r|r|r|r|r|}
+    \hline
+Pool size & 4096 & 8192 & 16384        & 32768 & 65536 & 131072 & 262144\\
+    \hline
+    \hline
+(NJobs $\times$ NMachines)  & \multicolumn{7}{|c|}{Average speedup for each group of 10 instances}\\
+    \hline
+    \hline
+$200 \times $20 & 46.63 & 60.88 & 63.80 & 67.51 & 73.47 & 75.94 & \textbf{77.46}\\
+    \hline
+$100 \times $20 & 45.35 & 58.49 & 60.15 & 62.75 & 66.49 & 66.64 & \textbf{67.01}\\
+    \hline
+$50 \times $20 & 44.39 & \textbf{58.30} & 57.72 & 57.68 & 57.37 & 57.01 & 56.42\\
+    \hline
+$20 \times $20 & 41.71 & \textbf{50.28} & 49.19 & 45.90 & 42.03 & 41.80 & 41.65\\
+    \hline
+    \hline
+% Total average speedup & 44.52 & 56.99 & 57.72 & 58.46 & 59.84 & 60.35 & 60.64\\
+%     \hline
+%     \hline
+  \end{tabular}
+\vspace{0.3cm}
+  \caption{Speedups for different instances and pool sizes using thread divergence management.}
+\label{ch8:ParaDivergence}
+\end{table*}
+
+Table~\ref{ch8:ParaDivergence} shows the experimental results obtained using the sorting process and the refactoring approach presented in Section \ref{ch8:ThreadDivergence}. Results show that the proposed optimizations emphasize the GPU acceleration reported in Table~\ref{ch8:ParaGPU2} and obtained without thread divergence reduction. For example, for the instances of 200 jobs over 20 machines and a pool size of 262144, the average reported speedup is 77.46 while the average acceleration factor obtained without thread divergence management for the same instances and the same pool size is 71.69 which corresponds to an improvement of 7.68\%. Such considerable but not outstanding improvement is predictable, as claimed in \cite{ch8:Han}, since the factorized part of the branches in the FSP lower bound is very small. 
+
+\subsection{Data access optimization}
+
+The objective of the experimental study presented in this section is to find the best mapping of the six data structures of the lower bound LB kernel on the memories of the GPU device. In the following, the reported results are obtained with the GPU-accelerated B\&B based on the parallel evaluation of bounds.
+
+Table~\ref{ch8:PTM-on-SM} reports the speedups obtained for the first experimented scenario where only the matrix $PTM$ is put on the shared memory. Results show that the speedup grows on average with the growing of the pool size in the same way as in Table~\ref{ch8:ParaDivergence}. For the largest problem instance and pool size, putting the PTM matrix on the shared memory improves the speedups up to ($14\%$) compared to those obtained when $PTM$ is on global memory reaching an acceleration of $\times 90.51$ for the problem instances $200 \times 20$ and a pool size of $262144$ sub-problems .  
+
+\begin{table*}
+  \centering
+  \footnotesize
+  \begin{tabular}{|r|r|r|r|r|r|r|r|}
+    \hline
+Pool size & 4096 & 8192 & 16384        & 32768 & 65536 & 131072 & 262144\\
+    \hline
+    \hline
+(NJobs $\times$ NMachines)  & \multicolumn{7}{|c|}{Average speedup for each group of 10 instances}\\
+    \hline
+    \hline
+$200 \times $20 & 54.03 & 67.75 & 68.43 & 72.17 & 82.01 & 88.35 & \textbf{90.51}\\
+    \hline
+$100 \times $20 & 52.92 & 66.57 & 66.25 & 71.21 & 76.63 & 79.76 & \textbf{83.01}\\
+    \hline
+$50 \times $20 & 49.85 & \textbf{65.68} & 64.40 & 59.91 & 58.57 & 57.36 & 55.09\\
+    \hline
+$20 \times $20 & 41.94 & \textbf{60.10} & 48.28 & 39.86 & 39.61 & 38.93 & 37.79 \\
+     \hline
+    \hline
+% Average Speedup& 49.69 & 65.03 & 61.84 & 60.79 & 64.21 & 66.10 & 66.60 \\                                            
+%     \hline
+%     \hline
+  \end{tabular}
+\vspace{0.3cm}
+ \caption{Speedup for different FSP instances and pool sizes obtained with data access optimization. $PTM$ is placed in shared memory and all others are placed in global memory.}
+\label{ch8:PTM-on-SM}
+\end{table*}
+
+Table~\ref{ch8:JM-on-SM} reports the behavior of the speedup averaged on the different problem instances (sizes) as a function of the pool size for the scenario where the Johnson's matrix is put on the shared memory. Results show that putting the $JM$ matrix on the shared matrix improves more the performances comparing to the first scenario where $PTM$ is put on the shared memory. Indeed, according to Table~\ref{ch8:tabMemComplex}, matrix $JM$ is accessed more frequently than matrix $PTM$. Putting $JM$ matrix on the shared memory allows accelerations up to $\times 97.83$ for the problem instances $200 \times 20$.
+
+\begin{table*}
+  \centering
+  \footnotesize
+  \begin{tabular}{|r|r|r|r|r|r|r|r|}
+    \hline
+Pool size & 4096 & 8192 & 16384 & 32768        & 65536 & 131072 & 262144\\
+    \hline
+    \hline
+(NJobs $\times$ NMachines) & \multicolumn{7}{|c|}{Average speedup for each group of 10 instances}\\
+    \hline
+    \hline
+$200 \times $20 & 63.01 & 79.40 & 81.40 & 84.02 & 93.61 & 96.56 & \textbf{97.83}\\
+    \hline
+$100 \times $20 & 61.70 & 77.79 & 79.32 & 81.25 & 86.73 & 87.81 & \textbf{88.69}\\
+    \hline
+$50 \times $20 & 59.79 & \textbf{75.32} & 72.20 & 71.04 & 70.12 & 68.74 & 68.07 \\
+    \hline
+$20 \times $20 & 49.00 & \textbf{60.25} & 55.50 & 45.88 & 44.47 & 43.11 & 42.82 \\
+     \hline
+    \hline
+% Average Speedup& 58.37 & 73.19 & 72.11 & 70.55 & 73.73 & 74.06 & 74.35 \\ 
+%     \hline
+%     \hline
+  \end{tabular}
+\vspace{0.3cm}
+ \caption{Speedup for different FSP instances and pool sizes obtained with data access optimization. 
+$JM$ is placed in shared memory and all others are placed in global memory.}
+\label{ch8:JM-on-SM}
+\end{table*}           
+
+Table~\ref{ch8:JM-PTM-on-SM} reports the behavior of the average speedup for the different problem instances (sizes) with $20$ machines for the data placement scenario where both $PTM$ and $JM$ are put on shared memory. According to the underlying Table, the scenarios~(3) ($JM$ together or without $PTM$ in shared memory) is clearly better than the scenarii~(1)and~(2) (respectively $PTM$ in shared memory and $JM$ in shared memory) whatever is the problem instance (size). 
+
+\begin{table*}
+  \centering
+  \footnotesize
+  \begin{tabular}{|r|r|r|r|r|r|r|r|}
+    \hline
+Pool size & 4096 & 8192 & 16384        & 32768 & 65536 & 131072 & 262144\\
+    \hline
+    \hline
+(NJobs $\times$ NMachines)  & \multicolumn{7}{|c|}{Average speedup for each group of 10 instances}\\
+    \hline
+    \hline
+$200 \times $20 & 66.13 & 87.34 & 88.861 & 95.23 & 98.83 & 99.89 & \textbf{100.48}\\
+    \hline
+$100 \times $20 & 65.85 & 86.33 & 87.60 & 89.18 & 91.41 & 92.02 & \textbf{92.39}\\
+    \hline
+$50 \times $20 & 64.91 & \textbf{81.50} & 78.02 & 74.16 & 73.83 & 73.25 & 72.71\\
+    \hline
+$20 \times $20 & 53.64 & \textbf{61.47} & 59.55 & 51.39 & 47.40 & 46.53 & 46.37\\
+     \hline
+    \hline
+% Average Speedup & 62.63 & 79.16 & 78.51 & 77.49 & 77.87 & 77.92 & 77.99\\
+%     \hline
+%     \hline
+  \end{tabular}
+\vspace{0.3cm}
+ \caption{Speedup for different FSP instances and pool sizes obtained with data access optimization. 
+$PTM$ and $JM$ are placed together in shared memory and all others are placed in global memory.}
+\label{ch8:JM-PTM-on-SM}
+\end{table*}   
+
+By carefully analyzing each of the scenarii of data placement on the memory hierarchies of the GPU, the recommendation is to put in the shared memory the Johnson's and the processing time matrices ($JM$ and $PTM$) if they fit in together. Otherwise, the whole or a part of the Johnson's matrix has to be put in priority in the shared memory. The other data structures are mapped to the global memory.
+
+\section{Conclusion and Future Work}
+\label{ch8:Conclusion}
+
+In this chapter, we have revisited the design of parallel B\&B algorithms on GPU accelerators to allow highly efficient solving of permutation-based COPs. To do so, our contributions consist in: (1) rethinking two approaches for parallel B\&B on top of GPUs, discussing the performances of each and identifying which best suits the GPU accelerators. (2) proposing a new approach for thread/branch divergence reduction through a thorough analysis of the different loops and conditional instructions of the bounding function. (3) defining an optimal mapping of the data structures of the bounding function on the hierarchy of memories provided in the GPU device through a careful analysis of both the data structures (size and access frequency) and the GPU memories (size and access latency). 
+
+In the first parallel tree-exploration-based B\&B, a set of pending nodes is selected from this list according to their depth and off-loaded to the GPU where each thread builds its own local search tree by applying
+the branching, bounding and pruning operators to the assigned node. In the GPU-accelerated B\&B based on the parallel evaluation of bounds, the generation of the sub-problems (branching, selection and pruning operations) is performed on CPU and the evaluation of their lower bounds (bounding operation) is executed on the GPU device. Pools of sub-problems are off-loaded from CPU to GPU to be evaluated by blocks of threads. After evaluation, the lower bounds are returned to the CPU.
+
+In both considered approaches, our focus is on the GPU-based lower bound's implementation and the associated thread divergence and data placement challenges. The proposed mechanisms for reducing the thread divergence issue are based on a thorough analysis of the different loops and conditional instructions of the lower bound function. On the one hand, the sorting process aims to homogenize the data of the sub-problems off-loaded to the GPU to minimize the number of threads that diverge on loop instructions. On the other hand, the technique of branch refactoring rewrite the conditional instructions into uniform instructions so that threads of the same warp execute a same code. The proposed data access optimization is based on a preliminary analysis of the lower bound function. Such analysis allowed us to identify six data structures for which we have proposed a complexity analysis in terms of memory size and access frequency. Due to the limited size of the shared memory the matrices do not fit in all together. According to the complexity study, the recommendation is to put in the shared memory the Johnson's and the processing time matrices ($JM$ and $PTM$) if they fit in together. Otherwise, the whole or a part of the Johnson's matrix has to be put in priority in the shared memory. The other data structures are mapped to the global memory. Such recommendation has been confirmed through extensive experiments using a recent C2050 Tesla GPU card. 
+
+The Flowshop Scheduling Problem has been considered as a case study. The proposed approaches have been experimented using a Tesla C2050 GPU card on different classes of FSP instances. The experimental results show that the parallel evaluation of bounds is the parallelization paradigm that performs better on top of GPU accelerators. Compared to the parallel tree-exploration model, accelerations up to $\times$5.56 are achieved.
+
+Experiments show also that the proposed refactoring approach improves the parallel efficiency whatever the FSP instance and the pool size are. However, the improvement was not significant because the factorized part of the branches in the FSP lower bound is very small. The optimizations obtained with the proposed thread reduction mechanisms allowed us to achieve accelerations up to $\times$77.46 compared to a sequential B\&B. The data access optimizations grant accelerations up to $\times 100$ compared to a single CPU-based B\&B.
+
+In the near future, we plan to extend this work to a cluster of GPU-accelerated multi-core processors. From the application point of view, the objective is to optimally solve challenging and unsolved Flow-Shop instances as we did it for one 50$\times$20 problem instance with grid computing \cite{ch8:Mezmaz_2007}. Finally, we plan to investigate other lower bound functions to deal with other combinatorial optimization problems. 
+
+\putbib[Chapters/chapter8/biblio8] 
\ No newline at end of file
diff --git a/BookGPU/Chapters/chapter8/figures/Diagram1-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/Diagram1-eps-converted-to.pdf
new file mode 100644 (file)
index 0000000..297a655
Binary files /dev/null and b/BookGPU/Chapters/chapter8/figures/Diagram1-eps-converted-to.pdf differ
diff --git a/BookGPU/Chapters/chapter8/figures/Diagram1.eps b/BookGPU/Chapters/chapter8/figures/Diagram1.eps
new file mode 100644 (file)
index 0000000..2cc519e
--- /dev/null
@@ -0,0 +1,3745 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/imen/Bureau/Publications/BookGPU/BookGPU_2/BookGPU/Chapters/chapter8/figures/Diagram1.dia
+%%Creator: Dia v0.97.1
+%%CreationDate: Mon Nov 26 10:48:36 2012
+%%For: imen
+%%Orientation: Portrait
+%%Magnification: 1.0000
+%%BoundingBox: 0 0 594 590
+%%BeginSetup
+%%EndSetup
+%%EndComments
+%%BeginProlog
+[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E
+/F /G /H /I /J /K /L /M /N /O
+/P /Q /R /S /T /U /V /W /X /Y
+/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
+/d /e /f /g /h /i /j /k /l /m
+/n /o /p /q /r /s /t /u /v /w
+/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
+/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
+/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
+/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
+/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
+/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
+/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
+/cp {closepath} bind def
+/c {curveto} bind def
+/f {fill} bind def
+/a {arc} bind def
+/ef {eofill} bind def
+/ex {exch} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth pop} bind def
+/tr {translate} bind def
+
+/ellipsedict 8 dict def
+ellipsedict /mtrx matrix put
+/ellipse
+{ ellipsedict begin
+   /endangle exch def
+   /startangle exch def
+   /yrad exch def
+   /xrad exch def
+   /y exch def
+   /x exch def   /savematrix mtrx currentmatrix def
+   x y tr xrad yrad sc
+   0 0 1 startangle endangle arc
+   savematrix setmatrix
+   end
+} def
+
+/mergeprocs {
+dup length
+3 -1 roll
+dup
+length
+dup
+5 1 roll
+3 -1 roll
+add
+array cvx
+dup
+3 -1 roll
+0 exch
+putinterval
+dup
+4 2 roll
+putinterval
+} bind def
+/dpi_x 300 def
+/dpi_y 300 def
+/conicto {
+    /to_y exch def
+    /to_x exch def
+    /conic_cntrl_y exch def
+    /conic_cntrl_x exch def
+    currentpoint
+    /p0_y exch def
+    /p0_x exch def
+    /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
+    /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
+    /p2_x p1_x to_x p0_x sub 1 3 div mul add def
+    /p2_y p1_y to_y p0_y sub 1 3 div mul add def
+    p1_x p1_y p2_x p2_y to_x to_y curveto
+} bind def
+/start_ol { gsave 1.1 dpi_x div dup scale} bind def
+/end_ol { closepath fill grestore } bind def
+28.346000 -28.346000 scale
+-30.625000 -25.725000 translate
+%%EndProlog
+
+
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 41.275000 6.150000 0.625000 0.625000 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 41.275000 6.150000 0.625000 0.625000 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 41.275000 6.150000 0.625000 0.625000 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 35.412500 9.345000 0.587500 0.587500 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 35.412500 9.345000 0.587500 0.587500 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 35.412500 9.345000 0.587500 0.587500 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 41.275000 6.775000 m 35.873649 8.601555 l s
+[] 0 sd
+0 slj
+0 slc
+n 35.518411 8.721684 m 35.911976 8.324686 l 35.873649 8.601555 l 36.072148 8.798337 l ef
+n 35.518411 8.721684 m 35.911976 8.324686 l 35.873649 8.601555 l 36.072148 8.798337 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 39.575000 9.395000 0.625000 0.625000 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 39.575000 9.395000 0.625000 0.625000 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 39.575000 9.395000 0.625000 0.625000 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 43.287500 9.340000 0.612500 0.612500 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 43.287500 9.340000 0.612500 0.612500 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 43.287500 9.340000 0.612500 0.612500 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 41.275000 6.775000 m 42.938109 8.388526 l s
+[] 0 sd
+0 slj
+0 slc
+n 43.207256 8.649648 m 42.674312 8.480916 l 42.938109 8.388526 l 43.022475 8.122054 l ef
+n 43.207256 8.649648 m 42.674312 8.480916 l 42.938109 8.388526 l 43.022475 8.122054 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 41.275000 6.775000 m 39.890735 8.399475 l s
+[] 0 sd
+0 slj
+0 slc
+n 39.647514 8.684902 m 39.781524 8.142186 l 39.890735 8.399475 l 40.162094 8.466480 l ef
+n 39.647514 8.684902 m 39.781524 8.142186 l 39.890735 8.399475 l 40.162094 8.466480 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 32.794169 12.639869 0.632969 0.632969 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 32.794169 12.639869 0.632969 0.632969 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 32.794169 12.639869 0.632969 0.632969 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 35.412500 9.932500 m 33.175764 11.704598 l s
+[] 0 sd
+0 slj
+0 slc
+n 32.881833 11.937471 m 33.118493 11.431020 l 33.175764 11.704598 l 33.428989 11.822928 l ef
+n 32.881833 11.937471 m 33.118493 11.431020 l 33.175764 11.704598 l 33.428989 11.822928 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 37.712500 12.632500 0.637500 0.637500 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 37.712500 12.632500 0.637500 0.637500 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 37.712500 12.632500 0.637500 0.637500 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 35.412500 9.932500 m 37.350075 11.669999 l s
+[] 0 sd
+0 slj
+0 slc
+n 37.629262 11.920358 m 37.090107 11.772671 l 37.350075 11.669999 l 37.423918 11.400421 l ef
+n 37.629262 11.920358 m 37.090107 11.772671 l 37.350075 11.669999 l 37.423918 11.400421 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 41.275000 6.775000 m 46.005964 8.526027 l s
+[] 0 sd
+0 slj
+0 slc
+n 46.357648 8.656192 m 45.801958 8.717094 l 46.005964 8.526027 l 45.975513 8.248182 l ef
+n 46.357648 8.656192 m 45.801958 8.717094 l 46.005964 8.526027 l 45.975513 8.248182 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 46.462500 9.332500 0.637500 0.637500 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 46.462500 9.332500 0.637500 0.637500 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 46.462500 9.332500 0.637500 0.637500 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 35.412500 9.932500 m 35.327118 11.533887 l s
+[] 0 sd
+0 slj
+0 slc
+n 35.307153 11.908355 m 35.084128 11.395754 l 35.327118 11.533887 l 35.583419 11.422375 l ef
+n 35.307153 11.908355 m 35.084128 11.395754 l 35.327118 11.533887 l 35.583419 11.422375 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 35.301250 12.646250 0.626250 0.626250 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 35.301250 12.646250 0.626250 0.626250 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 35.301250 12.646250 0.626250 0.626250 0 360 ellipse cp s
+gsave 39.375000 9.545000 translate 0.035278 -0.035278 scale
+start_ol
+938 384 moveto
+2643 384 lineto
+2643 0 lineto
+384 0 lineto
+384 384 lineto
+654 668 1119 1146 conicto
+1584 1625 1704 1763 conicto
+1931 2023 2021 2203 conicto
+2112 2384 2112 2558 conicto
+2112 2842 1913 3021 conicto
+1715 3200 1397 3200 conicto
+1171 3200 920 3104 conicto
+669 3009 384 2816 conicto
+384 3328 lineto
+678 3455 933 3519 conicto
+1188 3584 1400 3584 conicto
+1959 3584 2291 3309 conicto
+2624 3034 2624 2574 conicto
+2624 2356 2540 2160 conicto
+2457 1965 2237 1700 conicto
+2177 1631 1852 1302 conicto
+1528 974 938 384 conicto
+end_ol grestore 
+gsave 43.137500 9.540000 translate 0.035278 -0.035278 scale
+start_ol
+1897 1936 moveto
+2269 1862 2478 1627 conicto
+2688 1392 2688 1046 conicto
+2688 516 2331 226 conicto
+1975 -64 1319 -64 conicto
+1099 -64 865 -16 conicto
+632 32 384 128 conicto
+384 576 lineto
+576 449 805 384 conicto
+1035 320 1285 320 conicto
+1720 320 1948 504 conicto
+2176 688 2176 1039 conicto
+2176 1363 1967 1545 conicto
+1759 1728 1388 1728 conicto
+1024 1728 lineto
+1024 2112 lineto
+1405 2112 lineto
+1717 2112 1882 2250 conicto
+2048 2388 2048 2648 conicto
+2048 2915 1877 3057 conicto
+1706 3200 1388 3200 conicto
+1200 3200 985 3153 conicto
+770 3107 512 3008 conicto
+512 3456 lineto
+773 3520 1001 3552 conicto
+1229 3584 1431 3584 conicto
+1952 3584 2256 3343 conicto
+2560 3102 2560 2692 conicto
+2560 2406 2387 2209 conicto
+2215 2012 1897 1936 conicto
+end_ol grestore 
+gsave 46.362500 9.482500 translate 0.035278 -0.035278 scale
+start_ol
+1792 3103 moveto
+630 1216 lineto
+1792 1216 lineto
+1792 3103 lineto
+1709 3520 moveto
+2304 3520 lineto
+2304 1216 lineto
+2816 1216 lineto
+2816 832 lineto
+2304 832 lineto
+2304 0 lineto
+1792 0 lineto
+1792 832 lineto
+256 832 lineto
+256 1291 lineto
+1709 3520 lineto
+end_ol grestore 
+gsave 32.644200 12.839900 translate 0.035278 -0.035278 scale
+start_ol
+512 3520 moveto
+2432 3520 lineto
+2432 3136 lineto
+1024 3136 lineto
+1024 2300 lineto
+1126 2334 1228 2351 conicto
+1330 2368 1432 2368 conicto
+2011 2368 2349 2040 conicto
+2688 1712 2688 1152 conicto
+2688 575 2330 255 conicto
+1972 -64 1321 -64 conicto
+1097 -64 864 -32 conicto
+632 0 384 64 conicto
+384 576 lineto
+595 447 820 383 conicto
+1045 320 1296 320 conicto
+1702 320 1939 544 conicto
+2176 768 2176 1152 conicto
+2176 1536 1936 1760 conicto
+1697 1984 1286 1984 conicto
+1094 1984 902 1937 conicto
+711 1891 512 1792 conicto
+512 3520 lineto
+end_ol grestore 
+gsave 35.201200 12.846200 translate 0.035278 -0.035278 scale
+start_ol
+1568 1984 moveto
+1258 1984 1077 1761 conicto
+896 1539 896 1152 conicto
+896 767 1077 543 conicto
+1258 320 1568 320 conicto
+1878 320 2059 543 conicto
+2240 767 2240 1152 conicto
+2240 1539 2059 1761 conicto
+1878 1984 1568 1984 conicto
+2496 3456 moveto
+2496 3008 lineto
+2323 3101 2147 3150 conicto
+1972 3200 1799 3200 conicto
+1345 3200 1105 2885 conicto
+866 2571 832 1936 conicto
+968 2145 1174 2256 conicto
+1380 2368 1628 2368 conicto
+2148 2368 2450 2041 conicto
+2752 1715 2752 1152 conicto
+2752 601 2431 268 conicto
+2110 -64 1577 -64 conicto
+966 -64 643 403 conicto
+320 871 320 1759 conicto
+320 2593 711 3088 conicto
+1103 3584 1762 3584 conicto
+1939 3584 2119 3552 conicto
+2300 3520 2496 3456 conicto
+end_ol grestore 
+gsave 37.612500 12.832500 translate 0.035278 -0.035278 scale
+start_ol
+384 3520 moveto
+2688 3520 lineto
+2688 3317 lineto
+1398 0 lineto
+896 0 lineto
+2110 3136 lineto
+384 3136 lineto
+384 3520 lineto
+end_ol grestore 
+gsave 41.050000 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+960 3136 moveto
+960 1792 lineto
+1552 1792 lineto
+1881 1792 2060 1967 conicto
+2240 2142 2240 2465 conicto
+2240 2786 2060 2961 conicto
+1881 3136 1552 3136 conicto
+960 3136 lineto
+448 3520 moveto
+1552 3520 lineto
+2145 3520 2448 3251 conicto
+2752 2983 2752 2465 conicto
+2752 1943 2448 1675 conicto
+2145 1408 1552 1408 conicto
+960 1408 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 41.412157 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave 41.806783 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave 42.211397 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2176 2304 moveto
+2176 3712 lineto
+2624 3712 lineto
+2624 0 lineto
+2176 0 lineto
+2176 384 lineto
+2040 157 1832 46 conicto
+1624 -64 1332 -64 conicto
+855 -64 555 324 conicto
+256 712 256 1344 conicto
+256 1976 555 2364 conicto
+855 2752 1332 2752 conicto
+1624 2752 1832 2641 conicto
+2040 2531 2176 2304 conicto
+704 1344 moveto
+704 865 900 592 conicto
+1096 320 1439 320 conicto
+1782 320 1979 592 conicto
+2176 865 2176 1344 conicto
+2176 1823 1979 2095 conicto
+1782 2368 1439 2368 conicto
+1096 2368 900 2095 conicto
+704 1823 704 1344 conicto
+end_ol grestore 
+gsave 42.618516 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+448 2688 moveto
+896 2688 lineto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+448 3712 moveto
+896 3712 lineto
+896 3136 lineto
+448 3136 lineto
+448 3712 lineto
+end_ol grestore 
+gsave 42.795845 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave 43.200459 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2176 1375 moveto
+2176 1848 1982 2108 conicto
+1789 2368 1439 2368 conicto
+1091 2368 897 2108 conicto
+704 1848 704 1375 conicto
+704 904 897 644 conicto
+1091 384 1439 384 conicto
+1789 384 1982 644 conicto
+2176 904 2176 1375 conicto
+2624 347 moveto
+2624 -347 2323 -685 conicto
+2023 -1024 1404 -1024 conicto
+1174 -1024 971 -992 conicto
+768 -961 576 -896 conicto
+576 -448 lineto
+766 -546 951 -593 conicto
+1137 -640 1329 -640 conicto
+1754 -640 1965 -415 conicto
+2176 -190 2176 264 conicto
+2176 448 lineto
+2042 223 1833 111 conicto
+1624 0 1332 0 conicto
+848 0 552 376 conicto
+256 753 256 1375 conicto
+256 1999 552 2375 conicto
+848 2752 1332 2752 conicto
+1624 2752 1833 2640 conicto
+2042 2529 2176 2304 conicto
+2176 2688 lineto
+2624 2688 lineto
+2624 347 lineto
+end_ol grestore 
+gsave 43.607578 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 43.809885 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+1536 3712 moveto
+1211 3163 1053 2626 conicto
+896 2090 896 1538 conicto
+896 987 1055 446 conicto
+1214 -94 1536 -640 conicto
+1148 -640 lineto
+797 -79 622 462 conicto
+448 1004 448 1538 conicto
+448 2070 621 2609 conicto
+794 3149 1148 3712 conicto
+1536 3712 lineto
+end_ol grestore 
+gsave 44.059652 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+448 1040 moveto
+448 2688 lineto
+896 2688 lineto
+896 1057 lineto
+896 689 1042 504 conicto
+1188 320 1481 320 conicto
+1832 320 2036 541 conicto
+2240 763 2240 1145 conicto
+2240 2688 lineto
+2688 2688 lineto
+2688 0 lineto
+2240 0 lineto
+2240 384 lineto
+2081 157 1870 46 conicto
+1660 -64 1382 -64 conicto
+923 -64 685 217 conicto
+448 499 448 1040 conicto
+1554 2752 moveto
+1554 2752 lineto
+end_ol grestore 
+gsave 44.464266 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave 44.868880 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2624 2688 moveto
+1666 1380 lineto
+2688 0 lineto
+2169 0 lineto
+1389 1056 lineto
+632 0 lineto
+128 0 lineto
+1134 1406 lineto
+192 2688 lineto
+705 2688 lineto
+1408 1730 lineto
+2111 2688 lineto
+2624 2688 lineto
+end_ol grestore 
+gsave 45.228540 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave 45.623166 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+896 384 moveto
+896 -1024 lineto
+448 -1024 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1032 2531 1240 2641 conicto
+1448 2752 1737 2752 conicto
+2217 2752 2516 2364 conicto
+2816 1976 2816 1344 conicto
+2816 712 2516 324 conicto
+2217 -64 1737 -64 conicto
+1448 -64 1240 46 conicto
+1032 157 896 384 conicto
+2368 1344 moveto
+2368 1823 2171 2095 conicto
+1975 2368 1632 2368 conicto
+1289 2368 1092 2095 conicto
+896 1823 896 1344 conicto
+896 865 1092 592 conicto
+1289 320 1632 320 conicto
+1975 320 2171 592 conicto
+2368 865 2368 1344 conicto
+end_ol grestore 
+gsave 46.030285 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+448 3712 moveto
+896 3712 lineto
+896 0 lineto
+448 0 lineto
+448 3712 lineto
+end_ol grestore 
+gsave 46.207614 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave 46.599743 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+1984 2304 moveto
+1912 2337 1828 2352 conicto
+1744 2368 1642 2368 conicto
+1282 2368 1089 2127 conicto
+896 1887 896 1437 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1030 2531 1245 2641 conicto
+1460 2752 1767 2752 conicto
+1811 2752 1864 2752 conicto
+1917 2752 1982 2752 conicto
+1984 2304 lineto
+end_ol grestore 
+gsave 46.847004 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave 47.241630 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2176 2304 moveto
+2176 3712 lineto
+2624 3712 lineto
+2624 0 lineto
+2176 0 lineto
+2176 384 lineto
+2040 157 1832 46 conicto
+1624 -64 1332 -64 conicto
+855 -64 555 324 conicto
+256 712 256 1344 conicto
+256 1976 555 2364 conicto
+855 2752 1332 2752 conicto
+1624 2752 1832 2641 conicto
+2040 2531 2176 2304 conicto
+704 1344 moveto
+704 865 900 592 conicto
+1096 320 1439 320 conicto
+1782 320 1979 592 conicto
+2176 865 2176 1344 conicto
+2176 1823 1979 2095 conicto
+1782 2368 1439 2368 conicto
+1096 2368 900 2095 conicto
+704 1823 704 1344 conicto
+end_ol grestore 
+gsave 47.648750 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+384 3712 moveto
+772 3712 lineto
+1123 3149 1297 2609 conicto
+1472 2070 1472 1538 conicto
+1472 1004 1297 462 conicto
+1123 -79 772 -640 conicto
+384 -640 lineto
+706 -94 865 446 conicto
+1024 987 1024 1538 conicto
+1024 2090 865 2626 conicto
+706 3163 384 3712 conicto
+end_ol grestore 
+gsave 47.898516 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 48.100823 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave 48.505437 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave 48.897566 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2176 2304 moveto
+2176 3712 lineto
+2624 3712 lineto
+2624 0 lineto
+2176 0 lineto
+2176 384 lineto
+2040 157 1832 46 conicto
+1624 -64 1332 -64 conicto
+855 -64 555 324 conicto
+256 712 256 1344 conicto
+256 1976 555 2364 conicto
+855 2752 1332 2752 conicto
+1624 2752 1832 2641 conicto
+2040 2531 2176 2304 conicto
+704 1344 moveto
+704 865 900 592 conicto
+1096 320 1439 320 conicto
+1782 320 1979 592 conicto
+2176 865 2176 1344 conicto
+2176 1823 1979 2095 conicto
+1782 2368 1439 2368 conicto
+1096 2368 900 2095 conicto
+704 1823 704 1344 conicto
+end_ol grestore 
+gsave 49.304686 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave 49.699312 13.900000 translate 0.035278 -0.035278 scale
+start_ol
+2112 2560 moveto
+2112 2176 lineto
+1932 2272 1738 2320 conicto
+1544 2368 1336 2368 conicto
+1020 2368 862 2269 conicto
+704 2170 704 1972 conicto
+704 1821 814 1735 conicto
+925 1649 1260 1571 conicto
+1403 1538 lineto
+1857 1438 2048 1255 conicto
+2240 1072 2240 744 conicto
+2240 371 1954 153 conicto
+1668 -64 1167 -64 conicto
+958 -64 732 -16 conicto
+506 32 256 128 conicto
+256 576 lineto
+491 448 719 384 conicto
+947 320 1170 320 conicto
+1470 320 1631 425 conicto
+1792 531 1792 722 conicto
+1792 900 1678 994 conicto
+1564 1089 1177 1177 conicto
+1032 1212 lineto
+621 1298 438 1476 conicto
+256 1654 256 1964 conicto
+256 2341 520 2546 conicto
+784 2752 1269 2752 conicto
+1509 2752 1721 2704 conicto
+1933 2656 2112 2560 conicto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 40.800000 13.600000 m 39.798683 13.266228 l s
+0.050000 slw
+[] 0 sd
+n 38.850000 12.950000 m 39.039737 13.013246 l s
+n 39.166228 13.055409 m 39.355964 13.118655 l s
+n 39.482456 13.160819 m 39.672192 13.224064 l s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 40.750000 13.550000 m 40.239005 11.857328 l s
+0.050000 slw
+[] 0 sd
+n 39.950000 10.900000 m 40.007801 11.091466 l s
+n 40.046335 11.219109 m 40.104136 11.410575 l s
+n 40.142670 11.538218 m 40.200471 11.729684 l s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 40.700000 13.500000 m 42.295614 11.396691 l s
+0.050000 slw
+[] 0 sd
+n 42.900000 10.600000 m 42.779123 10.759338 l s
+n 42.698538 10.865564 m 42.577661 11.024902 l s
+n 42.497076 11.131128 m 42.376198 11.290466 l s
+gsave 35.450000 6.300000 translate 0.035278 -0.035278 scale
+start_ol
+2140 1632 moveto
+2295 1581 2442 1413 conicto
+2590 1245 2738 952 conicto
+3200 0 lineto
+2709 0 lineto
+2250 893 lineto
+2077 1243 1915 1357 conicto
+1753 1472 1473 1472 conicto
+960 1472 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+1552 3520 lineto
+2157 3520 2454 3265 conicto
+2752 3010 2752 2496 conicto
+2752 2161 2595 1939 conicto
+2439 1718 2140 1632 conicto
+960 3136 moveto
+960 1856 lineto
+1552 1856 lineto
+1893 1856 2066 2019 conicto
+2240 2182 2240 2498 conicto
+2240 2815 2066 2975 conicto
+1893 3136 1552 3136 conicto
+960 3136 lineto
+end_ol grestore 
+gsave 35.867107 6.300000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave 36.259236 6.300000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave 36.651365 6.300000 translate 0.035278 -0.035278 scale
+start_ol
+896 3456 moveto
+896 2688 lineto
+1792 2688 lineto
+1792 2368 lineto
+896 2368 lineto
+896 902 lineto
+896 572 984 478 conicto
+1073 384 1345 384 conicto
+1792 384 lineto
+1792 0 lineto
+1345 0 lineto
+836 0 642 194 conicto
+448 389 448 902 conicto
+448 2368 lineto
+128 2368 lineto
+128 2688 lineto
+448 2688 lineto
+448 3456 lineto
+896 3456 lineto
+end_ol grestore 
+gsave 36.901132 6.300000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 37.103439 6.300000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave 37.508053 6.300000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave 37.900182 6.300000 translate 0.035278 -0.035278 scale
+start_ol
+2176 2304 moveto
+2176 3712 lineto
+2624 3712 lineto
+2624 0 lineto
+2176 0 lineto
+2176 384 lineto
+2040 157 1832 46 conicto
+1624 -64 1332 -64 conicto
+855 -64 555 324 conicto
+256 712 256 1344 conicto
+256 1976 555 2364 conicto
+855 2752 1332 2752 conicto
+1624 2752 1832 2641 conicto
+2040 2531 2176 2304 conicto
+704 1344 moveto
+704 865 900 592 conicto
+1096 320 1439 320 conicto
+1782 320 1979 592 conicto
+2176 865 2176 1344 conicto
+2176 1823 1979 2095 conicto
+1782 2368 1439 2368 conicto
+1096 2368 900 2095 conicto
+704 1823 704 1344 conicto
+end_ol grestore 
+gsave 38.307302 6.300000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 39.000000 6.150000 m 39.750000 6.150000 l s
+0.050000 slw
+[] 0 sd
+n 40.250000 6.150000 m 40.150000 6.150000 l s
+n 40.083333 6.150000 m 39.983333 6.150000 l s
+n 39.916667 6.150000 m 39.816667 6.150000 l s
+gsave 32.200000 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+960 3520 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 32.389822 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave 32.794436 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave 33.199050 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave 33.593676 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+1984 2304 moveto
+1912 2337 1828 2352 conicto
+1744 2368 1642 2368 conicto
+1282 2368 1089 2127 conicto
+896 1887 896 1437 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1030 2531 1245 2641 conicto
+1460 2752 1767 2752 conicto
+1811 2752 1864 2752 conicto
+1917 2752 1982 2752 conicto
+1984 2304 lineto
+end_ol grestore 
+gsave 33.855928 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 34.058235 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave 34.462849 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave 34.854978 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+2176 2304 moveto
+2176 3712 lineto
+2624 3712 lineto
+2624 0 lineto
+2176 0 lineto
+2176 384 lineto
+2040 157 1832 46 conicto
+1624 -64 1332 -64 conicto
+855 -64 555 324 conicto
+256 712 256 1344 conicto
+256 1976 555 2364 conicto
+855 2752 1332 2752 conicto
+1624 2752 1832 2641 conicto
+2040 2531 2176 2304 conicto
+704 1344 moveto
+704 865 900 592 conicto
+1096 320 1439 320 conicto
+1782 320 1979 592 conicto
+2176 865 2176 1344 conicto
+2176 1823 1979 2095 conicto
+1782 2368 1439 2368 conicto
+1096 2368 900 2095 conicto
+704 1823 704 1344 conicto
+end_ol grestore 
+gsave 35.262097 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave 35.656723 8.000000 translate 0.035278 -0.035278 scale
+start_ol
+2112 2560 moveto
+2112 2176 lineto
+1932 2272 1738 2320 conicto
+1544 2368 1336 2368 conicto
+1020 2368 862 2269 conicto
+704 2170 704 1972 conicto
+704 1821 814 1735 conicto
+925 1649 1260 1571 conicto
+1403 1538 lineto
+1857 1438 2048 1255 conicto
+2240 1072 2240 744 conicto
+2240 371 1954 153 conicto
+1668 -64 1167 -64 conicto
+958 -64 732 -16 conicto
+506 32 256 128 conicto
+256 576 lineto
+491 448 719 384 conicto
+947 320 1170 320 conicto
+1470 320 1631 425 conicto
+1792 531 1792 722 conicto
+1792 900 1678 994 conicto
+1564 1089 1177 1177 conicto
+1032 1212 lineto
+621 1298 438 1476 conicto
+256 1654 256 1964 conicto
+256 2341 520 2546 conicto
+784 2752 1269 2752 conicto
+1509 2752 1721 2704 conicto
+1933 2656 2112 2560 conicto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 32.650000 8.250000 m 33.997876 8.886497 l s
+0.050000 slw
+[] 0 sd
+n 34.450000 9.100000 m 34.359575 9.057299 l s
+n 34.299292 9.028832 m 34.208867 8.986132 l s
+n 34.148584 8.957665 m 34.058159 8.914964 l s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 32.700000 8.200000 m 32.700000 10.600000 l s
+0.050000 slw
+[] 0 sd
+n 32.700000 11.600000 m 32.700000 11.400000 l s
+n 32.700000 11.266667 m 32.700000 11.066667 l s
+n 32.700000 10.933333 m 32.700000 10.733333 l s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+n 30.650000 4.950000 m 30.650000 15.400000 l 51.450000 15.400000 l 51.450000 4.950000 l cp s
+gsave 45.200000 5.987500 translate 0.035278 -0.035278 scale
+start_ol
+4712 1371 moveto
+4378 628 3814 267 conicto
+3251 -93 2421 -93 conicto
+1204 -93 629 578 conicto
+55 1249 277 2398 conicto
+499 3550 1337 4221 conicto
+2176 4893 3393 4893 conicto
+3821 4893 4263 4790 conicto
+4706 4687 5182 4477 conicto
+4954 3296 lineto
+4545 3296 lineto
+4538 3901 4264 4202 conicto
+3991 4503 3447 4503 conicto
+2746 4503 2305 3986 conicto
+1864 3470 1654 2398 conicto
+1445 1326 1686 811 conicto
+1928 296 2636 296 conicto
+3116 296 3471 563 conicto
+3827 830 4072 1371 conicto
+4712 1371 lineto
+end_ol grestore 
+gsave 45.891852 5.987500 translate 0.035278 -0.035278 scale
+start_ol
+-155 0 moveto
+-81 389 lineto
+534 389 lineto
+1319 4416 lineto
+705 4416 lineto
+779 4806 lineto
+3515 4806 lineto
+4316 4806 4715 4424 conicto
+5114 4043 4989 3402 conicto
+4863 2758 4314 2373 conicto
+3766 1989 2967 1989 conicto
+2086 1989 lineto
+1773 389 lineto
+2549 389 lineto
+2475 0 lineto
+-155 0 lineto
+2163 2379 moveto
+2523 2379 lineto
+2942 2379 3244 2657 conicto
+3547 2936 3637 3402 conicto
+3727 3866 3534 4141 conicto
+3341 4416 2919 4416 conicto
+2559 4416 lineto
+2163 2379 lineto
+end_ol grestore 
+gsave 46.543736 5.987500 translate 0.035278 -0.035278 scale
+start_ol
+1236 4416 moveto
+624 4416 lineto
+702 4806 lineto
+3174 4806 lineto
+3096 4416 lineto
+2482 4416 lineto
+2015 2012 lineto
+1841 1114 2052 755 conicto
+2263 396 2942 396 conicto
+3605 396 3952 758 conicto
+4300 1120 4474 2012 conicto
+4941 4416 lineto
+4329 4416 lineto
+4406 4806 lineto
+6080 4806 lineto
+6003 4416 lineto
+5388 4416 lineto
+4909 1944 lineto
+4696 843 4128 375 conicto
+3560 -93 2437 -93 conicto
+1320 -93 932 380 conicto
+544 853 760 1951 conicto
+1236 4416 lineto
+end_ol grestore 
+gsave 47.300527 5.987500 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 47.602739 5.987500 translate 0.035278 -0.035278 scale
+start_ol
+-155 0 moveto
+-81 389 lineto
+534 389 lineto
+1319 4416 lineto
+705 4416 lineto
+779 4806 lineto
+3251 4806 lineto
+3177 4416 lineto
+2559 4416 lineto
+2243 2800 lineto
+4155 2800 lineto
+4471 4416 lineto
+3856 4416 lineto
+3930 4806 lineto
+6402 4806 lineto
+6328 4416 lineto
+5710 4416 lineto
+4924 389 lineto
+5542 389 lineto
+5468 0 lineto
+2996 0 lineto
+3070 389 lineto
+3685 389 lineto
+4068 2359 lineto
+2156 2359 lineto
+1773 389 lineto
+2391 389 lineto
+2317 0 lineto
+-155 0 lineto
+end_ol grestore 
+gsave 48.421972 5.987500 translate 0.035278 -0.035278 scale
+start_ol
+2459 296 moveto
+3074 296 3474 814 conicto
+3875 1333 4081 2398 conicto
+4287 3467 4089 3985 conicto
+3891 4503 3277 4503 conicto
+2665 4503 2262 3980 conicto
+1860 3457 1654 2398 conicto
+1448 1342 1648 819 conicto
+1848 296 2459 296 conicto
+2382 -93 moveto
+1168 -93 610 570 conicto
+52 1233 277 2398 conicto
+502 3563 1323 4228 conicto
+2144 4893 3354 4893 conicto
+4567 4893 5125 4229 conicto
+5684 3566 5459 2398 conicto
+5234 1233 4413 570 conicto
+3592 -93 2382 -93 conicto
+end_ol grestore 
+gsave 49.178763 5.987500 translate 0.035278 -0.035278 scale
+start_ol
+87 232 moveto
+309 1371 lineto
+718 1371 lineto
+705 830 1001 563 conicto
+1297 296 1912 296 conicto
+2411 296 2708 486 conicto
+3006 676 3077 1043 conicto
+3135 1333 2988 1493 conicto
+2842 1654 2314 1793 conicto
+1629 1970 lineto
+959 2150 735 2470 conicto
+512 2791 624 3383 conicto
+766 4097 1318 4495 conicto
+1870 4893 2726 4893 conicto
+3148 4893 3589 4822 conicto
+4030 4751 4490 4609 conicto
+4284 3547 lineto
+3875 3547 lineto
+3879 4043 3608 4273 conicto
+3338 4503 2755 4503 conicto
+2279 4503 2003 4337 conicto
+1728 4172 1664 3843 conicto
+1606 3544 1743 3388 conicto
+1880 3232 2501 3064 conicto
+3187 2887 lineto
+3824 2720 4057 2366 conicto
+4291 2012 4168 1391 conicto
+4027 663 3450 285 conicto
+2874 -93 1899 -93 conicto
+1429 -93 981 -12 conicto
+534 68 87 232 conicto
+end_ol grestore 
+gsave 49.805676 5.987500 translate 0.035278 -0.035278 scale
+start_ol
+727 0 moveto
+801 389 lineto
+1439 389 lineto
+2211 4365 lineto
+895 4365 lineto
+750 3605 lineto
+309 3605 lineto
+541 4806 lineto
+5305 4806 lineto
+5073 3605 lineto
+4638 3605 lineto
+4783 4365 lineto
+3457 4365 lineto
+2684 389 lineto
+3325 389 lineto
+3251 0 lineto
+727 0 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 40.000000 15.350000 m 40.012088 17.343906 l s
+[] 0 sd
+0 slj
+0 slc
+n 40.014361 17.718899 m 39.761335 17.220424 l 40.012088 17.343906 l 40.261325 17.217393 l ef
+n 40.014361 17.718899 m 39.761335 17.220424 l 40.012088 17.343906 l 40.261325 17.217393 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 37.900000 17.700000 m 37.900000 15.680902 l s
+[] 0 sd
+0 slj
+0 slc
+n 37.900000 15.305902 m 38.150000 15.805902 l 37.900000 15.680902 l 37.650000 15.805902 l ef
+n 37.900000 15.305902 m 38.150000 15.805902 l 37.900000 15.680902 l 37.650000 15.805902 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+n 30.800000 17.750000 m 30.800000 25.700000 l 51.550000 25.700000 l 51.550000 17.750000 l cp s
+gsave 45.150000 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+4709 3296 moveto
+4690 3933 4406 4218 conicto
+4123 4503 3508 4503 conicto
+2762 4503 2314 3996 conicto
+1867 3489 1654 2398 conicto
+1445 1316 1680 806 conicto
+1915 296 2623 296 conicto
+2894 296 3137 357 conicto
+3380 418 3595 541 conicto
+3850 1860 lineto
+3270 1860 lineto
+3348 2247 lineto
+5079 2247 lineto
+4719 402 lineto
+4130 151 3566 29 conicto
+3003 -93 2440 -93 conicto
+1204 -93 628 573 conicto
+52 1239 277 2398 conicto
+502 3560 1339 4226 conicto
+2176 4893 3412 4893 conicto
+3927 4893 4405 4790 conicto
+4883 4687 5346 4477 conicto
+5118 3296 lineto
+4709 3296 lineto
+end_ol grestore 
+gsave 45.891801 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+-155 0 moveto
+-81 389 lineto
+534 389 lineto
+1319 4416 lineto
+705 4416 lineto
+779 4806 lineto
+3515 4806 lineto
+4316 4806 4715 4424 conicto
+5114 4043 4989 3402 conicto
+4863 2758 4314 2373 conicto
+3766 1989 2967 1989 conicto
+2086 1989 lineto
+1773 389 lineto
+2549 389 lineto
+2475 0 lineto
+-155 0 lineto
+2163 2379 moveto
+2523 2379 lineto
+2942 2379 3244 2657 conicto
+3547 2936 3637 3402 conicto
+3727 3866 3534 4141 conicto
+3341 4416 2919 4416 conicto
+2559 4416 lineto
+2163 2379 lineto
+end_ol grestore 
+gsave 46.543684 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+1236 4416 moveto
+624 4416 lineto
+702 4806 lineto
+3174 4806 lineto
+3096 4416 lineto
+2482 4416 lineto
+2015 2012 lineto
+1841 1114 2052 755 conicto
+2263 396 2942 396 conicto
+3605 396 3952 758 conicto
+4300 1120 4474 2012 conicto
+4941 4416 lineto
+4329 4416 lineto
+4406 4806 lineto
+6080 4806 lineto
+6003 4416 lineto
+5388 4416 lineto
+4909 1944 lineto
+4696 843 4128 375 conicto
+3560 -93 2437 -93 conicto
+1320 -93 932 380 conicto
+544 853 760 1951 conicto
+1236 4416 lineto
+end_ol grestore 
+gsave 47.300475 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 47.602687 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+1773 389 moveto
+2221 389 lineto
+2974 389 3418 872 conicto
+3862 1355 4065 2408 conicto
+4268 3454 4015 3935 conicto
+3763 4416 3006 4416 conicto
+2559 4416 lineto
+1773 389 lineto
+-155 0 moveto
+-81 389 lineto
+534 389 lineto
+1319 4416 lineto
+705 4416 lineto
+779 4806 lineto
+3244 4806 lineto
+4538 4806 5103 4188 conicto
+5668 3570 5443 2408 conicto
+5217 1239 4409 619 conicto
+3602 0 2311 0 conicto
+-155 0 lineto
+end_ol grestore 
+gsave 48.354485 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+-155 0 moveto
+-81 389 lineto
+534 389 lineto
+1319 4416 lineto
+705 4416 lineto
+779 4806 lineto
+5098 4806 lineto
+4879 3673 lineto
+4435 3673 lineto
+4567 4365 lineto
+2546 4365 lineto
+2246 2823 lineto
+3505 2823 lineto
+3624 3434 lineto
+4065 3434 lineto
+3743 1774 lineto
+3302 1774 lineto
+3421 2385 lineto
+2163 2385 lineto
+1786 441 lineto
+3869 441 lineto
+4001 1133 lineto
+4442 1133 lineto
+4223 0 lineto
+-155 0 lineto
+end_ol grestore 
+gsave 49.016365 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+5675 4806 moveto
+5601 4416 lineto
+5198 4416 lineto
+2527 0 lineto
+1761 0 lineto
+808 4416 lineto
+354 4416 lineto
+428 4806 lineto
+2681 4806 lineto
+2607 4416 lineto
+2140 4416 lineto
+2816 1233 lineto
+4744 4416 lineto
+4172 4416 lineto
+4246 4806 lineto
+5675 4806 lineto
+end_ol grestore 
+gsave 49.690730 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+-155 0 moveto
+-81 389 lineto
+534 389 lineto
+1319 4416 lineto
+705 4416 lineto
+779 4806 lineto
+3251 4806 lineto
+3177 4416 lineto
+2559 4416 lineto
+1773 389 lineto
+2391 389 lineto
+2317 0 lineto
+-155 0 lineto
+end_ol grestore 
+gsave 50.097849 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+4712 1371 moveto
+4378 628 3814 267 conicto
+3251 -93 2421 -93 conicto
+1204 -93 629 578 conicto
+55 1249 277 2398 conicto
+499 3550 1337 4221 conicto
+2176 4893 3393 4893 conicto
+3821 4893 4263 4790 conicto
+4706 4687 5182 4477 conicto
+4954 3296 lineto
+4545 3296 lineto
+4538 3901 4264 4202 conicto
+3991 4503 3447 4503 conicto
+2746 4503 2305 3986 conicto
+1864 3470 1654 2398 conicto
+1445 1326 1686 811 conicto
+1928 296 2636 296 conicto
+3116 296 3471 563 conicto
+3827 830 4072 1371 conicto
+4712 1371 lineto
+end_ol grestore 
+gsave 50.789701 18.960000 translate 0.035278 -0.035278 scale
+start_ol
+-155 0 moveto
+-81 389 lineto
+534 389 lineto
+1319 4416 lineto
+705 4416 lineto
+779 4806 lineto
+5098 4806 lineto
+4879 3673 lineto
+4435 3673 lineto
+4567 4365 lineto
+2546 4365 lineto
+2246 2823 lineto
+3505 2823 lineto
+3624 3434 lineto
+4065 3434 lineto
+3743 1774 lineto
+3302 1774 lineto
+3421 2385 lineto
+2163 2385 lineto
+1786 441 lineto
+3869 441 lineto
+4001 1133 lineto
+4442 1133 lineto
+4223 0 lineto
+-155 0 lineto
+end_ol grestore 
+gsave 40.400000 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+1131 3520 lineto
+2624 575 lineto
+2624 3520 lineto
+3136 3520 lineto
+3136 0 lineto
+2453 0 lineto
+960 2945 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 40.879549 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave 41.271678 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+2176 2304 moveto
+2176 3712 lineto
+2624 3712 lineto
+2624 0 lineto
+2176 0 lineto
+2176 384 lineto
+2040 157 1832 46 conicto
+1624 -64 1332 -64 conicto
+855 -64 555 324 conicto
+256 712 256 1344 conicto
+256 1976 555 2364 conicto
+855 2752 1332 2752 conicto
+1624 2752 1832 2641 conicto
+2040 2531 2176 2304 conicto
+704 1344 moveto
+704 865 900 592 conicto
+1096 320 1439 320 conicto
+1782 320 1979 592 conicto
+2176 865 2176 1344 conicto
+2176 1823 1979 2095 conicto
+1782 2368 1439 2368 conicto
+1096 2368 900 2095 conicto
+704 1823 704 1344 conicto
+end_ol grestore 
+gsave 41.678797 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave 42.073423 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 42.275730 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+938 384 moveto
+2643 384 lineto
+2643 0 lineto
+384 0 lineto
+384 384 lineto
+654 668 1119 1146 conicto
+1584 1625 1704 1763 conicto
+1931 2023 2021 2203 conicto
+2112 2384 2112 2558 conicto
+2112 2842 1913 3021 conicto
+1715 3200 1397 3200 conicto
+1171 3200 920 3104 conicto
+669 3009 384 2816 conicto
+384 3328 lineto
+678 3455 933 3519 conicto
+1188 3584 1400 3584 conicto
+1959 3584 2291 3309 conicto
+2624 3034 2624 2574 conicto
+2624 2356 2540 2160 conicto
+2457 1965 2237 1700 conicto
+2177 1631 1852 1302 conicto
+1528 974 938 384 conicto
+end_ol grestore 
+gsave 42.682850 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 42.885157 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 173 lineto
+704 -576 lineto
+384 -576 lineto
+576 173 lineto
+576 576 lineto
+end_ol grestore 
+gsave 43.087464 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 43.289771 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+1131 3520 lineto
+2624 575 lineto
+2624 3520 lineto
+3136 3520 lineto
+3136 0 lineto
+2453 0 lineto
+960 2945 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 43.769320 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave 44.161449 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+2176 2304 moveto
+2176 3712 lineto
+2624 3712 lineto
+2624 0 lineto
+2176 0 lineto
+2176 384 lineto
+2040 157 1832 46 conicto
+1624 -64 1332 -64 conicto
+855 -64 555 324 conicto
+256 712 256 1344 conicto
+256 1976 555 2364 conicto
+855 2752 1332 2752 conicto
+1624 2752 1832 2641 conicto
+2040 2531 2176 2304 conicto
+704 1344 moveto
+704 865 900 592 conicto
+1096 320 1439 320 conicto
+1782 320 1979 592 conicto
+2176 865 2176 1344 conicto
+2176 1823 1979 2095 conicto
+1782 2368 1439 2368 conicto
+1096 2368 900 2095 conicto
+704 1823 704 1344 conicto
+end_ol grestore 
+gsave 44.568568 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave 44.963194 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 45.165501 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+1897 1936 moveto
+2269 1862 2478 1627 conicto
+2688 1392 2688 1046 conicto
+2688 516 2331 226 conicto
+1975 -64 1319 -64 conicto
+1099 -64 865 -16 conicto
+632 32 384 128 conicto
+384 576 lineto
+576 449 805 384 conicto
+1035 320 1285 320 conicto
+1720 320 1948 504 conicto
+2176 688 2176 1039 conicto
+2176 1363 1967 1545 conicto
+1759 1728 1388 1728 conicto
+1024 1728 lineto
+1024 2112 lineto
+1405 2112 lineto
+1717 2112 1882 2250 conicto
+2048 2388 2048 2648 conicto
+2048 2915 1877 3057 conicto
+1706 3200 1388 3200 conicto
+1200 3200 985 3153 conicto
+770 3107 512 3008 conicto
+512 3456 lineto
+773 3520 1001 3552 conicto
+1229 3584 1431 3584 conicto
+1952 3584 2256 3343 conicto
+2560 3102 2560 2692 conicto
+2560 2406 2387 2209 conicto
+2215 2012 1897 1936 conicto
+end_ol grestore 
+gsave 45.572621 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 45.774928 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 45.977235 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 46.179542 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 46.381849 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+1131 3520 lineto
+2624 575 lineto
+2624 3520 lineto
+3136 3520 lineto
+3136 0 lineto
+2453 0 lineto
+960 2945 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 46.861398 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave 47.253527 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+2176 2304 moveto
+2176 3712 lineto
+2624 3712 lineto
+2624 0 lineto
+2176 0 lineto
+2176 384 lineto
+2040 157 1832 46 conicto
+1624 -64 1332 -64 conicto
+855 -64 555 324 conicto
+256 712 256 1344 conicto
+256 1976 555 2364 conicto
+855 2752 1332 2752 conicto
+1624 2752 1832 2641 conicto
+2040 2531 2176 2304 conicto
+704 1344 moveto
+704 865 900 592 conicto
+1096 320 1439 320 conicto
+1782 320 1979 592 conicto
+2176 865 2176 1344 conicto
+2176 1823 1979 2095 conicto
+1782 2368 1439 2368 conicto
+1096 2368 900 2095 conicto
+704 1823 704 1344 conicto
+end_ol grestore 
+gsave 47.660646 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave 48.055272 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 48.257579 16.800000 translate 0.035278 -0.035278 scale
+start_ol
+384 3520 moveto
+2688 3520 lineto
+2688 3317 lineto
+1398 0 lineto
+896 0 lineto
+2110 3136 lineto
+384 3136 lineto
+384 3520 lineto
+end_ol grestore 
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 34.410277 19.593877 0.658177 0.658177 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 34.410277 19.593877 0.658177 0.658177 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 34.410277 19.593877 0.658177 0.658177 0 360 ellipse cp s
+gsave 34.260300 19.743900 translate 0.035278 -0.035278 scale
+start_ol
+938 384 moveto
+2643 384 lineto
+2643 0 lineto
+384 0 lineto
+384 384 lineto
+654 668 1119 1146 conicto
+1584 1625 1704 1763 conicto
+1931 2023 2021 2203 conicto
+2112 2384 2112 2558 conicto
+2112 2842 1913 3021 conicto
+1715 3200 1397 3200 conicto
+1171 3200 920 3104 conicto
+669 3009 384 2816 conicto
+384 3328 lineto
+678 3455 933 3519 conicto
+1188 3584 1400 3584 conicto
+1959 3584 2291 3309 conicto
+2624 3034 2624 2574 conicto
+2624 2356 2540 2160 conicto
+2457 1965 2237 1700 conicto
+2177 1631 1852 1302 conicto
+1528 974 938 384 conicto
+end_ol grestore 
+gsave 36.483200 19.628200 translate 0.035278 -0.035278 scale
+start_ol
+1897 1936 moveto
+2269 1862 2478 1627 conicto
+2688 1392 2688 1046 conicto
+2688 516 2331 226 conicto
+1975 -64 1319 -64 conicto
+1099 -64 865 -16 conicto
+632 32 384 128 conicto
+384 576 lineto
+576 449 805 384 conicto
+1035 320 1285 320 conicto
+1720 320 1948 504 conicto
+2176 688 2176 1039 conicto
+2176 1363 1967 1545 conicto
+1759 1728 1388 1728 conicto
+1024 1728 lineto
+1024 2112 lineto
+1405 2112 lineto
+1717 2112 1882 2250 conicto
+2048 2388 2048 2648 conicto
+2048 2915 1877 3057 conicto
+1706 3200 1388 3200 conicto
+1200 3200 985 3153 conicto
+770 3107 512 3008 conicto
+512 3456 lineto
+773 3520 1001 3552 conicto
+1229 3584 1431 3584 conicto
+1952 3584 2256 3343 conicto
+2560 3102 2560 2692 conicto
+2560 2406 2387 2209 conicto
+2215 2012 1897 1936 conicto
+end_ol grestore 
+gsave 38.483200 19.678200 translate 0.035278 -0.035278 scale
+start_ol
+1792 3103 moveto
+630 1216 lineto
+1792 1216 lineto
+1792 3103 lineto
+1709 3520 moveto
+2304 3520 lineto
+2304 1216 lineto
+2816 1216 lineto
+2816 832 lineto
+2304 832 lineto
+2304 0 lineto
+1792 0 lineto
+1792 832 lineto
+256 832 lineto
+256 1291 lineto
+1709 3520 lineto
+end_ol grestore 
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 36.483177 19.628177 0.658177 0.658177 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 36.483177 19.628177 0.658177 0.658177 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 36.483177 19.628177 0.658177 0.658177 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 38.483177 19.678177 0.658177 0.658177 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 38.483177 19.678177 0.658177 0.658177 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 38.483177 19.678177 0.658177 0.658177 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 40.433177 19.628177 0.658177 0.658177 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 40.433177 19.628177 0.658177 0.658177 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 40.433177 19.628177 0.658177 0.658177 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 42.433177 19.678177 0.658177 0.658177 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 42.433177 19.678177 0.658177 0.658177 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 42.433177 19.678177 0.658177 0.658177 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.100000 slw
+0 slc
+0 slj
+[] 0 sd
+0.749020 0.749020 0.749020 srgb
+n 44.433177 19.628177 0.658177 0.658177 0 360 ellipse f
+0.000000 0.000000 0.000000 srgb
+n 44.433177 19.628177 0.658177 0.658177 0 360 ellipse cp s
+0 slc
+0 slj
+[] 0 sd
+n 44.433177 19.628177 0.658177 0.658177 0 360 ellipse cp s
+gsave 36.333200 19.778200 translate 0.035278 -0.035278 scale
+start_ol
+1897 1936 moveto
+2269 1862 2478 1627 conicto
+2688 1392 2688 1046 conicto
+2688 516 2331 226 conicto
+1975 -64 1319 -64 conicto
+1099 -64 865 -16 conicto
+632 32 384 128 conicto
+384 576 lineto
+576 449 805 384 conicto
+1035 320 1285 320 conicto
+1720 320 1948 504 conicto
+2176 688 2176 1039 conicto
+2176 1363 1967 1545 conicto
+1759 1728 1388 1728 conicto
+1024 1728 lineto
+1024 2112 lineto
+1405 2112 lineto
+1717 2112 1882 2250 conicto
+2048 2388 2048 2648 conicto
+2048 2915 1877 3057 conicto
+1706 3200 1388 3200 conicto
+1200 3200 985 3153 conicto
+770 3107 512 3008 conicto
+512 3456 lineto
+773 3520 1001 3552 conicto
+1229 3584 1431 3584 conicto
+1952 3584 2256 3343 conicto
+2560 3102 2560 2692 conicto
+2560 2406 2387 2209 conicto
+2215 2012 1897 1936 conicto
+end_ol grestore 
+gsave 38.283200 19.778200 translate 0.035278 -0.035278 scale
+start_ol
+1792 3103 moveto
+630 1216 lineto
+1792 1216 lineto
+1792 3103 lineto
+1709 3520 moveto
+2304 3520 lineto
+2304 1216 lineto
+2816 1216 lineto
+2816 832 lineto
+2304 832 lineto
+2304 0 lineto
+1792 0 lineto
+1792 832 lineto
+256 832 lineto
+256 1291 lineto
+1709 3520 lineto
+end_ol grestore 
+gsave 40.283200 19.828200 translate 0.035278 -0.035278 scale
+start_ol
+512 3520 moveto
+2432 3520 lineto
+2432 3136 lineto
+1024 3136 lineto
+1024 2300 lineto
+1126 2334 1228 2351 conicto
+1330 2368 1432 2368 conicto
+2011 2368 2349 2040 conicto
+2688 1712 2688 1152 conicto
+2688 575 2330 255 conicto
+1972 -64 1321 -64 conicto
+1097 -64 864 -32 conicto
+632 0 384 64 conicto
+384 576 lineto
+595 447 820 383 conicto
+1045 320 1296 320 conicto
+1702 320 1939 544 conicto
+2176 768 2176 1152 conicto
+2176 1536 1936 1760 conicto
+1697 1984 1286 1984 conicto
+1094 1984 902 1937 conicto
+711 1891 512 1792 conicto
+512 3520 lineto
+end_ol grestore 
+gsave 42.283200 19.828200 translate 0.035278 -0.035278 scale
+start_ol
+1568 1984 moveto
+1258 1984 1077 1761 conicto
+896 1539 896 1152 conicto
+896 767 1077 543 conicto
+1258 320 1568 320 conicto
+1878 320 2059 543 conicto
+2240 767 2240 1152 conicto
+2240 1539 2059 1761 conicto
+1878 1984 1568 1984 conicto
+2496 3456 moveto
+2496 3008 lineto
+2323 3101 2147 3150 conicto
+1972 3200 1799 3200 conicto
+1345 3200 1105 2885 conicto
+866 2571 832 1936 conicto
+968 2145 1174 2256 conicto
+1380 2368 1628 2368 conicto
+2148 2368 2450 2041 conicto
+2752 1715 2752 1152 conicto
+2752 601 2431 268 conicto
+2110 -64 1577 -64 conicto
+966 -64 643 403 conicto
+320 871 320 1759 conicto
+320 2593 711 3088 conicto
+1103 3584 1762 3584 conicto
+1939 3584 2119 3552 conicto
+2300 3520 2496 3456 conicto
+end_ol grestore 
+gsave 44.283200 19.778200 translate 0.035278 -0.035278 scale
+start_ol
+384 3520 moveto
+2688 3520 lineto
+2688 3317 lineto
+1398 0 lineto
+896 0 lineto
+2110 3136 lineto
+384 3136 lineto
+384 3520 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 34.400000 21.850000 m 34.407522 20.682993 l s
+[] 0 sd
+0 slj
+0 slc
+n 34.409940 20.308001 m 34.656712 20.809602 l 34.407522 20.682993 l 34.156722 20.806379 l ef
+n 34.409940 20.308001 m 34.656712 20.809602 l 34.407522 20.682993 l 34.156722 20.806379 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 36.450000 21.950000 m 36.474602 20.717216 l s
+[] 0 sd
+0 slj
+0 slc
+n 36.482085 20.342291 m 36.722058 20.847179 l 36.474602 20.717216 l 36.222158 20.837203 l ef
+n 36.482085 20.342291 m 36.722058 20.847179 l 36.474602 20.717216 l 36.222158 20.837203 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 38.500000 21.900000 m 38.487830 20.767277 l s
+[] 0 sd
+0 slj
+0 slc
+n 38.483801 20.392298 m 38.739158 20.889584 l 38.487830 20.767277 l 38.239187 20.894956 l ef
+n 38.483801 20.392298 m 38.739158 20.889584 l 38.487830 20.767277 l 38.239187 20.894956 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 40.450000 22.000000 m 40.437424 20.717281 l s
+[] 0 sd
+0 slj
+0 slc
+n 40.433748 20.342299 m 40.688638 20.839824 l 40.437424 20.717281 l 40.188662 20.844726 l ef
+n 40.433748 20.342299 m 40.688638 20.839824 l 40.437424 20.717281 l 40.188662 20.844726 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 42.450000 22.000000 m 42.437551 20.767280 l s
+[] 0 sd
+0 slj
+0 slc
+n 42.433764 20.392299 m 42.688801 20.889749 l 42.437551 20.767280 l 42.188826 20.894798 l ef
+n 42.433764 20.392299 m 42.688801 20.889749 l 42.437551 20.767280 l 42.188826 20.894798 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 44.450000 21.900000 m 44.437686 20.717278 l s
+[] 0 sd
+0 slj
+0 slc
+n 44.433782 20.342299 m 44.688974 20.839669 l 44.437686 20.717278 l 44.189001 20.844874 l ef
+n 44.433782 20.342299 m 44.688974 20.839669 l 44.437686 20.717278 l 44.189001 20.844874 l cp s
+gsave 34.000000 22.900000 translate 0.035278 -0.035278 scale
+start_ol
+64 3520 moveto
+3264 3520 lineto
+3264 2816 lineto
+2112 2816 lineto
+2112 0 lineto
+1216 0 lineto
+1216 2816 lineto
+64 2816 lineto
+64 3520 lineto
+end_ol grestore 
+gsave 34.437092 22.900000 translate 0.035278 -0.035278 scale
+start_ol
+2304 1767 moveto
+2304 2414 2172 2679 conicto
+2040 2944 1729 2944 conicto
+1418 2944 1285 2679 conicto
+1152 2414 1152 1767 conicto
+1152 1113 1285 844 conicto
+1418 576 1729 576 conicto
+2038 576 2171 844 conicto
+2304 1113 2304 1767 conicto
+3200 1759 moveto
+3200 885 2816 410 conicto
+2433 -64 1729 -64 conicto
+1023 -64 639 410 conicto
+256 885 256 1759 conicto
+256 2635 639 3109 conicto
+1023 3584 1729 3584 conicto
+2433 3584 2816 3109 conicto
+3200 2635 3200 1759 conicto
+end_ol grestore 
+gsave 36.050000 22.900000 translate 0.035278 -0.035278 scale
+start_ol
+64 3520 moveto
+3264 3520 lineto
+3264 2816 lineto
+2112 2816 lineto
+2112 0 lineto
+1216 0 lineto
+1216 2816 lineto
+64 2816 lineto
+64 3520 lineto
+end_ol grestore 
+gsave 36.487092 22.900000 translate 0.035278 -0.035278 scale
+start_ol
+576 640 moveto
+1408 640 lineto
+1408 2880 lineto
+576 2688 lineto
+576 3328 lineto
+1408 3520 lineto
+2304 3520 lineto
+2304 640 lineto
+3136 640 lineto
+3136 0 lineto
+576 0 lineto
+576 640 lineto
+end_ol grestore 
+gsave 38.050000 22.900000 translate 0.035278 -0.035278 scale
+start_ol
+64 3520 moveto
+3264 3520 lineto
+3264 2816 lineto
+2112 2816 lineto
+2112 0 lineto
+1216 0 lineto
+1216 2816 lineto
+64 2816 lineto
+64 3520 lineto
+end_ol grestore 
+gsave 38.487092 22.900000 translate 0.035278 -0.035278 scale
+start_ol
+1415 704 moveto
+2944 704 lineto
+2944 0 lineto
+384 0 lineto
+384 704 lineto
+1700 1829 lineto
+1878 1978 1963 2120 conicto
+2048 2263 2048 2417 conicto
+2048 2655 1876 2799 conicto
+1705 2944 1420 2944 conicto
+1201 2944 941 2863 conicto
+681 2783 384 2624 conicto
+384 3392 lineto
+695 3486 998 3535 conicto
+1302 3584 1593 3584 conicto
+2234 3584 2589 3309 conicto
+2944 3035 2944 2545 conicto
+2944 2261 2798 2016 conicto
+2652 1771 2185 1359 conicto
+1415 704 lineto
+end_ol grestore 
+gsave 40.025000 22.915000 translate 0.035278 -0.035278 scale
+start_ol
+64 3520 moveto
+3264 3520 lineto
+3264 2816 lineto
+2112 2816 lineto
+2112 0 lineto
+1216 0 lineto
+1216 2816 lineto
+64 2816 lineto
+64 3520 lineto
+end_ol grestore 
+gsave 40.462092 22.915000 translate 0.035278 -0.035278 scale
+start_ol
+2295 1949 moveto
+2645 1855 2826 1622 conicto
+3008 1389 3008 1029 conicto
+3008 494 2602 215 conicto
+2196 -64 1417 -64 conicto
+1142 -64 866 -16 conicto
+590 32 320 128 conicto
+320 832 lineto
+582 705 839 640 conicto
+1097 576 1347 576 conicto
+1717 576 1914 699 conicto
+2112 823 2112 1054 conicto
+2112 1291 1915 1413 conicto
+1718 1536 1333 1536 conicto
+960 1536 lineto
+960 2176 lineto
+1353 2176 lineto
+1704 2176 1876 2272 conicto
+2048 2368 2048 2564 conicto
+2048 2746 1876 2845 conicto
+1704 2944 1389 2944 conicto
+1157 2944 920 2895 conicto
+683 2847 448 2752 conicto
+448 3392 lineto
+725 3488 997 3536 conicto
+1270 3584 1533 3584 conicto
+2241 3584 2592 3365 conicto
+2944 3147 2944 2708 conicto
+2944 2409 2780 2218 conicto
+2616 2027 2295 1949 conicto
+end_ol grestore 
+gsave 42.025000 22.915000 translate 0.035278 -0.035278 scale
+start_ol
+64 3520 moveto
+3264 3520 lineto
+3264 2816 lineto
+2112 2816 lineto
+2112 0 lineto
+1216 0 lineto
+1216 2816 lineto
+64 2816 lineto
+64 3520 lineto
+end_ol grestore 
+gsave 42.462092 22.915000 translate 0.035278 -0.035278 scale
+start_ol
+1792 2766 moveto
+813 1280 lineto
+1792 1280 lineto
+1792 2766 lineto
+1673 3520 moveto
+2688 3520 lineto
+2688 1280 lineto
+3200 1280 lineto
+3200 640 lineto
+2688 640 lineto
+2688 0 lineto
+1792 0 lineto
+1792 640 lineto
+256 640 lineto
+256 1418 lineto
+1673 3520 lineto
+end_ol grestore 
+gsave 44.050000 22.850000 translate 0.035278 -0.035278 scale
+start_ol
+64 3520 moveto
+3264 3520 lineto
+3264 2816 lineto
+2112 2816 lineto
+2112 0 lineto
+1216 0 lineto
+1216 2816 lineto
+64 2816 lineto
+64 3520 lineto
+end_ol grestore 
+gsave 44.487092 22.850000 translate 0.035278 -0.035278 scale
+start_ol
+512 3520 moveto
+2816 3520 lineto
+2816 2816 lineto
+1216 2816 lineto
+1216 2307 lineto
+1324 2336 1433 2352 conicto
+1542 2368 1659 2368 conicto
+2328 2368 2700 2046 conicto
+3072 1725 3072 1151 conicto
+3072 581 2676 258 conicto
+2280 -64 1577 -64 conicto
+1274 -64 976 0 conicto
+678 63 384 192 conicto
+384 896 lineto
+680 736 945 656 conicto
+1211 576 1446 576 conicto
+1786 576 1981 731 conicto
+2176 887 2176 1152 conicto
+2176 1420 1979 1574 conicto
+1782 1728 1439 1728 conicto
+1236 1728 1006 1681 conicto
+776 1634 512 1536 conicto
+512 3520 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 31.150000 24.000000 m 31.150000 25.166667 l 32.350000 25.166667 l 32.350000 24.000000 l f
+0.000000 0.000000 0.000000 srgb
+n 31.150000 24.000000 m 31.150000 25.166667 l 32.350000 25.166667 l 32.350000 24.000000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 31.270000 24.000000 m 31.270000 25.166667 l s
+0 slc
+0 slj
+[] 0 sd
+n 31.150000 24.116667 m 32.350000 24.116667 l s
+gsave 31.606250 24.841667 translate 0.035278 -0.035278 scale
+start_ol
+1535 1664 moveto
+1207 1664 1019 1485 conicto
+832 1306 832 992 conicto
+832 678 1019 499 conicto
+1207 320 1535 320 conicto
+1862 320 2051 500 conicto
+2240 680 2240 992 conicto
+2240 1306 2052 1485 conicto
+1865 1664 1535 1664 conicto
+1067 1872 moveto
+744 1948 564 2158 conicto
+384 2368 384 2670 conicto
+384 3093 692 3338 conicto
+1000 3584 1536 3584 conicto
+2075 3584 2381 3338 conicto
+2688 3093 2688 2670 conicto
+2688 2368 2507 2158 conicto
+2327 1948 2005 1872 conicto
+2358 1792 2555 1559 conicto
+2752 1327 2752 991 conicto
+2752 481 2437 208 conicto
+2123 -64 1536 -64 conicto
+949 -64 634 208 conicto
+320 481 320 991 conicto
+320 1327 517 1559 conicto
+715 1792 1067 1872 conicto
+896 2624 moveto
+896 2352 1064 2200 conicto
+1232 2048 1535 2048 conicto
+1836 2048 2006 2200 conicto
+2176 2352 2176 2624 conicto
+2176 2896 2006 3048 conicto
+1836 3200 1535 3200 conicto
+1232 3200 1064 3048 conicto
+896 2896 896 2624 conicto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 32.400000 23.995000 m 32.400000 25.161667 l 33.600000 25.161667 l 33.600000 23.995000 l f
+0.000000 0.000000 0.000000 srgb
+n 32.400000 23.995000 m 32.400000 25.161667 l 33.600000 25.161667 l 33.600000 23.995000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 32.520000 23.995000 m 32.520000 25.161667 l s
+0 slc
+0 slj
+[] 0 sd
+n 32.400000 24.111667 m 33.600000 24.111667 l s
+gsave 32.856250 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+576 64 moveto
+576 512 lineto
+749 419 926 369 conicto
+1103 320 1273 320 conicto
+1727 320 1966 648 conicto
+2206 977 2240 1646 conicto
+2106 1438 1899 1327 conicto
+1693 1216 1443 1216 conicto
+924 1216 622 1532 conicto
+320 1849 320 2398 conicto
+320 2935 641 3259 conicto
+962 3584 1496 3584 conicto
+2107 3584 2429 3116 conicto
+2752 2649 2752 1759 conicto
+2752 927 2362 431 conicto
+1972 -64 1312 -64 conicto
+1135 -64 953 -32 conicto
+772 0 576 64 conicto
+1504 1600 moveto
+1814 1600 1995 1814 conicto
+2176 2028 2176 2400 conicto
+2176 2770 1995 2985 conicto
+1814 3200 1504 3200 conicto
+1194 3200 1013 2985 conicto
+832 2770 832 2400 conicto
+832 2028 1013 1814 conicto
+1194 1600 1504 1600 conicto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 33.600000 23.995000 m 33.600000 25.161667 l 34.800000 25.161667 l 34.800000 23.995000 l f
+0.000000 0.000000 0.000000 srgb
+n 33.600000 23.995000 m 33.600000 25.161667 l 34.800000 25.161667 l 34.800000 23.995000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 33.720000 23.995000 m 33.720000 25.161667 l s
+0 slc
+0 slj
+[] 0 sd
+n 33.600000 24.111667 m 34.800000 24.111667 l s
+gsave 33.852500 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+640 384 moveto
+1408 384 lineto
+1408 3136 lineto
+576 2944 lineto
+576 3328 lineto
+1434 3520 lineto
+1920 3520 lineto
+1920 384 lineto
+2688 384 lineto
+2688 0 lineto
+640 0 lineto
+640 384 lineto
+end_ol grestore 
+gsave 34.259619 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+1535 3200 moveto
+1185 3200 1008 2840 conicto
+832 2481 832 1759 conicto
+832 1039 1008 679 conicto
+1185 320 1535 320 conicto
+1887 320 2063 679 conicto
+2240 1039 2240 1759 conicto
+2240 2481 2063 2840 conicto
+1887 3200 1535 3200 conicto
+1536 3584 moveto
+2127 3584 2439 3116 conicto
+2752 2649 2752 1759 conicto
+2752 871 2439 403 conicto
+2127 -64 1536 -64 conicto
+944 -64 632 403 conicto
+320 871 320 1759 conicto
+320 2649 632 3116 conicto
+944 3584 1536 3584 conicto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 34.800000 24.000000 m 34.800000 25.166667 l 36.000000 25.166667 l 36.000000 24.000000 l f
+0.000000 0.000000 0.000000 srgb
+n 34.800000 24.000000 m 34.800000 25.166667 l 36.000000 25.166667 l 36.000000 24.000000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 34.920000 24.000000 m 34.920000 25.166667 l s
+0 slc
+0 slj
+[] 0 sd
+n 34.800000 24.116667 m 36.000000 24.116667 l s
+gsave 35.052500 24.841667 translate 0.035278 -0.035278 scale
+start_ol
+640 384 moveto
+1408 384 lineto
+1408 3136 lineto
+576 2944 lineto
+576 3328 lineto
+1434 3520 lineto
+1920 3520 lineto
+1920 384 lineto
+2688 384 lineto
+2688 0 lineto
+640 0 lineto
+640 384 lineto
+end_ol grestore 
+gsave 35.459619 24.841667 translate 0.035278 -0.035278 scale
+start_ol
+1792 3103 moveto
+630 1216 lineto
+1792 1216 lineto
+1792 3103 lineto
+1709 3520 moveto
+2304 3520 lineto
+2304 1216 lineto
+2816 1216 lineto
+2816 832 lineto
+2304 832 lineto
+2304 0 lineto
+1792 0 lineto
+1792 832 lineto
+256 832 lineto
+256 1291 lineto
+1709 3520 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 36.050000 23.995000 m 36.050000 25.161667 l 37.250000 25.161667 l 37.250000 23.995000 l f
+0.000000 0.000000 0.000000 srgb
+n 36.050000 23.995000 m 36.050000 25.161667 l 37.250000 25.161667 l 37.250000 23.995000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 36.170000 23.995000 m 36.170000 25.161667 l s
+0 slc
+0 slj
+[] 0 sd
+n 36.050000 24.111667 m 37.250000 24.111667 l s
+gsave 36.302500 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+640 384 moveto
+1408 384 lineto
+1408 3136 lineto
+576 2944 lineto
+576 3328 lineto
+1434 3520 lineto
+1920 3520 lineto
+1920 384 lineto
+2688 384 lineto
+2688 0 lineto
+640 0 lineto
+640 384 lineto
+end_ol grestore 
+gsave 36.709619 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+512 3520 moveto
+2432 3520 lineto
+2432 3136 lineto
+1024 3136 lineto
+1024 2300 lineto
+1126 2334 1228 2351 conicto
+1330 2368 1432 2368 conicto
+2011 2368 2349 2040 conicto
+2688 1712 2688 1152 conicto
+2688 575 2330 255 conicto
+1972 -64 1321 -64 conicto
+1097 -64 864 -32 conicto
+632 0 384 64 conicto
+384 576 lineto
+595 447 820 383 conicto
+1045 320 1296 320 conicto
+1702 320 1939 544 conicto
+2176 768 2176 1152 conicto
+2176 1536 1936 1760 conicto
+1697 1984 1286 1984 conicto
+1094 1984 902 1937 conicto
+711 1891 512 1792 conicto
+512 3520 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 37.250000 23.995000 m 37.250000 25.161667 l 38.450000 25.161667 l 38.450000 23.995000 l f
+0.000000 0.000000 0.000000 srgb
+n 37.250000 23.995000 m 37.250000 25.161667 l 38.450000 25.161667 l 38.450000 23.995000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 37.370000 23.995000 m 37.370000 25.161667 l s
+0 slc
+0 slj
+[] 0 sd
+n 37.250000 24.111667 m 38.450000 24.111667 l s
+gsave 37.502500 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+640 384 moveto
+1408 384 lineto
+1408 3136 lineto
+576 2944 lineto
+576 3328 lineto
+1434 3520 lineto
+1920 3520 lineto
+1920 384 lineto
+2688 384 lineto
+2688 0 lineto
+640 0 lineto
+640 384 lineto
+end_ol grestore 
+gsave 37.909619 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+1568 1984 moveto
+1258 1984 1077 1761 conicto
+896 1539 896 1152 conicto
+896 767 1077 543 conicto
+1258 320 1568 320 conicto
+1878 320 2059 543 conicto
+2240 767 2240 1152 conicto
+2240 1539 2059 1761 conicto
+1878 1984 1568 1984 conicto
+2496 3456 moveto
+2496 3008 lineto
+2323 3101 2147 3150 conicto
+1972 3200 1799 3200 conicto
+1345 3200 1105 2885 conicto
+866 2571 832 1936 conicto
+968 2145 1174 2256 conicto
+1380 2368 1628 2368 conicto
+2148 2368 2450 2041 conicto
+2752 1715 2752 1152 conicto
+2752 601 2431 268 conicto
+2110 -64 1577 -64 conicto
+966 -64 643 403 conicto
+320 871 320 1759 conicto
+320 2593 711 3088 conicto
+1103 3584 1762 3584 conicto
+1939 3584 2119 3552 conicto
+2300 3520 2496 3456 conicto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 38.350000 23.995000 m 38.350000 25.161667 l 39.650000 25.161667 l 39.650000 23.995000 l f
+0.000000 0.000000 0.000000 srgb
+n 38.350000 23.995000 m 38.350000 25.161667 l 39.650000 25.161667 l 39.650000 23.995000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 38.480000 23.995000 m 38.480000 25.161667 l s
+0 slc
+0 slj
+[] 0 sd
+n 38.350000 24.111667 m 39.650000 24.111667 l s
+gsave 38.605000 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 38.834782 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 39.064565 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 39.294347 24.836667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 40.300000 23.950000 m 40.300000 25.116667 l 41.500000 25.116667 l 41.500000 23.950000 l f
+0.000000 0.000000 0.000000 srgb
+n 40.300000 23.950000 m 40.300000 25.116667 l 41.500000 25.116667 l 41.500000 23.950000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 40.420000 23.950000 m 40.420000 25.116667 l s
+0 slc
+0 slj
+[] 0 sd
+n 40.300000 24.066667 m 41.500000 24.066667 l s
+gsave 40.615000 24.791667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 40.844782 24.791667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 41.074565 24.791667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 41.550000 23.945000 m 41.550000 25.111667 l 42.750000 25.111667 l 42.750000 23.945000 l f
+0.000000 0.000000 0.000000 srgb
+n 41.550000 23.945000 m 41.550000 25.111667 l 42.750000 25.111667 l 42.750000 23.945000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 41.670000 23.945000 m 41.670000 25.111667 l s
+0 slc
+0 slj
+[] 0 sd
+n 41.550000 24.061667 m 42.750000 24.061667 l s
+gsave 41.802500 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+640 384 moveto
+1408 384 lineto
+1408 3136 lineto
+576 2944 lineto
+576 3328 lineto
+1434 3520 lineto
+1920 3520 lineto
+1920 384 lineto
+2688 384 lineto
+2688 0 lineto
+640 0 lineto
+640 384 lineto
+end_ol grestore 
+gsave 42.209619 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+1535 1664 moveto
+1207 1664 1019 1485 conicto
+832 1306 832 992 conicto
+832 678 1019 499 conicto
+1207 320 1535 320 conicto
+1862 320 2051 500 conicto
+2240 680 2240 992 conicto
+2240 1306 2052 1485 conicto
+1865 1664 1535 1664 conicto
+1067 1872 moveto
+744 1948 564 2158 conicto
+384 2368 384 2670 conicto
+384 3093 692 3338 conicto
+1000 3584 1536 3584 conicto
+2075 3584 2381 3338 conicto
+2688 3093 2688 2670 conicto
+2688 2368 2507 2158 conicto
+2327 1948 2005 1872 conicto
+2358 1792 2555 1559 conicto
+2752 1327 2752 991 conicto
+2752 481 2437 208 conicto
+2123 -64 1536 -64 conicto
+949 -64 634 208 conicto
+320 481 320 991 conicto
+320 1327 517 1559 conicto
+715 1792 1067 1872 conicto
+896 2624 moveto
+896 2352 1064 2200 conicto
+1232 2048 1535 2048 conicto
+1836 2048 2006 2200 conicto
+2176 2352 2176 2624 conicto
+2176 2896 2006 3048 conicto
+1836 3200 1535 3200 conicto
+1232 3200 1064 3048 conicto
+896 2896 896 2624 conicto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 42.750000 23.945000 m 42.750000 25.111667 l 43.950000 25.111667 l 43.950000 23.945000 l f
+0.000000 0.000000 0.000000 srgb
+n 42.750000 23.945000 m 42.750000 25.111667 l 43.950000 25.111667 l 43.950000 23.945000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 42.870000 23.945000 m 42.870000 25.111667 l s
+0 slc
+0 slj
+[] 0 sd
+n 42.750000 24.061667 m 43.950000 24.061667 l s
+gsave 43.002500 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+640 384 moveto
+1408 384 lineto
+1408 3136 lineto
+576 2944 lineto
+576 3328 lineto
+1434 3520 lineto
+1920 3520 lineto
+1920 384 lineto
+2688 384 lineto
+2688 0 lineto
+640 0 lineto
+640 384 lineto
+end_ol grestore 
+gsave 43.409619 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+576 64 moveto
+576 512 lineto
+749 419 926 369 conicto
+1103 320 1273 320 conicto
+1727 320 1966 648 conicto
+2206 977 2240 1646 conicto
+2106 1438 1899 1327 conicto
+1693 1216 1443 1216 conicto
+924 1216 622 1532 conicto
+320 1849 320 2398 conicto
+320 2935 641 3259 conicto
+962 3584 1496 3584 conicto
+2107 3584 2429 3116 conicto
+2752 2649 2752 1759 conicto
+2752 927 2362 431 conicto
+1972 -64 1312 -64 conicto
+1135 -64 953 -32 conicto
+772 0 576 64 conicto
+1504 1600 moveto
+1814 1600 1995 1814 conicto
+2176 2028 2176 2400 conicto
+2176 2770 1995 2985 conicto
+1814 3200 1504 3200 conicto
+1194 3200 1013 2985 conicto
+832 2770 832 2400 conicto
+832 2028 1013 1814 conicto
+1194 1600 1504 1600 conicto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 43.950000 23.950000 m 43.950000 25.116667 l 45.150000 25.116667 l 45.150000 23.950000 l f
+0.000000 0.000000 0.000000 srgb
+n 43.950000 23.950000 m 43.950000 25.116667 l 45.150000 25.116667 l 45.150000 23.950000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 44.070000 23.950000 m 44.070000 25.116667 l s
+0 slc
+0 slj
+[] 0 sd
+n 43.950000 24.066667 m 45.150000 24.066667 l s
+gsave 44.202500 24.791667 translate 0.035278 -0.035278 scale
+start_ol
+938 384 moveto
+2643 384 lineto
+2643 0 lineto
+384 0 lineto
+384 384 lineto
+654 668 1119 1146 conicto
+1584 1625 1704 1763 conicto
+1931 2023 2021 2203 conicto
+2112 2384 2112 2558 conicto
+2112 2842 1913 3021 conicto
+1715 3200 1397 3200 conicto
+1171 3200 920 3104 conicto
+669 3009 384 2816 conicto
+384 3328 lineto
+678 3455 933 3519 conicto
+1188 3584 1400 3584 conicto
+1959 3584 2291 3309 conicto
+2624 3034 2624 2574 conicto
+2624 2356 2540 2160 conicto
+2457 1965 2237 1700 conicto
+2177 1631 1852 1302 conicto
+1528 974 938 384 conicto
+end_ol grestore 
+gsave 44.609619 24.791667 translate 0.035278 -0.035278 scale
+start_ol
+1535 3200 moveto
+1185 3200 1008 2840 conicto
+832 2481 832 1759 conicto
+832 1039 1008 679 conicto
+1185 320 1535 320 conicto
+1887 320 2063 679 conicto
+2240 1039 2240 1759 conicto
+2240 2481 2063 2840 conicto
+1887 3200 1535 3200 conicto
+1536 3584 moveto
+2127 3584 2439 3116 conicto
+2752 2649 2752 1759 conicto
+2752 871 2439 403 conicto
+2127 -64 1536 -64 conicto
+944 -64 632 403 conicto
+320 871 320 1759 conicto
+320 2649 632 3116 conicto
+944 3584 1536 3584 conicto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 47.500000 23.945000 m 47.500000 25.111667 l 48.800000 25.111667 l 48.800000 23.945000 l f
+0.000000 0.000000 0.000000 srgb
+n 47.500000 23.945000 m 47.500000 25.111667 l 48.800000 25.111667 l 48.800000 23.945000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 47.630000 23.945000 m 47.630000 25.111667 l s
+0 slc
+0 slj
+[] 0 sd
+n 47.500000 24.061667 m 48.800000 24.061667 l s
+gsave 47.755000 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 47.984782 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 48.214565 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 48.444347 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 45.250000 23.945000 m 45.250000 25.111667 l 46.550000 25.111667 l 46.550000 23.945000 l f
+0.000000 0.000000 0.000000 srgb
+n 45.250000 23.945000 m 45.250000 25.111667 l 46.550000 25.111667 l 46.550000 23.945000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 45.380000 23.945000 m 45.380000 25.111667 l s
+0 slc
+0 slj
+[] 0 sd
+n 45.250000 24.061667 m 46.550000 24.061667 l s
+gsave 45.505000 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 45.734782 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 45.964565 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 46.194347 24.786667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0 slj
+0.050000 slw
+0 slc
+0 slj
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 46.275000 23.965000 m 46.275000 25.131667 l 47.575000 25.131667 l 47.575000 23.965000 l f
+0.000000 0.000000 0.000000 srgb
+n 46.275000 23.965000 m 46.275000 25.131667 l 47.575000 25.131667 l 47.575000 23.965000 l cp s
+0 slc
+0 slj
+[] 0 sd
+n 46.405000 23.965000 m 46.405000 25.131667 l s
+0 slc
+0 slj
+[] 0 sd
+n 46.275000 24.081667 m 47.575000 24.081667 l s
+gsave 46.530000 24.806667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 46.759782 24.806667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 46.989565 24.806667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+gsave 47.219347 24.806667 translate 0.035278 -0.035278 scale
+start_ol
+256 1536 moveto
+1536 1536 lineto
+1536 1152 lineto
+256 1152 lineto
+256 1536 lineto
+end_ol grestore 
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 34.208400 23.063700 m 32.152685 23.846634 l s
+[] 0 sd
+0 slj
+0 slc
+n 31.802241 23.980104 m 32.180520 23.568515 l 32.152685 23.846634 l 32.358479 24.035774 l ef
+n 31.802241 23.980104 m 32.180520 23.568515 l 32.152685 23.846634 l 32.358479 24.035774 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 34.102300 23.099000 m 33.334372 23.723207 l s
+[] 0 sd
+0 slj
+0 slc
+n 33.043379 23.959740 m 33.273681 23.450367 l 33.334372 23.723207 l 33.589059 23.838358 l ef
+n 33.043379 23.959740 m 33.273681 23.450367 l 33.334372 23.723207 l 33.589059 23.838358 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 34.173000 23.099000 m 34.187021 23.564294 l s
+[] 0 sd
+0 slj
+0 slc
+n 34.198316 23.939124 m 33.933370 23.446881 l 34.187021 23.564294 l 34.433143 23.431820 l ef
+n 34.198316 23.939124 m 33.933370 23.446881 l 34.187021 23.564294 l 34.433143 23.431820 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 36.400400 23.099000 m 37.483464 23.768444 l s
+[] 0 sd
+0 slj
+0 slc
+n 37.802449 23.965608 m 37.245693 23.915378 l 37.483464 23.768444 l 37.508579 23.490066 l ef
+n 37.802449 23.965608 m 37.245693 23.915378 l 37.483464 23.768444 l 37.508579 23.490066 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 36.365000 23.099000 m 36.632243 23.771369 l s
+[] 0 sd
+0 slj
+0 slc
+n 36.770752 24.119851 m 36.353751 23.747547 l 36.632243 23.771369 l 36.818395 23.562868 l ef
+n 36.770752 24.119851 m 36.353751 23.747547 l 36.632243 23.771369 l 36.818395 23.562868 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 36.435700 23.099000 m 35.725100 23.717182 l s
+[] 0 sd
+0 slj
+0 slc
+n 35.442176 23.963309 m 35.655323 23.446523 l 35.725100 23.717182 l 35.983493 23.823755 l ef
+n 35.442176 23.963309 m 35.655323 23.446523 l 35.725100 23.717182 l 35.983493 23.823755 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 36.471100 23.134400 m 41.723422 23.884111 l s
+[] 0 sd
+0 slj
+0 slc
+n 42.094659 23.937101 m 41.564350 24.113939 l 41.723422 23.884111 l 41.635003 23.618956 l ef
+n 42.094659 23.937101 m 41.564350 24.113939 l 41.723422 23.884111 l 41.635003 23.618956 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 41.175000 21.725000 m 43.329230 23.657279 l s
+[] 0 sd
+0 slj
+0 slc
+n 43.608386 23.907673 m 43.069249 23.759918 l 43.329230 23.657279 l 43.403108 23.387711 l ef
+n 43.608386 23.907673 m 43.069249 23.759918 l 43.329230 23.657279 l 43.403108 23.387711 l cp s
+0.050000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 36.481100 23.140800 m 44.421099 23.908529 l s
+[] 0 sd
+0 slj
+0 slc
+n 44.794358 23.944620 m 44.272618 24.145338 l 44.421099 23.908529 l 44.320739 23.647659 l ef
+n 44.794358 23.944620 m 44.272618 24.145338 l 44.421099 23.908529 l 44.320739 23.647659 l cp s
+showpage
diff --git a/BookGPU/Chapters/chapter8/figures/FlowShop-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/FlowShop-eps-converted-to.pdf
new file mode 100644 (file)
index 0000000..7a499c9
Binary files /dev/null and b/BookGPU/Chapters/chapter8/figures/FlowShop-eps-converted-to.pdf differ
diff --git a/BookGPU/Chapters/chapter8/figures/FlowShop.eps b/BookGPU/Chapters/chapter8/figures/FlowShop.eps
new file mode 100644 (file)
index 0000000..0636453
--- /dev/null
@@ -0,0 +1,205 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: Ex_flow_shop.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 1
+%%CreationDate: Tue Jun 12 13:33:45 2001
+%%For: basseur@gueuze (Matthieu.Basseur)
+%%Orientation: Portrait
+%%BoundingBox: 0 0 460 124
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+-90.0 258.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+%%EndProlog
+
+$F2psBegin
+10 setmiterlimit
+n -1000 5287 m -1000 -1000 l 10162 -1000 l 10162 5287 l cp clip
+ 0.06000 0.06000 sc
+% Polyline
+7.500 slw
+n 2175 2250 m 9150 2250 l 9150 2925 l 2175 2925 l cp gs col7 0.75 shd ef gr gs col0 s gr 
+% Polyline
+n 2175 3600 m 9150 3600 l 9150 4275 l 2175 4275 l cp gs col7 0.75 shd ef gr gs col0 s gr 
+% Polyline
+n 2175 2925 m 9150 2925 l 9150 3600 l 2175 3600 l cp gs col7 0.75 shd ef gr gs col0 s gr 
+% Polyline
+n 3225 2925 m 3675 2925 l 3675 3600 l 3225 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 3225 2250 m 3600 2250 l 3600 2925 l 3225 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 3600 2250 m 4288 2250 l 4288 2925 l 3600 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 4275 2250 m 4875 2250 l 4875 2925 l 4275 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 4875 2250 m 5250 2250 l 5250 2925 l 4875 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 3675 2925 m 4050 2925 l 4050 3600 l 3675 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 5250 2250 m 5850 2250 l 5850 2925 l 5250 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 4875 2925 m 5549 2925 l 5549 3600 l 4875 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 5550 3600 m 6000 3600 l 6000 4275 l 5550 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 3225 2925 m 3675 2925 l 3675 3600 l 3225 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 4275 2925 m 4725 2925 l 4725 3600 l 4275 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 3225 2925 m 3675 2925 l 3675 3600 l 3225 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 2175 2250 m 3225 2250 l 3225 2925 l 2175 2925 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 5550 2925 m 6550 2925 l 6550 3600 l 5550 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 6525 2925 m 6975 2925 l 6975 3600 l 6525 3600 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 3675 3600 m 4675 3600 l 4675 4275 l 3675 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 4650 3600 m 5025 3600 l 5025 4275 l 4650 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 5025 3600 m 5400 3600 l 5400 4275 l 5025 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 6525 3600 m 7175 3600 l 7175 4275 l 6525 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+% Polyline
+n 7125 3600 m 7825 3600 l 7825 4275 l 7125 4275 l cp gs col7 1.00 shd ef gr gs col0 s gr 
+/Times-Roman ff 270.00 scf sf
+1500 4050 m
+gs 1 -1 sc (M3) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+1500 3300 m
+gs 1 -1 sc (M2) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+1500 2625 m
+gs 1 -1 sc (M1) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+2400 2700 m
+gs 1 -1 sc (  J2 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+3225 3375 m
+gs 1 -1 sc (  J2) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+3150 2700 m
+gs 1 -1 sc (  J4 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+3675 2700 m
+gs 1 -1 sc (  J5 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+4275 2700 m
+gs 1 -1 sc (  J1 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+5250 2700 m
+gs 1 -1 sc (  J3 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+4800 2700 m
+gs 1 -1 sc (  J6) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+4275 3375 m
+gs 1 -1 sc (  J5 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+4950 3375 m
+gs 1 -1 sc (  J1 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+5550 4050 m
+gs 1 -1 sc (  J1 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+3600 3375 m
+gs 1 -1 sc (  J4) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+5850 3375 m
+gs 1 -1 sc (  J6 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+6525 3375 m
+gs 1 -1 sc (  J3 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+3825 4050 m
+gs 1 -1 sc (  J2) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+4575 4050 m
+gs 1 -1 sc (  J4 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+5025 4050 m
+gs 1 -1 sc (  J5 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+6600 4050 m
+gs 1 -1 sc (  J6 ) col0 sh gr
+/Times-Roman ff 270.00 scf sf
+7200 4050 m
+gs 1 -1 sc (  J3 ) col0 sh gr
+$F2psEnd
+rs
diff --git a/BookGPU/Chapters/chapter8/figures/approach-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/approach-eps-converted-to.pdf
new file mode 100644 (file)
index 0000000..3270509
Binary files /dev/null and b/BookGPU/Chapters/chapter8/figures/approach-eps-converted-to.pdf differ
diff --git a/BookGPU/Chapters/chapter8/figures/approach.eps b/BookGPU/Chapters/chapter8/figures/approach.eps
new file mode 100644 (file)
index 0000000..ef2eeff
--- /dev/null
@@ -0,0 +1,5442 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/imen/Bureau/Publications/BookGPU/Chapters/chapter8/figures/approach.dia
+%%Creator: Dia v0.97.1
+%%CreationDate: Thu Nov 15 15:36:11 2012
+%%For: imen
+%%Orientation: Portrait
+%%Magnification: 1.0000
+%%BoundingBox: 0 0 1115 707
+%%BeginSetup
+%%EndSetup
+%%EndComments
+%%BeginProlog
+[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E
+/F /G /H /I /J /K /L /M /N /O
+/P /Q /R /S /T /U /V /W /X /Y
+/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
+/d /e /f /g /h /i /j /k /l /m
+/n /o /p /q /r /s /t /u /v /w
+/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
+/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
+/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
+/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
+/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
+/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
+/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
+/cp {closepath} bind def
+/c {curveto} bind def
+/f {fill} bind def
+/a {arc} bind def
+/ef {eofill} bind def
+/ex {exch} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth pop} bind def
+/tr {translate} bind def
+
+/ellipsedict 8 dict def
+ellipsedict /mtrx matrix put
+/ellipse
+{ ellipsedict begin
+   /endangle exch def
+   /startangle exch def
+   /yrad exch def
+   /xrad exch def
+   /y exch def
+   /x exch def   /savematrix mtrx currentmatrix def
+   x y tr xrad yrad sc
+   0 0 1 startangle endangle arc
+   savematrix setmatrix
+   end
+} def
+
+/mergeprocs {
+dup length
+3 -1 roll
+dup
+length
+dup
+5 1 roll
+3 -1 roll
+add
+array cvx
+dup
+3 -1 roll
+0 exch
+putinterval
+dup
+4 2 roll
+putinterval
+} bind def
+/dpi_x 300 def
+/dpi_y 300 def
+/conicto {
+    /to_y exch def
+    /to_x exch def
+    /conic_cntrl_y exch def
+    /conic_cntrl_x exch def
+    currentpoint
+    /p0_y exch def
+    /p0_x exch def
+    /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
+    /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
+    /p2_x p1_x to_x p0_x sub 1 3 div mul add def
+    /p2_y p1_y to_y p0_y sub 1 3 div mul add def
+    p1_x p1_y p2_x p2_y to_x to_y curveto
+} bind def
+/start_ol { gsave 1.1 dpi_x div dup scale} bind def
+/end_ol { closepath fill grestore } bind def
+28.346000 -28.346000 scale
+10.575000 -28.450000 translate
+%%EndProlog
+
+
+0.010000 slw
+[] 0 sd
+0 slj
+1 slc
+0.000000 0.000000 0.000000 srgb
+n 6.288742 14.159671 m 6.383763 14.157616 l 6.359071 14.174208 6.340393 14.201590 6.333956 14.230634 c 6.320567 14.264968 6.311742 14.302414 6.305305 14.331458 c 6.309234 14.394322 6.330904 14.445882 6.365026 14.479188 c 6.396035 14.517057 6.451736 14.538334 6.535967 14.542293 c 6.611071 14.540026 6.670308 14.516905 6.714403 14.476769 c 6.763062 14.439745 6.780501 14.384770 6.780410 14.321181 c 6.783009 14.292862 6.776480 14.258317 6.763001 14.229061 c 6.746408 14.204369 6.729816 14.179677 6.702434 14.160999 c 6.779200 14.146492 l 6.804195 14.173572 6.822238 14.205940 6.827315 14.232808 c 6.840795 14.262064 6.848049 14.300447 6.847626 14.340281 c 6.838378 14.417561 6.814713 14.481664 6.772069 14.529477 c 6.722473 14.582579 6.644770 14.613165 6.550475 14.619059 c 6.447052 14.618727 6.366145 14.590287 6.312318 14.536853 c 6.251539 14.488708 6.223129 14.422520 6.228539 14.345966 c 6.232800 14.305406 6.240900 14.264122 6.254288 14.229788 c 6.272241 14.198568 6.283242 14.172637 6.288742 14.159671 c 6.288742 14.159671 l s
+n 6.556062 13.659934 m 6.825772 13.656668 l 6.824926 13.736336 l 6.555216 13.739601 l 6.526897 13.737002 6.500029 13.742080 6.478450 13.754109 c 6.461434 13.769250 6.450433 13.795182 6.443996 13.824226 c 6.451975 13.866447 6.470744 13.902654 6.495013 13.925896 c 6.510880 13.946750 6.540650 13.957025 6.580483 13.957448 c 6.834840 13.957084 l 6.831092 14.021399 l 6.212006 14.027083 l 6.215753 13.962769 l 6.454756 13.965307 l 6.430487 13.942065 6.413894 13.917373 6.409542 13.894343 c 6.398239 13.876603 6.385484 13.851185 6.379682 13.820479 c 6.381767 13.768404 6.402107 13.728782 6.436138 13.698499 c 6.463217 13.673504 6.504713 13.661687 6.556062 13.659934 c 6.556062 13.659934 l s
+n 6.386692 13.520999 m 6.390439 13.456685 l 6.834838 13.452210 l 6.831090 13.516525 l 6.386692 13.520999 l s
+n 6.212003 13.522209 m 6.215751 13.457895 l 6.326125 13.452938 l 6.322378 13.517252 l 6.212003 13.522209 l s
+n 6.209766 13.300010 m 6.213513 13.235696 l 6.832600 13.230011 l 6.828853 13.294325 l 6.209766 13.300010 l s
+n 6.444203 12.794560 m 6.205200 12.792023 l 6.206046 12.712355 l 6.825133 12.706671 l 6.824287 12.786338 l 6.759973 12.782591 l 6.784967 12.809671 6.805398 12.833637 6.820540 12.850653 c 6.832568 12.872232 6.845323 12.897649 6.850400 12.924517 c 6.849040 12.980430 6.830151 13.027729 6.796846 13.061851 c 6.751300 13.094310 6.693725 13.105191 6.627960 13.093767 c 6.557420 13.099147 6.499331 13.086272 6.462822 13.061369 c 6.417185 13.030239 6.393127 12.987081 6.390649 12.931894 c 6.385571 12.905026 6.392009 12.875981 6.406848 12.849325 c 6.414736 12.827957 6.427188 12.809702 6.444203 12.794560 c 6.444203 12.794560 l s
+n 6.616354 13.032354 m 6.660752 13.035890 6.702248 13.024072 6.736279 12.993789 c 6.763358 12.968794 6.781311 12.937574 6.783184 12.905417 c 6.783607 12.865583 6.770128 12.836327 6.735069 12.819100 c 6.703123 12.797310 6.660388 12.781533 6.615990 12.777998 c 6.556965 12.781201 6.515469 12.793019 6.496066 12.816563 c 6.471374 12.833155 6.453422 12.864375 6.449160 12.904935 c 6.447287 12.937092 6.457653 12.970911 6.481922 12.994153 c 6.510755 13.020507 6.557329 13.035558 6.616354 13.032354 c 6.616354 13.032354 l s
+n 6.397052 12.040196 m 6.461367 12.043943 l 6.458042 12.068424 6.453267 12.085228 6.454718 12.092904 c 6.449217 12.105870 6.445893 12.130351 6.450971 12.157219 c 6.449097 12.189376 6.455625 12.223921 6.468379 12.249338 c 6.472732 12.272368 6.485697 12.277869 6.504889 12.274242 c 6.516404 12.272066 6.531757 12.269164 6.550949 12.265538 c 6.561013 12.255685 6.571288 12.225915 6.582501 12.180067 c 6.576698 12.149360 l 6.590298 12.095110 6.603687 12.060777 6.620702 12.045635 c 6.640105 12.022091 6.666248 12.013175 6.694567 12.015775 c 6.736788 12.007796 6.768009 12.025748 6.798292 12.059779 c 6.823287 12.086858 6.835104 12.128354 6.836857 12.179703 c 6.842660 12.210410 6.840061 12.238729 6.836011 12.259371 c 6.828849 12.284577 6.819298 12.318185 6.807360 12.360195 c 6.727693 12.359349 l 6.743469 12.316614 6.756858 12.282280 6.771697 12.255624 c 6.779585 12.234256 6.778346 12.206662 6.772543 12.175956 c 6.778980 12.146912 6.774628 12.123882 6.760937 12.114543 c 6.749634 12.096802 6.735942 12.087463 6.724428 12.089639 c 6.703785 12.085590 6.688432 12.088491 6.678368 12.098344 c 6.661352 12.113485 6.647238 12.143980 6.631462 12.186716 c 6.621912 12.220324 l 6.622214 12.263996 6.612664 12.297604 6.593261 12.321148 c 6.576245 12.336289 6.549377 12.341367 6.516495 12.335655 c 6.478112 12.342909 6.448342 12.332633 6.431024 12.304103 c 6.404579 12.269346 6.392762 12.227850 6.392459 12.184178 c 6.387382 12.157310 6.389981 12.128991 6.393305 12.104510 c 6.389678 12.085319 6.393728 12.064677 6.397052 12.040196 c 6.397052 12.040196 l s
+n 6.658903 11.911203 m 6.389194 11.914468 l 6.390040 11.834801 l 6.659749 11.831536 l 6.704147 11.835072 6.734853 11.829269 6.751869 11.814127 c 6.771272 11.790583 6.781548 11.760813 6.783421 11.728656 c 6.783844 11.688822 6.774203 11.658841 6.750659 11.639438 c 6.720164 11.625324 6.678880 11.617225 6.634482 11.613689 c 6.380126 11.614052 l 6.380972 11.534385 l 6.825370 11.529910 l 6.824524 11.609578 l 6.760210 11.605830 l 6.785204 11.632910 6.805635 11.656877 6.820777 11.673892 c 6.832805 11.695471 6.845560 11.720889 6.850637 11.747757 c 6.849277 11.803669 6.828937 11.843292 6.794181 11.869737 c 6.760150 11.900020 6.714816 11.912563 6.658903 11.911203 c 6.658903 11.911203 l s
+n 6.385083 11.724427 m 6.385083 11.724427 l s
+n 6.627952 11.074270 m 6.568926 11.077473 6.519754 11.090742 6.492674 11.115736 c 6.467982 11.132329 6.449304 11.159711 6.442867 11.188755 c 6.450846 11.230976 6.469615 11.267183 6.493884 11.290425 c 6.521266 11.309102 6.566389 11.316477 6.625414 11.313273 c 6.669812 11.316809 6.712033 11.308830 6.748240 11.290061 c 6.775320 11.265066 6.784870 11.231458 6.776891 11.189237 c 6.779490 11.160918 6.770574 11.134775 6.747030 11.115372 c 6.715085 11.093582 6.672349 11.077806 6.627952 11.074270 c 6.627952 11.074270 l s
+n 6.453627 11.329836 m 6.430808 11.314271 6.415667 11.297255 6.411314 11.274226 c 6.398560 11.248808 6.384355 11.215714 6.378552 11.185008 c 6.380638 11.132933 6.404816 11.092586 6.450362 11.060126 c 6.487505 11.025279 6.542904 11.002883 6.613444 10.997503 c 6.679210 11.008927 6.734911 11.030204 6.769032 11.063510 c 6.813218 11.086962 6.836551 11.126282 6.838304 11.177631 c 6.844107 11.208338 6.839120 11.245059 6.825006 11.275554 c 6.806328 11.302936 6.792426 11.313514 6.769396 11.317866 c 6.833711 11.321613 l 6.829963 11.385928 l 6.210876 11.391612 l 6.214624 11.327298 l 6.453627 11.329836 l s
+n 6.768669 10.809153 m 6.992318 10.814593 l 6.988571 10.878907 l 6.384838 10.881690 l 6.388585 10.817376 l 6.452899 10.821123 l 6.430081 10.805558 6.414939 10.788543 6.410587 10.765513 c 6.397833 10.740095 6.383628 10.707001 6.377825 10.676295 c 6.379910 10.624221 6.404088 10.583873 6.449634 10.551413 c 6.486778 10.516566 6.542177 10.494171 6.612717 10.488791 c 6.678482 10.500215 6.734183 10.521491 6.768305 10.554797 c 6.812491 10.578250 6.835823 10.617570 6.837576 10.668919 c 6.843379 10.699625 6.838393 10.736346 6.824279 10.766841 c 6.805601 10.794223 6.791699 10.804801 6.768669 10.809153 c 6.768669 10.809153 l s
+n 6.627224 10.565557 m 6.568199 10.568761 6.519026 10.582029 6.491947 10.607023 c 6.467254 10.623616 6.448577 10.650998 6.442139 10.680042 c 6.450118 10.722264 6.468887 10.758471 6.493156 10.781712 c 6.520538 10.800390 6.565661 10.807764 6.624687 10.804560 c 6.669084 10.808096 6.711305 10.800117 6.747512 10.781348 c 6.774592 10.756354 6.784142 10.722746 6.776163 10.680524 c 6.778762 10.652206 6.769847 10.626063 6.746303 10.606660 c 6.714357 10.584869 6.671622 10.569093 6.627224 10.565557 c 6.627224 10.565557 l s
+n 6.451688 10.141560 m 6.451688 10.141560 6.453138 10.149237 6.454589 10.156913 c 6.446912 10.158364 6.440687 10.167491 6.442137 10.175168 c 6.450116 10.217389 6.468885 10.253596 6.493154 10.276838 c 6.520536 10.295515 6.557982 10.304340 6.609331 10.302587 c 6.832981 10.308026 l 6.829234 10.372341 l 6.384835 10.376816 l 6.388583 10.312501 l 6.452897 10.316249 l 6.430079 10.300684 6.414937 10.283668 6.410585 10.260639 c 6.397831 10.235221 6.383626 10.202127 6.377823 10.171421 c 6.387887 10.161568 6.390275 10.153166 6.390275 10.153166 c 6.388824 10.145489 6.387373 10.137813 6.387373 10.137813 c 6.451688 10.141560 l s
+n 6.446246 9.860336 m 6.446549 9.904008 6.457641 9.941665 6.481910 9.964907 c 6.509292 9.983584 6.554415 9.990959 6.613440 9.987755 c 6.657838 9.991291 6.700059 9.983312 6.736266 9.964543 c 6.763346 9.939549 6.780573 9.904490 6.780270 9.860818 c 6.782869 9.832499 6.768664 9.799405 6.732155 9.774501 c 6.700209 9.752711 6.657474 9.736934 6.613076 9.733398 c 6.554051 9.736602 6.512555 9.748420 6.493152 9.771963 c 6.470636 9.800071 6.452684 9.831291 6.446246 9.860336 c 6.446246 9.860336 l s
+n 6.384833 9.871941 m 6.386919 9.819867 6.409646 9.771843 6.453741 9.731707 c 6.490885 9.696859 6.546284 9.674464 6.616824 9.669084 c 6.682589 9.680508 6.738290 9.701785 6.772412 9.735090 c 6.818774 9.770058 6.842832 9.813216 6.844585 9.864565 c 6.846852 9.939669 6.830139 9.998483 6.796833 10.032605 c 6.751287 10.065064 6.693713 10.075945 6.627948 10.064521 c 6.557407 10.069901 6.499319 10.057026 6.462809 10.032123 c 6.417172 10.000993 6.390939 9.946320 6.384833 9.871941 c 6.384833 9.871941 l s
+n 6.627491 9.241701 m 6.568465 9.244905 6.519293 9.258173 6.492213 9.283168 c 6.467521 9.299760 6.448843 9.327142 6.442406 9.356187 c 6.450385 9.398408 6.469154 9.434615 6.493423 9.457856 c 6.520805 9.476534 6.565928 9.483908 6.624953 9.480704 c 6.669351 9.484240 6.711572 9.476261 6.747779 9.457493 c 6.774859 9.432498 6.784409 9.398890 6.776430 9.356669 c 6.779029 9.328350 6.770113 9.302207 6.746569 9.282804 c 6.714624 9.261013 6.671888 9.245237 6.627491 9.241701 c 6.627491 9.241701 l s
+n 6.453166 9.497267 m 6.430348 9.481703 6.415206 9.464687 6.410854 9.441657 c 6.398099 9.416240 6.383894 9.383146 6.378092 9.352439 c 6.380177 9.300365 6.404355 9.260017 6.449901 9.227558 c 6.487045 9.192710 6.542443 9.170315 6.612983 9.164935 c 6.678749 9.176359 6.734450 9.197636 6.768571 9.230941 c 6.812758 9.254394 6.836090 9.293714 6.837843 9.345063 c 6.843646 9.375769 6.838659 9.412490 6.824545 9.442985 c 6.805868 9.470367 6.791965 9.480945 6.768935 9.485298 c 6.833250 9.489045 l 6.829502 9.553359 l 6.210415 9.559044 l 6.214163 9.494729 l 6.453166 9.497267 l s
+n 6.209688 9.050331 m 6.213435 8.986017 l 6.832522 8.980332 l 6.828775 9.044647 l 6.209688 9.050331 l s
+n 6.586052 8.454454 m 6.619660 8.464004 l 6.616276 8.782675 l 6.672189 8.784035 6.713685 8.772218 6.736201 8.744110 c 6.761830 8.711439 6.777606 8.668704 6.777303 8.625032 c 6.779902 8.596713 6.774825 8.569845 6.762796 8.548265 c 6.757718 8.521397 6.747352 8.487578 6.730034 8.459047 c 6.794348 8.462795 l 6.819343 8.489874 6.837386 8.522243 6.842464 8.549111 c 6.846816 8.572141 6.844217 8.600460 6.841618 8.628779 c 6.843885 8.703883 6.827172 8.762697 6.793866 8.796819 c 6.749771 8.836955 6.693647 8.855512 6.627882 8.844088 c 6.557342 8.849468 6.498528 8.832755 6.459842 8.796337 c 6.414206 8.765207 6.387972 8.710534 6.381866 8.636155 c 6.383952 8.584081 6.404291 8.544459 6.438322 8.514175 c 6.475466 8.479328 6.527026 8.457658 6.586052 8.454454 c 6.586052 8.454454 l s
+n 6.551598 8.524572 m 6.523279 8.521972 6.497136 8.530888 6.477733 8.554432 c 6.460718 8.569574 6.449717 8.595505 6.443279 8.624549 c 6.443582 8.668222 6.454674 8.705879 6.478943 8.729121 c 6.496261 8.757651 6.523643 8.776329 6.551962 8.778928 c 6.551598 8.524572 l s
+n 6.479816 7.997484 m 6.447871 7.975693 6.419763 7.953177 6.403896 7.932323 c 6.392593 7.914582 6.386790 7.883876 6.386487 7.840204 c 6.390749 7.799645 6.407975 7.764586 6.430491 7.736478 c 6.457571 7.711484 6.499067 7.699667 6.550416 7.697914 c 6.820125 7.694648 l 6.834633 7.771415 l 6.564923 7.774680 l 6.536604 7.772081 6.509736 7.777158 6.488157 7.789187 c 6.461289 7.794265 6.445724 7.817083 6.450802 7.843951 c 6.451104 7.887623 6.462196 7.925281 6.486465 7.948522 c 6.502332 7.969376 6.532102 7.979652 6.571936 7.980075 c 6.826292 7.979711 l 6.825446 8.059379 l 6.555737 8.062644 l 6.527418 8.060045 6.500550 8.065123 6.478970 8.077151 c 6.459779 8.080778 6.448052 8.102871 6.441615 8.131915 c 6.449594 8.174137 6.468363 8.210344 6.492632 8.233585 c 6.508499 8.254439 6.538269 8.264715 6.578102 8.265138 c 6.832459 8.264774 l 6.828711 8.329088 l 6.384313 8.333563 l 6.388061 8.269249 l 6.452375 8.272996 l 6.428106 8.249755 6.411513 8.225063 6.407161 8.202033 c 6.395858 8.184292 6.383104 8.158875 6.377301 8.128168 c 6.383738 8.099124 6.394014 8.069354 6.408853 8.042697 c 6.428256 8.019154 6.452948 8.002561 6.479816 7.997484 c 6.479816 7.997484 l s
+n 6.396247 7.281805 m 6.460561 7.285552 l 6.457237 7.310033 6.452462 7.326837 6.453913 7.334513 c 6.448412 7.347479 6.445088 7.371959 6.450165 7.398828 c 6.448291 7.430985 6.454820 7.465530 6.467574 7.490947 c 6.471926 7.513977 6.484892 7.519478 6.504083 7.515851 c 6.515598 7.513675 6.530952 7.510773 6.550143 7.507146 c 6.560207 7.497294 6.570483 7.467524 6.581696 7.421676 c 6.575893 7.390969 l 6.589493 7.336719 6.602881 7.302386 6.619897 7.287244 c 6.639300 7.263700 6.665443 7.254784 6.693762 7.257383 c 6.735983 7.249404 6.767203 7.267357 6.797487 7.301387 c 6.822481 7.328467 6.834299 7.369963 6.836052 7.421312 c 6.841855 7.452018 6.839256 7.480337 6.835206 7.500980 c 6.828043 7.526186 6.818493 7.559794 6.806555 7.601803 c 6.726887 7.600958 l 6.742663 7.558222 6.756052 7.523889 6.770891 7.497232 c 6.778780 7.475865 6.777540 7.448271 6.771737 7.417565 c 6.778175 7.388520 6.773823 7.365490 6.760132 7.356152 c 6.748828 7.338411 6.735137 7.329072 6.723622 7.331248 c 6.702980 7.327198 6.687627 7.330100 6.677562 7.339952 c 6.660547 7.355094 6.646433 7.385589 6.630657 7.428325 c 6.621106 7.461932 l 6.621409 7.505605 6.611859 7.539213 6.592455 7.562756 c 6.575440 7.577898 6.548572 7.582976 6.515689 7.577264 c 6.477306 7.584517 6.447536 7.574242 6.430219 7.545711 c 6.403773 7.510955 6.391956 7.469459 6.391654 7.425787 c 6.386576 7.398919 6.389175 7.370600 6.392500 7.346119 c 6.388873 7.326928 6.392923 7.306285 6.396247 7.281805 c 6.396247 7.281805 l s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+n 5.915000 6.605000 m 5.915000 15.150000 l 7.425000 15.150000 l 7.425000 6.605000 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+n -2.010000 6.555000 m -2.010000 15.100000 l -0.500000 15.100000 l -0.500000 6.555000 l cp s
+0.010000 slw
+[] 0 sd
+0 slj
+1 slc
+n -1.683132 14.772622 m -1.682650 14.438598 l -1.602982 14.439444 l -1.602618 14.693801 l -1.443283 14.695492 l -1.437844 14.471843 l -1.358176 14.472689 l -1.363615 14.696338 l -1.093906 14.693073 l -1.094752 14.772741 l -1.683132 14.772622 l s
+n -1.322212 14.116058 m -1.319734 14.171245 -1.311755 14.213466 -1.299000 14.238884 c -1.283133 14.259737 -1.266329 14.264513 -1.247138 14.260886 c -1.214255 14.266598 -1.187387 14.261520 -1.170371 14.246378 c -1.150968 14.222835 -1.139242 14.200742 -1.135918 14.176261 c -1.143171 14.137878 -1.158102 14.100946 -1.186934 14.074591 c -1.218880 14.052801 -1.260890 14.040863 -1.303111 14.048842 c -1.321366 14.036390 l -1.322212 14.116058 l s
+n -1.348325 13.977878 m -1.093969 13.977515 l -1.097716 14.041829 l -1.162031 14.038082 l -1.137036 14.065161 -1.116606 14.089128 -1.101464 14.106144 c -1.089435 14.127723 -1.084357 14.154591 -1.086956 14.182910 c -1.088316 14.238822 -1.097141 14.276269 -1.112706 14.299087 c -1.135222 14.327194 -1.172154 14.342125 -1.214376 14.350104 c -1.265724 14.351857 -1.300783 14.334630 -1.318101 14.306100 c -1.344546 14.271343 -1.359265 14.214494 -1.365370 14.140115 c -1.367426 14.045094 l -1.382779 14.047996 l -1.411098 14.045397 -1.437241 14.054313 -1.456644 14.077856 c -1.471483 14.104513 -1.477921 14.133557 -1.472843 14.160426 c -1.476168 14.184906 -1.478767 14.213225 -1.473689 14.240093 c -1.475563 14.272250 -1.466647 14.298393 -1.443828 14.313958 c -1.508143 14.310211 l -1.532412 14.286969 -1.541328 14.260826 -1.538003 14.236346 c -1.543081 14.209478 -1.539757 14.184997 -1.534256 14.172031 c -1.533622 14.112281 -1.514732 14.064982 -1.480702 14.034698 c -1.455073 14.002027 -1.407351 13.981082 -1.348325 13.977878 c -1.348325 13.977878 l s
+n -1.649317 13.752507 m -1.536041 13.762903 l -1.534349 13.603568 l -1.472936 13.591962 l -1.474628 13.751298 l -1.235625 13.753835 l -1.202742 13.759547 -1.179712 13.755195 -1.174212 13.742229 c -1.164148 13.732377 -1.156985 13.707171 -1.155111 13.675014 c -1.154265 13.595346 l -1.089951 13.599093 l -1.090797 13.678761 l -1.092157 13.734673 -1.100982 13.772120 -1.116546 13.794938 c -1.141238 13.811531 -1.183460 13.819510 -1.239372 13.818150 c -1.478375 13.815612 l -1.485024 13.864573 l -1.546437 13.876179 l -1.539788 13.827218 l -1.653064 13.816822 l -1.649317 13.752507 l s
+n -1.370150 13.147171 m -1.100440 13.143905 l -1.101286 13.223573 l -1.370996 13.226838 l -1.399315 13.224239 -1.426183 13.229317 -1.447762 13.241346 c -1.464777 13.256487 -1.475778 13.282419 -1.482216 13.311463 c -1.474237 13.353684 -1.455468 13.389891 -1.431199 13.413133 c -1.415332 13.433987 -1.385562 13.444262 -1.345728 13.444685 c -1.091372 13.444322 l -1.095119 13.508636 l -1.714206 13.514320 l -1.710459 13.450006 l -1.471456 13.452544 l -1.495725 13.429302 -1.512317 13.404610 -1.516670 13.381580 c -1.527973 13.363840 -1.540727 13.338422 -1.546530 13.307716 c -1.544445 13.255642 -1.524105 13.216019 -1.490074 13.185736 c -1.462995 13.160741 -1.421498 13.148924 -1.370150 13.147171 c -1.370150 13.147171 l s
+n -1.340171 12.632655 m -1.306563 12.642205 l -1.309946 12.960876 l -1.254034 12.962236 -1.212538 12.950419 -1.190022 12.922311 c -1.164393 12.889640 -1.148617 12.846905 -1.148919 12.803233 c -1.146320 12.774914 -1.151398 12.748046 -1.163426 12.726466 c -1.168504 12.699598 -1.178871 12.665779 -1.196189 12.637248 c -1.131874 12.640996 l -1.106880 12.668075 -1.088836 12.700444 -1.083759 12.727312 c -1.079407 12.750342 -1.082006 12.778661 -1.084605 12.806980 c -1.082338 12.882084 -1.099051 12.940898 -1.132356 12.975020 c -1.176451 13.015156 -1.232575 13.033713 -1.298341 13.022289 c -1.368881 13.027669 -1.427695 13.010956 -1.466380 12.974538 c -1.512017 12.943408 -1.538251 12.888735 -1.544356 12.814356 c -1.542271 12.762282 -1.521931 12.722660 -1.487900 12.692376 c -1.450756 12.657529 -1.399196 12.635859 -1.340171 12.632655 c -1.340171 12.632655 l s
+n -1.374625 12.702772 m -1.402943 12.700173 -1.429086 12.709089 -1.448489 12.732633 c -1.465505 12.747775 -1.476506 12.773706 -1.482943 12.802750 c -1.482641 12.846423 -1.471549 12.884080 -1.447280 12.907322 c -1.429962 12.935852 -1.402580 12.954530 -1.374261 12.957129 c -1.374625 12.702772 l s
+n -1.470493 12.279621 m -1.470493 12.279621 -1.469043 12.287298 -1.467592 12.294975 c -1.475269 12.296425 -1.481495 12.305553 -1.480044 12.313229 c -1.472065 12.355451 -1.453296 12.391658 -1.429027 12.414899 c -1.401645 12.433577 -1.364199 12.442402 -1.312850 12.440649 c -1.089200 12.446088 l -1.092947 12.510402 l -1.537346 12.514877 l -1.533598 12.450563 l -1.469284 12.454310 l -1.492102 12.438745 -1.507244 12.421730 -1.511596 12.398700 c -1.524350 12.373283 -1.538555 12.340188 -1.544358 12.309482 c -1.534294 12.299629 -1.531906 12.291227 -1.531906 12.291227 c -1.533357 12.283551 -1.534808 12.275874 -1.534808 12.275874 c -1.470493 12.279621 l s
+n -1.528252 11.658449 m -1.463938 11.662197 l -1.467262 11.686677 -1.472037 11.703481 -1.470586 11.711158 c -1.476087 11.724124 -1.479411 11.748604 -1.474334 11.775472 c -1.476208 11.807630 -1.469679 11.842174 -1.456925 11.867592 c -1.452573 11.890622 -1.439607 11.896122 -1.420416 11.892495 c -1.408901 11.890319 -1.393547 11.887418 -1.374356 11.883791 c -1.364292 11.873938 -1.354016 11.844169 -1.342804 11.798320 c -1.348606 11.767614 l -1.335006 11.713364 -1.321618 11.679030 -1.304602 11.663889 c -1.285199 11.640345 -1.259056 11.631429 -1.230738 11.634028 c -1.188516 11.626049 -1.157296 11.644001 -1.127012 11.678032 c -1.102018 11.705112 -1.090200 11.746608 -1.088447 11.797957 c -1.082644 11.828663 -1.085243 11.856982 -1.089293 11.877624 c -1.096456 11.902830 -1.106006 11.936438 -1.117944 11.978448 c -1.197612 11.977602 l -1.181836 11.934867 -1.168447 11.900534 -1.153608 11.873877 c -1.145719 11.852509 -1.146959 11.824916 -1.152762 11.794209 c -1.146324 11.765165 -1.150676 11.742135 -1.164368 11.732796 c -1.175671 11.715056 -1.189362 11.705717 -1.200877 11.707893 c -1.221519 11.703843 -1.236872 11.706745 -1.246937 11.716597 c -1.263952 11.731739 -1.278066 11.762234 -1.293842 11.804969 c -1.303393 11.838577 l -1.303090 11.882249 -1.312641 11.915857 -1.332044 11.939401 c -1.349059 11.954543 -1.375927 11.959620 -1.408810 11.953908 c -1.447193 11.961162 -1.476963 11.950886 -1.494280 11.922356 c -1.520726 11.887600 -1.532543 11.846104 -1.532845 11.802432 c -1.537923 11.775563 -1.535324 11.747244 -1.531999 11.722764 c -1.535626 11.703572 -1.531577 11.682930 -1.528252 11.658449 c -1.528252 11.658449 l s
+n -1.267126 11.525619 m -1.536836 11.528884 l -1.535990 11.449216 l -1.266280 11.445951 l -1.221883 11.449487 -1.191176 11.443684 -1.174161 11.428542 c -1.154758 11.404998 -1.144482 11.375229 -1.142609 11.343071 c -1.142186 11.303238 -1.151827 11.273256 -1.175371 11.253853 c -1.205866 11.239739 -1.247150 11.231640 -1.291548 11.228104 c -1.545904 11.228468 l -1.545058 11.148800 l -1.100660 11.144325 l -1.101506 11.223993 l -1.165820 11.220245 l -1.140826 11.247325 -1.120395 11.271292 -1.105253 11.288307 c -1.093224 11.309886 -1.080470 11.335304 -1.075393 11.362172 c -1.076752 11.418084 -1.097092 11.457707 -1.131849 11.484152 c -1.165880 11.514436 -1.211214 11.526978 -1.267126 11.525619 c -1.267126 11.525619 l s
+n -1.540947 11.338842 m -1.540947 11.338842 l s
+n -1.297353 10.692523 m -1.356378 10.695727 -1.405551 10.708995 -1.432631 10.733990 c -1.457323 10.750582 -1.476000 10.777964 -1.482438 10.807008 c -1.474459 10.849230 -1.455690 10.885437 -1.431421 10.908678 c -1.404039 10.927356 -1.358916 10.934730 -1.299891 10.931526 c -1.255493 10.935062 -1.213272 10.927083 -1.177065 10.908314 c -1.149985 10.883320 -1.140435 10.849712 -1.148414 10.807491 c -1.145815 10.779172 -1.154730 10.753029 -1.178274 10.733626 c -1.210220 10.711835 -1.252955 10.696059 -1.297353 10.692523 c -1.297353 10.692523 l s
+n -1.471678 10.948089 m -1.494496 10.932524 -1.509638 10.915509 -1.513990 10.892479 c -1.526744 10.867062 -1.540949 10.833968 -1.546752 10.803261 c -1.544667 10.751187 -1.520489 10.710839 -1.474943 10.678380 c -1.437799 10.643532 -1.382400 10.621137 -1.311860 10.615757 c -1.246095 10.627181 -1.190394 10.648458 -1.156272 10.681763 c -1.112086 10.705216 -1.088754 10.744536 -1.087001 10.795885 c -1.081198 10.826591 -1.086184 10.863312 -1.100298 10.893807 c -1.118976 10.921189 -1.132879 10.931767 -1.155908 10.936119 c -1.091594 10.939867 l -1.095341 11.004181 l -1.714428 11.009866 l -1.710681 10.945551 l -1.471678 10.948089 l s
+n -1.156636 10.427407 m -0.932986 10.432846 l -0.936733 10.497161 l -1.540467 10.499944 l -1.536720 10.435629 l -1.472405 10.439376 l -1.495224 10.423812 -1.510365 10.406796 -1.514717 10.383766 c -1.527472 10.358349 -1.541677 10.325255 -1.547480 10.294548 c -1.545394 10.242474 -1.521216 10.202127 -1.475670 10.169667 c -1.438526 10.134820 -1.383128 10.112424 -1.312588 10.107044 c -1.246822 10.118468 -1.191121 10.139745 -1.157000 10.173051 c -1.112814 10.196503 -1.089481 10.235823 -1.087728 10.287172 c -1.081925 10.317879 -1.086912 10.354600 -1.101026 10.385095 c -1.119703 10.412477 -1.133606 10.423055 -1.156636 10.427407 c -1.156636 10.427407 l s
+n -1.298080 10.183811 m -1.357106 10.187014 -1.406278 10.200282 -1.433358 10.225277 c -1.458050 10.241869 -1.476728 10.269252 -1.483165 10.298296 c -1.475186 10.340517 -1.456417 10.376724 -1.432148 10.399966 c -1.404766 10.418643 -1.359643 10.426017 -1.300618 10.422814 c -1.256220 10.426349 -1.213999 10.418370 -1.177792 10.399602 c -1.150712 10.374607 -1.141162 10.340999 -1.149141 10.298778 c -1.146542 10.270459 -1.155458 10.244316 -1.179002 10.224913 c -1.210947 10.203123 -1.253683 10.187346 -1.298080 10.183811 c -1.298080 10.183811 l s
+n -1.470504 9.755250 m -1.470504 9.755250 -1.469053 9.762926 -1.467602 9.770603 c -1.475279 9.772054 -1.481505 9.781181 -1.480054 9.788858 c -1.472075 9.831079 -1.453307 9.867286 -1.429037 9.890528 c -1.401655 9.909205 -1.364209 9.918030 -1.312860 9.916277 c -1.089211 9.921716 l -1.092958 9.986031 l -1.537356 9.990506 l -1.533609 9.926191 l -1.469294 9.929938 l -1.492113 9.914374 -1.507254 9.897358 -1.511607 9.874328 c -1.524361 9.848911 -1.538566 9.815817 -1.544369 9.785110 c -1.534304 9.775258 -1.531917 9.766856 -1.531917 9.766856 c -1.533368 9.759179 -1.534818 9.751502 -1.534818 9.751502 c -1.470504 9.755250 l s
+n -1.479784 9.474751 m -1.479481 9.518423 -1.468389 9.556081 -1.444120 9.579322 c -1.416738 9.598000 -1.371615 9.605374 -1.312590 9.602170 c -1.268192 9.605706 -1.225971 9.597727 -1.189764 9.578958 c -1.162684 9.553964 -1.145457 9.518905 -1.145760 9.475233 c -1.143160 9.446914 -1.157365 9.413820 -1.193875 9.388916 c -1.225821 9.367126 -1.268556 9.351350 -1.312953 9.347814 c -1.371979 9.351018 -1.413475 9.362835 -1.432878 9.386379 c -1.455394 9.414486 -1.473346 9.445706 -1.479784 9.474751 c -1.479784 9.474751 l s
+n -1.541196 9.486357 m -1.539111 9.434282 -1.516384 9.386258 -1.472289 9.346122 c -1.435145 9.311275 -1.379746 9.288879 -1.309206 9.283499 c -1.243441 9.294923 -1.187740 9.316200 -1.153618 9.349505 c -1.107256 9.384473 -1.083198 9.427632 -1.081445 9.478980 c -1.079178 9.554084 -1.095891 9.612898 -1.129197 9.647020 c -1.174742 9.679480 -1.232317 9.690360 -1.298082 9.678936 c -1.368623 9.684316 -1.426711 9.671441 -1.463221 9.646538 c -1.508857 9.615408 -1.535091 9.560735 -1.541196 9.486357 c -1.541196 9.486357 l s
+n -1.298539 8.856116 m -1.357564 8.859320 -1.406737 8.872588 -1.433817 8.897583 c -1.458509 8.914175 -1.477187 8.941558 -1.483624 8.970602 c -1.475645 9.012823 -1.456876 9.049030 -1.432607 9.072272 c -1.405225 9.090949 -1.360102 9.098323 -1.301077 9.095120 c -1.256679 9.098655 -1.214458 9.090676 -1.178251 9.071908 c -1.151171 9.046913 -1.141621 9.013305 -1.149600 8.971084 c -1.147001 8.942765 -1.155917 8.916622 -1.179460 8.897219 c -1.211406 8.875429 -1.254142 8.859652 -1.298539 8.856116 c -1.298539 8.856116 l s
+n -1.472864 9.111682 m -1.495682 9.096118 -1.510824 9.079102 -1.515176 9.056072 c -1.527931 9.030655 -1.542135 8.997561 -1.547938 8.966854 c -1.545853 8.914780 -1.521675 8.874433 -1.476129 8.841973 c -1.438985 8.807126 -1.383587 8.784730 -1.313046 8.779350 c -1.247281 8.790774 -1.191580 8.812051 -1.157458 8.845357 c -1.113272 8.868809 -1.089940 8.908129 -1.088187 8.959478 c -1.082384 8.990185 -1.087371 9.026905 -1.101485 9.057401 c -1.120162 9.084783 -1.134065 9.095361 -1.157095 9.099713 c -1.092780 9.103460 l -1.096528 9.167775 l -1.715614 9.173459 l -1.711867 9.109145 l -1.472864 9.111682 l s
+n -1.711778 8.667859 m -1.708031 8.603545 l -1.088944 8.597861 l -1.092691 8.662175 l -1.711778 8.667859 l s
+n -1.339253 8.072708 m -1.305645 8.082258 l -1.309028 8.400929 l -1.253116 8.402289 -1.211620 8.390471 -1.189104 8.362364 c -1.163475 8.329693 -1.147699 8.286957 -1.148001 8.243285 c -1.145402 8.214966 -1.150480 8.188098 -1.162508 8.166519 c -1.167586 8.139651 -1.177953 8.105831 -1.195270 8.077301 c -1.130956 8.081048 l -1.105962 8.108128 -1.087918 8.140497 -1.082841 8.167365 c -1.078489 8.190395 -1.081088 8.218714 -1.083687 8.247033 c -1.081420 8.322137 -1.098133 8.380951 -1.131438 8.415072 c -1.175533 8.455209 -1.231657 8.473766 -1.297422 8.462342 c -1.367963 8.467722 -1.426777 8.451009 -1.465462 8.414590 c -1.511099 8.383461 -1.537333 8.328788 -1.543438 8.254409 c -1.541353 8.202335 -1.521013 8.162712 -1.486982 8.132429 c -1.449838 8.097582 -1.398278 8.075912 -1.339253 8.072708 c -1.339253 8.072708 l s
+n -1.373706 8.142825 m -1.402025 8.140226 -1.428168 8.149142 -1.447571 8.172686 c -1.464587 8.187827 -1.475588 8.213759 -1.482025 8.242803 c -1.481723 8.286475 -1.470631 8.324133 -1.446362 8.347374 c -1.429044 8.375905 -1.401662 8.394582 -1.373343 8.397181 c -1.373706 8.142825 l s
+n -1.441650 7.615012 m -1.473596 7.593221 -1.501703 7.570705 -1.517570 7.549851 c -1.528874 7.532111 -1.534677 7.501404 -1.534979 7.457732 c -1.530718 7.417173 -1.513491 7.382114 -1.490975 7.354007 c -1.463895 7.329012 -1.422399 7.317195 -1.371050 7.315442 c -1.101341 7.312176 l -1.086833 7.388943 l -1.356543 7.392208 l -1.384862 7.389609 -1.411730 7.394686 -1.433309 7.406715 c -1.460177 7.411793 -1.475742 7.434611 -1.470665 7.461479 c -1.470362 7.505152 -1.459270 7.542809 -1.435001 7.566051 c -1.419134 7.586904 -1.389364 7.597180 -1.349530 7.597603 c -1.095174 7.597239 l -1.096020 7.676907 l -1.365730 7.680172 l -1.394048 7.677573 -1.420917 7.682651 -1.442496 7.694680 c -1.461687 7.698306 -1.473414 7.720399 -1.479851 7.749444 c -1.471872 7.791665 -1.453103 7.827872 -1.428834 7.851113 c -1.412967 7.871967 -1.383198 7.882243 -1.343364 7.882666 c -1.089007 7.882302 l -1.092755 7.946617 l -1.537153 7.951091 l -1.533406 7.886777 l -1.469091 7.890524 l -1.493360 7.867283 -1.509953 7.842591 -1.514305 7.819561 c -1.525608 7.801820 -1.538363 7.776403 -1.544166 7.745696 c -1.537728 7.716652 -1.527452 7.686882 -1.512613 7.660226 c -1.493210 7.636682 -1.468518 7.620089 -1.441650 7.615012 c -1.441650 7.615012 l s
+n -1.525219 6.899333 m -1.460905 6.903080 l -1.464229 6.927561 -1.469004 6.944365 -1.467554 6.952041 c -1.473054 6.965007 -1.476379 6.989488 -1.471301 7.016356 c -1.473175 7.048513 -1.466646 7.083058 -1.453892 7.108475 c -1.449540 7.131505 -1.436574 7.137006 -1.417383 7.133379 c -1.405868 7.131203 -1.390515 7.128301 -1.371323 7.124674 c -1.361259 7.114822 -1.350983 7.085052 -1.339771 7.039204 c -1.345574 7.008497 l -1.331973 6.954247 -1.318585 6.919914 -1.301569 6.904772 c -1.282166 6.881228 -1.256024 6.872312 -1.227705 6.874911 c -1.185483 6.866932 -1.154263 6.884885 -1.123979 6.918916 c -1.098985 6.945995 -1.087168 6.987491 -1.085414 7.038840 c -1.079611 7.069547 -1.082210 7.097865 -1.086260 7.118508 c -1.093423 7.143714 -1.102973 7.177322 -1.114911 7.219332 c -1.194579 7.218486 l -1.178803 7.175750 -1.165414 7.141417 -1.150575 7.114760 c -1.142687 7.093393 -1.143926 7.065799 -1.149729 7.035093 c -1.143291 7.006048 -1.147644 6.983019 -1.161335 6.973680 c -1.172638 6.955939 -1.186329 6.946600 -1.197844 6.948776 c -1.218486 6.944726 -1.233840 6.947628 -1.243904 6.957481 c -1.260919 6.972622 -1.275033 7.003117 -1.290809 7.045853 c -1.300360 7.079461 l -1.300057 7.123133 -1.309608 7.156741 -1.329011 7.180284 c -1.346026 7.195426 -1.372894 7.200504 -1.405777 7.194792 c -1.444160 7.202045 -1.473930 7.191770 -1.491248 7.163239 c -1.517693 7.128483 -1.529510 7.086987 -1.529813 7.043315 c -1.534890 7.016447 -1.532291 6.988128 -1.528967 6.963647 c -1.532593 6.944456 -1.528544 6.923813 -1.525219 6.899333 c -1.525219 6.899333 l s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+n -9.725000 6.150000 m -9.725000 25.700474 l -8.375000 25.700474 l -8.375000 6.150000 l cp s
+0.010000 slw
+[] 0 sd
+0 slj
+1 slc
+n -9.442618 18.966101 m -9.237223 18.959088 l -9.242180 18.848714 l -9.235743 18.819670 -9.244659 18.793527 -9.272041 18.774849 c -9.294859 18.759284 -9.324629 18.749009 -9.357511 18.743297 c -9.384380 18.748374 -9.405233 18.764241 -9.413121 18.785609 c -9.430137 18.800751 -9.441138 18.826682 -9.447575 18.855726 c -9.442618 18.966101 l s
+n -9.523132 19.044922 m -9.527243 18.854881 l -9.525158 18.802806 -9.504818 18.763184 -9.470787 18.732901 c -9.445158 18.700229 -9.405113 18.680735 -9.353764 18.678982 c -9.290175 18.678891 -9.242876 18.697781 -9.216431 18.732537 c -9.187598 18.758891 -9.175781 18.800387 -9.177866 18.852461 c -9.172909 18.962835 l -8.933906 18.965373 l -8.934752 19.045041 l -9.523132 19.044922 l s
+n -9.318435 18.382102 m -9.318132 18.425774 -9.307040 18.463432 -9.282771 18.486673 c -9.255389 18.505351 -9.210266 18.512725 -9.151241 18.509521 c -9.106843 18.513057 -9.064622 18.505078 -9.028415 18.486310 c -9.001335 18.461315 -8.984108 18.426257 -8.984411 18.382584 c -8.981811 18.354265 -8.996016 18.321171 -9.032526 18.296268 c -9.064472 18.274477 -9.107207 18.258701 -9.151604 18.255165 c -9.210630 18.258369 -9.252126 18.270186 -9.271529 18.293730 c -9.294045 18.321838 -9.311997 18.353058 -9.318435 18.382102 c -9.318435 18.382102 l s
+n -9.379848 18.393708 m -9.377762 18.341634 -9.355035 18.293610 -9.310940 18.253473 c -9.273796 18.218626 -9.218397 18.196231 -9.147857 18.190851 c -9.082092 18.202275 -9.026391 18.223551 -8.992269 18.256857 c -8.945907 18.291825 -8.921849 18.334983 -8.920096 18.386332 c -8.917829 18.461436 -8.934542 18.520250 -8.967848 18.554372 c -9.013394 18.586831 -9.070968 18.597712 -9.136733 18.586288 c -9.207274 18.591668 -9.265362 18.578793 -9.301872 18.553889 c -9.347508 18.522760 -9.373742 18.468087 -9.379848 18.393708 c -9.379848 18.393708 l s
+n -9.319373 17.893306 m -9.319071 17.936979 -9.307979 17.974636 -9.283710 17.997878 c -9.256328 18.016555 -9.211205 18.023930 -9.152180 18.020726 c -9.107782 18.024262 -9.065561 18.016283 -9.029354 17.997514 c -9.002274 17.972519 -8.985047 17.937461 -8.985349 17.893789 c -8.982750 17.865470 -8.996955 17.832376 -9.033465 17.807472 c -9.065411 17.785681 -9.108146 17.769905 -9.152543 17.766369 c -9.211569 17.769573 -9.253065 17.781391 -9.272468 17.804934 c -9.294984 17.833042 -9.312936 17.864262 -9.319373 17.893306 c -9.319373 17.893306 l s
+n -9.380786 17.904912 m -9.378701 17.852838 -9.355974 17.804814 -9.311879 17.764678 c -9.274735 17.729830 -9.219336 17.707435 -9.148796 17.702055 c -9.083031 17.713479 -9.027330 17.734756 -8.993208 17.768061 c -8.946846 17.803029 -8.922788 17.846187 -8.921035 17.897536 c -8.918768 17.972640 -8.935481 18.031454 -8.968787 18.065576 c -9.014332 18.098035 -9.071907 18.108916 -9.137672 18.097492 c -9.208213 18.102872 -9.266301 18.089997 -9.302811 18.065094 c -9.348447 18.033964 -9.374681 17.979291 -9.380786 17.904912 c -9.380786 17.904912 l s
+n -9.555930 17.588177 m -9.552182 17.523862 l -8.933096 17.518178 l -8.936843 17.582492 l -9.555930 17.588177 l s
+n -9.319075 16.927230 m -9.318773 16.970902 -9.307681 17.008560 -9.283412 17.031801 c -9.256030 17.050479 -9.210907 17.057853 -9.151881 17.054649 c -9.107484 17.058185 -9.065262 17.050206 -9.029055 17.031438 c -9.001976 17.006443 -8.984749 16.971384 -8.985051 16.927712 c -8.982452 16.899393 -8.996657 16.866299 -9.033167 16.841396 c -9.065112 16.819605 -9.107848 16.803829 -9.152245 16.800293 c -9.211271 16.803497 -9.252767 16.815314 -9.272170 16.838858 c -9.294686 16.866965 -9.312638 16.898186 -9.319075 16.927230 c -9.319075 16.927230 l s
+n -9.380488 16.938836 m -9.378403 16.886762 -9.355676 16.838737 -9.311580 16.798601 c -9.274437 16.763754 -9.219038 16.741358 -9.148498 16.735978 c -9.082733 16.747402 -9.027032 16.768679 -8.992910 16.801985 c -8.946548 16.836953 -8.922490 16.880111 -8.920737 16.931460 c -8.918470 17.006564 -8.935183 17.065377 -8.968488 17.099499 c -9.014034 17.131959 -9.071609 17.142839 -9.137374 17.131415 c -9.207914 17.136795 -9.266003 17.123921 -9.302512 17.099017 c -9.348149 17.067888 -9.374383 17.013214 -9.380488 16.938836 c -9.380488 16.938836 l s
+n -9.550192 16.398450 m -9.488779 16.386844 l -9.489625 16.466512 l -9.492950 16.490993 -9.485485 16.509459 -9.462666 16.525024 c -9.448975 16.534362 -9.432896 16.535299 -9.413705 16.531672 c -9.380097 16.541223 l -9.385054 16.430849 l -9.323641 16.419243 l -9.318684 16.529617 l -8.935699 16.536748 l -8.939446 16.601062 l -9.322431 16.593931 l -9.323277 16.673599 l -9.384690 16.685205 l -9.383844 16.605537 l -9.399198 16.608439 l -9.450546 16.610192 -9.487993 16.601367 -9.515375 16.582689 c -9.538193 16.567124 -9.548560 16.533305 -9.551038 16.478118 c -9.550192 16.398450 l s
+n -9.366258 15.815086 m -9.301943 15.818834 l -9.305268 15.843314 -9.310043 15.860118 -9.308592 15.867795 c -9.314093 15.880760 -9.317417 15.905241 -9.312340 15.932109 c -9.314213 15.964266 -9.307685 15.998811 -9.294931 16.024229 c -9.290579 16.047259 -9.277613 16.052759 -9.258421 16.049132 c -9.246906 16.046956 -9.231553 16.044055 -9.212362 16.040428 c -9.202297 16.030575 -9.192022 16.000806 -9.180809 15.954957 c -9.186612 15.924251 l -9.173012 15.870001 -9.159623 15.835667 -9.142608 15.820525 c -9.123205 15.796982 -9.097062 15.788066 -9.068743 15.790665 c -9.026522 15.782686 -8.995301 15.800638 -8.965018 15.834669 c -8.940023 15.861749 -8.928206 15.903245 -8.926453 15.954594 c -8.920650 15.985300 -8.923249 16.013619 -8.927299 16.034261 c -8.934462 16.059467 -8.944012 16.093075 -8.955950 16.135085 c -9.035618 16.134239 l -9.019841 16.091504 -9.006453 16.057171 -8.991613 16.030514 c -8.983725 16.009146 -8.984964 15.981553 -8.990767 15.950846 c -8.984330 15.921802 -8.988682 15.898772 -9.002373 15.889433 c -9.013677 15.871692 -9.027368 15.862354 -9.038883 15.864530 c -9.059525 15.860480 -9.074878 15.863381 -9.084942 15.873234 c -9.101958 15.888376 -9.116072 15.918871 -9.131848 15.961606 c -9.141398 15.995214 l -9.141096 16.038886 -9.150646 16.072494 -9.170049 16.096038 c -9.187065 16.111180 -9.213933 16.116257 -9.246816 16.110545 c -9.285199 16.117799 -9.314968 16.107523 -9.332286 16.078993 c -9.358731 16.044237 -9.370549 16.002741 -9.370851 15.959068 c -9.375929 15.932200 -9.373330 15.903881 -9.370005 15.879401 c -9.373632 15.860209 -9.369582 15.839567 -9.366258 15.815086 c -9.366258 15.815086 l s
+n -9.105132 15.682255 m -9.374842 15.685520 l -9.373996 15.605853 l -9.104286 15.602588 l -9.059889 15.606124 -9.029182 15.600321 -9.012167 15.585179 c -8.992764 15.561635 -8.982488 15.531865 -8.980614 15.499708 c -8.980191 15.459874 -8.989833 15.429893 -9.013376 15.410490 c -9.043871 15.396376 -9.085156 15.388277 -9.129554 15.384741 c -9.383910 15.385104 l -9.383064 15.305437 l -8.938666 15.300962 l -8.939512 15.380630 l -9.003826 15.376882 l -8.978832 15.403962 -8.958401 15.427929 -8.943259 15.444944 c -8.931230 15.466523 -8.918476 15.491941 -8.913398 15.518809 c -8.914758 15.574721 -8.935098 15.614344 -8.969854 15.640789 c -9.003885 15.671072 -9.049220 15.683615 -9.105132 15.682255 c -9.105132 15.682255 l s
+n -9.378953 15.495479 m -9.378953 15.495479 l s
+n -9.136084 14.845322 m -9.195109 14.848525 -9.244282 14.861794 -9.271362 14.886788 c -9.296054 14.903381 -9.314731 14.930763 -9.321169 14.959807 c -9.313190 15.002028 -9.294421 15.038235 -9.270152 15.061477 c -9.242770 15.080154 -9.197647 15.087529 -9.138622 15.084325 c -9.094224 15.087861 -9.052003 15.079882 -9.015796 15.061113 c -8.988716 15.036118 -8.979166 15.002510 -8.987145 14.960289 c -8.984546 14.931970 -8.993462 14.905827 -9.017005 14.886424 c -9.048951 14.864634 -9.091686 14.848858 -9.136084 14.845322 c -9.136084 14.845322 l s
+n -9.310409 15.100888 m -9.333227 15.085323 -9.348369 15.068307 -9.352721 15.045278 c -9.365475 15.019860 -9.379680 14.986766 -9.385483 14.956060 c -9.383398 14.903985 -9.359220 14.863638 -9.313674 14.831178 c -9.276530 14.796331 -9.221132 14.773935 -9.150591 14.768555 c -9.084826 14.779979 -9.029125 14.801256 -8.995003 14.834562 c -8.950817 14.858014 -8.927485 14.897334 -8.925732 14.948683 c -8.919929 14.979390 -8.924915 15.016111 -8.939029 15.046606 c -8.957707 15.073988 -8.971610 15.084566 -8.994640 15.088918 c -8.930325 15.092665 l -8.934072 15.156980 l -9.553159 15.162664 l -9.549412 15.098350 l -9.310409 15.100888 l s
+n -8.995367 14.580205 m -8.771717 14.585645 l -8.775465 14.649959 l -9.379198 14.652742 l -9.375451 14.588428 l -9.311136 14.592175 l -9.333955 14.576610 -9.349096 14.559595 -9.353449 14.536565 c -9.366203 14.511147 -9.380408 14.478053 -9.386211 14.447347 c -9.384125 14.395273 -9.359947 14.354925 -9.314401 14.322465 c -9.277258 14.287618 -9.221859 14.265223 -9.151319 14.259843 c -9.085554 14.271267 -9.029853 14.292543 -8.995731 14.325849 c -8.951545 14.349302 -8.928212 14.388622 -8.926459 14.439971 c -8.920656 14.470677 -8.925643 14.507398 -8.939757 14.537893 c -8.958435 14.565275 -8.972337 14.575853 -8.995367 14.580205 c -8.995367 14.580205 l s
+n -9.136811 14.336609 m -9.195837 14.339813 -9.245009 14.353081 -9.272089 14.378075 c -9.296781 14.394668 -9.315459 14.422050 -9.321896 14.451094 c -9.313917 14.493316 -9.295149 14.529523 -9.270879 14.552764 c -9.243497 14.571442 -9.198375 14.578816 -9.139349 14.575612 c -9.094952 14.579148 -9.052730 14.571169 -9.016523 14.552400 c -8.989443 14.527406 -8.979893 14.493798 -8.987872 14.451576 c -8.985273 14.423258 -8.994189 14.397115 -9.017733 14.377712 c -9.049679 14.355921 -9.092414 14.340145 -9.136811 14.336609 c -9.136811 14.336609 l s
+n -9.312348 13.912612 m -9.312348 13.912612 -9.310897 13.920289 -9.309447 13.927965 c -9.317123 13.929416 -9.323349 13.938543 -9.321898 13.946220 c -9.313919 13.988441 -9.295151 14.024648 -9.270882 14.047890 c -9.243499 14.066567 -9.206053 14.075392 -9.154704 14.073639 c -8.931055 14.079078 l -8.934802 14.143393 l -9.379200 14.147868 l -9.375453 14.083553 l -9.311138 14.087301 l -9.333957 14.071736 -9.349098 14.054720 -9.353451 14.031691 c -9.366205 14.006273 -9.380410 13.973179 -9.386213 13.942473 c -9.376149 13.932620 -9.373761 13.924218 -9.373761 13.924218 c -9.375212 13.916541 -9.376662 13.908865 -9.376662 13.908865 c -9.312348 13.912612 l s
+n -9.317789 13.631388 m -9.317487 13.675060 -9.306395 13.712717 -9.282126 13.735959 c -9.254744 13.754636 -9.209621 13.762011 -9.150595 13.758807 c -9.106198 13.762343 -9.063976 13.754364 -9.027769 13.735595 c -9.000690 13.710601 -8.983463 13.675542 -8.983765 13.631870 c -8.981166 13.603551 -8.995371 13.570457 -9.031881 13.545553 c -9.063826 13.523763 -9.106562 13.507986 -9.150959 13.504450 c -9.209985 13.507654 -9.251481 13.519472 -9.270884 13.543015 c -9.293400 13.571123 -9.311352 13.602343 -9.317789 13.631388 c -9.317789 13.631388 l s
+n -9.379202 13.642993 m -9.377117 13.590919 -9.354390 13.542895 -9.310295 13.502759 c -9.273151 13.467911 -9.217752 13.445516 -9.147212 13.440136 c -9.081447 13.451560 -9.025746 13.472837 -8.991624 13.506142 c -8.945262 13.541110 -8.921204 13.584268 -8.919451 13.635617 c -8.917184 13.710721 -8.933897 13.769535 -8.967202 13.803657 c -9.012748 13.836116 -9.070323 13.846997 -9.136088 13.835573 c -9.206628 13.840953 -9.264717 13.828078 -9.301226 13.803175 c -9.346863 13.772045 -9.373097 13.717372 -9.379202 13.642993 c -9.379202 13.642993 l s
+n -9.136545 13.012753 m -9.195570 13.015957 -9.244743 13.029225 -9.271823 13.054220 c -9.296515 13.070812 -9.315192 13.098194 -9.321630 13.127239 c -9.313651 13.169460 -9.294882 13.205667 -9.270613 13.228908 c -9.243231 13.247586 -9.198108 13.254960 -9.139083 13.251756 c -9.094685 13.255292 -9.052464 13.247313 -9.016257 13.228545 c -8.989177 13.203550 -8.979627 13.169942 -8.987606 13.127721 c -8.985007 13.099402 -8.993922 13.073259 -9.017466 13.053856 c -9.049412 13.032065 -9.092147 13.016289 -9.136545 13.012753 c -9.136545 13.012753 l s
+n -9.310870 13.268319 m -9.333688 13.252755 -9.348830 13.235739 -9.353182 13.212709 c -9.365936 13.187292 -9.380141 13.154198 -9.385944 13.123491 c -9.383859 13.071417 -9.359681 13.031069 -9.314135 12.998610 c -9.276991 12.963762 -9.221592 12.941367 -9.151052 12.935987 c -9.085287 12.947411 -9.029586 12.968688 -8.995464 13.001993 c -8.951278 13.025446 -8.927946 13.064766 -8.926193 13.116115 c -8.920390 13.146821 -8.925376 13.183542 -8.939490 13.214037 c -8.958168 13.241419 -8.972071 13.251997 -8.995100 13.256350 c -8.930786 13.260097 l -8.934533 13.324411 l -9.553620 13.330096 l -9.549873 13.265781 l -9.310870 13.268319 l s
+n -9.554348 12.821383 m -9.550600 12.757069 l -8.931513 12.751384 l -8.935261 12.815699 l -9.554348 12.821383 l s
+n -9.177984 12.225506 m -9.144376 12.235056 l -9.147759 12.553727 l -9.091847 12.555087 -9.050351 12.543270 -9.027835 12.515162 c -9.002206 12.482491 -8.986430 12.439756 -8.986732 12.396084 c -8.984133 12.367765 -8.989211 12.340897 -9.001240 12.319317 c -9.006317 12.292449 -9.016684 12.258630 -9.034002 12.230099 c -8.969687 12.233847 l -8.944693 12.260926 -8.926649 12.293295 -8.921572 12.320163 c -8.917220 12.343193 -8.919819 12.371512 -8.922418 12.399831 c -8.920151 12.474935 -8.936864 12.533749 -8.970169 12.567871 c -9.014264 12.608007 -9.070388 12.626564 -9.136154 12.615140 c -9.206694 12.620520 -9.265508 12.603807 -9.304193 12.567389 c -9.349830 12.536259 -9.376064 12.481586 -9.382169 12.407207 c -9.380084 12.355133 -9.359744 12.315511 -9.325713 12.285227 c -9.288569 12.250380 -9.237009 12.228710 -9.177984 12.225506 c -9.177984 12.225506 l s
+n -9.212438 12.295624 m -9.240757 12.293024 -9.266899 12.301940 -9.286302 12.325484 c -9.303318 12.340626 -9.314319 12.366557 -9.320756 12.395601 c -9.320454 12.439274 -9.309362 12.476931 -9.285093 12.500173 c -9.267775 12.528703 -9.240393 12.547381 -9.212074 12.549980 c -9.212438 12.295624 l s
+n -9.284219 11.768536 m -9.316165 11.746745 -9.344272 11.724229 -9.360140 11.703375 c -9.371443 11.685634 -9.377246 11.654928 -9.377548 11.611256 c -9.373287 11.570697 -9.356060 11.535638 -9.333544 11.507530 c -9.306465 11.482536 -9.264968 11.470719 -9.213620 11.468966 c -8.943910 11.465700 l -8.929403 11.542467 l -9.199112 11.545732 l -9.227431 11.543133 -9.254299 11.548210 -9.275879 11.560239 c -9.302747 11.565317 -9.318312 11.588135 -9.313234 11.615003 c -9.312932 11.658675 -9.301840 11.696333 -9.277570 11.719574 c -9.261703 11.740428 -9.231934 11.750704 -9.192100 11.751127 c -8.937744 11.750763 l -8.938589 11.830431 l -9.208299 11.833696 l -9.236618 11.831097 -9.263486 11.836175 -9.285065 11.848203 c -9.304257 11.851830 -9.315983 11.873923 -9.322421 11.902967 c -9.314441 11.945189 -9.295673 11.981396 -9.271404 12.004637 c -9.255537 12.025491 -9.225767 12.035767 -9.185933 12.036190 c -8.931577 12.035826 l -8.935324 12.100140 l -9.379722 12.104615 l -9.375975 12.040301 l -9.311661 12.044048 l -9.335930 12.020807 -9.352522 11.996115 -9.356874 11.973085 c -9.368178 11.955344 -9.380932 11.929927 -9.386735 11.899220 c -9.380298 11.870176 -9.370022 11.840406 -9.355183 11.813749 c -9.335780 11.790206 -9.311087 11.773613 -9.284219 11.768536 c -9.284219 11.768536 l s
+n -9.367789 11.052857 m -9.303474 11.056604 l -9.306799 11.081085 -9.311574 11.097889 -9.310123 11.105565 c -9.315624 11.118531 -9.318948 11.143011 -9.313870 11.169880 c -9.315744 11.202037 -9.309216 11.236582 -9.296462 11.261999 c -9.292109 11.285029 -9.279144 11.290530 -9.259952 11.286903 c -9.248437 11.284727 -9.233084 11.281825 -9.213893 11.278198 c -9.203828 11.268346 -9.193553 11.238576 -9.182340 11.192728 c -9.188143 11.162021 l -9.174543 11.107771 -9.161154 11.073438 -9.144139 11.058296 c -9.124736 11.034752 -9.098593 11.025836 -9.070274 11.028435 c -9.028053 11.020456 -8.996832 11.038409 -8.966549 11.072439 c -8.941554 11.099519 -8.929737 11.141015 -8.927984 11.192364 c -8.922181 11.223070 -8.924780 11.251389 -8.928830 11.272032 c -8.935992 11.297238 -8.945543 11.330846 -8.957481 11.372855 c -9.037148 11.372010 l -9.021372 11.329274 -9.007984 11.294941 -8.993144 11.268284 c -8.985256 11.246917 -8.986495 11.219323 -8.992298 11.188617 c -8.985861 11.159572 -8.990213 11.136542 -9.003904 11.127204 c -9.015208 11.109463 -9.028899 11.100124 -9.040414 11.102300 c -9.061056 11.098250 -9.076409 11.101152 -9.086473 11.111004 c -9.103489 11.126146 -9.117603 11.156641 -9.133379 11.199377 c -9.142929 11.232984 l -9.142627 11.276657 -9.152177 11.310265 -9.171580 11.333808 c -9.188596 11.348950 -9.215464 11.354028 -9.248346 11.348316 c -9.286729 11.355569 -9.316499 11.345294 -9.333817 11.316763 c -9.360262 11.282007 -9.372080 11.240511 -9.372382 11.196839 c -9.377460 11.169971 -9.374860 11.141652 -9.371536 11.117171 c -9.375163 11.097980 -9.371113 11.077337 -9.367789 11.052857 c -9.367789 11.052857 l s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n -9.150000 5.400000 m -9.113517 6.713384 l s
+[] 0 sd
+0 slj
+0 slc
+n -9.103104 7.088240 m -9.366892 6.595374 l -9.113517 6.713384 l -8.867084 6.581491 l ef
+n -9.103104 7.088240 m -9.366892 6.595374 l -9.113517 6.713384 l -8.867084 6.581491 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n -9.131350 25.156400 m -9.094867 26.469784 l s
+[] 0 sd
+0 slj
+0 slc
+n -9.084454 26.844640 m -9.348242 26.351774 l -9.094867 26.469784 l -8.848434 26.337891 l ef
+n -9.084454 26.844640 m -9.348242 26.351774 l -9.094867 26.469784 l -8.848434 26.337891 l cp s
+gsave -10.032500 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+1696 3047 moveto
+1042 1280 lineto
+2352 1280 lineto
+1696 3047 lineto
+1424 3520 moveto
+1970 3520 lineto
+3328 0 lineto
+2827 0 lineto
+2502 896 lineto
+897 896 lineto
+572 0 lineto
+64 0 lineto
+1424 3520 lineto
+end_ol grestore 
+gsave -9.595408 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave -9.190794 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave -8.988487 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave -8.596358 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+896 384 moveto
+896 -1024 lineto
+448 -1024 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1032 2531 1240 2641 conicto
+1448 2752 1737 2752 conicto
+2217 2752 2516 2364 conicto
+2816 1976 2816 1344 conicto
+2816 712 2516 324 conicto
+2217 -64 1737 -64 conicto
+1448 -64 1240 46 conicto
+1032 157 896 384 conicto
+2368 1344 moveto
+2368 1823 2171 2095 conicto
+1975 2368 1632 2368 conicto
+1289 2368 1092 2095 conicto
+896 1823 896 1344 conicto
+896 865 1092 592 conicto
+1289 320 1632 320 conicto
+1975 320 2171 592 conicto
+2368 865 2368 1344 conicto
+end_ol grestore 
+gsave -8.189239 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+896 3456 moveto
+896 2688 lineto
+1792 2688 lineto
+1792 2368 lineto
+896 2368 lineto
+896 902 lineto
+896 572 984 478 conicto
+1073 384 1345 384 conicto
+1792 384 lineto
+1792 0 lineto
+1345 0 lineto
+836 0 642 194 conicto
+448 389 448 902 conicto
+448 2368 lineto
+128 2368 lineto
+128 2688 lineto
+448 2688 lineto
+448 3456 lineto
+896 3456 lineto
+end_ol grestore 
+gsave -7.939472 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+448 2688 moveto
+896 2688 lineto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+448 3712 moveto
+896 3712 lineto
+896 3136 lineto
+448 3136 lineto
+448 3712 lineto
+end_ol grestore 
+gsave -7.762143 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+2549 2204 moveto
+2714 2485 2942 2618 conicto
+3171 2752 3482 2752 conicto
+3899 2752 4125 2464 conicto
+4352 2177 4352 1646 conicto
+4352 0 lineto
+3904 0 lineto
+3904 1632 lineto
+3904 2006 3769 2187 conicto
+3634 2368 3356 2368 conicto
+3017 2368 2820 2146 conicto
+2624 1925 2624 1542 conicto
+2624 0 lineto
+2176 0 lineto
+2176 1632 lineto
+2176 2008 2041 2188 conicto
+1906 2368 1624 2368 conicto
+1289 2368 1092 2145 conicto
+896 1922 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1046 2534 1255 2643 conicto
+1465 2752 1753 2752 conicto
+2044 2752 2247 2611 conicto
+2451 2471 2549 2204 conicto
+end_ol grestore 
+gsave -7.140232 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+1622 1344 moveto
+1104 1344 904 1225 conicto
+704 1106 704 818 conicto
+704 589 854 454 conicto
+1004 320 1262 320 conicto
+1618 320 1833 572 conicto
+2048 825 2048 1244 conicto
+2048 1344 lineto
+1622 1344 lineto
+2496 1513 moveto
+2496 0 lineto
+2048 0 lineto
+2048 384 lineto
+1900 154 1679 45 conicto
+1458 -64 1138 -64 conicto
+733 -64 494 162 conicto
+256 389 256 769 conicto
+256 1213 555 1438 conicto
+854 1664 1448 1664 conicto
+2048 1664 lineto
+2048 1712 lineto
+2048 2025 1851 2196 conicto
+1655 2368 1300 2368 conicto
+1074 2368 860 2320 conicto
+646 2272 448 2176 conicto
+448 2560 lineto
+687 2656 912 2704 conicto
+1138 2752 1351 2752 conicto
+1927 2752 2211 2444 conicto
+2496 2137 2496 1513 conicto
+end_ol grestore 
+gsave -6.748103 27.355000 translate 0.035278 -0.035278 scale
+start_ol
+448 3712 moveto
+896 3712 lineto
+896 0 lineto
+448 0 lineto
+448 3712 lineto
+end_ol grestore 
+gsave -9.603750 28.155000 translate 0.035278 -0.035278 scale
+start_ol
+2624 3392 moveto
+2624 2944 lineto
+2352 3073 2111 3136 conicto
+1870 3200 1645 3200 conicto
+1255 3200 1043 3052 conicto
+832 2904 832 2631 conicto
+832 2402 969 2285 conicto
+1107 2169 1491 2097 conicto
+1773 2039 lineto
+2308 1937 2562 1678 conicto
+2816 1420 2816 986 conicto
+2816 469 2468 202 conicto
+2121 -64 1450 -64 conicto
+1197 -64 911 0 conicto
+626 65 320 192 conicto
+320 704 lineto
+613 513 893 416 conicto
+1174 320 1445 320 conicto
+1857 320 2080 485 conicto
+2304 650 2304 955 conicto
+2304 1221 2148 1371 conicto
+1992 1522 1636 1597 conicto
+1352 1652 lineto
+807 1756 563 1978 conicto
+320 2201 320 2597 conicto
+320 3056 654 3320 conicto
+989 3584 1576 3584 conicto
+1828 3584 2089 3536 conicto
+2351 3488 2624 3392 conicto
+end_ol grestore 
+gsave -9.196631 28.155000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave -8.804502 28.155000 translate 0.035278 -0.035278 scale
+start_ol
+448 3712 moveto
+896 3712 lineto
+896 0 lineto
+448 0 lineto
+448 3712 lineto
+end_ol grestore 
+gsave -8.627173 28.155000 translate 0.035278 -0.035278 scale
+start_ol
+448 1040 moveto
+448 2688 lineto
+896 2688 lineto
+896 1057 lineto
+896 689 1042 504 conicto
+1188 320 1481 320 conicto
+1832 320 2036 541 conicto
+2240 763 2240 1145 conicto
+2240 2688 lineto
+2688 2688 lineto
+2688 0 lineto
+2240 0 lineto
+2240 384 lineto
+2081 157 1870 46 conicto
+1660 -64 1382 -64 conicto
+923 -64 685 217 conicto
+448 499 448 1040 conicto
+1554 2752 moveto
+1554 2752 lineto
+end_ol grestore 
+gsave -8.222559 28.155000 translate 0.035278 -0.035278 scale
+start_ol
+896 3456 moveto
+896 2688 lineto
+1792 2688 lineto
+1792 2368 lineto
+896 2368 lineto
+896 902 lineto
+896 572 984 478 conicto
+1073 384 1345 384 conicto
+1792 384 lineto
+1792 0 lineto
+1345 0 lineto
+836 0 642 194 conicto
+448 389 448 902 conicto
+448 2368 lineto
+128 2368 lineto
+128 2688 lineto
+448 2688 lineto
+448 3456 lineto
+896 3456 lineto
+end_ol grestore 
+gsave -7.972792 28.155000 translate 0.035278 -0.035278 scale
+start_ol
+448 2688 moveto
+896 2688 lineto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+448 3712 moveto
+896 3712 lineto
+896 3136 lineto
+448 3136 lineto
+448 3712 lineto
+end_ol grestore 
+gsave -7.795463 28.155000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave -7.403334 28.155000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave -10.002500 4.450000 translate 0.035278 -0.035278 scale
+start_ol
+1890 3200 moveto
+1375 3200 1071 2813 conicto
+768 2426 768 1759 conicto
+768 1094 1071 707 conicto
+1375 320 1890 320 conicto
+2406 320 2707 707 conicto
+3008 1094 3008 1759 conicto
+3008 2426 2707 2813 conicto
+2406 3200 1890 3200 conicto
+1890 3584 moveto
+2632 3584 3076 3088 conicto
+3520 2593 3520 1759 conicto
+3520 927 3076 431 conicto
+2632 -64 1890 -64 conicto
+1146 -64 701 430 conicto
+256 925 256 1759 conicto
+256 2593 701 3088 conicto
+1146 3584 1890 3584 conicto
+end_ol grestore 
+gsave -9.497973 4.450000 translate 0.035278 -0.035278 scale
+start_ol
+1984 2304 moveto
+1912 2337 1828 2352 conicto
+1744 2368 1642 2368 conicto
+1282 2368 1089 2127 conicto
+896 1887 896 1437 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1030 2531 1245 2641 conicto
+1460 2752 1767 2752 conicto
+1811 2752 1864 2752 conicto
+1917 2752 1982 2752 conicto
+1984 2304 lineto
+end_ol grestore 
+gsave -9.235721 4.450000 translate 0.035278 -0.035278 scale
+start_ol
+448 2688 moveto
+896 2688 lineto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+448 3712 moveto
+896 3712 lineto
+896 3136 lineto
+448 3136 lineto
+448 3712 lineto
+end_ol grestore 
+gsave -9.058392 4.450000 translate 0.035278 -0.035278 scale
+start_ol
+2176 1375 moveto
+2176 1848 1982 2108 conicto
+1789 2368 1439 2368 conicto
+1091 2368 897 2108 conicto
+704 1848 704 1375 conicto
+704 904 897 644 conicto
+1091 384 1439 384 conicto
+1789 384 1982 644 conicto
+2176 904 2176 1375 conicto
+2624 347 moveto
+2624 -347 2323 -685 conicto
+2023 -1024 1404 -1024 conicto
+1174 -1024 971 -992 conicto
+768 -961 576 -896 conicto
+576 -448 lineto
+766 -546 951 -593 conicto
+1137 -640 1329 -640 conicto
+1754 -640 1965 -415 conicto
+2176 -190 2176 264 conicto
+2176 448 lineto
+2042 223 1833 111 conicto
+1624 0 1332 0 conicto
+848 0 552 376 conicto
+256 753 256 1375 conicto
+256 1999 552 2375 conicto
+848 2752 1332 2752 conicto
+1624 2752 1833 2640 conicto
+2042 2529 2176 2304 conicto
+2176 2688 lineto
+2624 2688 lineto
+2624 347 lineto
+end_ol grestore 
+gsave -8.651273 4.450000 translate 0.035278 -0.035278 scale
+start_ol
+448 2688 moveto
+896 2688 lineto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+448 3712 moveto
+896 3712 lineto
+896 3136 lineto
+448 3136 lineto
+448 3712 lineto
+end_ol grestore 
+gsave -8.473944 4.450000 translate 0.035278 -0.035278 scale
+start_ol
+2688 1646 moveto
+2688 0 lineto
+2240 0 lineto
+2240 1632 lineto
+2240 2001 2093 2184 conicto
+1947 2368 1654 2368 conicto
+1302 2368 1099 2146 conicto
+896 1925 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1053 2529 1266 2640 conicto
+1479 2752 1757 2752 conicto
+2217 2752 2452 2471 conicto
+2688 2191 2688 1646 conicto
+end_ol grestore 
+gsave -8.069330 4.450000 translate 0.035278 -0.035278 scale
+start_ol
+1622 1344 moveto
+1104 1344 904 1225 conicto
+704 1106 704 818 conicto
+704 589 854 454 conicto
+1004 320 1262 320 conicto
+1618 320 1833 572 conicto
+2048 825 2048 1244 conicto
+2048 1344 lineto
+1622 1344 lineto
+2496 1513 moveto
+2496 0 lineto
+2048 0 lineto
+2048 384 lineto
+1900 154 1679 45 conicto
+1458 -64 1138 -64 conicto
+733 -64 494 162 conicto
+256 389 256 769 conicto
+256 1213 555 1438 conicto
+854 1664 1448 1664 conicto
+2048 1664 lineto
+2048 1712 lineto
+2048 2025 1851 2196 conicto
+1655 2368 1300 2368 conicto
+1074 2368 860 2320 conicto
+646 2272 448 2176 conicto
+448 2560 lineto
+687 2656 912 2704 conicto
+1138 2752 1351 2752 conicto
+1927 2752 2211 2444 conicto
+2496 2137 2496 1513 conicto
+end_ol grestore 
+gsave -7.677201 4.450000 translate 0.035278 -0.035278 scale
+start_ol
+448 3712 moveto
+896 3712 lineto
+896 0 lineto
+448 0 lineto
+448 3712 lineto
+end_ol grestore 
+gsave -10.058750 5.250000 translate 0.035278 -0.035278 scale
+start_ol
+960 3136 moveto
+960 1792 lineto
+1552 1792 lineto
+1881 1792 2060 1967 conicto
+2240 2142 2240 2465 conicto
+2240 2786 2060 2961 conicto
+1881 3136 1552 3136 conicto
+960 3136 lineto
+448 3520 moveto
+1552 3520 lineto
+2145 3520 2448 3251 conicto
+2752 2983 2752 2465 conicto
+2752 1943 2448 1675 conicto
+2145 1408 1552 1408 conicto
+960 1408 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave -9.684100 5.250000 translate 0.035278 -0.035278 scale
+start_ol
+1984 2304 moveto
+1912 2337 1828 2352 conicto
+1744 2368 1642 2368 conicto
+1282 2368 1089 2127 conicto
+896 1887 896 1437 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1030 2531 1245 2641 conicto
+1460 2752 1767 2752 conicto
+1811 2752 1864 2752 conicto
+1917 2752 1982 2752 conicto
+1984 2304 lineto
+end_ol grestore 
+gsave -9.436839 5.250000 translate 0.035278 -0.035278 scale
+start_ol
+1473 2368 moveto
+1117 2368 910 2094 conicto
+704 1820 704 1344 conicto
+704 868 909 594 conicto
+1115 320 1473 320 conicto
+1827 320 2033 595 conicto
+2240 870 2240 1344 conicto
+2240 1816 2033 2092 conicto
+1827 2368 1473 2368 conicto
+1472 2752 moveto
+2040 2752 2364 2378 conicto
+2688 2005 2688 1344 conicto
+2688 685 2364 310 conicto
+2040 -64 1472 -64 conicto
+902 -64 579 310 conicto
+256 685 256 1344 conicto
+256 2005 579 2378 conicto
+902 2752 1472 2752 conicto
+end_ol grestore 
+gsave -9.044710 5.250000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1344 moveto
+2368 1823 2171 2095 conicto
+1975 2368 1632 2368 conicto
+1289 2368 1092 2095 conicto
+896 1823 896 1344 conicto
+896 865 1092 592 conicto
+1289 320 1632 320 conicto
+1975 320 2171 592 conicto
+2368 865 2368 1344 conicto
+896 2304 moveto
+1032 2531 1240 2641 conicto
+1448 2752 1737 2752 conicto
+2217 2752 2516 2364 conicto
+2816 1976 2816 1344 conicto
+2816 712 2516 324 conicto
+2217 -64 1737 -64 conicto
+1448 -64 1240 46 conicto
+1032 157 896 384 conicto
+896 0 lineto
+448 0 lineto
+448 3712 lineto
+896 3712 lineto
+896 2304 lineto
+end_ol grestore 
+gsave -8.637590 5.250000 translate 0.035278 -0.035278 scale
+start_ol
+448 3712 moveto
+896 3712 lineto
+896 0 lineto
+448 0 lineto
+448 3712 lineto
+end_ol grestore 
+gsave -8.460262 5.250000 translate 0.035278 -0.035278 scale
+start_ol
+2752 1480 moveto
+2752 1280 lineto
+704 1280 lineto
+733 811 978 565 conicto
+1223 320 1660 320 conicto
+1914 320 2152 384 conicto
+2390 448 2624 576 conicto
+2624 192 lineto
+2388 67 2140 1 conicto
+1893 -64 1639 -64 conicto
+1001 -64 628 309 conicto
+256 683 256 1320 conicto
+256 1979 613 2365 conicto
+970 2752 1576 2752 conicto
+2120 2752 2436 2410 conicto
+2752 2068 2752 1480 conicto
+2304 1600 moveto
+2299 1950 2099 2159 conicto
+1900 2368 1572 2368 conicto
+1200 2368 976 2166 conicto
+753 1964 719 1597 conicto
+2304 1600 lineto
+end_ol grestore 
+gsave -8.065635 5.250000 translate 0.035278 -0.035278 scale
+start_ol
+2549 2204 moveto
+2714 2485 2942 2618 conicto
+3171 2752 3482 2752 conicto
+3899 2752 4125 2464 conicto
+4352 2177 4352 1646 conicto
+4352 0 lineto
+3904 0 lineto
+3904 1632 lineto
+3904 2006 3769 2187 conicto
+3634 2368 3356 2368 conicto
+3017 2368 2820 2146 conicto
+2624 1925 2624 1542 conicto
+2624 0 lineto
+2176 0 lineto
+2176 1632 lineto
+2176 2008 2041 2188 conicto
+1906 2368 1624 2368 conicto
+1289 2368 1092 2145 conicto
+896 1922 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1046 2534 1255 2643 conicto
+1465 2752 1753 2752 conicto
+2044 2752 2247 2611 conicto
+2451 2471 2549 2204 conicto
+end_ol grestore 
+0.749020 0.749020 0.749020 srgb
+n -5.200000 10.975000 2.000000 1.875000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n -5.200000 10.975000 2.000000 1.875000 0 360 ellipse cp s
+gsave -6.402500 10.350000 translate 0.035278 -0.035278 scale
+start_ol
+2240 3008 moveto
+2240 2624 lineto
+2007 2753 1800 2816 conicto
+1594 2880 1401 2880 conicto
+1067 2880 885 2741 conicto
+704 2603 704 2348 conicto
+704 2134 823 2025 conicto
+943 1916 1277 1849 conicto
+1522 1797 lineto
+1988 1706 2210 1477 conicto
+2432 1249 2432 865 conicto
+2432 408 2129 172 conicto
+1826 -64 1241 -64 conicto
+1020 -64 771 -15 conicto
+523 33 256 128 conicto
+256 576 lineto
+511 417 755 336 conicto
+1000 256 1236 256 conicto
+1594 256 1789 402 conicto
+1984 549 1984 821 conicto
+1984 1059 1848 1192 conicto
+1713 1326 1403 1393 conicto
+1156 1443 lineto
+681 1538 468 1740 conicto
+256 1942 256 2303 conicto
+256 2720 544 2960 conicto
+832 3200 1338 3200 conicto
+1555 3200 1780 3152 conicto
+2005 3104 2240 3008 conicto
+end_ol grestore 
+gsave -6.045337 10.350000 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave -5.698163 10.350000 translate 0.035278 -0.035278 scale
+start_ol
+384 3264 moveto
+768 3264 lineto
+768 0 lineto
+384 0 lineto
+384 3264 lineto
+end_ol grestore 
+gsave -5.540810 10.350000 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave -5.193635 10.350000 translate 0.035278 -0.035278 scale
+start_ol
+2112 2304 moveto
+2112 1920 lineto
+1946 2016 1779 2064 conicto
+1612 2112 1442 2112 conicto
+1061 2112 850 1868 conicto
+640 1624 640 1184 conicto
+640 744 850 500 conicto
+1061 256 1442 256 conicto
+1612 256 1779 304 conicto
+1946 352 2112 448 conicto
+2112 64 lineto
+1951 0 1778 -32 conicto
+1605 -64 1410 -64 conicto
+880 -64 568 273 conicto
+256 611 256 1184 conicto
+256 1766 571 2099 conicto
+887 2432 1435 2432 conicto
+1613 2432 1783 2400 conicto
+1953 2368 2112 2304 conicto
+end_ol grestore 
+gsave -4.883932 10.350000 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave -4.661641 10.350000 translate 0.035278 -0.035278 scale
+start_ol
+384 2368 moveto
+768 2368 lineto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+384 3264 moveto
+768 3264 lineto
+768 2752 lineto
+384 2752 lineto
+384 3264 lineto
+end_ol grestore 
+gsave -4.504288 10.350000 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave -4.159611 10.350000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave -6.315000 11.055556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave -5.970322 11.055556 translate 0.035278 -0.035278 scale
+start_ol
+768 320 moveto
+768 -896 lineto
+384 -896 lineto
+384 2368 lineto
+768 2368 lineto
+768 2048 lineto
+891 2243 1078 2337 conicto
+1265 2432 1525 2432 conicto
+1957 2432 2226 2088 conicto
+2496 1744 2496 1184 conicto
+2496 624 2226 280 conicto
+1957 -64 1525 -64 conicto
+1265 -64 1078 30 conicto
+891 125 768 320 conicto
+2112 1184 moveto
+2112 1618 1932 1865 conicto
+1753 2112 1440 2112 conicto
+1127 2112 947 1865 conicto
+768 1618 768 1184 conicto
+768 750 947 503 conicto
+1127 256 1440 256 conicto
+1753 256 1932 503 conicto
+2112 750 2112 1184 conicto
+end_ol grestore 
+gsave -5.613160 11.055556 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave -5.265985 11.055556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave -5.033706 11.055556 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave -4.689028 11.055556 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave -4.466737 11.055556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave -4.122059 11.055556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave -6.835000 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+1344 3264 moveto
+1052 2780 910 2306 conicto
+768 1832 768 1346 conicto
+768 860 911 383 conicto
+1054 -94 1344 -576 conicto
+995 -576 lineto
+688 -81 536 397 conicto
+384 875 384 1346 conicto
+384 1816 535 2291 conicto
+686 2767 995 3264 conicto
+1344 3264 lineto
+end_ol grestore 
+gsave -6.615206 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+832 2816 moveto
+832 320 lineto
+1334 320 lineto
+1970 320 2265 621 conicto
+2560 922 2560 1571 conicto
+2560 2216 2265 2516 conicto
+1970 2816 1334 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1270 3136 lineto
+2168 3136 2588 2757 conicto
+3008 2378 3008 1571 conicto
+3008 760 2586 380 conicto
+2164 0 1270 0 conicto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+gsave -6.180619 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave -5.833445 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+768 320 moveto
+768 -896 lineto
+384 -896 lineto
+384 2368 lineto
+768 2368 lineto
+768 2048 lineto
+891 2243 1078 2337 conicto
+1265 2432 1525 2432 conicto
+1957 2432 2226 2088 conicto
+2496 1744 2496 1184 conicto
+2496 624 2226 280 conicto
+1957 -64 1525 -64 conicto
+1265 -64 1078 30 conicto
+891 125 768 320 conicto
+2112 1184 moveto
+2112 1618 1932 1865 conicto
+1753 2112 1440 2112 conicto
+1127 2112 947 1865 conicto
+768 1618 768 1184 conicto
+768 750 947 503 conicto
+1127 256 1440 256 conicto
+1753 256 1932 503 conicto
+2112 750 2112 1184 conicto
+end_ol grestore 
+gsave -5.476282 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave -5.253991 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 3264 lineto
+768 3264 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave -4.896828 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+192 1344 moveto
+1344 1344 lineto
+1344 1024 lineto
+192 1024 lineto
+192 1344 lineto
+end_ol grestore 
+gsave -4.694521 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+2304 2368 moveto
+2304 0 lineto
+1920 0 lineto
+1920 2048 lineto
+832 2048 lineto
+832 0 lineto
+448 0 lineto
+448 2048 lineto
+64 2048 lineto
+64 2368 lineto
+448 2368 lineto
+448 2528 lineto
+448 2904 633 3084 conicto
+819 3264 1203 3264 conicto
+1600 3264 lineto
+1600 2944 lineto
+1216 2944 lineto
+1000 2944 916 2862 conicto
+832 2781 832 2569 conicto
+832 2368 lineto
+2304 2368 lineto
+1920 3264 moveto
+2304 3264 lineto
+2304 2752 lineto
+1920 2752 lineto
+1920 3264 lineto
+end_ol grestore 
+gsave -4.339855 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave -4.107576 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+1920 2304 moveto
+1920 1920 lineto
+1756 2016 1580 2064 conicto
+1404 2112 1215 2112 conicto
+927 2112 783 2019 conicto
+640 1926 640 1740 conicto
+640 1598 744 1517 conicto
+849 1436 1164 1363 conicto
+1298 1333 lineto
+1705 1245 1876 1085 conicto
+2048 926 2048 641 conicto
+2048 315 1789 125 conicto
+1531 -64 1079 -64 conicto
+890 -64 686 -32 conicto
+482 0 256 64 conicto
+256 448 lineto
+471 352 680 304 conicto
+889 256 1094 256 conicto
+1368 256 1516 347 conicto
+1664 439 1664 606 conicto
+1664 760 1556 842 conicto
+1449 925 1085 1001 conicto
+949 1033 lineto
+582 1111 419 1272 conicto
+256 1434 256 1716 conicto
+256 2059 492 2245 conicto
+729 2432 1164 2432 conicto
+1379 2432 1569 2400 conicto
+1760 2368 1920 2304 conicto
+end_ol grestore 
+gsave -3.812855 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave -3.590563 11.761111 translate 0.035278 -0.035278 scale
+start_ol
+320 3264 moveto
+669 3264 lineto
+976 2767 1128 2291 conicto
+1280 1816 1280 1346 conicto
+1280 875 1128 397 conicto
+976 -81 669 -576 conicto
+320 -576 lineto
+610 -94 753 383 conicto
+896 860 896 1346 conicto
+896 1832 753 2306 conicto
+610 2780 320 3264 conicto
+end_ol grestore 
+0.749020 0.749020 0.749020 srgb
+n 2.690000 10.930000 2.000000 1.875000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 2.690000 10.930000 2.000000 1.875000 0 360 ellipse cp s
+gsave 1.258750 10.930000 translate 0.035278 -0.035278 scale
+start_ol
+832 1536 moveto
+832 320 lineto
+1498 320 lineto
+1843 320 2009 470 conicto
+2176 620 2176 929 conicto
+2176 1240 2009 1388 conicto
+1843 1536 1498 1536 conicto
+832 1536 lineto
+832 2816 moveto
+832 1856 lineto
+1446 1856 lineto
+1750 1856 1899 1974 conicto
+2048 2093 2048 2336 conicto
+2048 2577 1899 2696 conicto
+1750 2816 1446 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1477 3136 lineto
+1966 3136 2231 2938 conicto
+2496 2740 2496 2374 conicto
+2496 2092 2356 1924 conicto
+2217 1757 1947 1716 conicto
+2268 1648 2446 1431 conicto
+2624 1215 2624 891 conicto
+2624 465 2336 232 conicto
+2049 0 1518 0 conicto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+gsave 1.645885 10.930000 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave 1.878164 10.930000 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave 2.222842 10.930000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 2.580005 10.930000 translate 0.035278 -0.035278 scale
+start_ol
+2112 2304 moveto
+2112 1920 lineto
+1946 2016 1779 2064 conicto
+1612 2112 1442 2112 conicto
+1061 2112 850 1868 conicto
+640 1624 640 1184 conicto
+640 744 850 500 conicto
+1061 256 1442 256 conicto
+1612 256 1779 304 conicto
+1946 352 2112 448 conicto
+2112 64 lineto
+1951 0 1778 -32 conicto
+1605 -64 1410 -64 conicto
+880 -64 568 273 conicto
+256 611 256 1184 conicto
+256 1766 571 2099 conicto
+887 2432 1435 2432 conicto
+1613 2432 1783 2400 conicto
+1953 2368 2112 2304 conicto
+end_ol grestore 
+gsave 2.889708 10.930000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 3264 lineto
+768 3264 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 3.246871 10.930000 translate 0.035278 -0.035278 scale
+start_ol
+384 2368 moveto
+768 2368 lineto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+384 3264 moveto
+768 3264 lineto
+768 2752 lineto
+384 2752 lineto
+384 3264 lineto
+end_ol grestore 
+gsave 3.404223 10.930000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 3.761386 10.930000 translate 0.035278 -0.035278 scale
+start_ol
+1984 1215 moveto
+1984 1642 1807 1877 conicto
+1630 2112 1311 2112 conicto
+994 2112 817 1877 conicto
+640 1642 640 1215 conicto
+640 790 817 555 conicto
+994 320 1311 320 conicto
+1630 320 1807 555 conicto
+1984 790 1984 1215 conicto
+2368 289 moveto
+2368 -311 2096 -603 conicto
+1824 -896 1262 -896 conicto
+1054 -896 870 -864 conicto
+686 -833 512 -768 conicto
+512 -384 lineto
+687 -482 857 -529 conicto
+1028 -576 1205 -576 conicto
+1595 -576 1789 -378 conicto
+1984 -180 1984 220 conicto
+1984 384 lineto
+1863 191 1675 95 conicto
+1487 0 1225 0 conicto
+789 0 522 333 conicto
+256 666 256 1215 conicto
+256 1766 522 2099 conicto
+789 2432 1225 2432 conicto
+1487 2432 1675 2336 conicto
+1863 2241 1984 2048 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 289 lineto
+end_ol grestore 
+gsave 1.476250 11.635556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 1.820928 11.635556 translate 0.035278 -0.035278 scale
+start_ol
+768 320 moveto
+768 -896 lineto
+384 -896 lineto
+384 2368 lineto
+768 2368 lineto
+768 2048 lineto
+891 2243 1078 2337 conicto
+1265 2432 1525 2432 conicto
+1957 2432 2226 2088 conicto
+2496 1744 2496 1184 conicto
+2496 624 2226 280 conicto
+1957 -64 1525 -64 conicto
+1265 -64 1078 30 conicto
+891 125 768 320 conicto
+2112 1184 moveto
+2112 1618 1932 1865 conicto
+1753 2112 1440 2112 conicto
+1127 2112 947 1865 conicto
+768 1618 768 1184 conicto
+768 750 947 503 conicto
+1127 256 1440 256 conicto
+1753 256 1932 503 conicto
+2112 750 2112 1184 conicto
+end_ol grestore 
+gsave 2.178090 11.635556 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave 2.525265 11.635556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave 2.757544 11.635556 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave 3.102222 11.635556 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave 3.324513 11.635556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 3.669191 11.635556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+0.749020 0.749020 0.749020 srgb
+n 6.740000 20.305000 2.000000 1.875000 0 360 ellipse f
+0.100000 slw
+[0.200000] 0 sd
+[0.200000] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 6.740000 20.305000 2.000000 1.875000 0 360 ellipse cp s
+gsave 5.401250 20.305000 translate 0.035278 -0.035278 scale
+start_ol
+832 1536 moveto
+832 320 lineto
+1498 320 lineto
+1843 320 2009 470 conicto
+2176 620 2176 929 conicto
+2176 1240 2009 1388 conicto
+1843 1536 1498 1536 conicto
+832 1536 lineto
+832 2816 moveto
+832 1856 lineto
+1446 1856 lineto
+1750 1856 1899 1974 conicto
+2048 2093 2048 2336 conicto
+2048 2577 1899 2696 conicto
+1750 2816 1446 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1477 3136 lineto
+1966 3136 2231 2938 conicto
+2496 2740 2496 2374 conicto
+2496 2092 2356 1924 conicto
+2217 1757 1947 1716 conicto
+2268 1648 2446 1431 conicto
+2624 1215 2624 891 conicto
+2624 465 2336 232 conicto
+2049 0 1518 0 conicto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+gsave 5.788385 20.305000 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 6.133063 20.305000 translate 0.035278 -0.035278 scale
+start_ol
+384 949 moveto
+384 2368 lineto
+768 2368 lineto
+768 964 lineto
+768 610 900 433 conicto
+1033 256 1297 256 conicto
+1615 256 1799 466 conicto
+1984 676 1984 1039 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 0 lineto
+1984 0 lineto
+1984 384 lineto
+1842 157 1654 46 conicto
+1466 -64 1218 -64 conicto
+808 -64 596 194 conicto
+384 452 384 949 conicto
+1363 2432 moveto
+1363 2432 lineto
+end_ol grestore 
+gsave 6.490225 20.305000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 6.847388 20.305000 translate 0.035278 -0.035278 scale
+start_ol
+1984 2048 moveto
+1984 3264 lineto
+2368 3264 lineto
+2368 0 lineto
+1984 0 lineto
+1984 320 lineto
+1861 125 1674 30 conicto
+1487 -64 1225 -64 conicto
+795 -64 525 280 conicto
+256 624 256 1184 conicto
+256 1744 525 2088 conicto
+795 2432 1225 2432 conicto
+1487 2432 1674 2337 conicto
+1861 2243 1984 2048 conicto
+640 1184 moveto
+640 750 819 503 conicto
+998 256 1311 256 conicto
+1624 256 1804 503 conicto
+1984 750 1984 1184 conicto
+1984 1618 1804 1865 conicto
+1624 2112 1311 2112 conicto
+998 2112 819 1865 conicto
+640 1618 640 1184 conicto
+end_ol grestore 
+gsave 7.204551 20.305000 translate 0.035278 -0.035278 scale
+start_ol
+384 2368 moveto
+768 2368 lineto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+384 3264 moveto
+768 3264 lineto
+768 2752 lineto
+384 2752 lineto
+384 3264 lineto
+end_ol grestore 
+gsave 7.361903 20.305000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 7.719066 20.305000 translate 0.035278 -0.035278 scale
+start_ol
+1984 1215 moveto
+1984 1642 1807 1877 conicto
+1630 2112 1311 2112 conicto
+994 2112 817 1877 conicto
+640 1642 640 1215 conicto
+640 790 817 555 conicto
+994 320 1311 320 conicto
+1630 320 1807 555 conicto
+1984 790 1984 1215 conicto
+2368 289 moveto
+2368 -311 2096 -603 conicto
+1824 -896 1262 -896 conicto
+1054 -896 870 -864 conicto
+686 -833 512 -768 conicto
+512 -384 lineto
+687 -482 857 -529 conicto
+1028 -576 1205 -576 conicto
+1595 -576 1789 -378 conicto
+1984 -180 1984 220 conicto
+1984 384 lineto
+1863 191 1675 95 conicto
+1487 0 1225 0 conicto
+789 0 522 333 conicto
+256 666 256 1215 conicto
+256 1766 522 2099 conicto
+789 2432 1225 2432 conicto
+1487 2432 1675 2336 conicto
+1863 2241 1984 2048 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 289 lineto
+end_ol grestore 
+gsave 5.526250 21.010556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 5.870928 21.010556 translate 0.035278 -0.035278 scale
+start_ol
+768 320 moveto
+768 -896 lineto
+384 -896 lineto
+384 2368 lineto
+768 2368 lineto
+768 2048 lineto
+891 2243 1078 2337 conicto
+1265 2432 1525 2432 conicto
+1957 2432 2226 2088 conicto
+2496 1744 2496 1184 conicto
+2496 624 2226 280 conicto
+1957 -64 1525 -64 conicto
+1265 -64 1078 30 conicto
+891 125 768 320 conicto
+2112 1184 moveto
+2112 1618 1932 1865 conicto
+1753 2112 1440 2112 conicto
+1127 2112 947 1865 conicto
+768 1618 768 1184 conicto
+768 750 947 503 conicto
+1127 256 1440 256 conicto
+1753 256 1932 503 conicto
+2112 750 2112 1184 conicto
+end_ol grestore 
+gsave 6.228090 21.010556 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave 6.575265 21.010556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave 6.807544 21.010556 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave 7.152222 21.010556 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave 7.374513 21.010556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 7.719191 21.010556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave 2.550000 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+2240 3008 moveto
+2240 2624 lineto
+2007 2753 1800 2816 conicto
+1594 2880 1401 2880 conicto
+1067 2880 885 2741 conicto
+704 2603 704 2348 conicto
+704 2134 823 2025 conicto
+943 1916 1277 1849 conicto
+1522 1797 lineto
+1988 1706 2210 1477 conicto
+2432 1249 2432 865 conicto
+2432 408 2129 172 conicto
+1826 -64 1241 -64 conicto
+1020 -64 771 -15 conicto
+523 33 256 128 conicto
+256 576 lineto
+511 417 755 336 conicto
+1000 256 1236 256 conicto
+1594 256 1789 402 conicto
+1984 549 1984 821 conicto
+1984 1059 1848 1192 conicto
+1713 1326 1403 1393 conicto
+1156 1443 lineto
+681 1538 468 1740 conicto
+256 1942 256 2303 conicto
+256 2720 544 2960 conicto
+832 3200 1338 3200 conicto
+1555 3200 1780 3152 conicto
+2005 3104 2240 3008 conicto
+end_ol grestore 
+gsave 2.907163 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave 3.254337 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+640 1184 moveto
+640 750 819 503 conicto
+998 256 1311 256 conicto
+1624 256 1804 503 conicto
+1984 750 1984 1184 conicto
+1984 1618 1804 1865 conicto
+1624 2112 1311 2112 conicto
+998 2112 819 1865 conicto
+640 1618 640 1184 conicto
+1984 320 moveto
+1861 125 1674 30 conicto
+1487 -64 1225 -64 conicto
+795 -64 525 280 conicto
+256 624 256 1184 conicto
+256 1744 525 2088 conicto
+795 2432 1225 2432 conicto
+1487 2432 1674 2337 conicto
+1861 2243 1984 2048 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 -896 lineto
+1984 -896 lineto
+1984 320 lineto
+end_ol grestore 
+gsave 3.611500 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+384 949 moveto
+384 2368 lineto
+768 2368 lineto
+768 964 lineto
+768 610 900 433 conicto
+1033 256 1297 256 conicto
+1615 256 1799 466 conicto
+1984 676 1984 1039 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 0 lineto
+1984 0 lineto
+1984 384 lineto
+1842 157 1654 46 conicto
+1466 -64 1218 -64 conicto
+808 -64 596 194 conicto
+384 452 384 949 conicto
+1363 2432 moveto
+1363 2432 lineto
+end_ol grestore 
+gsave 3.968663 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave 4.315837 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 4.673000 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave 4.895291 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+384 2368 moveto
+768 2368 lineto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+384 3264 moveto
+768 3264 lineto
+768 2752 lineto
+384 2752 lineto
+384 3264 lineto
+end_ol grestore 
+gsave 5.052644 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave 5.397322 15.680000 translate 0.035278 -0.035278 scale
+start_ol
+384 3264 moveto
+768 3264 lineto
+768 0 lineto
+384 0 lineto
+384 3264 lineto
+end_ol grestore 
+gsave 1.830000 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+2752 2880 moveto
+2752 2432 lineto
+2541 2657 2302 2768 conicto
+2064 2880 1795 2880 conicto
+1266 2880 985 2542 conicto
+704 2205 704 1567 conicto
+704 931 985 593 conicto
+1266 256 1795 256 conicto
+2064 256 2302 367 conicto
+2541 479 2752 704 conicto
+2752 256 lineto
+2532 96 2286 16 conicto
+2041 -64 1767 -64 conicto
+1065 -64 660 373 conicto
+256 810 256 1567 conicto
+256 2326 660 2763 conicto
+1065 3200 1767 3200 conicto
+2045 3200 2290 3120 conicto
+2536 3040 2752 2880 conicto
+end_ol grestore 
+gsave 2.224626 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+832 2816 moveto
+832 1600 lineto
+1365 1600 lineto
+1661 1600 1822 1758 conicto
+1984 1916 1984 2209 conicto
+1984 2500 1822 2658 conicto
+1661 2816 1365 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1365 3136 lineto
+1892 3136 2162 2900 conicto
+2432 2664 2432 2209 conicto
+2432 1750 2162 1515 conicto
+1892 1280 1365 1280 conicto
+832 1280 lineto
+832 0 lineto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+gsave 2.564301 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+448 3136 moveto
+896 3136 lineto
+896 1212 lineto
+896 703 1070 479 conicto
+1244 256 1633 256 conicto
+2020 256 2194 479 conicto
+2368 703 2368 1212 conicto
+2368 3136 lineto
+2816 3136 lineto
+2816 1159 lineto
+2816 554 2516 245 conicto
+2217 -64 1633 -64 conicto
+1047 -64 747 245 conicto
+448 554 448 1159 conicto
+448 3136 lineto
+end_ol grestore 
+gsave 2.976415 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+192 1344 moveto
+1344 1344 lineto
+1344 1024 lineto
+192 1024 lineto
+192 1344 lineto
+end_ol grestore 
+gsave 3.178722 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+2112 1184 moveto
+2112 1618 1932 1865 conicto
+1753 2112 1440 2112 conicto
+1127 2112 947 1865 conicto
+768 1618 768 1184 conicto
+768 750 947 503 conicto
+1127 256 1440 256 conicto
+1753 256 1932 503 conicto
+2112 750 2112 1184 conicto
+768 2048 moveto
+891 2243 1078 2337 conicto
+1265 2432 1525 2432 conicto
+1957 2432 2226 2088 conicto
+2496 1744 2496 1184 conicto
+2496 624 2226 280 conicto
+1957 -64 1525 -64 conicto
+1265 -64 1078 30 conicto
+891 125 768 320 conicto
+768 0 lineto
+384 0 lineto
+384 3264 lineto
+768 3264 lineto
+768 2048 lineto
+end_ol grestore 
+gsave 3.535885 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave 3.880562 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+1920 2304 moveto
+1920 1920 lineto
+1756 2016 1580 2064 conicto
+1404 2112 1215 2112 conicto
+927 2112 783 2019 conicto
+640 1926 640 1740 conicto
+640 1598 744 1517 conicto
+849 1436 1164 1363 conicto
+1298 1333 lineto
+1705 1245 1876 1085 conicto
+2048 926 2048 641 conicto
+2048 315 1789 125 conicto
+1531 -64 1079 -64 conicto
+890 -64 686 -32 conicto
+482 0 256 64 conicto
+256 448 lineto
+471 352 680 304 conicto
+889 256 1094 256 conicto
+1368 256 1516 347 conicto
+1664 439 1664 606 conicto
+1664 760 1556 842 conicto
+1449 925 1085 1001 conicto
+949 1033 lineto
+582 1111 419 1272 conicto
+256 1434 256 1716 conicto
+256 2059 492 2245 conicto
+729 2432 1164 2432 conicto
+1379 2432 1569 2400 conicto
+1760 2368 1920 2304 conicto
+end_ol grestore 
+gsave 4.175283 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave 4.522458 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+1984 2048 moveto
+1984 3264 lineto
+2368 3264 lineto
+2368 0 lineto
+1984 0 lineto
+1984 320 lineto
+1861 125 1674 30 conicto
+1487 -64 1225 -64 conicto
+795 -64 525 280 conicto
+256 624 256 1184 conicto
+256 1744 525 2088 conicto
+795 2432 1225 2432 conicto
+1487 2432 1674 2337 conicto
+1861 2243 1984 2048 conicto
+640 1184 moveto
+640 750 819 503 conicto
+998 256 1311 256 conicto
+1624 256 1804 503 conicto
+1984 750 1984 1184 conicto
+1984 1618 1804 1865 conicto
+1624 2112 1311 2112 conicto
+998 2112 819 1865 conicto
+640 1618 640 1184 conicto
+end_ol grestore 
+gsave 4.879621 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 5.059446 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+832 1536 moveto
+832 320 lineto
+1498 320 lineto
+1843 320 2009 470 conicto
+2176 620 2176 929 conicto
+2176 1240 2009 1388 conicto
+1843 1536 1498 1536 conicto
+832 1536 lineto
+832 2816 moveto
+832 1856 lineto
+1446 1856 lineto
+1750 1856 1899 1974 conicto
+2048 2093 2048 2336 conicto
+2048 2577 1899 2696 conicto
+1750 2816 1446 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1477 3136 lineto
+1966 3136 2231 2938 conicto
+2496 2740 2496 2374 conicto
+2496 2092 2356 1924 conicto
+2217 1757 1947 1716 conicto
+2268 1648 2446 1431 conicto
+2624 1215 2624 891 conicto
+2624 465 2336 232 conicto
+2049 0 1518 0 conicto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+gsave 5.446581 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+1043 1668 moveto
+835 1497 737 1327 conicto
+640 1158 640 973 conicto
+640 665 867 460 conicto
+1095 256 1438 256 conicto
+1642 256 1820 322 conicto
+1998 389 2155 524 conicto
+1043 1668 lineto
+1339 1915 moveto
+2409 808 lineto
+2535 996 2605 1210 conicto
+2675 1424 2688 1664 conicto
+3072 1664 lineto
+3047 1386 2939 1114 conicto
+2832 842 2639 576 conicto
+3200 0 lineto
+2684 0 lineto
+2391 286 lineto
+2171 109 1930 22 conicto
+1689 -64 1412 -64 conicto
+903 -64 579 224 conicto
+256 513 256 963 conicto
+256 1232 395 1467 conicto
+534 1703 812 1911 conicto
+728 2045 684 2177 conicto
+640 2310 640 2438 conicto
+640 2782 870 2991 conicto
+1101 3200 1484 3200 conicto
+1656 3200 1827 3168 conicto
+1999 3136 2176 3072 conicto
+2176 2688 lineto
+1993 2782 1827 2831 conicto
+1662 2880 1519 2880 conicto
+1299 2880 1161 2760 conicto
+1024 2640 1024 2450 conicto
+1024 2340 1086 2229 conicto
+1148 2118 1339 1915 conicto
+end_ol grestore 
+gsave 5.886170 16.385556 translate 0.035278 -0.035278 scale
+start_ol
+832 1536 moveto
+832 320 lineto
+1498 320 lineto
+1843 320 2009 470 conicto
+2176 620 2176 929 conicto
+2176 1240 2009 1388 conicto
+1843 1536 1498 1536 conicto
+832 1536 lineto
+832 2816 moveto
+832 1856 lineto
+1446 1856 lineto
+1750 1856 1899 1974 conicto
+2048 2093 2048 2336 conicto
+2048 2577 1899 2696 conicto
+1750 2816 1446 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1477 3136 lineto
+1966 3136 2231 2938 conicto
+2496 2740 2496 2374 conicto
+2496 2092 2356 1924 conicto
+2217 1757 1947 1716 conicto
+2268 1648 2446 1431 conicto
+2624 1215 2624 891 conicto
+2624 465 2336 232 conicto
+2049 0 1518 0 conicto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n -8.325000 11.005000 m -7.586739 11.017053 l s
+[] 0 sd
+0 slj
+0 slc
+n -7.211789 11.023175 m -7.715803 11.264979 l -7.586739 11.017053 l -7.707641 10.765046 l ef
+n -7.211789 11.023175 m -7.715803 11.264979 l -7.586739 11.017053 l -7.707641 10.765046 l cp s
+0.100000 slw
+[0.200000] 0 sd
+[0.200000] 0 sd
+0 slc
+n 6.670000 15.150000 m 6.729613 17.943307 l s
+[] 0 sd
+0 slj
+0 slc
+n 6.737614 18.318222 m 6.477003 17.823670 l 6.729613 17.943307 l 6.976889 17.813002 l ef
+n 6.737614 18.318222 m 6.477003 17.823670 l 6.729613 17.943307 l 6.976889 17.813002 l cp s
+0.749020 0.749020 0.749020 srgb
+n -5.130000 23.564400 2.000000 1.875000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n -5.130000 23.564400 2.000000 1.875000 0 360 ellipse cp s
+gsave -6.205000 23.564400 translate 0.035278 -0.035278 scale
+start_ol
+832 2816 moveto
+832 1600 lineto
+1365 1600 lineto
+1661 1600 1822 1758 conicto
+1984 1916 1984 2209 conicto
+1984 2500 1822 2658 conicto
+1661 2816 1365 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1365 3136 lineto
+1892 3136 2162 2900 conicto
+2432 2664 2432 2209 conicto
+2432 1750 2162 1515 conicto
+1892 1280 1365 1280 conicto
+832 1280 lineto
+832 0 lineto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+gsave -5.875313 23.564400 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave -5.643033 23.564400 translate 0.035278 -0.035278 scale
+start_ol
+384 949 moveto
+384 2368 lineto
+768 2368 lineto
+768 964 lineto
+768 610 900 433 conicto
+1033 256 1297 256 conicto
+1615 256 1799 466 conicto
+1984 676 1984 1039 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 0 lineto
+1984 0 lineto
+1984 384 lineto
+1842 157 1654 46 conicto
+1466 -64 1218 -64 conicto
+808 -64 596 194 conicto
+384 452 384 949 conicto
+1363 2432 moveto
+1363 2432 lineto
+end_ol grestore 
+gsave -5.285871 23.564400 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave -4.928708 23.564400 translate 0.035278 -0.035278 scale
+start_ol
+384 2368 moveto
+768 2368 lineto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+384 3264 moveto
+768 3264 lineto
+768 2752 lineto
+384 2752 lineto
+384 3264 lineto
+end_ol grestore 
+gsave -4.771355 23.564400 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave -4.414193 23.564400 translate 0.035278 -0.035278 scale
+start_ol
+1984 1215 moveto
+1984 1642 1807 1877 conicto
+1630 2112 1311 2112 conicto
+994 2112 817 1877 conicto
+640 1642 640 1215 conicto
+640 790 817 555 conicto
+994 320 1311 320 conicto
+1630 320 1807 555 conicto
+1984 790 1984 1215 conicto
+2368 289 moveto
+2368 -311 2096 -603 conicto
+1824 -896 1262 -896 conicto
+1054 -896 870 -864 conicto
+686 -833 512 -768 conicto
+512 -384 lineto
+687 -482 857 -529 conicto
+1028 -576 1205 -576 conicto
+1595 -576 1789 -378 conicto
+1984 -180 1984 220 conicto
+1984 384 lineto
+1863 191 1675 95 conicto
+1487 0 1225 0 conicto
+789 0 522 333 conicto
+256 666 256 1215 conicto
+256 1766 522 2099 conicto
+789 2432 1225 2432 conicto
+1487 2432 1675 2336 conicto
+1863 2241 1984 2048 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 289 lineto
+end_ol grestore 
+gsave -6.343750 24.269956 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave -5.999072 24.269956 translate 0.035278 -0.035278 scale
+start_ol
+768 320 moveto
+768 -896 lineto
+384 -896 lineto
+384 2368 lineto
+768 2368 lineto
+768 2048 lineto
+891 2243 1078 2337 conicto
+1265 2432 1525 2432 conicto
+1957 2432 2226 2088 conicto
+2496 1744 2496 1184 conicto
+2496 624 2226 280 conicto
+1957 -64 1525 -64 conicto
+1265 -64 1078 30 conicto
+891 125 768 320 conicto
+2112 1184 moveto
+2112 1618 1932 1865 conicto
+1753 2112 1440 2112 conicto
+1127 2112 947 1865 conicto
+768 1618 768 1184 conicto
+768 750 947 503 conicto
+1127 256 1440 256 conicto
+1753 256 1932 503 conicto
+2112 750 2112 1184 conicto
+end_ol grestore 
+gsave -5.641910 24.269956 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave -5.294735 24.269956 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave -5.062456 24.269956 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave -4.717778 24.269956 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave -4.495487 24.269956 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave -4.150809 24.269956 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n -7.892470 23.578500 m -7.130000 23.564400 l s
+[] 0 sd
+0 slj
+0 slc
+n -8.267406 23.585433 m -7.772113 23.326231 l -7.892470 23.578500 l -7.762869 23.826146 l ef
+n -8.267406 23.585433 m -7.772113 23.326231 l -7.892470 23.578500 l -7.762869 23.826146 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n -2.643200 23.562593 m 26.350000 23.455000 l s
+[] 0 sd
+0 slj
+0 slc
+n -3.018197 23.563985 m -2.519129 23.312131 l -2.643200 23.562593 l -2.517273 23.812128 l ef
+n -3.018197 23.563985 m -2.519129 23.312131 l -2.643200 23.562593 l -2.517273 23.812128 l cp s
+0.100000 slw
+[0.200000] 0 sd
+[0.200000] 0 sd
+0 slc
+n 6.740000 22.180000 m 6.659470 23.314419 l s
+[] 0 sd
+0 slj
+0 slc
+n 6.632917 23.688477 m 6.418949 23.172030 l 6.659470 23.314419 l 6.917694 23.207435 l ef
+n 6.632917 23.688477 m 6.418949 23.172030 l 6.659470 23.314419 l 6.917694 23.207435 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 6.200000 16.633300 m 7.200000 17.633300 l s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 7.140710 16.681500 m 6.100000 17.558300 l s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+n 14.240000 8.975800 m 14.240000 12.570800 l 27.700000 12.570800 l 27.700000 8.975800 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+n 14.340000 18.375800 m 14.340000 21.970800 l 27.800000 21.970800 l 27.800000 18.375800 l cp s
+gsave 22.245000 15.525000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 22.447307 15.525000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 22.649614 15.525000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 22.851921 15.525000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 15.107500 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 15.309807 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+960 3520 lineto
+960 384 lineto
+2688 384 lineto
+2688 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 15.666970 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+960 1728 moveto
+960 384 lineto
+1696 384 lineto
+2071 384 2251 550 conicto
+2432 716 2432 1057 conicto
+2432 1401 2251 1564 conicto
+2071 1728 1696 1728 conicto
+960 1728 lineto
+960 3136 moveto
+960 2112 lineto
+1639 2112 lineto
+1975 2112 2139 2238 conicto
+2304 2365 2304 2624 conicto
+2304 2881 2139 3008 conicto
+1975 3136 1639 3136 conicto
+960 3136 lineto
+448 3520 moveto
+1673 3520 lineto
+2222 3520 2519 3300 conicto
+2816 3080 2816 2674 conicto
+2816 2360 2658 2174 conicto
+2500 1989 2193 1943 conicto
+2549 1866 2746 1621 conicto
+2944 1376 2944 1009 conicto
+2944 526 2625 263 conicto
+2306 0 1718 0 conicto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 16.106558 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+1536 3712 moveto
+1211 3163 1053 2626 conicto
+896 2090 896 1538 conicto
+896 987 1055 446 conicto
+1214 -94 1536 -640 conicto
+1148 -640 lineto
+797 -79 622 462 conicto
+448 1004 448 1538 conicto
+448 2070 621 2609 conicto
+794 3149 1148 3712 conicto
+1536 3712 lineto
+end_ol grestore 
+gsave 16.356325 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+1131 3520 lineto
+2624 575 lineto
+2624 3520 lineto
+3136 3520 lineto
+3136 0 lineto
+2453 0 lineto
+960 2945 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 16.835874 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+640 384 moveto
+1408 384 lineto
+1408 3136 lineto
+576 2944 lineto
+576 3328 lineto
+1434 3520 lineto
+1920 3520 lineto
+1920 384 lineto
+2688 384 lineto
+2688 0 lineto
+640 0 lineto
+640 384 lineto
+end_ol grestore 
+gsave 17.242993 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+384 3712 moveto
+772 3712 lineto
+1123 3149 1297 2609 conicto
+1472 2070 1472 1538 conicto
+1472 1004 1297 462 conicto
+1123 -79 772 -640 conicto
+384 -640 lineto
+706 -94 865 446 conicto
+1024 987 1024 1538 conicto
+1024 2090 865 2626 conicto
+706 3163 384 3712 conicto
+end_ol grestore 
+gsave 17.492760 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 17.695067 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 17.897374 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.099681 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.301988 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.504295 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.706602 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.908909 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.111216 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.313523 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.515830 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.718137 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.920444 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+960 3520 lineto
+960 384 lineto
+2688 384 lineto
+2688 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 20.277607 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+960 1728 moveto
+960 384 lineto
+1696 384 lineto
+2071 384 2251 550 conicto
+2432 716 2432 1057 conicto
+2432 1401 2251 1564 conicto
+2071 1728 1696 1728 conicto
+960 1728 lineto
+960 3136 moveto
+960 2112 lineto
+1639 2112 lineto
+1975 2112 2139 2238 conicto
+2304 2365 2304 2624 conicto
+2304 2881 2139 3008 conicto
+1975 3136 1639 3136 conicto
+960 3136 lineto
+448 3520 moveto
+1673 3520 lineto
+2222 3520 2519 3300 conicto
+2816 3080 2816 2674 conicto
+2816 2360 2658 2174 conicto
+2500 1989 2193 1943 conicto
+2549 1866 2746 1621 conicto
+2944 1376 2944 1009 conicto
+2944 526 2625 263 conicto
+2306 0 1718 0 conicto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 20.717196 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+1536 3712 moveto
+1211 3163 1053 2626 conicto
+896 2090 896 1538 conicto
+896 987 1055 446 conicto
+1214 -94 1536 -640 conicto
+1148 -640 lineto
+797 -79 622 462 conicto
+448 1004 448 1538 conicto
+448 2070 621 2609 conicto
+794 3149 1148 3712 conicto
+1536 3712 lineto
+end_ol grestore 
+gsave 20.966963 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+1131 3520 lineto
+2624 575 lineto
+2624 3520 lineto
+3136 3520 lineto
+3136 0 lineto
+2453 0 lineto
+960 2945 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 21.446512 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+938 384 moveto
+2643 384 lineto
+2643 0 lineto
+384 0 lineto
+384 384 lineto
+654 668 1119 1146 conicto
+1584 1625 1704 1763 conicto
+1931 2023 2021 2203 conicto
+2112 2384 2112 2558 conicto
+2112 2842 1913 3021 conicto
+1715 3200 1397 3200 conicto
+1171 3200 920 3104 conicto
+669 3009 384 2816 conicto
+384 3328 lineto
+678 3455 933 3519 conicto
+1188 3584 1400 3584 conicto
+1959 3584 2291 3309 conicto
+2624 3034 2624 2574 conicto
+2624 2356 2540 2160 conicto
+2457 1965 2237 1700 conicto
+2177 1631 1852 1302 conicto
+1528 974 938 384 conicto
+end_ol grestore 
+gsave 21.853631 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+384 3712 moveto
+772 3712 lineto
+1123 3149 1297 2609 conicto
+1472 2070 1472 1538 conicto
+1472 1004 1297 462 conicto
+1123 -79 772 -640 conicto
+384 -640 lineto
+706 -94 865 446 conicto
+1024 987 1024 1538 conicto
+1024 2090 865 2626 conicto
+706 3163 384 3712 conicto
+end_ol grestore 
+gsave 22.103398 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 22.305705 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 22.508012 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 22.710319 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 22.912626 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 23.114933 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 23.317240 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 23.519547 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 23.721854 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 23.924161 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.126468 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.328775 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.531082 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.733389 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.935696 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 25.138003 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+960 3520 lineto
+960 384 lineto
+2688 384 lineto
+2688 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 25.495166 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+960 1728 moveto
+960 384 lineto
+1696 384 lineto
+2071 384 2251 550 conicto
+2432 716 2432 1057 conicto
+2432 1401 2251 1564 conicto
+2071 1728 1696 1728 conicto
+960 1728 lineto
+960 3136 moveto
+960 2112 lineto
+1639 2112 lineto
+1975 2112 2139 2238 conicto
+2304 2365 2304 2624 conicto
+2304 2881 2139 3008 conicto
+1975 3136 1639 3136 conicto
+960 3136 lineto
+448 3520 moveto
+1673 3520 lineto
+2222 3520 2519 3300 conicto
+2816 3080 2816 2674 conicto
+2816 2360 2658 2174 conicto
+2500 1989 2193 1943 conicto
+2549 1866 2746 1621 conicto
+2944 1376 2944 1009 conicto
+2944 526 2625 263 conicto
+2306 0 1718 0 conicto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 25.934754 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+1536 3712 moveto
+1211 3163 1053 2626 conicto
+896 2090 896 1538 conicto
+896 987 1055 446 conicto
+1214 -94 1536 -640 conicto
+1148 -640 lineto
+797 -79 622 462 conicto
+448 1004 448 1538 conicto
+448 2070 621 2609 conicto
+794 3149 1148 3712 conicto
+1536 3712 lineto
+end_ol grestore 
+gsave 26.184521 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+1131 3520 lineto
+2624 575 lineto
+2624 3520 lineto
+3136 3520 lineto
+3136 0 lineto
+2453 0 lineto
+960 2945 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 26.664070 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+2549 2204 moveto
+2714 2485 2942 2618 conicto
+3171 2752 3482 2752 conicto
+3899 2752 4125 2464 conicto
+4352 2177 4352 1646 conicto
+4352 0 lineto
+3904 0 lineto
+3904 1632 lineto
+3904 2006 3769 2187 conicto
+3634 2368 3356 2368 conicto
+3017 2368 2820 2146 conicto
+2624 1925 2624 1542 conicto
+2624 0 lineto
+2176 0 lineto
+2176 1632 lineto
+2176 2008 2041 2188 conicto
+1906 2368 1624 2368 conicto
+1289 2368 1092 2145 conicto
+896 1922 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1046 2534 1255 2643 conicto
+1465 2752 1753 2752 conicto
+2044 2752 2247 2611 conicto
+2451 2471 2549 2204 conicto
+end_ol grestore 
+gsave 27.285981 20.555000 translate 0.035278 -0.035278 scale
+start_ol
+384 3712 moveto
+772 3712 lineto
+1123 3149 1297 2609 conicto
+1472 2070 1472 1538 conicto
+1472 1004 1297 462 conicto
+1123 -79 772 -640 conicto
+384 -640 lineto
+706 -94 865 446 conicto
+1024 987 1024 1538 conicto
+1024 2090 865 2626 conicto
+706 3163 384 3712 conicto
+end_ol grestore 
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 7.425000 7.950000 m 25.988198 7.901278 l s
+[] 0 sd
+0 slj
+0 slc
+n 26.363197 7.900293 m 25.863855 8.151605 l 25.988198 7.901278 l 25.862543 7.651607 l ef
+n 26.363197 7.900293 m 25.863855 8.151605 l 25.988198 7.901278 l 25.862543 7.651607 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 16.450000 7.955000 m 16.503885 9.724822 l s
+[] 0 sd
+0 slj
+0 slc
+n 16.515298 10.099648 m 16.250197 9.607488 l 16.503885 9.724822 l 16.749965 9.592272 l ef
+n 16.515298 10.099648 m 16.250197 9.607488 l 16.503885 9.724822 l 16.749965 9.592272 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 20.501600 8.011500 m 20.555407 9.781321 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.566802 10.156148 m 20.301724 9.663976 l 20.555407 9.781321 l 20.801493 9.648782 l ef
+n 20.566802 10.156148 m 20.301724 9.663976 l 20.555407 9.781321 l 20.801493 9.648782 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 26.200000 7.905000 m 26.256330 9.881294 l s
+[] 0 sd
+0 slj
+0 slc
+n 26.267015 10.256142 m 26.002870 9.763468 l 26.256330 9.881294 l 26.502667 9.749222 l ef
+n 26.267015 10.256142 m 26.002870 9.763468 l 26.256330 9.881294 l 26.502667 9.749222 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 16.451600 11.411500 m 16.481499 13.123271 l s
+[] 0 sd
+0 slj
+0 slc
+n 16.488047 13.498214 m 16.229354 13.002656 l 16.481499 13.123271 l 16.729277 12.993924 l ef
+n 16.488047 13.498214 m 16.229354 13.002656 l 16.481499 13.123271 l 16.729277 12.993924 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 26.203200 11.418000 m 26.257007 13.187821 l s
+[] 0 sd
+0 slj
+0 slc
+n 26.268402 13.562648 m 26.003324 13.070476 l 26.257007 13.187821 l 26.503093 13.055282 l ef
+n 26.268402 13.562648 m 26.003324 13.070476 l 26.257007 13.187821 l 26.503093 13.055282 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 16.490000 17.360000 m 16.507442 19.072622 l s
+[] 0 sd
+0 slj
+0 slc
+n 16.511261 19.447602 m 16.256182 18.950174 l 16.507442 19.072622 l 16.756156 18.945082 l ef
+n 16.511261 19.447602 m 16.256182 18.950174 l 16.507442 19.072622 l 16.756156 18.945082 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 20.640000 17.360000 m 20.625148 19.022916 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.621799 19.397901 m 20.376274 18.895688 l 20.625148 19.022916 l 20.876254 18.900154 l ef
+n 20.621799 19.397901 m 20.376274 18.895688 l 20.625148 19.022916 l 20.876254 18.900154 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 26.230000 17.515000 m 26.280447 19.287094 l s
+[] 0 sd
+0 slj
+0 slc
+n 26.291119 19.661942 m 26.026992 19.169258 l 26.280447 19.287094 l 26.526789 19.155030 l ef
+n 26.291119 19.661942 m 26.026992 19.169258 l 26.280447 19.287094 l 26.526789 19.155030 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 16.514000 21.165900 m 16.543899 22.877671 l s
+[] 0 sd
+0 slj
+0 slc
+n 16.550447 23.252614 m 16.291754 22.757056 l 16.543899 22.877671 l 16.791677 22.748324 l ef
+n 16.550447 23.252614 m 16.291754 22.757056 l 16.543899 22.877671 l 16.791677 22.748324 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 20.565600 21.272400 m 20.600286 22.878010 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.608385 23.252923 m 20.347645 22.758439 l 20.600286 22.878010 l 20.847528 22.747640 l ef
+n 20.608385 23.252923 m 20.347645 22.758439 l 20.600286 22.878010 l 20.847528 22.747640 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 26.265600 21.322400 m 26.319485 23.092122 l s
+[] 0 sd
+0 slj
+0 slc
+n 26.330897 23.466948 m 26.065796 22.974788 l 26.319485 23.092122 l 26.565565 22.959572 l ef
+n 26.330897 23.466948 m 26.065796 22.974788 l 26.319485 23.092122 l 26.565565 22.959572 l cp s
+gsave 14.121250 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 14.323557 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 14.525864 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 14.728171 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 14.930478 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 15.132785 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 15.335092 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 15.537399 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 15.739706 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 15.942013 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 16.144320 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 16.346627 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+1131 3520 lineto
+2624 575 lineto
+2624 3520 lineto
+3136 3520 lineto
+3136 0 lineto
+2453 0 lineto
+960 2945 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 16.826176 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+640 384 moveto
+1408 384 lineto
+1408 3136 lineto
+576 2944 lineto
+576 3328 lineto
+1434 3520 lineto
+1920 3520 lineto
+1920 384 lineto
+2688 384 lineto
+2688 0 lineto
+640 0 lineto
+640 384 lineto
+end_ol grestore 
+gsave 17.233296 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 17.435603 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 17.637910 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 17.840217 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.042524 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.244831 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.447138 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.649445 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 18.851752 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.054059 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.256366 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.458673 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.660980 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.863287 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 20.065594 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 20.267901 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 20.470208 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+1131 3520 lineto
+2624 575 lineto
+2624 3520 lineto
+3136 3520 lineto
+3136 0 lineto
+2453 0 lineto
+960 2945 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 20.949757 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+938 384 moveto
+2643 384 lineto
+2643 0 lineto
+384 0 lineto
+384 384 lineto
+654 668 1119 1146 conicto
+1584 1625 1704 1763 conicto
+1931 2023 2021 2203 conicto
+2112 2384 2112 2558 conicto
+2112 2842 1913 3021 conicto
+1715 3200 1397 3200 conicto
+1171 3200 920 3104 conicto
+669 3009 384 2816 conicto
+384 3328 lineto
+678 3455 933 3519 conicto
+1188 3584 1400 3584 conicto
+1959 3584 2291 3309 conicto
+2624 3034 2624 2574 conicto
+2624 2356 2540 2160 conicto
+2457 1965 2237 1700 conicto
+2177 1631 1852 1302 conicto
+1528 974 938 384 conicto
+end_ol grestore 
+gsave 21.356877 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 21.559184 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 21.761491 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 21.963798 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 22.166105 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 22.368412 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 22.570719 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 22.773026 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 22.975333 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+576 576 moveto
+1088 576 lineto
+1088 0 lineto
+576 0 lineto
+576 576 lineto
+end_ol grestore 
+gsave 23.177640 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 23.379947 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 23.582254 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 23.784561 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 23.986868 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.189175 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.391482 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.593789 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.796096 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.998403 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 25.200710 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 25.403017 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 25.605324 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+448 3520 moveto
+1131 3520 lineto
+2624 575 lineto
+2624 3520 lineto
+3136 3520 lineto
+3136 0 lineto
+2453 0 lineto
+960 2945 lineto
+960 0 lineto
+448 0 lineto
+448 3520 lineto
+end_ol grestore 
+gsave 26.084873 11.023300 translate 0.035278 -0.035278 scale
+start_ol
+2549 2204 moveto
+2714 2485 2942 2618 conicto
+3171 2752 3482 2752 conicto
+3899 2752 4125 2464 conicto
+4352 2177 4352 1646 conicto
+4352 0 lineto
+3904 0 lineto
+3904 1632 lineto
+3904 2006 3769 2187 conicto
+3634 2368 3356 2368 conicto
+3017 2368 2820 2146 conicto
+2624 1925 2624 1542 conicto
+2624 0 lineto
+2176 0 lineto
+2176 1632 lineto
+2176 2008 2041 2188 conicto
+1906 2368 1624 2368 conicto
+1289 2368 1092 2145 conicto
+896 1922 896 1542 conicto
+896 0 lineto
+448 0 lineto
+448 2688 lineto
+896 2688 lineto
+896 2304 lineto
+1046 2534 1255 2643 conicto
+1465 2752 1753 2752 conicto
+2044 2752 2247 2611 conicto
+2451 2471 2549 2204 conicto
+end_ol grestore 
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+n 13.990000 3.600000 m 13.990000 28.350000 l 28.700000 28.350000 l 28.700000 3.600000 l cp s
+gsave 11.450000 5.105000 translate 0.035278 -0.035278 scale
+start_ol
+4160 4352 moveto
+4160 3712 lineto
+3837 4002 3471 4145 conicto
+3106 4288 2695 4288 conicto
+1885 4288 1454 3794 conicto
+1024 3300 1024 2366 conicto
+1024 1436 1454 942 conicto
+1885 448 2695 448 conicto
+3106 448 3471 591 conicto
+3837 734 4160 1024 conicto
+4160 384 lineto
+3828 160 3456 48 conicto
+3084 -64 2670 -64 conicto
+1607 -64 995 587 conicto
+384 1239 384 2366 conicto
+384 3497 995 4148 conicto
+1607 4800 2670 4800 conicto
+3091 4800 3462 4688 conicto
+3834 4576 4160 4352 conicto
+end_ol grestore 
+gsave 12.039442 5.105000 translate 0.035278 -0.035278 scale
+start_ol
+1216 4160 moveto
+1216 2368 lineto
+2015 2368 lineto
+2459 2368 2701 2601 conicto
+2944 2834 2944 3266 conicto
+2944 3694 2701 3927 conicto
+2459 4160 2015 4160 conicto
+1216 4160 lineto
+576 4672 moveto
+2015 4672 lineto
+2790 4672 3187 4314 conicto
+3584 3956 3584 3266 conicto
+3584 2569 3187 2212 conicto
+2790 1856 2015 1856 conicto
+1216 1856 lineto
+1216 0 lineto
+576 0 lineto
+576 4672 lineto
+end_ol grestore 
+gsave 12.548963 5.105000 translate 0.035278 -0.035278 scale
+start_ol
+576 4672 moveto
+1216 4672 lineto
+1216 1851 lineto
+1216 1104 1488 776 conicto
+1760 448 2370 448 conicto
+2976 448 3248 776 conicto
+3520 1104 3520 1851 conicto
+3520 4672 lineto
+4160 4672 lineto
+4160 1773 lineto
+4160 864 3707 400 conicto
+3254 -64 2370 -64 conicto
+1482 -64 1029 400 conicto
+576 864 576 1773 conicto
+576 4672 lineto
+end_ol grestore 
+gsave 14.340000 5.055000 translate 0.035278 -0.035278 scale
+start_ol
+3840 683 moveto
+3840 1920 lineto
+2816 1920 lineto
+2816 2432 lineto
+4480 2432 lineto
+4480 454 lineto
+4112 198 3669 67 conicto
+3227 -64 2724 -64 conicto
+1625 -64 1004 578 conicto
+384 1220 384 2366 conicto
+384 3516 1003 4158 conicto
+1623 4800 2721 4800 conicto
+3179 4800 3591 4686 conicto
+4004 4573 4352 4352 conicto
+4352 3712 lineto
+3998 3998 3599 4143 conicto
+3200 4288 2761 4288 conicto
+1894 4288 1459 3805 conicto
+1024 3322 1024 2366 conicto
+1024 1414 1458 931 conicto
+1893 448 2759 448 conicto
+3097 448 3362 505 conicto
+3628 562 3840 683 conicto
+end_ol grestore 
+gsave 14.994381 5.055000 translate 0.035278 -0.035278 scale
+start_ol
+1216 4160 moveto
+1216 2368 lineto
+2015 2368 lineto
+2459 2368 2701 2601 conicto
+2944 2834 2944 3266 conicto
+2944 3694 2701 3927 conicto
+2459 4160 2015 4160 conicto
+1216 4160 lineto
+576 4672 moveto
+2015 4672 lineto
+2790 4672 3187 4314 conicto
+3584 3956 3584 3266 conicto
+3584 2569 3187 2212 conicto
+2790 1856 2015 1856 conicto
+1216 1856 lineto
+1216 0 lineto
+576 0 lineto
+576 4672 lineto
+end_ol grestore 
+gsave 15.503902 5.055000 translate 0.035278 -0.035278 scale
+start_ol
+576 4672 moveto
+1216 4672 lineto
+1216 1851 lineto
+1216 1104 1488 776 conicto
+1760 448 2370 448 conicto
+2976 448 3248 776 conicto
+3520 1104 3520 1851 conicto
+3520 4672 lineto
+4160 4672 lineto
+4160 1773 lineto
+4160 864 3707 400 conicto
+3254 -64 2370 -64 conicto
+1482 -64 1029 400 conicto
+576 864 576 1773 conicto
+576 4672 lineto
+end_ol grestore 
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+n -10.525000 3.575000 m -10.525000 28.400000 l 13.650000 28.400000 l 13.650000 3.575000 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n -3.249190 11.051700 m -2.510929 11.063753 l s
+[] 0 sd
+0 slj
+0 slc
+n -2.135979 11.069875 m -2.639993 11.311679 l -2.510929 11.063753 l -2.631831 10.811746 l ef
+n -2.135979 11.069875 m -2.639993 11.311679 l -2.510929 11.063753 l -2.631831 10.811746 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 4.725810 10.951700 m 5.464071 10.963753 l s
+[] 0 sd
+0 slj
+0 slc
+n 5.839021 10.969875 m 5.335007 11.211679 l 5.464071 10.963753 l 5.343169 10.711746 l ef
+n 5.839021 10.969875 m 5.335007 11.211679 l 5.464071 10.963753 l 5.343169 10.711746 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n -0.500000 10.927500 m 0.203198 10.928977 l s
+[] 0 sd
+0 slj
+0 slc
+n 0.578197 10.929765 m 0.077673 11.178714 l 0.203198 10.928977 l 0.078723 10.678715 l ef
+n 0.578197 10.929765 m 0.077673 11.178714 l 0.203198 10.928977 l 0.078723 10.678715 l cp s
+0.749020 0.749020 0.749020 srgb
+n 16.500000 15.525000 2.000000 1.875000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 16.500000 15.525000 2.000000 1.875000 0 360 ellipse cp s
+gsave 15.250000 15.475000 translate 0.035278 -0.035278 scale
+start_ol
+832 1536 moveto
+832 320 lineto
+1498 320 lineto
+1843 320 2009 470 conicto
+2176 620 2176 929 conicto
+2176 1240 2009 1388 conicto
+1843 1536 1498 1536 conicto
+832 1536 lineto
+832 2816 moveto
+832 1856 lineto
+1446 1856 lineto
+1750 1856 1899 1974 conicto
+2048 2093 2048 2336 conicto
+2048 2577 1899 2696 conicto
+1750 2816 1446 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1477 3136 lineto
+1966 3136 2231 2938 conicto
+2496 2740 2496 2374 conicto
+2496 2092 2356 1924 conicto
+2217 1757 1947 1716 conicto
+2268 1648 2446 1431 conicto
+2624 1215 2624 891 conicto
+2624 465 2336 232 conicto
+2049 0 1518 0 conicto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+gsave 15.637135 15.475000 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 15.981813 15.475000 translate 0.035278 -0.035278 scale
+start_ol
+384 949 moveto
+384 2368 lineto
+768 2368 lineto
+768 964 lineto
+768 610 900 433 conicto
+1033 256 1297 256 conicto
+1615 256 1799 466 conicto
+1984 676 1984 1039 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 0 lineto
+1984 0 lineto
+1984 384 lineto
+1842 157 1654 46 conicto
+1466 -64 1218 -64 conicto
+808 -64 596 194 conicto
+384 452 384 949 conicto
+1363 2432 moveto
+1363 2432 lineto
+end_ol grestore 
+gsave 16.338975 15.475000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 16.696138 15.475000 translate 0.035278 -0.035278 scale
+start_ol
+1984 2048 moveto
+1984 3264 lineto
+2368 3264 lineto
+2368 0 lineto
+1984 0 lineto
+1984 320 lineto
+1861 125 1674 30 conicto
+1487 -64 1225 -64 conicto
+795 -64 525 280 conicto
+256 624 256 1184 conicto
+256 1744 525 2088 conicto
+795 2432 1225 2432 conicto
+1487 2432 1674 2337 conicto
+1861 2243 1984 2048 conicto
+640 1184 moveto
+640 750 819 503 conicto
+998 256 1311 256 conicto
+1624 256 1804 503 conicto
+1984 750 1984 1184 conicto
+1984 1618 1804 1865 conicto
+1624 2112 1311 2112 conicto
+998 2112 819 1865 conicto
+640 1618 640 1184 conicto
+end_ol grestore 
+gsave 17.053301 15.475000 translate 0.035278 -0.035278 scale
+start_ol
+384 2368 moveto
+768 2368 lineto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+384 3264 moveto
+768 3264 lineto
+768 2752 lineto
+384 2752 lineto
+384 3264 lineto
+end_ol grestore 
+gsave 17.210653 15.475000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 17.567816 15.475000 translate 0.035278 -0.035278 scale
+start_ol
+1984 1215 moveto
+1984 1642 1807 1877 conicto
+1630 2112 1311 2112 conicto
+994 2112 817 1877 conicto
+640 1642 640 1215 conicto
+640 790 817 555 conicto
+994 320 1311 320 conicto
+1630 320 1807 555 conicto
+1984 790 1984 1215 conicto
+2368 289 moveto
+2368 -311 2096 -603 conicto
+1824 -896 1262 -896 conicto
+1054 -896 870 -864 conicto
+686 -833 512 -768 conicto
+512 -384 lineto
+687 -482 857 -529 conicto
+1028 -576 1205 -576 conicto
+1595 -576 1789 -378 conicto
+1984 -180 1984 220 conicto
+1984 384 lineto
+1863 191 1675 95 conicto
+1487 0 1225 0 conicto
+789 0 522 333 conicto
+256 666 256 1215 conicto
+256 1766 522 2099 conicto
+789 2432 1225 2432 conicto
+1487 2432 1675 2336 conicto
+1863 2241 1984 2048 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 289 lineto
+end_ol grestore 
+gsave 17.924979 15.475000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 15.250000 16.180556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 15.594678 16.180556 translate 0.035278 -0.035278 scale
+start_ol
+768 320 moveto
+768 -896 lineto
+384 -896 lineto
+384 2368 lineto
+768 2368 lineto
+768 2048 lineto
+891 2243 1078 2337 conicto
+1265 2432 1525 2432 conicto
+1957 2432 2226 2088 conicto
+2496 1744 2496 1184 conicto
+2496 624 2226 280 conicto
+1957 -64 1525 -64 conicto
+1265 -64 1078 30 conicto
+891 125 768 320 conicto
+2112 1184 moveto
+2112 1618 1932 1865 conicto
+1753 2112 1440 2112 conicto
+1127 2112 947 1865 conicto
+768 1618 768 1184 conicto
+768 750 947 503 conicto
+1127 256 1440 256 conicto
+1753 256 1932 503 conicto
+2112 750 2112 1184 conicto
+end_ol grestore 
+gsave 15.951840 16.180556 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave 16.299015 16.180556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave 16.531294 16.180556 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave 16.875972 16.180556 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave 17.098263 16.180556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 17.442941 16.180556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+0.749020 0.749020 0.749020 srgb
+n 20.650000 15.525000 2.000000 1.875000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 20.650000 15.525000 2.000000 1.875000 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 20.684000 11.350900 m 20.713899 13.062671 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.720447 13.437614 m 20.461754 12.942056 l 20.713899 13.062671 l 20.961677 12.933324 l ef
+n 20.720447 13.437614 m 20.461754 12.942056 l 20.713899 13.062671 l 20.961677 12.933324 l cp s
+0.749020 0.749020 0.749020 srgb
+n 26.150000 15.525000 2.000000 1.875000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 26.150000 15.525000 2.000000 1.875000 0 360 ellipse cp s
+gsave 19.400000 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+832 1536 moveto
+832 320 lineto
+1498 320 lineto
+1843 320 2009 470 conicto
+2176 620 2176 929 conicto
+2176 1240 2009 1388 conicto
+1843 1536 1498 1536 conicto
+832 1536 lineto
+832 2816 moveto
+832 1856 lineto
+1446 1856 lineto
+1750 1856 1899 1974 conicto
+2048 2093 2048 2336 conicto
+2048 2577 1899 2696 conicto
+1750 2816 1446 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1477 3136 lineto
+1966 3136 2231 2938 conicto
+2496 2740 2496 2374 conicto
+2496 2092 2356 1924 conicto
+2217 1757 1947 1716 conicto
+2268 1648 2446 1431 conicto
+2624 1215 2624 891 conicto
+2624 465 2336 232 conicto
+2049 0 1518 0 conicto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+gsave 19.787135 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 20.131813 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+384 949 moveto
+384 2368 lineto
+768 2368 lineto
+768 964 lineto
+768 610 900 433 conicto
+1033 256 1297 256 conicto
+1615 256 1799 466 conicto
+1984 676 1984 1039 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 0 lineto
+1984 0 lineto
+1984 384 lineto
+1842 157 1654 46 conicto
+1466 -64 1218 -64 conicto
+808 -64 596 194 conicto
+384 452 384 949 conicto
+1363 2432 moveto
+1363 2432 lineto
+end_ol grestore 
+gsave 20.488975 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 20.846138 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+1984 2048 moveto
+1984 3264 lineto
+2368 3264 lineto
+2368 0 lineto
+1984 0 lineto
+1984 320 lineto
+1861 125 1674 30 conicto
+1487 -64 1225 -64 conicto
+795 -64 525 280 conicto
+256 624 256 1184 conicto
+256 1744 525 2088 conicto
+795 2432 1225 2432 conicto
+1487 2432 1674 2337 conicto
+1861 2243 1984 2048 conicto
+640 1184 moveto
+640 750 819 503 conicto
+998 256 1311 256 conicto
+1624 256 1804 503 conicto
+1984 750 1984 1184 conicto
+1984 1618 1804 1865 conicto
+1624 2112 1311 2112 conicto
+998 2112 819 1865 conicto
+640 1618 640 1184 conicto
+end_ol grestore 
+gsave 21.203301 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+384 2368 moveto
+768 2368 lineto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+384 3264 moveto
+768 3264 lineto
+768 2752 lineto
+384 2752 lineto
+384 3264 lineto
+end_ol grestore 
+gsave 21.360653 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 21.717816 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+1984 1215 moveto
+1984 1642 1807 1877 conicto
+1630 2112 1311 2112 conicto
+994 2112 817 1877 conicto
+640 1642 640 1215 conicto
+640 790 817 555 conicto
+994 320 1311 320 conicto
+1630 320 1807 555 conicto
+1984 790 1984 1215 conicto
+2368 289 moveto
+2368 -311 2096 -603 conicto
+1824 -896 1262 -896 conicto
+1054 -896 870 -864 conicto
+686 -833 512 -768 conicto
+512 -384 lineto
+687 -482 857 -529 conicto
+1028 -576 1205 -576 conicto
+1595 -576 1789 -378 conicto
+1984 -180 1984 220 conicto
+1984 384 lineto
+1863 191 1675 95 conicto
+1487 0 1225 0 conicto
+789 0 522 333 conicto
+256 666 256 1215 conicto
+256 1766 522 2099 conicto
+789 2432 1225 2432 conicto
+1487 2432 1675 2336 conicto
+1863 2241 1984 2048 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 289 lineto
+end_ol grestore 
+gsave 22.074979 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 19.400000 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 19.744678 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+768 320 moveto
+768 -896 lineto
+384 -896 lineto
+384 2368 lineto
+768 2368 lineto
+768 2048 lineto
+891 2243 1078 2337 conicto
+1265 2432 1525 2432 conicto
+1957 2432 2226 2088 conicto
+2496 1744 2496 1184 conicto
+2496 624 2226 280 conicto
+1957 -64 1525 -64 conicto
+1265 -64 1078 30 conicto
+891 125 768 320 conicto
+2112 1184 moveto
+2112 1618 1932 1865 conicto
+1753 2112 1440 2112 conicto
+1127 2112 947 1865 conicto
+768 1618 768 1184 conicto
+768 750 947 503 conicto
+1127 256 1440 256 conicto
+1753 256 1932 503 conicto
+2112 750 2112 1184 conicto
+end_ol grestore 
+gsave 20.101840 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave 20.449015 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave 20.681294 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave 21.025972 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave 21.248263 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 21.592941 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave 24.975000 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+832 1536 moveto
+832 320 lineto
+1498 320 lineto
+1843 320 2009 470 conicto
+2176 620 2176 929 conicto
+2176 1240 2009 1388 conicto
+1843 1536 1498 1536 conicto
+832 1536 lineto
+832 2816 moveto
+832 1856 lineto
+1446 1856 lineto
+1750 1856 1899 1974 conicto
+2048 2093 2048 2336 conicto
+2048 2577 1899 2696 conicto
+1750 2816 1446 2816 conicto
+832 2816 lineto
+384 3136 moveto
+1477 3136 lineto
+1966 3136 2231 2938 conicto
+2496 2740 2496 2374 conicto
+2496 2092 2356 1924 conicto
+2217 1757 1947 1716 conicto
+2268 1648 2446 1431 conicto
+2624 1215 2624 891 conicto
+2624 465 2336 232 conicto
+2049 0 1518 0 conicto
+384 0 lineto
+384 3136 lineto
+end_ol grestore 
+gsave 25.362135 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 25.706813 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+384 949 moveto
+384 2368 lineto
+768 2368 lineto
+768 964 lineto
+768 610 900 433 conicto
+1033 256 1297 256 conicto
+1615 256 1799 466 conicto
+1984 676 1984 1039 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 0 lineto
+1984 0 lineto
+1984 384 lineto
+1842 157 1654 46 conicto
+1466 -64 1218 -64 conicto
+808 -64 596 194 conicto
+384 452 384 949 conicto
+1363 2432 moveto
+1363 2432 lineto
+end_ol grestore 
+gsave 26.063975 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 26.421138 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+1984 2048 moveto
+1984 3264 lineto
+2368 3264 lineto
+2368 0 lineto
+1984 0 lineto
+1984 320 lineto
+1861 125 1674 30 conicto
+1487 -64 1225 -64 conicto
+795 -64 525 280 conicto
+256 624 256 1184 conicto
+256 1744 525 2088 conicto
+795 2432 1225 2432 conicto
+1487 2432 1674 2337 conicto
+1861 2243 1984 2048 conicto
+640 1184 moveto
+640 750 819 503 conicto
+998 256 1311 256 conicto
+1624 256 1804 503 conicto
+1984 750 1984 1184 conicto
+1984 1618 1804 1865 conicto
+1624 2112 1311 2112 conicto
+998 2112 819 1865 conicto
+640 1618 640 1184 conicto
+end_ol grestore 
+gsave 26.778301 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+384 2368 moveto
+768 2368 lineto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+384 3264 moveto
+768 3264 lineto
+768 2752 lineto
+384 2752 lineto
+384 3264 lineto
+end_ol grestore 
+gsave 26.935653 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+2368 1418 moveto
+2368 0 lineto
+1984 0 lineto
+1984 1405 lineto
+1984 1760 1851 1936 conicto
+1719 2112 1454 2112 conicto
+1136 2112 952 1901 conicto
+768 1691 768 1328 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+908 2209 1098 2320 conicto
+1289 2432 1537 2432 conicto
+1947 2432 2157 2174 conicto
+2368 1917 2368 1418 conicto
+end_ol grestore 
+gsave 27.292816 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+1984 1215 moveto
+1984 1642 1807 1877 conicto
+1630 2112 1311 2112 conicto
+994 2112 817 1877 conicto
+640 1642 640 1215 conicto
+640 790 817 555 conicto
+994 320 1311 320 conicto
+1630 320 1807 555 conicto
+1984 790 1984 1215 conicto
+2368 289 moveto
+2368 -311 2096 -603 conicto
+1824 -896 1262 -896 conicto
+1054 -896 870 -864 conicto
+686 -833 512 -768 conicto
+512 -384 lineto
+687 -482 857 -529 conicto
+1028 -576 1205 -576 conicto
+1595 -576 1789 -378 conicto
+1984 -180 1984 220 conicto
+1984 384 lineto
+1863 191 1675 95 conicto
+1487 0 1225 0 conicto
+789 0 522 333 conicto
+256 666 256 1215 conicto
+256 1766 522 2099 conicto
+789 2432 1225 2432 conicto
+1487 2432 1675 2336 conicto
+1863 2241 1984 2048 conicto
+1984 2368 lineto
+2368 2368 lineto
+2368 289 lineto
+end_ol grestore 
+gsave 27.649979 15.375000 translate 0.035278 -0.035278 scale
+start_ol
+end_ol grestore 
+gsave 24.975000 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 25.319678 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+768 320 moveto
+768 -896 lineto
+384 -896 lineto
+384 2368 lineto
+768 2368 lineto
+768 2048 lineto
+891 2243 1078 2337 conicto
+1265 2432 1525 2432 conicto
+1957 2432 2226 2088 conicto
+2496 1744 2496 1184 conicto
+2496 624 2226 280 conicto
+1957 -64 1525 -64 conicto
+1265 -64 1078 30 conicto
+891 125 768 320 conicto
+2112 1184 moveto
+2112 1618 1932 1865 conicto
+1753 2112 1440 2112 conicto
+1127 2112 947 1865 conicto
+768 1618 768 1184 conicto
+768 750 947 503 conicto
+1127 256 1440 256 conicto
+1753 256 1932 503 conicto
+2112 750 2112 1184 conicto
+end_ol grestore 
+gsave 25.676840 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+2432 1288 moveto
+2432 1088 lineto
+640 1088 lineto
+666 682 886 469 conicto
+1107 256 1501 256 conicto
+1729 256 1943 304 conicto
+2157 352 2368 448 conicto
+2368 64 lineto
+2158 1 1937 -31 conicto
+1716 -64 1489 -64 conicto
+920 -64 588 267 conicto
+256 598 256 1163 conicto
+256 1746 567 2089 conicto
+879 2432 1407 2432 conicto
+1881 2432 2156 2124 conicto
+2432 1817 2432 1288 conicto
+2048 1408 moveto
+2044 1729 1868 1920 conicto
+1693 2112 1404 2112 conicto
+1076 2112 879 1927 conicto
+683 1742 653 1406 conicto
+2048 1408 lineto
+end_ol grestore 
+gsave 26.024015 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+gsave 26.256294 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1471 1152 moveto
+1002 1152 821 1047 conicto
+640 943 640 692 conicto
+640 491 775 373 conicto
+911 256 1145 256 conicto
+1467 256 1661 479 conicto
+1856 702 1856 1072 conicto
+1856 1152 lineto
+1471 1152 lineto
+2240 1321 moveto
+2240 0 lineto
+1856 0 lineto
+1856 384 lineto
+1724 154 1526 45 conicto
+1329 -64 1043 -64 conicto
+682 -64 469 137 conicto
+256 339 256 677 conicto
+256 1071 521 1271 conicto
+787 1472 1313 1472 conicto
+1856 1472 lineto
+1856 1514 lineto
+1856 1800 1683 1956 conicto
+1510 2112 1198 2112 conicto
+999 2112 810 2064 conicto
+622 2016 448 1920 conicto
+448 2304 lineto
+657 2368 854 2400 conicto
+1052 2432 1238 2432 conicto
+1742 2432 1991 2156 conicto
+2240 1881 2240 1321 conicto
+end_ol grestore 
+gsave 26.600972 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+768 3008 moveto
+768 2368 lineto
+1536 2368 lineto
+1536 2048 lineto
+768 2048 lineto
+768 771 lineto
+768 484 844 402 conicto
+920 320 1153 320 conicto
+1536 320 lineto
+1536 0 lineto
+1153 0 lineto
+716 0 550 166 conicto
+384 332 384 771 conicto
+384 2048 lineto
+128 2048 lineto
+128 2368 lineto
+384 2368 lineto
+384 3008 lineto
+768 3008 lineto
+end_ol grestore 
+gsave 26.823263 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1345 2112 moveto
+1019 2112 829 1864 conicto
+640 1616 640 1184 conicto
+640 752 828 504 conicto
+1017 256 1345 256 conicto
+1669 256 1858 505 conicto
+2048 754 2048 1184 conicto
+2048 1611 1858 1861 conicto
+1669 2112 1345 2112 conicto
+1344 2432 moveto
+1852 2432 2142 2101 conicto
+2432 1770 2432 1184 conicto
+2432 600 2142 268 conicto
+1852 -64 1344 -64 conicto
+834 -64 545 268 conicto
+256 600 256 1184 conicto
+256 1770 545 2101 conicto
+834 2432 1344 2432 conicto
+end_ol grestore 
+gsave 27.167941 16.080556 translate 0.035278 -0.035278 scale
+start_ol
+1728 2048 moveto
+1665 2081 1590 2096 conicto
+1516 2112 1426 2112 conicto
+1108 2112 938 1886 conicto
+768 1660 768 1237 conicto
+768 0 lineto
+384 0 lineto
+384 2368 lineto
+768 2368 lineto
+768 1984 lineto
+886 2211 1075 2321 conicto
+1265 2432 1536 2432 conicto
+1575 2432 1622 2432 conicto
+1669 2432 1726 2432 conicto
+1728 2048 lineto
+end_ol grestore 
+showpage
diff --git a/BookGPU/Chapters/chapter8/figures/johnson_with_lags-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/johnson_with_lags-eps-converted-to.pdf
new file mode 100644 (file)
index 0000000..5a2c508
Binary files /dev/null and b/BookGPU/Chapters/chapter8/figures/johnson_with_lags-eps-converted-to.pdf differ
diff --git a/BookGPU/Chapters/chapter8/figures/johnson_with_lags.eps b/BookGPU/Chapters/chapter8/figures/johnson_with_lags.eps
new file mode 100644 (file)
index 0000000..152fe6d
--- /dev/null
@@ -0,0 +1,550 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: F:\My_Work\Papers\GPU_11\figures\Johnson_With_Lags.fig
+%%Creator: fig2dev.exe Version 3.2 Patchlevel 4
+%%CreationDate: Wed Jun 22 13:05:57 2011
+%%For: Bendjoudi@MOHANDOKACI (MOHANDOKACI)
+%%BoundingBox: 0 0 549 243
+%%Magnification: 1.0000
+%%EndComments
+/MyAppDict 100 dict dup begin def
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 243 moveto 0 0 lineto 549 0 lineto 549 243 lineto closepath clip newpath
+-4.8 368.9 translate
+1 -1 scale
+
+% This junk string is used by the show operators
+/PATsstr 1 string def
+/PATawidthshow {       % cx cy cchar rx ry string
+  % Loop over each character in the string
+  {  % cx cy cchar rx ry char
+    % Show the character
+    dup                                % cx cy cchar rx ry char char
+    PATsstr dup 0 4 -1 roll put        % cx cy cchar rx ry char (char)
+    false charpath             % cx cy cchar rx ry char
+    /clip load PATdraw
+    % Move past the character (charpath modified the
+    % current point)
+    currentpoint                       % cx cy cchar rx ry char x y
+    newpath
+    moveto                     % cx cy cchar rx ry char
+    % Reposition by cx,cy if the character in the string is cchar
+    3 index eq {                       % cx cy cchar rx ry
+      4 index 4 index rmoveto
+    } if
+    % Reposition all characters by rx ry
+    2 copy rmoveto             % cx cy cchar rx ry
+  } forall
+  pop pop pop pop pop          % -
+  currentpoint
+  newpath
+  moveto
+} bind def
+/PATcg {
+  7 dict dup begin
+    /lw currentlinewidth def
+    /lc currentlinecap def
+    /lj currentlinejoin def
+    /ml currentmiterlimit def
+    /ds [ currentdash ] def
+    /cc [ currentrgbcolor ] def
+    /cm matrix currentmatrix def
+  end
+} bind def
+% PATdraw - calculates the boundaries of the object and
+% fills it with the current pattern
+/PATdraw {                     % proc
+  save exch
+    PATpcalc                   % proc nw nh px py
+    5 -1 roll exec             % nw nh px py
+    newpath
+    PATfill                    % -
+  restore
+} bind def
+% PATfill - performs the tiling for the shape
+/PATfill { % nw nh px py PATfill -
+  PATDict /CurrentPattern get dup begin
+    setfont
+    % Set the coordinate system to Pattern Space
+    PatternGState PATsg
+    % Set the color for uncolored pattezns
+    PaintType 2 eq { PATDict /PColor get PATsc } if
+    % Create the string for showing
+    3 index string             % nw nh px py str
+    % Loop for each of the pattern sources
+    0 1 Multi 1 sub {          % nw nh px py str source
+       % Move to the starting location
+       3 index 3 index         % nw nh px py str source px py
+       moveto                  % nw nh px py str source
+       % For multiple sources, set the appropriate color
+       Multi 1 ne { dup PC exch get PATsc } if
+       % Set the appropriate string for the source
+       0 1 7 index 1 sub { 2 index exch 2 index put } for pop
+       % Loop over the number of vertical cells
+       3 index                 % nw nh px py str nh
+       {                       % nw nh px py str
+         currentpoint          % nw nh px py str cx cy
+         2 index oldshow       % nw nh px py str cx cy
+         YStep add moveto      % nw nh px py str
+       } repeat                % nw nh px py str
+    } for
+    5 { pop } repeat
+  end
+} bind def
+
+% PATkshow - kshow with the current pattezn
+/PATkshow {                    % proc string
+  exch bind                    % string proc
+  1 index 0 get                        % string proc char
+  % Loop over all but the last character in the string
+  0 1 4 index length 2 sub {
+                               % string proc char idx
+    % Find the n+1th character in the string
+    3 index exch 1 add get     % string proc char char+1
+    exch 2 copy                        % strinq proc char+1 char char+1 char
+    % Now show the nth character
+    PATsstr dup 0 4 -1 roll put        % string proc chr+1 chr chr+1 (chr)
+    false charpath             % string proc char+1 char char+1
+    /clip load PATdraw
+    % Move past the character (charpath modified the current point)
+    currentpoint newpath moveto
+    % Execute the user proc (should consume char and char+1)
+    mark 3 1 roll              % string proc char+1 mark char char+1
+    4 index exec               % string proc char+1 mark...
+    cleartomark                        % string proc char+1
+  } for
+  % Now display the last character
+  PATsstr dup 0 4 -1 roll put  % string proc (char+1)
+  false charpath               % string proc
+  /clip load PATdraw
+  neewath
+  pop pop                      % -
+} bind def
+% PATmp - the makepattern equivalent
+/PATmp {                       % patdict patmtx PATmp patinstance
+  exch dup length 7 add                % We will add 6 new entries plus 1 FID
+  dict copy                    % Create a new dictionary
+  begin
+    % Matrix to install when painting the pattern
+    TilingType PATtcalc
+    /PatternGState PATcg def
+    PatternGState /cm 3 -1 roll put
+    % Check for multi pattern sources (Level 1 fast color patterns)
+    currentdict /Multi known not { /Multi 1 def } if
+    % Font dictionary definitions
+    /FontType 3 def
+    % Create a dummy encoding vector
+    /Encoding 256 array def
+    3 string 0 1 255 {
+      Encoding exch dup 3 index cvs cvn put } for pop
+    /FontMatrix matrix def
+    /FontBBox BBox def
+    /BuildChar {
+       mark 3 1 roll           % mark dict char
+       exch begin
+       Multi 1 ne {PaintData exch get}{pop} ifelse  % mark [paintdata]
+         PaintType 2 eq Multi 1 ne or
+         { XStep 0 FontBBox aload pop setcachedevice }
+         { XStep 0 setcharwidth } ifelse
+         currentdict           % mark [paintdata] dict
+         /PaintProc load       % mark [paintdata] dict paintproc
+       end
+       gsave
+         false PATredef exec true PATredef
+       grestore
+       cleartomark             % -
+    } bind def
+    currentdict
+  end                          % newdict
+  /foo exch                    % /foo newlict
+  definefont                   % newfont
+} bind def
+% PATpcalc - calculates the starting point and width/height
+% of the tile fill for the shape
+/PATpcalc {    % - PATpcalc nw nh px py
+  PATDict /CurrentPattern get begin
+    gsave
+       % Set up the coordinate system to Pattern Space
+       % and lock down pattern
+       PatternGState /cm get setmatrix
+       BBox aload pop pop pop translate
+       % Determine the bounding box of the shape
+       pathbbox                        % llx lly urx ury
+    grestore
+    % Determine (nw, nh) the # of cells to paint width and height
+    PatHeight div ceiling              % llx lly urx qh
+    4 1 roll                           % qh llx lly urx
+    PatWidth div ceiling               % qh llx lly qw
+    4 1 roll                           % qw qh llx lly
+    PatHeight div floor                        % qw qh llx ph
+    4 1 roll                           % ph qw qh llx
+    PatWidth div floor                 % ph qw qh pw
+    4 1 roll                           % pw ph qw qh
+    2 index sub cvi abs                        % pw ph qs qh-ph
+    exch 3 index sub cvi abs exch      % pw ph nw=qw-pw nh=qh-ph
+    % Determine the starting point of the pattern fill
+    %(px, py)
+    4 2 roll                           % nw nh pw ph
+    PatHeight mul                      % nw nh pw py
+    exch                               % nw nh py pw
+    PatWidth mul exch                  % nw nh px py
+  end
+} bind def
+
+% Save the original routines so that we can use them later on
+/oldfill       /fill load def
+/oldeofill     /eofill load def
+/oldstroke     /stroke load def
+/oldshow       /show load def
+/oldashow      /ashow load def
+/oldwidthshow  /widthshow load def
+/oldawidthshow /awidthshow load def
+/oldkshow      /kshow load def
+
+% These defs are necessary so that subsequent procs don't bind in
+% the originals
+/fill     { oldfill } bind def
+/eofill           { oldeofill } bind def
+/stroke           { oldstroke } bind def
+/show     { oldshow } bind def
+/ashow    { oldashow } bind def
+/widthshow { oldwidthshow } bind def
+/awidthshow { oldawidthshow } bind def
+/kshow            { oldkshow } bind def
+/PATredef {
+  MyAppDict begin
+    {
+    /fill { /clip load PATdraw newpath } bind def
+    /eofill { /eoclip load PATdraw newpath } bind def
+    /stroke { PATstroke } bind def
+    /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
+    /ashow { 0 0 null 6 3 roll PATawidthshow }
+    bind def
+    /widthshow { 0 0 3 -1 roll PATawidthshow }
+    bind def
+    /awidthshow { PATawidthshow } bind def
+    /kshow { PATkshow } bind def
+  } {
+    /fill   { oldfill } bind def
+    /eofill { oldeofill } bind def
+    /stroke { oldstroke } bind def
+    /show   { oldshow } bind def
+    /ashow  { oldashow } bind def
+    /widthshow { oldwidthshow } bind def
+    /awidthshow { oldawidthshow } bind def
+    /kshow  { oldkshow } bind def
+    } ifelse
+  end
+} bind def
+false PATredef
+% Conditionally define setcmykcolor if not available
+/setcmykcolor where { pop } {
+  /setcmykcolor {
+    1 sub 4 1 roll
+    3 {
+       3 index add neg dup 0 lt { pop 0 } if 3 1 roll
+    } repeat
+    setrgbcolor - pop
+  } bind def
+} ifelse
+/PATsc {               % colorarray
+  aload length         % c1 ... cn length
+    dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
+  } ifelse } ifelse
+} bind def
+/PATsg {               % dict
+  begin
+    lw setlinewidth
+    lc setlinecap
+    lj setlinejoin
+    ml setmiterlimit
+    ds aload pop setdash
+    cc aload pop setrgbcolor
+    cm setmatrix
+  end
+} bind def
+
+/PATDict 3 dict def
+/PATsp {
+  true PATredef
+  PATDict begin
+    /CurrentPattern exch def
+    % If it's an uncolored pattern, save the color
+    CurrentPattern /PaintType get 2 eq {
+      /PColor exch def
+    } if
+    /CColor [ currentrgbcolor ] def
+  end
+} bind def
+% PATstroke - stroke with the current pattern
+/PATstroke {
+  countdictstack
+  save
+  mark
+  {
+    currentpoint strokepath moveto
+    PATpcalc                           % proc nw nh px py
+    clip newpath PATfill
+    } stopped {
+       (*** PATstroke Warning: Path is too complex, stroking
+         with gray) =
+    cleartomark
+    restore
+    countdictstack exch sub dup 0 gt
+       { { end } repeat } { pop } ifelse
+    gsave 0.5 setgray oldstroke grestore
+  } { pop restore pop } ifelse
+  newpath
+} bind def
+/PATtcalc {            % modmtx tilingtype PATtcalc tilematrix
+  % Note: tiling types 2 and 3 are not supported
+  gsave
+    exch concat                                        % tilingtype
+    matrix currentmatrix exch                  % cmtx tilingtype
+    % Tiling type 1 and 3: constant spacing
+    2 ne {
+       % Distort the pattern so that it occupies
+       % an integral number of device pixels
+       dup 4 get exch dup 5 get exch           % tx ty cmtx
+       XStep 0 dtransform
+       round exch round exch                   % tx ty cmtx dx.x dx.y
+       XStep div exch XStep div exch           % tx ty cmtx a b
+       0 YStep dtransform
+       round exch round exch                   % tx ty cmtx a b dy.x dy.y
+       YStep div exch YStep div exch           % tx ty cmtx a b c d
+       7 -3 roll astore                        % { a b c d tx ty }
+    } if
+  grestore
+} bind def
+/PATusp {
+  false PATredef
+  PATDict begin
+    CColor PATsc
+  end
+} bind def
+
+% right45
+11 dict begin
+/PaintType 1 def
+/PatternType 1 def
+/TilingType 1 def
+/BBox [0 0 1 1] def
+/XStep 1 def
+/YStep 1 def
+/PatWidth 1 def
+/PatHeight 1 def
+/Multi 2 def
+/PaintData [
+  { clippath } bind
+  { 20 20 true [ 20 0 0 -20 0 20 ]
+       {<0040100080200100400200800401000802001004
+       0020080040100080200000401000802001004002
+       0080040100080200100400200800401000802000>}
+     imagemask } bind
+] def
+/PaintProc {
+       pop
+       exec fill
+} def
+currentdict
+end
+/P5 exch def
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+0 slj 0 slc
+ 0.06000 0.06000 sc
+%
+% Fig objects follow
+%
+% 
+% here starts figure with depth 50
+/Times-Italic ff 240.00 scf sf
+4534 5502 m
+gs 1 -1 sc (l   =          p) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+4648 5559 m
+gs 1 -1 sc (j) col0 sh gr
+/Symbol ff 360.00 scf sf
+5084 5532 m
+gs 1 -1 sc (S) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+4896 5720 m
+gs 1 -1 sc (k <   < l) col0 sh gr
+/Symbol ff 180.00 scf sf
+5195 5685 m
+gs 1 -1 sc (m) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+5639 5592 m
+gs 1 -1 sc (j,) col0 sh gr
+/Symbol ff 180.00 scf sf
+5750 5583 m
+gs 1 -1 sc (m) col0 sh gr
+% Polyline
+7.500 slw
+n 2127 4725 m 3077 4725 l 3077 5200 l 2127 5200 l
+ cp gs col0 s gr 
+% Polyline
+ [15 60] 60 sd
+n 3077 4250 m 4490 4250 l 4490 4725 l 3077 4725 l
+ cp gs col0 s gr  [] 0 sd
+% Polyline
+ [15 60] 60 sd
+n 4490 3775 m 4965 3775 l 4965 4250 l 4490 4250 l
+ cp gs col0 s gr  [] 0 sd
+% Polyline
+ [15 60] 60 sd
+n 4965 3313 m 5915 3313 l 5915 3775 l 4965 3775 l
+ cp gs col0 s gr  [] 0 sd
+% Polyline
+n 7563 2355 m 8975 2355 l 8975 2830 l 7563 2830 l
+ cp gs col0 s gr 
+% Polyline
+ [15 60] 60 sd
+n 5909 2830 m 7568 2830 l 7568 3307 l 5909 3307 l
+ cp gs col0 s gr  [] 0 sd
+% Polyline
+n 1420 2125 m 1420 6136 l
+ 9216 6136 l gs col0 s gr 
+% Polyline
+n 1420 4966 m
+ 1182 4966 l gs col0 s gr 
+% Polyline
+n 1408 2602 m
+ 1170 2602 l gs col0 s gr 
+% Polyline
+n 1409 5909 m
+ 1171 5909 l gs col0 s gr 
+% Polyline
+45.000 slw
+ [15 150] 150 sd
+n 818 2909 m
+ 818 4545 l gs col0 s gr  [] 0 sd
+% Polyline
+ [15 150] 150 sd
+n 830 5193 m
+ 830 5670 l gs col0 s gr  [] 0 sd
+% Polyline
+7.500 slw
+ [60] 0 sd
+n 3077 4727 m 7568 4727 l 7568 5200 l 3077 5200 l
+ cp gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
+15.00 15.00 sc P5 [16 0 0 -16 205.13 315.13] PATmp PATsp ef gr PATusp gs col0 s gr  [] 0 sd
+/Times-Italic ff 240.00 scf sf
+80 2614 m
+gs 1 -1 sc (M   =   M) col0 sh gr
+/Times-Italic ff 240.00 scf sf
+91 4966 m
+gs 1 -1 sc (M   =   M) col0 sh gr
+/Times-Italic ff 240.00 scf sf
+739 5943 m
+gs 1 -1 sc (M) col0 sh gr
+/Times-Italic ff 240.00 scf sf
+2125 5432 m
+gs 1 -1 sc (p    =    p) col0 sh gr
+/Times-Italic ff 240.00 scf sf
+7784 3068 m
+gs 1 -1 sc (p    =    p) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+261 2773 m
+gs 1 -1 sc (2) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+284 5068 m
+gs 1 -1 sc (1) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+920 6091 m
+gs 1 -1 sc (0) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+2170 5557 m
+gs 1 -1 sc (j,1) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+7841 3182 m
+gs 1 -1 sc (j,2) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+1000 2773 m
+gs 1 -1 sc (l) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+977 5102 m
+gs 1 -1 sc (k) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+2920 5534 m
+gs 1 -1 sc (j,k) col0 sh gr
+/Times-Italic ff 195.00 scf sf
+8614 3205 m
+gs 1 -1 sc (j,l) col0 sh gr
+% here ends figure;
+$F2psEnd
+rs
+end
+showpage
diff --git a/BookGPU/Chapters/chapter8/figures/parallel_bounding-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/parallel_bounding-eps-converted-to.pdf
new file mode 100644 (file)
index 0000000..e7dae85
Binary files /dev/null and b/BookGPU/Chapters/chapter8/figures/parallel_bounding-eps-converted-to.pdf differ
diff --git a/BookGPU/Chapters/chapter8/figures/parallel_bounding.eps b/BookGPU/Chapters/chapter8/figures/parallel_bounding.eps
new file mode 100644 (file)
index 0000000..3625c89
--- /dev/null
@@ -0,0 +1,1160 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner
+%%Title: parallel bounding.eps
+%%CreationDate: Tue Aug 21 13:36:11 2012
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 537 268
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 252.96837895263093 translate
+521.93475815523061 -252.96837895263093 scale
+% Image geometry
+522 253 8
+% Transformation matrix
+[ 522 0 0 253 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 522 string def
+/gstr 522 string def
+/bstr 522 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData:        58678 ASCII Bytes
+colorimage
+JcC<$JcC<$p]#a~>
+JcC<$JcC<$p]#a~>
+JcC<$JcC<$p]#a~>
+JcC<$JcC<$p]#a~>
+JcC<$JcC<$p]#a~>
+JcC<$JcC<$p]#a~>
+JcC<$JcC<$p]#a~>
+JcC<$JcC<$p]#a~>
+JcC<$JcC<$p]#a~>
+JcCT,!;?<C!98Y1JcGKEJ,~>
+JcCT,!;?<C!98Y1JcGKEJ,~>
+JcCT,!;?<C!98Y1JcGKEJ,~>
+JcCf2"RX.$F\h]2"EfF#g%L!sJcG`LJ,~>
+JcCf2"RX.$F\h]2"EfF#g%L!sJcG`LJ,~>
+JcCf2"RX.$F\h]2"EfF#g%L!sJcG`LJ,~>
+JcCr6"8:'):](4mFTA-5XTF3!AGcE/A?FmCs+13#~>
+JcCr6"8:'):](4mFTA-5XTF3!AGcE/A?FmCs+13#~>
+JcCr6"8:'):](4mFTA-5XTF3!AGcE/A?FmCs+13#~>
+JcD#8!SN\8!!@AGg%P(<"67=nAGuQ1:V#kDs+LE&~>
+JcD#8!SN\8!!@AGg%P(<"67=nAGuQ1:V#kDs+LE&~>
+JcD#8!SN\8!!@AGg%P(<"67=nAGuQ1:V#kDs+LE&~>
+JcD,;#PQ)3!!"m?cg1T4mC@B=!!/;:JcCK)J,~>
+JcD,;#PQ)3!!"m?cg1T4mC@B=!!/;:JcCK)J,~>
+JcD,;#PQ)3!!"m?cg1T4mC@B=!!/;:JcCK)J,~>
+JcD/<"g'W^!-QWLrs%km:B1B;fn'0Zs*t~>
+JcD/<"g'W^!-QWLrs%km:B1B;fn'0Zs*t~>
+JcD/<"g'W^!-QWLrs%km:B1B;fn'0Zs*t~>
+JcD5>"j]sE!0cg.rrp>:!!&5MJcCW-J,~>
+JcD5>"j]sE!0cg.rrp>:!!&5MJcCW-J,~>
+JcD5>"j]sE!0cg.rrp>:!!&5MJcCW-J,~>
+JcEai!42S'![F]DpAY,*qu?ajeb&kFm<&C/PO70*"N4(927\;<MuS;~>
+JcEai!,)30!DCu:rrMBnqu?bAoCW%dm<&C/PO70*"N4(927\;<MuS;~>
+JcEdj!Tba.!!3RTnFlk^Zhse).'!4;rrqe4!!&5Mh#@Mq:B38_JcCZ.J,~>
+JcE^h#Nd9.s8Uk*h>[EXo6h$5UAOri#H`pas8JuorV$6o\MX@tg"?<-XT/?3m=G:ss*t~>
+JcE^h#H`pas8JuorVlg"ePuT^a8Q#B?HiHLo5CArrrfki!+ad8rrfG(!+bJJs,I&/~>
+JcEai#Q&/Xs8VV/UAk/rr2V\$L#r=6#NADJs8U_;g@bIK\MX@tg"?<-XT/?3m=G:ss*t~>
+JcE^h!p1a)rr3"PZi9t.QZhuZV>C2k!Nh:ZrrVs?lM1A^p4WJHXk!FSm<&Cd`.@rKs*t~>
+JcE^h!Nh:ZrsJNGlMpn^4Knb*^&@s3?HiEK!QSjIrri%L!!'.Orrh_3!&_]Gs,R,0~>
+JcEai!rHWSrr3>GD>aG6dm_s][,1f^#NADJs8W(PZhOJ&p4WJHXk!FSm<&Cd`.@rKs*t~>
+JcE^h!p1a)rr3"B\GlL/Xc*&U!Nh:ZrrV^5mJ6bbj%fYcj3mr0XT/?pJcCf2J,~>
+JcE^h!Nh:Zrs/':mJm4c@EeTJ!FF"LrrKfOq#:KW:B4qcdf0EO!!&^Ds,[21~>
+JcEai!rHWSrr35:F8Z(<iDoCErs.OVoDejhH+<YL"QN8XAE2,<"0DP'Tn36)s*t~>
+JcE^h#Nd9.s8/o9jo58]ko%M<rs,Zas8VD5@K--'"PGX4PP3B'"PGX4FnUCdOoKq~>
+JcE^h#H`pas6G)Arr2p!ZU+$VrrufRs8US7Xnhu"feibnp<`gBfeibPp4<7+s*t~>
+JcEai#Q&/Xs8LD;XoA>&qeqAir;R#]9Cr2YXY\r3rrh"4!0d-'rrh"4!-S!ds,m>3~>
+JcE^h!9X1Z%VYJ6s79Zg3pHDm!7:bJqu?bnrql]t_uKeJc2Rq?A,p06JcCo5J,~>
+JcE^h!3Q/!%]'+(s3si+EW4/^1&V&Xr;ZjHf_YUM_uKeJc2Rq?A,p06JcCo5J,~>
+JcEai!W-O.!"Us:s8W"iG\=MbMZAn>iZnC%!Gq9%rr^1>!4gAS"SQ@+AG1TSP5g%~>
+JcE^h($6b<s8Vte>5eK'OoMOse40E:s/h4YrrVJ!W;QYt_uKeUbPq_=FT>tGJcCr6J,~>
+JcE^h!Nh:ZrsS+*W;lj)d/.LYSXoc[!FF"LrrUM"iV`]X_uKeUbPq_=FT>tGJcCr6J,~>
+JcEai*;aBms8W)B7G\"&=7b9AeQUT)s5H]Cs8VkeAbc3'"2k0>`68/`p2p@Gp4<7-s*t~>
+JcE^h!p1a)rr3?#+Qi]^W;lj:1RJ+@!Nh:YrrL/HrVlu<!&`*Drr\GbAG1TSPlH7~>
+JcE^h!Nh:YrsHeQs8+&#s620iec,RL?HiBJ!JITRrr^1>2:'AD"-W^qp4<7.s*t~>
+JcEai!rHWSrr3Q/KrtC!@J^#50idlGs5H]Crr3&h8E0UJ"2k0sccH+gP5o.eJcCu7J,~>
+JcE^h&EY57s8W)%3r/f^=7c<P!7:`F!Nh:ZrrVe8OoG@_cN!su`r?.)!+beSs-<V7~>
+JcE^h!Nh:ZrsSFAOoPDoR/ZAP3r/dT!FF"LrrV"6d/O%IcN!su`r?.)!+beSs-<V7~>
+JcEai!rHWSrr3be7F2"p4OF)J-'J9-s5H]Cs8W##:\4Sc"4$rIfuF$oP5o.eJcD#8J,~>
+JcEai!42P&%857Os8.KM!-b+:!0Lpk!!d`>s8V+:!5uhU!d+KsJcD#8J,~>
+JcEai!,)0/%<qFDs5m&V,GK)V!4NC7!!jgKrr<#Y2#tS5rrR<CKn98hs*t~>
+JcEdj!Tba-!"C?Vr;Zc/-id&H3<2UHqZ$Xme,K@Lj#$hT`;]m]!/6"(Q2c@~>
+JcD\K"84SP`8gmsf`:'orr_t*!24uDQN)I~>
+JcD\K"84SP`8gmsf`:'orr_t*!24uDQN)I~>
+JcD\K"84SP`8gmsf`:'orr_t*!24uDQN)I~>
+JcD\K!d+L,jo5DLP;E.;!]-PDkPkYO2#tsRs-Nb9~>
+JcD\K!d+L,jo5DLP;E.;!]-PDkPkYO2#tsRs-Nb9~>
+JcD\K!d+L,jo5DLP;E.;!]-PDkPkYO2#tsRs-Nb9~>
+JcD_L!j)H5jo5_,1B8h@Jq@kg!&N<krr^pS2=5tpR/_[~>
+JcD_L!j)H5jo5_,1B8h@Jq@kg!&N<krr^pS2=5tpR/_[~>
+JcD_L!j)H5jo5_,1B8h@Jq@kg!&N<krr^pS2=5tpR/_[~>
+JcDbM"5*Z3mH4EN_uKdhr4`BEGQ7`skPkUc!-NkmR/_[~>
+JcDbM"5*Z3mH4EN_uKdhr4`BEGQ7`skPkUc!-NkmR/_[~>
+JcDbM"5*Z3mH4EN_uKdhr4`BEGQ7`skPkUc!-NkmR/_[~>
+JcDbM!`&gBk5PPN1B=HN^B9Z"1\U#3!d+LRJcD/<J,~>
+JcDbM!`&gBk5PPN1B=HN^B9Z"1\U#3!d+LRJcD/<J,~>
+JcDbM!`&gBk5PPN1B=HN^B9Z"1\U#3!d+LRJcD/<J,~>
+JcDeN!j)HVjo5CG!/pTd!dF^IkPkYO2)XcPs-it<~>
+JcDeN!j)HVjo5CG!/pTd!dF^IkPkYO2)XcPs-it<~>
+JcDeN!j)HVjo5CG!/pTd!dF^IkPkYO2)XcPs-it<~>
+JcDhO"76(Gp?)AVp&I2J^B1nF:$2HWXT4Q9s-it<~>
+JcDhO"76(Gp?)AVp&I2J^B1nF:$2HWXT4Q9s-it<~>
+JcDhO"76(Gp?)AVp&I2J^B1nF:$2HWXT4Q9s-it<~>
+JcDhO!g<Vpjo5D8!-n1O!b;;uk5PKY!82r'S,\!~>
+JcDhO!g<Vpjo5D8!-n1O!b;;uk5PKY!82r'S,\!~>
+JcDhO!g<Vpjo5D8!-n1O!b;;uk5PKY!82r'S,\!~>
+JcDkP!ndQLjSo;7!.smY!eLF*k5PM/!-NkmS,\!~>
+JcDkP!ndQLjSo;7!.smY!eLF*k5PM/!-NkmS,\!~>
+JcDkP!ndQLjSo;7!.smY!eLF*k5PM/!-NkmS,\!~>
+JcDkP!d+L]jSo;7!.smY!eLF*jo5C)!82r'SH"*~>
+JcDkP!d+L]jSo;7!.smY!eLF*jo5C)!82r'SH"*~>
+JcDkP!d+L]jSo;7!.smY!eLF*jo5C)!82r'SH"*~>
+JcDnQ!pot`j8T26!-n1O!b;;ujo5D8!-NkmSH"*~>
+JcDnQ!pot`j8T26!-n1O!b;;ujo5D8!-NkmSH"*~>
+JcDnQ!pot`j8T26!-n1O!b;;ujo5D8!-NkmSH"*~>
+JcDnQ!g<W&ir9#Z48-Dj\,]7`rrQ^2m=G;.s*t~>
+JcDnQ!g<W&ir9#Z48-Dj\,]7`rrQ^2m=G;.s*t~>
+JcDnQ!g<W&ir9#Z48-Dj\,]7`rrQ^2m=G;.s*t~>
+JcDqR!qlUiiVrtC!.ss[!dF^Ij8T2!!0`!6Sc=3~>
+JcDqR!qlUiiVrtC!.ss[!dF^Ij8T2!!0`!6Sc=3~>
+JcDqR!qlUiiVrtC!.ss[!dF^Ij8T2!!0`!6Sc=3~>
+JcDqR!kA<5iVs#I0*%43^B9Z"0D=E*s"sfMJcD>AJ,~>
+JcDqR!kA<5iVs#I0*%43^B9Z"0D=E*s"sfMJcD>AJ,~>
+JcDqR!kA<5iVs#I0*%43^B9Z"0D=E*s"sfMJcD>AJ,~>
+JcDqR!b;;uir9&HPPtO_K"1co!P!CR!!/;Wj8T1S!5sHgT)X<~>
+JcDqR!b;;uir9&HPPtO_K"1co!P!CR!!/;Wj8T1S!5sHgT)X<~>
+JcDqR!b;;uir9&HPPtO_K"1co!P!CR!!/;Wj8T1S!5sHgT)X<~>
+JcDtS!pouAj8TkfP5kSYQSSUiDM!IN-ic&l2#oM9p>u;UirFdas.97@~>
+JcDtS!pouAj8TkfP5kSYQSSUiDM!IN-ic&l2#oM9p>u;UirFdas.97@~>
+JcDtS!pouAj8TkfP5kSYQSSUiDM!IN-ic&l2#oM9p>u;UirFdas.97@~>
+JcDtS!kA<Ljo5\]XYg)9\c;]sP;E.;$8\gXs7WQP!&^nPk5PKY!;;!DTDsE~>
+JcDtS!kA<Ljo5\]XYg)9\c;]sP;E.;$8\gXs7WQP!&^nPk5PKY!;;!DTDsE~>
+JcDtS!kA<Ljo5\]XYg)9\c;]sP;E.;$8\gXs7WQP!&^nPk5PKY!;;!DTDsE~>
+JcDtS!b;<)kPkb[XYg)9XnMYl"60Alj88i[p8n;p28n\X!hfV4JcDABJ,~>
+JcDtS!b;<)kPkb[XYg)9XnMYl"60Alj88i[p8n;p28n\X!hfV4JcDABJ,~>
+JcDtS!b;<)kPkb[XYg)9XnMYl"60Alj88i[p8n;p28n\X!hfV4JcDABJ,~>
+JcE"T!qlV)kPk_(:B1BspA+^if`762rrqeR!!#g5l2Lh<!0`!6TDsE~>
+JcE"T!qlV)kPk_(:B1BspA+^if`762rrqeR!!#g5l2Lh<!0`!6TDsE~>
+JcE"T!qlV)kPk_(:B1BspA+^if`762rrqeR!!#g5l2Lh<!0`!6TDsE~>
+JcE"T!m^kKl2Lq*:B1BYmJ$V^f`8/JrrqeR!!#gJlMglB:P&P<s*t~>
+JcE"T!m^kKl2Lq*:B1BYmJ$V^f`8/JrrqeR!!#gJlMglB:P&P<s*t~>
+JcE"T!m^kKl2Lq*:B1BYmJ$V^f`8/JrrqeR!!#gJlMglB:P&P<s*t~>
+JcE"T!hfVIli..A:B1BYmIgJ\_uQq3rrqG*!!%/pm/I-0!:>@;T`9N~>
+JcE"T!hfVIli..A:B1BYmIgJ\_uQq3rrqG*!!%/pm/I-0!:>@;T`9N~>
+JcE"T!hfVIli..A:B1BYmIgJ\_uQq3rrqG*!!%/pm/I-0!:>@;T`9N~>
+JcE"T!d+M:mJd@CFT;Dag%54FXT7&Frrq(u!!%/pmf*?j!719:!:Bd=!4h^'!4i*^!:>@;`rCP~>
+JcE"T!d+M:mJd@CFT;Dag%54FXT7&Frrq(u!!%/pmf*?j!719:!:Bd=!4h^'!4i*^!:>@;`rCP~>
+JcE"T!d+M:mJd@CFT;Dag%54FXT7&Frrq(u!!%/pmf*?j!719:!:Bd=!4h^'!4i*^!:>@;`rCP~>
+JcE"T!<?ZurrqG*!!%/pnc&Zm!86lA"kdDd!0cg>rrUjRXo/2'p=[BdPBCEt!<70EPHE0ap4<7i
+s*t~>
+JcE"T!<?ZurrqG*!!%/pnc&Zm!86lA"kdDd!0cg>rrUjRXo/2'p=[BdPBCEt!<70EPHE0ap4<7i
+s*t~>
+JcE"T!<?ZurrqG*!!%/pnc&Zm!86lA"kdDd!0cg>rrUjRXo/2'p=[BdPBCEt!<70EPHE0ap4<7i
+s*t~>
+JcE%U!pouAqYq)ZKei]/@_)44s6Z!M!)Lr0rrQ^2jR3$O`(p@5PO88I!qt=-qu6lf!--]&PBGFV
+">t=q\_2Q6eGk%~>
+JcE%U!pouAqYq)ZKei]/@_)44s6Z!M!)Lr0rrQ^2jR3$O`(p@5PO88I!qt=-qu6lf!--]&PBGFV
+">t=q\_2Q6eGk%~>
+JcE%U!pouAqYq)ZKei]/@_)44s6Z!M!)Lr0rrQ^2jR3$O`(p@5PO88I!qt=-qu6lf!--]&PBGFV
+">t=q\_2Q6eGk%~>
+JcE%U!ndRUqu7.i!!"EL9)nrddusb3:W2c&!SN2*!!-QTmf*U3:B1BgpAb02@f691PN2\r\V80+
+"([V+j+76`s*t~>
+JcE%U!ndRUqu7.i!!"EL9)nrddusb3:W2c&!SN2*!!-QTmf*U3:B1BgpAb02@f691PN2\r\V80+
+"([V+j+76`s*t~>
+JcE%U!ndRUqu7.i!!"EL9)nrddusb3:W2c&!SN2*!!-QTmf*U3:B1BgpAb02@f691PN2\r\V80+
+"([V+j+76`s*t~>
+JcE%U!kA<Lr;Qk_!'?\L^BUrR!"/ca\aTP)XT/>_DKneS!0cjN%/-e\!&^Zo!!#ZDDEI:e"]'8p
+Xf]P@f`:F4rrD*Yf`epgXbCmnnGiW5XkA:*h>`!~>
+JcE%U!kA<Lr;Qk_!'?\L^BUrR!"/ca\aTP)XT/>_DKneS!0cjN%/-e\!&^Zo!!#ZDDEI:e"]'8p
+Xf]P@f`:F4rrD*Yf`epgXbCmnnGiW5XkA:*h>`!~>
+JcE%U!kA<Lr;Qk_!'?\L^BUrR!"/ca\aTP)XT/>_DKneS!0cjN%/-e\!&^Zo!!#ZDDEI:e"]'8p
+Xf]P@f`:F4rrD*Yf`epgXbCmnnGiW5XkA:*h>`!~>
+JcE%U!j)IUrVlu1!)'j!^B9Z"2>6M="1\C[PPr5uUItTNmJdCaXYg(Y9<.s*!K/B$!!Q/@Xi/o[
+hu<lIft"5-:\4VgKt6T%s5F!.~>
+JcE%U!j)IUrVlu1!)'j!^B9Z"2>6M="1\C[PPr5uUItTNmJdCaXYg(Y9<.s*!K/B$!!Q/@Xi/o[
+hu<lIft"5-:\4VgKt6T%s5F!.~>
+JcE%U!j)IUrVlu1!)'j!^B9Z"2>6M="1\C[PPr5uUItTNmJdCaXYg(Y9<.s*!K/B$!!Q/@Xi/o[
+hu<lIft"5-:\4VgKt6T%s5F!.~>
+JcE%U!g<WErr3)o1B=]U^B.pG`:3d/m/SQ7qnE6C9)uosrr]/!8@\Q3#c[k9!!#4`S_;Ej"515K
+AG-!):SHHms5a31~>
+JcE%U!g<WErr3)o1B=]U^B.pG`:3d/m/SQ7qnE6C9)uosrr]/!8@\Q3#c[k9!!#4`S_;Ej"515K
+AG-!):SHHms5a31~>
+JcE%U!g<WErr3)o1B=]U^B.pG`:3d/m/SQ7qnE6C9)uosrr]/!8@\Q3#c[k9!!#4`S_;Ej"515K
+AG-!):SHHms5a31~>
+JcE%U!HeD@rrU+=DYUsJYlJ8&rrSAaMtt*hWW5c\rr_sN.'`T_#(ci's/c:SbPqXsX`a@<!]?1f
+JcFp5J,~>
+JcE%U!HeD@rrU+=DYUsJYlJ8&rrSAaMtt*hWW5c\rr_sN.'`T_#(ci's/c:SbPqXsX`a@<!]?1f
+JcFp5J,~>
+JcE%U!HeD@rrU+=DYUsJYlJ8&rrSAaMtt*hWW5c\rr_sN.'`T_#(ci's/c:SbPqXsX`a@<!]?1f
+JcFp5J,~>
+JcE%U!HeDArr_tO!2K;'!D<F^rrE*]pV-cI!86f?!m^japqI$C-o:n*!85Em!nj\up](@QPN.5o
+lMlA~>
+JcE%U!HeDArr_tO!2K;'!D<F^rrE*]pV-cI!86f?!m^japqI$C-o:n*!85Em!nj\up](@QPN.5o
+lMlA~>
+JcE%U!HeDArr_tO!2K;'!D<F^rrE*]pV-cI!86f?!m^japqI$C-o:n*!85Em!nj\up](@QPN.5o
+lMlA~>
+JcE%U"Ea_<`.e0jp:gZR!86rC!ndQupV-cn!3P\h!j)HtpV-lB!9:0]fu3mmp<Sp[q#CIl\a=tJ
+mJh\~>
+JcE%U"Ea_<`.e0jp:gZR!86rC!ndQupV-cn!3P\h!j)HtpV-lB!9:0]fu3mmp<Sp[q#CIl\a=tJ
+mJh\~>
+JcE%U"Ea_<`.e0jp:gZR!86rC!ndQupV-cn!3P\h!j)HtpV-lB!9:0]fu3mmp<Sp[q#CIl\a=tJ
+mJh\~>
+JcE%U!+5R&p:gZ\!86rC!ndR*pV-d)!3P\h!d+LQpV-l`!84ISftdUhj.T9E!!.f"JcG3=J,~>
+JcE%U!+5R&p:gZ\!86rC!ndR*pV-d)!3P\h!d+LQpV-l`!84ISftdUhj.T9E!!.f"JcG3=J,~>
+JcE%U!+5R&p:gZ\!86rC!ndR*pV-d)!3P\h!d+LQpV-l`!84ISftdUhj.T9E!!.f"JcG3=J,~>
+JcE.X!pu[Wq#CE"pV-c?!:B@W!ndR*pV-d)!3P\h!HeD9^BK2hfrY8-^&J/oThkLb!`-B#JcG<@
+J,~>
+JcE.X!pu[Wq#CE"pV-c?!:B@W!ndR*pV-d)!3P\h!HeD9^BK2hfrY8-^&J/oThkLb!`-B#JcG<@
+J,~>
+JcE.X!pu[Wq#CE"pV-c?!:B@W!ndR*pV-d)!3P\h!HeD9^BK2hfrY8-^&J/oThkLb!`-B#JcG<@
+J,~>
+JcE4Z!Q9-V!!?bc!0d/l!BW+-rrUjRK(m"]RfKSYrrSkoU\DM,D?/@l!84s`!RHu+!!5$Am=G<0
+s*t~>
+JcE4Z!Q9-V!!?bc!0d/l!BW+-rrUjRK(m"]RfKSYrrSkoU\DM,D?/@l!84s`!RHu+!!5$Am=G<0
+s*t~>
+JcE4Z!Q9-V!!?bc!0d/l!BW+-rrUjRK(m"]RfKSYrrSkoU\DM,D?/@l!84s`!RHu+!!5$Am=G<0
+s*t~>
+JcE=]!pu[=q>^^q\aBFW!*K$2!g<VJnc&[a!)*($!cA"amf*@,!.ss["Zl_aXT7%arrVo4AGQ9,
+PM(NepA]X~>
+JcE=]!pu[=q>^^q\aBFW!*K$2!g<VJnc&[a!)*($!cA"amf*@,!.ss["Zl_aXT7%arrVo4AGQ9,
+PM(NepA]X~>
+JcE=]!pu[=q>^^q\aBFW!*K$2!g<VJnc&[a!)*($!cA"amf*@,!.ss["Zl_aXT7%arrVo4AGQ9,
+PM(NepA]X~>
+JcEC_!SN2'!!>)Q!:Bab!d+L$qS*-B3rmt'rrR<CU\VY+\0s0#rr_rp41P+$#*T%Ns/c:S[Jp9\
+PPP7[FkM?Gq#>j~>
+JcEC_!SN2'!!>)Q!:Bab!d+L$qS*-B3rmt'rrR<CU\VY+\0s0#rr_rp41P+$#*T%Ns/c:S[Jp9\
+PPP7[FkM?Gq#>j~>
+JcEC_!SN2'!!>)Q!:Bab!d+L$qS*-B3rmt'rrR<CU\VY+\0s0#rr_rp41P+$#*T%Ns/c:S[Jp9\
+PPP7[FkM?Gq#>j~>
+JcEIa!Q7e1!!RM`s/c:SrVlu[1B<X:^B:`6!1WHW"/c,\\GErAA,raurrSAaDYh*Q\0q@1s+LI?
+Zi:+#XYotU!Hm(Hs8)bG~>
+JcEIa!Q7e1!!RM`s/c:SrVlu[1B<X:^B:`6!1WHW"/c,\\GErAA,raurrSAaDYh*Q\0q@1s+LI?
+Zi:+#XYotU!Hm(Hs8)bG~>
+JcEIa!Q7e1!!RM`s/c:SrVlu[1B<X:^B:`6!1WHW"/c,\\GErAA,raurrSAaDYh*Q\0q@1s+LI?
+Zi:+#XYotU!Hm(Hs8)bG~>
+JcERd!qr`RqZ$[TU$_jZ!j)IUr;R/C!!$,jUSE&^!!#garrA8^!!,`trP&KFA,p*4m/I4^:&o1A
+rP&T;3rkuSs)e=GrrVo4:\t+mFmXb[r;V9~>
+JcERd!qr`RqZ$[TU$_jZ!j)IUr;R/C!!$,jUSE&^!!#garrA8^!!,`trP&KFA,p*4m/I4^:&o1A
+rP&T;3rkuSs)e=GrrVo4:\t+mFmXb[r;V9~>
+JcERd!qr`RqZ$[TU$_jZ!j)IUr;R/C!!$,jUSE&^!!#garrA8^!!,`trP&KFA,p*4m/I4^:&o1A
+rP&T;3rkuSs)e=GrrVo4:\t+mFmXb[r;V9~>
+JcEXf!pu[=qZ$[n`:j-/!m^kKqu6]W@f-3.&c_pMo)AaaL&1iTDNgQ7-id`MlMh4O1]TU^Ru;.a
+!0dE^s#$qY!Q7e2!!/;NJcG`LJ,~>
+JcEXf!pu[=qZ$[n`:j-/!m^kKqu6]W@f-3.&c_pMo)AaaL&1iTDNgQ7-id`MlMh4O1]TU^Ru;.a
+!0dE^s#$qY!Q7e2!!/;NJcG`LJ,~>
+JcEXf!pu[=qZ$[n`:j-/!m^kKqu6]W@f-3.&c_pMo)AaaL&1iTDNgQ7-id`MlMh4O1]TU^Ru;.a
+!0dE^s#$qY!Q7e2!!/;NJcG`LJ,~>
+JcE^h!UZ*I!!.f,q>UNL!295g"66MI*<#p<2Y-kKp14+%!gBoGqu?bkp?;MWp65CS!DUN2rrE+B
+X8`4=:](1o26HS'rrE(L~>
+JcE^h!UZ*I!!.f,q>UNL!295g"66MI*<#p<2Y-kKp14+%!gBoGqu?bkp?;MWp65CS!DUN2rrE+B
+X8`4=:](1o26HS'rrE(L~>
+JcE^h!UZ*I!!.f,q>UNL!295g"66MI*<#p<2Y-kKp14+%!gBoGqu?bkp?;MWp65CS!DUN2rrE+B
+X8`4=:](1o26HS'rrE(L~>
+JcEdj!UZ*I!!/;NpAY-nFnu%<p7_Ba!2oGg!TQ'9!!&_lrrcj4!+bfarrr,LP5o0frVlrP!26Cl
+!Q7e3!!,m6JcC6~>
+JcEdj!UZ*I!!/;NpAY-nFnu%<p7_Ba!2oGg!TQ'9!!&_lrrcj4!+bfarrr,LP5o0frVlrP!26Cl
+!Q7e3!!,m6JcC6~>
+JcEdj!UZ*I!!/;NpAY-nFnu%<p7_Ba!2oGg!TQ'9!!&_lrrcj4!+bfarrr,LP5o0frVlrP!26Cl
+!Q7e3!!,m6JcC6~>
+JcEjl!UZ*J!!5$[p@S@c:B:7k!TQuQ!!(^ErrM.;r;Zi9rVuis!/9D3!;?Bl#*&?Vs1&-?VuHe.
+2>dFTFlS,SJ,~>
+JcEjl!UZ*J!!5$[p@S@c:B:7k!TQuQ!!(^ErrM.;r;Zi9rVuis!/9D3!;?Bl#*&?Vs1&-?VuHe.
+2>dFTFlS,SJ,~>
+JcEjl!UZ*J!!5$[p@S@c:B:7k!TQuQ!!(^ErrM.;r;Zi9rVuis!/9D3!;?Bl#*&?Vs1&-?VuHe.
+2>dFTFlS,SJ,~>
+JcEpn!VW5a!!5$[p@A4bP5sY@rrB1s!!(^FrrC"9!!+t;rVllYrVuqPiVro(r;[!W`;c#$j/2hW
+p9"2l!Nl'Ls*t~>
+JcEpn!VW5a!!5$[p@A4bP5sY@rrB1s!!(^FrrC"9!!+t;rVllYrVuqPiVro(r;[!W`;c#$j/2hW
+p9"2l!Nl'Ls*t~>
+JcEpn!VW5a!!5$[p@A4bP5sY@rrB1s!!(^FrrC"9!!+t;rVllYrVuqPiVro(r;[!W`;c#$j/2hW
+p9"2l!Nl'Ls*t~>
+JcF!p!qr`Rqu?dUXnM8a!kA<Arr3#ZAG?-)g%PFG`;KZ:2<4W7!+c'/!+=ab!&"0L!d-j1U]1A^
+L&:oO:YCL&J,~>
+JcF!p!qr`Rqu?dUXnM8a!kA<Arr3#ZAG?-)g%PFG`;KZ:2<4W7!+c'/!+=ab!&"0L!d-j1U]1A^
+L&:oO:YCL&J,~>
+JcF!p!qr`Rqu?dUXnM8a!kA<Arr3#ZAG?-)g%PFG`;KZ:2<4W7!+c'/!+=ab!&"0L!d-j1U]1A^
+L&:oO:YCL&J,~>
+JcF$q!Q6kn!!5$[p?qqbirFf5s1(#]!!(^HrrC"9!!-X(r;QcCqu?`jiVrmtq>^Oam@sU]fh_MG
+!MT4Cs*t~>
+JcF$q!Q6kn!!5$[p?qqbirFf5s1(#]!!(^HrrC"9!!-X(r;QcCqu?`jiVrmtq>^Oam@sU]fh_MG
+!MT4Cs*t~>
+JcF$q!Q6kn!!5$[p?qqbirFf5s1(#]!!(^HrrC"9!!-X(r;QcCqu?`jiVrmtq>^Oam@sU]fh_MG
+!MT4Cs*t~>
+JcF*s!SL9H!!5$[p?V_\:GqN^o`,!Fq#:>fr;Zk/pAFpkp,2aJ!6!jr!0d3Y!]@+RU]1AgXo&/"
+:YCU)J,~>
+JcF*s!SL9H!!5$[p?V_\:GqN^o`,!Fq#:>fr;Zk/pAFpkp,2aJ!6!jr!0d3Y!]@+RU]1AgXo&/"
+:YCU)J,~>
+JcF*s!SL9H!!5$[p?V_\:GqN^o`,!Fq#:>fr;Zk/pAFpkp,2aJ!6!jr!0d3Y!]@+RU]1AgXo&/"
+:YCU)J,~>
+JcF0u!UY%,!!/eel2LgK!%[[A!872J!0d?]!Hn,5rr@cM!!$QgrrB1q!!,m6UAk8SFo24?U%XEE
+J,~>
+JcF0u!UY%,!!/eel2LgK!%[[A!872J!0d?]!Hn,5rr@cM!!$QgrrB1q!!,m6UAk8SFo24?U%XEE
+J,~>
+JcF0u!UY%,!!/eel2LgK!%[[A!872J!0d?]!Hn,5rr@cM!!$QgrrB1q!!,m6UAk8SFo24?U%XEE
+J,~>
+JcF7"!VWYm!!/;NkPkV0!$:b4!;?9h!0d?]!0d9Z!71H@!:AeG!6"O1!Hm(irrKYfr;Zk/j,F"g~>
+JcF7"!VWYm!!/;NkPkV0!$:b4!;?9h!0d?]!0d9Z!71H@!:AeG!6"O1!Hm(irrKYfr;Zk/j,F"g~>
+JcF7"!VWYm!!/;NkPkV0!$:b4!;?9h!0d?]!0d9Z!71H@!:AeG!6"O1!Hm(irrKYfr;Zk/j,F"g~>
+JcF:#!RFR>!!.5qjSo<>1T`P.!;c]qPPkI]PPY:[p,2XG!4h+h!86rD!0a/W!UXFr!!+sfNW4M~>
+JcF:#!RFR>!!.5qjSo<>1T`P.!;c]qPPkI]PPY:[p,2XG!4h+h!86rD!0a/W!UXFr!!+sfNW4M~>
+JcF:#!RFR>!!.5qjSo<>1T`P.!;c]qPPkI]PPY:[p,2XG!4h+h!86rD!0a/W!UXFr!!+sfNW4M~>
+JcF@%!UY%-!!,m6ir9.F!6"SppAk*j!0d?]!0d6Y!/:1J!)MVS!:BCY!G(5`rrB2!!!.fIO8j_~>
+JcF@%!UY%-!!,m6ir9.F!6"SppAk*j!0d?]!0d6Y!/:1J!)MVS!:BCY!G(5`rrB2!!!.fIO8j_~>
+JcF@%!UY%-!!,m6ir9.F!6"SppAk*j!0d?]!0d6Y!/:1J!)MVS!:BCY!G(5`rrB2!!!.fIO8j_~>
+JcFC&!Ne6W!!04qiVs,B!-S>Aj?<;=r;Qb\r;Zh]q>UH@p&G*QirAZO!3Mgl!TQuS!!-WjOT0h~>
+JcFC&!Ne6W!!04qiVs,B!-S>Aj?<;=r;Qb\r;Zh]q>UH@p&G*QirAZO!3Mgl!TQuS!!-WjOT0h~>
+JcFC&!Ne6W!!04qiVs,B!-S>Aj?<;=r;Qb\r;Zh]q>UH@p&G*QirAZO!3Mgl!TQuS!!-WjOT0h~>
+JcFI(!TR_g!!.60hZ!Xf!:Bdc!P(Vq!<)ot\buL.PPP4Zp,2OD!28EP!)N@i!G(5[rrMhWr;ZjU
+`0((M~>
+JcFI(!TR_g!!.60hZ!Xf!:Bdc!P(Vq!<)ot\buL.PPP4Zp,2OD!28EP!)N@i!G(5[rrMhWr;ZjU
+`0((M~>
+JcFI(!TR_g!!.60hZ!Xf!:Bdc!P(Vq!<)ot\buL.PPP4Zp,2OD!28EP!)N@i!G(5[rrMhWr;ZjU
+`0((M~>
+JcFO*!VWYn!!,mAh#@Go!0d?\!Q7e4!<2uu`;KZ9PPG.XL%PEG:ZDBSFnbq:PF2@M`;BT8Tp#G+~>
+JcFO*!VWYn!!,mAh#@Go!0d?\!Q7e4!<2uu`;KZ9PPG.XL%PEG:ZDBSFnbq:PF2@M`;BT8Tp#G+~>
+JcFO*!VWYn!!,mAh#@Go!0d?\!Q7e4!<2uu`;KZ9PPG.XL%PEG:ZDBSFnbq:PF2@M`;BT8Tp#G+~>
+JcFR+!SL9H!!/eegA_4M!:B[`#.ZSk2?3]pr;Zh]q#:??o)Jd:j8T+CpAb3RR/[3I:]17oL%^c2
+J,~>
+JcFR+!SL9H!!/eegA_4M!:B[`#.ZSk2?3]pr;Zh]q#:??o)Jd:j8T+CpAb3RR/[3I:]17oL%^c2
+J,~>
+JcFR+!SL9H!!/eegA_4M!:B[`#.ZSk2?3]pr;Zh]q#:??o)Jd:j8T+CpAb3RR/[3I:]17oL%^c2
+J,~>
+JcFU,!3Q/!!G'm9rrU+=PPY:^p8rK;ci!hDPPG.Yp,2FA!0cIC!3Q/!"Kf3728kg\!VU[7!!-Wt
+Q2c@~>
+JcFU,!3Q/!!G'm9rrU+=PPY:^p8rK;ci!hDPPG.Yp,2FA!0cIC!3Q/!"Kf3728kg\!VU[7!!-Wt
+Q2c@~>
+JcFU,!3Q/!!G'm9rrU+=PPY:^p8rK;ci!hDPPG.Yp,2FA!0cIC!3Q/!"Kf3728kg\!VU[7!!-Wt
+Q2c@~>
+JcF[.!TR_g!!'.OrrPsrg%bRJj#-f9!+bg'#34CIXbCU6q#CCPj8T+trW!+4j8].Qj-0KCU&=rl
+2<1#&J,~>
+JcF[.!TR_g!!'.OrrPsrg%bRJj#-f9!+bg'#34CIXbCU6q#CCPj8T+trW!+4j8].Qj-0KCU&=rl
+2<1#&J,~>
+JcF[.!TR_g!!'.OrrPsrg%bRJj#-f9!+bg'#34CIXbCU6q#CCPj8T+trW!+4j8].Qj-0KCU&=rl
+2<1#&J,~>
+JcF^/!4i"-!G(6?rrULHFnu%<j#-f9!G(olrs7*%`3#5GA,sR/rr]e3&@mc"!6"g9!B&2is*t~>
+JcF^/!4i"-!G(6?rrULHFnu%<j#-f9!G(olrs7*%`3#5GA,sR/rr]e3&@mc"!6"g9!B&2is*t~>
+JcF^/!4i"-!G(6?rrULHFnu%<j#-f9!G(olrs7*%`3#5GA,sR/rr]e3&@mc"!6"g9!B&2is*t~>
+JcFd1!VU[6!!'.KrrR<C\blC-p14.&!G(oErrQ='abp*!j#-c8!5t9)J,~>
+JcFd1!VU[6!!'.KrrR<C\blC-p14.&!G(oErrQ='abp*!j#-c8!5t9)J,~>
+JcFd1!VU[6!!'.KrrR<C\blC-p14.&!G(oErrQ='abp*!j#-c8!5t9)J,~>
+JcFg2!SK@/!!,mUd/O48!&a0BrrMh(rVusVj2_0$XT4'2rrM.jr;Zi9RK%d~>
+JcFg2!SK@/!!,mUd/O48!&a0BrrMh(rVusVj2_0$XT4'2rrM.jr;Zi9RK%d~>
+JcFg2!SK@/!!,mUd/O48!&a0BrrMh(rVusVj2_0$XT4'2rrM.jr;Zi9RK%d~>
+JcFj3!29;j!L*6&rrT;&FoD=?PPtO_2<2aW"60A=p4rYKp14+%!3M^iJ,~>
+JcFj3!29;j!L*6&rrT;&FoD=?PPtO_2<2aW"60A=p4rYKp14+%!3M^iJ,~>
+JcFj3!29;j!L*6&rrT;&FoD=?PPtO_2<2aW"60A=p4rYKp14+%!3M^iJ,~>
+JcFp5!VU(&!!+t'bPq`V!3Q;$Xo/5"cc?%fp.k\7L&V2IAGlK.PFMT&~>
+JcFp5!VU(&!!+t'bPq`V!3Q;$Xo/5"cc?%fp.k\7L&V2IAGlK.PFMT&~>
+JcFp5!VU(&!!+t'bPq`V!3Q;$Xo/5"cc?%fp.k\7L&V2IAGlK.PFMT&~>
+JcFs6!SK@/!!-Wtb5VV32#u=Jr;Zi9`r?*o!0`$7!0d?]!0`rQJ,~>
+JcFs6!SK@/!!-Wtb5VV32#u=Jr;Zi9`r?*o!0`$7!0d?]!0`rQJ,~>
+JcFs6!SK@/!!-Wtb5VV32#u=Jr;Zi9`r?*o!0`$7!0d?]!0`rQJ,~>
+JcG!7!3Q/!!3O<A"4$s#0E(qOPK*V)T`AWsJc>_6r;Zh]Sc=3~>
+JcG!7!3Q/!!3O<A"4$s#0E(qOPK*V)T`AWsJc>_6r;Zh]Sc=3~>
+JcG!7!3Q/!!3O<A"4$s#0E(qOPK*V)T`AWsJc>_6r;Zh]Sc=3~>
+JcG'9!VV6G!!+t'dJj6@p@nReVu6SqFiOF`_uM[^JcGcM!0d?]!0a#SJ,~>
+JcG'9!VV6G!!+t'dJj6@p@nReVu6SqFiOF`_uM[^JcGcM!0d?]!0a#SJ,~>
+JcG'9!VV6G!!+t'dJj6@p@nReVu6SqFiOF`_uM[^JcGcM!0d?]!0a#SJ,~>
+JcG*:!TR_h!!-WtdJj<B!)M;Crr@3@!!,dea8Z7[!&`efs8DrtPPkI]TqD@8~>
+JcG*:!TR_h!!-WtdJj<B!)M;Crr@3@!!,dea8Z7[!&`efs8DrtPPkI]TqD@8~>
+JcG*:!TR_h!!-WtdJj<B!)M;Crr@3@!!,dea8Z7[!&`efs8DrtPPkI]TqD@8~>
+JcG-;!SK@/!!&50rrCaN!!)E_rrB2"!!-6raSu@\!!'t%rrMi>Q2^iJr;Zi9T`9N~>
+JcG-;!SK@/!!&50rrCaN!!)E_rrB2"!!-6raSu@\!!'t%rrMi>Q2^iJr;Zi9T`9N~>
+JcG-;!SK@/!!&50rrCaN!!)E_rrB2"!!-6raSu@\!!'t%rrMi>Q2^iJr;Zi9T`9N~>
+JcG0<!6"d8!6!7a!VSDM!!'.trrCaN!!>pqAG41G"2k0>`9I:(p1+0AQ2^iJr;Zi9U&TW~>
+JcG0<!6"d8!6!7a!VSDM!!'.trrCaN!!>pqAG41G"2k0>`9I:(p1+0AQ2^iJr;Zi9U&TW~>
+JcG0<!6"d8!6!7a!VSDM!!'.trrCaN!!>pqAG41G"2k0>`9I:(p1+0AQ2^iJr;Zi9U&TW~>
+JcG3=!0d?]!B&o`rr@3@!!$R+rrMLErW!+qp2p@Gj37N*\GuWJl2LeXAGuQ/`0L?&PPkI]chdYB
+\V7*aJ,~>
+JcG3=!0d?]!B&o`rr@3@!!$R+rrMLErW!+qp2p@Gj37N*\GuWJl2LeXAGuQ/`0L?&PPkI]chdYB
+\V7*aJ,~>
+JcG3=!0d?]!B&o`rr@3@!!$R+rrMLErW!+qp2p@Gj37N*\GuWJl2LeXAGuQ/`0L?&PPkI]chdYB
+\V7*aJ,~>
+JcG9?!VV6G!!-X(ci4!IrVusVmJ?h_AGuQ/AH)T2P5mJncMn!1!&`HnrrMhIr;ZhkQ2^i,rVusV
+j8Ju[j(&-IX8d\~>
+JcG9?!VV6G!!-X(ci4!IrVusVmJ?h_AGuQ/AH)T2P5mJncMn!1!&`HnrrMhIr;ZhkQ2^i,rVusV
+j8Ju[j(&-IX8d\~>
+JcG9?!VV6G!!-X(ci4!IrVusVmJ?h_AGuQ/AH)T2P5mJncMn!1!&`HnrrMhIr;ZhkQ2^i,rVusV
+j8Ju[j(&-IX8d\~>
+JcG<@!VU(&!!/;Wci4!kr;ZiDqYpPtrVusVmJ[%eXT/@'dJj@:A,oEcjo5=Er;Zh]QN%!ZAGuQ3
+2=:GDXo/7#s*t~>
+JcG<@!VU(&!!/;Wci4!kr;ZiDqYpPtrVusVmJ[%eXT/@'dJj@:A,oEcjo5=Er;Zh]QN%!ZAGuQ3
+2=:GDXo/7#s*t~>
+JcG<@!VU(&!!/;Wci4!kr;ZiDqYpPtrVusVmJ[%eXT/@'dJj@:A,oEcjo5=Er;Zh]QN%!ZAGuQ3
+2=:GDXo/7#s*t~>
+JcG?A!TQ'9!!'.HrrMLErVuqlqYpQKr;ZiNqu6fF2#qddeGfZ^2#qdmj8T+Cr;Zh]QN%!ZAGuQ1
+AD:Ym!!)Dfs*t~>
+JcG?A!TQ'9!!'.HrrMLErVuqlqYpQKr;ZiNqu6fF2#qddeGfZ^2#qdmj8T+Cr;Zh]QN%!ZAGuQ1
+AD:Ym!!)Dfs*t~>
+JcG?A!TQ'9!!'.HrrMLErVuqlqYpQKr;ZiNqu6fF2#qddeGfZ^2#qdmj8T+Cr;Zh]QN%!ZAGuQ1
+AD:Ym!!)Dfs*t~>
+JcGBB!TQ'9!!'s_rrMh(rVuq/qYpTi:]:=oU&"]km:62S\b,n'`6\/?rrh_3!!'.ZrrA8]!!.fI
+Qi@*H2>7(NfrY4(~>
+JcGBB!TQ'9!!'s_rrMh(rVuq/qYpTi:]:=oU&"]km:62S\b,n'`6\/?rrh_3!!'.ZrrA8]!!.fI
+Qi@*H2>7(NfrY4(~>
+JcGBB!TQ'9!!'s_rrMh(rVuq/qYpTi:]:=oU&"]km:62S\b,n'`6\/?rrh_3!!'.ZrrA8]!!.fI
+Qi@*H2>7(NfrY4(~>
+JcGEC!Q6kp!!+t1c2Rd-rVusVpA4dhL&M&PAG6$+XT/?3g%PIF!!&_Xrrr+u2#q1IhZ!S>r;Zk/
+p6YdZj7`NRc`I.s~>
+JcGEC!Q6kp!!+t1c2Rd-rVusVpA4dhL&M&PAG6$+XT/?3g%PIF!!&_Xrrr+u2#q1IhZ!S>r;Zk/
+p6YdZj7`NRc`I.s~>
+JcGEC!Q6kp!!+t1c2Rd-rVusVpA4dhL&M&PAG6$+XT/?3g%PIF!!&_Xrrr+u2#q1IhZ!S>r;Zk/
+p6YdZj7`NRc`I.s~>
+JcGHD!6"g9!B&o^rrC"9!!(^KrrCCE!!+tEp&>3_FT;Dag%kXJg&:sOXmH&kp8p1P26GX5!4i%.
+!DhaDrrMhepAb2qXT*e~>
+JcGHD!6"g9!B&o^rrC"9!!(^KrrCCE!!+tEp&>3_FT;Dag%kXJg&:sOXmH&kp8p1P26GX5!4i%.
+!DhaDrrMhepAb2qXT*e~>
+JcGHD!6"g9!B&o^rrC"9!!(^KrrCCE!!+tEp&>3_FT;Dag%kXJg&:sOXmH&kp8p1P26GX5!4i%.
+!DhaDrrMhepAb2qXT*e~>
+JcGKE!6"g9!G(TBrrD*X!!'S+rrMLErVur/o)Am>:B1B;chm_BXo8;#j6lpOmB&5G!0cg'rrC"9
+!!+t;S,WNB:\FbgU$DXXpANYE\c/]2`;SB:s*t~>
+JcGKE!6"g9!G(TBrrD*X!!'S+rrMLErVur/o)Am>:B1B;chm_BXo8;#j6lpOmB&5G!0cg'rrC"9
+!!+t;S,WNB:\FbgU$DXXpANYE\c/]2`;SB:s*t~>
+JcGKE!6"g9!G(TBrrD*X!!'S+rrMLErVur/o)Am>:B1B;chm_BXo8;#j6lpOmB&5G!0cg'rrC"9
+!!+t;S,WNB:\FbgU$DXXpANYE\c/]2`;SB:s*t~>
+JcGNF!4i%.!G(oKrrMLErVuq^q>UG;rVuqPn,EU1A,lU*U#Z.P"(VB32=UVIp;D[a!!/;Nf)Gcs
+2>mLT`1Hu0p4`,=!-Ri3"lmq2Klo9B!!Q/@PHEO*g&HR~>
+JcGNF!4i%.!G(oKrrMLErVuq^q>UG;rVuqPn,EU1A,lU*U#Z.P"(VB32=UVIp;D[a!!/;Nf)Gcs
+2>mLT`1Hu0p4`,=!-Ri3"lmq2Klo9B!!Q/@PHEO*g&HR~>
+JcGNF!4i%.!G(oKrrMLErVuq^q>UG;rVuqPn,EU1A,lU*U#Z.P"(VB32=UVIp;D[a!!/;Nf)Gcs
+2>mLT`1Hu0p4`,=!-Ri3"lmq2Klo9B!!Q/@PHEO*g&HR~>
+JcGQG!0d?]!G(oJrrA8^!!-X(qYpQ+rVusVp?hk\fouC8!`,N2rVuqPoD\mP\V:"_!`,rle,KI/
+2>mLTc_(4<p4`,=!-S#8"8:'CFo).?:N^gYXT6<=f`8S^XTP8>FZ''s"#Y5'g"l[Y~>
+JcGQG!0d?]!G(oJrrA8^!!-X(qYpQ+rVusVp?hk\fouC8!`,N2rVuqPoD\mP\V:"_!`,rle,KI/
+2>mLTc_(4<p4`,=!-S#8"8:'CFo).?:N^gYXT6<=f`8S^XTP8>FZ''s"#Y5'g"l[Y~>
+JcGQG!0d?]!G(oJrrA8^!!-X(qYpQ+rVusVp?hk\fouC8!`,N2rVuqPoD\mP\V:"_!`,rle,KI/
+2>mLTc_(4<p4`,=!-S#8"8:'CFo).?:N^gYXT6<=f`8S^XTP8>FZ''s"#Y5'g"l[Y~>
+JcGTH!0d?]!0bP)"-W^BmJ?h`m5=kC!70s1!qsQdqZ$YN\c1:^rs%lDg!?doFo;:A:QsJXrrqe#
+!!$R'Sc8`D:\=_`rrV5kFo;:C:PGq(j88i[mDQ-/\`<Jb"QRh1KhqXI!en2PiW"E~>
+JcGTH!0d?]!0bP)"-W^BmJ?h`m5=kC!70s1!qsQdqZ$YN\c1:^rs%lDg!?doFo;:A:QsJXrrqe#
+!!$R'Sc8`D:\=_`rrV5kFo;:C:PGq(j88i[mDQ-/\`<Jb"QRh1KhqXI!en2PiW"E~>
+JcGTH!0d?]!0bP)"-W^BmJ?h`m5=kC!70s1!qsQdqZ$YN\c1:^rs%lDg!?doFo;:A:QsJXrrqe#
+!!$R'Sc8`D:\=_`rrV5kFo;:C:PGq(j88i[mDQ-/\`<Jb"QRh1KhqXI!en2PiW"E~>
+JcGWI!0d?]!0bJ'!P-nZrr@cP!!%`8rrVo??17gr:PH@>bPq\<Kf/RmrrKYfpAk-k!q!*crW!%2
+U!NH-rrLeqqZ$Y>g%G@ImDP2arW!"1\b>+aJ,~>
+JcGWI!0d?]!0bJ'!P-nZrr@cP!!%`8rrVo??17gr:PH@>bPq\<Kf/RmrrKYfpAk-k!q!*crW!%2
+U!NH-rrLeqqZ$Y>g%G@ImDP2arW!"1\b>+aJ,~>
+JcGWI!0d?]!0bJ'!P-nZrr@cP!!%`8rrVo??17gr:PH@>bPq\<Kf/RmrrKYfpAk-k!q!*crW!%2
+U!NH-rrLeqqZ$Y>g%G@ImDP2arW!"1\b>+aJ,~>
+JcGZJ!0d?]!0b+r!71WE!B'T3rsL[a!+"9gXf\:>FbTgs!RKH;rrDGRrrMhWp](HWs8U#[rW!"R
+\aB(i$cE#FA@^CH\TIlPXn)JnmC?d,!!.f,k5Tr~>
+JcGZJ!0d?]!0b+r!71WE!B'T3rsL[a!+"9gXf\:>FbTgs!RKH;rrDGRrrMhWp](HWs8U#[rW!"R
+\aB(i$cE#FA@^CH\TIlPXn)JnmC?d,!!.f,k5Tr~>
+JcGZJ!0d?]!0b+r!71WE!B'T3rsL[a!+"9gXf\:>FbTgs!RKH;rrDGRrrMhWp](HWs8U#[rW!"R
+\aB(i$cE#FA@^CH\TIlPXn)JnmC?d,!!.f,k5Tr~>
+JcG]K!0d?]!0b+r!VSDM!!(@+rrD*Y!!&^Ds3(ECfld,k#L^.Y!!#g*mIU>[_uM[@qu6cE2#scJ
+rs%km:B1Aj`9@5O~>
+JcG]K!0d?]!0b+r!VSDM!!(@+rrD*Y!!&^Ds3(ECfld,k#L^.Y!!#g*mIU>[_uM[@qu6cE2#scJ
+rs%km:B1Aj`9@5O~>
+JcG]K!0d?]!0b+r!VSDM!!(@+rrD*Y!!&^Ds3(ECfld,k#L^.Y!!#g*mIU>[_uM[@qu6cE2#scJ
+rs%km:B1Aj`9@5O~>
+JcG`L!0d?]!0b(q!29Al!-R?%!29Al!82r'ao;C[2>dFW+TMM+g%#(Em/T$(q>UQW2#u\)rrp_k
+!!#g5lMlA~>
+JcG`L!0d?]!0b(q!29Al!-R?%!29Al!82r'ao;C[2>dFW+TMM+g%#(Em/T$(q>UQW2#u\)rrp_k
+!!#g5lMlA~>
+JcG`L!0d?]!0b(q!29Al!-R?%!29Al!82r'ao;C[2>dFW+TMM+g%#(Em/T$(q>UQW2#u\)rrp_k
+!!#g5lMlA~>
+JcGcM!6"g9!0b(q!9=%Y!B'9)rrZd3!&]?-a8Z26Xo&/"NpZ<8!g<Vpp\t<5!/9e>"lkdH!+adL
+s*t~>
+JcGcM!6"g9!0b(q!9=%Y!B'9)rrZd3!&]?-a8Z26Xo&/"NpZ<8!g<Vpp\t<5!/9e>"lkdH!+adL
+s*t~>
+JcGcM!6"g9!0b(q!9=%Y!B'9)rrZd3!&]?-a8Z26Xo&/"NpZ<8!g<Vpp\t<5!/9e>"lkdH!+adL
+s*t~>
+Jc>cN`;KZ9PIphpAGuQ/XlKE]mJ[(cPC`bRrrMM(r;ZhOmf*:f:\F_h:B:+Srrq(u!!&_dmf.e~>
+Jc>cN`;KZ9PIphpAGuQ/XlKE]mJ[(cPC`bRrrMM(r;ZhOmf*:f:\F_h:B:+Srrq(u!!&_dmf.e~>
+Jc>cN`;KZ9PIphpAGuQ/XlKE]mJ[(cPC`bRrrMM(r;ZhOmf*:f:\F_h:B:+Srrq(u!!&_dmf.e~>
+Jc>_gr;Zh]]DhlLrVupoir9"hrVur:JcEdj#gY@.>p]OO2=9o5!ndR;p&>)e!86W:"OBjD:YG4:
+J,~>
+Jc>_gr;Zh]]DhlLrVupoir9"hrVur:JcEdj#gY@.>p]OO2=9o5!ndR;p&>)e!86W:"OBjD:YG4:
+J,~>
+Jc>_gr;Zh]]DhlLrVupoir9"hrVur:JcEdj#gY@.>p]OO2=9o5!ndR;p&>)e!86W:"OBjD:YG4:
+J,~>
+K)Yhsr;Zh]]Dhp*2?!RUg#E#3AGuQ/p4<7brs4eg!3Q:3!+5-^rrUjRXnD\qXT7&<rri%h!!'.j
+s*t~>
+K)Yhsr;Zh]]Dhp*2?!RUg#E#3AGuQ/p4<7brs4eg!3Q:3!+5-^rrUjRXnD\qXT7&<rri%h!!'.j
+s*t~>
+K)Yhsr;Zh]]Dhp*2?!RUg#E#3AGuQ/p4<7brs4eg!3Q:3!+5-^rrUjRXnD\qXT7&<rri%h!!'.j
+s*t~>
+KDtu42?!RVAG3Y8!29Al!/9G4!:Bac!/7<M!L)Q@rri%+!)MYSrrCa>rrUjRXnD\qXT7&:rrgY*
+!0d-Is*t~>
+KDtu42?!RVAG3Y8!29Al!/9G4!:Bac!/7<M!L)Q@rri%+!)MYSrrCa>rrUjRXnD\qXT7&:rrgY*
+!0d-Is*t~>
+KDtu42?!RVAG3Y8!29Al!/9G4!:Bac!/7<M!L)Q@rri%+!)MYSrrCa>rrUjRXnD\qXT7&:rrgY*
+!0d-Is*t~>
+K`;)52?!RVAG3Y8!:Bac!B'9(rrh_C!!'s8rr]A'!3N4""SQ@+AG56e!pou1p&>)I!9<2@"QO"m
+AG5WpJ,~>
+K`;)52?!RVAG3Y8!:Bac!B'9(rrh_C!!'s8rr]A'!3N4""SQ@+AG56e!pou1p&>)I!9<2@"QO"m
+AG5WpJ,~>
+K`;)52?!RVAG3Y8!:Bac!B'9(rrh_C!!'s8rr]A'!3N4""SQ@+AG56e!pou1p&>)I!9<2@"QO"m
+AG5WpJ,~>
+L&V2I:]:=pAG44H!9<VL!/:CP!3P/Y!qsS+W;ckXr;Zk/j/`1^p1+/ejo5BX!:BO\!qlUij8T8U
+A,p06o`'F~>
+L&V2I:]:=pAG44H!9<VL!/:CP!3P/Y!qsS+W;ckXr;Zk/j/`1^p1+/ejo5BX!:BO\!qlUij8T8U
+A,p06o`'F~>
+L&V2I:]:=pAG44H!9<VL!/:CP!3P/Y!qsS+W;ckXr;Zk/j/`1^p1+/ejo5BX!:BO\!qlUij8T8U
+A,p06o`'F~>
+LAq;JAGuQ02<2m[!lP)&oD\gDrVuspp4NAGj%oRQ!MT4irr_t*!0cLD!j)HVp\t;K!3P8\"867*
+FnG]a~>
+LAq;JAGuQ02<2m[!lP)&oD\gDrVuspp4NAGj%oRQ!MT4irr_t*!0cLD!j)HVp\t;K!3P8\"867*
+FnG]a~>
+LAq;JAGuQ02<2m[!lP)&oD\gDrVuspp4NAGj%oRQ!MT4irr_t*!0cLD!j)HVp\t;K!3P8\"867*
+FnG]a~>
+LAq7;rVusVj3.H&g&:sOPP"kTFoD@@`.@php7_Ba!Dh%FrrR<CPN)TD;#lgUrr]e34ndk7"867*
+PP+s+~>
+LAq7;rVusVj3.H&g&:sOPP"kTFoD@@`.@php7_Ba!Dh%FrrR<CPN)TD;#lgUrr]e34ndk7"867*
+PP+s+~>
+LAq7;rVusVj3.H&g&:sOPP"kTFoD@@`.@php7_Ba!Dh%FrrR<CPN)TD;#lgUrr]e34ndk7"867*
+PP+s+~>
+L]7@Jr;ZiDbPqV'2?!RUAG,s&ci*nEA:ad[rrLe`qu?b?mBZ`oXT2o*jSo86FoD@AFlWH#!UYU?
+!!-W`iVs#R:B8`7s*t~>
+L]7@Jr;ZiDbPqV'2?!RUAG,s&ci*nEA:ad[rrLe`qu?b?mBZ`oXT2o*jSo86FoD@AFlWH#!UYU?
+!!-W`iVs#R:B8`7s*t~>
+L]7@Jr;ZiDbPqV'2?!RUAG,s&ci*nEA:ad[rrLe`qu?b?mBZ`oXT2o*jSo86FoD@AFlWH#!UYU?
+!!-W`iVs#R:B8`7s*t~>
+M#RInr;Zi9bPqV'2?!RVAG5]r!)NRo!82r'r;Qf"2>dFTXnK1&"60A=mH+?_fl[8pFhqSg!)I`[
+A,lU?_0#_XFkPdS"60A=p@nT;~>
+M#RInr;Zi9bPqV'2?!RVAG5]r!)NRo!82r'r;Qf"2>dFTXnK1&"60A=mH+?_fl[8pFhqSg!)I`[
+A,lU?_0#_XFkPdS"60A=p@nT;~>
+M#RInr;Zi9bPqV'2?!RVAG5]r!)NRo!82r'r;Qf"2>dFTXnK1&"60A=mH+?_fl[8pFhqSg!)I`[
+A,lU?_0#_XFkPdS"60A=p@nT;~>
+M>mS9r;Zh]bPqV'2?!RVAG5]r!6"j:!-NkmqYpT`Fo24?28ls'!d+L]k5PVPP5kSng&D!P`.e-i
+!Hl?[rrq(u!!%0%j8T1_!0d0WJ,~>
+M>mS9r;Zh]bPqV'2?!RVAG5]r!6"j:!-NkmqYpT`Fo24?28ls'!d+L]k5PVPP5kSng&D!P`.e-i
+!Hl?[rrq(u!!%0%j8T1_!0d0WJ,~>
+M>mS9r;Zh]bPqV'2?!RVAG5]r!6"j:!-NkmqYpT`Fo24?28ls'!d+L]k5PVPP5kSng&D!P`.e-i
+!Hl?[rrq(u!!%0%j8T1_!0d0WJ,~>
+MZ3_E2?!RUL!0Jsj#-f9!G(orrr>jo!!(]'s7lTpcVOH=!DhadrrUjRFm&c.m?7MM:W3)/!<@9<
+rrp_E!!&5Mjo5GV:B9eWs*t~>
+MZ3_E2?!RUL!0Jsj#-f9!G(orrr>jo!!(]'s7lTpcVOH=!DhadrrUjRFm&c.m?7MM:W3)/!<@9<
+rrp_E!!&5Mjo5GV:B9eWs*t~>
+MZ3_E2?!RUL!0Jsj#-f9!G(orrr>jo!!(]'s7lTpcVOH=!DhadrrUjRFm&c.m?7MM:W3)/!<@9<
+rrp_E!!&5Mjo5GV:B9eWs*t~>
+MuNhOAGuQ0AG47I!TQ':!!+t;o`"p0rVuq@JcGHD!qr`Rr;ZiN\c2_R!86W:"no%u!)LQ.rrVlo
+Fnbn>`(p@5PO7N4!lP)&q#>j~>
+MuNhOAGuQ0AG47I!TQ':!!+t;o`"p0rVuq@JcGHD!qr`Rr;ZiN\c2_R!86W:"no%u!)LQ.rrVlo
+Fnbn>`(p@5PO7N4!lP)&q#>j~>
+MuNhOAGuQ0AG47I!TQ':!!+t;o`"p0rVuq@JcGHD!qr`Rr;ZiN\c2_R!86W:"no%u!)LQ.rrVlo
+Fnbn>`(p@5PO7N4!lP)&q#>j~>
+MuNd@rVusVmEGS2j#-f9!B&p/rr>jo!!)&1s7H<om?7MMFh.MRm/V:ors&2!2#oM9p@nRgf`7`=
+rrp=u!&^nPkPkTZ!;?6gJ,~>
+MuNd@rVusVmEGS2j#-f9!B&p/rr>jo!!)&1s7H<om?7MMFh.MRm/V:ors&2!2#oM9p@nRgf`7`=
+rrp=u!&^nPkPkTZ!;?6gJ,~>
+MuNd@rVusVmEGS2j#-f9!B&p/rr>jo!!)&1s7H<om?7MMFh.MRm/V:ors&2!2#oM9p@nRgf`7`=
+rrp=u!&^nPkPkTZ!;?6gJ,~>
+N;imrr;ZiNbl7_(2?!RV2<4<.!6"j:!0`!6nc&[DFlU%4!j)I@li..!2#oM9p@\Fef`8/Hrs&2!
+2#oM9p?DSYT`E%,s*t~>
+N;imrr;ZiNbl7_(2?!RV2<4<.!6"j:!0`!6nc&[DFlU%4!j)I@li..!2#oM9p@\Fef`8/Hrs&2!
+2#oM9p?DSYT`E%,s*t~>
+N;imrr;ZiNbl7_(2?!RV2<4<.!6"j:!0`!6nc&[DFlU%4!j)I@li..!2#oM9p@\Fef`8/Hrs&2!
+2#oM9p?DSYT`E%,s*t~>
+NW0"=r;Zi.bl7_(2?!RV2<49-!)NRo!98Y1VZ-^?!;>g["iO1:!0d-JrrT_2\aob(p8p1P27`#P
+!oj9Eq>Ys~>
+NW0"=r;Zi.bl7_(2?!RV2<49-!)NRo!98Y1VZ-^?!;>g["iO1:!0d-JrrT_2\aob(p8p1P27`#P
+!oj9Eq>Ys~>
+NW0"=r;Zi.bl7_(2?!RV2<49-!)NRo!98Y1VZ-^?!;>g["iO1:!0d-JrrT_2\aob(p8p1P27`#P
+!oj9Eq>Ys~>
+NrK.R:]:=oPKa%-j#-f9!B&p.rrC":!!%.ms/#_r!+bm)!qt=#qYp`F:B1BYmIC2XXT7&DrrqeR
+!!#g5li-tcAGQ7U~>
+NrK.R:]:=oPKa%-j#-f9!B&p.rrC":!!%.ms/#_r!+bm)!qt=#qYp`F:B1BYmIC2XXT7&DrrqeR
+!!#g5li-tcAGQ7U~>
+NrK.R:]:=oPKa%-j#-f9!B&p.rrC":!!%.ms/#_r!+bm)!qt=#qYp`F:B1BYmIC2XXT7&DrrqeR
+!!#g5li-tcAGQ7U~>
+NrK*5rVut0p<<O:2?!RV:ZM!F!-S8@!82r'VZ-_X!0d9Z!Q7e4!""A>s8Ubp!!%0/nG`XOJcN@T
+n,ERYP5kSY`;BQ:fu24sp\t8:!;ZYF~>
+NrK*5rVut0p<<O:2?!RV:ZM!F!-S8@!82r'VZ-_X!0d9Z!Q7e4!""A>s8Ubp!!%0/nG`XOJcN@T
+n,ERYP5kSY`;BQ:fu24sp\t8:!;ZYF~>
+NrK*5rVut0p<<O:2?!RV:ZM!F!-S8@!82r'VZ-_X!0d9Z!Q7e4!""A>s8Ubp!!%0/nG`XOJcN@T
+n,ERYP5kSY`;BQ:fu24sp\t8:!;ZYF~>
+O8f3jrVusVj3.H*cN!rUp@8._g&:sOFb0RhrrUjRXo/20p2p?8Ffh?5!!&p>!!%/pnG`O8:](1n
+U%[sT$12j8!-Qupp8p.L!!,g4q>UM=!;?9hJ,~>
+O8f3jrVusVj3.H*cN!rUp@8._g&:sOFb0RhrrUjRXo/20p2p?8Ffh?5!!&p>!!%/pnG`O8:](1n
+U%[sT$12j8!-Qupp8p.L!!,g4q>UM=!;?9hJ,~>
+O8f3jrVusVj3.H*cN!rUp@8._g&:sOFb0RhrrUjRXo/20p2p?8Ffh?5!!&p>!!%/pnG`O8:](1n
+U%[sT$12j8!-Qupp8p.L!!,g4q>UM=!;?9hJ,~>
+OT,=@r;Zi9ao;F\AG5Nm!/:CP!8690!7-5r"5,PqmEGS3f`8/PrrZd3AF9?q"h?Jj!+adOrsFqi
+!/7PnTeugGj6lpWfl[8pEDlicDMsE`!!&5ZrrSkog%t`!~>
+OT,=@r;Zi9ao;F\AG5Nm!/:CP!8690!7-5r"5,PqmEGS3f`8/PrrZd3AF9?q"h?Jj!+adOrsFqi
+!/7PnTeugGj6lpWfl[8pEDlicDMsE`!!&5ZrrSkog%t`!~>
+OT,=@r;Zi9ao;F\AG5Nm!/:CP!8690!7-5r"5,PqmEGS3f`8/PrrZd3AF9?q"h?Jj!+adOrsFqi
+!/7PnTeugGj6lpWfl[8pEDlicDMsE`!!&5ZrrSkog%t`!~>
+OoGIU:]:=oPI:DjmJ[(c:Z)0TcN$bCp4WGGPPtO_Fi;T*!ndRUrVlu%!+bg#rr_:3.IHU("0DQ!
+j8Ju\p6,Jep?hk`fl[8pA@VTQ"0+uoPPb@]K`LN:s*t~>
+OoGIU:]:=oPI:DjmJ[(c:Z)0TcN$bCp4WGGPPtO_Fi;T*!ndRUrVlu%!+bg#rr_:3.IHU("0DQ!
+j8Ju\p6,Jep?hk`fl[8pA@VTQ"0+uoPPb@]K`LN:s*t~>
+OoGIU:]:=oPI:DjmJ[(c:Z)0TcN$bCp4WGGPPtO_Fi;T*!ndRUrVlu%!+bg#rr_:3.IHU("0DQ!
+j8Ju\p6,Jep?hk`fl[8pA@VTQ"0+uoPPb@]K`LN:s*t~>
+OoGE8rVut0p9jo#PPtO^`8CRpL&M&Pj+[L5mJ?kb250'XrrUjRU&G#k2$!%>rrT;&POSSSirCt(
+qYpV\!28cZ!j)H&qS*-B3rmt3rrI6Bq>Ys~>
+OoGE8rVut0p9jo#PPtO^`8CRpL&M&Pj+[L5mJ?kb250'XrrUjRU&G#k2$!%>rrT;&POSSSirCt(
+qYpV\!28cZ!j)H&qS*-B3rmt3rrI6Bq>Ys~>
+OoGE8rVut0p9jo#PPtO^`8CRpL&M&Pj+[L5mJ?kb250'XrrUjRU&G#k2$!%>rrT;&POSSSirCt(
+qYpV\!28cZ!j)H&qS*-B3rmt3rrI6Bq>Ys~>
+P5bO.rVusVj0emip,)gM2;eE6mJ[(cA;'sap8p4K!!6]AmF;.;p&K77rrULHPP>+W2=UVIP5rPs
+rr_sP!;>g[!])77q7d!+!-S5>!DbTKs*t~>
+P5bO.rVusVj0emip,)gM2;eE6mJ[(cA;'sap8p4K!!6]AmF;.;p&K77rrULHPP>+W2=UVIP5rPs
+rr_sP!;>g[!])77q7d!+!-S5>!DbTKs*t~>
+P5bO.rVusVj0emip,)gM2;eE6mJ[(cA;'sap8p4K!!6]AmF;.;p&K77rrULHPP>+W2=UVIP5rPs
+rr_sP!;>g[!])77q7d!+!-S5>!DbTKs*t~>
+PQ([N2?!RU\[;A:\c)R/Xl'-YU&G#l`.@ph`-(kU!enSdf)GbH2?*UWXT7&KrrSAaj73-M!)N@h
+!hfV4mf*@7!,hPG!_WOerr3&e!-S,;J,~>
+PQ([N2?!RU\[;A:\c)R/Xl'-YU&G#l`.@ph`-(kU!enSdf)GbH2?*UWXT7&KrrSAaj73-M!)N@h
+!hfV4mf*@7!,hPG!_WOerr3&e!-S,;J,~>
+PQ([N2?!RU\[;A:\c)R/Xl'-YU&G#l`.@ph`-(kU!enSdf)GbH2?*UWXT7&KrrSAaj73-M!)N@h
+!hfV4mf*@7!,hPG!_WOerr3&e!-S,;J,~>
+PQ(W*rVuqPZi:#$rVurchu<g:!!"nMJcGcM!pu[=q#CGLg"?<0P5sYCs)e>8p\t;s!86rC!ndR;
+p\t<J!28i\!j)HlpV-cS!87AO!lP)@q>Ys~>
+PQ(W*rVuqPZi:#$rVurchu<g:!!"nMJcGcM!pu[=q#CGLg"?<0P5sYCs)e>8p\t;s!86rC!ndR;
+p\t<J!28i\!j)HlpV-cS!87AO!lP)@q>Ys~>
+PQ(W*rVuqPZi:#$rVurchu<g:!!"nMJcGcM!pu[=q#CGLg"?<0P5sYCs)e>8p\t;s!86rC!ndR;
+p\t<J!28i\!j)HlpV-cS!87AO!lP)@q>Ys~>
+PlC`orVusVp9ai"g&:sOPMcB?`;T`:Tn37@rrLH"q>^N6f`)3&!0dH_FTD.0rrT;&g%,.Ef`8/K
+rrVloFmf82XT5-j^B/ueg&D!QFTCIts*t~>
+PlC`orVusVp9ai"g&:sOPMcB?`;T`:Tn37@rrLH"q>^N6f`)3&!0dH_FTD.0rrT;&g%,.Ef`8/K
+rrVloFmf82XT5-j^B/ueg&D!QFTCIts*t~>
+PlC`orVusVp9ai"g&:sOPMcB?`;T`:Tn37@rrLH"q>^N6f`)3&!0dH_FTD.0rrT;&g%,.Ef`8/K
+rrVloFmf82XT5-j^B/ueg&D!QFTCIts*t~>
+Q2^mP2?!RUca3WOL&M&Pg#)f0:]:=om=G<5rrVo4AGlK.p=K?E2$EXQXT7&KrrSAag%,.Ef`8/K
+rrVloFmf82XT5-j^B]>jg&M*>!+bm)J,~>
+Q2^mP2?!RUca3WOL&M&Pg#)f0:]:=om=G<5rrVo4AGlK.p=K?E2$EXQXT7&KrrSAag%,.Ef`8/K
+rrVloFmf82XT5-j^B]>jg&M*>!+bm)J,~>
+Q2^mP2?!RUca3WOL&M&Pg#)f0:]:=om=G<5rrVo4AGlK.p=K?E2$EXQXT7&KrrSAag%,.Ef`8/K
+rrVloFmf82XT5-j^B]>jg&M*>!+bm)J,~>
+Q2^i,rVuqlZi:%!rVupohu<]0rVuqPJcGEC"7<X0L"?8.XT5L'_uQM*rrGmqnc&[N!/:1I!ndRU
+mf*?j!0d/l#C$7%s8S8_`;'@_~>
+Q2^i,rVuqlZi:%!rVupohu<]0rVuqPJcGEC"7<X0L"?8.XT5L'_uQM*rrGmqnc&[N!/:1I!ndRU
+mf*?j!0d/l#C$7%s8S8_`;'@_~>
+Q2^i,rVuqlZi:%!rVupohu<]0rVuqPJcGEC"7<X0L"?8.XT5L'_uQM*rrGmqnc&[N!/:1I!ndRU
+mf*?j!0d/l#C$7%s8S8_`;'@_~>
+QN$rqrVuspp<rsBp7^O.rrBV/!!'Rerr@3@!!(]'s2P'Dp,+_pp&HuDq>UN7!/9qBs#'QN!hfV?
+mf*@A!,hPG#!2hbs4IBJp]#a~>
+QN$rqrVuspp<rsBp7^O.rrBV/!!'Rerr@3@!!(]'s2P'Dp,+_pp&HuDq>UN7!/9qBs#'QN!hfV?
+mf*@A!,hPG#!2hbs4IBJp]#a~>
+QN$rqrVuspp<rsBp7^O.rrBV/!!'Rerr@3@!!(]'s2P'Dp,+_pp&HuDq>UN7!/9qBs#'QN!hfV?
+mf*@A!,hPG#!2hbs4IBJp]#a~>
+Qi@*R2?!RUg!]m'p1+/6p?)AT:]:=op>GrNmJ[(c:P&Q(rr`=4PI]B3rs#S*FoS-8PPY:]p,)j'
+nG`QR!4hq*"77s'p?hk]9`VHo^B]r&PQ1>e!71E>J,~>
+Qi@*R2?!RUg!]m'p1+/6p?)AT:]:=op>GrNmJ[(c:P&Q(rr`=4PI]B3rs#S*FoS-8PPY:]p,)j'
+nG`QR!4hq*"77s'p?hk]9`VHo^B]r&PQ1>e!71E>J,~>
+Qi@*R2?!RUg!]m'p1+/6p?)AT:]:=op>GrNmJ[(c:P&Q(rr`=4PI]B3rs#S*FoS-8PPY:]p,)j'
+nG`QR!4hq*"77s'p?hk]9`VHo^B]r&PQ1>e!71E>J,~>
+Qi@&.rVuqldf0@.2?!RUFm&c)j8K#YPMcB?PPtO^`.@sIrrCaL!!H)OXj?%rrs*'7\b8f!PP4tT
+"63/WU$r!`m56c]qu6clA,raurr^1>9=Xl6#HB0Pj8Y;CL%bOs~>
+Qi@&.rVuqldf0@.2?!RUFm&c)j8K#YPMcB?PPtO^`.@sIrrCaL!!H)OXj?%rrs*'7\b8f!PP4tT
+"63/WU$r!`m56c]qu6clA,raurr^1>9=Xl6#HB0Pj8Y;CL%bOs~>
+Qi@&.rVuqldf0@.2?!RUFm&c)j8K#YPMcB?PPtO^`.@sIrrCaL!!H)OXj?%rrs*'7\b8f!PP4tT
+"63/WU$r!`m56c]qu6clA,raurr^1>9=Xl6#HB0Pj8Y;CL%bOs~>
+R/[0)rVusVp='$A`;BT8\``tmPPtO^cf"g'mJ[(c:P&Q(rrBV&!!H)?TrmAJrsn'H!70\$!&^Ig
+\V1"`PO8AP_uM[5rVlueA,p0*rr[rT9<.s*#b*4BXoH<>:\OM^J,~>
+R/[0)rVusVp='$A`;BT8\``tmPPtO^cf"g'mJ[(c:P&Q(rrBV&!!H)?TrmAJrsn'H!70\$!&^Ig
+\V1"`PO8AP_uM[5rVlueA,p0*rr[rT9<.s*#b*4BXoH<>:\OM^J,~>
+R/[0)rVusVp='$A`;BT8\``tmPPtO^cf"g'mJ[(c:P&Q(rrBV&!!H)?TrmAJrsn'H!70\$!&^Ig
+\V1"`PO8AP_uM[5rVlueA,p0*rr[rT9<.s*#b*4BXoH<>:\OM^J,~>
+RK!<]2?!RUcdVmoPPkI^2:(Fb"#U&Y:Z)0PXo8;#XdT1hrlP0AgQQ1>!!'.nrrp^K2<4Coqu?an
+^&6OaXmP]Z$H)oE:SFn5!!$R'lMhCgK`D*GJp9og!29G2!&`g0s*t~>
+RK!<]2?!RUcdVmoPPkI^2:(Fb"#U&Y:Z)0PXo8;#XdT1hr5ns?gQQ1>!!'.nrrp^K2<4Coqu?an
+^&6OaXmP]Z$H)oE:SFn5!!$R'lMhCgK`D*GJp9og!29G2!&`g0s*t~>
+RK!<]2?!RUcdVmoPPkI^2:(Fb"#U&Y:Z)0PXo8;#Xd]7jrqab:!o&oLo)Jcmo`#*@!&`g1PPbC]
+:VH\Z!Nkb[rsH[E!)K;jFT;DPp?MYgp4WJH97hC]!!&_m_uM[Tp&BO~>
+RK!8NrVuqPeGfRCAGlK/AE2hP!71WE!28?N"njeR!&aJ$s4mVVft!;hp](<IoD\g/n,NIAnc&XM
+L&CuP:W2Dq!Q7b3!![T!s24m;ch.6f~>
+RK!8NrVuqPeGfRCAGlK/AE2hP!71WE!28?N"njeR!&aJ$s4mVVft!;hp](<IoD\g/n,NIAnc&XM
+L&CuP:W2Dq!Q7b3!![T!s24m;ch.6f~>
+RK!8NrVuqPeGfRCAGlK/AE2hP!71WE!28?N"njeR!&aJ$s4mVVft!;hp](<IoD\g/n,NIAnc&XM
+L&CuP:W2Dq!Q7b3!![T!s24m;ch.6f~>
+Rf<B@rVusVmFD4;fer^.!JU7/rrA8^!!)';rrBV/!!'-Ps472UmFeV*F\_u;g%,.CL%,-Cg$\n?
+f`:F!rsA)Gg%PIG\GuWJoDa=~>
+Rf<B@rVusVmFD4;fer^.!JU7/rrA8^!!)';rrBV/!!'-Ps472UmFeV*F\_u;g%,.CL%,-Cg$\n?
+f`:F!rsA)Gg%PIG\GuWJoDa=~>
+Rf<B@rVusVmFD4;fer^.!JU7/rrA8^!!)';rrBV/!!'-Ps472UmFeV*F\_u;g%,.CL%,-Cg$\n?
+f`:F!rsA)Gg%PIG\GuWJoDa=~>
+Rf<@urVur/ec,W[qu?`!jSoAV2#mVehZ!\r:B:*>s3L]Fj73-LXmlAk`5qr]p6,J6cgq*d~>
+Rf<@urVur/ec,W[qu?`!jSoAV2#mVehZ!\r:B:*>s3L]Fj73-LXmlAk`5qr]p6,J6cgq*d~>
+Rf<@urVur/ec,W[qu?`!jSoAV2#mVehZ!\r:B:*>s3L]Fj73-LXmlAk`5qr]p6,J6cgq*d~>
+S,WK!rVuq/f)GdEL&CuP2:(=_!6"j:!4gnb!98Y1gA_0Ojo5P<Xck"1:SI]g!6"ih!;=P7"QO"m
+:ZM!FJ,~>
+S,WK!rVuq/f)GdEL&CuP2:(=_!6"j:!4gnb!98Y1^&J;iXck"1:SI]g!6"ih!;=P7"QO"m:ZM!F
+J,~>
+S,WK!rVuq/f)GdEL&CuP2:(=_!6"j:!4gnb!98Y1^&J;iXck"1:SI]g!6"ih!;=P7"QO"m:ZM!F
+J,~>
+SGrW`2?!RUg"66)j%oUR!G(TWrrA8^!!)D;s0Ve,rqtgV"RT_"27^O&"K_Y(L%b$9J,~>
+SGrW`2?!RUg"66)j%oUR!G(TWrrA8^!!)D;s0Ve+ro3q\m:62S\\S4JXT/?Tp@/*4~>
+SGrW`2?!RUg"66)j%oUR!G(TWrrA8^!!)D;s-3Ndm:62S\\S4JXT/?Tp@/*4~>
+SGrS_rVuq^fDbj<qu?_\i;Wm:!!$P\s0DY)rSdbZXT/?Dfu3mnfhVT*\aKKJ~>
+SGrS_rVuq^fDbj<qu?_\i;Wm:!!$P\s0DY)ro*k[XT/?Dfu3mnfhVT*\aKKJ~>
+SGrS_rVuq^fDbj<qu?_\i;Wm:!!$P\s,m<aXT/?Dfu3mnfhVT*\aKKJ~>
+Sc8]WrVusVmFM:?K`D*1`8LXqci*nE\UjdBrrqG*!!&5MaSuFsFT;DqmHsq(~>
+Sc8]WrVusVmFM:?K`D*1`8LXqci*nE\UjdBrrqG*!!&5MaSuFsFT;DqmHsq(~>
+Sc8]WrVusVmFM:?K`D*1`8LXqci*nE\UjdBrrqG*!!&5MaSuFsFT;DqmHsq(~>
+Sc8\4rVur#ec,aF:LrMCrrA8^!!)&1s,R*_`(p@5PM+1["ke"u!+adKs*t~>
+Sc8\4rVur#ec,aF:LrMCrrA8^!!)&1s,R*_`(p@5PM+1["ke"u!+adKs*t~>
+Sc8\4rVur#ec,aF:LrMCrrA8^!!)&1s,R*_`(p@5PM+1["ke"u!+adKs*t~>
+T)SfDrVupoe,KI9p>5fO2#mVPJcCZ.#/j:;!+a%Adf0OF\PE2*:W2MtJ,~>
+T)SfDrVupoe,KI9p>5fO2#mVPJcCZ.#/j:;!+a%Adf0OF\PE2*:W2MtJ,~>
+T)SfDrVupoe,KI9p>5fO2#mVPJcCZ.#/j:;!+a%Adf0OF\PE2*:W2MtJ,~>
+T)Se$rVur:YQ"U_rVuqlJcCT,#/k$P!&]tdfDbpG`.e0j!Hm)Ys*t~>
+T)Se$rVur:YQ"U_rVuqlJcCT,#/k$P!&]tdfDbpG`.e0j!Hm)Ys*t~>
+T)Se$rVur:YQ"U_rVuqlJcCT,#/k$P!&]tdfDbpG`.e0j!Hm)Ys*t~>
+TDno0rVuq@Y5\L(rVurOV#LGoJcFj3#ih++!!"m1`9lF]!q!OPrW!!qU$^tAJ,~>
+TDno0rVuq@Y5\L(rVurOV#LGnJcFj3#ih++!!"m1`9lF]!q!OPrW!!qU$^tAJ,~>
+TDno0rVuq@Y5\L(rVurOV>gSqr.4n0rs7YK2#mV6KuEB8rrVSuL&M&R:SI1;s*t~>
+VuHg@L!T\s!)NRo!84OT"(VB321bd[rrUN12?!RX:Qr?Bk5PP:\V3iY!!5rij5U)h~>
+VuHg@L!T\s!)NRo!84OT"(VB321bd[rrUN12?!RX:Qr?Bk5PP:\V3iY!!5rij5U)h~>
+VuHg@L!T\s!)NRo!84OT"(VB321bd[rrUN12?!RX:Qr?Bk5PP:\V3iY!!5rij5U)h~>
+VuI!E!!#g*pA`)1!!%/ErrDcl!!%_(s+11Ps5U5(qu?q3Ffhe!g$SM5#34CiXeBl5r;ZpWKt67$
+s*t~>
+VuI!E!!#g*pA`)1!!%/ErrDcl!!%_(s+11Ps5U5(qu?q3Ffhe!g$SM5#34CiXeBl5r;ZpWKt67$
+s*t~>
+VuI!E!!#g*pA`)1!!%/ErrDcl!!%_(s+11Ps5U5(qu?q3Ffhe!g$SM5#34CiXeBl5r;ZpWKt67$
+s*t~>
+VuHb!qu?bX0E(qOmB6Hh`;T`:`.@r>s8;m!ft!;hkl:iDFeQb6g])d~>
+VuHb!qu?bX0E(qOmB6Hh`;T`:`.@r>s8;m!ft!;hkl:iDFeQb6g])d~>
+VuHb!qu?bX0E(qOmB6Hh`;T`:`.@r>s8;m!ft!;hkl:iDFeQb6g])d~>
+VuHb!p](;Xi;WiOmEkk5PPtO^m=G;*rrSm)p>Z)Up=[coXbHIk"d?'jce8$Cs*t~>
+VuHb!p](;Xi;WiOmEkk5PPtO^m=G;*rrSm)p>Z)Up=[coXbHIk"d?'jce8$Cs*t~>
+VuHb!p](;Xi;WiOmEkk5PPtO^m=G;*rrSm)p>Z)Up=[coXbHIk"d?'jce8$Cs*t~>
+VuHb!p](@MXmP0K"5-I-p<imB:B1AjJcD/<"2k0sm@aK0~>
+VuHb!p](@MXmP0K"5-I-p<imB:B1AjJcD/<"2k0sm@aK0~>
+VuHb!p](@MXmP0K"5-I-p<imB:B1AjJcD/<"2k0sm@aK0~>
+VuHb8o`,#Hg#rA9p65IU!27j@!:Bac!28HQ!md)(JcE@^"4$s)j.H@%~>
+VuHb8o`,#Hg#rA9p65IU!27j@!:Bac!28HQ!md)(JcE@^"4$s)j.H@%~>
+VuHb8o`,#Hg#rA9p65IU!27j@!:Bac!28HQ!md)(JcE@^"4$s)j.H@%~>
+VuHbMo)Jcml2Ldp2>dFSmF2(8`;T`:cf>$-:B38SJcEF`"626=`1I!Z~>
+VuHbMo)Jcml2Ldp2>dFSmF2(8`;T`:cf>$-:B38SJcEF`"626=`1I!Z~>
+VuHbMo)Jcml2Ldp2>dFSmF2(8`;T`:cf>$-:B38SJcEF`"626=`1I!Z~>
+VuHbMoDelTlMgnFFo24?FlUpM!0dB^!;>LR!3Q5#!-Nkm^Ae;q2#tRcs*t~>
+VuHbMoDelTlMgnFFo24?FlUpM!0dB^!;>LR!3Q5#!-Nkm^Ae;q2#tRcs*t~>
+VuHbMoDelTlMgnFFo24?FlUpM!0dB^!;>LR!3Q5#!-Nkm^Ae;q2#tRcs*t~>
+VuHbMo`,!1li."ZU&4lk27_*6"&AmsAE<akp,2gL!98Y1^]+E'2#sbKs*t~>
+VuHbMo`,!1li."ZU&4lk27_*6"&AmsAE<akp,2gL!98Y1^]+E'2#sbKs*t~>
+VuHbMo`,!1li."ZU&4lk27_*6"&AmsAE<akp,2gL!98Y1^]+E'2#sbKs*t~>
+VuHbjpAb4Ocg1T3`&7Gm!JU6orrDHc!!&5DrrA8^!!&^Ds1eR9p1+/eS,\!~>
+VuHbjpAb4Ocg1T3`&7Gm!JU6orrDHc!!&5DrrA8^!!&^Ds1eR9p1+/eS,\!~>
+VuHbjpAb4Ocg1T3`&7Gm!JU6orrDHc!!&5DrrA8^!!&^Ds1eR9p1+/eS,\!~>
+VZ6Dk!B&p(rrLe`qu?ang!9Ttci*nE`9%"!g&:sP2>2V$_#FN1A,qg^s*t~>
+VZ6Dk!B&p(rrLe`qu?ang!9Ttci*nE`9%"!g&:sP2>2V$_#FN1A,qg^s*t~>
+VZ6Dk!B&p(rrLe`qu?ang!9Ttci*nE`9%"!g&:sP2>2V$_#FN1A,qg^s*t~>
+VZ6Gl!G(okrrMM@qu?aTXj$eFU&G#lmH+?JAGuQ/\Ujdrrr_t*!0`iNJ,~>
+VZ6Gl!G(okrrMM@qu?aTXj$eFU&G#lmH+?JAGuQ/\Ujdrrr_t*!0`iNJ,~>
+VZ6Gl!G(okrrMM@qu?aTXj$eFU&G#lmH+?JAGuQ/\Ujdrrr_t*!0`iNJ,~>
+VZ6Jm!Hn,&rr?U-!!/;NbPqZe!!"n<rrBV/!!$P\s1nX;p1+/6p6kr2~>
+VZ6Jm!Hn,&rr?U-!!/;NbPqZe!!"n<rrBV/!!$P\s1nX;p1+/6p6kr2~>
+VZ6Jm!Hn,&rr?U-!!/;NbPqZe!!"n<rrBV/!!$P\s1nX;p1+/6p6kr2~>
+_>a]!fu1"pU%rg7PHCstg"H6%!+c!-!0c^J!87>O!G'm*s8DuuFlr])m5=kC!82r'_>aZ3A,p06
+R/_[~>
+_>a]!fu1"pU%rg7PHCstg"H6%!+c!-!0c^J!87>O!G'm*s8DuuFlr])m5=kC!82r'_>aZ3A,p06
+R/_[~>
+_>a]!fu1"pU%rg7PHCstg"H6%!+c!-!0c^J!87>O!G'm*s8DuuFlr])m5=kC!82r'_>aZ3A,p06
+R/_[~>
+a8Z;&`3"/XlMq,HFeQA!s$Zec!4h=n!d.;WaSu8#rVur#k5PF8rVuq^JcERd"SQ@+AG2AiJ,~>
+a8Z;&`3"/XlMq,HFeQA!s$Zec!4h=n!d.;WaSu8#rVur#k5PF8rVuq^JcERd"SQ@+AG2AiJ,~>
+a8Z;&`3"/XlMq,HFeQA!s$Zec!4h=n!d.;WaSu8#rVur#k5PF8rVuq^JcERd"SQ@+AG2AiJ,~>
+bPq\)\V2p>!!G0%PHDCpg%kXQj4W,(XeBl5q#CF,`971#p;d15`;T`:g#rA8g&:sP2>2V$_>aW)
+2.ZEHs*t~>
+bPq\)\V2p>!!G0%PHDCpg%kXQj4W,(XeBl5q#CF,`971#p;d15`;T`:g#rA8g&:sP2>2V$_>aW)
+2.ZEHs*t~>
+bPq\)\V2p>!!G0%PHDCpg%kXQj4W,(XeBl5q#CF,`971#p;d15`;T`:g#rA8g&:sP2>2V$_>aW)
+2.ZEHs*t~>
+cMmslP>D/X">tn8g%P:B!SO1GFTR98p@nRhft!;BrW!$KKuE\errAbl!!)EMrrMghrVur:JcELb
+!U]TGs*t~>
+cMmslP>D/X">tn8g%P:B!SO1GFTR98p@nRhft!;BrW!$KKuE\errAbl!!)EMrrMghrVur:JcELb
+!U]TGs*t~>
+cMmslP>D/X">tn8g%P:B!SO1GFTR98p@nRhft!;BrW!$KKuE\errAbl!!)EMrrMghrVur:JcELb
+!U]TGs*t~>
+dJj:.Tf)fL!en2Pp\t9]Fnu(=28o.e"89Zs2?!RVPL$H4"*FSD2<Xu>U&G#lFb0RDs3Udr~>
+dJj:.Tf)fL!en2Pp\t9]Fnu(=28o.e"89Zs2?!RVPL$H4"*FSD2<Xu>U&G#lFb0RDs3Udr~>
+dJj:.Tf)fL!en2Pp\t9]Fnu(=28o.e"89Zs2?!RVPL$H4"*FSD2<Xu>U&G#lFb0RDs3Udr~>
+e,KWjA,lTePL&n$%-'2FFjKd]s5T:C!0csQ#NMLR!!#fsp9O]#2#mW!kl1Y9r;ZibJcC<$d/SU~>
+e,KWjA,lTePL&n$%-'2FFjKd]s5T:C!0csQ#NMLR!!#fsp9O]#2#mW!kl1Y9r;ZibJcC<$d/SU~>
+e,KWjA,lTePL&n$%-'2FFjKd]s5T:C!0csQ#NMLR!!#fsp9O]#2#mW!kl1Y9r;ZibJcC<$d/SU~>
+f)H!K\PE2*Fi="Frr_sP!3Q+t"626=\aTP&c]\>/250EFrrDcl!!'.brrBV/!!'-Ps+13rs*t~>
+f)H!K\PE2*Fi="Frr_sP!3Q+t"626=\aTP&c]\>/250EFrrDcl!!'.brrBV/!!'-Ps+13rs*t~>
+f)H!K\PE2*Fi="Frr_sP!3Q+t"626=\aTP&c]\>/250EFrrDcl!!'.brrBV/!!'-Ps+13rs*t~>
+fDc#m:B1BYj7*'MP5q<Orr_:=2=9i3#48NM!&^nP\,QH]rVur:kPkV:A7U8kJcF$qJ,~>
+fDc#m:B1BYj7*'MP5q<Orr_:=2=9i3#48NM!&^nP\,QH]rVur:kPkV:A7U8kJcF$qJ,~>
+fDc#m:B1BYj7*'MP5q<Orr_:=2=9i3#48NM!&^nP\,QH]rVur:kPkV:A7U8kJcF$qJ,~>
+g&D6/A,lUnmI1&Wm/TrUp\t;s!28cZ"no&U!&_^)rrBV/!!(^6rrDG;s+13qs*t~>
+g&D6/A,lUnmI1&Wm/TrUp\t;s!28cZ"no&U!&_^)rrBV/!!(^6rrDG;s+13qs*t~>
+g&D6/A,lUnmI1&Wm/TrUp\t;s!28cZ"no&U!&_^)rrBV/!!(^6rrDG;s+13qs*t~>
+g]%HNT`>(8mHsoT_uQM)rrVloAEs0up7VHdFmZd?!29AlJcC<$YlB4~>
+g]%HNT`>(8mHsoT_uQM)rrVloAEs0up7VHdFmZd?!29AlJcC<$YlB4~>
+g]%HNT`>(8mHsoT_uQM)rrVloAEs0up7VHdFmZd?!29AlJcC<$YlB4~>
+h#@N;:B38uli.$g!87&F!Fu2orrh@m!&_^,rr[BD!&]?-JcDtSJ,~>
+h#@N;:B38uli.$g!87&F!Fu2orrh@m!&_^,rr[BD!&]?-JcDtSJ,~>
+h#@N;:B38uli.$g!87&F!Fu2orrh@m!&_^,rr[BD!&]?-JcDtSJ,~>
+h>[Vr!!%`HlMgpf!87&F!HeD)rr]A'!0b(q"&AmsFb0RDs02NR~>
+h>[Vr!!%`HlMgpf!87&F!HeD)rr]A'!0b(q"&AmsFb0RDs02NR~>
+h>[Vr!!%`HlMgpf!87&F!HeD)rr]A'!0b(q"&AmsFb0RDs02NR~>
+hZ!\O!!'t$rrT;&g%G@GA,t`k"QM?>FnWQLrVuqlJcC<$YlB4~>
+hZ!\O!!'t$rrT;&g%G@GA,t`k"QM?>FnWQLrVuqlJcC<$YlB4~>
+hZ!\O!!'t$rrT;&g%G@GA,t`k"QM?>FnWQLrVuqlJcC<$YlB4~>
+hu<eB!&`g"rrU+=U%\Kfm/U\Xrri%+!+bf=rrD*Y!!'-Ps/c5%p64Nms*t~>
+hu<eB!&`g"rrU+=U%\Kfm/U\Xrri%+!+bf=rrD*Y!!'-Ps/c5%p64Nms*t~>
+hu<eB!&`g"rrU+=U%\Kfm/U\Xrri%+!+bf=rrD*Y!!'-Ps/c5%p64Nms*t~>
+i;WnC!)MY;rr_rp2>6eE!j)I)j8T8UFT>tG_>aMgrVurEJcDkP"867*Ko#bZ~>
+i;WnC!)MY;rr_rp2>6eE!j)I)j8T8UFT>tG_>aMgrVurEJcDkP"867*Ko#bZ~>
+i;WnC!)MY;rr_rp2>6eE!j)I)j8T8UFT>tG_>aMgrVurEJcDkP"867*Ko#bZ~>
+iVs"^!)N=LrrSkoPPG.[irCt1iVrt%!-Q-X!4i(/!82r'Y5\Xb2#r@(M#Vu~>
+iVs"^!)N=LrrSkoPPG.[irCt1iVrt%!-Q-X!4i(/!82r'Y5\Xb2#r@(M#Vu~>
+iVs"^!)N=LrrSkoPPG.[irCt1iVrt%!-Q-X!4i(/!82r'Y5\Xb2#r@(M#Vu~>
+ir9,,!&`fsrr^[k!0d9Z"PGL0L%aL*"867*Tu-g0Xo8;#p4<7Irr^1>!25/IJ,~>
+ir9,,!&`fsrr^[k!0d9Z"PGL0L%aL*"867*Tu-g0Xo8;#p4<7Irr^1>!25/IJ,~>
+ir9,,!&`fsrr^[k!0d9Z"PGL0L%aL*"867*Tu-g0Xo8;#p4<7Irr^1>!25/IJ,~>
+j8T5K2#u=jrtF(.!!!u=:W2Z#s3Hl/!%%\'XnLcS"84SPfu*giPPtQ5s0)G)T`>)2L&ZZ~>
+j8T5K2#u=jrtF(.!!!u=:W2Z#s3Hl/!%%\'XnLcS"84SPfu*giPPtQ5s0)G)T`>)2L&ZZ~>
+j8T5K2#u=jrtF(.!!!u=:W2Z#s3Hl/!%%\'XnLcS"84SPfu*giPPtQ5s0)G)T`>)2L&ZZ~>
+j8T17!3PA_#OQX6!-QugPPP7a:XAa:!!#g5ir9,6!)N=,rr[BD!)J1GZ2Xt#FT=;ZK`?Q~>
+j8T17!3PA_#OQX6!-QugPPP7a:XAa:!!#g5ir9,6!)N=,rr[BD!)J1GZ2Xt#FT=;ZK`?Q~>
+j8T17!3PA_#OQX6!-QugPPP7a:XAa:!!#g5ir9,6!)N=,rr[BD!)J1GZ2Xt#FT=;ZK`?Q~>
+jSo;7!)MbW"mqKR!)LQ3rs%kmA,oE!ci*kIm?7MM:W2;n!g<Vd`;]p^!!%02rrMi\JcE^h"QN8X
+AG1ZUJ,~>
+jSo;7!)MbW"mqKR!)LQ3rs%kmA,oE!ci*kIm?7MM:W2;n!g<Vd`;]p^!!%02rrMi\JcE^h"QN8X
+AG1ZUJ,~>
+jSo;7!)MbW"mqKR!)LQ3rs%kmA,oE!ci*kIm?7MM:W2;n!g<Vd`;]p^!!%02rrMi\JcE^h"QN8X
+AG1ZUJ,~>
+jSo:(!86T9"nn,[!)LQ/rrUjRXnhu#m?7MM:YFk0"84T0p;R(2!!%02rrR=#`.@s/rr^1>!0`!6
+J,~>
+jSo:(!86T9"nn,[!)LQ/rrUjRXnhu#m?7MM:YFk0"84T0p;R(2!!%02rrR=#`.@s/rr^1>!0`!6
+J,~>
+jSo:(!86T9"nn,[!)LQ/rrUjRXnhu#m?7MM:YFk0"84T0p;R(2!!%02rrR=#`.@s/rr^1>!0`!6
+J,~>
+jo5DB!-RQ+"no&U!&_=]rrT;&chIGCj)k>%FkPpW!j)I5`W,o;!3Pek!3Q5#!24uDb5VV<P5kU$
+Jc>`MJ,~>
+jo5DB!-RQ+"no&U!&_=]rrT;&chIGCj)k>%FkPpW!j)I5`W,o;!3Pek!3Q5#!24uDb5VV<P5kU$
+Jc>`MJ,~>
+jo5DB!-RQ+"no&U!&_=]rrT;&chIGCj)k>%FkPpW!j)I5`W,o;!3Pek!3Q5#!24uDb5VV<P5kU$
+Jc>`MJ,~>
+jo5CG!6"4'#55/V!&^nPpAY2r!87&F"ke"u!-QuYrrVQf:WED7pAP$lXn)Jlg&1mNc[l,>rrh@m
+!)MX+s8W+L~>
+jo5CG!6"4'#55/V!&^nPpAY2r!87&F"ke"u!-QuYrrVQf:WED7pAP$lXn)Jlg&1mNc[l,>rrh@m
+!)MX+s8W+L~>
+jo5CG!6"4'#55/V!&^nPpAY2r!87&F"ke"u!-QuYrrVQf:WED7pAP$lXn)Jlg&1mNc[l,>rrh@m
+!)MX+s8W+L~>
+jo>?<li..,:B1Bsp@S@dP5sY7rrq(O!!&5Ml2Lg=!:A)3!:Ba<!lV4)rVuq@r2ftdq>UK_2?!RU
+Tn36errh^H!/:,ts8N%K~>
+jo>?<li..,:B1Bsp@S@dP5sY7rrq(O!!&5Ml2Lg=!:A)3!:Ba<!lV4)rVuq@r2ftdq>UK_2?!RU
+Tn36errh^H!/:,ts8N%K~>
+jo>?<li..,:B1Bsp@S@dP5sY7rrq(O!!&5Ml2Lg=!:A)3!:Ba<!lV4)rVuq@r2ftdq>UK_2?!RU
+Tn36errh^H!/:,ts8N%K~>
+k5PMC!/9h?"iO1:!0cg@rrI6BnG`[1:B1BYmHacR\H'1crrCaC!!#gjrrMh(rVuq/JcEjl!L('F
+s8;nI~>
+k5PMC!/9h?"iO1:!0cg@rrI6BnG`[1:B1BYmHacR\H'1crrCaC!!#gjrrMh(rVuq/JcEjl!L('F
+s8;nI~>
+k5PMC!/9h?"iO1:!0cg@rrI6BnG`[1:B1BYmHacR\H'1crrCaC!!#gjrrMh(rVuq/JcEjl!L('F
+s8;nI~>
+k5PM/!3Q(s!71YH!71TC"kdDd!0cg>rrI6Bmf*I/:B1Bgp?hk]f`7_jrr@35!!'t5rrA8^!!+tN
+JcC<$_Z,,~>
+k5PM/!3Q(s!71YH!71TC"kdDd!0cg>rrI6Bmf*I/:B1Bgp?hk]f`7_jrr@35!!'t5rrA8^!!+tN
+JcC<$_Z,,~>
+k5PM/!3Q(s!71YH!71TC"kdDd!0cg>rrI6Bmf*I/:B1Bgp?hk]f`7_jrr@35!!'t5rrA8^!!+tN
+JcC<$_Z,,~>
+k5PLb!878L!RFO=!!l<Fs4MMp!-Quarrp`B!%stun,EUcXYg)9XnMbo#55T]FbRBnq#:?pFj9pd
+g%57E:\k"j\buL.fn'0Ss2"_c~>
+k5PLb!878L!RFO=!!l<Fs4MMp!-Quarrp`B!%stun,EUcXYg)9XnMbo#55T]FbRBnq#:?pFj9pd
+g%57E:\k"j\buL.fn'0Ss2"_c~>
+k5PLb!878L!RFO=!!l<Fs4MMp!-Quarrp`B!%stun,EUcXYg)9XnMbo#55T]FbRBnq#:?pFj9pd
+g%57E:\k"j\buL.fn'0Ss2"_c~>
+k5PLb!87;M%`A>IDO[DjD?'Z:!!%/pnG`OL:\t+mFm\Yt#kkAX!&^nP\Ma6a!295g!<@8drr@37
+!!'t6rrCaN!!'Q\s+13cs*t~>
+k5PLb!87;M%`A>IDO[DjD?'Z:!!%/pnG`OL:\t+mFm\Yt#kkAX!&^nP\Ma6a!295g!<@8drr@37
+!!'t6rrCaN!!'Q\s+13cs*t~>
+k5PLb!87;M%`A>IDO[DjD?'Z:!!%/pnG`OL:\t+mFm\Yt#kkAX!&^nP\Ma6a!295g!<@8drr@37
+!!'t6rrCaN!!'Q\s+13cs*t~>
+k5PLb!87>N"4$rqU\qk0UF-%,cgUlAcN!s!ci<^WA,nLImf*djT`>'F!&^n=s6ZpG!0d9Z!<@8d
+rrDH[!!#gkrrM.;rVuq^JcC<$^]/f~>
+k5PLb!87>N"4$rqU\qk0UF-%,cgUlAcN!s!ci<^WA,nLImf*djT`>'F!&^n=s6ZpG!0d9Z!<@8d
+rrDH[!!#gkrrM.;rVuq^JcC<$^]/f~>
+k5PLb!87>N"4$rqU\qk0UF-%,cgUlAcN!s!ci<^WA,nLImf*djT`>'F!&^n=s6ZpG!0d9Z!<@8d
+rrDH[!!#gkrrM.;rVuq^JcC<$^]/f~>
+k5PLb!87AO"84MNU\__-WW4jKnG`UX2#tSlrrSAaAF0=!m;W+^j8AoZp1+/squ6ZsFj'dbPP5%W
+\blC-p14.&!G(nTs+13bs*t~>
+k5PLb!87AO"84MNU\__-WW4jKnG`UX2#tSlrrSAaAF0=!m;W+^j8AoZp1+/squ6ZsFj'dbPP5%W
+\blC-p14.&!G(nTs+13bs*t~>
+k5PLb!87AO"84MNU\__-WW4jKnG`UX2#tSlrrSAaAF0=!m;W+^j8AoZp1+/squ6ZsFj'dbPP5%W
+\blC-p14.&!G(nTs+13bs*t~>
+k5PLb!71ZE!lP(VpqHlJ!4hV!!g<Vdq>UMM!3PYg"84SPj8/cXp,)j;rVlrm!-QKb!:BO]!B'TJ
+rr@3@!!+tNJcC<$^Ai]~>
+k5PLb!71ZE!lP(VpqHlJ!4hV!!g<Vdq>UMM!3PYg"84SPj8/cXp,)j;rVlrm!-QKb!:BO]!B'TJ
+rr@3@!!+tNJcC<$^Ai]~>
+k5PLb!71ZE!lP(VpqHlJ!4hV!!g<Vdq>UMM!3PYg"84SPj8/cXp,)j;rVlrm!-QKb!:BO]!B'TJ
+rr@3@!!+tNJcC<$^Ai]~>
+k5PM/!3Q8#!egWZpqHm8!-Ri3!pot`q#:E_!)N"^!lP)&q#:E6!29Ak!ndRIb5VI*q#CDsqu6Y[
+r;ZiXJcC<$^&NT~>
+k5PM/!3Q8#!egWZpqHm8!-Ri3!pot`q#:E_!)N"^!lP)&q#:E6!29Ak!ndRIb5VI*q#CDsqu6Y[
+r;ZiXJcC<$^&NT~>
+k5PM/!3Q8#!egWZpqHm8!-Ri3!pot`q#:E_!)N"^!lP)&q#:E6!29Ak!ndRIb5VI*q#CDsqu6Y[
+r;ZiXJcC<$^&NT~>
+k5PMM!-S;@!Ac.t^B$DPnc&[/!3Q"q!egX7mf*?B!9<kS!qlUirVlr$!6!%[!:BU_!B'TKrrDHb
+!!'rgs3goJp?dG2mJh\~>
+k5PMM!-S;@!Ac.t^B$DPnc&[/!3Q"q!egX7mf*?B!9<kS!qlUirVlr$!6!%[!:BU_!B'TKrrDHb
+!!'rgs3goJp?dG2mJh\~>
+k5PMM!-S;@!Ac.t^B$DPnc&[/!3Q"q!egX7mf*?B!9<kS!qlUirVlr$!6!%[!:BU_!B'TKrrDHb
+!!'rgs3goJp?dG2mJh\~>
+jo5N\!;?Hm!*Js0!E]?lrrT;&g%YLJXT7&BrrHX1pAY/9!<)p!A,u>FrrAbi!!'.trr^1>!3LhP
+df0F&:J^\8s6fo;~>
+jo5N\!;?Hm!*Js0!E]?lrrT;&g%YLJXT7&BrrHX1pAY/9!<)p!A,u>FrrAbi!!'.trr^1>!3LhP
+df0F&:J^\8s6fo;~>
+jo5N\!;?Hm!*Js0!E]?lrrT;&g%YLJXT7&BrrHX1pAY/9!<)p!A,u>FrrAbi!!'.trr^1>!3LhP
+df0F&:J^\8s6fo;~>
+jo5Oe!6"p;!)*%#!E]?lrrT;&g%YLJ\H'S9rrE+BpAY/9!<3!"m/V:MrrMgNr;ZjUpA+^hc_5pi
+e,KU=K`D+,p4<83s*t~>
+jo5Oe!6"p;!)*%#!E]?lrrT;&g%YLJ\H'S9rrE+BpAY/9!<3!"m/V:MrrMgNr;ZjUpA+^hc_5pi
+e,KU=K`D+,p4<83s*t~>
+jo5Oe!6"p;!)*%#!E]?lrrT;&g%YLJ\H'S9rrE+BpAY/9!<3!"m/V:MrrMgNr;ZjUpA+^hc_5pi
+e,KU=K`D+,p4<83s*t~>
+jo5PP!)NXp@K?,:!<?U!rrT;&g%YLJXT7&BrrHX1pAY/9!<3!"P5rPArrB2"!!&^Ds2k9DXYg)S
+fn'1is*t~>
+jo5PP!)NXp@K?,:!<?U!rrT;&g%YLJXT7&BrrHX1pAY/9!<3!"P5rPArrB2"!!&^Ds2k9DXYg)S
+fn'1is*t~>
+jo5PP!)NXp@K?,:!<?U!rrT;&g%YLJXT7&BrrHX1pAY/9!<3!"P5rPArrB2"!!&^Ds2k9DXYg)S
+fn'1is*t~>
+jSoFJ!6"o2!0d2m!g<VJnc&[$!4hk(!g<WEmf*?2!:BO\"uT3Vs6Te^`r?)5)#aL8m=G;\rrh"N
+!&^m0s6BW7~>
+jSoFJ!6"o2!0d2m!g<VJnc&[$!4hk(!g<WEmf*?2!:BO\"uT3Vs6Te^`r?)5)#aL8m=G;\rrh"N
+!&^m0s6BW7~>
+jSoFJ!6"o2!0d2m!g<VJnc&[$!4hk(!g<WEmf*?2!:BO\"uT3Vs6Te^`r?)5)#aL8m=G;\rrh"N
+!&^m0s6BW7~>
+jSoGO!&aK1!'Btj!]pD8nc&[X!+bm)!qnK/mJd6u!3Q%r#K-V+s8R3A`81Fqp=\-;pT4P.g"Gci
+rrZ$s!'5]2bl7k6FT;Dqm=G<%s*t~>
+jSoGO!&aK1!'Btj!]pD8nc&[X!+bm)!qnK/mJd6u!3Q%r#K-V+s8R3A`81Fqp=\-;pT4P.g"Gci
+rrZ$s!'5]2bl7k6FT;Dqm=G<%s*t~>
+jSoGO!&aK1!'Btj!]pD8nc&[X!+bm)!qnK/mJd6u!3Q%r#K-V+s8R3A`81Fqp=\-;pT4P.g"Gci
+rrZ$s!'5]2bl7k6FT;Dqm=G<%s*t~>
+j8T=W!/:H,!,hYJ!cA!\n,EH3!71K@!hfUrmJd:^2)Xdtrs/6n!87C_!-R<$"QRG&F_'k>"Z:Fr
+\_2!%!.k0qrrr+i!!#gJJcFp5J,~>
+j8T=W!/:H,!,hYJ!cA!\n,EH3!71K@!hfUrmJd:^2)Xdtrs/6n!87C_!-R<$"QRG&F_'k>"Z:Fr
+\_2!%!.k0qrrr+i!!#gJJcFp5J,~>
+j8T=W!/:H,!,hYJ!cA!\n,EH3!71K@!hfUrmJd:^2)Xdtrs/6n!87C_!-R<$"QRG&F_'k>"Z:Fr
+\_2!%!.k0qrrr+i!!#gJJcFp5J,~>
+j8TDYA,s16@K9N8rkAT@=9)+in,ELM!&`g6rr^1>2>6D:"0DQ6pAFprp6,K1s5O):j6$@Cc`M?e
+!<73AXT5p+f`f<rXbCmTqu?g7!!)D;s3UcKXYg)9\UjeBs*t~>
+j8TDYA,s16@K9N8rkAT@=9)+in,ELM!&`g6rr^1>2>6D:"0DQ6pAFprp6,K1s5O):j6$@Cc`M?e
+!<73AXT5p+f`f<rXbCmTqu?g7!!)D;s3UcKXYg)9\UjeBs*t~>
+j8TDYA,s16@K9N8rkAT@=9)+in,ELM!&`g6rr^1>2>6D:"0DQ6pAFprp6,K1s5O):j6$@Cc`M?e
+!<73AXT5p+f`f<rXbCmTqu?g7!!)D;s3UcKXYg)9\UjeBs*t~>
+ir9MK2#ttr@K6C$=A&Vo@dWR_$cE#FXmQ/gm=bNtj6HXHP5nCsrr38MA,p06m54m^l2LhP\V9t^
+"Ab5lg%P=C#56!/FbQsXp\t?K`1_>P!!6])j+76\rrp>:!!'.pJcFg2J,~>
+ir9MK2#ttr@K6C$=A&Vo@dWR_$cE#FXmQ/gm=bNtj6HXHP5nCsrr38MA,p06m54m^l2LhP\V9t^
+"Ab5lg%P=C#56!/FbQsXp\t?K`1_>P!!6])j+76\rrp>:!!'.pJcFg2J,~>
+ir9MK2#ttr@K6C$=A&Vo@dWR_$cE#FXmQ/gm=bNtj6HXHP5nCsrr38MA,p06m54m^l2LhP\V9t^
+"Ab5lg%P=C#56!/FbQsXp\t?K`1_>P!!6])j+76\rrp>:!!'.pJcFg2J,~>
+iVs,#!&`g:`+8iI!Fj"4rs?V$!!#eP!!#gTkl1XVrVuporW!+Ep@`"sPO&5Mp;CM@!!?#jch@/6
+!VW5`!!,mKo`#!GX^qD2!`,NWJcFC&"&Ao\m=G;ss*t~>
+iVs,#!&`g:`+8iI!Fj"4rs?V$!!#eP!!#gTkl1XVrVuporW!+Ep@`"sPO&5Mp;CM@!!?#jch@/6
+!VW5`!!,mKo`#!GX^qD2!`,NWJcFC&"&Ao\m=G;ss*t~>
+iVs,#!&`g:`+8iI!Fj"4rs?V$!!#eP!!#gTkl1XVrVuporW!+Ep@`"sPO&5Mp;CM@!!?#jch@/6
+!VW5`!!,mKo`#!GX^qD2!`,NWJcFC&"&Ao\m=G;ss*t~>
+i;Wnt!&`*^rs/8.FYus;`:i?n$fdFn!+_;Hs5RViPO/;Sj-)>#!+`Y-p&>HoA,nKhg&LHcFT;E[
+o)Adb`.e0j!Hl>3s4[JRg#IY`i;\<~>
+i;Wnt!&`*^rs/8.FYus;`:i?n$fdFn!+_;Hs5RViPO/;Sj-)>#!+`Y-p&>HoA,nKhg&LHcFT;E[
+o)Adb`.e0j!Hl>3s4[JRg#IY`i;\<~>
+i;Wnt!&`*^rs/8.FYus;`:i?n$fdFn!+_;Hs5RViPO/;Sj-)>#!+`Y-p&>HoA,nKhg&LHcFT;E[
+o)Adb`.e0j!Hl>3s4[JRg#IY`i;\<~>
+hu<es!!'sJrr_:=!0cgM#2+,!!&^J1oD\seA,q>Wqu6cE2#ttlrs&2-:B1Aj`.@r>s1//[~>
+hu<es!!'sJrr_:=!0cgM#2+,!!&^J1oD\seA,q>Wqu6cE2#ttlrs&2-:B1Aj`.@r>s1//[~>
+hu<es!!'sJrr_:=!0cgM#2+,!!&^J1oD\seA,q>Wqu6cE2#ttlrs&2-:B1Aj`.@r>s1//[~>
+hZ!_s2#rj6]`/)E!!&_\rrq(u!!#g5nG`Ql!/:4J"60A=p?qqafnBD+:W.haJcE@^J,~>
+hZ!_s2#rj6]`/)E!!&_\rrq(u!!#g5nG`Ql!/:4J"60A=p?qqafnBD+:W.haJcE@^J,~>
+hZ!_s2#rj6]`/)E!!&_\rrq(u!!#g5nG`Ql!/:4J"60A=p?qqafnBD+:W.haJcE@^J,~>
+h>[W<:B4qc^]+H1K`F!Kn,ERYP5kT*g$eqCp,+`$p\t;s!4hIr"mqKR!+ac6s+13`s*t~>
+h>[W<:B4qc^]+H1K`F!Kn,ERYP5kT*g$eqCp,+`$p\t;s!4hIr"mqKR!+ac6s+13`s*t~>
+h>[W<:B4qc^]+H1K`F!Kn,ERYP5kT*g$eqCp,+`$p\t;s!4hIr"mqKR!+ac6s+13`s*t~>
+h#@QOK`D+Tp;6h4\MX@tj7!!N\MX@_`9mR+cN'[4rrVQfAEs0uj)k>%U%X';JcELbJ,~>
+h#@QOK`D+Tp;6h4\MX@tj7!!N\MX@_`9mR+cN'[4rrVQfAEs0uj)k>%U%X';JcELbJ,~>
+h#@QOK`D+Tp;6h4\MX@tj7!!N\MX@_`9mR+cN'[4rrVQfAEs0uj)k>%U%X';JcELbJ,~>
+gA_<%2#pFj`W$(oFT;EDn,ERbFT;EDp?_e\XT6]?rrHX1kl1e3:B42DJcC<$_#Jo~>
+gA_<%2#pFj`W$(oFT;EDn,ERbFT;EDp?_e\XT6]?rrHX1kl1e3:B42DJcC<$_#Jo~>
+gA_<%2#pFj`W$(oFT;EDn,ERbFT;EDp?_e\XT6]?rrHX1kl1e3:B42DJcC<$_#Jo~>
+g&D6LP5kSY`6&#_fl[8pFlVrj"QM?>AE2tT!j)IUp&>&8!9a@bp6,IV\UjeRrrV5EXb$N!s*t~>
+g&D6LP5kSY`6&#_fl[8pFlVrj"QM?>AE2tT!j)IUp&>&8!9a@bp6,IV\UjeRrrV5EXb$N!s*t~>
+g&D6LP5kSY`6&#_fl[8pFlVrj"QM?>AE2tT!j)IUp&>&8!9a@bp6,IV\UjeRrrV5EXb$N!s*t~>
+fDc'8FT;D;`:hLV"j_;k!)Lr/rr^1>!28WV!j)IUp&>&8!9O4_`&.OYJcGNF"N5E_!)J1Gd/SU~>
+fDc'8FT;D;`:hLV"j_;k!)Lr/rr^1>!28WV!j)IUp&>&8!9O4_`&.OYJcGNF"N5E_!)J1Gd/SU~>
+fDc'8FT;D;`:hLV"j_;k!)Lr/rr^1>!28WV!j)IUp&>&8!9O4_`&.OYJcGNF"N5E_!)J1Gd/SU~>
+ec,j,K`D*1PN1-l#48Ng!!$QJmJd:,!!'t#rrU+=XnMbrp&InLrr_:W!0`!6r;QugXYg(YAAj'!
+ci8L~>
+ec,j,K`D*1PN1-l#48Ng!!$QJmJd:,!!'t#rrU+=XnMbrp&InLrr_:W!0`!6r;QugXYg(YAAj'!
+ci8L~>
+ec,j,K`D*1PN1-l#48Ng!!$QJmJd:,!!'t#rrU+=XnMbrp&InLrr_:W!0`!6r;QugXYg(YAAj'!
+ci8L~>
+e,K[?P;N=?:SHh%rrVSuAGuQ0PM,=&"2k0sg#i;9m/TrUrrU+=U#Z.Tp1+/eJcGcM!Q9]k!!/;D
+JcF!pJ,~>
+e,K[?P;N=?:SHh%rrVSuAGuQ0PM,=&"2k0sg#i;9m/TrUrrU+=U#Z.Tp1+/eJcGcM!Q9]k!!/;D
+JcF!pJ,~>
+e,K[?P;N=?:SHh%rrVSuAGuQ0PM,=&"2k0sg#i;9m/TrUrrU+=U#Z.Tp1+/eJcGcM!Q9]k!!/;D
+JcF!pJ,~>
+d/O-bL&M&S23YuGiVs#Rc_4/6!!6]Ap?V_\_uM[TjSo:F!3Q%r"77rGmGe-Jp1+/eKDu2:TeufM
+:V$1Ms3(Fm~>
+d/O-bL&M&S23YuGiVs#Rc_4/6!!6]Ap?V_\_uM[TjSo:F!3Q%r"77rGmGe-Jp1+/eKDu2:TeufM
+:V$1Ms3(Fm~>
+d/O-bL&M&S23YuGiVs#Rc_4/6!!6]Ap?V_\_uM[TjSo:F!3Q%r"77rGmGe-Jp1+/eKDu2:TeufM
+:V$1Ms3(Fm~>
+cMn"?`.^)J!!H)OXj?D#rri&KXcm;o!!7;RmHOWQj#$hij8T5:*rrkJrr_Xr!/9A2"867*\VL1i
+mC?a-!&]tnJcEgkJ,~>
+cMn"?`.^)J!!H)OXj?D#rri&KXcm;o!!7;RmHOWQj#$hij8T5:*rrkJrr_Xr!/9A2"867*\VL1i
+mC?a-!&]tnJcEgkJ,~>
+cMn"?`.^)J!!H)OXj?D#rri&KXcm;o!!7;RmHOWQj#$hij8T5:*rrkJrr_Xr!/9A2"867*\VL1i
+mC?a-!&]tnJcEgkJ,~>
+b5VRsX`ZN!!!QnUPHCt*q:PqtXf\:>Fo).@FeR.TkPkYX:B8>ors/7]!!!`6FkQco!q!*IrVusp
+cf+m+j#$hsM>mSLrW!"B`:ec^`rCP~>
+b5VRsX`ZN!!!QnUPHCt*q:PqtXf\:>Fo).@FeR.TkPkYX:B8>ors/7]!!!`6FkQco!q!*IrVusp
+cf+m+j#$hsM>mSLrW!"B`:ec^`rCP~>
+b5VRsX`ZN!!!QnUPHCt*q:PqtXf\:>Fo).@FeR.TkPkYX:B8>ors/7]!!!`6FkQco!q!*IrVusp
+cf+m+j#$hsM>mSLrW!"B`:ec^`rCP~>
+`r?2/c`MnDm/R9"FfiUBir9(R!/9P7#PP8W!&^n=AGuQ0EDQQ6#-Hp.!!%/pir9(u!+^oc!gC1^
+JcEXfJ,~>
+`r?2/c`MnDm/R9"FfiUBir9(R!/9P7#PP8W!&^n=AGuQ0EDQQ6#-Hp.!!%/pir9(u!+^oc!gC1^
+JcEXfJ,~>
+`r?2/c`MnDm/R9"FfiUBir9(R!/9P7#PP8W!&^n=AGuQ0EDQQ6#-Hp.!!%/pir9(u!+^oc!gC1^
+JcEXfJ,~>
+^]+Drg"Eq2Xo@#/rr_Wg2>655#55/V!&^nPrr35LP>qT.Fh-o=rrq(u!!%/pj8T17!3LhPJcEgk
+J,~>
+^]+Drg"Eq2Xo@#/rr_Wg2>655#55/V!&^nPrr35LP>qT.Fh-o=rrq(u!!%/pj8T17!3LhPJcEgk
+J,~>
+^]+Drg"Eq2Xo@#/rr_Wg2>655#55/V!&^nPrr35LP>qT.Fh-o=rrq(u!!%/pj8T17!3LhPJcEgk
+J,~>
+MZ3aA!6"(#"iO1:!29,_rrUjRXnhu#fjk'_L$e"%"76(Gp4<6ps2k:k~>
+MZ3aA!6"(#"iO1:!29,_rrUjRXnhu#fjk'_L$e"%"76(Gp4<6ps2k:k~>
+MZ3aA!6"(#"iO1:!29,_rrUjRXnhu#fjk'_L$e"%"76(Gp4<6ps2k:k~>
+MuNkG!)MhY"iO1:!0cgFrrT_2\bH+-`(p@5PO7N4!g<W&JcC<$ao?k~>
+MuNkG!)MhY"iO1:!0cgFrrT_2\bH+-`(p@5PO7N4!g<W&JcC<$ao?k~>
+MuNkG!)MhY"iO1:!0cgFrrT_2\bH+-`(p@5PO7N4!g<W&JcC<$ao?k~>
+MuNj\!6"1&"kdDd!0cgDrrT;&g%G@K`(p@5U%[^M!potuSc8fFX`_1*s0;TS~>
+MuNj\!6"1&"kdDd!0cgDrrT;&g%G@K`(p@5U%[^M!potuSc8fFX`_1*s0;TS~>
+MuNj\!6"1&"kdDd!0cgDrrT;&g%G@K`(p@5U%[^M!potuSc8fFX`_1*s0;TS~>
+MuNih!;>dZ"ke"u!-QuerrSkog%54IXYg)9XnM#Z!b;;uUAk;JX`aRB!0`!6Z2]=~>
+MuNih!;>dZ"ke"u!-QuerrSkog%54IXYg)9XnM#Z!b;;uUAk;JX`aRB!0`!6Z2]=~>
+MuNih!;>dZ"ke"u!-QuerrSkog%54IXYg)9XnM#Z!b;;uUAk;JX`aRB!0`!6Z2]=~>
+N;itH!-R]/"mpF4!-QucrrR<Cp@A4fp8p1P26HT<rrT_2`2EV;p<Tj`r;ZpqPJlj>s02NR~>
+N;itH!-R]/"mpF4!-QucrrR<Cp@A4fp8p1P26HT<rrT_2`2EV;p<Tj`r;ZpqPJlj>s02NR~>
+N;itH!-R]/"mpF4!-QucrrR<Cp@A4fp8p1P26HT<rrT_2`2EV;p<Tj`r;ZpqPJlj>s02NR~>
+N;it4!3Q(s"RXmEg$S_;"mqKR!)Lr1rrI6Bn,ERbXT/>s`9dL,f`5m8mB-Bjfr]s(r;ZpqPJlj>
+s/c6N~>
+N;it4!3Q(s"RXmEg$S_;"mqKR!)Lr1rrI6Bn,ERbXT/>s`9dL,f`5m8mB-Bjfr]s(r;ZpqPJlj>
+s/c6N~>
+N;it4!3Q(s"RXmEg$S_;"mqKR!)Lr1rrI6Bn,ERbXT/>s`9dL,f`5m8mB-Bjfr]s(r;ZpqPJlj>
+s/c6N~>
+N;is]!71QB!TS>#!!m`-s7VWV!)LQ&rrqf#,UC=qn,ERYP5kSY`;KW8g&A)RchIJ<!!5$#c`mEL
+AGuQ2Ffj!`JcD\KJ,~>
+N;is]!71QB!TS>#!!m`-s7VWV!)LQ&rrqf#,UC=qn,ERYP5kSY`;KW8g&A)RchIJ<!!5$#c`mEL
+AGuQ2Ffj!`JcD\KJ,~>
+N;is]!71QB!TS>#!!m`-s7VWV!)LQ&rrqf#,UC=qn,ERYP5kSY`;KW8g&A)RchIJ<!!5$#c`mEL
+AGuQ2Ffj!`JcD\KJ,~>
+N;is]!87;M%`C4):T_10A,lU`2#oMEnG`O_L&1iNU%[sT#jmfU!)M;Jfh_MG!B%F`rrrI1X`[D>
+`3B:A_uShKs.fUE~>
+N;is]!87;M%`C4):T_10A,lU`2#oMEnG`O_L&1iNU%[sT#jmfU!)M;Jfh_MG!B%F`rrrI1X`[D>
+`3B:A_uShKs.fUE~>
+N;is]!87;M%`C4):T_10A,lU`2#oMEnG`O_L&1iNU%[sT#jmfU!)M;Jfh_MG!B%F`rrrI1X`[D>
+`3B:A_uShKs.fUE~>
+N;is]!87>N"60@]\buI2\GuU]XnM8a$fa#C4,]l/Jg^V.p?qqjfl[8p=o\PF`7`J#!!&5ZrrE+B
+rr<#lo)AdYg%O%ts4ILmXeGH>s,m>3~>
+N;is]!87>N"60@]\buI2\GuU]XnM8a$fa#C4,]l/Jg^V.p?qqjfl[8p=o\PF`7`J#!!&5ZrrE+B
+rr<#lo)AdYg%O%ts4ILmXeGH>s,m>3~>
+N;is]!87>N"60@]\buI2\GuU]XnM8a$fa#C4,]l/Jg^V.p?qqjfl[8p=o\PF`7`J#!!&5ZrrE+B
+rr<#lo)AdYg%O%ts4ILmXeGH>s,m>3~>
+N;is]!87>N!b;;LqYpW8!)2k]"85IiDZ%6O\7>S^m/I4AA,n@1r;QlZ2#t2arrE+BmJd0gr;ch>
+!29Co!71Vs!;?!`!U\S=Xo<GC2>R:Qfn'0cs*t~>
+N;is]!87>N!b;;LqYpW8!)2k]"85IiDZ%6O\7>S^m/I4AA,n@1r;QlZ2#t2arrE+BmJd0gr;ch>
+!29Co!71Vs!;?!`!U\S=Xo<GC2>R:Qfn'0cs*t~>
+N;is]!87>N!b;;LqYpW8!)2k]"85IiDZ%6O\7>S^m/I4AA,n@1r;QlZ2#t2arrE+BmJd0gr;ch>
+!29Co!71Vs!;?!`!U\S=Xo<GC2>R:Qfn'0cs*t~>
+N;is]!71ZE!m^jhq#:DZ!6"C,!j)H?q7cu(!6"7(!`&gBqYpZX2)Xe!rrE+BmJd=BX`\bso`,!F
+o)A]lq#CXqF`inM\_5Yes,d82~>
+N;is]!71ZE!m^jhq#:DZ!6"C,!j)H?q7cu(!6"7(!`&gBqYpZX2)Xe!rrE+BmJd=BX`\bso`,!F
+o)A]lq#CXqF`inM\_5Yes,d82~>
+N;is]!71ZE!m^jhq#:DZ!6"C,!j)H?q7cu(!6"7(!`&gBqYpZX2)Xe!rrE+BmJd=BX`\bso`,!F
+o)A]lq#CXqF`inM\_5Yes,d82~>
+N;it*!3Q8#!g<W;q#:EU!/9tC"84N!\G<l@YlIPdrrULHL%tZLXT5'nrrV3\PNDiCg&.rPmIL8Y
+fr`U"f`:_ss+^Q(~>
+N;it*!3Q8#!g<W;q#:EU!/9tC"84N!\G<l@YlIPdrrULHL%tZLXT5'nrrV3\PNDiCg&.rPmIL8Y
+fr`U"f`:_ss+^Q(~>
+N;it*!3Q8#!g<W;q#:EU!/9tC"84N!\G<l@YlIPdrrULHL%tZLXT5'nrrV3\PNDiCg&.rPmIL8Y
+fr`U"f`:_ss+^Q(~>
+N;itH!/:FP!Fu3(rrGnQnc&[:!-n7Q!b;;umf*?P!71H?!qlV)rVlr0!4d[\JcEmmJ,~>
+N;itH!/:FP!Fu3(rrGnQnc&[:!-n7Q!b;;umf*?P!71H?!qlV)rVlr0!4d[\JcEmmJ,~>
+N;itH!/:FP!Fu3(rrGnQnc&[:!-n7Q!b;;umf*?P!71H?!qlV)rVlr0!4d[\JcEmmJ,~>
+MuNuW!;?Hm!-S#8!HeD4rrT;&S+jZ!JcOKlrrI6BpAY/9!<)p!K`LLks+13ms*t~>
+MuNuW!;?Hm!-S#8!HeD4rrT;&S+jZ!JcOKlrrI6BpAY/9!<)p!K`LLks+13ms*t~>
+MuNuW!;?Hm!-S#8!HeD4rrT;&S+jZ!JcOKlrrI6BpAY/9!<)p!K`LLks+13ms*t~>
+MuO!T!6"p;!+bg'!HeD4rrT;&U\DM)RfKSYrrI6BpAY/9!<3!"m/Tq5s+13ls*t~>
+MuO!T!6"p;!+bg'!HeD4rrT;&U\DM)RfKSYrrI6BpAY/9!<3!"m/Tq5s+13ls*t~>
+MuO!T!6"p;!+bg'!HeD4rrT;&U\DM)RfKSYrrI6BpAY/9!<3!"m/Tq5s+13ls*t~>
+MuO"K!)NXpA,u?'s#'?H!j)HtpV-cf!6"=*!HeD9rrI6Brr3&%!4d[\JcEjlJ,~>
+MuO"K!)NXpA,u?'s#'?H!j)HtpV-cf!6"=*!HeD9rrI6Brr3&%!4d[\JcEjlJ,~>
+MuO"K!)NXpA,u?'s#'?H!j)HtpV-cf!6"=*!HeD9rrI6Brr3&%!4d[\JcEjlJ,~>
+MZ3m'!6"o$!71H?!ndR-nc&[$!/pTd!dF^umf*?2!:BO\#>[5Ws7S<-p4<6ps2k:k~>
+MZ3m'!6"o$!71H?!ndR-nc&[$!/pTd!dF^umf*?2!:BO\#>[5Ws7S<-p4<6ps2k:k~>
+MZ3m'!6"o$!71H?!ndR-nc&[$!/pTd!dF^umf*?2!:BO\#>[5Ws7S<-p4<6ps2k:k~>
+MZ3n6!)N=A!-S):!d+L]nc&[N!*K!1!BU;KrrT_2\bQ10f`6a+s-!GbJcC<$aT$b~>
+MZ3n6!)N=A!-S):!d+L]nc&[N!*K!1!BU;KrrT_2\bQ10f`6a+s-!GbJcC<$aT$b~>
+MZ3n6!)N=A!-S):!d+L]nc&[N!*K!1!BU;KrrT_2\bQ10f`6a+s-!GbJcC<$aT$b~>
+M>mdD!29F8!3Q+t!kA;An,EH1!2KA)!fI&BmJd:U!&aKGrs*ZH`;eKj:\KA>JcEgkJ,~>
+M>mdD!29F8!3Q+t!kA;An,EH1!2KA)!fI&BmJd:U!&aKGrs*ZH`;eKj:\KA>JcEgkJ,~>
+M>mdD!29F8!3Q+t!kA;An,EH1!2KA)!fI&BmJd:U!&aKGrs*ZH`;eKj:\KA>JcEgkJ,~>
+M>mkT2#tti2#rj6rr3,pT`?t1n,ELC!%=lE^B:J91[XQ/!hfUJqYpea!-S>82#u<\s+13js*t~>
+M>mkT2#tti2#rj6rr3,pT`?t1n,ELC!%=lE^B:J91[XQ/!hfUJqYpea!-S>82#u<\s+13js*t~>
+M>mkT2#tti2#rj6rr3,pT`?t1n,ELC!%=lE^B:J91[XQ/!hfUJqYpea!-S>82#u<\s+13js*t~>
+M#Rt<!&`fs2#oLtXckUB2<4*("/,]CPQ&<"\:O\\`9[F+p1+/6g&D!Wm=bNtmIk&jTn35ps2P(h~>
+M#Rt<!&`fs2#oLtXckUB2<4*("/,]CPQ&<"\:O\\`9[F+p1+/6g&D!Wm=bNtmIk&jTn35ps2P(h~>
+M#Rt<!&`fs2#oLtXckUB2<4*("/,]CPQ&<"\:O\\`9[F+p1+/6g&D!Wm=bNtmIk&jTn35ps2P(h~>
+L]7Rs!&`g1XYp(X!]?28li.9n!!"EL===/*`9I:3p2p?8:N^1J!)MYKA,q=7s+13hs*t~>
+L]7Rs!&`g1XYp(X!]?28li.9n!!"EL===/*`9I:3p2p?8:N^1J!)MYKA,q=7s+13hs*t~>
+L]7Rs!&`g1XYp(X!]?28li.9n!!"EL===/*`9I:3p2p?8:N^1J!)MYKA,q=7s+13hs*t~>
+LAqOC!&`g:s5VemkPkeIP;<1=9p=u,rrL&\rW!16\b>`-!+beSs+13hs*t~>
+LAqOC!&`g:s5VemkPkeIP;<1=9p=u,rrL&\rW!16\b>`-!+beSs+13hs*t~>
+LAqOC!&`g:s5VemkPkeIP;<1=9p=u,rrL&\rW!16\b>`-!+beSs+13hs*t~>
+L&V7=!&`H?rri%+!+beSs+13gs*t~>
+L&V7=!&`H?rri%+!+beSs+13gs*t~>
+L&V7=!&`H?rri%+!+beSs+13gs*t~>
+K`;.b!!'RArrh"4!-S!ds+13fs*t~>
+K`;.b!!'RArrh"4!-S!ds+13fs*t~>
+K`;.b!!'RArrh"4!-S!ds+13fs*t~>
+KDu)#2#qdm^Ae;;!!&^Ds+13ds*t~>
+KDu)#2#qdm^Ae;;!!&^Ds+13ds*t~>
+KDu)#2#qdm^Ae;;!!&^Ds+13ds*t~>
+K)Yu6A,nKt_>aYkA,nL5JcC<$_#Jo~>
+K)Yu6A,nKt_>aYkA,nL5JcC<$_#Jo~>
+K)Yu6A,nKt_>aYkA,nL5JcC<$_#Jo~>
+Jc>oRXT/?Dfu<spm?7MMFmXb[JcELbJ,~>
+Jc>oRXT/?Dfu<spm?7MMFmXb[JcELbJ,~>
+Jc>oRXT/?Dfu<spm?7MMFmXb[JcELbJ,~>
+JcGcM"lj_*!/9g^rrr+u2#pFuJcC<$^&NT~>
+JcGcM"lj_*!/9g^rrr+u2#pFuJcC<$^&NT~>
+JcGcM"lj_*!/9g^rrr+u2#pFuJcC<$^&NT~>
+JcG]K"iO1:!-Qu>rs%kS2#oM9p4<6ps1JA^~>
+JcG]K"iO1:!-Qu>rs%kS2#oM9p4<6ps1JA^~>
+JcG]K"iO1:!-Qu>rs%kS2#oM9p4<6ps1JA^~>
+JcGWI#/j:;!)L0!df0NtK`D*1XnI>GJcE=]J,~>
+JcGWI#/j:;!)L0!df0NtK`D*1XnI>GJcE=]J,~>
+JcGWI#/j:;!)L0!df0NtK`D*1XnI>GJcE=]J,~>
+JcGQG!RGof!!7kmp=TBMc]^3d!)L0!JcC<$\Gq'~>
+JcGQG!RGof!!7kmp=TBMc]^3d!)L0!JcC<$\Gq'~>
+JcGQG!RGof!!7kmp=TBMc]^3d!)L0!JcC<$\Gq'~>
+JcGKE!q!*crW!"B\`;TI#joQa2#mV6PM(NeJcE.XJ,~>
+JcGKE!q!*crW!"B\`;TI#joQa2#mV6PM(NeJcE.XJ,~>
+JcGKE!q!*crW!"B\`;TI#joQa2#mV6PM(NeJcE.XJ,~>
+JcGBB!ootMr;ZqBXj?D!rri&KXbBRM!!5$Ac[l+Is0DZT~>
+JcGBB!ootMr;ZqBXj?D!rri&KXbBRM!!5$Ac[l+Is0DZT~>
+JcGBB!ootMr;ZqBXj?D!rri&KXbBRM!!5$Ac[l+Is0DZT~>
+JcG9?"7=$j:](1qA9G#Vci2StpAFshg&J/TKm!:n"#YeCj+75]s0)HQ~>
+JcG9?"7=$j:](1qA9G#Vci2StpAFshg&J/TKm!:n"#YeCj+75]s0)HQ~>
+JcG9?"7=$j:](1qA9G#Vci2StpAFshg&J/TKm!:n"#YeCj+75]s0)HQ~>
+JcG-;"SUNNKk0KL"Aa0B`8cFKJcDeNJ,~>
+JcG-;"SUNNKk0KL"Aa0B`8cFKJcDeNJ,~>
+JcG-;"SUNNKk0KL"Aa0B`8cFKJcDeNJ,~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/BookGPU/Chapters/chapter8/figures/parallel_exploration-eps-converted-to.pdf b/BookGPU/Chapters/chapter8/figures/parallel_exploration-eps-converted-to.pdf
new file mode 100644 (file)
index 0000000..690f727
Binary files /dev/null and b/BookGPU/Chapters/chapter8/figures/parallel_exploration-eps-converted-to.pdf differ
diff --git a/BookGPU/Chapters/chapter8/figures/parallel_exploration.eps b/BookGPU/Chapters/chapter8/figures/parallel_exploration.eps
new file mode 100644 (file)
index 0000000..560b25e
--- /dev/null
@@ -0,0 +1,1583 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1,17 by Peter Kirchgessner
+%%Title: parallel_exploration.eps
+%%CreationDate: Tue Aug 21 13:36:30 2012
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 433 353
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 337.95161059413027 translate
+417.94015748031495 -337.95161059413027 scale
+% Image geometry
+418 338 8
+% Transformation matrix
+[ 418 0 0 338 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 418 string def
+/gstr 418 string def
+/bstr 418 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData:        81269 ASCII Bytes
+colorimage
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$jSo5?rRlc%J,~>
+JcC<$jSo5?rRlc%J,~>
+JcC<$jSo5?rRlc%J,~>
+JcC<$mJd@C`3"`92>."S20F&D\_6\7s*t~>
+JcC<$mJd@C`3"`92>."S20F&D\_6\7s*t~>
+JcC<$mJd@C`3"`92>."S20F&D\_6\7s*t~>
+JcC<$o)B'a`04^3!&\n_Xi14l!:Bdc!;?EF$H0'?F\_u;:PH@>O8j_~>
+JcC<$o)B'a`04^3!&\n_Xi14l!:Bdc!;?EF$H0'?F\_u;:PH@>O8j_~>
+JcC<$o)B'a`04^3!&\n_Xi14l!:Bdc!;?EF$H0'?F\_u;:PH@>O8j_~>
+JcC<$p&><DP>;09Krs&%li.7D\W]eh23YuPPQ-.~>
+JcC<$p&><DP>;09Krs&%li.7D\W]eh23YuPPQ-.~>
+JcC<$p&><DP>;09Krs&%li.7D\W]eh23YuPPQ-.~>
+JcC<$q#:QOP;N>_\`;]L#49?_!!%_kQ2c@~>
+JcC<$q#:QOP;N>_\`;]L#49?_!!%_kQ2c@~>
+JcC<$q#:QOP;N>_\`;]L#49?_!!%_kQ2c@~>
+JcC<$qu6lo\PE39`:i!d#55uh!&^J;R/_[~>
+JcC<$qu6lo\PE39`:i!d#55uh!&^J;R/_[~>
+JcC<$qu6lo\PE39`:i!d#55uh!&^J;R/_[~>
+JcC<$rVm&gP;P4kmFM:@p:3s!PM)E)J,~>
+JcC<$rVm&gP;P4kmFM:@p:3s!PM)E)J,~>
+JcC<$rVm&gP;P4kmFM:@p:3s!PM)E)J,~>
+JcC<$s8N8iP5nCsp<imC`,u'&j.-."~>
+JcC<$s8N8iP5nCsp<imC`,u'&j.-."~>
+JcC<$s8N8iP5nCsp<imC`,u'&j.-."~>
+JcC<$"SSrT:W2Pu"mrj]DQV7Lrrh"t!0d,Js*t~>
+JcC<$"SSrT:W2Pu"mrj]DQV7Lrrh"t!0d,Js*t~>
+JcC<$"SSrT:W2Pu"mrj]DQV7Lrrh"t!0d,Js*t~>
+JcC?%"4'b#Xm,ikScCl`GZXr;g$/M=`(r8$TDsE~>
+JcC?%"4'b#Xm,ikScCl`GZXr;g$/M=`(r8$TDsE~>
+JcC?%"4'b#Xm,ikScCl`GZXr;g$/M=`(r8$TDsE~>
+JcCE'"SRNLL%ad2!adC7rP&H>A,ss?rri%t!+b,`s*t~>
+JcCE'"SRNLL%ad2!adC7rP&H>A,ss?rri%t!+b,`s*t~>
+JcCE'"SRNLL%ad2!adC7rP&H>A,ss?rri%t!+b,`s*t~>
+JcCH("5,OhcfkB1W[XtE^B/:+p?;MYj(($XUAo`~>
+JcCH("5,OhcfkB1W[XtE^B/:+p?;MYj(($XUAo`~>
+JcCH("5,OhcfkB1W[XtE^B/:+p?;MYj(($XUAo`~>
+JcCK)"0DQWp?;MXp+M$n^B1o-T'$%TT`C;MV#Pr~>
+JcCK)"0DQWp?;MXp+M$n^B1o-T'$%TT`C;MV#Pr~>
+JcCK)"0DQWp?;MXp+M$n^B1o-T'$%TT`C;MV#Pr~>
+JcCQ+"87oY\`WnncN(KM^B&RNjo5G/2.ZEWs*t~>
+JcCQ+"87oY\`WnncN(KM^B&RNjo5G/2.ZEWs*t~>
+JcCQ+"87oY\`WnncN(KM^B&RNjo5G/2.ZEWs*t~>
+JcCT,"867_g#`57X]Y>4!M]YUrr_:l2<1S6J,~>
+JcCT,"867_g#`57X]Y>4!M]YUrr_:l2<1S6J,~>
+JcCT,"867_g#`57X]Y>4!M]YUrr_:l2<1S6J,~>
+JcCW-"867_j5g4@X]Y>4!M]YTrr_t*2<1V7J,~>
+JcCW-"867_j5g4@X]Y>4!M]YTrr_t*2<1V7J,~>
+JcCW-"867_j5g4@X]Y>4!M]YTrr_t*2<1V7J,~>
+JcCZ."8689mGn3I`$tGq!K/Ykrr_t*2<1Y8J,~>
+JcCZ."8689mGn3I`$tGq!K/Ykrr_t*2<1Y8J,~>
+JcCZ."8689mGn3I`$tGq!K/Ykrr_t*2<1Y8J,~>
+JcC]/"868$p>Z)Rm/W@F^B$EWiVs#RA2WDHs*t~>
+JcC]/"868$p>Z)Rm/W@F^B$EWiVs#RA2WDHs*t~>
+JcC]/"868$p>Z)Rm/W@F^B$EWiVs#RA2WDHs*t~>
+JcC]/!b=1Ki;Wk>.(K,g!fI'Gi;WoQA5Dp!s*t~>
+JcC]/!b=1Ki;Wk>.(K,g!fI'Gi;WoQA5Dp!s*t~>
+JcC]/!b=1Ki;Wk>.(K,g!fI'Gi;WoQA5Dp!s*t~>
+JcC`0!g>M%i;WrINW;PKr4`>c!(Y`"rrVmiA?,Z[~>
+JcC`0!g>M%i;WrINW;PKr4`>c!(Y`"rrVmiA?,Z[~>
+JcC`0!g>M%i;WrINW;PKr4`>c!(Y`"rrVmiA?,Z[~>
+JcCc1!lP)WiVsMWP5nClDuaF#Jp9BX[WMS(mGS!Gj#*O2s*t~>
+JcCc1!lP)WiVsMWP5nClDuaF#Jp9BX[WMS(mGS!Gj#*O2s*t~>
+JcCc1!lP)WiVsMWP5nClDuaF#Jp9BX[WMS(mGS!Gj#*O2s*t~>
+JcCf2!pqk=ir9/KP5nCsrr3GGJP/"@U$_m[fhVUMp>Q#Q_uS,bs*t~>
+JcCf2!pqk=ir9/KP5nCsrr3GGJP/"@U$_m[fhVUMp>Q#Q_uS,bs*t~>
+JcCf2!pqk=ir9/KP5nCsrr3GGJP/"@U$_m[fhVUMp>Q#Q_uS,bs*t~>
+JcCf2!d.<4jSoAMP5nCsqYpS,U&+ck\MZ7TiVrt52>40PJ,~>
+JcCf2!d.<4jSoAMP5nCsqYpS,U&+ck\MZ7TiVrt52>40PJ,~>
+JcCf2!d.<4jSoAMP5nCsqYpS,U&+ck\MZ7TiVrt52>40PJ,~>
+JcD8?!4hh'!lP)ljo5JNP5nCsq>UN`!71K@"SSMh:YFe.!qnLFXoEn~>
+JcD8?!4hh'!lP)ljo5JNP5nCsq>UN`!71K@"SSMh:YFe.!qnLFXoEn~>
+JcD8?!4hh'!lP)ljo5JNP5nCsq>UN`!71K@"SSMh:YFe.!qnLFXoEn~>
+JcD;@!ndR;q#:Eh23[2&"RVBQ:W3#-!Q6khrrh_C!-R\irrU+=j0&E4~>
+JcD;@!ndR;q#:Eh23[2&"RVBQ:W3#-!Q6khrrh_C!-R\irrU+=j0&E4~>
+JcD;@!ndR;q#:Eh23[2&"RVBQ:W3#-!Q6khrrh_C!-R\irrU+=j0&E4~>
+JcD;@"K_Y(FnY\3!j+?Rkl1e=P5nCsp&G&Go`#'IA,r=sjo5?lFftap~>
+JcD;@"K_Y(FnY\3!j+?Rkl1e=P5nCsp&G&Go`#'IA,r=sjo5?lFftap~>
+JcD;@"K_Y(FnY\3!j+?Rkl1e=P5nCsp&G&Go`#'IA,r=sjo5?lFftap~>
+JcD;@!-S8@!G(6grrVmOXmuGkf`:F;rrh"t!-QudrrE,<o)Ag12)VMurrUjRfrtF+~>
+JcD;@!-S8@!G(6grrVmOXmuGkf`:F;rrh"t!-QudrrE,<o)Ag12)VMurrUjRfrtF+~>
+JcD;@!-S8@!G(6grrVmOXmuGkf`:F;rrh"t!-QudrrE,<o)Ag12)VMurrUjRfrtF+~>
+JcD;@qu?aTj8JuZXYohErrVno0E(qV?J5A3FT?R;oD\s>Mu^0No)AjdXT2/Crr3,p\ZN![n,EE!
+PHY":~>
+JcD;@qu?aTj8JuZXYohErrVno0E(qV?J5A3FT?R;oD\s>Mu^0No)AjdXT2/Crr3,p\ZN![n,EE!
+PHY":~>
+JcD;@qu?aTj8JuZXYohErrVno0E(qV?J5A3FT?R;oD\s>Mu^0No)AjdXT2/Crr3,p\ZN![n,EE!
+PHY":~>
+JcE(V!oqterN5g:!/:ES!2oYn!6"m:!DfE]rs\U.."\_=Wal*5!-Qudrs.R[!-)O,!28r_%.05Y
+FlTS(20F$A:XAS2!lP*+YlB4~>
+JcE(V!oqterN5g:!/:ES!2oYn!6"m:!DfE]rs\U.."\_=Wal*5!-Qudrs.R[!-)O,!28r_%.05Y
+FlTS(20F$A:XAS2!lP*+YlB4~>
+JcE(V!oqterN5g:!/:ES!2oYn!6"m:!DfE]rs\U.."\_=Wal*5!-Qudrs.R[!-)O,!28r_%.05Y
+FlTS(20F$A:XAS2!lP*+YlB4~>
+JcE@^"npW[X`\dO!!#gj!!KG(cN*A)rrRa"Wr0U5GQ>;Frr_:=L$em>!kA;pnG`XEFT;EDrr3)o
+K`KHhrrG!fYlB4~>
+JcE@^"npW[X`\dO!!#gj!!KG(cN*A)rrRa"Wr0U5GQ>;Frr_:=L$em>!kA;pnG`XEFT;EDrr3)o
+K`KHhrrG!fYlB4~>
+JcE@^"npW[X`\dO!!#gj!!KG(cN*A)rrRa"Wr0U5GQ>;Frr_:=L$em>!kA;pnG`XEFT;EDrr3)o
+K`KHhrrG!fYlB4~>
+JcEOc"RXO;FZ&4[!(?S^!gAXTo`#!Q!1Wi"!Ea72rrVmiL&:lOcN);\rrUjR`;BQ9P;W()rrJ<o
+YlB4~>
+JcEOc"RXO;FZ&4[!(?S^!gAXTo`#!Q!1Wi"!Ea72rrVmiL&:lOcN);\rrUjR`;BQ9P;W()rrJ<o
+YlB4~>
+JcEOc"RXO;FZ&4[!(?S^!gAXTo`#!Q!1Wi"!Ea72rrVmiL&:lOcN);\rrUjR`;BQ9P;W()rrJ<o
+YlB4~>
+JcE[g"66qG2=pkMA9E%nXnLHIXnD_q'sdK3!M2s[^B0l)mI^D[_uTN-rrJ<onG`NCFo)+>p,0DO
+rrULHmBQ\A~>
+JcE[g"66qG2=pkMA9E%nXnLHIXnD_q'sdK3!M2s[^B0l)mI^D[_uTN-rrJ<onG`NCFo)+>p,0DO
+rrULHmBQ\A~>
+JcE[g"66qG2=pkMA9E%nXnLHIXnD_q'sdK3!M2s[^B0l)mI^D[_uTN-rrJ<onG`NCFo)+>p,0DO
+rrULHmBQ\A~>
+JcEgk"7<XQ2>7(SFd&rRg%Oe4!9<_P!Cl,BrrI"^pqHh0g%>:FKp2?4!oj:Jnc&Uich[SATloo*
+!B%g#s*t~>
+JcEgk"7<XQ2>7(SFd&rRg%Oe4!9<_P!Cl,BrrI"^pqHh0g%>:FKp2?4!oj:Jnc&Uich[SATloo*
+!B%g#s*t~>
+JcEgk"7<XQ2>7(SFd&rRg%Oe4!9<_P!Cl,BrrI"^pqHh0g%>:FKp2?4!oj:Jnc&Uich[SATloo*
+!B%g#s*t~>
+JcEpn!ootMp](D=Xj?%hrrBV&!!-W4p&>&1K)!(]!87#E!HkO>rrE,Qo)AdE!;?6g!RCc9rrIh;
+Z2]=~>
+JcEpn!ootMp](D=Xj?%hrrBV&!!-W4p&>&1K)!(]!87#E!HkO>rrE,Qo)AdE!;?6g!RCc9rrIh;
+Z2]=~>
+JcEpn!ootMp](D=Xj?%hrrBV&!!-W4p&>&1K)!(]!87#E!HkO>rrE,Qo)AdE!;?6g!RCc9rrIh;
+Z2]=~>
+JcF$q!ooJ?q>^UTKt67%rr@cL!!G05XaPoprrI"hpqHh0g%>:FFfkH=!<CgDrrLdQq#:BJ!:g'i
+X^n^:J,~>
+JcF$q!ooJ?q>^UTKt67%rr@cL!!G05XaPoprrI"hpqHh0g%>:FFfkH=!<CgDrrLdQq#:BJ!:g'i
+X^n^:J,~>
+JcF$q!ooJ?q>^UTKt67%rr@cL!!G05XaPoprrI"hpqHh0g%>:FFfkH=!<CgDrrLdQq#:BJ!:g'i
+X^n^:J,~>
+JcF-t!pu[Wq>^S>\`;KF!&a`U"([V6j8T&ZFfk98!M2s[^B1/1mI^DZFeSX2!pp!@o)AdY!9<nT
+!Nf/frrLdQZ2]=~>
+JcF-t!pu[Wq>^S>\`;KF!&a`U"([V6j8T&ZFfk98!M2s[^B1/1mI^DZFeSX2!pp!@o)AdY!9<nT
+!Nf/frrLdQZ2]=~>
+JcF-t!pu[Wq>^S>\`;KF!&a`U"([V6j8T&ZFfk98!M2s[^B1/1mI^DZFeSX2!pp!@o)AdY!9<nT
+!Nf/frrLdQZ2]=~>
+JcF7"!qsQCqZ$^UPL&sVrrh_3Xj?_;rrE,GoD\mP!2KD*!Ea72rrJfhq>UK+2=UVH:TaHm!G%Da
+rrV3\j0J]8~>
+JcF7"!qsQCqZ$^UPL&sVrrh_3Xj?_;rrE,GoD\mP!2KD*!Ea72rrJfhq>UK+2=UVH:TaHm!G%Da
+rrV3\j0J]8~>
+JcF7"!qsQCqZ$^UPL&sVrrh_3Xj?_;rrE,GoD\mP!2KD*!Ea72rrJfhq>UK+2=UVH:TaHm!G%Da
+rrV3\j0J]8~>
+JcF=$!pu1/qu?dUPL%DO!<CgDrrRa"Wr0U5P5s;-rrVQf\blC.p,/''rrT;[mJHnbcN)YfrrE,Q
+ZN#F~>
+JcF=$!pu1/qu?dUPL%DO!<CgDrrRa"Wr0U5P5s;-rrVQf\blC.p,/''rrT;[mJHnbcN)YfrrE,Q
+ZN#F~>
+JcF=$!pu1/qu?dUPL%DO!<CgDrrRa"Wr0U5P5s;-rrVQf\blC.p,/''rrT;[mJHnbcN)YfrrE,Q
+ZN#F~>
+JcFC&!SMVm!!.elaSu>/!9<YM$2.^SPISB-A,sI9rrSko`;T]<p1-&SnG`UaA7Y*+rrUk2POJMP
+!84[XJ,~>
+JcFC&!SMVm!!.elaSu>/!9<YM$2.^SPISB-A,sI9rrSko`;T]<p1-&SnG`UaA7Y*+rrUk2POJMP
+!84[XJ,~>
+JcFC&!SMVm!!.elaSu>/!9<YM$2.^SPISB-A,sI9rrSko`;T]<p1-&SnG`UaA7Y*+rrUk2POJMP
+!84[XJ,~>
+JcFI(!Q7e3!!5rumDf/,f`:OA!VW,`!!,X:n,EZW!0b+DTf#X+mf*RQA2U(.aHHUfmf*:ffs:X.~>
+JcFI(!Q7e3!!5rumDf/,f`:OA!VW,`!!,X:n,EZW!0b+DTf#X+mf*RQA2U(.aHHUfmf*:ffs:X.~>
+JcFI(!Q7e3!!5rumDf/,f`:OA!VW,`!!,X:n,EZW!0b+DTf#X+mf*RQA2U(.aHHUfmf*:ffs:X.~>
+JcFO*!Q7e3!!.5g_uBbj!:KjhNW:nLm/I:9HN4%/XnM,]#55/n!!$]NmJd2E\[)6c~>
+JcFO*!Q7e3!!.5g_uBbj!:KjhNW:nLm/I:9HN4%/XnM,]#55/n!!$]NmJd2E\[)6c~>
+JcFO*!Q7e3!!.5g_uBbj!:KjhNW:nLm/I:9HN4%/XnM,]#55/n!!$]NmJd2E\[)6c~>
+JcFU,!Q7e3!!/;N_>aPh!:TpkP5rPS!4hLs"lhINVZ;qGrrp=@Ncb??mJd1efs:X.~>
+JcFU,!Q7e3!!/;N_>aPh!:TpkP5rPS!4hLs"lhINVZ;qGrrp=@Ncb??mJd1efs:X.~>
+JcFU,!Q7e3!!/;N_>aPh!:TpkP5rPS!4hLs"lhINVZ;qGrrp=@Ncb??mJd1efs:X.~>
+JcF[.!RFR?!!5$OmD&Z&p&Ne9rs+_f`;fk>!9<PJ#iddQpA`&2PP4DD#GD."s8SbmU$hp]!84[X
+J,~>
+JcF[.!RFR?!!5$OmD&Z&p&Ne9rs+_f`;fk>!9<PJ#iddQpA`&2PP4DD#GD."s8SbmU$hp]!84[X
+J,~>
+JcF[.!RFR?!!5$OmD&Z&p&Ne9rs+_f`;fk>!9<PJ#iddQpA`&2PP4DD#GD."s8SbmU$hp]!84[X
+J,~>
+JcFa0!SMVo!!5$[p:UD+!86rC!g<W&rVlqA:\O>Y"2k2'pAY'ofem=6n,EHQ!6"j9"2k1^p@/(_
+!84[XJ,~>
+JcFa0!SMVo!!5$[p:UD+!86rC!g<W&rVlqA:\O>Y"2k2'pAY'ofem=6n,EHQ!6"j9"2k1^p@/(_
+!84[XJ,~>
+JcFa0!SMVo!!5$[p:UD+!86rC!g<W&rVlqA:\O>Y"2k2'pAY'ofem=6n,EHQ!6"j9"2k1^p@/(_
+!84[XJ,~>
+JcFg2!VV`T!!04q])Mdg`:O!1P5rQ!rrVRFPOe_T_uQ"urr_:WAE37\"87F+`;BQ:j#(B-o)AdE
+!:@)lJ,~>
+JcFg2!VV`T!!04q])Mdg`:O!1P5rQ!rrVRFPOe_T_uQ"urr_:WAE37\"87F+`;BQ:j#(B-o)AdE
+!:@)lJ,~>
+JcFg2!VV`T!!04q])Mdg`:O!1P5rQ!rrVRFPOe_T_uQ"urr_:WAE37\"87F+`;BQ:j#(B-o)AdE
+!:@)lJ,~>
+JcFj3!P()d!!/;N\GlSPXn;VpP5rPtrrULH`:X'2NrZ<Xrr_t*2<4?/"6EoJj8&]Wp1-%joD\j;
+!3uQS~>
+JcFj3!P()d!!/;N\GlSPXn;VpP5rPtrrULH`:X'2NrZ<Xrr_t*2<4?/"6EoJj8&]Wp1-%joD\j;
+!3uQS~>
+JcFj3!P()d!!/;N\GlSPXn;VpP5rPtrrULH`:X'2NrZ<Xrr_t*2<4?/"6EoJj8&]Wp1-%joD\j;
+!3uQS~>
+JcFp5!TR_h!!.6&[f6B%Fnbn=p<RRUYPJ2$p4=Qkj8&]U`)$@4!Hm)krrr+9!0#V)qYpfoXYg(Y
+09c,+rrL&3rVutAg%PFHTlmX?J,~>
+JcFp5!TR_h!!.6&[f6B%Fnbn=p<RRUYPJ2$p4=Qkj8&]U`)$@4!Hm)krrr+9!0#V)qYpfoXYg(Y
+09c,+rrL&3rVutAg%PFHTlmX?J,~>
+JcFp5!TR_h!!.6&[f6B%Fnbn=p<RRUYPJ2$p4=Qkj8&]U`)$@4!Hm)krrr+9!0#V)qYpfoXYg(Y
+09c,+rrL&3rVutAg%PFHTlmX?J,~>
+JcG!7!VW5c!!,m6[/U0F!;QR!\MXA#4TKWbr;R#(2#pWP!-R],rs4egPM,!BFTBAWrs-k-!'aik
+27`Yb$2.meXkDaQ:Gq21rs4egPM,!BFTBASrrHZ(Z2]=~>
+JcG!7!VW5c!!,m6[/U0F!;QR!\MXA#4TKWbr;R#(2#pWP!-R],rs4egPM,!BFTBAWrs-k-!'aik
+27`Yb$2.meXkDaQ:Gq21rs4egPM,!BFTBASrrHZ(Z2]=~>
+JcG!7!VW5c!!,m6[/U0F!;QR!\MXA#4TKWbr;R#(2#pWP!-R],rs4egPM,!BFTBAWrs-k-!'aik
+27`Yb$2.meXkDaQ:Gq21rs4egPM,!BFTBASrrHZ(Z2]=~>
+JcG$8!SL9I!!/eeZi:*o!875K$'P@kpAb0GA2WEHrs=khXnMepfjlu#rr3&%!6"g8!hfVIrVm1t
+!28f[s7WPpPPtO]A,u?%rr_t*:\Oef!j)I@r;Qh^!872J!qlW?Z2]=~>
+JcG$8!SL9I!!/eeZi:*o!875K$'P@kpAb0GA2WEHrs=khXnMepfjlu#rr3&%!6"g8!hfVIrVm1t
+!28f[s7WPpPPtO]A,u?%rr_t*:\Oef!j)I@r;Qh^!872J!qlW?Z2]=~>
+JcG$8!SL9I!!/eeZi:*o!875K$'P@kpAb0GA2WEHrs=khXnMepfjlu#rr3&%!6"g8!hfVIrVm1t
+!28f[s7WPpPPtO]A,u?%rr_t*:\Oef!j)I@r;Qh^!872J!qlW?Z2]=~>
+JcG'9!3Q2"!G(5prrGohqu6`D!6"g8#PM\=s8UCF`;KW?p1._6s7S=PqYpSM:]C@qcN(o\rs-IB
+\c;]J!9<tV#PL$Ws8VcmXnr(tFnu%=_uTM9s*t~>
+JcG'9!3Q2"!G(5prrGohqu6`D!6"g8#PM\=s8UCF`;KW?p1._6s7S=PqYpSM:]C@qcN(o\rs-IB
+\c;]J!9<tV#PL$Ws8VcmXnr(tFnu%=_uTM9s*t~>
+JcG'9!3Q2"!G(5prrGohqu6`D!6"g8#PM\=s8UCF`;KW?p1._6s7S=PqYpSM:]C@qcN(o\rs-IB
+\c;]J!9<tV#PL$Ws8VcmXnr(tFnu%=_uTM9s*t~>
+ZMt*gft"5eU&0!3XTHGomEY_4j(/)g!3NF(!MN<drrHYaqYp`d!6"n5PPY:`irIF*\Ma*Wrs%K`
+j8]-TL&(`PXYp.YFd)Y$"ee`ls1(#_rrV3\j8/fUKs:T-~>
+ZMt*gft"5eU&0!3XTHGomEY_4j(/)g!3NF(!MN<drrHYaqYp`d!6"n5PPY:`irIF*\Ma*Wrs%K`
+j8]-TL&(`PXYp.YFd)Y$"ee`ls1(#_rrV3\j8/fUKs:T-~>
+ZMt*gft"5eU&0!3XTHGomEY_4j(/)g!3NF(!MN<drrHYaqYp`d!6"n5PPY:`irIF*\Ma*Wrs%K`
+j8]-TL&(`PXYp.YFd)Y$"ee`ls1(#_rrV3\j8/fUKs:T-~>
+\Gl^!c`M=crVuporcS.@!29C7!&a`U"D!4gg%Ntr!Q6kp!!-WjXoAIi!71WD!pp!6q>^JK!pp!J
+q>USOPQ-i#q#:LT\c;$sj8&]Ym/Yi>!71K@"k`nUs-&03rrG!qqu6`k!5u,AJ,~>
+\Gl^!c`M=crVuporcS.@!29C7!&a`U"D!4gg%Ntr!Q6kp!!-WjXoAIi!71WD!pp!6q>^JK!pp!J
+q>USOPQ-i#q#:LT\c;$sj8&]Ym/Yi>!71K@"k`nUs-&03rrG!qqu6`k!5u,AJ,~>
+\Gl^!c`M=crVuporcS.@!29C7!&a`U"D!4gg%Ntr!Q6kp!!-WjXoAIi!71WD!pp!6q>^JK!pp!J
+q>USOPQ-i#q#:LT\c;$sj8&]Ym/Yi>!71K@"k`nUs-&03rrG!qqu6`k!5u,AJ,~>
+]`/?4c]_-)!-P!Gg$S>0$00^@P@OXnA>.]1rrMhWr;Zi"WrE*BL&M#Pf`:gI"0H_!!;QQsX`aYd
+Xn_o!Ffk\s!;HKrA?Gk3g%kXOirJ->FfkH=!HkOArrK5ZYQ'+~>
+]`/?4c]_-)!-P!Gg$S>0$00^@P@OXnA>.]1rrMhWr;Zi"WrE*BL&M#Pf`:gI"0H_!!;QQsX`aYd
+Xn_o!Ffk\s!;HKrA?Gk3g%kXOirJ->FfkH=!HkOArrK5ZYQ'+~>
+]`/?4c]_-)!-P!Gg$S>0$00^@P@OXnA>.]1rrMhWr;Zi"WrE*BL&M#Pf`:gI"0H_!!;QQsX`aYd
+Xn_o!Ffk\s!;HKrA?Gk3g%kXOirJ->FfkH=!HkOArrK5ZYQ'+~>
+^]+Q4`.\0kFh-2frs/8NTk"-\PL&+c!TR_i!!+t1WW*%<!:Bdc!SIJJrr]BGf`:gI"KchHKp2<3
+"Ac0"f`:dH"EgjH!872J"k`nUs)jP#rrGp+r;Qil26F(^J,~>
+^]+Q4`.\0kFh-2frs/8NTk"-\PL&+c!TR_i!!+t1WW*%<!:Bdc!SIJJrr]BGf`:gI"KchHKp2<3
+"Ac0"f`:dH"EgjH!872J"k`nUs)jP#rrGp+r;Qil26F(^J,~>
+^]+Q4`.\0kFh-2frs/8NTk"-\PL&+c!TR_i!!+t1WW*%<!:Bdc!SIJJrr]BGf`:gI"KchHKp2<3
+"Ac0"f`:dH"EgjH!872J"k`nUs)jP#rrGp+r;Qil26F(^J,~>
+_>a\bK`Euocee[+p;DXb23[([rrLG'rVutQp8@ok:QteX!ndSIq>UT"FkHcgq>USkFoSR>q>UZd
+!87D*!;?3f"?!aiA>/i!"h?Mjs/f)mrrVQfg&1jOXT7als*t~>
+_>a\bK`Euocee[+p;DXb23[([rrLG'rVutQp8@ok:QteX!ndSIq>UT"FkHcgq>USkFoSR>q>UZd
+!87D*!;?3f"?!aiA>/i!"h?Mjs/f)mrrVQfg&1jOXT7als*t~>
+_>a\bK`Euocee[+p;DXb23[([rrLG'rVutQp8@ok:QteX!ndSIq>UT"FkHcgq>USkFoSR>q>UZd
+!87D*!;?3f"?!aiA>/i!"h?Mjs/f)mrrVQfg&1jOXT7als*t~>
+`;^#7\PE3Z`7Y(np:4]6Fi<DA!4i%.!3N*t!lP*!rr3!!`;0E9A>/\s`;0E::SIgU!71NA#-Bc_
+s7QH2q>UZP!9=*]2>6nH##CH_s6Tg>qYpSu2>mIUp,/PHs*t~>
+`;^#7\PE3Z`7Y(np:4]6Fi<DA!4i%.!3N*t!lP*!rr3!!`;0E9A>/\s`;0E::SIgU!71NA#-Bc_
+s7QH2q>UZP!9=*]2>6nH##CH_s6Tg>qYpSu2>mIUp,/PHs*t~>
+`;^#7\PE3Z`7Y(np:4]6Fi<DA!4i%.!3N*t!lP*!rr3!!`;0E9A>/\s`;0E::SIgU!71NA#-Bc_
+s7QH2q>UZP!9=*]2>6nH##CH_s6Tg>qYpSu2>mIUp,/PHs*t~>
+`r?59XYhu0mF2(<folD3`9@4$PPtO_2;+c)!G$?PrrSB[pA=jncN*#*P>D&T#Isj%s8S9?j8AoY
+f`8S^rrSB[pA4ghFoVICp,/'2rrSBAmJd+eKf/T%rrUjR\buI/Tf)PHs*t~>
+`r?59XYhu0mF2(<folD3`9@4$PPtO_2;+c)!G$?PrrSB[pA=jncN*#*P>D&T#Isj%s8S9?j8AoY
+f`8S^rrSB[pA4ghFoVICp,/'2rrSBAmJd+eKf/T%rrUjR\buI/Tf)PHs*t~>
+`r?59XYhu0mF2(<folD3`9@4$PPtO_2;+c)!G$?PrrSB[pA=jncN*#*P>D&T#Isj%s8S9?j8AoY
+f`8S^rrSB[pA4ghFoVICp,/'2rrSBAmJd+eKf/T%rrUjR\buI/Tf)PHs*t~>
+a8Z:E2)VN0lMgqQg$S&("RVBQ:XAD-!VU('!!-WtUAkMP!4i.0m5:+$rVm,_251'Mm5:+*rrUk2
+U&P&up1-&!s8Vep!0dB]"77sVpAFplP5sYBrs@?YFlWN%m=bPYrVm2tA2V=*s7WPpPPkF^irHWl
+s*t~>
+a8Z:E2)VN0lMgqQg$S&("RVBQ:XAD-!VU('!!-WtUAkMP!4i.0m5:+$rVm,_251'Mm5:+*rrUk2
+U&P&up1-&!s8Vep!0dB]"77sVpAFplP5sYBrs@?YFlWN%m=bPYrVm2tA2V=*s7WPpPPkF^irHWl
+s*t~>
+a8Z:E2)VN0lMgqQg$S&("RVBQ:XAD-!VU('!!-WtUAkMP!4i.0m5:+$rVm,_251'Mm5:+*rrUk2
+U&P&up1-&!s8Vep!0dB]"77sVpAFplP5sYBrs@?YFlWN%m=bPYrVm2tA2V=*s7WPpPPkF^irHWl
+s*t~>
+ao;Ls:Go9Jli.%[X\\or!]@+RlMh"SP5oamn,EF^AGuQ0L%_2>%\YcIs8V+::W1r>P5ob!rr38a
+2,D0DfolE"r;R#qP5kSn!&^nUrs@^C:V#03\PG*/r;R#^:B37J!)M;Frs/7]!!$O026HfV!qp/I
+XT*e~>
+ao;Ls:Go9Jli.%[X\\or!]@+RlMh"SP5oamn,EF^AGuQ0L%_2>%\YcIs8V+::W1r>P5ob!rr38a
+2,D0DfolE"r;R#qP5kSn!&^nUrs@^C:V#03\PG*/r;R#^:B37J!)M;Frs/7]!!$O026HfV!qp/I
+XT*e~>
+ao;Ls:Go9Jli.%[X\\or!]@+RlMh"SP5oamn,EF^AGuQ0L%_2>%\YcIs8V+::W1r>P5ob!rr38a
+2,D0DfolE"r;R#qP5kSn!&^nUrs@^C:V#03\PG*/r;R#^:B37J!)M;Frs/7]!!$O026HfV!qp/I
+XT*e~>
+bPq_=K`HholMh4OA2ULLs5U4=2<3s$"5.2bXmuDlj#-f9!0a#S!qp/8rr32iP;N=?:W3/1#47U3
+!!$QJq>UTbc`Pmoq>U]nTeufM23[G'rr_<"\_6`W"RXO;g%P=C!g>M/XT*e~>
+bPq_=K`HholMh4OA2ULLs5U4=2<3s$"5.2bXmuDlj#-f9!0a#S!qp/8rr32iP;N=?:W3/1#47U3
+!!$QJq>UTbc`Pmoq>U]nTeufM23[G'rr_<"\_6`W"RXO;g%P=C!g>M/XT*e~>
+bPq_=K`HholMh4OA2ULLs5U4=2<3s$"5.2bXmuDlj#-f9!0a#S!qp/8rr32iP;N=?:W3/1#47U3
+!!$QJq>UTbc`Pmoq>U]nTeufM23[G'rr_<"\_6`W"RXO;g%P=C!g>M/XT*e~>
+bl7dk2,Doirr_sjAG5s$"867_p?;MY\M[pXo`"sP2?!RU`16i/j#*%'rrU+=`2iog~>
+bl7dk2,Doirr_sjAG5s$"867_p?;MY\M[pXo`"sP2?!RU`16i/j#*%'rrU+=`2iog~>
+bl7dk2,Doirr_sjAG5s$"867_p?;MY\M[pXo`"sP2?!RU`16i/j#*%'rrU+=`2iog~>
+c2Rm>!/:.1rrT;[pA4djp.pn8rr_Y!28o4g!TQ':!!'s+rrU+=`3B7CirGdQs*t~>
+c2Rm>!/:.1rrT;[pA4djp.pn8rr_Y!28o4g!TQ':!!'s+rrU+=`3B7CirGdQs*t~>
+c2Rm>!/:.1rrT;[pA4djp.pn8rr_Y!28o4g!TQ':!!'s+rrU+=`3B7CirGdQs*t~>
+ci4+@A2V<frrG!Zq#:B5!9O4^T`C;OrrqF?!!"n&R/[5]!5u2C!ol.lWW.J~>
+ci4+@A2V<frrG!Zq#:B5!9O4^T`C;OrrqF?!!"n&R/[5]!5u2C!ol.lWW.J~>
+ci4+@A2V<frrG!Zq#:B5!9O4^T`C;OrrqF?!!"n&R/[5]!5u2C!ol.lWW.J~>
+d/O4.2,E8prrV3\mJ-\_p&Ne-rr^1sAG5p#"lhH?!&`f&rrSAa`3fOHj#(B@WW.J~>
+d/O4.2,E8prrV3\mJ-\_p&Ne-rr^1sAG5p#"lhH?!&`f&rrSAa`3fOHj#(B@WW.J~>
+d/O4.2,E8prrV3\mJ-\_p&Ne-rr^1sAG5p#"lhH?!&`f&rrSAa`3fOHj#(B@WW.J~>
+dJj=/2.ZFBrrLdQpAY-ng#W/8j#(B@rVm&]2#mV6j-9QFP5rP0rr_:=AG2u%J,~>
+dJj=/2.ZFBrrLdQpAY-ng#W/8j#(B@rVm&]2#mV6j-9QFP5rP0rr_:=AG2u%J,~>
+dJj=/2.ZFBrrLdQpAY-ng#W/8j#(B@rVm&]2#mV6j-9QFP5rP0rr_:=AG2u%J,~>
+df0F020JWRrrUjRmJ-\_p&Ne+rsRjtAG6''j#$f:2<0l"!g<W&\GlZk2.ZEYs*t~>
+df0F020JWRrrUjRmJ-\_p&Ne+rsRjtAG6''j#$f:2<0l"!g<W&\GlZk2.ZEYs*t~>
+df0F020JWRrrUjRmJ-\_p&Ne+rsRjtAG6''j#$f:2<0l"!g<W&\GlZk2.ZEYs*t~>
+e,KL023[#!!B%gjrrU+=p>Z)Yp1._-j#$f:2<0eu!hfUf])MlN!/:-Ds*t~>
+e,KL023[#!!B%gjrrU+=p>Z)Yp1._-j#$f:2<0eu!hfUf])MlN!/:-Ds*t~>
+e,KL023[#!!B%gjrrU+=p>Z)Yp1._-j#$f:2<0eu!hfUf])MlN!/:-Ds*t~>
+eGfU12.YYF!g?FRq>UJ+L#Dt9p,-5O!!"n:NrK4"!-S"KrrSAaTqq^=~>
+eGfU12.YYF!g?FRq>UJ+L#Dt9p,-5O!!"n:NrK4"!-S"KrrSAaTqq^=~>
+eGfU12.YYF!g?FRq>UJ+L#Dt9p,-5O!!"n:NrK4"!-S"KrrSAaTqq^=~>
+ec,aF:Ls1Wrr_X6HhR@:!f/,`hu<`3(&e15`/O]uj%hPc_#FMsA2V<#s*t~>
+ec,aF:Ls1Wrr_X6HhR@:!f/,`hu<`3(&e15`/O]uj%hPc_#FMsA2V<#s*t~>
+ec,aF:Ls1Wrr_X6HhR@:!f/,`hu<`3(&e15`/O]uj%hPc_#FMsA2V<#s*t~>
+ec,\n2>6#/#55/V0.Ti:rr3/JA1K6-`8LXqFoD@@`/=Qtp4WL?p;?n4\M[pXUAo`~>
+ec,\n2>6#/#55/V0.Ti:rr3/JA1K6-`8LXqFoD@@`/=Qtp4WL?p;?n4\M[pXUAo`~>
+ec,\n2>6#/#55/V0.Ti:rr3/JA1K6-`8LXqFoD@@`/=Qtp4WL?p;?n4\M[pXUAo`~>
+f)GfR!86B3#PP8W26HT>PPbCbL$eSt!-QuTrrMLErVurOM#RS'2,DQ<rr^qb!3MpoJ,~>
+f)GfR!86B3#PP8W26HT>PPbCbL$eSt!-QuTrrMLErVurOM#RS'2,DQ<rr^qb!3MpoJ,~>
+f)GfR!86B3#PP8W26HT>PPbCbL$eSt!-QuTrrMLErVurOM#RS'2,DQ<rr^qb!3MpoJ,~>
+fDbp4!3P;]"no&U26HTNrri%n!87)ErrhA)!/9h$rrqF?PBB[pM#RVOP5oaYb5VV3P5oacTDsE~>
+fDbp4!3P;]"no&U26HTNrri%n!87)ErrhA)!/9h$rrqF?PBB[pM#RVOP5oaYb5VV3P5oacTDsE~>
+fDbp4!3P;]"no&U26HTNrri%n!87)ErrhA)!/9h$rrqF?PBB[pM#RVOP5oaYb5VV3P5oacTDsE~>
+fDkk]jSoDWXYhu<pA4ghL&(`OfhVUMp>u;WpAaM;Tn`RMfl[:YmEY_7m?7NGc^k)d~>
+fDkk]jSoDWXYhu<pA4ghL&(`OfhVUMp>u;WpAaM;Tn`RMfl[:YmEY_7m?7NGc^k)d~>
+fDkk]jSoDWXYhu<pA4ghL&(`OfhVUMp>u;WpAaM;Tn`RMfl[:YmEY_7m?7NGc^k)d~>
+f`)#`!9<5A"mrEL26HTIrrG!qp\t?+2)W>4rrT_2j+[L9fjk)*g!]m'm?7NG`1-dW~>
+f`)#`!9<5A"mrEL26HTIrrG!qp\t?+2)W>4rrT_2j+[L9fjk)*g!]m'm?7NG`1-dW~>
+f`)#`!9<5A"mrEL26HTIrrG!qp\t?+2)W>4rrT_2j+[L9fjk)*g!]m'm?7NG`1-dW~>
+g&D-I25045"mqKR:V$2nrrULHmIpP_p7VI^g#W/6A9EP)"ke"u:V$2Orrr,7FT>4URK%d~>
+g&D-I25045"mqKR:V$2nrrULHmIpP_p7VI^g#W/6A9EP)"ke"u:V$2Orrr,7FT>4URK%d~>
+g&D-I25045"mqKR:V$2nrrULHmIpP_p7VI^g#W/6A9EP)"ke"u:V$2Orrr,7FT>4URK%d~>
+g&D,U2>6;7"RVBQ:W2o*!MO&qrrh_3!-R\krrUjRfn05.m?9C-KuE]@rrp`42#rinQiDR~>
+g&D,U2>6;7"RVBQ:W2o*!MO&qrrh_3!-R\krrUjRfn05.m?9C-KuE]@rrp`42#rinQiDR~>
+g&D,U2>6;7"RVBQ:W2o*!MO&qrrh_3!-R\krrUjRfn05.m?9C-KuE]@rrp`42#rinQiDR~>
+gA_6J26HHL%)djBFh.5Gs6Z!M:W2i(!Dfifrrh"c!29,Ls8R4ms8W*'c\2?!Ffj?Xrs.SpK`D+,
+`:fJrJ,~>
+gA_6J26HHL%)djBFh.5Gs6Z!M:W2i(!Dfifrrh"c!29,Ls8R4ms8W*'c\2?!Ffj?Xrs.SpK`D+,
+`:fJrJ,~>
+gA_6J26HHL%)djBFh.5Gs6Z!M:W2i(!Dfifrrh"c!29,Ls8R4ms8W*'c\2?!Ffj?Xrs.SpK`D+,
+`:fJrJ,~>
+gA_5m!;?'b%-(+`PHC$+2:I`h:W2l)!SN2+!!.f,nc'$92)VrEs/f&s!&]u6nc&[:!98Y1rVm/L
+ThbXgFeQb,mf*URc`M=I!&]tYp6,H+~>
+gA_5m!;?'b%-(+`PHC$+2:I`h:W2l)!SN2+!!.f,nc'$92)VrEs/f&s!&]u6nc&[:!98Y1rVm/L
+ThbXgFeQb,mf*URc`M=I!&]tYp6,H+~>
+gA_5m!;?'b%-(+`PHC$+2:I`h:W2l)!SN2+!!.f,nc'$92)VrEs/f&s!&]u6nc&[:!98Y1rVm/L
+ThbXgFeQb,mf*URc`M=I!&]tYp6,H+~>
+gA_1aPP"kWm58GArr3,pKb-_lo)B!6!-QW@cZK6+nc'$kXT2$l!28*!\PG*Cnc&VcTn37?rsA)=
+Tli3m!&\nArN-*SVu3XuKlp2j!!@A;`8cmXJ,~>
+gA_1aPP"kWm58GArr3,pKb-_lo)B!6!-QW@cZK6+nc'$kXT2$l!28*!\PG*Cnc&VcTn37?rsA)=
+Tli3m!&\nArN-*SVu3XuKlp2j!!@A;`8cmXJ,~>
+gA_1aPP"kWm58GArr3,pKb-_lo)B!6!-QW@cZK6+nc'$kXT2$l!28*!\PG*Cnc&VcTn37?rsA)=
+Tli3m!&\nArN-*SVu3XuKlp2j!!@A;`8cmXJ,~>
+g]%?8!87#E!d.<4qu6\6AFfa%cN(o]rrT_2cg^r:m6rJarVlunA2X)OrrKYfJcGEC"SUNeXeG]9
+!]DZNrH/7:Xh!-PM>r)~>
+g]%?8!87#E!d.<4qu6\6AFfa%cN(o]rrT_2cg^r:m6rJarVlunA2X)OrrKYfJcGEC"SUNeXeG]9
+!]DZNrH/7:Xh!-PM>r)~>
+g]%?8!87#E!d.<4qu6\6AFfa%cN(o]rrT_2cg^r:m6rJarVlunA2X)OrrKYfJcGEC"SUNeXeG]9
+!]DZNrH/7:Xh!-PM>r)~>
+g]%;V:\=Ygm/YK/rrVQfj7E9O:QtYT!JO>=rrUjRg&(dNp,/uCrrVQfc[l,`rrP%XPC``6s*t~>
+g]%;V:\=Ygm/YK/rrVQfj7E9O:QtYT!JO>=rrUjRg&(dNp,/uCrrVQfc[l,`rrP%XPC``6s*t~>
+g]%;V:\=Ygm/YK/rrVQfj7E9O:QtYT!JO>=rrUjRg&(dNp,/uCrrVQfc[l,`rrP%XPC``6s*t~>
+g]%:bU%J?c`&7>i!G&>)rrULHmJ?ham/YK&rrJ=+q>UK+2=^\IA>+SSmf*:\rVuq^JcC6~>
+g]%:bU%J?c`&7>i!G&>)rrULHmJ?ham/YK&rrJ=+q>UK+2=^\IA>+SSmf*:\rVuq^JcC6~>
+g]%:bU%J?c`&7>i!G&>)rrULHmJ?ham/YK&rrJ=+q>UK+2=^\IA>+SSmf*:\rVuq^JcC6~>
+h#@HL!71<;!NgM>rrJ=;o`"roAGH0*A?GD%!G&>.rrV3\j7<3NTk&`Smf*:?r;Zh]K)^?~>
+h#@HL!71<;!NgM>rrJ=;o`"roAGH0*A?GD%!G&>.rrV3\j7<3NTk&`Smf*:?r;Zh]K)^?~>
+h#@HL!71<;!NgM>rrJ=;o`"roAGH0*A?GD%!G&>.rrV3\j7<3NTk&`Smf*:?r;Zh]K)^?~>
+h#@H/!;?'b!NgM>rrJ=;o`"roFnkt;Ffk36!<CgJrrE,Qo)Aa:!.k1<rrBV-!!&48s*t~>
+h#@H/!;?'b!NgM>rrJ=;o`"roFnkt;Ffk36!<CgJrrE,Qo)Aa:!.k1<rrBV-!!&48s*t~>
+h#@H/!;?'b!NgM>rrJ=;o`"roFnkt;Ffk36!<CgJrrE,Qo)Aa:!.k1<rrBV-!!&48s*t~>
+h#@DW:\4Se`&7>i!G&>)rrK6Eq#:A;XmuDl28o=j!qlWIo)AdY!82r'n,EBOqZ$W7K`?Q~>
+h#@DW:\4Se`&7>i!G&>)rrK6Eq#:A;XmuDl28o=j!qlWIo)AdY!82r'n,EBOqZ$W7K`?Q~>
+h#@DW:\4Se`&7>i!G&>)rrK6Eq#:A;XmuDl28o=j!qlWIo)AdY!82r'n,EBOqZ$W7K`?Q~>
+h#@D=Fn>V7m/YK/rrVQfj7N?P`&7>i!B%gcrrI8+q>UKA!:^!h!5sHgn,EB1q>^N6L&ZZ~>
+h#@D=Fn>V7m/YK/rrVQfj7N?P`&7>i!B%gcrrI8+q>UKA!:^!h!5sHgn,EB1q>^N6L&ZZ~>
+h#@D=Fn>V7m/YK/rrVQfj7N?P`&7>i!B%gcrrI8+q>UKA!:^!h!5sHgn,EB1q>^N6L&ZZ~>
+h#@CtXn)JnKhqF>rrI7QoD\mZ!6"a6!kA=)nc&[/2>6nH!Hj+crrI8EJcG3=p](<4LAuc~>
+h#@CtXn)JnKhqF>rrI7QoD\mZ!6"a6!kA=)nc&[/2>6nH!Hj+crrI8EJcG3=p](<4LAuc~>
+h#@CtXn)JnKhqF>rrI7QoD\mZ!6"a6!kA=)nc&[/2>6nH!Hj+crrI8EJcG3=p](<4LAuc~>
+h#@CtXn)Jom58GArr3)oKf.o]rrSlOj8AoYj#*P"rrVmiFo21?\H(=PrrI8EJcG6>!:BL\!5sZm
+J,~>
+h#@CtXn)Jom58GArr3)oKf.o]rrSlOj8AoYj#*P"rrVmiFo21?\H(=PrrI8EJcG6>!:BL\!5sZm
+J,~>
+h#@CtXn)Jom58GArr3)oKf.o]rrSlOj8AoYj#*P"rrVmiFo21?\H(=PrrI8EJcG6>!:BL\!5sZm
+J,~>
+h#@CN\af\*j%fZ8RuT?`j73-Op1-&!rr3)=2.ZFLrs@^CFlWN%p7VK)n,NEAJcG6>!87&G!98n8
+J,~>
+h#@CN\af\*j%fZ8RuT?`j73-Op1-&!rr3)=2.ZFLrs@^CFlWN%p7VK)n,NEAJcG6>!87&G!98n8
+J,~>
+h#@CN\af\*j%fZ8RuT?`j73-Op1-&!rr3)=2.ZFLrs@^CFlWN%p7VK)n,NEAJcG6>!87&G!98n8
+J,~>
+h#@BTg$eqE]eg*[\b>Ll#kjG^01@MoU%[mR#NK=p2DY=j`:!X+X`]3pnG`Kjp&G+hp5/g"~>
+h#@BTg$eqE]eg*[\b>Ll#kjG^01@MoU%[mR#NK=p2DY=j`:!X+X`]3pnG`Kjp&G+hp5/g"~>
+h#@BTg$eqE]eg*[\b>Ll#kjG^01@MoU%[mR#NK=p2DY=j`:!X+X`]3pnG`Kjp&G+hp5/g"~>
+h#@BTcg^r<p1-%s!6"7("L]a4.CSL@"G6[p5i_83!NgKqs7$$gL%t]MA>/%=s*t~>
+h#@BTcg^r<p1-%s!6"7("L]a4.CSL@"G6[p5i_83!NgKqs7$$gL%t]MA>/%=s*t~>
+h#@BTcg^r<p1-%s!6"7("L]a4.CSL@"G6[p5i_83!NgKqs7$$gL%t]MA>/%=s*t~>
+h#@CcXmuDrp1-&@s.M=1mf*L0!0dGH!4hIr#PO>]`:d_!cgLf6FeOBdnG`K!qu?dt<UGJ>J,~>
+h#@CcXmuDrp1-&@s.M=1mf*L0!0dGH!4hIr#PO>]`:d_!cgLf6FeOBdnG`K!qu?dt<UGJ>J,~>
+h#@CcXmuDrp1-&@s.M=1mf*L0!0dGH!4hIr#PO>]`:d_!cgLf6FeOBdnG`K!qu?dt<UGJ>J,~>
+h#@CtXn)Jop1-&@rr<"/n,EHk!29Dl!kA;pmf*C_A2WEHrrSAaXmc8jFfg5pnGiLg"uVUj9E5(G
+K`?Q~>
+h#@CtXn)Jop1-&@rr<"/n,EHk!29Dl!kA;pmf*C_A2WEHrrSAaXmc8jFfg5pnGiLg"uVUj9E5(G
+K`?Q~>
+h#@CtXn)Jop1-&@rr<"/n,EHk!29Dl!kA;pmf*C_A2WEHrrSAaXmc8jFfg5pnGiLg"uVUj9E5(G
+K`?Q~>
+h#@CtU%A9dp1-&@rVlrd250R?!g<W&r;Ql;!/:.:rr_t*2<4W7"1\Dqp@8.`A?CF_nc&[XU#Z.P
+",-^T\V1!5~>
+h#@CtU%A9dp1-&@rVlrd250R?!g<W&r;Ql;!/:.:rr_t*2<4W7"1\Dqp@8.`A?CF_nc&[XU#Z.P
+",-^T\V1!5~>
+h#@CtU%A9dp1-&@rVlrd250R?!g<W&r;Ql;!/:.:rr_t*2<4W7"1\Dqp@8.`A?CF_nc&[XU#Z.P
+",-^T\V1!5~>
+h#@DWFnG\9p1-&@qu6`9!71<;"87oY`;9K9j#(B@oD\pQ2.Z+Nrr^q3AF8sf!<Cf(s6K[eXT/?p
+K`?Q~>
+h#@DWFnG\9p1-&@qu6`9!71<;"87oY`;9K9j#(B@oD\pQ2.Z+Nrr^q3AF8sf!<Cf(s6K[eXT/?p
+K`?Q~>
+h#@DWFnG\9p1-&@qu6`9!71<;"87oY`;9K9j#(B@oD\pQ2.Z+Nrr^q3AF8sf!<Cf(s6K[eXT/?p
+K`?Q~>
+h#@Dn2>-tOp1-&@q>UM[2>6eE"kg"@*j>;5rr_:l:ZM3L"nolp(dudHrrp5,(mDo3pAY3S!98Y1
+li.(?!!%.ps*t~>
+h#@Dn2>-tOp1-&@q>UM[2>6eE"kg"@*j>;5rr_:l:ZM3L"nolp(dudHrrp5,(mDo3pAY3S!98Y1
+li.(?!!%.ps*t~>
+h#@Dn2>-tOp1-&@q>UM[2>6eE"kg"@*j>;5rr_:l:ZM3L"nolp(dudHrrp5,(mDo3pAY3S!98Y1
+li.(?!!%.ps*t~>
+h#@H9!:BR]"iO^I!)gB(rrp>D!!$97qu6rqFT>s5BE1igqYpc<J,fRFPO88I#ie\\Fb='%FnYb5
+#kiB@@"WS%:ZM3L!Q6jHs6BUdm/R,DK`?Q~>
+h#@H9!:BR]"iO^I!)gB(rrp>D!!$97qu6rqFT>s5BE1igqYpc<J,fRFPO88I#ie\\Fb='%FnYb5
+#kiB@@"WS%:ZM3L!Q6jHs6BUdm/R,DK`?Q~>
+h#@H9!:BR]"iO^I!)gB(rrp>D!!$97qu6rqFT>s5BE1igqYpc<J,fRFPO88I#ie\\Fb='%FnYb5
+#kiB@@"WS%:ZM3L!Q6jHs6BUdm/R,DK`?Q~>
+g]%:3`;9K?p2C"LS""XO?hXL!$2.^+DO[,5!+5I!rr_t*2;/!/"87F+j8Juap4WL1^!XAd!6"j9
+"627mpAY'ofem=6rr3)oA2W'>rr_tK2<4K3!L%YWs69R_!!)_Hs*t~>
+g]%:3`;9K?p2C"LS""XO?hXL!$2.^+DO[,5!+5I!rr_t*2;/!/"87F+j8Juap4WL1^!XAd!6"j9
+"627mpAY'ofem=6rr3)oA2W'>rr_tK2<4K3!L%YWs69R_!!)_Hs*t~>
+g]%:3`;9K?p2C"LS""XO?hXL!$2.^+DO[,5!+5I!rr_t*2;/!/"87F+j8Juap4WL1^!XAd!6"j9
+"627mpAY'ofem=6rr3)oA2W'>rr_tK2<4K3!L%YWs69R_!!)_Hs*t~>
+g].;-qYpV;.'!6\!ieq$rr3%=.'!6\!idYfrr3&%2<4T6!Hh3:rrRm3g&1jOXT6<=rrGo<qu6`X
+26HlX!j+??qu6\>:\aqj27\;<l2Lj.!!(]+s*t~>
+g].;-qYpV;.'!6\!ieq$rr3%=.'!6\!idYfrr3&%2<4T6!Hh3:rrRm3g&1jOXT6<=rrGo<qu6`X
+26HlX!j+??qu6\>:\aqj27\;<l2Lj.!!(]+s*t~>
+g].;-qYpV;.'!6\!ieq$rr3%=.'!6\!idYfrr3&%2<4T6!Hh3:rrRm3g&1jOXT6<=rrGo<qu6`X
+26HlX!j+??qu6\>:\aqj27\;<l2Lj.!!(]+s*t~>
+g]%>n!;??j!ndRKqnE?8!6"oU!35q2#-%[As8OsYqYpff!71]FcN)Yprs#/SpA`G=mJ?h`XYp+X
+!B%"UrrVQfchdYCf`:Djs69OcK`D+kL&ZZ~>
+g]%>n!;??j!ndRKqnE?8!6"oU!35q2#-%[As8OsYqYpff!71]FcN)Yprs#/SpA`G=mJ?h`XYp+X
+!B%"UrrVQfchdYCf`:Djs69OcK`D+kL&ZZ~>
+g]%>n!;??j!ndRKqnE?8!6"oU!35q2#-%[As8OsYqYpff!71]FcN)Yprs#/SpA`G=mJ?h`XYp+X
+!B%"UrrVQfchdYCf`:Djs69OcK`D+kL&ZZ~>
+g]%?K!6"g8!InYU^BAFZs*nq^^BJL^s4IDGq>UV@PQ1Z:PPP4^p,0D\PBH^$#5/&Ms4IDGq>UJ<
+U&+ciP@T7Ekl1ae!!'-Ts*t~>
+g]%?K!6"g8!InYU^BAFZs*nq^^BJL^s4IDGq>UV@PQ1Z:PPP4^p,0D\PBH^$#5/&Ms4IDGq>UJ<
+U&+ciP@T7Ekl1ae!!'-Ts*t~>
+g]%?K!6"g8!InYU^BAFZs*nq^^BJL^s4IDGq>UV@PQ1Z:PPP4^p,0D\PBH^$#5/&Ms4IDGq>UJ<
+U&+ciP@T7Ekl1ae!!'-Ts*t~>
+gA_2-Fo;7?09c4H"JYts!1Wf!"IfDk\PN##"g)qIrrCC?s8RcSs)kI=rrc-.s/fi,rrK6Equ6`k
+27\;<kl1b'!!%_,s*t~>
+gA_2-Fo;7?09c4H"JYts!1Wf!"IfDk\PN##"g)qIrrCC?s8RcSs)kI=rrc-.s/fi,rrK6Equ6`k
+27\;<kl1b'!!%_,s*t~>
+gA_2-Fo;7?09c4H"JYts!1Wf!"IfDk\PN##"g)qIrrCC?s8RcSs)kI=rrc-.s/fi,rrK6Equ6`k
+27\;<kl1b'!!%_,s*t~>
+gA_6-!87>N!<Anj^BCeAirGkM^BC;3s/fi,rroNIs8N)Pq#:K!FoQTdq#:J-XoGM6q#:AsFo21?
+XYog's60Ibf`2"pL&ZZ~>
+gA_6-!87>N!<Anj^BCeAirGkM^BC;3s/fi,rroNIs8N)Pq#:K!FoQTdq#:J-XoGM6q#:AsFo21?
+XYog's60Ibf`2"pL&ZZ~>
+gA_6-!87>N!<Anj^BCeAirGkM^BC;3s/fi,rroNIs8N)Pq#:K!FoQTdq#:J-XoGM6q#:AsFo21?
+XYog's60Ibf`2"pL&ZZ~>
+g&D(KFoD=@!2KA)"KDIq!2KA)"JYtsf`:gI"bi0?rrCaIrrfHHs+Q1&rrr)rg&K@uq#:AKPPb@\
+:QpA0kPkPUrW%ZPJ,~>
+g&D(KFoD=@!2KA)"KDIq!2KA)"JYtsf`:gI"bi0?rrCaIrrfHHs+Q1&rrr)rg&K@uq#:AKPPb@\
+:QpA0kPkPUrW%ZPJ,~>
+g&D(KFoD=@!2KA)"KDIq!2KA)"JYtsf`:gI"bi0?rrCaIrrfHHs+Q1&rrr)rg&K@uq#:AKPPb@\
+:QpA0kPkPUrW%ZPJ,~>
+g&D,l!87AO!D.n=^BB`Rs%&(D^BKNKs7QH2qYpcn28oOp27`M^"_=>,`&78brs$CApAagd`;9K8
+p&N&/rrT;&m=G<"s8E"Ps*t~>
+g&D,l!87AO!D.n=^BB`Rs%&(D^BKNKs7QH2qYpcn28oOp27`M^"_=>,`&78brs$CApAagd`;9K8
+p&N&/rrT;&m=G<"s8E"Ps*t~>
+g&D,l!87AO!D.n=^BB`Rs%&(D^BKNKs7QH2qYpcn28oOp27`M^"_=>,`&78brs$CApAagd`;9K8
+p&N&/rrT;&m=G<"s8E"Ps*t~>
+f`1torr3"j4Sc_p=HEKE48HVq4-0FAP>CoLrs"ZEpAb/V:\k"pf`9_*p,/Q@rrVmiPQ(R`P>CoL
+rrSBApAP!mp,/t's5j7_A,lV_LAuc~>
+f`1torr3"j4Sc_p=HEKE48HVq4-0FAP>CoLrs"ZEpAb/V:\k"pf`9_*p,/Q@rrVmiPQ(R`P>CoL
+rrSBApAP!mp,/t's5j7_A,lV_LAuc~>
+f`1torr3"j4Sc_p=HEKE48HVq4-0FAP>CoLrs"ZEpAb/V:\k"pf`9_*p,/Q@rrVmiPQ(R`P>CoL
+rrSBApAP!mp,/t's5j7_A,lV_LAuc~>
+f`)30!6"p;m4WAS^BTSrj8\KHK)<:gJcP3<s7S<\pAP!mXT6]HrrVRFPPb@]p1/=FrrULHXo88%
+p1-&Srr3)o2.ZFZrrT;&ci!eEP;W&bs5j7_FT;EpLAuc~>
+f`)30!6"p;m4WAS^BTSrj8\KHK)<:gJcP3<s7S<\pAP!mXT6]HrrVRFPPb@]p1/=FrrULHXo88%
+p1-&Srr3)o2.ZFZrrT;&ci!eEP;W&bs5j7_FT;EpLAuc~>
+f`)30!6"p;m4WAS^BTSrj8\KHK)<:gJcP3<s7S<\pAP!mXT6]HrrVRFPPb@]p1/=FrrULHXo88%
+p1-&Srr3)o2.ZFZrrT;&ci!eEP;W&bs5j7_FT;EpLAuc~>
+fDc>S2>7(M_uO\b^V@:1!36%u$,cgg\A,egGQ>\\rs7X\25..S:B8?2rr^1>L$em>"5-I-mJ[%j
+_uNT8Xe@UJj8Ao_j%hP+XfYA!`;KW:f`9?Ls5a1^P5kU$LAuc~>
+fDc>S2>7(M_uO\b^V@:1!36%u$,cgg\A,egGQ>\\rs7X\25..S:B8?2rr^1>L$em>"5-I-mJ[%j
+_uNT8Xe@UJj8Ao_j%hP+XfYA!`;KW:f`9?Ls5a1^P5kU$LAuc~>
+fDc>S2>7(M_uO\b^V@:1!36%u$,cgg\A,egGQ>\\rs7X\25..S:B8?2rr^1>L$em>"5-I-mJ[%j
+_uNT8Xe@UJj8Ao_j%hP+XfYA!`;KW:f`9?Ls5a1^P5kU$LAuc~>
+fDbpG:Nc[:#L>((=BI"*`;KW?`%V0n=9("mqu6]j\c-^PPO85H#h_uRA9CZJFnY_4!UZ*MFTK&H
+qYpTi\c-^PPO8;J!qnL*JcFd1"0DP'XbQk+~>
+fDbpG:Nc[:#L>((=BI"*`;KW?`%V0n=9("mqu6]j\c-^PPO85H#h_uRA9CZJFnY_4!UZ*MFTK&H
+qYpTi\c-^PPO8;J!qnL*JcFd1"0DP'XbQk+~>
+fDbpG:Nc[:#L>((=BI"*`;KW?`%V0n=9("mqu6]j\c-^PPO85H#h_uRA9CZJFnY_4!UZ*MFTK&H
+qYpTi\c-^PPO8;J!qnL*JcFd1"0DP'XbQk+~>
+f)Gg)!3Q8#"nom:Xi0r0rrr,7Xf]P8lMgk1riH1\hu<b#2>2V$j8T4`!!'-Us*t~>
+f)Gg)!3Q8#"nom:Xi0r0rrr,7Xf]P8lMgk1riH1\hu<b#2>2V$j8T4`!!'-Us*t~>
+f)Gg)!3Q8#"nom:Xi0r0rrr,7Xf]P8lMgk1riH1\hu<b#2>2V$j8T4`!!'-Us*t~>
+ec,]]!7.kK!hfVSJcFa0"4$rIFb]pH~>
+ec,]]!7.kK!hfVSJcFa0"4$rIFb]pH~>
+ec,]]!7.kK!hfVSJcFa0"4$rIFb]pH~>
+eGfT62<1tA!lP)WJcF^/"5*YSFb]pH~>
+eGfT62<1tA!lP)WJcF^/"5*YSFb]pH~>
+eGfT62<1tA!lP)WJcF^/"5*YSFb]pH~>
+e,KJ[2<2%C!lP)4JcF[."5*YSFb]pH~>
+e,KJ[2<2%C!lP)4JcF[."5*YSFb]pH~>
+e,KJ[2<2%C!lP)4JcF[."5*YSFb]pH~>
+e,KODA2WDTrrU+=PC`bkrr_rp!&]N2J,~>
+e,KODA2WDTrrU+=PC`bkrr_rp!&]N2J,~>
+e,KODA2WDTrrU+=PC`bkrr_rp!&]N2J,~>
+df0FCA2WDVrrU+=PC`bis8E"Qs*t~>
+df0FCA2WDVrrU+=PC`bis8E"Qs*t~>
+df0FCA2WDVrrU+=PC`bis8E"Qs*t~>
+dJj=BFZ%+JrrT;&PC`bhs8E"Qs*t~>
+dJj=BFZ%+JrrT;&PC`bhs8E"Qs*t~>
+dJj=BFZ%+JrrT;&PC`bhs8E"Qs*t~>
+ci4'1!3Np6"87EK`.@sCs8E"Qs*t~>
+ci4'1!3Np6"87EK`.@sCs8E"Qs*t~>
+ci4'1!3Np6"87EK`.@sCs8E"Qs*t~>
+cMn!W!-S"Mrr_:l2;*Q\gA_7N!!)_Js*t~>
+cMn!W!-S"Mrr_:l2;*Q\gA_7N!!)_Js*t~>
+cMn!W!-S"Mrr_:l2;*Q\gA_7N!!)_Js*t~>
+c2Rn!:GpJ7rr]A'FmXb[g&D.s!!(]-s*t~>
+c2Rn!:GpJ7rr]A'FmXb[g&D.s!!(]-s*t~>
+c2Rn!:GpJ7rr]A'FmXb[g&D.s!!(]-s*t~>
+bl7h>K`Hi#`W$&#A,raLrrDc_f`:E;rr[BD!83/-J,~>
+bl7h>K`Hi#`W$&#A,raLrrDc_f`:E;rr[BD!83/-J,~>
+bl7h>K`Hi#`W$&#A,raLrrDc_f`:E;rr[BD!83/-J,~>
+b5VRi:Go]+rs/7]\b;]sFlUdI#jp<kXf[;"F\h6%#W6aIKrqJqg#KF="*FSDfn]TX~>
+b5VRi:Go]+rs/7]\b;]sFlUdI#jp<kXf[;"F\h6%#W6aIKrqJqg#KF="*FSDfn]TX~>
+b5VRi:Go]+rs/7]\b;]sFlUdI#jp<kXf[;"F\h6%#W6aIKrqJqg#KF="*FSDfn]TX~>
+ao;M;XT2/8cMn+92#nmV28muD"lmq2PBB[O!!P6&PHE0a])MkT!!(]-s*t~>
+ao;M;XT2/8cMn+92#nmV28muD"lmq2PBB[O!!P6&PHE0a])MkT!!(]-s*t~>
+ao;M;XT2/8cMn+92#nmV28muD"lmq2PBB[O!!P6&PHE0a])MkT!!(]-s*t~>
+a8Z;0P5nCsd/O::2?3_Rp=TBJmFeUqAF0?s:[rQ-:[J,b:N`ecj1tZsFT;EpL];l~>
+a8Z;0P5nCsd/O::2?3_Rp=TBJmFeUqAF0?s:[rQ-:[J,b:N`ecj1tZsFT;EpL];l~>
+a8Z;0P5nCsd/O::2?3_Rp=TBJmFeUqAF0?s:[rQ-:[J,b:N`ecj1tZsFT;EpL];l~>
+`W$,/P5nC\mFD4=m?9CZrVur/h>[WOfr]BSoDf.SF`jgg`7`i2l2M%_g"F]RXbCmno)Jl8U!N,F
+rr[BD!83/-J,~>
+`W$,/P5nC\mFD4=m?9CZrVur/h>[WOfr]BSoDf.SF`jgg`7`i2l2M%_g"F]RXbCmno)Jl8U!N,F
+rr[BD!83/-J,~>
+`W$,/P5nC\mFD4=m?9CZrVur/h>[WOfr]BSoDf.SF`jgg`7`i2l2M%_g"F]RXbCmno)Jl8U!N,F
+rr[BD!83/-J,~>
+_uBo-XYg*4`7k5!p;CJA:W2t#!!"nDir9,J`04a*!!Q/@Trm#.ec,g?ft"5-AG-!*:PH@>ao;Hc
+!!(]-s*t~>
+_uBo-XYg*4`7k5!p;CJA:W2t#!!"nDir9,J`04a*!!Q/@Trm#.ec,g?ft"5-AG-!*:PH@>ao;Hc
+!!(]-s*t~>
+_uBo-XYg*4`7k5!p;CJA:W2t#!!"nDir9,J`04a*!!Q/@Trm#.ec,g?ft"5-AG-!*:PH@>ao;Hc
+!!(]-s*t~>
+_#FVWK`Eua`:i0i#48sD!&]tnrr3,p:B1B;k5PPW`04!k!!@A;\_5%'"QRG&FZ&po"#YeCmEPY5
+FT;EpL];l~>
+_#FVWK`Eua`:i0i#48sD!&]tnrr3,p:B1B;k5PPW`04!k!!@A;\_5%'"QRG&FZ&po"#YeCmEPY5
+FT;EpL];l~>
+_#FVWK`Eua`:i0i#48sD!&]tnrr3,p:B1B;k5PPW`04!k!!@A;\_5%'"QRG&FZ&po"#YeCmEPY5
+FT;EpL];l~>
+^AeK4`.^&KA>-s/l2M"K\W]eh23ZA_rrCaO!!'.drrV5SAG?-,A>-s%^&J3%c`M?b!!5ricd;[o
+FT;EpL];l~>
+^AeK4`.^&KA>-s/l2M"K\W]eh23ZA_rrCaO!!'.drrV5SAG?-,A>-s%^&J3%c`M?b!!5ricd;[o
+FT;EpL];l~>
+^AeK4`.^&KA>-s/l2M"K\W]eh23ZA_rrCaO!!'.drrV5SAG?-,A>-s%^&J3%c`M?b!!5ricd;[o
+FT;EpL];l~>
+])MibX`aUC"a-$2ce7@Qs8UaY`3"`(!!"m1\`<D`!29Al!9<PJ"8:')2>I4RFfj?'rr^rbKf/Z+
+!enSdeGfVn!!(]-s*t~>
+])MibX`aUC"a-$2ce7@Qs8UaY`3"`(!!"m1\`<D`!29Al!9<PJ"8:')2>I4RFfj?'rr^rbKf/Z+
+!enSdeGfVn!!(]-s*t~>
+])MibX`aUC"a-$2ce7@Qs8UaY`3"`(!!"m1\`<D`!29Al!9<PJ"8:')2>I4RFfj?'rr^rbKf/Z+
+!enSdeGfVn!!(]-s*t~>
+[f6Kj`3"`9nc/hNFd&rRmIL8\p.kYgAG5Wp!qsQdq#CJ,XkBcT!oph6q#CJ,\aA#K"*FSDfn]TX~>
+[f6Kj`3"`9nc/hNFd&rRmIL8\p.kYgAG5Wp!qsQdq#CJ,XkBcT!oph6q#CJ,\aA#K"*FSDfn]TX~>
+[f6Kj`3"`9nc/hNFd&rRmIL8\p.kYgAG5Wp!qsQdq#CJ,XkBcT!oph6q#CJ,\aA#K"*FSDfn]TX~>
+YQ"UipXoQ?lMgkErVuqlp&>'2L&(cO23YuPV#LMBThkLb!bB7CgA_7t!!(]-s*t~>
+YQ"UipXoQ?lMgkErVuqlp&>'2L&(cO23YuPV#LMBThkLb!bB7CgA_7t!!(]-s*t~>
+YQ"UipXoQ?lMgkErVuqlp&>'2L&(cO23YuPV#LMBThkLb!bB7CgA_7t!!(]-s*t~>
+MuNdZrVurEq>UNLP;W4;!`,NMSc8cO\RbO:!JSJIrr[BD!83/-J,~>
+MuNdZrVurEq>UNLP;W4;!`,NMSc8cO\RbO:!JSJIrr[BD!83/-J,~>
+MuNdZrVurEq>UNLP;W4;!`,NMSc8cO\RbO:!JSJIrr[BD!83/-J,~>
+MZ3g%!!"nDrVlrdX\\fo!`,NMQi@-S\RbR;!]?2%hu<e$!!(]-s*t~>
+MZ3g%!!"nDrVlrdX\\fo!`,NMQi@-S\RbR;!]?2%hu<e$!!(]-s*t~>
+MZ3g%!!"nDrVlrdX\\fo!`,NMQi@-S\RbR;!]?2%hu<e$!!(]-s*t~>
+MZ3tU2#mVes8UE!qZ$[nU#V:8!q!O/qZ$\.`:i3j"*FSDfn]TX~>
+MZ3tU2#mVes8UE!qZ$[nU#V:8!q!O/qZ$\.`:i3j"*FSDfn]TX~>
+MZ3tU2#mVes8UE!qZ$[nU#V:8!q!O/qZ$\.`:i3j"*FSDfn]TX~>
+M>mS/rVut9:](1o23Z^OrrV5S:](1o250EurrZ$s!;;3JJ,~>
+M>mS/rVut9:](1o23Z^OrrV5S:](1o250EurrZ$s!;;3JJ,~>
+M>mS/rVut9:](1o23Z^OrrV5S:](1o250EurrZ$s!;;3JJ,~>
+M#RIDq>^S-`:erc!RHJs!!.5qk5YD\LAuc~>
+M#RIDq>^S-`:erc!RHJs!!.5qk5YD\LAuc~>
+M#RIDq>^S-`:erc!RHJs!!.5qk5YD\LAuc~>
+MZ3_1Fo24@09bFIrrVSi:](1n:W2JsrW%]QJ,~>
+MZ3_1Fo24@09bFIrrVSi:](1n:W2JsrW%]QJ,~>
+MZ3_1Fo24@09bFIrrVSi:](1n:W2JsrW%]QJ,~>
+N;ips:\k%l@.o0OrVlo:Fo24@:Ta?Vs8E"Qs*t~>
+N;ips:\k%l@.o0OrVlo:Fo24@:Ta?Vs8E"Qs*t~>
+N;ips:\k%l@.o0OrVlo:Fo24@:Ta?Vs8E"Qs*t~>
+NrK-u:](1nFi"%W!/6"(qu6]WPPbC^26HT?rr_rp!&]N2J,~>
+NrK-u:](1nFi"%W!/6"(qu6]WPPbC^26HT?rr_rp!&]N2J,~>
+NrK-u:](1nFi"%W!/6"(qu6]WPPbC^26HT?rr_rp!&]N2J,~>
+OT,@":](1qPO8DM\c)R/Tn37?rrVSi2>mLV26HTArr^pS!-O%rJ,~>
+OT,@":](1qPO8DM\c)R/Tn37?rrVSi2>mLV26HTArr^pS!-O%rJ,~>
+OT,@":](1qPO8DM\c)R/Tn37?rrVSi2>mLV26HTArr^pS!-O%rJ,~>
+P5bR$:]17p23[G*rrA8^!!'rgs7uZrp8p4N!!5$[p@A4cf`2"pLAuc~>
+P5bR$:]17p23[G*rrA8^!!'rgs7uZrp8p4N!!5$[p@A4cf`2"pLAuc~>
+P5bR$:]17p23[G*rrA8^!!'rgs7uZrp8p4N!!5$[p@A4cf`2"pLAuc~>
+PlCd;:]17p26HTJrrcj4!&`efs7cNo`)$=3!B%FZrr^RI!-O%rJ,~>
+PlCd;:]17p26HTJrrcj4!&`efs7cNo`)$=3!B%FZrr^RI!-O%rJ,~>
+PlCd;:]17p26HTJrrcj4!&`efs7cNo`)$=3!B%FZrr^RI!-O%rJ,~>
+QN%!=Fo;:A26HTHrrr*R!!"nDJcGHD!Q7e4!!,m6p&>,r!!'-Us*t~>
+QN%!=Fo;:A26HTHrrr*R!!"nDJcGHD!Q7e4!!,m6p&>,r!!'-Us*t~>
+QN%!=Fo;:A26HTHrrr*R!!"nDJcGHD!Q7e4!!,m6p&>,r!!'-Us*t~>
+R/[3SPPbC]PP4YK"lhH?!+beSs7ZHop8p4N!!.5qp\t>t!!'-Us*t~>
+R/[3SPPbC]PP4YK"lhH?!+beSs7ZHop8p4N!!.5qp\t>t!!'-Us*t~>
+R/[3SPPbC]PP4YK"lhH?!+beSs7ZHop8p4N!!.5qp\t>t!!'-Us*t~>
+Rf<H_XYp%W!L)p@rrC":!!%.ms7H<mp8p4N!!/;Nq>UP\!!'R\rrh`B\ZM(pFT>tO!!$R/FTdo1
+\_6Ais*t~>
+Rf<H_XYp%W!L)p@rrC":!!%.ms7H<mp8p4N!!/;Nq>UP\!!'R\rrh`B\ZM(pFT>tO!!$R/FTdo1
+\_6Ais*t~>
+Rf<H_XYp%W!L)p@rrC":!!%.ms7H<mp8p4N!!/;Nq>UP\!!'R\rrh`B\ZM(pFT>tO!!$R/FTdo1
+\_6Ais*t~>
+S,WN8:]17oFlVoi!4i(/!0`!6oD\jYPPkI^26H`T"*FSDg"ZN/mDP]@rW!!qFbTdrrn.:^riH6U
+F\hu:"*KgGj3.IQ~>
+S,WN8:]17oFlVoi!4i(/!0`!6oD\jYPPkI^26H`T"*FSDg"ZN/mDP]@rW!!qFbTdrrn.:^riH6U
+F\hu:"*KgGj3.IQ~>
+S,WN8:]17oFlVoi!4i(/!0`!6oD\jYPPkI^26H`T"*FSDg"ZN/mDP]@rW!!qFbTdrrn.:^riH6U
+F\hu:"*KgGj3.IQ~>
+Sc8`XFo;:@:XAA,!0dB^!24uDo)AaNFo;:@:YG[G"(VB3g#)f9p;E.j!&\o$cf=Hn$00@6FYs.V
+PJm1@s*t~>
+Sc8`XFo;:@:XAA,!0dB^!24uDo)AaNFo;:@:YG[G"(VB3g#)f9p;E.j!&\o$cf=Hn$00@6FYs.V
+PJm1@s*t~>
+Sc8`XFo;:@:XAA,!0dB^!24uDo)AaNFo;:@:YG[G"(VB3g#)f9p;E.j!&\o$cf=Hn$00@6FYs.V
+PJm1@s*t~>
+T)Semr;ZjUXm#cbL&M&P`.@sYrrLGAr;Zk^pAY*k!9*q_p;DXb!/7uDjSoJF\V2m@KuE]5s*t~>
+T)Semr;ZjUXm#cbL&M&P`.@sYrrLGAr;Zk^pAY*k!9*q_p;DXb!/7uDjSoJF\V2m@KuE]5s*t~>
+T)Semr;ZjUXm#cbL&M&P`.@sYrrLGAr;Zk^pAY*k!9*q_p;DXb!/7uDjSoJF\V2m@KuE]5s*t~>
+T`5&G:]17oPP42>!VU('!!'rgs7-*ip9"8n"#\$spAP'Prrq)>2#ridh#@Q(P;N?(g!p%P~>
+T`5&G:]17oPP42>!VU('!!'rgs7-*ip9"8n"#\$spAP'Prrq)>2#ridh#@Q(P;N?(g!p%P~>
+T`5&G:]17oPP42>!VU('!!'rgs7-*ip9"8n"#\$spAP'Prrq)>2#ridh#@Q(P;N?(g!p%P~>
+UAk8fU&=rl:YFh/!VU('!!(>rs7$$hm</@-"Ehie!-RE'"iOpOAAn2orrr,7FT>4Uf)L7~>
+UAk8fU&=rl:YFh/!VU('!!(>rs7$$hm</@-"Ehie!-RE'"iOpOAAn2orrr,7FT>4Uf)L7~>
+UAk8fU&=rl:YFh/!VU('!!(>rs7$$hm</@-"Ehie!-RE'"iOpOAAn2orrr,7FT>4Uf)L7~>
+U]1AJ:]17nXl99`m54kD2<08fn,EF72?!RX.f]Qlr;Qfb\aKJ#`(pAsj3mr1m?7NG`7Y*?~>
+U]1AJ:]17nXl99`m54kD2<08fn,EF72?!RX.f]Qlr;Qfb\aKJ#`(pAsj3mr1m?7NG`7Y*?~>
+U]1AJ:]17nXl99`m54kD2<08fn,EF72?!RX.f]Qlr;Qfb\aKJ#`(pAsj3mr1m?7NG`7Y*?~>
+V>gSiU&=rlFlVBZ"lhH?!&`efs6osgp4`DE!29Ak"867_p@8.cfhVU3mHX]Sj2AL]p?MY\m?7NG
+ceADL~>
+V>gSiU&=rlFlVBZ"lhH?!&`efs6osgp4`DE!29Ak"867_p@8.cfhVU3mHX]Sj2AL]p?MY\m?7NG
+ceADL~>
+V>gSiU&=rlFlVBZ"lhH?!&`efs6osgp4`DE!29Ak"867_p@8.cfhVU3mHX]Sj2AL]p?MY\m?7NG
+ceADL~>
+VZ-\W:]:=p27_NB"lhH?!&`efs6fmffh_SI!@H.lrrZd3!6"L/"RU=3L$e1*#gZ9H!)ERpU%[dO
+"RVBQFm[uaJ,~>
+VZ-\W:]:=p27_NB"lhH?!&`efs6fmffh_SI!@H.lrrZd3!6"L/"RU=3L$e1*#gZ9H!)ERpU%[dO
+"RVBQFm[uaJ,~>
+VZ-\W:]:=p27_NB"lhH?!&`efs6fmffh_SI!@H.lrrZd3!6"L/"RU=3L$e1*#gZ9H!)ERpU%[dO
+"RVBQFm[uaJ,~>
+VuHb!r;Zk@mFqRDj#$f:2<08fmf*=]7/[)eL%^`0!!$R%rr]eh:YG"4$BkIRmJm4[`&2*!l2Lk=
+A,rafs*t~>
+VuHb!r;Zk@mFqRDj#$f:2<08fmf*=]7/[)eL%^`0!!$R%rr]eh:YG"4$BkIRmJm4[`&2*!l2Lk=
+A,rafs*t~>
+VuHb!r;Zk@mFqRDj#$f:2<08fmf*=]7/[)eL%^`0!!$R%rr]eh:YG"4$BkIRmJm4[`&2*!l2Lk=
+A,rafs*t~>
+WW*"dFo;:?Xk3RVj#$f:2<08fmf3.a!+#L&!9<hR"7:42Xm#cd\H'SFrrVRuAEWspXT2o!huA3~>
+WW*"dFo;:?Xk3RVj#$f:2<08fmf3.a!+#L&!9<hR"7:42Xm#cd\H'SFrrVRuAEWspXT2o!huA3~>
+WW*"dFo;:?Xk3RVj#$f:2<08fmf3.a!+#L&!9<hR"7:42Xm#cd\H'SFrrVRuAEWspXT2o!huA3~>
+WrE+G2?!RVAE25?!6"j:!B&ngs7$$mm/R,BK`ES!!!&5Xrr^S):ZL[=!qnLFq>UNV!6"(#"63oL
+cf"hR~>
+WrE+G2?!RVAE25?!6"j:!B&ngs7$$mm/R,BK`ES!!!&5Xrr^S):ZL[=!qnLFq>UNV!6"(#"63oL
+cf"hR~>
+WrE+G2?!RVAE25?!6"j:!B&ngs7$$mm/R,BK`ES!!!&5Xrr^S):ZL[=!qnLFq>UNV!6"(#"63oL
+cf"hR~>
+X8`0nr;Zklp='$A`;T`;2<08fnc&dG!!%0AQMLR^2>6nH"1\Dcp?2GWcN*\6rrJ=;k5PPWP5q<8
+s*t~>
+X8`0nr;Zklp='$A`;T`;2<08fnc&dG!!%0AQMLR^2>6nH"1\Dcp?2GWcN*\6rrJ=;k5PPWP5q<8
+s*t~>
+X8`0nr;Zklp='$A`;T`;2<08fnc&dG!!%0AQMLR^2>6nH"1\Dcp?2GWcN*\6rrJ=;k5PPWP5q<8
+s*t~>
+XoAFqFoD@A2:'YL!6"j:!B&ngs760nXT/?pj#-W4!6"d7!g<Vpjo5@`Fnbn:`&6WU!lP)&ir=N~>
+XoAFqFoD@A2:'YL!6"j:!B&ngs760nXT/?pj#-W4!6"d7!g<Vpjo5@`Fnbn:`&6WU!lP)&ir=N~>
+XoAFqFoD@A2:'YL!6"j:!B&ngs760nXT/?pj#-W4!6"d7!g<Vpjo5@`Fnbn:`&6WU!lP)&ir=N~>
+Y5\O_2?!RVAF7\B"kba5!&`efs7?6nK`D+S2>@.OAGuN1p6.APjSo7_Fnbn:f`:(4"5,PBp>l7(~>
+Y5\O_2?!RVAF7\B"kba5!&`efs7?6nK`D+S2>@.OAGuN1p6.APjSo7_Fnbn:f`:(4"5,PBp>l7(~>
+Y5\O_2?!RVAF7\B"kba5!&`efs7?6nK`D+S2>@.OAGuN1p6.APjSo7_Fnbn:f`:(4"5,PBp>l7(~>
+YQ"U@r;ZhkbPqV'2?!RU`.@s\rrZd3!*/^m#20%Vp1-&@j8T.^AG?*)\PM5b"627Lp>u=)~>
+YQ"U@r;ZhkbPqV'2?!RU`.@s\rrZd3!*/^m#20%Vp1-&@j8T.^AG?*)\PM5b"627Lp>u=)~>
+YQ"U@r;ZhkbPqV'2?!RU`.@s\rrZd3!*/^m#20%Vp1-&@j8T.^AG?*)\PM5b"627Lp>u=)~>
+Yl=]erVusV`6&#[j#-f9!5sHgp&FR_"dAudP;VC[rrULHmJ-\^Fd(ea"627Lp?)C*~>
+Yl=]erVusV`6&#[j#-f9!5sHgp&FR_"dAudP;VC[rrULHmJ-\^Fd(ea"627Lp?)C*~>
+Yl=]erVusV`6&#[j#-f9!5sHgp&FR_"dAudP;VC[rrULHmJ-\^Fd(ea"627Lp?)C*~>
+ZMst!AGuQ0AE1`1!TQ':!!'Q\s7cNuf`2"_p;E.jp](EiP5sY$rrGo<q>UNB!86<1!ol/%k5Tr~>
+ZMst!AGuQ0AE1`1!TQ':!!'Q\s7cNuf`2"_p;E.jp](EiP5sY$rrGo<q>UNB!86<1!ol/%k5Tr~>
+ZMst!AGuQ0AE1`1!TQ':!!'Q\s7cNuf`2"_p;E.jp](EiP5sY$rrGo<q>UNB!86<1!ol/%k5Tr~>
+Zi:'d:]:=pFnWfS!TQuT!!&46s7lTr\GuVnrVlue`.^)H!!7lT`8CRrVZ;qXrr^RoAG4p\!m^kK
+kPp&~>
+Zi:'d:]:=pFnWfS!TQuT!!&46s7lTr\GuVnrVlue`.^)H!!7lT`8CRrVZ;qXrr^RoAG4p\!m^kK
+kPp&~>
+Zi:'d:]:=pFnWfS!TQuT!!&46s7lTr\GuVnrVlue`.^)H!!7lT`8CRrVZ;qXrr^RoAG4p\!m^kK
+kPp&~>
+[/U0[2?!RUTu-g1p14.&!L*5.s8)`tK`D+`q>UNV\V:"_!3P2Z&&_6DEALD/g$R+L!,FGf`8CRr
+\H't>s*t~>
+[/U0[2?!RUTu-g1p14.&!L*5.s8)`tK`D+`q>UNV\V:"_!3P2Z&&_6DEALD/g$R+L!,FGf`8CRr
+\H't>s*t~>
+[/U0[2?!RUTu-g1p14.&!L*5.s8)`tK`D+`q>UNV\V:"_!3P2Z&&_6DEALD/g$R+L!,FGf`8CRr
+\H't>s*t~>
+[Jp6Fr;Zi9_#FH/AGuQ0AG1TSqu6ao!!(^Grr_sH:\NfJ#fKL=PO8D;P;W=>#@u0\p6,Jeg#2l3
+Kf/8^s*t~>
+[Jp6Fr;Zi9_#FH/AGuQ0AG1TSqu6ao!!(^Grr_sH:\NfJ#fKL=PO8D;P;W=>#@u0\p6,Jeg#2l3
+Kf/8^s*t~>
+[Jp6Fr;Zi9_#FH/AGuQ0AG1TSqu6ao!!(^Grr_sH:\NfJ#fKL=PO8D;P;W=>#@u0\p6,Jeg#2l3
+Kf/8^s*t~>
+[f6?0rVusVftICcPPtO_:ZI$+rVllbrW)Wk!eiN*j8T8#:B6UGqu6\)O8Jq[j)k?UmGe-Ip.ohq
+s*t~>
+[f6?0rVusVftICcPPtO_:ZI$+rVllbrW)Wk!eiN*j8T8#:B6UGqu6\)O8Jq[j)k?UmGe-Ip.ohq
+s*t~>
+[f6?0rVusVftICcPPtO_:ZI$+rVllbrW)Wk!eiN*j8T8#:B6UGqu6\)O8Jq[j)k?UmGe-Ip.ohq
+s*t~>
+\,QGlrVuspj1G<kU&G#m2;*Q\rr3)=!!%08rrUjRcfG*/`(pAsmJ?ham/YK.rrh"N!3PtTrrUjR
+`9RAQ~>
+\,QGlrVuspj1G<kU&G#m2;*Q\rr3)=!!%08rrUjRcfG*/`(pAsmJ?ham/YK.rrh"N!3PtTrrUjR
+`9RAQ~>
+\,QGlrVuspj1G<kU&G#m2;*Q\rr3)=!!%08rrUjRcfG*/`(pAsmJ?ham/YK.rrh"N!3PtTrrUjR
+`9RAQ~>
+\GlPmrVut0p::2'`;KZ9\Uje\rr\qp!3Ptp!DeF3rrr,7:B6UGq#:B52>7%P\MZ7_j8T1E2>6A9
+J,~>
+\GlPmrVut0p::2'`;KZ9\Uje\rr\qp!3Ptp!DeF3rrr,7:B6UGq#:B52>7%P\MZ7_j8T1E2>6A9
+J,~>
+\GlPmrVut0p::2'`;KZ9\Uje\rr\qp!3Ptp!DeF3rrr,7:B6UGq#:B52>7%P\MZ7_j8T1E2>6A9
+J,~>
+])Mg)FoD@AFnW<E!SK@0!!&46rri@4!!(@>rrT;&mHFQRp8p20XmPi^s+U.G"SSMh:YFk0!qnLR
+li2J~>
+])Mg)FoD@AFnW<E!SK@0!!&46rri@4!!(@>rrT;&mHFQRp8p20XmPi^s+U.G"SSMh:YFk0!qnLR
+li2J~>
+])Mg)FoD@AFnW<E!SK@0!!&46rri@4!!(@>rrT;&mHFQRp8p20XmPi^s+U.G"SSMh:YFk0!qnLR
+li2J~>
+]Dhp*AGuQ/PI1>jj(/,h!G(nVrrDcl!!)`frrVmOPNi)Np8p20XnMDe!<C(0rrh_C!-R\krrT;[
+p?_g0~>
+]Dhp*AGuQ/PI1>jj(/,h!G(nVrrDcl!!)`frrVmOPNi)Np8p20XnMDe!<C(0rrh_C!-R\krrT;[
+p?_g0~>
+]Dhp*AGuQ/PI1>jj(/,h!G(nVrrDcl!!)`frrVmOPNi)Np8p20XnMDe!<C(0rrh_C!-R\krrT;[
+p?_g0~>
+]`/$+AGuQ/PHt2hp4`JG!B&P`rr^RI!+bj(!lP*+oD]9QK`D*`XnMegXYhu<p@S@ep94PYnc&aF
+A,r=srVlu[g"H)grrVmOXmH(<~>
+]`/$+AGuQ/PHt2hp4`JG!B&P`rr^RI!+bj(!lP*+oD]9QK`D*`XnMegXYhu<p@S@ep94PYnc&aF
+A,r=srVlu[g"H)grrVmOXmH(<~>
+]`/$+AGuQ/PHt2hp4`JG!B&P`rr^RI!+bj(!lP*+oD]9QK`D*`XnMegXYhu<p@S@ep94PYnc&aF
+A,r=srVlu[g"H)grrVmOXmH(<~>
+^&J-,AGuQ/PHXudU&=rk\V:%cP5kTVp\t7iPOne_P5oaDfqC8sRPct)p@S@cp65FT!Hm)crs$D!
+26Ho39)S_jO7r,D!MN<Us*t~>
+^&J-,AGuQ/PHXudU&=rk\V:%cP5kTVp\t7iPOne_P5oaDfqC8sRPct)p@S@cp65FT!Hm)crs$D!
+26Ho39)S_jO7r,D!MN<Us*t~>
+^&J-,AGuQ/PHXudU&=rk\V:%cP5kTVp\t7iPOne_P5oaDfqC8sRPct)p@S@cp65FT!Hm)crs$D!
+26Ho39)S_jO7r,D!MN<Us*t~>
+^Ae6-AGuQ/Trn=qcSb\%!JU6&rrZ$s!87/I!ndS6o`"ud!6"j9"SQ+/VtT`^$0*m=`;fkjFTBAM
+rs\V'!'L<mWkZ'--sZK:rrVQfcgCa_~>
+^Ae6-AGuQ/Trn=qcSb\%!JU6&rrZ$s!87/I!ndS6o`"ud!6"j9"SQ+/VtT`^$0*m=`;fkjFTBAM
+rs\V'!'L<mWkZ'--sZK:rrVQfcgCa_~>
+^Ae6-AGuQ/Trn=qcSb\%!JU6&rrZ$s!87/I!ndS6o`"ud!6"j9"SQ+/VtT`^$0*m=`;fkjFTBAM
+rs\V'!'L<mWkZ'--sZK:rrVQfcgCa_~>
+^]+?.AGuQ/`2in=j(/,h!Dha4rrDHc!;HKoP@X=c!pouuqu6`k23[V2s'u-'r;Qh^2=9o5!n.-a
+r4`<C95sG$!HjUns*t~>
+^]+?.AGuQ/`2in=j(/,h!Dha4rrDHc!;HKoP@X=c!pouuqu6`k23[V2s'u-'r;Qh^2=9o5!n.-a
+r4`<C95sG$!HjUns*t~>
+^]+?.AGuQ/`2in=j(/,h!Dha4rrDHc!;HKoP@X=c!pouuqu6`k23[V2s'u-'r;Qh^2=9o5!n.-a
+r4`<C95sG$!HjUns*t~>
+_#FH/AGuQ/`2Wb;p65FT!4e!e"1\C3L%kTJ:V$,t!MN<brrKYfoD\m1!:BX_!DepKrrI[QqS**3
+!7169!Q6k_s*t~>
+_#FH/AGuQ/`2Wb;p65FT!4e!e"1\C3L%kTJ:V$,t!MN<brrKYfoD\m1!:BX_!DepKrrI[QqS**3
+!7169!Q6k_s*t~>
+_#FH/AGuQ/`2Wb;p65FT!4e!e"1\C3L%kTJ:V$,t!MN<brrKYfoD\m1!:BX_!DepKrrI[QqS**3
+!7169!Q6k_s*t~>
+_>aQ0AGuQ/`2<P7\buL/FnUdo",-^T\bQ1+irJ-3rrI89q>UN`!87#Es+U:K!Q5!.rrVloS,'f"
+A<6<]!pp!@mf.e~>
+_>aQ0AGuQ/`2<P7\buL/FnUdo",-^T\bQ1+irJ-3rrI89q>UN`!87#Es+U:K!Q5!.rrVloS,'f"
+A<6<]!pp!@mf.e~>
+_>aQ0AGuQ/`2<P7\buL/FnUdo",-^T\bQ1+irJ-3rrI89q>UN`!87#Es+U:K!Q5!.rrVloS,'f"
+A<6<]!pp!@mf.e~>
+_>aLXrVuqlV#LJUAGuQ02:%<_!;?Bl!:BR]!P()ZrrI8Eq#:?pg%>:F:V$<$!pp!@o)AdE!4_j>
+!J54ZrrHZ4mf.e~>
+_>aLXrVuqlV#LJUAGuQ02:%<_!;?Bl!:BR]!P()ZrrI8Eq#:?pg%>:F:V$<$!pp!@o)AdE!4_j>
+!J54ZrrHZ4mf.e~>
+_>aLXrVuqlV#LJUAGuQ02:%<_!;?Bl!:BR]!P()ZrrI8Eq#:?pg%>:F:V$<$!pp!@o)AdE!4_j>
+!J54ZrrHZ4mf.e~>
+_Z'V"rVuq^UAk8fPPkI^U%XTJ"4$rI:\XnhL%G<FFfkH=!<CgFrrE,Qq#:?pg%,.Df`:f^!L!NR
+rrJ=+mf.e~>
+_Z'V"rVuq^UAk8fPPkI^U%XTJ"4$rI:\XnhL%G<FFfkH=!<CgFrrE,Qq#:?pg%,.Df`:f^!L!NR
+rrJ=+mf.e~>
+_Z'V"rVuq^UAk8fPPkI^U%XTJ"4$rI:\XnhL%G<FFfkH=!<CgFrrE,Qq#:?pg%,.Df`:f^!L!NR
+rrJ=+mf.e~>
+_uB_#rVuq^TDnr<2?!RV:YCm1"-W]bU%eQfA?GJ'!JQa5rrV3\mI^DZ:V$<$!pp!Jo)AdE!4_j>
+!J54ZrrKYfmf.e~>
+_uB_#rVuq^TDnr<2?!RV:YCm1"-W]bU%eQfA?GJ'!JQa5rrV3\mI^DZ:V$<$!pp!Jo)AdE!4_j>
+!J54ZrrKYfmf.e~>
+_uB_#rVuq^TDnr<2?!RV:YCm1"-W]bU%eQfA?GJ'!JQa5rrV3\mI^DZ:V$<$!pp!Jo)AdE!4_j>
+!J54ZrrKYfmf.e~>
+`;]h>rVuq^Sc8`XFo;:@U%X]M"#U&Yg%YLI!86uD!lP*4qYpS[:\4VdL&(`L`&7)b!qlVXq7cr4
+O7E5Nf`:I?J,~>
+`;]h>rVuq^Sc8`XFo;:@U%X]M"#U&Yg%YLI!86uD!lP*4qYpS[:\4VdL&(`L`&7)b!qlVXq7cr4
+O7E5Nf`:I?J,~>
+`;]h>rVuq^Sc8`XFo;:@U%X]M"#U&Yg%YLI!86uD!lP*4qYpS[:\4VdL&(`L`&7)b!qlVXq7cr4
+O7E5Nf`:I?J,~>
+`W#qVrVuq@Rf<E!2?!RV:YD$5"4$rI2>@+Pp&Ne;rrVmiL&:lOcN(oTrrU+=j8/cV:Qt;J!J*o?
+^B1/1g%#(Dm/Z28s*t~>
+`W#qVrVuq@Rf<E!2?!RV:YD$5"4$rI2>@+Pp&Ne;rrVmiL&:lOcN(oTrrU+=j8/cV:Qt;J!J*o?
+^B1/1g%#(Dm/Z28s*t~>
+`W#qVrVuq@Rf<E!2?!RV:YD$5"4$rI2>@+Pp&Ne;rrVmiL&:lOcN(oTrrU+=j8/cV:Qt;J!J*o?
+^B1/1g%#(Dm/Z28s*t~>
+`r?502#mVep6kp]j(/)g!MT4Rrr\Gb!0d0W!ndSIo)AgP221GsrrT_2PO\\QA,u?$rrSBAmI:,W
+m/V&%^B1o-E:<f-!86i@J,~>
+`r?502#mVep6kp]j(/)g!MT4Rrr\Gb!0d0W!ndSIo)AgP221GsrrT_2PO\\QA,u?$rrSBAmI:,W
+m/V&%^B1o-E:<f-!86i@J,~>
+`r?502#mVep6kp]j(/)g!MT4Rrr\Gb!0d0W!ndSIo)AgP221GsrrT_2PO\\QA,u?$rrSBAmI:,W
+m/V&%^B1o-E:<f-!86i@J,~>
+`W$&#2,Eq3rrK5ZrVusVc^=_72#mX&p\t9I!:^!nj%fY^:c/6HnG`gg:Gp)as3Gff`:!X3_uNo/
+^UTIU?hWsg!<CgAs*t~>
+`W$&#2,Eq3rrK5ZrVusVc^=_72#mX&p\t9I!:^!nj%fY^:c/6HnG`gg:Gp)as3Gff`:!X3_uNo/
+^UTIU?hWsg!<CgAs*t~>
+`W$&#2,Eq3rrK5ZrVusVc^=_72#mX&p\t9I!:^!nj%fY^:c/6HnG`gg:Gp)as3Gff`:!X3_uNo/
+^UTIU?hWsg!<CgAs*t~>
+`W$2:afhh1F`fS<!!bB(Fd&rGg%MBE!UY%.!!.60S,WT:!!"nMrrLdQmf*E^!!%c@mf*=]PPkI^
+FlVig!SMAh!!/5Umf*:fg$erk~>
+`W$2:afhh1F`fS<!!bB(Fd&rGg%MBE!UY%.!!.60S,WT:!!"nMrrLdQmf*E^!!%c@mf*=]PPkI^
+FlVig!SMAh!!/5Umf*:fg$erk~>
+`W$2:afhh1F`fS<!!bB(Fd&rGg%MBE!UY%.!!.60S,WT:!!"nMrrLdQmf*E^!!%c@mf*=]PPkI^
+FlVig!SMAh!!/5Umf*:fg$erk~>
+ao;b%X`ZK$!&\nQXf]P<faGa#Xcmlb!!"m!XkB`S!P()e!!+sZSGr\T!!&5VrrLdQn,ER0!0aMb
+j6cjMp1,[H1#qR!"lh=..qJ&7rrE,Qn,In~>
+ao;b%X`ZK$!&\nQXf]P<faGa#Xcmlb!!"m!XkB`S!P()e!!+sZSGr\T!!&5VrrLdQn,ER0!0aMb
+j6cjMp1,[H1#qR!"lh=..qJ&7rrE,Qn,In~>
+ao;b%X`ZK$!&\nQXf]P<faGa#Xcmlb!!"m!XkB`S!P()e!!+sZSGr\T!!&5VrrLdQn,ER0!0aMb
+j6cjMp1,[H1#qR!"lh=..qJ&7rrE,Qn,In~>
+c2S(:\TIlPA<XRWm/I@E\W^P(!-Pj>XoAFqL&CuP:X>X4"#U&Ych@A>f`:OA#K-V+s8R4;p@&"d
+p1-&@p6,Kpm/I=/!0d-DA2WE8rrE,Qn,In~>
+c2S(:\TIlPA<XRWm/I@E\W^P(!-Pj>XoAFqL&CuP:X>X4"#U&Ych@A>f`:OA#K-V+s8R4;p@&"d
+p1-&@p6,Kpm/I=/!0d-DA2WE8rrE,Qn,In~>
+c2S(:\TIlPA<XRWm/I@E\W^P(!-Pj>XoAFqL&CuP:X>X4"#U&Ych@A>f`:OA#K-V+s8R4;p@&"d
+p1-&@p6,Kpm/I=/!0d-DA2WE8rrE,Qn,In~>
+d/O@<X\SpmPL&s`rs/8DP>;0SXmN:k!SL9I!!.60U&P55!!#gfrrVQfg%,.E_uQ##rrVmOPOSSS
+j#(B@rr3%`!3P\h!lP)&rr3)oK`K'\rrVlog$erk~>
+d/O@<X\SpmPL&s`rs/8DP>;0SXmN:k!SL9I!!.60U&P55!!#gfrrVQfg%,.E_uQ##rrVmOPOSSS
+j#(B@rr3%`!3P\h!lP)&rr3)oK`K'\rrVlog$erk~>
+d/O@<X\SpmPL&s`rs/8DP>;0SXmN:k!SL9I!!.60U&P55!!#gfrrVQfg%,.E_uQ##rrVmOPOSSS
+j#(B@rr3%`!3P\h!lP)&rr3)oK`K'\rrVlog$erk~>
+df0KhFT>42j4sY<j.T6KFi:H_!Ne6X!!/;WU]1FM!!&_brrE,QoD\m1!0d?\!m^kbo)AgP2.ZFY
+rrU+=POSSRT`D4lrrT;&PO\YRf`:I?J,~>
+df0KhFT>42j4sY<j.T6KFi:H_!Ne6X!!/;WU]1FM!!&_brrE,QoD\m1!0d?\!m^kbo)AgP2.ZFY
+rrU+=POSSRT`D4lrrT;&PO\YRf`:I?J,~>
+df0KhFT>42j4sY<j.T6KFi:H_!Ne6X!!/;WU]1FM!!&_brrE,QoD\m1!0d?\!m^kbo)AgP2.ZFY
+rrU+=POSSRT`D4lrrT;&PO\YRf`:I?J,~>
+ec,gHX\Sq\cdr+"folD3XnK"!!UYU>!!5$[p87iimJ[(cj7N?P:Ta9h!lP)&qYpVj2=:&9"2m'\
+pA4dk`&2]2oD\lU!6"^5"2m'-p@J:b_uT6*J,~>
+ec,gHX\Sq\cdr+"folD3XnK"!!UYU>!!5$[p87iimJ[(cj7N?P:Ta9h!lP)&qYpVj2=:&9"2m'\
+pA4dk`&2]2oD\lU!6"^5"2m'-p@J:b_uT6*J,~>
+ec,gHX\Sq\cdr+"folD3XnK"!!UYU>!!5$[p87iimJ[(cj7N?P:Ta9h!lP)&qYpVj2=:&9"2m'\
+pA4dk`&2]2oD\lU!6"^5"2m'-p@J:b_uT6*J,~>
+fDc$JXYhu<mF)"<mB&6'XnK"!!SM#^!!,m6VuHk0!!$R$rrI8+pAY6gVZ;qUrrQS.mJ-\cm?;N,
+7(N$err_:=<RLR@"j_m+(hVIsrs%kC,Xcdcp@eLeTlof'J,~>
+fDc$JXYhu<mF)"<mB&6'XnK"!!SM#^!!,m6VuHk0!!$R$rrI8+pAY6gVZ;qUrrQS.mJ-\cm?;N,
+7(N$err_:=<RLR@"j_m+(hVIsrs%kC,Xcdcp@eLeTlof'J,~>
+fDc$JXYhu<mF)"<mB&6'XnK"!!SM#^!!,m6VuHk0!!$R$rrI8+pAY6gVZ;qUrrQS.mJ-\cm?;N,
+7(N$err_:=<RLR@"j_m+(hVIsrs%kC,Xcdcp@eLeTlof'J,~>
+f`))m2)VN0li..^c`O=fmHX]Sp8p20`391A`)$=3!DgY5rrZ$s!6"L/!Nf/mrrLeqrVuspXo&,!
+fld8o!Dfiprs6OC:T^=S2,E90rrM/2r;ZkLj8Ao_p4WL#XeBk;PPb@c_uNT2Viru6j7iQSFeS7'
+J,~>
+f`))m2)VN0li..^c`O=fmHX]Sp8p20`391A`)$=3!DgY5rrZ$s!6"L/!Nf/mrrLeqrVuspXo&,!
+fld8o!Dfiprs6OC:T^=S2,E90rrM/2r;ZkLj8Ao_p4WL#XeBk;PPb@c_uNT2Viru6j7iQSFeS7'
+J,~>
+f`))m2)VN0li..^c`O=fmHX]Sp8p20`391A`)$=3!DgY5rrZ$s!6"L/!Nf/mrrLeqrVuspXo&,!
+fld8o!Dfiprs6OC:T^=S2,E90rrM/2r;ZkLj8Ao_p4WL#XeBk;PPb@c_uNT2Viru6j7iQSFeS7'
+J,~>
+gA_</A,r=slMh-l2#q002#rj6lMh"\T`AWVYl=duXYp%W!DgY8rrCaO!!)`arrUjRmJ?hh_uOr+
+p>`84AG6$&#fH^cch?D$!-S8?!lP)@rVlunA2X)Zrs?UD99ZWcP=mRIrVlqQ2;.s.!nfGprVlr;
+!3Q5""79VVpA+^ip&NG,s*t~>
+gA_</A,r=slMh-l2#q002#rj6lMh"\T`AWVYl=duXYp%W!DgY8rrCaO!!)`arrUjRmJ?hh_uOr+
+p>`84AG6$&#fH^cch?D$!-S8?!lP)@rVlunA2X)Zrs?UD99ZWcP=mRIrVlqQ2;.s.!nfGprVlr;
+!3Q5""79VVpA+^ip&NG,s*t~>
+gA_</A,r=slMh-l2#q002#rj6lMh"\T`AWVYl=duXYp%W!DgY8rrCaO!!)`arrUjRmJ?hh_uOr+
+p>`84AG6$&#fH^cch?D$!-S8?!lP)@rVlunA2X)Zrs?UD99ZWcP=mRIrVlqQ2;.s.!nfGprVlr;
+!3Q5""79VVpA+^ip&NG,s*t~>
+h#@NNT`B6&l2LjL!3Ptorr^282=9Z."RU=3U%Y_j!VWYn!!,m6Y5\Tf!!&5QrrG!qqu6`X!0d?\
+#NI\8s8UaPPPkFcj#*P1s7S=Dqu6`k:QteX!oj8uqnEAR!9=+ZcN)Yqrs.3Wg&M*G250pI!qoER
+q>UN7!;>j\J,~>
+h#@NNT`B6&l2LjL!3Ptorr^282=9Z."RU=3U%Y_j!VWYn!!,m6Y5\Tf!!&5QrrG!qqu6`X!0d?\
+#NI\8s8UaPPPkFcj#*P1s7S=Dqu6`k:QteX!oj8uqnEAR!9=+ZcN)Yqrs.3Wg&M*G250pI!qoER
+q>UN7!;>j\J,~>
+h#@NNT`B6&l2LjL!3Ptorr^282=9Z."RU=3U%Y_j!VWYn!!,m6Y5\Tf!!&5QrrG!qqu6`X!0d?\
+#NI\8s8UaPPPkFcj#*P1s7S=Dqu6`k:QteX!oj8uqnEAR!9=+ZcN)Yqrs.3Wg&M*G250pI!qoER
+q>UN7!;>j\J,~>
+h>[T;A2Up]rrT;&j88iXp1.^srr]ehAE0ln!UZ*K!!,m6Z2XgtrVurOnc/WCqu?\=qYp`;!:Bf/
+Fo)+B\H)$s`&78brs$CApAb/1=S]]8=Dn0=Kp2?4#'GY"s26egqYpW8!;?9h!L&6)s*t~>
+h>[T;A2Up]rrT;&j88iXp1.^srr]ehAE0ln!UZ*K!!,m6Z2XgtrVurOnc/WCqu?\=qYp`;!:Bf/
+Fo)+B\H)$s`&78brs$CApAb/1=S]]8=Dn0=Kp2?4#'GY"s26egqYpW8!;?9h!L&6)s*t~>
+h>[T;A2Up]rrT;&j88iXp1.^srr]ehAE0ln!UZ*K!!,m6Z2XgtrVurOnc/WCqu?\=qYp`;!:Bf/
+Fo)+B\H)$s`&78brs$CApAb/1=S]]8=Dn0=Kp2?4#'GY"s26egqYpW8!;?9h!L&6)s*t~>
+hZ!\r!-R\mrrVloXnhtum/Y)frr_Y2!5u&?!UZ*K!!5s7p9ai%XT/?3nG`R9!:Bab!pp!6q>URn
+XmH,Aq>URnXoF*/q>UZm!87D>!2KA)"eu(brrCC@rrp=@s8Re,q>UNi!878L!qlW4mJh\~>
+hZ!\r!-R\mrrVloXnhtum/Y)frr_Y2!5u&?!UZ*K!!5s7p9ai%XT/?3nG`R9!:Bab!pp!6q>URn
+XmH,Aq>URnXoF*/q>UZm!87D>!2KA)"eu(brrCC@rrp=@s8Re,q>UNi!878L!qlW4mJh\~>
+hZ!\r!-R\mrrVloXnhtum/Y)frr_Y2!5u&?!UZ*K!!5s7p9ai%XT/?3nG`R9!:Bab!pp!6q>URn
+XmH,Aq>URnXoF*/q>UZm!87D>!2KA)"eu(brrCC@rrp=@s8Re,q>UNi!878L!qlW4mJh\~>
+hu<bA!28QT!Q6kirrJ=;jo5CU!0aPb!UZ*K!!5$[p9su':B1C5n,EDGXo88#f`:gI"/0k`!;QQs
+PBHnJXn_o!:TaZ8.JLR[!71ZFg%kXOf`;'PFfkH=!Dg9'rrT_gp?hm1~>
+hu<bA!28QT!Q6kirrJ=;jo5CU!0aPb!UZ*K!!5$[p9su':B1C5n,EDGXo88#f`:gI"/0k`!;QQs
+PBHnJXn_o!:TaZ8.JLR[!71ZFg%kXOf`;'PFfkH=!Dg9'rrT_gp?hm1~>
+hu<bA!28QT!Q6kirrJ=;jo5CU!0aPb!UZ*K!!5$[p9su':B1C5n,EDGXo88#f`:gI"/0k`!;QQs
+PBHnJXn_o!:TaZ8.JLR[!71ZFg%kXOf`;'PFfkH=!Dg9'rrT_gp?hm1~>
+iVs#RFZ%,!rrK6Ep\t9)2<=c>`&2]2XoAIiTf)`J!L)QSrrg7?!&aK=rrT;[pAY'mf`:gI"0H^J
+Fnkt>X`aYdXn_o!:V$M-=SKQ5=KVT'g%kXOf`;'PFfkH=!B%gmrrGoZm/MS~>
+iVs#RFZ%,!rrK6Ep\t9)2<=c>`&2]2XoAIiTf)`J!L)QSrrg7?!&aK=rrT;[pAY'mf`:gI"0H^J
+Fnkt>X`aYdXn_o!:V$M-=SKQ5=KVT'g%kXOf`;'PFfkH=!B%gmrrGoZm/MS~>
+iVs#RFZ%,!rrK6Ep\t9)2<=c>`&2]2XoAIiTf)`J!L)QSrrg7?!&aK=rrT;[pAY'mf`:gI"0H^J
+Fnkt>X`aYdXn_o!:V$M-=SKQ5=KVT'g%kXOf`;'PFfkH=!B%gmrrGoZm/MS~>
+ir9,SA2WE.rrK6Ep\t9I!9=(]j#(B@XT&@qXYp"V!Hl>mrr[BD!28i\!pouirr3#P!;QQrX`_P^
+q#:JjFoRYJq>UWl!87C_.JLR[.E)6D`;0E:\MaEePD/i4!pp!@r;Qi:!:B.QJ,~>
+ir9,SA2WE.rrK6Ep\t9I!9=(]j#(B@XT&@qXYp"V!Hl>mrr[BD!28i\!pouirr3#P!;QQrX`_P^
+q#:JjFoRYJq>UWl!87C_.JLR[.E)6D`;0E:\MaEePD/i4!pp!@r;Qi:!:B.QJ,~>
+ir9,SA2WE.rrK6Ep\t9I!9=(]j#(B@XT&@qXYp"V!Hl>mrr[BD!28i\!pouirr3#P!;QQrX`_P^
+q#:JjFoRYJq>UWl!87C_.JLR[.E)6D`;0E:\MaEePD/i4!pp!@r;Qi:!:B.QJ,~>
+j8T5TA2WE-rrK64p\t8rAE*Ukj#(B@WrE+<:](1o:Ta$!rrCaO!!)ERrs,5TpAb0[!9<nT"D"4d
+!9<nT"_=b8_uT3$rs#S_s8V*ZWqjC5WW;)ZKm!4k#%Wqts24p)qYpSu2>dCS:Qt,EJ,~>
+j8T5TA2WE-rrK64p\t8rAE*Ukj#(B@WrE+<:](1o:Ta$!rrCaO!!)ERrs,5TpAb0[!9<nT"D"4d
+!9<nT"_=b8_uT3$rs#S_s8V*ZWqjC5WW;)ZKm!4k#%Wqts24p)qYpSu2>dCS:Qt,EJ,~>
+j8T5TA2WE-rrK64p\t8rAE*Ukj#(B@WrE+<:](1o:Ta$!rrCaO!!)ERrs,5TpAb0[!9<nT"D"4d
+!9<nT"_=b8_uT3$rs#S_s8V*ZWqjC5WW;)ZKm!4k#%Wqts24p)qYpSu2>dCS:Qt,EJ,~>
+jSo>UA2WE,rrULHmJ-\^:Qsc;"627Lp8S&mfld/l!JSk9rr[rT!0cdL!qnLRrr3"0L&1fQf`9_*
+:QtYT#2'":s8Pl;qu6`X26HlX!D6nu^BS4@s8UaP`;BQ9\H)$rrrGoLqu6`X26HfV!j)Iili2J~>
+jSo>UA2WE,rrULHmJ-\^:Qsc;"627Lp8S&mfld/l!JSk9rr[rT!0cdL!qnLRrr3"0L&1fQf`9_*
+:QtYT#2'":s8Pl;qu6`X26HlX!D6nu^BS4@s8UaP`;BQ9\H)$rrrGoLqu6`X26HfV!j)Iili2J~>
+jSo>UA2WE,rrULHmJ-\^:Qsc;"627Lp8S&mfld/l!JSk9rr[rT!0cdL!qnLRrr3"0L&1fQf`9_*
+:QtYT#2'":s8Pl;qu6`X26HlX!D6nu^BS4@s8UaP`;BQ9\H)$rrrGoLqu6`X26HfV!j)Iili2J~>
+jSo:(2<3Wp!G$?KrrT_2mGS!Gj#(tWrrVS]2>dFU250'LrrDHc!!(^<rs-(7j8]/*!6"g8#PLr9
+s8UCF`;KW:p,.R'rr_9]L%bNG"5,PBpAY'ncN'1+^B0T!g&D!QT`DY%rrT_2Xo88%irFf,rr3&Q
+2.ZXb!pqkIlMlA~>
+jSo:(2<3Wp!G$?KrrT_2mGS!Gj#(tWrrVS]2>dFU250'LrrDHc!!(^<rs-(7j8]/*!6"g8#PLr9
+s8UCF`;KW:p,.R'rr_9]L%bNG"5,PBpAY'ncN'1+^B0T!g&D!QT`DY%rrT_2Xo88%irFf,rr3&Q
+2.ZXb!pqkIlMlA~>
+jSo:(2<3Wp!G$?KrrT_2mGS!Gj#(tWrrVS]2>dFU250'LrrDHc!!(^<rs-(7j8]/*!6"g8#PLr9
+s8UCF`;KW:p,.R'rr_9]L%bNG"5,PBpAY'ncN'1+^B0T!g&D!QT`DY%rrT_2Xo88%irFf,rr3&Q
+2.ZXb!pqkIlMlA~>
+jo5CU!9<#;"SS8qNqWDN"1\DBp>>lOirGdMrrVo4AGZ?.A@_*Krr\Gb!-RQ+s()-/$)%?mmJm4)
+2.ZF[rs=khU$_m[`&2*!rVm/`2)U)]A,pcGr;R)>!+`+E^T(fE_>O<<XT2.\P>;1\qu6rT2)U)]
+A,pcGr;Qe?:[.n0~>
+jo5CU!9<#;"SS8qNqWDN"1\DBp>>lOirGdMrrVo4AGZ?.A@_*Krr\Gb!-RQ+s()-/$)%?mmJm4)
+2.ZF[rs=khU$_m[`&2*!rVm/`2)U)]A,pcGr;R)>!+`+E^T(fE_>O<<XT2.\P>;1\qu6rT2)U)]
+A,pcGr;Qe?:[.n0~>
+jo5CU!9<#;"SS8qNqWDN"1\DBp>>lOirGdMrrVo4AGZ?.A@_*Krr\Gb!-RQ+s()-/$)%?mmJm4)
+2.ZF[rs=khU$_m[`&2*!rVm/`2)U)]A,pcGr;R)>!+`+E^T(fE_>O<<XT2.\P>;1\qu6rT2)U)]
+A,pcGr;Qe?:[.n0~>
+k5PM$!6!jr&GE4`24?<YU"S,0FT@%i26Gd9!lP)WV#LMVTf)]I!bAk/bl7\1rVurOl2LhF!29Dl
+!REY%!!/;Wr;Qf.2>mLUPP4nR"noluFeRLarrLG;r;ZjjchdYFmB)(r\aB4m"noluFeRLcrrT;&
+j6?So~>
+k5PM$!6!jr&GE4`24?<YU"S,0FT@%i26Gd9!lP)WV#LMVTf)]I!bAk/bl7\1rVurOl2LhF!29Dl
+!REY%!!/;Wr;Qf.2>mLUPP4nR"noluFeRLarrLG;r;ZjjchdYFmB)(r\aB4m"noluFeRLcrrT;&
+j6?So~>
+k5PM$!6!jr&GE4`24?<YU"S,0FT@%i26Gd9!lP)WV#LMVTf)]I!bAk/bl7\1rVurOl2LhF!29Dl
+!REY%!!/;Wr;Qf.2>mLUPP4nR"noluFeRLarrLG;r;ZjjchdYFmB)(r\aB4m"noluFeRLcrrT;&
+j6?So~>
+kPkVN23[&"'_\Xd26HTPp8q*j!&]tns7WQP:X@u!!g>M/UAk8?L&(cNA@_*Rrr\Gb!+b9m!kA<W
+rVulM!:BR]rn.;Fl2LkGg"GECrrUjRXm#e8~>
+kPkVN23[&"'_\Xd26HTPp8q*j!&]tns7WQP:X@u!!g>M/UAk8?L&(cNA@_*Rrr\Gb!+b9m!kA<W
+rVulM!:BR]rn.;Fl2LkGg"GECrrUjRXm#e8~>
+kPkVN23[&"'_\Xd26HTPp8q*j!&]tns7WQP:X@u!!g>M/UAk8?L&(cNA@_*Rrr\Gb!+b9m!kA<W
+rVulM!:BR]rn.;Fl2LkGg"GECrrUjRXm#e8~>
+kPkU+:\NlL"no&U26HTLrrGohqu6fdP5oaYir9)R:N`?1!qsQCq>^S-XlIn1!:Bac!6"%"!g>M%
+Yl=db2215nJ,~>
+kPkU+:\NlL"no&U26HTLrrGohqu6fdP5oaYir9)R:N`?1!qsQCq>^S-XlIn1!:Bac!6"%"!g>M%
+Yl=db2215nJ,~>
+kPkU+:\NlL"no&U26HTLrrGohqu6fdP5oaYir9)R:N`?1!qsQCq>^S-XlIn1!:Bac!6"%"!g>M%
+Yl=db2215nJ,~>
+kl1_&!86K6"no&U26HTKrrVQfj8&]Xfl[:YmGn3Jf`8s^rrVSuAGQ9.:Qs,ufDbr:!!#gVrr_t*
+2>4?U"8689p?2I+~>
+kl1_&!86K6"no&U26HTKrrVQfj8&]Xfl[:YmGn3Jf`8s^rrVSuAGQ9.:Qs,ufDbr:!!#gVrr_t*
+2>4?U"8689p?2I+~>
+kl1_&!86K6"no&U26HTKrrVQfj8&]Xfl[:YmGn3Jf`8s^rrVSuAGQ9.:Qs,ufDbr:!!#gVrr_t*
+2>4?U"8689p?2I+~>
+l2LhY25014"mrEL26HTIrrKYfpAY96:Go9JjSo:T2>3R?!q!O/q#CJ=XkDJ/!:Bac!6!su"8689
+p9ai%p1-&Sk5Tr~>
+l2LhY25014"mrEL26HTIrrKYfpAY96:Go9JjSo:T2>3R?!q!O/q#CJ=XkDJ/!:Bac!6!su"8689
+p9ai%p1-&Sk5Tr~>
+l2LhY25014"mrEL26HTIrrKYfpAY96:Go9JjSo:T2>3R?!q!O/q#CJ=XkDJ/!:Bac!6!su"8689
+p9ai%p1-&Sk5Tr~>
+l2Lge2>686"mqKR:V$2mrrI8+o`##q2,D0PrrVmOXdT1kp;DYBq#CJ=XkDV3"-W]b:[7r^`.bbh
+rVlun2.ZEhrr_t*2<3fuJ,~>
+l2Lge2>686"mqKR:V$2mrrI8+o`##q2,D0PrrVmOXdT1kp;DYBq#CJ=XkDV3"-W]b:[7r^`.bbh
+rVlun2.ZEhrr_t*2<3fuJ,~>
+l2Lge2>686"mqKR:V$2mrrI8+o`##q2,D0PrrVmOXdT1kp;DYBq#CJ=XkDV3"-W]b:[7r^`.bbh
+rVlun2.ZEhrr_t*2<3fuJ,~>
+lMgqZ26H-C"RVBQ:W2o*!qlW?oD\seP5oaYk5PLb2>3@9!mdQNp](D=U!N,frrDHc!!(@1rrCaO
+!!m,;j8]/HA5D6qrr_t*2<3ctJ,~>
+lMgqZ26H-C"RVBQ:W2o*!qlW?oD\seP5oaYk5PLb2>3@9!mdQNp](D=U!N,frrDHc!!(@1rrCaO
+!!m,;j8]/HA5D6qrr_t*2<3ctJ,~>
+lMgqZ26H-C"RVBQ:W2o*!qlW?oD\seP5oaYk5PLb2>3@9!mdQNp](D=U!N,frrDHc!!(@1rrCaO
+!!m,;j8]/HA5D6qrr_t*2<3ctJ,~>
+lMgpf2>6YA%)bpA!&]u-s6Z!M:W2l)"65^JdII5>j)k?UmJ[%eft#GrnG`R`26E)B"7=$j:\Xnm
+20H%ImHX]RK`D*qkl:M[##CH/p1-&@])Mlm2.Z+7s*t~>
+lMgpf2>6YA%)bpA!&]u-s6Z!M:W2l)"65^JdII5>j)k?UmJ[%eft#GrnG`R`26E)B"7=$j:\Xnm
+20H%ImHX]RK`D*qkl:M[##CH/p1-&@])Mlm2.Z+7s*t~>
+lMgpf2>6YA%)bpA!&]u-s6Z!M:W2l)"65^JdII5>j)k?UmJ[%eft#GrnG`R`26E)B"7=$j:\Xnm
+20H%ImHX]RK`D*qkl:M[##CH/p1-&@])Mlm2.Z+7s*t~>
+lMgl\U%J?np2pA!g"Eo31P5['`:O!6j)+hs/c\Ggnc'$N:B7Nj`&.Nj!!%0/nc&Wl237b>mDP2a
+p&G5<PHEO*nc&UBrVurOkl1WYq#COTJ7\el]`/)P20JWPs*t~>
+lMgl\U%J?np2pA!g"Eo31P5['`:O!6j)+hs/c\Ggnc'$N:B7Nj`&.Nj!!%0/nc&Wl237b>mDP2a
+p&G5<PHEO*nc&UBrVurOkl1WYq#COTJ7\el]`/)P20JWPs*t~>
+lMgl\U%J?np2pA!g"Eo31P5['`:O!6j)+hs/c\Ggnc'$N:B7Nj`&.Nj!!%0/nc&Wl237b>mDP2a
+p&G5<PHEO*nc&UBrVurOkl1WYq#COTJ7\el]`/)P20JWPs*t~>
+li.%4!:BFY!eiMlrVlun>nF^?rs@^>9;B8:Z"*jQnG`m,2'DsnmJm4>A2WE<rrVQfc]%l+p<Tj`
+oDf&*Ffhe!g%bRLFT;DakPkO)oDeo8p;$\1p6,KMi;\<~>
+li.%4!:BFY!eiMlrVlun>nF^?rs@^>9;B8:Z"*jQnG`m,2'DsnmJm4>A2WE<rrVQfc]%l+p<Tj`
+oDf&*Ffhe!g%bRLFT;DakPkO)oDeo8p;$\1p6,KMi;\<~>
+li.%4!:BFY!eiMlrVlun>nF^?rs@^>9;B8:Z"*jQnG`m,2'DsnmJm4>A2WE<rrVQfc]%l+p<Tj`
+oDf&*Ffhe!g%bRLFT;DakPkO)oDeo8p;$\1p6,KMi;\<~>
+li.!LFnG\8f`9@qrrVmiPOneUp.8B`^B/9QmI:,Wd/_,_rrVn)AF][#Fd%U\"QRFoFZ&^i!b?Fr
+riH0urVurcmJd1Rrn.@`Xa]pC"._;Ffu!akfhXKOhuA3~>
+li.!LFnG\8f`9@qrrVmiPOneUp.8B`^B/9QmI:,Wd/_,_rrVn)AF][#Fd%U\"QRFoFZ&^i!b?Fr
+riH0urVurcmJd1Rrn.@`Xa]pC"._;Ffu!akfhXKOhuA3~>
+li.!LFnG\8f`9@qrrVmiPOneUp.8B`^B/9QmI:,Wd/_,_rrVn)AF][#Fd%U\"QRFoFZ&^i!b?Fr
+riH0urVurcmJd1Rrn.@`Xa]pC"._;Ffu!akfhXKOhuA3~>
+li-uC`:X'1P@XLh!Q6kerrT_[\GEr@998TBs)n2<!oj:,o)Aa/21ki3mFeV*FZ&@_!)NH6!+b?p
+#>aC[p4WL1p;[+8p7VJ/mG@kn~>
+li-uC`:X'1P@XLh!Q6kerrT_[\GEr@998TBs)n2<!oj:,o)Aa/21ki3mFeV*FZ&@_!)NH6!+b?p
+#>aC[p4WL1p;[+8p7VJ/mG@kn~>
+li-uC`:X'1P@XLh!Q6kerrT_[\GEr@998TBs)n2<!oj:,o)Aa/21ki3mFeV*FZ&@_!)NH6!+b?p
+#>aC[p4WL1p;[+8p7VJ/mG@kn~>
+m/I.?!:BFY!HkO?rrVQfg%>=EDY_$JP5t.Q!pp!6q>UJLPOe_Tm/Ygjs8;m#g!?doF_&i!!L*6U
+rr^SC27^g."2m&S`8(BC~>
+m/I.?!:BFY!HkO?rrVQfg%>=EDY_$JP5t.Q!pp!6q>UJLPOe_Tm/Ygjs8;m#g!?doF_&i!!L*6U
+rr^SC27^g."2m&S`8(BC~>
+m/I.?!:BFY!HkO?rrVQfg%>=EDY_$JP5t.Q!pp!6q>UJLPOe_Tm/Ygjs8;m#g!?doF_&i!!L*6U
+rr^SC27^g."2m&S`8(BC~>
+m/I*g:\4Se!71H?!<CgFrrE+`q7d!9!9<YM!SIJJrrK6Enc&VcXb$NErs@`=c`Nld!!#f;li7#r
+rcJ:9Xf_F"!B%glrri%t!)LPWrrg89!29,@s*t~>
+m/I*g:\4Se!71H?!<CgFrrE+`q7d!9!9<YM!SIJJrrK6Enc&VcXb$NErs@`=c`Nld!!#f;li7#r
+rcJ:9Xf_F"!B%glrri%t!)LPWrrg89!29,@s*t~>
+m/I*g:\4Se!71H?!<CgFrrE+`q7d!9!9<YM!SIJJrrK6Enc&VcXb$NErs@`=c`Nld!!#f;li7#r
+rcJ:9Xf_F"!B%glrri%t!)LPWrrg89!29,@s*t~>
+m/I*/POneT:TaEl!<CgFrrE+ppqHh0g%,.Df`:gI!NgM7rrJ=+JcG6>",-^T:\aqimJGT.rr>jm
+!!-Wjp\tEaP5nCsp<imC`(pAsmFhMi~>
+m/I*/POneT:TaEl!<CgFrrE+ppqHh0g%,.Df`:gI!NgM7rrJ=+JcG6>",-^T:\aqimJGT.rr>jm
+!!-Wjp\tEaP5nCsp<imC`(pAsmFhMi~>
+m/I*/POneT:TaEl!<CgFrrE+ppqHh0g%,.Df`:gI!NgM7rrJ=+JcG6>",-^T:\aqimJGT.rr>jm
+!!-Wjp\tEaP5nCsp<imC`(pAsmFhMi~>
+m/I)^\b#h%Kp2?4!m^l?o`"qFMtt*hWW;GWrrUjRpA+^hX`a16!P)!Ws7-*hg&:sOcf>$*Fo;:?
+U%A9fm?9CbU$^G2"mrEL!0cg%s*t~>
+m/I)^\b#h%Kp2?4!m^l?o`"qFMtt*hWW;GWrrUjRpA+^hX`a16!P)!Ws7-*hg&:sOcf>$*Fo;:?
+U%A9fm?9CbU$^G2"mrEL!0cg%s*t~>
+m/I)^\b#h%Kp2?4!m^l?o`"qFMtt*hWW;GWrrUjRpA+^hX`a16!P)!Ws7-*hg&:sOcf>$*Fo;:?
+U%A9fm?9CbU$^G2"mrEL!0cg%s*t~>
+m/I(dg%54F_uT3$s8R65rrIU[q7crg0_,/Ep&N&,rrHZ(nc&XC!.k1@rri$k!!%0$rrfG(!&`*l
+rs&2-:B4qDp>#ZPp;D(R:Ta?@s*t~>
+m/I(dg%54F_uT3$s8R65rrIU[q7crg0_,/Ep&N&,rrHZ(nc&XC!.k1@rri$k!!%0$rrfG(!&`*l
+rs&2-:B4qDp>#ZPp;D(R:Ta?@s*t~>
+m/I(dg%54F_uT3$s8R65rrIU[q7crg0_,/Ep&N&,rrHZ(nc&XC!.k1@rri$k!!%0$rrfG(!&`*l
+rs&2-:B4qDp>#ZPp;D(R:Ta?@s*t~>
+mJd7J!9<YM!Dd8'rrU+=g%54F_uQh7^B1nnWpp#hP>D&T!m^l,nc&[N!98Y1oD\rq!!"nDir9,!
+!-S#%rs%/?2#q0tj5U(Cj10:423ZA7s*t~>
+mJd7J!9<YM!Dd8'rrU+=g%54F_uQh7^B1nnWpp#hP>D&T!m^l,nc&[N!98Y1oD\rq!!"nDir9,!
+!-S#%rs%/?2#q0tj5U(Cj10:423ZA7s*t~>
+mJd7J!9<YM!Dd8'rrU+=g%54F_uQh7^B1nnWpp#hP>D&T!m^l,nc&[N!98Y1oD\rq!!"nDir9,!
+!-S#%rs%/?2#q0tj5U(Cj10:423ZA7s*t~>
+mJd4?!:g'qj#(B#s8Vep!28r_!cU9,rP&HE9/-)/rrVRFPPkF^j#)PZrrE,QJcGBB!9=%Y!3P5[
+!TU<Frs6r7:B38+XkEF7rs8>OXbAV4:Qs,Ns*t~>
+mJd4?!:g'qj#(B#s8Vep!28r_!cU9,rP&HE9/-)/rrVRFPPkF^j#)PZrrE,QJcGBB!9=%Y!3P5[
+!TU<Frs6r7:B38+XkEF7rs8>OXbAV4:Qs,Ns*t~>
+mJd4?!:g'qj#(B#s8Vep!28r_!cU9,rP&HE9/-)/rrVRFPPkF^j#)PZrrE,QJcGBB!9=%Y!3P5[
+!TU<Frs6r7:B38+XkEF7rs8>OXbAV4:Qs,Ns*t~>
+mJd4?!:^!nj(&-O:]NA`nG`gg?RUN+WfoLuj6lpRcS]7OmFeU!AG5Kl!<Cf(s7H<nA,lU?_>al0
+`04^3!&\n_Xh"D`!quZfrRhOgXcmlb!!#fY\`:p6J,~>
+mJd4?!:^!nj(&-O:]NA`nG`gg?RUN+WfoLuj6lpRcS]7OmFeU!AG5Kl!<Cf(s7H<nA,lU?_>al0
+`04^3!&\n_Xh"D`!quZfrRhOgXcmlb!!#fY\`:p6J,~>
+mJd4?!:^!nj(&-O:]NA`nG`gg?RUN+WfoLuj6lpRcS]7OmFeU!AG5Kl!<Cf(s7H<nA,lU?_>al0
+`04^3!&\n_Xh"D`!quZfrRhOgXcmlb!!#fY\`:p6J,~>
+mJd4?!:KjiY5eQ^p?qq^p8TbE!!//Jm/I+HL&M&Q9Wd^^!<Cf(s7QBl\c)R/ft@=gfu1"HF\h]2
+"]'8pXi/o5s*t~>
+mJd4?!:KjiY5eQ^p?qq^p8TbE!!//Jm/I+HL&M&Q9Wd^^!<Cf(s7QBl\c)R/ft@=gfu1"HF\h]2
+"]'8pXi/o5s*t~>
+mJd4?!:KjiY5eQ^p?qq^p8TbE!!//Jm/I+HL&M&Q9Wd^^!<Cf(s7QBl\c)R/ft@=gfu1"HF\h]2
+"]'8pXi/o5s*t~>
+mJd4?!:Tpk_uR`d!86c>"lj,`>rBRcrrp=@FYchRmJd1efn'1srrh^H!!&^ts8L]bs*t~>
+mJd4?!:Tpk_uR`d!86c>"lj,`>rBRcrrp=@FYchRmJd1efn'1srrh^H!!&^ts8L]bs*t~>
+mJd4?!:Tpk_uR`d!86c>"lj,`>rBRcrrp=@FYchRmJd1efn'1srrh^H!!&^ts8L]bs*t~>
+mJd4?!:^!n_uRaUs+O8Bn,EXQ2.ZF\P5rPfrs-IBPQ1>e2:(^j!<Cf(s7ZHqFT;D;p4<8/s*t~>
+mJd4?!:^!n_uRaUs+O8Bn,EXQ2.ZF\P5rPfrs-IBPQ1>e2:(^j!<Cf(s7ZHqFT;D;p4<8/s*t~>
+mJd4?!:^!n_uRaUs+O8Bn,EXQ2.ZF\P5rPfrs-IBPQ1>e2:(^j!<Cf(s7ZHqFT;D;p4<8/s*t~>
+mJd7J!9<YM!lP)Wrr3&n221Q""5,PBpAY'nXT4RQrrSAa\c)O0P5q`SrrVQfj+77)rrB2#!!(]'
+s69Q6~>
+mJd7J!9<YM!lP)Wrr3&n221Q""5,PBpAY'nXT4RQrrSAa\c)O0P5q`SrrVQfj+77)rrB2#!!(]'
+s69Q6~>
+mJd7J!9<YM!lP)Wrr3&n221Q""5,PBpAY'nXT4RQrrSAa\c)O0P5q`SrrVQfj+77)rrB2#!!(]'
+s69Q6~>
+m/I(dg%54F_uRaRrrUjR\aob%_uQ"urr^1>PP4PH!g<W&qu6c/!0d-IrrLdQJcGKE!9=%Y!24uD
+kl6/~>
+m/I(dg%54F_uRaRrrUjR\aob%_uQ"urr^1>PP4PH!g<W&qu6c/!0d-IrrLdQJcGKE!9=%Y!24uD
+kl6/~>
+m/I(dg%54F_uRaRrrUjR\aob%_uQ"urr^1>PP4PH!g<W&qu6c/!0d-IrrLdQJcGKE!9=%Y!24uD
+kl6/~>
+m/I)^\b,n'_uRaPrrT;[j7N?Q_uQ"srr_:=AG5Zq"86jpch[SCfem=-oD\j%21bf&rrr+,!!#gg
+JcFs6J,~>
+m/I)^\b,n'_uRaPrrT;[j7N?Q_uQ"srr_:=AG5Zq"86jpch[SCfem=-oD\j%21bf&rrr+,!!#gg
+JcFs6J,~>
+m/I)^\b,n'_uRaPrrT;[j7N?Q_uQ"srr_:=AG5Zq"86jpch[SCfem=-oD\j%21bf&rrr+,!!#gg
+JcFs6J,~>
+m/I*/PP5"Yj/2mqq#:Cu<RLUA#2+JW!&U;@q>UTX8jgG^q#:N.A,lUC`;0E;fle)1:Ta?arrJ=+
+JcGNF!29Al!98Y1kPp&~>
+m/I*/PP5"Yj/2mqq#:Cu<RLUA#2+JW!&U;@q>UTX8jgG^q#:N.A,lUC`;0E;fle)1:Ta?arrJ=+
+JcGNF!29Al!98Y1kPp&~>
+m/I*/PP5"Yj/2mqq#:Cu<RLUA#2+JW!&U;@q>UTX8jgG^q#:N.A,lUC`;0E;fle)1:Ta?arrJ=+
+JcGNF!29Al!98Y1kPp&~>
+m/I*gAGH0*cVON?!]?\Fr;QfD:]:=q26HTMrs51r=Hf;#-ns]YrrLe`r;Zk@g&1jVp1-%EccD:M
+FnYb5#b_6@^"K):2<4H2!G&<`s7uZpci*nEXb$N7s*t~>
+m/I*gAGH0*cVON?!]?\Fr;QfD:]:=q26HTMrs51r=Hf;#-ns]YrrLe`r;Zk@g&1jVp1-%EccD:M
+FnYb5#b_6@^"K):2<4H2!G&<`s7uZpci*nEXb$N7s*t~>
+m/I*gAGH0*cVON?!]?\Fr;QfD:]:=q26HTMrs51r=Hf;#-ns]YrrLe`r;Zk@g&1jVp1-%EccD:M
+FnYb5#b_6@^"K):2<4H2!G&<`s7uZpci*nEXb$N7s*t~>
+m/I.?!:BX_$+U&"j8\h`2.ZF[rs=khPO8DDXYjY_rr3&"!0dAr"1UuXmJ[%k_uPMOs8UDf!6"j9
+!b>*erVlrZ222#/!j)I@rVlunA2X)VrrVQffn'2"rrh^H!!%.ms5j92~>
+m/I.?!:BX_$+U&"j8\h`2.ZF[rs=khPO8DDXYjY_rr3&"!0dAr"1UuXmJ[%k_uPMOs8UDf!6"j9
+!b>*erVlrZ222#/!j)I@rVlunA2X)VrrVQffn'2"rrh^H!!%.ms5j92~>
+m/I.?!:BX_$+U&"j8\h`2.ZF[rs=khPO8DDXYjY_rr3&"!0dAr"1UuXmJ[%k_uPMOs8UDf!6"j9
+!b>*erVlrZ222#/!j)I@rVlunA2X)VrrVQffn'2"rrh^H!!%.ms5j92~>
+li-uC`;BQ9cN(o]rs.RAL&_2!!6"g8#NI\8s8VI>K)<:a\3,iOrrULH`;BQ>P5s;9s24otqu6oS
+!87DPm/X9crrVmiPPP4Z_uPAgq>US.!!"nDJcFj3J,~>
+li-uC`;BQ9cN(o]rs.RAL&_2!!6"g8#NI\8s8VI>K)<:a\3,iOrrULH`;BQ>P5s;9s24otqu6oS
+!87DPm/X9crrVmiPPP4Z_uPAgq>US.!!"nDJcFj3J,~>
+li-uC`;BQ9cN(o]rs.RAL&_2!!6"g8#NI\8s8VI>K)<:a\3,iOrrULH`;BQ>P5s;9s24otqu6oS
+!87DPm/X9crrVmiPPP4Z_uPAgq>US.!!"nDJcFj3J,~>
+li7!=qu6[mL&1fQcN*#*:QtYT"iLE.s1'QR^BTl%pAb.gL&(cKFoVIBA<Zihs+ULQ!P)#%rrU+=
+pA4ghKn9:#rrAbl!!(>rs5a31~>
+li7!=qu6[mL&1fQcN*#*:QtYT"iLE.s1'QR^BTl%pAb.gL&(cKFoVIBA<Zihs+ULQ!P)#%rrU+=
+pA4ghKn9:#rrAbl!!(>rs5a31~>
+li7!=qu6[mL&1fQcN*#*:QtYT"iLE.s1'QR^BTl%pAb.gL&(cKFoVIBA<Zihs+ULQ!P)#%rrU+=
+pA4ghKn9:#rrAbl!!(>rs5a31~>
+li.%4!:Bab!oj:@q>URnXlBEAq>URnXoE?Xq7d-D!87D4!:BU^"k`nCrrCaJrrp=us8R5*q>UNi
+!878L!pp!6JcGWI!71WE!24uDj8XW~>
+li.%4!:Bab!oj:@q>URnXlBEAq>URnXoE?Xq7d-D!87D4!:BU^"k`nCrrCaJrrp=us8R5*q>UNi
+!878L!pp!6JcGWI!71WE!24uDj8XW~>
+li.%4!:Bab!oj:@q>URnXlBEAq>URnXoE?Xq7d-D!87D4!:BU^"k`nCrrCaJrrp=us8R5*q>UNi
+!878L!pp!6JcGWI!71WE!24uDj8XW~>
+lMglBXo88#cN*b?"/0kU2>I1SPBHnCK)!(`!6"oJ:\Xkl!86B4mJ6bcf`;'PFfkH=!<CgMrrK5Z
+JcGWI"QM?>!+^Z\ir=N~>
+lMglBXo88#cN*b?"/0kU2>I1SPBHnCK)!(`!6"oJ:\Xkl!86B4mJ6bcf`;'PFfkH=!<CgMrrK5Z
+JcGWI"QM?>!+^Z\ir=N~>
+lMglBXo88#cN*b?"/0kU2>I1SPBHnCK)!(`!6"oJ:\Xkl!86B4mJ6bcf`;'PFfkH=!<CgMrrK5Z
+JcGWI"QM?>!+^Z\ir=N~>
+lMgpf2>7%L!NgM>rr]BGX`aF="KchHDM%Yu"9@-TX`aC<"Ac/e!872J"k`nUs)kI=rrE,Qr;Qil
+26DH0r;QroA,lTem=G;ss*t~>
+lMgpf2>7%L!NgM>rr]BGX`aF="KchHDM%Yu"9@-TX`aC<"Ac/e!872J"k`nUs)kI=rrE,Qr;Qil
+26DH0r;QroA,lTem=G;ss*t~>
+lMgpf2>7%L!NgM>rr]BGX`aF="KchHDM%Yu"9@-TX`aC<"Ac/e!872J"k`nUs)kI=rrE,Qr;Qil
+26DH0r;QroA,lTem=G;ss*t~>
+lMgqZ26HlX!RCc@rr\s;`&7>i"I"Q>O')4m"gJ'fs1(r"rr`>Ts#%ajrroN#s8S::q>UN`!9="W
+!j+?RJcGZJ!/:CP!82r'iW"E~>
+lMgqZ26HlX!RCc@rr\s;`&7>i"I"Q>O')4m"gJ'fs1(r"rr`>Ts#%ajrroN#s8S::q>UN`!9="W
+!j+?RJcGZJ!/:CP!82r'iW"E~>
+lMgqZ26HlX!RCc@rr\s;`&7>i"I"Q>O')4m"gJ'fs1(r"rr`>Ts#%ajrroN#s8S::q>UN`!9="W
+!j+?RJcGZJ!/:CP!82r'iW"E~>
+l2M!j2>7(Mm/Z2Brrc-"irJ-8rrl3/s3C\MqS*5d8H8_M!9<nT"j[29s-%U$rru8ms8U";mJ?h`
+ThkUd!qnLRJcGZJ!3Q5#!4d[\i;\<~>
+l2M!j2>7(Mm/Z2Brrc-"irJ-8rrl3/s3C\MqS*5d8H8_M!9<nT"j[29s-%U$rru8ms8U";mJ?h`
+ThkUd!qnLRJcGZJ!3Q5#!4d[\i;\<~>
+l2M!j2>7(Mm/Z2Brrc-"irJ-8rrl3/s3C\MqS*5d8H8_M!9<nT"j[29s-%U$rru8ms8U";mJ?h`
+ThkUd!qnLRJcGZJ!3Q5#!4d[\i;\<~>
+l2LhY251$L!G$o\rrp=@mJft9qYpc<!:Bgd?;(11!ic72rr3!pL&(cKFoVICirHXerrSlOmJd+d
+:NcR7!oj:!r;Qhl2>2V$rVll9rVuq^JcFX-J,~>
+l2LhY251$L!G$o\rrp=@mJft9qYpc<!:Bgd?;(11!ic72rr3!pL&(cKFoVICirHXerrSlOmJd+d
+:NcR7!oj:!r;Qhl2>2V$rVll9rVuq^JcFX-J,~>
+l2LhY251$L!G$o\rrp=@mJft9qYpc<!:Bgd?;(11!ic72rr3!pL&(cKFoVICirHXerrSlOmJd+d
+:NcR7!oj:!r;Qhl2>2V$rVll9rVuq^JcFX-J,~>
+kl1mu!9=+Zf`8tgrs.RAU&Y/=!6"g8!ol/3rr3)\0MA\M^B0TIJ,TBKf`765rrSAaj8T&bXT5Ks
+s8VeV!6"j9"627]mJd+e`&3bVrrV3\\UjeZrrqF?!!$R'JcFX-J,~>
+kl1mu!9=+Zf`8tgrs.RAU&Y/=!6"g8!ol/3rr3)\0MA\M^B0TIJ,TBKf`765rrSAaj8T&bXT5Ks
+s8VeV!6"j9"627]mJd+e`&3bVrrV3\\UjeZrrqF?!!$R'JcFX-J,~>
+kl1mu!9=+Zf`8tgrs.RAU&Y/=!6"g8!ol/3rr3)\0MA\M^B0TIJ,TBKf`765rrSAaj8T&bXT5Ks
+s8VeV!6"j9"627]mJd+e`&3bVrrV3\\UjeZrrqF?!!$R'JcFX-J,~>
+kPl$7AG6''_uPMOs6ZpGAG6$&$+U%ij8\MK2.ZFZrs.RV!)$EV!1s)f$,cgdci=$kFTBAXrs-(l
+20F$A28oCl#NJS[A9CZJU&=olp1/;ss8Ds$m54kD2>2V$hZ&*~>
+kPl$7AG6''_uPMOs6ZpGAG6$&$+U%ij8\MK2.ZFZrs.RV!)$EV!1s)f$,cgdci=$kFTBAXrs-(l
+20F$A28oCl#NJS[A9CZJU&=olp1/;ss8Ds$m54kD2>2V$hZ&*~>
+kPl$7AG6''_uPMOs6ZpGAG6$&$+U%ij8\MK2.ZFZrs.RV!)$EV!1s)f$,cgdci=$kFTBAXrs-(l
+20F$A28oCl#NJS[A9CZJU&=olp1/;ss8Ds$m54kD2>2V$hZ&*~>
+kPkVN23\%>!RFR@!!+sZqu6]C:]:=p26H]S"OF3P\aB4m!SMVo!!.6&qYp`m`3$/[pA"Xjc`O=[
+mJHnbTf)4gs8N$%p1+.'2<08fh>`!~>
+kPkVN23\%>!RFR@!!+sZqu6]C:]:=p26H]S"OF3P\aB4m!SMVo!!.6&qYp`m`3$/[pA"Xjc`O=[
+mJHnbTf)4gs8N$%p1+.'2<08fh>`!~>
+kPkVN23\%>!RFR@!!+sZqu6]C:]:=p26H]S"OF3P\aB4m!SMVo!!.6&qYp`m`3$/[pA"Xjc`O=[
+mJHnbTf)4gs8N$%p1+.'2<08fh>`!~>
+k5PM$!6"j9!q"[op\t<^g"GTh"8:F$p>>lO_uR`,s8DrtAGuQ/`.@sDs*t~>
+k5PM$!6"j9!q"[op\t<^g"GTh"8:F$p>>lO_uR`,s8DrtAGuQ/`.@sDs*t~>
+k5PM$!6"j9!q"[op\t<^g"GTh"8:F$p>>lO_uR`,s8DrtAGuQ/`.@sDs*t~>
+jo5CG2<1q@!ol/%JcG]K!0dB^!5sHgg])d~>
+jo5CG2<1q@!ol/%JcG]K!0dB^!5sHgg])d~>
+jo5CG2<1q@!ol/%JcG]K!0dB^!5sHgg])d~>
+jSo:(2<2"B!ol.\JcG]K!0dB^!0`!6gAc[~>
+jSo:(2<2"B!ol.\JcG]K!0dB^!0`!6gAc[~>
+jSo:(2<2"B!ol.\JcG]K!0dB^!0`!6gAc[~>
+jSo>UA2WDSrr_:=AG1TSrr2u#rVuq^JcFF'J,~>
+jSo>UA2WDSrr_:=AG1TSrr2u#rVuq^JcFF'J,~>
+jSo>UA2WDSrr_:=AG1TSrr2u#rVuq^JcFF'J,~>
+j8T5TA2WDUrr_:=AG1TSrr2u:rVuq/JcFC&J,~>
+j8T5TA2WDUrr_:=AG1TSrr2u:rVuq/JcFC&J,~>
+j8T5TA2WDUrr_:=AG1TSrr2u:rVuq/JcFC&J,~>
+ir9,SA2WDWrr_:=AG2Ai!9=%2!9<MI!6"j:!G(nTs4I@%~>
+ir9,SA2WDWrr_:=AG2Ai!9=%2!9<MI!6"j:!G(nTs4I@%~>
+ir9,SA2WDWrr_:=AG2Ai!9=%2!9<MI!6"j:!G(nTs4I@%~>
+iVs#RA2V]Err^S)AG2Yq"lmq2Klp2a!!QnUPHE0kq#:?4rVut0p4<7qs*t~>
+iVs#RA2V]Err^S)AG2Yq"lmq2Klp2a!!QnUPHE0kq#:?4rVut0p4<7qs*t~>
+iVs#RA2V]Err^S)AG2Yq"lmq2Klp2a!!QnUPHE0kq#:?4rVut0p4<7qs*t~>
+hu<bA!3Np6!j)HdUAk>hc_5L\!!@A-Xh"Ga!;?Bk!:Bd=s/c<UFoD@CFeR.Trr2u:rVut0p4<7p
+s*t~>
+hu<bA!3Np6!j)HdUAk>hc_5L\!!@A-Xh"Ga!;?Bk!:Bd=s/c<UFoD@CFeR.Trr2u:rVut0p4<7p
+s*t~>
+hu<bA!3Np6!j)HdUAk>hc_5L\!!@A-Xh"Ga!;?Bk!:Bd=s/c<UFoD@CFeR.Trr2u:rVut0p4<7p
+s*t~>
+hZ!\g!-S"Nrr_t;!4ep*#ihUh!!%/DcgC&u#jos3FT;Da\[MJ;!B'S%s4.."~>
+hZ!\g!-S"Nrr_t;!4ep*#ihUh!!%/DcgC&u#jos3FT;Da\[MJ;!B'S%s4.."~>
+hZ!\g!-S"Nrr_t;!4ep*#ihUh!!%/DcgC&u#jos3FT;Da\[MJ;!B'S%s4.."~>
+h>[T;:GpJ8rr^S):ZJ>P#48*[!)K<AiVru*TfrAT!AWVcs4%(!~>
+h>[T;:GpJ8rr^S):ZJ>P#48*[!)K<AiVru*TfrAT!AWVcs4%(!~>
+h>[T;:GpJ8rr^S):ZJ>P#48*[!)K<AiVru*TfrAT!AWVcs4%(!~>
+h#@NNT`B6&`r?2/FTA-/VuHq=FT>42j5'_8`;T`=$NPn6JcF:#J,~>
+h#@NNT`B6&`r?2/FTA-/VuHq=FT>42j5'_8`;T`=$NPn6JcF:#J,~>
+h#@NNT`B6&`r?2/FTA-/VuHq=FT>42j5'_8`;T`=$NPn6JcF:#J,~>
+gA_</:B7Njb5VV<XT2/MW;d%p\PE3hg"ZN,`;T`@2<3#*!)LOas4@:$~>
+gA_</:B7Njb5VV<XT2/MW;d%p\PE3hg"ZN,`;T`@2<3#*!)LOas4@:$~>
+gA_</:B7Njb5VV<XT2/MW;d%p\PE3hg"ZN,`;T`@2<3#*!)LOas4@:$~>
+f`))b2)VN0cMn%@XYhuHVuHn%2)V)pgA_/TrVut0pAY'pm?7NG`.@sAs*t~>
+f`))b2)VN0cMn%@XYhuHVuHn%2)V)pgA_/TrVut0pAY'pm?7NG`.@sAs*t~>
+f`))b2)VN0cMn%@XYhuHVuHn%2)V)pgA_/TrVut0pAY'pm?7NG`.@sAs*t~>
+fDc$JXYhu<p<rsEp8p20XnJ^n"OBk$XnM)\#56!!Fd'B'pAY,VrVut0pA=jmm?7N\fn'1Xs*t~>
+fDc$JXYhu<p<rsEp8p20XnJ^n"OBk$XnM)\#56!!Fd'B'pAY,VrVut0pA=jmm?7N\fn'1Xs*t~>
+fDc$JXYhu<p<rsEp8p20XnJ^n"OBk$XnM)\#56!!Fd'B'pAY,VrVut0pA=jmm?7N\fn'1Xs*t~>
+ec,gHXYg*Bg"-0,folCnXnJ^n"RU=3PO7Z8#gY@.Ffg?T!3Q%r!0dB^!G(p!rrh_3!/:,ts5!^*~>
+ec,gHXYg*Bg"-0,folCnXnJ^n"RU=3PO7Z8#gY@.Ffg?T!3Q%r!0dB^!G(p!rrh_3!/:,ts5!^*~>
+ec,gHXYg*Bg"-0,folCnXnJ^n"RU=3PO7Z8#gY@.Ffg?T!3Q%r!0dB^!G(p!rrh_3!/:,ts5!^*~>
+df0KhA,oE!j4sY<j.T6KAAkAF"1^:"g$/M=_uQM)rVlr$!0d<[!VU('!!-X(p&>-?:GpILs5*d+~>
+df0KhA,oE!j4sY<j.T6KAAkAF"1^:"g$/M=_uQM)rVlr$!0d<[!VU('!!-X(p&>-?:GpILs5*d+~>
+df0KhA,oE!j4sY<j.T6KAAkAF"1^:"g$/M=_uQM)rVlr$!0d<[!VU('!!-X(p&>-?:GpILs5*d+~>
+d/O@<ThbYaU!NH,rrMM\nG`aec_4,7:SI0Qrr_t;!3PJb!oj9kqYpW8!6"d7"*FSDPOe_Vp7VJ?
+p4<8%s*t~>
+d/O@<ThbYaU!NH,rrMM\nG`aec_4,7:SI0Qrr_t;!3PJb!oj9kqYpW8!6"d7"*FSDPOe_Vp7VJ?
+p4<8%s*t~>
+d/O@<ThbYaU!NH,rrMM\nG`aec_4,7:SI0Qrr_t;!3PJb!oj9kqYpW8!6"d7"*FSDPOe_Vp7VJ?
+p4<8%s*t~>
+c2S(0X^hD3A>-s%r;Ql0!!'S&rs7Z'Tk"-'A?Fmfrr^q3:ZLX<!JP[krrJ<Zqu6`kA<ZK^"5,P-
+j+76hs*t~>
+c2S(0X^hD3A>-s%r;Ql0!!'S&rs7Z'Tk"-'A?Fmfrr^q3:ZLX<!JP[krrJ<Zqu6`kA<ZK^"5,P-
+j+76hs*t~>
+c2S(0X^hD3A>-s%r;Ql0!!'S&rs7Z'Tk"-'A?Fmfrr^q3:ZLX<!JP[krrJ<Zqu6`kA<ZK^"5,P-
+j+76hs*t~>
+b5W"Gc`M=I!!#f;PHAs-!%lUsfaQ3/XeBl5!!"m!Xj?^8rr^1>L%a[/!<C(5rrVQfj6$@Dp1-&!
+JcFa0J,~>
+b5W"Gc`M=I!!#f;PHAs-!%lUsfaQ3/XeBl5!!"m!Xj?^8rr^1>L%a[/!<C(5rrVQfj6$@Dp1-&!
+JcFa0J,~>
+b5W"Gc`M=I!!#f;PHAs-!%lUsfaQ3/XeBl5!!"m!Xj?^8rr^1>L%a[/!<C(5rrVQfj6$@Dp1-&!
+JcFa0J,~>
+`W$/0ft"5=F`I0Vs)eHuXh!-PT)SkU!3PA_!oj:Jp\t6og#W/7P5rOPs5X-0~>
+`W$/0ft"5=F`I0Vs)eHuXh!-PT)SkU!3PA_!oj:Jp\t6og#W/7P5rOPs5X-0~>
+`W$/0ft"5=F`I0Vs)eHuXh!-PT)SkU!3PA_!oj:Jp\t6og#W/7P5rOPs5X-0~>
+^Ae2DrVurcPlCfK!6!su!ndSIp\t6og#N)6XT5JSs5a31~>
+^Ae2DrVurcPlCfK!6!su!ndSIp\t6og#N)6XT5JSs5a31~>
+^Ae2DrVurcPlCfK!6!su!ndSIp\t6og#N)6XT5JSs5a31~>
+^&J11!!%_<rrSAa`8^dt!71H?!pp!@ir9(u!24uDjo9i~>
+^&J11!!%_<rrSAa`8^dt!71H?!pp!@ir9(u!24uDjo9i~>
+^&J11!!%_<rrSAa`8^dt!71H?!pp!@ir9(u!24uDjo9i~>
+^&J)crVurOQi@,N!6!jr!Hj+krrK5Zi;Wks!5sHgk5Tr~>
+^&J)crVurOQi@,N!6!jr!Hj+krrK5Zi;Wks!5sHgk5Tr~>
+^&J)crVurOQi@,N!6!jr!Hj+krrK5Zi;Wks!5sHgk5Tr~>
+]`/(V!!#f^rrT_2`8LXsf`8_^rrV4:Xl'-[XT6:js6'E4~>
+]`/(V!!#f^rrT_2`8LXsf`8_^rrV4:Xl'-[XT6:js6'E4~>
+]`/(V!!#f^rrT_2`8LXsf`8_^rrV4:Xl'-[XT6:js6'E4~>
+]`/!!rVur#Rf<H8!3P2Z"SSr=!4i%-"5,7@Xks'ZP;VBOs60K5~>
+]`/!!rVur#Rf<H8!3P2Z"SSr=!4i%-"5,7@Xks'ZP;VBOs60K5~>
+]`/!!rVur#Rf<H8!3P2Z"SSr=!4i%-"5,7@Xks'ZP;VBOs60K5~>
+]Dhl5rVurYSGrZX221#h&b`=a26E>J:SFnmA,q.X!)LqurrQ_,p4<8.s*t~>
+]Dhl5rVurYSGrZX221#h&b`=a26E>J:SFnmA,q.X!)LqurrQ_,p4<8.s*t~>
+]Dhl5rVurYSGrZX221#h&b`=a26E>J:SFnmA,q.X!)LqurrQ_,p4<8.s*t~>
+])MkC!!$Q"rrR==p>c/fp8p20XnMepm@e21D3NZQs6Z!MFlVH\!pqk!JcG!7J,~>
+])MkC!!$Q"rrR==p>c/fp8p20XnMepm@e21D3NZQs6Z!MFlVH\!pqk!JcG!7J,~>
+])MkC!!$Q"rrR==p>c/fp8p20XnMepm@e21D3NZQs6Z!MFlVH\!pqk!JcG!7J,~>
+])Mc`rVur#T)Sl&!9</?"no&U26HTLrrKZ+qYp]OFT@Wmir9)+!7-5rlMlA~>
+])Mc`rVur#T)Sl&!9</?"no&U26HTLrrKZ+qYp]OFT@Wmir9)+!7-5rlMlA~>
+])Mc`rVur#T)Sl&!9</?"no&U26HTLrrKZ+qYp]OFT@Wmir9)+!7-5rlMlA~>
+\c2Z'rVurYT`5)\26H!?"no&U26HTJrrHYoq#:K8:Go9Jj8T17:\KA>li2J~>
+\c2Z'rVurYT`5)\26H!?"no&U26HTJrrHYoq#:K8:Go9Jj8T17:\KA>li2J~>
+\c2Z'rVurYT`5)\26H!?"no&U26HTJrrHYoq#:K8:Go9Jj8T17:\KA>li2J~>
+\Gl\B!!#ggU&P1X:\NuO"no&U26HTIrrVlochIGBp8p2J`8pq"m5;"ss6K]8~>
+\Gl\B!!#ggU&P1X:\NuO"no&U26HTIrrVlochIGBp8p2J`8pq"m5;"ss6K]8~>
+\Gl\B!!#ggU&P1X:\NuO"no&U26HTIrrVlochIGBp8p2J`8pq"m5;"ss6K]8~>
+\GlQhrVuq^UAk;T!6"+$"no&U26HTGrrL%<o`#'fP5oaYjo5Ca2>2V$m/MS~>
+\GlQhrVuq^UAk;T!6"+$"no&U26HTGrrL%<o`#'fP5oaYjo5Ca2>2V$m/MS~>
+\GlQhrVuq^UAk;T!6"+$"no&U26HTGrrL%<o`#'fP5oaYjo5Ca2>2V$m/MS~>
+\,QH=rVur:U]1@K:\"Gdj4W,`rrr+u2)VN0o`+rFo)AjQFT@WmkPkVW26DH0m/MS~>
+\,QH=rVur:U]1@K:\"Gdj4W,`rrr+u2)VN0o`+rFo)AjQFT@WmkPkVW26DH0m/MS~>
+\,QH=rVur:U]1@K:\"Gdj4W,`rrr+u2)VN0o`+rFo)AjQFT@WmkPkVW26DH0m/MS~>
+[f6Ja!!"n:V>gVa!6"L/!RFR@!!kHas6Z!M:Ta?_rrhAa,_b:KrrgYD!3PtorrgZMXh!igrrT;[
+p4<82s*t~>
+[f6Ja!!"n:V>gVa!6"L/!RFR@!!kHas6Z!M:Ta?_rrhAa,_b:KrrgYD!3PtorrgZMXh!igrrT;[
+p4<82s*t~>
+[f6Ja!!"n:V>gVa!6"L/!RFR@!!kHas6Z!M:Ta?_rrhAa,_b:KrrgYD!3PtorrgZMXh!igrrT;[
+p4<82s*t~>
+[f6O):B1Ajp87ijThk:[$^1RSj8\MK2+.F?`:O!7p2p@2BOCg_mIC2aXYhuSfhVTjFYs/mnc&[a
+27\;<mJh\~>
+[f6O):B1Ajp87ijThk:[$^1RSj8\MK2+.F?`:O!7p2p@2BOCg_mIC2aXYhuSfhVTjFYs/mnc&[a
+27\;<mJh\~>
+[f6O):B1Ajp87ijThk:[$^1RSj8\MK2+.F?`:O!7p2p@2BOCg_mIC2aXYhuSfhVTjFYs/mnc&[a
+27\;<mJh\~>
+[Jp6erVuq@VZ-ZSXn;VpcN(o]rrV4-I.I:>p1-&6rr3)RA2X)Nrrr+i!!%`?rr3&1!0csQ!L%&F
+s6]i:~>
+[Jp6erVuq@VZ-ZSXn;VpcN(o]rrV4-I.I:>p1-&6rr3)RA2X)Nrrr+i!!%`?rr3&1!0csQ!L%&F
+s6]i:~>
+[Jp6erVuq@VZ-ZSXn;VpcN(o]rrV4-I.I:>p1-&6rr3)RA2X)Nrrr+i!!%`?rr3&1!0csQ!L%&F
+s6]i:~>
+[/U-ErVuq^W;cqF!:BFY!DepUrrT_2mIU>ZP;Vb*rrVmiL%,*Dp.9H)rrULHcgq);f`:Djs6fo;~>
+[/U-ErVuq^W;cqF!:BFY!DepUrrT_2mIU>ZP;Vb*rrVmiL%,*Dp.9H)rrULHcgq);f`:Djs6fo;~>
+[/U-ErVuq^W;cqF!:BFY!DepUrrT_2mIU>ZP;Vb*rrVmiL%,*Dp.9H)rrULHcgq);f`:Djs6fo;~>
+Zi:#hrVur:WW*!_AG#m'irJKBrrG!fo`#!d!6"a6!ndS@nc&[/2>6nH!L%'arrG!fJcG0<J,~>
+Zi:#hrVur:WW*!_AG#m'irJKBrrG!fo`#!d!6"a6!ndS@nc&[/2>6nH!L%'arrG!fJcG0<J,~>
+Zi:#hrVur:WW*!_AG#m'irJKBrrG!fo`#!d!6"a6!ndS@nc&[/2>6nH!L%'arrG!fJcG0<J,~>
+ZMsoIrVur:WrE)qXn;Vo\PN##s+U+F!Q5!5rrGp+nc&WDPPP4[f`:F1rrJ=+JcG0<J,~>
+ZMsoIrVur:WrE)qXn;Vo\PN##s+U+F!Q5!5rrGp+nc&WDPPP4[f`:F1rrJ=+JcG0<J,~>
+ZMsoIrVur:WrE)qXn;Vo\PN##s+U+F!Q5!5rrGp+nc&WDPPP4[f`:F1rrJ=+JcG0<J,~>
+ZMst!AGuQ/j/i7^m/Yi3rrK6Eq#:AsFnG\7X`aF=!Hk++rrI8Eq#:?pg%,.D_uPAgmf.e~>
+ZMst!AGuQ/j/i7^m/Yi3rrK6Eq#:AsFnG\7X`aF=!Hk++rrI8Eq#:?pg%,.D_uPAgmf.e~>
+ZMst!AGuQ/j/i7^m/Yi3rrK6Eq#:AsFnG\7X`aF=!Hk++rrI8Eq#:?pg%,.D_uPAgmf.e~>
+Z2Y!p2#mV6j/r=^cN*S:!P)#$rrJ=;o`"roFnkt;Kp2',!B%F_rrE,Qo)AdY!98Y1n,In~>
+Z2Y!p2#mV6j/r=^cN*S:!P)#$rrJ=;o`"roFnkt;Kp2',!B%F_rrE,Qo)AdY!98Y1n,In~>
+Z2Y!p2#mV6j/r=^cN*S:!P)#$rrJ=;o`"roFnkt;Kp2',!B%F_rrE,Qo)AdY!98Y1n,In~>
+Yl=me2#mV6j0&C_X^q&'!oj:Jq>UIk\b,n&X\\`l!G&>&rrI89q>UN`!9<VL!<CGss6ou<~>
+Yl=me2#mV6j0&C_X^q&'!oj:Jq>UIk\b,n&X\\`l!G&>&rrI89q>UN`!9<VL!<CGss6ou<~>
+Yl=me2#mV6j0&C_X^q&'!oj:Jq>UIk\b,n&X\\`l!G&>&rrI89q>UN`!9<VL!<CGss6ou<~>
+YQ"dd2#mV6j0/I`PBHHr!DepUrrU+=mI^D[irJ-9rrVQfcgh#9ThkLa!P()WrrI8EJcG3=J,~>
+YQ"dd2#mV6j0/I`PBHHr!DepUrrU+=mI^D[irJ-9rrVQfcgh#9ThkLa!P()WrrI8EJcG3=J,~>
+YQ"dd2#mV6j0/I`PBHHr!DepUrrU+=mI^D[irJ-9rrVQfcgh#9ThkLa!P()WrrI8EJcG3=J,~>
+Y5\LJrVusVj08OaFfk67!m^kbr;QiY250U@s)n2<!JO>=rrVQf\blC.p,/uArrI8EJcG3=J,~>
+Y5\LJrVusVj08OaFfk67!m^kbr;QiY250U@s)n2<!JO>=rrVQf\blC.p,/uArrI8EJcG3=J,~>
+Y5\LJrVusVj08OaFfk67!m^kbr;QiY250U@s)n2<!JO>=rrVQf\blC.p,/uArrI8EJcG3=J,~>
+XoAC>rVusVj0AUbFfk36$'P@QmJlm^2.ZFOrrV3\PPkF^P5rqtrrSko`;T]<p1-tmnG`N_Fb0S]
+s*t~>
+XoAC>rVusVj0AUbFfk36$'P@QmJlm^2.ZFOrrV3\PPkF^P5rqtrrSko`;T]<p1-tmnG`N_Fb0S]
+s*t~>
+XoAC>rVusVj0AUbFfk36$'P@QmJlm^2.ZFOrrV3\PPkF^P5rqtrrSko`;T]<p1-tmnG`N_Fb0S]
+s*t~>
+XT&:=rVusVj0J[cFfk05!RFR@!!+sZn,E[32,Cd*\PE4DmJdHU!-PusTf#X+n,EEjFb0S]s*t~>
+XT&:=rVusVj0J[cFfk05!RFR@!!+sZn,E[32,Cd*\PE4DmJdHU!-PusTf#X+n,EEjFb0S]s*t~>
+XT&:=rVusVj0J[cFfk05!RFR@!!+sZn,E[32,Cd*\PE4DmJdHU!-PusTf#X+n,EEjFb0S]s*t~>
+X8`@A2#mV6ca3WPFfk-4"QM.2/a_s*#47U,!$%$dli.1BFqXjIXnM2_!NgKqs6ou<~>
+X8`@A2#mV6ca3WPFfk-4"QM.2/a_s*#47U,!$%$dli.1BFqXjIXnM2_!NgKqs6ou<~>
+X8`@A2#mV6ca3WPFfk-4"QM.2/a_s*#47U,!$%$dli.1BFqXjIXnM2_!NgKqs6ou<~>
+WrE+[2?!RU`3fOFFfk05"lhJ(p1._$rs&1N26SlJp?V__j#(AQ!0d-ErrK6EJcG3=J,~>
+WrE+[2?!RU`3fOFFfk05"lhJ(p1._$rs&1N26SlJp?V__j#(AQ!0d-ErrK6EJcG3=J,~>
+WrE+[2?!RU`3fOFFfk05"lhJ(p1._$rs&1N26SlJp?V__j#(AQ!0d-ErrK6EJcG3=J,~>
+WW*"Z2?!RUTsan$Ffk36#NI\*s8V+:Xmc8qp1-&@s5RWIj6cjPj#(B@s4K8?mI1&UPD+Sfn,In~>
+WW*"Z2?!RUTsan$Ffk36#NI\*s8V+:Xmc8qp1-&@s5RWIj6cjPj#(B@s4K8?mI1&UPD+Sfn,In~>
+WW*"Z2?!RUTsan$Ffk36#NI\*s8V+:Xmc8qp1-&@s5RWIj6cjPj#(B@s4K8?mI1&UPD+Sfn,In~>
+W;cnYAGuQ0L%`"U!Hk+,rrV4<PPtL_\H(=Qrr_Y!2<4]9"867_g$eqB_uQ#"rr_:l2<43+!HkMq
+s6ou<~>
+W;cnYAGuQ0L%`"U!Hk+,rrV4<PPtL_\H(=Qrr_Y!2<4]9"867_g$eqB_uQ#"rr_:l2<43+!HkMq
+s6ou<~>
+W;cnYAGuQ0L%`"U!Hk+,rrV4<PPtL_\H(=Qrr_Y!2<4]9"867_g$eqB_uQ#"rr_:l2<43+!HkMq
+s6ou<~>
+VuHekAGuQ0AF6o,!NgM9rrV4<PPb@]Kf/Sqrr_:=AG5s$"87oY`:<j/_uQ"urr_tK!6"F-!G&<`
+s6ou<~>
+VuHekAGuQ0AF6o,!NgM9rrV4<PPb@]Kf/Sqrr_:=AG5s$"87oY`:<j/_uQ"urr_tK!6"F-!G&<`
+s6ou<~>
+VuHekAGuQ0AF6o,!NgM9rrV4<PPb@]Kf/Sqrr_:=AG5s$"87oY`:<j/_uQ"urr_tK!6"F-!G&<`
+s6ou<~>
+VZ-\jPPtO_2:&i5!P)"urrV4<PPY:\p.pD7rr^(nAG5j!!hfUro`#$eM#b*]rr\qpIJ3:4!<Cf(
+s6ou<~>
+VZ-\jPPtO_2:&i5!P)"urrV4<PPY:\p.pD7rr^(nAG5j!!hfUro`#$eM#b*]rr\qpIJ3:4!<Cf(
+s6ou<~>
+VZ-\jPPtO_2:&i5!P)"urrV4<PPY:\p.pD7rr^(nAG5j!!hfUro`#$eM#b*]rr\qpIJ3:4!<Cf(
+s6ou<~>
+V#LG*r;Zhk])Mib!;?0e"50@nGkh:@\H%?0q>UKUL&M&Q9We*i"KqfB`9mC#!Q7S/!!.&lqYpTV
+Jc5WM8?MUc!ndS@JcG3=J,~>
+V#LG*r;Zhk])Mib!;?0e"50@nGkh:@\H%?0q>UKUL&M&Q9We*i"KqfB`9mC#!Q7S/!!.&lqYpTV
+Jc5WM8?MUc!ndS@JcG3=J,~>
+V#LG*r;Zhk])Mib!;?0e"50@nGkh:@\H%?0q>UKUL&M&Q9We*i"KqfB`9mC#!Q7S/!!.&lqYpTV
+Jc5WM8?MUc!ndS@JcG3=J,~>
+U]1AJ2?!RVAF7#/!<CIArs.R[!),c\28oFm#MDlQ;-a/Zci!eL_uOr+mFe05FnYb5#ig%-5[$#F
+PP4qS#a#+)UUZdq!6"g8#fH^FS$A`5!-%]4!P)!Ws6fo;~>
+U]1AJ2?!RVAF7#/!<CIArs.R[!),c\28oFm#MDlQ;-a/Zci!eL_uOr+mFe05FnYb5#ig%-5[$#F
+PP4qS#a#+)UUZdq!6"g8#fH^FS$A`5!-%]4!P)!Ws6fo;~>
+U]1AJ2?!RVAF7#/!<CIArs.R[!),c\28oFm#MDlQ;-a/Zci!eL_uOr+mFe05FnYb5#ig%-5[$#F
+PP4qS#a#+)UUZdq!6"g8#fH^FS$A`5!-%]4!P)!Ws6fo;~>
+UAk8]AGuQ028m0-!G%o#rs@]cFm]5/p7VK)rr3;N!/9h?s7VWV`;]c<irG;@rrV4<U&Funj#(B#
+rr3)=:Ls1urrT2#PPi/sJcOL'rrV3\DZ%6NW[OJ6rrIh;JcG0<J,~>
+UAk8]AGuQ028m0-!G%o#rs@]cFm]5/p7VK)rr3;N!/9h?s7VWV`;]c<irG;@rrV4<U&Funj#(B#
+rr3)=:Ls1urrT2#PPi/sJcOL'rrV3\DZ%6NW[OJ6rrIh;JcG0<J,~>
+UAk8]AGuQ028m0-!G%o#rs@]cFm]5/p7VK)rr3;N!/9h?s7VWV`;]c<irG;@rrV4<U&Funj#(B#
+rr3)=:Ls1urrT2#PPi/sJcOL'rrV3\DZ%6NW[OJ6rrIh;JcG0<J,~>
+T`5"cr;ZkPp:gP-X\\io!qnL*qu6l2!9=+Q23[q;#-@mms8R4PqYpf=!:Bgdp,.R$rs/7.FoVL8
+!.t'^!G"h%rrI.BqS*)q!:BX_!qlW4JcG0<J,~>
+T`5"cr;ZkPp:gP-X\\io!qnL*qu6l2!9=+Q23[q;#-@mms8R4PqYpf=!:Bgdp,.R$rs/7.FoVL8
+!.t'^!G"h%rrI.BqS*)q!:BX_!qlW4JcG0<J,~>
+T`5"cr;ZkPp:gP-X\\io!qnL*qu6l2!9=+Q23[q;#-@mms8R4PqYpf=!:Bgdp,.R$rs/7.FoVL8
+!.t'^!G"h%rrI.BqS*)q!:BX_!qlW4JcG0<J,~>
+TDnrF2?!RV2:'&;!oj:@r;Qi/2>6nH"a,P!XYohKrrl2^s7QH=q>UXpU&Y.p2>6nH"k`n/s1'TS
+^BU\<j8\KHS,'f"4K\J[!lP*4JcG0<J,~>
+TDnrF2?!RV2:'&;!oj:@r;Qi/2>6nH"a,P!XYohKrrl2^s7QH=q>UXpU&Y.p2>6nH"k`n/s1'TS
+^BU\<j8\KHS,'f"4K\J[!lP*4JcG0<J,~>
+TDnrF2?!RV2:'&;!oj:@r;Qi/2>6nH"a,P!XYohKrrl2^s7QH=q>UXpU&Y.p2>6nH"k`n/s1'TS
+^BU\<j8\KHS,'f"4K\J[!lP*4JcG0<J,~>
+T)SibL&CuPFm[!E!G%DlrrI89q>UT9!<6T'q>UT92?2>0q#:MkFoVJPU%nWjA<[%SAGEnB.(TB2
+!;O;0G]*BX!Hj*Is6]i:~>
+T)SibL&CuPFm[!E!G%DlrrI89q>UT9!<6T'q>UT92?2>0q#:MkFoVJPU%nWjA<[%SAGEnB.(TB2
+!;O;0G]*BX!Hj*Is6]i:~>
+T)SibL&CuPFm[!E!G%DlrrI89q>UT9!<6T'q>UT92?2>0q#:MkFoVJPU%nWjA<[%SAGEnB.(TB2
+!;O;0G]*BX!Hj*Is6]i:~>
+SGrW92>mLUXnKX3!kC2^rVlluch[SDm/Z/Hg%kXNirJK"!;QQtX`a[D!87/I"KchHDM%Yu"B_f+
+f`:f^!J54drrVQfc[l,`s*t~>
+SGrW92>mLUXnKX3!kC2^rVlluch[SDm/Z/Hg%kXNirJK"!;QQtX`a[D!87/I"KchHDM%Yu"B_f+
+f`:f^!J54drrVQfc[l,`s*t~>
+SGrW92>mLUXnKX3!kC2^rVlluch[SDm/Z/Hg%kXNirJK"!;QQtX`a[D!87/I"KchHDM%Yu"B_f+
+f`:f^!J54drrVQfc[l,`s*t~>
+S,WN_L&CuP:W10N!qnLRrVllug%bRL!8.A*q>UTk!86$*q#:N"FoVIAg%bRMX`aYnDYUsL4K\Y:
+!;O;0Jo:Jc!L$<1s6Tc9~>
+S,WN_L&CuP:W10N!qnLRrVllug%bRL!8.A*q>UTk!86$*q#:N"FoVIAg%bRMX`aYnDYUsL4K\Y:
+!;O;0Jo:Jc!L$<1s6Tc9~>
+S,WN_L&CuP:W10N!qnLRrVllug%bRL!8.A*q>UTk!86$*q#:N"FoVIAg%bRMX`aYnDYUsL4K\Y:
+!;O;0Jo:Jc!L$<1s6Tc9~>
+RK!<@:]17oFkO_5!j+?Rrr3!V\bZ7.irJI(`;0E:f`:a5!9<nT"_=>,rrC"4rrf$<s/eEZ^BUqC
+g&L(4WqjC19:l(]!pp!+JcG*:J,~>
+RK!<@:]17oFkO_5!j+?Rrr3!V\bZ7.irJI(`;0E:f`:a5!9<nT"_=>,rrC"4rrf$<s/eEZ^BUqC
+g&L(4WqjC19:l(]!pp!+JcG*:J,~>
+RK!<@:]17oFkO_5!j+?Rrr3!V\bZ7.irJI(`;0E:f`:a5!9<nT"_=>,rrC"4rrf$<s/eEZ^BUqC
+g&L(4WqjC19:l(]!pp!+JcG*:J,~>
+Qi@)g2>mLUFkOe7!qnLRrr3"QFnu%?X\\tNL&(`PThk^gA;0m[#2'"0s8Re,q#:Ln\c;$sS,0l#
+Jk5n@!D78+^B1/1g&1jNKhm:"li2J~>
+Qi@)g2>mLUFkOe7!qnLRrr3"QFnu%?X\\tNL&(`PThk^gA;0m[#2'"0s8Re,q#:Ln\c;$sS,0l#
+Jk5n@!D78+^B1/1g&1jNKhm:"li2J~>
+Qi@)g2>mLUFkOe7!qnLRrr3"QFnu%?X\\tNL&(`PThk^gA;0m[#2'"0s8Re,q#:Ln\c;$sS,0l#
+Jk5n@!D78+^B1/1g&1jNKhm:"li2J~>
+QN%!QPPbC]L"XNH#H\!ns8UaPg&(dRp,/uP_uSiprs.pKXoJFI!6"g8!qp/Irr3&Q!875K#Isj%
+s8S-.Wr0U5RfL"urrULHPPi/s\4gl>rrUjRc[l,^s*t~>
+QN%!QPPbC]L"XNH#H\!ns8UaPg&(dRp,/uP_uSiprs.pKXoJFI!6"g8!qp/Irr3&Q!875K#Isj%
+s8S-.Wr0U5RfL"urrULHPPi/s\4gl>rrUjRc[l,^s*t~>
+QN%!QPPbC]L"XNH#H\!ns8UaPg&(dRp,/uP_uSiprs.pKXoJFI!6"g8!qp/Irr3&Q!875K#Isj%
+s8S-.Wr0U5RfL"urrULHPPi/s\4gl>rrUjRc[l,^s*t~>
+PlCdOFo24?FkOk9!Ddk;rrRm3j8Ju`p1-tms8R4!j8Ju[p1._-rr3:g!3Ptps3FIupAP!mKf.og
+rrU+=XoA>,p0T53^V@:1!0R3Z$'>4>\A,eJ4@o2ErrVmiFb0SXs*t~>
+PlCdOFo24?FkOk9!Ddk;rrRm3j8Ju`p1-tms8R4!j8Ju[p1._-rr3:g!3Ptps3FIupAP!mKf.og
+rrU+=XoA>,p0T53^V@:1!0R3Z$'>4>\A,eJ4@o2ErrVmiFb0SXs*t~>
+PlCdOFo24?FkOk9!Ddk;rrRm3j8Ju`p1-tms8R4!j8Ju[p1._-rr3:g!3Ptps3FIupAP!mKf.og
+rrU+=XoA>,p0T53^V@:1!0R3Z$'>4>\A,eJ4@o2ErrVmiFb0SXs*t~>
+P5bR9Fo24?AAlXj%bUims8Ve'25/^V\MZ8)rr3;uA2U(6fr[,-j8Ao^\MX@_!!%`Hr;R)sFT@WO
+g!=d@U&=oqp5o=T-ibp#qYpf20E=38!.jkArrSlOm=G<&s*t~>
+P5bR9Fo24?AAlXj%bUims8Ve'25/^V\MZ8)rr3;uA2U(6fr[,-j8Ao^\MX@_!!%`Hr;R)sFT@WO
+g!=d@U&=oqp5o=T-ibp#qYpf20E=38!.jkArrSlOm=G<&s*t~>
+P5bR9Fo24?AAlXj%bUims8Ve'25/^V\MZ8)rr3;uA2U(6fr[,-j8Ao^\MX@_!!%`Hr;R)sFT@WO
+g!=d@U&=oqp5o=T-ibp#qYpf20E=38!.jkArrSlOm=G<&s*t~>
+OT,@7Fo24@250E]rrSkoj8T&_X\Sos23[b2rs#T$!!"mYpA+^jft#Grq#:B5AGuQ0L"Z;%"RXmQ
+g%P1?"5162mJHnbcN(M,s69Q6~>
+OT,@7Fo24@250E]rrSkoj8T&_X\Sos23[b2rs#T$!!"mYpA+^jft#Grq#:B5AGuQ0L"Z;%"RXmQ
+g%P1?"5162mJHnbcN(M,s69Q6~>
+OT,@7Fo24@250E]rrSkoj8T&_X\Sos23[b2rs#T$!!"mYpA+^jft#Grq#:B5AGuQ0L"Z;%"RXmQ
+g%P1?"5162mJHnbcN(M,s69Q6~>
+NrK.?PPY=]Fi="!rrQ_,p94Jtm59TKs60K5~>
+NrK.?PPY=]Fi="!rrQ_,p94Jtm59TKs60K5~>
+NrK.?PPY=]Fi="!rrQ_,p94Jtm59TKs60K5~>
+N;itHXYotU!L(j`rr^TLcgCW0!qnK^Yl=h!A7YCbs60K5~>
+N;itHXYotU!L(j`rr^TLcgCW0!qnK^Yl=h!A7YCbs60K5~>
+N;itHXYotU!L(j`rr^TLcgCW0!qnK^Yl=h!A7YCbs60K5~>
+M>mUpFo).@220!BhZ!T9rW!6^FeQb6s8V+:PHt2jp1-&JJcFp5J,~>
+M>mUpFo).@220!BhZ!T9rW!6^FeQb6s8V+:PHt2jp1-&JJcFp5J,~>
+M>mUpFo).@220!BhZ!T9rW!6^FeQb6s8V+:PHt2jp1-&JJcFp5J,~>
+L]7GCX\\cn!bAFdi;Wd7q#CP?Tq;=K[/U7%FZ&31s5s?3~>
+L]7GCX\\cn!bAFdi;Wd7q#CP?Tq;=K[/U7%FZ&31s5s?3~>
+L]7GCX\\cn!bAFdi;Wd7q#CP?Tq;=K[/U7%FZ&31s5s?3~>
+K`;,6ThkIa"*L`lmH+?JPOnhTA@DL?p1-&@JcFj3J,~>
+K`;,6ThkIa"*L`lmH+?JPOnhTA@DL?p1-&@JcFj3J,~>
+K`;,6ThkIa"*L`lmH+?JPOnhTA@DL?p1-&@JcFj3J,~>
+Jc>f3X^q2,">t>(`7aGU!6"O1"*"<pp::2*p1-&@JcFg2J,~>
+Jc>f3X^q2,">t>(`7aGU!6"O1"*"<pp::2*p1-&@JcFg2J,~>
+Jc>f3X^q2,">t>(`7aGU!6"O1"*"<pp::2*p1-&@JcFg2J,~>
+JcG`L"89Zs:\Fbl20F&DXi14l!:BU^!9=(3!3Gko"dAuH2.ZEmrr_:W2<08fj8XW~>
+JcG`L"89Zs:\Fbl20F&DXi14l!:BU^!9=(3!3Gko"dAuH2.ZEmrr_:W2<08fj8XW~>
+JcG`L"89Zs:\Fbl20F&DXi14l!:BU^!9=(3!3Gko"dAuH2.ZEmrr_:W2<08fj8XW~>
+JcGTH"7=%#FlNH%7/-`^\c2U2j((%#^&J2Q2.ZE3s5O'/~>
+JcGTH"7=%#FlNH%7/-`^\c2U2j((%#^&J2Q2.ZE3s5O'/~>
+JcGTH"7=%#FlNH%7/-`^\c2U2j((%#^&J2Q2.ZE3s5O'/~>
+JcGEC"QRG&F_'_:!)!%e!6"g8"87EKXhar=p6,K?JcF[.J,~>
+JcGEC"QRG&F_'_:!)!%e!6"g8"87EKXhar=p6,K?JcF[.J,~>
+JcGEC"QRG&F_'_:!)!%e!6"g8"87EKXhar=p6,K?JcF[.J,~>
+JcG3="mt!hXf[fdFT>tJ!<%$@Tr7bf!B&R+rr]ehAE1T-"5-I-c[l,Rs*t~>
+JcG3="mt!hXf[fdFT>tJ!<%$@Tr7bf!B&R+rr]ehAE1T-"5-I-c[l,Rs*t~>
+JcG3="mt!hXf[fdFT>tJ!<%$@Tr7bf!B&R+rr]ehAE1T-"5-I-c[l,Rs*t~>
+JcF@%qu?aTj7iQVj)k@(p;d19p6,K1m=G;os*t~>
+JcF@%qu?aTj7iQVj)k@(p;d19p6,K1m=G;os*t~>
+JcF@%qu?aTj7iQVj)k@(p;d19p6,K1m=G;os*t~>
+JcF@%!/:CP!G(6_rr]eh28mZ;"SSrT:X=Ulh#Dm~>
+JcF@%!/:CP!G(6_rr]eh28mZ;"SSrT:X=Ulh#Dm~>
+JcF@%!/:CP!G(6_rr]eh28mZ;"SSrT:X=Ulh#Dm~>
+JcF@%"M"L4AG5To"SSMh:W1NX"N4(nXnI>Gg])d~>
+JcF@%"M"L4AG5To"SSMh:W1NX"N4(nXnI>Gg])d~>
+JcF@%"M"L4AG5To"SSMh:W1NX"N4(nXnI>Gg])d~>
+JcF@%"60B(p@&"bm?7NG`:h[["no&U23[`bs4RF&~>
+JcF@%"60B(p@&"bm?7NG`:h[["no&U23[`bs4RF&~>
+JcF@%"60B(p@&"bm?7NG`:h[["no&U23[`bs4RF&~>
+JcF=$!3PSe"mqL223[(Prrq)>!&^nPJcF@%J,~>
+JcF=$!3PSe"mqL223[(Prrq)>!&^nPJcF@%J,~>
+JcF=$!3PSe"mqL223[(Prrq)>!&^nPJcF@%J,~>
+JcEF`#55T<!)L/ch>[Z=ThbZ!`.@s<s*t~>
+JcEF`#55T<!)L/ch>[Z=ThbZ!`.@s<s*t~>
+JcEF`#55T<!)L/ch>[Z=ThbZ!`.@s<s*t~>
+JcE=]#NMLR!)K<7p>u;ZmDP2a!)K`aJcF0uJ,~>
+JcE=]#NMLR!)K<7p>u;ZmDP2a!)K`aJcF0uJ,~>
+JcE=]#NMLR!)K<7p>u;ZmDP2a!)K`aJcF0uJ,~>
+JcE4Z$0/R=!!$Pn\_6]FrsA)GXbBON!/7uNJcF'rJ,~>
+JcE4Z$0/R=!!$Pn\_6]FrsA)GXbBON!/7uNJcF'rJ,~>
+JcE4Z$0/R=!!$Pn\_6]FrsA)GXbBON!/7uNJcF'rJ,~>
+JcE(V"50f1:]:=qA9F+1XTF3!AGuQ2A<XRWJcEpnJ,~>
+JcE(V"50f1:]:=qA9F+1XTF3!AGuQ2A<XRWJcEpnJ,~>
+JcE(V"50f1:]:=qA9F+1XTF3!AGuQ2A<XRWJcEpnJ,~>
+JcDnQ"QS1;XbHLl"I#sig#IY``rCP~>
+JcDnQ"QS1;XbHLl"I#sig#IY``rCP~>
+JcDnQ"QS1;XbHLl"I#sig#IY``rCP~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+JcC<$JcFX-J,~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
index 66929c8a7f0c9a58b0ade0614204d979cb6428d1..011ff952cac29a85ef357870216f175df9be62c7 100644 (file)
@@ -7,7 +7,7 @@ all:
        bibtex bu1
        bibtex bu2
        bibtex bu3
-       bibtex bu4
+#      bibtex bu4
        makeindex  ${BOOK}.idx
        pdflatex ${BOOK}
        pdflatex ${BOOK}
diff --git a/BookGPU/algorithm.sty b/BookGPU/algorithm.sty
new file mode 100644 (file)
index 0000000..843e3d5
--- /dev/null
@@ -0,0 +1,79 @@
+% ALGORITHM STYLE -- Released 8 April 1996
+%    for LaTeX-2e
+% Copyright -- 1994 Peter Williams
+% E-mail Peter.Williams@dsto.defence.gov.au
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{algorithm}
+\typeout{Document Style `algorithm' - floating environment}
+
+\RequirePackage{float}
+\RequirePackage{ifthen}
+\newcommand{\ALG@within}{nothing}
+\newboolean{ALG@within}
+\setboolean{ALG@within}{false}
+\newcommand{\ALG@floatstyle}{ruled}
+\newcommand{\ALG@name}{Algorithm}
+\newcommand{\listalgorithmname}{List of \ALG@name s}
+
+% Declare Options
+% first appearance
+\DeclareOption{plain}{
+  \renewcommand{\ALG@floatstyle}{plain}
+}
+\DeclareOption{ruled}{
+  \renewcommand{\ALG@floatstyle}{ruled}
+}
+\DeclareOption{boxed}{
+  \renewcommand{\ALG@floatstyle}{boxed}
+}
+% then numbering convention
+\DeclareOption{part}{
+  \renewcommand{\ALG@within}{part}
+  \setboolean{ALG@within}{true}
+}
+\DeclareOption{chapter}{
+  \renewcommand{\ALG@within}{chapter}
+  \setboolean{ALG@within}{true}
+}
+\DeclareOption{section}{
+  \renewcommand{\ALG@within}{section}
+  \setboolean{ALG@within}{true}
+}
+\DeclareOption{subsection}{
+  \renewcommand{\ALG@within}{subsection}
+  \setboolean{ALG@within}{true}
+}
+\DeclareOption{subsubsection}{
+  \renewcommand{\ALG@within}{subsubsection}
+  \setboolean{ALG@within}{true}
+}
+\DeclareOption{nothing}{
+  \renewcommand{\ALG@within}{nothing}
+  \setboolean{ALG@within}{true}
+}
+\DeclareOption*{\edef\ALG@name{\CurrentOption}}
+
+% ALGORITHM
+%
+\ProcessOptions
+\floatstyle{\ALG@floatstyle}
+\ifthenelse{\boolean{ALG@within}}{
+  \ifthenelse{\equal{\ALG@within}{part}}
+     {\newfloat{algorithm}{htbp}{loa}[part]}{}
+  \ifthenelse{\equal{\ALG@within}{chapter}}
+     {\newfloat{algorithm}{htbp}{loa}[chapter]}{}
+  \ifthenelse{\equal{\ALG@within}{section}}
+     {\newfloat{algorithm}{htbp}{loa}[section]}{}
+  \ifthenelse{\equal{\ALG@within}{subsection}}
+     {\newfloat{algorithm}{htbp}{loa}[subsection]}{}
+  \ifthenelse{\equal{\ALG@within}{subsubsection}}
+     {\newfloat{algorithm}{htbp}{loa}[subsubsection]}{}
+  \ifthenelse{\equal{\ALG@within}{nothing}}
+     {\newfloat{algorithm}{htbp}{loa}}{}
+}{
+  \newfloat{algorithm}{htbp}{loa}
+}
+\floatname{algorithm}{\ALG@name}
+
+\newcommand{\listofalgorithms}{\listof{algorithm}{\listalgorithmname}}
+
diff --git a/BookGPU/algorithm2e.sty b/BookGPU/algorithm2e.sty
new file mode 100644 (file)
index 0000000..8c5f4b7
--- /dev/null
@@ -0,0 +1,2637 @@
+%  algorithm2e.sty --- style file for algorithms
+%                      almost everything can be customized by users. See the document for more explanations
+%% Copyright 1996-2008 Christophe Fiorio
+%
+% This program may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.2 or later is part of all distributions of LaTeX 
+% version 1999/12/01 or later.
+%
+% This program consists of the files algorithm2e.sty and algorithm2e.tex and algorithm2e-compatibility.sty
+%  
+%  Report bugs and comments to:
+%  - algorithm2e-announce@lirmm.fr  mailing list for announcement about releases^^J%
+%  - algorithm2e-discussion@lirmm.fr mailing list for discussion about package^^J%
+%  subscribe by emailing sympa@lirmm.fr with 'subscribe <list> <firstname name>'^^J%
+%
+%  $Id: algorithm2e.sty,v 4.1 2009/12/15 08:54:08 cfiorio Exp $
+%
+%  PACKAGES REQUIRED:
+%
+%  - float   (in contrib/supported/float)
+%  - ifthen  (in base)
+%  - xspace  (in packages/tools)
+%  - relsize (in contrib/misc/relsize.sty)
+%
+%%%%%%%%%%%%%%%  Release 4.01
+%
+%   Package options: 
+%   ---------------
+%   - oldcommands                      : to use old command names
+%   - french, english, german, 
+%     portuguese, czech, italiano,
+%     slovak                           : for the name of the algorithm and some keyword code
+%   - onelanguage                      : to simply switch keyword from one language to another without changing
+%                                        keyword commands
+%   - boxed, boxruled, ruled, tworuled, 
+%     algoruled, plain                 : layout of the algorithm
+%   - algo2e                           : environment is algorithm2e instead of algorithms and \listofalgorithmes
+%                                        instead of \listofalgorithms
+%   - slide                            : to use when making slides
+%   - noline,lined,vlined              : how block are designed.
+%   - shortend, longend, noend         : short or long end keyword as endif for e.g.
+%   - linesnumbered                    : auto numbering of the algorithm's lines
+%   - linesnumberedhidden              : to hide autonumbered lines (show number on a line with \ShowLn
+%   - commentsnumbered, inoutnumbered  : to autonumber comments and inout keywords (by defaut not numbered)
+%   - rightnl                          : to have line number on the right instead of on the left as default
+%   - algonl                           : line numbers preceded by algo number
+%   - scright, scleft                  : right or left justified side comments
+%   - fillcomment, nofillcomment       : end mark of comment is flushed to the right so comments fill the line
+%   - dotocloa                         : add an entry in the toc for list of algorithms (require tocbibind package)
+%   - endfloat                         : add algoendfloat environment pushing algorithm so written to the end of document
+%   - resetcount, noresetcount         : start value of line numbers.
+%   - algopart,algochapter,algosection : algo numbering within part, chapter or section
+%   - titlenumbered,titlenotnumbered   : numbering of title set by \Titleofalgo
+%   - figure                           : algorithms are figures, numbered as figures, and put in the list of figures.
+%   - procnumbered                     : procedure or function are numbered as algorithm
+%   - nokwfunc                         : procedure or function name doens't become a command
+%   - norelsize                        : don't use relsize package (useful if it breaks the compatibily)
+%  
+%   defaults are; english,plain,resetcount,titlenotnumbered
+%
+%%%%%%%%%%%%%%
+%
+%   Short summary  
+%   -------------
+%  
+%   algorithm is an environment for writing algorithm in LaTeX2e.
+%   Almost all is customizable. You can add keywords, change style, change the layout, ...
+%   It provide macros that allow you to create differents sorts of key words, therefore a set of predefined key
+%   word is gived.
+%
+%   IT should be used as follows
+%
+%   \begin{algorithm}
+%       ...
+%       ...
+%   \end{algorithm}
+%
+%
+%   IMPORTANT : each line MUST end with \;
+%
+%   Note that if you define macros outside algorithm environment they
+%   are avaible in all the document and particulary you can use then
+%   inside all algorithms without re-define them.
+%  
+%   an example:
+%
+%   \begin{algorithm}
+%     \SetAlgoLined
+%     \KwIn{this text}
+%     \KwOut{how to write algorithm with \LaTeX2e }
+%     
+%     initialization\;
+%     \While{not at end of this document}{
+%       read current section\;
+%       \eIf{understand}{
+%         go to next section\;
+%         current section becomes this one\;
+%         }{
+%         go back to the beginning of current section\;
+%         }
+%       }
+%     \caption{How to write algorithm}
+%   \end{algorithm}
+%
+%
+%%%%%%%%%%%%%%         predefined keywords
+%
+%     \KwIn{input}
+%     \KwOut{output}
+%     \KwData{input}
+%     \KwResult{output}
+%     \KwTo                                       % a simple keyword
+%     \KwFrom                                     % a simple keyword
+%     \KwRet{[value]}
+%     \Return{[value]}
+%     \Begin{block inside}
+%     \eIf{condition}{Then Block}{Else block}     % in blocks
+%     \If{condition}{Then block}                  % in a block
+%     \uIf{condition}{Then block}                 % in a block unended
+%     \lIf{condition}{Else text}                  % on the same line
+%     \Else{inside Else}                          % in a block
+%     \lElse{Else text}                           % on the same line        
+%     \uElse{Else text}                           % in a block unended
+%     \ElseIf{inside Elseif}                      % in a block
+%     \lElseIf{Elseif text}                       % on the same line        
+%     \uElseIf{Elseif text}                       % in a block unended
+%     \Switch{Condition}{Switch block}
+%     \Case{a case}{case block}                   % in a block
+%     \lCase{a case}{case text}                   % on the same line
+%     \Other{otherwise block}                     % in a block
+%     \lOther{otherwise block}                    % on the same line
+%     \For{condition}{text loop}                  % in a block
+%     \lFor{condition}{text}                      % on the same line
+%     \ForEach{condition}{text loop}              % in a block
+%     \lForEach{condition}{text}                  % on the same line
+%     \ForPar{condition}{text loop}               % in a block
+%     \lForPar{condition}{text}                   % on the same line
+%     \While{condition}{text loop}                % in a block
+%     \lWhile{condition}{text loop}               % on the same line
+%     \Repeat{End condition}{text loop}           % in a block
+%     \lRepeat{condition}{text}                   % on the same line
+%
+%%%%%%%%%%%%%%
+%
+%   History: 
+%
+%   - december 14 2009 - revision 4.01
+%                     * ADD : new command \SetKwHangingKw{Name}{text} (hanging indent with keyword): This creates a
+%                             hanging indent much like \texttt{SetKwInput}, except that it removes the trailing `:'
+%                             and does not reset numbering.
+%
+%   - november 17 2009  - revision 4.00 -
+%
+%                      * CHANGE : IMPORTANT : some commands have been renamed to have consistent naming (CamlCase
+%                                 syntax) and old commands are no more available. If you doesn't want to change
+%                                 your mind or use old latex files, you can use oldcommands option to enable old
+%                                 commands back.
+%                                 text. Here are these commands:
+%                                 - \SetNoLine becomes \SetAlgoNoLine
+%                                 - \SetVline  becomes \SetAlgoVlined
+%                                 - \Setvlineskip  becomes \SetVlineSkip
+%                                 - \SetLine   becomes \SetAlgoLined
+%                                 - \dontprintsemicolon becomes \DontPrintSemicolon
+%                                 - \printsemicolon becomes \PrintSemicolon
+%                                 - \incmargin becomes \IncMargin
+%                                 - \decmargin becomes \DecMargin
+%                                 - \setnlskip becomes \SetNlSkip
+%                                 - \Setnlskip becomes \SetNlSkip
+%                                 - \setalcapskip becomes \SetAlCapSkip
+%                                 - \setalcaphskip becomes \SetAlCapHSkip
+%                                 - \nlSty becomes \NlSty
+%                                 - \Setnlsty becomes \SetNlSty
+%                                 - \linesnumbered becomes \LinesNumbered
+%                                 - \linesnotnumbered becomes \LinesNotNumbered
+%                                 - \linesnumberedhidden becomes \LinesNumberedHidden
+%                                 - \showln becomes \ShowLn
+%                                 - \showlnlabel becomes \ShowLnLabel
+%                                 - \nocaptionofalgo becomes \NoCaptionOfAlgo
+%                                 - \restorecaptionofalgo becomes \RestoreCaptionOfAlgo
+%                                 - \restylealgo becomes \RestyleAlgo
+%                                 - gIf macros and so on do no more exist
+%                      * NEW: - Compatibily with other packages improven by changing name of internal
+%                               macros. Algorithm2e can now be used with arabtex for example, if this last is
+%                               loaded after algorithm2e package.
+%                      * ADD: - OPTION endfloat: endfloat packages doesn't allow float environment inside other
+%                               environment. So using it with figure option of algorithm2e makes error. This
+%                               option enables a new environment algoendfloat to be used instead of algorithm
+%                               environment that put algorithm at the end. algoendfloat environment make
+%                               algorithm acting as endfloat figures. This option requires endfloat packages.
+%                      * ADD: - OPTION norelsize: starting from this release (v4.00), algorithm2e package uses
+%                               relsize package in order to get relative size for lines numbers; but it seems
+%                               that some rare classes (such as inform1.cls) are not compatible with relsize; to
+%                               have algorithm2e working, this option makes algorithm2e not to load relsize
+%                               package and go back to previous definition by using \scriptsize font for lines
+%                               numbers.
+%                      * ADD: - OPTION onelanguage: allow, if using standard keywords listed below, to switch
+%                               from one language to another without changing keywords by using appropriate
+%                               language option :
+%                               . KwIn, KwOut, KwData, KwResult
+%                               . KwTo KwFrom
+%                               . KwRet, Return
+%                               . Begin
+%                               . Repeat
+%                               . If, ElseIf, Else
+%                               . Switch, Case, Other
+%                               . For, ForPar, ForEach, ForAll, While
+%                               .
+%                      * ADD: - OPTION rightnl: put lines numbers to the right of the algorithm instead of left.
+%                      * ADD:   new commands \setRightLinesNumbers and \setLeftLinesNumbers which sets the lines
+%                               numbers to the right or to the left of the algorithm.
+%                      * ADD: - new kind of keywords : KwArray used to define arrays:
+%                               \SetKwArray{Kw}{array} defines an array keywords Kw called array and printed in
+%                               DataSty style when call with \Kw. It can be used with one argument which
+%                               denotes the element index: \Kw{n} prints array[n] with array in DataSty and n in
+%                               ArgSty.
+%                      * ADD/FIX: rules of ruled, algoruled, tworuled styles used rules of different sizes! This
+%                                 is now fixed. Moreover size of the rules is now controlled by a length and so
+%                                 can be customized by the user.
+%                                 \algoheightrule is the height of the rules and can be changed via \setlength
+%                                 \algoheightruledefault is the default height of he rules (0.8pt)
+%                                 \algotitleheightrule is the height of the rule that comes just after the
+%                                 caption in ruled and algoruled style; it can be changed via \setlength
+%                                 \algotitleheightruledefault is the default height of this rules (0.8pt)
+%                                 Thanks to Philippe Dumas who reports the bug and make the suggestion.
+%                      * ADD: - \SetAlgoCaptionSeparator which sets the separator between Algorithm 1 and the
+%                               title. By default it's ':' and caption looks like "Algorithm 2: title" but now
+%                               you can change it by using for example \SetAlgoCaptionSeparator{.} which will
+%                               give "Algorithm 3. title"
+%                      * ADD: - \SetAlgoLongEnd and \SetAlgoShortEnd and \SetAlgoNoEnd commands which act as
+%                               corresponding package options
+%                      * ADD: - OPTIONS italiano and slovak as new language (thanks to Roberto Posenato and
+%                               Miroslav Binas) 
+%                      * CHANGE: - Fnt and Sty macro to have consistent use and naming (see below)
+%                      * ADD: - \AlCapSty, \AlCapNameSty, \AlCapFnt, \AlCapNameFnt, \ProcSty, \ProcFnt,
+%                               \ProcNameSty, \ProcNameFnt, \ProcArgSty, ProcArgFnt and corresponding "set macro" 
+%                               \SetAlCapSty, \SetAlCapNameSty, \SetAlCapFnt, \SetAlCapNameFnt, \SetProcSty,
+%                               \SetProcFnt, \SetProcNameSty, \SetProcNameFnt, \SetProcArgSty, \SetProcArgFnt which
+%                               control the way caption is printed. Sty macro use command taking one parameter as
+%                               argument, Fnt macros use directly command. In Fact caption is printed as follow :
+%                               \AlCapSty{\AlCapFnt Algorithm 1:}\AlCapNameSty{\AlCapNameFnt my algorithm}
+%                               By default, \AlCapSty is textbf and \AlCapFnt is nothing. \AlCapNameSty keep text 
+%                               as it is, and \AlCapNameFnt do nothing also.
+%                               You can redefine \AlCapFnt and \AlCapNameFnt by giving macro to \Set commands. For
+%                               example, you can do \SetAlCapFnt{\large} to see Algorithm printed in \large font.
+%                               You can redefine \AlCapSty, \AlCapFnt, \AlCapNameSty and \AlCapNameFnt with the
+%                               corresponding \Set command. For the Sty commands, you have to give in parameter
+%                               name of a macro (whithout \)  which takes one argument. For example,
+%                               \SetAlCapFnt{textbf} defines the default behaviour. If you want to do more
+%                               complicated thing, you should define your own macro and give it to \SetAlCapFnt or
+%                               \SetAlCapNameFnt. Here are two examples:
+%                               - \newcommand{\mycapsty}[1]{\tiny #1}\SetAlCapNameSty{mycapsty}
+%                               - \newcommand{\mycapsty}[1]{\textsl{\small #1}}\SetAlCapNameSty{mycapsty}
+%                               Or you can combine the two, for the last example you can also do:
+%                               \SetAlCapNameSty{textsl}\SetAlCapNameFnt{\small}
+%                               Thanks to Jan Stilhammer who gives me the idea of \AlCapNameFnt.
+%                      * CHANGE \AlTitleFnt to match definition of all other Fnt macros and add a \AlTitleSty 
+%                               macro (see below) . Now you set \AlTitleFnt by calling \SetAlTitleFnt with 
+%                               directly a macro without parameter in argument:
+%                               Example: \SetAlTitleFnt{\small} to set title in small font.
+%                      * ADD: - \AlTitleSty and \SetAlTitleSty commands to set a style for title. These commands
+%                               are defined from a macro taking the text in argument, as \textbf for example. 
+%                               To set the TitleSty you have to give name of the macro (without the '\') 
+%                               to \SetAlTitleSty. For example \SetAlTitleSty{textbf} to set \textbf style.
+%                      * ADD: - new command \SetAlgorithmName{algorithmname}{list of algorithms name} which
+%                               redefines name of the algorithms and the sentence list of algorithms. Second
+%                               argument is the name that \autoref, from hyperref package, will use. Example:
+%                               \SetAlgorithmName{Protocol}{List of protocols} if you prefer protocol than
+%                               algorithm.
+%                      * ADD: - new \SetAlgoRefName{QXY} which change the default ref (number of the algorithm) by
+%                               the name given in parameter (QXY in the example). 
+%                      * ADD: - new command \SetAlgoRefRelativeSize{-2} which sets the output size of refs, defined
+%                               by \SetAlgoRefName, used in list of algorithms.
+%                      * ADD: - two dimensions to control the layout of caption in ruled, algoruled and boxruled
+%                               algorithms:
+%                               - interspacetitleruled (2pt by defaut) which controls the vertical space between
+%                                 rules and title in ruled and algoruled algorithms.
+%                               - interspaceboxruled (2\lineskip by default) which controls the vertical space
+%                                 between rules and title in boxruled algorithms.
+%                               These two dimensions can be changed by using \setlength command.
+%                      * ADD: - With the fix (see below) of procedure and function environments, a new feature has
+%                               been added: the name of the procedure or function set in caption is automatically
+%                               defined as a KwFunction and so can be used as a macro. For example, if inside a
+%                               procedure environment you set \caption{myproc()}, you can use \myproc macro in you
+%                               main text. Beware that the macro is only defined after the \caption!
+%                      * ADD: - OPTION nokwfunc to unable the new feature described above in function and
+%                               procedure environment. Useful if you use name of procedure or function that cannot
+%                               be a command name as a math display for example.
+%                      * ADD: - \SetAlgoNlRelativeSize{number} command which sets the relative size of line
+%                               numbers. By default, line numbers are two size smaller than algorithm text. Use
+%                               this macro to change this behavior. For example, \SetAlgoNlRelativeSize{0} sets it
+%                               to the same size, \SetAlgoNlRelativeSize{-1} to one size smaller and
+%                               \SetAlgoNlRelativeSize{1} to one size bigger
+%                      * ADD: - \SetAlgoProcName{aname} command which sets the name of Procedure printed by
+%                               procedure environment (the environment prints Procedure by default). Second
+%                               argument is the name that \autoref, from hyperref package, will use.
+%                      * ADD: - \SetAlgoFuncName{aname} command which sets the name of Function printed by
+%                               procedure environment (the environment prints Function by default). Second
+%                               argument is the name that \autoref, from hyperref package, will use. 
+%                      * ADD: - \SetAlgoCaptionLayout{style} command which sets style of the caption; style must
+%                               be the name of a macro taking one argument (the text of the caption). Examples
+%                               below show how to use it:
+%                               . \SetAlgoCaptionLayout{centerline} to have centered caption
+%                               . \SetAlgoCaptionLayout{textbf} to have bold caption
+%                               If you want to apply two styles in the same time, such as centered bold, you have
+%                               to define you own macro and then use \SetAlgoCaptionLayout with its name.
+%                      * ADD: - OPTION procnumbered: which makes the procedure and function to be numbered as
+%                               algorithm
+%                      * ADD: - OPTIONS tworuled and boxruled
+%                               these are two new layouts: tworuled acts like ruled but doesn't put a line after
+%                               caption ; boxruled surround algorithm by a box, puts caption above and add a line
+%                               after caption.
+%                      * REMOVE: - SetKwInParam has been deleted since not useful itself because of different
+%                                macros which can do the same in a better and a more consistent way as
+%                                SetKwFunction or SetKw.
+%                      * FIX: - line number is now correctly vertically aligned with math display.
+%                      * FIX: - references with hyperref. No more same identifier or missing name error. BUT now
+%                               you must NOT use naturalnames option of hyperref packages if you do PdfLaTeX
+%                      * FIX: - autoref with hyperref package (thanks to Jörg Sommer who notices the problem).
+%                      * FIX: - titlenumbered was not working! fixed.
+%                      * FIX: - Else(){} acted like uElse. Corrected.
+%                      * FIX: - noend management: when a block was inside another and end of block was following
+%                               each other, a blank line was added: it's now corrected.
+%                      * FIX: - Function and Procedure environment was no more working as defined originally: the
+%                               label was no more name of the procedure, it acts always as if procumbered option
+%                               has been used.
+%                      * FIX: - line numbers had a fixed size which can be bigger than algorithm text accordingly
+%                               to \AlFnt set (see also new command \SetAlgoNlRelativeSize above)
+%                      * FIX: - semicolon in comments when dontprintsemicolon is used.
+%                      * FIX: - listofalgorithms adds a vertical space before first algo of a chapter as for
+%                               listoffigures or listoftables
+%                      * FIX: - listofalgorithms with twocolumns mode and some classes which don't allow onecolumn
+%                               and so don't define \if@restonecol as prescribed in LaTeX (sig-alternate for
+%                               example)
+%                      * FIX: - algorithm2e now works with elsart cls and some more classes.
+%                      * FIX: - blocks defined by SetKwBlock act now as other blocks (if for instance) and don't
+%                               write end in vlined mode, instead they print a small horizontal line as required
+%                               by the option.
+%                      * FIX: - underfull hbox warning at each end of algorithm environment removed.
+%
+%                      * INTERNAL CHANGE: - short end keyword are deduce from long end keyword by keeping the
+%                                           first one. Allows to avoid double definition.
+%                      * INTERNAL CHANGE: - procedure, function and algorithm are now resolved by the same
+%                               environment to avoid code duplication. 
+%
+%   - October  04 2005  - revision 3.9 -
+%                      * ADD: - \setalcaphskip command which sets the horizontal skip before Algorithm: in caption
+%                               when used in ruled algorithm.
+%                      * ADD: - \SetAlgoInsideSkip command which allows to add an extra vertical space before and
+%                               after the core of the algorithm (ie: \SetAlgoInsideSkip{bigskip}) 
+%                      * CHANGE: - caption, when used with figure option, is no more controlled by algorithm2e
+%                                  package and so follows the exact behaviour of figures. The drawback is that you
+%                                  cannot change the typo with AlTitleFnt or CapFnt. The avantage is that if you
+%                                  use caption package, it works.
+%                      * FIX: - problem with numbering line and pdflatex
+%                      * FIX: - error when algorithm2e package was used with beamer and listings together
+%   - February 12 2005  - revision 3.8 -
+%                      * FIX: - extra line with noend option.
+%   - February 10 2005  - revision 3.7 -
+%                      * ADD: - sidecomment: different macros allowing to put text right after code on the same
+%                               line. They are defined in the same time comment macros are defined with a star
+%                               after the macro name. By default comments are right justified but this can be
+%                               change with appropriate option in the macro. Ex:
+%                               . default: \tcc*{side comment}
+%                               . same as previous: \tcc*[r]{side comment}
+%                               . left justify: \tcc*[l]{side comment}
+%                               . here: \tcc*[h]{side comment} don't put the end of line mark before
+%                                       comment (; by default) and don't end the line.
+%                               . flushed: \tcc*[f]{side comment} same as the precedent but right
+%                                 justified
+%                      * ADD: - OPTION scright (default): right justified side comments (side comments
+%                               are flushed to the righr)
+%                      * ADD: - OPTION scleft: left justified side comments (side comments are put right after the
+%                               code line)
+%                      * ADD: - \SetSideCommentLeft acts as scleft option
+%                      * ADD: - \SetSideCommentRight acts as scright option
+%                      * ADD: - block like macro side text: all macro defining a block allows now to put text right
+%                               after key words by putting text into (). Done to be used with sidecomment macros,
+%                               but all text can be used. 
+%                               Ex: \eIf(\tcc*[f]{then comment}){test}{then text}(else side text){else text}
+%                      * ADD: - OPTION fillcomment (default): end mark of comment is flushed to the right so
+%                               comments fill all the width of text.
+%                      * ADD: - OPTION nofillcomment: end mark of comment is put right after the comment.
+%                      * ADD: - \SetNoFillComment acts as nofillcomment option.
+%                      * ADD: - \SetFillComment acts as fillcomment option.
+%                      * ADD: - OPTION dotocloa: which adds an entry in the toc for the list of algorithms. This
+%                               option load package tocbibind if not already done and so list of figures and list
+%                               of tables are also added in the toc. If you want to control which ones of the lists
+%                               will be added in the toc, please load package tocbibind before package algorithm
+%                               and give it the options you want.
+%                      * FIX: - vertical spacing for uif macro with noend option
+%                      * FIX: - all the compatibility problems between caption and other packages
+%                      * FIX: - typographical differences between list of algorithms and other lists  when in
+%                               report or book 
+%
+%   - January 24 2005  - revision 3.6 -
+%                      * FIX: - vertical spacing and space characters at the beginning or end of comments.
+%                               line numbers of comments not in the NlSty.
+%                               Thanks to Arnaud Giersch for his comments and suggestions.
+%                      * FIX: - Set*Sty macro: the styles defined was not protected and was modified by surrounding
+%                               context. For example KwTo in a \For{}{} was in bold AND italic instead of just in
+%                               bold.
+%                      * FIX: - line number misplacement after \Indp
+%
+%   - January 21 2005  - revision 3.5 -
+%                      * ADD: - hidden numbering of the lines. Lines are auto-numbered but numbers are shown only
+%                               on lines you specify:
+%                               * linesnumberedhidden option or \LinesNumberedHidden macro activate this
+%                                 functionnality.
+%                               * \ShowLn and \ShowLnLabel{lab} macros make the number visible on the
+%                               line. \ShowLnLabel{lab} allows to set a label for this line. 
+%                               Thanks to Samson de Jager who makes this suggestion and provides the macros.
+%                      * ADD: - \AlCapFnt and \SetAlCapFnt which allow to have a different font for
+%                               caption. Works like \AlFnt and \SetAlFnt and by default is the same.
+%                      * ADD: - \AlCapSkip skip length. This vertical space is added before caption in plain ou
+%                               boxed mode. It allows to change distance between text and caption.
+%                      * FIX: - caption compatible with IEEEtran class. 
+%                      * FIX: - some vertical spacing error with \uIf macros (Thanks to Arnaud Giersch)
+%                      * FIX: - Procedure and Function: lines are also numbered like algorithms
+%                      * FIX: - CommentSty was not used for Comments
+%
+%   - January 10 2005  - revision 3.4 -
+%                      * FIX: - caption compatible with new release of Beamer class. 
+%
+%   - June 16 2004     - revision 3.3 - 
+%                      * FIX: - Hyperlink references of Hyperref package works now if compiled with pdflatex 
+%                               and [naturalnames] option of hyperref package is used.
+%                      * FIX: - algorithm[H] had problem in an list environment - corrected
+%                      * FIX: - interline was not so regular in nested blocks - corrected
+%                      * ADD  - \SetVlineSkip macro which sets the vertical skip after the little horizontal 
+%                               rule which closes a block in Vlined mode. By default 0.8ex
+%
+%   - June 11 2004     - revision 3.2 - AUTO NUMBERING LINES !!!
+%                      * ADD: auto numbering of the lines (the so asked and so long awaiting feature)
+%                             this feature is managed by 3 options and 3 commands:
+%                             - linesnumbered option: lines of the algo are numbered except for comments and
+%                               input/output (KwInput and KwInOut)
+%                             - commentsnumbered option: makes comments be numbered
+%                             - inoutnumbered option: makes data input/output be numbered
+%                             - \nllabel{lab} labels the line so you can cite with \ref{lab}
+%                             - \LinesNumbered make the following algorithms having auto-numbered lines
+%                             - \linesnotnumbered make the following algorithms having no auto-numbered lines
+%                      * Change: algo2e option renames listofalgorithms in listofalgorithmes
+%                      * FIX: new solution for compatibility with color package, more robust and not tricky.
+%                             Many thanks to David Carlisle for his advices
+%
+%   - June 09 2004     - revision 3.1 -
+%                      * Change: \SetKwSwitch command defines an additionnal macro \uCase and \Case prints end
+%                      * Change: now macros SetKw* do a renewcommand if the keyword is already defined. So you can
+%                                redefine default definition at your own convenience or change your definition
+%                                without introducing a new macro and changing your text.
+%                      * ADD: new macro \SetKwIF which do \SetKwIf and
+%                             \SetKwIfElseIf.The following default definition has been added:
+%                             \SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{endif}
+%                             and so you get the macros;
+%                             \If \eIf \lIf \uIf \ElseIf \uElseIf \lElseIf \Else \uElse \lElse
+%                      * ADD: new macro \SetAlgoSkip which allow to fix the vertical skip before and after the
+%                             algorithms. Default is smallskip, do \SetAlgoSkip{} if you don't want an extra space
+%                             or \SetAlgoSkip{medskip} or \SetAlgoSkip{bigskip} if you want bigger space.
+%                      * ADD: macro \SetKwIf defines in addition a new macro \uElse  (depending on wat name you
+%                             have given in #2 arg).
+%                      * ADD: macro \SetKwIfElseIf defines in addition a new macro \uElse and \ugElseIf (depending
+%                             on what name you have given in #2 and #3 arg).
+%                      * Change: baseline of algorithm is now top, so two algorithms can be put side by side.
+%                      * FIX: Compatibility with color package solved. The problem was due to a redefinition of
+%                             standard macros by color package. This solves compatibility problem with other
+%                             packages as pstcol or colortbl. (notified by Dirk Fressmann, Antti Tarvainen and Koby
+%                             Crammer)
+%                      * Fix: extra little shift to the right with boxed style algorithm removed (notified by
+%                             P. Tanovski)
+%                      * Fix: algoln option was buggy (notified bye Jiaying Shen)
+%                      * Fix: german and portuges option didn't work due to bad typo (notified by Martin Sievers,
+%                             Thorsten Vitt and Jeronimo Pellegrini)
+%                      
+%   - February 13 2004 - revision 3.0 -
+%                      * Major revision which makes the package independent from float.sty, so now
+%                        - algorithm* works better, in particular can be used in multicols environments
+%                        - (known bug corrected)
+%                          [H] works now for all sort of environment but is handled differently for classic
+%                          environment and star environment (algorithm, figure, procedure and function). For star
+%                          environment, H acts like for classical figure environment, so it doesn't stay here
+%                          absolutely.
+%                        - (known bug corrected)
+%                          you can use now floatflt package with algorithm package and even with figure
+%                          option. Beware that if you want to put an algorithm inside a floatingfigure, it cannot
+%                          be floating, so [H] is required and then figure option should not be used, since
+%                          standard figure[H] are still floating with LaTeX.
+%                      * boxruled: a new style added. Possible now since no style no more defined by the float
+%                        package.
+%                      * nocaptionofalgo: dosen't print Algorithm #: in the caption for algorithm in ruled or
+%                        algoruled style.
+%                        note: this is just documentation of a macro which was already in the package.
+%   - December 14 2003 - revision 2.52 -
+%                      * output message shorter
+%                      * french keyword macro \PourTous was missing for longend option, it has been added.
+%                      * TitleofAlgo prints Function or Procedure in corresponding environments.
+%
+%   - October 27 2003  - revision 2.51 - Revision submitted to CTAN archive
+%                      * correction of a minor which make caption in procedure
+%                        and function to be blanck with pdfscreen package
+%                        (thanks to Joel Gossens for the notification)
+%                      * add two internal definition to avoid some errors when
+%                        used with Hyperref package (Hyperref package need to
+%                        define new counter macro from existing ones, and
+%                        don't do it for algorithm2e package, so we do it)
+%
+%   - October 17 2003  - revision 2.50 - first revision for CTAN archive
+%                      * add \AlFnt and \SetAlFnt{font} macros: \AlFnt is used at the beginning of the caption and
+%                        the body of algorithm in order to define the fonts used for typesetting algorithms. You
+%                        can use it elsewhere you want to typeset text as algorithm. For example you can do
+%                        \SetAlFnt{\small\sf} to have algorithms typeset in small sf font. Default is nothing so
+%                        algorithm is typeset as the text of the document.
+%                      * add \AlTitleFnt{text} and \SetAlTitleFnt{font} macros: The {Algorithm: } in the caption is
+%                        typeset with \AlTitleFnt{Algorithm:}. You can use it to have text typeset as {Algorithm:}
+%                        of captions. Default is textbf.  Default can be redefined by \SetAlTitleFnt{font}, for
+%                        example you can do \SetAlTitleFnt{emph}
+%                      * add CommentSty typo for text comment.  
+%                      * add some compatibility with hyperref package (still an error on multiply defined refs but
+%                        pdf correctly generated)
+%                      * flush text to left in order to have correct indentation even with class as amsart which
+%                        center all figures
+%                      * add german, portugues and czech options for title of algorithms and typo.
+%                      * add portuguese translation of predefined keywords * add czech translation of some
+%                        predefined keywords
+%
+%   - December 23 2002 - revision 2.40
+%                      * add some french keyword missing
+%                      * add function* and procedure* environment like algorithme* environment: print in one column
+%                        even if twocolumn option is specified for the document.
+%                      * add a new macro \SetKwComment to define macro which writes comments in the text. First
+%                        argument is the name of the macro, second is the text put before the comment, third is the
+%                        text put at the end of the comment.Default are \tcc and \tcp
+%                      * add new options to change the way algo are numbered:
+%                        [algopart] algo are numbered within part (counter must exist)
+%                        [algochapter] algo are numbered within chapter
+%                        [algosection] algo are numbered within section
+%
+%   - March 27 2002   - revision 2.39
+%                      * Gilles Geeraerts: added the \SetKwIfElseIf to manage
+%                        if (c)
+%                             i;
+%                        else if (c)
+%                             i;
+%                        ...
+%                        else
+%                             i;
+%                        end
+%                      * Also added \gIf \gElseIf \gElse.
+%
+%   - January 02 2001 - revision 2.38
+%                      * bugs related to the caption in procedure and function
+%                        environment are corrected.
+%                      * bug related to option noend (extra vertical space added
+%                        after block command as If or For) is corrected.
+%                      * czech option language added (thanks to Libor Bus: l.bus@sh.cvut.cz).
+%  
+%   - October 16 2000 - revision 2.37
+%                      * option algo2e added: change the name of environment
+%                        algorithm into algorithm2e. So allow to use the package
+%                        with some journal style which already define an algorithm
+%                        environment.
+%  
+%   - September 13 2000 - revision 2.36
+%                      * option slide added: require package color
+%                      * Hack for slide class in order to have correct
+%                        margins
+%  
+%   - November 25 1999 - revision 2.35
+%                      * revision number match RCS number
+%                      * Thanks to David A. Bader, a new option is added:
+%                        noend: no end keywords are printed.
+%  
+%   - November 19 1999 - revision 2.32
+%                      * minor bug on longend option corrected.
+%  
+%   - August 26 1999 - revision 2.31
+%                      * add an option : figure
+%                        this option makes algorithms be figure and so are numbered
+%                        as figures, have Figure as caption and are put in 
+%                        the \listoffigures
+%  
+%   - January 21 1999 - revision 2.3 beta
+%                    add 2 new environments: procedure and function.
+%                    These environments works like algorithm environment but:
+%                    - the ruled (or algoruled) style is imperative.
+%                    - the caption now writes Procedure name....
+%                    - the syntax of the \caption command is restricted as
+%                      follow: you MUST put a name followed by 2 braces like
+%                      this ``()''. You can put arguments inside the braces and
+%                      text after. If no argument is given, the braces will be
+%                      removed in the title. 
+%                    - label now puts the name (the text before the braces in the
+%                      caption) of the procedure or function as reference (not
+%                      the number like a classic algorithm environment).
+%                    There are also two new styles : ProcNameSty and
+%                    ProcArgSty. These style are by default the same as FuncSty
+%                    and ArgSty but are used in the caption of a procedure or a
+%                    function.
+%                    
+%   - November 28 1996 - revision 2.22
+%                    add a new macro \SetKwInParam{arg1}{arg2}{arg3}:
+%                    it defines a macro \arg1{name}{arg} which prints name in keyword
+%                    style followed byt arg surrounded by arg2 and arg3. The main
+%                    application is to a function working as \SetKwInput to be used
+%                    in the head of the algorithm. For example
+%                    \SetKwInParam{Func}{(}{)} allows
+%                    \Func{functionname}{list of arguments} which prints:
+%                    \KwSty{functioname(}list of arguments\KwSty{)}
+%       
+%
+%   - November 27 1996 - revision 2.21 :
+%                    minor bug in length of InOut boxes fixed.
+%                    add algorithm* environment.
+%
+%   - July 12 1996 - revision 2.2 : \SetArg and \SetKwArg macros removed.
+%                        
+%                    \SetArg has been removed since it never has been
+%                    documented.
+%                    \SetKwArg has been removed since \SetKw can now
+%                    take an argument in order to be consistent with
+%                    \SetKwData and \SetKwFunction macros.
+%
+%   - July 04 1996 - revision 2.1 : still more LaTeX2e! Minor compatibility break
+%
+%                    Macros use now \newcommand instead of \def, use of \setlength, 
+%                    \newsavebox, ... and other LaTeX2e specific stuff.
+%                    The compatibility break:
+%                    - \SetData becomes \SetKwData to be more consistent. So the old 
+%                      \SetKwData becomes \SetKwInput
+%                    - old macros \titleofalgo, \Freetitleofalgo and \freetitleofalgo
+%                      from LaTeX209 version which did print a warning message and call 
+%                      \Titleofalgo in version 2.0 are now removed!
+%
+%   - March 13 1996 - revision 2.0: first official major revision.
+%   
+%
+%%%%%%%%%%%%%%
+%
+%   Known bugs: 
+%   -----------
+%   - no more known bugs... all are corrected!
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% for more complete informations you can see algorithm2e.tex
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%% Identification Part %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+%
+\ProvidesPackage{algorithm2e}[2008/00/00 v3.10 algorithms environments]
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%% Initial Code %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\@makeother\*% some package redefined it as a letter (as color.sty)
+\def\@firstword#1 #2\@nil{#1}% an useful fonction
+%
+% definition of commands which can be redefined in options of the package.
+%
+\newcounter{AlgoLine}%
+\setcounter{AlgoLine}{0}%
+%
+\newcommand{\algocf@algocfref}{\relax}%
+\newcommand{\listalgorithmcfname}{}%
+\newcommand{\algorithmcfname}{}%
+\@ifundefined{algorithmautorefname}{\newcommand{\algorithmautorefname}{algorithm}}{\renewcommand{\algorithmautorefname}{algorithm}}%
+\newcommand{\algorithmcflinename}{}%
+\newcommand{\algocf@typo}{}%
+\newcommand{\@algocf@procname}{}\newcommand{\procedureautorefname}{}%
+\newcommand{\SetAlgoProcName}[2]{\renewcommand{\@algocf@procname}{#1}\renewcommand{\procedureautorefname}{#2}}%
+\newcommand{\@algocf@funcname}{}\newcommand{\functionautorefname}{}%
+\newcommand{\SetAlgoFuncName}[2]{\renewcommand{\@algocf@funcname}{#1}\renewcommand{\functionautorefname}{#2}}%
+\newcommand{\@algocf@titleofalgoname}{\algorithmcfname}%
+\newcommand{\@algocf@algotitleofalgo}{%
+  \renewcommand{\@algocf@titleofalgoname}{\algorithmcfname}}%
+\newcommand{\@algocf@proctitleofalgo}{%
+  \renewcommand{\@algocf@titleofalgoname}{\algocf@procname}}%
+%
+\newcommand{\algocf@style}{plain}%
+\newcommand{\@ResetCounterIfNeeded}{}%
+\newcommand{\@titleprefix}{}%
+%
+\newcommand{\algocf@numbering}[1]{\newcommand{\algocf@within}{#1}}%
+%
+\newcommand{\defaultsmacros@algo}{\algocf@defaults@shortend}%
+%
+\newcommand{\algocf@list}{loa}%
+\newcommand{\algocf@float}{algocf}%
+%
+\newcommand{\algocf@envname}{algorithm}%
+\newcommand{\algocf@listofalgorithms}{listofalgorithms}%
+%
+%
+%% redefine chapter so that it adds a vspace in the loa as the original does for lof and lot
+\let\algocf@original@chapter=\chapter%
+\def\chapter{\expandafter\addtocontents{loa}{\protect\addvspace{10\p@}}\algocf@original@chapter}%
+%
+%% if@restonecol is defined in article and book but some other classes don't define it and we need it, so we do
+\ifx\if@restonecol\relax\else\newif\if@restonecol\fi%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%% Declaration of Options %%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\RequirePackage{ifthen}%
+%
+\newboolean{algocf@nokwfunc}\setboolean{algocf@nokwfunc}{false}%
+\DeclareOption{nokwfunc}{%
+  \setboolean{algocf@nokwfunc}{true}%
+}%
+%
+\newboolean{algocf@oldcommands}\setboolean{algocf@oldcommands}{false}%
+\DeclareOption{oldcommands}{%
+  \setboolean{algocf@oldcommands}{true}%
+}%
+%
+\newboolean{algocf@leftlinenumber}\setboolean{algocf@leftlinenumber}{true}%
+\newcommand{\setLeftLinesNumbers}{\setboolean{algocf@leftlinenumber}{true}}%
+\newcommand{\setRightLinesNumbers}{\setboolean{algocf@leftlinenumber}{false}}%
+\DeclareOption{rightnl}{%
+  \setRightLinesNumbers%
+}%
+%
+\newboolean{algocf@endfloat}\setboolean{algocf@endfloat}{false}%
+\DeclareOption{endfloat}{%
+  \setboolean{algocf@endfloat}{true}%
+  \newcounter{postalgo}\setcounter{postalgo}{0}%
+}%
+%
+\newboolean{algocf@procnumbered}\setboolean{algocf@procnumbered}{false}%
+\DeclareOption{procnumbered}{%
+  \setboolean{algocf@procnumbered}{true}%
+}%
+%
+\DeclareOption{algo2e}{%
+  \renewcommand{\algocf@envname}{algorithm2e}%
+  \renewcommand{\algocf@listofalgorithms}{listofalgorithmes}%
+}%
+%
+\newboolean{algocf@slide}\setboolean{algocf@slide}{false}%
+\DeclareOption{slide}{%
+  \setboolean{algocf@slide}{true}%
+}%
+%
+\DeclareOption{figure}{%
+\renewcommand{\algocf@list}{lof}%
+\renewcommand{\algocf@float}{figure}%
+}%
+%
+\newboolean{algocf@optonelanguage}\setboolean{algocf@optonelanguage}{false}%
+\DeclareOption{onelanguage}{\setboolean{algocf@optonelanguage}{true}}%
+%
+\newcommand{\algocf@languagechoosen}{english}%
+%
+\DeclareOption{english}{%
+\renewcommand{\listalgorithmcfname}{List of Algorithms}%
+\renewcommand{\algorithmcfname}{Algorithm}%
+\renewcommand{\algorithmautorefname}{algorithm}%
+\renewcommand{\algorithmcflinename}{line}%
+\renewcommand{\algocf@typo}{}%
+\renewcommand{\@algocf@procname}{Procedure}%
+\renewcommand{\@algocf@funcname}{Function}%
+\renewcommand{\procedureautorefname}{procedure}%
+\renewcommand{\functionautorefname}{function}%
+\renewcommand{\algocf@languagechoosen}{english}%
+}%
+%
+\DeclareOption{french}{%
+\renewcommand{\listalgorithmcfname}{Liste des Algorithmes}%
+\renewcommand{\algorithmcfname}{Algorithme}%
+\renewcommand{\algorithmautorefname}{algorithme}%
+\renewcommand{\algorithmcflinename}{ligne}%
+\renewcommand{\algocf@typo}{\ }%
+\renewcommand{\@algocf@procname}{Procédure}%
+\renewcommand{\@algocf@funcname}{Fonction}%
+\renewcommand{\procedureautorefname}{procédure}%
+\renewcommand{\functionautorefname}{fonction}%
+\renewcommand{\algocf@languagechoosen}{french}%
+}%
+%
+\DeclareOption{czech}{%
+\renewcommand{\listalgorithmcfname}{Seznam algoritm\v{u}}%
+\renewcommand{\algorithmcfname}{Algoritmus}%
+\renewcommand{\algorithmautorefname}{\algorithmcfname}%
+\renewcommand{\algorithmcflinename}{Radek}%
+\renewcommand{\algocf@typo}{}%
+\renewcommand{\@algocf@procname}{Procedura}%
+\renewcommand{\@algocf@funcname}{Funkce}%
+\renewcommand{\procedureautorefname}{\@algocf@procname}%
+\renewcommand{\functionautorefname}{\@algocf@funcname}%
+\renewcommand{\algocf@languagechoosen}{czech}%
+}%
+%
+\DeclareOption{german}{%
+\renewcommand{\listalgorithmcfname}{Liste der Algorithmen}%
+\renewcommand{\algorithmcfname}{Algorithmus}%
+\renewcommand{\algorithmautorefname}{\algorithmcfname}%
+\renewcommand{\algorithmcflinename}{Zeile}%
+\renewcommand{\algocf@typo}{\ }%
+\renewcommand{\@algocf@procname}{Prozedur}%
+\renewcommand{\@algocf@funcname}{Funktion}%
+\renewcommand{\procedureautorefname}{\@algocf@procname}%
+\renewcommand{\functionautorefname}{\@algocf@funcname}%
+\renewcommand{\algocf@languagechoosen}{german}%
+}%
+%
+\DeclareOption{portuguese}{%
+\renewcommand{\listalgorithmcfname}{Lista de Algoritmos}%
+\renewcommand{\algorithmcfname}{Algoritmo}%
+\renewcommand{\algorithmautorefname}{algoritmo}%
+\renewcommand{\algorithmcflinename}{linha}%
+\renewcommand{\algocf@typo}{}%
+\renewcommand{\@algocf@procname}{Procedimento}%
+\renewcommand{\@algocf@funcname}{Fun\c{c}\~{a}o}%
+\renewcommand{\procedureautorefname}{procedimento}%
+\renewcommand{\functionautorefname}{fun\c{c}\~{a}o}%
+\renewcommand{\algocf@languagechoosen}{portuguese}%
+}%
+%
+\DeclareOption{italiano}{%
+\renewcommand{\listalgorithmcfname}{Elenco degli algoritmi}%
+\renewcommand{\algorithmcfname}{Algoritmo}%
+\renewcommand{\algorithmautorefname}{algoritmo}%
+\renewcommand{\algorithmcflinename}{riga}%
+\renewcommand{\algocf@typo}{}%
+\renewcommand{\@algocf@procname}{Procedura}%
+\renewcommand{\@algocf@funcname}{Funzione}%
+\renewcommand{\procedureautorefname}{procedura}%
+\renewcommand{\functionautorefname}{funzione}%
+\renewcommand{\algocf@languagechoosen}{italiano}%
+}%
+\DeclareOption{slovak}{%
+\renewcommand{\listalgorithmcfname}{Zoznam algoritmov}%
+\renewcommand{\algorithmcfname}{Algoritmus}%
+\renewcommand{\algorithmautorefname}{\algorithmcfname}%
+\renewcommand{\algorithmcflinename}{Radek}%
+\renewcommand{\algocf@typo}{}%
+\renewcommand{\@algocf@procname}{Proced\'{u}ra}%
+\renewcommand{\@algocf@funcname}{Funkcia}%
+\renewcommand{\procedureautorefname}{\@algocf@procname}%
+\renewcommand{\functionautorefname}{\@algocf@funcname}%
+\renewcommand{\algocf@languagechoosen}{slovak}%
+}%
+%
+% OPTIONs plain, boxed, ruled, algoruled & boxruled
+%
+\newcommand{\algocf@style@plain}{\renewcommand{\algocf@style}{plain}}%
+\newcommand{\algocf@style@boxed}{\renewcommand{\algocf@style}{boxed}}%
+\newcommand{\algocf@style@ruled}{\renewcommand{\algocf@style}{ruled}}%
+\newcommand{\algocf@style@algoruled}{\renewcommand{\algocf@style}{algoruled}}%
+\newcommand{\algocf@style@boxruled}{\renewcommand{\algocf@style}{boxruled}}%
+\newcommand{\algocf@style@tworuled}{\renewcommand{\algocf@style}{tworuled}}%
+\newcommand{\RestyleAlgo}[1]{\csname algocf@style@#1\endcsname}%
+\DeclareOption{plain}{\algocf@style@plain}%
+\DeclareOption{boxed}{\algocf@style@boxed}%
+\DeclareOption{ruled}{\algocf@style@ruled}%
+\DeclareOption{algoruled}{\algocf@style@algoruled}%
+\DeclareOption{boxruled}{\algocf@style@boxruled}%
+\DeclareOption{tworuled}{\algocf@style@tworuled}%
+%
+% OPTIONs algopart,algochapter & algosection
+%
+\DeclareOption{algopart}{\algocf@numbering{part}}%       %algo part numbered
+\DeclareOption{algochapter}{\algocf@numbering{chapter}}% %algo chapter numbered
+\DeclareOption{algosection}{\algocf@numbering{section}}% %algo section numbered
+%
+% OPTIONs resetcount & noresetcount
+%
+\DeclareOption{resetcount}{\renewcommand{\@ResetCounterIfNeeded}{\setcounter{AlgoLine}{0}}}%
+\DeclareOption{noresetcount}{\renewcommand{\@ResetCounterIfNeeded}{}}%
+%
+% OPTION linesnumbered
+%
+\newboolean{algocf@linesnumbered}\setboolean{algocf@linesnumbered}{false}%
+\newcommand{\algocf@linesnumbered}{\relax}%
+\DeclareOption{linesnumbered}{%
+  \setboolean{algocf@linesnumbered}{true}%
+  \renewcommand{\algocf@linesnumbered}{\everypar={\nl}}%
+}%
+%
+% OPTION linesnumberedhidden
+%
+\DeclareOption{linesnumberedhidden}{%
+  \setboolean{algocf@linesnumbered}{true}%
+  \renewcommand{\algocf@linesnumbered}{\everypar{\stepcounter{AlgoLine}}}%
+}%
+%
+% OPTION commentsnumbered inoutnumbered
+%
+\newboolean{algocf@commentsnumbered}\setboolean{algocf@commentsnumbered}{false}%
+\DeclareOption{commentsnumbered}{\setboolean{algocf@commentsnumbered}{true}}%
+\newboolean{algocf@inoutnumbered}\setboolean{algocf@inoutnumbered}{false}%
+\DeclareOption{inoutnumbered}{\setboolean{algocf@inoutnumbered}{true}}%
+%
+% OPTIONs titlenumbered & titlenotnumbered
+%
+\DeclareOption{titlenumbered}{%
+  \renewcommand{\@titleprefix}{%
+    \refstepcounter{\algocf@float}%
+    \AlTitleSty{\AlTitleFnt\@algocf@titleofalgoname\ \expandafter\csname the\algocf@float\endcsname\algocf@typo: }%
+  }%
+}%
+%
+\DeclareOption{titlenotnumbered}{\renewcommand{\@titleprefix}{%
+    \AlTitleSty{\AlTitleFnt\@algocf@titleofalgoname\algocf@typo: }}%
+}%
+%
+% OPTIONs algonl
+% line numbered with the counter of the algorithm
+%
+\DeclareOption{algonl}{\renewcommand{\theAlgoLine}{\expandafter\csname the\algocf@float\endcsname.\arabic{AlgoLine}}}%
+%
+% OPTIONs lined, vlined & noline
+%
+\DeclareOption{lined}{\AtBeginDocument{\SetAlgoLined}}%   \SetAlgoLined
+\DeclareOption{vlined}{\AtBeginDocument{\SetAlgoVlined}}% \SetAlgoVlined
+\DeclareOption{noline}{\AtBeginDocument{\SetAlgoNoLine}}%\SetAlgoNoLine (default)
+%
+% OPTIONs longend, shotend & noend
+%
+\DeclareOption{longend}{\AtBeginDocument{\SetAlgoLongEnd}}%  \SetAlgoLongEnd
+\DeclareOption{shortend}{\AtBeginDocument{\SetAlgoShortEnd}}%\SetAlgoShortEnd
+\DeclareOption{noend}{\AtBeginDocument{\SetAlgoNoEnd}}%      \SetAlgoNoEnd
+%
+% OPTION dotoc
+%
+\newboolean{algocf@dotocloa}\setboolean{algocf@dotocloa}{false}%
+\DeclareOption{dotocloa}{%
+  \setboolean{algocf@dotocloa}{true}%
+}
+%
+% OPTION comments
+%
+\newboolean{algocf@optfillcomment}\setboolean{algocf@optfillcomment}{true}%
+\DeclareOption{nofillcomment}{%
+  \setboolean{algocf@optfillcomment}{false}%
+}%
+\DeclareOption{fillcomment}{%
+  \setboolean{algocf@optfillcomment}{true}%
+}%
+%
+% OPTION sidecommments
+%
+\newboolean{algocf@scleft}\setboolean{algocf@scleft}{false}%
+\DeclareOption{scleft}{%
+  \setboolean{algocf@scleft}{true}%
+}%
+\DeclareOption{sright}{% default
+  \setboolean{algocf@scleft}{false}%
+}%
+%
+% OPTION norelsize
+%
+\newboolean{algocf@norelsize}\setboolean{algocf@norelsize}{false}%
+\DeclareOption{norelsize}{%
+  \setboolean{algocf@norelsize}{true}%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%% Execution of Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\ExecuteOptions{english,plain,resetcount,titlenotnumbered,lined,shortend}%
+%
+\ProcessOptions%
+%
+\@algocf@algotitleofalgo% fix name for \TitleOfAlgo to \algorithmcfname by default
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%% Package Loading %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+\RequirePackage{xspace}%
+%
+\ifthenelse{\boolean{algocf@endfloat}}{%
+  \RequirePackage{endfloat}%
+}{\relax}%
+%
+\ifthenelse{\boolean{algocf@norelsize}}{%
+  \newcommand{\relsize}[1]{\scriptsize}%
+}{%
+  \RequirePackage{relsize}%
+}%
+%
+\ifthenelse{\boolean{algocf@slide}}{\RequirePackage{color}}{}%
+%
+
+\AtEndOfPackage{%
+  \ifthenelse{\boolean{algocf@dotocloa}}{%
+    \renewcommand{\listofalgorithmes}{\tocfile{\listalgorithmcfname}{loa}}%
+  }{\relax}%
+}%
+%
+% if loa in toc required, load tocbibind package if not already done.
+\ifthenelse{\boolean{algocf@dotocloa}}{%
+  \ifx\@tocextra\undefined%
+  \RequirePackage{tocbibind}%
+  \fi%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Main Part %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\newcommand{\algocf@name}{algorithm2e}%
+\newcommand{\algocf@date}{december 14 2009}%
+\newcommand{\algocf@version}{Release 4.01}%
+\newcommand{\algocf@id}{\algocf@version\space -- \algocf@date\space --}%
+\typeout{********************************************************^^JPackage `\algocf@name'\space\algocf@id^^J%
+         - algorithm2e-announce@lirmm.fr  mailing list for announcement about releases^^J%
+         - algorithm2e-discussion@lirmm.fr mailing list for discussion about package^^J%
+         subscribe by emailing sympa@lirmm.fr with 'subscribe <list> <firstname name>'^^J%
+         - Author: Christophe Fiorio (fiorio@lirmm.fr)^^J********************************************************}%
+%%
+%%
+%%
+%%
+%%
+%%
+%%%% hyperref compatibility tricks: Hyperref package defines H counters from
+   % standard counters (i.e \theHpage from \thepage) and check some particular
+   % counters of some packages, unfortunately it doesn't do the same for
+   % algorithm2e package but act as Hcounter was defined. To avoid errors we
+   % defined \theHalgocf ourself
+%%%%
+%
+\@ifundefined{theHalgocf}{\def\theHalgocf{\thealgocf}}{}%
+\@ifundefined{theHAlgoLine}{\def\theHAlgoLine{\theAlgoLine}}{}%
+\@ifundefined{theHalgocfproc}{\def\theHalgocfproc{0}}{}%
+\@ifundefined{theHalgocffunc}{\def\theHalgocffunc{0}}{}%
+\@ifundefined{toclevel@algocf}{\def\toclevel@algocf{0}}{}%
+%
+% autoref from hyperref needs an autorefname, so we give it.
+\def\AlgoLineautorefname{\algorithmcflinename}%
+\def\algocfautorefname{\algorithmautorefname}%
+\def\algocfprocautorefname{\procedureautorefname}%
+\def\algocffuncautorefname{\functionautorefname}%
+%%
+%%
+%%
+\newcommand{\@defaultskiptotal}{0.5em}%
+\newskip\skiptotal\skiptotal=0.5em%
+\newskip\skiplinenumber\skiplinenumber=\hsize\advance\skiplinenumber by-\skiptotal%
+\newskip\skiprule%
+\newskip\skiphlne%
+\newskip\skiptext%
+\newskip\skiplength%
+\newskip\algomargin%
+\newskip\skipalgocfslide\skipalgocfslide=1em%
+\newdimen\algowidth%
+\newdimen\inoutsize%
+\newdimen\inoutline%
+\newdimen\interspacetitleruled\setlength{\interspacetitleruled}{2pt}%
+\newdimen\interspacealgoruled\setlength{\interspacealgoruled}{2pt}%
+\newdimen\interspacetitleboxruled\setlength{\interspacetitleboxruled}{2\lineskip}%
+%
+\newcommand{\@algoskip}{\smallskip}%
+\newcommand{\SetAlgoSkip}[1]{\renewcommand{\@algoskip}{\csname#1\endcsname}}%
+\newcommand{\@algoinsideskip}{\relax}%
+\newcommand{\SetAlgoInsideSkip}[1]{\renewcommand{\@algoinsideskip}{\csname#1\endcsname}}%
+%
+\newsavebox{\algocf@inoutbox}%
+\newsavebox{\algocf@inputbox}%
+%%
+%%
+\newcommand{\arg@e}{}%
+\newcommand{\arg@space}{\ }%
+\newcommand{\BlankLine}{\vskip 1ex}%
+%%
+\newcommand{\vespace}{1ex}%
+\newcommand{\SetInd}[2]{%
+\skiprule=#1%
+\skiptext=#2%
+\skiplength=\skiptext\advance\skiplength by \skiprule\advance\skiplength by 0.4pt}%
+\SetInd{0.5em}{1em}
+\algomargin=\leftskip\advance\algomargin by \parindent%
+\newcommand{\IncMargin}[1]{\advance\algomargin by #1}%
+\newcommand{\DecMargin}[1]{\advance\algomargin by -#1}%
+\newcommand{\SetNlSkip}[1]{%
+  \renewcommand{\@defaultskiptotal}{#1}%
+  \setlength{\skiptotal}{#1}}%
+%%
+\newskip\AlCapSkip\AlCapSkip=0ex%
+\newskip\AlCapHSkip\AlCapSkip=0ex%
+\newcommand{\SetAlCapSkip}[1]{\setlength{\AlCapSkip}{#1}}%
+\newcommand{\SetAlCapHSkip}[1]{\setlength{\AlCapHSkip}{#1}}%
+\SetAlCapHSkip{.5\algomargin}%
+%%
+%%
+\newcommand{\Indentp}[1]{\advance\leftskip by #1}%
+\newcommand{\Indp}{\advance\leftskip by 1em}%
+\newcommand{\Indpp}{\advance\leftskip by 0.5em}%
+\newcommand{\Indm}{\advance\leftskip by -1em}%
+\newcommand{\Indmm}{\advance\leftskip by -0.5em}%
+%%
+%%
+%% Line Numbering
+%%
+%%
+% number line style
+\newcommand{\algocf@nlrelsize}{-2}\newcommand{\SetAlgoNlRelativeSize}[1]{\renewcommand{\algocf@nlrelsize}{#1}}%
+\newcommand{\NlSty}[1]{\textnormal{\textbf{\relsize{\algocf@nlrelsize}#1}}}% default definition
+\newcommand{\SetNlSty}[3]{\renewcommand{\NlSty}[1]{\textnormal{\csname#1\endcsname{\relsize{\algocf@nlrelsize}#2##1#3}}}}%
+%
+% nl definitions
+%
+\newsavebox{\algocf@nlbox}%
+\newcommand{\algocf@printnl}[1]{%
+  \ifthenelse{\boolean{algocf@leftlinenumber}}{%
+    \skiplinenumber=\skiptotal\advance\skiplinenumber by\leftskip%
+    \strut\raisebox{0pt}{\llap{\NlSty{#1}\kern\skiplinenumber}}\ignorespaces%
+  }{%
+    \sbox\algocf@nlbox{\NlSty{#1}}%
+    \skiplinenumber=\hsize\advance\skiplinenumber by-\leftskip\advance\skiplinenumber by-\skiptext%
+    \advance\skiplinenumber by\algomargin\advance\skiplinenumber by.3em\advance\skiplinenumber by-\wd\algocf@nlbox%
+    \strut\raisebox{0pt}{\rlap{\kern\skiplinenumber\NlSty{#1\ignorespaces}}}\ignorespaces%
+  }%
+}%
+\newcommand{\algocf@nl@sethref}[1]{%
+  \renewcommand{\theHAlgoLine}{\thealgocfproc.#1}%
+  \hyper@refstepcounter{AlgoLine}\gdef\@currentlabel{#1}%
+}%
+\newcommand{\nl}{%
+  \@ifundefined{hyper@refstepcounter}{% if not hyperref then do a simple refstepcounter
+    \refstepcounter{AlgoLine}%
+  }{% else if hyperref, do the anchor so 2 lines in two differents algorithms cannot have the same href
+    \stepcounter{AlgoLine}\algocf@nl@sethref{\theAlgoLine}%
+  }% now we can do the line numbering
+  \algocf@printnl{\theAlgoLine}%
+}%
+%
+\newcommand{\nllabel}[1]{\label{#1}}%
+%
+\newcommand{\enl}{%
+  \@ifundefined{hyper@refstepcounte}{% if not hyperref then do a simple refstepcounter
+    \refstepcounter{AlgoLine}%
+  }{% else if hyperref, do the anchor so 2 lines in two differents algorithms cannot have the same href
+    \stepcounter{AlgoLine}\algocf@nl@sethref{\theAlgoLine}%
+  }% now we can do the line numbering
+  \skiplinenumber=\hsize\advance\skiplinenumber by-\leftskip%
+  \strut\raisebox{0pt}{\rlap{\kern\skiplinenumber\strut\NlSty{\theAlgoLine}}}\ignorespaces%
+}
+%% nlset
+\newcommand{\nlset}[1]{%
+  \@ifundefined{hyper@refstepcounter}{\protected@edef\@currentlabel{#1}}{\algocf@nl@sethref{#1}}\algocf@printnl{#1}%
+}%
+%
+%% lnl definitions
+\newcommand{\lnl}[1]{\nl\label{#1}}%
+%
+%% lnlset
+\newcommand{\lnlset}[2]{\nlset{#2}\label{#1}}%
+%
+% set char put at end of each line
+%
+\newcommand{\algocf@endline}{\string;}
+\newcommand{\SetEndCharOfAlgoLine}[1]{\renewcommand{\algocf@endline}{#1}}
+%
+% end of line definition
+%
+\newcommand{\@endalgocfline}{\algocf@endline}% default definition: printsemicolon
+\newcommand{\DontPrintSemicolon}{\renewcommand{\@endalgocfline}{\relax}}%
+\newcommand{\PrintSemicolon}{\renewcommand{\@endalgocfline}{\algocf@endline}}%
+\newcommand{\@endalgoln}{\@endalgocfline\hfill\strut\par}%
+%
+% line numbering
+%
+\newcommand{\LinesNumbered}{\setboolean{algocf@linesnumbered}{true}\renewcommand{\algocf@linesnumbered}{\everypar={\nl}}}%
+\newcommand{\LinesNotNumbered}{%
+  \setboolean{algocf@linesnumbered}{false}%
+  \renewcommand{\algocf@linesnumbered}{\relax}%
+}%
+%
+\newcommand{\LinesNumberedHidden}{%
+  \setboolean{algocf@linesnumbered}{true}\renewcommand{\algocf@linesnumbered}{\everypar{\stepcounter{AlgoLine}}}}%
+\newcommand{\ShowLn}{\nlset{\theAlgoLine}\ignorespaces}% display the line number on this line (without labelling)
+\newcommand{\ShowLnLabel}[1]{\lnlset{#1}{\theAlgoLine}\ignorespaces}% display the line number and label this line
+%
+%%
+%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Styling text commands
+%
+\newcommand{\AlFnt}{\relax}% default definition
+\newcommand{\SetAlFnt}[1]{\renewcommand{\AlFnt}{#1}}%
+\newcommand{\AlTitleFnt}{\relax}% default definition
+\newcommand{\SetAlTitleFnt}[1]{\renewcommand{\AlTitleFnt}{#1}}%
+%
+\newcommand{\AlCapFnt}{\relax}% default definition
+\newcommand{\SetAlCapFnt}[1]{\renewcommand{\AlCapFnt}{#1}}%
+\newcommand{\AlCapNameFnt}{\relax}% default definition
+\newcommand{\SetAlCapNameFnt}[1]{\renewcommand{\AlCapNameFnt}{#1}}%
+%
+\newcommand{\ProcFnt}{\relax}% default definition
+\newcommand{\SetProcFnt}[1]{\renewcommand{\ProcFnt}{#1}}%
+\newcommand{\ProcNameFnt}{\relax}% default definition
+\newcommand{\SetProcNameFnt}[1]{\renewcommand{\ProcNameFnt}{#1}}%
+\newcommand{\ProcArgFnt}{\relax}% default definition
+\newcommand{\SetProcArgFnt}[1]{\renewcommand{\ProcArgFnt}{#1}}%
+%
+\newcommand{\AlTitleSty}[1]{\textbf{#1}\unskip}% default definition
+\newcommand{\SetAlTitleSty}[1]{\renewcommand{\AlTitleSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+\newcommand{\AlCapSty}[1]{\textnormal{\textbf{#1}}\unskip}% default definition
+\newcommand{\SetAlCapSty}[1]{\renewcommand{\AlCapSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+\newcommand{\AlCapNameSty}[1]{\textnormal{#1}\unskip}% default definition
+\newcommand{\SetAlCapNameSty}[1]{\renewcommand{\AlCapNameSty}[1]{\textnormal{\csname #1\endcsname{##1}}\unskip}}%
+%
+\newcommand{\ProcSty}[1]{\AlCapSty{#1}}%
+\newcommand{\SetProcSty}[1]{\renewcommand{\ProcSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+\newcommand{\ProcNameSty}[1]{\AlCapNameSty{#1}}%
+\newcommand{\SetProcNameSty}[1]{\renewcommand{\ProcNameSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+\newcommand{\ProcArgSty}[1]{\AlCapNameSty{#1}}%
+\newcommand{\SetProcArgSty}[1]{\renewcommand{\ProcArgSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+%
+\newcommand{\KwSty}[1]{\textnormal{\textbf{#1}}\unskip}% default definition
+\newcommand{\SetKwSty}[1]{\renewcommand{\KwSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+\newcommand{\ArgSty}[1]{\textnormal{\emph{#1}}\unskip}%\SetArgSty{emph}
+\newcommand{\SetArgSty}[1]{\renewcommand{\ArgSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+\newcommand{\FuncSty}[1]{\textnormal{\texttt{#1}}\unskip}%\SetFuncSty{texttt}
+\newcommand{\SetFuncSty}[1]{\renewcommand{\FuncSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+\newcommand{\DataSty}[1]{\textnormal{\textsf{#1}}\unskip}%%\SetDataSty{textsf}
+\newcommand{\SetDataSty}[1]{\renewcommand{\DataSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+\newcommand{\CommentSty}[1]{\textnormal{\texttt{#1}}\unskip}%%\SetDataSty{texttt}
+\newcommand{\SetCommentSty}[1]{\renewcommand{\CommentSty}[1]{\textnormal{\csname#1\endcsname{##1}}\unskip}}%
+\newcommand{\TitleSty}[1]{#1\unskip}%\SetTitleSty{}{}
+\newcommand{\SetTitleSty}[2]{\renewcommand{\TitleSty}[1]{%
+\csname#1\endcsname{\csname#2\endcsname##1}}\unskip}%
+%
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Block basic commands
+%
+\newcommand{\algocf@push}[1]{\advance\skiptotal by #1\moveright #1}%
+\newcommand{\algocf@pop}[1]{\advance\skiptotal by -#1}%
+\newcommand{\algocf@addskiptotal}{\advance\skiptotal by 0.4pt\advance\hsize by -0.4pt}% 0.4 pt=width of \vrule
+\newcommand{\algocf@subskiptotal}{\advance\skiptotal by -0.4pt\advance\hsize by 0.4pt}% 0.4 pt=width of \vrule
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% group of instructions definition
+%
+\skiphlne=.8ex%
+\newcommand{\SetVlineSkip}[1]{\skiphlne=#1}%
+%
+%% block with a vertical line end by a little horizontal line
+\newcommand{\algocf@Vline}[1]{%     no vskip in between boxes but a strut to separate them, 
+  \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it
+  \algocf@push{\skiprule}%        move to the right before the vertical rule
+  \hbox{\vrule%
+    \vtop{\algocf@push{\skiptext}%move the right after the rule
+      \vtop{\algocf@addskiptotal\advance\hsize by -\skiplength #1}\Hlne}}\vskip\skiphlne% inside the block
+  \algocf@pop{\skiprule}%\algocf@subskiptotal% restore indentation
+  \nointerlineskip}% no vskip after
+%
+%% block with a vertical line
+\newcommand{\algocf@Vsline}[1]{%    no vskip in between boxes but a strut to separate them, 
+  \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it
+  \algocf@push{\skiprule}%        move to the right before the vertical rule
+  \hbox{\vrule%               the vertical rule
+    \vtop{\algocf@push{\skiptext}%move the right after the rule
+      \vtop{\algocf@addskiptotal\advance\hsize by -\skiplength #1}}}% inside the block
+  \algocf@pop{\skiprule}}% restore indentation
+%
+\newcommand{\algocf@Hlne}{\hrule height 0.4pt depth 0pt width .5em}%
+%
+%% block without line
+\newcommand{\algocf@Noline}[1]{%    no vskip in between boxes but a strut to separate them, 
+  \strut\par\nointerlineskip% then interblock space stay the same whatever is inside it
+  \algocf@push{\skiprule}%
+  \hbox{%
+    \vtop{\algocf@push{\skiptext}%
+      \vtop{\advance\hsize by -\skiplength #1}}}% inside the block
+  \algocf@pop{\skiprule}%
+  % \nointerlineskip% no vskip after
+}%
+%
+%% default=NoLine
+%
+\newcommand{\algocf@group}[1]{\algocf@Noline{##1}}% group: set of instruction depending from another (ex: then part of the If)
+\newcommand{\algocf@@block}[2]{\algocf@Noline{##1}\KwSty{##2}\par}% block: group with a end keyword.
+\newcommand{\algocf@block}[2]{\algocf@@block{#1}{#2}}% command that will be used and redefined accordingly to noend option
+\newcommand{\algocf@setBlock}{%
+  \ifthenelse{\boolean{algocf@optnoend}}{%     if no end option
+    \renewcommand{\algocf@block}[2]{\algocf@group{##1}}%     block will be a group
+  }{%                                          else
+    \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}% block stays a block
+  }%
+}%
+%
+\newcommand{\Hlne}{}% little hrizontal line ending a block in vline mode
+%
+\newcommand{\@algocf@endoption}[1]{#1}%
+\newboolean{algocf@optnoend}\setboolean{algocf@optnoend}{false}%
+%
+\newcommand{\SetAlgoLongEnd}{%%%%%%%%%%%%%%%%%%%%%%%%% Long End
+  \setboolean{algocf@optnoend}{false}%
+  \renewcommand{\@algocf@endoption}[1]{##1}%
+  \algocf@setBlock}%
+%
+\newcommand{\SetAlgoShortEnd}{%%%%%%%%%%%%%%%%%%%%%%%% ShortEnd
+  \setboolean{algocf@optnoend}{false}%
+  \renewcommand{\@algocf@endoption}[1]{\@firstword##1 \@nil}%
+  \algocf@setBlock}%
+%
+\newcommand{\SetAlgoNoEnd}{%%%%%%%%%%%%%%%%%%%%%%%%%%% NoEnd
+  \setboolean{algocf@optnoend}{true}%
+  \renewcommand{\@algocf@endoption}[1]{}%
+  \algocf@setBlock}%
+%
+\newcommand{\SetAlgoNoLine}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noline
+\renewcommand{\algocf@@block}[2]{\algocf@Noline{##1}\KwSty{##2}\strut\par}%
+\renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}%
+\renewcommand{\Hlne}{}}%
+%
+\newcommand{\SetAlgoVlined}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Vline
+\renewcommand{\algocf@@block}[2]{\algocf@Vline{##1}}%
+\renewcommand{\algocf@group}[1]{\algocf@Vsline{##1}\ifthenelse{\boolean{algocf@optnoend}}{\relax}{\strut\ignorespaces}}%
+\renewcommand{\Hlne}{\algocf@Hlne}}%
+%
+\newcommand{\SetAlgoLined}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Line
+\renewcommand{\algocf@@block}[2]{\strut\algocf@Vsline{##1}\KwSty{##2}\strut\par}% no skip after a block so garantie at least a line
+\renewcommand{\algocf@group}[1]{\algocf@Vsline{##1}\ifthenelse{\boolean{algocf@optnoend}}{\relax}{\strut\ignorespaces}}%
+\renewcommand{\Hlne}{}}%
+%
+\newcommand{\SetNothing}{%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Noline
+\renewcommand{\algocf@@block}[2]{\algocf@Noline{##1}\par}%
+%\long
+\renewcommand{\algocf@group}[1]{\algocf@Noline{##1}}%
+\renewcommand{\Hlne}{}}%
+%
+%%
+%%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% ``Input :'''s like command 
+%
+%%%
+% text staying at the right of the longer keyword of KwInOut commands 
+% (text of KwInOut commands are all vertically aligned)
+%
+\newcommand{\algocf@newinout}{\par\parindent=\wd\algocf@inoutbox}% to put right indentation after a \\ in the KwInOut
+\newcommand{\SetKwInOut}[2]{%
+  \sbox\algocf@inoutbox{\KwSty{#2}\algocf@typo:}%
+  \expandafter\ifx\csname InOutSizeDefined\endcsname\relax% if first time used
+    \newcommand\InOutSizeDefined{}\setlength{\inoutsize}{\wd\algocf@inoutbox}%
+  \else% else keep the larger dimension
+    \ifdim\wd\algocf@inoutbox>\inoutsize\setlength{\inoutsize}{\wd\algocf@inoutbox}\fi%
+  \fi% the dimension of the box is now defined.
+  \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+  \expandafter\algocf@mkcmd\csname#1\endcsname[1]{%
+    \ifthenelse{\boolean{algocf@inoutnumbered}}{\relax}{\everypar={\relax}}%
+    {\let\\\algocf@newinout\hangindent=\wd\algocf@inoutbox\hangafter=1\parbox[t]{\inoutsize}{\KwSty{#2}\algocf@typo\hfill:}~##1\par}%
+    \algocf@linesnumbered% reset the numbering of the lines
+  }}%
+%
+%% allow to ajust the skip size of InOut
+%%
+\newcommand{\ResetInOut}[1]{%
+  \sbox\algocf@inoutbox{\hbox{\KwSty{#1}\algocf@typo:\ }}%
+  \setlength{\inoutsize}{\wd\algocf@inoutbox}%
+  }%
+%
+% 
+%%%
+% text staying at the right of the keyword.
+%
+\newcommand{\algocf@newinput}{\par\parindent=\wd\algocf@inputbox}% to put right indentation after a \\ in the KwInput
+\newcommand{\SetKwInput}[2]{%
+  \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+  \expandafter\algocf@mkcmd\csname#1\endcsname[1]{%
+    \sbox\algocf@inputbox{\hbox{\KwSty{#2}\algocf@typo: }}%
+    \ifthenelse{\boolean{algocf@inoutnumbered}}{\relax}{\everypar={\relax}}%
+    {\let\\\algocf@newinput\hangindent=\wd\algocf@inputbox\hangafter=1\unhbox\algocf@inputbox##1\par}%
+    \algocf@linesnumbered% reset the numbering of the lines
+  }}%
+\newcommand{\SetKwData}[2]{%
+  \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+  \expandafter\algocf@mkcmd\csname @#1\endcsname[1]{\DataSty{#2(}\ArgSty{##1}\DataSty{)}}%
+  \expandafter\algocf@mkcmd\csname#1\endcsname{%
+    \@ifnextchar\bgroup{\csname @#1\endcsname}{\DataSty{#2}\xspace}}%
+  }%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% tallent:
+%
+% Add following macros:
+%   \SetKwHangingKw:  [kw] ------------   <= hanging determined by [kw]
+%                          ------------
+% Should act like a combination of \SetKwInput and \SetKw.
+% Based on \SetKwInput:
+%   - remove ':' at end of keyword
+%   - do not reset numbering
+%   - use separate savebox
+\newsavebox{\algocf@hangingbox}
+\newcommand{\algocf@newhanging}{\par\parindent=\wd\algocf@hangingbox}% to put right indentation after a \\ in the KwInput
+\newcommand{\SetKwHangingKw}[2]{%
+  \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+  \expandafter\algocf@mkcmd\csname#1\endcsname[1]{%
+    \sbox\algocf@hangingbox{\hbox{\KwSty{#2}\algocf@typo\ }}%
+    {\let\\\algocf@newhanging\hangindent=\wd\algocf@hangingbox\hangafter=1\unhbox\algocf@hangingbox##1\;}%
+  }%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Comments macros
+%
+%%%%
+% comment in the text, first argument is the name of the macro, second is
+% the text put before the comment, third is the text put at the end of the
+% comment.
+%
+% first side comment justification
+\newcommand{\SetSideCommentLeft}{\setboolean{algocf@scleft}{true}}%
+\newcommand{\SetSideCommentRight}{\setboolean{algocf@scleft}{false}}%
+\newcommand{\SetNoFillComment}{\setboolean{algocf@optfillcomment}{false}}%
+\newcommand{\SetFillComment}{\setboolean{algocf@optfillcomment}{true}}%
+%
+% next comment and side comment
+%
+\newcommand{\algocf@endmarkcomment}{\relax}%
+\newcommand{\algocf@fillcomment}{%
+  \ifthenelse{\boolean{algocf@optfillcomment}}{\hfill}{\relax}}%
+%
+\newcommand{\algocf@startcomment}{%
+  \hangindent=\wd\algocf@inputbox\hangafter=1\usebox\algocf@inputbox}%
+\newcommand{\algocf@endcomment}{\algocf@fillcomment\algocf@endmarkcomment\ignorespaces\par}%
+\newcommand{\algocf@endstartcomment}{\algocf@endcomment\algocf@startcomment\ignorespaces}%
+%
+\newboolean{algocf@sidecomment}%
+\newboolean{algocf@altsidecomment}\setboolean{algocf@altsidecomment}{false}%
+\newcommand{\algocf@scpar}{\ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\par}}%
+\newcommand{\algocf@sclfill}{\ifthenelse{\boolean{algocf@scleft}}{\algocf@fillcomment}{\relax}}%
+\newcommand{\algocf@scrfill}{\ifthenelse{\boolean{algocf@scleft}}{\relax}{\hfill}}%
+\newcommand{\algocf@startsidecomment}{\usebox\algocf@inputbox}%
+\newcommand{\algocf@endsidecomment}{\algocf@endmarkcomment\algocf@scpar}%
+\newcommand{\algocf@endstartsidecomment}{%
+  \algocf@sclfill\algocf@endsidecomment%
+  \algocf@scrfill\algocf@startsidecomment\ignorespaces}%
+%
+\newcommand{\SetKwComment}[3]{%
+  % newcommand or renewcommand ?
+  \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+  %%% comment definition
+  \expandafter\algocf@mkcmd\csname algocf@#1\endcsname[1]{%
+    \sbox\algocf@inputbox{\CommentSty{\hbox{#2}}}%
+    \ifthenelse{\boolean{algocf@commentsnumbered}}{\relax}{\everypar={\relax}}%
+    {\renewcommand{\algocf@endmarkcomment}{#3}%
+      \let\\\algocf@endstartcomment%
+      \algocf@startcomment\CommentSty{%
+        \strut\ignorespaces##1\strut\algocf@fillcomment#3}\par}%
+    \algocf@linesnumbered% reset the numbering of the lines
+  }%
+  %%% side comment definitions
+  % option or not?
+  \expandafter\algocf@mkcmd\csname algocf@#1@star\endcsname{%
+    \@ifnextchar [{\csname algocf@#1@staropt\endcsname}{\csname algocf@#1@sidecomment\endcsname}%
+  }%
+  % manage option
+  \expandafter\def\csname algocf@#1@staropt\endcsname[##1]##2{%
+    \ifthenelse{\boolean{algocf@scleft}}{\setboolean{algocf@sidecomment}{true}}{\setboolean{algocf@sidecomment}{false}}%
+    \ifx##1h\setboolean{algocf@altsidecomment}{true}\SetSideCommentLeft\fi%
+    \ifx##1f\setboolean{algocf@altsidecomment}{true}\SetSideCommentRight\fi%
+    \ifx##1l\setboolean{algocf@altsidecomment}{false}\SetSideCommentLeft\fi%
+    \ifx##1r\setboolean{algocf@altsidecomment}{false}\SetSideCommentRight\fi%
+    \csname algocf@#1@sidecomment\endcsname{##2}% call sidecomment
+    \ifthenelse{\boolean{algocf@sidecomment}}{\setboolean{algocf@scleft}{true}}{\setboolean{algocf@scleft}{false}}%
+    \setboolean{algocf@altsidecomment}{false}%
+  }%
+  % side comment
+  \expandafter\algocf@mkcmd\csname algocf@#1@sidecomment\endcsname[1]{%
+    \sbox\algocf@inputbox{\CommentSty{\hbox{#2}}}%
+    \ifthenelse{\boolean{algocf@commentsnumbered}}{\relax}{\everypar={\relax}}%
+    {%
+      \renewcommand{\algocf@endmarkcomment}{#3}%
+      \let\\\algocf@endstartsidecomment%
+      % here is the comment
+      %\ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\algocf@endline\ }%
+      \ifthenelse{\boolean{algocf@altsidecomment}}{\relax}{\@endalgocfline\ }%
+      \algocf@scrfill\algocf@startsidecomment\CommentSty{%
+        \strut\ignorespaces##1\strut\algocf@sclfill#3}\algocf@scpar%
+    }%
+    \algocf@linesnumbered% reset the numbering of the lines
+  }
+  \expandafter\algocf@mkcmd\csname#1\endcsname{\@ifstar{\csname algocf@#1@star\endcsname}{\csname algocf@#1\endcsname}}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Kw
+%
+\newcommand{\SetKw}[2]{%
+  \@ifundefined{#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+  \expandafter\algocf@mkcmd\csname @#1\endcsname[1]{\KwSty{#2} \ArgSty{##1}}%
+  \expandafter\algocf@mkcmd\csname#1\endcsname{%
+    \@ifnextchar\bgroup{\csname @#1\endcsname}{\KwSty{#2}\xspace}}%
+  }%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% KwFunction
+%
+\newcommand{\SetKwFunction}[2]{%
+%%% use of gdef since newcommand doesn't manage to define the macro when SetKwFunction is used in \algocf@caption@proc
+  \expandafter\gdef\csname @#1\endcsname##1{\FuncSty{#2(}\ArgSty{##1}\FuncSty{)}}%
+  \expandafter\gdef\csname#1\endcsname{%
+    \@ifnextchar\bgroup{\csname @#1\endcsname}{\FuncSty{#2}\xspace}}%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% KwTab
+%
+\newcommand{\SetKwArray}[2]{%
+%%% use of gdef since newcommand doesn't manage to define the macro when SetKwFunction is used in \algocf@caption@proc
+  \expandafter\gdef\csname @#1\endcsname##1{\DataSty{#2[}\ArgSty{##1}\DataSty{]}}%
+  \expandafter\gdef\csname#1\endcsname{%
+    \@ifnextchar\bgroup{\csname @#1\endcsname}{\DataSty{#2}\xspace}}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% KwBlock
+%
+\newcommand{\SetKwBlock}[3]{%
+\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+% side text or not? 
+\expandafter\def\csname#1\endcsname{%Begin
+  \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@#1opt\endcsname(##1)##2{% \Begin(){}
+  \KwSty{#2} ##1\algocf@block{##2}{\@algocf@endoption{#3}}%
+  \@ifnextchar({\csname algocf@#1end\endcsname}{\par}}%
+% without side text at the beginning
+\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[1]{% \Begin{}
+  \KwSty{#2}\algocf@block{##1}{\@algocf@endoption{#3}}\@ifnextchar({\csname algocf@#1end\endcsname}{\par}}%
+% side text at the end
+\expandafter\def\csname algocf@#1end\endcsname(##1){% \Begin{}
+  \ ##1\par}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% For Switch
+%
+\newcommand{\SetKwSwitch}[8]{% #1=\Switch #2=\Case #3=\Other #4=swicth #5=case #6=do #7=otherwise #8=endsw
+%%%% Switch
+\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+% side text or not? 
+\expandafter\def\csname#1\endcsname{%Switch
+  \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \Switch(){}{}
+  \KwSty{#4} \ArgSty{##2} \KwSty{#5} ##1\algocf@block{##3}{\@algocf@endoption{#8}}}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \Switch{}{}
+  \KwSty{#4} \ArgSty{##1} \KwSty{#5}\algocf@block{##2}{\@algocf@endoption{#8}}}%
+% side text at the end
+\expandafter\def\csname algocf@#1end\endcsname(##1){% \Switch{}{}()
+}%
+%
+%%%% Case
+\@ifundefined{algocf@#2}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+% side text or not?
+\expandafter\def\csname#2\endcsname{%Case
+  \@ifnextchar({\csname algocf@#2opt\endcsname}{\csname algocf@#2\endcsname}}%
+\expandafter\def\csname u#2\endcsname{%uCase
+  \@ifnextchar({\csname algocf@u#2opt\endcsname}{\csname algocf@u#2\endcsname}}%
+\expandafter\def\csname l#2\endcsname{%lCase
+  \@ifnextchar({\csname algocf@l#2opt\endcsname}{\csname algocf@l#2\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@#2opt\endcsname(##1)##2##3{% \Case(){}{}
+  \KwSty{#6} \ArgSty{##2} ##1\algocf@block{##3}{\@algocf@endoption{#8}}}%
+\expandafter\def\csname algocf@u#2opt\endcsname(##1)##2##3{% \uCase(){}{}
+  \KwSty{#6} \ArgSty{##2} ##1\algocf@group{##3}}%
+\expandafter\def\csname algocf@l#2opt\endcsname(##1)##2##3{% \lCase(){}{}
+  \KwSty{#6} \ArgSty{##2} ##3\algocf@endline\ ##1\par}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@#2\endcsname[2]{% \Case{}{}
+  \KwSty{#6} \ArgSty{##1}\algocf@block{##2}{\@algocf@endoption{#8}}}%
+\expandafter\algocf@mkcmd\csname algocf@u#2\endcsname[2]{% \uCase{}{}
+  \KwSty{#6} \ArgSty{##1}\algocf@group{##2}}%
+\expandafter\algocf@mkcmd\csname algocf@l#2\endcsname[2]{% \lCase{}{}
+  \KwSty{#6} \ArgSty{##1} ##2}%
+%%%% Other
+\@ifundefined{algocf@#3}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+% side text or not?
+\expandafter\def\csname#3\endcsname{%Other
+  \@ifnextchar({\csname algocf@#3opt\endcsname}{\csname algocf@#3\endcsname}}%
+\expandafter\def\csname l#3\endcsname{%Other
+  \@ifnextchar({\csname algocf@l#3opt\endcsname}{\csname algocf@l#3\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@#3opt\endcsname(##1)##2{% \Other(){}{}
+  \KwSty{#7} ##1\algocf@block{##2}{\@algocf@endoption{#8}}}%
+\expandafter\def\csname algocf@l#3opt\endcsname(##1)##2{% \Other(){}{}
+  \KwSty{#7} ##2\algocf@endline\ ##1\par}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@#3\endcsname[1]{% default
+  \KwSty{#7}\algocf@block{##1}{\@algocf@endoption{#8}}}%
+\expandafter\algocf@mkcmd\csname algocf@l#3\endcsname[1]{% ldefault
+  \KwSty{#7} ##1}%
+}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% If macros
+%
+\newcommand{\SetKwIF}[8]{% #1=\If #2=\ElseIf #3=\Else #4=if #5=then #6=elseif si #7=else #8=endif
+% 
+% common text
+\@ifundefined{#1@ifthen}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+\expandafter\algocf@mkcmd\csname #1@ifthen\endcsname[1]{%
+  \KwSty{#4} \ArgSty{##1} \KwSty{#5}}%
+\expandafter\algocf@mkcmd\csname #1@endif\endcsname[1]{\algocf@block{##1}{\@algocf@endoption{#8}}}%
+\expandafter\algocf@mkcmd\csname #1@noend\endcsname[1]{\algocf@group{##1}}%
+\expandafter\algocf@mkcmd\csname #1@else\endcsname[1]{\algocf@group{##1}\KwSty{#7}}%
+\@ifundefined{#2@elseif}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+\expandafter\algocf@mkcmd\csname #2@elseif\endcsname[1]{%
+  \KwSty{#6} \ArgSty{##1} \KwSty{#5}}%
+\@ifundefined{#3@else}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+\expandafter\algocf@mkcmd\csname #3@else\endcsname{\KwSty{#7}}%
+%%%% If then { } endif
+%
+\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+% side text or not?
+\expandafter\def\csname#1\endcsname{%
+  \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \If(){}{}
+  \csname #1@ifthen\endcsname{##2} ##1\csname #1@endif\endcsname{##3}}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \If{}{}
+  \csname #1@ifthen\endcsname{##1}\csname #1@endif\endcsname{##2}}%
+%
+%%%% If then {} else {} endif
+%
+% side text or not?
+\expandafter\def\csname e#1\endcsname{%
+  \@ifnextchar({\csname algocf@e#1thenopt\endcsname}{\csname algocf@e#1then\endcsname}}%
+% with side text after if
+\expandafter\def\csname algocf@e#1thenopt\endcsname(##1)##2##3{% \eIf()
+  \csname #1@ifthen\endcsname{##2} ##1\csname #1@else\endcsname{##3}%
+  \csname algocf@e#1thenelse\endcsname}%
+% without side text after if
+\expandafter\def\csname algocf@e#1then\endcsname##1##2{% \eIf()
+  \csname #1@ifthen\endcsname{##1}\csname #1@else\endcsname{##2}%
+  \csname algocf@e#1thenelse\endcsname}%
+% side text after else or not ?
+\expandafter\def\csname algocf@e#1thenelse\endcsname{%
+  \@ifnextchar({\csname algocf@e#1elseopt\endcsname}{\csname algocf@e#1else\endcsname}}%
+% else with a side text
+\expandafter\def\csname algocf@e#1elseopt\endcsname(##1)##2{% 
+  ##1\csname #1@endif\endcsname{##2}}%
+% else without side text
+\expandafter\algocf@mkcmd\csname algocf@e#1else\endcsname[1]{%
+  \csname #1@endif\endcsname{##1}}%
+%
+%%%% If then 
+%
+% side text or not?
+\expandafter\def\csname l#1\endcsname{% lif
+  \@ifnextchar({\csname algocf@l#1opt\endcsname}{\csname algocf@l#1\endcsname}}%
+\expandafter\def\csname u#1\endcsname{% uif
+  \@ifnextchar({\csname algocf@u#1opt\endcsname}{\csname algocf@u#1\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@l#1opt\endcsname(##1)##2##3{% \lIf(){}{}
+  \csname #1@ifthen\endcsname{##2} ##3\algocf@endline\ ##1\par}%
+\expandafter\def\csname algocf@u#1opt\endcsname(##1)##2##3{% \uIf(){}{}
+  \csname #1@ifthen\endcsname{##2} ##1\csname#1@noend\endcsname{##3}}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@l#1\endcsname[2]{% \lIf{}{}
+  \csname #1@ifthen\endcsname{##1} ##2}%
+\expandafter\algocf@mkcmd\csname algocf@u#1\endcsname[2]{% \uIf{}{}
+  \csname #1@ifthen\endcsname{##1}\csname#1@noend\endcsname{##2}}%
+%
+%%%% ElseIf {} endif
+%
+\@ifundefined{algocf@#2}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+% side text or not?
+\expandafter\def\csname#2\endcsname{% ElseIf
+  \@ifnextchar({\csname algocf@#2opt\endcsname}{\csname algocf@#2\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@#2opt\endcsname(##1)##2##3{% \ElseIf(){}{}
+  \csname #2@elseif\endcsname{##2} ##1\csname #1@endif\endcsname{##3}}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@#2\endcsname[2]{% \ElseIf{}{}
+  \csname #2@elseif\endcsname{##1}\csname #1@endif\endcsname{##2}}%
+%
+%%%% ElseIf
+%
+% side text or not?
+\expandafter\def\csname l#2\endcsname{% lElseIf
+  \@ifnextchar({\csname algocf@l#2opt\endcsname}{\csname algocf@l#2\endcsname}}%
+\expandafter\def\csname u#2\endcsname{% uElseIf
+  \@ifnextchar({\csname algocf@u#2opt\endcsname}{\csname algocf@u#2\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@l#2opt\endcsname(##1)##2##3{% \lElseIf(){}{}
+  \csname #2@elseif\endcsname{##2} ##3\algocf@endline\ ##1\par}%
+\expandafter\def\csname algocf@u#2opt\endcsname(##1)##2##3{% \uElseIf(){}{}
+  \csname #2@elseif\endcsname{##2} ##1\csname #1@noend\endcsname{##3}}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@l#2\endcsname[2]{% \lElseIf{}{}
+  \csname #2@elseif\endcsname{##1} ##2}%
+\expandafter\algocf@mkcmd\csname algocf@u#2\endcsname[2]{% \uElseIf{}{}
+  \csname #2@elseif\endcsname{##1}\csname #1@noend\endcsname{##2}}%
+%
+%%%% Else {} endif
+%
+\@ifundefined{algocf@#3}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+% side text or not?
+\expandafter\def\csname#3\endcsname{% Else
+  \@ifnextchar({\csname algocf@#3opt\endcsname}{\csname algocf@#3\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@#3opt\endcsname(##1)##2{% \Else(){}
+  \csname #3@else\endcsname\ ##1\csname #1@endif\endcsname{##2}}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@#3\endcsname[1]{% \Else{}
+  \csname #3@else\endcsname\csname #1@endif\endcsname{##1}}%
+%
+%%%% Else 
+%
+% side text or not?
+\expandafter\def\csname l#3\endcsname{% lElse
+  \@ifnextchar({\csname algocf@l#3opt\endcsname}{\csname algocf@l#3\endcsname}}%
+\expandafter\def\csname u#3\endcsname{% uElse
+  \@ifnextchar({\csname algocf@u#3opt\endcsname}{\csname algocf@u#3\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@l#3opt\endcsname(##1)##2{% \lElse(){}
+  \csname #3@else\endcsname\ ##2\algocf@endline\ ##1\par}%
+\expandafter\def\csname algocf@u#3opt\endcsname(##1)##2{% \uElse(){}
+  \csname #3@else\endcsname\ ##1\csname #1@noend\endcsname{##2}}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@l#3\endcsname[1]{% \lElse{}
+  \csname #3@else\endcsname\ ##1}%
+\expandafter\algocf@mkcmd\csname algocf@u#3\endcsname[1]{% \uElse{}
+  \csname #3@else\endcsname\csname #1@noend\endcsname{##1}}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% For macros
+%
+\newcommand{\SetKwFor}[4]{%
+\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+% side text or not? 
+\expandafter\def\csname#1\endcsname{%For
+  \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}%
+\expandafter\def\csname l#1\endcsname{%For
+  \@ifnextchar({\csname algocf@l#1opt\endcsname}{\csname algocf@l#1\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \For(){}{}
+  \KwSty{#2} \ArgSty{##2} \KwSty{#3} ##1\algocf@block{##3}{\@algocf@endoption{#4}}}%
+\expandafter\def\csname algocf@l#1opt\endcsname(##1)##2##3{% \lFor(){}{}
+  \KwSty{#2} \ArgSty{##2} \KwSty{#3} ##3\algocf@endline\ ##1\par}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \For{}{}
+  \KwSty{#2} \ArgSty{##1} \KwSty{#3}\algocf@block{##2}{\@algocf@endoption{#4}}}%
+\expandafter\algocf@mkcmd\csname algocf@l#1\endcsname[2]{% \lFor{}{}
+  \KwSty{#2} \ArgSty{##1} \KwSty{#3} ##2}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Repeat macros
+%
+\newcommand{\SetKwRepeat}[3]{%
+\@ifundefined{algocf@#1}{\let\algocf@mkcmd=\newcommand}{\let\algocf@mkcmd=\renewcommand}%
+% side text or not?
+\expandafter\def\csname#1\endcsname{% Repeat
+  \@ifnextchar({\csname algocf@#1opt\endcsname}{\csname algocf@#1\endcsname}}%
+\expandafter\def\csname l#1\endcsname{% lRepeat
+  \@ifnextchar({\csname algocf@l#1opt\endcsname}{\csname algocf@l#1\endcsname}}%
+% with side text
+\expandafter\def\csname algocf@#1opt\endcsname(##1)##2##3{% \Repeat(){}{}
+  \KwSty{#2} ##1\algocf@group{##3}\KwSty{#3} \ArgSty{##2}%
+  \@ifnextchar({\csname algocf@#1optopt\endcsname}{\@endalgoln}%
+}%
+\expandafter\def\csname algocf@#1optopt\endcsname(##1){% \Repeat(){}{}()
+  ##1\@endalgoln}%
+\expandafter\def\csname algocf@l#1opt\endcsname(##1)##2##3{% \lRepeat(){}{}
+  \KwSty{#2} ##3 \KwSty{#3} \ArgSty{##2}\algocf@endline\ ##1\par}%
+% without side text
+\expandafter\algocf@mkcmd\csname algocf@#1\endcsname[2]{% \Repeat{}{}
+  \KwSty{#2}\algocf@group{##2}\KwSty{#3} \ArgSty{##1}%
+  \@ifnextchar({\csname algocf@#1optopt\endcsname}{\@endalgoln}%
+}%
+\expandafter\algocf@mkcmd\csname algocf@l#1\endcsname[2]{% \lRepeat{}{}
+  \KwSty{#2} ##2 \KwSty{#3} \ArgSty{##1}}%
+}%
+%
+% 
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%        Environments definitions     %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%%
+%% Caption management
+%%
+% for the following macros:
+% #1 is given by caption and is equal to fnum@algocf
+% #2 is the text given in argument by the user in the \caption macro
+%
+%%%%% text of caption
+\newcommand{\algocf@captionlayout}[1]{#1}%
+\newcommand{\SetAlgoCaptionLayout}[1]{%
+  \renewcommand{\algocf@captionlayout}[1]{\csname #1\endcsname{##1}}}%
+\newcommand{\algocf@capseparator}{:}%
+\newcommand{\SetAlgoCaptionSeparator}[1]{\renewcommand{\algocf@capseparator}{#1}}%
+\newcommand{\algocf@captiontext}[2]{%
+  \algocf@captionlayout{\AlCapSty{\AlCapFnt #1\algocf@typo\algocf@capseparator}\nobreakspace%
+    \AlCapNameSty{\AlCapNameFnt{}#2}}}% text of caption
+%
+%%%%% default caption of algorithm: used if no specific style caption is defined
+\newcommand{\algocf@makecaption}[2]{%
+  \addtolength{\hsize}{\algomargin}%
+  \sbox\@tempboxa{\algocf@captiontext{#1}{#2}}%
+  \ifdim\wd\@tempboxa >\hsize%     % if caption is longer than a line
+    \hskip .5\algomargin%
+    \parbox[t]{\hsize}{\algocf@captiontext{#1}{#2}}% then caption is not centered
+  \else%
+    \global\@minipagefalse%
+    \hbox to\hsize{\hfil\box\@tempboxa\hfil}% else caption is centered
+  \fi%
+  \addtolength{\hsize}{-\algomargin}%
+}%
+%
+\newsavebox\algocf@capbox%
+\newcommand{\algocf@makecaption@plain}[2]{%
+  \global\sbox\algocf@capbox{\algocf@makecaption{#1}{#2}}}%
+\newcommand{\algocf@makecaption@boxed}[2]{%
+  \addtolength{\hsize}{-\algomargin}%
+  \global\sbox\algocf@capbox{\algocf@makecaption{#1}{#2}}%
+  \addtolength{\hsize}{\algomargin}%
+ }%
+%
+\newcommand{\algocf@makecaption@tworuled}[2]{\algocf@makecaption@ruled{#1}{#2}}%
+\newcommand{\algocf@makecaption@algoruled}[2]{\algocf@makecaption@ruled{#1}{#2}}%
+\newcommand{\algocf@makecaption@boxruled}[2]{\algocf@makecaption@ruled{#1}{#2}}%
+\newcommand{\algocf@makecaption@ruled}[2]{%
+  \global\sbox\algocf@capbox{\hskip\AlCapHSkip% .5\algomargin%
+    \parbox[t]{\hsize}{\algocf@captiontext{#1}{#2}}}% then caption is not centered
+}%
+%
+\newlength{\algoheightruledefault}\setlength{\algoheightruledefault}{0.8pt}%
+\newlength{\algoheightrule}\setlength{\algoheightrule}{\algoheightruledefault}%
+\newlength{\algotitleheightruledefault}\setlength{\algotitleheightruledefault}{0.8pt}%
+\newlength{\algotitleheightrule}\setlength{\algotitleheightrule}{\algotitleheightruledefault}%
+\newcommand{\algocf@caption@plain}{\vskip\AlCapSkip\box\algocf@capbox}%
+\newcommand{\algocf@caption@boxed}{\vskip\AlCapSkip\box\algocf@capbox}%
+\newcommand{\algocf@caption@ruled}{\box\algocf@capbox\kern\interspacetitleruled\hrule  height\algotitleheightrule depth0pt\kern\interspacealgoruled}%
+\newcommand{\algocf@caption@tworuled}{\box\algocf@capbox\kern\interspacetitleruled}%
+\newcommand{\algocf@caption@algoruled}{\algocf@caption@ruled}%
+\newcommand{\algocf@caption@boxruled}{%
+  \addtolength{\hsize}{-0.8pt}%
+  \hbox to\hsize{%
+    \vrule%\hskip-0.35pt%
+    \vbox{%
+      \hrule\vskip\interspacetitleboxruled%
+      \hbox to\hsize{\unhbox\algocf@capbox\hfill}\vskip\interspacetitleboxruled%
+    }% 
+    %\hskip-0.35pt%
+    \vrule%
+  }\nointerlineskip%
+  \addtolength{\hsize}{0.8pt}%
+}%
+%
+%
+%%%% set caption for the environment
+\newcommand{\algocf@captionref}{%
+  \renewcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\algocf@algocfref}}%
+  \addtocounter{algocf}{-1}% \caption do a refstepcounter, so we restore the precedent value
+  \let\old@thealgocf=\thealgocf\renewcommand{\thealgocf}{{\relsize{\algocf@refrelsize}\algocf@algocfref}}%
+  \gdef\@currentlabel{\algocf@algocfref}% let the label use the new ref
+}%
+%
+% Unfortunatly, we also need our own caption to set some specific stuff for special references. But after these
+% settings, we call the original caption.
+%
+\long\def\algocf@caption@algo#1[#2]#3{%
+  \ifthenelse{\equal{\algocf@algocfref}{\relax}}{}{\algocf@captionref}%
+  \@ifundefined{hyper@refstepcounter}{\relax}{% if hyper@refstepcounter undefind, no hyperref, else...
+    \ifthenelse{\equal{\algocf@algocfref}{\relax}}{\renewcommand{\theHalgocf}{\thealgocf}}{% take algocf as Href
+      \renewcommand{\theHalgocf}{\algocf@algocfref}}%else if SetAlgoRefName done, take this name as ref.
+    \hyper@refstepcounter{algocf}%set algocf as category of ref
+  }%
+  \algocf@latexcaption{#1}[#2]{#3}% call original caption
+}%
+%
+% beamer define is own caption overrinding latex caption!
+% as we need it, we have put here the original definition
+% to handle manual ref, unfortunately we have to add one line to handle algocf@algocfref
+\long\def\algocf@latexcaption#1[#2]#3{% original definition of caption
+  \par%
+  \addcontentsline{\csname ext@#1\endcsname}{#1}%
+  {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
+  \begingroup%
+  \@parboxrestore%
+  \if@minipage%
+    \@setminipage%
+  \fi%
+  \normalsize%
+  \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par%
+  \endgroup%
+}%
+%
+% \ifx\beamer@makecaption\undefined%
+% \else% beamer detected
+\ifx\@makecaption\undefined%
+\newcommand{\@makecaption}[2]{\relax}%
+\fi%
+%%
+
+%
+% more and more packages redefine \@caption instead of just \@makecaption which makes algorithm2e
+% caption not works since based on standard \@caption. So we force the definition of \@caption to be
+% the standard one (the one from LaTeX) inside algorithm environment.
+%
+% unfortunately, makecaption is called with \ignorespace #3 so 
+% we can't do the @currentlabel definition inside \algocf@captionproctext
+\long\def\algocf@caption@proc#1[#2]#3{%
+  \ifthenelse{\boolean{algocf@nokwfunc}}{\relax}{%
+    \SetKwFunction{\algocf@captname#3@}{\algocf@captname#3@}%
+  }%
+  % we tell hyperref to use algocfproc as category and to take the appropriate ref.
+  \ifthenelse{\boolean{algocf@func}}{\def\@proc@func{algocffunc}}{\def\@proc@func{algocfproc}}%
+  \@ifundefined{hyper@refstepcounter}{\relax}{% if hyper@refstepcounter undefind, no hyperref, else...
+    \ifthenelse{\boolean{algocf@procnumbered}}{% 
+      \expandafter\def\csname theH\@proc@func\endcsname{\algocf@captname#3@}%if procnumbered, take \thealgocf as ref
+    }{%
+      \expandafter\def\csname theH\@proc@func\endcsname{\algocf@captname#3@}%else take procedure or function name
+    }%
+    \hyper@refstepcounter{\@proc@func}%
+  }%
+  \ifthenelse{\boolean{algocf@procnumbered}}{\relax}{%
+    \addtocounter{algocf}{-1}% \caption do a refstepcounter, so we restore the precedent value
+    \gdef\@currentlabel{\algocf@captname#3@}% let the label be the name of the function, not the counter
+  }%
+  \ifthenelse{\equal{\algocf@captparam#2@}{\arg@e}}{% if no paramater, we remove the ()
+    \algocf@latexcaption{#1}[\algocf@procname\nobreakspace\algocf@captname#2@]{#3}%
+  }{%                                                 else we give the complete name
+    \algocf@latexcaption{#1}[\algocf@procname\nobreakspace#2]{#3}%
+  }%
+}%
+%%
+%%% setcaption
+\newcommand{\algocf@setcaption}{%
+  \ifthenelse{\boolean{algocf@procenvironment}}{% if proc environment, caption text must be changed
+    \let\algocf@oldcaptiontext=\algocf@captiontext%
+    \renewcommand{\algocf@captiontext}[2]{%
+      \algocf@captionproctext{##1}{##2}%
+    }%
+  }{}%
+  \let\algocf@savecaption=\@caption%
+  \ifthenelse{\boolean{algocf@procenvironment}}{\let\@caption=\algocf@caption@proc}{\let\@caption=\algocf@caption@algo}%
+  \let\algocf@oldmakecaption=\@makecaption%
+  \renewcommand{\@makecaption}[2]{%
+    \expandafter\csname algocf@makecaption@\algocf@style\endcsname{##1}{##2}%
+  }%
+}%
+%
+%%%%% reset caption
+%
+% since we have force the LaTeX caption for algorithm environment, we must go back to the caption
+% used in the text.
+\newcommand{\algocf@resetcaption}{%
+  \ifthenelse{\boolean{algocf@procenvironment}}{% if proc environment
+    \let\thealgocf=\old@thealgocf% restore normal counter printing
+    \let\algocf@captiontext=\algocf@oldcaptiontext% restore normal caption text
+  }{}%
+  \let\@caption=\algocf@savecaption% now restore caption outside algo/proc/func environment
+  \let\@makecaption=\algocf@oldmakecaption% and restore makecaption outside outside algo/proc/func environment
+  \algocf@resetfnum%
+}%
+%
+%%%%% nocaptionofalgo and restorecaptionofalgo --
+\newcommand{\NoCaptionOfAlgo}{%
+  \let\@old@algocf@captiontext=\algocf@captiontext%
+  \renewcommand{\algocf@captiontext}[2]{\AlCapNameSty{\AlCapNameFnt{}##2}}%
+}%
+\newcommand{\RestoreCaptionOfAlgo}{%
+  \let\algocf@captiontext=\@old@algocf@captiontext%
+}%
+%
+% ----------------------  algocf environment
+%
+\newcounter{algocfline}%                    % new counter to make lines numbers be internally 
+\setcounter{algocfline}{0}%                 % different in different algorithms
+\newcounter{algocfproc}% counter to count all algo environment (proc, func), just used by hyperref to avoir "same
+\setcounter{algocfproc}{0}% identifier" error caused by algocf being set to '-' for procedure or function or not
+  % changed if no caption is given.
+%
+\expandafter\ifx\csname algocf@within\endcsname\relax% if \algocf@within doesn't exist
+\newcounter{algocf}%                        % just define a new counter
+\renewcommand{\thealgocf}{\@arabic\c@algocf}% and the way it is printed
+\else%                                     else
+\newcounter{algocf}[\algocf@within]%        % counter is numbered within \algocf@within
+\renewcommand\thealgocf{\csname the\algocf@within\endcsname.\@arabic\c@algocf}%
+\fi%
+%
+\def\fps@algocf{htbp}%        % default
+\def\ftype@algocf{10}%        % float type
+\def\ext@algocf{\algocf@list} % loa by default, lof if figure option used
+\newcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf}}%
+\newcommand{\algocf@resetfnum}{\renewcommand{\fnum@algocf}[1]{\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf}}}%
+\newenvironment{algocf}%      % float environment for algorithms
+               {\@float{algocf}}%
+               {\end@float}%
+\newenvironment{algocf*}%     % float* environment for algorithms
+               {\@dblfloat{algocf}}%
+               {\end@dblfloat}%
+%
+\def\algocf@seclistalgo{}%
+\ifx\l@chapter\undefined\let\algocf@seclistalgo=\section\else\let\algocf@seclistalgo=\chapter\fi%
+\@ifundefined{if@restonecol}{\newif\if@restonecol}\relax%
+\newcommand\listofalgocfs{%
+     \ifx\algocf@seclistalgo\chapter%
+      \if@twocolumn\@restonecoltrue\onecolumn\else\@restonecolfalse\fi%
+    \fi%
+     \algocf@seclistalgo*{\listalgorithmcfname}%
+       \@mkboth{\MakeUppercase\listalgorithmcfname}%
+               {\MakeUppercase\listalgorithmcfname}%
+     \@starttoc{loa}%
+    \ifx\algocf@seclistalgo\chapter%
+      \if@restonecol\twocolumn\fi%
+    \fi%
+}
+%
+\newcommand*\l@algocf{\@dottedtocline{1}{1em}{2.3em}}% line of the list
+%
+% ----------------------  algorithm environment
+%
+%%%%%%%
+%%
+%% Algorithm environment definition
+%%
+%%%%%%%
+%%
+%
+\newsavebox\algocf@algoframe%
+\def\@algocf@pre@plain{\relax}%  action to be done before printing the algo.
+\def\@algocf@post@plain{\relax}% action to be done after printing the algo.
+\def\@algocf@capt@plain{bottom}% where the caption should be localized.
+\def\@algocf@pre@boxed{\noindent\begin{lrbox}{\algocf@algoframe}}
+\def\@algocf@post@boxed{\end{lrbox}\framebox[\hsize]{\box\algocf@algoframe}\par}%
+\def\@algocf@capt@boxed{under}%
+\def\@algocf@pre@ruled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}%
+\def\@algocf@post@ruled{\kern\interspacealgoruled\hrule height\algoheightrule\relax}%
+\def\@algocf@capt@ruled{top}%
+\def\@algocf@pre@algoruled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}%
+\def\@algocf@post@algoruled{\kern\interspacealgoruled\hrule height\algoheightrule \relax}%
+\def\@algocf@capt@algoruled{top}%
+\def\@algocf@pre@tworuled{\hrule height\algoheightrule depth0pt\kern\interspacetitleruled}%
+\def\@algocf@post@tworuled{\kern\interspacealgoruled\hrule height\algoheightrule\relax}%
+\def\@algocf@capt@tworuled{top}%
+\def\@algocf@pre@boxruled{\noindent\begin{lrbox}{\algocf@algoframe}}%
+\def\@algocf@post@boxruled{\end{lrbox}\framebox[\hsize]{\box\algocf@algoframe}\par}%
+\def\@algocf@capt@boxruled{above}%
+%
+\newcommand{\noalgocaption}{\def\@algocf@capt@ruled{none}}
+%
+%% before algocf or figure environment
+\newcommand{\@algocf@init@caption}{%
+  \ifthenelse{\boolean{algocf@procenvironment}}{% if we are inside a procedure/function environment
+    \@algocf@proctitleofalgo% set Titleofalgo to Procedure: or Function:
+                            % accordingly to the environment
+    \let\old@thealgocf=\thealgocf\ifthenelse{\boolean{algocf@procnumbered}}{\relax}{%
+      \renewcommand{\thealgocf}{-}}%
+  }{% else inside environment algorithm
+    \@algocf@algotitleofalgo% fix name for \Titleofalgo to \algorithmcfname
+  }%
+  \algocf@setcaption%       set caption to our caption style
+}%
+%
+\newcommand{\@algofloatboxreset}{\@setminipage}
+\newcommand{\@algocf@init}{%
+  \refstepcounter{algocfline}%
+  \stepcounter{algocfproc}%to have a different counter for each environment and being abble to make the difference
+    %between href of algoline in different algorithms.
+  \ifthenelse{\boolean{algocf@optnoend}}{%
+      \renewcommand{\algocf@block}[2]{\algocf@group{##1}}%
+    }{%
+      \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}%
+    }%
+}%
+%% after the end of algocf or figure environment
+\newcommand{\@algocf@term@caption}{%
+  \algocf@resetcaption% restore original caption
+}%
+%
+\newcommand{\@algocf@term}{%
+  \setboolean{algocf@algoH}{false}% no H by default
+  \ifthenelse{\boolean{algocf@optnoend}}{%
+    \renewcommand{\algocf@block}[2]{\algocf@@block{##1}{##2}}%
+  }{%
+    \renewcommand{\algocf@block}[2]{\algocf@group{##1}}%
+  }%
+  \SetAlgoRefName{\relax}%
+}%
+%
+%%%%%%%%%%%%%%%%%
+%% makethealgo: macro which print effectively the algo in its box
+%% 
+\newsavebox\algocf@algobox%
+\newcommand{\algocf@makethealgo}{%
+  \vtop{%
+    % place caption above if needed  bye the style
+    \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{above}}%
+    {\csname algocf@caption@\algocf@style\endcsname}{}%
+    %
+    % precommand according to the style
+    \csname @algocf@pre@\algocf@style\endcsname%
+    % place caption at top if needed  bye the style
+     \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{top}}%
+     {\csname algocf@caption@\algocf@style\endcsname}{}%
+    %
+    \box\algocf@algobox% the algo
+    % place caption at bottom if needed  bye the style
+     \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{bottom}}%
+     {\csname algocf@caption@\algocf@style\endcsname}{}%
+    % postcommand according to the style
+    \csname @algocf@post@\algocf@style\endcsname%
+    % place caption under if needed  bye the style
+     \ifthenelse{\equal{\csname @algocf@capt@\algocf@style\endcsname}{under}}%
+     {\csname algocf@caption@\algocf@style\endcsname}{}%
+  }%
+}%
+%%%%%%%%%%%%%%%%%%%
+%
+%% at the beginning of algocf or figure environment
+\newcommand{\@algocf@start}{%
+  \@algoskip%
+  \begin{lrbox}{\algocf@algobox}%
+  \setlength{\algowidth}{\hsize}%
+  \vbox\bgroup% save all the algo in a box
+  \hbox to\algowidth\bgroup\hbox to \algomargin{\hfill}\vtop\bgroup%
+  \ifthenelse{\boolean{algocf@slide}}{\parskip 0.5ex\color{black}}{}%
+  % initialization
+  \addtolength{\hsize}{-1.5\algomargin}%
+  \let\@mathsemicolon=\;\def\;{\ifmmode\@mathsemicolon\else\@endalgoln\fi}%
+  \raggedright\AlFnt{}%
+  \ifthenelse{\boolean{algocf@slide}}{\IncMargin{\skipalgocfslide}}{}%
+  \@algoinsideskip%
+}%
+%
+%% at the end of algocf or figure environment
+\newcommand{\@algocf@finish}{%
+  \@algoinsideskip%
+  \egroup%end of vtop which contain all the text
+  \hfill\egroup%end of hbox wich contains [margin][vtop]
+  \ifthenelse{\boolean{algocf@slide}}{\DecMargin{\skipalgocfslide}}{}%
+  %
+  \egroup%end of main vbox
+  \end{lrbox}%
+  \algocf@makethealgo% print the algo
+  \@algoskip%
+  % restore dimension and macros
+  \setlength{\hsize}{\algowidth}%
+  \lineskip\normallineskip\setlength{\skiptotal}{\@defaultskiptotal}%
+  \let\;=\@mathsemicolon%  
+}%
+%
+%%%%%%%%%%%%%%%%%%%%
+%% basic definition of the environment algorithm
+%%
+%
+\newboolean{algocf@procenvironment}\setboolean{algocf@procenvironment}{false}%
+\newboolean{algocf@func}\setboolean{algocf@func}{false}%
+\newboolean{algocf@algoH}\setboolean{algocf@algoH}{false}%
+\newboolean{algocf@algostar}\setboolean{algocf@algostar}{false}%
+%
+%%% environment for {algorithm}[H]
+\newenvironment{algocf@Here}{\noindent%
+  \def\@captype{algocf}% if not defined, caption exit with an error
+  \begin{minipage}{\hsize}%
+}{%
+  \end{minipage}%\par%
+}%
+%%% real algorithm environment which manages H and * option
+%    \let\algocf@originalfloatboxreset=\@floatboxreset%
+%    \let\@floatboxreset=\@algofloatboxreset%
+\newenvironment{algocf@algorithm}[1][htbp]{
+   \@algocf@init%
+   \ifthenelse{\equal{\algocf@float}{figure}}{% if option figure set
+     \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* with figure option
+       \begin{figure*}[#1]% call figure*
+     }{% else algorithm environment with figure option
+       \begin{figure}[#1]%  call figure
+     }%
+   }{% else normal algorithm environment
+     \@algocf@init@caption%
+     \ifthenelse{\equal{#1}{H}}{% if [H] algorithm
+       \if@twocolumn\@latex@error{[H] in two columns mode is not allowed for algorithms}\fi% TODO: SCREAM if H in two colums!
+       \setboolean{algocf@algoH}{true}\begin{algocf@Here}% call corresponding environment
+     }{% else floating algorithm environment
+       \ifthenelse{\boolean{algocf@algostar}}{% if algorithm*
+         \begin{algocf*}[#1]% call algocf*
+       }{% else algorithm environment
+         \begin{algocf}[#1]%  call algcf
+       }%
+     }%
+   }% fin test option figure ou pas
+   \@algocf@start% 
+   \@ResetCounterIfNeeded%
+   \algocf@linesnumbered\ignorespaces%
+}{%
+  \@algocf@finish%
+  \ifthenelse{\equal{\algocf@float}{figure}}{%
+     \ifthenelse{\boolean{algocf@algostar}}{% if algorithm* with figure option
+       \end{figure*}% call figure*
+     }{% else algorithm environment with figure option
+       \end{figure}%  call figure
+     }%
+  }{%
+    \@algocf@term@caption%
+    \ifthenelse{\boolean{algocf@algoH}}{% if [H] algorithm
+       \end{algocf@Here}\par% call corresponding environment
+     }{% else floating algorithm environment
+       \ifthenelse{\boolean{algocf@algostar}}{% if algorithm*
+         \end{algocf*}% call algocf*
+       }{% else algorithm environment
+         \end{algocf}%  call algocf
+       }%
+     }%
+  }%
+  \@algocf@term\ignorespacesafterend%
+}%
+%
+%%% user algorithm environment
+% \newenvironment{\algocf@envname}[1][htbp]{%
+%   \setboolean{algocf@algostar}{false}%
+%   \setboolean{algocf@procenvironment}{false}\gdef\algocfautorefname{\algorithmautorefname}%
+%   \begin{algocf@algorithm}[#1]\ignorespaces%
+% }{%
+%   \end{algocf@algorithm}\ignorespacesafterend%
+% }%
+
+% %%% user algorithm* environment
+% \newenvironment{\algocf@envname*}[1][htbp]{%
+%   \setboolean{algocf@algostar}{true}%
+%   \setboolean{algocf@procenvironment}{false}\gdef\algocfautorefname{\algorithmautorefname}%
+%   \begin{algocf@algorithm}[#1]\ignorespaces%
+% }{%
+%   \end{algocf@algorithm}\ignorespacesafterend%
+% }%
+%
+%%%%%%%%%%%%%%%%%%%%%%%
+%%%
+%
+% \expandafter\newcommand\csname\algocf@listofalgorithms\endcsname{%
+%   \ifthenelse{\equal{\algocf@float}{figure}}{\listoffigures}{\listofalgocfs}%
+% }%
+%%%
+%%%
+%
+% ----------------------  procedure and function environments
+%
+%
+% -- new style (used in particular in the caption of function and procedure environments)
+%
+% three macros to extract parts of the caption
+\gdef\algocf@captname#1(#2)#3@{#1}  % keep characters before the first brace
+\gdef\algocf@captparam#1(#2)#3@{#2} % keep character in between the braces
+\gdef\algocf@captother#1(#2)#3@{#3} % keep character after the braces
+%
+%%% Text of caption for Procedure or Function
+\newcommand{\algocf@captionproctext}[2]{%
+  {%
+    \ProcSty{\ProcFnt\algocf@procname\ifthenelse{\boolean{algocf@procnumbered}}{\nobreakspace\thealgocf\algocf@typo\algocf@capseparator}{\relax}}%
+    \nobreakspace\ProcNameSty{\ProcNameFnt\algocf@captname #2@}% Name of the procedure in ProcName Style. 
+    \ifthenelse{\equal{\algocf@captparam #2@}{\arg@e}}{}{% if no argument, write nothing
+      \ProcNameSty{\ProcNameFnt(}\ProcArgSty{\ProcArgFnt\algocf@captparam #2@}\ProcNameSty{\ProcNameFnt)}%else put arguments in ProcArgSty:
+    }% endif
+    \algocf@captother #2@%
+  }%
+}%
+%
+%
+% -- procedure and function environments are defined from algocf@algorithm environment
+%
+\newenvironment{procedure}[1][htbp]{%
+  \setboolean{algocf@algostar}{false}%
+  \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{false}%
+  \newcommand{\algocf@procname}{\@algocf@procname}\gdef\algocfprocautorefname{\procedureautorefname}%
+  \begin{algocf@algorithm}[#1]\ignorespaces%
+}{%
+  \end{algocf@algorithm}\ignorespacesafterend%
+}%
+\newenvironment{function}[1][htbp]{%
+  \setboolean{algocf@algostar}{false}%
+  \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{true}%
+  \newcommand{\algocf@procname}{\@algocf@funcname}\gdef\algocffuncautorefname{\functionautorefname}%
+  \begin{algocf@algorithm}[#1]\ignorespaces%
+}{%
+  \end{algocf@algorithm}\ignorespacesafterend%
+}%
+%
+\newenvironment{procedure*}[1][htbp]{%
+  \setboolean{algocf@algostar}{true}%
+  \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{false}%
+  \newcommand{\algocf@procname}{\@algocf@procname}\gdef\algocfprocautorefname{\procedureautorefname}%
+  \begin{algocf@algorithm}[#1]\ignorespaces%
+}{%
+  \end{algocf@algorithm}\ignorespacesafterend%
+}%
+\newenvironment{function*}[1][htbp]{%
+  \setboolean{algocf@algostar}{true}%
+  \setboolean{algocf@procenvironment}{true}\setboolean{algocf@func}{true}%
+  \newcommand{\algocf@procname}{\@algocf@funcname}\gdef\algocffuncautorefname{\functionautorefname}%
+  \begin{algocf@algorithm}[#1]\ignorespaces%
+}{%
+  \end{algocf@algorithm}\ignorespacesafterend%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%
+%% definition of algondfloat environment
+%%
+\ifthenelse{\boolean{algocf@endfloat}}{% if endfloat option then
+\newcommand{\algoplace}{% macro which is used to writhe algorithm about there
+   \begin{center}%
+     [\algorithmcfname~\thepostfig\ about here.]%
+   \end{center}%
+}%
+\newcommand{\algoendfloat}{% use as a \begin{algoendfloat} environment to start scanning of line
+%  \immediate\openout\@mainfff\jobname.fff%
+  \efloat@condopen{fff}
+  \efloat@iwrite{fff}{\string\begin{\algocf@envname}}%
+    \if@domarkers%
+       \ifthenelse{\equal{\algocf@list}{lof}}{%
+         \addtocounter{postfig}{1}%
+       }{%
+         \addtocounter{postalgo}{1}%
+       }%
+       \algoplace%
+    \fi%
+    \bgroup%
+    \let\do\ef@makeinnocent\dospecials%
+    \ef@makeinnocent\^^L% and whatever other special cases
+    \endlinechar`\^^M \catcode`\^^M=12 \ef@xalgocfendfloat}%
+}{\relax}%%%% end of endfloat option ifthenelse
+%% some macros useful for endfloat option that cannot be defined inside the ifthenelse
+%scan algoendfloat algorithm and write the text into .fff file
+{\catcode`\^^M=12 \endlinechar=-1 %
+ \gdef\ef@xalgocfendfloat#1^^M{% scan the lines inside algoendfloat environment being read by latex
+   \def\test{#1}% test is the line being currently scan by latex
+   \ifx\test\ef@endalgocftest% if it is \end{algoendfloat}
+     \def\next{% define next as to not continue the scan and write \end{algorithm} into .fff file
+       \egroup\end{algoendfloat}%
+       \efloat@iwrite{fff}{\string\end{\algocf@envname}}%
+       \efloat@iwrite{fff}{\string\efloatseparator}%
+       \efloat@iwrite{fff}{ }%
+     }%
+     \else% else write the current line being scanned by latex and set next to continue the scan
+       \efloat@iwrite{fff}{#1}%
+       \let\next\ef@xalgocfendfloat%
+     \fi% endif
+     \next}% next is continue if it was else condition, else it does not continue the scan and write end to file
+}%
+% test if the scan is finish by looking at the string \end{algoendfloat}
+{\escapechar=-1%
+ \xdef\ef@endalgocftest{\string\\end\string\{algoendfloat\string\}}%
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% 
+\newcommand{\TitleOfAlgo}[1]{\@titleprefix\ 
+  \TitleSty{#1}\par\smallskip}%
+%
+\newcommand{\SetAlgorithmName}[3]{%
+  \renewcommand{\listalgorithmcfname}{#3}%
+  \renewcommand{\algorithmcfname}{#1}%
+  \renewcommand{\algorithmautorefname}{#2}%
+}%
+%
+\newcommand{\algocf@refrelsize}{-2}\newcommand{\SetAlgoRefRelativeSize}[1]{\renewcommand{\algocf@refrelsize}{#1}}%
+\newcommand{\SetAlgoRefName}[1]{%
+  \renewcommand{\algocf@algocfref}{#1}%
+}%
+%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% 
+% -------------------------   Default Definitions
+%
+%%
+%%
+%
+\SetKwComment{tcc}{/* }{ */}%
+\SetKwComment{tcp}{// }{}%
+%
+%\newcommand{\algocf@defaults@common}{
+%
+%
+% french keywords
+%
+%\SetKwInOut{AlgDonnees}{Donn\'ees}\SetKwInOut{AlgRes}{R\'esultat}
+\SetKwInput{Donnees}{Donn\'ees}%
+\SetKwInput{Res}{R\'esultat}%
+\SetKwInput{Entree}{Entr\'ees}%
+\SetKwInput{Sortie}{Sorties}%
+\SetKw{KwA}{\`a}%
+\SetKw{Retour}{retourner}%
+\SetKwBlock{Deb}{d\'ebut}{fin}%
+\SetKwRepeat{Repeter}{r\'ep\'eter}{jusqu'\`a}%
+%
+\SetKwIF{Si}{SinonSi}{Sinon}{si}{alors}{sinon si}{sinon}{fin si}%
+\SetKwSwitch{Suivant}{Cas}{Autre}{suivant}{faire}{cas o\`u}{autres cas}{fin d'alternative}%
+\SetKwFor{Pour}{pour}{faire}{fin pour}%
+\SetKwFor{PourPar}{pour}{faire en parallèle}{fin pour}%
+\SetKwFor{PourCh}{pour chaque}{faire}{fin pour chaque}%
+\SetKwFor{PourTous}{pour tous les}{faire}{fin pour tous}%
+\SetKwFor{Tq}{tant que}{faire}{fin tq}%
+%
+% english keywords
+%
+\SetKwInput{KwIn}{Input}%
+\SetKwInput{KwOut}{Output}%
+\SetKwInput{KwData}{Data}%
+\SetKwInput{KwResult}{Result}%
+\SetKw{KwTo}{to}
+\SetKw{KwRet}{return}%
+\SetKw{Return}{return}%
+\SetKwBlock{Begin}{begin}{end}%
+\SetKwRepeat{Repeat}{repeat}{until}%
+%
+\SetKwIF{If}{ElseIf}{Else}{if}{then}{else if}{else}{end if}%
+\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{end switch}%
+\SetKwFor{For}{for}{do}{end for}%
+\SetKwFor{ForPar}{for}{do in parallel}{end forpar}
+\SetKwFor{ForEach}{foreach}{do}{end foreach}%
+\SetKwFor{ForAll}{forall the}{do}{end forall}%
+\SetKwFor{While}{while}{do}{end while}%
+%
+% --- German keywords
+%
+\SetKwInput{Ein}{Eingabe}%KwIn
+\SetKwInput{Aus}{Ausgabe}%KwOut
+\SetKwInput{Daten}{Daten}%KwData
+\SetKwInput{Ergebnis}{Ergebnis}%KwResult
+\SetKw{Bis}{bis}%KwTo
+\SetKw{KwZurueck}{zur\"uck}%KwRet
+\SetKw{Zurueck}{zur\"uck}%Return
+\SetKwBlock{Beginn}{Beginn}{Ende}%Begin
+\SetKwRepeat{Wiederh}{wiederhole}{bis}%Repeat
+%
+\SetKwIF{Wenn}{SonstWenn}{Sonst}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf
+\SetKwSwitch{Unterscheide}{Fall}{Anderes}{unterscheide}{tue}{Fall}{sonst}{Ende Unt.}%Switch
+\SetKwFor{Fuer}{f\"ur}{tue}{Ende f\"ur}%For
+\SetKwFor{FuerPar}{f\"ur}{tue gleichzeitig}{Ende gleichzeitig}%ForPar
+\SetKwFor{FuerJedes}{f\"ur jedes}{tue}{Ende f\"ur}%ForEach
+\SetKwFor{FuerAlle}{f\"ur alle}{tue}{Ende f\"ur}%ForAll
+\SetKwFor{Solange}{solange}{tue}{Ende solange}%While
+%
+% --- Czech keywords
+%
+\SetKwInput{Vst}{Vstup}%
+\SetKwInput{Vyst}{V\'{y}stup}%
+\SetKwInput{Vysl}{V\'{y}sledek}%
+%
+% --- Portuguese keywords
+%
+\SetKwInput{Entrada}{Entrada}%
+\SetKwInput{Saida}{Sa\'{i}da}%
+\SetKwInput{Dados}{Dados}%
+\SetKwInput{Resultado}{Resultado}%
+\SetKw{Ate}{at\'{e}}
+\SetKw{KwRetorna}{retorna}%
+\SetKw{Retorna}{retorna}%
+\SetKwBlock{Inicio}{in\'{i}cio}{fim}%
+\SetKwRepeat{Repita}{repita}{at\'{e}}%
+%
+\SetKwIF{Se}{SenaoSe}{Senao}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}%
+\SetKwSwitch{Selec}{Caso}{Outro}{selecione}{fa\c{c}a}{caso}{sen\~{a}o}{fim selec}%
+\SetKwFor{Para}{para}{fa\c{c}a}{fim para}%
+\SetKwFor{ParaPar}{para}{fa\c{c}a em paralelo}{fim para}
+\SetKwFor{ParaCada}{para cada}{fa\c{c}a}{fim para cada}%
+\SetKwFor{ParaTodo}{para todo}{fa\c{c}a}{fim para todo}%
+\SetKwFor{Enqto}{enquanto}{fa\c{c}a}{fim enqto}%
+%
+% --- Italian keywords
+%
+\SetKwInput{KwIng}{Ingresso}%
+\SetKwInput{KwUsc}{Uscita}%
+\SetKwInput{KwDati}{Dati}%
+\SetKwInput{KwRisult}{Risultato}%
+\SetKw{KwA}{a}%
+\SetKw{KwRitorna}{ritorna}%
+\SetKw{Ritorna}{ritorna}%
+\SetKwBlock{Inizio}{inizio}{fine}%
+\SetKwRepeat{Ripeti}{ripeti}{finché}%
+%
+\SetKwIF{Sea}{AltSe}{Altrimenti}{se}{allora}{altrimenti se}{allora}{fine se}%
+\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endsw}%
+\SetKwFor{Per}{per}{fai}{fine per}%
+\SetKwFor{PerPar}{per}{fai in parallelo}{fine per}%
+\SetKwFor{PerCiascun}{per ciascun}{fai}{fine per ciascun}%
+\SetKwFor{PerTutti}{per tutti i}{fai}{fine per tutti}%
+\SetKwFor{Finche}{finché}{fai}{fine finché}%
+%
+% --- End 
+%}
+%
+%\algocf@defaults@common
+%
+% option onelanguage redefinition
+%
+\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{french}}{%
+\SetKwInput{KwIn}{Entr\'ees}%
+\SetKwInput{KwOutSortie}{Sorties}%
+\SetKwInput{KwData}{Donn\'ees}%
+\SetKwInput{KwResult}{R\'esultat}%
+\SetKw{KwTo}{\`a}%
+\SetKw{KwRet}{retourner}%
+\SetKw{Return}{retourner}%
+\SetKwBlock{Begin}{d\'ebut}{fin}%
+\SetKwRepeat{Repeat}{r\'ep\'eter}{jusqu'\`a}%
+%
+\SetKwIF{If}{ElseIf}{Else}{si}{alors}{sinon si}{sinon}{fin si}%
+\SetKwSwitch{Switch}{Case}{Other}{suivant}{faire}{cas o\`u}{autres cas}{fin d'alternative}%
+\SetKwFor{For}{pour}{faire}{fin pour}%
+\SetKwFor{ForPar}{pour}{faire en parallèle}{fin pour}%
+\SetKwFor{ForEach}{pour chaque}{faire}{fin pour chaque}%
+\SetKwFor{ForAll}{pour tous les}{faire}{fin pour tous}%
+\SetKwFor{While}{tant que}{faire}{fin tq}%
+}{}%
+\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{german}}{%
+\SetKwInput{KwIn}{Eingabe}%KwIn
+\SetKwInput{KwOut}{Ausgabe}%KwOut
+\SetKwInput{KwData}{Daten}%KwData
+\SetKwInput{KwResult}{Ergebnis}%KwResult
+\SetKw{KwTo}{bis}%KwTo
+\SetKw{KwRet}{zur\"uck}%KwRet
+\SetKw{Return}{zur\"uck}%Return
+\SetKwBlock{Begin}{Beginn}{Ende}%Begin
+\SetKwRepeat{Repeat}{wiederhole}{bis}%Repeat
+%
+\SetKwIF{If}{ElseIf}{Else}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf
+\SetKwSwitch{Switch}{Case}{Other}{unterscheide}{tue}{Fall}{sonst}{Ende Unt.}%Switch
+\SetKwFor{For}{f\"ur}{tue}{Ende f\"ur}%For
+\SetKwFor{ForPar}{f\"ur}{tue gleichzeitig}{Ende gleichzeitig}%ForPar
+\SetKwFor{ForEach}{f\"ur jedes}{tue}{Ende f\"ur}%ForEach
+\SetKwFor{ForAll}{f\"ur alle}{tue}{Ende f\"ur}%ForAll
+\SetKwFor{While}{solange}{tue}{Ende solange}%While
+}{}%
+\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{portugues}}{%
+\SetKwInput{KwIn}{Entrada}%
+\SetKwInput{KwOut}{Sa\'{i}da}%
+\SetKwInput{KwData}{Dados}%
+\SetKwInput{KwResult}{Resultado}%
+\SetKw{KwTo}{at\'{e}}
+\SetKw{KwRet}{retorna}%
+\SetKw{Return}{retorna}%
+\SetKwBlock{Begin}{in\'{i}cio}{fim}%
+\SetKwRepeat{Repeat}{repita}{at\'{e}}%
+%
+\SetKwIF{If}{ElseIf}{Else}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}%
+\SetKwSwitch{Switch}{Case}{Other}{selecione}{fa\c{c}a}{caso}{sen\~{a}o}{fim selec}%
+\SetKwFor{For}{para}{fa\c{c}a}{fim para}%
+\SetKwFor{ForPar}{para}{fa\c{c}a em paralelo}{fim para}
+\SetKwFor{ForEach}{para cada}{fa\c{c}a}{fim para cada}%
+\SetKwFor{ForAll}{para todo}{fa\c{c}a}{fim para todo}%
+\SetKwFor{While}{enquanto}{fa\c{c}a}{fim enqto}%
+}{}%
+\ifthenelse{\boolean{algocf@optonelanguage}\AND\equal{\algocf@languagechoosen}{italiano}}{%
+\SetKwInput{KwIn}{Ingresso}%
+\SetKwInput{KwOut}{Uscita}%
+\SetKwInput{KwData}{Dati}%
+\SetKwInput{KwResult}{Risultato}%
+\SetKw{KwTo}{a}%
+\SetKw{KwRet}{ritorna}%
+\SetKw{Return}{ritorna}%
+\SetKwBlock{Begin}{inizio}{fine}%
+\SetKwRepeat{Repeat}{ripeti}{finché}%
+%
+\SetKwIF{If}{ElseIf}{Else}{se}{allora}{altrimenti se}{allora}{fine se}%
+\SetKwSwitch{Switch}{Case}{Other}{switch}{do}{case}{otherwise}{endsw}%
+\SetKwFor{For}{per}{fai}{fine per}%
+\SetKwFor{ForPar}{per}{fai in parallelo}{fine per}%
+\SetKwFor{ForEach}{per ciascun}{fai}{fine per ciascun}%
+\SetKwFor{ForAll}{per tutti i}{fai}{fine per tutti}%
+\SetKwFor{While}{finché}{fai}{fine finché}%
+}{}%
+%
+%%%% old commands compatibility
+%
+\ifthenelse{\boolean{algocf@oldcommands}}{%
+\newcommand{\SetNoLine}{\SetAlgoNoLine}%
+\newcommand{\SetVline}{\SetAlgoVlined}%
+\newcommand{\SetLine}{\SetAlgoLined}%
+%
+\newcommand{\dontprintsemicolon}{\DontPrintSemicolon}%
+\newcommand{\printsemicolon}{\PrintSemicolon}%
+\newcommand{\incmargin}[1]{\IncMargin{#1}}%
+\newcommand{\decmargin}[1]{\DecMargin{-#1}}%
+\newcommand{\setnlskip}[1]{\SetNlSkip{#1}}%
+\newcommand{\Setnlskip}[1]{\SetNlSkip{#1}}%
+\newcommand{\setalcapskip}[1]{\SetAlCapSkip{#1}}%
+\newcommand{\setalcaphskip}[1]{\SetAlCapHSkip{#1}}%
+\newcommand{\nlSty}[1]{\NlSty{#1}}%
+\newcommand{\Setnlsty}[3]{\SetNlSty{#1}{#2}{#3}}%
+\newcommand{\linesnumbered}{\LinesNumbered}%
+\newcommand{\linesnotnumbered}{\LinesNotNumbered}%
+\newcommand{\linesnumberedhidden}{\LinesNumberedHidden}%
+\newcommand{\showln}{\ShowLn}%
+\newcommand{\showlnlabel}[1]{\ShowLnLabel{#1}}%
+\newcommand{\nocaptionofalgo}{\NoCaptionOfAlgo}%
+\newcommand{\restorecaptionofalgo}{\RestoreCaptionOfAlgo}%
+\newcommand{\restylealgo}[1]{\RestyleAlgo{#1}}%
+%
+\newcommand{\Titleofalgo}[1]{\TitleOfAlgo{#1}}%
+\SetKwIF{gSi}{gSinonSi}{gSinon}{si}{alors}{sinon si}{sinon}{fin si}%
+\SetKwIF{gIf}{gElsIf}{gElse}{if}{then}{else if}{else}{end if}%
+\SetKwIF{gIf}{gElseIf}{gElse}{if}{then}{else if}{else}{end if}%
+\SetKwIF{gWenn}{gSonstWenn}{gSonst}{wenn}{dann}{sonst wenn}{sonst}{Ende wenn}%gIf
+\SetKwIF{gSe}{gSenaoSe}{gSenao}{se}{ent\~{a}o}{sen\~{a}o se}{sen\~{a}o}{fim se}%
+\SetKwIF{gSea}{gAltSe}{gAltrimenti}{se}{allora}{altrimenti se}{allora}{fine se}%
+}{%
+  \relax%
+}%
+%
+%
+%
+%%
+%%%
+%%%% END
\ No newline at end of file
diff --git a/BookGPU/algorithmicx.sty b/BookGPU/algorithmicx.sty
new file mode 100644 (file)
index 0000000..bfb7dab
--- /dev/null
@@ -0,0 +1,786 @@
+% ALGORITHMIC STYLE -- Released 27 APR 2005
+%    for LaTeX version 2e
+%
+% Copyright Szasz Janos
+% E-mail szaszjanos@users.sourceforge.net
+%
+%
+%      ***      INITIALISING      ***
+%
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{algorithmicx}[2005/04/27 v1.2 Algorithmicx]
+\RequirePackage{ifthen}
+\typeout{Document Style algorithmicx 1.2 - a greatly improved `algorithmic' style}
+%
+\newcounter{ALG@line}
+\newcounter{ALG@rem}
+\newcounter{ALG@nested}
+\newlength{\ALG@tlm}
+\newlength{\ALG@thistlm}
+\newcounter{ALG@Lnr}% the number of defined languages
+\setcounter{ALG@Lnr}{0}
+\newcounter{ALG@blocknr}% the number of defined blocks
+\setcounter{ALG@blocknr}{0}
+\newcounter{ALG@storecount}% number of stored but not restored algorithmic environments
+\setcounter{ALG@storecount}{0}
+\newcounter{ALG@tmpcounter}% only to decrement things
+\newlength\ALG@tmplength%
+%\def\algorithmicnoindent{-\ALG@tlm}
+%       \def\algbackskipbegin{\hskip\ALG@ctlm}
+%\def\algbackskip{\hskip-\ALG@thistlm}
+%\def\algbackskipend{\hskip-\ALG@tlm}
+\def\ALG@defaultindent{\algorithmicindent}
+%
+% conditional states
+%
+\def\ALG@newcondstate#1%
+   {%
+   \expandafter\edef\csname ALG@x@#1\endcsname%
+      {\expandafter\noexpand\csname @@ALG@x@#1\endcsname}%
+   }%
+\ALG@newcondstate{notext}%
+\ALG@newcondstate{default}%
+%
+%
+%      ***      ALGORITHMIC      ***
+%
+%
+\newcommand\ALG@beginblock[1]% #1 - indentation
+   {%
+      \ALG@thistlm\ALG@tlm%
+      \addtolength\ALG@tlm{#1}%
+      \addtocounter{ALG@nested}{1}%
+      \setlength\ALG@tmplength{#1}%
+      \expandafter\edef\csname ALG@ind@\theALG@nested\endcsname{\the\ALG@tmplength}%
+   }%
+\newcommand\ALG@endblock%
+   {%
+      \addtolength\ALG@tlm{-\csname ALG@ind@\theALG@nested\endcsname}%
+      \addtocounter{ALG@nested}{-1}%
+      \ALG@thistlm\ALG@tlm%
+   }%
+%
+%   algorithmic environment
+%
+\def\ALG@step%
+   {%
+   \addtocounter{ALG@line}{1}%
+   \addtocounter{ALG@rem}{1}%
+   \ifthenelse{\equal{\arabic{ALG@rem}}{\ALG@numberfreq}}%
+      {\setcounter{ALG@rem}{0}\alglinenumber{\arabic{ALG@line}}}%
+      {}%
+   }%
+\newenvironment{algorithmic}[1][0]%
+   {%
+   \edef\ALG@numberfreq{#1}%
+   \def\@currentlabel{\theALG@line}%
+   %
+   \setcounter{ALG@line}{0}%
+   \setcounter{ALG@rem}{0}%
+   %
+   \let\\\algbreak%
+   %
+   \expandafter\edef\csname ALG@currentblock@\theALG@nested\endcsname{0}%
+   \expandafter\let\csname ALG@currentlifetime@\theALG@nested\endcsname\relax%
+   %
+   \begin{list}%
+      {\ALG@step}%
+      {%
+      \rightmargin\z@%
+      \itemsep\z@ \itemindent\z@ \listparindent2em%
+      \partopsep\z@ \parskip\z@ \parsep\z@%
+      \labelsep 0.5em \topsep 0.2em%\skip 1.2em 
+      \ifthenelse{\equal{#1}{0}}%
+         {\labelwidth 0.5em}%
+         {\labelwidth 1.2em}%
+      \leftmargin\labelwidth \addtolength{\leftmargin}{\labelsep}% Ok. the perfect leftmargin :-))
+      \ALG@tlm\z@%
+      }%
+   \setcounter{ALG@nested}{0}%
+   \ALG@beginalgorithmic%
+   }%
+   {% end{algorithmic}
+   % check if all blocks are closed
+   \ALG@closeloops%
+   \expandafter\ifnum\csname ALG@currentblock@\theALG@nested\endcsname=0\relax%
+   \else%
+      \PackageError{algorithmicx}{Some blocks are not closed!!!}{}%
+   \fi%
+   \ALG@endalgorithmic%
+   \end{list}%
+   }%
+%
+%
+%   ***   Functional core   ***
+%
+%
+\def\ALG@makeentity#1% execute the entity (#1)
+   {%
+   \def\ALG@thisentity{#1}%
+   \expandafter\ifx\csname ALG@b@\ALG@L @#1@0\endcsname\relax%
+      \let\ALG@makenobeginrepeat\ALG@makenobegin\ALG@makenobeginrepeat% this entitie ends or continues blocks
+   \else%
+      \let\ALG@makebeginrepeat\ALG@makebegin\ALG@makebeginrepeat% this entitie can open blocks
+   \fi%
+   \ALG@entitiecommand%
+   }%
+%
+\def\ALG@makebegin% executes an entitie that can open blocks
+   {%
+   \expandafter\let\expandafter\ALG@thislifetime\csname ALG@currentlifetime@\theALG@nested\endcsname%
+   \ifx\ALG@thislifetime\relax%
+      \let\ALG@makebeginrepeat\ALG@doentity% in infinite block I can open my block
+   \else%
+      \ifnum\ALG@thislifetime>0\relax%
+         \ifnum\ALG@thislifetime>65534\else%
+            \setcounter{ALG@tmpcounter}{\ALG@thislifetime}% the block has 'space' for another included block
+            \addtocounter{ALG@tmpcounter}{-1}%
+            \expandafter\edef\csname ALG@currentlifetime@\theALG@nested\endcsname{\arabic{ALG@tmpcounter}}%
+         \fi%
+         \let\ALG@makebeginrepeat\ALG@doentity%
+      \else% the block needs to be closed
+         \expandafter\ifx\csname ALG@b@\ALG@L @\ALG@thisentity @\csname ALG@currentblock@\theALG@nested\endcsname\endcsname\relax%
+            \ALG@closebyforce% I can not close this block, continue after it is closed by force
+%            \ALG@makebegin%
+         \else%
+            % the block would be closed automatically, but this entitie can close it, so let's do it with the entity
+            \let\ALG@makebeginrepeat\ALG@doentity%
+         \fi%
+      \fi%
+   \fi%
+   \ALG@makebeginrepeat%
+   }%
+%
+\def\ALG@makenobegin% executes an entitie that can not open blocks
+   {%
+   \expandafter\ifx\csname ALG@currentlifetime@\theALG@nested\endcsname\relax%
+      \let\ALG@makenobeginrepeat\ALG@doentity% an infinite block must be broken
+   \else%
+      \expandafter\ifx\csname ALG@b@\ALG@L @\ALG@thisentity @\csname ALG@currentblock@\theALG@nested\endcsname\endcsname\relax%
+         \ALG@closebyforce% the block must be ended by force,
+      \else%
+         \let\ALG@makenobeginrepeat\ALG@doentity% I can continue / end this block, let's do it
+      \fi%
+   \fi%
+   \ALG@makenobeginrepeat%
+   }%
+%
+\def\ALG@dobegin%
+   {%
+   \ALG@beginblock{\csname ALG@i@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname}%
+   \expandafter\edef\csname ALG@currentblock@\theALG@nested\endcsname{\csname ALG@b@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname}%
+   \expandafter\ifx\csname ALG@c@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname\relax%
+      \expandafter\let\csname ALG@currentlifetime@\theALG@nested\endcsname\relax%
+   \else%
+      \expandafter\edef\csname ALG@currentlifetime@\theALG@nested\endcsname{\csname ALG@c@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname}%
+   \fi%
+   }%
+%
+\def\ALG@doend%
+   {%
+   \ALG@endblock%
+   }%
+%
+\def\ALG@doentity% the number of the closed block, the entitie
+   {%
+   \edef\ALG@thisblock{\csname ALG@currentblock@\theALG@nested\endcsname}%
+   \expandafter\ifx\csname ALG@b@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname\relax%
+      \def\ALG@thisblock{0}%
+   \fi%
+   \ALG@getentitytext%
+   \ifnum\ALG@thisblock=0\else\ALG@doend\fi%
+   \ifx\ALG@text\ALG@x@notext%
+      \item[]\nointerlineskip%\vskip-\prevdepth\nointerlineskip% bug: if there are no text and no lines, then this is wrong
+   \else%
+      \item%
+   \fi%
+   \noindent\hskip\ALG@tlm%
+   \expandafter\ifnum0=\csname ALG@b@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname\else%
+      \ALG@dobegin%
+   \fi%
+   \def\ALG@entitiecommand{\ALG@displayentity}%
+   }%
+%
+\def\ALG@getentitytext%
+   {%
+   \expandafter\let\expandafter\ALG@text\csname ALG@t@\ALG@L @\ALG@thisentity @\ALG@thisblock\endcsname%
+   \ifx\ALG@text\ALG@x@default%
+      % block specific - default
+      \expandafter\let\expandafter\ALG@text\csname ALG@t@\ALG@L @\ALG@thisentity\endcsname%
+      \ifx\ALG@text\ALG@x@default%
+         % block specific - default, language specific - default
+         \def\ALG@text{\ALG@deftext{\ALG@thisentity}}%
+      \fi%
+   \fi%
+   }%
+%
+\def\ALG@deftext{\csname ALG@deftext@\ALG@L\endcsname}%
+%
+\def\ALG@displayentity%
+   {%
+   \ifx\ALG@text\ALG@x@notext%
+      \let\ALG@text\relax%
+   \fi
+   \ALG@text%
+   }%
+%
+\def\ALG@closebyforce%
+   {%
+   \ALG@endblock%
+   }%
+%
+\def\ALG@closeloops% closes all finite blocks
+   {%
+   \expandafter\ifx\csname ALG@currentlifetime@\theALG@nested\endcsname\relax%
+   \else% only if it is finite
+      \ALG@closebyforce% the block must be ended by force,
+      \ALG@closeloops% the command still runs
+   \fi%
+   }%
+%
+%
+%   ***   Low level block/entitie defining commands   ***
+%
+%
+\def\ALG@bl@{0}% the BIG block
+\let\ALG@bl@@\ALG@bl@% the BIG block
+%
+%  Create a block
+%
+\def\ALG@createblock#1% create the block #1, if it does not exists
+   {%
+   \@ifundefined{ALG@bl@\ALG@Ld @#1}% needs to be created?
+      {%
+      \addtocounter{ALG@blocknr}{1}% increment the block counter
+      \expandafter\edef\csname ALG@bl@\ALG@Ld @#1\endcsname{\arabic{ALG@blocknr}}% set the block number
+      }%
+      {}%
+   }%
+%
+%  Get the block number
+%
+\def\ALG@getblocknumber#1{\csname ALG@bl@\ALG@Ld @#1\endcsname}%
+%
+%  Create an entitie
+%
+\def\ALG@createentitie#1% create the entitie #1, if it does not exists
+   {%
+   \expandafter\ALG@edefcmd\csname #1\endcsname{\noexpand\ALG@makeentity{#1}}%
+   \@ifundefined{ALG@t@\ALG@Ld @#1}% the entity text is defined in this language?
+      {%
+      \expandafter\let\csname ALG@t@\ALG@Ld @#1\endcsname\ALG@x@default%
+      }%
+      {}%
+   }%
+%
+\def\ALG@createtext#1#2% #1 = closed block; #2 = entitie; creates \ALG@t@#2@#1
+   {%
+   \expandafter\let\csname ALG@t@\ALG@Ld @#2@#1\endcsname\ALG@x@default%
+   }%
+%
+%  End and Continue block
+%
+\def\ALG@endandcontinueblock#1#2#3#4#5% #1 = new block; #2 = old block; #3 = entitie; #4 = credits; #5 = indent
+   {%
+   \ifthenelse{\equal{#3}{}}{}% execute only if the entity is not empty
+      {%
+      \ALG@createentitie{#3}% create the entitie
+      \ALG@createblock{#2}% create the old block, if needed
+      \ifthenelse{\equal{#1}{}}% whe need to open a new block?
+         {\expandafter\edef\csname ALG@b@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname{0}}% no, just close the old one
+         {% yes,
+         \ALG@createblock{#1}% create the block
+         \expandafter\edef\csname ALG@b@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname{\ALG@getblocknumber{#1}}% ending the old block opens a new one
+         \ifthenelse{\equal{#4}{}}% infinite or finite credits?
+            {\expandafter\let\csname ALG@c@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname\relax}% infinite credits
+            {\expandafter\edef\csname ALG@c@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname{#4}}% finite credits
+         \ifthenelse{\equal{#5}{}}% default or specified indentation
+            {\expandafter\let\csname ALG@i@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname\ALG@defaultindent}% default indentation
+            {\expandafter\edef\csname ALG@i@\ALG@Ld @#3@\ALG@getblocknumber{#2}\endcsname{#5}}% indentation is specified
+         }%
+      \ALG@createtext{\ALG@getblocknumber{#2}}{#3}%
+      }%
+   }%
+%
+%   macros used in declarations
+%
+\def\ALG@p@endtext@E{\algrenewtext{\ALG@v@end}}%
+\def\ALG@p@endtext@xE{\algrenewtext[\ALG@v@newblock]{\ALG@v@end}}%
+\def\ALG@p@endtext@nE{\algnotext{\ALG@v@end}}%
+\def\ALG@p@endtext@xnE{\algnotext[\ALG@v@newblock]{\ALG@v@end}}%
+\def\ALG@p@endtext@{}%
+% starttext defines are more compex -- care must be taken for the optional parameters
+\def\ALG@p@starttext@S{\ALG@p@s@process{\algrenewtext}}%
+\def\ALG@p@starttext@C{\ALG@p@s@process{\algrenewtext}}%
+\def\ALG@p@starttext@xC{\ALG@p@s@process{\algrenewtext[\ALG@v@oldblock]}}%
+\def\ALG@p@s@process#1%
+   {%
+   \ifthenelse{\equal{\ALG@v@start}{}}%
+      {\ALG@p@endtext}%
+      {\@ifnextchar{[}{\ALG@p@s@getparamcount{#1}}{\ALG@p@s@simple{#1}}}%
+   }%
+\def\ALG@p@s@getparamcount#1[#2]%
+   {%
+   \@ifnextchar{[}{\ALG@p@s@getdefparam{#1}{#2}}{\ALG@p@s@param{#1}{#2}}%
+   }%
+\def\ALG@p@s@getdefparam#1#2[#3]%
+   {%
+   \ALG@p@s@defparam{#1}{#2}{#3}%
+   }%
+\def\ALG@p@s@simple#1#2{#1{\ALG@v@start}{#2}\ALG@p@endtext}%
+\def\ALG@p@s@param#1#2#3{#1{\ALG@v@start}[#2]{#3}\ALG@p@endtext}%
+\def\ALG@p@s@defparam#1#2#3#4{#1{\ALG@v@start}[#2][#3]{#4}\ALG@p@endtext}%
+% the rest of the crew
+\def\ALG@p@starttext@nS{\algnotext{\ALG@v@start}\ALG@p@endtext}%
+\def\ALG@p@starttext@nC{\algnotext{\ALG@v@start}\ALG@p@endtext}%
+\def\ALG@p@starttext@xnC{\algnotext[\ALG@v@oldblock]{\ALG@v@start}\ALG@p@endtext}%
+\def\ALG@p@starttext@{\ALG@p@endtext}%
+\def\ALG@p@indent@def#1{\def\ALG@v@indent{#1}\ALG@p@setup}%
+\def\ALG@p@indent@{\def\ALG@v@indent{}\ALG@p@setup}%
+\def\ALG@p@credits@def#1{\def\ALG@v@credits{#1}\ALG@p@indent}%
+\def\ALG@p@credits@{\ALG@p@indent}%
+\def\ALG@p@end@def#1{\def\ALG@v@end{#1}\ALG@p@credits}%
+\def\ALG@p@end@{\def\ALG@v@end{}\ALG@p@credits}%
+\def\ALG@p@start@def#1{\def\ALG@v@start{#1}\ALG@p@end}%
+\def\ALG@p@start@{\def\ALG@v@start{}\ALG@p@end}%
+\def\ALG@p@oldblock@def#1{\def\ALG@v@oldblock{#1}\ALG@p@start}%
+\def\ALG@p@oldblock@{\def\ALG@v@oldblock{}\ALG@p@start}%
+\newcommand\ALG@p@newblock[1][]{\def\ALG@v@newblock{#1}\ALG@p@oldblock}%
+\def\ALG@p@setup%
+   {%
+   \ifthenelse{\equal{\ALG@v@newblock}{}}%
+      {%
+      \ifthenelse{\equal{\ALG@v@start}{}}%
+         {%
+            \PackageError{algorithmicx}{Block or starting entitie must be specified!!!}{}%
+         }%
+         {%
+            \let\ALG@v@newblock\ALG@v@start%
+         }%
+      }%
+      {%
+      }%
+   \ALG@endandcontinueblock%
+      {\ALG@v@newblock}{\ALG@v@oldblock}{\ALG@v@start}%
+      {\ALG@v@credits}{\ALG@v@indent}%
+   \ALG@endandcontinueblock%
+      {}{\ALG@v@newblock}{\ALG@v@end}%
+      {}{}%
+   \ALG@p@starttext%
+   }%
+%
+%   param handling
+%
+\newcommand\ALG@p@def[2][def]%
+   {%
+   \expandafter\let\csname ALG@p@#2\expandafter\endcsname\csname ALG@p@#2@#1\endcsname%
+   }%
+\def\ALG@p@undef{\ALG@p@def[]}%
+%
+\def\ALG@p@ons{\ALG@p@def{start}}%
+\def\ALG@p@onS{\ALG@p@def{start}\ALG@p@def[S]{starttext}}%
+\def\ALG@p@onc{\ALG@p@def{oldblock}\ALG@p@def{start}}%
+\def\ALG@p@onC{\ALG@p@def{oldblock}\ALG@p@def{start}\ALG@p@def[C]{starttext}}%
+\def\ALG@p@one{\ALG@p@def{end}}%
+\def\ALG@p@onE{\ALG@p@def{end}\ALG@p@def[E]{endtext}}%
+\def\ALG@p@onxC{\ALG@p@def{oldblock}\ALG@p@def{start}\ALG@p@def[xC]{starttext}}%
+\def\ALG@p@onxE{\ALG@p@def{end}\ALG@p@def[xE]{endtext}}%
+\def\ALG@p@onnS{\ALG@p@def{start}\ALG@p@def[nS]{starttext}}%
+\def\ALG@p@onnC{\ALG@p@def{oldblock}\ALG@p@def{start}\ALG@p@def[nC]{starttext}}%
+\def\ALG@p@onnE{\ALG@p@def{end}\ALG@p@def[nE]{endtext}}%
+\def\ALG@p@onxnC{\ALG@p@def{oldblock}\ALG@p@def{start}\ALG@p@def[xnC]{starttext}}%
+\def\ALG@p@onxnE{\ALG@p@def{end}\ALG@p@def[xnE]{endtext}}%
+\def\ALG@p@onb{\def\ALG@v@credits{}}%
+\def\ALG@p@onl{\def\ALG@v@credits{1}}%
+\def\ALG@p@onL{\ALG@p@def{credits}}%
+\def\ALG@p@oni{\ALG@p@def{indent}}%
+%
+\def\ALG@p@main#1%
+   {%
+   \@ifundefined{ALG@ps@\ALG@p@state @#1}%
+      {%
+      \csname ALG@ps@\ALG@p@state @other\endcsname{#1}%
+      }%
+      {%
+      \csname ALG@ps@\ALG@p@state @#1\endcsname%
+      }%
+   \ALG@p@rec%
+   }%
+% STATE : <<starting state>>
+\expandafter\def\csname ALG@ps@@]\endcsname{\let\ALG@p@rec\relax}%
+\def\ALG@ps@@s{\ALG@p@ons}%
+\def\ALG@ps@@S{\ALG@p@onS}%
+\def\ALG@ps@@c{\ALG@p@onc}%
+\def\ALG@ps@@C{\ALG@p@onC}%
+\def\ALG@ps@@e{\ALG@p@one}%
+\def\ALG@ps@@E{\ALG@p@onE}%
+\def\ALG@ps@@N{\typeout{algdef: 'N' obsoloted, use 'nE'.}\ALG@p@onnE}%
+\def\ALG@ps@@b{\ALG@p@onb}%
+\def\ALG@ps@@l{\ALG@p@onl}%
+\def\ALG@ps@@L{\ALG@p@onL}%
+\def\ALG@ps@@i{\ALG@p@oni}%
+\def\ALG@ps@@x{\def\ALG@p@state{x}}%
+\def\ALG@ps@@n{\def\ALG@p@state{n}}%
+\def\ALG@ps@@other#1{\typeout{algdef: Ignoring unknown token #1}}%
+% STATE : x
+\def\ALG@ps@x@C{\def\ALG@p@state{}\ALG@p@onxC}%
+\def\ALG@ps@x@E{\def\ALG@p@state{}\ALG@p@onxE}%
+\def\ALG@ps@x@N{\def\ALG@p@state{}\typeout{algdef: 'xN' obsoloted, use 'xnE'.}\ALG@p@onxnE}%
+\def\ALG@ps@x@n{\def\ALG@p@state{xn}}%
+\def\ALG@ps@x@other#1%
+   {%
+   \typeout{algdef: Ignoring 'x' before '#1'.}%
+   \def\ALG@p@state{}%
+   \def\ALG@p@rec{\let\ALG@p@rec\ALG@p@main\ALG@p@rec#1}%
+   }%
+% STATE : n
+\def\ALG@ps@n@S{\def\ALG@p@state{}\ALG@p@onnS}%
+\def\ALG@ps@n@C{\def\ALG@p@state{}\ALG@p@onnC}%
+\def\ALG@ps@n@E{\def\ALG@p@state{}\ALG@p@onnE}%
+\def\ALG@ps@n@x{\def\ALG@p@state{nx}}%
+\def\ALG@ps@n@other#1%
+   {%
+   \typeout{algdef: Ignoring 'n' before '#1'.}%
+   \def\ALG@p@state{}%
+   \def\ALG@p@rec{\let\ALG@p@rec\ALG@p@main\ALG@p@rec#1}%
+   }%
+% STATE : xn
+\def\ALG@ps@xn@C{\def\ALG@p@state{}\ALG@p@onxnC}%
+\def\ALG@ps@xn@E{\def\ALG@p@state{}\ALG@p@onxnE}%
+\def\ALG@ps@xn@x{\typeout{algdef: Ignoring 'x' after 'xn'.}}%
+\def\ALG@ps@xn@n{\typeout{algdef: Ignoring 'n' after 'xn'.}}%
+\def\ALG@ps@xn@other#1%
+   {%
+   \typeout{algdef: Ignoring 'xn' before '#1'.}%
+   \def\ALG@p@state{}%
+   \def\ALG@p@rec{\let\ALG@p@rec\ALG@p@main\ALG@p@rec#1}%
+   }%
+% STATE : nx
+\def\ALG@ps@nx@C{\def\ALG@p@state{}\ALG@p@onxnC}%
+\def\ALG@ps@nx@E{\def\ALG@p@state{}\ALG@p@onxnE}%
+\def\ALG@ps@nx@x{\typeout{algdef: Ignoring 'x' after 'nx'.}}%
+\def\ALG@ps@nx@n{\typeout{algdef: Ignoring 'n' after 'nx'.}}%
+\def\ALG@ps@nx@other#1%
+   {%
+   \typeout{algdef: Ignoring 'nx' before '#1'.}%
+   \def\ALG@p@state{}%
+   \def\ALG@p@rec{\let\ALG@p@rec\ALG@p@main\ALG@p@rec#1}%
+   }%
+%
+%
+%   ***   User level block/entitie commands   ***
+%
+%
+%
+%   algdef{switches}... -- the king of all definitions in the algorithmicx package
+%
+\newcommand\algdef[1]%
+   {%
+   \ALG@p@undef{oldblock}%
+   \ALG@p@undef{start}%
+   \ALG@p@undef{end}%
+   \def\ALG@v@credits{}%
+   \ALG@p@undef{credits}%
+   \ALG@p@undef{indent}%
+   \ALG@p@undef{starttext}%
+   \ALG@p@undef{endtext}%
+   \def\ALG@p@state{}%
+   \let\ALG@p@rec\ALG@p@main%
+   \ALG@p@rec#1]%
+   \ALG@p@newblock%
+   }%
+%
+%   a lot of other macros are provided for convenience
+%
+\def\algblock{\algdef{se}}%
+\def\algcblock{\algdef{ce}}%
+\def\algloop{\algdef{sl}}%
+\def\algcloop{\algdef{cl}}%
+\def\algsetblock{\algdef{seLi}}%
+\def\algsetcblock{\algdef{ceLi}}%
+\def\algblockx{\algdef{SxE}}%
+\def\algblockdefx{\algdef{SE}}%
+\def\algcblockx{\algdef{CxE}}%
+\def\algcblockdefx{\algdef{CE}}%
+\def\algsetblockx{\algdef{SxELi}}%
+\def\algsetblockdefx{\algdef{SELi}}%
+\def\algsetcblockx{\algdef{CxELi}}%
+\def\algsetcblockdefx{\algdef{CELi}}%
+\def\algloopdefx{\algdef{Sl}}%
+\def\algcloopx{\algdef{xCl}}%
+\def\algcloopdefx{\algdef{Cl}}%
+% algloopx is not correct, use algloopdefx
+%
+%   Text output commands
+%
+\newcommand\algrenewtext[2][]% [block]{entity}
+   {%
+   \ifthenelse{\equal{#2}{}}{}%
+      {%
+      \ifthenelse{\equal{#1}{}}%
+         {%
+         \expandafter\let\csname ALG@t@\ALG@Ld @#2\endcsname\relax%
+         \expandafter\newcommand\csname ALG@t@\ALG@Ld @#2\endcsname%
+         }%
+         {%
+         \expandafter\let\csname ALG@t@\ALG@Ld @#2@\ALG@getblocknumber{#1}\endcsname\relax%
+         \expandafter\newcommand\csname ALG@t@\ALG@Ld @#2@\ALG@getblocknumber{#1}\endcsname%
+         }%
+      }%
+   }%
+%
+\def\ALG@letentitytext#1#2% [block]{entity}
+   {%
+   \ifthenelse{\equal{#2}{}}{}%
+      {%
+      \ifthenelse{\equal{#1}{}}%
+         {%
+         \expandafter\let\csname ALG@t@\ALG@Ld @#2\endcsname%
+         }%
+         {%
+         \expandafter\let\csname ALG@t@\ALG@Ld @#2@\ALG@getblocknumber{#1}\endcsname%
+         }%
+      }%
+   }%
+%
+\newcommand\algnotext[2][]% [block]{entity}
+   {%
+   \ALG@letentitytext{#1}{#2}\ALG@x@notext%
+   }%
+%
+\newcommand\algdefaulttext[2][]% [block]{entity}
+   {%
+   \ALG@letentitytext{#1}{#2}\ALG@x@default%
+   }%
+%
+\def\ALG@notext*{\algnotext}%
+\def\algtext{\@ifnextchar{*}{\ALG@notext}{\algrenewtext}}%
+%
+%
+%   ***   LANGUAGE SWITCHING   ***
+%
+%
+%
+\newcommand\algnewlanguage[1]%
+   {%
+   \@ifundefined{ALG@L@#1}% needs to be created?
+      {}%
+      {%
+      \PackageError{algorithmicx}{Language '#1' already defined!}{}%
+      }%
+   \addtocounter{ALG@Lnr}{1}% increment the language counter
+   \expandafter\edef\csname ALG@L@#1\endcsname{\arabic{ALG@Lnr}}% set the language number
+   \edef\ALG@Ld{\csname ALG@L@#1\endcsname}%
+   \expandafter\let\csname ALG@bl@\ALG@Ld @\endcsname\ALG@bl@% the BIG block
+   \expandafter\let\csname ALG@bl@\ALG@Ld @@\endcsname\ALG@bl@% the BIG block
+   \algdef{SL}[STATE]{State}{0}{}%
+   \expandafter\def\csname ALG@deftext@\ALG@Ld\endcsname{\textbf}%
+   \algnewcommand\algorithmiccomment[1]{\hfill\(\triangleright\) ##1}%
+   \algnewcommand\algorithmicindent{1.5em}%
+   \algnewcommand\alglinenumber[1]{\footnotesize ##1:}%
+   \algnewcommand\ALG@beginalgorithmic\relax% for user overrides
+   \algnewcommand\ALG@endalgorithmic\relax% for user overrides
+   }%
+%
+\newcommand\algsetlanguage[1]%
+   {%
+   \@ifundefined{ALG@L@#1}% needs to be created?
+      {%
+      \PackageError{algorithmicx}{Language '#1' is not yet defined!}{}%
+      }{}%
+   \edef\ALG@L{\csname ALG@L@#1\endcsname}%
+   }%
+%
+\newcommand\algdeflanguage[1]%
+   {%
+   \@ifundefined{ALG@L@#1}% needs to be created?
+      {%
+      \PackageError{algorithmicx}{Language '#1' is not yet defined!}{}%
+      }{}%
+   \edef\ALG@Ld{\csname ALG@L@#1\endcsname}%
+   }%
+%
+\newcommand\alglanguage[1]%
+   {%
+   \algdeflanguage{#1}%
+   \algsetlanguage{#1}%
+   }%
+%
+%
+%   ***   Defining language dependent stuff   ***
+%
+%
+\def\ALG@eatoneparam#1{}%
+\def\ALG@defbasecmd#1#2%
+   {%
+   \edef\ALG@tmp{\expandafter\ALG@eatoneparam\string #2}%
+   \@ifundefined\ALG@tmp{\edef #2{\noexpand\csname ALG@cmd@\noexpand\ALG@L @\ALG@tmp\endcsname}}{}%
+   \expandafter#1\csname ALG@cmd@\ALG@Ld @\ALG@tmp\endcsname%
+   }%
+\newcommand\algnewcommand{\ALG@defbasecmd\newcommand}%
+\newcommand\algrenewcommand{\ALG@defbasecmd\renewcommand}%
+\def\ALG@letcmd{\ALG@defbasecmd\let}%
+\def\ALG@defcmd{\ALG@defbasecmd\def}%
+\def\ALG@edefcmd{\ALG@defbasecmd\edef}%
+%
+%
+%   ***   OTHERS   ***
+%
+%
+\def\BState{\State \algbackskip}%
+\def\Statex{\item[]}% an empty line
+\newcommand\algrenewcomment{\algrenewcommand\algorithmiccomment}%
+\def\Comment{\algorithmiccomment}%
+\def\algref#1#2{\ref{#1}.\ref{#2}}%
+\algnewlanguage{default}%
+\algsetlanguage{default}%
+%
+%
+%   ***   Line breaks   ***
+%
+%
+\newcommand\algbreak% for multiline parameters !!! needs fix
+   {%
+      \item%
+%      \hskip\ALG@parindent%!!! not yet implemented
+%      \hskip-\algorithmicindent%
+   }%
+%
+\def\ALG@noputindents%
+   {%
+   \hskip\ALG@tlm%
+   }%
+%
+%
+%   ***   algorithm store / restore   ***
+%
+%
+%   store
+%
+\ALG@newcondstate{mustrestore}%
+\def\algstore%
+   {%
+   \renewcommand\ALG@beginblock%
+      {%
+      \PackageError{algorithmicx}{The environment must be closed after store!}{}%
+      }%
+   \@ifstar{\ALG@starstore}{\ALG@nostarstore}%
+   }%
+\def\ALG@nostarstore#1% save all infos into #1 and terminate the algorithmic block
+   {%
+   \addtocounter{ALG@storecount}{1}%
+   \expandafter\global\expandafter\let\csname ALG@save@mustrestore@#1\endcsname\ALG@x@mustrestore%
+   \ALG@starstore{#1}%
+   }%
+\def\ALG@starstore#1%
+   {%
+   \@ifundefined{ALG@save@line@#1}{}%
+       {\PackageError{algorithmicx}{This save name '#1' is already used!}{}}%
+   \def\ALG@savename{#1}%
+   \expandafter\xdef\csname ALG@save@totalnr@\ALG@savename\endcsname{\theALG@nested}%
+   \expandafter\xdef\csname ALG@save@line@\ALG@savename\endcsname{\theALG@line}%
+   \expandafter\xdef\csname ALG@save@numberfreq@\ALG@savename\endcsname{\ALG@numberfreq}%
+   \expandafter\xdef\csname ALG@save@rem@\ALG@savename\endcsname{\theALG@rem}%
+   \let\ALG@storerepeat\ALG@store%
+   \ALG@storerepeat%
+   }%
+\def\ALG@store% simply terminate all open blocks
+   {%
+   \ifnum\theALG@nested=0\let\ALG@storerepeat\relax%
+   \else%
+      \expandafter\xdef\csname ALG@save@currentblock@\ALG@savename @\theALG@nested\endcsname%
+         {\csname ALG@currentblock@\theALG@nested\endcsname}%
+      \expandafter\ifx\csname ALG@currentlifetime@\theALG@nested\endcsname\relax%
+      \else%
+         \expandafter\xdef\csname ALG@save@currentlifetime@\ALG@savename @\theALG@nested\endcsname%
+            {\csname ALG@currentlifetime@\theALG@nested\endcsname}%
+      \fi%
+      \expandafter\xdef\csname ALG@save@ind@\ALG@savename @\theALG@nested\endcsname%
+         {\csname ALG@ind@\theALG@nested\endcsname}%
+      \ALG@closebyforce%
+   \fi%
+   \ALG@storerepeat%
+   }%
+%
+%   restore
+%
+\def\algrestore%
+   {%
+   \@ifstar{\ALG@starrestore}{\ALG@nostarrestore}%
+   }%
+\def\ALG@starrestore%
+   {%
+   \let\ALG@restorerem\relax%
+   \let\ALG@restorereprem\relax%
+   \ALG@restoremain%
+   }%
+\def\ALG@nostarrestore%
+   {%
+   \let\ALG@restorerem\ALG@restoreremovesave%
+   \let\ALG@restorereprem\ALG@restorerepremovesave%
+   \ALG@restoremain%
+   }%
+\def\ALG@restoreremovesave%
+   {%
+   \expandafter\global\expandafter\let\csname ALG@save@totalnr@\ALG@savename\endcsname\relax%
+   \expandafter\global\expandafter\let\csname ALG@save@line@\ALG@savename\endcsname\relax%
+   \expandafter\global\expandafter\let\csname ALG@save@rem@\ALG@savename\endcsname\relax%
+   \expandafter\global\expandafter\let\csname ALG@save@totalnr@\ALG@savename\endcsname\relax%
+   \expandafter\global\expandafter\let\csname ALG@save@numberfreq@\ALG@savename\endcsname\relax%
+   }%
+\def\ALG@restorerepremovesave%
+   {%
+   \expandafter\global\expandafter\let\csname ALG@save@currentblock@\ALG@savename @\theALG@tmpcounter\endcsname\relax%
+   \expandafter\global\expandafter\let\csname ALG@save@currentlifetime@\ALG@savename @\theALG@tmpcounter\endcsname\relax%
+   \expandafter\global\expandafter\let\csname ALG@save@currentlifetime@\ALG@savename @\theALG@tmpcounter\endcsname\relax%
+   \expandafter\global\expandafter\let\csname ALG@save@ind@\ALG@savename @\theALG@tmpcounter\endcsname\relax%
+   }%
+\def\ALG@restoremain#1% restore all infos from #1 in an open algorithmic block
+   {%
+   \ifnum\theALG@line=0%
+      \else\PackageError{algorithmicx}{Restore might be used only at the beginning of the environment!}{}%
+   \fi%
+   \def\ALG@savename{#1}%
+   \expandafter\ifx\csname ALG@save@totalnr@\ALG@savename\endcsname\relax%
+      \PackageError{algorithmicx}{Save '\ALG@savename'\space not defined!!!}{}%
+   \fi%
+   \@ifundefined{ALG@save@mustrestore@\ALG@savename}{}%
+      {%
+      \addtocounter{ALG@storecount}{-1}%
+      \expandafter\global\expandafter\let\csname ALG@save@mustrestore@\ALG@savename\endcsname\relax%
+      }%
+   \setcounter{ALG@line}{\csname ALG@save@line@\ALG@savename\endcsname}%
+   \edef\ALG@numberfreq{\csname ALG@save@numberfreq@\ALG@savename\endcsname}%
+   \setcounter{ALG@rem}{\csname ALG@save@rem@\ALG@savename\endcsname}%
+   \setcounter{ALG@tmpcounter}{\csname ALG@save@totalnr@\ALG@savename\endcsname}%
+   \setcounter{ALG@nested}{0}%
+   \ALG@restorerem%
+   \let\ALG@restorerepeat\ALG@restore%
+   \ALG@restorerepeat%
+   }%
+\def\ALG@restore%
+   {%
+   \ifnum\theALG@tmpcounter>0%
+      \expandafter\edef\csname ALG@currentblock@\theALG@tmpcounter\endcsname%
+         {\csname ALG@save@currentblock@\ALG@savename @\theALG@tmpcounter\endcsname}%
+      \expandafter\ifx\csname ALG@save@currentlifetime@\ALG@savename @\theALG@tmpcounter\endcsname\relax%
+         \expandafter\let\csname ALG@currentlifetime@\theALG@tmpcounter\endcsname\relax%
+         \else%
+            \expandafter\edef\csname ALG@currentlifetime@\theALG@tmpcounter\endcsname%
+            {\csname ALG@save@currentlifetime@\ALG@savename @\theALG@tmpcounter\endcsname}%
+         \fi%
+      %
+      \ALG@beginblock{\csname ALG@save@ind@\ALG@savename @\theALG@tmpcounter\endcsname}%
+      \ALG@restorereprem%
+      \addtocounter{ALG@tmpcounter}{-1}%
+   \else\let\ALG@restorerepeat\relax%
+   \fi%
+   \ALG@restorerepeat%
+   }%
+\AtEndDocument%
+   {%
+   \ifnum\theALG@storecount>0\relax%
+      \PackageError{algorithmicx}{Some stored algorithms are not restored!}{}%
+   \fi%
+   }%