From 2145c00e2163c4976cfc5dd2937ac2b5e7515892 Mon Sep 17 00:00:00 2001 From: zulu Date: Thu, 12 Sep 2013 08:11:28 +0200 Subject: [PATCH 1/1] 12 sep --- THESE/Chapters/chapter2/chapter2.tex | 123 ++++-- .../chapter2/img/shmem_prefetch_zheng2011.png | Bin 0 -> 47524 bytes THESE/biblio.bib | 237 ++++++++++ THESE/these.aux | 281 +++++++----- THESE/these.bbl | 171 ++++++++ THESE/these.blg | 95 ++-- THESE/these.lof | 47 +- THESE/these.log | 411 +++++++----------- THESE/these.out | 12 +- THESE/these.pdf | Bin 4650934 -> 4723781 bytes THESE/these.tex | 10 +- THESE/these.toc | 42 +- 12 files changed, 926 insertions(+), 503 deletions(-) create mode 100644 THESE/Chapters/chapter2/img/shmem_prefetch_zheng2011.png diff --git a/THESE/Chapters/chapter2/chapter2.tex b/THESE/Chapters/chapter2/chapter2.tex index 7988109..b4368c0 100644 --- a/THESE/Chapters/chapter2/chapter2.tex +++ b/THESE/Chapters/chapter2/chapter2.tex @@ -83,7 +83,7 @@ Cet indicateur seul est cependant insuffisant pour caractériser convenablement \end{figure} \subsection{Les opérateurs de base} -\subsubsection{Les algorithmes de voisinage} +\subsubsection{Le filtre de convolution} L'opération la plus employée dans les procédés de traitement d'image est sans doute la convolution. Selon les valeurs affectées aux coefficients du masque, le filtrage par convolution permet de réaliser bon nombre de traitements comme la réduction de bruit par moyennage ou noyau gaussien ou encore la détection de contours. Si la fonction définissant le masque de convolution est notée $h$, l'expression générale de la valeur estimée de pixel de coordonnées $(i,j)$ est donnée par \begin{equation} @@ -105,6 +105,7 @@ Les matrices définissant les masques sont les suivantes : \label{fig-ny-convo} \end{figure} +\subsubsection{Le filtre médian} Le filtrage médian \cite{tukey77} est également une opération très employée en prétraitement pour sa simplicité et ses propriétés de préservation des contours alliées à une capacité de réduction de bruit gaussien importante. La valeur du niveau de gris de chaque pixel est remplacée par la médiane des niveaux de gris des pixels voisins. Un des intérêts de ce filtre réside dans le fait que la valeur filtrée est une des valeurs du voisinage, contrairement à ce qui se produit lors d'une convolution. Un autre est de bien filtrer les valeurs extrêmes et par conséquent de trouver naturellement son application dans la réduction du bruit impulsionnel. Toutefois, la non-linéraité de cette technique et sa complexité n'en ont pas fait un filtre très utilisé jusqu'à ce que des implémentation efficaces soient proposées, en particulier le filtre à temps de calcul ``constant'' décrit par Perreault et Hebert \cite{4287006}. Il est à noter que le filtrage médian est souvent appliqué en plusieurs passes de voisinage restreint. @@ -118,6 +119,8 @@ La figure \ref{fig-ny-median} montre la réduction de bruit impulsionnel obtenu \label{fig-ny-median} \end{figure} + +\subsubsection{Le filtre bilatéral} Le filtre bilatéral \cite{710815} est une composition d'opérations que l'on peut voir comme un filtre de convolution dont les coefficients ne dépendraient pas uniquement de la position du pixel courant par rapport au pixel central, mais également de la différence de leurs intensités (cas des images en niveaux de gris). Si l'on note $\Omega_k$ le voisinage du pixel d'indice $k$, l'expression générale du niveau de gris estimé est donnée par \[\widehat{u_k}=\displaystyle\frac{\sum_{p\in \Omega_k}\left(F_S(x_p, x_k)F_I(v_p, v_k)v_p\right)}{\sum_{p\in\Omega_k }\left(F_S(x_p, x_k)F_I(v_p, v_k)\right)} \] @@ -138,11 +141,13 @@ Ce filtre permet un bon niveau de réduction de bruit gaussien, mais au prix d'u \caption{Réduction de bruit gaussien par filtrage bilatéral de voisinage 5$\times$5. $\sigma_S$ et $\sigma_I$ sont les écarts type des fonctions gaussiennes de pondération spatiale et d'intensité.} \label{fig-ny-bilat} \end{figure} + +Il existe beaucoup de variantes d'algorithmes basés sur des moyennes ou médianes locales efféctuées sur des voisinages de formes diverses, variables et/ou adaptatives afin de sélectionner le plus finement possible les pixels pris en compte dans le calcul de la valeur filtrée. +Le principal défaut de ces techniques est de générer des aplats dans les zones homogènes et des marches d'escalier dans les zones de transition douce (staircase effect), ces dernières pouvant être considérablement atténuées comme il a été montré dans \cite{BuadesCM06}. +L'un de ces algorithmes tend à utiliser une portion de la ligne de niveau de chaque pixel comme voisinage pour le moyennage. Cette technique a été présentée dans \cite{bertaux2004speckle} et employée pour réduire le bruit de speckle. Nous y reviendrons en détail dans le chapitre \ref{ch-lniv}. -Beaucoup d'autres algorithmes basés sur des moyennes locales efféctuées sur des voisinages de formes diverses, variables et/ou adaptatives afin de sélectionner le plus finement possible les pixels pris en compte dans le calcul de la valeur filtrée. -Le principal défaut de ces techniques dites de réduction de variance est de générer des aplats dans les zones homogènes et des marches d'escalier dans les zones de transition douce (staircase effect), ces dernières pouvant être considérablement atténuées comme il a été montré dans \cite{BuadesCM06}. -\subsubsection{Les algorithmes par dictionnaire} +\subsubsection{Les algorithmes de filtrage par dictionnaire} Ces algorithmes font l'hypothèse qu'il est possible de décrire l'image à débruiter en utilisant une base de fonctions permettant de décomposer l'image en une combinaison linéaire des éléments de cette base. Les bases les plus employées sont les ondelettes \cite{Mallat:2008:WTS:1525499, Daubechies:1992:TLW:130655} ainsi que les fonctions sinusoïdales (DCT \cite{1093941,strang1999discrete}). Les éléments de la base peuvent être prédéterminés ou bien calculés à partir des données de l'image, par exemple en s'appuyant sur une analyse en composantes principales ou après apprentissage \cite{elad2006image}. Le principe du débruitage est de considérer que le bruit est décorellé des fonctions de la base et donc représenté par les petits coefficients de la décomposition, que l'on peut annuler. Diverses politiques de seuillage peuvent alors être appliquées selon le type d'image et le modèle de bruit ayant chacune ses propres avantages et inconvénients. L'intérêt principal de ces méthodes est de bien restituer les transitions rapides (grande énergie), mais elles génèrent en revanche des artefacts dus aux possibles grands coefficients de bruit. La figure \ref{fig-ny-dwt} illustre cela en montrant le résultat du débruitage obtenu par décomposition en ondelettes et seuillage ``dur''. Certains algorithmes récents, en particulier ceux utilisant une base d'ondelettes adaptative, comme dans \cite{elad2006image} sont proches, en terme de qualité, de l'état de l'art du domaine, avec souvent un avantage lié à des vitesses d'exécution assez rapides. @@ -157,7 +162,7 @@ Certains algorithmes récents, en particulier ceux utilisant une base d'ondelett \end{figure} -\subsection{Les techniques avancées} +\subsection{Les algorithmes de filtrage par patches} Les techniques de réduction de bruit les plus efficaces sont aujourd'hui celles qui reposent sur les propriétés d'auto-similarité ds images, on les appelles aussi les techniques par patchs. L'idée principale est, comme pour les techniques classiques à base de de voisinage, de rechercher un ensemble de pixels pertinents et comparables afin d'en faire une moyenne. Cependant, dans le cas des techniques à patchs, la recherche de cet ensemble ne se limite pas à un voisinage du pixel central, mais fait l'hypothèse qu'il existe des zones semblables au voisinage du pixel central, réparties dans l'image et pas nécessairement immédiatement contigues. Le moyennage s'effectue alors sur l'ensemble des ces zones identifiées. L'algorithme des moyennes non locales (NL-means, \cite{1467423}) fut parmi les premiers de cette lignée à être proposé et bien qu'ayant représenté un progrès notable dans la qualité de débruitage, fut rapidement suivi, en particulier par le BM3D et ses variantes qui représentent actuellement l'état de l'art en terme de qualité de débruitage \cite{Dabov06imagedenoising,Dabov09bm3dimage}. @@ -182,51 +187,86 @@ La figure \ref{fig-ny-nlm} montre des résultats de débruitage obtenus par la m \section{Les implémentations GPU des algorithmes de filtrage} Le fabricant de processeurs graphiques Nvidia, seul type d'équipements dont nous disposons, fournit des implémentations performantes de certains prétraitements et algorithmes de filtrage. C'est le cas des tranformées de fourrier (FFT, DCT), qui sont par exemple utilisées dans l'implémentation d'un algorithme d'\textit{inpainting} \cite{cmla2009Kes}. -C'est aussi vrai pour l'opération de convolution qui a fait l'objet d'une étude et d'une optimisation poussées pour déterminer la combinaison de solutions apportant la plus grande vitesse d'exécution \cite{convolutionsoup}. L'étude a testé 16 versions distinctes, chacune présentant une optimisation particulière quant-à l'organisation de la grille de calcul, aux types de transferts entre l'hôte et le GPU ainsi qu'au types de mémoire employé pour le calcul sur le GPU. Les résultats montrent que l'emploi de texture comme mémoire principale pour le stockage des images à traiter apporte un gain d'environ 50\% par rapport à l'utilisation de la mémoire globale. Par ailleurs, les transactions par paquets de 128 bits apportent également une amélioration sensible, ainsi que l'emploi de la mémoire partagée comme zone de travail pour le calcul des valeurs de sortie. Le traitement de référence effectué pour les mesures est la convolution générique (non séparable) d'une image 8 bits de 2048$\times$2048 pixels par un masque de convolution de 5$\times$5 pixels, expression que l'on raccourcira déronavant en \textit{convolution 5$\times$5}. + +\subsection{Le filtrage par convolution} +C'est aussi vrai pour l'opération de convolution qui a fait l'objet d'une étude et d'une optimisation poussées pour déterminer la combinaison de solutions apportant la plus grande vitesse d'exécution \cite{convolutionsoup}. L'étude a testé 16 versions distinctes, chacune présentant une optimisation particulière quant-à l'organisation de la grille de calcul, aux types de transferts entre l'hôte et le GPU ainsi qu'au types de mémoire employé pour le calcul sur le GPU. + +Les résultats montrent que l'emploi de texture comme mémoire principale pour le stockage des images à traiter apporte un gain d'environ 50\% par rapport à l'utilisation de la mémoire globale. Par ailleurs, les transactions par paquets de 128 bits apportent également une amélioration sensible, ainsi que l'emploi de la mémoire partagée comme zone de travail pour le calcul des valeurs de sortie. Le traitement de référence effectué pour les mesures est la convolution générique (non séparable) d'une image 8 bits de 2048$\times$2048 pixels par un masque de convolution de 5$\times$5 pixels, expression que l'on raccourcira déronavant en \textit{convolution 5$\times$5}. + Le meilleur résultat obtenu dans les conditions détaillées précédemment, sur architecture GT200 (carte GTX280) est de 1.4~ms pour le calcul, ce qui réalise un débit global de 945~MP/s lorsque l'on prend en compte les temps de transfert aller et retour des images (1.5~ms d'après nos mesures). Nous continuerons d'utiliser cette mesure de débit en \textit{Pixels par seconde} pour toutes les évaluations à venir ; elle permet en particulier de fournir des valeurs de performance indépendantes de la taille des images soumises au traitement. -On connait peu de versions GPU du filtre médian, peut-être en raison des implémentations CPU performantes et génériques que l'on a déjà évoquées (voir par exemple \cite{4287006}) et dont le portage sur GPU ne laisse pas entrevoir de potentiel, ou bien reste à inventer. Néanmoins, une bibliothèque commerciale (LibJacket et ArrayFire) en propose une implémentation GPU dont nous avons pu mesurer les performances pour un masque de 3$\times$3 et qui est également prise comme référence par Sanchez \textit{et al.} pour évaluer les performances de leur propre implémentation appelée PCMF \cite{6288187}. Sur architecture GT200 (GTX260), les performances maximales de ces deux versions sont obtenues pour un masque de 3$\times$3 pixels avec respectivement 175~MP/s pour libJacket et 60~MP/s pour PCMF. +\subsection{Le filtre médian} +On connait peu de versions GPU du filtre médian, peut-être en raison des implémentations CPU performantes et génériques que l'on a déjà évoquées (voir par exemple \cite{4287006}) et dont le portage sur GPU ne laisse pas entrevoir de potentiel, ou bien reste à inventer. Néanmoins, une bibliothèque commerciale (LibJacket et ArrayFire) en propose une implémentation GPU dont nous avons pu mesurer les performances pour un masque de 3$\times$3 et qui est également prise comme référence par Sanchez \textit{et al.} pour évaluer les performances de leur propre implémentation appelée PCMF \cite{6288187}. + +Sur architecture GT200 (GTX260), les performances maximales de ces deux versions sont obtenues pour un masque de 3$\times$3 pixels avec respectivement 175~MP/s pour libJacket et 60~MP/s pour PCMF. Une précédente implémentation avait été réalisée, basée sur l'algorithme BVM décrit dans \cite{5402362}. Elle prouve son efficacité dans l'élimination des artefacts générés par les dispositifs d'imagerie médicale magnétique en 3D \cite{chen09}, mais ne permet pas d'exploiter véritablement le parallélisme des GPU en filtrage d'image en 2D. -La figure \ref{fig-compare-jacket-pcmf}, tirée de \cite{5402362}, compare ces trois implémentations et montre que le débit permis par la libJacket décroit très vite avec la taille du masque pour passer à 30~MP/s dès la taille 5$\times$5, alors que le PCMF décroit linéairement jusqu'à la taille 11$\times$11 où il permet encore de traiter quelque 40~MP/s. Ceci s'explique simplement par le fait que libJacket utilise un tri simple pour la sélection de la valeur médiane alors que le PCMF exploite les propriétés des histogrammes cumulés et n'est ainsi que très peu dépendant de la taille du masque. + +La figure \ref{fig-compare-jacket-pcmf}, tirée de \cite{5402362}, compare ces trois implémentations et montre que le débit permis par la libJacket décroit très vite avec la taille du masque pour passer à 30~MP/s dès la taille 5$\times$5, alors que le PCMF décroit linéairement jusqu'à la taille 11$\times$11 où il permet encore de traiter quelque 40~MP/s. Ceci s'explique simplement par le fait que libJacket utilise un tri simple pour la sélection de la valeur médiane alors que le PCMF exploite les propriétés des histogrammes cumulés et n'est ainsi que très peu dépendant de la taille du masque. + Plus récemment, Sanchez \textit{et al.} ont actualisé leurs mesures sur architecture Fermi (GPU C2075) en comparant leur PCMF à la version ré-écrite en C de libJacket, nommée ArrayFire. Les courbes sont celles de la figure \ref{fig-compare-arrayfire-pcmf}, où l'on constate que les variations selon la taille du masque demeurent comparables, avec toutefois des valeurs de débit augmentées, avec près de 185~MP/s pour ArrayFire et 82~MP/s pour PCMF. + Parallèlement, on trouve aussi des implémentations de filtre médian dans des traitements plus complexes comme dans \cite{aldinucci2012parallel} où les auteurs décrivent la plus récente évolution de leur technique itérative de réduction de bruit impulsionnel, sans qu'il soit possible d'évaluer le débit du médian seul. + Il faut noter enfin que certains codes sont plus performants sur l'ancienne architecture GT200/Tesla que sur la plus récente Fermi ; c'est le cas pour l'implémentation du médian incluse dans la bibliothèque ArrayFire et nous reviendrons sur les raisons de cette perte de performances constatée au passage à une architecture plus récente dans le chapitre consacré à notre implémentation du filtre médian. - + +\subsection{Le filtre bilatéral} Le filtre bilatéral a été plus abordé et un certain nombre de publications font état d'implémentations rapides. Une implémentation à temps constant en est proposée par Yang \textit{et al.} \cite{5206542} et s'exécute entre 3.7~ms et 15~ms pour une image de 1~MP. Cela ne constitue pas une référence de vitesse pour les masques de petite taille, mais devient compétitif pour des masque de grande taille (plus de 400 pixels dans le voisinage). Une autre plus classique, employée dans la génération des images médicales tomographiques, annonce 16~ms pour un masque de 11$\times$11 sur une image de 0.25~MP. Il demeure souvent difficile de comparer les implémentations sans disposer des codes sources, en raison de conditions de test très variables, en particulier en ce qui concerne le modèle de GPU et la taille du masque. Ceci étant précisé, on peut prendre comme première référence la version proposée par Nvidia dans le SDK CUDA et nommée ``ImageDenoising''. Elle permet d'exécuter sur GPU GTX480 un filtre bilatéral 7$\times$7 sur une image, déjà en mémoire GPU, de 1~MPixels en 0.411~ms, pour un débit global de 133~MP/s. -Dans \cite{zheng2011performance}, les auteurs présentent un cadre général pour optimiser l'accès aux données par les différents kernels en utilisant la mémoire partagée par les threads d'un même bloc. -Le principe est de pré-charger les valeurs utiles au bloc de threads dans la mémoire partagée, cela comprend les valeurs (niveaux de gris) des pixels associés aux threads ainsi que le halo correspondant aux voisinages des pixels de la bande périphérique. On appelle communément cet ensemble la \textit{region of interest} ou ROI. -Ils appliquent ensuite leur recette à l'implémentation d'un filtre bilatéral et d'un filtre à moyennes non locales (NL-means). Concernant le filtre bilatéral, ils pré-calculent aussi les coefficients de la pondération spatiale, alors que ceux de la pondération d'intensité resent calculés à la volée. + +Dans \cite{zheng2011performance}, les auteurs présentent un cadre général pour optimiser l'accès aux données par les différents kernels en utilisant la mémoire partagée pour les threads d'un même bloc. +Le principe est de pré-charger les valeurs utiles au bloc de threads dans la mémoire partagée, cela comprend les valeurs (niveaux de gris) des pixels associés aux threads ainsi que le halo correspondant aux voisinages des pixels de la bande périphérique. On appelle communément cet ensemble la \textit{region of interest} ou ROI. La figure \ref{fig-prefetch-zheng} illustre la mise en \oe uvre de cette technique en montrant comment les threads d'un bloc se répartissent les pré-chargements en mémoire partagée des valeurs des pixels de la ROI. La géométrie des blocs de threads est ici choisie carrée, mais elle s'applique aisément à d'autres proportions comme nous le verrons plus loin. Les limites de cette méthode sont +\begin{itemize} +\item la taille de la mémoire partagée qui doit pouvoir stocker l'ensemble des valeurs des pixels de la ROI, ce qui peut imposer une limite sur la taille des blocs de threads. +\item l'étendue du voisinage qui ne peut être pré-chargé de cette façon (4 pixels par thread) que si la surface de la ROI demeure inférieure à 4 fois le nombre de thread par bloc. +\end{itemize} + +\begin{figure} + \centering + \includegraphics[width=10cm]{/home/zulu/Documents/these_gilles/THESE/Chapters/chapter2/img/shmem_prefetch_zheng2011.png} +\caption{Illustration pré-chargement en mémoire partagée mise en \oe uvre dans \cite{zheng2011performance} pour l'implémentation, entre autres, du filtre bilatéral. a) en vert le bloc de threads associé aux pixels centraux. b-e) les blocs de pixels successivement pré-chargés en mémoire partagée. f) la configuration finale de la ROI en mémoire partagée.} +\label{fig-prefetch-zheng} +\end{figure} + +Cette recette est ensuite appliquée dans l'implémentation d'un filtre bilatéral et d'un filtre à moyennes non locales (NL-means). Concernant le filtre bilatéral, ils pré-calculent aussi les coefficients de la pondération spatiale, alors que ceux de la pondération d'intensité resent calculés à la volée. Ces deux optimisations permettent un gain de 20\% sur le temps de calcul du filtre bilatéral pour arriver à 0.326~ms dans les mêmes conditions que ci-dessus. Toutefois, le débit global ne gagne que très peu (132~MP/s) en raison de la prépondérance des temps de tranfert annoncés à 7.5~ms pour l'image de 1~MP. + Ce travail d'optimisation ne perd toutefois pas son intérêt, en ce sens où si le filtre fait partie d'une chaîne de traitement entièrement exécutée par le GPU, le transfert des données n'a besoin d'être effectué qu'une seule fois en tout début et en toute fin de traitement. + Enfin, l'implémentation qui semble à ce jour la plus performante s'attache à réduire les redondances de calculs et parvient à filtrer une image de 9~MP avec un masque de 21$\times$21 en seulement 200~ms, soir un débit de 47~MP/s hors transfers. - + +\subsection{Les filtres par patches} Intuitivement, les algorithmes à base de patches paraissent moins adaptés au parallèlisme des GPU, du fait de la nécessité d'accéder à un voisinage étendu autour de chaque pixel. On recense malgré tout quelques implémentations dont celle présente dans le SDK CUDA qui fait cependant l'hypothèse que les coefficients de pondération spatiale sont localement constants. Dans \cite{PALHANOXAVIERDEFONTES}, le modèle de bruit employé vise une adaptation aux images échographiques présentant du bruit proche du speckle. Dans cette implémentation, aucune approximation des coefficients n'est faite, mais la taille maximale du patch est limitée par la quantité de mémoire partagée disponible pour chaque bloc de threads. Une version plus récente implémente exactement l'algorithme original \cite{nlmeansgpubelge} en proposant des optimisations algorithmiques exploitant la symétrie des coefficients spatiaux ainsi que l'interprétation du calcul de la similarité comme une convolution séparable, opération aisément parallélisable sur GPU, comme nous le détaillerons plus loin. Les auteurs parviennent ainsi à filtrer des séquences vidéo couleur de dimension 720$\times$480 à plus de 30~fps en améliorant le PSNR de 16~dB (la séquence bruitée présentant un PSNR de 20~dB). + + \section{Les techniques de segmentation} La segmentation représente également un enjeu important dans le domaine du traitement d'image et à ce titre a fait l'objet d'abondants travaux et publications touchant les nombreux cas d'analyse dans lesquels une segmentation est utilisée. On peut citer la reconnaissance de formes, la détections et/ou la poursuite de cibles, la cartographie, le diagnostique médical, l'interaction Homme-machine, la discrimination d'arrière plan, etc. On pourrait donner de la segmentation une définition spécifique par type d'usage, mais dans un souci d'unification, on propose la formulation générique suivante : ``La segmentation consiste à distinguer les zones homogènes au sein d'une image''. -Dans cette définition, le caractère \textit{homogène} s'entend au sens d'un critère pré établi, adapté aux contraintes particulières de traitement comme le type de bruit corrompant les images, ou bien la dimension du signal observé $\bar{v}$ selon que l'image est en couleur ou non. Un tel critère peut ainsi être un simple seuil de niveau de gris ou bien nécessiter de coûteux calculs statistiques dont certains seront détaillés dans les chapitres suivants. +Dans cette définition, le caractère \textit{homogène} s'entend au sens d'un critère pré établi, adapté aux contraintes particulières de traitement comme le type de bruit corrompant les images, le modéle d'image ou bien la dimension du signal observé $\bar{v}$ selon que l'image est en couleur ou non. Un tel critère peut ainsi être un simple seuil de niveau de gris ou bien nécessiter de coûteux calculs statistiques dont certains seront détaillés dans les chapitres suivants. Devant la diversité des cas à traiter et des objectifs à atteindre, on sait aujourd'hui qu'à l'instar du filtre unique, la méthode universelle de segmentation n'existe pas et qu'une bonne segmentation est celle qui conduit effectivement à l'extraction des structures pertinentes d'une image selon l'interprétation qui doit en être faite. Les éléments constitutifs de la segmentation sont soit des régions, soit des contours. Les deux notions sont complémentaires étant donné que les contours délimitent des régions, mais les techniques de calcul basés sur l'un ou l'autre de ces éléments relèvent d'abords différents. + Les algorithmes de segmentation orientés régions s'appuient pour beaucoup sur des techniques de regroupement, ou \textit{clustering}, pour l'identification et le peuplement des régions. Ce lien trouve son origine dans la psychologie du \textit{gestalt} \cite{humphrey1924psychology} où l'on considère que la perception conceptuelle s'élabore au travers de regroupements visuel d'éléments. -La plupart des approches proposées jusqu'à très récemment consistent à minimiser une fonction d'énergie qui n'a pas de solution formelle et que l'on résout donc à l'aide de techniques numériques, souvent itératives. + +Généralement, la plupart des approches proposées jusqu'à très récemment consistent à minimiser une fonction d'énergie qui n'a pas de solution formelle et que l'on résout donc à l'aide de techniques numériques, souvent itératives. \subsection{Analyse d'histogramme} Les techniques les plus simples à mettre en \oe uvre en segmentation sont les techniques de seuillage, basées sur une analyse de l'histogramme des niveaux de gris (ou de couleurs) et cherchant à en distinguer les différentes classes comme autant d'occurrences représentant des \textit{régions} homogènes. -Différents critères peuvent être appliqués pour cette analyse, visant par exemple à maximiser la variance \cite{otsu79} ou encore à maximiser le contraste pour déterminer les valeurs pertinentes des seuils. +Différents critères peuvent être appliqués pour cette analyse, visant par exemple à maximiser la variance \cite{4310076} ou encore à maximiser le contraste pour déterminer les valeurs pertinentes des seuils. + Malgré la multitude de variantes proposées, ces méthodes demeurent toutefois peu robustes et présentent l'inconvénient majeur de ne pas garantir la connexité des régions déterminées. On les réserve à des applications très spécifiques où, par exemple, on dispose d'une image de référence dont l'histogramme peut être comparé à celui des images à traiter. C'est le cas de certaines application de contrôle industriel où la simplicité algorithmique permet de surcroît des implémentations très rapides, voire câblées. -Ces techniques sont aujourd'hui considérées comme rudimentaires mais les calculs d'histogrammes et les analyses associées interviennent dans beaucoup d'algorithmes récents parmi les plus évolués et performants. + +Ces techniques peuvent aujourd'hui être considérées comme rudimentaires mais les calculs d'histogrammes et les analyses associées interviennent dans beaucoup d'algorithmes récents parmi les plus évolués et performants. La figure \ref{fig-histo-cochon} illustre le traitement typique de l'histogramme de l'image d'entrée \ref{fig-histo-cochon-a} dans le but de distinguer les deux régions du fond et du cochon (la cible). La première étape consiste à dresser l'histogramme des niveaux de gris sur tout le domaine de l'image \ref{fig-histo-cochon-b}. Il faut ensuite identifier le seuil de séparation des deux régions supposées, ici, homogènes au sens des valeurs de niveau de gris. Une estimation visuelle peut-être faite, mais on voit immédiatement que même dans une situation aussi claire, le choix du seuil n'est pas évident. Pour un traitement automatique, on peut par exemple proposer la technique itérative présentée par l'Algorithme \ref{algo-histo-cochon} qui conduit à la segmentation de la figure \ref{fig-histo-cochon-c}. L'image \ref{fig-histo-cochon-d} est l'image initiale, corrompue par un bruit gaussien de moyenne nulle et d'écart type 25 . Les résultats de la segmentation (\ref{fig-histo-cochon-c} et \ref{fig-histo-cochon-f}) de cette image sont clairement insuffisants le segment de la cible comporte des discontinuités et dans le cas de l'image bruitée, des pixels orphelins épars demeurent en quantité. Cette technique nécessiterait une étape supplémentaire pour disposer d'une segmentation pertinente. \begin{figure} @@ -260,8 +300,10 @@ $\epsilon \leftarrow 1$ \; \subsection{Analyse de graphe} Un autre formalisme qui a généré une vaste classe d'algorithmes de segmentation est celui des graphes et repose sur l'idée que les régions de l'image sont représentées par les n\oe uds du graphe, alors que les liens traduisent les relations de voisinage existant entre les régions. L'idée de base est d'initialiser le graphe avec un n\oe ud pour chaque pixel. La segmentation est obtenue par simplification itérative du graphe, en évaluant les liens et en déterminant ceux à supprimer et ce, jusqu'à convergence. + L'essentiel de la problématique réside donc dans la métrique retenue pour évaluer les liens ainsi que dans le critère de sélection et là encore, la littérature regorge d'une grande variété de propositions. -Nous pouvons retenir que les premières d'entre elles, qui n'étaient pas spécifiquement dédiées à la segmentation d'images numériques mais au regroupement d'éléments répartis sur un domaine (1D ou 2D), ont été élaborées autour d'une mesure locale des liens basée sur la distance entre les éléments. La réduction du graphe est ensuite effectuée en utilisant un algorithme spécifique, comme le \textit{minimum spanning tree}, dont l'application a été décrite dès 1970 dans \cite{slac-pub-0672} et où il s'agit simplement de supprimer les liens \textit{inconsistants}, c'est à dire ceux dont le poids est significativement plus élevé que la moyenne des voisins se trouvant de chaque coté du lien en question. +Nous pouvons retenir que les premières d'entre elles, qui n'étaient pas spécifiquement dédiées à la segmentation d'images numériques mais au regroupement d'éléments répartis sur un domaine (1D ou 2D), ont été élaborées autour d'une mesure locale des liens basée sur la distance entre les éléments. La réduction du graphe est ensuite effectuée en utilisant un algorithme spécifique, comme le \textit{minimum spanning tree}, dont l'application a été décrite dès 1970 dans \cite{Zahn:1971:GMD:1309266.1309359} et où il s'agit simplement de supprimer les liens \textit{inconsistants}, c'est à dire ceux dont le poids est significativement plus élevé que la moyenne des voisins se trouvant de chaque coté du lien en question. + L'extension a rapidement été faite aux images numériques en ajoutant l'intensité des pixels au vecteur des paramètres pris en compte dans l'évaluation du poids des liens. D'autres critères de simplification ont aussi été élaborés, avec pour ambition de toujours mieux prendre en compte les caractéristiques structurelles globales des images pour prétendre à une segmentation qui conduise à une meilleure perception conceptuelle. Le principe général des solutions actuelles est proche de l'analyse en composantes principales appliquée à une matrice de similarité qui traduit les liens entre les segments. @@ -278,9 +320,10 @@ On construit ensuite la matrice de connectivité $D$, diagonale et dont les él Le système dont on cherche les valeurs propres $\lambda_k$ et les vecteurs propres associés $Y_k$ est alors le suivant : \[\left(D-W)\right)Y=\lambda DY \] -Parmi les méthodes reposant sur ce principe, on peut citer, par ordre chronologique, celles qui reposent sur le \textit{graphe optimal} de Wu et Leahy \cite{wulealy_1993} et plus récemment \cite{cf-notes-x5}. Le principal point faible de ces techniques réside essentiellement dans la difficulté à trouver un compromis acceptable entre identification de structures globales et préservation des éléments de détails. Cela se traduit dans la pratique par un ensemble de paramètres à régler pour chaque type de segmentation à effectuer. -Cependant, elles sont employées dans les algorithmes de haut niveau les plus récents, comme nous le verrons plus loin. -La figure \ref{fig-graph-cochon} montre un exemple de l'application de l'algorithme \textit{normalized cuts} décrit dans \cite{sm-ncuts-pami2000} et implémenté par Cour, Yu et Shi en 2004. Cette implémentation utilise des valeurs pré-établies des paramètres de calcul de la matrice de similarité produisant de bonnes segmentations d'objets et/ou personnes dans les images naturelles, mais requiert de prédéterminer le nombre de segments à obtenir. Les images de la figure représentent les résultats obtenus avec un nombre de segments variant de 2 à 5 et montrent qu'il difficile de trouver un compromis acceptable. Enfin, les temps d'exécutions peuvent devenir très rapidement prohibitifs, même avec des implémentations plus optimisées. Pour information, les résultats de la figure \ref{fig-graph-cochon} ont été obtenus en 1.5~s environ (Matlab R2010 sur CPU intel core i5-2520M @ 2.50GHz - linux 3.2.0) +Parmi les méthodes reposant sur ce principe, on peut citer, par ordre chronologique, celles qui reposent sur le \textit{graphe optimal} de Wu et Leahy \cite{wu1993optimal} et plus récemment \cite{wang2001image,wang2003image,felzenszwalb2004efficient,shi2000normalized}. Le principal point faible de ces techniques réside essentiellement dans la difficulté à trouver un compromis acceptable entre identification de structures globales et préservation des éléments de détails. Cela se traduit dans la pratique par un ensemble de paramètres à régler pour chaque type de segmentation à effectuer. +Elles sont cependant employées dans les algorithmes de haut niveau les plus récents, comme nous le verrons plus loin. + +La figure \ref{fig-graph-cochon} montre un exemple de l'application de l'algorithme \textit{normalized cuts} décrit dans \cite{shi2000normalized} et implémenté par Cour, Yu et Shi en 2004. Cette implémentation utilise des valeurs pré-établies des paramètres de calcul de la matrice de similarité produisant de bonnes segmentations d'objets et/ou personnes dans les images naturelles, mais requiert de prédéterminer le nombre de segments à obtenir. Les images de la figure représentent les résultats obtenus avec un nombre de segments variant de 2 à 5 et montrent qu'il difficile de trouver un compromis acceptable. Enfin, les temps d'exécutions peuvent devenir très rapidement prohibitifs, même avec des implémentations plus optimisées. Pour information, les résultats de la figure \ref{fig-graph-cochon} ont été obtenus en 1.5~s environ (Matlab R2010 sur CPU intel core i5-2520M @ 2.50GHz - linux 3.2.0) \begin{figure} \centering \subfigure[$s = 2$]{\includegraphics[width=3cm]{/home/zulu/Documents/these_gilles/THESE/codes/graphe/cochon128_ncuts_2seg.png}} @@ -299,14 +342,14 @@ Il s'agit simplement de minimiser l'erreur quadratique totale, ce qui peut se r où $\mu_i$ représente la valeur affectée au segment $\Omega_i$, i.e la valeur moyenne des observations $v_k$ sur $\Omega_i$, et $\displaystyle{\bigcup_{i\in[1..C]}\Omega_i=\Omega}$ Cette idée est très intuitive et simple, mais n'a pas souvent de solution explicite, d'autant que le nombre des segments est \textit{a priori} inconnu. -Dès 1965, Mac Queen a proposé l'appellation k-means pour cette procédure itérative de regroupement \cite{kmeans-1965} qui débute avec $k$ groupes d'un seul pixel\footnote{Dans son article, MacQueen ne parle pas de pixel mais de point. En effet, la méthode décrite ne visait pas à segmenter des images, mais des données de natures diverses.} +Dès 1965, Mac Queen a proposé l'appellation k-means pour cette procédure itérative de regroupement \cite{macqueen1967some} qui débute avec $k$ groupes d'un seul pixel\footnote{Dans son article, MacQueen ne parle pas de pixel mais de point. En effet, la méthode décrite ne visait pas à segmenter des images, mais des données de natures diverses.} pris au hasard, puis d'ajouter chaque point au groupe dont la moyenne est la plus proche de la valeur du point à ajouter. La moyenne du groupe nouvellement agrandi doit alors être recalculée avant le prochain ajout. Cette implémentation est extrêmement simple à mettre en \oe uvre \footnote{Même si en 1965, rien n'était simple à programmer} mais elle possède de nombreux défaut dont le principal est qu'elle ne converge pas nécessairement vers le regroupement optimal, même si on connait la ``bonne'' valeur de $k$. Un autre est d'être très dépendant du choix des $k$ éléments initiaux, en nombre et en position. Toutefois, vraisemblablement du fait de sa simplicité d'implémentation et de temps d'exécution rapides, la communauté scientifique s'est beaucoup penchée sur cette méthode pour en compenser les défauts, jusqu'à en faire une des plus employées, en particulier par les statisticiens. -On compte aussi beaucoup de variantes telles les \textit{k-centers} \cite{k-centers} et les \textit{k-médians} \cite{k-medians} qui n'employent pas la moyenne arithmétique comme expression du ``centre'' d'un segment. -Des solutions ont aussi été apportées pour l'estimation de $k$ en employant, par exemple, un critère de vraisemblance pour choisir la meilleure valeur de $k$ dans un intervalle donné \cite{x-means}. +On compte aussi beaucoup de variantes telles les \textit{k-centers} \cite{agarwal2002exact} et les \textit{k-médians} \cite{arora1998approximation} qui n'employent pas la moyenne arithmétique comme expression du ``centre'' d'un segment. +Des solutions ont aussi été apportées pour l'estimation de $k$ en employant, par exemple, un critère de vraisemblance pour choisir la meilleure valeur de $k$ dans un intervalle donné \cite{pelleg2000x}. À titre d'illustration et de comparaison, l'image du cochon a été traitée par une implémentation naïve de l'algorithme original des \textit{k-means} en donnant successivement au nombre de segments les valeurs $s=2$ à $s=5$. Les résultats sont reproduits à la figure \ref{fig-kmeans-cochon} et montrent encore une fois l'influence de $s$ sur la segmentation. \begin{figure} \centering @@ -318,11 +361,11 @@ Des solutions ont aussi été apportées pour l'estimation de $k$ en employant, \label{fig-kmeans-cochon} \end{figure} -Un algorithme initiallement proposé en 1975 par Fukunaga et Hostetler \cite{Lestimation-html} permet de manière plus générique de déterminer le nombre de segments, ou modes, ainsi que les points, ou pixels, qui les composent. Il cherche pour ce faire à localiser les $k$ positions ou le gradient de densité s'annule. +Un algorithme initiallement proposé en 1975 par Fukunaga et Hostetler \cite{fukunaga1975estimation} permet de manière plus générique de déterminer le nombre de segments, ou modes, ainsi que les points, ou pixels, qui les composent. Il cherche pour ce faire à localiser les $k$ positions ou le gradient de densité s'annule. Il utilisé un voisinage pondére (ou \textit{kernel}) et détermine le centre de masse des segments en suivant itérativement le gradient de densité dans le voisinage autour de chaque élément du domaine. Lorsque l'algorithme à convergé, les $k$ segments sont identifiés et continennent chacun l'ensemble des points qui ont conduit à leur centre de masse respectif. -Étonnement, malgré ses qualités intrinsèques, cet algorithme du \textit{mean-shift} est resté longtemps sans susciter de grand intérêt, jusqu'à l'étude de Cheng \cite{meanshift_1995} qui en a demontré les propriétés et établi les lien avec d'autres techniques d'optimisation commme la descente/montée de gradient ou de filtrage commme le floutage. -Comaniciu et Peer ont alors étendu l'étude et proposé une application à la segmentation en utilisant l'espace colorimétrique CIELUV \cite{Computer-Graphics-by-Foley-van-Dam-Feiner-and-Hughes-published-by-Addison-Wesley-1990} et montré qu'elle permettait une meilleure identification des modes de l'image \cite{mean-shift-1999,2002}. -Une implémentation de la variante proposée par Keselman et Micheli-Tzanakou dans \cite{yket1999} appliquée à notre image de test fournit les résultats reproduits à la figure \ref{fig-meanshift-cochon}. Pour se rapprocher des traitements précédents, nous avons identifié, par essais successifs, les tailles de voisinage conduisant à des nombre de segments identiques à ceux des figures précedentes (de 2 à 5). Le volume minimal admis pour un segment à été arbitrairement fixé à 100 pixels. +Étonnement, malgré ses qualités intrinsèques, cet algorithme du \textit{mean-shift} est resté longtemps sans susciter de grand intérêt, jusqu'à l'étude de Cheng \cite{cheng1995mean} qui en a demontré les propriétés et établi les lien avec d'autres techniques d'optimisation commme la descente/montée de gradient ou de filtrage commme le floutage. +Comaniciu et Peer ont alors étendu l'étude et proposé une application à la segmentation en utilisant l'espace colorimétrique CIELUV \cite{foley1994introduction} et montré qu'elle permettait une meilleure identification des modes de l'image \cite{comaniciu1999mean,comaniciu2002mean}. +Une implémentation de la variante proposée par Keselman et Micheli-Tzanakou dans \cite{keselman1998extraction} appliquée à notre image de test fournit les résultats reproduits à la figure \ref{fig-meanshift-cochon}. Pour se rapprocher des traitements précédents, nous avons identifié, par essais successifs, les tailles de voisinage conduisant à des nombre de segments identiques à ceux des figures précedentes (de 2 à 5). Le volume minimal admis pour un segment à été arbitrairement fixé à 100 pixels. \begin{figure} \centering \subfigure[$r=100 \Rightarrow s = 2$]{\includegraphics[width=3cm]{/home/zulu/Documents/these_gilles/THESE/codes/meanshift/cochon128_meanshift_r100m100.png}} @@ -354,7 +397,7 @@ et L'idée générale de l'algorithme du \textit{snake} est de trouver une courbe $S$ qui minimise l'énergie totale $E_{snake}$. Ici encore, la résolution du problème revient donc à minimiser une fonction sous contrainte et les diverses techniques de résolution numérique peuvent s'appliquer comme pour les autres classes d'algorithmes itératifs présentés précédemment, avec ici encore, un nombre de paramètres à régler assez important. Notons également que dans le cas général, les paramètres notés $\alpha$ et $\beta$, que l'on qualifie aussi d'élasticité et de raideur, sont aussi des fonctions de l'abscisse curviligne $s$. La fonction $G_{\sigma}$ est la fonction d'attraction aux forts gradients de l'image. -Dans sa version originale proposée par Kass \textit{et al.} en 1988 \cite{snake-kass-1988}, l'algorithme dit du \textit{snake} présente l'intérêt de converger en un nombre d'itérations assez réduit et permet de suivre naturellement un \textit{cible} en mouvement après une convergence initiale à une position donnée, chaque position de convergence fournissant une position initiale pertinente pour la position suivante. +Dans sa version originale proposée par Kass \textit{et al.} en 1988 \cite{KassWT88}, l'algorithme dit du \textit{snake} présente l'intérêt de converger en un nombre d'itérations assez réduit et permet de suivre naturellement un \textit{cible} en mouvement après une convergence initiale à une position donnée, chaque position de convergence fournissant une position initiale pertinente pour la position suivante. Toutefois, il se montre particulièrement sensible à l'état initial de la courbe et requiert souvent de celle-ci qu'elle soit assez proche de l'objet à ``entourer'', sous peine de se verrouiller dans un minimum local. La sensibilité au bruit n'est pas non plus très bonne du fait de la formulation locale de l'énergie. Les ``concavités'' étroites ou présentant un goulot d'étranglement marqué sont par ailleurs mal délimitées. @@ -378,14 +421,26 @@ Parmi les variantes élaborées qui tentent de pallier ces défauts, les plus in \item le \textit{snake} GVF (pour Gradient Vector Flow), dont le but est de permettre qu'une initialisation lointaine de la courbe ne pénalise pas la segmentation. Une carte des lignes de gradient est établie sur tout le domaine de l'image et sert à intégrer une force supplémentaire dans l'énergie totale, qui attire la courbe vers la zone de fort gradient. \item les \textit{level-sets}, dont la particularité est de ne pas employer directement une courbe paramétrique plane mais de définir l'évolution des frontières comme l'évolution temporelle de l'ensemble des points d'une surface 3D soumise à un champ de force, tels que leur élévation soit constamment nulle. Les propriétés des contours actifs par \textit{level-sets} se sont révélées intéressantes, en particulier la faculté de se disjoindre ou de fusionner, mais les temps de calcul très pénalisants. -Après la formulation initiale de Osher et Sethian en 1988 \cite{level-sets-osher-sethian-1988}, plusieurs façon de réduire le coût du calcul ont été formulées, dont les plus importantes restent les techniques dites \textit{narrow band} \cite{narrow-band-level-set} (bande étroite) qui ne calcule à chaque itération que les points dans une bande étroite autour du plan $z=0$ de l'itération courante et \textit{fast marching} \cite{fast_marching_sethian} qui s'applique dans le cas particulier d'une évolution monotone des fronts. -\item les \textit{snake} orientés régions, qui visent essentiellement à mieux caractériser les zones à segmenter et améliorer la robustesse vis à vis du bruit en employant une formulation de l'énergie calculée sur le domaine complet de l'image \cite{cohenSMIE93, ronfard}. Les premiers résultats confirment la qualité de cette méthode, mais la nécessité d'effectuer les calculs sur l'image entière générait des temps de traitement prohibitifs jusqu'à ce que Bertaux \textit{et al.} proposent une amélioration algorithmique exacte permettant à nouveau un calcul en 1D, le long de la courbe, moyennant une simple étape initiale générant un certain nombre d'images intégrales \cite{snake-bertaux}. La section \ref{sec-contrib-snake} qui introduit notre contribution à cette technique en donnera une description détaillée. +Après la formulation initiale de Osher et Sethian en 1988 \cite{osher1988fronts}, plusieurs façon de réduire le coût du calcul ont été formulées, dont les plus importantes restent les techniques dites \textit{narrow band} \cite{adalsteinsson1994fast} (bande étroite) qui ne calcule à chaque itération que les points dans une bande étroite autour du plan $z=0$ de l'itération courante et \textit{fast marching} \cite{sethian1996fast} qui s'applique dans le cas particulier d'une évolution monotone des fronts. +\item les \textit{snake} orientés régions, qui visent essentiellement à mieux caractériser les zones à segmenter et améliorer la robustesse vis à vis du bruit en employant une formulation de l'énergie calculée sur le domaine complet de l'image \cite{cohen1993surface, ronfard1994region}. Les premiers résultats confirment la qualité de cette méthode, mais la nécessité d'effectuer les calculs sur l'image entière générait des temps de traitement prohibitifs jusqu'à ce que Bertaux \textit{et al.} proposent une amélioration algorithmique exacte permettant à nouveau un calcul en 1D, le long de la courbe, moyennant une simple étape initiale générant un certain nombre d'images intégrales \cite{ChesnaudRB99,GallandBR03,GermainR01}. La section \ref{sec-contrib-snake} qui introduit notre contribution à cette technique en donnera une description détaillée. \end{itemize} -% ne faut-il pas mieux éluder le paragraphe ci-dessous \subsection{Méthodes hybrides} Aujourd'hui, les algorithmes de segmentation les plus performants en terme de qualité emploient des techniques qui tentent de tirer le meilleur parti de plusieurs des méthodes ``historiques'' décrites précédemment. -Le meilleur exemple, et le seul que nous citerons, est le détecteur de contour et l'algorithme de segmentation associé proposé par Arbelaez \textit{et al.} en 2010 \cite{amfm-2010}. Il compose avec la constructions d'histogrammes locaux pour générer une matrice de similitude (affinity matrix) et appliquer les techniques liées à la théorie des graphes pour réduire la dimension de l'espace de représentation (calcul des valeurs et vecteurs propres). Il utilise ensuite une technique adaptée de \textit{ligne de partage des eaux} \cite{watershed} (que l'on aurait rangée avec les mean-shift) pour regrouper les segments. -Les résultats sont très bons et des implémentations efficaces ont dores et déjà été écrites (voir section \ref{sec_ea_gpu}. +Le meilleur exemple, et le seul que nous citerons, est le détecteur de contour et l'algorithme de segmentation associé proposé par Arbelaez \textit{et al.} en 2010 \cite{arbelaez2011contour}. Il compose avec la constructions d'histogrammes locaux pour générer une matrice de similitude (affinity matrix) et appliquer les techniques liées à la théorie des graphes pour réduire la dimension de l'espace de représentation (calcul des valeurs et vecteurs propres). Il utilise ensuite une technique adaptée de \textit{ligne de partage des eaux} (que l'on aurait rangée avec les mean-shift) pour regrouper les segments. +Les résultats sont très bons et des implémentations efficaces ont dores et déjà été écrites (voir section \ref{sec_ea_gpu}). %TODO %peut-être dire deux mots sur le partage des eaux (avec kmeans et meanshift) puisqu'il est employé dans gPb + +\section{Les implémentations GPU des techniques de segmentation} + +La problématique tant étudiée de la segmentation n'a pas échappé à l'engouement des chercheurs pour les processeurs graphiques modernes. Un certain nombre de travaux proposent ainsi des implémentations GPU plus ou moins directes de méthodes de segmentation tirant parti de l'architecture massivememnt parallèle de ces matériels. +La majorité d'entre elles cherche à répondre à des besoins liés à l'imagerie médicale allant de la simple extraction des contours d'un organe, d'une tumeur, etc., à la mesure de leur volume. La natures des tissus et les formes à identifier sont extrêmement variées. Les images sont souvent très bruitées et les modèles de bruit divers selon l'instrumentation employée. Enfin, le diagnostique médical requerant la plus grande précision possible, aucune solution générique satisfaisante de segmentation n'a encore pu émerger dans ce cadre, laissant place à autant d'implémentations adaptées que de besoin médical spécifique. + +Beaucoup d'algorithmes récents destinés à la segmentation comportent plusieurs phases de calcul et mettent en \oe uvre différents algorithmes réalisant des fonctions élémentaires comme de la réduction de bruit ou du calcul d'histogramme. + +%dire que les combianisons possibles sont nombreuses pour la conception, en fonction du niveau de prarllelisme. Par exmple, on peut calculer un histogramme par pixel mais le faire en sequentiel, ou bien chercher à paralleliser aussi le calcul d'histo. Das les deux cas, on dira histograme GPU, mais cela recouvrira des réalités et des niveaux de difficulté et de perf tres differents. + + + + \ No newline at end of file diff --git a/THESE/Chapters/chapter2/img/shmem_prefetch_zheng2011.png b/THESE/Chapters/chapter2/img/shmem_prefetch_zheng2011.png new file mode 100644 index 0000000000000000000000000000000000000000..4fc252b5c94d6c013a6bf47dc76a6558c54b810d GIT binary patch literal 47524 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 literal 0 HcmV?d00001 diff --git a/THESE/biblio.bib b/THESE/biblio.bib index 7ca8309..1e12d97 100755 --- a/THESE/biblio.bib +++ b/THESE/biblio.bib @@ -710,4 +710,241 @@ ISSN={0190-3918},} pages={401}, year={1924}, publisher={Warwick \& York} +} +@ARTICLE{4310076, +journal={Systems, Man and Cybernetics, IEEE Transactions on}, +title={A Threshold Selection Method from Gray-Level Histograms}, +author={Otsu, N.}, +year={1979}, +volume={9}, +number={1}, +pages={62-66}, +keywords={Displays;Gaussian distribution;Histograms;Least squares approximation;Marine vehicles;Q measurement;Radar tracking;Sea measurements;Surveillance;Target tracking}, +doi={10.1109/TSMC.1979.4310076}, +ISSN={0018-9472},} +@article{Zahn:1971:GMD:1309266.1309359, + author = {Zahn, C. T.}, + title = {Graph-Theoretical Methods for Detecting and Describing Gestalt Clusters}, + journal = {IEEE Trans. Comput.}, + issue_date = {January 1971}, + volume = {20}, + number = {1}, + month = jan, + year = {1971}, + issn = {0018-9340}, + pages = {68--86}, + numpages = {19}, + url = {http://dx.doi.org/10.1109/T-C.1971.223083}, + doi = {10.1109/T-C.1971.223083}, + acmid = {1309359}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA}, + keywords = {Clustering, data structure analysis, feature space evaluation, gestalt psychology, graph theory, minimal spanning trees, nearest neighbor methods, numerical taxonomy, pattern recognition.}, +} +@article{wu1993optimal, + title={An optimal graph theoretic approach to data clustering: Theory and its application to image segmentation}, + author={Wu, Zhenyu and Leahy, Richard}, + journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on}, + volume={15}, + number={11}, + pages={1101--1113}, + year={1993}, + publisher={IEEE} +} +@article{felzenszwalb2004efficient, + title={Efficient graph-based image segmentation}, + author={Felzenszwalb, Pedro F and Huttenlocher, Daniel P}, + journal={International Journal of Computer Vision}, + volume={59}, + number={2}, + pages={167--181}, + year={2004}, + publisher={Springer} +} +@inproceedings{wang2001image, + title={Image segmentation with minimum mean cut}, + author={Wang, Song and Siskind, Jeffrey Mark}, + booktitle={Computer Vision, 2001. ICCV 2001. Proceedings. Eighth IEEE International Conference on}, + volume={1}, + pages={517--524}, + year={2001}, + organization={IEEE} +} +@article{wang2003image, + title={Image segmentation with ratio cut}, + author={Wang, Song and Siskind, Jeffrey Mark}, + journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on}, + volume={25}, + number={6}, + pages={675--690}, + year={2003}, + publisher={IEEE} +} +@article{shi2000normalized, + title={Normalized cuts and image segmentation}, + author={Shi, Jianbo and Malik, Jitendra}, + journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on}, + volume={22}, + number={8}, + pages={888--905}, + year={2000}, + publisher={IEEE} +} +@inproceedings{macqueen1967some, + title={Some methods for classification and analysis of multivariate observations}, + author={MacQueen, James and others}, + booktitle={Proceedings of the fifth Berkeley symposium on mathematical statistics and probability}, + volume={1}, + number={281-297}, + pages={14}, + year={1967}, + organization={California, USA} +} +@article{agarwal2002exact, + title={Exact and approximation algorithms for clustering}, + author={Agarwal, Pankaj K and Procopiuc, Cecilia Magdalena}, + journal={Algorithmica}, + volume={33}, + number={2}, + pages={201--226}, + year={2002}, + publisher={Springer} +} +@inproceedings{arora1998approximation, + title={Approximation schemes for Euclidean k-medians and related problems}, + author={Arora, Sanjeev and Raghavan, Prabhakar and Rao, Satish}, + booktitle={Proceedings of the thirtieth annual ACM symposium on Theory of computing}, + pages={106--113}, + year={1998}, + organization={ACM} +} +@inproceedings{pelleg2000x, + title={X-means: Extending K-means with Efficient Estimation of the Number of Clusters.}, + author={Pelleg, Dan and Moore, Andrew W and others}, + booktitle={ICML}, + pages={727--734}, + year={2000} +} +@article{fukunaga1975estimation, + title={The estimation of the gradient of a density function, with applications in pattern recognition}, + author={Fukunaga, Keinosuke and Hostetler, Larry}, + journal={Information Theory, IEEE Transactions on}, + volume={21}, + number={1}, + pages={32--40}, + year={1975}, + publisher={IEEE} +} +@article{cheng1995mean, + title={Mean shift, mode seeking, and clustering}, + author={Cheng, Yizong}, + journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on}, + volume={17}, + number={8}, + pages={790--799}, + year={1995}, + publisher={IEEE} +} +@book{foley1994introduction, + title={Introduction to computer graphics}, + author={Foley, James D and Van Dam, Andries and Feiner, Steven K and Hughes, John F and Phillips, Richard L}, + volume={55}, + year={1994}, + publisher={Addison-Wesley Reading} +} +@inproceedings{comaniciu1999mean, + title={Mean shift analysis and applications}, + author={Comaniciu, Dorin and Meer, Peter}, + booktitle={Computer Vision, 1999. The Proceedings of the Seventh IEEE International Conference on}, + volume={2}, + pages={1197--1203}, + year={1999}, + organization={IEEE} +} +@article{comaniciu2002mean, + title={Mean shift: A robust approach toward feature space analysis}, + author={Comaniciu, Dorin and Meer, Peter}, + journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on}, + volume={24}, + number={5}, + pages={603--619}, + year={2002}, + publisher={IEEE} +} +@inproceedings{keselman1998extraction, + title={Extraction and characterization of regions of interest in biomedical images}, + author={Keselman, Yakov and Micheli-Tzanakou, EVANGELIA}, + booktitle={Information Technology Applications in Biomedicine, 1998. ITAB 98. Proceedings. 1998 IEEE International Conference on}, + pages={87--90}, + year={1998}, + organization={IEEE} +} +@article{osher1988fronts, + title={Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulations}, + author={Osher, Stanley and Sethian, James A}, + journal={Journal of computational physics}, + volume={79}, + number={1}, + pages={12--49}, + year={1988}, + publisher={Elsevier} +} +@phdthesis{adalsteinsson1994fast, + title={A fast level set method for propagating interfaces}, + author={Adalsteinsson, David and Sethian, James}, + year={1994}, + school={University of California} +} +@article{sethian1996fast, + title={A fast marching level set method for monotonically advancing fronts}, + author={Sethian, James A}, + journal={Proceedings of the National Academy of Sciences}, + volume={93}, + number={4}, + pages={1591--1595}, + year={1996}, + publisher={National Acad Sciences} +} +@article{cohen1993surface, + title={Surface reconstruction using active contour models}, + author={Cohen, Laurent D and Bardinet, Eric and Ayache, Nicholas and others}, + year={1993} +} +@article{ronfard1994region, + title={Region-based strategies for active contour models}, + author={Ronfard, R{\'e}mi}, + journal={International Journal of Computer Vision}, + volume={13}, + number={2}, + pages={229--251}, + year={1994}, + publisher={Springer} +} +@article{arbelaez2011contour, + title={Contour detection and hierarchical image segmentation}, + author={Arbelaez, Pablo and Maire, Michael and Fowlkes, Charless and Malik, Jitendra}, + journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on}, + volume={33}, + number={5}, + pages={898--916}, + year={2011}, + publisher={IEEE} +} +@INPROCEEDINGS{6005963, +author={Lanfang Dong and Jiahui Chen and Jin Wang}, +booktitle={Image and Graphics (ICIG), 2011 Sixth International Conference on}, +title={A Real-Time Isoline Tracing Algorithm Based on CUDA}, +year={2011}, +pages={864-867}, +keywords={data visualisation;multi-threading;GPU multithread;compute unified device architecture;graphics processing unit;isoline tracing algorithm;reservoir simulation visualization;texture memory;Algorithm design and analysis;Arrays;Data visualization;Graphics processing unit;Indexes;Instruction sets;Real time systems;CUDA;Isoline Tracing;Real-time}, +doi={10.1109/ICIG.2011.117},} +@article{bertaux2004speckle, + title={Speckle removal using a maximum-likelihood technique with isoline gray-level regularization}, + author={Bertaux, Nicolas and Frauel, Yann and R{\'e}fr{\'e}gier, Philippe and Javidi, Bahram}, + journal={JOSA A}, + volume={21}, + number={12}, + pages={2283--2291}, + year={2004}, + publisher={Optical Society of America} } \ No newline at end of file diff --git a/THESE/these.aux b/THESE/these.aux index 39abc51..9e64a83 100644 --- a/THESE/these.aux +++ b/THESE/these.aux @@ -47,19 +47,21 @@ \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Bruit gaussien $\sigma =25$, PSNR=22.3~dB MSSIM=0.16}}}{14}{figure.2.1}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Bruit impulsionnel 25\%, PSNR=9.48~dB MSSIM=0.04}}}{14}{figure.2.1}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Les op\IeC {\'e}rateurs de base}{14}{subsection.2.3.1}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.1}Les algorithmes de voisinage}{14}{subsubsection.2.3.1.1}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.1}Le filtre de convolution}{14}{subsubsection.2.3.1.1}} \citation{tukey77} \citation{4287006} -\citation{710815} \@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Filtrage par convolution.}}{15}{figure.2.2}} \newlabel{fig-ny-convo}{{2.2}{15}{Filtrage par convolution}{figure.2.2}{}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Moyenneur 3$\times $3, PSNR=27.6dB MSSIM=0.34}}}{15}{figure.2.2}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Moyenneur 5$\times $5, PSNR=27.7dB MSSIM=0.38}}}{15}{figure.2.2}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Filtre gaussien 3$\times $3, PSNR=27.4dB MSSIM=0.33}}}{15}{figure.2.2}} -\newlabel{convoDef}{{2.1}{15}{Les algorithmes de voisinage\relax }{equation.2.3.1}{}} +\newlabel{convoDef}{{2.1}{15}{Le filtre de convolution\relax }{equation.2.3.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.2}Le filtre m\IeC {\'e}dian}{15}{subsubsection.2.3.1.2}} +\citation{710815} \citation{1521458} \citation{4587843} \citation{BuadesCM06} +\citation{bertaux2004speckle} \citation{Mallat:2008:WTS:1525499} \citation{Daubechies:1992:TLW:130655} \citation{1093941} @@ -71,7 +73,7 @@ \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {M\IeC {\'e}dian 3$\times $3 une passe, PSNR=26.4~dB MSSIM=0.90}}}{16}{figure.2.3}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {M\IeC {\'e}dian 3$\times $3 deux passes, PSNR=34.4~dB MSSIM=0.98}}}{16}{figure.2.3}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {M\IeC {\'e}dian 5$\times $5 une passe, PSNR=35.1~dB MSSIM=0.98}}}{16}{figure.2.3}} -\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.2}Les algorithmes par dictionnaire}{16}{subsubsection.2.3.1.2}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.3}Le filtre bilat\IeC {\'e}ral}{16}{subsubsection.2.3.1.3}} \@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces R\IeC {\'e}duction de bruit gaussien par filtrage bilat\IeC {\'e}ral de voisinage 5$\times $5. $\sigma _S$ et $\sigma _I$ sont les \IeC {\'e}carts type des fonctions gaussiennes de pond\IeC {\'e}ration spatiale et d'intensit\IeC {\'e}.}}{17}{figure.2.4}} \newlabel{fig-ny-bilat}{{2.4}{17}{Réduction de bruit gaussien par filtrage bilatéral de voisinage 5$\times $5. $\sigma _S$ et $\sigma _I$ sont les écarts type des fonctions gaussiennes de pondération spatiale et d'intensité}{figure.2.4}{}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=0.1$, PSNR=25.6~dB MSSIM=0.25}}}{17}{figure.2.4}} @@ -91,7 +93,8 @@ \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$T=20$, PSNR=26.9~dB MSSIM=0.30}}}{18}{figure.2.5}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$T=35$, PSNR=27.6~dB MSSIM=0.36}}}{18}{figure.2.5}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$T=70$, PSNR=26.7~dB MSSIM=0.37}}}{18}{figure.2.5}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Les techniques avanc\IeC {\'e}es}{18}{subsection.2.3.2}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.4}Les algorithmes de filtrage par dictionnaire}{18}{subsubsection.2.3.1.4}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Les algorithmes de filtrage par patches}{18}{subsection.2.3.2}} \citation{cmla2009Kes} \citation{convolutionsoup} \@writefile{lof}{\contentsline {figure}{\numberline {2.6}{\ignorespaces Filtrage par NL-means pour diff\IeC {\'e}rentes combinaisons des param\IeC {\`e}tres de similarit\IeC {\'e} $f$ et de non localit\IeC {\'e} $t$.}}{19}{figure.2.6}} @@ -108,134 +111,176 @@ \citation{5402362} \citation{chen09} \citation{5402362} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Le filtrage par convolution}{20}{subsection.2.4.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}Le filtre m\IeC {\'e}dian}{20}{subsection.2.4.2}} \citation{aldinucci2012parallel} \citation{5206542} \citation{zheng2011performance} +\citation{zheng2011performance} +\citation{zheng2011performance} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Le filtre bilat\IeC {\'e}ral}{21}{subsection.2.4.3}} \citation{PALHANOXAVIERDEFONTES} \citation{nlmeansgpubelge} -\@writefile{toc}{\contentsline {section}{\numberline {2.5}Les techniques de segmentation}{21}{section.2.5}} -\citation{biblio-web} -\citation{otsu79} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.1}Analyse d'histogramme}{22}{subsection.2.5.1}} -\citation{slac-pub-0672} -\newlabel{fig-histo-cochon-a}{{2.8(a)}{23}{Subfigure 2 2.8(a)\relax }{subfigure.2.8.1}{}} -\newlabel{sub@fig-histo-cochon-a}{{(a)}{23}{Subfigure 2 2.8(a)\relax }{subfigure.2.8.1}{}} -\newlabel{fig-histo-cochon-b}{{2.8(b)}{23}{Subfigure 2 2.8(b)\relax }{subfigure.2.8.2}{}} -\newlabel{sub@fig-histo-cochon-b}{{(b)}{23}{Subfigure 2 2.8(b)\relax }{subfigure.2.8.2}{}} -\newlabel{fig-histo-cochon-c}{{2.8(c)}{23}{Subfigure 2 2.8(c)\relax }{subfigure.2.8.3}{}} -\newlabel{sub@fig-histo-cochon-c}{{(c)}{23}{Subfigure 2 2.8(c)\relax }{subfigure.2.8.3}{}} -\newlabel{fig-histo-cochon-d}{{2.8(d)}{23}{Subfigure 2 2.8(d)\relax }{subfigure.2.8.4}{}} -\newlabel{sub@fig-histo-cochon-d}{{(d)}{23}{Subfigure 2 2.8(d)\relax }{subfigure.2.8.4}{}} -\newlabel{fig-histo-cochon-e}{{2.8(e)}{23}{Subfigure 2 2.8(e)\relax }{subfigure.2.8.5}{}} -\newlabel{sub@fig-histo-cochon-e}{{(e)}{23}{Subfigure 2 2.8(e)\relax }{subfigure.2.8.5}{}} -\newlabel{fig-histo-cochon-f}{{2.8(f)}{23}{Subfigure 2 2.8(f)\relax }{subfigure.2.8.6}{}} -\newlabel{sub@fig-histo-cochon-f}{{(f)}{23}{Subfigure 2 2.8(f)\relax }{subfigure.2.8.6}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entr\IeC {\'e}e. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : r\IeC {\'e}sultat de la segmentation.}}{23}{figure.2.8}} -\newlabel{fig-histo-cochon}{{2.8}{23}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entrée. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : résultat de la segmentation}{figure.2.8}{}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image initiale comportant deux zones : le fond et le cochon (la cible)}}}{23}{figure.2.8}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Histogramme des niveaux de gris}}}{23}{figure.2.8}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 101 apr\IeC {\`e}s 4 it\IeC {\'e}rations.}}}{23}{figure.2.8}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Image initiale bruit\IeC {\'e}e}}}{23}{figure.2.8}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {Histogramme des niveaux de gris}}}{23}{figure.2.8}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 99 apr\IeC {\`e}s 5 it\IeC {\'e}rations.}}}{23}{figure.2.8}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.2}Analyse de graphe}{23}{subsection.2.5.2}} -\citation{wulealy_1993} -\citation{cf-notes-x5} -\citation{sm-ncuts-pami2000} -\@writefile{loa}{\contentsline {algocf}{\numberline {1}{\ignorespaces Calcul du seuil de s\IeC {\'e}paration des segments de l'histogramme.}}{24}{algocfline.1}} -\newlabel{algo-histo-cochon}{{1}{24}{Analyse d'histogramme\relax }{algocfline.1}{}} -\citation{kmeans-1965} -\@writefile{lof}{\contentsline {figure}{\numberline {2.9}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5.}}{25}{figure.2.9}} -\newlabel{fig-graph-cochon}{{2.9}{25}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 à 5}{figure.2.9}{}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$s = 2$}}}{25}{figure.2.9}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$s = 3$}}}{25}{figure.2.9}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$s = 4$}}}{25}{figure.2.9}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$s = 5$}}}{25}{figure.2.9}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.3}kernel-means, mean-shift et d\IeC {\'e}riv\IeC {\'e}s}{25}{subsection.2.5.3}} -\citation{k-centers} -\citation{k-medians} -\citation{x-means} -\citation{Lestimation-html} -\citation{meanshift_1995} -\citation{Computer-Graphics-by-Foley-van-Dam-Feiner-and-Hughes-published-by-Addison-Wesley-1990} -\citation{mean-shift-1999} -\citation{2002} -\citation{yket1999} -\@writefile{lof}{\contentsline {figure}{\numberline {2.10}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{26}{figure.2.10}} -\newlabel{fig-kmeans-cochon}{{2.10}{26}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 à 5. Chaque couleur est associée à un segment. Les couleurs sont choisies pour une meilleure visualisation des différents segments}{figure.2.10}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces Illustration pr\IeC {\'e}-chargement en m\IeC {\'e}moire partag\IeC {\'e}e mise en \oe uvre dans \cite {zheng2011performance} pour l'impl\IeC {\'e}mentation, entre autres, du filtre bilat\IeC {\'e}ral. a) en vert le bloc de threads associ\IeC {\'e} aux pixels centraux. b-e) les blocs de pixels successivement pr\IeC {\'e}-charg\IeC {\'e}s en m\IeC {\'e}moire partag\IeC {\'e}e. f) la configuration finale de la ROI en m\IeC {\'e}moire partag\IeC {\'e}e.}}{22}{figure.2.8}} +\newlabel{fig-prefetch-zheng}{{2.8}{22}{Illustration pré-chargement en mémoire partagée mise en \oe uvre dans \cite {zheng2011performance} pour l'implémentation, entre autres, du filtre bilatéral. a) en vert le bloc de threads associé aux pixels centraux. b-e) les blocs de pixels successivement pré-chargés en mémoire partagée. f) la configuration finale de la ROI en mémoire partagée}{figure.2.8}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.4}Les filtres par patches}{22}{subsection.2.4.4}} +\citation{humphrey1924psychology} +\citation{4310076} +\@writefile{toc}{\contentsline {section}{\numberline {2.5}Les techniques de segmentation}{23}{section.2.5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.1}Analyse d'histogramme}{23}{subsection.2.5.1}} +\newlabel{fig-histo-cochon-a}{{2.9(a)}{24}{Subfigure 2 2.9(a)\relax }{subfigure.2.9.1}{}} +\newlabel{sub@fig-histo-cochon-a}{{(a)}{24}{Subfigure 2 2.9(a)\relax }{subfigure.2.9.1}{}} +\newlabel{fig-histo-cochon-b}{{2.9(b)}{24}{Subfigure 2 2.9(b)\relax }{subfigure.2.9.2}{}} +\newlabel{sub@fig-histo-cochon-b}{{(b)}{24}{Subfigure 2 2.9(b)\relax }{subfigure.2.9.2}{}} +\newlabel{fig-histo-cochon-c}{{2.9(c)}{24}{Subfigure 2 2.9(c)\relax }{subfigure.2.9.3}{}} +\newlabel{sub@fig-histo-cochon-c}{{(c)}{24}{Subfigure 2 2.9(c)\relax }{subfigure.2.9.3}{}} +\newlabel{fig-histo-cochon-d}{{2.9(d)}{24}{Subfigure 2 2.9(d)\relax }{subfigure.2.9.4}{}} +\newlabel{sub@fig-histo-cochon-d}{{(d)}{24}{Subfigure 2 2.9(d)\relax }{subfigure.2.9.4}{}} +\newlabel{fig-histo-cochon-e}{{2.9(e)}{24}{Subfigure 2 2.9(e)\relax }{subfigure.2.9.5}{}} +\newlabel{sub@fig-histo-cochon-e}{{(e)}{24}{Subfigure 2 2.9(e)\relax }{subfigure.2.9.5}{}} +\newlabel{fig-histo-cochon-f}{{2.9(f)}{24}{Subfigure 2 2.9(f)\relax }{subfigure.2.9.6}{}} +\newlabel{sub@fig-histo-cochon-f}{{(f)}{24}{Subfigure 2 2.9(f)\relax }{subfigure.2.9.6}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.9}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entr\IeC {\'e}e. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : r\IeC {\'e}sultat de la segmentation.}}{24}{figure.2.9}} +\newlabel{fig-histo-cochon}{{2.9}{24}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entrée. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : résultat de la segmentation}{figure.2.9}{}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image initiale comportant deux zones : le fond et le cochon (la cible)}}}{24}{figure.2.9}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Histogramme des niveaux de gris}}}{24}{figure.2.9}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 101 apr\IeC {\`e}s 4 it\IeC {\'e}rations.}}}{24}{figure.2.9}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Image initiale bruit\IeC {\'e}e}}}{24}{figure.2.9}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {Histogramme des niveaux de gris}}}{24}{figure.2.9}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 99 apr\IeC {\`e}s 5 it\IeC {\'e}rations.}}}{24}{figure.2.9}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.2}Analyse de graphe}{24}{subsection.2.5.2}} +\citation{Zahn:1971:GMD:1309266.1309359} +\@writefile{loa}{\contentsline {algocf}{\numberline {1}{\ignorespaces Calcul du seuil de s\IeC {\'e}paration des segments de l'histogramme.}}{25}{algocfline.1}} +\newlabel{algo-histo-cochon}{{1}{25}{Analyse d'histogramme\relax }{algocfline.1}{}} +\citation{wu1993optimal} +\citation{wang2001image} +\citation{wang2003image} +\citation{felzenszwalb2004efficient} +\citation{shi2000normalized} +\citation{shi2000normalized} +\citation{macqueen1967some} +\@writefile{lof}{\contentsline {figure}{\numberline {2.10}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5.}}{26}{figure.2.10}} +\newlabel{fig-graph-cochon}{{2.10}{26}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 à 5}{figure.2.10}{}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$s = 2$}}}{26}{figure.2.10}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$s = 3$}}}{26}{figure.2.10}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$s = 4$}}}{26}{figure.2.10}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$s = 5$}}}{26}{figure.2.10}} -\@writefile{lof}{\contentsline {figure}{\numberline {2.11}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 \IeC {\`a} 5. Le volume minimal admis pour un segment est fix\IeC {\'e} \IeC {\`a} 100 pixels. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{27}{figure.2.11}} -\newlabel{fig-meanshift-cochon}{{2.11}{27}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 à 5. Le volume minimal admis pour un segment est fixé à 100 pixels. Chaque couleur est associée à un segment. Les couleurs sont choisies pour une meilleure visualisation des différents segments}{figure.2.11}{}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$r=100 \Rightarrow s = 2$}}}{27}{figure.2.11}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$r=50 \Rightarrow s = 3$}}}{27}{figure.2.11}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$r=35 \Rightarrow s = 4$}}}{27}{figure.2.11}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$r=25 \Rightarrow s = 5$}}}{27}{figure.2.11}} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.4}Les contours actifs, ou \textit {snakes}}{27}{subsection.2.5.4}} -\citation{snake-kass-1988} -\citation{level-sets-osher-sethian-1988} -\citation{narrow-band-level-set} -\citation{fast_marching_sethian} -\@writefile{lof}{\contentsline {figure}{\numberline {2.12}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les param\IeC {\`e}tres d'\IeC {\'e}lasticti\IeC {\'e}, de raideur et d'attraction ont \IeC {\'e}t\IeC {\'e} fix\IeC {\'e}s respectivement aux valeurs 5, 0.1 et 5. }}{28}{figure.2.12}} -\newlabel{fig-snake-tradi-cochon}{{2.12}{28}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les paramètres d'élastictié, de raideur et d'attraction ont été fixés respectivement aux valeurs 5, 0.1 et 5. \relax }{figure.2.12}{}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Les \IeC {\'e}tats initial et suivant chacune des trois premi\IeC {\`e}res it\IeC {\'e}rations}}}{28}{figure.2.12}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la septi\IeC {\`e}me it\IeC {\'e}ration}}}{28}{figure.2.12}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la dixi\IeC {\`e}me it\IeC {\'e}ration}}}{28}{figure.2.12}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la centi\IeC {\`e}me it\IeC {\'e}ration. C'est le contour final.}}}{28}{figure.2.12}} -\citation{cohenSMIE93} -\citation{ronfard} -\citation{snake-bertaux} -\citation{amfm-2010} -\citation{watershed} -\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.5}M\IeC {\'e}thodes hybrides}{29}{subsection.2.5.5}} -\@writefile{toc}{\contentsline {section}{\numberline {2.6}L'\IeC {\'e}tat de l'art des impl\IeC {\'e}mentations GPU}{29}{section.2.6}} -\@writefile{toc}{\contentsline {chapter}{\numberline {3}La segmentation orient\IeC {\'e}e r\IeC {\'e}gions dans les images bruit\IeC {\'e}es}{31}{chapter.3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.3}kernel-means, mean-shift et d\IeC {\'e}riv\IeC {\'e}s}{26}{subsection.2.5.3}} +\citation{agarwal2002exact} +\citation{arora1998approximation} +\citation{pelleg2000x} +\citation{fukunaga1975estimation} +\citation{cheng1995mean} +\citation{foley1994introduction} +\citation{comaniciu1999mean} +\citation{comaniciu2002mean} +\citation{keselman1998extraction} +\@writefile{lof}{\contentsline {figure}{\numberline {2.11}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{27}{figure.2.11}} +\newlabel{fig-kmeans-cochon}{{2.11}{27}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 à 5. Chaque couleur est associée à un segment. Les couleurs sont choisies pour une meilleure visualisation des différents segments}{figure.2.11}{}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$s = 2$}}}{27}{figure.2.11}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$s = 3$}}}{27}{figure.2.11}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$s = 4$}}}{27}{figure.2.11}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$s = 5$}}}{27}{figure.2.11}} +\@writefile{lof}{\contentsline {figure}{\numberline {2.12}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 \IeC {\`a} 5. Le volume minimal admis pour un segment est fix\IeC {\'e} \IeC {\`a} 100 pixels. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{28}{figure.2.12}} +\newlabel{fig-meanshift-cochon}{{2.12}{28}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 à 5. Le volume minimal admis pour un segment est fixé à 100 pixels. Chaque couleur est associée à un segment. Les couleurs sont choisies pour une meilleure visualisation des différents segments}{figure.2.12}{}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$r=100 \Rightarrow s = 2$}}}{28}{figure.2.12}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$r=50 \Rightarrow s = 3$}}}{28}{figure.2.12}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$r=35 \Rightarrow s = 4$}}}{28}{figure.2.12}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$r=25 \Rightarrow s = 5$}}}{28}{figure.2.12}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.4}Les contours actifs, ou \textit {snakes}}{28}{subsection.2.5.4}} +\citation{KassWT88} +\@writefile{lof}{\contentsline {figure}{\numberline {2.13}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les param\IeC {\`e}tres d'\IeC {\'e}lasticti\IeC {\'e}, de raideur et d'attraction ont \IeC {\'e}t\IeC {\'e} fix\IeC {\'e}s respectivement aux valeurs 5, 0.1 et 5. }}{29}{figure.2.13}} +\newlabel{fig-snake-tradi-cochon}{{2.13}{29}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les paramètres d'élastictié, de raideur et d'attraction ont été fixés respectivement aux valeurs 5, 0.1 et 5. \relax }{figure.2.13}{}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Les \IeC {\'e}tats initial et suivant chacune des trois premi\IeC {\`e}res it\IeC {\'e}rations}}}{29}{figure.2.13}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la septi\IeC {\`e}me it\IeC {\'e}ration}}}{29}{figure.2.13}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la dixi\IeC {\`e}me it\IeC {\'e}ration}}}{29}{figure.2.13}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la centi\IeC {\`e}me it\IeC {\'e}ration. C'est le contour final.}}}{29}{figure.2.13}} +\citation{osher1988fronts} +\citation{adalsteinsson1994fast} +\citation{sethian1996fast} +\citation{cohen1993surface} +\citation{ronfard1994region} +\citation{ChesnaudRB99} +\citation{GallandBR03} +\citation{GermainR01} +\citation{arbelaez2011contour} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.5}M\IeC {\'e}thodes hybrides}{30}{subsection.2.5.5}} +\@writefile{toc}{\contentsline {section}{\numberline {2.6}L'\IeC {\'e}tat de l'art des impl\IeC {\'e}mentations GPU}{31}{section.2.6}} +\@writefile{toc}{\contentsline {chapter}{\numberline {3}La segmentation orient\IeC {\'e}e r\IeC {\'e}gions dans les images bruit\IeC {\'e}es}{33}{chapter.3}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {3.1}Pr\IeC {\'e}sentation - existant}{31}{section.3.1}} -\@writefile{toc}{\contentsline {section}{\numberline {3.2}La parall\IeC {\`e}lisation du snake polygonal}{31}{section.3.2}} -\@writefile{toc}{\contentsline {chapter}{\numberline {4}Le filtrage des images sur GPU}{33}{chapter.4}} +\@writefile{toc}{\contentsline {section}{\numberline {3.1}Pr\IeC {\'e}sentation - existant}{33}{section.3.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.2}La parall\IeC {\`e}lisation du snake polygonal}{33}{section.3.2}} +\@writefile{toc}{\contentsline {chapter}{\numberline {4}Le filtrage des images sur GPU}{35}{chapter.4}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {4.1}Algorithme de r\IeC {\'e}duction de bruit par recherche des lignes de niveaux}{33}{section.4.1}} -\@writefile{toc}{\contentsline {section}{\numberline {4.2}Filtre m\IeC {\'e}dian}{33}{section.4.2}} -\@writefile{toc}{\contentsline {section}{\numberline {4.3}Filtres de convolution}{33}{section.4.3}} +\@writefile{toc}{\contentsline {section}{\numberline {4.1}Algorithme de r\IeC {\'e}duction de bruit par recherche des lignes de niveaux}{35}{section.4.1}} +\@writefile{toc}{\contentsline {section}{\numberline {4.2}Filtre m\IeC {\'e}dian}{35}{section.4.2}} +\@writefile{toc}{\contentsline {section}{\numberline {4.3}Filtres de convolution}{35}{section.4.3}} \bibstyle{plain} \bibdata{biblio} -\@writefile{toc}{\contentsline {chapter}{\numberline {5}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{35}{chapter.5}} +\@writefile{toc}{\contentsline {chapter}{\numberline {5}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{37}{chapter.5}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \bibcite{kodakccd}{1} -\bibcite{aldinucci2012parallel}{2} -\bibcite{1467423}{3} -\bibcite{BuadesCM06}{4} -\bibcite{Caselles99topographicmaps}{5} -\bibcite{chen09}{6} -\bibcite{1093941}{7} -\bibcite{cutrona1990synthetic}{8} -\bibcite{Dabov06imagedenoising}{9} -\bibcite{Dabov09bm3dimage}{10} -\bibcite{Daubechies:1992:TLW:130655}{11} -\bibcite{elad2006image}{12} -\bibcite{nlmeansgpubelge}{13} -\bibcite{healey1994radiometric}{14} -\bibcite{5402362}{15} -\bibcite{cmla2009Kes}{16} -\bibcite{Mallat:2008:WTS:1525499}{17} -\bibcite{mancuso2001introduction}{18} -\bibcite{coil}{19} -\bibcite{PALHANOXAVIERDEFONTES}{20} -\bibcite{4287006}{21} -\bibcite{1521458}{22} -\bibcite{4587843}{23} -\bibcite{6288187}{24} -\bibcite{convolutionsoup}{25} -\bibcite{strang1999discrete}{26} -\bibcite{theuwissen2001ccd}{27} -\bibcite{710815}{28} -\bibcite{tukey77}{29} -\bibcite{Wang04imagequality}{30} -\bibcite{5206542}{31} -\bibcite{zheng2011performance}{32} +\bibcite{adalsteinsson1994fast}{2} +\bibcite{agarwal2002exact}{3} +\bibcite{aldinucci2012parallel}{4} +\bibcite{arbelaez2011contour}{5} +\bibcite{arora1998approximation}{6} +\bibcite{bertaux2004speckle}{7} +\bibcite{1467423}{8} +\bibcite{BuadesCM06}{9} +\bibcite{Caselles99topographicmaps}{10} +\bibcite{chen09}{11} +\bibcite{1093941}{12} +\bibcite{cheng1995mean}{13} +\bibcite{ChesnaudRB99}{14} +\bibcite{cohen1993surface}{15} +\bibcite{comaniciu1999mean}{16} +\bibcite{comaniciu2002mean}{17} +\bibcite{cutrona1990synthetic}{18} +\bibcite{Dabov06imagedenoising}{19} +\bibcite{Dabov09bm3dimage}{20} +\bibcite{Daubechies:1992:TLW:130655}{21} +\bibcite{elad2006image}{22} +\bibcite{felzenszwalb2004efficient}{23} +\bibcite{foley1994introduction}{24} +\bibcite{fukunaga1975estimation}{25} +\bibcite{GallandBR03}{26} +\bibcite{GermainR01}{27} +\bibcite{nlmeansgpubelge}{28} +\bibcite{healey1994radiometric}{29} +\bibcite{humphrey1924psychology}{30} +\bibcite{5402362}{31} +\bibcite{KassWT88}{32} +\bibcite{keselman1998extraction}{33} +\bibcite{cmla2009Kes}{34} +\bibcite{macqueen1967some}{35} +\bibcite{Mallat:2008:WTS:1525499}{36} +\bibcite{mancuso2001introduction}{37} +\bibcite{coil}{38} +\bibcite{osher1988fronts}{39} +\bibcite{4310076}{40} +\bibcite{PALHANOXAVIERDEFONTES}{41} +\bibcite{pelleg2000x}{42} +\bibcite{4287006}{43} +\bibcite{1521458}{44} +\bibcite{4587843}{45} +\bibcite{ronfard1994region}{46} +\bibcite{6288187}{47} +\bibcite{sethian1996fast}{48} +\bibcite{shi2000normalized}{49} +\bibcite{convolutionsoup}{50} +\bibcite{strang1999discrete}{51} +\bibcite{theuwissen2001ccd}{52} +\bibcite{710815}{53} +\bibcite{tukey77}{54} +\bibcite{wang2001image}{55} +\bibcite{wang2003image}{56} +\bibcite{Wang04imagequality}{57} +\bibcite{wu1993optimal}{58} +\bibcite{5206542}{59} +\bibcite{Zahn:1971:GMD:1309266.1309359}{60} +\bibcite{zheng2011performance}{61} +\citation{zheng2011performance} diff --git a/THESE/these.bbl b/THESE/these.bbl index 65eb750..e44d4b4 100644 --- a/THESE/these.bbl +++ b/THESE/these.bbl @@ -4,12 +4,40 @@ Ccd image sensor noise sources. \newblock Technical report, Eastman Kodak company, Rochester, August 2001. +\bibitem{adalsteinsson1994fast} +David Adalsteinsson and James Sethian. +\newblock {\em A fast level set method for propagating interfaces}. +\newblock PhD thesis, University of California, 1994. + +\bibitem{agarwal2002exact} +Pankaj~K Agarwal and Cecilia~Magdalena Procopiuc. +\newblock Exact and approximation algorithms for clustering. +\newblock {\em Algorithmica}, 33(2):201--226, 2002. + \bibitem{aldinucci2012parallel} M.~Aldinucci, C.S.M. Drocco, M.~Torquati, and S.~Palazzo. \newblock A parallel edge preserving algorithm for salt and pepper image denoising. \newblock 2012. +\bibitem{arbelaez2011contour} +Pablo Arbelaez, Michael Maire, Charless Fowlkes, and Jitendra Malik. +\newblock Contour detection and hierarchical image segmentation. +\newblock {\em Pattern Analysis and Machine Intelligence, IEEE Transactions + on}, 33(5):898--916, 2011. + +\bibitem{arora1998approximation} +Sanjeev Arora, Prabhakar Raghavan, and Satish Rao. +\newblock Approximation schemes for euclidean k-medians and related problems. +\newblock In {\em Proceedings of the thirtieth annual ACM symposium on Theory + of computing}, pages 106--113. ACM, 1998. + +\bibitem{bertaux2004speckle} +Nicolas Bertaux, Yann Frauel, Philippe R{\'e}fr{\'e}gier, and Bahram Javidi. +\newblock Speckle removal using a maximum-likelihood technique with isoline + gray-level regularization. +\newblock {\em JOSA A}, 21(12):2283--2291, 2004. + \bibitem{1467423} A.~Buades, B.~Coll, and J.~M Morel. \newblock A non-local algorithm for image denoising. @@ -37,6 +65,36 @@ Wen-Hsiung Chen, C.~Smith, and S.~Fralick. \newblock A fast computational algorithm for the discrete cosine transform. \newblock {\em Communications, IEEE Transactions on}, 25(9):1004--1009, 1977. +\bibitem{cheng1995mean} +Yizong Cheng. +\newblock Mean shift, mode seeking, and clustering. +\newblock {\em Pattern Analysis and Machine Intelligence, IEEE Transactions + on}, 17(8):790--799, 1995. + +\bibitem{ChesnaudRB99} +Christophe Chesnaud, Philippe R{\'e}fr{\'e}gier, and Vlady Boulet. +\newblock Statistical region snake-based segmentation adapted to different + physical noise models. +\newblock {\em IEEE Trans. Pattern Anal. Mach. Intell.}, 21(11):1145--1157, + 1999. + +\bibitem{cohen1993surface} +Laurent~D Cohen, Eric Bardinet, Nicholas Ayache, et~al. +\newblock Surface reconstruction using active contour models. +\newblock 1993. + +\bibitem{comaniciu1999mean} +Dorin Comaniciu and Peter Meer. +\newblock Mean shift analysis and applications. +\newblock In {\em Computer Vision, 1999. The Proceedings of the Seventh IEEE + International Conference on}, volume~2, pages 1197--1203. IEEE, 1999. + +\bibitem{comaniciu2002mean} +Dorin Comaniciu and Peter Meer. +\newblock Mean shift: A robust approach toward feature space analysis. +\newblock {\em Pattern Analysis and Machine Intelligence, IEEE Transactions + on}, 24(5):603--619, 2002. + \bibitem{cutrona1990synthetic} LJ~Cutrona. \newblock Synthetic aperture radar. @@ -69,6 +127,34 @@ Michael Elad and Michal Aharon. \newblock {\em Image Processing, IEEE Transactions on}, 15(12):3736--3745, 2006. +\bibitem{felzenszwalb2004efficient} +Pedro~F Felzenszwalb and Daniel~P Huttenlocher. +\newblock Efficient graph-based image segmentation. +\newblock {\em International Journal of Computer Vision}, 59(2):167--181, 2004. + +\bibitem{foley1994introduction} +James~D Foley, Andries Van~Dam, Steven~K Feiner, John~F Hughes, and Richard~L + Phillips. +\newblock {\em Introduction to computer graphics}, volume~55. +\newblock Addison-Wesley Reading, 1994. + +\bibitem{fukunaga1975estimation} +Keinosuke Fukunaga and Larry Hostetler. +\newblock The estimation of the gradient of a density function, with + applications in pattern recognition. +\newblock {\em Information Theory, IEEE Transactions on}, 21(1):32--40, 1975. + +\bibitem{GallandBR03} +Fr{\'e}d{\'e}ric Galland, Nicolas Bertaux, and Philippe R{\'e}fr{\'e}gier. +\newblock Minimum description length synthetic aperture radar image + segmentation. +\newblock {\em IEEE Transactions on Image Processing}, 12(9):995--1006, 2003. + +\bibitem{GermainR01} +Olivier Germain and Philippe R{\'e}fr{\'e}gier. +\newblock Statistical active grid for segmentation refinement. +\newblock {\em Pattern Recognition Letters}, 22(10):1125--1132, 2001. + \bibitem{nlmeansgpubelge} Bart Goossens, Hiêp Luong, Jan Aelterman, Aleksandra Pižurica, and Wilfried Philips. @@ -85,17 +171,42 @@ Glenn~E Healey and Raghava Kondepudy. \newblock {\em Pattern Analysis and Machine Intelligence, IEEE Transactions on}, 16(3):267--276, 1994. +\bibitem{humphrey1924psychology} +GEORGE Humphrey. +\newblock The psychology of the gestalt. +\newblock {\em Journal of Educational Psychology}, 15(7):401, 1924. + \bibitem{5402362} M.~Kachelriess. \newblock Branchless vectorized median filtering. \newblock In {\em Nuclear Science Symposium Conference Record (NSS/MIC), 2009 IEEE}, pages 4099 --4105, 24 2009-nov. 1 2009. +\bibitem{KassWT88} +Michael Kass, Andrew~P. Witkin, and Demetri Terzopoulos. +\newblock Snakes: Active contour models. +\newblock {\em International Journal of Computer Vision}, 1(4):321--331, 1988. + +\bibitem{keselman1998extraction} +Yakov Keselman and EVANGELIA Micheli-Tzanakou. +\newblock Extraction and characterization of regions of interest in biomedical + images. +\newblock In {\em Information Technology Applications in Biomedicine, 1998. + ITAB 98. Proceedings. 1998 IEEE International Conference on}, pages 87--90. + IEEE, 1998. + \bibitem{cmla2009Kes} P.~Kestener, Y.~Moudden, and A.~Pedron. \newblock Calcul scientifique sur gpu et application en traitement d'images. \newblock Seminaire HPC-GPU, CMLA, ENS Cachan, March 2009. +\bibitem{macqueen1967some} +James MacQueen et~al. +\newblock Some methods for classification and analysis of multivariate + observations. +\newblock In {\em Proceedings of the fifth Berkeley symposium on mathematical + statistics and probability}, volume~1, page~14. California, USA, 1967. + \bibitem{Mallat:2008:WTS:1525499} Stphane Mallat. \newblock {\em A Wavelet Tour of Signal Processing, Third Edition: The Sparse @@ -113,12 +224,30 @@ S.A. Nene, S.K. Nayar, and Murase H. \newblock Technical Report CUCS-006-96, Computer Vision Laboratory, Columbia University, February 1996. +\bibitem{osher1988fronts} +Stanley Osher and James~A Sethian. +\newblock Fronts propagating with curvature-dependent speed: algorithms based + on hamilton-jacobi formulations. +\newblock {\em Journal of computational physics}, 79(1):12--49, 1988. + +\bibitem{4310076} +N.~Otsu. +\newblock A threshold selection method from gray-level histograms. +\newblock {\em Systems, Man and Cybernetics, IEEE Transactions on}, + 9(1):62--66, 1979. + \bibitem{PALHANOXAVIERDEFONTES} Fernanda Palhano Xavier De~Fontes, Guillermo Andrade~Barroso, Pierrick Coup{\'e}, and Pierre Hellier. \newblock {Real time ultrasound image denoising}. \newblock {\em Journal of Real-Time Image Processing}, May 2010. +\bibitem{pelleg2000x} +Dan Pelleg, Andrew~W Moore, et~al. +\newblock X-means: Extending k-means with efficient estimation of the number of + clusters. +\newblock In {\em ICML}, pages 727--734, 2000. + \bibitem{4287006} S.~Perreault and P.~Hebert. \newblock Median filtering in constant time. @@ -137,12 +266,29 @@ F.~Porikli. \newblock In {\em Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on}, pages 1--8, 2008. +\bibitem{ronfard1994region} +R{\'e}mi Ronfard. +\newblock Region-based strategies for active contour models. +\newblock {\em International Journal of Computer Vision}, 13(2):229--251, 1994. + \bibitem{6288187} R.M. Sanchez and P.A. Rodriguez. \newblock Bidimensional median filter for parallel computing architectures. \newblock In {\em Acoustics, Speech and Signal Processing (ICASSP), 2012 IEEE International Conference on}, pages 1549 --1552, march 2012. +\bibitem{sethian1996fast} +James~A Sethian. +\newblock A fast marching level set method for monotonically advancing fronts. +\newblock {\em Proceedings of the National Academy of Sciences}, + 93(4):1591--1595, 1996. + +\bibitem{shi2000normalized} +Jianbo Shi and Jitendra Malik. +\newblock Normalized cuts and image segmentation. +\newblock {\em Pattern Analysis and Machine Intelligence, IEEE Transactions + on}, 22(8):888--905, 2000. + \bibitem{convolutionsoup} J.~Stam. \newblock Convolution soup. @@ -171,6 +317,18 @@ John~Wilder Tukey. \newblock {\em Exploratory Data Analysis}. \newblock Addison-Wesley, 1977. +\bibitem{wang2001image} +Song Wang and Jeffrey~Mark Siskind. +\newblock Image segmentation with minimum mean cut. +\newblock In {\em Computer Vision, 2001. ICCV 2001. Proceedings. Eighth IEEE + International Conference on}, volume~1, pages 517--524. IEEE, 2001. + +\bibitem{wang2003image} +Song Wang and Jeffrey~Mark Siskind. +\newblock Image segmentation with ratio cut. +\newblock {\em Pattern Analysis and Machine Intelligence, IEEE Transactions + on}, 25(6):675--690, 2003. + \bibitem{Wang04imagequality} Zhou Wang, Alan~Conrad Bovik, Hamid~Rahim Sheikh, Student Member, Eero~P. Simoncelli, and Senior Member. @@ -178,12 +336,25 @@ Zhou Wang, Alan~Conrad Bovik, Hamid~Rahim Sheikh, Student Member, Eero~P. similarity. \newblock {\em IEEE Transactions on Image Processing}, 13:600--612, 2004. +\bibitem{wu1993optimal} +Zhenyu Wu and Richard Leahy. +\newblock An optimal graph theoretic approach to data clustering: Theory and + its application to image segmentation. +\newblock {\em Pattern Analysis and Machine Intelligence, IEEE Transactions + on}, 15(11):1101--1113, 1993. + \bibitem{5206542} Qingxiong Yang, Kar-Han Tan, and N.~Ahuja. \newblock Real-time o(1) bilateral filtering. \newblock In {\em Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on}, pages 557--564, 2009. +\bibitem{Zahn:1971:GMD:1309266.1309359} +C.~T. Zahn. +\newblock Graph-theoretical methods for detecting and describing gestalt + clusters. +\newblock {\em IEEE Trans. Comput.}, 20(1):68--86, January 1971. + \bibitem{zheng2011performance} Z.~Zheng, W.~Xu, and K.~Mueller. \newblock Performance tuning for cuda-accelerated neighborhood denoising diff --git a/THESE/these.blg b/THESE/these.blg index de3bd2e..ef89975 100644 --- a/THESE/these.blg +++ b/THESE/these.blg @@ -2,73 +2,50 @@ This is BibTeX, Version 0.99c (TeX Live 2009/Debian) The top-level auxiliary file: these.aux The style file: plain.bst Database file #1: biblio.bib -Warning--I didn't find a database entry for "biblio-web" -Warning--I didn't find a database entry for "otsu79" -Warning--I didn't find a database entry for "slac-pub-0672" -Warning--I didn't find a database entry for "wulealy_1993" -Warning--I didn't find a database entry for "cf-notes-x5" -Warning--I didn't find a database entry for "sm-ncuts-pami2000" -Warning--I didn't find a database entry for "kmeans-1965" -Warning--I didn't find a database entry for "k-centers" -Warning--I didn't find a database entry for "k-medians" -Warning--I didn't find a database entry for "x-means" -Warning--I didn't find a database entry for "Lestimation-html" -Warning--I didn't find a database entry for "meanshift_1995" -Warning--I didn't find a database entry for "Computer-Graphics-by-Foley-van-Dam-Feiner-and-Hughes-published-by-Addison-Wesley-1990" -Warning--I didn't find a database entry for "mean-shift-1999" -Warning--I didn't find a database entry for "2002" -Warning--I didn't find a database entry for "yket1999" -Warning--I didn't find a database entry for "snake-kass-1988" -Warning--I didn't find a database entry for "level-sets-osher-sethian-1988" -Warning--I didn't find a database entry for "narrow-band-level-set" -Warning--I didn't find a database entry for "fast_marching_sethian" -Warning--I didn't find a database entry for "cohenSMIE93" -Warning--I didn't find a database entry for "ronfard" -Warning--I didn't find a database entry for "snake-bertaux" -Warning--I didn't find a database entry for "amfm-2010" -Warning--I didn't find a database entry for "watershed" Warning--to sort, need author or key in kodakccd Warning--empty author in kodakccd Warning--empty journal in aldinucci2012parallel -You've used 32 entries, +Warning--empty journal in cohen1993surface +Warning--can't use both volume and number fields in macqueen1967some +You've used 61 entries, 2118 wiz_defined-function locations, - 716 strings with 9937 characters, -and the built_in function-call counts, 11420 in all, are: -= -- 1111 -> -- 487 -< -- 14 -+ -- 199 -- -- 159 -* -- 746 -:= -- 1801 -add.period$ -- 97 -call.type$ -- 32 -change.case$ -- 172 + 857 strings with 14108 characters, +and the built_in function-call counts, 21700 in all, are: += -- 2175 +> -- 898 +< -- 24 ++ -- 366 +- -- 291 +* -- 1496 +:= -- 3454 +add.period$ -- 189 +call.type$ -- 61 +change.case$ -- 320 chr.to.int$ -- 0 -cite$ -- 35 -duplicate$ -- 486 -empty$ -- 943 -format.name$ -- 159 -if$ -- 2483 +cite$ -- 66 +duplicate$ -- 871 +empty$ -- 1771 +format.name$ -- 291 +if$ -- 4652 int.to.chr$ -- 0 -int.to.str$ -- 32 -missing$ -- 32 -newline$ -- 162 -num.names$ -- 64 -pop$ -- 210 +int.to.str$ -- 61 +missing$ -- 61 +newline$ -- 307 +num.names$ -- 122 +pop$ -- 339 preamble$ -- 1 -purify$ -- 141 +purify$ -- 262 quote$ -- 0 -skip$ -- 370 +skip$ -- 653 stack$ -- 0 -substring$ -- 714 -swap$ -- 148 -text.length$ -- 14 +substring$ -- 1518 +swap$ -- 237 +text.length$ -- 24 text.prefix$ -- 0 top$ -- 0 -type$ -- 122 -warning$ -- 3 -while$ -- 102 -width$ -- 34 -write$ -- 347 -(There were 28 warnings) +type$ -- 236 +warning$ -- 5 +while$ -- 214 +width$ -- 63 +write$ -- 672 +(There were 5 warnings) diff --git a/THESE/these.lof b/THESE/these.lof index 718386f..650b1f5 100644 --- a/THESE/these.lof +++ b/THESE/these.lof @@ -33,33 +33,34 @@ \contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$f=5$ et $t=2$, PSNR=29.0~dB MSSIM=0.39}}}{19}{figure.2.6} \contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$f=5$ et $t=5$, PSNR=29.0~dB MSSIM=0.40}}}{19}{figure.2.6} \contentsline {figure}{\numberline {2.7}{\ignorespaces Filtrage par BM3D, PSNR=29.3~dB MSSIM=0.41}}{19}{figure.2.7} -\contentsline {figure}{\numberline {2.8}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entr\IeC {\'e}e. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : r\IeC {\'e}sultat de la segmentation.}}{23}{figure.2.8} -\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Image initiale comportant deux zones : le fond et le cochon (la cible)}}}{23}{figure.2.8} -\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Histogramme des niveaux de gris}}}{23}{figure.2.8} -\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 101 apr\IeC {\`e}s 4 it\IeC {\'e}rations.}}}{23}{figure.2.8} -\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {Image initiale bruit\IeC {\'e}e}}}{23}{figure.2.8} -\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {Histogramme des niveaux de gris}}}{23}{figure.2.8} -\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 99 apr\IeC {\`e}s 5 it\IeC {\'e}rations.}}}{23}{figure.2.8} -\contentsline {figure}{\numberline {2.9}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5.}}{25}{figure.2.9} -\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$s = 2$}}}{25}{figure.2.9} -\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$s = 3$}}}{25}{figure.2.9} -\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$s = 4$}}}{25}{figure.2.9} -\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$s = 5$}}}{25}{figure.2.9} -\contentsline {figure}{\numberline {2.10}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{26}{figure.2.10} +\contentsline {figure}{\numberline {2.8}{\ignorespaces Illustration pr\IeC {\'e}-chargement en m\IeC {\'e}moire partag\IeC {\'e}e mise en \oe uvre dans \cite {zheng2011performance} pour l'impl\IeC {\'e}mentation, entre autres, du filtre bilat\IeC {\'e}ral. a) en vert le bloc de threads associ\IeC {\'e} aux pixels centraux. b-e) les blocs de pixels successivement pr\IeC {\'e}-charg\IeC {\'e}s en m\IeC {\'e}moire partag\IeC {\'e}e. f) la configuration finale de la ROI en m\IeC {\'e}moire partag\IeC {\'e}e.}}{22}{figure.2.8} +\contentsline {figure}{\numberline {2.9}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entr\IeC {\'e}e. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : r\IeC {\'e}sultat de la segmentation.}}{24}{figure.2.9} +\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Image initiale comportant deux zones : le fond et le cochon (la cible)}}}{24}{figure.2.9} +\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Histogramme des niveaux de gris}}}{24}{figure.2.9} +\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 101 apr\IeC {\`e}s 4 it\IeC {\'e}rations.}}}{24}{figure.2.9} +\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {Image initiale bruit\IeC {\'e}e}}}{24}{figure.2.9} +\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {Histogramme des niveaux de gris}}}{24}{figure.2.9} +\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 99 apr\IeC {\`e}s 5 it\IeC {\'e}rations.}}}{24}{figure.2.9} +\contentsline {figure}{\numberline {2.10}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5.}}{26}{figure.2.10} \contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$s = 2$}}}{26}{figure.2.10} \contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$s = 3$}}}{26}{figure.2.10} \contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$s = 4$}}}{26}{figure.2.10} \contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$s = 5$}}}{26}{figure.2.10} -\contentsline {figure}{\numberline {2.11}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 \IeC {\`a} 5. Le volume minimal admis pour un segment est fix\IeC {\'e} \IeC {\`a} 100 pixels. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{27}{figure.2.11} -\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$r=100 \Rightarrow s = 2$}}}{27}{figure.2.11} -\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$r=50 \Rightarrow s = 3$}}}{27}{figure.2.11} -\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$r=35 \Rightarrow s = 4$}}}{27}{figure.2.11} -\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$r=25 \Rightarrow s = 5$}}}{27}{figure.2.11} -\contentsline {figure}{\numberline {2.12}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les param\IeC {\`e}tres d'\IeC {\'e}lasticti\IeC {\'e}, de raideur et d'attraction ont \IeC {\'e}t\IeC {\'e} fix\IeC {\'e}s respectivement aux valeurs 5, 0.1 et 5. }}{28}{figure.2.12} -\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Les \IeC {\'e}tats initial et suivant chacune des trois premi\IeC {\`e}res it\IeC {\'e}rations}}}{28}{figure.2.12} -\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la septi\IeC {\`e}me it\IeC {\'e}ration}}}{28}{figure.2.12} -\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la dixi\IeC {\`e}me it\IeC {\'e}ration}}}{28}{figure.2.12} -\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la centi\IeC {\`e}me it\IeC {\'e}ration. C'est le contour final.}}}{28}{figure.2.12} +\contentsline {figure}{\numberline {2.11}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{27}{figure.2.11} +\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$s = 2$}}}{27}{figure.2.11} +\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$s = 3$}}}{27}{figure.2.11} +\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$s = 4$}}}{27}{figure.2.11} +\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$s = 5$}}}{27}{figure.2.11} +\contentsline {figure}{\numberline {2.12}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 \IeC {\`a} 5. Le volume minimal admis pour un segment est fix\IeC {\'e} \IeC {\`a} 100 pixels. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{28}{figure.2.12} +\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$r=100 \Rightarrow s = 2$}}}{28}{figure.2.12} +\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$r=50 \Rightarrow s = 3$}}}{28}{figure.2.12} +\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$r=35 \Rightarrow s = 4$}}}{28}{figure.2.12} +\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$r=25 \Rightarrow s = 5$}}}{28}{figure.2.12} +\contentsline {figure}{\numberline {2.13}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les param\IeC {\`e}tres d'\IeC {\'e}lasticti\IeC {\'e}, de raideur et d'attraction ont \IeC {\'e}t\IeC {\'e} fix\IeC {\'e}s respectivement aux valeurs 5, 0.1 et 5. }}{29}{figure.2.13} +\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Les \IeC {\'e}tats initial et suivant chacune des trois premi\IeC {\`e}res it\IeC {\'e}rations}}}{29}{figure.2.13} +\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la septi\IeC {\`e}me it\IeC {\'e}ration}}}{29}{figure.2.13} +\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la dixi\IeC {\`e}me it\IeC {\'e}ration}}}{29}{figure.2.13} +\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la centi\IeC {\`e}me it\IeC {\'e}ration. C'est le contour final.}}}{29}{figure.2.13} \addvspace {10\p@ } \addvspace {10\p@ } \addvspace {10\p@ } diff --git a/THESE/these.log b/THESE/these.log index b07fc7c..ef80291 100644 --- a/THESE/these.log +++ b/THESE/these.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2012.12.6) 6 SEP 2013 16:03 +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2012.12.6) 10 SEP 2013 15:06 entering extended mode %&-line parsing enabled. **these.tex @@ -982,7 +982,7 @@ LaTeX Info: Redefining \Ref on input line 74. pdfTeX warning: pdflatex (file /usr/share/texmf/tex/latex/upmethodology-extensi ons/phd_thesis/spimufcphdthesis/spimufcphdthesis-frontpage.pdf): PDF inclusion: found PDF version <1.5>, but at most version <1.4> allowed - + File: spimufcphdthesis-frontpage.pdf Graphic file (type pdf) [1 @@ -993,7 +993,7 @@ File: spimufcphdthesis-frontpage.pdf Graphic file (type pdf) e.pdf>] [2 ] - + File: spimufcphdthesis-p3-head.pdf Graphic file (type pdf) @@ -1010,7 +1010,7 @@ LaTeX Font Info: Font shape `OT1/phv/bx/n' in size <10.95> not available ] (./these.toc LaTeX Font Info: Font shape `OT1/phv/m/it' in size <10.95> not available -(Font) Font shape `OT1/phv/m/sl' tried instead on input line 20. +(Font) Font shape `OT1/phv/m/sl' tried instead on input line 26. Package Fancyhdr Warning: \headheight is too small (12.0pt): @@ -1048,12 +1048,12 @@ Chapitre 2. (./Chapters/chapter2/chapter2.tex [11 ] [12] [13] - File: /home/zulu/Documents/these_gilles/THESE/codes/ny256.png Graphic file (typ e png) - File: /home/zulu/Documents/these_gilles/THESE/codes/ny256_gauss25.png Graphic f ile (type png) @@ -1069,7 +1069,7 @@ Underfull \hbox (badness 1997) in paragraph at lines 79--79 [] - File: /home/zulu/Documents/these_gilles/THESE/codes/ny256_sap25.png Graphic fil e (type png) @@ -1088,7 +1088,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 80--80 /zulu/Documents/these_gilles/THESE/codes/ny256_gauss25.png (PNG copy)> ] +=347, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/convo/ny256_gauss25_moy3.pn g Graphic file (type png) @@ -1100,7 +1100,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 101--101 +=348, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/convo/ny256_gauss25_moy5.pn g Graphic file (type png) @@ -1112,7 +1112,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 102--102 +49, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/convo/ny256_gauss25_g3.png Graphic file (type png) @@ -1123,52 +1123,52 @@ Underfull \hbox (badness 10000) in paragraph at lines 103--103 +353, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/median/ny256_sap25_med3.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 114--114 +Underfull \hbox (badness 10000) in paragraph at lines 115--115 []\OT1/phv/m/n/9 (a) M[]edian 3$\OMS/txsy/m/n/9 ^^B$\OT1/phv/m/n/9 3 une [] -Underfull \hbox (badness 10000) in paragraph at lines 114--114 +Underfull \hbox (badness 10000) in paragraph at lines 115--115 \OT1/phv/m/n/9 passe, PSNR=26.4 dB [] +d=354, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/median/ny256_sap25_med3x2.p ng Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 115--115 +Underfull \hbox (badness 10000) in paragraph at lines 116--116 []\OT1/phv/m/n/9 (b) M[]edian 3$\OMS/txsy/m/n/9 ^^B$\OT1/phv/m/n/9 3 deux [] -Underfull \hbox (badness 10000) in paragraph at lines 115--115 +Underfull \hbox (badness 10000) in paragraph at lines 116--116 \OT1/phv/m/n/9 passes, PSNR=34.4 dB [] +355, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/median/ny256_sap25_med5.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 116--116 +Underfull \hbox (badness 10000) in paragraph at lines 117--117 []\OT1/phv/m/n/9 (c) M[]edian 5$\OMS/txsy/m/n/9 ^^B$\OT1/phv/m/n/9 5 une [] -Underfull \hbox (badness 10000) in paragraph at lines 116--116 +Underfull \hbox (badness 10000) in paragraph at lines 117--117 \OT1/phv/m/n/9 passe, PSNR=35.1 dB [] @@ -1177,121 +1177,124 @@ Underfull \hbox (badness 10000) in paragraph at lines 116--116 _moy5.png (PNG copy)> ] + id=371, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bilat/ny_gauss25_bilat_1_01 .png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 129--129 +Underfull \hbox (badness 10000) in paragraph at lines 132--132 []\OT1/phv/m/n/9 (a) $\OML/txmi/m/it/9 ^^[[] \OT1/txr/m/n/9 = 1\OML/txmi/m/it/9 :\OT1/txr/m/n/9 0$ \OT1/phv/m/n/9 et [] + id=372, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bilat/ny_gauss25_bilat_1_05 .png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 130--130 +Underfull \hbox (badness 10000) in paragraph at lines 133--133 []\OT1/phv/m/n/9 (b) $\OML/txmi/m/it/9 ^^[[] \OT1/txr/m/n/9 = 1\OML/txmi/m/it/9 :\OT1/txr/m/n/9 0$ \OT1/phv/m/n/9 et [] +id=373, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bilat/ny_gauss25_bilat_1_1. png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 131--131 +Underfull \hbox (badness 10000) in paragraph at lines 134--134 []\OT1/phv/m/n/9 (c) $\OML/txmi/m/it/9 ^^[[] \OT1/txr/m/n/9 = 1\OML/txmi/m/it/9 :\OT1/txr/m/n/9 0$ \OT1/phv/m/n/9 et [] + id=374, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bilat/ny_gauss25_bilat_2_01 .png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 132--132 +Underfull \hbox (badness 10000) in paragraph at lines 135--135 []\OT1/phv/m/n/9 (d) $\OML/txmi/m/it/9 ^^[[] \OT1/txr/m/n/9 = 2\OML/txmi/m/it/9 :\OT1/txr/m/n/9 0$ \OT1/phv/m/n/9 et [] + id=375, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bilat/ny_gauss25_bilat_2_05 .png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 133--133 +Underfull \hbox (badness 10000) in paragraph at lines 136--136 []\OT1/phv/m/n/9 (e) $\OML/txmi/m/it/9 ^^[[] \OT1/txr/m/n/9 = 2\OML/txmi/m/it/9 :\OT1/txr/m/n/9 0$ \OT1/phv/m/n/9 et [] +id=376, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bilat/ny_gauss25_bilat_2_1. png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 134--134 +Underfull \hbox (badness 10000) in paragraph at lines 137--137 []\OT1/phv/m/n/9 (f) $\OML/txmi/m/it/9 ^^[[] \OT1/txr/m/n/9 = 2\OML/txmi/m/it/9 :\OT1/txr/m/n/9 0$ \OT1/phv/m/n/9 et [] + id=377, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bilat/ny_gauss25_bilat_5_01 .png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 135--135 +Underfull \hbox (badness 10000) in paragraph at lines 138--138 []\OT1/phv/m/n/9 (g) $\OML/txmi/m/it/9 ^^[[] \OT1/txr/m/n/9 = 5\OML/txmi/m/it/9 :\OT1/txr/m/n/9 0$ \OT1/phv/m/n/9 et [] + id=378, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bilat/ny_gauss25_bilat_5_05 .png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 136--136 +Underfull \hbox (badness 10000) in paragraph at lines 139--139 []\OT1/phv/m/n/9 (h) $\OML/txmi/m/it/9 ^^[[] \OT1/txr/m/n/9 = 5\OML/txmi/m/it/9 :\OT1/txr/m/n/9 0$ \OT1/phv/m/n/9 et [] +id=379, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bilat/ny_gauss25_bilat_5_1. png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 137--137 +Underfull \hbox (badness 10000) in paragraph at lines 140--140 []\OT1/phv/m/n/9 (i) $\OML/txmi/m/it/9 ^^[[] \OT1/txr/m/n/9 = 5\OML/txmi/m/it/9 :\OT1/txr/m/n/9 0$ \OT1/phv/m/n/9 et [] + +LaTeX Warning: Reference `ch-lniv' on page 16 undefined on input line 147. + [16 ] +=416, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/wave/ny256_gauss25_dwt20.pn g Graphic file (type png) - + File: /home/zulu/Documents/these_gilles/THESE/codes/wave/ny256_gauss25_dwt.png Graphic file (type png) +=418, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/wave/ny256_gauss25_dwt70.pn g Graphic file (type png) +.png, id=424, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/nlmeans/ny256_gauss25_nlm_2 _2_25.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 168--168 +Underfull \hbox (badness 10000) in paragraph at lines 173--173 \OT1/phv/m/n/9 PSNR=28.5 dB [] +.png, id=425, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/nlmeans/ny256_gauss25_nlm_2 _5_25.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 169--169 +Underfull \hbox (badness 10000) in paragraph at lines 174--174 \OT1/phv/m/n/9 PSNR=28.6 dB [] +.png, id=426, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/nlmeans/ny256_gauss25_nlm_5 _2_25.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 170--170 +Underfull \hbox (badness 10000) in paragraph at lines 175--175 \OT1/phv/m/n/9 PSNR=29.0 dB [] +.png, id=427, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/nlmeans/ny256_gauss25_nlm_5 _5_25.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 171--171 +Underfull \hbox (badness 10000) in paragraph at lines 176--176 \OT1/phv/m/n/9 PSNR=29.0 dB [] +428, 256.96pt x 256.96pt> File: /home/zulu/Documents/these_gilles/THESE/codes/bm3D/ny256_gauss25_bm3D.png Graphic file (type png) @@ -1383,439 +1386,361 @@ File: /home/zulu/Documents/these_gilles/THESE/codes/bm3D/ny256_gauss25_bm3D.png [18 ] [19 ] - -LaTeX Warning: Reference `fig-compare-jacket-pcmf' on page 20 undefined on inpu -t line 191. - - -LaTeX Warning: Reference `fig-compare-arrayfire-pcmf' on page 20 undefined on i -nput line 192. - +auss25_dwt70.png (PNG copy)>] +Underfull \vbox (badness 10000) has occurred while \output is active [] -Underfull \hbox (badness 3471) in paragraph at lines 189--195 + [19 ] +Underfull \hbox (badness 3471) in paragraph at lines 200--201 []\OT1/phv/m/n/10.95 On connait peu de ver-sions GPU du filtre m[]edian, peut-[ ]etre en rai-son des [] -Underfull \vbox (badness 10000) has occurred while \output is active [] +LaTeX Warning: Reference `fig-compare-jacket-pcmf' on page 20 undefined on inpu +t line 205. - [20] -[21] -LaTeX Warning: Citation `biblio-web' on page 22 undefined on input line 222. +LaTeX Warning: Reference `fig-compare-arrayfire-pcmf' on page 20 undefined on i +nput line 207. +[20] + +File: /home/zulu/Documents/these_gilles/THESE/Chapters/chapter2/img/shmem_prefe +tch_zheng2011.png Graphic file (type png) -LaTeX Warning: Citation `otsu79' on page 22 undefined on input line 227. + [21] +Underfull \vbox (badness 2617) has occurred while \output is active [] -[22] -] [23] + File: /home/zulu/Documents/these_gilles/THESE/codes/cochon256.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 234--234 +Underfull \hbox (badness 10000) in paragraph at lines 270--270 []\OT1/phv/m/n/9 (a) Image ini-tiale [] -Underfull \hbox (badness 10000) in paragraph at lines 234--234 +Underfull \hbox (badness 10000) in paragraph at lines 270--270 \OT1/phv/m/n/9 com-por-tant deux [] +png, id=512, 289.883pt x 242.506pt> File: /home/zulu/Documents/these_gilles/THESE/codes/seg_histogramme/histo-cocho n256.png Graphic file (type png) +to-101-255.png, id=513, 204.765pt x 204.765pt> File: /home/zulu/Documents/these_gilles/THESE/codes/seg_histogramme/cochon256-s eghisto-101-255.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 236--236 +Underfull \hbox (badness 10000) in paragraph at lines 272--272 []\OT1/phv/m/n/9 (c) Image bi-naire [] -Underfull \hbox (badness 2189) in paragraph at lines 236--236 +Underfull \hbox (badness 2189) in paragraph at lines 272--272 \OT1/phv/m/n/9 repr[]esentant la seg- [] -Underfull \hbox (badness 10000) in paragraph at lines 236--236 +Underfull \hbox (badness 10000) in paragraph at lines 272--272 \OT1/phv/m/n/9 men-ta-tion. Seuil [] - File: /home/zulu/Documents/these_gilles/THESE/codes/cochon256-sig25.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 237--237 +Underfull \hbox (badness 10000) in paragraph at lines 273--273 []\OT1/phv/m/n/9 (d) Image ini-tiale [] +sig25.png, id=515, 287.474pt x 240.097pt> File: /home/zulu/Documents/these_gilles/THESE/codes/seg_histogramme/histo-cocho n256-sig25.png Graphic file (type png) +seghisto-99-255.png, id=516, 204.765pt x 204.765pt> File: /home/zulu/Documents/these_gilles/THESE/codes/seg_histogramme/cochon256-s ig25-seghisto-99-255.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 239--239 +Underfull \hbox (badness 10000) in paragraph at lines 275--275 []\OT1/phv/m/n/9 (f) Image bi-naire [] -Underfull \hbox (badness 2189) in paragraph at lines 239--239 +Underfull \hbox (badness 2189) in paragraph at lines 275--275 \OT1/phv/m/n/9 repr[]esentant la seg- [] -Underfull \hbox (badness 10000) in paragraph at lines 239--239 +Underfull \hbox (badness 10000) in paragraph at lines 275--275 \OT1/phv/m/n/9 men-ta-tion. Seuil [] Package hyperref Info: bookmark level for unknown algocf defaults to 0 on input - line 247. + line 283. LaTeX Font Info: Font shape `OT1/phv/bx/n' in size <8> not available -(Font) Font shape `OT1/phv/b/n' tried instead on input line 249. - -LaTeX Warning: Citation `slac-pub-0672' on page 23 undefined on input line 264. - - -[23 ] - -LaTeX Warning: Citation `wulealy_1993' on page 24 undefined on input line 281. - - -LaTeX Warning: Citation `cf-notes-x5' on page 24 undefined on input line 281. - - -LaTeX Warning: Citation `sm-ncuts-pami2000' on page 24 undefined on input line -283. - - +png (PNG copy)>] [25] + id=553, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/graphe/cochon128_ncuts_2seg .png Graphic file (type png) + id=554, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/graphe/cochon128_ncuts_3seg .png Graphic file (type png) + id=555, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/graphe/cochon128_ncuts_4seg .png Graphic file (type png) + id=556, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/graphe/cochon128_ncuts_5seg .png Graphic file (type png) [24] - -LaTeX Warning: Citation `kmeans-1965' on page 25 undefined on input line 302. - -[25 ] - -LaTeX Warning: Citation `k-centers' on page 26 undefined on input line 308. - - -LaTeX Warning: Citation `k-medians' on page 26 undefined on input line 308. - - -LaTeX Warning: Citation `x-means' on page 26 undefined on input line 309. - - +png> [26 ] +, id=576, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/kmeans/cochon128_kmeans_2se g.png Graphic file (type png) +, id=577, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/kmeans/cochon128_kmeans_3se g.png Graphic file (type png) +, id=578, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/kmeans/cochon128_kmeans_4se g.png Graphic file (type png) +, id=579, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/kmeans/cochon128_kmeans_5se g.png Graphic file (type png) - -LaTeX Warning: Citation `Lestimation-html' on page 26 undefined on input line 3 -21. - - -LaTeX Warning: Citation `meanshift_1995' on page 26 undefined on input line 323 -. - - -LaTeX Warning: Citation `Computer-Graphics-by-Foley-van-Dam-Feiner-and-Hughes-p -ublished-by-Addison-Wesley-1990' on page 26 undefined on input line 324. - - -LaTeX Warning: Citation `mean-shift-1999' on page 26 undefined on input line 32 -4. - - -LaTeX Warning: Citation `2002' on page 26 undefined on input line 324. - - -LaTeX Warning: Citation `yket1999' on page 26 undefined on input line 325. - - +00m100.png, id=587, 318.791pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/meanshift/cochon128_meanshi ft_r100m100.png Graphic file (type png) +0m100.png, id=588, 318.791pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/meanshift/cochon128_meanshi ft_r50m100.png Graphic file (type png) +5m100.png, id=589, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/meanshift/cochon128_meanshi ft_r35m100.png Graphic file (type png) +5m100.png, id=590, 317.988pt x 251.339pt> File: /home/zulu/Documents/these_gilles/THESE/codes/meanshift/cochon128_meanshi ft_r25m100.png Graphic file (type png) -Underfull \vbox (badness 2689) has occurred while \output is active [] - - [26 ] +t_r25m100.png> [27 ] LaTeX Font Info: Font shape `OT1/phv/m/it' in size <12> not available -(Font) Font shape `OT1/phv/m/sl' tried instead on input line 339. - [27 ] - -LaTeX Warning: Citation `snake-kass-1988' on page 28 undefined on input line 35 -7. - - +(Font) Font shape `OT1/phv/m/sl' tried instead on input line 378. + +[28 ] +png, id=621, 138.116pt x 138.116pt> File: /home/zulu/Documents/these_gilles/THESE/codes/snake/cochon128_tradi_snake _it3.png Graphic file (type png) -Underfull \hbox (badness 2662) in paragraph at lines 366--366 +Underfull \hbox (badness 2662) in paragraph at lines 405--405 []\OT1/phv/m/n/9 (a) Les []etats ini-tial [] -Underfull \hbox (badness 4378) in paragraph at lines 366--366 +Underfull \hbox (badness 4378) in paragraph at lines 405--405 \OT1/phv/m/n/9 et sui-vant cha-cune [] -Underfull \hbox (badness 2582) in paragraph at lines 366--366 +Underfull \hbox (badness 2582) in paragraph at lines 405--405 \OT1/phv/m/n/9 des trois premi[]eres [] +png, id=622, 138.116pt x 138.116pt> File: /home/zulu/Documents/these_gilles/THESE/codes/snake/cochon128_tradi_snake _it7.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 367--367 +Underfull \hbox (badness 10000) in paragraph at lines 406--406 \OT1/phv/m/n/9 apr[]es la septi[]eme [] +.png, id=623, 138.116pt x 138.116pt> File: /home/zulu/Documents/these_gilles/THESE/codes/snake/cochon128_tradi_snake _it10.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 368--368 +Underfull \hbox (badness 10000) in paragraph at lines 407--407 \OT1/phv/m/n/9 apr[]es la dixi[]eme [] +lt.png, id=624, 271.414pt x 271.414pt> File: /home/zulu/Documents/these_gilles/THESE/codes/snake/cochon128_tradi_snake _result.png Graphic file (type png) -Underfull \hbox (badness 10000) in paragraph at lines 369--369 +Underfull \hbox (badness 10000) in paragraph at lines 408--408 \OT1/phv/m/n/9 apr[]es la centi[]eme [] -Underfull \hbox (badness 10000) in paragraph at lines 369--369 +Underfull \hbox (badness 10000) in paragraph at lines 408--408 \OT1/phv/m/n/9 it[]eration. C'est le [] - -LaTeX Warning: Citation `level-sets-osher-sethian-1988' on page 28 undefined on - input line 381. - - -LaTeX Warning: Citation `narrow-band-level-set' on page 28 undefined on input l -ine 381. - - -LaTeX Warning: Citation `fast_marching_sethian' on page 28 undefined on input l -ine 381. - -[28 ] -LaTeX Warning: Citation `cohenSMIE93' on page 29 undefined on input line 382. - - -LaTeX Warning: Citation `ronfard' on page 29 undefined on input line 382. - - -LaTeX Warning: Citation `snake-bertaux' on page 29 undefined on input line 382. - - - -LaTeX Warning: Reference `sec-contrib-snake' on page 29 undefined on input line - 382. +LaTeX Warning: Reference `sec-contrib-snake' on page 30 undefined on input line + 421. -LaTeX Warning: Citation `amfm-2010' on page 29 undefined on input line 388. +LaTeX Warning: Reference `sec_ea_gpu' on page 30 undefined on input line 428. +) +Underfull \vbox (badness 10000) has occurred while \output is active [] -LaTeX Warning: Citation `watershed' on page 29 undefined on input line 388. - - -LaTeX Warning: Reference `sec_ea_gpu' on page 29 undefined on input line 389. - -) [29] [30 + [30] +[31] [32 ] Chapitre 3. -[31] [32 +[33] [34 ] Chapitre 4. -[33] [34 +[35] [36 ] Chapitre 5. -(./these.bbl [35] [36 +(./these.bbl [37] [38 -] [37]) [38] (./these.lof) +] [39] [40] [41]) [42] (./these.lof) \tf@lof=\write5 \openout5 = `these.lof'. - [39 -] [40 +Underfull \vbox (badness 1448) has occurred while \output is active [] -] (./these.lot) + [43 + +] +[44] (./these.lot) \tf@lot=\write6 \openout6 = `these.lot'. + [45 -[41] [42 +] [46 -] [43] +] [47] pdfTeX warning: pdflatex (file /usr/share/texmf/tex/latex/upmethodology-extensi ons/phd_thesis/spimufcphdthesis/spimufcphdthesis-backpage.pdf): PDF inclusion: found PDF version <1.6>, but at most version <1.4> allowed - + File: spimufcphdthesis-backpage.pdf Graphic file (type pdf) LaTeX Font Info: Font shape `OT1/phv/bx/n' in size <12> not available (Font) Font shape `OT1/phv/b/n' tried instead on input line 127. - [44 + [48 ] @@ -1826,13 +1751,13 @@ LaTeX Warning: There were undefined references. ) (\end occurred when \iftrue on line 127 was incomplete) Here is how much of TeX's memory you used: - 10278 strings out of 495028 - 157849 string characters out of 1181229 - 273713 words of memory out of 3000000 - 12924 multiletter control sequences out of 15000+50000 + 10336 strings out of 495028 + 159341 string characters out of 1181229 + 274232 words of memory out of 3000000 + 12940 multiletter control sequences out of 15000+50000 71443 words of font info for 129 fonts, out of 3000000 for 9000 28 hyphenation exceptions out of 8191 - 61i,15n,47p,1405b,505s stack positions out of 5000i,500n,10000p,200000b,50000s + 61i,15n,47p,1405b,523s stack positions out of 5000i,500n,10000p,200000b,50000s {/usr/share/texmf-texliv e/fonts/enc/dvips/base/8r.enc} -Output written on these.pdf (44 pages, 4650934 bytes). +Output written on these.pdf (48 pages, 4723781 bytes). PDF statistics: - 719 PDF objects out of 1000 (max. 8388607) - 180 named destinations out of 1000 (max. 500000) - 488 words of extra memory for PDF output out of 10000 (max. 10000000) + 842 PDF objects out of 1000 (max. 8388607) + 220 named destinations out of 1000 (max. 500000) + 541 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/THESE/these.out b/THESE/these.out index a0cf24c..2b18633 100644 --- a/THESE/these.out +++ b/THESE/these.out @@ -8,10 +8,16 @@ \BOOKMARK [2][]{subsection.2.2.4}{2.2.4 Le bruit de Poisson}{section.2.2} \BOOKMARK [1][]{section.2.3}{2.3 Les techniques de r\351duction de bruit}{chapter.2} \BOOKMARK [2][]{subsection.2.3.1}{2.3.1 Les op\351rateurs de base}{section.2.3} -\BOOKMARK [3][]{subsubsection.2.3.1.1}{2.3.1.1 Les algorithmes de voisinage}{subsection.2.3.1} -\BOOKMARK [3][]{subsubsection.2.3.1.2}{2.3.1.2 Les algorithmes par dictionnaire}{subsection.2.3.1} -\BOOKMARK [2][]{subsection.2.3.2}{2.3.2 Les techniques avanc\351es}{section.2.3} +\BOOKMARK [3][]{subsubsection.2.3.1.1}{2.3.1.1 Le filtre de convolution}{subsection.2.3.1} +\BOOKMARK [3][]{subsubsection.2.3.1.2}{2.3.1.2 Le filtre m\351dian}{subsection.2.3.1} +\BOOKMARK [3][]{subsubsection.2.3.1.3}{2.3.1.3 Le filtre bilat\351ral}{subsection.2.3.1} +\BOOKMARK [3][]{subsubsection.2.3.1.4}{2.3.1.4 Les algorithmes de filtrage par dictionnaire}{subsection.2.3.1} +\BOOKMARK [2][]{subsection.2.3.2}{2.3.2 Les algorithmes de filtrage par patches}{section.2.3} \BOOKMARK [1][]{section.2.4}{2.4 Les impl\351mentations GPU des algorithmes de filtrage}{chapter.2} +\BOOKMARK [2][]{subsection.2.4.1}{2.4.1 Le filtrage par convolution}{section.2.4} +\BOOKMARK [2][]{subsection.2.4.2}{2.4.2 Le filtre m\351dian}{section.2.4} +\BOOKMARK [2][]{subsection.2.4.3}{2.4.3 Le filtre bilat\351ral}{section.2.4} +\BOOKMARK [2][]{subsection.2.4.4}{2.4.4 Les filtres par patches}{section.2.4} \BOOKMARK [1][]{section.2.5}{2.5 Les techniques de segmentation}{chapter.2} \BOOKMARK [2][]{subsection.2.5.1}{2.5.1 Analyse d'histogramme}{section.2.5} \BOOKMARK [2][]{subsection.2.5.2}{2.5.2 Analyse de graphe}{section.2.5} diff --git a/THESE/these.pdf b/THESE/these.pdf index b625ba5b6bbfbd1b8b08439a62e8c6637e34ed02..310a1e2fd304a9654f460848c9c69b92fc493720 100644 GIT binary patch delta 195393 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

jy=|!rj`P&z)tg4wUoRJM|_WVn=U1dR8 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

MWI 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

@ACmVuZ3Qm zh1a;Y)B{dg36eq6>&V>uM{|)8MxA0dixgo;yzJhli%o^rM=#&sisa;!*4I;u?nS78 zv$0R7p~r)v!r`0g;2gdYz>=GeZABwF)J>gbN0`L9ERYdW#l5suMzlj;dp$Kyq-&Dt z9(W12fFLQSYDz}U$*h+*rHpSC!_n$eh@?D{15BLjTsw#WHL1PWn zAZMKHwvfJ`gLyBM+?u4tO-OqI)0kUQ1J2YPAaHoqSUT)tvoy(UK;v-9d6CTlYl_a# zIH3Ma=&Lf_bjX6;z(9wCA*foqi2UtWI!R1g37V9y0Fv>IzHP-bgvjl(9bw99stwPg z=i=`LE;y<@&?>1^nqU%aIILCLhm6{{3fjNA9chaHs4d5g^aF34l`h(!?3k6Bv44BcF>Mtde$ftjS7sEeV0huT1f+@{t@n%lZ2#wxmhBxJ#Pdk$Z)+tBoh?7REj z$itTle$9Tq7qEtmO86EphVyU0TRdw9xEaxKW(eV!t2twfv?VPyxSGNKh@0cJi+ zgIa`<<_HbmO?5S~9=26Ci9WBBd>BCt#*_k46NvC=(g^G0s2RhX;+uqE0wls};ZDV@@5sPf?(fd5CCkfgrlbN{8l|Z4;RH;l zU>!1}ZMQN?YtWN&8#zg^)a-jnQ8>5pPjX_l11A)zc}qJV^g=PbP$a`Ypd2is`@~}> zH;Q8ORvg#R7u@QS#E!Ccdv2urKBF{dzKVbf_pk7jWEe4@Z};D0=0Gyg;nceju@nI1 zkHh!W>nvmw)^`oQ-{_>H)^@XvSs0M!0A3Ux-bdbWty%h`YMxA!qY=BR#_NRrozcN`JKYJby`8qeILKk%4#l z#1cj>d+QOi6ag(nR;Xu6CO0b^KrM2>+&jIr?V z5gVx&@fxOyk2dKKnqU=tx{yPN29~yk->T{es6-6MxjV#z8yT%|cTc5R?KBbO(2$`L zp8HVvm6Bh<%G#qJg4G7*o>7(92=&?wHx*EO>DcGH?xO+E=tS+?rP zRmMKdr>q#2Y04f;Qx%T9#od+mm+*a|>EwGezaeTjhG#apeHJIMTOiej+wN{hc*5Y1 z_(@*g6LHWA48fhJL>jK?Bc}Z-Skxd}$(e3MDj6vz#l5s;7L+{VK!)*AaMecls4rf# z=o!BeB1S@oG_&rj0oV!JomL(~Sica~#pG{N?8cZkEPUU`zFa4(i>hfk4!1S<2F{X)mrckctz1iV)=a#q2-1st5D(>+Gqgdh)7`O)m=b;T3O zAtEIC6a1mZAwFm)O-QFhFuD2na`Ey3z4(#Zuk^Ul7PTEkZK*t-ECEPCs%+omm)&N* zE1b&F>C*UIGJJt(=IJ!FO6v>^_TAn_7&W7LrW~1Y8c8s|ia{mg@=^7nWsNc|)bHv= ze@O}cZesuA^zIe(k^pIs^OCD^?}T&AikZ(*jM*-8zYNT=-VmP+9T%R6R7ZUws`ZmC z53eMhS9T>AspBEx6B#?Ng^?p`UyY=tg;8Ek`|wkK)v*uJyNW{)d7tHvT*A~v>1MWw z7u-KxmMjvE7QNvTM*nibcwkd`DY{$8i_ZT7d4UX{s-l3L7ht1bR@~)?%7lufb+S%^aq*1a&~EiinSwTWfdjoD z;9GB+RF&11J;f>1L3nwxtU-lzKk@occ)`vPX{Qmj0h69zj9E=py!Tf4w_0&ynxHYVqEJl?o-b*`=ty?{49tL4^5y%AGAf;O50p`!g4KOF@i04EeY!QsXLu8>v(IJkjtfG)n zOc5l^2NVq-4*-tjMY!eTM zGV#WUq)Bpp_kHD{g5B%0RUg+upJTeY801!;c%@6QS zxFAz!z}Nf3hXw7Cr}1CS<^L_F{L5iwyw6+)yepFR8G7|N@ zFH|8g+A*s5xLX>oBPnQetWq@2!ln~jxidF&_MBcUa)YAph<)qI@kb|GH^uv-tkONO zjCC{y#r8pK3Y#zAH=qe>3nP(l>*{XvPU_pop=v}jg4uH~4%kiG*FQbHCr6^55A7^q zPk$ZhW^WjMW=EhihkQ8E=@>en?V*Plc zP>YLPjM%g1shh9OS_4mSaTu%SS}~*|z(@I-rELBm7`R2j?c)U1e5&`zVC-YxFn>`f zGJ&klEF&2C6T;%<#vc6fxj1e>86E;u5=-)iiY8H zUpRz7_!ggNFgb3ps6?XBvbax?Y=AIgo`;U=+-PwX){OCVFwAkPX;(9ie!|2f6P&dJ ziN#daIz0*Z>WiR%Q)Lu!?IwJ7_wnP(6?>ipf)#p3VIu*T&c-My-H{7JNMMH09Zdgf ztLdQ}grbEe4M3gR(w8p5R^*gxE`?5NTVADIn}_G_sFDy_RLLL&_?tRxVg!oyz4?|Q z)K8o={BxzX@bJIK(FMz_4UGm19muz($fp%)j&k;54`{7KzrjPMcunAx8-W65z+~W6`oL<{Qzl1AE=_0G00-n(cc zs_dN=JL>Z?FAIjy%H?Ilwb?V}^|c*EDZWGfB9_dYmpO(wSn}hAKs!`FEZcpS~_*Ane-tP+8NO^o9pw`@U1(`P9*h+ zpXtt3Rah>un?V`rGRD19d}AQNR5bo6%K8HoYQ-Dq?_k;N$_WMOThDgpl_tK=%@!z~ za-CVMuhFA}f*Y@|Lu3`y9Kt{VoQ4T)on_qHm~-;CkvK-=V${z!~b4&b8-*_@`l%Eaoe<(I0W98-fc zR(gv;jR`&$MTL)xH=Sq4;in4Iq~vQoCTb6JqzEFDA&T<2`Js3fD~J|!-2YV`UC|Ux zPH)lZoo8M>Z{hb>1UVrV1!V#$GA?>5>T@XY(5(HI3M=Y1Jj?l^aBL*%7a_8(oO;f( z&!5eBV(M*>q*Tv1G}whD%A?H4xHwovBK_hGXMF}9@`ED!K;WfkwR%!;F?BeLE4ta> zfxU$*Fa>pk-Pf#%#Q9-xFA;~xk-Cq4Lq_H7sQ_z+>=hPoQR!=0RZv3C`2IjsX=xMR zJj!~`lP=jZEhTg?MbV+Inhhn9O;#`5;TJtN?MY<$I2V(^d$Ndk1U8*1Z?+hjl4b*;=10QZ%;tkYZ05R9%he3>T%y zfj@0XUPlEg(wTr(An%X}rFdo_;-y3vbaHZ`FAQJdd8jaVo{v=tqfbWUco{OepHws* zn7?ADX+H?Taz-t5%Pd%ao@D2c;>D-^myXkvFWcJU3rCQS;-%nx6Xq4 zj)0@(j$*}axW8y=QZNJ~Q@-NG!Jdsq$+W!kaC}Q%haYZn3Mlo!B*izC(yq%)k7C$) zaoO!+h+naBSK`99ohBG@F+WBu(VOll4eYION`Ufe@Tc8&UdwjfPRVxmytV0!)Ki)) z{s@gphl-y9xgNI_@AR}?z9G+{?Jv%g4N__88sMu!_r25)+a^bYk$kP(%s{Y87z~HM=w#D3N>K`(Ahf*s=+%x2bKj_UH7DixBop=?Dm1xOp53b5rqM}F*9NQ% z#Z+|UH)!zodtOt81p=FMpq)rr2K4NU_74kn?}!8)?AmRYj?DzKa#LGBRm950Fu$$N zLb07aQ>#`VnfTgX zErh>rb6R<-#?KCZs-x-3K3!~@g~=jV`z0h{sfK+)-$2T$TrV{^75Ad9vK)OD9)drT zN}4tHj6}Su@L8?OM3a>L`qLs}!K|_4GPb@lk4sv;U2%#kY@-PX76Mikj+!c1@iph5 z+UfZ5K6Chf^2>vsc)f?1Tjd2o&sar8UbvFpGGc zvgfgE5c;P{GkixJD{0O@SRm!R6)xBhb5%q9gcTH4h~YbHcr-cpZ5X@>p;=N&aRIyc*CmAu zW?BwcSbjKhlSj!gZxuoP%Bx&?hUJ+Qbn})juIPUHVH%)@O{PAQ0`QjvR~`!)S(Rd< z>^v!~DeaE5siiIfQms?nUzaY_)<0^}-vMaFmnv6J`{|#qj`S|A&G@}P{{U-amw=FQ zSoSn=>pHM#2M&3wi+KRmDZSHxpRq$wLHI-uF)#KCPooCqY@#XjC$0}FP0-VWRy1x8 z;=Z}vJs0czUFZzfxB+mTtrwO{$yrLKR2~S*6E}ceQBRuxmNdS7H*{91?D^RGmt3JA z=w`$&XI-(ZJJFjT>E3)^vnU zXgRzfXy3KI>4~a#kZ`NSn%XXtg-8cWrn~%{Jl6@Tah_ov$*2QcOAZ&>>(tTh{G*Hd8tEc%ZFDF=bbq*=00o~R=?&!%azR`A#9d#TC8s1 zp567$r!m7*t4NeFXJrv5w!i`0LJJEOE5bS`RaH2Ltb2DixSiKW$yVZLwEt~oyT65)z|oMIJTA(KZcg7Ev~My9r6Z# zxb-9sA?d(ENrIf8^u!<4mimNV9=}64;{JU7V|v}cLFdJK@=$v;YBJWY{l-T2p6sH^WZUFOc6Z07vFsS=BFQFW~%02>L;k4uQ*-i zE;YT}augLpf7TuvB)R^KFl3>|TM}+0&0}TbSks5P>ip+4|B;nW|3^(T+}XHyI1{SE zh$B6#&Vj-AYG7P(b34X7s?r_KPNBLfgEe$GRS~U#lU@1@hpcI6>?YDTWTrDU!;7I& zp9H@3DDJrhc1T?*y`P4bp*8){(}PAZTg^$YLkedbYJK*Jvh10$rDx78o_g;KQ<58=7LVCbNC@3dqhC@=dZ;ZeGkgNq^ zFfXiR&XC6-PzCZb>@pxF#1~>b4Us-?jmCa0R(HgV^z{mtSn`K!v2Y2gjoKU!4<262 z3p>;cU57$BGQIc&=6uZLH=AfH=o_LJl0xs|ezf2Sips)v5H=~k)lS`}qK#8A>TaV| z(lIritXSg#Z*+h7>}|<1CX{4-S-mO9M*X2asEf_a2Xm`Pl!-q%f_TSGeoKYrT*@Qq z#^GLfhOKW4_oJ|X?KQvIFVNPRs9t7gS~w0B$szVAqWlud z2g{qVK0iu*;U^zKxCRqUY&G2}uZumneM8!a<^$mfF~=xNzr~&9fW>avpKgN29$h96 zAx6E2tW>!FU&bcrH)GTK|Dx3Vp^Srmr*i?cls|rx-;8uhAmr__RtEvy4-Y;GfW-Uf z=WnY7=y!6|zi8qBOZ|Zd{V3uLgt6~%L-u`H&>;@KthUWmZR`;okRTrb+wwS0_Lbd& zkL3N6hue*yd*g{2!bEPWs`@056%1L*P-VA%?sm<-mtzuCby+ls@x` zLhea9knjMp0EnsM2C&zB0Q?gK5SjUZQ^koPd}JI1kcEfM$8PyV$w2`3l^f7>KmZtA z0Fa}&0pvFipxl7C0rWRu>UaxaVy1yzfKaJNW;Osr#~|n81r7{2MF4{cAT|NY5kH8H zp9eS*C(zFFn>d_K%7F}d`9u^8g6_($Oa@#D4*(Yh;#vSiF_0Pt=uH5D7>IFU;{^!e zkDeM>3JzjOFbRjqV}}ebCpW<5=BET8<3NBCC&0Mo0MOsHy*yM9>rNg9h<8P=iW@sN@Vg2n2g?)QKOs#2QMq^_alm>=h9Ao#aT!QU8-Cb_(48HdlK1zc z$NnHwJ>0>E?*X`CZb0R8@^o-8gk-t06Furws{io@{adH{mpADD?Ew0xYv@tIf|z88 z5K;p7^AC(4NWuf6T|j@&0xWR?OOJjaSP<}(JS4g_Gf{I?!aiF2u{_?>*EIjV}NQwHN)8M&sGXZxF=)3})Wm13d ztIWUT%YRXW|1Dqs^MU#O#61QH0dWz)d*kv6BJ$5CD4W@n!ii1{lhI zrwLL%ECC`Y_a6!rumq@}0LJ`}4Gnk)JmAm&E&&ha?!~#41FjN$AXii&x1*X{VP^&cC?Kaa9T-cEssWNryuTRo>8 z-wlYE?;KHJ`+fp%BrH=%vSS2_eEA`l=Us>`t~xS?nUG`@A)mJTQ}Ffq*%(+`uY|ge znXVu;{Wi;M{>mYZLuQM{qx1EX1$yNRnd=3(NCP>12cNFiR<+4Q=0*(#6oRj5GkQh5 zhP$`1>;xJwDmA~W_d9NY%W3wE`*4ET*S|OFbvm&HMs$n&lE^vBHoTvwr}iA*p2tAz z31MZ|lHm%a2p{eCAt^OKmn-8BMi%~zZvMd>4Oy@Nrr$emtAtPw5snqvybrf&JIK|u zwQ<-X@aD%BQ{_&_E?E5y_TC2koMIM!UWytRhAEYOdbV7mtq=9O~sPzIZO<5VUKp3%LNlInvVm(9imr@U!Mr z3Cj(QQrRbql#BE8Z1fnuWLr{HcoJc)&hkZb(*g;Bj~{BQn#ysWbUyi}oLyH!0FiMD z9LO~Tm!a&4`z;;3a9sBE;y(u)gt(7>iNDdq#pS)ptgRQUythFmmXz9!xP+C#V}-`( zSQli+)WyqFR(;O}-j|W+t;OO}$DvZFBT_|48iLA_T`aC!ds5=6N6VIZsQHyof5qZV z{$K(o>)>;yg!v_5!&hX>f%Ytb~@Q%5fkF4b%z*n7_*;`kSO;GhwTkhK%-1( z84l{V3$n(#Hn7adicX#st|QI4=kUsfrTk8f`2NhvmE+CL&N#cgn|4IPBZM3kCYm_mb7#ViDfbbRv1f`TK>VR_%7 z7n%eS2*$zW5Gg4MHJH_SC2TheO~H7$)`lz;HHfR#Y$g*5_ba(9K!%6L+IDD)D1Bm5 zKphnFnnlBGI+$uc*4FRfOdZ(s*sn^lpewQk>0%8~+nU^N zaG8JE(7Om$52qrXp7juYjT1sP9LymDxk9q|W{6#Y8byj1y|ic%Oi&j4DL~gGFQy49 z>U;eYh9pKCa##4CTM69q`PeaU<-)|Ya(zFAHB~3%MnZ;*0vOSF(LNKyF$$C~Yw+un zF?y{BC`SN`*8I{tKztuuitwVdspHw(l5ps0>8LnxLOR4SPD6#ZU)f;v!&80Pm-YjD z8d#fxg$x)iM+tEl@(pzVffjZWUfXc_PWYLxjf*?39kmNrzNIqSHCp}%vmZS z!{Yp+JbRsswa(&laoNoEN!0FmJ_^U={iGhf7A*95{k?Gy^5j zsDh&7T)1BQrf?lqPOrdkva)xaN>&~XS2*Yr@O$+mMDk27zh!uhB3@_c6(nNaJlf$? zHx@`CW65J~uB7<333(=HA_!+-M7(4-RlmB56PzQus$cVZeNx>&=9oPI0UN5=T!GfD zm8_E*CRnYpL^+C5MBqK)%WzDKplUm^QTX>S19?rZzDP)CV4-2u4ca=a#1-IvI)ex> zU2A-9q2-D6r@hhE;7dSfOec^DppnjqAL=6(7~r<0o*i8XWR+lkiW>yy+Wff+{e+Cr zrVvc9hweLJjfJB^dCkBxAjeyQ^k0dK8m>n~yn~N?>yuFo=a?-!RB3b}b z{DSbZ7!|Jbv|H?E1Cv~(I6gPHR_#j$+WkG4Yw72e2HgvOgm0KimV*PTA!;VoW|1qO ztlB~5c$W&MVV;uypwUW`^;#G5Gys;=x-zF-y7^W>Sjw?hp?7PX!Y+RMZNdAnW2|6# zE0?9$s}}-{Sjm(cZck>ZJ5byyDsrrMJ)Vw85$G~HSl<20yl>GLJEz$+UUs3PKck6-_ca6qi*4^O=Y4Rb?;tuij&;UeZOPfS;yMF zL@$LCH4Wu=cGq_rj*>mFIpdMlIg+xfan)R0+of1ULR`XL7mL^KlxQk&WO*^=V2+eD z(RBDMnOfwYtFgo^d>&sNiKo>uQtDFsTYN|y0w}>bF$158VEHE#23Dlgf~8yBz2N1t zJ&t0mKgCOQbyzbYsG3q7y>`tbPkom8`WRc|tbW%TKCAd6<|jq=%LyoDJ5lz*Sxr54{m6^YCXY`*r(zGM_s!4B zb|Wt7HJ-W6_v+|8bsm8=nN3uDE3l}6^A&tWexugi7kk#(NyMY8sz zzhn^;SlhCq!x=pHccD%nVSi@h-`ltCM=ahmJc^Q!BrTrJ7+tTQkzPX(*Kq5x$ z8(9lJ&eF>v1oEl(lA&&%7Ei!vHZ7*-e5Q1-2-gs|)Tgc25T{rX)P^RxB;h)(<(^a! zqKLIb;m6MCaPHH`Ath82-iN%S|Iva1>Zf21g->g+PNjj#m&n%yC0GU+vv?Hz%8%%= z`Z88}9z(1Uh`*!yPJWB3jPR}fOZv^d0!e}YQ0>;DHYsGBz zNyqx++u+C#1X^6XIefgpy1H6uLT_9bS2RiGyC_h#yXWJU@ZRUu_9Qxugau%XQ*aa+ zq=*yyzRxeh#eRYOB6fCYCf;Rs&imO$1ml;U5BHO&7VtO|6>3k@Gq{whsd^}@KCJ=AR|V49 z<2DK8Y z7=iST^WZ!L>rP$sQQ`gWWcsJ{zzw7mKS&P>f24 z`<=xMNI-w&K0w5Js7MVVWj#C;zjX(tVD6t8upl7H7!V%3ntO?PEKMP4q3nPh^3aj? z#-B$<90mvtdQkSr0o9EQP>*nBX`iv9O`-7R_QEn^j;lYM5Z2naOfA#Pn;c{~T z>KJe)0PM^r0DQ^^eGf8ODMI>qcxd2aS6LMvTioz~v~M73j++t)Yy*_%&p}g>V7Bss}_gFQ5%@0{R{o@ZE3%>Kl+vHdP6zhKDXtqTSbi2)j2ksn zcn%Q7LEVAvQ|K|N7FqH3S2ep#PvClG3Qul4`F1SovT0NJtgC^EC?iH8*S>aX6{jwh z4g#5qX!r7(@|;x`dgGFAgHZ>rJ01ft#scQn4X=T7--US#*vM$KVYq}zI4V{*vuNh) zeb)VEZbFzr#MgGC+W`MqitfYCAJT@-FO7qQ)08$yG5zou(uU5@Or|%S??u(43FeiG zYH|RPLqXXGlp<*#-TdQ=+fxJEqq*l1vI)7_bPkI?-5mlclXCQK)MB<_+;ipbq z#%}_I6ipE5!1WwO8yM_q%I~E*r1nOdnJww7zt)5Mj8lbU3#>(!TUc!_BS#e#9GvXCgCkGE!S6U54uUM%`M zUwE7_#VJP=t_R$lU#_Xvp^xluJL+cM*QPC>?VB`8^Z`J#ws7^AobcLXr}=cN{2!@EGbf zKa5?2@4#CjwNE+Z`S7|_{N>tu>|e>5AX*KFeMi|axM*-2wk16XOI|||$4_BW^4Yu* zFrXTcr`us*_&iB`*>Z*!zFOQEY9Sl0&D+UTY4s8e&8X4EvcE>ZFzRhFOw0!54KrLpwgu2)%aPGL<#R>c*xk&6 zQJ14&bmh{q;7T;_57Dz$B6$<3?;B?V46Do4=gvCJI!XQe5Pqn4LY0XMxx9hRLn;>B zdy-(;$aFys&-UI=;*LMuGO2GH_qHK|KI6M}l=OVF7s|+lIC|x?WQ$*PzYcU&kY!h- z?nB?^|1wcMrf}%+D>XK5fwQ3%mKmPx*sb1Q2fKy|+j`LA!ZXt48R&01N@Y@-G@Q@C zzm_Mz>DG~3b z;J^h{wAEp^$nOR>V{b*K$$V%P&1d?%5xZqv=D0 zI4HmIvTVU$RNE&XQt`OCad&=GInBX)txB;a62R4SRV*I1pjuE~llV3Ju$wMguW4oQ zMm$T@Rm#KzqoZP>W@7Pj#@VsU$*SRP9v!%5TCQw|wz7;V{W&MR!+U~$NiNd?lBTzr z!u_G?aLF(A(V+Yq@?ftHU6YUa<<)+9_RwOKjd<1N^c5;6DzMHf8X#plOT`zSuH#d>!SXoU|*%h+v={ANB2SPrvJBKfW|vbHJI zC*(os`tZ9#v@QQ?gw5uaFKlU1-t*5i(MVrc^okx0mu$+VH=lW}MS3A1SCUY;q|YV! zNyS9qu9Pm_2^jfN4}>aj3B%ht{+#CrcSxdxme?2u-cW3~z?g>dmZK20z}wBBchOz6UBi|@q=lTI z&P!hS5z53jqKjdn6mxpA%%E0(L*hHJZwM_2t)0S=a5cm_ST{~ezQx@g2#{dwGtd%v3a@rXCi{agG< z5ONy|!uYq6RkD^CZ*BL&&rKwdIiH<=c?_x2hY9XLf1l}_nfHW zK(le!GU#L1Z%k1_w^ZcglGOaO7f9+DA_k`DDQz8KZ4i8dS_C{kJTHC+UcQ4`1`{UD zfKH4zp{BPljeBj?@E7Y%YWn&I9Xi;Xiex1*kV53O_bd3&alPA(mcvt@&Osmca0^Lh zM2J`S>nJ`y9?qcL-btOdAII(2@<@#iZcqOjva4pucH7A5MeENErNx|;$ur28l`*4f za4^*4mZjGjRM(aGrs}8%Y=PzdLl`%TpRDd?J6j}WFgd0-=@yg_#Nl@HY$?dBkm`k^ z+_R@j0yN2yWxvkjN$_0Y%}6|=f~*;{n^m7us6{Esqgei2AsfK;fz8M0a9_tY6c05$ zYxh_A5rR!Bc3kv)_yn$9iVHav2}Z~iX`Yau8&}c_X&Pf-^Tt0e7Tj()zETmV`?6$h zKV{ZYBH8bP(`9^XUNo_E?_A`^iP!7um&@uhIO`{b{e~t(F;M|xHaR+gyX8DlYK>^! zjH|w|i=RWLB_l`<-PO^iNSyOyR}0S*6dyrUjwha-GR|>$f5k`e0&w2&M1aTXWvQY$d@QUmefZS4`qRD_oPn$zN@HhBQ&EQn6`z z1F0I|XV)87GCD01H^`osxVY>$;c?K-_7n9)xuMaUEN13Xz!&qU#JRGuBqKq*5&E4MlzK# z=$w=if6e(u{?r<*JJ;NzlPY9Bff#1X|2-m-bO~{UdD}g^7G*Nro2-53j8Nyj?IABO zR4h82av(MjgsHIKk%-a(5nr0}Y&(4CrxFR@XEpfrT9iO>5@IjyejL06>+(;m&(l1` zUZNtg2Gu!XKhg4bh&zoQa*;k3SsvMc$!~`J(%sKW>^)c%EZ4vHxx%C{VJv!S8z{RF_;ef z;0JBC5#d3&qQ#xM6B&!?;EYm1soIYweZQbO0bI}|i5vVrzoAM`EZv@7*KMbDoSnb8 zf)iiYEb=IYFjQ&3hPSfc{sCJ*{}o(nKdky?%W*fMgh!ROxJwk;Y?eBvs{*0+>Q&)) zFw{EUY5!xT3y~-00p`5_h68i|?i~47!OQu`QDNc+ycR%3@lTElP)j}37~H_L?C+ny zmm!su9K_9W6FdvSut2u??@pu@b>1=`V3Gg#l=|&3uc8~U_*m$AHg}2e-CDqK0Je_@ z)CzkcUy?X5_&cDS3@BW=9%gs>fz~3xxbmlS2qA;RGx^4}~-*FHlbcXZTyZa`FN7 zB;YXlXZ4D3%SV9&ByRt^$OHPU9$SyNADgoNS^jZCdLD9&YOB92=~7u-u%#5iq>}ov8o+sU;upDG>boJB0gz?IH^73slX& z2Y{J#VE!FQdH!2w0(VH@zeOi7|NdJcd7NVhdZU1w`?u(X0WzT<bU6WryevduqP|t>;SY{CwFHR{0x$u0rmdOJi1qe4W}aF))sDz5AWp zK6B3+3Q=rUAI{*up7t7&iRB&?TPeQG(m|`jI=|g|adFoY>{>bI2t#(XNj>si#5j3K zs-!d6zRo4VO?~CiV|88_j1?t5FcvS&v(YqlJ$6@AE$HPakfXSS5yj+C zk>1T!wxkoG^lHKNLfDl=XM)qa;k@3w(z}*Ut|8&(1&TBRFG%J*Jw@f}VIe z@;)>`&X_0lm~ph7cjOJ&*DOP|DvB;cL)x_9YSNl z-QC?KxVyUtC%C)Ibk4ambN`xo>Y|En=m)CkRqI<@XzPT2&-nU`;odREX>-=p!!fz0_ua1_6#1flIEn@SN@}Yg=v-wA2!@uBXhg;tNQWFno_2 z2Jej4btb{KVXy5~Mfpc9&W?gCBgV|bq1O<5Z##|+WeB`TG%HXeWUBM%j3mFNjSuER z|0Fr0@^=wxb-WcsSQ~ztxW!)%L2$--a}PPvzM~ArIh%<+#$O3F5Z?F!8sHn?P42(Y zBP$;F(VCy@MS8Es4WQ2KWb>2*QDsALVrVmj_}=2a;wZ0uDHd>G7*Qq9jBNM4P+*0@ zb}3B@Q=X&XbY*FeEpFG1HS(yCQqlm=g7@%QF@0O#ETUoyZ|u2vFgtdtb8fTC^wsb9 zo%ZCNO3jlgCWDCg@?&+Eqjmv zrrl_A{E>55>ElBiryv zCGe7Ec3P}fP({*jl*-d9t<8tQJ~-6TzJf@}f6D5uSM7>Q?9xCg0S($$Ue_dqeu^T) z8dz`~6w|d+Jy}oBj1Bc`WrQ#SLiZ1{hQs>@jTy7`OFQjo{qrXLL!E`*Do0yZO%De-QIxIWk$;@EaLN zctclo4Ba}qB&R@#YsP$w4Y+$Q3e0DwKA}sgy=m zyAd16023pQiNJb-zV}m7vMXb@=v(HEXf>b;Z`)Fs2%sHL0TAiExTr}-LJfk7Dg`lH z?NK%iLR!_XD%@a)LL>=i+Y92phfQK+c(*ABUGTEzgT@aL@G9r^G_3baqPn2akrXD? zAt>1}6(E{T3+L95oo{!Tooz)u^(qmZz<$RMa;FLwS`wwU{$R_I# z4(-AHt+~wrywGy>v9%Zj5V_mO1biMUw4k=rwf0^L`-LL+{`p*9d(o1&>%edZs{$U3 zun6(tb_#ijW?9^1#KM|djehnuKO3Y4+Jac#r>pvgVd&KjeM1p65o2|ZiWhfxaG9(`-0No~v z#X&XJ9mkkNLk10bc1JYBBHk~iK-UuQ)9GSDoa@Vs#OSW1$ zxMm!brd2>++J;|kaET!~Q-{@W&^suDC8bO(ZRdZ_xF_XttW=8pY{ZwZP!PcH0buGa zCV%xS=IvQsf;X*}XhF;_skPyMhfu>>-ft_RQUzT@!4FbVbtjCsM5p>Ph3T7%) z3|RB|Tz*`sr6GoC(lo}DE&tv(Ji?6~23QfajzNX}&~q52g!#oY zT=jrz`pCcsEqTVf?wcHfPa?Vd1MXoWJv6f|BG_kV1GL?C0D^g*BGw%4Y->~ff?wAz zrU6~WUU4f`3g50i&?U!$N}Z8=yplR08b(R|m?T!oU|6>G2#a#6(4+G9qK_bq3Z~|y zVvIY>s63=nz)yaBHDKvYHB#^8svZUj4pGz`PuYE{q@DVuNA-;6M;X{%2r!$2MEv9a z=F@xQ$GEBFl7=+S@qwwJcz_f?4f>;I7amwI)KWA>miw@n3=V8(ucP!U-HMQ6A2MZZmVG3X)gGKSwJe$+Wr3?Ql*Fv|)q~B>=PT&bgNq?jUpcjs zhNIMSsfg7448KlFjqEK(1KiM^QC3lWh{w5fEiW8ODqEA{6T?Zf1aK4rjCr+TDCSWa{??pLd@lPQk z#pZw&imWhOlEyv);&x2Veh%(F^d}IME07CTN8B#C$uM@? ziN`d0uv>n(nWBbxEkNn0rk1qDvPG7>Wt0}m%#+Ha*ke%Q@LqFwfeV?touaqXoPQn|QBT9Y^h{K9CA}Q691vW=wTPHn-MyO6fWm z_BUH{eQMON@tmFqXFo;4+F+Y9T`<_F^!5(&^2iWph|DX%!m?l zsgQq+hGctN@cCnu1ywSGCGA7zkJexK*@hUKP_g?{yMNJ;OgT7dS%p~%Ks87x8NKNb z)NdAN3Z)6*9~ESZ+8N!7#ug9*r4c`p)bp1?*EDoFQj8J_F4Vm&Co^G)hl;h*=i%m20EnOo%)$03F^YPqB$rJ6jagO zN%lsuz5qU8pXdE#z(8iNywgvH%bxiQ;RKM}6{6S+{PEQ38LiB5#jmt4!UwkogSYA2 zw7EY{X88yUT=ufEyyhktA#p)C9Wz*BRDH6x&d39|-wL$?_4sFB-QXpd8mA%Xup|`R z`D^&4DYg7Zi)EqH)qj1PvZ9oB0}ElngC-;2I|4ADe}s8UB<>}f#E{GGj@Oe%*F(gy zTZN%&#d^YH8QaY{V7oP%NYOZI=bFA9+Ve*nZvmCLj-p(l;}HJwPJP>My#=23OnFx< zEh^bgV)pUCt@eZ#d{yxnp9`vZ zb3n`D`_4kH@r(=w1UI)_7LQI_^By^A><=3dLf&nzxP^d>EK@WS%uWM+e9fXjh90I` zEL!Mg2Tn-7$T2;X<)6iwjfKI;q%U7zM`_XxODQcNsajP<4D>xY&TTIJ!sz z^$6AiGj1#dZFT|`by@kJikRo{s9-@kasYS;R&e4o8JE5LJXe%Lll*2hm62G)f`+V}_~N&czhm;tt!m=lMe)Mh$Z3al3zs722mDx#e3bNH8 zAJ+SSPJf$a3P4;enN&TkER$n|rske5lGCKe zeDjWQ*GTRQUl=Itd^qmny04=cGyAVaWTIJMMeS!?8}~)IjCcyj0fhpllp3 zJv||t7*W;7K!K+QKH0};`n^r$3tG5r-w=&{}mDIVN!V1gQ`clj3|t>r>#^v zP6nSy$@Bete^&I~pWU@nTC;KXry2=gl<<7qh8`|0q{4)6iHQO|t>FNU=te&5Eo~9= zoNh^TDKm1$?u12_j8Tp`7IJ{#keVhIx$yin6+yW_nL9{AX*2{=u4*`r<@C#c(tdE?_VeT|f6FC4Je1%+K=A!TtKV^5j^62s?A+x`@ zpH*DP^2L3XTjNrkF&4mF7F1jD+6KwHE2J_D?ID(g-5_SDZOmRz~?Xp{ow_Vx7IENFzTITdc399TfukyOP{Uc;U8&L@Ai))X<+?E5f$I^RQ zfSqS=bS`$=J3C(D*tl&Rjl1z8Vb>KA4|zxF4)5=#KeQ%U_AY=a;g{wt1r)X*rEFwk zvN9`k)byg7PsraE2E&Uy`U4X~T)F0f=)|Pu$W3U-nIRS<+Bzio1geBzl{M?(XvQXL1p&FT2we};HXX;gVw)o4>ol$$Jpz35Lgm*N7@IB|SSIIV*u>mqk6 zit9Kl`j5a@d|xyv@$`pYrx*AIHCEul}!V z^FL>B|4`6>S*Ii?kPQRVRY06cn}U7Fg_v?Szz+lVzqdhIc=`#MoHqj9CI;2XRX0X= zpaH`JZm3&4(M(Mh)nlXJa2_f6;0d5Aqut#fsNj{IkdL(yu}T#b_wJA4A+KUCPdgcx zfb>6c3|A+V#WNRAtRSBf0B_#j$W!(nc16Zl)J5n60H4xew^O?$jodbWE3 zM4LYV1CqFE;O^`^LLnV?>EXj;ajy!VpTk-^=3;~%$`~9u=ILN|=KgDun1opevCZ|H zX*K<(#`)cXKN=hJFMfjbi+?w~$N3h;E+(t_CrErT8Ef_XY?i{}0w5ltZ)aHNyWrcn z%abxTPb0t2W<7%H(MtHMg(MklR5+Jnz;~1)fR+5C^)F+vYQ`V(nc(1uvhEj8+({b7 z*1MC-#JOP$C=Y8wr}a~<4HIFIj%Lqi@8f`L3nsy?jz)5qTD&hvISlxGhO{#_$#$Cs z!k_9kw=aoXnoJc<6)|tEb)0I}5-&eCHv5+`Ew!kuuEIy~buEm0(DH)__T^n|^0%3I z059w=$yRCtj@)DON8HH#e)BPN#C8QkA)hOE8jvX6(F{U>DAEmhtlqHYRwzxJ3 z4A`pGV8_O=V>WLMOgXx`#DmF0ap}>|>nSvSSYNo}W5UsK+5H0if`(0WX26z$ej3y$}AFrNDs;X!@9F>rI_W zce%w0u)~HJ0L(_FRU+k^SEQyJ16=S=iZ7&%|IpE(Vw*3i2)C7PJ=`QOYQoW2kV^GH z)V?OhgakavL9_Dfm3Q2gIEz)f4Prs$=+4)KcSYCG_a_@@202kMLOvfSYu-Rv>Eub8 z-PSUku(_uBRVw1s6^XS-OGslEtzo>>d5kbUidV?M70@c5c#=(&KTW+E0R)|Lw!j{f z1I}D@7Nlh|gb&xrz|g6g8`oy{bPp27gqzGpZwi+*?b%_H&fD_SP0K-L(_v5{h*!Rw z4m%1Zh;{Jdojq}c7c`mkg{ETgby{|RB_VlS?oSy*8sEDW-Rs|Z_(8?VtVL3*`g*V5 zvd_p5A=x`8?8{!Go=5%NQ@_@5^iKvAO@9rXt&OybiW%bL!ox_7Gax+t_3Q z@mW5hh7czI&iNE)E`Y9f&g%JDFV58hJ>%Y^m24U$f>xpa+$kav8_-J!#4q;W)=I z}sD-)ER>;8D1 z`MY0pTYqsc_!P7t4giGQiBH;`ljULB)+8%7hZI7?&$!3qkePNe*P9AI*oun6-HLu^F#OXLU^ zM+V7?<`^d~%UNSs?^+|>BB;rvEYj&io4BY^+Lsr$j-H<$>hb=uw!CvF%wuyLV)vr) zY-q2zUQ*b7x8X2X&8jD#Lxmk85751W9=&_44LG>{EwOo%p*P3#5Xj-m^#sY{pgkOV z&*_T1#vf`cH~{cK%5jZrL=E1kfsH;j`0UAYLIGFkOuvBw0`627niYy6Z$=a${7ld5 zGtX`JJ){0@0ZXNe-qQg>g7-kam71S~u+YN8N?B9yH{XCC9PnE0Nw^)>M#r!^or)xx zHqXptlv~dD@)^5BDHD~VOVSsLy~#0qB72ymv5!V8d;o}RxpR*P{@7D8A*VAl32x4p zQE}SBZg$P+_bBi&zGoJ{-})K2^>ep_PuRv(YE}8Y>+||eL_kAYk`TXXxR6k{{IL6_ zaJMIUDh`Ri;MeuG$@Rs|_GzYWs*jsB0rNe-<@>7byX@57z!$um80OkCv-g#HS0q(N8r z?kFWjWhv#>!j@~?C_qX(NBd=7>XO8#XZR;eje_YVM zYhgO7(w1zB?{rv^+~qT5&jvtXBW2vIMms>n6Yi5M4q}*r&^gqr&aO9oW!-;xO6D|= z`}X~cZ`>MBmU<5A(EO|wdVtn2aK+D)Z=~{rk|?;t!w5nRO3*X$e4xi7x_{vNG-V>7 zK%D;@QT{KZ>J;=W8rt4=bo$kv#3>o^m?p;-#80OcGbg&$ywOUtFUbVh!p6Q<({} z|1!XE2;aBwcdM&6T4CaFz9P*@Q{{)#)e)1lb-tX{Q@**@Q}+N=40e*7!3VJu2H$h=TIMB7dZ>2 z!Luk0hO)5uv9Dm=+cWIv7pzH!md)?xG|jX|C41GiB4XUr%$M$6i7X;(bFQF^2!y-6Ra-L{N=*@l^5RL6KJZ8jcqX9pG+b#2QJJm2f`e?%j(yvJY8sQou#}z11TF39wNR^qO!)!!w z)#aezltSRedw6|cZd?CQ;d`?jlV$hzJ_Msqa-V5?(oV2wb!(2B0>a7CY?5*)+YvNx zlsRif>s@~*i)DwOgW279%~+l!AQ|-+X?Ie^OfxfqQ6C->k?9rrxfr2ZHHv*B^;5~l z?`G%xMZ2n7!fec0qY7fUHR%1Qxs)1LRpLV;av`~TS9rS4ugKJHL`57X+OB}}yw?ds zmI6t{)00?z@@6ES2_VNt{SIy}RXIlh1^=qT*ctDg8LZsK6h=$TeG-Qih*j-p?A%aq z{;ay?j5PGMUq2`DIqFb~2050l1=TK#E`Lr^A%H5b`DKCE#_!vBk_75bb0js)npY}F z9YtxthkYJ{1Jkahx79W=ojP5|5`9#lW>pc}b^yD!%wGClEr9d)GL$9RD&3h4b>l$x zu9{;&IQ6D-*{K=Q+As`2CJ?(Rx-Nzy9MOw=bqGsJmK9Y`b!N|-o&|*5tOZ8bl=Pu7 zVQrP8V0Z%J9bGrfJ(0{KWr%Hm!dR}?_!r&vau!!o7KI^~7<&s+>jGooWkrIE1t=KU zl~x26gcFHu6F_%YYs?ix6hz^KXL16oj|=b?hVa|&taW}GC2#_Cb@&)jMbymMSQndX zPR^k>2HvxdE9q|kkNBf4CKE-@!Y#QS3ar(jitJAUZs(ubzq@R^bj2m(7j8?@WcsbI zT-rH%og(|ho*Ebh;4^H6I;V7V3u>07s7`Au6;p)|Q~-hO4!kcaEfU&j=2I82%`1sy zRonAx1lq~Nb@S4c^F_M-UtDc=d&J*9p6S7{fA?Bku*J|uHnF*?x}%!nV9Sx6c6fh2 zq&$ytDus0bh85)|ly~r;+y)P8x8=Xbm|aP*{Yu-R*^g5E5Z$d?^%EAi{WOIn^Du%4=xiB)1}29;0N-YVnT^4_R8ek0)kgp zoR8`H-GpwR@B$?>MCXcar;+1Mk>|u>5yOpXva1>AGINO{>0lj^EUaD8Ktw1>ocJQ*uX?pxrKTEZ*wmxaXEq&5wg^n9{LuCcG6@2M^vuo3*xSB(h0D^d76!|v5gzY7k&5AG)u*I>mcGiN*@_M-abjUL#Yr@ z2Y5X1*U1qCUE*@l@4U7S_s!_3{mQNHjeLNXzG<)&fV0HYl5JYC9W5a%FZhxHquj=l;c^ThxbWbsgCdHH?p>Pe%4^a>e4*rsOS%%GkKOtA2f>|+f{-#H5R}*!evm+YeDSG270=~2%wSK7qFRe!D~~uk zUEiy!)JBkKSwOt;xd$>p(Aw!dtiKEp9hCc@DIog4#hCwLMgsFf??8O@|A>*mUi!c2 z?>}`K_WyKg{yWhQ{GNZP)jw5q3{GHc3s~CvKW-x@u+hYt;@{1WpHj2NO`bAx#Pv_E z=-<2U1VA*$2`o7QTR6bz)Zepez|IyhYQq7{ZvhG1KZ2wBIyXhi0&vUtmm=~I0GnBy zKoAMMybfe^+{7Hrf46TyB@(C!asiihsKBk=$2vDripC)qD)1ful^RpD`Z-YkHmm*- z{Qk=+WC1SbfQ|Nl15$r!rJ0>6&}f8Z2lkTw&eib$k7D@$L1_O{vyBfRHTy0F4h_N1 z0ZelJvpMV3l}#udLg~7!NnN`WKO-&=F9$QkuXke@CmBVwa&@r$VPwf37!ZsZ6O{z$ zyj5ps79hLoO@TUzyB`~SyP3V7{3Gvkd!Nzm<8eD^*w}fkeDKZnb|(d|CVxf5-#yOt z;GqBd;ILoQ{gG4fEy}mMa0@VZ$#wVY?+eJ?dIY#XN|r#&6U}aPMr`b?c}{j*r%Z=- zlx$s^Uv7oyoW0p;T$5q_U^@l9bMbk4@hs>L5>fYgvSK;v7J7S^9M(2Xz{6OLOnFsq z53;^cH;wH3TI$tJUM-(&rCl||Xm7Hr^;;d|t9IsWQ{TiKb=Z8y>wpArliURng5uSB zv_8Ncx?#KmRQ7FWg;Rdj@w{%&BFkCdP%wMUd?chi>Ej!jd~^qCRX%-tm@)CYkF?Hn z#;dmeGfT9qs($Icg|#)pgy5=NQEBXyeZjEDLVpCkZmjn0v>i4xN<3k&s%M#zZ*J{oa3Q? zI9cq9!OhP-IP`50p4Nsay^iP}`r)k8Rk)3-bE$zhaE5KIe<=p>R=PImoq5;#(H1DZ zKbge~uku9Y>$C9NCu98Pc>B_9c#d1frwMo+8$B!rNn-6z9ciz&Rgr98H9apLXJ`l@ zz$aHWp4NxbraAd16iuOncfo8LsS~pUa)89mpwXCbs z^u?ox0!xF+2yZ2neD~6Q0Q*TJ5!@cfKI}pH>^(ff<2_CxWxmZ#_+&LoxJ!niGBZbF zYWWv-seO8%b+euI>MVQrQ$@^Syoeb<`2ZgV!P;e2CPAFh_jy2=w8||$jA<}>DXt&K zso(>1Kynq|lc8n*=}flGysUsB#T7QqVWf?HZi^4XPS%cZy%Z`Zr_=h05uL8J>C6uY}d&&G@yJo~?esKQ6?& zhvj9y3fzzzr|AZ%)%&tN4n6Y@YC?^ebc|mlwLcRb^OoOb;PEIM`7=xrboiQpcvE7I}Fd}dIV?JXTys4zB!1+}rbm0bz6)G0Z15zr?9uK!iaMhPvye7E_0hCa|*<`5y7%@LF z!uU*dr}Ydh6S|*FzXo&0orbu-1Qg{@MJYKZM`6QJ@fIn$u{zy~tY@sps@pudZAo!| zX+UX(cyd@LxXeUlRH4uu-AWcGf&HQ0rWUt(7Q_Bzvl)>oAV;Ao0u?jWL2>u|Es`o` zN&IZo1h?Fn{92e|Wa4RnE^wM+nxYOo0ezojahB1M>3B0tK21`)euEGIu?rg8DU2;b z4U_V7eM)7e!gN%4OC>~HL~+LTZs`~JYzb1DKnG|w|LsE=#DZnp##ISI87~hD+<~06 zdub~(=$!{M;AhaUCk@#3jBVVm1>?baOcqxI9eCN>4C&>?FCMPxxs}MsA<-&I`w>|O z1qvV&w$M$tfkUSv7qP8VP_~Acij(-RBl0E=eV0i2EWMGS2z6N0ccBK_UXch$;YLxi zH;!%X^CR^LV}5ntKbhRoLe7IgdccxwzYf!HNHn2M0c7t^qVer-Lz?*F5#U#vz!r&< zzqJJ-v^xbTGs{hIA$>Wx|Au$3@&z!{K9gQ&>dIV}C)|v$` z{rI;3DZf%&Lf!5&94q&qMTwtBNRFe{=}UrD)!F z{Cx#VAJ8uItC2X3(x$3(*cWE%*THqVD|9}+Jmu%GE@48lsC_PT4724GSpW@vaHW~J z$>?o=MYL;TY7rfX93yiK3@=E`P=^i(a{aSkV3gx)k;uS87j2rBJSAE(e69S%jNW{+ z3W~=;opm8?&u6L{R&wU+RzyjY9Z>~PBKQ&034nH+Hy$ShRo%aL_--Eso{RqbeS!f5 zeL`3Kdhq$~(1u-aZ{0NKGlS|kR7$ySLmaRaBq9$S@U%y$`ud>m&VdE&dRvrb z9{@GTSSyhA@}##@zt{=S$Tk2 z&a}QR|8)r}(r4kL$|7Xdp z1aH9HcgyD6SrdAbdD2Ls%yK9tM4qFo1ONlP$BvOSSu%Vwj5~D{VaB;vHw_;q&rpN} zDAQyWydoyCath@S-Ix>>EE2pfRjtUrv}0+|Ek_@;&Jb+QP5+<2m8HPo8BE1`QC+kt z`O-h?w)k?CR9*G_i#Z}~sNc}xuefFOn^wR62qT=V`$nWD=D-JO0Z*K*KcL(PQ2}@| zG3)?6mQZ*L%9nz9Ya7lu{3#SPQxeW9evSU3Cg_w)dx2Jar!t$R8j9_Eex^Tri4|dV z@=#~*+oj3!Ga#@&&w=n5x0cRCfF|Se@*-;}mPICq52W)mf0?N4NkAs|?CK)Fo^c#h zc_-mZ;JN`040}oz`q5VCHt>HiG6cXi=+sxD4-pE(`AejRR-dnzTchj-2s9PkQSgZy z-#mtn(*{dA_3JVbD1S=e(Al4DVsP94NG$Yw zC=YKP3;cKdHmy#lB8XJBlQJyMHeHro)Y`sixv|Ra5mWL!&Ca+fDa}tTd*{SzG(*fe z>XVMkXR)8Dn8|^?qlo7ChfNHC@VY>|-h+;1N7Um1My0>{)^4k>Q~xE%|BgBtCJr2Uqo?}jgc<97UWE(gUsk%gNRPwU&`3y-NCIS#g;Dl^w4u~W0MG-5f2Q?As zi}VXk+Q$b(O{lFcY2;^}H2R|0OmS?nKF29SzfDL^l{e;!E_bC3P7c1;1d<>o*(RDD zJ+GmV(m`TtWYR*qXh{M3cx^=(E=NX+Tg9A4`G7d>rqqqkZ(Zs^6xs zyF#MdFv069EPFxIph_;Iv03I0L~1umx$Zd1NLc6caPhN4uoqyWe&b7X(O`y}qmb zFA|2&si?$g(o%r90&q_ZRM7L!3!QG$%-D80x6xv|nAoM=Ia#%#@K9$2?`qfs06f>q zcSP*uIo){r*;LL?vG^h-tA2#3-DMxM@s5z@^%M+T`tMaU;-4hX!MY&mdoD7+QKcsW zH4(*Re*1x<9pfq}QjwIC7BzeGL3|6yDmf!0RvpRB%ryq|{PO-%B}O)uZp?%j*o=h| z-knUBFoe!M?&*)H%70efK{@6!-;RpxFi~Gz+k~a;XXb+G6HyPZ;Ejae`*FMQrD>?{ zu0j{S{B{vSc7huq(XK0|jdztlSZ9wZ%~G^5d4bH8j@z6|neLFs3YTksEB(tDR^1t2 zEVh%@hEN578YpKfyl&q~EEmJJ&aOMEPIB|xidlFfdk>SiF%ndIw!<)n%z%pv!nxf%!qxxY*ec);Hl) zH2=Z@(aV(vGfl{${m?%IUKMo%5s(SfYxHb;Jn*|0q8-taUzuI&o|$H2o30OPX;kFaiMp zUnH)=p6>3`AbE>slAW%IF_e=FE*JC&Q9B_!)O_Q1&-z=T~E z7$Gs5<>F}m^VTd}Z~KDcyilW|G~Nolt92Y^cy7F~I` zY}Syj@Cw^HWs0n5fTD)k);;yGW4b)Kl0p=73}9Udx@~EM>hDe4YuZ_qMpwH+apVU7 z1tMCn4BTDz+CJUao)=Ir*X}cJR{3=O9XH8;xyNvkMx5$qFSMtDAxnV}p!UlWk5!-$WJ{Yf@Mqk(Biy>pBhjqoY zo(p~}^*R@|^~g)!TtiUO6%ziC-6Mo=egpwaCm`QULP3#S`q)jWO`}W;S`-Xol6ic6 zXimdRPJ>R00YuNH-QQ6fQ>el4tW4Mr| z(${CzH3Du`QMbg4rv@c#c3Y7julw+Cz3)GGrO^hFrld!9X+-!vz<0Sf&=4l67p+m6 zk`G^z>_6aGaD=M<5$eEz9u_dHMT+*1>-Ilj8fS_zp&$e6|3{?b_|LrfKUsYC|8%z4 z|I^t@5jo<*O`(UO7bIW>CZxFkhM|Cob`GF_$I1cJ;DAAC7NA1Ll7igFPYlUT1I#?9 zJf(jnO1VlB;KAZx0Zx7YMyLL6g@IlgkZl2T{46OKsDgMYOn1ES(A+4U~=pwA3QXJ7W;a`FSdOgEoK0W<`acf=~W7+pt0jz?T>+_A(rgAcc;&SMVJsp$N&WfI&|61rkC#@L_P*X|6P0lH=ESWA_KwLAom?)!4st5SK51Dg0= zd{osg*>r+cLlj&zaGYIRo10RWg>INewEc>y=~gll}6re3pOu6Rr5*0kk&# zUwy<5PanOLYBpWCKK;6-Jkg}>DSs7McaCJSmFgU;?5H+7@uH>G`K&AyL-LbLef3J{ z*urXu{VljCy|E;w&#sOv3A=XZ0*rOpcDt^Z?juABB&mB_0+##BIgYN!DZ zMaLahelzQI!I9#3)Xv8M_Pj`RJ5t{)gHWM(fWh0?0qO07%9}g6Z^r6gNgGky2JYEi zXpBiWGzw4b2ByTJu*Ub!R?1|dr7=o%&^e^J6^%P{6}()f$3vCbG-yMvLx2j)+;e2n z%?f2%VX$eReR60=tQ7fshq#OR&xaEgQZsg`1pkV$pzo~UY^@b*`GN)2(cIn4->XLRGDG`8WQ#NC;TzIusI zBpTq@2Z1>Y;A}rIi4XAIG{i|zbk?RB&{v%3OpN{NM2>FM$Trcibp}j01-z>sipoP4 z)(p{;e|GqZPRJ}4`ITcgyrHqkT19KmJQ)sGzV(?J5H?KQrzU--jT%j`UWAYOm?tR9 z2&Bs;GazY=oAf6c6&Yey?tPMIfub<&_gR`XD&AynvS?WmZ6EX*{iI_+;ALVRVRC^7 zpj3ty{@8_oNE61miw3C8^Mm|}x-rs4)E|Z^(=rjtE(RlleIqb8H^R15H}3Ox0fi{K zdPC3dHX?0NvfcP7umiSQhofJQ{mvT8hhN^4j_A*-vTC$ zOpBL45DI-QM!kKMPpCAPcbqv?KAd&#Vv&;QPhP*A`A{@36UpY}``hO0Zt05Zx8kvq zKNOCE?^Jfh3C)1vYQmOxhR&n)G3^me>+9CnI#9Muv>2_99Idj{B#Bga_&o;V;+?y6 z#jWWH9U96qR?;#b=9UeQ$|E@bKM-h;u0OQISQQQGR2*p(ch#bui93`F(x&+KU641p z*bUr<$riZC>_dWai=!ttw96F_+aPpLUvc%7z>SbFVJ-nbLe!@;=~ZZ1QA-_l7B*Jc z`JrWVY7a0Z)JM8#+R#Sy4d$gKd3Wl{>05}&X#1DJ?F;DdVZ4ARnUP+2UJH@ozCYY? z+I1n6b>$Gop#R)*RyRSSH7;k)uc$=J))x%kQIaSxZHZOV_EdlMw z)=WVt*4+d6Q#HOn;Y^l<{908tMAJlRxJ3vUCCSrLzBw%1uG$U%NdIVdH3Z}1py8q< zgK-2!WOS+F*hOK50YO>I-_JIpol(VHM?sIRlNWQ@xPIipcTKyJ?4+;$f!2IvH4hHq z$h=#=)2U2&^`oT*7n$uGEv~=*drzan;fm(=_IVFLd5$^{WO$N1La?Y(flzXWf@nfG zFPhq8Cpdumtw+NY!?K~n{xoF!jCoGweqW+InW&($=MVG{%Dr$RGs~XSd0s>k$ zzqX$M|C74XK%D{aflVC2UJK3Pjg$J@6nBUcP|Cd}T5md4=B# zpI*MxO&)(1?fp>t8H@)Q^7;^K2XSYbqH6cQ`B`oKJPc`6OaKHQ)I_ccgYXzgh++Xc z_;%V_&JM5Mj!}-Yu)F+{YMY@Zpl^P5MRGp@&~GB;!yR)IEuN$4Eg4s_|UJ3?FFb20Eh7tr5(a*#V;vw?pf5)G%=tMHGn zenE+5wnj`!fl*%wN7PEZVCuv8*v=?J;bpwRG-pzYnPANG=2Zj(M5yQ6deDBoZp+L7 z{2bc%$q^i)e>h7&n2Ms?$11Hy7ltkDIa#+WHC!1hWI7r^#Yp=Ls2Z7iRmVNJ7frSdO7Kv73^eo2%M4gBE3t3H9meD5#q7ZdAPCoF zzhL{>54V-D$Mj<$5mp4t3jR(!h6p?ZoDhyZ5Q}4%&pdX4h?Ydyr3S5Zr62ePGmG;l zps2~l?c6VlF0Tk+=K4zw{4%vfrjGOx`9LIZdh4R|vWtr`jfFQL5tRmes-mGWg^x1& zopvT>=Ir#)W{T-V2g``7 zggc7GFbAcl;juF3d9q$NMP&ct9dc;Z;H(U+8e4@>`9e^juf}jx+8^K79c`18-Ya zjjMyk4$QPd2LCxS+m^@M);<&bx0+yi85ysD<=n|9;*?|3){ zT2RWOrR=K7aDH7vQz#922RU-*N=m|?cY&XhVh>E5-_$&f8g^0Rs<2;S0n}*LCqF{h z1_OD@zvq@j^5ihh$%i7t$rtcSwkgx`Kuq1r1jNS$rrSEo*p$ad=!mTdvf(7lSTX z*cLCG^HY!Y!}vGy_XH|1`lN@!mvP3Q2D1n1zF(0eZ|UDa445Fe>TA!*d?hnSv8hGf zcE+Y8p-5vq_N1UPn*M%)!el zI$#D+m?p~wE?mi+0_8C!;$ZdYZ0cQLhV%|svQ;QX<7CI^fDFRtHHeeclpJ#vm#ZZ* zfg4f;fn*^DHiaT~n2;aVJ(Y>YpWwxsM*(OEy;crc^11e zktOCF;`%XI*PSd1jgw4g$1l@Y0&-o}@dgIKvfrHtPmBvcPg`0J1jge!o2tR%Pbhck zAt*U74-xtsH+e_kf8G^mB5`8M<_^<12rEw#XKu`>E}Zb6daVuoWO^Gc47UBeOJGLX zwIs*Ov{3JuM^EKL&g;W*_ zJW8QR`GtpBQ~VumbN@z;mk|e^7Y>7TV1{UW_fxAt;E51>_W8CUq=Bj&y3%(uqJ!lV z+t;HTL-j59+`kTBpr)lavN0Cutn=SdCZ0c0ChY&y35*vg`^ZC#`VRvG&mUS7JFsVg zp9_d~%!1r9@WSgm2Fb|-A|yWwvbB5~<->*t9U=lz-$GO`yjnm~A_3%<*Ev2qB%me+ zF9>ST|kl>u?THHrOc0>l1ubc5t&<^WMOVT^e|Or(Fk z4#X*D26-<2PcP#H*1o+g9)=N>2!sh{;|3K7yvkP(CD4@4??S{R)WH1R)14E8so6)%Wn40^|)vl-~XheiLEF8ljY@$c(FElnUa zH2dGz1C?KSkTm|fbx?_YS{L4ZEB zym=u^gtufE*Pnd@$;o*M{uG;`{+Au)4t(%b! zjkmXLv)0aCz_g);#P4Be&heFUaT05qRoLgk#=^6Y6A4eBmdTRE!9rv@M~?+7<2CKY zUkuPw)ML1?iF{#;Ko=2G2t+*0 zgj<>aBEyKrEu7QkdA*1J`2+VZ#{fdb&7>?@OD5BYIREFgDTl2E9sq|Ho~1?4{NUG0 ztnym*J|BUn)45Gpt3hUDOY>0E=_`g_ESTvd)CVb_j&EE~9h%5AobJ;XW`lck{J#(e z7)6Vya-Pyu%H6-Uy!CZ^IcL;&`W$C_zy3NuScJq1<8M z;7m|5K0kP#g_0#R94xrA5U;iWqmk80`ko)pBw<<{#6ILx(;~oM3sk1dr|6|48)m~Z zDVS?}4c~6Tn^mim-YU*dOkhQyk(>5eepwEf-xse#v zRp=emyk?xo6oy1w5F&m{lCgphDx1H_+7C9j`K-uaQo?&EaXXI8>}vgGi?y13ieovt z57r&tx*wj1ctrp_q8er&)O{cvR41`gF--^S;Nz!JsKKZab*+A3P{bcK(>2y|FgX>4 zH)8M)IB+WMg|BaQ_fB;pG)&>^BP@_USyL$#2liQ5z>H77lXy-3MpW6%{1d5D*LbJX z0xf<(5S-h;R0kacO9}hE~F$lt;Wo7l9{MCT2|)zsvXb2o>8A+QwubX> zT0ik;bvJe$VHh_Em3-pYfKi&S`H7?Z7iefiMu8~KyiAhj)3GK&rW%ZhFw7s}VQD%k z1?rt{dEr!AqT;u#%?O~6lGJ*Y;|cYp>r@#ngDJNFG&1#{rW220JzWCe7x9!{m4rDH zAG@>8ntZICV7?T(5mc5puzmDmlitYd-#@{i+_3t{B3FzIQ(G;T3N?CN~xOil!K@=DD!H zf|R-w@JO61oNTv;kDAiCa6k`&HaI4LS z0XGtSuBs!+Mz0d32o_0H0aAG()U4FL-KML@K-O0D=W|2<7jzeQk|XK)Bd?YlH)w#R`AXw&fmlv->o1s+A{dWhbVU+9WCbo76e?zyyW zw{J4wIo5r(?Ws6s%QjEM)hU-W^~{v-*vuIaXV z@>_ekve`Z+xnDFybgp{S0n$(FW*T5i(QL0#(~&tUCX1kD${IN3-KN75B*?2oLjn|T zFJAqiT`(CB_65yyNc+4sgQZ3kaxV)Az=98xNiEb$-+h0tMGhs!~cn+Awnac03ftIc=VdU<&FmxtJTD{A!*tEyZql?#c$ zN7FpDb4ygbYHqlT-%Vf%IyJ|lerUFI`s#h~MJ9YSX5324l>?$5p7#A)4i6~+_&h{y z@P;WK*!GHN8M$p*0p>}GH!PwjzcJ0ndxmK2X7hCDo@e%#^%@?q=Z@D&pja0>sp@e^ zyWe-%I|v$v=VNe7>StIf2~R@Jef}ZJALPaZtTS^qeWr-r2D6Kk)rlTE^(xOwfSy7It3ah*VTM}&4d``e&tac!^ zW#oRz0Q!yrVa0_Vyc4DI_tsCS2&Pj^CTNte&baJxi|_OJRBFnzYtLz-01hJxw8J_p zoaqOS?l-j=ure^dwF*w1TYg@~yee{17RtP$MQ8lu0hUEfAx*E)zk9c`%f_1Xstm-> zCACOAnTLLa>W9a}DK!R)(K|~*w#af{tR9(Twp*|&TOdo{WsqQ5Ek@2OJC55ADtz9d9kip+8_mw5;^;{t^Nz+^hn*(@9A{hDVo~7Jy zXF>`ODBpL;j7uknSGONx zUQ=;?Wp*SMq8(ZjtniZ!z=dld%ZBDG-so$!@S`B-MevWl7RMS81aIi;+Ga!me5y;pRBz715vhqcZGB(m3Ca)S8@2Hlq1}f?7nW0 z-|g3a8+}F?<@y~k9mZo?p3KSS@3+G7f25q2_89>%uP;&tOgN9(?qSowE&Jk9 ziCQl%0^O+A2j$Tgt-oPTOa$b8dN$Q5LBXZo$TH4)a;;=&YHM6ITRMCN-@oq4ELbs_ z?DDXzzNQ7%*Vxv3lpow=OOII%cOZ>*p_vi%9BLu-bNCdixtQgwZ)b0J*p=mY1>%c# zO>+mv3QPes%I_Yo4z>k5GV2*zVT3hWWO3ga{GQw#3}!SW?RA^tr*6s*X;R!(=u@(y zd|{HLL@PxtQ^j0EAJpn%=~lcf1~buTxtm%g=V>9Mba3%bp#i1ytM05(49{bv9S{Jld5Fl)4(l2z*mj3@df;Qv_Q-kk z)JahvKBd7OP?64*UHjhN1{Lp#y4e44%Qh{4kGGYp_9976azanL_fhn`bax$I{#{X; z$C;^=u0#N3iADVleI@FRt@VCVQ$L)Uqd-od9A-VdC%k!OIsy?d@nxrdX?4~bw8@HL z)7=JOhgIuGHFIWoE5@#Bj5q%00+79%m54h##{a#3i_T*Z7z=p1YGN`wVgDyhq^eNT z%Ug}(r;CqC5cb#>id!zUMYC^T1S6)o;xW!WF(fM z>;A*_Fm<<(#tOfo!QcYIpS;lg;V;?x2iQEWr?T-CPwE`ShjrqtXd)Yg3+6%-1 zR8wsodspigUDiA;Q?sJQrZ!r5&U)H}<6`EthP{ZyD=qC?ANHfdE)|#45QU~CrGW=6 z-G%R`c~<=z%D-0@&7Si+y-+jWlQ5ul0cr-=vX{StpfPjC^;ueoUf3RY?jLVT7x*`V z(!H}Gx(|$ebA_9%4QsR@zt-<-z?f_TK4;d1w~mCtL5VBw5x(mNgJrkFcc&ZO(#FwM zXQ|^pt@`5lxYI(VS-Wj+$a1z+S7oNtnodJ=`>`8UXkYCYiE${5EA6~O(Lwsck65^-GYJYa z-atZmYs4}#6^>hQ9xma|OqdNlueBl+TxL$mk0;kgYW2Y~v~-9MCT<;n@bW z!mepk&N30vm_Je->Q&d8DX|YY#W6>bh5U%tdp5&(9E0`0=U=p7vtqK8+&VL$R{KlA zz=?NlJXQCD+G$#D2=JO-CmnHr$D5HK<_=ZZ6FTtRVG)Fp zM}Gp9MWMF~k>k8^TK-#q;$uxjM`MKjm;MBtxE3OU5AIBNP2!)^UN14IuQ-tq>+97YGmZf8W7h*9D#<2oO;G>74q1ZxzUdD1Z<8@Ih7d zAQOSje-xCz+yQ@m2h#s2_x@+p=kMj-AR&qU-)&UV|LCmZ1X&XP-Awgw&iETt2a=1G z>n}h!D<^0NZ-rD-gtl>O%@-g?-fwrGfH)kvgm;io_B)xxCGPQq%5(i=uwEZ-%jV>5 ztA6l5++=Md-K>0V^QlJ1f~}+!4&xZu7W5iB`bDoJ)OP>)b7){>ypnypL9*JQTgQt< zy-Z8TBDBu?#-+o%$=}t@{>x3v_FcvKlf=CrfxltcW==ogZ0c*1mP1wl=hpV-2z`-^ zTSZua8^jOlXW^Vq0I84jB~M~3?&7s8JLFcG+3z2&v&+tEX_bI%rpM!nGcEdy{z3-2 zXc`xQ8aJ}gvbq)11$u|WUT^ZP0b3JHi5}(T%6+Go7x^}o&RFtd8f(NyonvSx&xQ_9 zj|4b#{qg}o_@U3i;yePbaI%~vfdGl{x^=^2aoaum%e(VqxZmDTq&&;;j`oom3{^Pu zkO;$YiE`9DY;q_f81SC=yjKhG(v%T_*!`oBaii1}NV2hUkljDP-PwElBKc8N1LZJ_ zX+u*Bb3*BEL+H>SWzzDaL!{<4iaTEtQ}g4}@{4c)+)bd_Z}1xLuH)FHYo<3$M z=GGE!BgOa#Mt^#zkv43crm8M2n)_NQt_j~G^4V}URx8LtS6j5?o#rk&4oPGAT`qNU z7sN0ikeYGhG_rl7qrR-n(dXMTv|CEYv%OfAl#-I$!;5^HTf!ZwCvTje4>UnLw2=MM zPvZ@$WQsMTtKwEFdOIdZsr(eUc&A=J92xRLFmFTu*7>paQk2F)VMn=Nwkw8+{YdiI zjF1&C5^bv=sF>>_Lg)!+7eocc+F8F8pQV(J_gc|FYCaV^T6@lvew{jX(?wF}OFK-8FB8F-pxAmx$cF>ZH!Dnf zz;I$b-I2UZe5I^oEEZ(hDFH_Rsqkf+Hxdg4oJhO&L#Ok1>8J`y#q8^!oL|G!{Ggpx z0NcF<{E&f*g6~}8tg-9As<%!9&;%W8e(=NIhQ+Bd#u=SdWbY>g z&>n`kxJ&m9TB@>VsHxgPEP#c=LYXg|xI+h4XZZJ~W`{_ua^H*{X=*G58RYzIB&ejq zINm>zCih!y2|R=+);9m`y}YPzCrRGd41iDpBZfqCJVjayoIYaT44#znB5mJ-*Z(xk z4BvVwZ+1u~ee)%Nf)(xDocy}~yBHi~U+z#QQZ!H@+Hx)-;R0Punq(-rkn=XKkDGoo^eKsg91h}$t zdv9j^AcH*0a{%q6LaI6;QbT!A>K{pUaJKrzJ1U*v{g=WZ15#}L4@Bq%7)}&@+8Ys? z?($Q)9L6`*mE(}R?Mx_8S&MR-*Gy;Vc8%fkslUEwPm{767JHEPv_a5Si&$MJtI$_k^ws4uucIoGfD>bk2V`xKd;w*5-Xg;_!tqk)aE@S zz?4;9iuFUrkk~;$!R}*>K{ZV^v!IstTWWVY9JPnT!UPpAc2Fep);(ECXu^c`c>S)) z->u2_S-HMHT6)SCLK7qaj^JZ+@ws5N)=dk{8e-ojd>QNl6rRj;Y?IH%AQgVWskQH>!AvL{86XD3xm-W?v z+pdTg@0;tz1pv7)7YU}mY(Ad)?`+!+{YU3+JI#~B^`Cbz+4V5(ET7m$ zxJ%l?NT7o$KPe!#-gLawS9(@mDmhV1lp87Si{*T5+T!qPIQ?F1nG-+&QFac+0-=10 zG6Utmm!VV__pzeal%jOEc=)T$wNR&d3Cwm--~RG1st)i#cUXbs^#Q=}t?x7Xe7BJv zA0aCN#xGio@KU(*x+0B<=X zl3B?2Z*uZ+|2k zESJ5n4?V)-`wFF=ah{Z2Ab(gDPe#CjBl5Uy8R;mmT7uo>ke&kAEt>D8F8jgf_d7Y5 z*7ys}=8G8V@^z_v{}ZI24S2iY9wl=CHp(6S)H&|Q4@^*MG%+GVdA_ic6B~G;)l9W; zz8S|@Xv)5mTh2B-g@Pj<#QvnyiMe;WD~P5GTk0ifK8Im{W=K&OEu!q3Z%E8wHaDK68&I)oObiRc9ij81zEB}763FrAwXHQ$?VL9?@HxRJ(9 z>bTVP_P4Oj7@uv6Iy@nde4DNpF^RjBm%sq;3ZLjKv4R*8%iZA4SiS!izY6ZuyH9PV zj+VQaWuI#0jm*pg1w-iaz7itnbPQt>@=NFinoCC8?J9JUrknXPY(=g{J<7+NR_neO zQ2;I@{`J=rfJ6Y*<$fY|U#*N=?obe2&{8uPPIJa8IPU2tmwA`{?wZm@J>;&Cx#f(W zZ|ykP4{NEJ0rMA}E6i3!SvH(tDdj*znZ0-3Ja$ss@Y^u$@KOpnU(M&5rDhDz9(@)1 z7n08&St%e<-1+#zQLPq>!wVF=!C7KI@HyemRbZ<60m?v+so-^oiL5Z$8udGz`hk1# zZ^kHWN~3OyzuSMAyr>i8jWj;qMbT|awz4^Lj9p)X*K^}}_=ZU!szg4L1;|Zr&dJT< zCYr&OmF%zMYtwP`&PY9ztcwNREMPGPWroG%C9x_=1|pVFk2#fv6^%SrLy|%@H1ykO zW&E7q0pzy#4rNCps3E&Bz~Oe=r}MWfOwNIig-KkQI5o#~eP%Z2*^D~jZQx6|-MV$! zs{h>JC3*`hKktCeV^OT|WC1LEd{Pm*^Szn@_67kWVNwn?h~P}V;D|jz>f#Z_LE0W&^~zHE z1o+&no!_M&CT^h`a9%}j2iKOfC-Jkxywjizs9qK*Jy1|r5~ovNsM!2MybBx5AdUcp zXO~8$jNi1K-Q>;v^}oCp*A+9*%p}eI*qNOJJu@1rEHa+~bgu&Zw;|%|H|8UnW-yaZ zV@;&}Eg@0(E1HIT*Yz`PKW7yiO4Ihs8QkCdRSpe*XTq_Xa6sUf43iKOhEyTT?2I79 zHUT#$)}*Z@UD#Wy!>M&h=V=+tFH!&?;plKJdVWf8-|uD83dgNUHhZTTd;q+Gko|nf|*o@ zxOORZ{Zx>VQCbK5(69YeGA-KD%ubOcj(ppMlBZI%+v2NeHYiRqUuoH#pef*SLXxxf zKCVX~-K_E2h_qpZYKCXybWNcGygGii4|kV1#EiTeDs8Gsi&pWp@O^$EFsm+n?t?R< zjI_3~l5|Q6-$oF$6F{6$>4eQHER-N;F0n)4bYg3N@}uF=)Bg5bmevK8$KrlaZ~`I*%4#ECWtArZW^FF}YL&xRRT$-bh)2 z%a~89>#(^G3tr@gvi8u*Q$9mM3vb?1fFw6gfb)y%Bnietg-;fB?rCGN(=u3EBv_#> zrTM69MKZ3>ewCX$!_&H}kJcSd5!xVghcHTzk;Fu_YPOXktlaDuqT6AtFmL7OTncF@ zyU7p%f8`BD7Y>UBjW?A1yw`_5ce$Xcwl279qlt!ubNXMPe;^;9_k9FYroGo%x7A!C=?z} zdiU>E%0G6s-a8-03WtY-!}symoA@zE#4zaqB<=|3cx>|-2FjXUINE`;NCq=oXJ&zI zeN4L{-dw(<`7T#i-+{F@=koPR8I1nodsS z>7Pc}@a6nJaqF4wOpU^DD~}+#;ag+F4cdJ*Mfg?dp4S=>Yp&8xiA^{`J6|^`O2+6Z z@Dgq^v~w+3tUgZx1=GYYV>E(DDvuIx>n-glpoa>Vf#!3hFwdF$Bly$r&4?41_Nv2T zd4bSe<&p_qNLS;SM^~TTSS7{_6a{pJ*E|ls*;jC)w6bvE#TY-RdmR)ufMz7a0f_)_ zLc`xfB3!H-ZxYcvQ04hwQ(_Jdj;^1`bV0P@e}zOqu9!Ec22g1oWdE4f6@qy)6`8g$ z5(z|^1Ls%&G8vh+Fb4@-S%ADr=mQ{c(w`NnhXR9E5Fm37+M}Rr%e=avwGAZbs(&0u zq->zBa!^q^85hVp^p@OU169m{7|di`+#q8O$N}=FJUr%{A0225DUAFlB|^adh9Bkv z5spDFBM>5n9h6Do1+|2O;w!+}Ucq-j&~h{^5Qqh|-@l15TyJmxjlQC^!HWU~l6|;< zd7##CV7D409%%J{sZ4LHw=jhmfZ9JmG~>4s2^MISe*LeJ-rGp&g%=t3?Mi=o&DF{N zl#Tz}V^gaygpdBm2=n(%{JAHnot&4M6@;h$ZyyjBP}G@|(E2~B&_9Hre<(cv$eH|8 zBKmtAh1sS!vTGgy#Fbm;{cJQ|E)2BTsa^ZHHg{+ zDNG8gIEMkw4ho_IiEsIl|8SZi*+I_7!v0&1+d9963ksADd8K`jV zUUo=~h?i@6IQL4VBNuvaX29#nO?sO_+U$5rnz{DE_To$vaL=beYLEX`ND_&3xRAhUf|56He5Rn= zJ+a4mB1)TTUm*%VyY+ZdJbcxaVKAMR0Y_+A&nQ+^6C8bq#dygpO>ruKPs8;zB zDstx@5)C4^0699kAf!2M5j-F~K7?HbW?Mn_W}MKcgu_Y63g$-j2rN92nmOhEvypqm z;yDIZTb?kmDDtng6CY^-@Z8wK4{Ek?R1Lp<9z1C?x(_Ov^O}FJ&n7Ku6Gx7Gu~Bfa zF9)pKwlGC)TOKv+qr}}A<)|1Htv4SrXCzHqyHNL}W_G5o$EhFb+6I`AxE_TzzMC_> zx#~(-t>5d59g3Ljb~ezC4}mrB<)}SmIT}f!Sr#Fd-(cY*9>GTkoU|5+2oa6vA37+F z<~yw{UaX*qY7az*!Q@!1HhxwqaY-s41GZtYXGDFaxDWHWe&@^|M_rkE|+-Qzl$QsV=0o;kU;ISKAIpCWU~n*#`b(9 z_OMCNuX`!0YNx-+R~jUtd{T9ztsv<6u?)~$S6$QuVoALl5lGLt>F@1i@vN&61{6#6 zN#CCf(lFy{W_#u|Ja-<~&g?+s^n%iB#I>7Hc~{ZhLbIL#b-bkML(kmX8RwUPV@R(f zdf)H%dPJRP-;3$Wvki`d2>R?&Rc2Mi`_wVvDdga~&m0lD5eO=;X&*$^zxdA53zg@P z*^qj156zCm1n}j;&C7Z?tMNUeHh6X^j@bLK zphIdTz#7N_=oCd`ZtQcg(Rb)RFXsALPIx6|k>Q1#;3!weGKrbFJOrUws#T?z*Yr|# z7JqQXxi?dgb^C3;TK9{7k*co(c3__a%8wO|fDp3FAoP?0iuAhk$wApM1u-|O~JCJa2^<~)PolOB~tNb zvYvjyuipOb2g^{D31Z5K^VyPhG5J>xS3?-~pbZ4LaiyiK7YE?GiVI0` zH@#Hx!|g+-uL>2Sv`I|BRu}%?oPuC2pBp*A0NXJgYiZrzk=;V=ILD=va1j%7v=3DM z_z$4-hpI7-)^BH!n|6h-sgk4eqWn=J8Es{}S3iB`Ys?o@MLu@!_2wMIJ)aApKtOvJ zeeVpLZ;;)-I+`P3Sa}V5gs?r3R2gr9MDenV!v?10e_i=1nK?YX^x1OXhJ3>bvs9r2 z9}r?bS?pj}jM$jArgd6jdCqpvmKYcC`s!qhny%5z&;n>+Ie+FX(0j6r(Dt1+4iSt{(_lU{7Nw=$MnchAn2w_l>B z&>p7`YkV|fE~(iox~udC$+GUHqcl=`9k4WKb7dRSuo6fqzz^;u%C37l^fY%_#94)=S#jF; zpolSWsUXk={~G~gZPbtzW_!w5SX;EX@P11NrJCKEaZ{Qufp7BMWqY(Zucv`T2EbxO zX_A469fnnKfcEq}6N)Ke7Ao@!tfkkCTFSyuIuRA8FErC@$`2iy4LBIC2aa}9P?lnS z(q4$-14kInht^KpAiubEm7yhhn98Z|KqU3$#%LWz7-re6Nq{c|5;d{e(Hg=Jn*vsk zBA|;v&_tzUupU7_e{QJgGIQ<<3t-K#y2s_Gzv-++IM`#MRM5v_9tU5_ayHhp#`j{IGt%r z3RSc+QcyeY+Gfv!@K_ldQ>I_B+#Yv|m)~>a4l|9T>4ZQ08oWo-K`P5g0zK(T=MG_D z?Zzz+b%MC}HC}jFD>3P*0nYcKMUVd3Sor+V3 z4G>4G##YlQs$E9#nh?c2#RynQuSb$!BO}^Z4`F@6B!gNXy3Lwhs=+EHZXp!UfvkCi zHfUzWqG>d1X&Px;)l-t$Gk~qri^bE=z5X$2NS8G=srwM@(D#TZ1aT4qwlb(jW z*)O6QTOEwhTAxt5w_Fa3Wg)Lrx4wMNdrI5H;EF$zvsisUW3nr4 zdI%c$@24R?mhpg(u@H6Fvi`@kRTuwS6-nT0K(yXi5EL zDJ?78CX-Jj!!T&Nx`1L<#;9t8jK_K{4qH z;FV{2ROi<=bom*;P86P?*|(H_Gy1a!FWPp8%A-=&KJjzuGz-*?P%v!bWHE`LHUcMW z?d)0lcAZj}+Xq1xgN z)yXus27H5^6ARBZ5%U~N%CN@MI_=ot*I1n$=oH`Wn^e49xFPYu`hKoicvEQv-`w>c z6>kUhZ=ar-jH3K}L|ItOw5Ba{$O&K(DA$&AfJ68t3v;sAD{hZvm54CW5{Ai6P7*i0 zn5~TYtMpzPaAglsYC1HsQ+5*jv$`hVaCeJDHE{e|%2mYpt6)1|b=R31goT&vvJi?D zcQA5yVB4X=ASTAl--J<-TMKkT+}gaH4WtD>(}5&Ffy;E75ORnA&bgB`I+aZwR?Y=4 z-g|4%x}rc?1#xtO{J{j0c#O3(#OOZHr(F1sr+@($AR~wFEI0t&U*ekA8}Q0%tGs@G z+-^^D7=UDOWsi$Y$?Yo9QbCJe1VM8*uqYht6O;3vD7JzuRPzDBC>=xYs-PPfn{But zNWITpnTTBpU3GR}dT@TwV4c#!=q5*6l@~Aw$0rt(l2#(BTG)AsS`> znX&{4aNCu;?1w)v3su-TvFtfSrqM4kJR1uQ9M7NJR}(W9hMW02>& z+XJuIO6U@osVMy+BtyQc?Oi(KBZ!z4DD!Okk?z}wR63P7230+!hl<_Q2*F|*DFBmu z)(wWGg(NC%B^t}zLYmwIMvLm+kEoetrL8HaX01s%GcI_pUKl2mGlZXY9-=0FdRN0M z7^!B-*cuWi1(w7c^PspS_a#0kT|f|cY;}BK6)rw2jp16(RN1?4C!PXRvD<%G--SwI zzQYsfW@cn>5G1e5p_Wz(sER2wjt87^m_>{U+GUQ^OGjWYV|qf3*ULa3MMlzeoy-Wz5l>nnopJz13|KGX<>oY?rKxggW*4=(h%TZKa!x3Y0hnzHu)pg z(U(FiCO}#29{;P4a}Z9%$+#z%2({Q*pS=d(7-bwM0^;`%9rt?^%np9vm7=|jWeBpPFZ&IX#0JQ6G$26flo_1E)tYy6^2#CD&WfBvLMkKds`Ti^$;@%- z_RA<(lg0Q~N*bw`8gtHdgt17!8=-vnv^EO&bSuN|j+P8vUkFKC?Bf0s$Ux;+e+gv& z1`q#F9T^wsUHwooWln+S0!N=dcEZ7eRgc|4P0LH5eO0@89 z30@%pqZattQd3JVx9$A|fcoI=bElEOgl9S$B4AO)l>v4Lv2 zKo%qpJ`l`=1JsJP#zYFd>J>zX0HvVbQhTKAd>|MLC`iS|$qvfIfdX}GJk0ETZ}nW9 z%slLWG&EA6BCaqR@Z&8%2E^ODd^3Kf{%as`!_NR*y5&cEo0;hsWWWSPxc(`ffhLd# z1nGb>hyuuOVLC3*Kja2LEB{ok{axPzP2}ne(YKGGU;5RXm8u7fbkxBkXveJVWK!#T|cd&G|0)4E&i&P={fBT?1 z07JJ6zw!(|`X)j{aH6idZ57L%fI(;a#(Vs1nAf-N`dH-P?`JuhXHX$Opd)@kR~Fs`LS>U(k7S3o0P!+6ELTLE;`+Ta)(8vi)Zm{0-i_*!uTTqew_dd11k z`Mlq<{lF+_7`A`6{c!IMpa|8CI`0QjOE`}A2UrIBaty(|h_V5sjXiRP&X*s8QCUou z8~Ts}XzFhkCd3R2rM#M7j2jPBSb7X1CON9KGObBlo(fp$eZM(TQ;pofWQ!2O=K&78UuA&V_p zSkT*D)#XO>_m;rDLN5>eV=-(_>TxQMH2J4C3`P6~_KzI)eD*vGIw+{Igr3)fk8@DP zTsvse*;XOM(X7z|SunoRkdsCMrfUIpDykTEWZt;9pSb`30+E@I7hK1 zXxz#&r>X4)2`P`o3Y96HuuV=i$Qahri1j22sXGm;1(%$B+nCN)JdPV7DSM?oQPa3B zjpmqGmobiOGg1lir}23YV^7ZVt>H=XJH-p@3Ato|prEPn6`-%lu@JhSw^qz3%1GDv zN1{Wasg`yGBok&Q$H*3ajA#wQ3~4_mQQ7tulx0dh*?DI}Uyw5j310CtZAf2=UJtDU zij>>*jJf`hV@E|Z{m#f`yy4Xiau+sdE$bxGZP2GS=a6>E;t4-k(9F<^JeB-CA}Z1IVPE8O@XC!p2l!gv|6Kg zJY3`+{ywzf=HHx%k)=yU_Edj-E%wsw=9}3r#MY?)G&IsKWc*CNWRDF{k&Pz0c$(n~ z5#w^B5Ig6IuVv1tA9svYhWPB0Vzfq-V>N&WJHbAe7Y`r{RsrDY@^kenhi>i=0ie53 z;qf*Q*FwUwa%Q~TVh6Ft1FG;ATs$;;gmE?D2LeNlXYO^seqJtlSP$q^omb+tX(y~& zcj5uj7B0UHwum-mwua+{8EAj0$uO-GN;KPvzNZUB$NFfKLKirUx&{-G$w}9W)%!HH zrAxAJg98BM;6hR!`T6ADN$3RTpU7Re8YwGEIeLhOqRG>U1!|#T-4_uL1M~A>%KM+d zzAy|4hIC03!lKu0S%kQfy^eFBvRzj_aW44ne8EGKCi1BR<8N4b___M5uRD0#>~JUb zUFNgP2Ioz4G_Mcb*Q}4xpCkzcRcp2G`n|=aQy2jO=JKU%gxR>GP{$ZA*Gr3mk1MY@ zT6zbbmX7IKRH6EI^jCBwZ2cd{vv0Ns}eaJ<8IISi-5pUS#**X zQn?m@B)B84A8d~qUeAwPqEvIYf{TP({V5qzQ;oZ2f9~?aBaYn|DGeTDuJ6wNi}6B* zelKjj9TL)r{HpYCNPYoRoJ0$iM@x=2Pv!4ryT=~(_=HdIUL1}G>Kua1KHoXkXyPc6 zb^lN!3JwsA*6-*<$Yl=@W%YpeJ_2J@(f^eRc*Qh;`7sLfY8%Y#w4}v=eBhDIUc2vJ znliRg3tJ;Ef7DlRjKxR!RE6@vjPV#4vMx^}5NpyAJqbl~TG*w(J}J2llOL^`j}kb= zwZXjfEfAw^u8=R{3|pugZ-B{a@IXpuc*^A3<5%;DpG<%%Y9XeEM_bVhIgHBtiPd`_ zKxv0|Q7J1ee4aB{@W~Llo0OF{bY4WXZ$aygc4J@o<4tvSa~-yvk6`xEuT?Z1(M|5} zGN4CswM7$tvfz&R+oFBlX55n?x->0r!DZ;juL%}#M{b4Ex){wPnP`XxzDDB%SO@{4 z0Wri;hg8-+gviyXMWV(*VD6zc%0`VW0RA2T0Vee*SLYIh6jAM6F3NmpW5D>k_wB(Y zB#oM$!UVW&I4qssP1|Hp$NO3NUd1tyfmL90XNxz^vTO!=665=I=Wr~qa5IkLOBWcj z$=+e#;FP!WplJD&eDJf`{Jg}2`MJ)ld&v=M(@t-mF(jOv$_e9_PLXE7ux8N<0A%cp znlCkE>r>%YxH|ZE@yX!JOsRetMJ#<~QpU_GSbFri2C@N35af{%;~Z#7lbg)Bn822p z2B?O4=IqAcpK2m#fq5w8B+%qA!jQolCy~l%0_41LF@BFpKqZYq;dr;%7sGLcYb*oO z;soSvaK!{+YH&Q7=V}L49Y}#vK>8;yhnb&*M`F+@h6qQzs;)?Z8$$hASF7GYvcX;! z2%#K!e>j$-dfle9Pu6;Y1&vuq5Y77p>*tvzP-zE6O}Wqvoa`&Sr>h;n@4a@^Rd^Ys zF4*xno84}|Ms$0?C%B{Xv7+zV@FiS-JXVOJk{l)g_dj1Wt--pIC&bhh1Hjs5qe5{T z(h-W7F|unad@~!!e{7*%m~xaW8L41F)NL4w4ZA_=kfyB%TzpD*r>xMkpP)!{%EpIF zp-C8~iA}jXkZee0Hm2aUb>dJWoOj4&ANDG_PcVUa|MT`b{rf=$+I-*_oe}mHz4Hiq zJmx9NgL(D^ptRwnmNC@AJYb#1YnY7FsXP~q>v}T9Alig}7q{7)8_jjH&6y0Y(OP26 zT6Eb@S3T8Q6uP91EQHFZ5PE*~Jhe9@ND~VoHw-OmpvQ`%)E#56DZ(hj9r3oD9R1A3 z#OS+heC>|e^Nv;ANgWt4@A_BZo~IUxbDFei__!boqnX4S(+)Ic4j^sLZ!YXsh%Y}V7M;c!gj)0%wryAx(e&br*B@6B0ijb%ow0yXr*T?x0^o|rBlyPuFZ z@Wq2OTsGW2Eiw-&h5?*~B116HNwi>-vK;aBqm&M6&ZBL7+29_#aV7cV8d=4q>csm_ zf*Kp=Ksmp`X<9#8pSZBDAXZ$T5sBqP-7Jqa%SZIM{)1>WuZ{y+tDM& zk9?!>hnI|u&dC{kKxEmf7k_@zz6%*(59u?Zji4L|Vw2nEPcgo)0f7~R+wlMIoc zH>>+21TjR!k~UwzIOGc;DGN(}63O>MpQjgG)}FyM4DKRC2at9}2fjR|2=oDtpRfv? zH%$TMg{iE#BPZd~KIx!JB~`@BRSxWr*k}gK-24)?`H&gnn0EWL_;VBX))z?va5d+Z z&Ww0HJ1|G|4}d67Mae!8K^1xo+1>n572a>TI@-+-PkUB61RS@na|M&Fa+(PTABC8c z|2)z^3Pb2VOdY2kcF5C-T6**+iU0&0H!0y0gRHgq5bqE3*1ptADRn;1kC^Je9=%<^ zX@)5on}SchQX2~7Vbv0eclL?y#EcLBFV@~Ntd3-j7REKWy99Ul zjfLRu?iL`p6WCaS1(zLyhM>XS-JRg>4#C}WH<_7pXXfNS=lk*f>*`%y*2P1=tJb?# z!dWK0sAhV}?xTyPMpKb#=LmClR;P=yXf7EI0ohX6XHiHqn{FzlO3TeF2%=e7@tfDk{TPBtv^w^O*@!i{Cz21Onx6||2#&N^N#6nSj=etO z$(Pmf4(05}e0rH+h9m@;%{t;Pr0Lq*A7u|Gx=SWoLa1LS|EfL}o*_mmMl^gR`YeBQ z&IUStOqRDZRaG+}S| zw5VN>6Z<%vP_^kg(N>^b{v?s*!5WZYyfgJF&yvcXaGVEm+tkMX!?k|f?s~EW?>=;( ztplDuin2*Nb>M-O-H2z1Zs7a@dEMuT9Nn3r7)YjXan|nDO`Wc5o)PQJz{q=G#pf`;6_|4^^ZDV@urT-RB+-CvBg+n!>j~#g{N@j(X|9DzZm}Y)yyXd(I7>7_Zw~ z@D=H<+b>DE*3LDP9Npj&X$zlJX_G3{-jJL0nYxY?p^8~1h2C+p$8K!xwcK;<^aHwN zP1Gy$ODzXkt%G=iRFnkcfn&!V>?J(~ED~DI_A2P9DuEGs-7bTHAx93P%bh6-GePJ} z_x*wIqK0BjuRT@*I-G09FrO4C<>ZM?k!WnP=oSK7MZ|ZW+YD=oa#Y zTi#O0`rZ0Q+MSKX?4G2!XU`Iyh#ahJXM(ODPf&8xOhTVn)OncVYoPUuMuQ~XSeSwS1nIwPXZg$t44y9aJow%M{n;m)yjuHr|61K zdI0|apl^i;K{9yb8-;a)^PnhrbGiz+0h@TxDrnAwc}En2L2Ci@5{(5|#A> z(R*?D5>%;5313ATp<}ZbP-j1C@s#6O2SzplGE5hWYVVugjE5{ujw_2yNxu*HC|&4d z6!z|w@vdTM9EG-yY%-0340dMZ;4OzP=FgNiR^H_xJ-R{0*~WGMt%;DXmxHWwO&f7# z3C;#t+-*I5gvPp3b)u-Pt^wf0#|uH>%WY3Oy2J6xQA#!uW!OOa<6{>~hKWd_hgR(B zroMNTXmN-WD)W9h&16vpC21jzsk65VzKS6U`mfdxL1g?Zo9b;XTdl-Dktsy#dH%pw zz+U2iU@L!EIQ@fs#Q6(b!TJkZ`M<_TU?-=An@tZPFA03#@nVCL{GTaAK`iif zdmR`9!9@CX{fp_NjP$F{FP=}-AJ@+;AFN+?@_)xTz*G5*4PXG-WAmXCf(_ySz#9JM z%T*yRJbugKB4+k#xC{W~9&^^wH2H!}y?w#+P?N|7h#?e^O?$#btR>0O# zg$_l)K8;x0^OLo_kVQI@OiHu?`0EpspC_H$g?Ys@DZnqSt+}nOUt3qkSI{ni*R8w9 zjd{hDPG)-{-t%xIJSz%%xoJS(*PA4dkF_$lD{73WPu}AvJ|%bV98kMD&0fHzJ>EB} zUwKzXX&yI1fWBo7%ECTu19(kKWN-WOEo>89;6w`cmQw57UYl6dVuUn(cP`tzKk6ic zhJ7?9eKBPA&J$soPOmOxX>B+U$g2yBKQMRU5(tylL<~&p0v4 zYEjs%#kvb?R>7e#?^|}l5M>+Xm@B(#2o{0E-wrU*kXrC~UxAwRRUSc$_Pi`@Qpfmp|`h)KoG4x7wUe;+jQoUx>wDx{Wh}nu2Th8BR-|#+nO#<%8w}c zt(%RJhV@1t4!Ut>l5ap>EXdlcmxoU*7DO@2_%wWM0pW4dck-O`%U4o8HFIEc{V!hkZpeVxnY#K0Pn+wq2~lF@+x5 z^798Er+XwrZT(C2+#<31OjHQNz}KnJz}CE0h_``|+RkREAo{oAT-csy*4^zfWW^}j z&M9C+cz8bhBnO)X5nvWsuBk7b5yO#|%t7pMh0JY}Q1 zo=-2eXKL$>o2O>&6-2l8>?HCVj8nD8Tf`!rDOaKX0_*};;rt>0b$^6ArZ9{1@qzWb zXmT3IZGL$4Tx=#>NiZ-vmcVQ8@Lb%qH9NnZbw$EC4y{!=E;JX?hmgXl<)B$-T!TsHn>7BSSYk9c@}vwstgtXN;>z`w}D(qf`laJ-3Hy8L8P}# zo_*Sj1>e_Ejwh|1ymFP%0}KwB+t6!n>XY9HO7uF^SHFVIRh>t0&Dljg@Dq1gCiNgz z8t&tc-f{uf7B-fw-;vyDfxmi}CRwG}`^jIa?U;TXAa|DCzQ@Jmu)xrFMC;COWh~Wl ziSX-FUlS*M@Jk4mW1)uP>o8MoHz*raC})5e5$n!*35lW)D@w_e1Z!<;xg8>`w~jZo zZEfcXL2QuA+dNC;w7_R>6yzJX-;Ce39m@_;pNkDl!6PSv(rU4!g_llCC4RS~$g-ak z|FvPF9#Bmj3eBUTYZrbSh%Kv^NS9#6@=$ZwptmfDUvrJsi}@XYsmqin|6M|`EUtYx ze*Fb>G-MwjkyP1~7im^xg%bJ0tts-;O;T6@n^6EpxT|?sZ978n8M{%4q^NEngXoov zu23{kx{SDCX$@8|CN!MGfDUopuNn6HwFh6o3=Pj6vTzE`(%>eXBQJ=Uq@!Z5WH zl1(2wv{5U93LrM4l_(~J!OBi$7Xk%EOzA$W{$}x}fA5R~P-LUEF)6|*2QGgDt4swPMA0}(V--kH!ywDSsS zJpr+GQYju9$NT(#bk$?wq|K^gRu(nYK|>pdBV55UdQxrlsMR?-jBw_vFx&8rQ%5~& zpk|YB_y=*&1T|a81abrd!dKg!j^HAfTQ0Peb+n?V6LY4L(o)Ya=-*FkV#SyGX2XGG zZN(Wm@|MZCHAJ6vQMIGRLT&@QKC!KdvaCVd)@9%VI(J4vxuMx)uewjLo#ei zl5n5-D65*n(+rA?N}nULcz{Cv;g2;s3uGt!AbA4N%J?8q9$DCM)o&;9Jxa9}WFn}3 z{-b2uDC2|FL)wR_aUFRq-1e_W!m99qaR~C;2UP7mdctV_i1NsC z?kuy~moiTHiE3zy0E7;m_!m+E7$-kA8N(gzLkMeJk`x0eC>NY=NLTyNtV2SewSZhd zP{Buit&CU-2`Hle6=D#}uWN)~7*lSwtyo?4+7+%{$HoJy(o{7)h*6M?2Nyr^k1C-Y ziB!5zRN@L0R&=ab(3zZY&gO(id~z8qGSgF8AIR6#RmnIN3>3JabG3}5a&crL(XYm* zFA&YsIO@DZK!2f~_7P_MiKUnz2L{NrR6?Z(T4do%*0(z7}TM~IGLwM zq6P8!MMRM}GW^~_*b{~XV;NI#5G4tFL7OA7 zxQ>o$=^`kHHpro);eu3z^wKd~{2me-)C@!x_+@vZxi4mzF{mIcT9+YtF2#U+b{NYg zN^t51&TMSgjW2T~;{p8vdZ+V77Cd?q{B$19%b!Fz4x;tCK$vj2pJ#f9hJ5vrcQNa@ z;o8x6UwgpYkwcMqzZ;jEGngPX`VekgsjzaDRjgRWP2>}#7v;eBuNsN@1V|lkH$7AHvR4P& zoFrqi1*SXwK9ne33JySui%l{~>49){k?}XBknjxN5RnbS$F6A}SjGi}(>r6Ea3Cf28%O7=dd4}0T zC`ZMwh=y$^;@Ek^9CH038~~_ZZ+eU=u&=l7+mT2WtIgd-O;w_nWjj@--TAngzg_(# z*EFT>fyp~$HaOSbntnO=WY$RbgU^2?heV3_&FNOxC$7K@`*e^RaB)i{>LG_Smkrv- zIfjw9>ZX}wT3iWkcl|QNp}G5KIf+wKxx()onDx%)qI+qsAsH<)d^M zN`-N(FY4ZMyM)CT#356DA(J-uaX@p&yTYYHI(`Pk2iiT{I0^mCcxRZ1N=`=+MDwGSr)TdslgS zuFi20=3{5hQec&VF{yVp`@wbR^no0uNBUWH(lA!E?}wK*GF{D&XK%$27zhP@8&~_$ zkJCBgI|-d1t0Lztja6y;bsC22O|5WlF$Q&08mxLC15~9+Wv5?Ezp`#iH6MQak=I=8 z{6ahm59weBM<9_Hk?msfDCF~53DX<%6}-5feDo2q3MQc7?Ho!T)<&=poz;d-sc26~ zc~Y!7&LRbcB9- zm>BaVB%PRQo_!C)pqz6?=6idE<@uQE!Vw) zSBwObE8j<;4mPx`&!}&rDU^}eZf`8rgQ#C^TG5w`t?q)fPOQn{1e+1b>~ap&jZ-}9 z5^B7nOX`^y-wn7<-AitvUapDm`{iSvBeM-E>F^YO^O~2vx1s2(G z@!T?4NVS`7tWTkel;X^2Ottn*RmeM3r6Ub8*cf6HSUMC-2^UbRd&V`ik1M z=&4kbyrQ_9Z&y>t6ax|v7*Ioq^mv<>yPP8@ZMXjo943fNk!B`!`0mdREKt3Q7OlAv zqHZ0|l9_0uO6mPlN+HecqZkXpFE+i}x8W_N7#d+u#kDgLJN~73Vtnqy{#J2nB>51_ zvfoc`Ak|`Og~Va-EfSO0&S|2>OE$O9ZveAAv7Z8DgybOC*Y;kBSPUZr$bt4UrPHx`? z)1ZG%;;7DgwTntEQ_42}O)iAtsohH6o;&?db{2M&9xZXiM(9=c+`6749rs5IOVdBpsa-bh&S;$;tE~ZRsr0) z+Z)8PqHA}k%^u~-Id=`PUwUv`RfLAXL1PZ6U*?3O1UR&@d{}if1D#v@`3n1 zjlxZ6X2 z9PU3Xum1u4fHijN0L+AcK|iej$vfi)^EjTt4A3K3SqG%h$4?C^_5r-AU2z1YAb~tn zq`)HAv}|Ox;F~<~(A;3XViPZBw&yypYxRNv({LccW}!cYuPwp>3rJAh;3|vELcb)d z$=Jb`-W<=;*6d(2pHcT zUu+og4KRs@;U!os>7TqAuD?l3v-5*lIbcu<1Rwt&st3Xc$%Gy7p&0@8U;TNT4)wR{iV?S>OZj4|2swO zpDIGXaV#gthak!p^o2h@Lhe3hI zWbDj^4aNUUvY7!W7r(%R`J5TXqnh|09Re~iq&T73y<*v!6h|pqBPZMhk!d!2j6^gSZlBSJ{4fG2|K ze88*mrq1A@>S4#`N8DEH?p=7v%ETp!fynqJd_#*taWNuL?iH&|^;MWrONL*vyWeGK zpI(C>r`HpYUw69$4VkdxL}Ncfrd8b5OtfHgRQ$gA?M8pL2=L*$gR0(nPn;2S?kqx( zF%GKMoVID|R&r1ZBTCtk)J)lk!3#r3%KnCxNXsAQR_szLju7FtpD05dZ>!a&Ql8iE zS|VC(uMH?e1m2lOt*pL{LfZ7`brSsUdv+tE| zRGGo{SD8`CvywFaTP*~-Z&-MI-SFlZrE`tmB~q(_G8Iai&R1DN$(c}ULM2p>rVS9k zy$Vu%L^upbq=~|KtCJU|qLZG^@Mfm$esy;qwHUHSqV>4O`gUqjhkr{ zSX~xU&R~9i4VfyYH3?8Q8J1L~rcZd;ALN+iTTS4uF?Tj&(C)$BX+nE{Oj0y8WXOm$ zmn5Wtw^De-iT_lScx}0QtmoBABrtYO=o#?olw)4^+Zp)+?H93ko^a`r#IijlGV^^! zYrqzI_qNt|_7=V5fjcHOoH*g|(-_4SF~g|nZsmo_H)-0`nBH#2!W@NFJ|7|vDT(TM z>+nytPS%rrYJ8orXA8d-wlKJFspGrf8eIG9eN-?WpS<{@9}%hmg=?zBoDIxJn#6vq zV^*cJF9c(M8#X+er*UkkY0IJ>a}l0Pg9ddoT|*v6FQRjBTR?wC|G z-OfT}@}3J;px>QFlr4i~tmf70&+xA9;#L#N4tNPUBVqlN6lwC;W@m49--E=gL(@(4 zUb=tY@`o9pYdGucA0g=CG*pHojHO|iy={NmrF67#BCtJZ&m;8xMrh}{D&V+tQy>mB zZaWHoM5zwE-=mjZ8|3@O%8SNr%IUSD$+s$w&XxqI-IX(_dK;ww6y3XodwG==r;`Xd z$g!XGO*c{7=Y8&3a0Vu5HJeylwQ!uP5h`9B0)BFr3+vt@|K>}SF$0R|36o;Ey%QQy z!c5-UcHHs!%foVGF$fQYHVAb+&87n2NP%k$trb2C9}Gg&q_s#nwJHC*Wn8!348#eO z2^CWTUUCmkGVhqaPqOUf{>I~Wp6SZXy9$0#q!8=oUbr5|XnXN#e2mijJ&%te7bkh@ zqOfPP)b(KG?N|)Q0y=gL#pc!?ydhfcfkxMok2rVm}FF&?VU=9!K3s38W_1MyMb>s?r8RY@O^ z>tNuO?o-Z z8Wa&UH2T_OaEK8F!AlsFQGfQe`i?3`GOx*e)v!iNsaLW-{*bMw8@a|gD;F<~2X+MY zVzs5_p(ou{kbtYE#w&uS_0y2~@~;yslKah({I5tsvY`WllImkjQ%HTYKu%6zkUP%i zB(oZMC_MJUhqGoy{#1zxN&2ojDU?%gjD9DSN*e0hA+`S4#4Ffa_`tCK6P2{wGMqw)bT^QpW^Z6qdyD99R$Ol7JI}RD@7H-6!4%Z`e0svg970D1ejLrcT)cE^c0l` zp1?j(*&n*t#c^=i-yJesT&OB4Cbo9SU3H6v5;HR2^jIbkY@IWPOGpWRCL1&rXgf!x ztRBv9)*$(gVoth~Uu}O?YkrGb!R`LiT4^MbTQbc$XZT^g`!O5}^{gxX1)b5y_yUzZ z_P}9jN^C42qmyPJbRNCvhRTWjR4AymNm|FM?bh1+g*ge1=7OahIf4a*julwgc_-2h9B;oLR*6dIyL+C$MQ?jU7qctTu(T|IgD_|^xLxN5uL_D=T7xu^nn zbU-Q&ON32t?wg{sy@xVQ#W-qYBaqfefzx%ZQo&Arlbjdi??3c$J^njpgB-Ek?bg%hzB|@$?U3gCUO}*}YR^ zGBVpI+XOmrjKf|sninREycSMKQ`c925oUfQmVt{CWd3ay8aZa%z=fNbh;gJYaQmx_ z^*qQJ(z8RVxR+8QRcb!EdOv>eTJ;Nbw&jiw5UK#f0SMh7O{#@|_-g8M_*AGds74(V z8VE0NrKsaiE4=E8 zi1fi~SkVc*56R)Ilf_3=7ihtJ0`~BD5j}kEg1~!#pg;EN9$Y2dzQ?L>2yIWW<}3TH zhm}-)z`*wWr|34jD?48N8z`xJ%D~T&Rd!pbF?CQtK$nNm54xipUeMF^`S;dS891Ie zlXXS8_qAJE{Wd?sY;)0yMm?7?np(H%Qq=&7A-1Su=4N5>A)cZ3Ll2xc1iFHXYu_`vhF{>NQcri8;@O%~%mI8q3v1#2t zdZeb8cx+nx+jzk=Bhp-^Lh5Lz4%DC0e`?IB=x@foW*f-fE|)6v3gwv@jCDvq6=6W1 z7tO)G7K`W>^gl9q-HIk!TX6&@j6MJhw*l;g;Wf)M)gz|z?S|3a(Mm*cVGuWPbeeW# zV7dhDw+OrMa7%Qxxh1D6;qX-jjoi6JF!fS)CY!+^U_5Pi%E_ZSooh>fl3(G9}ZbXpXDCkS_+W$1x6Wx)CbJwGeF`%&Dv-;&R9OPF8tND!#* zg%o`nf@J4QW>G}ZU^4DaX%@f(5wmS8#uR7@$@N5&U~vi`$Fv0`-u@{PXl_p*OioY{ zFeG=1Ojw56ZV35PJ{fo;vJR7+MWxgXxq#Qv!7o2mwRL;g)F@WSM#k?ad>{5!b9-K^($N(R~ZXnKr^h}MTObgVNGdI{}2C(XNu z>Pdnsw#!t3AV~q_bli&-i#w;I!=Fj-ZXacXOq|Q72wsz%0?T@JIPJtgTf}kaB~@&f zTgj&Yo?;I7R<^kMqjfl2nndCRSSA9N=T3v~wma-_VT4GPTf@D0>O#-?>As8Q(u}mV zemS^yZRYb39ZYRpzUc67O~!_8Nt12cQWf{)rKfo3Qv{pp61XPFa(d9;x-F7^bTs$) zqZjWdeE$~%n_m$<$Us#HY(14G1rvXQhK$Sohhy+RB71J`XGIzKKO=k4TBi^J>~qk{ zopj2_00J%Xp%ZccX*m2#H|0ugWBo=N}%=?FjVxnf&R+m`qx08aVnbMt;xTWrJjw(p7X1Q zr@`z0yeiP#d>pl!Z2%HTP&ww`RsiFcp!L8@QZ!{#q^(74;})~A6p$y?{6c(0pI@b5rEjg0a&R2*ouFD`@d9y z{{Bk%z<-awb~{+j>3O#kaQ|a_{+VIL!OIC=`e&`_G#we2g*wcZ9WeT%p7@>uqQs>V zC%Tx*T|dc4wUoxipI*W=nUYUG&e`wL^{bc-d)lna7sANq`va6S+Ji8Wde4pPR(YEK zE-SH*Mk1T>gaYYo4y?#ILQ4_B58}oG(az_iPq!g zxmY2fMVRzU;(jySUMTmfSGW^8RL10fB5feS5vlv;vK761K=lfd;P&`9*BLSIoI%Iq zyn$MhWQV-~mP(fdx}xQq4plLqpWQ!&KgrQv>g?xTDGHf>AyyO^)tpFvAuemRvk9V8PWbH-#Pzz?1e~W`9Yc{sfQ)d^;ed1{?X!?Y#^1img(pOUY;VLRp)p z4Do240(d(~L(3YqBaJcSLSe=FV;|Z{7h6kD6uzC0a=37cH*=D_#U*)PNa)sKsOWr4 z^*j{h-mcxJ0utNOCsSc8Gb_8$(k8oXv)y5#&`oyJa0`i}Q17jDqIM8pIz;W54AM(~ z02;J!;g_#W(+s{?ehS{cvW-DkcvQ-pU%V`EeqCuzV7k0&u8~hBqO9#s|Dj?Xfs$Cc zfN(S`TpW+fp!11Qoss98E-&HKzR${;Gl0fGqe#W8?A@|`4b^C=C)uXySC#izoFo{b zvRaAmOQ;gkC0ye0SM8iM`M4~GUy|AiUISYsne)oD(4~)y)EJ@m5jn;%Wj@aG^S*Wx z&u)gsJT4lsKEx?6kuOFzrVfif>rNj}sO-?rUYL{W=%5HHbM%jgi}M-B$GFd;0%6|6 zd&Dy##kVUD*X*O;R{GN}(`pYTNK7#Mllxb>$3RTHwm)3jA1WGbdVfmGg~~)_E&&`7 zSy~h}VHp`6HSlPqC-vS&b#=VR>33cdjvLv@t%4e>X5kEhRy$hUT3+(M>UQL}8d%A7 zv{Q4{Zj1Dn+7>i!*l-UEGkShQ&h=eXW zNzk)?q9b+8K&+{y?_qLbWYyS6Dkb^j*a{WW z>)(8{v5wQ@yhZx5rzQN>hQ@U!mr+IQUrN zk!JpL!G@u;WiNFyG+nJf&Y%XkSw)>QVIFFOU2b;Hr2s6Ez!2@B$@)Kxl z;~+~zw41+qAu(yNhyn>Qow3fK*E}$l-+g_hfc&)M5-tPeNyu3)gu)0d|dj_exx@4LYDNXob{=a<*8Q z5oKUwfs5c|#G|>@k@HO-aGZ+ojPvvWLwAHlEIePCz8gZFDvf}$c~M+^{U%u0ya5|w zPbBYCe*9%nbU+mR&~6YmCke4}V$e}n4Mz$ro$DdbV6R2AbB0M=F;V7s@f*VST?U5= z-CCY18EyQwz1^BrZ5M-u@0oCxuGWu0S-^idJ zLc)PCcuumhJ!4Mcv6&&)KV-fDS*cJ)W#N#UJ6btCkeRBU5f;7kgqMmB;60uvbp1d8 zn*cx9i&-^ps@$$x^W2x!P)QMRrm-(JkZ4jc(ja6p-o8@U;-5kvsw6wDyLd3+hef3 zR@%qI8hTMEAj_l7YBb)~5J-M+5tY97Ax>nQbb8VkLR3Y6%Vkb5Q`K`Da(=tSY=3>~ z%}%?#K7jj#7jY1=^3azP{`k%Z%}Rim%c%vF$K-&!mU6j78Pd`*&clVwVjt=^g7^Yqi5?7vn9~EdIQpVVYHGVCbb>2u-zjb@vAEKN=>wVCJQYz09fEkY z!t#!S47M;djlU2wyw>~o@LzF+uQA{N5|!+U=ZjoVt587gb_Dc84x@$HkPAaZvjta1 zj8_*zbwjv|7@@fZH$SVl~OpI`wGqvyB z0@sz@@m=_UC|r0sa&*N|#Rqu)BS(foJ~uiRYc9CQ7n{r2a-WT?8JRv##Ob{y2c4-& zu=Y2MDR%&)biT!aMbySalgO6=IxzP#$UL}P-)!eecVOSjZV6nZYih&>E$jCX&d+Q> z^Bd74l&zw%C+A|r06K?h;0GsQsph^}#o8Mj00$=w&@ow+C$Y#V4KwqXHmI?`3<&ez zbO?rg#dv*v!GGC!q(%q-k^6>iZ_sn|n23j~bt@dW&4YUEgN!7-sbx^FI_>}VeAQy+ z%a6Vn=AQ&+%(?Zk@=95nFn_@F7cSB`@8_p_)3}9s?4>roC@JUM#WGbM51r(c`3f-L ze+qS1rEI6J!B3*YwJeG!Jc>tS7eH42gLnb%;Qw>a@C)@S|Zy-VLOR{r-+!gB|A-}#Nr2T1(aiO@67*KMOe;L*IB&qMy%^f-$XO zvU~dSa+#2K=S7D@G^{l#nDa=sBe4P3tYLqKf{T?qt}tECqTa3sFIqa2cG(bHJH$hn z3WRIXY%oRr1diX+Id$=o`o`cl1Pyd{0vu==b&c))OXff5`m~62;4vFu-_CCllwTum zj<;64a=D$Y@)jhtl!)2%4?F3@dzdO+78$~L(JUSRtJ8U zoS-?pBb@o%RSYy#2k!#N^6uu6nINqVsVU8$K7QBRM&bp!G$0HX@V7IT008qpu>$TN zU%dZ}pZI>oPc+>8zm7=%{ssNZ66YUZ(BLo({0WcE{mZrIU%#A^3ez)k{A%T&zdV1k z{~U3AQcff3_>eV*GV5`@ib5@qlfMxj}voT$Fg+e>uhcErWrZmm7q!0l)$6 zlCYubJ%{bTs{}qPX9sIV{9DD8N(&ieSzv_TXTY&g$`L%*%f$HZCQ(l&RipySB+jZnd*f(7bJp%ue7K z${MET;HIj5bm)G|x>~oJSkT?{l4_IVsi4k?dw|x>y>i+>zvf6NOeo zGV^Ta`u%|(B1(&nXB2gzJaNO}c_4q31#6PwA+#GXX;8K5(zO2_qtcsmuBnt9 z8G4&c-urBsSdnqjltCLlLa$AICW2aD)?7g?4u>w&y`C@BpLtlPkcjA8y$A$0Y9#|m z8Xxs|J!i7tuB}oxWo9vJYN)=mKZEnZXvPhhk!cuZ^c^yo3eW2E$dc`bN_Qy;aj>_y zp6d*RG~0awYQ$%Ie*F--%D!*es|sN`8;g}(Xz?%di*E8xfN8u{DmqnJa9SI7X`s7nlTooN1+xrLWd zLS{NLn~OlQ2!!H~%U^kgr}4*;^v{&4DEXuqd60AMD>sEG*&yPvar)4WU#zs59kgbW z0fu$mb!fiH?PJu5n&ss2)+w5E6JCs?nH~txkE2c&Wi}Hg*rj~UeON}+op9ymb`Oan z%%a}kbfh~=K(~OCmUx|NBlG55Gog$>(gJ);D|QQn=smSpF@O6ySxd$cIje3-pVjEC zUmLHjV3T31!QS?8V=*bTiwpyxL2=*p=T8}0At`}{D~OPnDWcK`*>rL4q_lvstl1)6 zj7NA_5MVVz+zE#U;V^sM8(;5Ci*R{c&|lTY!6rHIF$l$IpZi{)0E5e+LjRSJYYX?p zUEBijl`3={u8--%@L0<6DG_YY_Xjf zb0uoMWv*nQK3bP%d=rm57Xhu)GN^}*>2ACL6z7#X^6XL6jXh%2=}S93;bhp9a$gKO zy$bkrqf3u?r|U-ZF|%Uz_=>YlLgt6hcLWQ3PAH2OD`@hl7&S!rfY~YZqMYs)V}-?# zNGRr#zEDQt!PGH)yI=;i%v+MS)ajRK=$~m;KFJh+WlO?ml3<|LqSE&0a`ob;oKBaTzq-fOlSWj#tv@_u`aY{ z-)Z$HqyZ-#Heub4?u>}O11JiM$?PLr%%*Nqh@zL}Ve=>vhjFHFijXWxt&9tidYs=E zFVri)eCLk1hJL+Qyk8wz6S4fVMKg&E3xGjst7H&)2dOXLH28mCV(7dN(U*$pHq?0; zygVHp99_Tu0{tDWwSF-OotrSby%)!!s!`B%SzqcHB^e7TSF7Z zyI6+ENwmfKC%T_l6wBsX3-2jfiBA;qUf9*OCmmH|3Luo7zTg!q38BM}nSA4LV9!*& z>ua^+_Myp0UuhE<3Gr~9=zNm*{~g@(S;4rjSl37R#?ZC~NP5A4d18Lo#+; z@F|$KeUaegJ01%9*ukbYfi^|Bp$PBFslU_V6Tn{4+KAU5#BUOM2*v9A3|)nsb@e@V zDmLF+(FCaBrQ>QjUKoDr(sSUOE>=JKmPf&Bp>WK5tpo?p-!@tR>)1{u0zdHruiQF zZaZ!=J(?_5KDPNv0$0o0@7Y#7xE1(EF5B6Kk9{FZpq{$!Q#CRVmXLC_-m2~&;w{hb zoS=U^*hF7?2^Z5;YM(0VjpjJ{gVUzS<73lp4Bkk&TU1)QnUo=$$qo__&rR^&){F&} zU2FC9&5)bs+P;S2MSJ{OGOD8c=a=8;zSxL)#ZPBVHLLTefkR@47mtC^-n4 zAXeRMoces_&z4e14Ap(HLp%couc?^4U5>F`C>rWyw3ms8>b7u8>;!(bpO{H^m#TnoTO7Baza5NV%Z67<}XVhFEu{LbRuVL9$Dc`m7t(P z)$FNSBy;hjT)0*HG?q44kT;_)raBj+)=h7q6NOrd+u@VcYpf9NCH0f_S~OuNNT`v{ zB&Ml(_xeg7NR@I>-~(TmdY?&S(XkNOt#m0YJe0csY}y<}$X^_bYPP~AUoS^0Xj?c2GnV~MaD%DCEJA0=+r6s@sO?}i|AsHyn+jAgh4s_)J;-Z5EMvji z4Q%)};gcCxD4vM+X`tHGBK%J4;*|cUtIXp<_7JD8YsTSuoMf#}EO6d7?(Krbeh?C7 z@#|Z<52|$LAz4Y29Iqn@#+J8pU?Q2qiA~12GroQ)$I&Q(f&O9QFl3`IO)e+joG1lp z@RI~Zh`wx7+Q%QLWJ7p29rWlBcDU7XUaXtMMYlh1_Y)o;*IfPaPIE+JAo6K)$)sp8 z2);+h3o$gS{Hw1bq*%Js@tc+!XL0w(YHC(E-J^0(UG+7AU<6|LNM7S3h&iL1s*gq$ zI@k(Rr$tb+*NzLVs~Uo5z>D^n1k8JfIB%~AZ~hyD-SRM?)n&2AJh0?y$pKNb%TogO zRT^FAq)OI{$2VET@GfB-_FU29SZ*Yk7Q9IJ5_6G5BDigsKIK6d55DBP_Prd1^IJ7|`icf>7EjfXxkscX@bp*HMxuW0 ze-!fmY4*hrAekU{KBFz)Sx;_&8?Aa;+A8^pkb!z}bl^pB%L%maf<}UU2kBSOc)d3u z>Om^lo9~39L=Aizx89Qg}hT5HYBws z)A@ePtPiF4ofAz$AQE*}0#GQaY|-+Ob-3S*TU4)piDGey(IuI&!YQS3ZBMz)BXR$x zdAm&J#>&ru)bIf<=LIJSLkEBjHnxR4W(2dxe;LgFGt%b&byNlSN1zS*i3K19AL~6I zNr5E{|9v#epSTA0d{wv!3v50iKBU+S>HV5Jm7em>o>s_7stQNM1J=$ zH!lnLAj}E!xf@zG6uRe#@OSk%xWQC&zQ4tfWdJ6eXCvC*)dt@Kv%(!Ag|QibDIWek z3jR&w&%P<_V48UwIDRzzZF?N-EYEHy|A}5L?9IV#B5{J9KK^;&`kU6dczIcP|9TjN zO3e1lXZLsAaDnOQyllS~gMsJY-YUOqnGNjA3x3njjx0!!!syh$YZQzFu<(F=X#O*H zkO+VmN9X^sa-1CeEc{?7;y<M^foa~(7W&edHSTQo8kp4gV;Na(B;RUk@ zL@u9EjNihz!A3dYXQ}_k zjM>4mqhR165WI1~4m|(;x4{n1l;8scG5=mpZvG@FCc^)M9RlhBjQGFYg#POHuj62z zzXT?J=z^00>M)*@0pcoh2gFbOvIjyuXO^7@+;fEDC+xv4vdJdQujwi4Ep}$|h)`6i zLe8WWiF@_xLm?2LA| zv92Ez-QWy@v>5S?Z_Vty34o;qds7FqYk9L*wKw-I_f%Jbb9dciRjII~S??J8`CXI^ z5s#9u!?!{5`o)2(gEI?ebO0^Lkk`MQB_)EdLU}D z)L3Iu>*dd+ z3pW}Qja6s6ZBD=*ST!rv@C=Dc5fyd^+x}Qq3gv|Y0oET9)yuxfwmXIsq`A8SXMe;e zl!IQ#>$=t8qadR3P+!cE1?&UAvDl~Oj2|#Tm3D@ZME_3Ev_+|MaH^x z{SoUbty&&2ozT3h6)Uy!)tTOrr&Yt!w;@{&TUBk-r0{C*hF~EZ9HSOiIZU^wf2{pc zws53(_-4vEgCu_}%h8>DF;Sam(iK$gX0VClwkSjm_ylnUY#A=Dw6@{O)dlioT=CyV z5P2o4$gk)BAHKc=p6c&?JbSNfvPZT%+yp8X(@qsbr}xOVo!uw9Z&$Xl_gx#$hLa*R&SW^u?qKR4(a^(@DZ^JkVX?hF3`&9SSjSMFD3-`jTkK;A;a(Y?oOE*<)` z)=~BR{*cAYUODRY`*(gY7+mg_Ib_CNSV1uNX^-Q&@`K`=?v+~tjK=Mc@J}o+qq0tk zQ}h>La-~X-8M~$XDln++v*z8e6O|&dn_@Ym<{~veHhM)D#kTDa`%?4c(uuP(Zyiz8 z436S)>h|5{yvY#;tU(;T$rcRxkrai}%($za9ue8CDT=2L4Be;@71AKU*?#a`hV z;mO@_e`=?$fHrN90Tr{@G^=Y*!b?6aGMWY07zCS`XS~_hhi?sS;a#z-6q8TLqzR?C z%FnL1`$~geMh4e#odLMJma@rpDN z{(k&7S5oJZo_%FmLEB@+Me$Yv=1ODt3mCI|mxQ?YA04}<_AP(GM^RcjF!)|OYdKff z9mhvk+3E%<7?4^^bt!(Qo?cI&YITcTwi|w%zPv2!o*2m>n|t?p*RY7Blx*0iceS|q z!-RsWzysMk;^upjZ*y0>mp9cs@ON#derszEZI8Sk7T&nOPa}1gP`SZ%3g_XRI@?mw z-w$RquDZKG#;q162fy7ZeKgR*6X}D}d93*^MO|e6y$5HEMM~Ga*9XtuRPBz%iL`qM z`x74eR(Ews^6=H2XVK)PeE*g)HahI3i$#GoK{wj{@`3RO66fwq426$qG&wD~&CgF3 z{+jEUdxy^Z^W)d($_JDv;i|?`WTtm>SIUKgzPxYG?^q^VY6LYbRg6uqdNI`x zS<{@SqxDSMi+tC6u(Nk$ieu<$pVsN*^avIQhEE^bWWHT1$q* z1pGUKbL!;)21eVYAFi?&QbeDQ*@xxz)<=%dKC7G3TrwD)c_|=1=}{Xc7_!z}^yIty z$1GOckzd-Czwet?29>|kq^T5ssdo5cTkvAwcxPwDoo!r@WnA=tPi8XLL|?0+(*&~m z?$5}3GF+``m%O)q+M7EUCLM9>_dQ0vWqgQmfB^xWnQ^0toxWwcBHPQfq$TVWr6(&t z<;}0h21=u{en+0`%Ad_J2}@}(#XOH-nVM@1dHchuYr2v?WAGS~AIUS-RQ>jt-lfsK z(VyCvCi-QI**^AMRnrotV^o_D+Tr){M`@dD>5$038a1w!=?t{-mlo8Vtr z3Hj;ePk7yqKg!=6^09fURwy#g)=Nx(jWbkoyhn9909&QbRB+2d;{~|fk$xfPs2lyN zhUL4Qi<7(4LWpk6pKX9z zn0)j<<1^T?dmkonPEP3Ud}1tP9nNd}%D_H%NX2aQi+W6GL>9&kL`=4_-gjc`+MP zE@xI}L_05jHgi$@gRQFXrJz4XZSHFG;(SP&l++XGOmV$&n?+ulrncUqqarnoA%b=^ znL4js*9afIl_Fim&5r#kQe04Ccs6~3(bjHuz`ybXm6?cA&D|JXjiHEB5uK{;X#R0n!kIy-p(^0U3=f>B}6|E0xH%0#b_<W`peXez3`MkX)vGPldlHqrcZSbjC~0TDo##x^0oOD7;7ElKB`A2 z-kDdg?ByC&`JyvegJnRD=48@6s+eVl*^0Jpr!B==@$-IoYMD-Czjo(S|1X`YIeO|X z%V;@%g51Y!RNtLs-8XsW;0LFfU$dTPjFy3OaQT493JG%b(i zBSZ^qu3B+vx{D~#MQcXN4+uxfR|(Gt-7HQ!o-w3l{3?P*SU;xy;r8uRiG7pXt(Y_^ zODVhNrE`PMI6W}`;b|SQG$CacUQ+$4wMOtE!HwW}Y#(36-F|BcF-*lBT*%$mJ#SJ5 zoTJqps-zKu*N!@JaSZNBwl+&KPB!+TuSZ42QzccfqnXv*x?882%3gE%6(D&PTO{A5 zI(0?}w4`Ux@r@8{pX4|^5x=?`y9`Zm6F-A}gB<2#SV;U=f` zuYLMLO=x>k6U=A)c1?o8i`kK7G9%i zf;wNJPKeP6f7bT+YINQ6L=mgDe9z*IT~~OGZDLpBuQk1G_BNkHPRb#s z-wpo0DQK?Nc)ID_60~ZrRCG$Z>y2*vMD5&huAD;KEyn$sG(G(2GbdP6{N%@lZ>gdp)b=-+2C5B+<^2u>O*E zgX1xXpbwu5F>0h}YFGp*jv5xk;D_N@1j!E;iy(QxV#&!Lv81e;;5jMyJQhK6{>2hg zOTzU?_=x!d$VU+jWXz>S%4!L*acI+T$AR5Hu=B*AK*)bMhMOu1VtWiyT3WqUWP>hn z!REX43fgd425z(xoSXB%q96+6N*Gb)2S^#VV`N3OwKu$<1n)q7R^+XDRlos91)OC6tAs`=p@3~J zNNXSr<#7VKrKi@rsk2?1o(CKZk>EJ;UwLpaLx6X*#PUk-aqJLX?|ONMC3$)t6~G7Z zQhL2S8XUloswC<;RsSIhSjB=A3J~F!JOdXFq*?gOdo(yqk?RpNib6S(;O#%mA;@u6 zo|*$VT>sYy3Y>NkkQgm6z1?+0i;)Haw*w_`17B>?c=2j8a3GY>z+QZvE+k-xD6Ik? zu>v_e!;uXgq2mVm9?&3>!G9GH;B7mOIBIYmK~7@ciS@%3IGVStW-s|oOO9X1|^ zdkhVF1A4mL73g65aVzK(1b(v2%5!sLi8n=?Zm9rzqCxflAY{vx3l>GZy^@2Q0ru28 zLH=|iV?lqB^uV@zy}vwIG*KsQ>Mx39b%G^^tK743=50;Vfklz5PN0ArKrV>)6bWrDRe^#!vl}SqnYrXSYu*R?J)W;ll?C*cM zJn#8kL?HUu=h6}%A7uGScWN#n3D9_VUxtEUD5l$oK|yKdMed$wrJ}6 zn>;$pq8M4a)PoP=)-HBP&W0`O;k=_w zD=*tt$~CFvpZ>ahJbHf@L73lgxx%)4x*#uqwAp2}*dDK&+@IL+*4*HNM%&1^jbd3+TFO(!oddXd3?%2g_!r||uIbF_{$ugJn=tK-5Du)u?Ph7sBmOLE=W=X_igOA5zf$4FkeU?d_t zwdFt?YLMAZZEb)S6@6u=Hu%>8|GU8dZt$-Q{`J7WKKM7NzOvKso-!zjtX8!#^kszW zR2MoKUZvo|ZoPga-Vy;NK!FC=OFW#LoO?ie9we9|ATR|lEr_{+1zB;3dI;nn{(8)C zA3&>8ZE)N$m;!vmK+VpEAHf$aRODi)0>0p&cP@qx!51~?j;rA}Dl7(3o#bYSqh!La z2k>A#Ts?Ba@D3$-hN=$tG#mz)Fz9MKZ^J?urc&K~!Z4c>D)Tqw2R|{@UH*pIOyC<9 zdI3xrpxfbwAL#%b-Y-C+6Uo^}HC5T!QI$NqGQXO~6 z(1(Qz3swafMYSSiI6=XU#Sr%l8z(asSuLJoIL}Cl1xgY!1bImB8t$ZE!jk=#fO8Vm zQvnRO6jKc8s}r&fAJD=jdsOiX(AfgRRL}w%(y7!EszwzWB5A=-GR+C)hPm8WvTM>` z7bh$hS8ZNlm@flLg3Qk_Y0{&H%77mrNQzSpz;k-c@E90VaM??IO3R8Dq6CQkAsmN< zRN3+3RIqhZ{FosZm6{p|{=%&)OYkgrK6qrL3=>;h+v|2p;0*Y4zm?#1B+68DcVsOM z)3pg6%BInb32L^l0``mAORpD37rwauKIk`aPhdaBg`4V14r}do#XbQ^w)1Dp{Cu{Z zr}*s1ds3NANdBT+Ew*jUw7s{3{~O~s+uKOQ$4IS=-D@A`89QpC3N)LnE*21yKIC65 zisIe%yhEswh58i5`H0BJb&Z4Q_z&Z8R%e{Tb2Nr%KC|^u2S&cmXo|Nn;yE$(jxzG> z=d%wUsz>dv8Wv@{2i3B)>G3%(9eShVO53)}?)U4aMb^x1(psKWE(Z=&tsSg6ckbM_ zfv`2hZDpctC0f*tKZCx}s_EISbu1E0Zf}bWf9=3j{rj0sZ?LWuM#hT-N_%s+wbEBnniL_syl$~uv2XLG3J>wzp}J;LI8FG# z_)GBZuV)@Kr7X;+&OfA_DM;7a72&ASGtH*h*xVsV{mp-gl7@Db5V01lH#JE)6zQo+ zF(A4!xO16pC7=KJQgLl+Qm)1juOsE#ZIlnTH8#|*X{9{UE>h&0oLLe%b6TF4J$$dd zp>b>5#UD3+tvOh_yML5d)PR7iM#kZI0&io>kKtT)k#0iypJL&)fl2TD9PXcl6EuIK z_b?o#qoMzupKYVKHhKfsHad0s0EHRhDi%GlHlMGj)r1w@)=Ow@<7%S|$+$HrGN=K^2%^sWBw(Ckoh1*%=iw;(k1 zot$Zy4VW0*zFX8Go@Mx@W}l(t<5DHUV(D)uzLi*uw7;9A4oN?EcSJ3I?wiEi1lO^)IMvSv{pXQg zR>{)c5n9JDl}dhErbC7Oj>%O?!WlA8qK=(ax3+rh*r74?C=|yc>6_PaNBN$>$^xNN zSD(#kr$9{C?n94_%JqcGc0DaQ^XX%UPHN8AaT&oZoY3eb!To7@dfIGK>szMGD|>b= z6lj!7ItY{(k+BPflDS*`zxW!s@m*`DymqnSKX=US>3oh|s z@4K(+;(v{LUfQhBv~!^wnvUU2+W%VlbH9iZfs$}IY`l!oQA1R?=R{xjO^U)?pZmY> z-?;Lv*)03pab*XGRfVF3Yc`iyziCD@HG0e?jPRsI9}=-;i*^$YL5_qlFrWX_ZQa); z{rc*ZsbNV;nRL}r_E7e#p9HR0i(N_caQ-qPT2(u{w1cDh#~0;%k;^rD7FC~xB^!}( z*Ue1{L;F_uP9@N-M)8R8iqBQ`=#0NPbNt~N%O4jk?J-js&ZmPZs=7OnEOL*v80&@) zoV$=@se4bPY0%s%%cbhBmPdNgwsXe5!hgzLBNAOI+f%uYvoYS~LS9n0C~m>Vn#3c1 z8!J6c@@=yBGopVN_+D;~_u9UrLzZDK{>3Z=gwVuFPAeLXdgON^>fEU`(>UBQXI82=Ci$fXrbq}lV5_>e6t*+ zLbc2=-MMnCQ-4k{NT<%9zt*n~LIE}jA5Bz|Gd@6VrSs`R0;PxKE7KFxnN13nbyASq z$7Nh8;i2>pnu}R+mY&vjNa2!TM~g!_zDaNZr_d*R=siZ^h_7gG^%R4Q;g`ojckJ63 z_4GU+@Q+?^9@fc2ntQYqz41o-?Cvl+tccgWo?|&St5~_W-uz2hK+hQc6T!1NnI6mz zhsry>vrjcV4fUBglP5@PuXuF$i~u4?gS}Q;?J+?#`S$4vzL>@M?|OXopRWfrWzgM8)&-I^e(k&{o zUF|D_YW%)Rjk{f9afy6k-L{=|%5FPFjPjYccY~8%X;!%czjqY8LA3f^v1V^b&Q0>Y zr2n11o0_oq4R3a@vb@35G^w(sz|*gNolb_HSFUMSl9MfpJ~+Owp!d-cH3u4lU$ypD zALLlhUp#FgT0X;OuU@IavAD0o{%vKyIdg`>cP0^)aB`Vy zPvCAD7uPIVb}n0{%8fshK1!zX{}iuCCj?3iVAN2^fh8>j?F+xM<{+ z_B80KPUS^{SH`oW$4)(3Zq8qMck+?Nhn&6;`R$3BN-xXH3=xVn#h35;Bkp+L#Z*yZ z_r~p_T`waZzrlnLfE-eAo}_FVDTE2qMXZ; z9%hPJdu7gC*qM|p-X-u+USYH?#YLvhEaQ#Ffk#p4-QNgrz4c`-Y8*Qpdcg^M<1MPl z#gFmS^(49T+nEoZ^?_6#GyN((wcp@Vr_-IXL*)l*cDPulG^7o-Fgb?0)t`y`*)lA` z%X6pkj!${N;|0BDsdv6?tGY_;fyFUTEPlFR)*Sg~q*XY>S-##XVlp%f9m_S6JsT4H z^WeDu57VVHuI7a78H=AzZIt#t7iK-i!J(tn1sX7k(*+4GqO3K>plY3p{ z^tR6#G?-pdnDeKI>uC7VS)!PNds*1~S~L2&ICbcum;D}*wuEDsGNOG$(u;RLK1}y` z_dffati9Q9sou49K3nNgtMu8En(Nwd4e>(u-2Uz=&T6_3w^<~55-8$iYr2zl#$RRD z31u&w_7(nE(Dmwk!Kbm@<;9u{MmAwBV@%TC?;H51`3^1dGk>03*e=u5*=Q#?;VyQy zRGm|}>L5es*loG7V#3Wzf}e26^C%AQj9YXaEQV6!{UZSxi?I!73VURwnbRflnVQU1 z2Sz2^R+fo_ z5^H@b;%SzX_Ctl}?CyJM{h^mD-4m>tFI#(5dA~8fo{9F%zk8doQuSV4ErwS@=cITV zd-SDCYx=i_qua+*7kt}ZIW4w)6)#G@>2^UM=l?6H3K(~~JykENdSeA}DxT*Irxmrmkd*v^#c<}%#bnG8t}*3K%QR{EFGD#f_` zFVF8Qt?W!~3NzqVQzu+5-HvlBeGof^_%M7@j{(_V(URR|5KzL+CpIkG8hOk11l^gT z^nU)PKl>7+rc^!7Ub^rxt6bT1a<`o8h0$48W9Fx=KgT(Ljm)2~n{b)r@Dz8*_O&@u z-*#0{hxblge{+R~*Keot%(-sg9s$-f+`_DhvnDEg;$HMny=Px!B524=`@Ec<4t!>k z@#30JL0p{M?O$l-?3i}CNBTh%Vb}xQw+pNF`?8%h*Z%0XkG+^O)fo|!*S6)kd_Fd< zBx324=+VgErK6c;tIwa_;ONZzD%;s*_o`TZxS;>D#~uz(3RypiD&r%0vEscE{y8W?qpfo!mNfTb;ox`^BD+P>}p2QO?fA4euqLz zDHL2**sUT~gP3$=YT^gwMf!I6OAhZf&@u~1I{w`V%E~=iwcjylZ7k>3YIV$uo3WSw zIKDsH7SFe5@q^rDolAJz#pV%j-OrhI7jiG|6FMX`jIvBRjAl!s9lJ#6I`Y%naLD^` zrGr)V!D>g{wyp^Iz&ecik3ogkreVTr4wyi-lCS&e&!+|GTruQbC{$qI^X#7aog+S{ zdnN7O9yPyy*vxsUAt5Cs`IP1{mX2Aq1f0LXE++l`hix6t$a(6#8{Rjm99^wwnx>s6 zJcFhAAwxglwYGimSCj5}0S$t@;txTGg?vh$x75M0M;`upU*jU1)vHndi~Yv+PKw^8 zZ)uW&Y=#<&gZ1+EpOfwhpL`IIBJ4L+&7HpV2+#1tgTM#U8%d?FzW7Qr5c)8Ccp|^7 zUPWIf?B#UW-KyKM8mJ~3`D^0*7cWWbvpc=8q?eYT*0eP1mL)(sbWR%ZHV*NH+dy z3y=HtbfWZGf9=Yga`5%^(ffn`;tJyvziBCNh_G_0a_vMfm9WUg-t^cuG--R?m+gUJ z<5+3TZO50w75=Nn_>y<2D>Ww5vnj-;x9A~Z zWkeHsh}p+6XSW}R%}#F>S5qtRd#4KM!@F__J@mb|cGWIv1>VpsHDy}hMG^?z)c5YZ zo-0aJ+F!(hed^S4%bvgf+F>kGdR_24f* zaR?=-3!eyck4&4({AkM8_p3rS4*T%r@A=|yyT2j!b%sCmqw=9O+P%ytllV@^G}$X? zU$#i$?9-MeQ*%v|Cuh#qxg1Gb%wHrp`cUaJ29Ge8r|Fm;m3{8}ijKFe?WiUd{^p#~ zk2sN&&dF|H$NX*$(K^1dP3l8>T2_oE%?$G;7oQXnpt` zghO!Kumu_e?)B_u`J)bu+5~y&oX#{9obOl1uq;w_dMjur6M7p4R!`K(SvMahB(nCZ zRP8-=W+J>itDDoro;qr1!RL{Sikaa!%OS+=pL)9!nCXhr9uHc(ylC|8P}sR*m|_8*ki{>e2|f9WwRutJ79{D??HIubA+O-*X=wPtK+En;648 z`pGL_PFofH@~~}Lh-wje`=U@aJ@1E;azZLE^|j4z{Ir$4Cdw33PV3;>j-tEQ-%{qr zk;zjaxoSdTq1`_uM|WeTQqS_kOZDE?oyzCURgFrK>_y`(M_nA+f;o9$GfBiQYk zf3PR_{i|EFduS+z*<&a|@ALHPvt`n5yNP$7lxr8E5DLusKIO$$B2^l}De-BlWTY

88f{*)wPn@+HU*gDe7=l#?mGGC#lbCdB%f;yga6&wDJa)*qPHj z1d?dOu*}U3@%_R{W_9KdZ*mrQooOn4SOS_I^ z6e}(~o>z7l*{rpe)){NH!de<}rp5Kr+k_f{aKS&!Uq6%&L<&9N)}Hn3QhJ~p>6$r9 z&Gy>3HpSLm1-JO|_l%qjRR^8-3^$b;;SM3o;si!QOzvcxT)N)vw7hnQhA;>9C-&O> z4w>D8?m_iS#jfFxE|~bm-^xqAdTx8cYub`u8iSYpbS`*_UOsFqigBMcIP|c{ol)X- z?)Et+H)jjQs^==&*6*cW{xEyN+_nE!D>X-8E&KiD{hvO3dmDGdFG)~4)i~sbr`enb zpF*3VaOYLC`G>E89`a8A&+gTXdXjd8r^aWCiXRU9z|MHe`(KWyi-=TFh-o}Ugv z?$gc~7T+-%B7Kl?w2NwGo|lE~r5Ed+^SVw>iCyBR$C>E7(@nT6Ke?Uv6ey4s7kL}m zG2^mO{@vU$MoWA){43i>4$bm>_w!V` z?<3%99Ii;7y~nO_P2KpKYwtrD`PP83up&?OuNq+oED;$D!wpB1>)H%Wt+q3t;`&vJ zI2wE2o~W$){&US}y4nX)vExrls_KVs?V9N>S7 z_vo4J61~^lxKrAm9m%}YTrYm6Qmg%9Q;LMBDS;tW^rtcBO-pxqS*ED-*R)g171VVG z_qCl)Pyc?f>2gX3wz!dZZoC8Nr$=@!oij(^FP%$KB(Dzh0_3=o_q5 z94vYMlaRQeKYF=rJjmjD%jwAip2;tE5*LHL^CuT&sp|yijgIWQm4N#+ zbS);!roN7np6N6;<{mBT>T~`2`i3X;X9+@qVkx`t6ZSF7jOO_@R*^Lh%Z5evfa#aJ^XUk&%X>VGuzk6Mnsw>C#R6Kx z{iEVi@nJN(jEvC+_X~ z_t!aGb?*yznq;`={D|sHTB{RhJF@oJ*j_y7NKA*g{QNTHY(2nM7+mUJb%x4q_UT17 z_Kv{%Y59ax3HHTRp?Kdn%@gBaZC+znpAD5Nx zdw<nxvs%DnkqZ-4hlcX?}T`%Z{i#+MTkX zp(=^_#M?F`e%-wEN^DO$MPI}Rqb}$9t0?nRci8w^s8qdhlkPR4oZl9uKVMd={L*=F zcZ}d_ph&i>S&}k6LE-WD{@?1Q5}MkNSPq^u4d=^u`pBGoPp_lxYCNjm;BLrt&0q)B zjO53=0Wu$v$sX|!fAf9e?>{B(oYA>9#C&r9tFeQjG~YSDs+2}8{l2C4=gThD&lf`@ zwLdB1Zc|tY9C+s356L=dJiQ+3C-zJ{s6gO{6~yq)bis|$RQW$%L8=+7Kf?W)9UwJ$D*e|=ENWaW87d4K9f z>PHaErC(#bKS`GVu8R8*ReZ_kpQAl}@%P!fXj9KPt?(RmdgC*`e^fhfC@c@LjMT_V zdHE{2llnz%?0#+6a{QU>euWn|PrYi1bcuS=Gw|%RbW^pZ)Hg1NVI{)LSC3x_;qO=5 zD#`f|9#!x5oH>DeuigIIK}4;=AN^~FPe&^&rLpi%B7H@hqo>%_*5>;ULXQkJsWhi2 zn$M**>e_tGD#L{4ov>pKir6y~+&-qX_)*&MEYGvy>Kiu}OU#X(C>JVpWQ^OBswOD! z8Q+u-Lg-EPq-8j|OZ>FHOc=@jk+ygGf=wB8+&4p681iI|cy)GvaMrd${jxW>NR@QK zf!{ZDvY%fU^0x}m_2r&McgP-Y*Ie|H$$uf#W_KvI{D2&Vrp#{sqK?@NqxVK1XOYY+ z!JkK#ZBuDa&^ZNJQG z4}220Bcy~pH{q_)I523ZE$NlO{rKkAWk zxZc8M=h5SrrsWUyhnIgFP(C32xt!(xrNB>nXzL2}GNgA8S3grY-y2~<*)9}#I_t|S zy0D&#ZI5w-P|aSn%kVox^p!t^k)EZ-lgvWJ-V%1_W-}j|>US;u{Ms4Q5YW+FzN!F1 z$er58Q9r96R2f3_t9p{_XdaC}(Vd@%t0~rs1XE+8r;J z1)@iOp-)ZM%9J6mg0zl+INe66@e#j_g&iyV%XFtN~95(U6|}L zp6-pjaM7XuO|l#hldnah#gN0V_;jVnRp1Y_vef?QdfB*brsMdF+#dc=&Wd+B-ZvMf z{ElR%zRSRrb2A6i6-6JbZ5Cb(HCSDw>ZU%F=N+<(`Rr&?R-VCAi+c?dBSOzvS-Fo= z_n!D_nB#L&;^B9joXfwMM;T7p)Dmng8we_!#) zpuDj6P`y%xuT7zhmGABNj{Y+zcD@~4*#0r~*(H7c%t7XoK;hOs_(opZmFYhT=LXv< zvure^8L%%Xdb(FM`lSLS2AmRdLIuLzcR+RvrGFGG{6zBRv6TAPv0}ZcujM%h2?N`H z+gjPPjC9Xg7=>bLFW%TgKgOQDOAY1zb~STW>5$a!(l&aJ62VWSQ3<6=GwOHK0-_!( zemSxneE#GZ`p1_Se5u-Ep&yELBqmJ8b=-0z%#oS$nAMjf{kM*X&(?TPV&!bkNohoO zS#7UsIdp#2idy!|A8?z|h|c(yHt$PV@gIH6*!lS9fpJSHJ>b$~j%jp02dAgc@+{Iq zRdrI%<^kL5e789Ve7Sq8bjGs#JC!>asoHPOI%lQ^dpQV0>QXW0=5H(|{n76q+;`=2 zlP}zZZD^8|*Ub}c5*f5`PPsc>r>ooegU088_UN^Fu9)3sm~mEcc9 zT^2Mc^(?tW+Wnv-W^ATs$E~X!cpB$xjs0zQ*;F)C3gvRB^r*JWgdVlaKYbUwzA&a3 zK7}}PvWuU}i%vX_7PbB4Ja9&|&uD_rfV=S4GlMS`45<4O_hebUle{`^3KXX6r1wQ@ z1w1r7)Qz}Stz;_m-0ypI#;oS8T;}718!2=hJ;ujB-co3eYOKU0w@cNRJB zxze3gMQqFg^DU|MRuxuiYgdD|BAe>^7cn`C%-gozTU4@7YR6 z+r7FZFRAmlOSX5P$g)Rs#VkuddDs;4LfV80 z88>cDU%<8AP`I8I`!avrB<<3zo0n0(rrdF;4Bzyz7{y&|kI{3ir7LSq`e{F)rlbTcj7C9AIa=Iw44D>@1zX!hOjj z^b@7>aE=ja z&Mmy+=QL{;a&)i61GQL8fb^q`oF}7}$Hc?Y{3p-edOG(x_IR87qYJT*XCi$axp@$J!SO_vy9p`d-}a1T5nW2;-M$o^{%fD7?~RkwTv6CoSoeFI$rr4{ba&f zQv@T9wtQuR@UlZqY~NWKOry<%>9@*Pw3?NC2t4hUsGKu}SW`rE&atc`{Mu3m<&kfU z0t6jh{h#8wg6m$ra&>07#mM{R#F?Udw{~V6iTe<}9b) zHeG)6wjnM75q_1U3hCADFs`5{`(Vr{P?+mpNUHh)Os{5;7niOwfHj;F$;Ip%B=!-^xAQ~HVikc<$oD7 zwEIARU&{xk+&q)PS4vIudVM(W#=@#(n{ny3GZ};-m5P>|Z;~hNG~N$XB{pfU*7l-v zqrc}|_|RP_oHUSg_|-Af)L>JF_>Qx@uIj(H>l@2g;B*ASBCfK&%>SJpWqr3kdZh5! zr9TP1`Ra^yb!9DIuPF!Zf^0O$rmRFwmh5z&T^$tZ6^` zoz?SEGQl-RVo8H`&(BpCPxs7EN;X8lQCH;at;qQu$fvsE z^(^wCjo#qbeHWr)v8U%A1_;gg?HM|HxBb!|-+o=snNEF42iE=d+9Q3?m9WUJ1FCn8 zBNeRn94)-3tiaEu$Q{<1rita~ew57-Z0xCpigAMvOczdJk&vmfm7KT?(TZu*%vy2kgJ*~_6InQkVWIi=gw!hVqtpNoB@WEWfG zAAHT!rJE`j?tQyRJ?s~1^W~ycvB`WhOVc;^D|^<=4+rm%9d4I>?Twgqp*e9b+byzn zW@^P&zsQGB$y6+(Eyi@9QGTMq|8|c_o{P0b$5Q@D9M(jpD9NV8bAzl$YeLCrj$}a8H zhTq#2zUSZW-E}(WQVPO=kZSjg?Q)~HF3KXvT>RnZLuxI%PrZxGuYNkx6aUq3;Q7u+ z)!$>Ug_^gG5XScic@*ken|wQb=JV%WKAyG`2G?f$U*25w-w(}FpK?C6@6!HYTz8C1 zqJ{R?(-M6}KefIRqMD~Kj-ONxqOc!fz8$CDMpva!-N5E5a&@Ib&|}{Uv(p*D`V$?9 zsOgOOxZ`ONicB zx?%e>{yX}Vs#uu5q+LV9`L|b{*?Whh!$x?S-YzEECLm)Zs;=jY1kiI`&v4hf5kN&N zd(YF!;dS%Mi?MMiyyb&AtGs|j!3g@oq3EdaA4O5ZPpiXhLlzI&y3agUlr}mO7bg!< zaLSs4cz< zy>qv>_6~h%M|V_zxl`bIkN$%twL|L13eVJ?#m>w);kD8keprPbL!FaQVC5O{QCYf@ z?Qb(25OsdMTS~MUx&OY`ggL7IdTl!Iuh>2fmIR|R+%aq+;eJqh`}I3AIi^*nfg~YP~D_%#+THJJx*Y`_Jxc6S4Fg**WjY66 zFrr|&Z8H7n_i6smgi~KE1M7{?wUk>mRXcZo!@SF&otcFxVapKEO3`nLL85P^j^^EmwZK3e% zcwUGx9;8E4RKuTwZmQwUAS*V!FvP5m_oW0zdI1l$gkftyhU#2(yq+YmC7#<3LWILO zs`(u7BEZU!7+!6Y$uJI6ZRUtS1>5zJ?E^nw#V^xgaU`2Y>+is_y}v|Ws9H1u-%9~S zuxW8ZC5d=ZNIDU}lV~bvm57(w35+IT8%RcF1FvJ=$KAbLfgLH)&U}MKBW%g(1L2WS z52y+gY?+7`kx*e&wsAl1@8%~8%q{;n4(RC*c@el(F`EBaA;pEokz;Bby8HV1>$y4k zilQN>L_Dt)$-49ZPYep;XkPD%OcGv*XwzwwgqNWMmZU^;&LSEGVxyu^RT3VUzv5J& zsU*BC=qlMH`~TBb6qel8<2Ue1MAjzVz{~OjOVt0PhdUS*_@NL8FAecP_#J>4RmdV4 zzhgTV`IkMU6mpQGHmRsC;64Isg77ljzzmj%_pdc462wg>@>&^S0R>SoI#3Wp;@RJV zC=kS)Sgy8R0gKEF8Ik2Z~R_bDCp; zUjb1ROx=(Bi5>>tkYL;|5B)>y&6D7W@mh2#|>szS7N-Xp3)nhT;TSQ23%x&o0v6=Imk zO??Kr2Z(*%iV{P1KEjYwB49vVLb$IO65B-AGb~_8RBvP>223@WjsKt|j|fN+Kte@k z8-`3B26+4sn;@}q6G}CZzmPOCq*<;^8tnBrhU;MkfTs!(1@IRkeWFMs1^gf2-;g7m zBQZS{&nb&yRJL;Rb@uWX#S()`g4s(#349nxRnf#McF@&FKqbL-AkPdu6Oaw^oFa=G z2{Vul5`R!+=Png8oSfT16flKIfp8<40!7sg6l_9Cb}Rwb=fufF5&-W8EfENjiD%pi z6d0LOGT+D@*vK!eDgtuK#4E8AgFAq}>3N?9T?OtLwYTu-oa~9!E~@>;rT#0 zA~zY8iON$HNpf*xR5o++BO!6Ph3A7V-oY!fl4moCG@!fz9*92+Z;abaHMtnEz4gXP z$Voy@#;pcok=_QV!?Wl%7t&m5sFdL79#&Yq@IFcPcBk3tIi2`6Li3ZZdBh#=hF{DAjKuhZwpi{YEdDYDU z2;XJng`lh){4VHQ4n7VzSrKya{FK0@fJl8=F5WBy=kq&sVK* z53fjRu$fUChl`kK;XfitlZA|8oqiILz%A)k9$w|Iq!2j(`rV)<1a;)&w-b=EqAF@6 znU~q^;p%PX?&XYBLcvhtP>XJWqG2d$Ms9$rz)+H6+5iRaeJW%}$qi5}3?W`^v#U6mS8F@5T#2ZUuPY>7t5;b`^qOw+iqy zili93dqn?M03F5>gX(Mqg8l+WFz96g9s}~u^b`Ui6D!2;pakv@rImPY0;x46P;9;b zWCD}`PmuqibN2^SBGk}oDu66f09&{fB3K3N8c;B|ktDrG24hf26%24uM3Y3ATv`RC zibEg(XGsxypuR#p3i{jxJhw~>@eBkQA*h8@RRIXm#85ly?O;GW7?8CUv_sC3Luv;D zmMq|j2!ly#m;}ZG7eL@B34=FMg+n4#k)UU2@+wLytb5w&xU-+0If4cz3@jv_cpjPm z$k#h@TW1wiw|Qb7>1e66~JZF3_yc;vaDvJx;qkr?PkDPF>qoU@ih z-Z3|4F9Z-d6>?r%GSt(<357tYnL7J{MU6fuX& z`WSk7cse_I`MI7tebm{*)fv!)LBmb*KzFPZxOqrKZ!HAfdJLAY&<;F3Bvy^*r$U2G zs#Y~#SQtf8y5tV|pFZgvhyx=|icGWz>fzEB0wPG33TL0wPX6xRUP>q>;6e+RB5Mp6 zch}Rt&HxMpkwkL1A?a#77mLh>M|Mz1Ggy+-9^g3$NZ=5QA-W-ge*G;2>SIW&=SC=y zObmIM{#zCR(d50&Umz^;L?5<|Si!_ZlT-s)2l@N$5Iy|25=_hAUn;UtX)j0&0D#l8OOVph$-+QF2AlV=(iHn;bF(bQiU*iAlBKzLMR_$z|Y~iiYazfPf4= z#PdU6nt`HNsl&54BH@_|9FXC?8@Vt%^rUUoIt1jG%89j(7!B}%*y$VkhX%dDZ0a8x z?hR=jUvCTU&8D$NgQ3BwAxS(9dj#e%Rt*O?$ZrpKW|I`4L1(b*Qc4^V&?IVoX(0hX zXGm_=>x9Cq63G$zKL{8aa3JKU$AeQp$kq)@svW$jVAm%u2^Bz&B_Ci&tOMOat?N)? z5zreH=}1fNALtB-gSLSwpbsc;mW3ro0B(YWNOki%p$7SMkc5ba26PdOwnYP8fI<|? zYrw1Wu4@QC=VN3gMPw@xCp#!Ev+)5`x(Md@$`d>TRM3EDPzDr|Qg8h&MpSX@s&~CE z$Po{gdEoQii04vT-YMO%uxmNo0;zEfyoAH;5x0h5g@N%x z4v+D)lwe|$%fW&Synczlh`JwxK@gjS5z=yQZW1nF2Pw>h6#%fEivbCuJb?OO2TZOH zlMFfl|I!2zA>dzR3E4o4VWE(C5RS0H!a)@I3K}aViAya z4Q@(`h+|Vr{|+!vNl)-%w4irru=^#V08)wu+fw3pARTBBF_QQl*2N$r1MxeU9%zuS zjiMFLO9@=Ki=NNz`_#Bsi{hAnRHCvOp_`RHTkMy6E&*vK3xS22Rw>AL=yga4vDY>d4UC& z9^`s}i=!ctr+7ZW|HU#jqGTh86hUkA>NG-_^)-1T;UKao5OSax7}~(?Y&noxDI#vT z@pa_^q!*qy8}88H7@8g62vX99XM$AQ@Df1(S+@fZHGO%O~jU{hn;Vl*M7yxg;_mP$na9Y{K!A)^e z$mq%23oQ9)3^orWipa-bu-KA+lNKo!c=Pn%A_Wz5{w0)j+!X~!G-3^))XATuzT?PI zf^Y~G;?m?mT$(m0=YN#Ora+%0a&hFjj3X~LIIhv_&T2%drUJ@>I9OC* zu%KBkZGKu3BB+~9dna_g8?Pk0br|6euMeZXv!B18D2{YH2Z``#i$IJ$cs9xZF4Zhg z`@_d@a5=wzMP=dS34Y>0Bp9t8a2ZUF|MK@j83(Q^0(RrNRPq(^Pk#CuuIA9g$V!n%1wIq($) zq~>2397SbAIT#;$OB+OdC?waWf-piP0t1~K!iy8sfSTDdws0kI5c;PMknw+DAXwNY z7$D-GxyusOm4+CFYZGZuM zIJLj{2o}IhXW__|F1FubLL;F)!=*44V3{x zHN+OB10zJhn}`kNz*iLD_Es2BIe*(Akk>slxETDWAW+hqVc?z^0q>1BH-bjM$(%RB zz+$Dgg$qFBRlsfXrgDI20tlJ6xnTeV;RQDfAy8M~q`z4oz%a~KZUGqaWgDiU0(ZEXbH zylv$S=r6oE-b@UN_%eJ83<$$N<%q9biTwYM{i>*c$6Xby%>S?zT*&^@6L3lY4}tKS zwzXk!%eb+_#Far6M~tbtnQ9zykG>hEii2OiZ-jw0Qw@%Zw;2ZP7B)5l9)cYUcyq9& z91^WUfN$tFRYroBCR=0yOdZtLX$N4){{aKX_pSIa#ADEgHo#63>_$jL|J@m(kl>yD zmT>}&fS{b45WNM^SBrQQQ4Kdfn8E; zsDz>7{mh(ol~1CWD<3k|SaPyufjJluarzq~pPOs2MZ%r2n`9dpMT0gUJMn4Z5&dOu zM5ayQ2@}!;VfORAI5|q-k#_mRIMp^S_gtziBJSW17(uV4Z&|ne+)FuxW#iH`*foLv zS=}+=HuuGBw22=1U^mzQ=g zu{Ls{nC~*}$*7jyVQpkZg2=}b8{XO%bJBFMHc!Fs((!3S@V zY6}eJm=Lax(&z9SHX3-jn1s4HCTPsfUEa&_^MuOsnP#zM9q z6W642aL?e;3R(wa)4aQFA^9pUKv=E}^Wi*HE`S-`A^3Bx_hBJ6{$Alw%rn@3? z*kDxG1lwP*Z5A3bVzTI2wPgVqK}wx)A_q14xz39Q<{K6~%u@|_Sv8)d7XzxCd;Eyi zX|jQ3)60Cfs&0|~3w^Y&w`qjCS`V01G9!~P#`WeDHo-AxyI-lX;L&iJJP zFPf5JiY@0IU#KzZdO`!MeUh2b&+crU!a@=vnvnZ0CnAepHjgsUtDm;^m|`=(4l zfMmETVa^VTYcNNh$zt0z14ihgvA`Z`p8Y=*O%NSA0HZ0adiBI3tFz7%PMsZ6}bgAx}Tos6b%I|4NGU(Ov+aIc<>NH?U=DIN~?iKT)a0)r~R***${4Qh4AS3 zKQ9Jh<@VGCl47Fuw8G|zqW6RD;s0@!I8L2Au+6F!!X(i=A%;lW5xk4pA6RAo%MM`< zv=OF9P|^w>Cd-7$TuU(LWo?S)#_8E?Bba0jtN)j>)kVHuU|i5j7}zXlg9;VqP8(rs z9G}MG;yi=%hyOS6FoM@Q6_MYXVBLbvCJE~S&)Fe zu@k!DbR^)R=qnLmsK*LJ(s95I<0{Jk%atJPH6p4(*N$SK3VOIWs9SRe*e0(!g~ahA zA@>bG{6EggF&pR3A!~OGc3v$L#*@u_Pg?@adDr04BP%@o?@9iA5J&I)X~Ot=7rEcj z3wUvLLSUnR@HCeB7UJlNmy}_SF82SlYBB;1amBUv;B}Ty2$6L(BWgb4IE`KKR9@%1 z`+p4He8pIy>u}+W{r(W%Y$?NqL&F{BJ+8aGW&A%veVqyVd%P(+?}Q0A>-3~-eItO8 z!}N~HAHVK6=|@66I+Mfc@c&pLb;72rnXsAOjgzwlWPwdd<=Uxg31Mo$ryCaf0lM4~ z7)f*Qgj14bqq0G&q~eilYR(HVC!nYXQ0`~~hwCUKk;Po>ro$PBUBSahx5aGAiiGf^ zh{XO6_5*YkDTrM#i8IeGbU3(R*_1m3h7d}&5Sj4`i7|J&(8sD_bG&NmMHWnAa`;+z zM=7DEiF2HZwq+yO$ZUI%4ev^?WyjpmN+d7~5-^%?DjsQr@znCUI~D_MG|r!42oVnv z#@JW?Z=K2Sm@uJ*gN6<9utQ0H(nTLOLRP&AD~@{MApReSljF0%98Ljiz8)}qi^_$- z`i($!Nwb3Yakc*kaItU!TT9RonE}?ER&ox$Ik5Wbm~zFEA7$02|HnD;i{W)Az%Z5_ zW>Ame#)anbGU0fvb-qr(#%npl zEQH|USyUQ(fVNm@{_$SFOo%VY`&dNg`mNbU=^kfSkSYJAR~ zu)tHF&11eD`)MZvBIH0sgv-=~D;;8u3uK49n3Ymen~xwG*x>(R0U=CZzX@Z+q?YNc zTJx@^99`5$hmB|F!aK{+-Tx!ugHrN@RAAm9+ z^BY{?WzODMgR9bxguG)_J|RM)%Zni?(qRtEb0hFZ?_&@Dj|oYyRckkMZ`@xMJR6uS z=A(4Q7~2Jo8b#gQo(Yi=?<6k+Dh!Q2e)jUrRu<@#N(j@9>9H_DoWAj~71w_mjAJ2L z05-nMb0$oB2XD_r2*$J#zP>`8(|F7H0MVH5;r~IH;&Ek7V7MC|OsMV&@%|2f{-MmM z>2f2yK)wkhS8v|YJXD!Q1YjqE!Loet8J9*lSuQV-D5B9Im|}CWKd<+bxM{pGtuSWv z0^=u|NNUlRnT1AEFPiY+HGp}vJ0mjKoyrA%?)$~p4w&P;nKoZ19$6gSuv#=SGd>}7 z-rUEX+_&Pr+)sQOEr!-w#RuTg=+KDJ4kVe$_Z-Zbbk-&a8T>zl1|Vcin8x7_BT5w> z6+_Dc-DTr(d)YA=-jh8T{vU_VE%8pMWys}3@%~YF+IIfJ_KDCtMqi? zpH*<^vl`T1+g+;%fk#cJ5$XB^JR)Rs3!T!A