A complete tutorial to learn how to develop with ERP5 ('jp jp',) ERP5 Developer Tutorial (in French) text/html GFDL None Kevin en None 2005-04-07 07:58:12 2005-04-07 07:57:52 () 0 Tut o r i e l N e x e d i ERP5

Dveloppez votre propre Dveloppez ERP grce aux Business Templates ERP5



page 1/64


Tut o r i e l N e x e d i ERP5





page 2/64


Tut o r i e l N e x e d i ERP5

Sommaire
1. Introduction.............................................................................4 2. ERP5: un ERP pour tous............................................................5
2.1. ERP5 sans installation.......................................... .................................5 2.2. Installer un systme ERP5....................................................................5 2.3. Etendre ERP5 avec les Business Templates........................................10

3. Crons notre propre Business Template !.................................16
3.1. Conception de la structure de donnes..............................................16 3.2. Le variantage par catgories..............................................................20 3.3. Intgrons notre structure de donnes dans ERP5...............................21 3.4. Web Dveloppement rapide avec portal_classes................................22 3.5. Structure d'une classe Document dans ERP5......................................24 3.6. Crer un Module dans EPR5................................. ...............................27 3.7. Intgrer les classes, donnes, menus et prsentation : l'outil portal_types............................................................ ...................................29 3.8. L'interface utilisateur avec ERP5Form........................................ .........30 3.9. Les scripts python de calcul....................................... .........................43 3.10. Le reporting..................................... .................................................50 3.11. La cration du business template.....................................................60 3.12. Le point sur la catalogage................................................ .................62

4. Conclusion..............................................................................63 5. TODO.....................................................................................64

page 3/64


Tut o r i e l N e x e d i ERP5

1. Introduction
Cet article est destin aux dveloppeurs qui veulent s'approprier ERP5 et ses mcanismes pour en faire un outil de gestion d'entreprise qui rpond exactement leurs besoins. Avec ERP5, ce n'est plus l'entreprise qui se conforme la logique ERP, c'est l'ERP qui s'adapte la culture de l'entreprise, ses mthodes et ses habitudes de travail. ERP5 dispose sous forme de framework de tous les outils ncessaires pour atteindre cet objectif. Cela passe la plupart du temps par la ralisation ou la modification d'un module de l'ERP sous la forme d'un paquetage fonctionnel ou mtier appel "Business Template". Cet article vous apprendra installer rapidement une plate-forme ERP5 grce aux Business Template avant de vous accompagner dans la ralisation d'un module simple de gestion de feuilles de paie. Cette seconde partie de l'article sera l'occasion idale d'aborder toutes les techniques de conception au sein d'ERP5 pour que vous puissiez par la suite crer vos propres Business Template de faon autonome.

Support Commercial ERP5 ERP5 est un ERP libre en licence GPL dvelopp et dit par la socit Nexedi. Nexedi coordonne un rseau de partenaires certifis pour le dploiement de solutions ERP5 en entreprise. Nexedi et ses partenaires assurent travers leurs quipes d'ingnieurs et leurs consultants l'assistance, la formation et le transfert des comptences ncessaires la matrise d'ERP5 sur le terrain. http://www.erp5.org/sections/documentation/evangelism/enterprise/ Tel. +33 662 05 76 14 Mel. info@nexedi.com

page 4/64


Tut o r i e l N e x e d i ERP5

2. ERP5: un ERP pour tous
2.1. ERP5 sans installation
Si vous souhaitez utiliser ERP5 srieusement et sans perdre du temps dans des problmatiques d'installation sans valeur ajoute, nous vous recommandons d'utiliser le LiveCD d'ERP5 (et d'y contribuer). Le LiveCD ERP5 a t conu comme un outil de dveloppement et de production, et pas seulement comme un dmonstrateur. Il peut tre tlcharg sur: http://livecd.erp5.org. Son principe est simple :



















On inserre un CD dans un PC standard, on appuye sur dmarrer puis, aprs quelques minutes, on installe des Business Template que l'on peut utiliser, paramtrer et tendre.

2.2. Installer un systme ERP5
Si l'usage d'un LiveCD ne vous convient pas, il est cependant possible d'installer ERP5 de faon traditionnelle. Il faut compter entre quelques dizaines de minutes (si vous utilisez une distribution comme Mandrakelinux pour laquelle tous les paquetages et leurs dpendances ont t crs) et quelques jours (si vous utilisez une distribution sans paquetages ERP5).

page 5/64


Tut o r i e l N e x e d i ERP5

Pour fonctionner, ERP5 a besoin du serveur d'applications Zope sur lequel il se fonde et ainsi qu'un nombre consquent de produits Zope. Nous avons aussi besoin d'installer MySQL-max (une version de la plus populaire des bases de donnes libres qui supporte les transactions). MySQL-max est utilis par le moteur de recherche de Zope via le produit ZSQLcatalog. Pour un systme complet, il nous faut donc :


un serveur Zope (et toutes ses dpendances li Python) comportant les optimisations dveloppes par Nexedi en matire de mta-programmation1 les produits Zope BTreeFolder, Base18, CMF, CMFActivity, CMFCategory, CMFMailIn, CMFPhoto, CMFReportTool, ERP5, ERP5Catalog, ERP5Compatibility, ERP5Form, ERP5SyncML, ERP5Type, ExtFile, Formulator, Localizer, Photo, TranslationService, ZMailIn, ZMySQLDA et ZSQLCatalog.
MySQL-max





Pour mener bien cette mission, il faudra compter sur les paquetages de votre distribution Linux. Vous pouvez aussi partir des sources et installer Zope par un traditionnel ./configure, make, make install. Quand aux produits Zope, ils sont trs faciles et rapide installer puisqu'il s'agit en fait d'archives dcompresser dans le rpertoire Products de Zope (gnralement /var/lib/zope/Products ou / usr/lib/zope/lib/python/Products) et de quelques extensions (zsqlbrain.py et InventoryBrain.py) ajouter dans le rpertoire Extensions de Zope (gnralement /var/lib/zope/Extensions ou /usr/lib/zope/lib/python/Extensions). Vous trouverez sans trop de difficults des didacticiels et de la documentation sur le net pour l'installation et la configuration globale de Zope. Les heureux utilisateurs de Mandrake peuvent se contenter d'un simple urpmi ERP5 mysql-max, aprs avoir ajout les sources main, contrib et nexedi2 leur gestionnaire de paquetages. Notons que l'ensemble des manipulations dcrites dans cet article ont t ralises sur une Mandrake 10.0 et devraient tre quivalentes avec une Mandrake 10.1. Une fois l'installation le des paquetages termine, utilisons la console d'administration de Zope, zopectl, pour changer le mot de passe par dfaut de l'administrateur (le login par dfaut tant admin). L'ajout d'un utilisateur ne peut se faire que si le serveur Zope est arrt. Il se peut trs bien que la procdure d'installation ait dmarr le serveur, nous l' arrterons donc avant la manipulation. Ensuite seulement nous pourrons dmarrer MySQL-max et Zope :
[root@localhost /]# /etc/init.d/zope stop Arrt de zope : . daemon process stopped

1 Le code source de ces optimisations est tlchargeable l'URL http://www.nexedi.org/static/Mandrake/10.1/SRPMS/zope2.7.2rc1 1nxd.src.rpm 2 http://www.nexedi.org/static/Mandrake/10.1/RPMS ou http://www.nexedi.org/static/Mandrake/10.0/RPMS page 6/64


Tut o r i e l N e x e d i ERP5

[root@localhost /]# zopectl program: /usr/bin/runzope daemon manager not running zopectl> help adduser adduser <name> <password> -- add a Zope management user zopectl> adduser admin admin [root@localhost /]# /etc/init.d/mysql-max start Lancement du serveur MySQL [root@localhost /]# zopectl program: /usr/bin/runzope daemon manager not running zopectl> start daemon process started, pid=7944 [ OK ]

Il nous reste plus qu' vrifier le fonctionnement de Zope en accdant la ZMI, l'interface web de gestion de Zope, o l'on s'identifiera avec le mot de passe de l'utilisateur admin que l'on vient d'ajouter :
http://localhost:9080/manage

Illustration 1: L'accs la Z MI ncessite une authentification

page 7/64


Tut o r i e l N e x e d i ERP5

Illustration 2: ZMI, l'interface web de gestion de Zope

Le serveur Zope tant dsormais oprationnel et accessible, nous allons crer une instance d'ERP5 en slectionnant le type ERP5 Site dans la liste droulante en haut droite :

Une page de proprits est affiche dans la ZMI et nous la remplirons comme sur la capture d'cran :
page 8/64


Tut o r i e l N e x e d i ERP5

La validation de ce formulaire conduit cet cran en cas de succs :

Mais il est frquent de voir apparatre l'erreur suivante ce moment prcis :
Site Error An error was encountered while publishing this resource. Error Type: DatabaseError Error Value: z0_catalog_object is not connected to a database

Cette erreur signifie simplement que le serveur MySQL-max n'est pas dmarr. Un redmarrage de ce dernier suffit pour que tout rentre dans l'ordre. On peut maintenant se rendre sur la page de garde d'ERP5 via l'url :
page 9/64


Tut o r i e l N e x e d i ERP5

http://localhost:9080/erp5/

ERP5 est maintenant oprationnel sur votre machine et se suffit lui mme pour commencer l'initiation. Je conseillerais cependant aux plus courageux de mettre jour ERP5 depuis le CVS d'ERP53, pour pouvoir profiter des dernires volutions et corrections de bugs. Mise en garde : bien que ERP5 soit maintenant install et utilisable sur votre machine ou sur votre serveur, il n'est pas conseill de l'utiliser "tel quel" en production. Une configuration fine (cluster, systme d'activit, etc.) est en effet ncessaire pour obtenir des performances leves et une rflexion sur la politique de scurit des donnes est indispensable pour protger des donnes vitales pour l'entreprise.

2.3. Etendre ERP5 avec les Business Templates
Les Business Templates sont ERP5 ce que les systmes de paquetages (rpm, apt) sont aux distributions Linux. Les RPM ont pour but de simplifier l'installation de logiciels au sein d'un systme. Les Business Templates ont le mme rle en prenant en charge l'installation propre et automatise de l'ensemble d'un module d'ERP5. D'un point de vue de l'utilisateur, installer un Business Template c'est ajouter une fonctionnalit majeure l'ERP, en largissant ses capacits de gestion d'entreprise. Il existe actuellement huit Business Templates, chacun tant ddi un aspect de la gestion d'entreprise:


Trade : gestion commerciale (achats et ventes, commandes, bons de livraison, facturations, gestion des stocks) PDM (Product Data Management) : gestion des donnes produit (dfinition des produits, variantes, catgorisation, nomenclatures, gamme opratoire, catalogue multimdia) MRP (Manufacturing Ressources Planning) : organisation et gestion de production (ordres de fabrication, planning de production) CRM (Customer Relationship Management) : gestion des relations clientles (base de donnes des organisation et des personnes, opportunits commerciales) Accounting : comptabilit (livre de comptes, rapports financiers)









3 http://cvs.erp5.org voir galement le script update_cvs.sh dans /var/lib/zope/ qui permet d'automatiser les mises jour page 10/64


Tut o r i e l N e x e d i ERP5


HR (Human Resources) : gestion des ressources humaines (livre de paie, gestion de carrires) eCommerce : commerce lectronique (magasin de vente en ligne, affiliations) CMS (Content Management System) : gestion de contenu web (via NuxeoCPS4)



Certains de ces Business Template ont atteint un premier stade de maturit (ex. Accounting permet aujourd'hui de clturer un exercice comptable). Les autres sont encore en cours d'intgration. En effet, bien que ERP5 soit utilis aujourd'hui en production sur des sites importants avec une couverture fonctionnelle complte (ex. nomenclatures, gestion de production, calcul des besoins, gestion de stock, facturation, etc.), les clients d'ERP5 ne souhaitent pas pour la plupart financer le surcot de l'intgration sous forme de Business Template gnrique du travail spcifique qui a t effectu pour adapter le framework ERP5 leurs propres besoins. Le travail d'intgration des Business Template est donc effectu par Nexedi de faon bnvole. Voil pourquoi toutes les fonctionnalits du framework ERP5 ne sont pas encore couvertes par les Business Template disponibles en tlchargement. L'un des premier module conu qui utilise le systme de Business Templates est le module de gestion de feuille de paie. Ce module permet de grer un livre de paie et de crer des bulletins de salaire. C'est ce module qui nous servira de support tout au long de l'article. Nous allons maintenant dtailler le processus d'installation de ce Business Template. Ce processus ncessite de disposer un compte avec les droits Manager. Tout convient d'accder avec votre navigateur au module portal_templates en tapant une URL telle que http://localhost/erp5/portal_templates ou http://localhost:9480/erp5/portal_templates en fonction de votre configuration. Vous pourrez alors accder la liste des Business Template : d'abord, il

4 http://www.cpsproject.org/ page 11/64


Tut o r i e l N e x e d i ERP5

A titre de comparaison, un systme ERP5 plus complet comporte de nombreux Business Templates :

Notre objectif est donc de passer d'une liste pratiquement vide de Business Template une liste plus complte. Pour atteindre cet objectif, il suffit de cliquer sur le bouton "Import/Export" dans la deuxime barre de boutons partir du haut de la page ERP5. Ce bouton ressemble ceci :

Aprs avoir cliqu dessus, vous arrivez sur le dialogue d'import de Business Template :
page 12/64


Tut o r i e l N e x e d i ERP5

Utilisez alors le menu "Exchange Select" pour passer du dialogue "Import Business Template" "Download Business Template" :

Il vous reste alors saisir dans les deux champs, d'une part un identifiant du Business Template (ex. erp5_accounting) puis l'URL de ce Business Template (ex.
http://cvs.erp5.org/cgibin/viewcvs.cgi/*checkout*/erp5_bt5/erp5_trade.bt5?rev=HEAD&content-type=text/plain)

et cliquer sur "Download Business Template". Le tlchargement sera effectu automatiquement ( condition d'avoir accs Internet) et, en cas de succs, vous verrez apparatre un message "Business Template Downloaded Successfully". Vous pouvez alors cliquer sur le Business Template que vous venez de tlcharger. Vous verrez alors un formulaire de dfinition :

page 13/64


Tut o r i e l N e x e d i ERP5

Pour procder l'installation, allez dans le menu "Action" et appelez "Install Business Template"

Vous venez d'installer le Business Template de comptabilit d'ERP5. Ce module est indispensable pour le Business Template de paye. Continuons maintenant avec la paye. Le principe est le mme, il faut juste importer un Business Template diffrent en lui donnant comme id erp5_payroll et comme URL de tlchargement http://cvs.erp5.org/cgibin/viewcvs.cgi/*checkout*/erp5_payroll/erp5_trade.bt5?rev=HEAD&contenttype=text/plain

Voici un exemple de feuille de paie gnr par ce Business Template :

page 14/64


Tut o r i e l N e x e d i ERP5

Illustration 3: Une feuille de paie gnre par ERP5

Pour crer cette feuille de paie, nous nous sommes bass sur un document disponible sur le site communautaire erp5.org (http://www.erp5.org/workspaces/project/erp5_payroll/erp5_pay_sheet_for_n). Ce document en anglais destin aux dbutants explique la procdure suivre pour arriver ses fins. Il vous aidera dans l'utilisation du module de feuille de paie. Maintenant que nous connaissons le principe des Business Template d'un point de vue utilisateur, nous pouvons entamer le coeur de cet article : la cration d'un Business Template.

page 15/64


Tut o r i e l N e x e d i ERP5

3. Crons notre propre Business Template !
L'objectif de la seconde partie de cet article est d'offrir une vue d'ensemble de la plate-forme de dveloppement ERP5 des dveloppeurs. Dans ce but nous allons reconstruire dans les grandes lignes le module de feuilles de paie. Cela nous donnera l'occasion de dmontrer la convivialit et la puissance d'ERP5 pour la cration rapide de modules fonctionnels, mais galement d'approcher les technologies et les concepts qui sont la base d'ERP5.

3.1. Conception de la structure de donnes
Les objets ERP5 drivent tous de 5 classes fondamentales :

Ce modle thorique d'EPR5 dj fait l'objet d'une publication scientifique5 qu'il sera intressant de consulter pour comprendre les motivations qui se cachent derrire chacun des concepts cl d'ERP5. Nous retiendrons de ce document la description des 5 classes fondamentales :


Ressource

Le type Resource dcrit une ressource abstraite d'un processus mtier comme les comptences d'une personne, une devise, une matire premire, ou un produit.
Node



Les objets de type Node peuvent envoyer ou recevoir des ressources. Un noeud peut reprsenter une entit physique (telle une machine de production, qui reoit des matires premires, les transforment et les

5 http://www.computer.org/itpro/cover_stories/smets.htm page 16/64


Tut o r i e l N e x e d i ERP5

envoient) ou une entit abstraite (tel un compte en banque qui reoit des sommes d'argents). Les stocks sont reprsents par des noeuds. Des mtanoeud (MetaNode) sont des noeuds qui contiennent d'autres noeuds. C'est le cas par exemple d'une entreprise.


Movement

Cette classe dcrit le mouvement de ressources entre deux noeuds un moment donn, pour un temps donn. Par exemple un mouvement peut dcrire l'envoi de matire premires d'un stock vers un atelier; un mouvement peut aussi reprsenter l'envoi d'argent depuis un compte vers un autre.
Path



Un chemin dcrit le moyen pour un noeud d'accder une ressource dont il a besoin. Des prix et des profils commerciaux peuvent tre attachs un chemin pour dfinir par exemple le prix par dfaut d'une ressource fournit un fabricant. Un chemin peut aussi dfinir la manire dont un atelier obtient ses ressources du stock. Un chemin possde des attributs de date de dbut et de fin, et peut reprsenter l'affectation d'un individu une mission temporaire.
Item



Un item est une instance physique d'une quantit de ressource. Un mouvement peut se dtailler en une srie de mouvements traable via des items. Les Items dfinissent aussi la manire dont les ressources sont livres (selon un colis entier ou en listant les numros de srie des items dans chaque conteneur).

En analysant une feuille de paie franaise classique, nous avons choisis de crer 4 types d'objets :


PaySheetTransaction PaySheetTransactionLine PaySheetLine PaySheetCell

Voici un diagramme de classes qui donne la hirarchie et les hritages permettant de relier les classes de bases d'ERP5 avec nos 4 nouveaux types d'objets :

page 17/64


Tut o r i e l N e x e d i ERP5

Folder

XMLObject

Movement

Delivery

DeliveryLine

DeliveryCell

Accounting Transaction

Invoice

Accounting Transaction Line

InvoiceLine

InvoiceCell

PaySheet Transaction

1

0..* Transaction
Line

PaySheet

0..*

PaySheet Line

1

0..*

PaySheet Cell

La structure de donnes des feuilles de paie est calque sur le modle de facturation (Invoice). Ce dernier est dcrit par 3 classes : Invoice, InvoiceLine et InvoiceCell. Ces trois classes permettent de dtailler une facture (Invoice) en lignes de facturation via InvoiceLine (une ligne de facture par produit factur), elles mmes dcomposables selon des variantes du mme produit factur. Ainsi les InvoiceCell permettent par exemple de dtailler la facturation d'une uantit de quatre produits A en trois produits A de couleur bleue et un produit A de couleur verte. Comme nous le montre le diagramme, les factures spcialisent le systme de reprsentation des livraison (Delivery) qui implmente l'origine la structure Line/Cell. Les cellules (Cell) sont la partie visible du concept de variantage qu'offre ERP5. Ce concept permet de reprsenter des variantes d'une mme ressource comme la couleur, la taille ou la vitesse. Cela permet de dfinir plusieurs configurations d'un mme produit. L'avantage de ce systme rside dans la possibilit de configurer trs profondment l'ERP5 tout en gardant les bnfices d'une gestion gnrique des donnes selon une structure standardise. Nous dtaillerons le concept de variantage un peu plus loin dans cette article. Nous allons maintenant dtailler nos diffrentes classes.


PaySheetTransaction

La feuille de paie en elle mme est reprsente par un objet de type
PaySheetTransaction.

page 18/64


Tut o r i e l N e x e d i ERP5

Cette classe drive de la classe de base Folder via Invoice. Nous avons choisi cet hritage car les objets de type PaySheetTransaction vont nous servir regrouper au mme endroit les objets relatifs une feuille de paie. C'est pour cela que PaySheetTransaction n'a pas comme classe anctre l'une des 5 classes de base d'ERP5. Folder est en quelque sorte une "classe utilitaire" qui nous permet de rduire l'entropie du systme. Et comme les PaySheetTransaction sont des Folder avec des comportements particuliers dont certains sont les mmes que pour une facture (Invoice), nous avons d crer une nouvelle classe. Ces comportements particuliers permettront de prendre en compte la notion d'employeur et de salari ainsi que d'autres donnes propres la feuille de paie (date de paiement, salaire brut, ).


PaySheetLine

Comme l'indique le diagramme, chaque PaySheetTransaction peut contenir des PaySheetLine qui sont la reprsentation des diffrentes cotisations soustraite sur le salaire brut. Pour chaque cotisation il y a une et une seule PaySheetLine.


PaySheetCell

Les PaySheetLine contiennent les PaySheetCell, qui permettent de reprsenter et dtailler les montants de la PaySheetLine. Le systme de variantage permettra de distinguer les parts employeur et employe d'une cotisation sociale donne et de conserver une trace de la mthode de calcul des montants. Car pour une cotisation donne, le montant d'une part (salariale ou patronale) peut tre le fruit d'un savant calcul faisant intervenir un ou plusieurs taux, associ chacun une assiette (salaire brut, salaire plafonn, salaire tranche A/B/C, ). Le calcul des feuilles de paie n'est pas vident, d'autant plus que la lgislation change tout les jours Le variantage offre un avantage de taille dans ce cas car il permet de parer toutes les complications induites par la lgislation de chaque pays.


PaySheetTransactionLine

Les PaySheetTransactionLine sont la reprsentation comptable de la feuille de paie. Nous avons choisi de distinguer les PaySheetLine et les PaySheetTransactionLine car la reprsentation de la feuille de paie selon la logique comptable agrge certains montants et rend impossible un reporting fin sur la paye. Nous avons donc au sein d'une PaySheetTransaction deux ensembles :


Les donnes du couple PaySheetLine/PaySheetCell : un jeu de donnes de
page 19/64


Tut o r i e l N e x e d i ERP5

base qui nous permet d'afficher les dtails de la feuille de paie et de manipuler les chiffres dans tous les sens.


Les donnes de type PaySheetTransactionLine, qui reprsentent les lignes comptable de la feuille de paie

Maintenant que nous avons un modle de donnes cohrent, nous allons l'implmenter dans ERP5.

3.2. Le variantage par catgories
Les objets de type Category sont utiliss dans ERP5 pour la classification. Par exemple, un document peut possder un attribut couleur. Au lieu de laisser l'utilisateur entrer une valeur libre, via un champ texte, pour l'attribut couleur, on prfrera attribuer l'objet une catgorie. On fabriquera donc via la ZMI les catgories couleur/bleu, couleur/vert et couleur/rouge :

Les catgories peuvent contenir des sous-catgories. Par exemple pour dcrire les rgions gographiques :
region/europe region/europe/west/ region/europe/west/france region/europe/west/germany region/europe/south/spain region/americas region/americas/north region/americas/north/us

page 20/64


Tut o r i e l N e x e d i ERP5

region/americas/south region/asia

Dans cet exemple la catgorie de base est region. Les catgories ont d'autres avantages comme le catalogage automatique. Ce mcanisme rend possible l'utilisation de requtes SQL pour slectionner les objets de la ZODB selon la valeur de la catgorie (voir plus bas paragraphe : catalogage). Il est possible de crer des classifications "virtuelles" base sur des documents existant ou sur des catgories. Par exemple, si un document est accessible au chemin organisation/nexedi, et qu'il existe une catgorie de base client, l'outil portal_categories autorise la cration de la catgorie virtuelle client/organisation/nexedi. Cela permet de reprsenter un lien relationnel selon le schma : le client de tel objet est l'organisation Nexedi . Le concept de la virtualisation des catgories vite la duplication des informations en offrant des mcanismes quivalent une base de donne relationnelle.

3.3. Intgrons notre structure de donnes dans ERP5
Nous allons ajouter dans ERP5 toutes les classes d'objets que nous avons dfinies dans le paragraphe prcdent. ERP5 possde des mcanismes propres pour dfinir de nouvelles classes d'objets, ce qui lui permet de prendre en charge la cration dynamique et automatise de mthodes. Le travail de cration de nouvelles classes se limite donc les dcrire, ERP5 se chargera du reste, comme la cration dynamique des "setter" et "getter". Les classes d'objets se dfinissent via un script python dans le dossier Document de l'instance Zope/ERP5. Nous allons crer une nouvelle classe PaySheetTransaction, et pour viter de ressaisir tout le code, faire une copie du fichier Invoice.py que nous diterons :
[root@localhost /]# cd /usr/lib/zope/lib/python/Products/ERP5/Document/ [root@localhost Document]# cp Invoice.py / var/lib/zope/Document/PaySheetTransaction.py [root@localhost Document]# vi /var/lib/zope/Document/PaySheetTransaction.py () [root@localhost Document]# chown zope:zope / var/lib/zope/Document/PaySheetTransaction.py [root@localhost Document]# chmod 755 / var/lib/zope/Document/PaySheetTransaction.py

Voici ce quoi doit ressembler le fichier PaySheetTransaction.py aprs dition :

page 21/64


Tut o r i e l N e x e d i ERP5

from AccessControl import ClassSecurityInfo from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface from Products.ERP5.Document.Invoice import Invoice class PaySheetTransaction(Invoice): """ A paysheet will store data about the salary of an employee """ meta_type = 'ERP5 Pay Sheet Transaction' portal_type = 'Pay Sheet Transaction' add_permission = Permissions.AddPortalContent isPortalContent = 1 isRADContent = 1 # Declarative security security = ClassSecurityInfo() security.declareObjectProtected(Permissions.View) # Default Properties property_sheets = ( PropertySheet.Base , PropertySheet.SimpleItem , PropertySheet.CategoryCore , PropertySheet.Task , PropertySheet.Arrow , PropertySheet.Delivery , PropertySheet.Movement , PropertySheet.Amount , PropertySheet.XMLObject , PropertySheet.PaySheetTransaction ) # Declarative Interface __implements__ = ( )

3.4. Web Dveloppement rapide avec portal_classes
Il est possible de raliser l'ensemble des oprations de cration de classes ou d'dition du code via l'interface Web d'ERP5 grce l'outil portal_classes :

page 22/64


Tut o r i e l N e x e d i ERP5

L'dition de code python d'une classe ERP5 permet galement de recharger chaud le seul code modifi, sans redmarrer Zope et de gagner en productivit.

L'outil portal_classes est trs utile en phase de prototypage ou de dveloppement rapide. Il facilite galement l'apprentissage d'ERP5. Il est cependant dconseill de l'activer sur un systme en production car il comporte des risques levs en matire de scurit. Aussi est-il dsactiv par dfaut dans le LiveCD ERP5 ou dans les paquetages ERP5 pour Mandrakelinux. Pour l'activer, il est donc ncessaire de crer un fichier vide ALLOW_CLASS_TOOL dans le rpertoir du produit ERP5Type.

page 23/64


Tut o r i e l N e x e d i ERP5

3.5. Structure d'une classe Document dans ERP5
Les fichiers de type Document ont gnralement la mme allure, et les valeurs propres notre nouvelle classe se devinent facilement. Toujours dans le dossier de l'instance Zope/ERP5, PropertySheet sert contenir des scripts python similaires ceux que l'on trouve dans le dossier PropertySheet du produit ERP5. Ces scripts aux noms vocateurs permettent de dfinir des attributs de classes et, par extension, le schma de donnes d'ERP5. Les classes y font souvent rfrence grce la liste property_sheets, comme on peut le voir dans le code python prcdent. Ainsi pour que chaque feuille de paye puisse stocker le salaire brut ("gross salary" en anglais), nous avons fait rfrence la property sheet PaySheetTransaction qui contiendra la dfinition de l'attribut gross_salary de type flottant. Il nous faut maintenant la crer :
[root@localhost [root@localhost [root@localhost () [root@localhost [root@localhost /]# cd /var/lib/zope/PropertySheet/ PropertySheet]# touch PaySheetTransaction.py PropertySheet]# vi PaySheetTransaction.py PropertySheet]# chown zope:zope PaySheetTransaction.py PropertySheet]# chmod 755 PaySheetTransaction.py

Voici le contenu de la property sheet PaySheetTransaction.py :
class PaySheetTransaction: """ Properties for PaySheet Transaction objects """ _properties = ( { 'id' , 'description' paysheet' , 'type' , 'mode' }, ) _categories = ( , , , ) : 'gross_salary' : 'This variable contain the gross salary of the : 'float' : 'w'

'source' 'destination' 'source_section' 'destination_section'

La syntaxe est assez intuitive car tous les attributs se dclarent par une liste de dictionnaires python dans la variable _properties. Il convient juste de faire attention aux listes immuables (tuple) un lement en python et ne pas oublier la virgule avant la parenthse de fin.
page 24/64


Tut o r i e l N e x e d i ERP5

[kevin@localhost Products]$ python Python 2.3.3 (#2, Feb 17 2004, 11:45:40) [GCC 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> (5) 5 >>> (5,) (5,) >>> (5,10) (5, 10) >>>

Ainsi (5) est interprt comme l'entier 5, et (5,) comme une liste immuable contenant un seul lment entier gal 5. La liste _categories contient la liste des catgories virtuelles. Nous utiliserons celles-ci pour crer un lien entre la feuille de paie, l'employeur et le salari. La relation source_section fera rfrence l'employeur (qui est l'organisation ou l'entreprise qui met la feuille de paie) et la relation destination_section fera rfrence au salari (la personne qui se destine la feuille de paie). Si plus tard nous avons besoin de dfinir des attributs plus complexes, nous nous inspirerons des PropertySheets pr-existante dans le produit ERP5. Cette mthode est valable pour tous les points abord dans cet article : puisque le code source est ouvert, il ne faut pas se priver de rutiliser ou de s'inspirer de choses existantes pour construire petit petit des choses nouvelles. C'est mme un obligation pour contribuer au code d'ERP5 : deux proprits similaires doivent, par principe, avoir le mme nom dans ERP5. Maintenant que notre nouvelle classe est construite, il est ncessaire soit de recharger son code (avec portal_classes sur la classe de PropertySheet puis sur la classe de Document) soit de redmarrer le serveur Zope pour qu'il puisse les prendre en compte. Si tout ce passe bien le serveur sera disponible et vous pourrez accder la ZMI :
[root@localhost kevin]# zopectl program: /usr/bin/runzope program running; pid=4450 zopectl> restart . daemon process restarted, pid=4773 zopectl> logtail -----2004-05-12T18:50:03 INFO(0) Z2 Caught signal SIGTERM -----2004-05-12T18:50:03 INFO(0) Z2 Shutting down fast -----2004-05-12T18:50:03 INFO(0) ZServer closing HTTP to new connections -----2004-05-12T18:50:03 INFO(0) ZServer closing FTP to new connections -----page 25/64


Tut o r i e l N e x e d i ERP5

2004-05-12T18:50:03 INFO(0) Zope Shutting down with exit code 0 () -----2004-05-12T18:50:42 INFO(0) Zope Ready to handle requests zopectl>

Il est possible qu'au moment du redmarrage, Zope s'arrte et refuse obstinment de dmarrer. Il est aussi possible d'observer un comportement trange de Zope : l'arrt et le dmarrage en boucle du serveur par priodes de 10 secondes. Les causes de ce blocage sont lies dans la majorit des ca de mauvaises permissions sur les scripts ou une mauvaise attribution de la proprit des fichiers que vous venez de crer. Une srie de chmod et chown rglera ce problme. Si malgr ces corrections le problme persiste, il zopectl intgre une commande debug, qui lorsqu'on l'appelle va arrter le serveur et le dmarrer en vous affichant le log de dmarrage et un rapport d'excution (traceback) en cas d'erreur. Par exemple :
[root@localhost kevin]# zopectl program: /usr/bin/runzope daemon manager not running zopectl> debug Starting debugger (the name "app" is bound to the top-level Zope object) () Traceback (most recent call last): File "<string>", line 1, in ? File "/usr/lib/python2.3/site-packages/PIL/__init__.py", line 50, in app File "/usr/lib/python2.3/site-packages/PIL/__init__.py", line 46, in startup File "/usr/lib/zope/./build/build-base/python-2.3/buildlib/Zope/App/startup.py", line 45, in startup File "/usr/lib/zope/./build/build-base/python-2.3/buildlib/OFS/Application.py", line 631, in import_products File "/usr/lib/zope/./build/build-base/python-2.3/buildlib/OFS/Application.py", line 654, in import_product File "/usr/lib/zope/lib/python/Products/ERP5/__init__.py", line 50, in ? from Tool import Category, CategoryTool, SimulationTool, RuleTool, IdTool, TemplateTool, TestTool File "/usr/lib/zope/lib/python/Products/ERP5/Tool/Category.py", line 35, in ? from Products.ERP5.Document.MetaNode import MetaNode File "/usr/lib/zope/lib/python/Products/ERP5/Document/__init__.py", line 3145, in ? import PaySheetTransaction as ERP5PaySheetTransaction File "/usr/lib/zope/lib/python/Products/ERP5/Document/PaySheetTransaction.py", line 62

page 26/64


Tut o r i e l N e x e d i ERP5

__implements__ = ( ) ^ SyntaxError: invalid syntax >>>

Le traceback nous apprend qu'il y a une erreur invalid syntax dans le fichier / usr/lib/zope/lib/python/Products/ERP5/Document/PaySheetTransaction.py, ligne 62. En ditant le dit fichier on s'aperoit en fait que le malheureux dveloppeur a oubli de fermer la liste property_sheets avec une parenthse. Il nous suffira dans ce cas que d'une petite correction pour pouvoir relancer le serveur zope Attention : pour utiliser la commande debug il ne faut pas oublier de mettre on l'option debug-mode du fichier /etc/zope.conf. Il n'est d'ailleurs pas surprenant de devoir utiliser debug 30 fois par jour lorsque l'on dbute et que l'on ne matrise pas la syntaxe de python, ou lorsque l'on travaille sur le CVS d'un projet ERP5 en quipe et que des conflits surgissent. Selon le mme principe nous avons construit les nouveaux types
PaySheetTransactionLine, PaySheetLine et PaySheetCell. Par curiosit on pourra

aller consulter les classes pythons qui les dfinissent :
[root@localhost [root@localhost [root@localhost [root@localhost /]# cd /usr/lib/zope/lib/python/Products/ERP5/Document/ Document]# vi PaySheetTransactionLine.py Document]# vi PaySheetLine.py Document]# vi PaySheetCell.py

Le lecteur attentif aura sans doute remarqu ici que le code du module de paye est parfois situ dans le dossier /usr/lib/zope/lib/python/Products/ERP5/Document/ et parfois dans le dossier /var/lib/zope/Document. Une explication s'impose. Le dossier /var/lib/zope/Document est conu pour le dveloppement rapide de code d'extension au framework ERP5. C'est donc bien dans ce dossier qu'il faut commencer travailler lorsque l'on conoit un nouveau jeu de classes pour un client ou pour une future extension d'ERP5. Si ce jeu de classes semble suffisamment gnrique et susceptible de correspondre une fonction universelle d'un ERP, il est conseill de l'intgrer au projet ERP5 afin de le partager avec l'ensemble de la communaut. C'est bien le cas de la paye. En revanche, si ce jeu de classes est li un mtier ou aux besoins spcifiques d'une entreprise, il n'y a aucune raison de l'intgrer au coeur d'ERP5. La paye faisant dsormais partie du coeur d'ERP5, il nous arrivera souvent de mentionner des fichiers situs dans le dossier Document du produit ERP5. Cependant, pour les besoins du tutoriel, nous crerons tous les nouvelles classes dans les dossiers de l'instance Zope/ERP5, c'est--dire gnralement /var/lib/zope.

3.6. Crer un Module dans EPR5
Lors de l'introduction de ce chapitre nous avons fait l'amalgame entre les
page 27/64


Tut o r i e l N e x e d i ERP5

Business Templates et les modules de l'ERP. Nous allons maintenant faire la diffrence et dcrire plus prcisment le rle d'un module, au sens d'ERP5, puis en crer un. Un module est simplement un lieu dans l'interface utilisateur d'ERP5 ou se rassemblent les fonctionnalits propres un aspect de la gestion d'entreprise. Le Business Template contient tous les scripts et objets qui permettent de faire fonctionner le module. D'o l'amalgame. La cration rapide d'un nouveau module peut tre effectue en allant l'URL :
http://localhost:9480/erp5/ERP5Site_viewCreateModuleDialog

o apparat le dialogue suivant :

Ce dialogue comporte 6 paramtres :


Module Id : l'id du dossier (Folder) cr la racine du site ERP5 et qui contiendra l'ensemble des feuilles de paye. Module Portal Type : le nom du type documentaire qui sera cr pour contenir toutes les feuilles de paye Module Title : le titre qui apparatra dans le menu modules pour le module de paye Object Portal Type : le nom du type documentaire qui sera cr pour dfinir les feuilles de paye Object Title : le titre qui apparatra par dfaut pour chaque feuille de paye Portal Skins Folder : le dossier dans lequel seront crs les formulaires par dfaut

En cliquant sur "Create Module", tous les types documentaires sont
page 28/64


Tut o r i e l N e x e d i ERP5

automatiquement crs et les menus mis jour. Un module de paye "vide" vient d'tre cr. Il s'agit dsormais de le paramtrer.

3.7. Intgrer les classes, donnes, menus et prsentation : l'outil portal_types
ERP5 est conu autour de l'architecture Zope/CMF. L'une des caractristiques du CMF est le concept d'outil (tool en anglais) plac la racine d'un portail et conu pour fournir divers services : traduction de formats de documents, gestion des menus associs un document, internationalisation, synchronisation, etc. L'outil portal_types permet de crer des types gnriques de document sur la base de nos classes dfinies dans la partie prcdente et de leur associer des menus ainsi que des lments de prsentation. Nous ferons la distinction par la suite entre portal_types (l'outil) et les portal types (les types de document dfinis par l'outil portal_types). Le contenu de l'outil portal_types correspond aux modules et aux types documentaires disponibles dans l'instance ERP5.

Pour rsumer on peut dire que tous nos portal types du genre PaySheet* sont des images dans Zope de nos classes dfinies par nos scripts python. La ralit est plus subtile car ils peut y avoir deux portal types diffrents qui se basent sur la mme classe, car leur rle premier est de crer des types
page 29/64


Tut o r i e l N e x e d i ERP5

documentaires. Par exemple depuis une mme classe DocumentEcrit nous pouvons crer deux portal types diffrents : Article et CommuniquDePresse. Les deux se dcrivent par la mme structure de donnes et les mmes proprits. L'intrt de crer deux types de documents est que nous pouvons appliquer chaque type un workflow diffrent ou une mise en page adapte.

3.8. L'interface utilisateur avec ERP5Form
Nous allons exploiter ici les capacits de RAD (environnement de dveloppement rapide) d'ERP5 via le produit ERP5Form, afin de dfinir l'interface utilisateur de notre module. ERP5Form est le gnrateur de formulaires d'ERP5. Il est driv de Formulator, un produit Zope cr par Infrae. Lorsque nous allons dans le module de paye, nous pouvons ajouter des PaySheetTransaction :

Cependant, notre action se termine sur une erreur :

page 30/64


Tut o r i e l N e x e d i ERP5

Or, la mthode de cration d'une nouvelle feuille de paie bien fonctionn comme l'atteste la prsence dans la ZODB d'une nouvelle instance du portal type Pay Sheet Transaction qui t cre dans le dossier paysheet du module :

Il ne s'agit donc que d'un problme de prsentation. Pour le rsoudre, nous devons ajouter une interface utilisateur la feuille de paie pour que l'action de cration n'aboutisse pas sur une erreur lorsque elle tente d'afficher l'objet cr. Nous allons donc crer un nouveau formulaire. Comme tous les formulaires et les autres objets de prsentation, ils sont dfinis dans des sous-dossiers de l'outil portal_skins. Allons par exemple dans le dossier /erp5/portal_skins/local_erp5.
page 31/64


Tut o r i e l N e x e d i ERP5

Un formulaire se cre comme n'importe quel objet zope via la ZMI : il suffit de choisir le type "ERP5 Form". Appelons notre formulaire PaySheetTransaction_view :

Commenons pour l'diter par lui ajouter un champ de type float pour reprsenter le salaire brut :

Pour indiquer implicitement que ce champ correspond l'attribut gross_salary de notre objet, il suffit de le nommer my_gross_salary :

page 32/64


Tut o r i e l N e x e d i ERP5

L'utilisation du prfixe my_ est une des rgles de nommage propre ERP5. Si un champ de formulaire est nomm my_quelque_chose, il affichera par dfaut une valeur obtenue en appelant la mthode getQuelqueChose sur le document auquel il est appliqu. En cas de validation du formulaire, la mthode setQuelqueChose sera appele sur le document auquel le formulaire a t appliqu pour mettre jour la valeur de la proprit quelque_chose. Pour tre complet, il faut galement configurer le formulaire pour que le salaire brut puisse tre modifi en dfinissant la proprit Form action comme sur la capture d'cran :

L'action "Base_edit" est appele lorsque l'on valide le formulaire et prend en compte les donnes saisies par l'utilisateur pour mettre jour le document auquel le formulaire est appliqu. Pour tester que notre formulaire fonctionne, appelons directement depuis l'url :

page 33/64


Tut o r i e l N e x e d i ERP5

http://localhost:9080/erp5/paysheet/1/PaySheetTransaction_view

Afin que ce formulaire soit utilis par dfaut pout afficher les feuilles de paie, retournons dans l'outil portal_types. Allons dans l'onglet action du portal type correspondant la feuille de paie. On peut alors dfinir une nouvelle action :

Le choix de la catgorie "object_view" Le choix de l'id "view" correspond nous ajoutons une nouvelle feuille de module de paye, le formulaire va information de salaire brut :

correspond la notion d'onglet dans ERP5. l'affichage par dfaut. Dsormais, lorsque paie depuis le menu droulant Actions du tre automatiquement affich avec une

Notons ici que les deux URL :
http://localhost:9080/erp5/paysheet/2/view

et
http://localhost:9080/erp5/paysheet/2/PaySheetTransaction_view

page 34/64


Tut o r i e l N e x e d i ERP5

donnent le mme rsultat en raison de l'association de PaySheetTransaction_view l'id view dans les actions du portal_type. Il peut tre intressant ce stade de tester quelques URL typiques d'ERP5 afin de bien comprendre la notion d'accesseur. Par exemple, le fait d'avoir dfini dans la PropertySheet de feuille de paye une proprit "gross_salary" a entrain la gnration automatique par ERP5 d'une mthode "getGrossSalary". Cette mthode peut tre teste directement en appelant une URL adquate sur la feuille de paye :
http://localhost:9080/erp5/paysheet/2/getGrossSalary

Cette URL affiche dans le navigateur la valeur de forme de chane de caractre.

gross_salary convertie sous

En utilisant les proprits du formulaire et des champs qui le constituent, on peu obtenir rapidement un formulaire plus dvelopp et plus utile. On commence par ajouter des champs pour chaque proprit que l'on souhaite grer avec le formulaire :

Illustration 4: De nouveaux champs pour chaque attribut de l'objet

L'onglet "Order" permet de regrouper les champs et dfinir leur prsentation :

page 35/64


Tut o r i e l N e x e d i ERP5

Illustration 5: Utilisation de groupes pour la reprsentation du formulaire

Le style ERP5 par dfaut utilise 4 groupes : left (ou Default), right, center et bottom. Nous n'avons pour l'instant utilis que les deux premiers groupes qui se traduisent par un affichage sur 2 colonnes :

Illustration 6: Le formulaire vu par l'utilisateur

Ajoutons maintenant deux champs qui permettent d'associer la feuille de paie l'employeur et au salari. Avant cela il est indispensable d'installer le Business Template CRM, qui permet de grer les personnes et les organisations, en suivant la mthode explique en premire partie. Une fois install, nous pouvons nous occuper des relations.
page 36/64


Tut o r i e l N e x e d i ERP5

Les champs ajouter sont de type RelationStringField :

Nous ajouterons deux champs de ce type, my_destination_section_title permettra de saisir le salari qui la feuille de paie est destine et my_source_section_title l'employeur qui met la feuille de paie :

page 37/64


Tut o r i e l N e x e d i ERP5

Il faut ensuite modifier les proprits des deux widgets pour qu'ils puissent fonctionner :

Comme on peut le deviner avec les captures prcdentes, Base Category permet d'indiquer la catgorie de base sur laquelle la relation s'appuie. Souvenez-vous galement que cette catgorie t explicitement dclare dans la property sheet adquate, justement pour pouvoir tre utilise cet endroit. La relation d'employeur est maintenant dfinissable par une catgorie virtuelle de la forme source_section/organisation/nexedi. On peut vrifier la bonne intgration des donnes en appelant directement le getter de l'attribut sur l'objet, et ce depuis l'url :
http://localhost:9080/erp5/paysheet/2/getSourceSection

Pour comprendre comment ces informations sont gres par ERP5, il peut tre utile d'appeler la mthode Base_viewDict qui permet d'inspecter le contenu des objets enregistrs dans la ZODB :
http://localhost:9080/erp5/paysheet/2/Base_viewDict

La proprit Portal Type de ce type de widget permet quand elle de spcifier les types d'objets qui seront accepts comme relation par le champ. On retrouvera cette proprit dans diffrents widgets du produit Formulator. Ensuite, la valeur donner aux autres proprits de ce type de champ sont assez intuitives.

page 38/64


Tut o r i e l N e x e d i ERP5

Nous nous retrouvons ainsi avec un formulaire qui se rapproche de sa forme finale :

De

existe une action view relie au formulaire PaySheetTransaction_view dfinie dans le portal type Pay Sheet Transaction, il existe une action view sur le portal type du module qui par dfaut est Folder_list :

mme

qu'il

Nous allons crer notre propre formulaire PaySheetModule_view qui va nous servir l'affichage par dfaut du contenu du module. Pour cela il nous faut changer les actions du module et crer un nouveau formulaire :

page 39/64


Tut o r i e l N e x e d i ERP5

Ce formulaire n'a besoin de contenir qu'un seul widget de type ListBox :

page 40/64


Tut o r i e l N e x e d i ERP5

Toujours par convention, nous l'appellerons listbox. Les List Box sont trs flexibles et nous allons les utiliser pour afficher un rsum du contenu du module de feuille de paie. La capture d'cran suivante vous montre les proprits de la List Box :

D'un point de vue utilisateur, ce formulaire aura le look suivant :

page 41/64


Tut o r i e l N e x e d i ERP5

Les proprits importantes d'une List Box sont List Action et List Method. Cette dernire prend la valeur portal_catalog, pour indiquer que la mthode utilise pour la gnration de la liste se base sur le catalogue. La proprit Colum,s permet de dfinir l'ordre et les donnes des colonnes de la liste. Le reste des proprits permet de grer un comportement avanc de la liste, comme le tri, la slection de lignes, le filtrage, etc. Nous ne nous attarderons pas dessus, et je vous laisse le soin d'explorer les possibilits offertes par ERP5Form. Cela devrait tre assez facile car les noms des proprits sont assez transparents et peuvent tre compris par des tests et essais.

page 42/64


Tut o r i e l N e x e d i ERP5

3.9. Les scripts python de calcul
L'tape suivante consiste crer un script qui, depuis le salaire brut, produit toutes les donnes de la feuille de paie. Pour cela nous crons un nouveau script python que nous nommerons PaySheetTransaction_calcul :

Nous mettons galement jour les actions du portal type des Pay Sheet Transaction pour qu'il prenne en compte notre script :

page 43/64


Tut o r i e l N e x e d i ERP5

En donnant la valeur object_action l'attribut Category, on ajoute une entre dans le menu d'action de la vue des Pay Sheet Transaction :

Le script tant vide, il ne va forcement rien se passer si on slectionne Calcul dans la liste des actions. Maintenant il va nous falloir coder le script pour qu'il : rcupre les donnes suffisante (salaire brut, employeur, etc), calcule les taux et les assiettes et distribue les montants selon les bonnes catgories et aux bons organismes sociaux. Les points 1 et 2 ne ncessitent pas d'explication particulires, en dehors de la connaissance fine de la mthode de calcul des montants. Nous allons ce propos simplement gnrer quelques lignes de feuilles de paies titre d'exemple. Le troisime et dernier point requiert quelques explications. Nous allons dtailler le comportement de la Structure PaySheetLine / PaySheetCell du point de vue du dveloppeur. Les cellules peuvent tre reprsentes comme des tableaux ou des matrices repres par deux catgories de base : assiette et categorie_taxe. Pour illustrer notre propos, prenons l'assurance vieillesse (les taux sont ceux d'avril 2003). La part salariale est gale la valeur du salaire plafonn multiplie par 6.55%. La part patronale est gale la somme de 1.60% du salaire brut et de 8.20% du salaire plafonn. Voici la reprsentation de ces chiffres au sein de la PaySheetLine pour un salaire de 3000 euros :
page 44/64


Tut o r i e l N e x e d i ERP5

Les objets sont identifis par un cadre rouge et leurs attributs les plus significatifs sont nots l'intrieur. La cotisation "Assurance vieillesse" est reprsente par une PaySheetLine qui contient une matrice de 4 cellules de type PaySheetCell. Puisque les catgories et les catgories de base se dfinissent au niveau de la PaySheetLine, cette dernire va tre capable de gnrer automatiquement le tableau de cellules sa cration. De ce fait nous n'avons plus qu' choisir notre cellule selon les catgories et lui affecter ses valeurs. Une cellule possde deux attributs : quantity et price. quantity reprsente l'assiette et price le taux. Pour calculer le montant, il suffit d'invoquer getTotalPrice() qui effectuera la multiplication quantity * price. L'assurance vieillesse est une sous-partie des cotisations de scurit sociale, et pour reprsenter cette hirarchie nous avons cr la sous catgorie secu. Cette dernire se subdivise en part salariale et en part employeur pour rpartir finement les montants. Puisque l'assurance vieillesse est calcule partir du salaire brut et du salaire plafonn, nous avons cr les sous-catgories correspondantes dans la catgorie de base assiette. Une bonne dfinition des catgories nous permettras par la suite de gnrer facilement des rapports dtaills. Puisque dans le script nous allons gnrer les cotisations d'assurance maladie, d'assurance vieillesse et d'assurance chmage, voici les catgories que nous avons ajoutes dans l'outil portal_category :
categorie_taxe categorie_taxe/secu categorie_taxe/secu/part_employeur categorie_taxe/secu/part_salariale categorie_taxe/chomage categorie_taxe/chomage/part_employeur categorie_taxe/chomage/part_salariale
page 45/64


Tut o r i e l N e x e d i ERP5

assiette assiette/salaire_brut assiette/salaire_plafonne assiette/tranche_a assiette/tranche_b assiette/tranche_c

Voici donc le script python qui gnrera les quelques lignes de feuilles de paie :

# Ce script est donn titre d'exemple # Les constantes ont t codes en dur pour faciliter la lecture global paysheet paysheet paysheet_type paysheet_cell_type paysheet_transactionline_type = = = = context.getObject() paysheet.getPortalType() 'Pay Sheet Cell' 'Pay Sheet Transaction Line'

employer = paysheet.getSourceSection() employee = paysheet.getDestinationSection() if employer in ('', None): return context.REQUEST.RESPONSE.redirect(context.absolute_url() + '?portal_status_message=The+employer+is+required') if employee in ('', None): return context.REQUEST.RESPONSE.redirect(context.absolute_url() + '?portal_status_message=The+employee+is+required') employer_object = paysheet.getSourceSectionValue() if employer_obj.getDefaultAddress().getZipCode() in ('', None): return context.REQUEST.RESPONSE.redirect(context.absolute_url() + '?portal_status_message=The+employer+must+have+a+zip+code') gross_salary = abs(paysheet.getGrossSalary()) employer_region = employer_object.getDefaultAddress().getZipCode()[:2] # limited salary = salaire plafonn if gross_salary < 2432: limited_salary = gross_salary else: limited_salary = 2432 # "Char" slice type if gross_salary <= 2432: char_slice = 'A' elif gross_salary <= 9728: char_slice = 'B' elif gross_salary <= 19456:

page 46/64


Tut o r i e l N e x e d i ERP5

char_slice = 'C' else: char_slice = '' ######################################################################### # This part of the script implement functions to register all pay sheet # informations from an ERP5 point of view. ######################################################################### def createPaySheetItem(title='', dest_org='', cells=[]): global paysheet # get all variation categories used in cells var_cat_list = [] for cell in cells: var_cat_list.append(cell["x"]) var_cat_list.append(cell["y"]) # add a new Pay Sheet Line payline = paysheet.newContent( portal_type = 'Pay Sheet Line' , title = title , destination = dest_org , variation_base_category_list = ('tax_category', 'salary_range') , variation_category_list = var_cat_list ) # fill each cell with values for cell in cells: paycell = payline.getCell(cell["x"], cell["y"], base_id = 'movement') paycell.edit(quantity=-cell["base"], price=cell["rate"]/100.0) ######################################################################### # This part of script describe the behaviour of the calculation process # from accountant point of view. ######################################################################### # social organism org_urssaf = 'organisation/urssaf' org_assedic = 'organisation/assedic' # variation categories cat_social_salary_share cat_social_employer_share cat_unemployment_salary_share cat_unemployment_employer_share cat_gross_salary cat_limited_salary cat_slice_a cat_slice_b cat_slice_c = = = = = = = = = 'tax_category/social/salary_share' 'tax_category/social/employer_share' 'tax_category/unemployment/salary_share' 'tax_category/unemployment/employer_share' 'salary_range/france/salaire_brut' 'salary_range/france/salaire_plafonne' 'salary_range/france/tranche_a' 'salary_range/france/tranche_b' 'salary_range/france/tranche_c'

# sickness insurance = assurance maladie if employer_region in ('57', '67', '68'):
page 47/64


Tut o r i e l N e x e d i ERP5

salary_share_rate else: salary_share_rate createPaySheetItem( , ,

= 1.70 = 0.75 title = 'Assurance maladie' dest_org = org_urssaf cells = [ { "x" : cat_social_salary_share , "y" : cat_gross_salary , "base" : gross_salary , "rate" : salary_share_rate }, { "x" : cat_social_employer_share , "y" : cat_gross_salary , "base" : gross_salary , "rate" : 12.80 } ] = assurance vieillesse title = 'Assurance vieillesse' dest_org = org_urssaf cells = [ { "x" : cat_social_salary_share , "y" : cat_limited_salary , "base" : limited_salary , "rate" : 6.55 }, { "x" : cat_social_employer_share , "y" : cat_gross_salary , "base" : gross_salary , "rate" : 1.60 }, { "x" : cat_social_employer_share , "y" : cat_limited_salary , "base" : limited_salary , "rate" : 8.20 } ]

) # old-age insurance createPaySheetItem( , ,

) # unemployment insurance = assurance chomage if char_slice in ('A', 'B'): if char_slice == 'A': cat_slice = cat_slice_a else: cat_slice = cat_slice_b createPaySheetItem( title = 'Assurance chomage' , dest_org = org_assedic , cells = [ { "x" : cat_unemployment_salary_share , "y" : cat_slice , "base" : gross_salary , "rate" : 2.4 }, { "x" : cat_unemployment_employer_share , "y" : cat_slice
page 48/64


Tut o r i e l N e x e d i ERP5

, "base" : gross_salary , "rate" : 4.0 } ] )

Si votre diteur prfr supporte le protocole WebDAV, n'oubliez pas que Zope le supporte galement. En d-commentant quelques lignes dans le fichier / etc/zope.conf et aprs un redmarrage de Zope, WebDAV sera activ et vous pourrez naviguer au sein de la ZODB puis diter trs facilement des script python dans votre environnement de dveloppement favori.

Illustration 7: Utilisation de WebDAV avec KATE

Avant de tester le script, n'oublier pas de crer les organisations Assedic et Urssaf avec le mme id qui est utilis dans le script (organisation/urssaf et organisation/assedic) pour qu'il puisse fonctionner.

page 49/64


Tut o r i e l N e x e d i ERP5

3.10. Le reporting

Nous allons voir dans cette partie comment utiliser les donnes gnres par notre script pour crer des rapports et les versions imprimable des feuilles de paie. Ces dernires seront produites au travers d'une Page Template que l'on crera dans local_erp5 sous le nom de PaySheetTransaction_print :

Les page templates ne sont en fait que de simples fichiers html (ou xml) dans lesquels nous allons utiliser des attributs spciaux dans les balises. Ce langage nomm TAL (Template Attribute Language) propre Zope permet de dcrire un comportement dynamique des pages. ERP5 intgre d'ailleurs un script qui permet de convertir automatiquement un document OpenOffice en TAL afin de faciliter la cration rapide de rapports PDF. Dans le cas de notre feuille de paie, nous allons crer un script python qui va se charger de pr-formater les donnes de la feuille de paie et nous allons l'appeler depuis la Page Template. Le script, que nous appellerons PaySheetTransaction_getDetails, va se charger essentiellement de collecter les part patronale et salariale pour chacune des taxe et les rassembler dans un dictionnaire :
# this dict contain all paysheet details
page 50/64


Tut o r i e l N e x e d i ERP5

paysheet_details = {} # initialize the employee and total_employee_share total_employer_share total_taxable_employee_share employer share total = 0.0 = 0.0 = 0.0

# get the gross salary gross_salary = context.getGrossSalary() if gross_salary == None: gross_salary = 0.0 paysheet_cat = {} object_list = [] for object in context.objectValues(): object_list += [object] # Sort the list by id since lines are already ordered by id. object_list.sort(lambda x, y: cmp(int(x.getId()), int(y.getId()))) for pay_sheet_line in object_list: variation_list = pay_sheet_line.getVariationCategoryList() range_variation = [] for variation in variation_list: if variation.find('salary_range')==0: if not variation in range_variation: # Extra checking because # get VariationCategoryList returns # the same 1 items 2 times range_variation += [variation] for range in range_variation: pay_sheet_dict = {} #pay_sheet_dict['range']=range[range.rfind('/')+1:] pay_sheet_dict['id'] = pay_sheet_line.getId() pay_sheet_dict['title'] = pay_sheet_line.getResourceTitle() for cell in pay_sheet_line.objectValues(): predicate_list = cell.getMembershipCriterionCategoryList() if range in predicate_list: pay_sheet_dict['base_name'] = context.portal_categories.resolveCategory(range).getTitleOrId() for predicate in predicate_list: if cell.getTotalPrice() != 0: if predicate.find('employee_share')>=0: pay_sheet_dict['base']= - cell.getQuantity() pay_sheet_dict['employee_share'] = cell.getTotalPrice() pay_sheet_dict['employee_share_rate'] = cell.getPrice() * 100 total_employee_share += float(-pay_sheet_dict ['employee_share']) # here we decide if a resource is taxable or not if str(pay_sheet_line.getResource())[-14:] == 'non_deductible' or str(pay_sheet_line.getResource())[-4:] == 'crds' or str (pay_sheet_line.getResource())[-7:] == 'taxable': pay_sheet_dict['taxable']='yes' elif str(pay_sheet_line.getResource())[-10:] == 'deductible': pay_sheet_dict['taxable']='no' else: pay_sheet_dict['taxable']='no'
page 51/64


Tut o r i e l N e x e d i ERP5

if pay_sheet_dict['taxable'] == 'yes': total_taxable_employee_share += float(-pay_sheet_dict ['employee_share']) elif predicate.find('employer_share')>=0: pay_sheet_dict['base'] = - cell.getQuantity() pay_sheet_dict['employer_share'] = cell.getTotalPrice() pay_sheet_dict['employer_share_rate'] = cell.getPrice() * 100 total_employer_share += float(-pay_sheet_dict ['employer_share']) for key in ('employee_share','employee_share_rate','employer_share','employer_share_rat e'): if not (pay_sheet_dict.has_key(key)): pay_sheet_dict[key]='' # so that we can display nothing # find the category of the current pay sheet line cat_id = None cat_path = None for var in variation_list: sub_cat = var.split('/') if sub_cat[0] == 'tax_category': cat_id = sub_cat[1] cat_path = sub_cat[0] + '/' + sub_cat[1] break if cat_id == None: cat_id = 'no_cat' # add the current pay sheet line to its category if not paysheet_cat.has_key(cat_id): paysheet_cat[cat_id] = {} paysheet_cat[cat_id]['lines'] = [] if cat_path != None: paysheet_cat[cat_id]['title'] = context.portal_categories.resolveCategory(cat_path).getTitleOrId() paysheet_cat[cat_id]['lines'].append(pay_sheet_dict) # get all paysheet transaction to calculate the sum of different value in a year accounting_folder = context.aq_parent paysheet_transactions = accounting_folder.contentValues(filter= {'portal_type':'Pay Sheet Transactionss'}) # initialize every yearly variable yearly_net_salary = 0.0 yearly_gross_salary = 0.0 yearly_employee_share = 0.0 yearly_employer_share = 0.0 yearly_taxable_net_salary = 0.0 # get the current paysheet start date and employee start_date = context.getStartDate() from DateTime import DateTime start_date = DateTime("%i/01/01" % start_date.year()) stop_date = context.getStopDate() employee = context.restrictedTraverse (context.getDestinationSectionRelativeUrl())
page 52/64


Tut o r i e l N e x e d i ERP5

#start_date = start_date.strftime('%Y-%m-%d') #stop_date = start_date.strftime('%Y-%m-%d') #yearly_employee_share = -float (context.PaySheetTransaction_zGetDetailedTotal (start_date=start_date,stop_date=stop_date,tax_category='employee_share') [0].total) #yearly_employer_share = -float (context.PaySheetTransaction_zGetDetailedTotal (start_date=start_date,stop_date=stop_date,tax_category='employer_share') [0].total) yearly_employee_share = 0 yearly_employer_share = 0 try: yearly_employer_share = -float (context.PaySheetTransaction_zGetDetailedTotal (start_date=start_date,stop_date=stop_date,tax_category='employer_share') [0].total) except: pass # browse through paysheet transaction for paysheet_obj in paysheet_transactions: # ignore the current paysheet to avoid infinite loop if paysheet_obj.getId() != context.getId(): # the paysheet must have the same employee if (employee==None) or (employee!=None and context.restrictedTraverse (paysheet_obj.getDestinationSectionRelativeUrl())==employee): # check the date if (start_date==None) or (start_date!=None and paysheet_obj.getStartDate()!=None and start_date.year() ==paysheet_obj.getStartDate().year() and paysheet_obj.getStartDate()<= start_date): # get all detailed values of the paysheet ps_details = paysheet_obj.PaySheetTransaction_getDetails() # sum of yearly values yearly_net_salary += float(ps_details['net_salary']) yearly_gross_salary += float(ps_details['gross_salary']) yearly_employee_share += float(ps_details ['total_employee_share']) yearly_employer_share += float(ps_details ['total_employer_share']) yearly_taxable_net_salary += float(ps_details ['taxable_net_salary']) # save the total share values in the exported dict paysheet_details['net_salary'] = gross_salary total_employee_share paysheet_details['gross_salary'] = gross_salary paysheet_details['paysheet_categories'] = paysheet_cat paysheet_details['total_employee_share'] = total_employee_share paysheet_details['taxable_net_salary'] = paysheet_details ['net_salary'] + total_taxable_employee_share paysheet_details['total_employer_share'] = total_employer_share

page 53/64


Tut o r i e l N e x e d i ERP5

paysheet_details['total_taxable_employee_share'] total_taxable_employee_share # don't forget to add the current values to the paysheet_details['yearly_net_salary'] = paysheet_details['net_salary'] paysheet_details['yearly_gross_salary'] = paysheet_details['gross_salary'] paysheet_details['yearly_employee_share'] = paysheet_details['total_employee_share'] paysheet_details['yearly_employer_share'] = paysheet_details['total_employer_share'] paysheet_details['yearly_taxable_net_salary'] = paysheet_details['taxable_net_salary'] return paysheet_details

= yearly sum yearly_net_salary + yearly_gross_salary + yearly_employee_share + yearly_employer_share + yearly_taxable_net_salary +

Une premire version de notre Page Template pourrait ressembler ceci :
<?xml version="1.0" encoding="iso-8859-1" ?> <document filename="report01.pdf" xmlns:tal="http://xml.zope.org/namespaces/tal" tal:define="employee python: here.getDestinationSectionValue(); employer python: here.getSourceSectionValue(); paysheet_details python: here.PaySheetTransaction_getDetails(); paysheet_categories python: paysheet_details ['paysheet_categories']; urssaf python: employer.getDestinationSectionValue(); start_date python: here.getStartDate(); boldstyle python:'(\'FONT\', \'Helvetica-Bold\', 7)'"> <title>VPN</title> <author>Nexedi</author> <subject>VPN List</subject> <content> <table splitbyrow="1" rowheight='0.4cm' repeatrows="1" repeatcols="0" style="decompte"> <tr> <td colwidth="4.318cm">Nature</td> <td colwidth="3.81cm">Assiette</td> <td colwidth="1.524cm">Montant</td> <td colwidth="2.77cm">Taux part patronale</td> <td colwidth="2.288cm">Part patronale</td> <td colwidth="2.397cm">Taux part salariale</td> <td colwidth="1.959cm">Part salariale</td> </tr> <tr tal:attributes="stylecmd boldstyle"> <!--stylecmd="('FONT', 'Helvetica-Bold', 7)"> --> <td>Salaire brut</td>
page 54/64


Tut o r i e l N e x e d i ERP5

<td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td tal:content="python: '%.2f' % paysheet_details ['gross_salary']" tal:condition="python: paysheet_details['gross_salary'] not in (None, '')">???</td> </tr> <tal:block tal:condition="python: paysheet_categories.has_key ('no_cat')"> <tal:block define="no_cat_lines python: paysheet_categories ['no_cat']['lines']"> <tr tal:repeat="line no_cat_lines"> <td><tal:block content="python: line['title']"/> </td> <td content="python: line['base_name']"> </td> <td content="python: '%.2f' % line['base']" tal:condition="python: line['base'] not in (None, '')"> </td> <td content="python: '%.3f %%' % line['employer_share_rate']" tal:condition="python: line['employer_share_rate'] not in (None, '')"> </td> <td content="python: '%.2f' % line['employer_share']" tal:condition="python: line['employer_share'] not in (None, '')"> </td> <td content="python: '%.3f %%' % line['employee_share_rate']" tal:condition="python: line['employee_share_rate'] not in (None, '')"> </td> <td content="python: '%.2f' % line['employee_share']" tal:condition="python: line['employee_share'] not in (None, '')"> </td> </tr> </tal:block> </tal:block> <tal:block repeat="category paysheet_categories"> <tr tal:attributes="stylecmd boldstyle"> <td tal:content="python: paysheet_categories[category] ['title']"> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tal:block define="paysheet_lines python: paysheet_categories [category]['lines']"> <tr tal:repeat="line paysheet_lines" stylecmd="('LEFTPADDING',8)"> <td><tal:block tal:content="python: ' ' + line['title']"/> </td> <td><tal:block tal:content="python: line['base_name']"/> </td> <td> <tal:block content="python: '%.2f' % line['base']" tal:condition="python: line['base'] not in (None, '')"></tal:block></td> <td> <tal:block content="python: '%.3f %%' % line ['employer_share_rate']" tal:condition="python: line['employer_share_rate'] not in (None, '')"></tal:block></td>
page 55/64


Tut o r i e l N e x e d i ERP5

<td> <tal:block content="python: '%.2f' % line ['employer_share']" tal:condition="python: line['employer_share'] not in (None, '')"></tal:block></td> <td> <tal:block content="python: '%.3f %%' % line ['employee_share_rate']" tal:condition="python: line['employee_share_rate'] not in (None, '')"></tal:block></td> <td> <tal:block content="python: '%.2f' % line ['employee_share']" tal:condition="python: line['employee_share'] not in (None, '')"></tal:block></td> </tr> </tal:block> </tal:block> <tr tal:attributes="stylecmd boldstyle"> <td>Total des cotisations</td> <td> </td> <td> </td> <td> </td> <td> <tal:block replace="python: '-%.2f' % paysheet_details ['total_employer_share']" tal:condition="python: paysheet_details ['total_employer_share'] not in ('', None)"> </tal:block></td> <td> </td> <td> <tal:block replace="python: '-%.2f' % paysheet_details ['total_employee_share']" tal:condition="python: paysheet_details ['total_employee_share'] not in ('', None)"> </tal:block></td> </tr> <tr tal:attributes="stylecmd boldstyle"> <td>Salaire Net</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> <tal:block replace="python: '%.2f' % paysheet_details ['net_salary']" tal:condition="python: paysheet_details['net_salary'] not in ('', None)"> </tal:block></td> </tr> <tal:block repeat="category paysheet_categories"> <tal:block define="paysheet_lines python: paysheet_categories [category]['lines']"> <tal:block repeat="line paysheet_lines"> <tr tal:condition="python: line.has_key('taxable') and line ['taxable']=='yes'"> <td> <tal:block content="python: line['title']"/></td> <td> <tal:block content="python: line['base_name']"/></td> <td> <tal:block replace="python: '%.2f' % line['base']" tal:condition="python: line['base'] not in ('', None)"></tal:block></td> <td> </td> <td> </td> <td> <tal:block replace="python: '%.3f %%' % line ['employee_share_rate']" tal:condition="python: line['employee_share_rate'] not in ('', None)"></tal:block></td>

page 56/64


Tut o r i e l N e x e d i ERP5

<td> <tal:block replace="python: '+%.2f' % abs(float(line ['employee_share']))" tal:condition="python: line['employee_share'] not in ('', None)"></tal:block></td> </tr> </tal:block> </tal:block> </tal:block> <tr tal:attributes="stylecmd boldstyle"> <td>Salaire Net Imposable</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> <tal:block replace="python: '%.2f' % paysheet_details ['taxable_net_salary']" tal:condition="python: paysheet_details ['taxable_net_salary'] not in ('', None)"> </tal:block></td> </tr> </table> <table rowheight="0.6cm"><tr><td> </td></tr></table> <table style="cumul_conges"> <tr> <td colwidth="11cm"> <tal:block tal:replace="python: 'Cumuls annuels (%s)' % start_date.year()" tal:condition="python: start_date not in ('', None)"/></td> <td colwidth="3cm"> </td> <td colwidth="5cm"> <!-- <tal:block tal:replace="python: 'Dure des congs pays : ???'"/> --> </td> </tr> </table> <table style="cumul_conges_corps"> <tr> <td colwidth="2cm">Salaire brut</td> <td colwidth="3cm">Cotisations salariales</td> <td colwidth="2cm">Salaire net</td> <td colwidth="2cm">Net imposable</td> <td colwidth="2cm">Part patronale</td> <td colwidth="3cm"> </td> <td colwidth="5cm"> <tal:block tal:replace="python: 'Dure des dlais de pravis : ' + context.PaySheetTransaction_getPreavis()"/></td> </tr> <tr> <td> <tal:block replace="python: '%.2f' % paysheet_details ['yearly_gross_salary']" tal:condition="python: paysheet_details ['yearly_gross_salary'] not in ('', None)"></tal:block></td> <td> <tal:block replace="python: '%.2f' % paysheet_details ['yearly_employee_share']" tal:condition="python: paysheet_details ['yearly_employee_share'] not in ('', None)"></tal:block></td> <td> <tal:block replace="python: '%.2f' % paysheet_details ['yearly_net_salary']" tal:condition="python: paysheet_details ['yearly_net_salary'] not in ('', None)"></tal:block></td>
page 57/64


Tut o r i e l N e x e d i ERP5

<td> <tal:block replace="python: '%.2f' % paysheet_details ['yearly_taxable_net_salary']" tal:condition="python: paysheet_details ['yearly_taxable_net_salary'] not in ('', None)"></tal:block></td> <td> <tal:block replace="python: '%.2f' % paysheet_details ['yearly_employer_share']" tal:condition="python: paysheet_details ['yearly_employer_share'] not in ('', None)"></tal:block></td> <td> </td> <td> </td> </tr> </table> </content> </document>

Ajoutons ensuite une action dans le portal type des Pay Sheet Transaction avec la valeur object_print pour category :

Grce cette petite manipulation il nous reste plus qu' cliquer sur l'icne de l'imprimante dans la vue d'une feuille de paie pour rcuprer la version imprimable :

La Page Template sera appele dans le contexte actuel et la feuille de paie imprimable s'affichera l'cran sous forme de document PDF :

page 58/64


Tut o r i e l N e x e d i ERP5

Illustration 8: Une feuille de paie gnre par ERP5

La technologie employe pour le rendu PDF est reportlab. Il s'agit d'une bibliothque crite en python, utilise par des tablissements financiers prestigieux et capable de gnrer plusieurs centaines de pages PDF par minute sur un serveur bas de gamme.

page 59/64


Tut o r i e l N e x e d i ERP5

3.11. La cration du business template
Maintenant que le module fonctionne dans son ensemble, nous allons le rassembler au sein d'un Business Template pour pouvoir le distribuer et l'installer facilement. La procdure de cration d'un Business Template est assez rapide si on connat exactement toutes les composantes qui sont ncessaire au bon fonctionnement du module que l'on veut packager. Il faut d'abord nous rendre dans l'outil portal_templates et ajouter un nouveau Business Template en utilisant le menu "Action". Nous appellerons ce Business Template erp5_payroll et allons maintenant l'diter et lister dans les diffrents champs les objets qui doivent tre inclus :
http://localhost:9080/erp5/portal_templates/GestionDesSalaires/view

Les champs renseigns sont :


id : L'id du Business Template Name : le nom du Business Template, qui doit tre unique pour chaque groupe de fonctionnalits Portal Types : la liste des types documentaires dfinis par le Business Template Skin Folders : le dossier dans portal_skins o sont stocks les lments de prsentation
page 60/64


Tut o r i e l N e x e d i ERP5


Base Categories : les catgories et relations ncessaires au fonctionnement du module Paths : des documents ncessaires au fonctionnement du module (ici, les organisations URSSAF, etc, ncessaires au calcul de la paye)

Maintenant que le Businnes Template connat toutes les composantes de notre module, nous pouvons construire le Business Template via l'action "Build Business Template" du menu "Action" puis l'export via l'action "Export Busines Template" du mme menu. On peut ds prsent tester notre nouveau Business Template sur une nouvelle instance de Zope pour s'assurer que notre module fonctionne avant de le distribuer.

page 61/64


Tut o r i e l N e x e d i ERP5

3.12. Le point sur la catalogage
Le catalogage est en fait un moyen de stocker certaines information d'un objet (comme sont ID, titre, description, etc) dans une base de donne annexe. Le catalogue permet de slectionner instantanment des objets sans reparcourir toute la base objet de Zope. Il permet d'effectuer des requtes rapides sur des bases de grande taille. Nexedi a par exemple dploy un systme contenant plus de 2.000.000 de documents et plus de 10 000 000 d'enregistrements de catalogue. La technologie de catalogue dveloppe par Nexedi pour ERP5 se nomme "ZSQL Catalog". C'est un produit zope qui permet d'effectuer des requtes SQL sans limite de complexit sur un catalogue dont la structure est elle-mme adaptable sans limites. L'objectif est de constituer un catalogue selon un modle d'indexation susceptible d'offrir des temps de rponse trs courts. L'approche est similaire celle utilise par les moteurs OLAP ou le datawarehousing pour le traitement statistiques de donnes consolides.

page 62/64


Tut o r i e l N e x e d i ERP5

4. Conclusion
Nous avons appris dans cet article installer une plateforme ERP5 et ses modules grce au systme de Business Template d'ERP5. Nous avons ensuite cr une version simpliste du module de feuille de paie qui existe dj dans ERP5. Il existe beaucoup de diffrences entre ces deux versions. En particulier, le module de paye d'ERP5 repose sur le moteur de planification d'ERP5 afin de permettre des prvisions de trsorerie. Cependant, la structure de donne et les principes de base restent les mmes. Nous pouvons dsormais exploiter ERP5 pour construire en un temps record un ERP fonctionnel capable de grer un grand nombre d'aspects d'une entreprise ou d'une organisation. La bibliothque actuelle de Business Template, qui est appele croitre et s'enrichir, offre la fois des briques de base et une source d'inspiration. Si toutefois les Business Template existants ne rpondent pas votre besoin, vous disposez dsormais des bases ncessaire pour crer les votres. Dans ce cas n'oubliez pas de partager avec nous vos crations sur le site web www.erp5.org et sur les mailing-list erp5-dev et erp5-user.

page 63/64


Tut o r i e l N e x e d i ERP5

5. TODO
Amliorations envisager sur ce document. Question se poser: * faut-il supprimer certaines parties trop dtaille ? (variantage, category, construction des classes) * indiquer les conventsion de nommage utilises par ERP5 * crer avec le lecteur un nouveau folder dans les portal_skins et lui faire changer les settings pour lui expliquer comment erp5 va chercher les formulaire ? * dire l'utilisateur qu'il est prudent de donner un nom chaque formulaire * ne pas evoquer les paysheet transaction line ? (compression de l'article) TODO: * couper les parties des images qui ne sont pas utiles (surtout celle avec des scrennshot de dropdown list/combo) * mettre en italique les babarismes (getter / setter / packages / etc) ou trouver une version franaise * intgrer une bibliographie/webographie la fin de l'article * intgrer "Lors du dveloppement du vritable Business Template, que vous trouverez dans la section download du site erp5.org, nous n'avons pas eu besoin de crer de module. En ralit le produit final des feuilles de paie est rassembl dans le Business Template Human Resources (HR) qui contient aussi les fonctionnalits de gestion de carrires et s'intgre dans diffrents modules pr-existants (les feuilles de paie dans le module Accounting et la gestion de carrires dans le module Person). " * simplifier les scripts et templates de rapports * mettre jour les recopies d'cran qui mentionnent base_edit, base_update_relation, etc. en utilisant le nouveau nommage (Base_edit, Base_updateRelation, etc.)

page 64/64
Tut o r i e l N e x e d i ERP5 Dveloppez votre propre Dveloppez ERP grce aux Business Templates ERP5 page 1/64 Tut o r i e l N e x e d i ERP5 page 2/64 Tut o r i e l N e x e d i ERP5 Sommaire 1. Introduction.............................................................................4 2. ERP5: un ERP pour tous............................................................5 2.1. ERP5 sans installation.......................................... .................................5 2.2. Installer un systme ERP5....................................................................5 2.3. Etendre ERP5 avec les Business Templates........................................10 3. Crons notre propre Business Template !.................................16 3.1. Conception de la structure de donnes..............................................16 3.2. Le variantage par catgories..............................................................20 3.3. Intgrons notre structure de donnes dans ERP5...............................21 3.4. Web Dveloppement rapide avec portal_classes................................22 3.5. Structure d'une classe Document dans ERP5......................................24 3.6. Crer un Module dans EPR5................................. ...............................27 3.7. Intgrer les classes, donnes, menus et prsentation : l'outil portal_types............................................................ ...................................29 3.8. L'interface utilisateur avec ERP5Form........................................ .........30 3.9. Les scripts python de calcul....................................... .........................43 3.10. Le reporting..................................... .................................................50 3.11. La cration du business template.....................................................60 3.12. Le point sur la catalogage................................................ .................62 4. Conclusion..............................................................................63 5. TODO.....................................................................................64 page 3/64 Tut o r i e l N e x e d i ERP5 1. Introduction Cet article est destin aux dveloppeurs qui veulent s'approprier ERP5 et ses mcanismes pour en faire un outil de gestion d'entreprise qui rpond exactement leurs besoins. Avec ERP5, ce n'est plus l'entreprise qui se conforme la logique ERP, c'est l'ERP qui s'adapte la culture de l'entreprise, ses mthodes et ses habitudes de travail. ERP5 dispose sous forme de framework de tous les outils ncessaires pour atteindre cet objectif. Cela passe la plupart du temps par la ralisation ou la modification d'un module de l'ERP sous la forme d'un paquetage fonctionnel ou mtier appel "Business Template". Cet article vous apprendra installer rapidement une plate-forme ERP5 grce aux Business Template avant de vous accompagner dans la ralisation d'un module simple de gestion de feuilles de paie. Cette seconde partie de l'article sera l'occasion idale d'aborder toutes les techniques de conception au sein d'ERP5 pour que vous puissiez par la suite crer vos propres Business Template de faon autonome. Support Commercial ERP5 ERP5 est un ERP libre en licence GPL dvelopp et dit par la socit Nexedi. Nexedi coordonne un rseau de partenaires certifis pour le dploiement de solutions ERP5 en entreprise. Nexedi et ses partenaires assurent travers leurs quipes d'ingnieurs et leurs consultants l'assistance, la formation et le transfert des comptences ncessaires la matrise d'ERP5 sur le terrain. http://www.erp5.org/sections/documentation/evangelism/enterprise/ Tel. +33 662 05 76 14 Mel. info@nexedi.com page 4/64 Tut o r i e l N e x e d i ERP5 2. ERP5: un ERP pour tous 2.1. ERP5 sans installation Si vous souhaitez utiliser ERP5 srieusement et sans perdre du temps dans des problmatiques d'installation sans valeur ajoute, nous vous recommandons d'utiliser le LiveCD d'ERP5 (et d'y contribuer). Le LiveCD ERP5 a t conu comme un outil de dveloppement et de production, et pas seulement comme un dmonstrateur. Il peut tre tlcharg sur: http://livecd.erp5.org. Son principe est simple : On inserre un CD dans un PC standard, on appuye sur dmarrer puis, aprs quelques minutes, on installe des Business Template que l'on peut utiliser, paramtrer et tendre. 2.2. Installer un systme ERP5 Si l'usage d'un LiveCD ne vous convient pas, il est cependant possible d'installer ERP5 de faon traditionnelle. Il faut compter entre quelques dizaines de minutes (si vous utilisez une distribution comme Mandrakelinux pour laquelle tous les paquetages et leurs dpendances ont t crs) et quelques jours (si vous utilisez une distribution sans paquetages ERP5). page 5/64 Tut o r i e l N e x e d i ERP5 Pour fonctionner, ERP5 a besoin du serveur d'applications Zope sur lequel il se fonde et ainsi qu'un nombre consquent de produits Zope. Nous avons aussi besoin d'installer MySQL-max (une version de la plus populaire des bases de donnes libres qui supporte les transactions). MySQL-max est utilis par le moteur de recherche de Zope via le produit ZSQLcatalog. Pour un systme complet, il nous faut donc : un serveur Zope (et toutes ses dpendances li Python) comportant les optimisations dveloppes par Nexedi en matire de mta-programmation1 les produits Zope BTreeFolder, Base18, CMF, CMFActivity, CMFCategory, CMFMailIn, CMFPhoto, CMFReportTool, ERP5, ERP5Catalog, ERP5Compatibility, ERP5Form, ERP5SyncML, ERP5Type, ExtFile, Formulator, Localizer, Photo, TranslationService, ZMailIn, ZMySQLDA et ZSQLCatalog. MySQL-max Pour mener bien cette mission, il faudra compter sur les paquetages de votre distribution Linux. Vous pouvez aussi partir des sources et installer Zope par un traditionnel ./configure, make, make install. Quand aux produits Zope, ils sont trs faciles et rapide installer puisqu'il s'agit en fait d'archives dcompresser dans le rpertoire Products de Zope (gnralement /var/lib/zope/Products ou / usr/lib/zope/lib/python/Products) et de quelques extensions (zsqlbrain.py et InventoryBrain.py) ajouter dans le rpertoire Extensions de Zope (gnralement /var/lib/zope/Extensions ou /usr/lib/zope/lib/python/Extensions). Vous trouverez sans trop de difficults des didacticiels et de la documentation sur le net pour l'installation et la configuration globale de Zope. Les heureux utilisateurs de Mandrake peuvent se contenter d'un simple urpmi ERP5 mysql-max, aprs avoir ajout les sources main, contrib et nexedi2 leur gestionnaire de paquetages. Notons que l'ensemble des manipulations dcrites dans cet article ont t ralises sur une Mandrake 10.0 et devraient tre quivalentes avec une Mandrake 10.1. Une fois l'installation le des paquetages termine, utilisons la console d'administration de Zope, zopectl, pour changer le mot de passe par dfaut de l'administrateur (le login par dfaut tant admin). L'ajout d'un utilisateur ne peut se faire que si le serveur Zope est arrt. Il se peut trs bien que la procdure d'installation ait dmarr le serveur, nous l' arrterons donc avant la manipulation. Ensuite seulement nous pourrons dmarrer MySQL-max et Zope : [root@localhost /]# /etc/init.d/zope stop Arrt de zope : . daemon process stopped 1 Le code source de ces optimisations est tlchargeable l'URL http://www.nexedi.org/static/Mandrake/10.1/SRPMS/zope2.7.2rc1 1nxd.src.rpm 2 http://www.nexedi.org/static/Mandrake/10.1/RPMS ou http://www.nexedi.org/static/Mandrake/10.0/RPMS page 6/64 Tut o r i e l N e x e d i ERP5 [root@localhost /]# zopectl program: /usr/bin/runzope daemon manager not running zopectl> help adduser adduser -- add a Zope management user zopectl> adduser admin admin [root@localhost /]# /etc/init.d/mysql-max start Lancement du serveur MySQL [root@localhost /]# zopectl program: /usr/bin/runzope daemon manager not running zopectl> start daemon process started, pid=7944 [ OK ] Il nous reste plus qu' vrifier le fonctionnement de Zope en accdant la ZMI, l'interface web de gestion de Zope, o l'on s'identifiera avec le mot de passe de l'utilisateur admin que l'on vient d'ajouter : http://localhost:9080/manage Illustration 1: L'accs la Z MI ncessite une authentification page 7/64 Tut o r i e l N e x e d i ERP5 Illustration 2: ZMI, l'interface web de gestion de Zope Le serveur Zope tant dsormais oprationnel et accessible, nous allons crer une instance d'ERP5 en slectionnant le type ERP5 Site dans la liste droulante en haut droite : Une page de proprits est affiche dans la ZMI et nous la remplirons comme sur la capture d'cran : page 8/64 Tut o r i e l N e x e d i ERP5 La validation de ce formulaire conduit cet cran en cas de succs : Mais il est frquent de voir apparatre l'erreur suivante ce moment prcis : Site Error An error was encountered while publishing this resource. Error Type: DatabaseError Error Value: z0_catalog_object is not connected to a database Cette erreur signifie simplement que le serveur MySQL-max n'est pas dmarr. Un redmarrage de ce dernier suffit pour que tout rentre dans l'ordre. On peut maintenant se rendre sur la page de garde d'ERP5 via l'url : page 9/64 Tut o r i e l N e x e d i ERP5 http://localhost:9080/erp5/ ERP5 est maintenant oprationnel sur votre machine et se suffit lui mme pour commencer l'initiation. Je conseillerais cependant aux plus courageux de mettre jour ERP5 depuis le CVS d'ERP53, pour pouvoir profiter des dernires volutions et corrections de bugs. Mise en garde : bien que ERP5 soit maintenant install et utilisable sur votre machine ou sur votre serveur, il n'est pas conseill de l'utiliser "tel quel" en production. Une configuration fine (cluster, systme d'activit, etc.) est en effet ncessaire pour obtenir des performances leves et une rflexion sur la politique de scurit des donnes est indispensable pour protger des donnes vitales pour l'entreprise. 2.3. Etendre ERP5 avec les Business Templates Les Business Templates sont ERP5 ce que les systmes de paquetages (rpm, apt) sont aux distributions Linux. Les RPM ont pour but de simplifier l'installation de logiciels au sein d'un systme. Les Business Templates ont le mme rle en prenant en charge l'installation propre et automatise de l'ensemble d'un module d'ERP5. D'un point de vue de l'utilisateur, installer un Business Template c'est ajouter une fonctionnalit majeure l'ERP, en largissant ses capacits de gestion d'entreprise. Il existe actuellement huit Business Templates, chacun tant ddi un aspect de la gestion d'entreprise: Trade : gestion commerciale (achats et ventes, commandes, bons de livraison, facturations, gestion des stocks) PDM (Product Data Management) : gestion des donnes produit (dfinition des produits, variantes, catgorisation, nomenclatures, gamme opratoire, catalogue multimdia) MRP (Manufacturing Ressources Planning) : organisation et gestion de production (ordres de fabrication, planning de production) CRM (Customer Relationship Management) : gestion des relations clientles (base de donnes des organisation et des personnes, opportunits commerciales) Accounting : comptabilit (livre de comptes, rapports financiers) 3 http://cvs.erp5.org voir galement le script update_cvs.sh dans /var/lib/zope/ qui permet d'automatiser les mises jour page 10/64 Tut o r i e l N e x e d i ERP5 HR (Human Resources) : gestion des ressources humaines (livre de paie, gestion de carrires) eCommerce : commerce lectronique (magasin de vente en ligne, affiliations) CMS (Content Management System) : gestion de contenu web (via NuxeoCPS4) Certains de ces Business Template ont atteint un premier stade de maturit (ex. Accounting permet aujourd'hui de clturer un exercice comptable). Les autres sont encore en cours d'intgration. En effet, bien que ERP5 soit utilis aujourd'hui en production sur des sites importants avec une couverture fonctionnelle complte (ex. nomenclatures, gestion de production, calcul des besoins, gestion de stock, facturation, etc.), les clients d'ERP5 ne souhaitent pas pour la plupart financer le surcot de l'intgration sous forme de Business Template gnrique du travail spcifique qui a t effectu pour adapter le framework ERP5 leurs propres besoins. Le travail d'intgration des Business Template est donc effectu par Nexedi de faon bnvole. Voil pourquoi toutes les fonctionnalits du framework ERP5 ne sont pas encore couvertes par les Business Template disponibles en tlchargement. L'un des premier module conu qui utilise le systme de Business Templates est le module de gestion de feuille de paie. Ce module permet de grer un livre de paie et de crer des bulletins de salaire. C'est ce module qui nous servira de support tout au long de l'article. Nous allons maintenant dtailler le processus d'installation de ce Business Template. Ce processus ncessite de disposer un compte avec les droits Manager. Tout convient d'accder avec votre navigateur au module portal_templates en tapant une URL telle que http://localhost/erp5/portal_templates ou http://localhost:9480/erp5/portal_templates en fonction de votre configuration. Vous pourrez alors accder la liste des Business Template : d'abord, il 4 http://www.cpsproject.org/ page 11/64 Tut o r i e l N e x e d i ERP5 A titre de comparaison, un systme ERP5 plus complet comporte de nombreux Business Templates : Notre objectif est donc de passer d'une liste pratiquement vide de Business Template une liste plus complte. Pour atteindre cet objectif, il suffit de cliquer sur le bouton "Import/Export" dans la deuxime barre de boutons partir du haut de la page ERP5. Ce bouton ressemble ceci : Aprs avoir cliqu dessus, vous arrivez sur le dialogue d'import de Business Template : page 12/64 Tut o r i e l N e x e d i ERP5 Utilisez alors le menu "Exchange Select" pour passer du dialogue "Import Business Template" "Download Business Template" : Il vous reste alors saisir dans les deux champs, d'une part un identifiant du Business Template (ex. erp5_accounting) puis l'URL de ce Business Template (ex. http://cvs.erp5.org/cgibin/viewcvs.cgi/*checkout*/erp5_bt5/erp5_trade.bt5?rev=HEAD&content-type=text/plain) et cliquer sur "Download Business Template". Le tlchargement sera effectu automatiquement ( condition d'avoir accs Internet) et, en cas de succs, vous verrez apparatre un message "Business Template Downloaded Successfully". Vous pouvez alors cliquer sur le Business Template que vous venez de tlcharger. Vous verrez alors un formulaire de dfinition : page 13/64 Tut o r i e l N e x e d i ERP5 Pour procder l'installation, allez dans le menu "Action" et appelez "Install Business Template" Vous venez d'installer le Business Template de comptabilit d'ERP5. Ce module est indispensable pour le Business Template de paye. Continuons maintenant avec la paye. Le principe est le mme, il faut juste importer un Business Template diffrent en lui donnant comme id erp5_payroll et comme URL de tlchargement http://cvs.erp5.org/cgibin/viewcvs.cgi/*checkout*/erp5_payroll/erp5_trade.bt5?rev=HEAD&contenttype=text/plain Voici un exemple de feuille de paie gnr par ce Business Template : page 14/64 Tut o r i e l N e x e d i ERP5 Illustration 3: Une feuille de paie gnre par ERP5 Pour crer cette feuille de paie, nous nous sommes bass sur un document disponible sur le site communautaire erp5.org (http://www.erp5.org/workspaces/project/erp5_payroll/erp5_pay_sheet_for_n). Ce document en anglais destin aux dbutants explique la procdure suivre pour arriver ses fins. Il vous aidera dans l'utilisation du module de feuille de paie. Maintenant que nous connaissons le principe des Business Template d'un point de vue utilisateur, nous pouvons entamer le coeur de cet article : la cration d'un Business Template. page 15/64 Tut o r i e l N e x e d i ERP5 3. Crons notre propre Business Template ! L'objectif de la seconde partie de cet article est d'offrir une vue d'ensemble de la plate-forme de dveloppement ERP5 des dveloppeurs. Dans ce but nous allons reconstruire dans les grandes lignes le module de feuilles de paie. Cela nous donnera l'occasion de dmontrer la convivialit et la puissance d'ERP5 pour la cration rapide de modules fonctionnels, mais galement d'approcher les technologies et les concepts qui sont la base d'ERP5. 3.1. Conception de la structure de donnes Les objets ERP5 drivent tous de 5 classes fondamentales : Ce modle thorique d'EPR5 dj fait l'objet d'une publication scientifique5 qu'il sera intressant de consulter pour comprendre les motivations qui se cachent derrire chacun des concepts cl d'ERP5. Nous retiendrons de ce document la description des 5 classes fondamentales : Ressource Le type Resource dcrit une ressource abstraite d'un processus mtier comme les comptences d'une personne, une devise, une matire premire, ou un produit. Node Les objets de type Node peuvent envoyer ou recevoir des ressources. Un noeud peut reprsenter une entit physique (telle une machine de production, qui reoit des matires premires, les transforment et les 5 http://www.computer.org/itpro/cover_stories/smets.htm page 16/64 Tut o r i e l N e x e d i ERP5 envoient) ou une entit abstraite (tel un compte en banque qui reoit des sommes d'argents). Les stocks sont reprsents par des noeuds. Des mtanoeud (MetaNode) sont des noeuds qui contiennent d'autres noeuds. C'est le cas par exemple d'une entreprise. Movement Cette classe dcrit le mouvement de ressources entre deux noeuds un moment donn, pour un temps donn. Par exemple un mouvement peut dcrire l'envoi de matire premires d'un stock vers un atelier; un mouvement peut aussi reprsenter l'envoi d'argent depuis un compte vers un autre. Path Un chemin dcrit le moyen pour un noeud d'accder une ressource dont il a besoin. Des prix et des profils commerciaux peuvent tre attachs un chemin pour dfinir par exemple le prix par dfaut d'une ressource fournit un fabricant. Un chemin peut aussi dfinir la manire dont un atelier obtient ses ressources du stock. Un chemin possde des attributs de date de dbut et de fin, et peut reprsenter l'affectation d'un individu une mission temporaire. Item Un item est une instance physique d'une quantit de ressource. Un mouvement peut se dtailler en une srie de mouvements traable via des items. Les Items dfinissent aussi la manire dont les ressources sont livres (selon un colis entier ou en listant les numros de srie des items dans chaque conteneur). En analysant une feuille de paie franaise classique, nous avons choisis de crer 4 types d'objets : PaySheetTransaction PaySheetTransactionLine PaySheetLine PaySheetCell Voici un diagramme de classes qui donne la hirarchie et les hritages permettant de relier les classes de bases d'ERP5 avec nos 4 nouveaux types d'objets : page 17/64 Tut o r i e l N e x e d i ERP5 Folder XMLObject Movement Delivery DeliveryLine DeliveryCell Accounting Transaction Invoice Accounting Transaction Line InvoiceLine InvoiceCell PaySheet Transaction 1 0..* Transaction Line PaySheet 0..* PaySheet Line 1 0..* PaySheet Cell La structure de donnes des feuilles de paie est calque sur le modle de facturation (Invoice). Ce dernier est dcrit par 3 classes : Invoice, InvoiceLine et InvoiceCell. Ces trois classes permettent de dtailler une facture (Invoice) en lignes de facturation via InvoiceLine (une ligne de facture par produit factur), elles mmes dcomposables selon des variantes du mme produit factur. Ainsi les InvoiceCell permettent par exemple de dtailler la facturation d'une uantit de quatre produits A en trois produits A de couleur bleue et un produit A de couleur verte. Comme nous le montre le diagramme, les factures spcialisent le systme de reprsentation des livraison (Delivery) qui implmente l'origine la structure Line/Cell. Les cellules (Cell) sont la partie visible du concept de variantage qu'offre ERP5. Ce concept permet de reprsenter des variantes d'une mme ressource comme la couleur, la taille ou la vitesse. Cela permet de dfinir plusieurs configurations d'un mme produit. L'avantage de ce systme rside dans la possibilit de configurer trs profondment l'ERP5 tout en gardant les bnfices d'une gestion gnrique des donnes selon une structure standardise. Nous dtaillerons le concept de variantage un peu plus loin dans cette article. Nous allons maintenant dtailler nos diffrentes classes. PaySheetTransaction La feuille de paie en elle mme est reprsente par un objet de type PaySheetTransaction. page 18/64 Tut o r i e l N e x e d i ERP5 Cette classe drive de la classe de base Folder via Invoice. Nous avons choisi cet hritage car les objets de type PaySheetTransaction vont nous servir regrouper au mme endroit les objets relatifs une feuille de paie. C'est pour cela que PaySheetTransaction n'a pas comme classe anctre l'une des 5 classes de base d'ERP5. Folder est en quelque sorte une "classe utilitaire" qui nous permet de rduire l'entropie du systme. Et comme les PaySheetTransaction sont des Folder avec des comportements particuliers dont certains sont les mmes que pour une facture (Invoice), nous avons d crer une nouvelle classe. Ces comportements particuliers permettront de prendre en compte la notion d'employeur et de salari ainsi que d'autres donnes propres la feuille de paie (date de paiement, salaire brut, ). PaySheetLine Comme l'indique le diagramme, chaque PaySheetTransaction peut contenir des PaySheetLine qui sont la reprsentation des diffrentes cotisations soustraite sur le salaire brut. Pour chaque cotisation il y a une et une seule PaySheetLine. PaySheetCell Les PaySheetLine contiennent les PaySheetCell, qui permettent de reprsenter et dtailler les montants de la PaySheetLine. Le systme de variantage permettra de distinguer les parts employeur et employe d'une cotisation sociale donne et de conserver une trace de la mthode de calcul des montants. Car pour une cotisation donne, le montant d'une part (salariale ou patronale) peut tre le fruit d'un savant calcul faisant intervenir un ou plusieurs taux, associ chacun une assiette (salaire brut, salaire plafonn, salaire tranche A/B/C, ). Le calcul des feuilles de paie n'est pas vident, d'autant plus que la lgislation change tout les jours Le variantage offre un avantage de taille dans ce cas car il permet de parer toutes les complications induites par la lgislation de chaque pays. PaySheetTransactionLine Les PaySheetTransactionLine sont la reprsentation comptable de la feuille de paie. Nous avons choisi de distinguer les PaySheetLine et les PaySheetTransactionLine car la reprsentation de la feuille de paie selon la logique comptable agrge certains montants et rend impossible un reporting fin sur la paye. Nous avons donc au sein d'une PaySheetTransaction deux ensembles : Les donnes du couple PaySheetLine/PaySheetCell : un jeu de donnes de page 19/64 Tut o r i e l N e x e d i ERP5 base qui nous permet d'afficher les dtails de la feuille de paie et de manipuler les chiffres dans tous les sens. Les donnes de type PaySheetTransactionLine, qui reprsentent les lignes comptable de la feuille de paie Maintenant que nous avons un modle de donnes cohrent, nous allons l'implmenter dans ERP5. 3.2. Le variantage par catgories Les objets de type Category sont utiliss dans ERP5 pour la classification. Par exemple, un document peut possder un attribut couleur. Au lieu de laisser l'utilisateur entrer une valeur libre, via un champ texte, pour l'attribut couleur, on prfrera attribuer l'objet une catgorie. On fabriquera donc via la ZMI les catgories couleur/bleu, couleur/vert et couleur/rouge : Les catgories peuvent contenir des sous-catgories. Par exemple pour dcrire les rgions gographiques : region/europe region/europe/west/ region/europe/west/france region/europe/west/germany region/europe/south/spain region/americas region/americas/north region/americas/north/us page 20/64 Tut o r i e l N e x e d i ERP5 region/americas/south region/asia Dans cet exemple la catgorie de base est region. Les catgories ont d'autres avantages comme le catalogage automatique. Ce mcanisme rend possible l'utilisation de requtes SQL pour slectionner les objets de la ZODB selon la valeur de la catgorie (voir plus bas paragraphe : catalogage). Il est possible de crer des classifications "virtuelles" base sur des documents existant ou sur des catgories. Par exemple, si un document est accessible au chemin organisation/nexedi, et qu'il existe une catgorie de base client, l'outil portal_categories autorise la cration de la catgorie virtuelle client/organisation/nexedi. Cela permet de reprsenter un lien relationnel selon le schma : le client de tel objet est l'organisation Nexedi . Le concept de la virtualisation des catgories vite la duplication des informations en offrant des mcanismes quivalent une base de donne relationnelle. 3.3. Intgrons notre structure de donnes dans ERP5 Nous allons ajouter dans ERP5 toutes les classes d'objets que nous avons dfinies dans le paragraphe prcdent. ERP5 possde des mcanismes propres pour dfinir de nouvelles classes d'objets, ce qui lui permet de prendre en charge la cration dynamique et automatise de mthodes. Le travail de cration de nouvelles classes se limite donc les dcrire, ERP5 se chargera du reste, comme la cration dynamique des "setter" et "getter". Les classes d'objets se dfinissent via un script python dans le dossier Document de l'instance Zope/ERP5. Nous allons crer une nouvelle classe PaySheetTransaction, et pour viter de ressaisir tout le code, faire une copie du fichier Invoice.py que nous diterons : [root@localhost /]# cd /usr/lib/zope/lib/python/Products/ERP5/Document/ [root@localhost Document]# cp Invoice.py / var/lib/zope/Document/PaySheetTransaction.py [root@localhost Document]# vi /var/lib/zope/Document/PaySheetTransaction.py () [root@localhost Document]# chown zope:zope / var/lib/zope/Document/PaySheetTransaction.py [root@localhost Document]# chmod 755 / var/lib/zope/Document/PaySheetTransaction.py Voici ce quoi doit ressembler le fichier PaySheetTransaction.py aprs dition : page 21/64 Tut o r i e l N e x e d i ERP5 from AccessControl import ClassSecurityInfo from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface from Products.ERP5.Document.Invoice import Invoice class PaySheetTransaction(Invoice): """ A paysheet will store data about the salary of an employee """ meta_type = 'ERP5 Pay Sheet Transaction' portal_type = 'Pay Sheet Transaction' add_permission = Permissions.AddPortalContent isPortalContent = 1 isRADContent = 1 # Declarative security security = ClassSecurityInfo() security.declareObjectProtected(Permissions.View) # Default Properties property_sheets = ( PropertySheet.Base , PropertySheet.SimpleItem , PropertySheet.CategoryCore , PropertySheet.Task , PropertySheet.Arrow , PropertySheet.Delivery , PropertySheet.Movement , PropertySheet.Amount , PropertySheet.XMLObject , PropertySheet.PaySheetTransaction ) # Declarative Interface __implements__ = ( ) 3.4. Web Dveloppement rapide avec portal_classes Il est possible de raliser l'ensemble des oprations de cration de classes ou d'dition du code via l'interface Web d'ERP5 grce l'outil portal_classes : page 22/64 Tut o r i e l N e x e d i ERP5 L'dition de code python d'une classe ERP5 permet galement de recharger chaud le seul code modifi, sans redmarrer Zope et de gagner en productivit. L'outil portal_classes est trs utile en phase de prototypage ou de dveloppement rapide. Il facilite galement l'apprentissage d'ERP5. Il est cependant dconseill de l'activer sur un systme en production car il comporte des risques levs en matire de scurit. Aussi est-il dsactiv par dfaut dans le LiveCD ERP5 ou dans les paquetages ERP5 pour Mandrakelinux. Pour l'activer, il est donc ncessaire de crer un fichier vide ALLOW_CLASS_TOOL dans le rpertoir du produit ERP5Type. page 23/64 Tut o r i e l N e x e d i ERP5 3.5. Structure d'une classe Document dans ERP5 Les fichiers de type Document ont gnralement la mme allure, et les valeurs propres notre nouvelle classe se devinent facilement. Toujours dans le dossier de l'instance Zope/ERP5, PropertySheet sert contenir des scripts python similaires ceux que l'on trouve dans le dossier PropertySheet du produit ERP5. Ces scripts aux noms vocateurs permettent de dfinir des attributs de classes et, par extension, le schma de donnes d'ERP5. Les classes y font souvent rfrence grce la liste property_sheets, comme on peut le voir dans le code python prcdent. Ainsi pour que chaque feuille de paye puisse stocker le salaire brut ("gross salary" en anglais), nous avons fait rfrence la property sheet PaySheetTransaction qui contiendra la dfinition de l'attribut gross_salary de type flottant. Il nous faut maintenant la crer : [root@localhost [root@localhost [root@localhost () [root@localhost [root@localhost /]# cd /var/lib/zope/PropertySheet/ PropertySheet]# touch PaySheetTransaction.py PropertySheet]# vi PaySheetTransaction.py PropertySheet]# chown zope:zope PaySheetTransaction.py PropertySheet]# chmod 755 PaySheetTransaction.py Voici le contenu de la property sheet PaySheetTransaction.py : class PaySheetTransaction: """ Properties for PaySheet Transaction objects """ _properties = ( { 'id' , 'description' paysheet' , 'type' , 'mode' }, ) _categories = ( , , , ) : 'gross_salary' : 'This variable contain the gross salary of the : 'float' : 'w' 'source' 'destination' 'source_section' 'destination_section' La syntaxe est assez intuitive car tous les attributs se dclarent par une liste de dictionnaires python dans la variable _properties. Il convient juste de faire attention aux listes immuables (tuple) un lement en python et ne pas oublier la virgule avant la parenthse de fin. page 24/64 Tut o r i e l N e x e d i ERP5 [kevin@localhost Products]$ python Python 2.3.3 (#2, Feb 17 2004, 11:45:40) [GCC 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> (5) 5 >>> (5,) (5,) >>> (5,10) (5, 10) >>> Ainsi (5) est interprt comme l'entier 5, et (5,) comme une liste immuable contenant un seul lment entier gal 5. La liste _categories contient la liste des catgories virtuelles. Nous utiliserons celles-ci pour crer un lien entre la feuille de paie, l'employeur et le salari. La relation source_section fera rfrence l'employeur (qui est l'organisation ou l'entreprise qui met la feuille de paie) et la relation destination_section fera rfrence au salari (la personne qui se destine la feuille de paie). Si plus tard nous avons besoin de dfinir des attributs plus complexes, nous nous inspirerons des PropertySheets pr-existante dans le produit ERP5. Cette mthode est valable pour tous les points abord dans cet article : puisque le code source est ouvert, il ne faut pas se priver de rutiliser ou de s'inspirer de choses existantes pour construire petit petit des choses nouvelles. C'est mme un obligation pour contribuer au code d'ERP5 : deux proprits similaires doivent, par principe, avoir le mme nom dans ERP5. Maintenant que notre nouvelle classe est construite, il est ncessaire soit de recharger son code (avec portal_classes sur la classe de PropertySheet puis sur la classe de Document) soit de redmarrer le serveur Zope pour qu'il puisse les prendre en compte. Si tout ce passe bien le serveur sera disponible et vous pourrez accder la ZMI : [root@localhost kevin]# zopectl program: /usr/bin/runzope program running; pid=4450 zopectl> restart . daemon process restarted, pid=4773 zopectl> logtail -----2004-05-12T18:50:03 INFO(0) Z2 Caught signal SIGTERM -----2004-05-12T18:50:03 INFO(0) Z2 Shutting down fast -----2004-05-12T18:50:03 INFO(0) ZServer closing HTTP to new connections -----2004-05-12T18:50:03 INFO(0) ZServer closing FTP to new connections -----page 25/64 Tut o r i e l N e x e d i ERP5 2004-05-12T18:50:03 INFO(0) Zope Shutting down with exit code 0 () -----2004-05-12T18:50:42 INFO(0) Zope Ready to handle requests zopectl> Il est possible qu'au moment du redmarrage, Zope s'arrte et refuse obstinment de dmarrer. Il est aussi possible d'observer un comportement trange de Zope : l'arrt et le dmarrage en boucle du serveur par priodes de 10 secondes. Les causes de ce blocage sont lies dans la majorit des ca de mauvaises permissions sur les scripts ou une mauvaise attribution de la proprit des fichiers que vous venez de crer. Une srie de chmod et chown rglera ce problme. Si malgr ces corrections le problme persiste, il zopectl intgre une commande debug, qui lorsqu'on l'appelle va arrter le serveur et le dmarrer en vous affichant le log de dmarrage et un rapport d'excution (traceback) en cas d'erreur. Par exemple : [root@localhost kevin]# zopectl program: /usr/bin/runzope daemon manager not running zopectl> debug Starting debugger (the name "app" is bound to the top-level Zope object) () Traceback (most recent call last): File "", line 1, in ? File "/usr/lib/python2.3/site-packages/PIL/__init__.py", line 50, in app File "/usr/lib/python2.3/site-packages/PIL/__init__.py", line 46, in startup File "/usr/lib/zope/./build/build-base/python-2.3/buildlib/Zope/App/startup.py", line 45, in startup File "/usr/lib/zope/./build/build-base/python-2.3/buildlib/OFS/Application.py", line 631, in import_products File "/usr/lib/zope/./build/build-base/python-2.3/buildlib/OFS/Application.py", line 654, in import_product File "/usr/lib/zope/lib/python/Products/ERP5/__init__.py", line 50, in ? from Tool import Category, CategoryTool, SimulationTool, RuleTool, IdTool, TemplateTool, TestTool File "/usr/lib/zope/lib/python/Products/ERP5/Tool/Category.py", line 35, in ? from Products.ERP5.Document.MetaNode import MetaNode File "/usr/lib/zope/lib/python/Products/ERP5/Document/__init__.py", line 3145, in ? import PaySheetTransaction as ERP5PaySheetTransaction File "/usr/lib/zope/lib/python/Products/ERP5/Document/PaySheetTransaction.py", line 62 page 26/64 Tut o r i e l N e x e d i ERP5 __implements__ = ( ) ^ SyntaxError: invalid syntax >>> Le traceback nous apprend qu'il y a une erreur invalid syntax dans le fichier / usr/lib/zope/lib/python/Products/ERP5/Document/PaySheetTransaction.py, ligne 62. En ditant le dit fichier on s'aperoit en fait que le malheureux dveloppeur a oubli de fermer la liste property_sheets avec une parenthse. Il nous suffira dans ce cas que d'une petite correction pour pouvoir relancer le serveur zope Attention : pour utiliser la commande debug il ne faut pas oublier de mettre on l'option debug-mode du fichier /etc/zope.conf. Il n'est d'ailleurs pas surprenant de devoir utiliser debug 30 fois par jour lorsque l'on dbute et que l'on ne matrise pas la syntaxe de python, ou lorsque l'on travaille sur le CVS d'un projet ERP5 en quipe et que des conflits surgissent. Selon le mme principe nous avons construit les nouveaux types PaySheetTransactionLine, PaySheetLine et PaySheetCell. Par curiosit on pourra aller consulter les classes pythons qui les dfinissent : [root@localhost [root@localhost [root@localhost [root@localhost /]# cd /usr/lib/zope/lib/python/Products/ERP5/Document/ Document]# vi PaySheetTransactionLine.py Document]# vi PaySheetLine.py Document]# vi PaySheetCell.py Le lecteur attentif aura sans doute remarqu ici que le code du module de paye est parfois situ dans le dossier /usr/lib/zope/lib/python/Products/ERP5/Document/ et parfois dans le dossier /var/lib/zope/Document. Une explication s'impose. Le dossier /var/lib/zope/Document est conu pour le dveloppement rapide de code d'extension au framework ERP5. C'est donc bien dans ce dossier qu'il faut commencer travailler lorsque l'on conoit un nouveau jeu de classes pour un client ou pour une future extension d'ERP5. Si ce jeu de classes semble suffisamment gnrique et susceptible de correspondre une fonction universelle d'un ERP, il est conseill de l'intgrer au projet ERP5 afin de le partager avec l'ensemble de la communaut. C'est bien le cas de la paye. En revanche, si ce jeu de classes est li un mtier ou aux besoins spcifiques d'une entreprise, il n'y a aucune raison de l'intgrer au coeur d'ERP5. La paye faisant dsormais partie du coeur d'ERP5, il nous arrivera souvent de mentionner des fichiers situs dans le dossier Document du produit ERP5. Cependant, pour les besoins du tutoriel, nous crerons tous les nouvelles classes dans les dossiers de l'instance Zope/ERP5, c'est--dire gnralement /var/lib/zope. 3.6. Crer un Module dans EPR5 Lors de l'introduction de ce chapitre nous avons fait l'amalgame entre les page 27/64 Tut o r i e l N e x e d i ERP5 Business Templates et les modules de l'ERP. Nous allons maintenant faire la diffrence et dcrire plus prcisment le rle d'un module, au sens d'ERP5, puis en crer un. Un module est simplement un lieu dans l'interface utilisateur d'ERP5 ou se rassemblent les fonctionnalits propres un aspect de la gestion d'entreprise. Le Business Template contient tous les scripts et objets qui permettent de faire fonctionner le module. D'o l'amalgame. La cration rapide d'un nouveau module peut tre effectue en allant l'URL : http://localhost:9480/erp5/ERP5Site_viewCreateModuleDialog o apparat le dialogue suivant : Ce dialogue comporte 6 paramtres : Module Id : l'id du dossier (Folder) cr la racine du site ERP5 et qui contiendra l'ensemble des feuilles de paye. Module Portal Type : le nom du type documentaire qui sera cr pour contenir toutes les feuilles de paye Module Title : le titre qui apparatra dans le menu modules pour le module de paye Object Portal Type : le nom du type documentaire qui sera cr pour dfinir les feuilles de paye Object Title : le titre qui apparatra par dfaut pour chaque feuille de paye Portal Skins Folder : le dossier dans lequel seront crs les formulaires par dfaut En cliquant sur "Create Module", tous les types documentaires sont page 28/64 Tut o r i e l N e x e d i ERP5 automatiquement crs et les menus mis jour. Un module de paye "vide" vient d'tre cr. Il s'agit dsormais de le paramtrer. 3.7. Intgrer les classes, donnes, menus et prsentation : l'outil portal_types ERP5 est conu autour de l'architecture Zope/CMF. L'une des caractristiques du CMF est le concept d'outil (tool en anglais) plac la racine d'un portail et conu pour fournir divers services : traduction de formats de documents, gestion des menus associs un document, internationalisation, synchronisation, etc. L'outil portal_types permet de crer des types gnriques de document sur la base de nos classes dfinies dans la partie prcdente et de leur associer des menus ainsi que des lments de prsentation. Nous ferons la distinction par la suite entre portal_types (l'outil) et les portal types (les types de document dfinis par l'outil portal_types). Le contenu de l'outil portal_types correspond aux modules et aux types documentaires disponibles dans l'instance ERP5. Pour rsumer on peut dire que tous nos portal types du genre PaySheet* sont des images dans Zope de nos classes dfinies par nos scripts python. La ralit est plus subtile car ils peut y avoir deux portal types diffrents qui se basent sur la mme classe, car leur rle premier est de crer des types page 29/64 Tut o r i e l N e x e d i ERP5 documentaires. Par exemple depuis une mme classe DocumentEcrit nous pouvons crer deux portal types diffrents : Article et CommuniquDePresse. Les deux se dcrivent par la mme structure de donnes et les mmes proprits. L'intrt de crer deux types de documents est que nous pouvons appliquer chaque type un workflow diffrent ou une mise en page adapte. 3.8. L'interface utilisateur avec ERP5Form Nous allons exploiter ici les capacits de RAD (environnement de dveloppement rapide) d'ERP5 via le produit ERP5Form, afin de dfinir l'interface utilisateur de notre module. ERP5Form est le gnrateur de formulaires d'ERP5. Il est driv de Formulator, un produit Zope cr par Infrae. Lorsque nous allons dans le module de paye, nous pouvons ajouter des PaySheetTransaction : Cependant, notre action se termine sur une erreur : page 30/64 Tut o r i e l N e x e d i ERP5 Or, la mthode de cration d'une nouvelle feuille de paie bien fonctionn comme l'atteste la prsence dans la ZODB d'une nouvelle instance du portal type Pay Sheet Transaction qui t cre dans le dossier paysheet du module : Il ne s'agit donc que d'un problme de prsentation. Pour le rsoudre, nous devons ajouter une interface utilisateur la feuille de paie pour que l'action de cration n'aboutisse pas sur une erreur lorsque elle tente d'afficher l'objet cr. Nous allons donc crer un nouveau formulaire. Comme tous les formulaires et les autres objets de prsentation, ils sont dfinis dans des sous-dossiers de l'outil portal_skins. Allons par exemple dans le dossier /erp5/portal_skins/local_erp5. page 31/64 Tut o r i e l N e x e d i ERP5 Un formulaire se cre comme n'importe quel objet zope via la ZMI : il suffit de choisir le type "ERP5 Form". Appelons notre formulaire PaySheetTransaction_view : Commenons pour l'diter par lui ajouter un champ de type float pour reprsenter le salaire brut : Pour indiquer implicitement que ce champ correspond l'attribut gross_salary de notre objet, il suffit de le nommer my_gross_salary : page 32/64 Tut o r i e l N e x e d i ERP5 L'utilisation du prfixe my_ est une des rgles de nommage propre ERP5. Si un champ de formulaire est nomm my_quelque_chose, il affichera par dfaut une valeur obtenue en appelant la mthode getQuelqueChose sur le document auquel il est appliqu. En cas de validation du formulaire, la mthode setQuelqueChose sera appele sur le document auquel le formulaire a t appliqu pour mettre jour la valeur de la proprit quelque_chose. Pour tre complet, il faut galement configurer le formulaire pour que le salaire brut puisse tre modifi en dfinissant la proprit Form action comme sur la capture d'cran : L'action "Base_edit" est appele lorsque l'on valide le formulaire et prend en compte les donnes saisies par l'utilisateur pour mettre jour le document auquel le formulaire est appliqu. Pour tester que notre formulaire fonctionne, appelons directement depuis l'url : page 33/64 Tut o r i e l N e x e d i ERP5 http://localhost:9080/erp5/paysheet/1/PaySheetTransaction_view Afin que ce formulaire soit utilis par dfaut pout afficher les feuilles de paie, retournons dans l'outil portal_types. Allons dans l'onglet action du portal type correspondant la feuille de paie. On peut alors dfinir une nouvelle action : Le choix de la catgorie "object_view" Le choix de l'id "view" correspond nous ajoutons une nouvelle feuille de module de paye, le formulaire va information de salaire brut : correspond la notion d'onglet dans ERP5. l'affichage par dfaut. Dsormais, lorsque paie depuis le menu droulant Actions du tre automatiquement affich avec une Notons ici que les deux URL : http://localhost:9080/erp5/paysheet/2/view et http://localhost:9080/erp5/paysheet/2/PaySheetTransaction_view page 34/64 Tut o r i e l N e x e d i ERP5 donnent le mme rsultat en raison de l'association de PaySheetTransaction_view l'id view dans les actions du portal_type. Il peut tre intressant ce stade de tester quelques URL typiques d'ERP5 afin de bien comprendre la notion d'accesseur. Par exemple, le fait d'avoir dfini dans la PropertySheet de feuille de paye une proprit "gross_salary" a entrain la gnration automatique par ERP5 d'une mthode "getGrossSalary". Cette mthode peut tre teste directement en appelant une URL adquate sur la feuille de paye : http://localhost:9080/erp5/paysheet/2/getGrossSalary Cette URL affiche dans le navigateur la valeur de forme de chane de caractre. gross_salary convertie sous En utilisant les proprits du formulaire et des champs qui le constituent, on peu obtenir rapidement un formulaire plus dvelopp et plus utile. On commence par ajouter des champs pour chaque proprit que l'on souhaite grer avec le formulaire : Illustration 4: De nouveaux champs pour chaque attribut de l'objet L'onglet "Order" permet de regrouper les champs et dfinir leur prsentation : page 35/64 Tut o r i e l N e x e d i ERP5 Illustration 5: Utilisation de groupes pour la reprsentation du formulaire Le style ERP5 par dfaut utilise 4 groupes : left (ou Default), right, center et bottom. Nous n'avons pour l'instant utilis que les deux premiers groupes qui se traduisent par un affichage sur 2 colonnes : Illustration 6: Le formulaire vu par l'utilisateur Ajoutons maintenant deux champs qui permettent d'associer la feuille de paie l'employeur et au salari. Avant cela il est indispensable d'installer le Business Template CRM, qui permet de grer les personnes et les organisations, en suivant la mthode explique en premire partie. Une fois install, nous pouvons nous occuper des relations. page 36/64 Tut o r i e l N e x e d i ERP5 Les champs ajouter sont de type RelationStringField : Nous ajouterons deux champs de ce type, my_destination_section_title permettra de saisir le salari qui la feuille de paie est destine et my_source_section_title l'employeur qui met la feuille de paie : page 37/64 Tut o r i e l N e x e d i ERP5 Il faut ensuite modifier les proprits des deux widgets pour qu'ils puissent fonctionner : Comme on peut le deviner avec les captures prcdentes, Base Category permet d'indiquer la catgorie de base sur laquelle la relation s'appuie. Souvenez-vous galement que cette catgorie t explicitement dclare dans la property sheet adquate, justement pour pouvoir tre utilise cet endroit. La relation d'employeur est maintenant dfinissable par une catgorie virtuelle de la forme source_section/organisation/nexedi. On peut vrifier la bonne intgration des donnes en appelant directement le getter de l'attribut sur l'objet, et ce depuis l'url : http://localhost:9080/erp5/paysheet/2/getSourceSection Pour comprendre comment ces informations sont gres par ERP5, il peut tre utile d'appeler la mthode Base_viewDict qui permet d'inspecter le contenu des objets enregistrs dans la ZODB : http://localhost:9080/erp5/paysheet/2/Base_viewDict La proprit Portal Type de ce type de widget permet quand elle de spcifier les types d'objets qui seront accepts comme relation par le champ. On retrouvera cette proprit dans diffrents widgets du produit Formulator. Ensuite, la valeur donner aux autres proprits de ce type de champ sont assez intuitives. page 38/64 Tut o r i e l N e x e d i ERP5 Nous nous retrouvons ainsi avec un formulaire qui se rapproche de sa forme finale : De existe une action view relie au formulaire PaySheetTransaction_view dfinie dans le portal type Pay Sheet Transaction, il existe une action view sur le portal type du module qui par dfaut est Folder_list : mme qu'il Nous allons crer notre propre formulaire PaySheetModule_view qui va nous servir l'affichage par dfaut du contenu du module. Pour cela il nous faut changer les actions du module et crer un nouveau formulaire : page 39/64 Tut o r i e l N e x e d i ERP5 Ce formulaire n'a besoin de contenir qu'un seul widget de type ListBox : page 40/64 Tut o r i e l N e x e d i ERP5 Toujours par convention, nous l'appellerons listbox. Les List Box sont trs flexibles et nous allons les utiliser pour afficher un rsum du contenu du module de feuille de paie. La capture d'cran suivante vous montre les proprits de la List Box : D'un point de vue utilisateur, ce formulaire aura le look suivant : page 41/64 Tut o r i e l N e x e d i ERP5 Les proprits importantes d'une List Box sont List Action et List Method. Cette dernire prend la valeur portal_catalog, pour indiquer que la mthode utilise pour la gnration de la liste se base sur le catalogue. La proprit Colum,s permet de dfinir l'ordre et les donnes des colonnes de la liste. Le reste des proprits permet de grer un comportement avanc de la liste, comme le tri, la slection de lignes, le filtrage, etc. Nous ne nous attarderons pas dessus, et je vous laisse le soin d'explorer les possibilits offertes par ERP5Form. Cela devrait tre assez facile car les noms des proprits sont assez transparents et peuvent tre compris par des tests et essais. page 42/64 Tut o r i e l N e x e d i ERP5 3.9. Les scripts python de calcul L'tape suivante consiste crer un script qui, depuis le salaire brut, produit toutes les donnes de la feuille de paie. Pour cela nous crons un nouveau script python que nous nommerons PaySheetTransaction_calcul : Nous mettons galement jour les actions du portal type des Pay Sheet Transaction pour qu'il prenne en compte notre script : page 43/64 Tut o r i e l N e x e d i ERP5 En donnant la valeur object_action l'attribut Category, on ajoute une entre dans le menu d'action de la vue des Pay Sheet Transaction : Le script tant vide, il ne va forcement rien se passer si on slectionne Calcul dans la liste des actions. Maintenant il va nous falloir coder le script pour qu'il : rcupre les donnes suffisante (salaire brut, employeur, etc), calcule les taux et les assiettes et distribue les montants selon les bonnes catgories et aux bons organismes sociaux. Les points 1 et 2 ne ncessitent pas d'explication particulires, en dehors de la connaissance fine de la mthode de calcul des montants. Nous allons ce propos simplement gnrer quelques lignes de feuilles de paies titre d'exemple. Le troisime et dernier point requiert quelques explications. Nous allons dtailler le comportement de la Structure PaySheetLine / PaySheetCell du point de vue du dveloppeur. Les cellules peuvent tre reprsentes comme des tableaux ou des matrices repres par deux catgories de base : assiette et categorie_taxe. Pour illustrer notre propos, prenons l'assurance vieillesse (les taux sont ceux d'avril 2003). La part salariale est gale la valeur du salaire plafonn multiplie par 6.55%. La part patronale est gale la somme de 1.60% du salaire brut et de 8.20% du salaire plafonn. Voici la reprsentation de ces chiffres au sein de la PaySheetLine pour un salaire de 3000 euros : page 44/64 Tut o r i e l N e x e d i ERP5 Les objets sont identifis par un cadre rouge et leurs attributs les plus significatifs sont nots l'intrieur. La cotisation "Assurance vieillesse" est reprsente par une PaySheetLine qui contient une matrice de 4 cellules de type PaySheetCell. Puisque les catgories et les catgories de base se dfinissent au niveau de la PaySheetLine, cette dernire va tre capable de gnrer automatiquement le tableau de cellules sa cration. De ce fait nous n'avons plus qu' choisir notre cellule selon les catgories et lui affecter ses valeurs. Une cellule possde deux attributs : quantity et price. quantity reprsente l'assiette et price le taux. Pour calculer le montant, il suffit d'invoquer getTotalPrice() qui effectuera la multiplication quantity * price. L'assurance vieillesse est une sous-partie des cotisations de scurit sociale, et pour reprsenter cette hirarchie nous avons cr la sous catgorie secu. Cette dernire se subdivise en part salariale et en part employeur pour rpartir finement les montants. Puisque l'assurance vieillesse est calcule partir du salaire brut et du salaire plafonn, nous avons cr les sous-catgories correspondantes dans la catgorie de base assiette. Une bonne dfinition des catgories nous permettras par la suite de gnrer facilement des rapports dtaills. Puisque dans le script nous allons gnrer les cotisations d'assurance maladie, d'assurance vieillesse et d'assurance chmage, voici les catgories que nous avons ajoutes dans l'outil portal_category : categorie_taxe categorie_taxe/secu categorie_taxe/secu/part_employeur categorie_taxe/secu/part_salariale categorie_taxe/chomage categorie_taxe/chomage/part_employeur categorie_taxe/chomage/part_salariale page 45/64 Tut o r i e l N e x e d i ERP5 assiette assiette/salaire_brut assiette/salaire_plafonne assiette/tranche_a assiette/tranche_b assiette/tranche_c Voici donc le script python qui gnrera les quelques lignes de feuilles de paie : # Ce script est donn titre d'exemple # Les constantes ont t codes en dur pour faciliter la lecture global paysheet paysheet paysheet_type paysheet_cell_type paysheet_transactionline_type = = = = context.getObject() paysheet.getPortalType() 'Pay Sheet Cell' 'Pay Sheet Transaction Line' employer = paysheet.getSourceSection() employee = paysheet.getDestinationSection() if employer in ('', None): return context.REQUEST.RESPONSE.redirect(context.absolute_url() + '?portal_status_message=The+employer+is+required') if employee in ('', None): return context.REQUEST.RESPONSE.redirect(context.absolute_url() + '?portal_status_message=The+employee+is+required') employer_object = paysheet.getSourceSectionValue() if employer_obj.getDefaultAddress().getZipCode() in ('', None): return context.REQUEST.RESPONSE.redirect(context.absolute_url() + '?portal_status_message=The+employer+must+have+a+zip+code') gross_salary = abs(paysheet.getGrossSalary()) employer_region = employer_object.getDefaultAddress().getZipCode()[:2] # limited salary = salaire plafonn if gross_salary < 2432: limited_salary = gross_salary else: limited_salary = 2432 # "Char" slice type if gross_salary <= 2432: char_slice = 'A' elif gross_salary <= 9728: char_slice = 'B' elif gross_salary <= 19456: page 46/64 Tut o r i e l N e x e d i ERP5 char_slice = 'C' else: char_slice = '' ######################################################################### # This part of the script implement functions to register all pay sheet # informations from an ERP5 point of view. ######################################################################### def createPaySheetItem(title='', dest_org='', cells=[]): global paysheet # get all variation categories used in cells var_cat_list = [] for cell in cells: var_cat_list.append(cell["x"]) var_cat_list.append(cell["y"]) # add a new Pay Sheet Line payline = paysheet.newContent( portal_type = 'Pay Sheet Line' , title = title , destination = dest_org , variation_base_category_list = ('tax_category', 'salary_range') , variation_category_list = var_cat_list ) # fill each cell with values for cell in cells: paycell = payline.getCell(cell["x"], cell["y"], base_id = 'movement') paycell.edit(quantity=-cell["base"], price=cell["rate"]/100.0) ######################################################################### # This part of script describe the behaviour of the calculation process # from accountant point of view. ######################################################################### # social organism org_urssaf = 'organisation/urssaf' org_assedic = 'organisation/assedic' # variation categories cat_social_salary_share cat_social_employer_share cat_unemployment_salary_share cat_unemployment_employer_share cat_gross_salary cat_limited_salary cat_slice_a cat_slice_b cat_slice_c = = = = = = = = = 'tax_category/social/salary_share' 'tax_category/social/employer_share' 'tax_category/unemployment/salary_share' 'tax_category/unemployment/employer_share' 'salary_range/france/salaire_brut' 'salary_range/france/salaire_plafonne' 'salary_range/france/tranche_a' 'salary_range/france/tranche_b' 'salary_range/france/tranche_c' # sickness insurance = assurance maladie if employer_region in ('57', '67', '68'): page 47/64 Tut o r i e l N e x e d i ERP5 salary_share_rate else: salary_share_rate createPaySheetItem( , , = 1.70 = 0.75 title = 'Assurance maladie' dest_org = org_urssaf cells = [ { "x" : cat_social_salary_share , "y" : cat_gross_salary , "base" : gross_salary , "rate" : salary_share_rate }, { "x" : cat_social_employer_share , "y" : cat_gross_salary , "base" : gross_salary , "rate" : 12.80 } ] = assurance vieillesse title = 'Assurance vieillesse' dest_org = org_urssaf cells = [ { "x" : cat_social_salary_share , "y" : cat_limited_salary , "base" : limited_salary , "rate" : 6.55 }, { "x" : cat_social_employer_share , "y" : cat_gross_salary , "base" : gross_salary , "rate" : 1.60 }, { "x" : cat_social_employer_share , "y" : cat_limited_salary , "base" : limited_salary , "rate" : 8.20 } ] ) # old-age insurance createPaySheetItem( , , ) # unemployment insurance = assurance chomage if char_slice in ('A', 'B'): if char_slice == 'A': cat_slice = cat_slice_a else: cat_slice = cat_slice_b createPaySheetItem( title = 'Assurance chomage' , dest_org = org_assedic , cells = [ { "x" : cat_unemployment_salary_share , "y" : cat_slice , "base" : gross_salary , "rate" : 2.4 }, { "x" : cat_unemployment_employer_share , "y" : cat_slice page 48/64 Tut o r i e l N e x e d i ERP5 , "base" : gross_salary , "rate" : 4.0 } ] ) Si votre diteur prfr supporte le protocole WebDAV, n'oubliez pas que Zope le supporte galement. En d-commentant quelques lignes dans le fichier / etc/zope.conf et aprs un redmarrage de Zope, WebDAV sera activ et vous pourrez naviguer au sein de la ZODB puis diter trs facilement des script python dans votre environnement de dveloppement favori. Illustration 7: Utilisation de WebDAV avec KATE Avant de tester le script, n'oublier pas de crer les organisations Assedic et Urssaf avec le mme id qui est utilis dans le script (organisation/urssaf et organisation/assedic) pour qu'il puisse fonctionner. page 49/64 Tut o r i e l N e x e d i ERP5 3.10. Le reporting Nous allons voir dans cette partie comment utiliser les donnes gnres par notre script pour crer des rapports et les versions imprimable des feuilles de paie. Ces dernires seront produites au travers d'une Page Template que l'on crera dans local_erp5 sous le nom de PaySheetTransaction_print : Les page templates ne sont en fait que de simples fichiers html (ou xml) dans lesquels nous allons utiliser des attributs spciaux dans les balises. Ce langage nomm TAL (Template Attribute Language) propre Zope permet de dcrire un comportement dynamique des pages. ERP5 intgre d'ailleurs un script qui permet de convertir automatiquement un document OpenOffice en TAL afin de faciliter la cration rapide de rapports PDF. Dans le cas de notre feuille de paie, nous allons crer un script python qui va se charger de pr-formater les donnes de la feuille de paie et nous allons l'appeler depuis la Page Template. Le script, que nous appellerons PaySheetTransaction_getDetails, va se charger essentiellement de collecter les part patronale et salariale pour chacune des taxe et les rassembler dans un dictionnaire : # this dict contain all paysheet details page 50/64 Tut o r i e l N e x e d i ERP5 paysheet_details = {} # initialize the employee and total_employee_share total_employer_share total_taxable_employee_share employer share total = 0.0 = 0.0 = 0.0 # get the gross salary gross_salary = context.getGrossSalary() if gross_salary == None: gross_salary = 0.0 paysheet_cat = {} object_list = [] for object in context.objectValues(): object_list += [object] # Sort the list by id since lines are already ordered by id. object_list.sort(lambda x, y: cmp(int(x.getId()), int(y.getId()))) for pay_sheet_line in object_list: variation_list = pay_sheet_line.getVariationCategoryList() range_variation = [] for variation in variation_list: if variation.find('salary_range')==0: if not variation in range_variation: # Extra checking because # get VariationCategoryList returns # the same 1 items 2 times range_variation += [variation] for range in range_variation: pay_sheet_dict = {} #pay_sheet_dict['range']=range[range.rfind('/')+1:] pay_sheet_dict['id'] = pay_sheet_line.getId() pay_sheet_dict['title'] = pay_sheet_line.getResourceTitle() for cell in pay_sheet_line.objectValues(): predicate_list = cell.getMembershipCriterionCategoryList() if range in predicate_list: pay_sheet_dict['base_name'] = context.portal_categories.resolveCategory(range).getTitleOrId() for predicate in predicate_list: if cell.getTotalPrice() != 0: if predicate.find('employee_share')>=0: pay_sheet_dict['base']= - cell.getQuantity() pay_sheet_dict['employee_share'] = cell.getTotalPrice() pay_sheet_dict['employee_share_rate'] = cell.getPrice() * 100 total_employee_share += float(-pay_sheet_dict ['employee_share']) # here we decide if a resource is taxable or not if str(pay_sheet_line.getResource())[-14:] == 'non_deductible' or str(pay_sheet_line.getResource())[-4:] == 'crds' or str (pay_sheet_line.getResource())[-7:] == 'taxable': pay_sheet_dict['taxable']='yes' elif str(pay_sheet_line.getResource())[-10:] == 'deductible': pay_sheet_dict['taxable']='no' else: pay_sheet_dict['taxable']='no' page 51/64 Tut o r i e l N e x e d i ERP5 if pay_sheet_dict['taxable'] == 'yes': total_taxable_employee_share += float(-pay_sheet_dict ['employee_share']) elif predicate.find('employer_share')>=0: pay_sheet_dict['base'] = - cell.getQuantity() pay_sheet_dict['employer_share'] = cell.getTotalPrice() pay_sheet_dict['employer_share_rate'] = cell.getPrice() * 100 total_employer_share += float(-pay_sheet_dict ['employer_share']) for key in ('employee_share','employee_share_rate','employer_share','employer_share_rat e'): if not (pay_sheet_dict.has_key(key)): pay_sheet_dict[key]='' # so that we can display nothing # find the category of the current pay sheet line cat_id = None cat_path = None for var in variation_list: sub_cat = var.split('/') if sub_cat[0] == 'tax_category': cat_id = sub_cat[1] cat_path = sub_cat[0] + '/' + sub_cat[1] break if cat_id == None: cat_id = 'no_cat' # add the current pay sheet line to its category if not paysheet_cat.has_key(cat_id): paysheet_cat[cat_id] = {} paysheet_cat[cat_id]['lines'] = [] if cat_path != None: paysheet_cat[cat_id]['title'] = context.portal_categories.resolveCategory(cat_path).getTitleOrId() paysheet_cat[cat_id]['lines'].append(pay_sheet_dict) # get all paysheet transaction to calculate the sum of different value in a year accounting_folder = context.aq_parent paysheet_transactions = accounting_folder.contentValues(filter= {'portal_type':'Pay Sheet Transactionss'}) # initialize every yearly variable yearly_net_salary = 0.0 yearly_gross_salary = 0.0 yearly_employee_share = 0.0 yearly_employer_share = 0.0 yearly_taxable_net_salary = 0.0 # get the current paysheet start date and employee start_date = context.getStartDate() from DateTime import DateTime start_date = DateTime("%i/01/01" % start_date.year()) stop_date = context.getStopDate() employee = context.restrictedTraverse (context.getDestinationSectionRelativeUrl()) page 52/64 Tut o r i e l N e x e d i ERP5 #start_date = start_date.strftime('%Y-%m-%d') #stop_date = start_date.strftime('%Y-%m-%d') #yearly_employee_share = -float (context.PaySheetTransaction_zGetDetailedTotal (start_date=start_date,stop_date=stop_date,tax_category='employee_share') [0].total) #yearly_employer_share = -float (context.PaySheetTransaction_zGetDetailedTotal (start_date=start_date,stop_date=stop_date,tax_category='employer_share') [0].total) yearly_employee_share = 0 yearly_employer_share = 0 try: yearly_employer_share = -float (context.PaySheetTransaction_zGetDetailedTotal (start_date=start_date,stop_date=stop_date,tax_category='employer_share') [0].total) except: pass # browse through paysheet transaction for paysheet_obj in paysheet_transactions: # ignore the current paysheet to avoid infinite loop if paysheet_obj.getId() != context.getId(): # the paysheet must have the same employee if (employee==None) or (employee!=None and context.restrictedTraverse (paysheet_obj.getDestinationSectionRelativeUrl())==employee): # check the date if (start_date==None) or (start_date!=None and paysheet_obj.getStartDate()!=None and start_date.year() ==paysheet_obj.getStartDate().year() and paysheet_obj.getStartDate()<= start_date): # get all detailed values of the paysheet ps_details = paysheet_obj.PaySheetTransaction_getDetails() # sum of yearly values yearly_net_salary += float(ps_details['net_salary']) yearly_gross_salary += float(ps_details['gross_salary']) yearly_employee_share += float(ps_details ['total_employee_share']) yearly_employer_share += float(ps_details ['total_employer_share']) yearly_taxable_net_salary += float(ps_details ['taxable_net_salary']) # save the total share values in the exported dict paysheet_details['net_salary'] = gross_salary total_employee_share paysheet_details['gross_salary'] = gross_salary paysheet_details['paysheet_categories'] = paysheet_cat paysheet_details['total_employee_share'] = total_employee_share paysheet_details['taxable_net_salary'] = paysheet_details ['net_salary'] + total_taxable_employee_share paysheet_details['total_employer_share'] = total_employer_share page 53/64 Tut o r i e l N e x e d i ERP5 paysheet_details['total_taxable_employee_share'] total_taxable_employee_share # don't forget to add the current values to the paysheet_details['yearly_net_salary'] = paysheet_details['net_salary'] paysheet_details['yearly_gross_salary'] = paysheet_details['gross_salary'] paysheet_details['yearly_employee_share'] = paysheet_details['total_employee_share'] paysheet_details['yearly_employer_share'] = paysheet_details['total_employer_share'] paysheet_details['yearly_taxable_net_salary'] = paysheet_details['taxable_net_salary'] return paysheet_details = yearly sum yearly_net_salary + yearly_gross_salary + yearly_employee_share + yearly_employer_share + yearly_taxable_net_salary + Une premire version de notre Page Template pourrait ressembler ceci : VPN Nexedi VPN List page 54/64 Tut o r i e l N e x e d i ERP5 page 55/64 Tut o r i e l N e x e d i ERP5 page 56/64 Tut o r i e l N e x e d i ERP5
Nature Assiette Montant Taux part patronale Part patronale Taux part salariale Part salariale
Salaire brut ???
Total des cotisations
Salaire Net
Salaire Net Imposable
page 57/64 Tut o r i e l N e x e d i ERP5
Salaire brut Cotisations salariales Salaire net Net imposable Part patronale
Ajoutons ensuite une action dans le portal type des Pay Sheet Transaction avec la valeur object_print pour category : Grce cette petite manipulation il nous reste plus qu' cliquer sur l'icne de l'imprimante dans la vue d'une feuille de paie pour rcuprer la version imprimable : La Page Template sera appele dans le contexte actuel et la feuille de paie imprimable s'affichera l'cran sous forme de document PDF : page 58/64 Tut o r i e l N e x e d i ERP5 Illustration 8: Une feuille de paie gnre par ERP5 La technologie employe pour le rendu PDF est reportlab. Il s'agit d'une bibliothque crite en python, utilise par des tablissements financiers prestigieux et capable de gnrer plusieurs centaines de pages PDF par minute sur un serveur bas de gamme. page 59/64 Tut o r i e l N e x e d i ERP5 3.11. La cration du business template Maintenant que le module fonctionne dans son ensemble, nous allons le rassembler au sein d'un Business Template pour pouvoir le distribuer et l'installer facilement. La procdure de cration d'un Business Template est assez rapide si on connat exactement toutes les composantes qui sont ncessaire au bon fonctionnement du module que l'on veut packager. Il faut d'abord nous rendre dans l'outil portal_templates et ajouter un nouveau Business Template en utilisant le menu "Action". Nous appellerons ce Business Template erp5_payroll et allons maintenant l'diter et lister dans les diffrents champs les objets qui doivent tre inclus : http://localhost:9080/erp5/portal_templates/GestionDesSalaires/view Les champs renseigns sont : id : L'id du Business Template Name : le nom du Business Template, qui doit tre unique pour chaque groupe de fonctionnalits Portal Types : la liste des types documentaires dfinis par le Business Template Skin Folders : le dossier dans portal_skins o sont stocks les lments de prsentation page 60/64 Tut o r i e l N e x e d i ERP5 Base Categories : les catgories et relations ncessaires au fonctionnement du module Paths : des documents ncessaires au fonctionnement du module (ici, les organisations URSSAF, etc, ncessaires au calcul de la paye) Maintenant que le Businnes Template connat toutes les composantes de notre module, nous pouvons construire le Business Template via l'action "Build Business Template" du menu "Action" puis l'export via l'action "Export Busines Template" du mme menu. On peut ds prsent tester notre nouveau Business Template sur une nouvelle instance de Zope pour s'assurer que notre module fonctionne avant de le distribuer. page 61/64 Tut o r i e l N e x e d i ERP5 3.12. Le point sur la catalogage Le catalogage est en fait un moyen de stocker certaines information d'un objet (comme sont ID, titre, description, etc) dans une base de donne annexe. Le catalogue permet de slectionner instantanment des objets sans reparcourir toute la base objet de Zope. Il permet d'effectuer des requtes rapides sur des bases de grande taille. Nexedi a par exemple dploy un systme contenant plus de 2.000.000 de documents et plus de 10 000 000 d'enregistrements de catalogue. La technologie de catalogue dveloppe par Nexedi pour ERP5 se nomme "ZSQL Catalog". C'est un produit zope qui permet d'effectuer des requtes SQL sans limite de complexit sur un catalogue dont la structure est elle-mme adaptable sans limites. L'objectif est de constituer un catalogue selon un modle d'indexation susceptible d'offrir des temps de rponse trs courts. L'approche est similaire celle utilise par les moteurs OLAP ou le datawarehousing pour le traitement statistiques de donnes consolides. page 62/64 Tut o r i e l N e x e d i ERP5 4. Conclusion Nous avons appris dans cet article installer une plateforme ERP5 et ses modules grce au systme de Business Template d'ERP5. Nous avons ensuite cr une version simpliste du module de feuille de paie qui existe dj dans ERP5. Il existe beaucoup de diffrences entre ces deux versions. En particulier, le module de paye d'ERP5 repose sur le moteur de planification d'ERP5 afin de permettre des prvisions de trsorerie. Cependant, la structure de donne et les principes de base restent les mmes. Nous pouvons dsormais exploiter ERP5 pour construire en un temps record un ERP fonctionnel capable de grer un grand nombre d'aspects d'une entreprise ou d'une organisation. La bibliothque actuelle de Business Template, qui est appele croitre et s'enrichir, offre la fois des briques de base et une source d'inspiration. Si toutefois les Business Template existants ne rpondent pas votre besoin, vous disposez dsormais des bases ncessaire pour crer les votres. Dans ce cas n'oubliez pas de partager avec nous vos crations sur le site web www.erp5.org et sur les mailing-list erp5-dev et erp5-user. page 63/64 Tut o r i e l N e x e d i ERP5 5. TODO Amliorations envisager sur ce document. Question se poser: * faut-il supprimer certaines parties trop dtaille ? (variantage, category, construction des classes) * indiquer les conventsion de nommage utilises par ERP5 * crer avec le lecteur un nouveau folder dans les portal_skins et lui faire changer les settings pour lui expliquer comment erp5 va chercher les formulaire ? * dire l'utilisateur qu'il est prudent de donner un nom chaque formulaire * ne pas evoquer les paysheet transaction line ? (compression de l'article) TODO: * couper les parties des images qui ne sont pas utiles (surtout celle avec des scrennshot de dropdown list/combo) * mettre en italique les babarismes (getter / setter / packages / etc) ou trouver une version franaise * intgrer une bibliographie/webographie la fin de l'article * intgrer "Lors du dveloppement du vritable Business Template, que vous trouverez dans la section download du site erp5.org, nous n'avons pas eu besoin de crer de module. En ralit le produit final des feuilles de paie est rassembl dans le Business Template Human Resources (HR) qui contient aussi les fonctionnalits de gestion de carrires et s'intgre dans diffrents modules pr-existants (les feuilles de paie dans le module Accounting et la gestion de carrires dans le module Person). " * simplifier les scripts et templates de rapports * mettre jour les recopies d'cran qui mentionnent base_edit, base_update_relation, etc. en utilisant le nouveau nommage (Base_edit, Base_updateRelation, etc.) page 64/64
%PDF-1.4 % 1 0 obj << /Length 2 0 R /Filter /FlateDecode >> stream xWn7 /sLDJ$%`GM]8~Q: z x?Oƻ/ózQ)}ӽ>~œ|p翎&t1\iB>Z\NBp/7bI{s{xtW޺wWWIR* Nh=`11I2hl2*]gsctYV8 oC#wWb詞 Φ[@-;HqX[oIܬ^gLC5kfj:u#*f}jȣY^S²("Ž.[%- #F{HzC C@RᇂyZM\:Xlø(aNmdnn>U蘵1F>9yȼAZoPRYj1,o #VFAid5n-?ԡ>}9/zs=9rҟw7Z`0jABg;/Pjy/Vb^X= C]Jc *$Bw֛Y |ق\t$7^"y)-c!,ෘ˺cAgӾJe1 "_;/ͱ!6ٶ4ZdPQg'x8P9&[6N|Y NH*_zҹ~Gݽ{vPGB 1̫=\˛/sͯO~r2D7XoIW+6_gendstream endobj 2 0 obj 891 endobj 4 0 obj << /Type /XObject /Subtype /Image /Width 205 /Height 102 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 3441 >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOf" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(Ð((((((((((((*升CbM8tPKPqhzG)z/shZ> [\>K_V<5-̯Fn_ ݱY+ϹcC{ZM=j LySqOje* t?5Mkh=hGPֿ5hΑm,Y`܎?r&-ī+>51qo&'5$S+c dV$p}A76wr49+|bW+3/,.P{UGo7-((o&Duk}7Z~{[aғ6jӼBM7(cf#k_F[s3ni'Թvz֡fpHwJKa>dmJ^ǩX gu?{Ug:\ۨX$2ZQݙRсEv> KJIlOz ? ‡7}gEw*im#[ML]2G<w8j)$rI'kC0(AT5+oC}5M_V?]}Q[[Kk:z6:v\^%v@~ZVVR9P /_^IY7u ѿ#\` S0\?YCfEj![U9f?jO˗i|o~Rx\GvrQJQK18 [_Y?t# ƎM3l?Ui:Qk ?tv:k"G>Xgsg,_Տ|+ڎ r=6IXf " :gӌUd˒!S_Ҫ-%M J+FDlмwVuZiCMnQE0 (:٫cZ6 6??/;'hνbJ_@F qW%EiȌAbAVW b5mB->c 8.nxk@FЍsڭ,KxP?jO˗kxk.hYE|n*zd7iaٟ|樭9쿩k0r#NLd-R[8bqc늧E;+XI4HpFO2߶}55}J7޷ӓӖTRQHnM8&n#ְ|Wgt(XTt ?ƛYb`Jِ?Y34QEQEIL $]Mt{ljƿm]|#e=\DљXaX`wL;[VlHsqX_ET[46_@3*u-w8S[>%gI(O9>J-l44_F?~wҭaO5xf($$Q*1VP~5QWemc cl}>"&,lFpxeYbb*GcZ<2gu- j6l }!=?¸2$Ak4]M5;1'TE>CX&G7Qc5'YV|qBx#SfOxBB\i|_g5ͬAHbc(Roݜe$e"B5;Թy8nU(I2!` +Dmvg_LREF7Lh沺Mm*t5wMЯo1ǰTZfO=-Os*^r?juk]Xi46OR}fgrK3zQys3I;.T%QZ\/lo,9 N^Ư$z4 ?#!VUWa>z?“T.'Ver(WYTQʻ3jGCO=_~eQG*Ϲba-ܞc8>^)g{sc)SpGHiE&m(WYTQʻ3\oXN6(N)a7pZop?2GQ -q.?TJJD?׬*TR>fQT (((((((((((((( endstream endobj 3 0 obj << /Type /XObject /Subtype /Image /Width 548 /Height 100 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 8479 >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd$" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( )HFdz7F#^J;B>_f{UKNM̾1S^ixW[>[?͓qyqeg>UW=U f=&nQ+7s;d8>Wܪ{#=+Z>#w()?<^ M;,Ẅ9:b*jEP@p)kaEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\Χ}/M&4Rx NMxNro5+sJ֔="?ZD,ik~YlN]uxDŽ~{~o^EH FfhVqx9=ϵO*(f+FJSN7as۴Mf[kHHÔ=*-~k%# "OEc+_AQYm5.o2/X>thIע#+ ˨Xv%gUW;+EYN?W Hq"]?Bhr;eo^z+R]M~-5QE((((2kQVefG_984 &Q+et SQuMP;SVz]7+- p~&-O%ܹM2 _~XiZll曶_}OA]fL>vx?ZXGpKI]1@f}AVjڦ gZ?ʟWiѴ46k$ZMmRuiL>v'U HʎO5rͽQEHQ@Q@~$o { 2DH lizMT­1 *Fg*\OY ˀ/?f{̌bWxzr=Cu?C^AиxPáje>+>&Ac$>Hzڧu" V.cS%m;zO6+ExvsOpafu3yKyA|=W?)A騢[Uf_<@zE 穬I9'$֊+65 I[&V?RѥQ5?4=? n`U=+Rմ-1z\U_VMT}>W/gdIZ۴Q6 ʮ0r qVeS}ͭg o^OY eFE9VSֵ>b>$oO~WU]Ov&Ef2s+UN.+Q3ekk77Deah,Z%6G]0D, $ ƣKÚFuO6]wy`@xsO*\\Yi}kSֿkMc!$OѻZ{6sء !vQ}3׊}'Ns|\-1I 8Sk.kA$+|cog3Y$q՘8+N: ś6$tեq` zUX >jwn?`?FV%yʿԊ)iu[_Ӯz?>R9%M;㺒|zu?llx?R$fg(pϚ޲v &(#] t+ُx8E`_9=3u*|jt>9$Kg=LdVյ{gdn~3i3,Uq?ITP觳 MXBW'0 EU-}ʺ}̳[Ԫ/ xC&7~?Zuret8SC~zE)1;OspmF"܄n?w NWP5MHM"݅Gj-ixSWiai9ӧ[*RuRPX];[P{|Nfa7d9t+u$aU*(U ( ( ( ( ews5%``p {8?4һ畧I9yrs]|+f'P=Ϸ|[[,yr((*"Uk9[D$2 1豨QUm_HlpAگTWs/a?@3XfJѱq+ټ!y{8wqba[˶vLv'M{Ylv1M>$cдyo\qć[_R.._%uSy-m5'Gv&J* 8@菻߇V‹2bWVV4EOTVlg ?Y66 .':v?J{/abԏjdUz޵ϡm'[8nSȿB3RTt8:ꖱ䢯V#I.JxXGR +5ohSHcKRUZnVL~j->zF_%!啂ƊYu5~ |_fWg鱿|Fԍq$lpr\~Hv8_skĈ>ʾS\q:C4HB&]M!Yզ\>T9qζmB".졁d\L&4b~[.tuxKKP3k{c(:kw *L1Yn`_4'xR~soӼSu? _PvGDEaT+uhp[ g\Q515K8 ^%#8(tUv(袊(鯧bU xѴuOloNz{mKMl!$mO=yQٴUxkx2V n]B8u#zD٪YyǞ^A>[Yt˱"UW>e뎻#^.{3Ej_x.[QFEf?&M6Ov7-LYúܧ ]+Qq F~;l 5u%zjRɟkZ8Aj[|7b>רA!-M]ߎu댅{Eɬ[Fyz5".n& ?Aֶ<9`mGo,?e-nuO|s^0@(u@}S?,GݖZ(1O?k֨Udǂ:Oi>Y!B =n n~ ׯ^yci}ym"r2/c,ykOi|H,7La5$Ο#/2)}}+ʵ?Z~Y`Q?_Ұ}I,!꤫ =eTW~=լa/#_촿hچyg]+)S He# ijQEQEQEQE|U٦YYҙQo~-U#Ȋ-A-uۋ8? zq -<gh(k7 wd{l,lY#HGB*7mV2Q!/+ۤu'b}.Yi7De`h>D׋E>]z {rJrH7ԜՕеPɤ߲"#&G||ե;-@Ŧ wb)ķ[?X"*,U8w]Ǘk7o[?^]PK*DَU:w9'<\.]w7 e^BT^p7Ioe3́'QMvjV2񻒮 y@mqN 9=]Ǘjdyf~=DlB|+6!9D7(Dv"n5hAA>ϱyzL/PqZMYY!Mfj2Xt|'v`=3Zzw5M*[kz?4*/EWx.BDs9T̛ x=5&}4MsS[w_9_D֟M,lDf*x.4 ڛ#>{z)|m8T?1G0}S?1[SDl< Y骺xQ?һ>[yشRGO ˽?w_mqC5wyNT61v?[`4C/s>o< qj? xoZm닍<>tgi~i&wmyo N1#5^}ﭚ s\V cNtxb>r+JsMYF|r44Xc< qV]9"?b\q?^j]J$ܾx$?S+uZYktU*@)&uK9LgjkJ#ذ ]iMe*I<ʢGcfN HPOWDH`DZuw_{y˕=Zyeu`6W<#&7FOQw[ú6b* Gtk(rp+$I[56Y&#QҼQS$?z -jd8(? +OSVE4Ǫ 7~R"5JI<=? <Uvzv{k |׿ZMY sVP)rDj[5r;K+,>7WI⵶+<S? <U*M$ o3kif?4HZwr1\|-XȔ~ ?lFZHV:zV#ɸ?^ >ǡ:LoNۇ^!֦ Ko&5HnLit=.(FQEQEQEQEQE1a[rāB袀 ( ( ( ( (.U P-QEQESQ#@ޠ ((((((((((((((((((/,0^Aџufh~[۷GPmGU&ڢ*@(((((((((((((((((((( endstream endobj 5 0 obj << /Length 6 0 R /Filter /FlateDecode >> stream xZێ6 }_`:]m~@(K~=I{هʖHrx( __OiS}~0;?8ZR%vC)~ӗ? ~}g]XFFqHwt8RqNőI8p$ȴ4~GsƑw.4 >|ܩw, ͑3HnD|=ȦOhw\wx 9NZkhwѡD@Axk_erV.%Pc+-Ynzdƪхy=ŏgyD#p\ИV[,AHKIXOcfJQm|ZS }F% GIXch ij=a¶MD4rݎu)rG ikn+ j<UH Fb`8zqvZJ+*Ep E ckGR5 !*x:BJ\ 0^E~|א9ߣq!X~ Kp؍:UAkXrǂ(~lؐv"0 y6 JEe[o0\ҵ2c1lnaV/*ljq}Xu/\"(dtXX Yo(CF0b;*d}6"9~nb]NX#Pq~WL # TwJZR#-ϼa"f\ qrX˨Ũ-.NRR%NII;`Li3A*7lir3["'\1vOW52j5> ŰAHݠbM2Hؼiq+4e>+\TT6V Ckcp︬ vrʫ̪@e بJa! hXОHô&mP*б\?vE.O Za* #YF{*mn뇕@`%`RofXiRw3;id[jHH>-Cv`mcq4oFt2ޛc5]3^,JM;qrɃװ'0_OҬ.(cQbGsqAT0] ۰nˁȅ3Ce[-ЁC gC1x& As{;` mT8b{W (H)D+[Ș& k59BEMc.hz^;]/ciR/=uaBJ޵Ora0VQj+87 tA4`҈D<|{Jnm>9,*=Ȁ{qѫ#Es] ElGVzdu/p4kH)qTOt+XNb$\E8:HE=9܁Eo!FhvJ&qk~___zï?*73hSj Rsr3G ftf\<Ջ:R0QZg 5ݰ\I+ ,i ca32&U~s e#代>/cIeqDži^6XFY+.L};DlסCngFȅFY͖V`]*PtBW_]wP/@ #I "`vMܣ®^o#T{8n_O)0>6!ڲ/K:̴{T5Qb+n4{SfDwf]7PJ=Yn44y|#V qT ą["+ZYnsȹĵ4V~ߙDh^䢜wL#FQtP)F/#qVc~ Iß5X`'4 -G6A}܋voy4*WǞC5MxQ>A݊=Y':ou\FJF<~İkL3 y]/P^p8wj rF6ۍg)n?r%=66<7ϽqljK 0LgBc;Vϲ̓t\zlLe!}endstream endobj 6 0 obj 2231 endobj 7 0 obj << /Length 8 0 R /Filter /FlateDecode >> stream x\Ɏ$ 7gAF ֻ `Q\*\z*$PT$M(mnR3$lGOͿ^_[bN% o&-7ʿ͸0~HomoWh 47?yʮ92#%)<̨Nww"QzegQ2QZ,yDYxDBC_lyyx+QKT[(w1|,хij4 CK^\c:-o x(Z1b0>'zUHbQMD2`0ldG'"d*d3<0S_9CN~}wqn0'ΰ]7IB,+" "Y59 p95i2o2$=Z9F.y)ta<g}}o{έ^9XFƵ H eGV#$B-D:CN"fL{WgÇpaTL'1/} k\nGw؁lqE;e|2 #>l.0@NZ00 ̅t da4T(x10r4:C[AQS>a_mO!%;e씝LI˶-0nm ]T+l )džV#x, p`S(֊ ]4 nGsYƫޒ'>^hW Y UzXľ+Kr1u?9ea") keq{{LXD[T :P KjTǩ7Pv:IfhF'壛E X)ǩ4RDnX_pӗ.3Ñ"@ Y )3+9Q QW%u)Zρm{FMSJ/c)nɧA+wuT|\YJX(59\TTOmAX DNz݂W9Ƣ́tAj iHx!\)y!x@Qiي@9LO||>G\N<%2xRQCa>z9ADN㉏\3Pb*2GE?bky hB.TgD>m'8NV.madl9b씝am +o]ypŜ)`xx`ƒ8CTq′M@&.wD뮧K[=lXcxyqTeBl\{ %8T+Jp{!s.Š+8VC\]X JKkOS˜NS @qpSr Ȓ|\ ǠMlɲE X1UFӻ%˽2ت!\p(p;t"/|yL) 6yflCt۶] ynͲ"VD:(raT'oMıFqOquQ3īH9=}^vXAڲ[C>ʬsYzޫ֓7V^?|eEޙQԕ]QSr4 OAɘ3e\ș\OF{OE4T7ͦ~-nmq+[zlSRZZwGblR~ZjKF9gB*UF[+*[h;%0R ÈOkNo++gLv+Qj{E,lv4(_|Vkw;I!Du 썊-d9,[}@b<儽,wP|U2Ri:4lɏBgu|mOtI^sQfMvCW@Zv;1,>%)?e{buo<R`SEj#C?Ҫv 7}E6tdS "PYפ". oX5O_5_\Wތ`0WWrŇXTެlR"1Ǹ9j]<]I/W\}Qg %Ƕ>HPYO@VUvЪl"/y)= o}7?<$-\ Bm>S_HWTSSo2yjy#]؊m҃?6ώ0ێiDˆ6!jN ];:IKpך^aޓ|f8Sƞj_ϫr5b㽹׽vNyv44܁CmnH&-% iۣ9}%FbLLze*w$g|c-3{^AYjgIt _et^Utk~w?eWg?C.گ#o_ŦVk;\ڲ#_7JC6_ޢu&Rü1Guǯ}D:IDi"ΉPHޞn> stream x\٪$}p\֖`喟Ǿ=3c[ʪXJ' 4tYPq"tL5ï8ÿqr>χ_c8,1!֣۔|t]ޕKg\B6q=o.o>;x?ߙvs㩩 ˫xPȃmN2=:v> -ZBsqDJP:V7":RRі#Y-dݩHA+[ġ[=aKNv l1] riB<\|mwNLS+T-qUD|raGE%h(n3a˙'7[ _ B|@/[ci^`ڿ=0oV\ ;Lu 9fy&'3`n, xܫKT⿊=2lTi%=O5uOٞE`7=#qA9>,Ho}0N>'>9Xd3^xhHϦXLWJK 25h-b}}G:3 ǔoħ:^A`6JIq~}O__WhsWWN_D ۱͠偲 l0F'UMG2;J͡%F{WFbψZ&+P~_ZtoL|EcSʉ2ŜjN( Q}Nq=@24IvdW3|U'&#ˏ~6C ,ߙ˷JE1VvQvFA+XH0KSP!|TJ26lyE3TRGT:VHUڏEVi =n>B'W'$O3j #\/h~DԠJ:Q!̰MJe`ItP, elVlS/^pmT^{ٹtΒ抻j^ q{j߯6 c7˻_1R-߯(Sq[S]mC̑rR y z+V9EPihjQ1eK o^0U0iOgoW)9O|Vՠt 577^jˣ`rݢ{Pi2FO5%U0bDzܑ= O2 0lhU~kŚFJb 9tH|-T{Cbbב֠FKΐ =O ۠Qo/B 4ZU/1B03AKeKW(A.ԣ۠r]&tΐɒqNe&,s"ƒ- RS/ qhMKɏ%?/$,pkU{ɯAkc oTWuq[dSof97qbTBޭ)95%N/aY=eBWp4cffAQ ;.\71U N R9cU#Ī q5o jTW~ b8lpAu:hWc0լSDG[*$.H672L'm5-T)F)uk>5h{8Z)t_tAIb}Mc*Ah#/)&SgȘa T_hZ3=éѻL97p,^Ohc^9\x6[JEף_mj6f[bLpq3q`Zj5K\X>GCX053\G/n4/J$THȴ 7=(xg9t Ku*/z0EnL6(@kB]!'U;Maj-Җ8 (ZaʗP(mAVV<ƑϽ:װqro$byUF_ Vŭ+<sl¬jt=mqBh+f*v5aBh_;*!zc]0uیF9Iwl\O0q~@jŻ`&]2yz|xzRR9Wx1\[ȞNdJF,pQ* i tO}RXۚr*`ǹJO`|љBDhϞ >:yڴi_ _p<5@dc1l4gz>,hYS922-guJ`NSdM.'juLxoG,LNƣEjo 4vDw@M/,6Ox}Lj 7_x)j* ݠI` [`mNwhsSh>d l`P}TX lx JeѣV;&a3o=S0ڳ?ZGY"yX~ |d0gNwAm" r_R(Æ`BڃyQ?8#3jJaoy0r2H,smMU/Ëg}"&l״FM.DjbS/CZ{Q.ɐT6oVk6 p; ypQfH`u_Yő@,J[rq2(+D<\)*pꟇ)$7ʻ~Rw_-PRCu(00$QTw";*h\]%&$ 8hl~6pB#lEj8T=ۓFO !mu{g#-q'TD8_!M/R1rO? 3D0Ӳ'.S{No|; 'YT"9&?X*Cu`+ܴ}w#}ņȍcSE9Z^7u:*(b"7*X{}qŊ[[vObc_'o9_;t )$K튝.=:_w endstream endobj 10 0 obj 3702 endobj 11 0 obj << /Length 12 0 R /Filter /FlateDecode >> stream x}ێ%;r{Ykw&p`O_ =}},0D3/}'̪`LgTe L]_?+gy˯{ϟr>-Z:W>7Kg7׳ȭaJ gx|wO1m?poG?Om꘿)T~'7?jW[ҟ4idɩ?)/?ڪxSgvkw1mi8'߯YʐWΈQBչ?ĺ,[6UmIMMYV^:>E:%]C Ҏ<9Y{%Eñ0tKG4G(TL#\LZoҒO2*OH~Dqn`D[}̇*tZ|]gqRh J>ND&Xyȱמt'zbb.w}wAJa:<]BH0Fw}_ n~a!ɹX?h=Ʃyٴ~C;qhAKX~xo,í~P}НRƄo_Wk4eTsog8uS-ާ'-!8|o۾y'zpC>u2!t2k0FM^DݖnIznU=kBw;>~Q̰?&N>{Z|cȷ{WW0&{d,nkwÞ햐K6X^ʑ%<)= -0:nIxQ-'[~%Z_՞} /TVTm[8*5Rb6,i>w]}Kuk.?L9kEM16a*ש9eG6=GpO{s&!|j]TH%?=^h#JSSp5c/~E/b2jJ._WzxJcE<WG{:?_>~q"QxFʢysX.pWw:s1ǻΥ!鮴Xmwŕǻp֝Y+>ݕ;b}}k>T}+Vzd,JU5ն5'޹kˉطcW]ܕ~|ʊc߶~|Wڞa8z^{=^7y߷ ~3lm|̜s-R:X/еxW}+w=2ƣ_8!1_gKOyzq居:UuXǘzc][$b^e~<շ)c9ֱ՗mBX9Q7ZkTcm[X/c ?|Gc [9h.ݖ>ٱm󨽧F c]-=*?kC}c9hbji)WO%Tګ8^e}cNsoߏ^'#&mM}H{A9տ\q\%#XʍFePrL~uuLks;:еxC輞/LP}+ي(XFQ /T_YBCM Ш ɵP}t8-)$h6uD-DMISXM!ttMQP!8hJɨ"ݙFTT?<]K4-$()=2-uʘ7U@;..XdD!*27nH2$=D&=JW)$+EYNILއHA9QѸ1(L&MW8VDV+5pJy7EFރyWYldXrbdDDQ(G!$8-@CZI{w[$ƹ1"?K,pKigmI)=X*r|zdt#7uT|CM`^׉ۗ:aeibh{0 =ȥ3DϿi"jD=3,S嵄U\\'T 2,75FWX*Ee%%ƹh1 l",C(y&m1nZF};SF>O#Qw#let;`]{\N+"w Iɝg&h\אySeT?DYs(V!יx&#R!MbE,d&;h{ЉҍY, E`ӡ#/5>/#lvz Y7EFDt,C*.ƽMjtkxc鈚 Ii%e |#9* ɈԛhV`ZgYY't"r A׃?@M^ k@"g`~z9YE|rΗh1"Z`^Ρ@krqL>ib%.!ge\](=X*Yȁث[8J$ZhF/GxH$mYvZ&UrM\4MK`21Jhxϊ[@j Tf$d"3Y q8B@ovx>^?{p3}y>#o ;+3_}|$~^βxjI43lSR:xLrg{:MzQ#ܴMOuzS"m"^+&ZxAC)ay"'7HgE p* ^)U`ru,R&"gGX2;T]SA0bzzNaqT]ta{e~V>=Ku|4& /dS6 :aɴ4拓ifi",#I쇯'#gZFZQ bp< ).uq" *3GA'!J8zOe"5!ѧY2`l\tt,y]O'Jhre]גҙpsȻE1O%,,&șZl:7`[VPcfHn!Eiz>F#PfzVMO~ e dא.kNKg**] o9dfR_f93qǫ/ f)?ru?ؓh=k;b"72"}AN$}چNi5="ˊOz5%|,[ ]y {U{6NM *'.3Eu~j891C3&}~u /m^]0#7c,s_e8V Ln-G TŨJ%2L!Ǫ۫uDtקe[B:NSnGE(ѴUAQ[{x"7AKW@&mCN%'[43e:@ZЇ$dR.4JfۢIS6;=\WM|PqJPCQFBEz6VкX~5$}hph\ Шܲ Wcz  MңմBzƽ6.^h7B:=E7$h&rJbʾ`4{6V`n(ѕ}zE@whn >:uSD=~N:Bdd:&\"q;+r#+I`@E@=8%%H(i[H1t:*b"q ]jbeH"; s %\PaT4;~ Һ"VX5F;p%KfD~<(ZxuST/T+x"KC,hM,/r\g}D=ظG &K>g7}$;sP%UxCLj{ -.Ko8M^m,IRIJi4]]t#' k=*rΉrJ` \etFVY`XQ(ƹ"?=<sS"4{g]BkEgwQd4=u=  3 (**1oJ3igcCuMPpxwE~zx7MFyWλ }ڕXZ" R͡p`CIa{ X?q?-'+lXCz:+ rWc$=S)|}vH/'%1MШ`GpHi4 <ɇ\C2!I{BмY>r QoY;Yz4kH)#)I Y {6V`vw%cG]z ti4dPkns?+a ً"Qǁ38c ۋ"QaB[iݤ/O*#t#I6 x"M0NQ¬qM7DaI`DDƻi"aIg~X*IwxX#'Nʤ`q(C݌ ڨFU 0nd٨,"DU/T8HUnnTA\-ڐXi%, vM@ ]".D͈KFӔZ '> R(/Dq!J nnTivXLΰJUnnTVxZTfV QXMZia9Af]4.Du!JU]BPFWP?.TqQŕ*"z#g'Y(!ؾBq'oR%2% ͈FԐ/֗X~b_`=Q.TPbRVWVؽ!8#[PeƎu!D^ \-u|uy7MQ@h|>Y.gQl|d4 :ܪ9܈ ̯,bc"ᗮi]3Xҩ+mlF`%dj.j(5Xv4VrdBEq κEqo(vX t[B`Qu X}&Z׷U^PmՂXE*udpT0MhҀR$+Ãe,omӳ>(Gh{bYQͺC 05@Yu8Qͺ[mGx"BBe`[ƺYwja:' 4MB;tw`ÂUZz$[UѺC4G @oeKFmis+{.knF}5ڞx\_c1l)!jY#lIլvWhTwBӄOdYwT;_:C7gwӄ/:~a^Dt#MmCEAbzQ;_Dt@[LB Mgk5KXB%]n6iW+Ӎ>=&|mv^\4aըg}Omv>!T,A%k=뜛wH=sC`!uӳ=B zu!d;aD4.t8Y@D uEpCh*:a t`Q_Aja*!vU7%ٞJEl% g{aR8ֲUNi=Ҭ|* 4E;[ "Qo!Bh:#uC S3Mz/ I=}W7ia?"8~Z=4UiuSD-DB%9LeJɛϕp|-JNkaO\3,'iPc]^OH.H(ƝsS>'%??e.r`9E\XY]zb>zӷԡ ߜMGރM~@A[>`&'Vp(x; ̛*R8Ӄ L&tQByST/A X,MsȻiZ?=SA?] W>c a_@(wII:Y-\{3<Bݡ4ƺ)"" K#zm"wSDMD+4-~cT1M9tI"uS4O4lпI:*nƽf.DY"@ycz i=|&:Ȟ"ݧȹ1f )"ty7E@BдJ"p$nOwzr*4{ 7!կqA}.ƽ+4?44ƺ)""B+_!]׵}nz}+i=[cQoq`?N^!\);1lv ^Ї}MnzF' C(Kw2 dٷHp^)7ZMƌ~I2oJjl/u z<7UFB<#Vȼ2*l'OY !g%2M ppWćR݄EEѸ`3J*:Is4M43HE[κ1fH_X|s$׃Ȉ{B#aѡݖ0wSD-DӉ O5=uSdD=@`NOhDEѸ}Bi-:4ƺ)""Ҿ(V~C^{ϟv\I$q1lp>t ?^snjD' joa=≜1o&YMƅ<O]{ϟv(lydރhԗH6Xi}#f薲.j|( cTFMiΒX,Sn^$"C# ېuSd4K Qq Jc)WhpR`Q}<(n$QB{52oO; VtBMi>YI*$uc4K$ %Foq-\dHˣIEEҀ`fXD"#r&BRDI*w{6ZIS*wdT?Dp!\ Y7EFރM.+PpyvM/Q)V'+ s.jļi!ӡȺ)2"gb1xkxdT6\yA7tMQ`u*ݚ*ͥ7UFM?hI XB% ̛*&eku&d.Ȼi2"l pU+j"Nr]{6:U*512Ȉ{fJ@=켛"#r&B E8őwdT?D*V@GTGMQ`hV682o O@f#ʨX,7UFMo^Rrk_,ȼR*l"8ڣ!:ySeT?Dih+M;sԡ_t&#r"Bh% ZhYudz Lo`x7eB-O(wt:6u,l1{6ZFdu"d(uSdD=@.Z*jqZ#h{ЧLi5򃬛"#r&@C&% :3Jx)x7:JF{$;Ⱥ)2"n*t`Iw^`;Ȉ{ߠS"Ś] AM`Cڟ'/Dmn =|7QjnOb}#qBg%r-|ruSdD?d")t.V2R44A51+oySeT?d.XEJSwdD=@SU4NiU]{7:Azʼn5-jH{QCSkZE-)2"n*t=¹1%k8qJR~oEpS H-yṰn ޭ>ul΅wdD?dhMsX3ɈIA҈CoVKޭ.̛*&/鬖\W BMC_ s<; h{EhXsجDi2*l"8I$!-MpS&$+ {7jR%Y,^x7MJM8~Ē,#|¼2*n*xKބ/̛*rᦂfvk%bKh47dH&#r&w$}!Ɉ{Z ?nzF} O)b-%1&) cTLq#-FC RA X2<q#qBWĒgmMpSa$ QQt$@HM=|;i º)R*n*x¹K,bKySeT?TpA,bɗ-̛*r&W(Œ1(%Y7UFMNV"^n]ZƢXrdea) 7,0? DȻi2"h2x\v.̛*r&l -MQ`rg4z0ZNhvm41ll ҧhI1gd]( x705IRHR xKY5u.٢U Zw7PkO!.^EJerӰsE,W\-Yh\<&q^t<h:>kJ<bZDYZX\\uZ5isnUZ@K 4,6&:usZfYyO J_Zs?xl2-j)4*slbjsWjEfI\X͖Z,F\4\4\4\Sz⪩%UbM.5.F+r\5yZD)USeiҟ!yo.v,|NzG:hϯ0)Woo{+op^ WY)*Nk) )!j)mq-(Ր2(O4HR/Xt?!Mb{'i J~}}Bhg \Y z?ﱠL}GtIco?VjTi'g3a9YOYwFE IMg|WgԜo(|M}T-Mq|;d ~ƚ/-}-z[fj/O(;MwZ5Z#}oJ-U S?an|YaQ>jJFg,z[BN@{k}HKwo0> *tmd&U{߇7-}af+^m{{~|X?UIP-EY<O|y@\baL@C]#wLBSuN!!iXӗ֮^|'rSbxoX{v#yWEdW\iۭìu7`(Bד"?ES5MC>#uH_V7,9R8~t{{@}r(LQk2~Մo7!,,[KZ,g cx7IyiU iL{x m|VP1_붔{T\M_<~RhaE|9Пxӗ3q>í\]x{?|ѵ)>X39WZv{Fy2u<ĵ=W?5'pmz8k?/|4+wd!/[\sWZ;G5+e!~蟂x[C*~EBu,4*b>@(&ݞ|J_}{<)XqK(e҇%2}-)dxʻiLvV6׮Jh87>"`?5l yxƳP lx@Siw[xƙ;l %_6O:>do:7| ˊmݫ{-{)\~?`{ۖ M菟> U^J-5D[pC\+p^%<fz/MZBeon˞%7؋ث w6c'ǙAߺ Io5g9!"HG~?X &a?}0#3Lљv~oƙ!~@ia>Ϋ{'2]itr=_5 :vN\~NoHϯ !endstream endobj 12 0 obj 16255 endobj 25 0 obj << /Type /XObject /Subtype /Image /Width 49 /Height 24 /BitsPerComponent 8 /Length 27 0 R /Filter /FlateDecode /ColorSpace /DeviceRGB /SMask 28 0 R >> stream x5FpG~u*~C|> stream xKK`hԠ endstream endobj 29 0 obj 18 endobj 26 0 obj << /Type /XObject /Subtype /Image /Width 34 /Height 34 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 1044 /SMask 30 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO""" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? L0Fe )!N$hWIRԀT?b8PsFS6[Qlڊ,Z3&eۅ*Tm N-z7= ռ!,`m$d^sD[jXIQEP̑B9ª~I;B夛pA? J峎m)Ui=^Ai]07|c G1\O_Coes"ϋ m*`fP[2 ˈLO2~clI-ebfmNHns.@b#KpF cysx{j%NQEdF#igjj(Rً %WEHEGE_?QVI endstream endobj 30 0 obj << /Type /XObject /Subtype /Image /Width 34 /Height 34 /BitsPerComponent 8 /Length 31 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x1 0 F_MGPp8G24pFAK*M(JD#*/D" bV1$pw"k,L endstream endobj 31 0 obj 104 endobj 24 0 obj << /Type /XObject /Subtype /Image /Width 80 /Height 80 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 1746 /SMask 32 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPP" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? (mm廹 !ڪ(*׳ub@; RzǷZ4]-:0Ҫs՜}@~]z̽ǃԒx1 㣦+X}xj 6hv\'m VG(U0Ag0sҳuoZЕOe0j*hmt㣏QT(JN,t{: Q;ǯMͥ p9?5+ 9_ TX}PqҬ,$R;sW#Eu 2P;Ǯi/Qh8c5#G#G"u$2#} 5Q1^7?Mq.@zƀ'sħZtȉG` .{cةBQK4B5w4>BQYE99s>F󹉮3, $o9,iWiD@u#^К-xtr(e ^EJ`r$V12}jhn*]NkhKzAlsZnB=j?.)X}. W?Wxo28two&|NSהPJU) GjtF1*0zm$wݫxrO* hI\!N2GI#<8: x%;-o+[?Z uT7VCkƮ&Ӷ c6̮OIIzg)6 S۫`JRyuQdմ'?OOpRѢRn"Oss@QK9 ';~8=7j7LYsY&WSlnluinl~{-?Mus=Os+K+1U 39,杂$ec y_=+ S*cY;p2}( endstream endobj 32 0 obj << /Type /XObject /Subtype /Image /Width 80 /Height 80 /BitsPerComponent 8 /Length 33 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x}leǽO2/0B,a*qi&2ctDF1Cc0іua!b %C{iX@]zz]׻|y$(sv/m;j/E-ܱuH>kNXR6݊?卦;ޘ^,ѩ:'{|/ʦѩ$3>*GRr,!T);+Q&E)Ѩr="U! r'$0AW4yf+rg X/sz2.+Tx[wX PkWǡ4αPyrhcڤޡ+$myeR';+U|IG.Uv~Aj /[9 {8ot`wv6+ڞ3wEr睄*K?7uW 1c۾z'=V/?ʛO센l(CqWyl(_:0зAFf4ѯ?Oֈ>ڦ=x/a&W8ӊL@ywv ym =8MN2P]C%]E󪭂eXm<2TϽuDgS]4{8MURo*yjdnH^"ˤ`: :Ȗ,)3=vIskzy*Ǣ^qU\9Rs`MtIˤ.Hd^s$ٚ3F&/t\ٯ84II/k"XlI5 :(W5.W}(vln2CBMЎ-a97*;|٥dSkh*;-*z͐wƊ7|E9gM}, 982\(Kܰc]Nb{+Cki^UyaC? _6bs̸(OQ1 bJ^ϬYͦ[7' W'.  100842:~ya-jA0 /c9t:6b1OOLMM-fw8g\n̟ED<Bs?%y^p磘`8 9w> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?K,!]Fi@ZC1['y 0:gT4G[<[LD#~*9شvc4`va=èTUusOTci>$Z$S;Ee"<[L;q{8ݢR%T@,HHs@NkPx;M(61qקV'4#X[sG#cQ),h0-6Ѣ-񿟘qo[˻NNHOl5? TU >#-"Pib<1߷!֭fmG"I>P݀9?x'MRI6(^W jN7Yi L$&  8?ZmJ'"5bΣpq>̓;Bv^*#iFܽGeRWږ+<9}I 7$yi(.7ږ+'4g8W9ºD]͌w=E/kKC]K_ߕ ?-k~W+/O STV'7GsԵ}_R¶Sú,q^bN9Xv@"OG#SVs/RK_ߕ ѿ&_. '}eJ-{?ږ+jZ>V>2t`i?/Gs'RK_ߕ ۋ:L!ر Zn{TGL%(T ngͩ:SԵ}_RºAQk@_[xcF3[,y_LW co.Kk@_GtV>/Q +o.!T%F'-k~W(Ե}_-?y-?yRQOK~i4chR$$ci_o-?y-?y\۱iHZ_-ϗam1s0y:Čf[+";+4qFCx9VexZJιY ?~I[hm"x".  =TQnLewkvTr!lYLzqWlV?MNc>V;|LIh 'bMK9 сT`^椊$۟f;ӾԾw߱ӾԾk*G1Tlk&FP\BIxYi[2#;d@sɫ倹գV@pH;X8f4%?)N1w}*qlP *Q-M>[(~ͼ|*GUZ(-kM>_ϗEUh3-kM>_ϗEUh32 ķR# w'ߊ”K[:%vBT|[n:`nBB =:49?u싍8Es':&Ӵ{%%Ϙqp02 ޤy&$N"FR3d coBNJLX"8T{P]`cp^vdTI ʎnPr~ ^MufdJ ';3~8ؤ\0>m8u>̾Elǘ[=F?͋ʔgx_u~:rC`bI07tzX(8n~`TO_ju2l5DSBYA^BO[u-˝v##;XQHaEPEPEPEPEPEPdfHٕ XsTQ1O;@1~PplNG3WhEhoD2C{D p}="i1G.#cVh!2>:d89Ӑ=sۃH. Ur_kc8:sآ!r!T g nqN9~\ePTs1I-eD}YIc%[*Z(Rl`rHOZsHBYJof!9=xV(aYh #<*~#5¸heDt4g& :~u~)ӛ07cKwRcpI@'eت1,B;zlk6< 2~}>6r(QYiE%Ӹ CI8Þ]i&&% ^ןsL.h!UIqgך4xgsA0'ސP\_'`|RWo6s{ MeXâhF, (7i (2H4rS%B#w\ozP'vah7_e>O?埝9"g1*nxy:fRgu[ߥ ??/Qkq |QO^:}=E!man3'2Z5gXϕ_tMپv'AgSۥ_hI BH :M7֖,In(''rxj4X fKE9_|0s_E$$tu B9?nk[n<˒s)V9C dep#Fw Q4`+/Z^TTyRsPo<6G֗/?TT*f`+/G Q5K=G/?ʻ6GMWeV+Wʗ{ʩɑ#rry%ةa>VKf +gXϕ_-2Mil'vGXiT' ȩ=78%;\ONi˧ؕ[#r*OC昷0v9<8 B1oh4*]A[<~uHxp:4çyR3E1/ eN8yuH&M r}?'odͿ14*yPϴ5 hK e!NF9Pp߈8SD"D$ǰmȱNsTF1V{ӡ<*cIĔQE"((#g!8U,!N"y"R8O^J30#98{%OId_΃XB6o Rfw][ڿ:kX$>R2c(? O2?Gw M>H / FzxuBDl.Ҭ>cTy9d_Ώ2?G[E(R$ I'$}7̏G{STԝZ͖9p 88$)l`- ۜ&+ $} 4FopG///Z뫑KK֘㹵ׇkA"MJX(,Fzp>ׇkRe]oEfRς~lP@$=I#@ V_p>{Ra3.̹H5b󹔎vNP -N W;>' ~Y=zp}. 7'?’K"2I)taP?*xoo*+-O$9Sǵ5u6Uw$:OQVϞy?8}'P":E$pʑFi-%@ ;2Y$F# Hl _=_4l?6=cg > }/PBmz~YƦtQq$3\+JengG]<“?_w("1;ldq@I$HR8%RT2;{e.#>P=m,mzvߘҸ Ѽd nK+e=p351'V!zsosdԍ&yL$gCGr,l%[109$ws)%Vl2OA{62B c 寙{7ay(YX2PP++yq iXgsgsv0`o%-5udMxyA'8!j-$4XRo>o'9JU[I_hƀ*QRLQEW%k]ur?I*;Pșx즯t/# t:lDR8 v[Ʌ9~~4Ȗ\% c'D8 OֲR"\7tf3Kݫ)^[#?1qa\Фwubi6\+iWn '~;T\ %ܒ"+uGNM)X<_͛x?Um"5 n} NHt?ܹi?K<_͛x?Q}\4Mn? '@shf}/_n? 'GۡIlhZ]M/v +(O=n#an? 'GۡIRzZs4}\4Mhn? 'GۡIEl,QsO[ޠt?ܹi?>.O&)M\ru:uTN XruQ}\4Mn? '@\h湞F(P$ =ZC+ی/%0'jq?[i?>dhJQ6Ou%WW2"ʁmG9uRGY3ro*cI&8HN/)^4oyO4$/}m{pT`O4$}!#FF*g9C׸#"|)O&??缿Q/;S,MoyO44Ed̓"߂zg p=,LY2ya\?C? 'H/`;9<[I'(hn? 'GۡIMfkt?ܹi?"5mC"da>VªC"dE7,nq:=-gXϕ_:|>䋏$pS#<iyWdِ1  Ṷۡ_ 2]p ##.k} `o#G)umT1`@\6#kv 9Q&ƌg 3 GE$4$9cq[4PʓJҢmdgmp1מS:ZQF INc+[+jv2WGE]b]?QQ-[YG94C^Ϧp98h9WcvҒ4W,x}BB~epJqt.)%0vnNk^=X9 qU!r2HA[غg?qqLW+J5,{Om"ZG8QSr| sKEܒM68N}k@WcF{DXey8*yj|^f6Q $c>ZwTc_iU`x/TdpN`iVzU]f!l30IfVչETs% 4ɷ;Xr6HA[OcI|F=:آ"Zh2]d(by# Fr FqwG ~KMI!vk|`ۑs~EcM;HPd\@ g٦ZA*aaf* \dr9`硭(*eA "vB0^ѧi9~UJ~~T}?F3.?F\~U*(f]\~QTP̻q7T9wq7GoʩPHpS@s2oʏߕgyhG߿#TN xPA:9s~!Ag.qZձ8K///ZlڇD?e5cXZdд2Lop$??ÜUxL?SS@ y@UHLq/s"g\ok$2ɀ#-@8铎rGHobR-*y,9vQęt8TnUcg;[,e漖X$Y,sBQ %rO]ũ˵m# >fMxpqn380!tB 6gCZkgx58LFv\}g_ee+*] 72sLqnjEDܫd(29ŒtBtB KJo;F9A'ۧ5}~1t#h>jK;f HD/<`3UkҪ[; ruH -\IIOx9X x?/<1ˮf[XDI1(n3Sm^TMw'9 xZ-m'vF;dڨ y# *2y=?:YKxF˼@Zf>j3̇k88 "Y%[X 7ƀԞΒڣE9(v2~tA9b^xhhifeK#ӯ$t8 >ȰdNqAQӑ؃Ќb>s} >s} QGnGn@jQ[Q[P}}JxI[Q[P\hIo")$+n8'ݽOU0~{'nGnAW}ֶZıIIw)PzuE@G-Tcwd<zqMW@%I^´l5?IHfHXؠ͎ GF++p#nAʝSY(7˺7Edx7<ө B,-6ABޣ@zi19ǹҥVē#v󎝹8MD= oi,OYփĜcyaROBoaǹqG_cQa? J,?!7Rx6?(K8J,?!7Q E& ,Þ=˚Wh[G憈+4RN O!t E-)B |OR=[H̏1Gʁ8ʴ?RĈA dۥG n8g`7.,粚ݾT1$\ +.9rjݬ[(n.1Go"Æa$ e pfhŬHToUF$ŃS=˺[2 [Y"\t_N9#m;1sG}e4^ $. L+-rWc>Qv$J nv[=sXxX]]ah6V9ѝL 7pA!uR6~>Qa? J,?!7Qf>h4mZ.U*Ȋ03ޞβ<\:dJ,?!7Q E& Va橊b1Uy`A?*ETut5eMTڲ(G%)ه<{V?%(+0sc/XBo9K8/(G%(x6?(K8J,?!7Q E& ,Þ=͏?+MQa? ‹0sc/XBo9K8///Z?(\ #J'WB%)> stream xA 0. <a73om_]' endstream endobj 35 0 obj 104 endobj 22 0 obj << /Type /XObject /Subtype /Image /Width 128 /Height 128 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 3962 /SMask 36 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?>ƓxG*F=~eII,澚 %fk>r?k5.e1<+ qqlEGmBDADԲluޠ[iIF +̹ٜuY;Z#;v܋sL-$&Ϻ;ֲUWfܘE&2[hPMN[D%1C}h0ψcuEӬ-h #'F~?jfoeK;i'ñ:Gvx /bo h(<Ⳑi-N]FqY+N-M\ X-waԚ2F V@Q N@+$dFG.faγ'Qо¹߱Vh =ٶ?o~!4bEr?;|mФ IN]zw[ߡU-divgWLpp]EϠ!7?{5.QN-LD#.T=3N cjADcO;|-Я)ӵ+>`,cRۑvoM^a)saJNFtٚw[ߡIύ-{9#H*F8gO*8ω#HcXJ00"~I] ~s?WW2/p+QEְuwsGDOb&Wbm-YI^{6䖑kj@7RJ: q-SE 9$ru$񐋲W=Vy'H, מ\]hQ)b#R2W-b齎3R}bPG/ڲś;[^CX~es=uJ9kS lN$[Y~qןR NOYoeQ;1.42<u+= ip[VZտtz}N9N` 0++kmNќ:~4k6+ YđŽކ]KO3%/əG אW|F*?*:hMԥGxu n++s?WRs4C2$L=J2FI侚z=<&"IҭxZ#{ H9y rsVHG 8$y7  Fsz=j P] ָbp!pHT]*EX.+0HWv\ a^]89XV"=qN5^hnOOmK {CP WE,q?P~u EuJHyDM<;sₒTS@4QG ROʢV  Nd4KY(^'-ey?n*ܰr;Vt9"?f݃3[FI=~"Xzw{trfWWx ,l>z4EJ :φ7b8#>b' xOp1^rD9rIaZpPh>-. C:!p? V|ХbDu?HRçh\"&g$XVGar.a3SH|)Z藷;ML탏Bq^om`uOsךm =$<ݾir?3*-.͘,ҡ1kDp<~3(;D幍=ӯYOkN c6Eg ?vV ,T0#յ~ΈU .U|mYZ%t\aɤ.WW]b8@U9%u0ĵ;SF-$彻tF)>VcF*?*:ψ%C]^G^_gOp1^r5 o{ikT*J)h F}2!aWx^dTЉ$W`<(=dc[ܾTtjs{rc4eG;-ĭBr3WGjʼ?FiT,TjAW$wϭx) Je*D/ ~non57d _wײqTYŒ@V dY3-VG{( 0>QVíjvc2aG QI>#ȕtyw=0c[ܛ} sƸ:hAӥ>VI__t1^z7b5BQEQEWxYxe!z-s><72^?{c ꇆyю"9)HFv8ST1$)s =i?JgΩ(u; E/s»щgyǏqzTcĒ™.LIojbY${A ŘI9$־z֮4=Yo#+?/נR俗^Zϒ_z*+j>K?/נRKM :aZZϒ_z?j>KeRgM>U 6> stream xJQ~lSDh&̙qj%t+j]r$h- ZDAk-%"-(˿ɩE2v9 <|?󩪪6<7a\o՚dmF ~eIf ~a_Mܾ>|Ç>|Ç>|Ç>|Ç>|Ç~wj/7NnK?|~zw,)J"Sb(ӫD9OˋJ4+x2_T6|2i|$ y'_'K_w~)ͷ [T't|=>`yu^a96s5_2rޗ?mbz`}̼0?=e^f̳Ro)e- Vrx̼]Wǻ̵yf? endstream endobj 37 0 obj 492 endobj 21 0 obj << /Type /XObject /Subtype /Image /Width 285 /Height 246 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 14933 /SMask 38 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?K,!]Fi@ZC1['y 0:gYe l3Ҷxz+9]M(- 9#Zt?QZ-$6 K@]>Қ\}J]%sk < g 6PO,K%hpv ƶ ӯ%X]\@jm;@tæxSTM&Dyā|mgc{[`[w<Џ7uTc.N;bZARKC.T8UPb}owD-J>/ 8nqG9%K$BOcݱ8>EWl!6eF'0_)#n45vBvp'Ԍg-ớjmҹX;(*Yd#p BO>YwT![\330@8$wtXzdq{km,4mcm$q$gZ~#Ҽ=ݶ<}TV%wqM|1ko+[iY@$(} Ӯ:~@#Y[9\23sZoZZ(HrvМƵ-vv֧NY`O ܀ .IEK8-}IΨ q \Y7F۞ij.Iw*Mi` 9zn%Em.c  #=]]|={1s;28r89Ph^_ %B9%p3I Ӷ+rPlCoiFq7jhw9Mkpۘ“x5s[3" rʼn#p; >5k@_Gl:Ksz,H$TT w\` ݧn}Qi.m$n|+ _s3RK_ߕ ޶<;qgUQ"yN߇t˸G9|('rz=/Iw9K_ߕ ?-k~W+_Rz-.4,YenХٲ\d*dſ#,Cbp[rh9'ܡk@_Gtޜ\`q\ʯp\gCyxfM:F۳Ͱ&KdzpyPsRK_ߕ '˛xVT3 2?7@9*_*mKC}CRK_ߕ ?_ |=/I9K_ߕ ?-k~W+7@9*_*CtԿ9'ZM+Z6ԉ2 p})mn6:ϥ^7@9*_*Ct'86ZLZ_-ϗam1s0y:Čf[+";+4qFCx9|_7%/2G'8-;OCvIlHSQ<5F?{U"[U PAǯqoRBrYvQPǨ>A _XI4J1R>bUrI98lq&Si=NnOU?rz6ӄ!&!%-Xx튞(V2i 4cm.ivsI.nrz~6?_'ߟα@=i5s4OU`z7)ZZ1.vvTdֲ@=i5s*cu # NۓgXQ F—ovs"yÎ nTˬ DT`dQG{irz Ṗ)n-IlxIngQG{irz~߲Z}{y1gJEk##XaGߥہPL:Ǣa6?_'ߟα6Ѷ yO5nὈE{omqmennOU?a ]e"mžRx-W !=kM.h.hK}ps-E,A K9_6AndhO3Nxߏ=*ayᎴ{{ul$8emU+c Έl9vn{fF>d?W,ii\=mTlǒY4zO,L w'TwiWw̓+jWثm~G~zKm~T>Ԟm D*C4W jBa"mTИi}W=h}|򌙭?շJc[n?6l-f2o6GpJsjKQrȓ §+':c9+]o.ltBy r7-4f# TzC[W@ ۛʗlqvm9=xcpVi x wpy?f삡; uO曬_ ou,h۶ ӵUϦ~뱰wTۉon"k?Tm~&X,ƖgXv8>\UZ]xbR;yzm<}1ֵ|3iu;h\HpOOր8e)RM4e/V’qRY~)c+ RGo JV(b`d$hgaM|?gpb:;7qRSI5Er-Լ!<.Ym'ʑہEq'RxbIKi X sGk!-ׅLbLfpBH<}EveOu"͓ʩb:ufO-=?Z⿶P-H@̲e BRs`1E#~/"_ BҤAWs3vZz~ŝb9ܡ@2G̬O@"[IfNU =ERVk?qxI% TR)ӓ߰'$wZz~yi&iOB6#NRt K>{k4m_}'-=?ZQ{xlдwz+le|3!$eHCƋqrq N:uZX3tK/$*@ O>-=?Zb[Œ*,pOʥϏZiT~5Fľ#{}C†S7^#X]2xJe2|h:PO,iTHa7%#TX8}Oo4r@c˱$]ۇGeߧ+N[kl'~~C O$s+"gDyedi22:jZm>+m`V|hG:`V5kmOn_-[*Fr0r;q3EZD^̤|U=P}i-`8*p89 bހ դ/W~ʘ1R ^fin,npjſvG@W5+˟}6K.dcج2L`g20 9;V 2IRB3/v|Sܞ#7{ 廭J;ky-gDcrWr̀xuc]bvHICv7Y T)ajjwOl钄D%|evm).1Ao0*kxgEc2)s{)=XG#;0Nɡ*[?5:^7%.m>\os035[Qh)`2*97tBc=3Oɍ.}"&yAN0$99EZqz붓\GzjU2OBN$KZ?oPC<;|џ8Axͺ)7 Z׏'Q:I 3 $@ze;eR&eW'vK* CZTQumɗ^`2EjnD0S,=}* ܳIpJ,r1 ONM`3\e?ٚ;wyBt8z+A.xʥ[q)zc)6 k`D!x;?3Qt. 딵y#dmt.UH=8=8֢ZO1e ,aveI2$`>:3[Voإ唥n2E9 {Z?Yv?6W$&I=+{B~=m 5"ޝ\U%"B[3v}ރzʭ[3mU qͩ,b d+wCdt<6_0%he7ŻLbkoyc'Q*X[X}C֟rmno*,H˱\ԸewޮC{./ S*9|`ڝψ]>M#^)W}wMp*I'`_$wHA6+<4cy!8/xIG=} ڬ[׿OTp&Ӧ$OVAvH;>?7Ig\YボON:dBWOjt~UZ]nHIޫbaUab}#qzF} yѤ",7$M @ sG,RPc;YK|`pP{cלTQ3^-x<ڧ;,?MԵmmݤGQM)'hiv&72'cTsxt?*6GU7FڿW? Wjt~U_sxtno΀,m_ʍU}ѹ:?*6GU7FڿW? Wjt~U_sxtno΀,m_ʍU}ѹ:?*6GU7FI>?}/B$&I=+{BxkE;/W1y΋1\0={zU_ ȷUf+/p'ApG#D{<᠇Ycbbgņ8~%/ἝQmH7$3*ȌFGLqr9O.өic0p6_9mݮ,CrV14m̀eU$` BH={{ScmU$ 6_oIf. #gyu(!N,:I{[_A5} ڬ[׿OV`OK_Q%iceH_>:5jke \'8G~r;r1Zi\ :jkstQ2yFH')Y]j^FzjZafvI hݜwr}S/['=ҫޅqE{cť62Qlb瑉Yu22p-͒*[O"'x&@r?Ф(*ql3#4Tȣh,`pj!kU qj**@EU-QUh TUZ(VEU-QUh TUZ(VEU&P?}/BO¸?Ǿm!@v<0xgNyH`qVb,3FeFc|ؒ6{r:xv4il&8UiȚ<0[,RM?gnmT=xx#4, t&3JJ U6( pcߨPEu$]0ARq9ۮ{KL(*`{so4r'H9F]|cϗ=oKD[Idf:CeCϨgsM;HdX>88r3[L{Ra rCs9}2hn#gWVv*\6ۃ'!YZh#H`2u8gVEߧ+joaj?nJӬ=>L?_>?\)r%XX4[Gx3=(BNnrST|y3tR$%HJo 9'xkE;/W S%`\{dvcMn~4t#Í V\FqdKyc5iaIbAB:8s?z%<ɶ:ʨ1P9cu;ƫ,l>$FQ,9Z'ueKL`I#9s89"&b_<7V;؃OJ:Z'tO|nj *;ۛ 86q=I44V&21BF:9gk2%Hdrn)PTc`g3VHVP4\'0=Gzx3z{AIZuK_Q%iԀVD:XFm$|8`2r@ zIJ[߈ᵆEԠ^SFK6 N+Jk^13F M䐎Fz{`p*gXKɨ]-V …O^F{( ( ( ( ( ( ( ( ( (#P?}/BCWx=m k[ iEo|Arx+Aجwyc=z8mU;PJI1MZk{GD1GGkqۿI]Z=%o/Z]sh1K!q>C[RAvI\=yQr^,DKy &Rv&62\39RQ2?# vvxUDeܱKyY>eh/z9Ve%k9xd$_0y۵OQ*0mG'<@*w n{zoW+_~"9+_~"_:_҉+N<= J$:+2I@ YA#w@W8^Lk{g/݂A c "b"hpvǠ91j6/p%Τ9=.BehΈHi>((((((((((; ^}+n?5yK_-O[<̒NZ6 IvHB8..Ů&G,19tȒ1 h 0zԒ$R)0R  YyIx,ԬWsTFJWa}GBEXؽ#~YDy<̆?3w 9_:?l<~v:ij7IG`rr mSqq#:ԞU:tā}Jڿ$G-VHh7*lR  ucz}VDڬi$J0Հ 225q?sxufK緒Ց2Dr = WZkq7Fڿ +o΍ՍQ?*:77V6GF?XڿW sxucjt~Tm_ʀ+o΍ՍQ?*:77V6GF?XڿW sxucjt~Tm_ʀ+o΍ՍQ?*Ę$'p~?}/BpyK_-&oa&%, Ede=[ǷoN 5EOl߲QG=CNKBKD2[/3F؄ q xgJ~JHi`rFH'ƒT̎-C1O8M%P2~hpX @шawF6udtq-LpK.csϡ/0Z iPȱHYp"G#>mwMUi !$Iv4e}m,G nc x{BxkE;/YtE}*1]:^}?AǭjHED, X1.omO+CI3U}!S rd>SJ&egXq'ؓԩhs?:-a7(E9Uc8p$pLпppw/v}?Gؓր"yE`8#zyԿ5:Y$ r6HF 2'Oz:aӪTǿÿvytʡG+q)Gnsj?Gؓ}G`W(9urb8RZ_+5d0W߱'z )^C2@ZP۬9?*j((((((CWx=m  ^}(zwp_IrKnA*G_ǧoN oO $p\##XUBnOz_OiiN{6b b>SPz7Ldus5riWtf$ pޔJ=JCa$؃DZ`UqϼtsM*\3,@TabCd} *^esno%k ub6 $FP%gl8N<d09tr\-yTFK )nTwrjV}춙@#+qGO8+l2o.wt\3nWv ursVサ d'!#T*˾[z{cdnJӮ6Pՠai[X?yu*sl^!n&MYgm7-meM߼ܻˑcjwzG4&anKp[QTuW[[-2TmHO*Ĩs[YQ'MzIg;A ךkνwj\C~S$r2^ $r9QEQEQEQEQEQEQEQEQEQE ܉TcQR>w#]?Vt[l.K[}@OrfA42Mn< Ed7"(n+w|EPVɻ@VOwA[/"&_EkQY>Mn< Ed7"(n+w|EPVɻ@5۶XI|C9KKֺw\ۻɷh-ԀN'닏̏ @񃞘QUW+j&? endstream endobj 38 0 obj << /Type /XObject /Subtype /Image /Width 285 /Height 246 /BitsPerComponent 8 /Length 39 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream xA 0. <a73om_]' endstream endobj 39 0 obj 104 endobj 20 0 obj << /Type /XObject /Subtype /Image /Width 80 /Height 80 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 1786 /SMask 40 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPP" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? (_a;OfqI hnsʫH tu9 /RMtWY¢:`ݮ%piØ:+|%I=+ռ5`%<<|NT4Qnr=>j1~Yuq;;R$`4W;D$XcSzrU"YfX!Lpm}˵wcgflNE4IU)l'湱:U`-mTZm-̶똯`\ٰ0Hʐ{t3?+3Ł:j[IAlo E8f^[GQ^)^c\lҽ19A lG̍f2NTKNI*LI'0JiUv4:髕?_nԕڹć2gygGESRM$9\t2dWmo"1r6نNEt:-xs U}yUR)|=T1l)oQՍ>."[NWy W剺,4˟[WX$}yu֔m|=+] 0yUKf</USz,֬*^B4Iܿ'n߅fpӻ˽5˧!84ۏǣ+b#xyըV)hqf5"%qWQ<6ʏ7դUPttI"(1+vz.(Ž0|K&( ; S^VI$rOS[^(αEY_zĮc wg>" $"0:Jep$yk,/,`y*Hg S2:F["4x* z1\ei0/n=r+̼O⻍e <&ys46woV9VՙN(2? endstream endobj 40 0 obj << /Type /XObject /Subtype /Image /Width 80 /Height 80 /BitsPerComponent 8 /Length 41 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x}he'{iRۮukkZ[E+)C"+CVTe (8)8СT6&ڴI$]^.wKr.o?=|x~w5;]ggW0ZF3zZn ?>MգNn*ĸlmSMDB}uF1؟8TThQڞ)Z#eU5kׁDٸl.H"@^Ʌq`w|C@UEp:;S0-Ax&v 8!ۅ;wNSt$2&IM`"xE3= J8"pI`ׁOI/Ø-7H<\1zH)Kvszpn!esÄD4?3s]Bͧ=wȒm~BF)j^XD{yu&;UA[!뎡!>fa u,L> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOYY" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?84D,0;wG>HFSsfY\' 5F]wb ҫwm9s Rl@e;3*#Np9VVF*U0A';Z)20ĞI!;rP{֍MEw.uŧ~Ҁ+8Օg-~GPzn"4g%t29z+/-wP ;~o-mP*SZ N/B(((*Νx]F2x=?Ԫ1d@s_LVɝLzj+Em7Ik/|OS֨o|!:Q8,r ᱲťo+Ny?]hQjm%tZeTޕ]}VR}j@nԝ77w*6=Ef:vA^ pL{UxZ|35QYY \hWgپgc ͂yʮ3G?¼] h9R{*C*kfiF3q} QEr~e-# 0şbEmKf( b~71m|٢pd%HA mUQfiէb[7ɞp<1_׹<̉ndW? ^jq큈''M4^icz =^AZ85(H"R? gޠ[q3kX ^K]KoYrUe$ :%c2왆 ֱIȊQU}N-UDZVQ~%lߟ1}H :eʮbbYfu?Ji$V+Lɥ:+=FԧK6I؜Gn~[d|׃ڥޛ&iH^v|zX=o.ʏ/|j/rwĶ+eЇbJ{f+xrC"+ &1pŠ((ѻE"á Њx4)Å*OWM;E"c|M(nQE (? endstream endobj 42 0 obj << /Type /XObject /Subtype /Image /Width 89 /Height 89 /BitsPerComponent 8 /Length 43 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream xՙKlU:A,*(B j@,J,oQTDMT*PŢlشJC 4[u~qg:dNf̵g,w|9>9RiJSd⇂p~pU=65XTBwJx~.3! +yFR)0$#|iTuG&f]3)+llMm7`+3pIog`yAvb'CI)wsSpf-H,{[ήhAbV[;[a[k_+;^ 䑂-;dؙҦspw87v>,1]1}?E~IQ/.d{.&6KP m,Zr--yb MC?g& 1CrVĨ~s;jMqCzĆ"zgXO?wdâOO7[~y_QY ~U)Kᡞ'܃Lrz\g8R/]Azn]q){[G)҃YvH])=u}-b d ΪHg *%Z\˗Xk~ pqjnlL&pWW*!w\-ˊ=ex?-aH_ 4lȓ*رSz]otR:Ɩ+m?bUPJꏙg1W;TdEXe&kb_M# endstream endobj 43 0 obj 1127 endobj 18 0 obj << /Type /XObject /Subtype /Image /Width 80 /Height 80 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 1635 /SMask 44 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPP" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? ( 4n36v;WfsL{Ezyx? sxtWGO #/ZO"<~<;4ΆD$7lNx0(LT;|^g^uS96nc y?:UjYie.5ر^ѫVLڶHP)bj} F=S$ʋw2>*Cz⫳s+__ 댮sp(VL^gmprjZͽ|7+)P iHM.ƘuHO~U^ՑkR[X> stream xYhi/i'GuE_*P؊=E |ETUwAEw EYeY/zZ#M:ik2dfa_!yoLXVJJHsS)dͿ T։up#f4\C*vɓ<ɓ<ɓ<ɓ_(A(½-j4?"ҼD||YyR4ۀI2zUz2upߪgɃR9XGvs93I7X+ee@^GL+ܧoDp}z>gWq]~$ĭA- aq$?x+wt̤O+BNMNktN6 ?FHˬ~v=n6T3Fed,wrX_.o4ocOFl6r;vfXMF̌j1ljJV''&޽Sn/?jlA.;,f]t>oq2k`fұ(Aq6JY h4p0 LM#AX |0v`s0A$Bnjs!]t714ISb _*+󨼐lYbԅ.s\4v[e)}!Wtdv^,ǘ ~IUBb9ƆONM9!\^ڿ+ϱaa. EcٸY磕ppk4=}ţ?8p/Z3E%5NPmP endstream endobj 45 0 obj 957 endobj 17 0 obj << /Type /XObject /Subtype /Image /Width 404 /Height 350 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 16306 /SMask 46 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO^" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?^X lḒ+2F1Iʂ^ͤ[E :K@:~sY]&ӯ-Iެ0xF9rKF  ]40nV䳆vl1go\fx ֒JVɔE 88Q} ^*5DbʦF’0HzRD8UXb`'pGp6y4ڧѡ'.Kua+}ɲXzc 88:Z%z}k0&Xt?R>9?D纞fy[ͧHsDV =8ϖO4Y=-,r;hTKu:,J&%Nr;sBx^6-dYpF"[V%{)o+"ŕ@p0[jDdS DK)Vu"O8Q 3m 0U*e|1=1EAyv"K+R%yNi~ߧϕ_ (o,iVM/+}O+_Immӵy?|oR)w??4)w??4Zp~>Vk~W)??-C^bO+_G+]M]M/1~ߧϕ_Zߕ OE.o&E.o&PoQ?|'"c}G"c}Ew _k~W(~>V“KK;/+}O+_ImmjZߕ >ߧϕ_RlhRlhy?|oR)w??4)w??4Zp~>Vk~W)??-C^bO+_G+]M]M/1~ߧϕ_Zߕ OE.o&E.o&PoQ?|'"c}G"c}Ew _k~W(~>V“KK;/+-͍P%\ '"c}NHGd2w/3mRZlg^޳ (1H  RIo:9Y4X$Mqq!\cQiVZE ޙ$d +9{a\ EhĒYZ?b_=YhS#h&5#mnbف1*\i_F%³mQ邧 9yWk7֭nZT* cy2G j|MPsnszTm #0[בEeVoazҺ; 2Aǭ[sl\v2:&6=1릸G;d%]ݎҹ Yfڤ?M |)$œ>1l廄-$L9#{ЊTuGsJA\tof1pNO:ԿjR_̳"҄IN%<ݽCQ1t%ٔn*/ITߟʋy{ʋOGƨOeGڤoTX{ʋOGƨOeGڤoTrE֎< yz}j2G2J!<t5_Q??>W\ȥt;i7"p3U{Knd&&&GBx &Pe*+;?PSG'ի=sO$L$dqYAI:+ pX6ىؼrrasAʬOeJKRbՇɕP[ˆϞgӵF'˟vdJH2zROeGڤoU6ǥݱ ̳ڧc~qOƝkqmtUn݁~'R~*-;*/Y?T^??jRcDim6`@jeqos)f89_^{JhqTsJeY Ji2[F̖1Α[A4"t\}1rpBz:znC"e䜑by+МdʓyZ+3chyR6mS)TͿ*}3ʓyO^9o`NށHHK۠Vf qtдj\i dy0AO#۞ eP$8''wn۽|{?*.Ѿ̵nd2rd5GR~*>'8 ozotp Hp?.h\JH?*k\3Fma{Tr̊#I}"(.߇Za]*:_1vXbFW֙Rܒs_]mYdXq5w6}Ҳu G~I'v?Xړ|Ri8ػe>GmRړ|Q'7֥!De>GmRړ|Q'7֣Amٶ_KjOoGԟZY4J*I-(PvU$DՕW9՛E p`M9AA-NjNis*Wˁ$Hsc>4j6`~ȿ\ݝKc{Gy,?@&$,R$Sk';g*ںu3dwЉaY"̍Y g#lOP+`ۄC1R*==OLBlOFTR6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'Wbu*Z(6'W}ahm 'ʬށ x98Vm,Av۸˂o@,Wh3K*Hf $ ^`gB~$vO54j|9(|9djxHD"5ƪHT'p8??a@jVw":\u8:S$)0Cgn|PivFTBUFvp} By6[s*^>Rq40 =:zE}2ۊ!^8zԬ3 xs#cOllT;#?iDi˜#vV`IVܼDFpEǾ4(zmg:?hd_,Hr8朶,~ZnV'T5(T9sRDٔ,?|qz,ΠWjKjCE}IsOI^&eASվ:Ir9$ u8OVY*7֑isK0N?@jGo<ՂH*dC&R`zm6 m w7$ "E 0PqK ^Cz*M ǭ=r;&X<브X$y[oѿOcF?‹**Gv+/$H$<=YOl%& ;<*G iPf^݉Ԯ>TT:Pt ڹ;pHAM䗔zBFx;z7loߧPDVv"ۈEڣ;?<ݍ= 67o( Xuݍ= 67o()z79wޡJnz7)z7loߧPoߧQ~@~Qdoa_?0Կ獯Uiq}~}Ң[=#Av) >S^ILB̌d2;W@eeURI Out?S)AĎ ;>d뭿ɨ(((((fG?3{ Y~'WCLU?=WBU?=WBQH((((նClG'Y ve #sʳMxo5,'PG_5]*céĹ+tj6ln"))^zmeXʛPӭї袊lX-S4 ~e?'t,q3GàRG)dG w@2@vy<Ų8r2$iKU}yYʶdYr΄@ n psO~Tȵ2dU?1 GѲEU t+r_:(bqQ˨6"æ2$@^je6_OX6H{UkHދ,i<ЦN1}E JHRI]m  ^S*d7jELпRvá$unb&h%Hέ|8 9_Oe`p ᒘq'< *̾ kon,( $djgQXMHo!$2G'Lr]*`]r ߻a: %" ̥L3z j*;imH{oIO'б7Me _[@dT OnLXt/iq$rI/=okR$H3mPw'֝E  ST3@jC&((((((y!?oE<?7f*kwz] 2Vt_ Sٿak6d; tW?/4$"۲zvsU2H0yrJ왿E`K u uk۫)kCHu%~Ȥ8NJjqnKVFM6fUHho,*^/ӧf[[mB&:t?{_S$v\}lD~ײMi*qJd[T7w1M(O kOiP$wI *ÿ Da)lSwf~ٯ$1$%1r}랻8x#Wj)d4_#!&z)lKꘈL0(oZEKMN:Zwz6p5%NA!D9V3Ǟv 1rd& agghZZOj 20p2),цk gSB5X<Ͷ8Wvp1'ړSk&KI?3P˪Y$#̀<m?\qT줜Qrt$P $ dos,1nX1# 3OU9$YX)RH pFp7 Sjvix-lLK NUV985?¥t)|=>B6CLW(,W>u)MF@OED`=ϩڃޣ pd[GtYI'aڷh 8NY{JUQBh;F5Z<7$u OC[RM`^Jp+V!=۸,:usK_ϯ5i6/l4Kǖ 9$n}4 (*[rC HQG$o]5u)U|OȀs8 #(g]m]5C?odQEQEQEQEQEQEy?3{ ǟR,wz] s[xC( p0;{QLUUT2cϗߠϗߠ1'щ?^'(* IbO/נ  < y|>_~>_~ğ_F$?zϗߠ3HzPO/ףyL&toR{$?z1'||A?^I?/AG/APbO/ףyLg p}n-IN56$?zdq9#>76o4} G8s7N*\SKN"SRA^-iuHdoX$B endstream endobj 46 0 obj << /Type /XObject /Subtype /Image /Width 404 /Height 350 /BitsPerComponent 8 /Length 47 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream xѱ 0: "d:c  endstream endobj 47 0 obj 174 endobj 16 0 obj << /Type /XObject /Subtype /Image /Width 590 /Height 419 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 5843 /SMask 48 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOON" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?@);;?A+?J}=gtR}Xdf&/ȧE bI|<"E`3ɋy'(bI|}]&/ȣɋy')Qv<"&/ȧE bI|<"E`3ɋy'(bI|}]&/ȣɋy')Qv<"&/ȧE bI|<"E`3ɋy'(bI|}]&/ȣɋy')Qv<"&/ȧE bI|<"E`3ɋy'(bI|}]&/ȣɋy')Qv<"&/ȧE bI|<"E`3ɋy'(bI|}]&/ȣɋy')Qv<"&/ȧE bI|<"E`3ɋy'(bI|}]&/ȣɋy')Qv<"&/ȧE bI|<"E`3ɋy'(bI|}]&/ȣɋy')Qv<"&/ȧE bI|<"E`3ɋy'(bI|}]&/ȣɋy')Qv<"&/ȧE bI|<"E`3ɋy'(cuBUE`3,}팯~n1+wa4d#t*}p (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Av4cz*z)gpʟLDOER(((((((((((((((((((((((((((((((((((?GTop (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@ DOA?G{QE(((((((((((((((((((((((((((((((((((d#t*}2?>(EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP QSQE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (ʟLDO)QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE?GTd#t*}7QH(((((((((((((((((((((((((((((((((((A?G QS(@QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE2?>ʟMER(((((((((((((((((((((((((((((((((((?GTop (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@ DOA?G{QE(((((((((((((((((((((((((((((((((((d#t*}2?>(EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP QSQE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (ʟLDO)QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE?GTd#t*}7QH(((((((((((((((((((((((((((((((((((A?G QS(@QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE2?>ʟMER(((((((((((((((((((((((((((((((((((?GTop (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@ DOA?G{QE(((((((((((((((((((((((((((((((((((d#t*}2?>(EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP QSQE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (ʟLDO)QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE?GTd#t*}7QH(((((((((((((((((((((((((((((((((()H.8J7ca?O0c=-QH((((((((((((((((((((((((((((((((((Y8ʁ=Z{60]I9'֚PMhՎH(K)bsU(*QEŠ((((((((((((((((((((((((((((((((K< $ }qE5vj9=ORuVc? endstream endobj 48 0 obj << /Type /XObject /Subtype /Image /Width 590 /Height 419 /BitsPerComponent 8 /Length 49 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x1n@K}w*Xf$– x5?v-}|}EK,yXvrujGL웷+, b=s`ۼ> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?ZiO.b>o>oj߹?qKV3ܳH6䞀WW_7j9Bw0ԕ:NQ.|/o֫^A1.IQSbx| N_ȧYg%ϛE>m?է(ſ^ϓf\kKgZiO.Ux`0[JK[-]{}4'G-]{}4'\%t-]{}4']/dcGXbuϋW#Ŝ?Mzƶ U'^',|֭z>Y^YO,QQmc,eUL+̧[yФp{Wk٤}?`Q]GXWwF +W_PWU|@z }ֺPu ʜe08{ \iw|}sßj{+T|i >?yz&g$,Xm$]oI2eNi$CǧqWR/Usq\ط 0x!@?IU?22 +v\(*GG I^\Ycd8sPiίy!^":ƅݰW/&J[+=d=5U4;=(V|Hޤo&#ֳ)MFn7YYMj󝋸x}G 2XWxē]G'#T{&I{dvsܐWiF +W_W8WU|LGa?ͧqޣ߷MB Fܩ>t<_;W?m9f;y=PuÈ\۪:ii~isns"J{Q^el/#v;!WYw(vS)qR3:uWds{)jfIUQܚq6j{eU^s:ߌ Rߍpn[zD)P.x+Dᙎtk +؄T" ˙+A#Uy?WwF *=bk*()$9G^S(¾,xX+荬ZKb"EَNp+fF  ըuۓl"7lǭrTÿtF_zVqO7ğn+&Y^g/+c* z:Z-Y$$QEtQ@w?j'ҸJu^O endstream endobj 50 0 obj << /Type /XObject /Subtype /Image /Width 128 /Height 128 /BitsPerComponent 8 /Length 51 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x[lU着D'kB0˃ElB" Oc4H"b !Qb l.[zݶ [ n}vvggwzfؙ3s{?g+ j(#j(s}Y- KWgh|O|_u~_u~ 3t|p▎OM&YarY^E%@פ+l'㌠,$uZ)T/ /Ī"Kb)Ft#1-$IQ5t/5't}sמZEALhN^]E'W"+|!)VԂad"?Df3Rn_0U%ldvu5_w\8)ǟDI'`a @׺BK'ynXNy~>q _xL G7dvE 1 xQHBMʷbx].Xgxe\|by[.V+p4UP6].Suwbo !1]IVUE'DŽ_{m*zab </@fOlOɦ"/q3i{]oŁo%:H osr,@8i\GM?`e jNêC "i%Hj̩G7OJ2 @3<>GE4 2sF7}k*yA$FmU*ѡMcESG{w$Ŭ5&q kHV0À>Vʢ00*< 5E`1W#US$6'Zgu7^v"<v}C7VȺ, ؆lkALj}06r?yFnTFV1D\DS[FJ_yxl*WI7(vzd`|| =W$hv I?yI< @?^$CvwLA$=&7` Бwue2Ym}SP|7>ȎcK˗p!#;PդNzAÉ\|jtIo&%BiI_%'BIo*8/&F%+‰p%{cқ (Ûf 'XI_)@8m7`e^ǟfFޑHzSLj641,FWp"6J$EIۀ/lqI/6< endstream endobj 51 0 obj 1566 endobj 13 0 obj << /Type /XObject /Subtype /Image /Width 236 /Height 313 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 7767 >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO9" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?+_u˙nW,a'y@9ݏMWϋ[G1H̿FY {AhԎ anWG>vٔ?SO?jKu}e_WMu Amk㑦Ky8|}/VƑ)z6xcH\9Cڳؗ[Xj6Tp֭O2@CG({V{r(r+U9W~W`}pxT]̫y.PGcVѬzE 2X'3Z]nno$RgjhQi?~/^-+Hg דF܊~shqܨE7%QttE֢ouިmD7C,4vaں!"w\;+JR5["3~*]F~"k2>?>>\YZ1㏥r}XNRGtOhG?" ?#BA)?;"yپ=Fx]86o'(n XgkBhٴ|gVfyiܚR@(e9UbhR68':CТG$!I8Cλ XJs灁 xTgLlҒ)Q@Q@Q@Q@ *U**{V/ZG5ԋ֨D*UHW1O?3?:Lqܸ/ǘ;k1RUxjOFVc(^ۦ0$0b>R x#('ԗ-pXU pxCihǯ_ER m5xie[̞n.ca>OJsnL6"cW"474(LǨ\~rt?+\R +qΎ+R5?ER(((((Z GNSZDXSRPA12ԪjOu_Hin9Uu,kr [LYBߊ@Ҷ'hi_43Ң2[N(CҤѕ>wsLH$2m# 8WZgp85Iw4L%?qJ.6DA5 9!#PaԺ?ZJ\RԖo]FȎŎ9q{W|59[@JkVKIclWcwvHj1Bb?4rojm Io$F5M aN NгUP{kWMtkK.ݟOo]Of鱧܃6U ^@JLp(((((ZQIE\DJUTVg"QOSLAVjYէt_PR?_Iܻ_UӜU=8nNY$nf$D򨵝30+#Y}N4eSmr S8 iC-ś <^A= 7Ki xyTN^7Gd?H)$?G@Y%i/IdhxsDB"_o,Z#Pj,fdYd\ 3I>(|sRFR}bHJiɨLR| m9fĽR,mz'C_M%y֚4OI^)![2Ȝz.TUQEIQEQEQEQEuLԫVg"AR-F"dfZT25,#t";om ?JY-.^v52Ymp*ݔT-F^FUҖ1n\HV`ld9$ ''Sq&l 8"捻qI`Ćm~GM?Ch?֩N <)ݻ.:z#L0;y4QGGItS0.6_Z]:yx3s[EkG4*dec z/B}1B]hjەpa1tO=7Ze}mkd(]WcOz-܅YCܱ 6r[i"*f'+!IOsň"i((((i)GZjE֥Z9)Zi1eT~%:_-R)n iK8TQ=%?oH-4kb#ꡇ;2>{x@#L %eD>l4j:L &hkI65@^0æ"MRE?~YG0j 徊M+N~GRlqU&k<ϏyGMYR6DO(rŘ$80t:EOl s yBw67,X#s[B5#O )#Ps޺/ |W6{Gɏc0|i)[%2QEQEQEQV,aYd|E#~!Uzv-(IJ:աH)OFR$ZzTKS/JflI7ҝpI7Ғ)HX`6ӥKKIsR(0'$!io MƢR(UdU10AڡH2~q(G*<1 HA)MbFg's֤hil.nOQcNlWI? ['MtR,_z4%+O~ 7R-@08`$1L:9?) IUÐ[xElhg̤SֱcXQNϜ|~a7%-&_kˎ ʺ H կ=P!k{9d߶Iw};:&>bxioR(QEQEY!/!1HF5^X*ИR ji1R֥ZfBMe]>qpZ_-LG,fI$y3ǐqګuǭMs!N9fJZ( JZZG#QL 3tα;w_Qkt:Qړwui-/|3/WOIC{s<= Fzk%'q]?'+IJrr<~_S\e& `(QEQEREZ@(!ž*E6=jE(Mb&S?Y;zB"I7J8ޡxI)~z `$3n@<}R7S׭'n(NJ`~ƓQ@yWA`>yx ?`qyoYs7i)ixWUKr?ծYXTF)]T kQݤLO7RS2?56*;!(%Q`*4 zlU p)H9E36fea<` BM[Sʮ!XjIJЇm.ڛg8'jmԡ=v6Ul6SԻ}iSHKpP4j < @T,(o%?X?OuNP4qgEQEQEQEQE ?U@JO_* OPxnYcd`!?j([^:\ZE X廁{/y|m?VF hMjTh@mmImF)qHJ)أSQ)ι';gkKR~Ve(#ЩEVfEPEPEPEP^E[++ؾȫs_%wN"2HXdkxKo4 7'nB:~><4/[3Hd篩_?6'm$=?M6qOso:_.'#:UC{cȌ(d`C+ = r'f ~F+ܓ=iL};HV5-Lr.!3"׿YyUV+HV)@Ѷ+I!.aZe.)h @1+2~~Z?U|ZOb΢+3p(P€[LzF*Diًh%X\sjջ[Lcc25_?Uv_REQEQEW9x>I%m#*zqҺ:(Os˵-P]@>l`s5V5/ h* *BF9*>ǚ[=<LjMg ר:u+RfM5 ZiZaX""x?Au+}wvZl*?Iqf &gd؟IjR*ri](72L"9Y½#QSTfNh&㱃I ~9cW@'8>]RMU{PPi ;;{n&W^E[*E ((((++R&H@Vl֭ mkPswnskux~T$=,.rH}>\ncHjE."<~V?V\" sKbǢ˩ҵ9p;tS3T|gޖGT\Uc{nh,h QPOV?^*[5u3?OٍDlsgT]"jv*W^n,jQBO^:WE{6r{,^E[*kDZy B#-^1oh ؚ8omX`>0*[cm (AEPEPEPEPEPEP=b4[XOo$kJ?xu-F6mȸ ߡ^E;{idl|*QYl9_AgUo'_Cy F:֭t#?G* tG^ Dz]⛹'>3??*->jSo+K\n;z׫QEYwe7T8ŏ\v{zV+ +&%⫧ʶZm6־f71*nLsuj((( endstream endobj 15 0 obj << /Type /XObject /Subtype /Form /BBox [ 322.3 394.89999 464.3 495.39999 ] /Resources << /ExtGState << /EGS52 52 0 R >> >> /Group << /S /Transparency /CS /DeviceRGB >> /Length 551 >> stream /EGS52 gs 393.3 394.9 m 327.8 394.9 l 326.7 395 l 325.6 395.3 l 324.7 395.9 l 323.9 396.6 l 323.2 397.4 l 322.7 398.4 l 322.4 399.5 l 322.3 400.7 l 322.3 489.5 l 322.4 490.7 l 322.7 491.7 l 323.2 492.7 l 323.9 493.6 l 324.7 494.3 l 325.6 494.8 l 326.7 495.2 l 327.8 495.3 l 458.8 495.3 l 459.9 495.2 l 461 494.8 l 461.9 494.3 l 462.7 493.6 l 463.4 492.7 l 463.9 491.7 l 464.2 490.7 l 464.3 489.5 l 464.3 400.7 l 464.2 399.5 l 463.9 398.4 l 463.4 397.4 l 462.7 396.6 l 461.9 395.9 l 461 395.3 l 459.9 395 l 458.8 394.9 l 393.3 394.9 l h f* endstream endobj 52 0 obj << /CA 0.69999 /ca 0.69999 >> endobj 53 0 obj << /Length 54 0 R /Filter /FlateDecode >> stream x]K8n_Z7,@#@=t  U"i} "ht߾.[&E??:}Ӓ鏿>V|~HG8\.ҺGXۏ1Iy1OaMg}巟?BXO:c))J}J|^OM+=?>b2gveivemWv=Υ]1]0~}:]i;y^0*˚-B'-ЭW|/;r4o!KèžGr$v|^ JYc_!nIԹsx7 1u6_z}lO(>a3d⬶L5gܰCy7 gc'Yq.؆H \:w '8í3A:HAF{_,녀h/%ܤB()Fa{~/(q3|~FUͭ_P[CG(&ܖgڒ̕g*`q*\bX*(.FxGt)}\`p4-.J/y{o'WYxr9V3O;JߠRMeXa?*؋ Zzͨ\eDFdK@Qwy =F.IK-k$aMH=9QC^IQ7&l,x!coC!AKas j>"~X ZnvӅ)JV}:7dr|<1ϲtpZ(zAVOxgl p>~f yy0/Ϧ-ƥ5$*la{UPa*X dL ?AHgNM6йe +ѐ$)(֤U0 2l`<אQuL I{{^$;+@t.4&S!ԑcc j[~p@bs#U`xS^9`ykի ~3 0bzy$D&\E KC!^4{R" %sGxEh#_-I 纀Mg!vEX(Pl:E_|BWgO5Fy##ѧospAdz0D&@D?sh EO xmJUVr$a~rZ<`\?o1fԪ`p) V`x"ZU=4Uk"f"[ $IϓV\,GrЫMTp<~sCYIOƸ7ePJc[)\0nb^-MU~XivCyuۼ+7`M)KP Wͅ e @>p#FDBi "ZQJrFPk--iş\(imB-Jx ӿO@4oNDOJjqXޏU8|޹{aK} X876).t{2t~ A 5I>Uy+)[0Z3x(PIaگuRq V(.Z;J׉7L;fU^ocJ|v)=gS8l^{ݮlbm[?*XF p )sFR @")[8^~ư!M q=$؎Bp 9=)݃(ge)=5s+11TjqY=8B;.QM&U8 L5Uއ F-7jS+>-2hMSwHR'}7b$ކ&(*g#.G[tݎ/Ñ:Mb C;uoW24!;-޵v|@M +3_v KamXI^nj2>Wlid")"[hXn²"ek F awN%RdPv<$IM:Ay)R~X)3<4\y:?l KO vc{7## T(U=_r WRxl*q[|ښU|40w*H Ey%zo2q=9wp!i3Vu,:VF<"B`\Ivyyid.jڰ;m@S䠪?2:>d9zf[xZwSB>6%ƅ]/StMIaλH[]DA7j͌Ev9H& ܠ1XrJAQl\0EHe}P9/ÉhQs+QjݟRB(ʹ/JX5az[ͣ:uFɦ@~dƵx7-!De#5p )!J>i&땙q.3ﱴ$%WaQo@=꘷>tvOe1sG8T֋Ku]yG }r`,b]_ͳ/G|//S%Yk+ZȶA$z4m5#D4.f*콟u>$i<;8\JYЫHph3 Y@T4 o A4ºL[8biX]E9 z]2C1VF) tM8Jy. dv@WE;uU, E+.e_d2PZ%ku?D>mـXLsd̉s9ȯ_[dd7PݓG!xL52Rt*>KɰA() =aaqhc>͸ۿ]{20-]5wk6Zל<`f0 ph`͹+Ҿ~}1%Ő f0S _n<ǹ"Gw/Gݎu-֍+Ag|̓mWE1(vI̎;㵒7𼹡tdEbwhY>+u6N}Gx㼠h{퍋Hɉ!|뽍CRC+$)Gϼ!>Rs9$[Ȑ$߸4<|D9Igq(09X$t.@2/`fwd-:j:9hmNVRlFE$¢fd0Q{3k2h%ƩPNg 6oŊYI~F;Fu\| ՅI]@B;=<ݒmߏU[SQ'k@(q2y=zJҲ`1H*o]z7H1# E5ϣ Q}gD.ᠣ//?kuv U|a قHO "vYOA4:Džgn>O<3Zp0|؏AXi)7v%+4 Z,0Q wFܦQ>0[#H&f\Nұ[  'ܽ4^T&WԘvkLx09BT"2#{ZU!ci 3EWg' 3a&*㌃RCv͉N=эb0;:lOZT`{dBxspr,]@ƨR:| Rct-3Z+lao1o0j m| ^\SoѰ YzwB޳H4inV3`F!JR㥌R^7FJwNL9\n\L=(imC'X|F1VXjR~o \u5Lh3GI)'H:Q^~v%O;k${yy"g9+l9}0t9"Aԏ"" WrkC&K>`?9Zg<b!?v oppk"+\u*<#"n+P~ nXZ0W(2jp5g1k9 ɫ E+!C-PvgǮ\ꀣc%nx}>Mq`找71kϏr;f.Ip旕afYW_1PuWi)9eM8m~k]@.=Sst}[a.sWXx/ف@z`מ)&J>4N g\Tlct;h\T9K: WbC"*Lq΄LM!WT-ps7޷p Bl痆!j.8ITpX{**ufD߸̟ן?jo;,WOW=bX6>sX竕4kO?CzO& _#iMǤ }U^pu& *~nk+ yYO1\)c\١_ؽq-l ٱW?QpQh1e҄\k~|a?(5LS&Icj?_­k? >qKPO),^?^U,5xPެWmKoשD> stream xZY7~_~t<8ptWI4`]$UաCM>fI?|S'g ohЄAo߽AR\5JolrA3j ؒm%CtsuW+6touD^ahߦ@M/w ~^|~ NwJob6sX6EwJ5(3ͱDDqDY6Js$(9GJ u'0 QHSP化O1NuAW$3 (CbA?R[x Q+[ srF';03XZxbO[wK'N-* a]ֆ?_((dp)FaE H/ja bTh#˅V,!]GjVgG2H%xΙ܅*pS'Tzs׭P#%_Y@:d\+D:=w%qJh-0WD̵UsYOr\4p"(] Fkӈ̢,yB2"ʜ 7Öɖ,ӈnL{ ͺ;զ_R-E-WBɑV1|T.G=-|U_VQb@tZxx׶q6.0 fTK cO9e%ClZfa,9A`R%D5@_?VX ՙC|)#s?CN6-E;Ǣ S(-3P %4Ej~jC -ceD]n2Y)}2; `ZF|+CztO^3HC"r`*;{eY.D>fY >+4vfK:\t=M볂zmҌ5ΜǠa:6;tIU&B^bڊ"cVU+̂˻<.•8xٜ+xh]`A?񧋻ɅRc @Ș">X^AQƷ"7BX{UDڅlTNRرp4 2pޛ\~&㌣Z1X7 EK%۸79Z-_J.ժpˎ<]T-l’rF"ԡz2吁$-u*җ vIUw(X\)DY9!4_fv|($l 3?Ze%R *; wDH`aS|%g,8]:Z8r oܙoŊBo; iv3 Zע/A[M߇ٵkP֛Gda噟ؤ6ŮHv> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO%" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?wK ̪,ʤ@z nLm4k4aju)T{7~sN\UFh=Ǹ^!͢+6>ϭ_vѶM܋l_m~W(ߕ mh{܋l_m~W(ߕ mh{܋l_m~W(ߕ mh{܋l_m~W(ߕ mOfe ,27(! iK+k\/+m}m[PA)<Ol쀱ŽAb[y$Q"7'N=z՟4*}mb[oW[Qq}$ H%SL~5B#`NN]H6>ϭ_ҥ\\p|(^A&I8S"f`/zu p}kؿQ/+zx\i5A?4dqȣd $7,"g9*=Gni{H[a9(}mb[oV#Kv}E䍭Տn| jXa?Z~ҟarO/+m}mZ9by 'f-DPxQޒi3~npu g \b[oFؿU&AolOPq؜iVq4)Ȼp isð'ܩ/+m}miA)|$nl8;*EqSs+F8>^94{HvI+m}mb[oVLqmI i$0s+l);<Al m#N3(`rؿQ/+|-TO+.z}jF"Y$-<a{HvI+m}mb[oVH W+,H[*'M_*V>8'd5d;b[oFؿThUh"E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+[n?K7ҋG^]F?% FUKKL£Kq@K{ [- !6EΊάbкr[-;|tx>m C qwl??Y,=v1ZFB ܴuߜեvU  g8ڊ_Z_q^kEL=+۠ph]/>6qE[>6qE[>6qE[>9G?( le<`;,>ûyy$s&7bKwtRR{|m $9>+n}빢/*#>M.?A {~h?tBg\vAERQH̪dxJk P~n ^n)q7b>m+%ĈUe{mn'HӨ>v2z( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (3|I"r4QO둢hls~ O*Pa^_yn ))F'}Y{-'gN ؟Q3n|}8Le{KL/ON3:˷l :eqr}gQ{q-]|ZT(-mvMh[;KR1ڟumBAܟ%ȹ&+YH>=*?ȲX鱐no.cPy_zRbQiQHaEPEPEPEP_hefW8zu[\EuM̹ ׭Y!ґ^ȡU'o g&-mL궑k1eEf̜9'mtW?ug}i#PPn,S,g$2K$,ӬEI#kFq ڸmα~f`qEI\ޡ\˪f;<窱;j157BBll;rT(Z]3S7аtk#hؘ ;}{mFkm4s?dg X0PHo s!cbvd󊞰twPn`('H07,}*.EeͶ;@cpFHuo8Ɨq{z% 9[f ~`9Yhk%$s ԮLLe* 2c@ 85u F*yz;<_ZtXQlCЌ*.sv$s"`Q|s?*(~Hm'm #q̥r{8Ѭi^\w lJQ2A+΀: +Ӯ_ZyŶkr%U ]}G74K`5¥3`*1\[nmȃ뙺/KUA#y~i=h."$R<*\AP!ss@5dM}jaFbE߼C梼%D1y;Q6ۆ!x!,wG4.9:0A\(d\vKkr֦ Iߕ'{};JIl(k!I>QYMY5kn;EЅ8ͻР( Ƚ}\xEh T4׺!W[x슚eFyh1^ockj-С) z0{tF 1r3?Il99FK;{hN W2L Ӏ=STIdٸ23=On2sӎJ쭌kSNv#ztNṃW3`8+x^!fgvֺAj&eS:gNm^bYHǝ;`= ӆmՖ3n!.OJiA6n{ +BB((((.om, lr3?:X-fHṆGH OU,Zm^ 㶖"\u4 mhe=TR2gAq[ӭhϭi-_[UzȤncg>>5fKh̗0%gH=9dI_Lk̑#w- GCwPK)X|i'sR7c]m7y/$&4Iq$(Doe`r}*cC66r [HҗQ84f6yTQN k#_ c>~,2&3FKp 6}ofwQZEJzd3@I{i%uKƲˏQR]Ikq ȧpN+mSwoiir ;Io)Q8oQ5oJ\<"I"['-|qנ wa m(hn=7Ā}I#zD+:W&wd `tjUq;X"Gc_w'h#=:p@_Ywa_a/ ln==(nnrIdֲҮ.7EQG$ ڬk67ٝ|FgxN6Ss@no6}w2@D%PG4H6}SYvZm٤m$[(eHyS Un;aKya$vy xU\.G#heiǚ9O#Vu7KxG]L`1aaYxvY> m+1d72nY}7c9OFs-`y"#19l 9Fn.|.mhU#CN$xbjL 9 =ޙ &RB[ʾ\4V9b|u &T5@MBڍ[%,pT+c&,[Ik?BB˂@8*_IkrĒ#rF9^Cބc@V3 y|sjֳ(ybXŵy=s LmAm/B\OG T&Y%x%"؂@&)H_Bq'/X[ xH2yV'mQ9icDL@w u.cS" 8h((('G?^F顱[ql??CA {~7*娜#6#7t> EDYIQ9BEuR凡(NT9I݅QVHQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEO둢Ƚ}\Cc׺!Wꆃ O*svoQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEfEhğ/_#Et筸@6U \ݛd`-Mqq`<1˝0Mav8ҮH匊9p6#8Nm؟gHZcާvT>qcgv 8I5_!_)ĉClaцz@>ef1Co2sZ:->|6`Bɴ('$=;WLuK,elLJ '5Zı.f#Wuf]յ ]nxncs.G~FFzfx{ĺзAw"34Źby@+Ol>'lJ<{og:cY['y;bQnx=ր9+o{c>SU|$*Znsm{kYmf+ uns#SJRaM>bB_1Jtys{]6H20Fq$MR{XUgUn.@@TW,.^{ʷ mvc#t+Ű_ ɚ(eX#*䯭}wUޠy\E(WY@vs@]:[Q-qY XF3pjW7+K>`Y#To݋m>9@ @{`mFbIAޟu9<~&EPg4Sy!c 1ҟ ~*gTXl̥Xi_W\A\GeWn_2=:.#'O_'VE=ͪ5vVdEU+=IՋ=WPZwlV4`CGn3uA?`?´( ]FOG.#'O (?_'Q ~+BdI}2ߤ Т3uA?`?´( ]FOG.#'O (?_'Q ~+BdI}2ߤ Т3uA?`?´( ]FOG.#'O (?_'Q ~+BdI}2ߤ Т3uA?`?´( IVg @p@Sn!r:3|I"r4QO둢hls~ O*Pa^_yn (Š(\V3IzȎhצ8U`*أDbAf,p=IsN((((bYfH6`=]iڋq;y*q+;Joq 46pG=IE5]GV(v;NQEQE Pە tKT_6ޓ?PgRyXK y>$V0t=c$ Fߧ ?m'FŦ+bJˈ]8cEX]v,U3O?v 2Aݜ_I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh _I~(ѵµh .,"| ??Iҝ@$z(']469n?A {~h?tB75=#28ʰ%gUj3(}YI p1c%ySQ@B#se3wPC%8yvVPʌ0~]4,MY''mo 1 lqU98ހ9lY^$ΐe)~Q[[%Ԍ &3,$$'5@J=./-aLvЧS5>!.jWTG"Rjo!7} sڷmndt1,G ԁZtP=ſi?PI`ۊd6w,ڀnqH2?(Sc]%8tu#} K 1 %~b6MO߭fS!ȢMFr95Q@Ω̺,|/s2'.C',qt4P3\vK+ppXHϨB]/q2J2bm}zD4gdES#nr7p)@/űs+F᜘=8veVuK](ddz`YECgpy?acI^۵MEQEQEQEO둢Ƚ}\Cc׺!Wꆃ O*ФC 䑐jAyn$g[zηRjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺?usTjo :_7@޺R)s6$Ƚ}\xEh T4׺!W[x삊(0((((((((((((((22gXr!PhqԾCMShѤ2XɁ1X֚zko)il4}EoQCI1N.v9tnZ&W Kwjf0akFM(2~o=lBrL[xG-Эj(p=K"\e;=8z$/^M+Z.O-ЫZo̓H>˕>h \O둢Ƚ}\Cc.|W>ͥr60 ߴ8ҏO.?/EZ?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%?<G'hg%CSZez(4>? endstream endobj 58 0 obj << /Type /XObject /Subtype /Image /Width 424 /Height 293 /BitsPerComponent 8 /Length 59 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream xA @.c$w M_ XLtI endstream endobj 59 0 obj 158 endobj 60 0 obj << /Length 61 0 R /Filter /FlateDecode >> stream xXH Hs@)8,ma[ڛ}'4nC"h>Ick;~[>!7Gof~= 1__e5/杅.]Q^te"qOI5^ OI_II$h'I&I IdY\Irf P!GeDzX$d)اd*X <>s0rf`:-J$[ڼ-G-Rձqd)$P09k BvM٣ ="~lCFơ& A̴.dXK(" JuIe3 ,|`z[,!^k;CWQ@֪cidj lSЊLR4*S6y-CC)<7 .0|ng; yBꄝ ; WB[ݩU=u"d&VhU)fFTh>EQ 0~RSٟ;qWٷwBG<`FtسWA)=&>gމ2 5lb%Ft$g@p Mry$JiLpl=X{+M 8S' :H(vZyQ K7)ဉw`D[NNOew#ѼDD)R";YaBo$aq`)KpO@MO%E.q dn]FN+>> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?HV3 o$P;:ʊy zUMɔsƌ o~RONW7~?nikjvq،9GZ[΍o@x =_˜T=3fs)k 1wl+FGm6?y88ҍ. 'y#h4HZsLW)zy͑89{tiQ~ES@Qb[oFؿThUh&E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mK2r(7HzR*W3vSl_m~W(ߕ  [ˈ[2"Chl?5*a#H @_^[&eϭ_l_m~W**E$44qH㷨jH!2^FJxiðgܧ/+m}mYQ CT̒ nWin1օhN$t(BsװrϹ[l_m~W(ߕ ҉-F7B$zt}jC<̭u+ƹмIC^}ʻb[oFؿTCmHa>i~xmQOq9At%FO[l_m~W(ߕ %7ۡlT0ywa-H1o2Q($0{RؿQ/+ne8'1a$NN3(^ jIbk5h>IcOb6>ϭ_)f0HX\_p8 tt\v fb,b6)X?9#*x>xv$6>ϭ_־SPnT ) Ŗd;HQF"]$بXzǽqN 5{>ϭ_w.>ꪡ\,~NzO4b*yŵ@`>H>pTߕ 6>¦hd (OPHG1el}jRiXQߕ 6>´`Īv->s/t*3#JJqKS>I+m}mb[oVeXEEY±ɷ:cᶅ7Q"G$\S)I(}mb[oW;l8 '1V{~'JoMVs-#cqx5i]B+֗#xvWFJhv/y>6qE? g۫+d` EA{{oas4q‡Syp 3[~6i\@C*I F so"x2C}=hߐ}W6ѶetrX8#Q mweYX@Yԓڏ|'mk/'̹<[0}zr[v6m$ġu@X(,qN@Q mwQ mwge3z [V6iU8m{F)DY 8m1EKGgRRC Fy[F3*X znW?\WqE'[fpJ\O?4K/A -m. > b\tUQIW#,~TsJ@?QJQYdEa ڽW5`TX/xKEw"8l7E=Gӓ_,lTڤ#[76w\/X:Pq ͽoSid3ȋ\ͳ,X9} 18&+xYH^Y݂&1Qc&!|L2Rrw~<7 cx0:{Ocx̌I$p  4v~2W]#20PHrzQw ,dg,6NFsybݝslV>:UubksΝG֗0Y<81d%4$H0>a +?CGW0<@ArP1~hXdY#ae9{uZ_/8W<F\CF]դG0OJREY#sОT}i(}]1ykg֐ŖvcOwTM?ռG3LLzR,[mg_,lm'=?*8x&V~HĢ"$e,<1NG)}i(}]17$y$~XurM"#<#`qZ+Gw #!Ù$.9ûyy$s&7bKwtQcF(ߐph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>p`0ikqvRאp1mK^_}[]iP}sB*3WmEZCgd_YXz^X7r_ΚK @6VybZOAn첃 k#گhlB6atMEfCy3$5-wqB^%h 7>7mw/[6wlsvwvjҶ;H [1 +TdRo!0M};gK{pfr"R7B9Lz`*>Ӓ}KwO "a9ʟ9+57ƀ9iK'6Q6cB'~F?wu6G&{ +b3L0`]/ѽk4ሄ ;.RHEgߕp7|,]2DkXK<ʐg[:w]<__ז6>ݦCsgo=qAPmL̙5)-LRhtܪ:fVO m9'J0q9w{K[{VZ|vRD {hm?brGb q9֖/ѽk4Xio71}xCUZimPDbVH|r>^خ#lwQ>D)ib+QA>úQh![~r$<y--%In5#,Aa0Ppy]N/ѽk4<9)!eG8\aIٶ, T֧57ƀ1Ћ8Yl-U$-E)F O/ҲodMT:yxqny&@'[bdm0=AU;m'MgѭasHXd`jʚ9/=F&b9ث s"\$IIȱ l:(+ֶƍ<__Ou6l9<ZԔ x/VFCEQEa%CI+t 4ڟw^_߿?ig8cQi[a5L"L6s:WGk4o`Nqٮm#I |y{:]Cgrx.Ӆim_z7ƍ<__4M" m9jo5ޖ!yrĠL<$Gz57ƀ9b=@_p, m^av{yonReܨ2O|=kw{k>-IT-$F D Ѓ9K$q C:Tۈl \d ЖS|O$iN!IA{h5,f[eHʌ1!,Fs?ʗ^KR[^k!d 1 3:oAwko}O0ۂL\ד@1j6Fݴ@)GIq7/UR2 bK.:.IN8Zm,7L&8v:g;x@^YOʧi 4ǰc޶)xF/ox@k4o>f/ѽk4)xF/ox@k4o>f/ѽk4)xF/ox@k4o>f/ѽk4)xF/ox@k4o>f/ѽk4)xF/ox@k4o>Bbo :fs"EH(9ȥ)#;8'֟;U,qۂ*,lҙ ƛim|q)߀3:v9̠c1#94JFc[ JJI=bVG6e>P{uI`sǍ:FqV`y_ Oj-Ka) A9)НbG͝SU=JdyP?ʥ8j֭mq0_c;>GAX(nQ~dg攵&eZE)cF$ϒfL ~Uv/>Xwm}21Ywp۝Go(ଌϸsib-,R$s1e|'=qgUsBFݧ 0NON2R# l J:/#0I)8'E3N)58 j"ܮ2vr|8Ԭ/ssZť *s9؞FpvRn}Igȭ*4 w>e%"}yp>YَC3;FU,wׅ6Tb尮D<4 l<,I*Pj´"S?K=X0" (9j)bV,tsɪ-~ "N­\TˇЭRܖ;}k|ԎBF ZKJZl$I6]bў((((((((((((((((usm i|v+/|V?k(.gl9ճ?eٻA߷6:NϠ c4kG6K/b^!ӁNmU$Bt-?&s鶯G_,aqďOtwW7 r݊;#Qќ\yFWZA?j 2Po9V]͌%f#mu_'OVOZB2X_Φ⍛sOk~;+T.oڭ ?ZA?:e=Ulet0_j >kA*QRVfF_hʺ?<3N+`*ڭ ?ZA?i*ͫZĨ$Z& J7`y'ڭ ?ZA?bYqܔhZ4oAE*ZA?j Pk8kA} (3৑ԞNnS~kA} (iaI@ڭ ?ZA?XiT68 #C_'OVO@ um, ")@!34%10f[Q_'OVO@L`q (U'P]Ήߤ^%;veϦqMDwVڭ ?ZA?P4ɭUZkUf)_9ϵigj VOGڭ ?€1t"//Y&I++xն ;Uxr1+wVOGڭ ?€g[U3z.nf$,4&5?/$c>k_VOGڭ ?ª2W&PgDdՄ[hU oܓU'Q_'OMN.3q'y R!=c5AxG?i.8Lmy _'OVOJTԤTԤu2v1zM_Z!Hm ?%"RHܭ:ZA?j |ma_G@xf ixH/GrM8\3{z>kA} ){2exK)n&`rY>]SP,p|6ۻ 1ЊU'Q_'Ox׏,UwF ٯi?J-,RGODTFpy \U'Q_'OP4[5u#jqv4NrHԟ>kA} +3G:C>@,r}p 7kZp~06ׯLwVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA(4ee=WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVONh%m^oEt'PRI6MsbHp)^ <=€$LhEm`Lm_Mcnj д LujF8ccżugӴ;isLH$SczձXdNώ1W #^:㚗NMಷ2@d}@?Vuy(ԭ0}ECŔTl.n#ɠ ķ@#m|.㩫vwQ@f0Q#džT5typ4J-n"H !R~V{kgJPo464Ug.>iG7~DrIvBs$Vɽx uZ|A\j)ymop2X @UBJ7sDnn5|Oqp8 淼#zE% %22>nݔu>?mZL< DBXG9>biҍ;7 ,Cm͕&X6@*Xr;iɧa[ϋ΋ >d2um4om#Y${ˣri- Cz:]7DK&f DĹ_yugx|,*ĭ^su9*|-e"wI'LDˑU! @ աqo=7C'u[rgI ;g|LIPz0?Ox?Ȭ2wMjBvܿTH8wL].-ya!YFYA^UEƚn~~omg=?}wX-[6H硫Shꅮ-Kf e Ҁ7}+}"mmcNdz|L2@AQ:KY,Kcy}QeX뜟SWۃ![;̐NruRT*t<&=ag$2*.A`olE$RX #GA/-7[-tacv{ڀ5P^KGU`2[~R7c@ҍ6+fмDV7,08!NA%{P-mUiJ4Ll uNx-A% ct=z`՟C$Z|;]؜灟A$c׌P2ٓ}^\A+sIy2pv :qֆ7\,gm G$p(`Q\u4>=n"M@ܬ9w=MMncvxIc:p'p:RQ|X)F.qtgx|>%(<?TPgx|>%1"%1"v^|??Q=cqlO&6?'G`v^|??UxY ݰWv|:grlO&6?'G`tX\NgGbrd{@]]ـ8DMlO&cS{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]S,~I?w͏y<Dh3΋U$pEM$n%I{Xw:ߴ?]i?~q>ߡk&MοΛ7g~Gn?.\τ4}|'CM::o?]i?~q>ߡk&G4Lq?t},5O~Gٮ??9s3MY߳gg?Mf hAοΛ7g~Gn?.\τ4}|'CM::o?]i?~q>ߡ4*k@& h9,+/-m@lg<G{W=k&sJwhG4FߐR|ibeV T.HsYiRHPWs7SFVKM*RLR$"#?**%T%m ݐI]zM-K!#9@vPwfy??Oʀ.հ鑼SdCdA׺7,RkڃB&d*aԜN:?눰?tU?*}s5I߹6Ootk}W>Q5˵ԺtiGVcOZZyk}: z^yK 5RG V]Z:̣P('yڈ2ITV"D)듏Ҙ_RѹA+k)HҴ-#hJ< pyFbw?ZnKYIuz#*#SNmZ[~vHsקcNZ$"z@撛cpEUQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEKUY? CcHEfu4qIpd8Kq4,\Ǹ(5FiQYO4-:|݋#s}$s5ȷi0rw:qO !T#Be # iBK&GCjsl]eڤ 98>8D×SN[VĀ@=G@fm曕F^)22T7W3er)1r0rnsHj V/"^LftfpsSqz/hپ`sROpn9,_E55{ Oc*k/9,PjWHKH\F,Lz$&HrB*/.eK,Iq:3Sw4[;J3ln|Ww󯭣Td{i_EqP}@B%ӵ@A噂epqMAYfI2D𪍈KR,694j7bbiqDaI>{}Yy`H3n8'q9XgmUy&1q8c|VM}V PΤs qʌ{gt7Z&ta Bw#Z4Cs D>x@Y~vx5 nZŠV6[UBq8>^*]&OE6u;9ƝE}gi6R9n-'x,?qQ]jw X"7@I?)Y>Ӯ9Uffe- luLg>>nݣ˥0RX'$3s/6[F!Wi5:jy]yeSԷ<~5em}Ι%<\3#2I`.23e3T{gCdN].Tygh[67Z14H:89>5f[w֤x=Q)PHsoZzٲ_?Z~ٰm3Ěd#lI`2ѷiOec $'Ҁ/ au6|-@5RidVV!p\s[pk&J/Zq%0 L&pzސ??m'|_mwsTBrFowmck2|fc{j]9h>+J"̚ğ@~K41/DcxwUn]* F2Hx?;߹?NO9Iփ SXw*mP{~&<_dz9۴c?JܟrG'W}QQQvbʏi_-0Wi(~?wrX`rU2L<J80qҺG'(}T*U@[x!N1uNO9G#ӿQ=[v*pNbIv}}>?;߹?NO9Kð{9?&/wgw@5`ʊ.@OuNO9G#ӿS]Zqr*ܟrG'$gk$xGMWme`*f8+oBfi%͌Ws#~{y߅?MʜG߅?Mʜ^@];S+ JAYِ¦1ۉ p=)BoT ?)BoT Ӽ+BZ2edc?:|ZOg}DڐOxmSmS_hӿ?¸?>OK@)jѯ `mSmSwt+T6vxُ=*#tO% S( S+-3@ӭ>ّ#T-@Gz0J yC=J|8y߅?MʜG߅?Mʜ^>{fK]F҈* iNeqQ~9(˿)BoT ?)BoT `sIhV$8鏮IoayΣMVkbR3s~7*r~7*rz᫸̖n:TpFd/#tO% S( S+n|/>dp0+_eӊ+€1)BoT ?)BoT h~6/#tO% S( S+tfE!(r3i7?8~7*r~7*rz<,YtpĘbpǧ@x>3iP1 ]SF:y߅?MʜG߅?Mʜ^ʈ4"B˽BA3joG? @KO/QO/Wj>Я^hH"Te>u7&#ڬmK/R1@?~7*r~7*rz#tOO-`}Ԇ4"<=mSmSQ[MY%}Ią9Cߑt־P[ $,:?y߅?MʜG߅?Mʜ^kxf E)Z(cp{C.~7*r~7*rt)[hl0bqے:WAx3GӴ ?=ʖ0Zoa9857Ŗ8&O(#oŸ&N_oŸ&N_Z{C.KR?̗XHR`tSހmDk.șeIbGP+b ȷ.é2ۈ͒A|Ĝc>Es)&Sڵ6Oe`1/|=׆Hcm9Q0Ts Es:R] )w*84j>wlcvx`SqfmE6Vۚ#ВCqtP}>i֦C)%-QEsDԿJݣR5[ ,omW8 A'bo7u?[Qȃ##rp{th,_SnVJP'8G*ރѮ'&v8e6_bXbo7X4s~4mj>ƫh7Gڢy>2eqסTeGbo7vf#FtrB8l c ֩I6" k=NY/s߲ohq2k#DHrqy6O$fzRDp9'th,_MKQ ɮY|I:LgڪZI-&kƑmJsFCh{u?eGbo7FKsqr @IqZu'bo7X4sz(Ok,_c1:u5} ߰ (>ƏoU$%>u#mL0`?9G#oSOZ\ Bd*nd߇.6f*ry$Əoa/,640ƾG1w|#ڭ~to2D_ʯ!~psn}/e@%s*2 "bȲ[8=1h,_7-ueU{?<h}JXIyi-Ŵdn\e FFX4}/sSx]e,mn!.ˁ0A߭6ށlO&3*2Ϟ8:oh#H䰖yI#pJy9?N:h,_"ȑ?Tw=g%O,cr\gV>ƀ#㼳`LsѸ`:X4}/sauGmZXByaKNʩcfɽ拁vl >]Obo7X4&7Y26r8i?bc2y.~vsه >3r8h,__yjky|m_;  N{-Zǎ~NvAueGbo7tTeGbo7u|&b[@JƩz[5nD\[gX%ږ9!Iueж ,_>ƀ0twI8D#D2^8zu'x`1qH^>yߘ`gJƏo>Əo3m{SnfB sjd*b.8'p7?׿3uEU?7Jh1[Ha$t}.xz|׸I]u)nuLZ|w\GfD3\1ۛ ҙ@FhHqG |C n ܀A#JzKa9Eu5.84 w}ÞWw}iffl9fMaq3lu4?d.h8.lyʉyL`̓[Շ&q< 唃ndI#q7<}*VD:I:|~e*e׸?k2m/. B{-P˴y=[Fu{KĒQ" sqcK,3[@nt#P\m# 31**roZx4ṷKStLqIpfqG͜=t\M2#{69*Dfiob\_jotf!IvjS+aEPEP"? U ȫה?$SxnM3(^o]n4ͷc>Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg kfB@K޾?׿3uEU?7J뫑|׸I]u)nU[ˉ"dc۟gQVķv)׳12͹i8=B_zlڣ?`(pMg q=zzU /c`JaXr8<x'y]r;ؕ97Vy9݀Oʽy;f8$^ a%s 8:A2;Tu;oh\ѻ::+2W:.7FK Kj zԦPDF]A`ڣc9E+:x⸎kvan?+pv-ߊM81kF܌UO/c=,:J+H=fmF-n_*HLGhA]Yη7s=vy6#IbIў>œh߯\hjP:O.Yê )dwE?*d$2E5e4[ކB`boceQEsivly{wl=y6ďbkRA6[|{ێF{ޥҒ.l\啼zE&qoq2f(aL8^ν(ՅmI#7@V`Y@;TyStt W9m^ǠiwW0{ku\?˿v_?w{~zuImFFc-WTv;$Uhќz}$UsE @ȥ2ȶT㧥@ʑKm+2H@`qzqZy"4vQIY^W,=1מ׬йs0OIPk8h"1rΤ^s~xK\-OWqi2[ 1(2:m/qsB>_Ԯ+RHbJW8L7 }Gz}-Y!Yxt)5漄F2X8]_,>Ջh$Ҥl  ӟZ6] QňYD%_&w 54:Hv ~5>6cQ(>R jM̻wlqZ6J>L'h]E M4l*i g]J,9bN30? NVO@ (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@:!  UO>Iu:óm{ՆcQwNs[kCvKy9U`K4r8Hf7+:5e $qjc kذketEwCaqOgSԯ[l֗Y9+=zԺiK t3ɂs*1V#ѣO4ԲI d^18楣A|}kfB1~י;^a  :o ͏{W#qRݎ; ][ڪy+>UqFFO}x5v2մ7orq=r8 AOCѭ4;&Cһ9f88`8a%sq<ϳK Fgʞ@ϰc} b T% x`x'E'WB[M, d㌎Nq{TyK 5Ei%V1K^ra3/%<"1;tI7KW,rĂscڢpqg!x.e1 I>w7wMo7;1VI5aʱ,V빁(cS_{Sn 7%abpQ9${|dccM*#m0K)+- Կ%{MZSPl(|Dt`Yzt`ACDG_CKuq4ou("Wmxj=W1[~_oI~<.6.>L=^\efb{$zO@AXѡ{6sKe%|[1""4;};sR{߱/6A:$K%p>*4j3P ^@@#4zE04qͺD%vft ,I'EztQ6e8R}aE^IgʐE$Zdf0JE%_jkE}?O Hr@yTh\148y8;u,~ 3ƻuw5Ǔ,4J6Ѻ3#'݃5VI".V%kYaFSAOR=ƼZ6!gIdi71'ږ "ݑhw݋m+I?+5|,V[č$Y dJ۪Qi608XKfF*x'h''$SqoQE@Š((( -sE @^WH(Uu|I\&xcE]#iEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQET MT+gJEb\XY7g ™o3Tȑ:IfeaEːGNjQY@@ehd/pH4%??IQ`4%??IQ?,?<'EӢ<'Gߟ$⨰tVgߟ$SDUN+D'Ȫ_ wC@\*pƋEfy)"O*%??IQ`4%??IQ?,?<'EӢ<'Gߟ$⨰tVgߟ$SDUNSDUJ~iYJ~@[87ߑX bk3OUVF)4ʎ#8a'4X O 4hX_wSUtNREl[G^X  4hX_w]=ȋ#. ĀsSQsK4qK$?)*`4D+)r ym QWiO?eSnfB& :o ͏{W#qnV~?ur:FiuD]Z+qiq@XmNMP0~60+7`nϦ9pY~C3s J~EPQ~+)G0*@((?]'pD t@W\wğo*׆?U?PQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@RԎ u?ڡn zP?|y_ePJnnU{Uf[=:MkhمF|aL.I# :m][Y*9Q*4Moiq=¸nc:E{|ʦmP(z*nzǾ*kmKTTdS[! |]:8d9Q)<{wپ+OyK>3@y'>Z5Pag|ؾI&;"C(R3.ya- a-f>1qD+M,Y1(% 8F"Ww .,,K$v>j/uk `YCA"&GA'utȼpd Ҫm8 gڭke ʰ[Ƴ _ZA^5R!)1y2G`GNg5Ͷ)|nuIiPc$}m[Cmik 0GB0ٴr&mҩbCù!4{9kf` 'dAǥsۺJǑ.mŒhULUS98~xO oGk¢}a#K+U$HGQ۸@\[k[4m \&͂ے@kOՖ[pm ` CdczrB𥕪+ B#$Ɵ!D6F nG>P2u>oB;qD69p9s}j_0zb,o}W,o}W,o}W,o}W,o}W,o&oo@jO0zG}Q=rtل7:7b%ei鹕v{2p=j0zzmfV>u?JcN1rvC&sA&^`(!L$ ''q~~L7t}pe nj-OHDhE[bza6TI˕osi=EXڵm# jCgjQBVHNprx5BOiP^GuVLE,.|I-aqzܣ*2l9s9*>4,tuUc$N74Ʊ5F66QdChX6ͮpaVpB6Ǡ-} Z`g˂`$ޚU4hY?%(+nc*p=: `g6ۮY}˷[L6wml`>o_i ͨ h$QBHp}m.M̖V9Z%-s@?;Vlg`N1yc~?YrA!PHb-+ztʟҧʑ_"3qfOF$h䫵]QG1$P0Y ln㵺HDX>JźsiW:dkh !G@ esԎ4)ˠ]'.x%vO}2yqW-|E]ox-c2˔e*d‡JktFk^3Cav%PHWc/{*E١QH -sE @^WH(Uu|I\& Ǝla8?(ji=hZ_tZhZ_t?@?GOP*OQi=ji=hZ_tZhZ_t?@?GOP*OQi=ji=hZ_tZhZ_t?@?GOP*OQi=ji=hZ_tZhZ_t?@?GOP*OQi=ji=hZ_tZhZ_t?@"UVhZ_t?@ c>vK?GOPgϝ_>|'OQi=?o~(ϱ;Ii=hZ_t/}ߥ ?/RhZ_t?@ c>vK?GOPgϝ_>|'OQi=?o~(ϱ;Ii=hZ_t/}ߥ ?/RhZ_t?@ c>vK?GOPgϝ_>|'OQi=?o~(ϱ;Ii=hZ_t/}ߥ ?/RhZ_t?@ c>vK?GOPgϝ_>|'OQi=?o~*Hm[ě"д ?-?:€>|?o~)?-?: Oϱ;G}ߥ O OBz("F#UUF-va *žw My QUCDgMq|36??RW]J[drj2Ŭ&AĆ3*naЂ7t3Cѥd@mj$2;3 1 vgi^!>%U.uUy$J UEZ$+59.,ņr39 r#+8T [>"yHj?&8's]q^8ۯv=,# )pOLwKN(ldge8dwz*y{bDWIqż(Nğ<~ԯdKh/GBR,dc2Ij`kN(GV`pGwK75qsqhYGi1 &ˎ]u$Acjk4#H pxb1c.zKrg.%<1:{ WmE 4G/!総:JX"͇I7` 5dZKs>s8G&F\W<&;})l)9.>_jߢsrwc ( -sE @4oA ȻO7CO`?@\ꋩGmŘYRIJ׎UvԭA]",P _ۅ%e ~"MRK!f;Fx$݌gj&+neGiTgTvvyl!Ka}$۲w1$uNէbicb d|Hߍ׾H#[b.D7pi:9)%cD0Oc*K{;粖YV9RBX F9sjZ{^̤2ycpPMʚTԗmPhԜYv 3\TX(pc`[=62T]y#"Xo-clAn6'=#ev/MٜpOG'?54yZYʒ~f2=SP=hj6lg4:_=L"ORr|+5t{q(~=t{^K+}`@qݩiXj]+Q@?6An(_\m QUCDgMq|36??RW]J[dxMG^magqs,#8T<:xX(,5t{9sz@85M#Fz\6<mu UdfLm6VCzˑx?Nݾa$RVH%!cN[+E0pD$F?w#Һ&;뮿!Xc׼Iv/y) )w`u&IkϣXH3K*"0W'a#<:ufڎKsQ.a=[Mem$ "xzm p8/?vZuL/϶Vi$ _j{/tkp$92 u',O-bIt*h(R4P0³V3VHi+Q@Q@Q@Q@Q@Z$P֞4g߷| \wğo)cG@c` 짐V?Ctv#ȭ{g+BڏbJ۵댟(w5 6[} q!\b3M 0դPGЂEs˭ZOfBLcYܐK6ʨ;I®sI+47;ף;zu>Vk9%`u,>Sמ1vY{'x%+ 6rÜ zX^k\Yw4Lv$:d}j_*ya->鶕H g鱗W4;ף;zu{v$& aL1#ԑfZn$k1Y[ BT16VQ^arw5g_wM]=Wgo.XL+7SS&D3d~_J;ɮsS;z?;׬+?JLJH_绸+qK'6soaB1HZm#n$Qt Mg>'>r]*r5{Dvv7 988“(Ǚg_wGw5o4i=ѥR^Hcr+0~_sV ygm r@=.;2aCu8=c0Mfo(ti!4ڄ;NXoGhthԟtl.OM;<5BuiÑ+?l^g-d= y+ $wt]k^[3Ku=H%drw&v{"Q]iilMi3ۼ7ARXnQ 84F۵AMi+{hYUc2s> jd՘?M^;ף;zEQ^kG;z?;׫Pk^Q@;ף;zEQ^kG;z?;׫Pk^Q@;ף;zEQ^kG;z?;׫Pk^Q@;ף;zEQ^k2wxx2ȨJ7p3@?;ף;zʗYk{B!wQUNy|B*o[cŷO3cys={k^/d*@ɑJ{(_k^kq.{e58"HvKg:u>ww=ڒ[` é~(w5g_wLd Lo1nc럗Jq]ǨJQ!6lbqyw;z?;תΧ=cK -N@$cETV[{{)源J n Oq@MM]kxn"YBnR Fnv8An(y QUCDgMq|36??RW]J[dQE!Q@Q@Q@Q@Q@Q@Q@Q@Q@Z$O?x f"? TBx zٲ*]*:O˗i8@=)! 2/k`2,Pv2OJഽ\ӕҧQbЀC#sЎ@IT0R $`2B8'RIǣ⛻9髭ݓڤvFD#II=NyyS$q=D S؂#+CoQGޢ_.1Ƈn\\n3pF@o)ESzI.M1M{t_1,eܱ3Oj/2K icX9Y =+CoQGޢϽA,*"2UrG#ޫEZe5;$b̒W"1F}v|yM)+&2cKVB,q8 !O8# U;X0X9w,V5ooQGޢj htl I!{6"hXT:>c(Э\_``0n0H1<yM)IwM" [Yfeny!r'Ƞc j=E (s{sҶyM(;TwSysso!vޜA<O5-zʶ%pIpl Sz<kR;88){?IWZW3'ڮHFWn۵Rx8[Sz<);3SK<ló63U4gΎol^drwFxҶ|yM(ڧYw~?TGiu\h%iHl>TElM(P}ŵE|"%."ʕ²瑂Q*?a/ݤ2L`ʰp1s[Sz<V;;(-aϗkgU5I7oQ@ _>w?׿3uE^0`r85?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.MZGyC ȻO7k*({Ɲj?"۵H}BJ;+H-W0 meK4Ӭ!@=H>ҀQ6y#V #: NJ#n̛7V O< -shE/!I6wn<ͮBlu$7'I}6 ew:,wyYDG Gj{),6<R1`bN=+z~kIRf ?yŒ0Noln'D@# pAkJT/vm7u[џg+iȺ쐼XHq+d.qqM|FSZq5Z\:.Jl'@6v3^}9hL&-GZo =Qʹ0pBaX+ũpk~=H# JʀOr3qQ]좁fcxHXbp2 9n4w%az7|۶(<3My\Xv*ŀ7ts_x-m-k,p|M+[&I -(R1gZZFi'Q-?da$NI-O)>YlM+*^0rvQj6 vkn'5$p>+jZ"@"(~d R3Un|*gQ,V̴oLNyzfC:^%̗*ηj`$OzOjןAaҴ<wbr!UԀ>8m^(뷵64a!mI4f~,c~|sڡDX_,WlIUzew9#J Ip5ϵ ͒NLڣ~{6iZlbIUAfrx\lf3^$҇IDo )@^N[O["Vwpwpp>g~ƸE.-.:NHڧ6I!+C]Pqwu13U 3?m9,Zyk1)o<6rd6I}n9ӵ+vY;FXd3" O}q[jmisrG1Xٵ:s{}+?F[j 㷴xfB'?!tiYy$~eKwKc/ &{+1yZe, $'5-hhc]#<h=SCC ƬdXAzviK;Վ).;ýJ&wo9mk_ ԫj3mr5*9<uq,{mFE@#̘ԂsrI'h:,s[DQEŠ(((((((Ao,h_j `gw5%Ev. . m3>8;f1_76eM$BH#I%6ξ}_+f@$VmQʢE0o3ZwQOy6DpDҾ: \ׅgUe[yЪmKJ>d,,#V։ՌMuw$5H6HɌ]A-+ͤI/Y_!~lq ;QRyYm Z }rvjn*\}G H2DV6-dfqOR2̈fK cP]L\vX>׽Wu'$#Ž2F)<j;9\b) i Ϸ?Zi7vs1XZKsΤQLZv6_g۔qL#7^{mԞi)㷚3d .9:d}jr\i$yR'q "MB`خn>b{>P1c OkQpc|>C A%8㊯u!g' _ bYvNhI;o淍ɧr($/͌`G"|'sumo9WɄw!lq&:9P}E-GmCoO3ʸ2>77%w?׿3uE^^Ws {7_UP3Yxg>l褮 ͏{RqQHaEPEPEPEPEPEPEPEPEP"? U O ȻO7ȱ׌? 1=J<+:mKX%,$& :B4NX"W@bzyVv$Z傻a?Q̒ccyon7$&џIe:IW:O1=J<+Qe4%/nH{v0Y|=ca7u1Wټ671y8=x''Gejqwlv3v6lKѥ(a<$QTһOO_ҏ1=JΚ,"yRvN~tVZܨq 0 '<d'GejqKl#m݌ݍs_Ekqe VҬj%gcѲHqN(>1=J<+*}Z[OF#Lasjnn$Y,qaVM'4*rj bzyVn4 -źlAp:}޷k`JZu *>=pGg;¹'GWe1=J<*cO_ҏ1=JEXO_ҫ@<(P1=J<*cO_ҏ1=JEXO_ҫ@<(P1=J<*cO_ҏ1=JEXO_ҫ@<(P1=J<*cO_ҏ1=JEXO_ҫ@<(P1=J<*2yImƥݏ`I ~bzyW>P52`n ,/d~syg6H+PAW8-v=&.yQ'XK[+-kdWh]T9VsyzqW,nFilnm >̷kO_Ҳ;[(ʦCME6TQLH n\H 1=J<+.Sb@f)m>Lpyhʩ9NGAGlQ'YW6tW(Rm#A9<`kBbit՚]mC&spG'GTh- wd}X)8An(y QUCDgMq|36??RW]J[dQE!Q@Q@Q@Q@Q@Q@Q@Q@Q@Z$O?x f"? TcG'P-0P|3ӣvYX*2[9 ҭoʍP-O"X+rK 'k5hգV|4aqqs}ktTmoʲIMN)[j^,[ dGx D  }u*R33[iXN3ulG*6O@恪OLc+rEſ+;` ϩ{.L]Aj4X#v0XulmoʍP8wsu顂k$3Hqi\5Ė6l [EFw03ktTmoʀ3kW,KXcV啥$cF_γK g[)4&WޤLIO` F:C*6O@ڕnX.|?}Յ_@nϽp?/*Fs `cvOF#T7vH$RR[,9I8cfZ|{m#Y9'n7FI⺭Q*5gfHʨҭSOF_>w?׿3uE^ۇzW\;^T>$Lt)+G?c^E%uԥvAERQEQEQEQEQEQEQEQEQEȻO7k**"? U ȫה?Z@,\x՘2H@jHEGo)V#? :j> Q)I 8Mn$l3)%Ob}(o;\&lɖ)RKw.oǧ?WxImgM6t:ȫ#|XZ]ɝyQ!dcNONZGMˠ[\wn,8ʲ TX泻pyrhgU|5_HK,M,;d:ww1")죁It!$˟ҒO&|-{hMu,Ar;p#֛cr[;Lrn\`ֹt Z(lU8w)=(ZfjwsZYGL]I嘭U8?MhYyK/-C"(1=G>u &7ynmY."& Y"Jyi Բiڤr;G,sG} H61Ϧtcn-FoaU汴X?D_it\{~G}k:G[F-m&;bјUٲv1yZ*t۵.E[嶈g9-ݵ]+B$z,e}/6=v_3s=3R>CA\9 K">r~`[>iA Ucu!g*R7+gH#ʤ+ 1\]J;xmG$u[‘: _KZ{{oI 23`FN2s0Mq:s#܆6jjGm[ʖʳُ$tSd_ "I~JkM]CTg5Z)-Qy_0w=ji ][yfgs h1SԬ'8S%Vx=x<{V(nKD'H'P~vOJNaw,峷Q FDA8G{ыF.ьH9e+9ƒ +^kkyr*H"}'c3sެũBC}k$He*Nz@IKinm.`$vb7<@4Fi'l1,S`Bpӑ׀{Sp}BZٟM+j6 2=1@sX}w,v˄*M(mϵgXAsN+3<2.IN(tW&ap-G>>KItm8L#iS>jϗ7[j[ٍ{c8&auI.Qlo2N펹<ʼnָGK',ݢmFYUy~@q >5k2?>HFfP #(Z-p|qR:dd:`sڧ-vͷ#?`MSSk 嶖)P+wfs{XZkO<69O/Jdry߷{+q ڊkmb^xUZDSCe$6x#c(#8ʒ0#Z5-:s3.LKi:vֳT4Ǎr295[2 V$,@$MV-Al$ c l`NMWխDqS%Sɔr{ YR[ike<<€7o],{I'PI\$ѣUm"; N1UuX-dC%;ed6|9y9Vm.⿚PAq 0W%e3@j:Ȋd` 9z[= Ol W;^zy] QUCDgMq|36??RW]J[dQE!Q@Q@Q@Q@Q@Q@Q@Q@Q@Z$V1"^P.M?,h(jͶIa'VPv^6c/=MhT.UY۷6#жHE|ĊYB:$<Թ$kNlz qHW6c-2:Tqve*EU5̆$aJ4QOq@TUq4bn޹L{ԙx TVlz\ynGUq'8Y_5ݽʡd ** 0]@b~ỶX!;dTphQTDFEwU.v' TmwlIjÍpMhQT.nm!3.2UFat5 CnͰK.ޙ3@UZ(y] QW/Z;kТĉΛ?c^E%ug>l褮c(C ( ( ( ( ( ( ( ( (0|I\&4@sE @{EaImt"'2FGǐ=!R@] J5jEB T1p¹]#zvK=jf6v*F~Sq$g8TJnfi4IeoBǷ${zUcMixJ+ۭ]E*"=#?Ikq6Ym͸Xଙlk.1;VކufIɜ4-uhaR7NT=x װǧ'`e"V@ Nq{WEjmg]NK09+\gG==b oY+R9d&==5wc S+.ޞȖ~{gZZEh4,N*},rSZW.T}Bf?\HGlxebY5Qo JT}Aqk]Ayp!R:G -- ʷBX%'$jYJ6 QEŠ(((((((((((((((((((((-nm-2H;0sڬQ@;X0} 쀂8WdF_pdsV<߷O7w7L]mkw'glg}7ɺZ6@9y {0;UvLTmND%e.zPmPW9 [TP#)Uo/O{khXc6=>W&M>h5;T)WdPQ 0xƲZLHĒr矠 MHqV]ɀ=몢1xt[M2cZͽ1ZݱYmG`\OuTP7Ӣ- zY0$ PAVdw}RtNna*͑$y09k(qr-Yu g5z(ּAn(y QUCDgMq|36??RW]J[dQE!Q@Q@Q@Q@Q@Q@Q@Q@Q@Z$V|0𶑐 ?$V1"^P$OoKe }A83[c 0Tw'N;8"VXXȩ""Se(ZBrI'9$HzEq{f!6g-cHSazX'dY#u*!+1&i6ξZ-"f88b4 +WHZ6`zɮgK+ hb%bXHAqKOOp/h4Xv .SڿEo41C*N|XsAK0沽."uZ ʆL-! iV`\g%is ΪH$8$~UB}sڿW1ooYyӘ5|b(-!J1qҳM! Ђ)4SDQpYH!AV[.;$A3ٙpޣb[- ;˕钴S m$ۧN+GEkήh--e!! m R_ʸiGĒ]ot K)e.< q*SK ?*6GKEd16GFhڿW򥢀jt~Tm_ʖMQ?*Z(6GFhڿW򥢀jt~Tm_ʖMQ?*Z(6GFhڿW򥢀jt~Tm_ʖMQ?*Z(6GFhڿW򥢀jt~Tm_ʖXwq& 6GP͚[ŒU.x |+rM\sbhbԂ>F?d^rА{##:ѹRӀp}?_ʸ;Z+Zܤb8bgֻMQ?*Z(6GFhڿW򥢀jt~Tm_ʖ 6v<*Xn6ڿqC\OaU݇F=8>M'cȃؿ>W~ϻf:m{t_ʍW^łڈng2+ȱ&(RI#׎UnNxVW$T Chojt~Tm_ʸ-#4me,;'Bg ]w7U!}w6'8jt~Tm_ʱah|YYw@Hۗ8 $qiCMyyywG2ڿWmfOKy[O2׊̾D::6?0{!PY?*6GX^ f%&laq0HNk )o㲶Pan!Eg߹S_ʍUI%&w-ԱQ5~jt~U?׿3uE^^Ws {7_UP3Yxg>l褮 ͏{RqQHaEPEPEPEPEPEPEPEPEP"? U ȫה?$Rq|/PF)f%H"]Ґpy[b#RX}r]KG*+2_ҘdXgZy 4M.7[T fvv=AI&A?GnPyQ?@9붑uR /y*h 31(I41Ji 0X'ߊZ_ҏ1J@OEU TȪF@9ǡ?_Ҁ'_Ҁ'_Ҁ'_Ҁ'_Ҁ'hBmȡ֚Mc-&YU#@Y@IPTcZT{}HqE4ET.bYmXۣ' '֟h?nۜgqnhI OK< &zdvI?@PyQ?@PySLuC"ldY_Ҁ'_Ҁ'_Ҁ%("54P0Tmilnd,^2k99I$i<(6ȹ{f[pĥ` Uc=c=c=c=6X'hHJ8`z;_ҏ1JEmKm."nOU8:T?bˌyR럻uyQ?@6claS1mJqR`c_Ҁ (- ;xᐒj u>M6g;"@_Ҁ%F&ij%e ώH 23Qgko$[C2 Rԑ֓_ҏ1JFF5f!adz?QݥB6uO1J<([wسFтI$t$O֘mڥ5g)J)1J<(z*1J<(zkТNY1va *|H,36??RW]\JKv8삊(0((((((((( \wğo)cGL?]'pD XPȦa!攦ВMXo$a2zP3@|C--֋ vHHqzt-[څKg9U Ku ̑+Ma݌߁-cmF$ڿ1IutuV,wa/ǃn{wmxCm #yK%unJx5POeis,rZ,$a UMu2fQJUPaUO]sӿ"Z^l\]Y4U`:pGkei5\Mk G$he鮣ncz־<69_.|e:|8&4e2sy^T%"l$IQ9a4;+e% 0Kgi5\Mk G$heo@ky~neS-@iS3ק5]Kg4,w@OSlV-9H٢rrw oâٲ2(4&UfKH.'wr3M{8.T1-}ʹ$q:$txcHv,JIdкf`+~vO˵4ZݺI-绖 j*WZĶͻl+y$tm3 1%x|QmJC]XOnF,oSs!ri'PT:QVt?^zJ Q2cGo)I;a6?[['CM9<{m:V{+ide+= #5V=W1o/m,P099Xz{Y["DIbU5!@rp[62.p9aw}ϭTGxd[{k{y[$J.A=ONsq =Υ}a&ޛ"+mR0d^Ku%\/IZ%.?fRX]J=B[ BZqjm1d\(r lR%`HM֋kX7o"a0Y ,Rl KG5/nstw?׿3uE^|}kfB& :o ͏{W#qRݎ; ) (((((((((?]'pD HA9Pk.MZGyC '2FGgr2cHa4LTT g>b1ORn"2I@|5Z+)HRMpH #R%]PApAץD~чa-pgN #,4썟)}MR5u|MľWĸ])@Ieu;+ͱ"XfY9RAUFN$w54yKk Ϯ004eWڛ '}[>2kQe<Y99G/4 iiqd Е~cqMPB_/_SXWu9cZZ+ I;t6<>n ޳^(c!N!q'.J.jKhfMeqmkl1$I8PG܏Kzʳ[_^tkYp`A}xq)+Η_SGX{)46BHf`>aa}8hzޭt KhԔT _SG#/(4yKjJ(?)}MR_SG#/(4yKjJ(?)}MR_SG#/*+}"3NKhM[OmOmX' K5ͼ {t 1IQ@pyKh:u{nVk+K2HƞLd\##s]5G/_SRQ@KhԔP~R<5%)}MIQySlͰa8϶h/YJ:ۃs w#•7 $m<Տj~Gcn|1Kh/{_G᫏6 w%6ΦB:dz@kcU֭l,n۵:ۙڤP)}Ms]jjvKq%V B@P0pPLա3CSpf`li '@~R<5guz 1yA}@fIjjXǝdjyA$bA'#ހ74yKk?RVңĶ|@>QTn n'mؤH$r 8{74yKk/[S]9> ;܄?f #oA*^z/o%NnwKbQf?xGQހ:_)}MRHmCGu $j0Dyu QWW;^T>$Lt)+G?c^E%uԥvAERQEQEQEQEQEQEQEQEQEȻO7k**"? To 4P0P@&pRAgy23qaQ F6sAX\8z>+c :2{d{U (u )-.7yrc8 #@>;֣K$p1݀v4v3t iRIq4%E(69ro^67 ngm$e$sՏ;֏;֚Z}iVS$L~UČe?)G#MFK/J&J)vU;֏;֟Hc[:#1umYhisWlo^&,S+#!+Ӵc#fU<EfxP+vUV|Z<Z9`*IYm̅ibNAE׭J}~Nȱn={n:s|Z<Z@) lVBȪx*|J.A,wݎӕ$`0xVZ<Z9,T %󃉟ߌnߝzqY׾mnce69?gZ#Hm #F]@ "U"(UQhj\c%hj@gg hZ<Zgg hZ<Zgg hZ<Zgg hZ<Zgg hZ<ZfgBı!sB VMM={9BS0I89w?w?fOyn{܊_.L*QlT^w?w?KEET^w?w?KEEkc$d/.F2w?w?eͬԯf#)DdUj @oj_i}+yﻷیvw?w?f\xcHӍŤr)˻$b89bSZbXmLf3FOhh>- 'I;HT99j͆O,q=m4w@ Z<ZbYƚ͖$x#9*[K4c1B0+ 8rxsgg\s53ʛOdJ6o6` +yr:pxFB=*G@tqn#ktʓ#I<0@x략Q=ncnsܫ W!Tp6cvH@TG@ו;^z$ }fB& :o ͏{W#qRݎ; ) (((((((((?]'pD XS5|I\&4@vڏbJ۵댟*5dUDUQ/tv/I#*7qz /`Xbw\ 8Ѓ2G4{s-,ˋb(rNܪ:|=H`30j}J~gk;.ByALN9w KX{+7,q6FH*t9l'{&Fm45&=A͹HA# ($u<rs*{,1HB`C >mԎp2|A$fk;2nO^O94.V Wtۆ^?^G)hEr.Yֆ7K?3xAGO$=h]$W'28!y& ~m~2y>j2^ߧqw F7koSd4X'$;jk'w6q^G p~^q8ԷSuzZ\ o 'f;qQj=ɆWE=)%\5 /mߙ&-![qs,/[ud=檮; p=I?:Kc>n-G 78Қ{ku''р*>f^={ Y-'ĺt+ſ4̹ P0qN9'%-㼺1YO &`_\ eTɫn#HU!$z=@I'($a%`AI4Ӆ/KQu8c/Eos#əTF'5^DU$!l;lՆ!ta5a9]A\8㪮r 8榛JI.^eJU7 25*]Wj;MDQE4+.QI8?Lvq4q!Sv, S2aETQEQEQEQEQEQEQEQEQEQETW2Kv0w~'KESGU^FN6*NQEQEQE㷑"+8qϽ>Y& ]R]88Yk{B!wQUNy|B*o[cŷO3cys={[7QؽYq*ev%w+y>?4Wwھy?&1vv@o\iT^gs {7_UּAn("g|׸I]ur>)+- (Š((((((((( -sE @6/@"? U ȫה? Mՠ$`Go4SC!?*KƝj?"۵H}BJoQGޢ.^Uc+3t8>8f }:KKy&Y%C~a >fI*墀lM(Um;SKh&p7܂Y=A m[[1,B؄  ⚋z jۖyM+:-bQ.&b% e ygPl !q'dhWhM(VjE_&Y6K"+;88WC;B #r@8\j~}הޢ)Eg\xɭEܲE"wdGbOӜq_ϩRHG"<$u\7oQY=i pq9Rŕ⫯u7٥6ެ. AT\Q7Gq.~gA,D#9>\K=ަGWʍ?'NI]>Sz<3V m3aU,YZ<-߿)_^bd[!@JF䎸< {9Y4/M(Umhkwh\<ɍH'; 3Vmuo!t] C9 F@n3MR6<yM+1Ih<[,KlX9݌ӴU! b;g皙BQա<yM*j*@oQGޢ!Q7|yM*j()ESzoQGޢ!Q7|yM*j()ESzoQGޢ!Q7|yM*j[)e.?A@ 7oQQwQҭ/~X%ٜȇ_Saf6g$#$7oQYq-FQbBP0.܅3:VC7oQSQ@M(TP>Sz<5ޢ)EMQJ b4/Y3;oޢ)Ec?nm3ʚHFKcm;}G^x&lϵjyM(VM߉"jnU/ك|аuϠğAjջ{ɲ#&d*_)ESzKoc}-siKVW_r׽Wu'$#Ž2F)<7oQU51k}W7nS0{U5RxXi@6|铑Q7 7@0mX0Nq8\x-eksspHH}Sր5yM( sșΦ& GAn(+fB& :o ͏{W#qRݎ; ) (((((((((?]'pD t@W\wğo*dž]W@'\aKQiwPNpTȚiB ޤSV|(V~Ofϴ%X6?yQ'@ӳ9 i7ɨމMn)˷9Ϡہ}KY_TX\m @9'toQAjQ'U8ʺѤjJj{,rbP|BGO5%70[uo>IO_ҫֹ61Ю-{-@D4ihweZWc|JqC56&D[2[+F|瞽t~bzySUFC蒷2*5\/]bX۞A׌m^{ofAe#* 1=J<){Fac>ŨBgA2BRki"-oNI|6f]1,yʆnQ'Bc6Hg}mvc=su$O l"`}KO_ҏ1=J\gC3WZ&tC$%&"F:lYN&A%Ahk6B }GL(?`\`9xn`@ Ǿ3Fcۅ;2T<+j4 Cc 89Q'G?m;ZcGo4hm'K$W.m]2(O_ҏ1=JԔ&;'G@'G:obz)bzyPQ'@'G:obz)bzyPQ'@'G:obz)bzyPMM?DH%T@ s==E/fNB!%8(@=p@q[bzyP=w꓾nf-5Ig,dK60Oq^z'G:obz)bzyPQ'@Y&vl(jS{Ycn/ھF(\gVoo~^y[7m﷯jO_Ҁ9 q̫T䖕|XXF;;Iekvm2!3kOO_ҏ1=J]7Ro.nɣ$L"+v㎸hys{bfDQw%1+cO_ҏ1=J\ޱCByʴPѴ9~-MgRW`@(~kkO_ҏ1=JYsuK([[+Zsx5'GQkx(x..J2Bʶ9r+2=R:<,$nI%=InQ'@i閶Hۖ1Ҭ|(W;^zI5?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.M?,h)$O?x mKX%,$& :B4NX"WLoa8p0B vs:ơQb[(3lo5(Fbx86LK7mn'H3 \7e $AG:%,q&6]FӆõKkTSAebve*Yzsw/lX~ۧ6MսHl̙vBN .$jV2W2m#fXB'+:=NS}i\1m]qRjuߝb0o5 ?u:ִ[dɭڇ\?0qUkȯY|]`L<asy1ZrӵXZ]V8A+(b6 `T' m.$XvTu8j<ڢҵ+kWk*S,`rq!Z>I`&DTp-8961(Rᩱ>[KK 걳H$>+R<FiS-t*WI.ۋ!bP8qqڝi4zLrk7OF"qS_wVٵWӌR'8F!v1Tg]M 4mUN0g5V0t8Y}7FDVC u3,NbaOi?!иill'ʧkK6CtVHQvP5_R1q<09-w0^BGN3ul+}iL) q#=6أBǰ$-yjJܑjoko6.H sk^K. P}Z&5"H݌@ &EvCoG8רrKfЩ}6w[5wM Y%8R@8;LY$Ykg(R/(3QijvW6P1imL ņ3Om 7!&@ 8ܸ'NQ\b-a[#V:,/anӬ_z1%>a1냓@wML+6OME6oFcH`GnUIrr: r=iڕnX.|?}Յ_@nϽp?/*Fs `cҽᴵD*,ϻi29ZCK^+n6G|8-ݒ 4T, (,7vrw?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.MIO4|aGȻO7k*(?V%Y$.1dԑ(P8RF~A\u'[ktTĖֆHUZFt7t('U$3ٿwpQ?BQ )=ktURV2cO(fSe$18̈́ԭULYW0IJF>=kHCOFz|ZFe!XNx$lz3đjҒ# 2y`$?BKGynKpHy>1O]*6OUI,hmy%Ne'v}H `s|?Ů&?X [ktUb*6OV( [ktUb*6OV( [ktUb*6OV( [ktUb*6OV( [ktUb*6OV( [ktUb*6OV( [ktUb*6OV( [ktUb*6OV( [ktUb*6OV( [ktUb*6OV( [ktUbcFy*(18ztUR/iSE,rU"c$NNpxQRlaoV/Sߜmٍ۽ktTmoʣUJ:(a7Nq\\VDH̎QF@oʍUh6[6tue;HtOc[n'o$G v?,W]kª" 3|*-Vy!{ATȠ vOFf yfUę>Uu[߱Ӵ)+8U t=MX?[򩥑!#E,Ԛ&gmvffC@'vNzq@oʍSnaKiH2;Դn)^es {7_Uw?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.MZGyC ȻO7k*( \6Dl&4T$:`c5,d5 MbRy,ϸa:v5eicmkct=OVz+EE qN$'ao23`Fd1ZiSt]A\ ^Q[!XkEEե7{Y؞3qL`[強zmnHrXdէH !|lr;Ci,URʺ[bn)jIq/{5 Abs 'Y:Fq%ݪ) 䃆5IViX,r16R$BKu V$ܥ|Wp~h<lmq3+o2Vee]ZRM(FQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE_PdM:夷k1hUw|X8u(M̖b(fv8jڿh<;cw9u4Pz%R[Ws-*#/!Xar9'ڝ}]Z1! c$mQ@ѝE5;[im RGvm8;U.=E:tcG'ww9ɵ|M,pyqiΩml褮 ͏{RqQHaEPEPEPEPEPEPEPEPEP"? U ȫה?$V1"^P4袊3HixUp;_MEdPNY$X 2aHqҘ(??Q5iRekHD!\Hă̟0SzTx[o=N!xdw /~?&M`ɯʶp-`Gy%A5Ѝ$`}qQY [ye셦B>0r@_:/M(×^{Hj= V1U{56G5ky`L6pC= C4M]WzԷRnI3D*$GpY|*kFOz_M(Tԯku4fOU=NNO s6qxeѝ"B8nhGNo<~U7d,<*iU$)В *ޣ{ `ܨ=ʤ~D#-Gq%of8ʡ I%ԯehDoq$ Kg銄E5I?MY%攨ʸ!4?Q4~gkk$B-5 Oq-Ln1BzX˩ͬvz+Oc18Cm9=8 M(^cfI ̛Ar8Un|Cyqɥڠ'_:YqI0vLN'?Q4~gk׮d6N%83Jv9V,⹓NReL^u {e~?XcM1 k768 ZBΨx#ǹZV.#KbȉK6Q` #o?G?&Fu%YC+]EZ|"IHqoKcsy,(T};P?&ԫcw###qG^tSր%H+ٳ 4(Fok[KOmnO˴ u M(#`Ӵjiܘc۞0NH1/ 3RY#G p}t(??Q5AĚ-"k"|5jQԄbThF qx?&Md:,γ,2IchFc6{c9+*Rit%+p6uq ɂXu0ך?Q44M]Wz~4һ;}r'g~U|(b(EPEPEPEPEPEPEPEP^Ws {7_Uw?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.MZGyC ȻO7k*(N( T82Y?6-㸖G, j`;Yy&!Df-݂NO9ٗ??U;s[<44;[v32 LLE)fXÓ0Ǡ֯e~OGe~O@GO~JMl3IpTeY#vtٗ??Uٗ??UbQ܈nѸ̪I'q cɧZoK$r f3@rO-zkf\Tf\TqE=ڙM+0p:ta0hoL {9O˟*˟*0/4HŃo9gjDa]K8_TذWOrβ )P@ackg2~'2~' M. [Yfenw`Ld" T}XiI* QpA^̹̹-EΕZԿٗ??UXc 1cN(7~J/)D[BK 8A; ̹>*?.?.OL ?cncjH'3=1K _;BczVe~OGe~O@FG}$AFsH$HF$3, `#lVe~OGe~O@nmcR]R?@N* y/* -nS>µ.??.?go(2<1.Ƥbf\Ty\0mܑ'J(EPEPEPEPEPEPEPEP^Ws {7_Uw?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.MZGyC ȻO7k*(N((((((((((((((((((((((((((((((((((((An(+fB& :o ͏{W#qRݎ; ) (((((((((?]'pD t@W\wğo*׆?U?PQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@y] QWW;^T>$Lt#T³5}ksn/.hHcY Jzd%iKv8숿۷G|?_> stream xA 0 UjEm{y endstream endobj 65 0 obj 559 endobj 62 0 obj << /Type /XObject /Subtype /Image /Width 783 /Height 688 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 87927 /SMask 66 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?HV3 o$P;:ʊy zUMɔsƌ o~RONW7~?nikjvq،9GZ[΍o@x =_˜T=3fs)k 1wl+FGm6?y88ҍ. 'y#h4HZsLW)zy͑89{tiQ~ES@Qb[oFؿThUh&E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mKZ=E/+m}mK2r(7HzR*W3vSl_m~W(ߕ  [ˈ[2"Chl?5*a#H @_^[&eϭ_l_m~W**E$44qH㷨jH!2^FJxiðgܧ/+m}mYQ CT̒ nWin1օhN$t(BsװrϹ[l_m~W(ߕ ҉-F7B$zt}jC<̭u+ƹмIC^}ʻb[oFؿTCmHa>i~xmQOq9At%FO[l_m~W(ߕ %7ۡlT0ywa-H1o2Q($0{RؿQ/+ne8'1a$NN3(^ jIbk5h>IcOb6>ϭ_)f0HX\_p8 tt\v fb,b6)X?9#*x>xv$6>ϭ_־SPnT ) Ŗd;HQF"]$بXzǽqN 5{>ϭ_w.>ꪡ\,~NzO4b*yŵ@`>H>pTߕ 6>¦hd (OPHG1el}jRiXQߕ 6>´`Īv->s/t*3#JJqKS>I+m}mb[oVeXEEY±ɷ:cᶅ7Q"G$\S)I(}mb[oW;l8 '1V{~'JoMVs-#cqx5i]B+֗#xvWFJhv/y>6qE? g۫+d` EA{{oas4q‡Syp 3[~6i\@C*I F so"x2C}=hߐ}W6ѶetrX8#Q mweYX@Yԓڏ|'mk/'̹<[0}zr[v6m$ġu@X(,qN@Q mwQ mwge3z [V6iU8m{F)DY 8m1EKGgRRC Fy[F3*X znW?\WqE'[fpJ\O?4K/A -m. > b\tUQIW#,~TsJ@?QJQYdEa ڽW5`TX/xKEw"8l7E=Gӓ_,lTڤ#[76w\/X:Pq ͽoSid3ȋ\ͳ,X9} 18&+xYH^Y݂&1Qc&!|L2Rrw~<7 cx0:{Ocx̌I$p  4v~2W]#20PHrzQw ,dg,6NFsybݝslV>:UubksΝG֗0Y<81d%4$H0>a +?CGW0<@ArP1~hXdY#ae9{uZ_/8W<F\CF]դG0OJREY#sОT}i(}]1ykg֐ŖvcOwTM?ռG3LLzR,[mg_,lm'=?*8x&V~HĢ"$e,<1NG)}i(}]17$y$~XurM"#<#`qZ+Gw #!Ù$.9ûyy$s&7bKwtQcF(ߐph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>ph]}o>p`0ikqvRאp1mK^_}[]iP}sB*3WmEZCgd_YXz^X7r_ΚK @6VybZOAn첃 k#گhlB6atMEfCy3$5-wqB^%h 7>7mw/[6wlsvwvjҶ;H [1 +TdRo!0M};gK{pfr"R7B9Lz`*>Ӓ}KwO "a9ʟ9+57ƀ9iK'6Q6cB'~F?wu6G&{ +b3L0`]/ѽk4ሄ ;.RHEgߕp7|,]2DkXK<ʐg[:w]<__ז6>ݦCsgo=qAPmL̙5)-LRhtܪ:fVO m9'J0q9w{K[{VZ|vRD {hm?brGb q9֖/ѽk4Xio71}xCUZimPDbVH|r>^خ#lwQ>D)ib+QA>úQh![~r$<y--%In5#,Aa0Ppy]N/ѽk4<9)!eG8\aIٶ, T֧57ƀ1Ћ8Yl-U$-E)F O/ҲodMT:yxqny&@'[bdm0=AU;m'MgѭasHXd`jʚ9/=F&b9ث s"\$IIȱ l:(+ֶƍ<__Ou6l9<ZԔ x/VFCEQEa%CI+t 4ڟw^_߿?ig8cQi[a5L"L6s:WGk4o`Nqٮm#I |y{:]Cgrx.Ӆim_z7ƍ<__4M" m9jo5ޖ!yrĠL<$Gz57ƀ9b=@_p, m^av{yonReܨ2O|=kw{k>-IT-$F D Ѓ9K$q C:Tۈl \d ЖS|O$iN!IA{h5,f[eHʌ1!,Fs?ʗ^KR[^k!d 1 3:oAwko}O0ۂL\ד@1j6Fݴ@)GIq7/UR2 bK.:.IN8Zm,7L&8v:g;x@^YOʧi 4ǰc޶)xF/ox@k4o>f/ѽk4)xF/ox@k4o>f/ѽk4)xF/ox@k4o>f/ѽk4)xF/ox@k4o>f/ѽk4)xF/ox@k4o>Bbo :fs"EH(9ȥ)#;8'֟;U,qۂ*,lҙ ƛim|q)߀3:v9̠c1#94JFc[ JJI=bVG6e>P{uI`sǍ:FqV`y_ Oj-Ka) A9)НbG͝SU=JdyP?ʥ8j֭mq0_c;>GAX(nQ~dg攵&eZE)cF$ϒfL ~Uv/>Xwm}21Ywp۝Go(ଌϸsib-,R$s1e|'=qgUsBFݧ 0NON2R# l J:/#0I)8'E3N)58 j"ܮ2vr|8Ԭ/ssZť *s9؞FpvRn}Igȭ*4 w>e%"}yp>YَC3;FU,wׅ6Tb尮D<4 l<,I*Pj´"S?K=X0" (9j)bV,tsɪ-~ "N­\TˇЭRܖ;}k|ԎBF ZKJZl$I6]bў((((((((((((((((usm i|v+/|V?k(.gl9ճ?eٻA߷6:NϠ c4kG6K/b^!ӁNmU$Bt-?&s鶯G_,aqďOtwW7 r݊;#Qќ\yFWZA?j 2Po9V]͌%f#mu_'OVOZB2X_Φ⍛sOk~;+T.oڭ ?ZA?:e=Ulet0_j >kA*QRVfF_hʺ?<3N+`*ڭ ?ZA?i*ͫZĨ$Z& J7`y'ڭ ?ZA?bYqܔhZ4oAE*ZA?j Pk8kA} (3৑ԞNnS~kA} (iaI@ڭ ?ZA?XiT68 #C_'OVO@ um, ")@!34%10f[Q_'OVO@L`q (U'P]Ήߤ^%;veϦqMDwVڭ ?ZA?P4ɭUZkUf)_9ϵigj VOGڭ ?€1t"//Y&I++xն ;Uxr1+wVOGڭ ?€g[U3z.nf$,4&5?/$c>k_VOGڭ ?ª2W&PgDdՄ[hU oܓU'Q_'OMN.3q'y R!=c5AxG?i.8Lmy _'OVOJTԤTԤu2v1zM_Z!Hm ?%"RHܭ:ZA?j |ma_G@xf ixH/GrM8\3{z>kA} ){2exK)n&`rY>]SP,p|6ۻ 1ЊU'Q_'Ox׏,UwF ٯi?J-,RGODTFpy \U'Q_'OP4[5u#jqv4NrHԟ>kA} +3G:C>@,r}p 7kZp~06ׯLwVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA(4ee=WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVOGڭ ?€-QU~kA} (WVONh%m^oEt'PRI6MsbHp)^ <=€$LhEm`Lm_Mcnj д LujF8ccżugӴ;isLH$SczձXdNώ1W #^:㚗NMಷ2@d}@?Vuy(ԭ0}ECŔTl.n#ɠ ķ@#m|.㩫vwQ@f0Q#džT5typ4J-n"H !R~V{kgJPo464Ug.>iG7~DrIvBs$Vɽx uZ|A\j)ymop2X @UBJ7sDnn5|Oqp8 淼#zE% %22>nݔu>?mZL< DBXG9>biҍ;7 ,Cm͕&X6@*Xr;iɧa[ϋ΋ >d2um4om#Y${ˣri- Cz:]7DK&f DĹ_yugx|,*ĭ^su9*|-e"wI'LDˑU! @ աqo=7C'u[rgI ;g|LIPz0?Ox?Ȭ2wMjBvܿTH8wL].-ya!YFYA^UEƚn~~omg=?}wX-[6H硫Shꅮ-Kf e Ҁ7}+}"mmcNdz|L2@AQ:KY,Kcy}QeX뜟SWۃ![;̐NruRT*t<&=ag$2*.A`olE$RX #GA/-7[-tacv{ڀ5P^KGU`2[~R7c@ҍ6+fмDV7,08!NA%{P-mUiJ4Ll uNx-A% ct=z`՟C$Z|;]؜灟A$c׌P2ٓ}^\A+sIy2pv :qֆ7\,gm G$p(`Q\u4>=n"M@ܬ9w=MMncvxIc:p'p:RQ|X)F.qtgx|>%(<?TPgx|>%1"%1"v^|??Q=cqlO&6?'G`v^|??T-;î a\͏yg=;6W 嘜3~eWEv`./6?'Gλ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~Gn?.6?'Gϰ{Xw:?]i?|MlO&c>aq?t},c4y??=sMY߳gG͏y<Dh3λ7g~T37ROc4y??=sIBs &3@`Oc4y??= ù} ?UeeXe -Aޮk͏y<Di}^]SZMY߳gG͏yҫ'Oϱ^η7g~Gn?.\τ4}|'CEs3MY߳gg?Mf hAοΛ7g~Gn?.\τ4}|'CM::o?]i?~q>ߡk&G4Lq?t},5O~Gٮ??9s3MY߳gg?Mf hAοΛ7g~Gn?.\τ4ʥeP2IG#u&ti?渋{P2+^}|'Ch&ER5AM:?~*T_1kؙUmU 9tZTĒ/#vcMTQ=cUJ5$Ȉ穬i`?{jlU nBAEd&Wfe+Keiao#.ĈHq:p+/ƲF#9YlO& G ol2:do"T+'aa|?uЉ-"ru'9UwOʪ\MiwM:+}O}?@ ru.y:@SV^x_k798נ^xzMTDDQ¨;lUrEV(Td:1}inu my eEz n0Զn}%v ;R4&kHx"v$tZ5R4-}AK6,6 !;<ɾR;z˙mkwyN:'Ã]-id3Ǽnۇ6#p洺;|h+U8#8|\Go-)4r6oktdP:yf`l|tph}PE{V{dL<*b*ԸK MuءFXieqQ)v=`O5^VuX58#8ۼ @8@*=V[iU^kIpme#=ydmf3$r@%CVdiBAx*j$$5_+ B[hyG;;Ͽ׊Im-Mlt]N{~n ~4jQ_YM[t (`qTWZ9H値1O{~\6ǡ\ɹҵ ֵ\zkIk,L.+bGɜwŏ~7ngnm/ѿB4u̟3g9ڤNZJҟƈ&'? O_ 諼Nz[1`|?uxJ6^*lץ:zX&Q 0$c^ Hz""؃'㕇4Ri7],i4:{˹m1ɯ3m'RxBAi=[ʐLGVgiŧʷSny@0*[}3$0^\iP(~?wrUbM8ffS,y/z# E3}ŸPzܟrG'^}F-aWs7'9?΢C#W(C#'A'l?;߹?NO9G`3rWS~?;߹??D^G-Eu?NO9G#ӿQQ]O#ӿQ~}b!$rWS~?;߹?X{ ?;߹?NO9G"G-Eu?NO9G#ӿQQ]O#ӿQ~}b!$rWS~?;߹?X{ ?;߹?NO9G"G-Eu?NO9G#ӿQQ]O#ӿQ~}b!$rWS~?;߹?X{ ?;߹?NO9G"G-Eu?NO9G#ӿQQ]O#ӿQ~}b!$rWS~?;߹?X{ ?;߹?NO9G"G-Eu?NO9G#ӿQQ]O#ӿQ~}b!$rWS~?;߹?X{ ?;߹?NO9G"G-Eu?NO9G#ӿQQ]O#ӿQ~}b!$rWS~?;߹?X{ D9w&sՊk~?wr?ܟrArM eQ!d۸@J댒;vNO9G#ӿRu5mV-) T߉>1vҺG'(UsTT]GWLF;z}+~?wr?ܟr!=*u # >ҾD{N26 t(~?wr=;s U@P189HcSpq]w#ӿQ~{xva."띰D2 zS}ݟt}OuNO9G#ӿR}Oɋy'G{P#X2 9]g#ӿQ~;s-Gq0oʺ_G'):j;9?O^'5~?;߹?cz~f3n8 tf~?wr?ܟry9?O^'5~?;߹?3r~G?OkG(~?wr/O?ygkʞ0}XFbU^g0 S( S+NYhl-gQ+wqQ5D,WTE ` # ~Rz Л9 Л9½T0[h"<͐HLSM=oM!h" qOz Л9 Л9½~7*r~7*rz#tO>-ZkC7B?#@?~7*r~7*rz !Ͷ%vcJ@];S()BoT ?)BoT KL4O>g6dH"s30Pp:ޣ19ҴFuom13@iO/QO/WٮRDh8zgqӼ*h\_w Л9 Л9½.X <=Wg{mt)?x _ Л9 Л9½e|;*61ͲK@];S()BoT ?)BoT ]=<3~E6Yn%F:Fka76h8#?y߅?MʜG߅?Mʜ^t *k*&1+rLv#@H!b=T䑎oO/QO/WCfr ;HPFrFLwPmSmSt+W6 Ok7.. Hgr}ԟP߅?MʜG߅?Mʜ^@];S*Ɠ{XD-u!gE4~7*r~7*rzTVxVIt&|F<1!bPw~5b!:n2BDDŽgaO@gO/QO/W^Bzvpv *y/߅?MʜG߅?Mʜ]?? i;u[<,Dv䎕h^ >$dyp38 S( S+ֿ *2mI4Fƥݍp=(?)BoT ?)BoT [H3<'-lH$! d{Gi|$Y4E9&80O=׊ Л9 Л9½C?˜E'ʋH>DgkMU_f1l=?)BoT ?)BoT m<-5ŘŸr63aUa֝f:g 5k$pP!FzFG&)<8 S( S+ֿ *RԴO:9ks%Ć8,2 S( S+VkZ6in|0 =E l褬پxfo5+tmw4_5bJڸby?xKoNi'x.!Fw{}:*? <9q,mh%ZiYek{%rT9#jwƋ³A|EY@|o F35ԿEԿE088_x)]NK8hwlqS6Ii_5q~Fry5ªRªRGy係M-ݷW}|oYVS{=^LP]b#gtԿEԿEyεG]Z,V2Icx^ AKGQ AKGP^ AKGQ AKGP^ AKGQ AKGP^ AKGQ AKGP֧?j? WªRbᦉa[^u4D 8 msE @&٫u|I\&i5F,N5o5 aHI?T¾b_*<&oWWLKQ Ÿ ɉ+ݿ_xS_1/G+ +&%A#Uy?U[D.K&t1yRA ؠ-kLFw6!d_?wq'Ͻk@xI~ @D(A;p9㿭Ou4Di%NTG+AH?o@Ο04Bf]JMݞ8EYQxM4$0#9As]%_O6Z}`c.F `c8Q@ğ5/eRhԴMVKyq7#AIX4aO}aF52 眜+,_>ƀ9i#w=ەy1; N1犷}4kI4Mp>c5X4}/G\ߍ?ao=O̳ř\mux>%'bo7X4i٭ѯ 'ƀ0SAE:kcy@K{I[xR8Ѧ>]Obo7X4iFyܸB{zVIX4}/G\އ#?E>ƫãysy Nmh(J*Ooho Eϝxžq74OF,֗h 7ˍيI-oh 1~s$6w<[̑1D_1[eGbo7Icyʌi,NgsL}+n,_>ƀ#o]Gbo7{=,O&iĮw;uR@@'NOӦ+N,_>ƀ9$j?F-tcYg{܆Wt>Uo+x,浘n?ά/e@z{e]GQCVXlǓsAi턙2o{wylO{SX4}/rxB9dmV}ei 9㜎2OأXLpa+,_>ƀ0W@ywښ_80y[sBSl~kohV㟓q]_bo7X4'bo7X4q Xoz^io[3*%s@*AIgHm24RFd@9-´Əo ;9E&(Q ס=ި]xI嶞/\G$Ri^A Һoh:*Oohe%G[o۟kТzEo\ڙ.튘3?˵3\ QUCDgMq59Z+LwVd $m˞3ް36??RW]J[ds{7Qّ! w69nx4dѱ5oFy!@Ñ-+[n#r zzR^nf?]}eKa#4; /(t00nUZy[%OEYqx*(c=bc#oC~'CM[N\y\LflRrp0?A?qi砕ίcoA|-5v{Uۛ+ȸ|ho\8xV: 4<v85 e}]}A|?Z)fl^U "ݷ 隻& 7D[UJ‡w,AQm8Nİo7u:{/}O٥`~XdgMKu8 9krt_D"1'`dVaɡO$si 1e ۅYFrJգ0QqΟ8JE5Z̳[irǯ˃lG2OlVkA-1$sH#H觜`XK/3<)cvqۥe5HE$tl@ @cJy֞"%xnm$(\n<x:n)Qsg;Oo/L`͎pFGJ<=rXÄ:sګ]!;٣HrEs$uڅop訢QEQEȻO7k**"? To ע[6[<3m.@Ϯ*o;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZ*/;֏;ր%hhZkТP䁷y} QUCDgMq|36??RW]J[dVH"/3U-ݵE5 LnFNPޢ[=l2Ŷ+.Jm"|q^j X4eV= ^x'\6%bGD՞Dw`^N =WIo\C=Ndz>+N>04n}䌤hΥEq: Ѭ@'5}5)ePX-i6GG<?k}sz掭66y8#ݮ1`a`۱sKwohF5F Q#tE.AS:sKKΒ祒YQK{[Wʸ26y,x5wVs{MHXsgO7n;Z+%NKjpBdGO ? MlYM8PX4{i`Q\n?>]^>ǻn=7s^j;4q#؄kTMv{wt 4W9eo-ޑoI[LpY>J)S!q3׾jsJ5aa[pHD /UP;zG'][k]65InIAÝ= 7M=Vo zIPOZ]l::+rC/:?o_߷=x޿_oQC`a,n 9E]~"? Uk14g;dFB g\wğo*-2)f~2-;n@8PR[J :=2p8VHMlVW@9bqOLu?.\L?_iv.8ZH\m'Ƿ^&SŜZ}̖| j7 *mD Ef`+JԼR ŸQީhnqHnVd.r8^0@ǭz jvu{nly!~aL,g9We<ŗ! ϵbZ=4p,%Ŵ8uE)֪͡jCTqb,y`!IW #y#_٘Rawo;mWo@sɧͺ[%B.CGۏ@m+#j1,sΒH$ߠmksϥ rCFwwhԼCci'Gs.@#9{ֵq> $z Z=03Wa@CpMFpx<qY+çj[5{vmĀ0ym`J^.ym4=+L2`ʌczUh/wu,B`Y$e&$=zrrNjhjj/Z;kТL_>w?׿3uEXCBΛ?c^E%ug>l褮c(jsE$VtϾAE\d9^0fME]um ܠxr3pA#FESkMɭl4FY9*uyo,qC3瑹Y3.C|+'*6 F8$ DjsF齿PÖA=K9f$#g<5q\ n񏺽=MiQZ{IwoGaU$|n MG`#le$Nj# C]q4M%nw`MoUHc/6KfXQ#d#SԂlYpYF`: Ir"˃± TTEwr8IJ4X $tz2^[s {7_UgT:kТĉΛ?c^E%ug>l褮[dO8X$L4RFIa~9Ь}^hmҤas#Ϋj -Gw{ow$4m!Pj++LaknRUR@$aa~/v?ƒ͏[ !]#9ιTn3CH:B7,ƒ!S <.>cpSHu]bm>"$n$mҎH0Dc ;b.vTW/_j:۠mKqnb0pzҧоݬ7YYT0-*v8N*]&iasFIHX$F d;NH8gcu$y&(;\4^°ı@(@*iŒI$"Q`:$7V2B,%>s`6Znue\7Bq)ej8 "P$1'mgQ mmۑ﷏ !y%G=OiꐎmQ d\(rYOҀ\2A8 -y}[E6*R QMlYz7QHgMF[,fbu>xSo91fbэY%ik\:eU1 cBi֯-X.I$wM"m`k< [ʩG,ǜNōVc.dn9k>_ ]z0n9ZCij} +`PqrGj*_oh[}>Ks%q։KpA<N>X>ӌyXߏ\-ad'r +2EiwWȌaYSщ{9*fFQ I(ƀ*Ve4nR9EV8 c?ϥRnUΙ)0D6\#%JrGAEsg0/dy ]qSwAU_iv3KX̲J3i#ҚѩEf]dT d}+JQqvhaER \wğo*׆?U?U]sE @z<1N0O ڢhZ_t?@?GOP*OQi=ji=hZ_tZhZ_t?@?GOP*OQi=ji=hZ_tZhZ_t?@?GOP*OQi=ji=hZ_tZhZ_t?@?GOP*OQi=ji=hZ_tZhZ_t?@?GOP+u.i+ )*+F]D2 R2{Bz+?P}SDXqq?jʟOS[4Z d J*HAޝux^[e1b{V$vT})_֣Ҭ3rǹr?x~]a}q{omc [C`q RXxN8on! r I$qKI,Z,v濞=a8 GzךZZ\Aʦ&XL.9 qs㞵wRjD_IQzxwwO%YsB7Mj!n<^FOL395ۉn,/0'd`_90 ``XŨt.neRݑ]eːpIFpzP":/?O\ K^v($ܡrY{p-Aᔮc,3s4v“Bz(д @/}ߥ ?/RhZ_t?@4 0ym QW-U%kfB& :o ͏{W#qRݎ; -CQn-e)0 $1VW#sƷh ;-$2xhQ!ٜY+>J ,sh W.7溪*i&qX/<1ηIqf,5o63,^ *j!&.^ΒEmU1R[c>%q,w1`»j(X8|%}yw=yR1l:I@g'@oP%[ְ ݳH_A>004X1KdIpqxVVSQE ak.MP:UsE @4oA T]J;h,ʒHؕ T`tJ%or )b&Pb)-'+(`cjR\y 1߼0 c<3T7]pī,;M?£a [ &ݓ噈9#zv=-(5Ib/RcFv:\&:˻Đ뚇M崞*)W-N>إTV'W0qޚ%+_K[x oȌe sY4GU)xīfXMt{_[UHnxաl ?zt}IS}q]Pk:mʻC$⥲m/Yw*T8 VDqPi$1ҧдS, L^GIc*% *-6QEQEQEQEQEQEQEQEQEQEQEQETCC7}?4o-uW+qAy⁦&D 򘑳'fRjzŮψ`[8&4]NxU@5ǝfwM+;7 D}":7)-S.yEpD {{.%K@UCE{6KgpX ô(İ?Z4nY"\"k!?{gh,y?vVr*J>s-d?3$M(tm>I๼+/~HnO7C,sаxPø# ((((((((.5IW 6F :Q̴,z}%F 2Ǒ//艨 ( (%_\m QWekPθ۟kТĉΛ?c^E%ug>l褮c+Ŕ tXFpyvu$$1gvPY3jTrqgjF,4TmVx$"̙۽x浬xb]Zv}l3##o#$~}:H쭚9̑ JC'ޜV`+k6H~#oGt5cUg;d`;HZ .̄!m8 Pv\7Whog_wGw5"}r]ͬrJi2"/V'X|}m+]G$:Oe'ig_wGw5@I5Mp $bF1Gש#I6s H b cm8Kk^${i\Vn$'3Eu&孤Lfg%">*w]w5g_wYW~iwp!!C .WOHm̅,cHFݐH >24?;ף;z|Omc{,-}DU$!6Ƕj+ɧ.n,rp&p'NQ3 ^k2ib{K褼[nWj9:`ywy Y~hrv{sMӶBk^u%çh|*"@A^=z z\wdd8?/}q{asS;z?;תͪ P$Bi1 !Fvx1֝^},<?uL0ө?&\;z?;׮wyaki5wԅ9"V wؽR[g/,{6V<@'HT_MVf${0Ks5MBE.FgxnJPܣ8qh k΃;z?;עW]Vز:dh}ɫ1;ף;zE (g_wGw5zM(w5g_wW ?KO#X_~ݸ1.Vg?jsi:ņkwr,%i Q"pO-ym&є.Ku=w펦]kfS iʩ={kv6Sre1bBqʞGc ;y &d^6ǿ\xwfTpoV0ˑb;UY568K*+4By%$)I$qMIb(핶;|a`h,Z9yJfl预д7r%Sl褮 ͏{RqQHaEPEPEPEPEPEPEPEPEP"? S="Ə^0ȻO77з10lw 0Zi$`Fp3AO7Vo-OHg$Cq rB88 , ,rTqҸ-/D4b4lش .2r#+| 2;  TqA8k}jywd$G@RpSG^q{%:\Om:)Q,$T Q7˰qۤqy0;}X7n abЬi}C->21')ESzi.ⱖD. fmL c]Ս[Q7ڳ -H^͈:AJ4+-qr-(E 8ی1rx)ESz~]c.H.VYDF\I(Bڵp"{b+@=>)ESz=erc`7$}O#KcaeI\6x\"*ޢ)E.yZT&"4JwŏjևI$۽6nT^3:Vǔޢ)E rN O''nd\>Oҫծ B;ؕ>^98)ESz~] [gK뻹pbvE1E[<yM*[RyM(R:*O)ESzoQGޢ#Q7?P_Vޢ4+?[I wůQnVF^?Ʈ=鷶i-̡yWzEEqtwy\j"i%ȮnG<9Wu->;=<6M5Mtp89 U9Z騠 \Ksg9yI;$wpXd + ȡVWhQ4h]J[G gzWgEqK;oehf!vPb=NG\w0:LmpHf{l˴o0>x(VK-34 tO4 g{TOYΘtڼ$|˴ij/~_j(# Zԟ'կgm6W ;11}sz֌׬oJy!v&T F~l28.?~ol۷*qbSsiji]Ƣdg$g.BI#Cׂx.q cz]4 A,N2vzSBo-#{łSx@lրcx;)suc"ꢶ?lXn@yגہt*W' ˞FG#\iT'ޢ)E5~י;^zzט\;^T>$Lt)+G?c^E%uԥvAERQEQEQEQEQEQEQEQEQEȻO7k**"? U ȫה? u)7n!O *8쮢#K\s0?.DNX J]DnsXg.W;F/(2nD޲ rX0oFA<7t=ͣT$ۻkqd+ns76 OQ8_7H<'&\r&IJdg/1UgԤP۬K|ŀp 8 &MJ ;KC W ~\38 0 8^OKŽ[kSI9I)Stٴ}owWF}<"B[a"]pǧ7Qd]Mk ip%*#pho\zItq09L{i3,]G6$V!G wͅbE7"$#-**=pFyDuwٍ[E"a$tMnnõޢ$F"@]8nؠ36òMwpncتӐB^]~cl-. ÷6;SU4n'6vF J6qMiiVFFX9$y>ZxmmQeHY6`JȬxv㞣ҩʞۧOEo4K{٬c8"rGTJuh`w(uȠ)(=Hz#UCwD[2[+2!9A隽x2\:ǀO'=?e^JL\]^YȅW*wR ٵ{ӮtҬj]>'ڧ>`kon_j{;{!a|\[[%ý%U +ӻk5$|{ӳ>׶@26HU8=3j]M-k%%U>Ap3}qDxJI&7 F}0\zg:[4m=l$EXmߵÜ:Qoj`KP:LrJ#zjoA$h9 MvTyAuc8xTOi@ܲAibxzsإZ=ɓOG,`;1%1Nԯk=f;Ibi̊ *3?uncfS(ou.n^w&[C$qqejזgzm,F~.1`(,,jg̳d`zdԶ˭ [8UwV\@ $MM 6 c yy4,V;`+,ʕ:緾)MR~"-b(tG|G?(p:׭ıky%A2coR  UaݤIeym4"9K9$q{_ {#0cm†0fHrO8xtgKĹYL<~98N>`kon_j=I!]xxEQв*r[.#4jv7du'5bM *fKqnt̨a_sx\O oa&g[\;|۾gʃsST -~孷mcoH\FyKo[@%Gˌ[Y' @ Lq4&:n=3ğc6ң SzQ\{ڀ!Ѯ͒9V1B#J1,ֱ4F[Uy}ո1Km3wLk(3MOq)g ^' SҨǢ]S󬭥I#Faʆw8 'hIEgo#KTkc Z7_kϹ7<޽Ӟ,hO62L}1MP022y?v((((((('ASd>[#^C\mHF1ʃaZ/Bh]M%"-jz~.X3ϐ¡Ib98xYyIWV]8xvhi✺( c* Ȭ; [j3淼Ua*`]2[hF NTQKQD2 pI@y] QWW;^T>$Lt)+G?c^E%uԥvAERQEQEQEQEQEQEQEQEQEȻO7c.m .0.M?,h(cO_ҏ1=Jβ{wvK3F $ɥ1C( gqbzI$V`Gb3sf$[k%,mm݌ݍ9ie O4( #(U8O_ҳ>l~owsӟ=*7լc1w*FC7E-r0 ">jQ'Yڶ?m'|wc;wcnlOioM"H2 $O˰\O_Ҩ b׾`kqr 9{s=[rvװQQvl 1=J<+ n/z\N{L!ቑ#FF~ķ6s\ēAq/w@ۚ°aeeyFĭ5r1~vtؤhX]deu9 Bq\X]0It#^6_JU0ҷ<%d.˗c0r1ۥ\4 \eFscڬEwk ջdY#l# .hOmwӀ?*;-;`!"SD*?x/ =Mz%(:?mIc:|$& G 3}k0wR_ڲV{:m j%WƲ2XU*Եcn. #i"]y{b+t{Gl/edyL.@sGyߊcp#l&#anZykջdT|Fr[[]m/ {~*\9%ky-7۠hݍ64s OO#km ~ƥE5'kq˿k۸mURF+e-fdLDjdU$|1<2vy R\RN1kF ( ( ( l֝M??lPhk<եdkGފU:}T́@^bzyVU wJ!Tf}H䁐AO5Ђ]:fq[pɵ@602;nyQ'U ;x煃G*F@N-va *^gs {7_UP3Yxg>l褮 ͏{RqQHaEPEPEPEPEPEPEPEPEP"? S="Ə^0ȻO7'A> A@$K{ 1#j0c㝮i5 #H={[ktTKSȴV x\RE'u99Ah#8\}g_G?Siӱi7ڗd+>BC{JԌ$~L gO-laQ*֏RQ'ee[~-; *' ַV:<-ij6PfP:3C[tUr}Uo.lgZRB2sF=T鷧V QE2VLmbq[[ktT9Q Jku6rX{=ۻ;Iiw3*q8IֵOF}c K kj$]Ȩv0(#oj6S5ZO+PfE#G:A*6OUek -v֢7G,}hT6cpQO6Nf[ &I bHϦ=OmoʍS{*6OXmQ*mQ*mQ*mQ*mQ*mQ*mg?j?gj SD#5j٢[N?J  4A2$Pn_čI?37zSV-un|G$y05 rs¯J騮<3i_m ܱ$6ԁIlZuȴg+&[5q,d_dxݏ|ꨪ5y\C;*(^ F%&qj:C}#;O&?cmbpwq<uTVL)9ExΪ[26Xmg e}q$񌑜Oy WsMmɄOe67"]__.\5\?p w@ѷ[#ݺ_6Lګࢋ;X0ûi99ܹXbG1Ce{,gc]q|m$٪zVa.nfq q$ӓ@5u%l/F8y8ǽVךT_E;H7T ݉ ۢ{bX.cKZiҵ((((((@m,6ڭUKk]Ozr5ږi/wj]#c~5wM^2wL ڥA&*AeNAk2OKm<Ȁ;q2HgmoʍRhEf"$w*JN?[~י;^zjn)^es {7_UP3Yxg>l褮 ͏{RqQHaEPEPEPEPEPEPEPEPEP"? U ȫה?$V1"^PiKgIp]Vc#="QqZ'$QGIٿc'mɆco5p q<>S'6S8HNyc{ 'F-N |捙[x@mu kt4".@ $ kL"C%ɖ$0y8꛱׍Z\i5.u4^b x'v/NjeHgӲڠ>z`ӿ~,DՇW'y`~ͦ<ӶCquUm+4o1Fb AWf8hn k$yn"2(bp1Pov։w\-UXiS-d,f]C{m~yJV kqpD1,j$lQ.uVԆ;kyg+njg{d~b=JXH#`*N'<xs)u+K}xEoc F~^z)/AiNE'{|2,́@U8$bë 5|Dr' josyo*Z2*Ljf?ӵO~X$fP?$Wa)k6Yu QLncuhFWE|x5wm恛ڝ6η\ƒCG@#NR iN/[XE.VqM"+D@I>e=*::`D1+8  gF/m. F1 $`{H/ay-?ʬ \o"i6.$QG#f:fuDI#96⤨*F8]9⛥ xjzs[0TH&]I:~^yc] vƹm[.`$ UE V02:byf$ܰ]$9jR.6 pmb/s | i,5m:,v<@cE.jӥo6C3N@9W2P\VLR4g傒]5CR+W+z09z M #gIbp9Ic'u-_ic =6ҵͳ0hxO NG^O nk`pff}7g$pʓDUC?bi=ܰZWu#.@Y7 s>՝aΛq:X<&C3Hpr:RT \Q,P$M<khH2$N2ܤgKK.]%ҡh0N5Opogk1{Y7X }gW aecw(-o^4bd V-H|rX㌀35QEQEQEQEQEQESPY GT Xwպlր2\ݷ?i5s$y(.xYi=K4GRU8Z$iҕMARN)_*wppFGQ1WꓹN.̵EU]FYd<)P~Ҹ)x$A ==j:&o2oX*+) TP։hg.#MOVSESB[0-QUh*[;2 /FqZUh{j@U EU-QUh TUZ(VEU-TV6w>iÔcg2it*A QH UGDyg?j}OZao.=߸j >{km>ؖp׭tTPGzךZZ\Aʦ&XL.9 qs㞵wRjD_IQzķ6s\ēAq/w@ۚ°aeeyFĭ5r1~vtP.oL]k׍҇0n bL>ty_i n'v[TP+6ú/گ6qo2W;BBp8U%P]B8iIL"@1_z vP%ݺZV{r<38MqcZq}-ҵiq Gs׿#5@^{EΥtڄ/Uʐ)@a88voSf)\ OZtQEQEQEQEQEQESd>lրgjj?ѿj٢\Bg("\ep?PWM6jݛ`]3gڀ5hPkТL_>w?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.M?,h)$O?x Ek OdT% {SC=:R6Qj ?]څ3Hcc?rGKD{8md0U$Hp;>\iyYnI..F1s5W[\w*UE-zF3mDۛpY2]cw)Kٽ ԓ9% ׹inZ<¤3(oazO,9aOND * W#;Z ۥ I溜`rWrl{zrWg\rL{F{kB¦W]<"0NYbi1gyOXTO{X䦵vg]C<$ZIJj *<۰ֻ* .C 1Rt AZZAenTbK,ORI'Jl&+Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@g?jЬCB'~@Z(hdHn)?:~fn&ZZ6H`k3H^yNBQ;R4HSNr 'SIBh%vS@gtҾۮ >crH'",mr2뗑h4W tM𷷺krX0qc ;y &d^6ǿ\xwfTpoV0ˑb;P:5y\C;*(^ F%&qj:C}#;O&?cmbpwq\WS\Iq{'eLqu㯰bxnDգp\m# 39 ng/ytr^[9$}9 Ioell#$rFWu@@ z\3ң`Y[Z]] c[=`8 'NxDԉ-K"e` ƣ<@Zv8MyR0A`x=L׮#[mEϲK4(IJ:?+vW0qcg<4-WR Gyy4GZ._jRp-aU@(uQK['Ŵj ͸ zR8R.<l;d`dO0]á{{O Ƴً4Hb`'ej\D{{tPR y?$Ȉ}o*&$ - <-o{vE._:%*!Gc5n F~y=go^^Kh$i2E_0ym 0xc5)XH%;qs+"!gS$F>x^)3K,2HiFD #Ga{k¢X ?P2W8ךj3^jZNo jݘgƕR{Kx$ "<v(()tZu6N@ ?G4B[pK^8W-]?_P coD[Q\`I6A-7"T7> ˠU""H`s:aEQ-O2[F(jPy QW/Z;kТĉΛ?c^E%ug>l褮c(C ( ( ( ( ( ( ( ( (0|I\&`m# U|I\&xcE]#I9$@|qguIJk 0)\`Ovp#D*,S[EqE,/8/PENrI$$UC gm፸[ r4OȲFUцCVc{ MLm|ZE q-p3hWv7vGQUm8?t\φ5&U{(VAl4Jİ2㓓3ܖZ__E iv9w2Q\!n\G?*h.cgUwЂ+aoe{]CEr˂ɉ ZCװR+Ҭ"K$]=TH,qH&s?*6G\b14k#fQ>[B,8b']gR&Cm4Q !;!;q+aϡShe2CЃ\-Yȷ7 ]jwHf 3*ϽGķ6Zw+ %i7.!AINV__ ]ZZspBC vۜ('ڿpӼ$0R\,x TTȗjt~Tm_ʖbm_ʍR@ ?*6GKE&ڿ-Wjt~TPm_ʍR@ ?*6GKE&ڿ-Wjt~TPm_ʍR@ ?*6GKE&ZGOn$[Q޺:vy1鱭2@pAUÙ-HhU1ӓס65B2#FpЈnLMW @ᦸ"0H is3'rYa}N] WuԌOŒe+#XL'쀼y'cd=0I$ݨ<(mrz*1J<(=g>v3.~BA5<YeTff &?M6ATb dKPyQ?H 誢Z!*C888?PTcyPTcyPTcyPTcyPUgBHl*-Z9:IТ_ҐUe*h 31(I41J_ҫ]ꖖ;>{oo;|7c3רz 4(]K-tt`"Tcgo s3ހ-Ui!IibǘdL٩<(z|co-zT&3e=o_ҳ'f@O@>?Ə W}?"^Ԡ@D"EuLHԓ3w5=EbZٰ-RGY@.<*=L W}?"Du4OxX܁ H|@ܤLZ3]|-ܸ2/\gmAQ"'ϧDOF{6KgpX ô(İ?Zӵn-VThoqiV$,m,@;g=J?D?5_ȉ5Gȶ̩..nLçy~ŖfodKvG77=p8$sG{(D?5_ȉ5{XI{r|kؚdF#ٱ28~ fR4}Ē1<F8QG{(>?Ə W}?"wQd'ϧDOUO]{Y`jh"'qEApD?5_ȉ5QG{(?>?Ə W}?"wQd'ϧDOUO]{Y`jh"'qEApD?5_ȉ5QG{(?>?Ƭe햧Pyhw(;ںD'C#C&Ơ9V_]V={@-U#91 ZFmdoĿv $ko#Hs#n#2tޠ[wسFтI$t$O֘mڥ5g)J)1J<)=c=y] QW,X{ט;^T>$Lt)+G?c^E%uԥvAERQEQEQEQEQEQEQEQEQEȻO7ȱ׌?k.M?,h(ՌX[ JwdS]j0JSehI&O,SⷂL0=J >! kEqH$$|I8z=fúM|і-mB\*KX%H0nqh6USm_y:+;ְc7\vʒ:%xo<ި'9n-`HG0~^NNmSu( l% h0*.@ߑV-/nU..,*0]X8#ҵ岴.&I4`QBYZGtQJ=k_i[XԯKk>KSO`2G9KPMNxCO*b6U[Fy$ubaG]sӥ.&I4`QOXƵ7vv^) S_4ߚ֮T}Ȼd f X'O+$ln 9l9;yt]lKL K[L G{MGTK*ƳyHΥp p9=wSma>[ 8}yi|p1$N]% $r2Oh]3OPڀ t;zU{Xc-Jn~$֎5@\yH+O]n[MݶKpB :m6ՙnqяBqŶ!.'a#l79ԹAOZSn+E\~T~O=iy 1AF#F7$x-!&z=E6cq+K=2gxҚ jKM\ZLjEJ,=o"\$FUS98~xZ-q cc 8c;>֪O<2-%H 9}E8ԅAcRRoM)d2Hj p:g1}Xw,~l J#BA~fQnuXCn" ݀'1<ۢ$DT(VpHϽ7R +MW>nR[QʵpRPpmo,~#O :N~=+[ du Biae%кݮ3Q )\,`zx--5UT7;};*ťʥXEX& 9zVV\%ְ4rF_(K+H;XiV0?i[X,s'R]..t.Lqh=dW5-B959 Z|ҧ g#O~jIl7cd5|[62.p9aw}ϭGwae}v3Ή_nz#.Wp9TM2v&?g\](;BO\7q=̅ Ԍg c صk;snDF%? b㳷VF."PU#~6&O[5̓ujx@pɂN1MIڶ)=wOa+v-: D[G b%9%`3}G'sKǚNi`}RJ{ vmG n #g}T}TwLk(3MOq)g ^' SҨǢ]S󬭥I#Faʆw8 'i~}AG>}AGlZWP?[[]u>N2 2 nC=F?'bvK}5 QYZcG9_Qvj_Qvj&ssuq6?r`ߪǿnu$^,|f#N31xK]_Ao3fOMj6憎:ñEwڅב'8YA@xO^~5p@eg˝`V\ҚkO(\x7-W Ko"hٓ20erI`r9'J=5%pO=K[#ܨ&",hT`0/Z;kТL_>w?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.MO m nj?5|I\&xcE]#J#Y#d`[10&*Xo*r3ПQL|i)Uj?$ >Rݔg$\X &޸$`dH֑YKk)`TG 8 EdâXLh08 S'LarpWvFϔ)}Mcɺk _+Yb\.܏ G$:؄[,A̳DĜeV }'d\R<5gekEuBM-^ͲEodx12NzpO>s/M_T[4\έB`(˟,#YkomvH4x2HJ?1~8Kns/+_S:h-biɅe$w:c7YY/1ł8퓊Iv5|4yKk3[&uwm(]G%=Yku:[AӬѸb0 L`>8єK/_SX{=qq!tb30T0徜S=RViC !/rrs7Mp/_ST[&u9X(gZϰu9&7bɸԬhF$I#Bڿh7<4yKkr4VFT?KBP0f-[Qk 0xA$Ld Std R<5u{un|g8ۻOzsejGʷKX2 ssdph2)}Ms?_Kkhacܛm&Xpfv}]-6F+qS:rq|4yKjJ*G/_SRQ@KhԔP~R<5%)}MIEG/_SRQ@KhԔP~R<5%)}MIEG/_SRQ@Khԕ>d'oh|4yKjs-6駶Glc,Tszҥ rXD(@ Ge t8<4yKk:޷+Zŕʙ$icO&2B.q׹#/(4yKjJ(?)}MR_SG^|4yKkׯS;QagS!2vp=O5V7enm Wm̃{mR~s(C_SG鮵{X5;%+xfDw!e (8(HyMjڙ)VQQ0D6qDž`p{ )}MRγo_XV>3H $Rе ,ZΏRkM< |1 듑@R<5]_AiQb[Krv>T(7Zj7qR$9Q|@R<5ϩcdB{7={tג[j7P;%1yQ#@/)}MA]^kR@YAn"PA⼺An(+fB& :o ͏{W#qRݎ; ) (((((((((?]'pD t@W\wğo*o ɷ@a\e (8 w?w?gaxԬc6Bܴ1R c֥M>?'dXfy9Tw?w?OCQ݅C!FvdUoIMOKy]miĒ0yՕKVs0RqdV}?S35Ɨ! xCk 5q7^'nuRG++:m//#4X us,x>a^_1z{ b;j^ rvpy gC>mvL)IFNZ~-S[:ҪjqH~ou >`s`EhY{)|Ϳe͌gw1UIvPyifX|1LPk:zzKoY.+`n 99yR-Zm짳A+F#6-6\ul褮 ͏{RqQHaEPEPEPEPEPEPEPEPEP"? TBx \wğo*׆?U?P #)I n!HG%N?Fڤ>%M7oQI|/e*HC {i%֓DX?03s$?@6|yM*4OA8nA,P}AWڭċO!lBHyME5m~Sz<(UXRu1i2z<`v(6wbssS2pqu~q+W4|yM+5|Co"gy,YwByX`df]^eơ9 z.O?e>skoQGޢSz<5ޢ)EMEC7oQSQ@M(TP>Sz<5ޢ)EMEC7oQSQ@M(TP>Sz<5Eu?٭csQ7V?,\’v?dCy)XPDaV@3H{ Q7Cm}i}(r!XܨVnB噀+j!Q7|yM*j()ESzoQGޢ%[1Gqڃ,7oQGޢ76eM$BH#I%6ξt hM(U [ZOӅk yT6 ,A'8Uq]<gY$U|~Zc$>NX c@Sz<Y\{e9dL SPK#^as {7_Uw?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.MZGyC ȻO7c.m .0%(4j(U'8[{YRM4!PoR>bzyP?]T'FEgFCW(iDžooD&Um>诪L.c6񜓺7(|(]Ine]hN5%[T9@1gk(@Ae!#krvغ$T A\myQ'Ugk\W="yO4;+1 c UCy"Xi-#zeBs^Һ?1=J<)N #!I[̙on.RAʮ,dm hƊ/}=ԷyŠqxֿbzz0nb!3!)5r7gzu[. Lfs;1|yYӎoIcs'fI6a0Jե'G.w!+N-B:![Im#x6zw|'[ I KV{5!sPOy>At^bzySUeV0.|0d70 Vj1‚*jkm l|۱lO_ҟpG#46A F+|FAI'GLJQMO_ҠQMO_ҀE7O_ҏ1=Ju1=J<(S|(QMO_ҀE7O_ҏ1=Ju1=J<(S|(QMO_ҀE7O_ҏ1=Ju1=J<(g&XL[ۤNP{qYkK]G'!]dq  c81=J<(IVFo2%'8c=GMO_ҀE7O_ҏ1=Ju1=J<(S|(TWbL,bQ;CibzyP5d c_iy^I#uu \.Ap3?7o7/{y꼭w׵nyQ'@ׅgUe[yЪmKJ>d,,#V։ՌMuw$5H6HɌ'Gb.J7_ad& |Yq\SygԱ y`Ees"(ٻibww'GTE.oXkhl褮c(C ( ( ( ( ( ( ( ( (0|I\&4@sE @{EaOekh6% fIJbB!Q',@+DB8FA?N9fcP1lJeC-p 67Ŕ#1 <zk%鶷qi$hW.x #[ig8 |A.R#i}Eav{5*)vyv2B2J,=ON9̻ܗ}6,i?mm&$6fL;H !E'nwdy烒to5[+|J\,@!Gaٴ.BXL.5}:αhbsA7Iă}kZj-E2dCxxccgdl6UH03qO4HS ߴݸzsǨg$TyEe8.Bd8Z5W,@Az.&yA9<9i-KR}1br@*U{_Z 6kDsl,q*:sIQ[Zڵ\H)GR098qӭU@ԤbBPil"*8Nj)mp؟[ӭ%[%uXو$C ןCF FK PN#CǖwAb:M$Hm(q Tg88N=&[5 yo'Q|qc8t/ڊCi) O#Jg{*3&䅉B6*ldPmotK`Xf WyBy:uE֛"+i!GB'jpy}N0oh\46``SяޥZӡ{ig+$nbHnl`gp䚯iskymmǸy:|RYkv uTyuL`qӑ;Sקj^[-VK#ۻ9'&o(cH"y>dFN9^^*;M ,˦%nIR`>zF9C;7Z[H*ѲTskZt7Om,dlU ͌ T.:Be.빦ʖ_8uU䳿bmup9`<*1#w'vkZjvLIIsqt*RҭxkeBNUܿ 7cJYN ( ( ( ( ( ( ( ( ( ( ( KwFyj;/! #5 瘋y$Đ c^3p3Vt+ym4>6M hp@#" n,L0^V;s =^5a-^yhƏ( /ȍJѮZM]j FT򮌉#EFsH^Ƌbn ޠ]z]\Imu["Bʷ#sscu%3KcshT eX;^֚EFw) gyӜfis[5)myH(GO4;[(ʦCME6TQLH n\HGm(Y1 ƭ+JH^gbVRiMjH0uɠ ;NF&E'|YP#E1äo0Q壷*999JYlj7,FI@ھT̀k> H7[^vg޸A#901vi^pZ^tH gݴHPM!ӯViw T c#yRjJ\\kwu;I9 zy]>O/mS3vK"?G$ 7PK[<,9T:045gfHʨҭPy QW/Z;kТĉΛ?c^E%ug>l褮c(C ( ( ( ( ( ( ( ( (0|I\&'>?0?]'pD t@oktTmoʫZ@,\x՘2H@jHEGo)V#? :h]Q*MFKkC$*#:FqS^ےEwl߻Ǹ(wuc Q*iu1k3B)BjUpr~fjVͦ,bYYwOl#f}x![ktT=>HH]#`2N'<x6=WMH GiII|ul褮c(C ( ( ( ( ( ( ( ( (0|I\&xcE]#U?]'pD t@}x6R*0p1g{H%X~fSJU(#*"@Y%NIϵ??3oG_Zac#N%-FT2?sZ)DӖ0 Fs`;вl4`1ɉSv:gU좢8ouk{RwE#PN2s :[.uKk Li?_Z(y_אrZ}",OݸW0zr[ P]Mm$h,T2}$оwF y9U!4yk}*)P]-YOQ7  [eN=ۅރ 9Gۆq#Pnbވ_nu XrAh49J[) h%BYDnR`+ v8?QW [ 6xq8љ+22ztr)&EV# ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 2&r[*zbQ@k&K{yKqijFYF;Y~s_y~Ky_1sg⺚(tbN)-+e^Gw0NVѮ-cDfm1?Zh΢X_-J)X6ÜƗ\:yyP#\WCEdy>&8<崃Tw6{F~=im4'Nvxʆ񴟼?vNFG"j(+Vj=v;ELO&Q2GEek:YŪ.ϳI9P|Zꨠ =Bc-`*H\;Cr{#eKesbk.Ot o/KY. \UA x0y8簢(ۋqFbıe KzqW kТT+va *|H,36??RW]\JKv8삊(0((((((((( \wğo*׆?U?U]sE @^WH(@tQEfg`HʪI/?&I]dڲ|G(A,],R]Z8yL M(uXLݵ"x$bAO)rx*h,OvC5ƣ'r/?&MbyMjW5QZA3GEro'c8H^ىe`<3On~gj[iI sZ./81E@1`?G@ oq4)3]HE04MWo+V\RTܝ@?&MaˮK M,vsmfnrE x n2gmY'?&w_ Y:_j,m{6XgxCDvn?lghG5&qqg4rnk.*'''9c[ΑK!dhA7 4ghG'7f?*Y2Uؕv4tIoQE?nTLRN@?"#t ngePWt"7ےv3B[IN$GNiJTvPe\ɐ@_(??Q55ǒ!'&7!~H {c,z;}=Zyڱ!Os?&MaGOrR3$fM9Fu>!PD/,$OQ&Qt(??Q52{qKm eB;YG q\ɧGM2Dw:=2? G1&Qm!gT< c܃ӭ+km%Q~dD%(0mrn?X#],ӕ"ȭ> ygm$$8ϷBfv*~Fsc>K?NUȑ`P8Q:fk@@?_M#7~طRZhe'sJr:?&Ms0if4L1Gnv'$dz wv_[Z])|,#>:M(bMpCm5R őO\`>RC횵qB]1E@]SK@v8x<o?G?&|GgY$1ʹ#1=g4{]Fs:˸Ȇd,:u(ix^&C `=k?CIti]pc3?*>OvCER((((((((+va *JkТĉΛ?c^E%ug>l褮c(C ( ( ( ( ( ( ( ( (0|I\&xcE]#U?]'pD t@EP*?묟TWKm#_50za^M ʢ3''˟*͹ӭeIMXz[?G"]O,SyaɌckW2~'2~' s7'G#.HNF:"ЭcΝm %r#]p~;ٗ??Uٗ??Ufi2I#It- ڇ-s=r^f s?qߓQs?qߓQp+rh1Sj2(ӣ$QWT`V=#OzŧK68=Mb]i=\Cwsk+Y x2<7)`Kȑ8n#$sc5s?qߓQs?qߓP{D$6 #Qߵ_onͩ?.?efmIH] ~&3-[U)䘥\ Nq2:T6t Hr).?ƛE,DF$@l,aI$Ld(8f\Tf\T"J?-j_˟*AbK_Ϙr1ǧM?Z}by!%dr uhf\s?ٗ??U'&mw1wL}1c [̯!R1=+[2~'2~' S#eD #HpO$A$TKGMRs0C+W2~'2~' 76[M)og.X\'UR\ZVT)aZٗ??Uٗ??USEOrcRHrh1V?.?Xl褮c(C ( ( ( ( ( ( ( ( (0|I\&xcE]#U?]'pD t@EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP^Ws {7_Uw?׿3uEU?7J뫑|׸I]u)nQEQEQEQEQEQEQEQEQEQEak.MZGyC ȻO7k*(N((((((((((((((((((((((((((((((((((((An(+fB& :MŪYTaYKoU4biچ%@}Ghy2̿4vD_vtms#ԾL/ML/M!ms#oR2̿4y2̿4ݿ?<_]vu/'/G'/@ms#oR2̿4y2̿4ݿ?<_]vu/'/G'/@ms#oR2̿4y2̿4ݿ?<_]vu/'/G'/@ms#oR2̿4y2̿4ݿ?<_]vu/'/G'/@ms#oR2̿4y2̿4ցDۉ!Gɏjs}9]/:查Y;o'٠Hwk7mP3+d%hd%h\f nBͿ!ɓ~eɓ~ewsCG% 68/&O_&&O_&9Kumq ,輙?_xzK{kf zxj̴&Mr endstream endobj 66 0 obj << /Type /XObject /Subtype /Image /Width 783 /Height 688 /BitsPerComponent 8 /Length 67 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream xA 0 UjEm{y endstream endobj 67 0 obj 559 endobj 68 0 obj << /Length 69 0 R /Filter /FlateDecode >> stream xYˎ6 p,zY@Pt`~@(MmR"L9)`O_3&) ?8i{\44B6 S&qяNI8 0^ _ 4yz㔍s_ #ۈ]G|].XﲁH=F&Zh$шyIus5 Uy#9,N#d)u=5ޖХEcLc kxWLmrT_^ߣ< wE3o%>#k=ncy[x0eFZ Ws!g.GXv3q(倥T/CP½ʶ滖U6wY-bذYMF>6gsԷF7ѵ\\O1* Y#0@2wV 1pU*@6יCBV yq^-F^lT~ w-#0]Mp0(ȲDa>ޕB̹=Cq,.h&C=܎{zODH/{.N;K=HBZW-;=;EtGƑM6]9>"Z*; : TxH6Db_|gх5O]7?\uTTyHTƑSF{i685ROR*xkiF|rs =޽ϙ=]̬|}}37ex+39LYS_M(: 9endstream endobj 69 0 obj 1553 endobj 71 0 obj << /Type /XObject /Subtype /Image /Width 800 /Height 600 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 35018 /SMask 72 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOX " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?c7II;6 z ܷ%g$=(WKqystPXC0e㡹}iLzڦN66jI[7,(!P}:oOӄ9 ;u:{{k+4V(ngf *^&@2ARie4 D[z\NLKuPT*2;6i~V46O$Yc :$=?UC;Azd 5ZcY  j.E ЛpGhsةn7t+F7|m?0].uVRHS|mOOr#Hcl#}~qdb[i\ے v`DZ#l|7:ݷwϦq֡K-HY.dd/TwsAQMu&uǮhVeD/yU_8>m*qW!IdΚm"}3n>6k?˶,i!-@x:7A*]Vc=@4 6FԷMOmMIj"XllX!U!hggF/qil!O6ymF&ovI# `+mt+Ux/|3,wz:+jBMz8fU5&ۦύZ6i~VN ݭ142۬"AVer2x4iM:46,`6 KtAG^t+F7|m?|O Շ3ZQV}F"fږrU2_ qPx`l7$NzToR;iTɷ>x;sy,$ۑKoa7XZ>JT5Ht4[EVxVB7sS-h]sH)GIؠ: ްUQ[<1OO31FUcSVtmy]rAֺO :%2_*ū8'xDWءAe#&⻟O :%2_*!pZaFœ\a7fO :%2_*֗'ÕRA+-v؞uKQ\dUZ_.O3O :%2_*E(_?<5@ kCw8+2_*O :%P]"<5@ _>9sO :%2_*E(_?<5@ kCw8+2_*O :%P]"<5@ _>9sO :%2_*E(_?<5@ kCw8+2_*O :%P]"<5@ _>9sO :%2_*E(_?<5@ kCw8+2_*O :%P]"<5@ _>9sO :%2_*E(_?<5@ kCw8+2_*O :%P]"<5@ _>9sO :%2_*E(_?<5@ kCw8+2_*O :%P]"<5@ _>9sO :%2_*E(_?<5@ kCw8+2_*O :%P]"<5@ _>9sO :%2_*E(_?<5@ kCw8+2_*O :%P]"<5@ _>9sOݱ$g#=5Dz.k4)=v 7_?<5@ UiԡY=RA`N3mTI[u#kz?<5@ _qǗM]ㆯᛕ3L#I ־cmsGeAA˨\GMˎPK˘cp9|݇$s'1i @`1pxj?owMgEw%ƠR+0*>϶*<#Z@vdzpI 9Em?owMfLU|nF@$c Z;ǭ&4/Mz_'M4B?V.fa4v6}/%wa7dm?ow |i|gOG b'c+5V=[о!K(Q}ge qYmhvÓԏuv6R[YQ ʀ*5RE?}Vo|MghLlFW̻7QXyGMhcKTٺ wGc^J\[7: O6hYv W_#H,KrrNsQ̒G4,3G'i,dzc&染MQs>O6hX^I%C*0# =2NyNs2T}w1.VM??R?ow ßek^j Taط2_$6o'M5JBmb<ʌLVU=I(.~?;YbMs 2X /663pw9ʵ#l7mCѺ`2Ngw\RqGrH62x9X _weȍzAq!a ӟ-qQeued` =E:$6r%lőq @cVaEP (((((((:w~#UΝ?{ nnCnf%3H6ہ&–ѱgs_+Z{;$J|G2ҲJt=]NmqEIEuq\;ȭm[2#&N{W-DTkΚ-)J/I"SHTu:D"EZc05, o3 3nңT??C{'??!<|Onldn߇ }O~C)0DjoP|-쟐 7dRaΉGڡ[*?!o𣑇:&T??jowdQ{'?ŽFP|-}¡}=F쟐 9sów{{R}¡}=F쟐 9soC|U{ae,9o[,sҚLNWF]w -Kif;n}O'G~un)EHtѐ@ Tkҭ}O'G~tlZӸ߂BHZP|-V%J*('=3*M?!lNțP|-}¡}=F쟐 \|P|-}¡}=F쟐 9soC|Q }O~C(aΉGڡ[*?!o𣑇:'pa >jowdQ{'?ŽFP|-k[pB] M?!ܨQBZ9-ջn bM\u0zEӦuh.̥2cb\ `AmOέ7s-JUOΘXEXOΏ c9?bcry?:>',W}O'G~tUO΀^9?c+V>'ry?:z*~t}O'@XVtFry?:tv0ȡ Fj%PFX2(S{S {'??!#5E-f@$zbUF@[~C(}=O:/i[yi[yC}O~C)r0D>&?soc;4[cFzxBE/D7Q5p.Uղ1:_+t]o~ڠ} •ݸeqv9vsU5|~@i[y{'?—}OO#t_ҷ*^`IJ0)~C) PʅOQ5q9|WQte2I@A9;T jOOΚCmA%XOΏcgE ZH8V7/\ڭUpC/w?jϐӜ/FNGw?j9t{rx~uƣ;~5t{rx~uƣ;~5t{rx~uƣ;~5t{rx~uƣ;~5t{rx~uƣ;~5t{rx~uƣ;~5t{rx~uƣ;~5t{rx~uƣ;~5t{/H6s`MaƤee*.A y\]լwQr:0*\Žfq>'ry?:iZ,MݢBD0ש>kVZ9?V_=Fj?Yk E5_z)?M?st gz͊b%uߓ%s+u/i[h?vYyp{Dmʧpo*7rsV=ߵ"?7H<ܺ/;ȝ oM?cL{Bl ms ֬A7UrssR i[h?QdA8opOSG3 "M?c9Y}i[h?QȃpOGƧfDc>45=s0 ?8o裙ƏM?OE,>44}i[jz(adA8opOSG3 "M?c9Y}i[h?QȃpOGƧfDc>45=s0 ?8o裙ƏM?OE,>44}i[jz(adA8opOSG3 "M?c9Y}i[h?QȃpOGƧfDc>45=s0 ?8o裙ƏM?OE,>44}i[jz(adA8opOSG3 "M?c9Y}i[h?QȃpOGƧfDc>45=s0 ?8oۈRIˍYv98$pZ.wƏM?BHERDqJᜁfٴeѥw$ 88ӻc>45Tkhr\P(+}1rN ^vvR\V&.g !$r1E44}i[jJ+; 6&JJ ''O$zPH,S=>9J48opOSnqX_۝2\| s`4]44}i[iP m?(i˻ ~44}i[j1zL񠄔fIcROz}2%4 @E$6rF8){~ 4$?8oRVDہn_3aX t9H#8{y:y2l䃟]}i[h?j>REΡĠbx17OH.K,3"m#bnxN48opOQi 0Ke?@ ~ߝqsl J48opOQP/ɴq=o|I-"́lO>gQvƏM?AmHbm>orCP}9!DF"Eiʆ{g_݅O8opODȒ0Ư#7@j61\[C4%`! Asss» >44}i[jon8/&ۆ\o&$p6X8( i[kXeהtm9-nZXg۷E|g8bk?9hm/  mOiwVPGDXuB`ѰSHr(IoG]EqzlS[Z{Y YWݛqJEةik4wL",y2K$,yϧ[C@%v$ԴP (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@V{ "4y&ҧ# VhE(l]\ܬ$r! 9$cgry'0*^3o[ M" yd?6s29F/`04(Ur[Lm%Ku0˲@\(˶sF9歪( "^Aumr n4{շ<#s[NVQ2Ga`3\C9ǴqܫqN\,'ͼF sUJ;)M*?[IalczAc3:S,) !>bA9V-RIgXF'-ӧn..TGDUqLēBX!!N8b(vE!e2ntCBQEҠ6L,|&ѐ3vz..TUKMl h\}`OKL62 pUHwW`ܓ70;svdRK7ˌ^"qy}sV!˒wݟ5>U_)'4wgGxǧⶶoB#bz}8EdRN[yxfpI= 19gQ4YG;v <׋TPF'5`;|y9YXX5$*"qȊȤ,YMNhbw(A 8]q{ LXHX"c-˒mcB..TA<<42*HA<9GZP[q͍*liv  h@Y>¡$D`G xP8?Z{ڹ'ŷb#$sՊ( 1o-B9V._m m!7oam B:oF]MŠ(AEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\_m m%m B:oF]MrtQ@(((((((((((((((((((((((((((((((((((((((((((((((g~`-t?9hJt/  u4 (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@sZ+ r8/  u5h_6hQE ( ( ( ( ( ( ( ( ( +"kƱ/|/).5U湋LtiHe`ݏN? v#hykgYqssLh!yK u'\26hԚ+RZMy xaSLW-. Oj$?1BzftVD[bS ہO'#M-Ԉ6o̘f8:5r{M*YWR1 i_Lv-C#F%ªG$ b^*ku`.PɹID?)$v犬KClmݍ}sր4hصes bmܳvqj,/.s{ u`F3j3ZCfdazҤ{{kxZ~vyJ̋VO~t\ ڭ[4,)䀲Ld`;25h=_mf ʻ0,)'ڋJ]K7:X9,[F{Ec(9 gQP*Wҋ wp; )x Vck[E"۳HHQzjdNaUi|BHq;w?25MQ'ٔ|@8%8a5͵NHXcA}7EÕu Eٜv *k ZT˺ci `S6kC7Goʁ^+;Xb ܚZmSv-ߕ[q*\ZJ!X$2Ue 8}) ̞iS%[ sQqr"Mי>\cnюο6ˌ1׵\Q;U[5ٺGz[k\:J# m<-ߕ[q*..TQ㶼t۶EUD @'6NE|V'9Voʏ-ߕ*];l{1BҢH--#|Ojc1B:|~TyoQLwȹnv.]M?̵k|m2shyoQpFZ* G*8gV̷[6=slyoSr21K{Y@ـAP3ߓڒ-%cxMbo*ݲH}yjyoRr*M#}察Neݳ䃌g~ty!tSZ7GoʁQإ\kE,n(rI>t[¼ԣ{H~f zd7֧oʏ-ߕ;my۹0qO'=YK|F'& s'ߠyΟoʏ-ߕTfϦ$s%9QNwq];PVqZ[q*<~Tm-ߕ[q* E;7GoʀE;7HASQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?o宂g~`-[B`ѰS\!7oaaEP ((((((9nuI[!DXU9% o ]ОA/n??eZP;ٲF6_5Ec?6_4fA?&(,gfA?&#q|Gօ#q|G/n?Т/n??eZP3eGl#kBl#h͗7MhQ@X͗7MٲF ( ٲF6_5Ec?6_4fA?&(,gfA?&#q|Gօ#q|G/n?Т/n??eZP3eGl#kBl#h͗7MhQ@X͗7M0X9E&,:L0T +[?RFWCp<洍6*ӚW=6_5Z9a6Ԥ) S8 'nVy?7/\14}_cion~le j,d#';+;R$}yrlgNI٥?&K?MV]sLhAt#;`>ݤq㯿ĒjQ2J3#n]>vs,Df?>/\15leV`V6, `@$ ԑs+FA O0` iV(d k+8㓏Ikj?V}v-(Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@sZ+ r8/  u5h_6hQE ( ( ( ( ( ( -5u\SBz(qO hQE ( ( ( ( ( ( ( ( ( ( (+icc-ˌ z"Oj!eTK6(!J릔僵oI5iICO+NH8_{5$?!Q &? ?²h=g[Mc?G&ȸk fG,{UfgrŘI9&6>L3V~שI|( lt){Jdvu mZ՟voRs{mc}$V@e`#qUWG$dX~VSݓA\A62m4_ieF&T#{{{uqw0xce.` "89آYZkgXPXh(*$# Oq^{GMxDB0Xdr{21ەn9Ң(1_?iVXQUmaҀ,QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?o宂g~`-[B`ѰS\!7oaaEP ((((((CW_?'o ]ОFQH((((((((((f '-bKD\?Ԛ'5+{rQ;ʪJ4gnUuw]m+P+1џ=Uk^QW,U/MQoʗr_KUK>~T}_G}N)j&I*}N[2R%G^N#/#%tqWhzdqY^o^׵u9s;UV^VٿJ?7&̭2Ti[G#g5͎/&MbXIkq܈Ȋ+ PEE# c8ϥ;ѓq A, +3"Y2@N1ڞsv, |#ʝ6to1rCڀ TXrHbh,-ZS`)R9=hr]JYɉPqĚ5Nԡ(xn2VQH7apF@`kpYZEmGWQ+(@({+IG{XcW^ BEAffGwz1IfR8ro&N $-5@lV3נdps >c$", Clh@1>TNćsl0OzQp&bEU_y]Jk,QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?o宂g~`-[B`ѰS\!7oaaEP ((((((CW_?'o ]ОFQH(((((((((( 7k59l^vzرӦ=Q~Q^fY1<[ю<ʭ4f E-O!|?YTQA+fԋ?Qk*Z*/[G٭ȩh1"TQ@Q@eg]AzԬC>/LLK 3NX !~T,I$E1]F^k+!FSTGGBz=݈fB zsY}m5[l_;vZ@,8mVG6u{WIn:(dr# ?zu؝ >d,jH7f;'cM V.a|,]- s0v[T(cXQUmaҭG~EX(((((((((((((((((Y_6]sZ!7oam B:oF]MŠ(AEPEPEPEPEPEPEOE)= (AEPEPEPEPEPEPEPEPEPEʈQOa@/~hlP!J9%\C. 5=F?,TYNAvF6YN;xkMpZxT OWC]?okuss|W4${tTl( ( ( ( ?7Yz}Yf^%Q@(((G~EZbEU_y]JEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\_m m%m B:oF]MrtQ@((((((o ]О-5u\SBzQE"(((((((((6V3ڷaZSR:c*Rtz~%x ,^.)?ZQ:0eaA"P ѼE* Š(jV^Vٿ&IEP (((_?iVXQUmaҀ,QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?o宂g~`-[B`ѰS\!7oaaEP ((((((CW_?'o ]ОFQH(((((((((sK:akQL-}zvdIo UEKmpQbiXafhV7wBǸY#+r·{F܃Mb:K2=khR<* 8íos\kُO?XRMYR*RR" $햏'\r+t*S]B(4 ?7Yz}Yf^%Q@(((G~EZbEU_y]JEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\_m m%m B:oF]MrtQ@((((((o ]О-5u\SBzٕTMGq-2/E`g 9p+MJ@ϓ8後?® /v)9-~"j^G|+LkxgGiw-Ʃw@"#c=zuM] xQ#Ѿo=jbO@H ~^kSmyGY2s(2O8o@ý]Z0\>;}k>mJY%fjƵXx&dKi$qUϩ:-ecusnтBuukt;Bڭ/Qoޅqoulʹ\2wGn\6Et die?ib[_خ>"[CIJtW6(ab>ןdv 4O$F04F-sCX:7jxєJLF=jQ惹Te5chjq[>qp}s5mНB3 UE}TʹtM+Լ!eo%ΛO/3IчU1z6Lܖڭ/R{}6oW;t zML7/m`cV0ꚼ:G{}U8Icc"p`jz"A=$8ϡg pf8+zP4{;)u Drһ/R,ٸz4Е= USm+Sf*)I_M\E.H=U)Fy*4QEnyd֓rҽNɯ2—EXV]OW,:z(X+/P? ֥eg]AzbdQE ( ( (kj?V}v-(Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@sZ+ r8/  u5h_6hQE ( ( ( ( ( ( -5u\SBz(qO hQEOֽk;TT™?{T%Oһχ_-^/GgSP^}g-Rjz+7/Z՟vo鉒QE(((t*?ZU/U[_贠 QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE?9kY_6@Vп#-l5-GM[kQE(((((((qO CW_?'ER(=kBFfVQ'rZΑ s%A~3::Jh6#ԉdk6E?Lj"'۟s[6t]UıMʓk8Ji\Rqv:.dd'Kz~տɫQQE?52W@:˒qkMv)ڢ=NmqO*pV+$-(PٰF8QM[#!ArF쎩WUxVD7yn[Q6 Os!zVTj $B^zW]oi[zƴs)nB_ :Dv'|y_ðVW+ Jd'POһχ_-\%7'[u`l%rMzX9AXQZ[8*_mViw+qA3\QTm{֯PI1l:>Zͫ^!I!_T~[Ηu:/>UׯιVQ=Š(cLLcP`+z[-?* kq(jok2Ɏʳӷ._=t+jV^Vٿ&IEP (((_?iVXQUmaҀ,QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?o宂g~`-[B`ѰS\!7oaaEP ((((((CW_?'o ]ОFQH K]Ǧ]\Ƶ!I3]?OԿk ~k?^[; /EhQ\vwG{WVg E} k{mg(}-t,14p2i\X>5u]V܅BN·J..#%%tcx@:CL,#μPS%wOQwm!\o4)XO] _UUtdu 0AEqSN6g[KoGw9Qmo>$Y"?!xo| c< ֍$y*᪖}^brZDo港ILgEok!Є_kA+le4QgD|}yM&)1].KsW$݃]{F Iu)Eݦ閸*yƉ{;(nUX*CWgj{O7FѠdž915:n'd*)Z\:%?tnƼ䵸]XxF2?ҷV+٘istgx7]3}m): 8-WOxYD\n1~J2|dP(YөOusyO6ll>O0p+U9\u#c WwE=.WjO;Jw -I C#n*GC+zT/ և\MwP{;h]Y#2'cEٞi*F#560'·|S"k fH]՞>aR~bW#ӤbBx]Vo.~E=OL3+/eںj"Ɓ`NS<(Yz}Yf^+/P? $(QEQEQE/U[_贫Q_?i@(((((((((((((((((+ rA\_mĭGM[k[B`ѰS@0(QEQEQEQEQEQEQm!EO@#B(PQEQEQEQEQEQEQEQEQEQEQH̨Ii/݋ץ4؉ԄkW9-WH9 5xP5>D~-/ݝس1'5Ҥ opK)8k<%$-ޫ#*UGDeʧ=qv-TE;xV(*:((FTt\V{Q(EQ@eg]AzԬC>/LL(AEPEPEPXQUmaҭG~EX(((((((((((((((((Y_6]sZ!7oam B:oF]MŠ(AEPEPEPEPEPEPEOE)= (AEPEPEPEPEPEPEPEPEPkڌ:[yQvOoqYkz }(tU^еyȬָW8%be&ԴeYfv4H}]u2Σkb/Rϻ=;OYFC\eyMo>QZuMLG]cdAn:Vr)jN-1gǭkQEftQ@Q@Q@eg]AzԬC>/LL(AEPEPEPXQUmaҭG~EX(((((((((((((((((Y_6]sZ!7oam B:oF]MŠ(AEPEPEPEPEPEPMUt%**{͟)Z; rIM]_z֣꿗Z|`;@_z֪?`;G,/P5_j<,/Q /K{꿗Z5_j /K}|^_z֣꿗Z|`;@_z֪?`;G,/P5_j<,/Q /K{꿗Z5_j /K}|^_z֣꿗Z|`;@_z֪?`;G,/P5_j<,/Q /K{꿗Z5_j /K}|^_z֣꿗Z|`;@_z֪?`;G,/P5_j<,/Q /K{꿗Z5_j /K}|^_z֣꿗Z|`;@4ڕ O"ߥ >e>v€-m_(?U_Yϝ__o~(Uߥ >e>v€-m_(?U_Yϝ__o~(Uߥ >e>v€-UpK=ꥯ?ZQ /K,P 4I@EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?o宂g~`-[B`ѰS\!7oaaEP (((((((((((((((((((((((((((((((((((((((((((((((Y_6]sZ!7oam B:oF]MŠ(AEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\_m m%m B:oF]MrtQ@(((((((((((((((((((((((((((((((((((((((((((((((g~`-t?9hJt/  u4 (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@sZ+ r8/  u5h_6hQE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( mW?oq+h_6kп#-l5 (QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE?9kY_6@Vп#-l5-GM[kQE(((((((((((((((((((((((((((((((((((((((((((((((+ rA\_mĭGM[k[B`ѰS@0(QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?o宂g~`-[B`ѰS\!7oaaEP (((((((((((((((((((((((((((((((((((((((((((((((Y_6](!dN{]Yʷ/%渉boW8zn==h9 B:oF]Mr`?*ܷ.-,ʁ3:r_gԿ7@XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@Xcj ԵJ+[DfDI9ʣn\T⻷E,,JCz!ٛTlt'7Lz?e^"\+eU -# }Tjgyea'urZ(nn7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PE@n7GQ?W(QF_t~|PZZS7*CAr+7BF:t |:ېa=F* Եyvy-m2!-d{UOmW&ZntZ^j|FL&l銵Ɗ+ngL :gGhΙ?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGjZ)Q?'f)OYq7#ouGoZThQ/? endstream endobj 72 0 obj << /Type /XObject /Subtype /Image /Width 800 /Height 600 /BitsPerComponent 8 /Length 73 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x1 Om >Si endstream endobj 73 0 obj 488 endobj 70 0 obj << /Type /XObject /Subtype /Image /Width 741 /Height 547 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 33264 >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO#" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?v@_Z:$*L6$'RW t^O_O_S --a7_-[ºv:]n%b8AvkkkhIA$embw+;Ѭhڄl%3Ic]/G@Bڔe4oO. rn|y6ݻ69kk|J%Ƥ"H1c0$d ECaA&uF00>ԓX-ޤ<>g\#u⢶Eڭgi)3W%x*GU'T#gu*})DQ-&<ON*jo- +' qd e]uq:I,m2g9'H ؄D*;xTPR,z`WI 1<[uƓP9iE4k!I)q~@Y{@ʏʥҀmq4h!#>LΣd*ZFeaU;M*H$Y.yUIT<TlC$<W";HD!0=UK+nPYŢT1{Y_Ai8;*ӫϠ"kZ\ۼ0ZH@19\y$ݪE,O"w11 c>$c=3ΈdOv4-^ %P7 0N1.Ey)eݷE]j>YAYLy,ӶXa˖xc8?(@m+I1́БȪ Dkmf=sgU>ZuDIcvqۥWA7/iݷq?)bg1ypz3ސ*DEw6 pù*"MD,g{EyCnq&xؑڤ{^ϔo=yH? KY u#?Cjƶկgd2.-OUvAV͝YAl+ jV:[v(m;#vw#8(:ܗ8TR&TݝǠ8YPqqbٸUH_ݫpۺ>΢9x ʗvbg۴6q{40Kq,Fnz ?T;mL۬[!G%PXV@:֣[&QH '_X]k[9׋˅ ^YtG̤vuzuF6a€ʪø^6pzQkZ\ۼ0ZH@19`hP,2-N}8⧓Ly'u6l xƀDN!{kwd2 @ޠH8Gri&P,"bc9f+J &͑T}wrq>( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( +-ռP6Pwc*Ʃ}u>i%$LHXI4Es ~ϫ}g7n.qq(((((((((((((((+WpAT?h4j ڧNrc`ș xQEQEQEQEQEQEQEQEQEQEQEQEQEGT5euLv#(Fzz6yg ͸1֯@t6L᱄Ede NXj(((((((((((((((( ݨ/t]o)E!@; <MhI"EyjSU(,^ԣ(st (NKVS7O,*U@+'>cJ~+/JM>+y&iGiuMFx W)!{8:#9W8=@Pnsigǻ۸wT/t?]tOq3 =tnĺ%$>O\ˁ_ _j..Ym =`Z2 NEt΀⫵p(Ƒaggg1VI $PƓf̶62;qt5vm9i"yLp,J8GҴ((((((((((((((( ݨnVP{(4뻹$& 1`>?#tOej4Zޝ+K#{xQxLeZBq(Ql֗^\S܀X•{wdmEqxKI)&2>:UIPLqCLS5çݕbG{biz6D3 N;[׭X5#Z\",4?+ #uZXzF-nanYdbA "y(((((((((((((EKHp})h(((((((((((((fCK{ ΟnTCFq\-P$cicijV;ѼdWARFFrxȠ TT1]O+ 2H}Q+ghZed˻ GNAEA%W o- ;}@ZFIwnT1`F3 U_+~v^jϦ3kq>-#؞@V|:]ė$W-V GLn/Qmuowkqn EKEWe[x eU'4KYBc^[et7ny T~|?h?nۜgq3Pii\r}dm/8@60G^Fѳʠ8hP-FS|7lhQ@Q@Q@Q@Q@Q@Q@Q@ 4&Aa3N=3LKUC$i!E.p23=3Fy&+4hGjM_[߬, nbr獼diEpz͝6Cq/:8)3s[mn+#[C0mF x9(ִF]r[6bor75mڏٴ.ίH`beڻx~=+9vcwkj4峐x`QT>PG?iG(wS#<󎙮Ί.]n-" Fhc("(n[l$8cv _w4Pm2 vp0ݻ(f((((((((9ԵP#*Z|EDiYQT` @&k]F{yd y/'U]kT]HPQ2XY xɭckn(cZ{c%-Z(Q۰cBY]>l c4E8cBS3j|ϩQvmB1< ۰G'o#NZ PM'1UJ +0.Șka}8]B6|3t\Ut.^5I)ŹKr}9v 0;Xjm7K '&P~pFsס# k=7efL$F,2eAc=dY{Kk0r }NpE_qi'}T^~S9<{dܥ̱<ieukt16:!F}q[mqaٶsynP?k- -+0 #aEDbFzX{7iֱD\+: R=9^k]>;ڥӲ,ˁgM C-Ą*z|uǕg/xC@ kw}qG--fc|č8-r=:Zsg:}Y;hBU:ô~A$mۣ;#!2d?Mah*7ٙfZ \?s€3M܈mIf!_F d TWk5K!iw7 Q#''gmC)kDţU$zϹ >xbWP8O|~T0FrkZ%[Hc̷XK<+1=szqZ7i45hԆGq=qHmttd 8ј9T`r{yT,!fS9 ]V3}Oja Nq69pWc;''OIqi1 FA hα}`sK p~P*?zsJ^^\o2!L |͎2zg9ŤC'Pܣ8rx4eij-9U ʲ ٰKȭKNsw#$ƣ Sg%5FMYI`;U6N-QnF@RCmb8. P@P( MfMBݭmD׌ʂ`qF//!%GE!d<㪇|}\nHe'-^TRFYA{g&  ($"TzzG -o|_/Q=YF=|_/Po|_/Q=YF=|_/Po|_/Q=YF=|_/P#} Eq#>bDއT^VYÔz0988rqhUЅ',وV4*8?ԭI@Q@Q@Q@Q@Q@Q@Q@`pN1uFA9,AqPYx_Obr.$ _΀7(_i7h=?' :G#RiΟLoqFFC\0P+5;[X';* 8~gNĖE v[)Py㜱oʀ6m&:*}ǿݵtG_!Ywd)^l`ӭfbUhRX$kTv1_= idLn\P[xO֣-$2D&}q]*}/bs!.0zҢ,5uVEEgeAw'< ZѴ 3LIp-2OmQUo=>=lpX9?cM5o Xf%FvuǓ\KV f@H,ԟ#z5rẆ;dG:7d@= +6Z敱`; l;{Sus^@qeV7ÐH©PCkM۾ւvwwn3lfZYbѲ( ( ( ( ( (2֠kkf9mTj#Ď:8vFz@>i蟥dOҡbG얞QKOD*&/G4y1z? i蟥dOҡbG얞QKOD*&/G4y1z? i蟥dOҡbG얞QKOD*&/G4y1z? i蟥dOҡbG얞QKOD*&/G4[ddWb#m@f`Xy8,}?J>i蟥CƏ&/G47-=얞Ut[ggTbmp&bTx8 "U-PIY:PZz'G-=|ƀ&%~}?JɋL^_hoZz'G-=񭴪Z6.1u#y1z? i蟥dOҡbG~s-_ПZ얞QKOD*}B[ۄ2}2[Դ[ ]Fi[;cs zP-= *7siXZQU(m?!Gm?!Vh aaY+}}fR*rP"P(((((((6sZt 97Z.y6HtfZT`Xcz(J_PhWӚgr[!`}j_ݿ)#;qtP%sUKZh fw`I>j}υojO{z+=3WUEaoFIk0@݇%'潨_qG2r=z(N'UksŴ! ߸k2ÚƲr\A,qߥ30~_1 :kmwU1^y>XRw A}{WWxcx6nCz,:.zDko 4hm9i.tj{G%wk$1]q׌$B,J2.2xڃxsQMF-)f۵ z {m:ķѵZ^ńQHzo\>JֲX89t=Ӄל#Y%h:mO7FC#2Ŷ)蠞N=OiQ@Q@Q@Q@Q@Q@Q@>&f Եd4XbFz; Y-1L\malXWxt~Ө,ڌZ$bd 9a1ӜaizWP]ZKyrIVsmOknfteʜ]'a!q€1cPԮU~k{F3|AU]w޿&;Ԛ ٽ2Ik%Ī`q9>2aizڴ$qj) PRnpՎWnLQp}[wң6P1>$.=qpsη 'izqw%ƢVI"Mq|4g?0 d\NS%7Y8=? >(&}l>u 1 wc{g\7XnsAB3c[ihǦ ΚO\% Yla<`ڗI"=WݤiċlTPw9Zi/as2i IooJ*/;>I'eڛQk7WLi ; ?7<`0Oq=? ]Jm6gfH䉖B :G<^$HIwfI<?J\:?8NKCdx4M.C(u93J>!d "[yQpX8_Lz8GaI!ĉ1y+lJ۠(((((((((((((wAguv<zQZzmYضTdnQX0IQK8ɒO)$vt{+SYw)+A`:Pu;X'(on4XpNGNg,-0A~m#ΰH5'9'qߢX`K8 {)&I#v>A9Ҁ:j+bkd]KجEP\r>StdpMWhu +ĶזBY89¶(((((((((((wڋ?ܓj|p(rO$ $rOz(rO$ $rOz(rO$ $rOz(rO$ $rOz(rO$ $rOz(rO$ $rOz(rO$ $rOz(rO$ $/¤#OG߶ _I?rI~*J(?9}$my'o(Q/¤#OG߶ _I?rI~*J(?9}$my'o(Q/¤#OG߶ _I?rI~*J(?9}$my'o( ٫ipAV_𕗪jz6=#Y\9gmͅQܟAYFislvH'-cQ@&Cui-ǿdz2jIjz\Da؍# ;Zآ9_ ;B9h nuR6-.o5Dv}GnAEbb^[˥kԦi#hL9A'5$j֟iIg0c8+^厅EڛoZZV鴜0sVO|4Z]7~xā쌊( Kw.55U0s8=7j&ѭO$ D9y99[PDzY~ӟ쨚EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPs}BЅI@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@YmTO]tCj}}(v((((((((((((((((((ЅIQ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (3]$ک_ǴJ?՟'J=PQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@ B%QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEggIRi>t?O {I ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (#B%G7*J(((((((((((((((((((((((((((tCj}}*V뤟U+@QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEG7*Jo?_TQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEtCj|٤88A][|XrO&5fU~c8>^iXO 4j9ۂzzeEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP&̿S3ў" EUg0Qa7o TU_ l߶ EUg0Qa7o TU_ l߶ EUg0Qa7o TU_ l߶ EUg0Qa7o TU_ l߶ EUg0Qa7o TU_ l߶ EUg0Qa7o TU_ l߶ EU nJaz3@((((((((((((((01Mc>c"cՉ늩$[mL0[Ha` ޢ (9uY:I5qLwv;S]BaqPyVc;#ںKL`X/cG{.3GoH-OsS3NG$s@_,ڏ$ pc+7Ój_s[ͬ)72N孌ApOSk}>}5( =8?:N?.wO'%ëëji v~~渶ogGo${֝y"٬67_^D8Ht8ޕj ZKHY&bʀyIҮk$үn m< #ojZxgFIQ$pn':MwhI@W!wcpG@˩| xؕo` qop}*)I}-khrst+ogu vR0scP?a'c8秹ԬE[8Z8$O$~}ޫ; -f.$ O|֥߇4۹.m<ɥ*\``dޕ-jwj̿!*uش:+wy$(,#!y=zUKAyh-.ᶓڣ}O4(f.qbXI'u^Y+F e-h*}kQbmnKI;n8ߚMkTtON[zգs"iFfQtKaj! p ڀ9|G ERڦ>{_Cx ib6;aFq}nEӭ~[voO9)Ѵ涹kUh3JIrxڀ1K}zt=Bc 8rj|G&bj1ٜ:0{篠>Zhm3p;38q>Z4qٍ; '@@ne=@+YndFeXl0sUk__,odi_f=+n-"h;Ħ|qh:T7m}cԅ(ψmŬ/Z݁$e lßҺ]F_|6ҘF3B.%գ L.ܐIr9hP!᤿_b۫M\FJsޝo⻛O"O7V8i!#Keeo%b(c$2IsV49nx ' =h@W5UﴸZ ,Fpd†OcUtjWװR<_ny>bmKM2Hc r:xYx2.nX&LX]n>$)p`knqnl+$x5qɧ4ɸVnEl$`0O'ɫZS,PEmgo8-i'xe A''5gգHgH*8e_V F>}V[x.hSʬy.8cYgԬ;*$˲df>*+{=B\o,rM) ,!G@:,[q$I[rNo c {bխK*B%A 1;UMB+ńGngxfU9ЀIUOFYBy9%e p7NqLj_[Z<˨̑1p 9x]ҋj+[I!IFT8鎕闶Ň! 2 , z"xIl'G /O~DzK!)O '۰FۭėP/4)ϡN&|F$R}+ѯ&2Іsȣ$cg$ZSX3hXR7b1e VQ$eG(&I[yDcq(ǮA#ޜڕ[^[HY  f]CjtkVur;F: T0istCv!,<d u?)4Pp2yT^DcDS8ϷcYo E8fk:_\=rc~$J a|A@D]>^@hyngr8t%1*zžs8 es!r$hqz0Z F# c'6mNpUhbqwݫKk{Gk}P/vƏvƮQFuZmK݇o݇ok}QGR=a[h=a[juZmgQ@{>{Gk}P/vƏvƮQFuZmK݇o݇ok}QGR=a[h=a[juZmgQ@{>{Gk}P/vƏvƮQFuZmMf,V}-5w:- 3ro _d LS֬ #QFuZmnGk}P*uZmgQ@Xƥ񸁜t: ( ( ( ( ( ( ( ( ( ( ( ( (9 L>VPOHNC}9ǭdY[Y#Vfvdg]nwA.m-#:,SJcHc)q"¡_s,feݻY 3.$;CgxWIJdP1l^kq5 RĎ4+KVbd69Sյ/}*㍮bϴ>P~Es2y*ֽGiY]d@rym>xc{;y"b4x@%[x0#d.:SMVյ8X_+nmP-ЮoVəB),'=35ilakH S>6uSKsFȍV:`+k{&Eɚ9WiXy ~1e+ssh5dV@>ZZ ?X  jiƱel UV%\t`1߭sWWZw <':).$8 gg6WQê@ Yim,$;f&f@K!{tZ[@ۂ`a}8`<}Y.uM=cLbI}뼬Ao%A7l&( ݬR\DtK($%1AHz*)f+$'.,NM0WN~VPp=Ah63Ocwpt{p&Æ8ಃ2j5Fifu**؉ @kN"i-\ruĬ qRbf \g/n;xӎޣ,m-e)Sx l< w5h -6İ4Fn9֭͝ʲyЌH;H8 ⡷,- rY \u Adϯ\i[-tU*F̩9 1]$FCVBznd{Vzxh.$O#rbr0y<jJDAbp=IsIE&7I{F4Rnp-h=#@ E&7I{F4Rnp-h=#@ E&7I{F4Rnp-h=#@_>QEQEQEQEQEQEQEQEQEQEQEQEQEQY^"ga O]\%lu w?dM-k qi2#q}OŚh +RElS+XtzG[]_$VŵI9'Ί,O{ɼϳźI6\J~ws4RHUg&>T$uh~~?3Z3IZ!nq'n{o)۶hn<%E1@^l_T{LKbSA'8ZuhuǵYa.-ÝWx>vV,76QjjJ&ޱ1Ͼ*և%u-K%A']_ tj!Dy[d In\u/5Ȳ㸷Y!zs@j֢u] y&pNݣ8u$K- 㝘8䎔Q\Υ}[EcnZ3~5,'=ohl208%sv¾Eg} 䏙 Ң?gҟPc.as89::+úzmU$..u=G^ӴԱ'$ggb: +MBX4n428v GSǭF(2ť>jK)D2*Sϊdώq? +c#0S}FeӶyh#ŶܬErK U=*+VGGx)J +G;QErSmC)R[t 02sazrOuJ{ag?=ǚV ԀH@ _RI7 *< )]^[vw ye`5A5Q@K1WTāR#$?4hZTZ'8D,@XP=*. 7ZK>ۍߖEYе}Bz?ƫ[jݴo?m0Ɍ$~lX7lEg z{k=SGOQl'"eY}@PN9楏RW"g$2%O?5RS#k'('So⼄Mm1t >ƀ,hZTk=SP-[DiyT'?V_Λ{|,n..c`HQ~(O?45:<?4hZT|],J4Kk=SGOTy]cped#=jϚ?;Bz?Ə _o?kxt _?-Cikxu PKE[xN8?0 _?-Cikxt%o-8=O _?-Ci񬌊R2$ H{j_^Ꮰ 0k.F)`*Aִ`R%Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@u>S{[`pTƲsjWdYUw[/4cqk&q=ʫYktլŅY4>{u zeZ\meU]FN9ޤӡԯoi k\iB쓐BnO\( C:mO扭FyjFfiĠ0vo~9j(׼?6[i\{8-^Q~<zxzPL@g6@CF+Zɸ-On.}=6A,N)ڢ1eOu,q}PLHߺpA('Qa>i y2O=M$0X o KBadk@PPvwqE YsI1LO 饵 ?~( :v,W7wO(PZ@1m}x/{K[Yv_Cj@BywW 2yV%bA$ t׃A *`md:(#???>Yu%ЬR` D 6 ZӢ28[۵h;.eޡN21֢v^ߵF[4+1g٢2#Yڽܱ%EIF߭2672\S%dR8F=kj}$/.u89( W|ջ;d" cRH?MEQEG??"gRՔ:uPm tdO{¬弸JBYOR@9Vӥԭe" vO| W󐭟l>GP6mN+mav'H[1GA>cc%Ie JUҮc緒g#-G(B7nF9瞧Ho?ȣ(ӯ4>9-XydOrWwmg@7<,-_%2z>GP /5 2xx)I"C *#RKy%f/am#)p@$`~ַ??"#}( ŷDZG}hk(G!CL1MLJJԧOv1D/b_xȣ(Ho?€3\{E;md<9Y~w6bh@P@INJ#}( ??".sM-G`Ki9ICH1;m2?o!Xm}"`(SgtqV?"ȣ(ʤXEx*!+}[y# չz1z׳\6$h oGQW+Z+Y)[#RFNk^+@QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEWT{*"R*@Yv<u^+1)b]TchyE /^amJDZL\ u dZ--ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[}>ܿu~M[z+@aK@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@^"ga O]\%lu w?dM-k qi2#q}tmNntmR:{ʓ–[OΡ\ Gg PV#TPM4tZ")gc,:UOUտ#m- +bؤ܀WGhZͼ6XUid㞝Km:mJ6y FѰ`ct?Li&>$r'}+ާ5:I!U P zqמksX"Y- 9*Oa[%͔ZZҹ2 l:s/izd'RPp c5x~mKFc<-qyjނ(T,qUQ@u߈%FG@F+GRCX܋(;u r . 84>+t{F[D9;g=Bq3Kq} 0x CZN6^O _3 ۴`.⃣޼SYěIe]sҮ\hAƷP 'rQj~ԧK֨&X_o8 PMJR;y?78Oc;60{Z?7l^];gI֬;g=g=:}n$jRLA##@GmY`0x ԖG^zTW&-宎$$SԔI W wK=+gvZ#˙wS`zuݼ(ajQ>c cx( N]{In.47;|˝ͅy~=׊ u*%Dh[ 'R#ZegjWrgpu$ ~ˏ \+IrO keH_RI7 *< )]^[vw ye`5AQ[gTX|)_8=V X5Ku T5Q@5OWفu2HC ))>mN $uj ڭ}5Vyb~ ~SX:Kyg8#)2rxګ\fcem򖌄/ʅ'<88$񶰺py.c i$]1X; TF"3ƙc O}8 ZVծqH$H]ʠ|$?xS4Z`Ki]Fȥ]JtW.`0F0yҼ3(`h#qhN>d; Ge"YD 08]ۜc$qZHĒ(`e*p}AcaCRC,KMDѸpB 0?݈H"A3+Hoe] luQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@p})i-QEQEQEQEQEQEQEQEQEQEQEQEQEgzz=I"Ċ(,zd㩬{i2\h5.!7(x$[խ分mBѺ#V xNT2C%#$Qn1DTy!mේʎ9nڡ'VHޢA[stDuާ]^6b9R|;y{I?;kX^,$qG-դiȡݢќONQEQEQEQEQEQEQEQEQEQEQEQEQEQEU2FhڿW򥢀jt~Tm_ʖMQ?*Z(6GFhڿW򥢀jt~Tm_ʖMQ?*Z(6GFhڿW򥢀jt~Tm_ʖMQ?*Z(6GFhڿW򥢀jt~Tm_ʖMQ?*Z(((((((((((((((((((((((((((((((()cUvF**ؐ*YԵTr`R~dBz?Ə _o?kxt _?-Cj8D$J7P BqDw"hXeel 1Β'=jl<LMiPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPsj΍ C+F-YEUDgEeER szϫI ˥ $e6ȭK˹n5m(Rg BdXu`Fў?U2+*\`@$'QImL$ٺ0B#w .yt65aZdoUBH06B:M)dӥHRX, X!;TѴF$h( @ZUkRߚWZ(((((((((((((((((((((((((((((((((((((((((((GPT5Y,> EV ( *[664PQW#KEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE endstream endobj 74 0 obj << /Length 75 0 R /Filter /FlateDecode >> stream x][6~i~&I )sa$~P$DK>vu}r@c;~p\ϸx_~ nI_K2!7.upҟ( ˓_1ٕo_x\eu|/wqϗ˷~28}d+2'ªqI=^LfDYhduYdsΜ;I/ayfD101Ƙ>gXwJLBL }[ht+0щ]awP d[`U"B]= !zND467a$7hnՠW,CrƋcQ&q7 >cx ZZDAU^`ip#0~X$<2UV=igaF%]󌊥>`?hid@:KITp0SZ(ۄ_ 4Uh2;&u!%уXX G5AvjD2Q+N7ԬK09//b3T~"ؐ7S^ae3'f8ó%+;K\{@@8fQa`28*囸c&'qKުh̊!SXq>[F7SnD$E{d[i;4@ *%6ǰ,wB<1Nv ] B4e0'8 +zI g]S4aMb;pӑL+O)`+@W-Y_ߙ2$+ntR ~@  m,7 i$;OOP~hivԜ$n-CzNJ0Lk}.Geb6fĨ\8a'& Q0 Tܣ)PU:Sgt*"uM$\ٷ (9D}rwՉ@pNDb(Pv^c<.6qdI9bkz,t%htK9  f8@1ΧaI˦4g4"9+$diB.$]i590B@EPK1Dف0$fАP3H ZM ˜UyNt~So}^d}2*n¬*c`̰DEaك R&]"eо`D\Z ĩ?#2#ҕwnMZ,l.[ݵp1O{t{E Ylq"bzC9e/4/LiNhF|F $3_mmPToS7`=T8c\M- cl/$oM;Oa.D's+no:ʠ^NM2s)lvaAf=1q(ÍF#=ENHXآ ]ɝk])5l1&f!^>s/ZZTַ!ی"nNn> ":9;aĚN |% T"ԚR\LŹ Ll0et&ߟ&+X,gN:]Nt@رN߭F9l(_m#CBw&RaqXTwRS|:(O>vZSVjdy J wD:x2yFjW;oT&g)'HIƬWrwQ*\VŤJm?4 wqr%^N`|,FQ̙ؑI~Bqў#ƱQۧ4rgFn::i*%oQf Ư ny]uXTluNWym"#S>tKie|H#-&y?(ƭRx`x*SI3类pZ2P1)@DL+@Wcy1?ag3GRM:G}8Ap]qIxS̥rJdpwoN b*+VGiq ϻ>1U𠙒lM4=dDU K&P&>X՗ JdmWĒcv2j e)^ 2ւcV|%*/"|2^RoĮ.ѻco]{tJ&pTMV]u-dFBRAl;;t9ɤ[TtW*#nVFJq*)[FBd^dX5tq}j3$kfHiP)>-TM7Dnɲn]>@' = 9ݥi+LX Myԩ:7yp8^JNN "E '6:`)kzZpѫJ`'꤫\{sl)0Ѥ8Ok@L;f)m7 l 0Xi|7,cEW$ ;uZy54"zyQTg ۪ya0$xkeuIuS1*U7Js M[/C\G .TQW  .̆],F`:{gDR|*\d4udpjwMpL6(@UcH05?jB^jD·N5i^&@ߵ |I_3҂:.R)hdJ/uj* 鸡=i3ugLQ.čAX݅zk]vr\۠oj[~ۊ0d H&iNEJU <̉F eB\Ėh!d-G';݌V+TҴәR*UrNr?6=PwELno"9A/|ñD;L NQe)fCbI3Ţr왱]la.ae,;RJv*Z&Jn$W 9i6~<J F@:Ӷϴ[d6lZP$6r|)rxɅ(CQemwaĠ-w4DJah yNy5nP6u>v!<ܔ)a@F1 g.sO}UIt`UtVk}D"ñ+# vϦnBBƭ1 |S~ hFꆌ!5XP L_D@u2PQՒsJ<C$>DJ%B"g;-S;ܹR6&?)M>'zeHK/cB[eoPxM2RSQj+~iL[ y1Swe&%3m ^ӷvewϵ)(PÛ"~[h]n;y+4Ir jNVT ,fL'mdݰ w3u8}%ϙ^kSgs0L]sَxV@cum"vSK2L0yMzr`+IY{ij/%ykp[=ET #joN|n̻:6bݶ(P vmS.NALuI6w%g 9Mᓼ\S9 Wĩ2#DFʬ߽jq | Vs' m8R ?@}:o>OZm#RhweQn*.ħZ&/sЭع~ٕ`HW! CGzt@KoRo7:J3N48$nI<*.l5=-| xꙧ:]JV I7v6E:J;-Smuϣ+\CsaYe(wi&{]wRyvֻӸCLh<T ;PUBe7͖:.b0;!:Q67mjtQS&\Տ@ 9ƜJ)^q94b*O-yC*q n&N*KPlC8\Po>QJ48 uPIdY3p| ZS<Ҏe ODU50 QH~=^"*Ľ+*4B'v#lVĬ@!\N߃&l֚fOV#K "QzM>=0J֓7tۖ"5G <4s+X0{0cLːiN4ԇį0X9UU䦘񕿜 _,v I\Ds>3x^D&_IKNk!#(1U!(id~ˆhXBb4')Kr13~&Js2(Y8U&:x` D56{1W}R4JyD}}kƂߺM]jr|-?|C4Ǿ~!6NN ${:t{g˞ѿiS'Kʄ~]f>yd+Yu{CzF1W#endstream endobj 75 0 obj 4856 endobj 76 0 obj << /Length 77 0 R /Filter /FlateDecode >> stream x\٪$}oSKn0nUv?1߷TYN(* ioL8qbQPxΧ%?_1o_\}zy>) o?N|^wq'^Wve{2<5nW&y~DWfzf+ ݓJWFrٮrs+=3`wG~Zi+"?о S,T|rZctc)sk faymkd呞 W&Xa"6fXH!Ke~=VQ;7ܿ'^o }7[ЏA X %W3̬,JA2If%2>d |(DW?@\/'YGX /%nEuDsm BWL0jSVpI!Ӵ( (DFhG>HOcՄH  V!$8,yg*"/PpgL]9k(*`+nͳiiRu1awx+!x.W#%9N *JYT`x3褕t)$k(4' ɀq 8({ro`!څ.FJB RNVU0QIdiW1_y YJ (TiոD^z axj[^sN+еʼn<NdD=qR!7d`~{gPVR[]oFdtg>S鯶20VdA=Nɠ;.<g+oJ'4a85l5b d:"$y.3&dP`clo< .$ 밓Sb;O;H7vСQL NVMNj쥺]# HX>͚KO/\ (״X[ L"~!ǡ" =w+Rbϭ,!KB1 6I(-nia]UNgdQyG-s0}Z"\f)lb'sW!0fL0ǼυSI*E`$UAa@G0<:;Ӥn +{jP3D/פ!XsA<4532Y{kX{8v3mmtV * @ܔ{@nBI5ŢږC-b/.1!%4}kzAxVxQvVd#Gʭc89X'f3@%82eOQ,ۭg:& VV۵lٝCX+;=sN}y8IبXSBcw6(sJAU2_Ii <:}nͱnSڱn\]DS9Ӫj8>j7RSŬ4 v0,%AwX`twoY‹wΦ],mщ_jAq{%˫_$,qK)C1O tTH#Ҷz? u01z$dgaSJ1aN Wܞ_Io5xrǔ=29؛Dfv2 oREs;Qқolڛv5 CXAQ G'ND,noG|HBܹ*JWjɀo 'j z3ȘNXJ Z[Nj|Ww)Ugfb|ا#mO k- ؽ&X? a/{)ZHDU3ոFK:+؈)~']_fÀ?9iC_7P)>_ Lw$r&!Vn Y=\؎弤)ʍaNaCRog0<yVb[e,iU:-b~SGeUM*<NZ:$ߗ߄O8T)O=d_6j&6u5a߿SI۫d|ɛUUK{wNPZ{UIgժA:Rh)lީ: `['iwګ֢9Չ'ߍMГ/ۗ:&krz LUV>n"m=@}@V[Jh_Ijc4KLq?tT"/*q+ phst [SǬj-dm+!QX8YƥV*\) .S5Mu +NBΰ"zu_PMq`U0:{00 .~ mDj!'?8sBVK:3yҥ<3" ?S˰ sVacLcy$9>~]i`GQ(8WOAw_p8jV,~B݌{>W7 RϷ#1xgv+V\JB|Fdeğ8]"endstream endobj 77 0 obj 4346 endobj 78 0 obj << /Length 79 0 R /Filter /FlateDecode >> stream xYɊ$G 7?ه"" Yhhx\VTEfu Mb$EkSra~!}88!S>[t1>G1uxN}Lcvd࿇X2%,YRX<$XVo8;||c [ !k2PL8bb?>[~rx O_.m88jVR/4HqMt3{=7 S ,2,k0P {+65h 9TkA G/ǐU~_qO~(0I%9̊Y^0 2HtjuI+LZyӅ>nbcS@MQ5:QdYQTW@E#Ǎ섔ߤa?-0SK i1i,Myu#Sц0L]0BFzʊ g|T,0۾0 9e7ei:~9*{vJyP@{EՔuVHicd'nh%Hn *ѱkk/\uenV!k|i{g Zpj}g2Q|+s*MyNw7П [2M[42^'Gܖ8cM!1=t#Nޯ,CDߌTiЙN4CfLtWB✶ǣ*Eܙ?RML&mTijeF}DOujl>63ٗ^)eaS3\ B< 4nk_}}}TV2&_LΎ-.,43Z76<97ża'՗IL׷RKSo){IfESendstream endobj 79 0 obj 1484 endobj 82 0 obj << /Type /XObject /Subtype /Image /Width 21 /Height 26 /BitsPerComponent 8 /Length 83 0 R /Filter /FlateDecode /ColorSpace /DeviceRGB >> stream x͔]hRa@eHnQ`v^,D$xQt]oBuQ("K]}I[H2f¹179pt~lwxtW|0Faˎ$G4 Zdm;by8p8Dh!g@K"vvF!y| x*bB6PP58#(r|4PP*uSJEQTBQ*jB1 22r#*Ͽ|I_ߺaۊOFԾ(XXyghq-g:g.5ũp36`}D->**@HXۦw֎3t\*E%^q bVs,K=v@ @ }P2 A`:r"NPb}7arAF !GdZX,P%`Q7-bB1¨3StCA&zV7*l녍ZRLf ۟s'/\lb8gLo1g2\j1C >e{ af6iw|z9eÙFԿ;\`6yFo_]6Z]<M uؙqXݖ[ ab endstream endobj 83 0 obj 691 endobj 81 0 obj << /Type /XObject /Subtype /Image /Width 861 /Height 624 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 71965 /SMask 84 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOp]" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?ͽIu} S*&D #zI5oiit--A|JrF:gp= no.`u: <ʻeJ[.M;L&=~T OWtbMFټ`P,A }+7'!OЛ -:UI?>k[H1PŻps֗iY<cުIKL^=*8\G! 2RQ8Er)ʚJcOT; RTyK?1讖vl2H#ZeOw+1D"X% pU~uq%)"K.LȀX$quȹaK̚jll#lD "n>6¨Ip Б<ڗ* s_0Ü ƥ$VRAm3]AT)و^TdT۰?S[n>6œG3N\ey7s;M@P=?6KwmeZf# 9=pOZkkϥoߕ 6k~W+o ,-&yldUِ2~RǒO˚R=Z$0 .4F Aʝ=qJX+SQ`p +;RmV$v_(vfR@:1KgzgH.d-{I$ֱD9\!9h]oߕ VOF*}aPAXN`qK,*fX2~5jK鎳 7b9V0| wbylh]f7|mt+{s4SG\ |ȄDB2F*#ozdKhj$x(ry>_ܯ#8jWOI+ҲืywYi 9Wit61; pl3r.ùM_F7|mf^߽^be6e`秵k$Q&L3΅8E-cK6\ziQM_YqvvHǝ-C䪙YbBHb@j+Yw@5ay O:鰮moߕ 6k~W+*A5瘌W$o啋29N)^Ij-j% PX'tj\ۦύ_n>6³RH{I+q70¨Ϊ4vt[t+$Vsa/]xMKӭ̏-NW $K5kb@й(PWAv: oߕ 6k~W+yYO+HbP'1ӊuʹ 'l%3GkplQM_\ۏn>D&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{Q +ak+9Ӭ766ʝ퍤pۤ}Px7| \d-ag=1_jKchfXD^߹^J|V2ak| e`!r?bس) >kNۋ454n-nUZHܫZ?$lyrhKp*: t|# bp_QIrVvR(aӭu4 3V6A' Wi{\멙†0#.pOϝqzЁNV*_𪷺(41JI1F>c9t'Zjyh{9}9[N\F^A[*㱊+g]OZD-^@#'9R;]!RUJ^L`L~%#?y`MUz7!RTϜ/J8EYDneܥӌ0G WϜ/G!RU_\a{F7@9*_*Ct?=vxݑ2}>{yUNU^B@>A7@9*_*Ct⩼\{'dmiG, ,G-.1N~/KQn>rTUZ򇲗s^{"HvV#+l.q.X{Hcf<~_/KQn>rTU/CCK 6BbBJrTUJ_d=w$ʋ1U.q@wG˗w'$rk? ?_ |!yI$i^IHŊA'8#F7@9*_*CtX-'I#r,;$] VB:T][D"n>d^n>rTU/KPP{jSI^9#yeJF>azB(½|? ?_ bඈ{'+ѿ ?_ |\a{+ѿ ?_ |>_shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ 9oLmt%?4m+u_ Fv;}!RTϜ/Xέ9;ٖ$suwծUyV Gzz⳷[-A\1ʜy1WCn>rTU/KU:y9t$r+ "IWE {zWjSjs0 /`+7@9*_*Cti֧OT Kvch~'KXu=Ѝ΃wýhxI=Jn9X2/KQn>rTULIcQV^}w%nCUz߄4(-% R@z,bId߁[NMo"0ql<1ϭU}kgc-^l24-'h_ʹ Ze"Ml`t55K{v|òCGqW%IsJ*ȵ/o#l-:B)%HܽZ[]XO<1KeumL-0\IpI88J̄beo=ȉg:$j.KI:㧽_QMEZaݙ\L~7zP2kMO풯gsw$% ۰qN]NuyW>NyՆEZؤ6e؏y‚:dqyAn}kI HHvNHWDsL#w)r9*u!ܵn9! 5de987:ѨP#L`Hl89iڽ5ż֍t˟&. 9*Pry;]@0>bdrsßj[6(tyGtD/JO̧= oܭtv9'#QL> $[>؛8@?TpwokI%md>c,l\JdCOs'h]sǣ Z֢=Ɵ<v's# @l5[́Z9"3٬|4#a>qMV])%-FG~DcyFF;S;kI$=kdSeUn=OX5I叕@ q\j6Dm`=ґiYlVd4@P6xQ6Lӭխh좵$f +ݹ銽mk:js]џ6̏B9Ud{k;!aT!AgfuMC̩(8`r@#EPDh $25yVPq;{ XxfK&3,sP#jϧphn=v -)$SuM9C8Ջ AoX 㐩 ~ƹ6 KbgrBd"A*cpaqVd֞ik; ]mz 9Uic,QxUIGSmBKhms$$dv |'=PGnmؿ.dnFu-h %ėW{A* 2ORj2@o4k pT鐾$ pGiE;-x┡ʾ0 3Sj:9&. +2 嗎udgٛg}1,1p0=qii] -⫌C\UyL, sGk21wcv_h*zۚ[Kiaeu,KdI 2y-V_5 f:t6D24{vVS!I#{d:UNR(ʆ[e;a%W?ѫXKh~pܬdw# ](Zݠ{b228$u-Cwv"T I0+.LxD :h)ذ'jnzjq}b|u1u)ˎ f!joq#\ۈv 7n )!XKw}]FAdZ-X4+t)y`6V#.{ډ\đ Cۀ2##܀hksrmmEY GqW/Kk 2ۛT`qӞZQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE#^@,,ϬC &FSHdcqf0r0 UҮ2Z&GOMSK%]W'B ~п |7!}32QE?@>п >п eZFy5ƫ8Z.3k6>t#Mr\v.}}^qW*Wjef4؋ <O <OO=ĎzGO!;Irhie2JƿxF :Ȟt]B+(B+)M 4MdIXT 18UIb}}RN?tSʙ6?QJ_/y?/y?¥־OH8i'i>MT`尜ܻW?'QW?'U'S"t^Ycʺ\t5~ &#NPqJIB+(B+*1m\/q1b>k Sn'ֱ nPzJ1rvCm-h_sh_sT%yj{ŻF9c;d*m+I= >п >п Q 1ŽW ?ACп >п g$LT8އ_@'ho/y?/y?¦ؑ5TEUFy\T`Hc~п >п HX(=@<1PGqEq~п >п п [;ie(H-ֹ+8YI8Iq=IN+XP5BM.f&@~| ץjD4˦_ßAZai@-.8o17|:ZG]kT\:ff*qdJڱm%{-1b1*Ib@z0;㸄[H ˵uvN%3_^YKa#x-\l9[zuçrWS&wmhܪSذ$`z{Fz}+PMcM[ȷ :{oϦ*14T6ERRr[y,4_(O4^<&9:3Yks]+C* P[{BCU$0ss"/%[j^%\ǓWgV<Å `~ Q zf/Q4=Xw|g"+o8Lo^ޢINښqL i61b{UUbla;l2=uTef?)Ȥ"' (>U}Tg"겲cژޣb-ڿiݢD&]GAo'hk>;sbZo4%hAL8zIS>[5ɯ1 [BN=AbvVT*X7" &h/1#?nFDX(֖I5-u*Q]I ZX^Y7nQZцlpq#K ۗW)`$翩"]#T)!X -7kN #6c"p3TY$ V8}xKPxvZWp0Gݮf(/Ti-Xb;]זOL'+/̬kQMrHcum?֛ǙZN#7N3]]sxn>y SkcӚYl-%3˃M[k{+,UEbtd/eogRhhY7zORrpզsqm ׷#Y6KJ-=-2wB Zݐ5"%4Kg$v:$C0ie"6mѧFS+[{⠽[6iՄ(\yުOLTJB*Z2ިx-U< T䶔F0``qUnnJ/o.@#?3Z7:E#Z$0œs=H22; h+n_OñڡHB"Mñ# zh3FD(*+0}q$rON c$!+GVj>xQji7YL1 g>g= }dIձ|:3;ڽ}A$Ym۔V 0:|T|~ۻ,Y/Fݽe>"BS@m6Aee DJ@"oWhfV; WˑGLJSi- !GuݿL,bF~eP3I:̱ԗVL9'bu ̾Llx=>:lӋ"imEWC9&0 Ltze{idĞiP8Oƨj:^@jQOk2-ňU$ڼ(MGzG7s~b[m$WIU/!Q|uw'JGV2m5K`o$zMiGUKH巜=< Ϯj)4!0*?>ҟ{iK%\LN:-c=;]]5Nl<*)7-ؿ)u\!Х5RՋѴl2pHК^aQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE?շөo7_,|I(C?ՙ(=J)|?kȔlaބ,3*O7"e̽vی9: 4:D#o8G3(~be~Iwwoed @.gIt Y A,?uWkH rNO ~dЅhɻ#`ր2w?FW'^HwT5lʦҍ,nXe6dzoSM}_R{i`v,Qlz˟xQcI>XS(a>SĞ'Kh/u$yq|br>=팗DKNOQ @z_lchciN}{hW'sUp%V &> wf̙wFB89֓Mn{Tv{}_}ϫU\LAxH`soZfG;y=;>OQ -\$ >LcqY]b|U揪Oj}ϫTo*x1%#j+xQHg }=~TAQ*n F7VbI.&GqvQ1PqIop">OꓵڣsU}_xe+zupXʏA:I=;=>OQ >+[30ʧ#|=>&5..1az>>=w}_}ϫU'-8cFG` 14}N}{hOsm, 1MTKI%'⫂ch/8?&*>OW ? ՘I'IΩ#To(=M'#a+JB}@; ?\(W az|`O}u14}N}{hW'⩒ KUX#w"_K@?1ʒ^a]| (;iI!.,T?7}ϫUaAfG PR'ȸ8y}T9Aw}_}ϫUxq{eFo*> @?&ϺmsU}_   M ' ;>OSLYmMd|?\/% ?&G.涓PRѱXS*-ētG؛RFsUp^#[tّ[ʏ:?:g% ~qsDw?FW'⫂15ՕZ2klco*>OVf6W'sUl@}_}ϫUEco*>OV 7?[4P6W'sUl@}_}ϫUEco*U,MVA}ɿ >o <6[-aifF 'U#4eHl^G!UV bz3ɠ YIXtڅ2FAo=RJr[@jYdÏ4MH )pBdSJnm>OQ lk,d4i'wԢ3F<)x(<)4һ_ 7?[4PQ 7?[4P6W'sUl@}_}ϫUEco*>OV 7?[4P6W'sUl@}_}ϫUEb Aq6w'\PtYJWIXdgOI=RHËۑe0vÀ}2;*h?/tߓ8.c ߸?m井R#KI H6GFx?ן@~| ס߂*"`HV7;SM@opHx,sfImT33pI N иǨM3S "rEgȷNw:Fx㓑sQ5K6΁,#AXx_+tG{ۄӁų1yU~Kt!SCdKc|<`2ӜּhFĊUFvhj0X D2yCPWekҮe261sЌ %]/ﳦ61 RNyclz5#o1wF*XlE䃌Uַdhc+?TbN޼9(+k>Nm"Uh+899ǹb`](;;tI*Ġ8=A1e(ER}(H,m ۢig.c)u'vEvei-*~t2;ylykk[g{x&% H$Dv"wFpFG#4ʒ\X[G-˾B^rv0x<+-Xc2\#Hs1$t[[yDj}>ǹs#P2s$++tř%8ǭkO)$YCQ"i,j@#µYC q@w 櫥j70) JIqЃ]͂5aB;4H UZN2ؕgt9ogp׽Iaw/sv,cؗ ZJ{b][%*?][%*u( yg̷οb|yB=;gި^yhZ?C$m>ӯm$$!F*h_- +pmm"}z;bV;|_llya D I|pE2<)3Qc$ך /S.3G-$wolU#e!Xu@\kpl4&ԓɲ7[kl נ,Q`w[;}\=IOӽVĵIiŴ5Xe/V۷R^N5Zf '8 NJW!uP o+eIV [c6v_$*gf6H^6?+]\:oQ߃I^9Cb%W\roj[8Z&q++@''Һ$ēԛʔ|>`OQ~=Gog.=5֚$Mq\\>׊qYq{۔FuH$_g$}t?Wʕ~0dʑЋ|Խ/I2&Fg6&+lџ3s/%C7<تYAZ^+FD",8RN;}5½bێwg9??I&eNP1 uښ_rKO.L=,|z}*NIH-D2F N$p9<֗+eG+eGm1ϱli7u'ٸ c<.oǐ>|1Z--֗}+|YEw Msz%+ t4oQƓHKgbDy| /T{[nbAxdYu#?=+=ϱ^CWC+x?vOjVuJKoN*ZȱO}WʏWʏkKÖ]QO{}t 6ԏ`:/R_+mkq-D&7CUpusZ--/iKÖ}ͥ ͬ)m#7wݽBoWʻ8ܬҚkp+((((((* MOP_Džroh*9+k2b?k"񄺴Y-lQizd:њV9?%דs,/F$K)WrIV 84ՌK}SP@7 qo< ew}}YkwYV'H稭C :u-WP)|k*|ђ}j(((((((((ͻ8oͫZxR9T{*2PGN]KڡVaD~ty*>S/ǺT9>QUPL@Zy7FVQ9#oy߈?mh*jk42e$7 n4$'9FEW*)Xcz7G֟_@ĈC=}E޴Rg'?QFloZ(cz7KGr}iOE/r޴Rg'?QFl=͑<dhI?or(!{q|OZT?i>tvsJ)KNE'(ГEjyw{q| ?gOG޳:(9'(ГEnhI??$?EaG sz" ?gOXtQ޳BOYVr9'(ГEnhI??$?EaG sz" ?gOXtQ޳BOYVr9'(Г߰@ĈC=}E*A~T8Hx)?xC(O@w޳BOYU+mImmNIEPQL& ?gOG޳:1?C ?gOG޳:N"z5$?Ez"d'&y?UMwb޳BOYU/웯Td'b޳BOYU/웯Td'b޳BOYU/웯Td'b޳BOYU/웯Td'b޳BOYU/웯Td'b,D9?%7΋xaPd'&y?Up7) bUrd'm.tFyUKd==p޴Qo"5-#Qu-'^zd*&!նC,\$ ֹx8덕@~| ] GVJƑwFΑFEW*FEW*DΊ37TZe#Ѱ[̀uߜ{m^CTF gv1ʡ;#vwK"Fsn2ON+m3X TcӟЉmh(FO |$#$yN⳱jc e*e$y SEI6@G"TrI$sQ%r9w8Q4hݼImN ơ<7(P.bC~_1&&ⲷ'nLӤW$d8ЏEYjI}NyU+Ь>~uXYB|T DB}M'nWXF*C&F*umn~oʏ Sdoݷ7OHۊ nn3gk =Yd@jFRv*ڗ&W$n=vbVY/JܖufѾ O л٘JߑYI!N{H®qsnToy@6'=?dkt0Y[Gf?Z]ڈܻzQsr;y?ùti)OF<â*#-̗E(1ڧ5k'2~qyP54Y[lc>V B *\693upa^e*bXP}z{b Fq~:r'QԜӺ?h te*Gj)iwGhAn?['1p=z5"`CDH!юZ  o;EPo :gސ^Γ&@ 6qʓ}85L"rrA'i>h+-p1+ OSH`h"9s}!r۹<淮V7F{kuRk [@!]q-fSw"8UeȐ*ǟ./ʜq ZʆKstD!%pTTe@ʃvNEj֩lf{QLAEPEPEPEPEPEPEPEPEǛ]?UF[/'E{ PcQO;jNdjʠkDi2A8@}S7ho!%0x rE2d-9E ڤ^2[ n!?™& &,~Rz{V`mpBHY'nF#?֠qme؆Rc=@*UMAsphi27T?7OGR6|~oʝϖ89{{ Ե!gsYoP0iS$fDC(${Q< p':ItUMurZψy+t l#桋,F( 9(S 9+;%*3?gHF\G_ #[S)۠qMj$ ӞÆrx~uRn_΍I?:7/@ E&ܿ-rx~tRn_΍I?:7/@ Uo /P_lmhL;B˷uVx6[ p־c {>vdw=[(%ݭ[c/zZA ?>?k#6`tx@~| ןF~.4fΐ D2*I?"GUT̹럧CM7|?? 7@}_9ߟʦU8G+WzE~*>_s+|?? 7@}_9ߟʋǰZ]̭8G(µ~_zE~*/iw3#"}`C?ULL3ڶ_zE~*jIl?~TyR69ߟʏTTͿ*>_zE~*9ÐΖM6Ķ:d@}_|ȹoZ]̽8G(µ~_H7U EM`qQ\ie(AQ$ W8G*2f+ )#ʃo?Feb=.3I/-CO_`p>f;4re8G(¡ӯ ܌FSG7]@}|?? jXX[Z} ijFX=13izjmeŻ& 8"dqQEyGjNaTGTDlrr3.s-:f"&nqh'(B 8G(DFr??Y_ >(+Ĩ~W)OY^Y1e>!)ZF\ݓf}UmTMA!4Rl.P7;I8zg*eq*+U=3?~TyR6T;H 4Vsm_P(mQI< aMN4{X<$q@R&fyR6mSnmɾyvaʠ9;G=F}BŨD1p[:Ce*OߕTͿ*aywPgca AAqS)&WªⱝI<ʓyZIDςp8*ŧM,cREs2o?V(3+?Fb9Ps2o?V(3+?Fb9Ps2o?V(3+\<,KlU_.LccFmRRq*Ңc3ʓyRQ.ؚdW,SyjE )j?k9i ?l?2W?_FC])tTdd Kf7.O*dw`I$©-ӭӮ\Pn?Yw| <3Ph#l;rҒ"$lP,GAO"*fSH@zjI;CIǮGt+2urǦFqR+eMTov3ܽq\Sq5qjZ8R;VG_gy>#NN8hhH£ $ du=jĵJs{o*X, zXV]Q +RWߖUYp @Μ o2\Br>%aCE=׌ I Y!UoN TaUoղ5˰Pʀp8ݟ*f\ Ep |7_j+emgdPAFyL;%"Hr~e暟eGކ[*=*.U֗w %;|!wקjE'gEJ+pNI +m.;aoxT[Ah /COb7o>/(b,}Vb>/(7o>/(b,}Vb>/(7aPUo>/)Z14\(|zP4E{Ccre'L0յ)"DDoSrB@ЀyךŦL]>Z$CEc(S?mY\>w.ˀLHhdM4'sZkOWk[T;m?n?2WTd!H,][33d'ҴfNzj'ۯTv.isii25ë {}+Jo5{ CWcجr y2smSUVfgDQq,'uT8Q[Di}}UrFд"}~Vb5b㶕n$'{79`i=ƶ:4 <"c$$I$5uI6L2[PLdG\8 OWj2e]U%{dH8^1秽ev&c5Gh%)%{>zEm ̮ yGsGhqRbI|nb];͞gqҷ6խg[181iSR<5,&xnf: FzTl _TeiH[OFb6B=;X- 1  1@qJZV[iy%b!S*U]'ڟL_ͪ0Qc%̖OnҼ#G?k9i ?m|A\F?#)l5PH^Rrl'4/պ(:*n|GF~K5n/*n|GF~K5n/*n|GF~K5n/+,ݳ+?EOƯQMJ8}h'WV( gIP),Sj9\iX_/պ)_5T/ƍψj_5T/ƍψj_5T/ƍψj_5T/ƍψj_5T/ƍψj_5T/ƍψj_5T/ƍψj_5T/Ɣ~k5z9M>~k4bo_Q(o_ϼ^`Gϼ}js8}h'W,Q'F&y?5Eb&y?517( q7щOƯQG0XOƌM>~k5z9M>~k4bo_Q(o_ϼ^`Gϼ}js8}h'W,Q'F&y?5Eb&y?517( q7щOƯQG0XOƌM>~k5z9M>~k4bo_Q(o_ϼ^`Gϼ}js8}h'W,Q'F&y?5Eb&y?517( q7щOƯQG0XOƌM>~k5z9M>~k4bo_Q(o_ϼ^`Gϼ}js8}h'W,Q'F&y?5Eb&y?517( q7щOƯQG0X;uWs+^:7y?Kw.*?#)l56k߷B$&v{T:t?se֠T:uh2g?(8PeMomkv *|RvqryNnO+++mJ(D~kaWq9 78c$t+XI,]M\  qnQpG^^ŝ%Kk 0#RF.;T8k/ 7 i%Hv`]xN;U72Yjͩ˽1!Ǖ02r1t9(ⱅKu{a,haR\zt V-w*w6f>⠊R:d-HZ-6+<]~A溊(X{Ưse8v(ʅMU/d4 v`Q>AՁN1]$pi{;BQSX䎡xEr.dgʉ>afih 9`\6v@|`t4QpDJn4mۋ\vdv8z((0(((((((((((((((((((((((((_c7f\W?ݽ8sޖ+,ItaD%bŶ>oˠɱͮuhѮ\,Ѳ`#S?uyDZjY}t+;B&EqE9oK{A"N$V'-SQw=Gԙn~ҦxukQE/]K[[^Xd]P2+cHPKù` l ;?WerX`b#I Q C * V GK|\9 Yuh<Ȏp9uJhRxrPO @sK8exuRȘI"dG-DR}Nx()mvwg)#}> 2cO'w_7)\Tꋪy"ǘ#hvAr8)$Yo?ֵb*gYI>Sd֒KA+w1IJ0 z8%Rw %m;Qq,RSvF }*I.L,%Ag<՚(KX$qs}sSC,b P#P<`s ( ч&  L߰ڬ̑ӟ-c9FB;ZQpjFIp-ϞL_~ic7ba"=rҕbbh,e[GEY$uL`2/89댅tV*\ACHbdu; ӢXҖ8ۺIetUcAShL-¼_|xNE;.1w=ԑ匮 i?gHVK<1uu?ζ)Oopn- 0#|#$q6]Zy 3@:כ@~| פ#^os+Ah?#)l5W+GNSk4 BU;$Q9S͌ݨϲ?~)g4rS:|m~(]誟m~(ΰ+oEETΰ+oGu[ߥ .e*u[ߥ ??/Qp-U??/Qa>V‹na>VK\.tUOKgXϕ_v[gXϕ_:| S:|m~(]誟m~(ΰ+oEETΰ+oGu[ߥ .e*u[ߥ ??/Qp-U??/Qa>V‹na>VK\.tUOKgXϕ_v[gXϕ_:| S:|m~(]誟m~(ΰ+oEETΰ+oGu[ߥ .e*u[ߥ ??/Qp-U??/Qa>V‹na>VK\.tUOKgXϕ_v[gXϕ_:| S:|m~(]誟m~(ΰ+oEETΰ+oGu[ߥ .e*u[ߥ ??/Qp-U??/Qa>V‹na>VK\.tUOKgXϕ_v[gXϕ_:| S:|m~(]誟m~(ΰ+oEETΰ+oGu[ߥ .e*u[ߥ ??/Qp-U??/Qa>V‹na>VK\.tUOKgXϕ_v[gXϕ_:| S:|m~(]誟m~(ΰ+oEETΰ+oGu[ߥ .e*u[ߥ ??/Qp-U??/Qa>V‹na>VK\.tUOKgXϕ_v[gXϕ_:| S:|m~(]誟m~(ΰ+oEEg>Dź3OJEFq79`HuokA ?>?iD?#)l5Ԛ  u&Hih|ҾI A8=V봿1k`uA)!@f:RF;z%WP]XgG 6n+q“ۇ=_TSN{&XbirI+m כ@~| פ75 ?cw@`ѰRk?#)l5Ԛ"]эVj]эVhfkc3ylmy9 w~[Ӹ??#]ƫg5ǐ̃#ǷO#Hyպ}{j|':-O?o-~\\K:'39<:zj՝B+hn#pYP8&å NW^yO+{My}A3=^Itg8fg Emޥ]#KWM  \?/rI㹠jR4JF)W_:yMIB[tm(!jD%\9A9X~/w 7Md˸9c@#+oa]KV4K?F=In9ZHF]8g*ŕ4귐)#a*v܄rh. ~YX20>PK8hJ[ĺ#<q[(wq9 olǒ15ɑRB>Z0Bwf$;;eG,1}>£k7H/ﯽC2n ;J3eOr,o遱 өUKP S k#+*c_^6h7-#n<3T y #c?᷂>D1Ż ʇM l-#'Q*dy2G9sHw?sߕ;0w}cZkx xc`toҗȇ:fRYB y#cy'mFgsNۑ B⍓%gi #?-.3ɠ,Q[ڲEB=H$qu2%$~$?icƨ-EKGHV+9R o!far̹r˶XE8eR 2wDw5Q+HŶ`; ri/nw)a,C|z ֶϝ6[qϯ֞bJ)'r?#H3" ǧZtWs,mE!p28B YR1 x;0AA,ʊ :4SpWDl83Ur,1eBv8b1acFb)vJcZۺ*42RP+2, 4C OOpLu犒˙Ya+RpY =6eAi"0Dc! ‹%]e J% NIl̰\ X┳͆.;8ksr`(YZn7 $=""F#EE`R4QE!Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@(8fRHv .¹=ʟi5WYf @ -An(2x dsU[;y]7l~tW/vn\cbv!1h#==~sP?Eyh 9MOƪuT9PF$gq<[KΝm uU58̈aE;'MӢ |_/RWFNn'.emddk@!hH$ 6 gEYXl%YR/f4<}q79`HuokA ?>?h5!;Oa+GNSk)p\nbзVƬB -ggUxGKqR:W5-q4h[vk[X-1ع=$c ʓvq p$Bh[vhзEie$c峻B3Z6IqeҨVpH#VMi[*<Gϱз).у=1D09 fQ:b0 ,'зoۏQo#61^9=GOZJv7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'Gn?O&Ev7B'KnWiI64P;m+4}xI9϶ ?>g<$WiPgl焟 Mm+4(f3O&u d̿KiNd)qƩ$`;d$5'aIWy?z@75 ?bnӿ6꫕?#)l5Seo*0ϧBN2΋H`>Rè^["g>v/آI52{j} :F-ķs7`>'$g'sWjbQ?;E^O ?~'€(W~'˜rG^((;Wjt~T+;Wjt~TX,V_ʍQ`Z?*6GEj*ڿ ڏn#TΙrMjבi$fU*XFqZ]??oMX[q+M(%avG B]%Blyle2ylZs&<ùBG8p zE?;f'Oe{3YA%ȑ˅jc&2q5TQ^@*%hdX.2=tى?GbQq{3 cXGmd#>MG|Q{ O ?~'‹f%o~wms]n(PKylgͫP+QVvGFXEYڿWbgjt~Tm_ʋUQ?*,+QVvGFXEYڿWbgjt~Tm_ʋUQ?*,+QVvGFXEYڿWbgjt~Tm_ʋUQ?*,+QVvGFXEYڿWbgjt~Tm_ʋUQ?*,+QVvGFXEYڿWbgjt~Tm_ʋUQ?*,+QVvGFXEYڿWbgjt~Tm_ʋUQ?*,)'aIW5X0ĿujB#^os+^:7y??#)l5W+GNSkR3I]эSl-dL<F?cg1s40jSAsr +oM''r@`H8{[;tu67;m8Qsp]ZΪY EQ,0.qBǮzMssQ%?*Bsl4|–EI;+2 \K] bZZ5ryqF0V?: !R|ރ E'?:>oA7O:>oAǰ@TDEDE2,EEKKQKP"%(%( QRwyw|<U-Wȗ:`/3I[7HhG?:Z)>oAz΀7ꬰ\ %(%)b**_"_"_//QG/Q@Xȗȗ,EEKKQKP( ??=V xJ ~гAc}I?ֆ8OE'?:>oA(Z)>oAz΀O~t|ރ ]G!Uh'Ң%)"%(%(|<TTDEDEb**_"_"_//QG/Q@Xȗȗ,EEKKQKP"%(%( QRwyw|<TTDEDEb**_"_"_//QG/Q@Xȗȗ,EEKKQKP"%(%( QRwyw|<TTDEDEb**_"_"_//QG/Q@Xȗȗ,EEKKQKP"%(%( dpBɪQQѿokA ?>?kFq79`nӿ6꫕?#)l5P)h5dsZ25[S-'S,/ .8!yR)mkhQ۪A!ܾ:RA-kz)'ӹO]n\o,PG%oYDj3wp3vSY]jsiI%A$K)x! ƥ}B;mRy.%%hbPdm{LU;rժ'c <24FLRڋܙtvXy0TN[]Annmle{$Kh2@U>jvGi ‰ HTc 99ǭ$hC$g,U8k@.MŴoy+y|0rY+R8`0Y(v-c@]誟jEOnZ>@]ZOj[3AGjڟjyg,4Hffc$SBoC:GQmEŴq U-TzH=AuqmI "fDd(Aw9v V~6zP;48x?cgp׻# !Tݍ9c:mA3oSX7>[p9vƴ[G>fvyu~wmq 6F"4 x9<}kX&LEpX`g֒V\["7 @=v4jEO贇t[}?E*ڟhS-t[}?E*ڟhS-t& kA5QvB[ nsm郷:֫r㦡O* Bb9#Ap}CjriqMeqq$6aI8Cq>z^ZUƣE:>t'ɏG9Hٌyxg4SVh[!@pO^vFUC>=(]2bFX8 kFwg8<~g˳lc^3ju{wKf@⢃\ByHu`T/瑎8=3@kwiX$7T, 9nʜSZS+ff- n|AQs5^IjSlɒ8`IsMV,:'ؠ4]_s]\E")|HOZeſCqVs _A9oGb[y gt,\++g9'miWN(|7p',9d nAxje2Z$UD`r϶=3QO}cl'QmJ.AY~+]ugIRգHSs!F%[ hːs覀˫kkE/Q0 ^3P^#y jnrx8yW][4273#)Psx~FA~eʙmf=s>bʗ:y`>Eb-9n;[ |w_U<ˁNy?1Q zĀEbU䞝̻KS̆uTl.X+!ϾxS7 { _bf?2fGa{ִNnݮm.7gE(9"Wgݼ8g̫=mp_I1E8\c;jՕ_l^'`˷\ #'k]^3ͳBS pT3qԒ/6XemK}Z]F$KfCp#HXۃmgq[WXyr>\ON-iap̀3>(nmHpmSss:MBrZ#ڤw{Qd+)TG㻸.F̜G'+A5(H9`u C<jGf%]׮s|JNQM}'?fN|zR^,:mKojͪeM0kc8'Ìsu{usl''Yq?L^jɇձیyEجL7 -(o C``I6lpZ"mp';&o8{&@<C2 '$ -ѐU,##*wzgVHݢԌF6vqϣ mGڟinZ>@]誟jEOnZ>@]誟jEOnZ>@]誟jEOnZ>@]誟jEOnZ>@]誟jEO![_/ ĭ&m FV toßAZ F!;Oa]B:wF]U[Ogƫ5&ZP$37ҮYlVV #PA)'U;[ y-!wW,ѩ'nN>J]A?ҫx#2Ĥ{{{ԴG5qlN6`ٔc,*!ԫFϴ i]>u S?]xieUG`䝊jZ[ekL3FU<n"M*XlS[H%QpA"C#iRN8>حMj$k$[6Q0`p$>}mkLuVګ] k2J,̈́֩ۂ~Q9ǽi(.r] 6Ьʮ<*$콻+jX)[kw.#!AA9N?Y##QoDGLH-3Вbq=$1Ú 4HncH2l@#3[4]LĴx./dbgH<^5frL+J.mES6Ң)EiQEÔͬv2#R0:k+_M=,] K#t%ieUUj =<̂`NK`ɏ̙s</gN21kQuͤ6Q,rd(tSyӞi\̩=k3o$>@`m"Fw`.BUXPڸ88Rͧ]"4?l[5؇XcPz`VΡ[2 U* #i_] ;VsQTnf`3ے9ʌ[f]>&q+3K, 9 Gudoam]Y[rGcZW f#q5ǒ.>Lylm>R0F~fip$"#dkYlfW&eyc(O;s:tg9-?wl 6>_##~uat})U%)q6Ơ+JW)EiQEÔ͢fZTQp3h*(r&t)& c+󵣑n=}=c@'k&}JTh䩘Ũb?>=%JF_o%^/{\ͻX;r #h%kWO~, NX;ŕ FVFU 0zݩڍue^hdU+UhNbFù^>f95q4.#L%GT{eXa"F%t.&ܕL^: qWnu }gΐp8,aCpEZvco,4A`h<JFna5ߔ,ra L>l{TS::$AQJ鍥Raջo[KdY%;C qMmy*a{#v+(ی0$DsM8!c8|&FrᏡG]9sa458.2oVXSpKH@'sG#b3­wW($6s4]). 'P3nٛQvN#ly<EmIM-2H@д_)z՗W]B[X-vn19NRy燮n-e.~9ecbw(QvFKiw!Dr[mFf 200)=ս*{X$[R&0  $zu%UKrZ(@3IۑGװkP\]Aql^c0DX{P):۳Bd}2;5lP2S6u->DbLqr3j\ MZ!ӌWF+j($Y M$հ~UZ=d'>ddvFpCJ裙]N66p:ry2MCFwo%:|O_׎WCNi`Ge$A#aVEu 7NZ<~WSǥtQqt=6s38p~|Ltǜ],{aV&6rqh]]Ȏ[>JܨY1o!9ǍC:OC *n|x8OE+!ͥ?-]$ c`\g''NkDϝAbޢBlrgyjG-HbXio,-NNCtJ(bG;Y\Y-кNͽ_PwV~carmnxggFQutQp9-;Fɵ05̮[ 'jyXi7S$glЈ:zk`G"tͺ1IU|enHvz[Ҭ[eEVhc^ƺ:(rV\|mES6Ң)EiQEÔ͢fZTQp3h*(rV\9L+J.mES6Ң)'m넿ufCB_ :('כ@~| פ#^os+Ah?#)l5W+GNSkRIȩ ՑmǪ[-n'O5(%G~lsGMX,n6BgA.^qE,洆8-a_)B{cMj=A-C]fdį!c3c)R7dkE"rZ_-w > IjOFIRC-='UJ( ړѨRz5T-='UJ( ړѨRz5T ZG76t#s4lBd2[Bn-I89u?]MYHhn0ݜX $v3B篢TP;w̻, >m/V7;r2FS!~ņG&C*ĝJ$iŌ12\x.ZEnU'c)R} 56w:G qTaY88`w-c0I߻w *Z(X[Gn"Jopsq.9~h!/[:qR}=Q@[Rz5jOFPe'QjEv[Rz5jOFPe'QjEv[Rz5jOFPe'QjEv[Rz5jOFPe'QjEv[Rz5jOFPe'QjEv[Rz5jOFPe'QjEv[Rz5jOFPe'QjEv[Rz5jOFPe'QjEv[Rz5jOFPe'QjEv[Rz5jOFPe'QjEvGw*ɪm%u%VB_ :A=EFV toßAZ F!;Oa]B:wF]UD1f\<U"/Ă7SMy3ABWKhnb@Q㎝j!@~QʑCTPF"Em"Ą]TD_M ,g$H)b}:˖K[]^q(s#;LJi;3]gŰ@9KLԵ֙ͫ<\B&gˑ:cg%,bbڑ]x߯Ѕr;mGH{L0Q|u\:qӊM6K]jՅ`L,YpHtS&ˈtAyx<6?fAavNHb N;DK-ۉFD XzdtF0$|5Iv aFObƏ:#v Xt/-Mj>ay8ʑz+KYƒȥfgpr] nNo^HC[=S Irc#i%;@mYN 8 5PCTpŝ| gk [y/cgjI0 '8ԗ^ y( 'l*-RyﴛH'I'cqBS!% Tm1sH8ҠWL$sd܅Ac}N7俌!C, Ww9>yF1[}5n./OsmqǮzz Rk;6-yJ:^9R@r:z"/Xi+3kxWӞգ'w4yw41?b}:CoSGSN'4EEӼty w4yw41?b}:AD_MD_M;OG_΀УH^E5sȋtkN욹'-.7ȋȋy|otZ0I즗h$|lx۞9+FG,qD0.c,GSQZZgLylߜ[G^G#vEr.EqEjbq1X8tV`N[E2^F6 @'<ۥt1iX4OpTC*'pFFH +'Z(1\,OǰYuj6+ [Uu/~n8P3'8Gm7.UހX=!VChYZOJ>Hvej*?('fVҏPej*?('fVҏPej׮(^:a܁=GV?*(2#z15d(#M壅U،gy)Qe^8.!*غX|9nEZ0{XzʣE[W zM;f-O%{;Udsm'o`A9-J4—Ct$)#?>,fK`RNsaIdJ49Y咽&Z)#k1]F9&2$q[X߳wq0zyE^[&T2r~nI=?^7&H]eA;U 3M-nD+*)Z]b|AuYd ;ЕbjXK%#!UFKOJWZOJ>@Y?doZOJ>@Y?doZOJ>@Y&ukmEo욷OJj*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPej*?('fVҏPflQ՚/+U%u-toßAZѿokA ?>?h-t?t  uT D7x7jXk`U1ߝOB{U/ma{Ui$s[[@T1cB({n1_t^<88(W: +V[WNr}G5kShc3ܘ&We/ٱW2::+Ob9^;1iԯQp[?xjy5,rnq<qڋ:7c}:<~tX._y`~?E5խ6VV@$rÐG <կ1ߝgjd-.n%+sBzf670}qLЯʲ)s0qIC_ ;F +DHDYFW#c>/[Mm44^4d] }Jn'0$Nj!Nx;IGGcjv,RE4u M yRN*אK,:Epz}qewThn〘W1chrBҟ5$Բ3mti^ H.lP[|ehP|K(,Jy/:GMRC&!H @AیTK=YTDm`#䎕#k 8[k֐.# 7F2FH9 ns)%c>}>[׶{&o?s&Gsg#=뮬/qeǓ>7n:qc4}q%&Oݟ҇v m\#cuch0vn隰uI;sp H 'v~tΎZTy0H15ۺ<1S:3ixnຍ 4k"cV?E*oΏ1ߝ c}:<~tX.?X5{Xڤt]?MZԿEP?rCGo΋U1ߝc}:,/T<~ty\EP?rCGo΋U1ߝc}:,/T<~ty\EP?rCGo΋U1ߝc}:,/T<~ty\EP?rCGo΋U1ߝc}:,/T<~ty\EP?rCGo΋U1ߝc}:,/T<~ty\EP?rCGo΋U1ߝc}:,/T<~ty\EP?rCGo΋U1ߝc}:,/T<~ty\f![_/^Vfm1?j:A=EFV toßAZ F!;Oa]B:wF]U j̫g4jKRh5 Fį[E\DJ RA=Ү\ǼL RV".k݃y#jO"_~m55$W, ϑ ۰0F)`t︰bG[6[nQ ] WZRIxIa@D0nH9㱪ԍinY[)'XM,9Mq(_g\pIYVsy)mELsK;,JM\'-i 762=%4P\~@ *^y4; t#>YE9Þ'hVc,H36 `zսzE[߱5ח,Sݿ9Qg$V ܸ*ƹ}Gc;+زt 1˳[ `C{qd zȷ2q22@p99;$Ukg%2- ܹء=:I2]mn6v$c'8]=>DR%(%*b/QG/QWh,R%(%*^DEg* >AV#G#?n7'CJg t='BiXOghfbG&u# 4IysvOe cs"8慄wȪwx=$g ViRّ3"2F]73q1U>hi$zf(lW`rs>c}{8_w`pS8<}jC̶ =^($v2N [6aѰ) HvZHeM8Ly[vR8wH2N c}Ŵ?`w;>>c`ZѰ~ǻ3V\9QKȗȗR^DEDE]KȗȗP25X$M+jב/QKM\+jR%(%*b/QG/QWh,R%(%*^DEDE]KȗȗP)ywywv/"_"_@XKQKU( <Eb/QG/QWh,R%(%*^DEDE]KȗȗP)ywywv/"_"_@XKQKU( <Eb/QG/QWh,R%(%*^DEDE]KȗȗP)ywywv/"_"_@XKQKU( <Eb/QG/QWh,R%(%*^DEDE]Kus*16W}B;mN[aL 65eXqnwt瞣KwL0();3s9=OcL,[2 lѹ'M;YMn߱;-5(?1VH_Yl㹍ϯB t볦Z %Pl N t穫#O5j*^@6caE&ɮ&䵒3~co-%pGlDMͰ>`y䎞FP[i鑱cpGi 3Hc+ڈQJqǠ Z4CRm hu ˑz{wPQHw'S-jE(.Gڟj ( ?ZO}'S-jE(.TdU&bI=KYz^knpA292965nm*vh=1R2-ūMrFUbqۚMS5ifk&YW3j7ˍ ke!Č1 x\҇[$Q6׮NviRܭİ,ynemɴ/>:4n$S*\NHSd]FeS$"TI^)6ʷV8Wa “犙/|H7GVSA c^i=ĬPŨ }#qBCHbڕA@I噉$I$IPQ@]?Pdz˶x^`qZw\A5f_R?ZvOZ>PQ@]?PdjEO?ڟhS-AEvOZ>PQ@]?PdjEO?ڟhS-AEvOZ>PQ@]?PdjEO?ڟhS-AEvOZ>PQ@]?PdjEO?ڟhS-AEvOZ>PQ@]?PdjEO?ڟhS-AEvOZ>PQ@]?PdjEO?ڟhS-AEvOZ>PQ@]?PdjEO ĭ&m ZO (toßAZѿokA ?>?h-t?t  uT D7x7jYLEHl]}=}{UNKH]4jIO54.nTҠT+U@#i[8,J@''KURrO&ӾԞ@d~$4[Fʪg;<:Ķ1`I#f x+3&WI2E2g ֬ C4qV ~rT3OBUʖՒHI mun`/ H}T,ׁԙ%I 3#1W7?SQivlbA#I `Bԁ-fE8+1ߌ枀˷rq +,& '/nR]fdqd<5 s`(‘gs!`pI$ғzDqX4:)h6AGw:}MQ[4wL0Bd*9u;eUiy{{s4Riw3VetC6<1x&Lݘ̮\1 @׸KQ{B_}1EnLZjp8ȉr<\#Դ;I Ƿ$Ѡ3lAၧ*]X-,XԞGړѩ螊I}='Rz5jOF._׼ \hA?}v_gsa]\Ң&JiO5wZY56+IyOEAja-Ä.7Fwcv:8.TTjOFI=V=BVu@mp='(Ȭv;T z )~Ԟ@]P}='PDTjOFI=ړѨRz5tOEAj>Ԟ@]P}='PDTjOFI=ړѨRz5tOEAj>Ԟ@]P}='PDTjOFI=ړѨRz5tOEAj>Ԟ@]P}='PDTjOFI=ړѨRz5tOEAj>Ԟ@]P}='PDTjOFI=ړѨRz5tOEAj>Ԟ@]5 (Y5[mގGV(75 ?כ@~| Z7t  uUӿ6{?wF5YdE{pϴ I=W=M;BB,?o\ VQBc)PN\㔬Rv/uSWcvse?ElY#rxJeEԷeRǶx''=_2 ZQs)8?7.w&iqoYtvG3ZzB2K8_d Xݸ?;cosDe6};YTxa^R G{5\bT'ӒTmcḫ&g\ո4{"\p7fHfL4ym"4l1)߁Xz`Jc)/bs1'+34'F˵IY!s|T3ksKDe)IX:^D6Ғ1 @OAgѢ^] <cv_v<ÞSAEm!fd$zd%X,c) EV,c(,c)*fGf@\EV,c(,c( he?Ee?Erex?f|? lm8qW>7.c$ۗ8#2"\]E$L8}V($i".deOc9#fM['Fv[Թ$Cq?'<? wA 2 !$0?+Z 7IeY$hnUm_A@^O4!J0}7Ccڴ7.>7..v -^팶E5(YèٹFilc8O{U[BBfY!s|QY!s|R4UoA ?"A ?"fY!s|QY!s|P,U7.>7.*?k'O/ZD|DX<AEic$7.W;kwRu's#<ޯCx%;8rȌwpOOڮo\1}o\1\,PԦk̵ʦ%*m,?JΑ"#|Y,.ӗfM卣wGYY" % 1d /}٢+|{ ȇ NO_N+cBBp2av7.>7..1Կ k/Byg+?!] V,c(,c)1 4UoA ?"A ?"Y}o\1}o\14UoA ?"A ?"fY!s|QY!s|P,U7.>7.*fGf@\EV,c(,c( he?Ee?Er[BB.Y}o\1}o\14UoA ?"A ?"fY!s|QY!s|P,U7.>7.*fGf@\EV,c(,c( he?Ee?Er[BB.VKGVjV.\3*€ z @!GFq79`HFVѻGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?<7jZhSkҿ%mhU-+VƏ-+VƂlU-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 275 ?Mm<-2˔ A> ?F?'&OtG?W;f,3(].@ ޺-#@_(n((((((((((((((((((((((((((((((((((((((((((((((((((((_? ?Rǹ/g]yN;$L>l*0z}hWW-.;Tpv֑mgʍSwFp1m -cxYOIsȩ?? 7*<4eYҷG'h_K[Oߩσ}1VO?\Xt~O?G֙?i?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5AVɻ*ga7esUwU"uk((?¶? 73ºnn- Bjӷc>H;G74 endstream endobj 84 0 obj << /Type /XObject /Subtype /Image /Width 861 /Height 624 /BitsPerComponent 8 /Length 85 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x 0_;**{|dtGHނW𷤻FJ鎀Y endstream endobj 85 0 obj 569 endobj 80 0 obj << /Type /XObject /Subtype /Image /Width 800 /Height 600 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 45481 /SMask 86 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOX " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?c7II;6 z ܷ%g$=(WKqystPXC0e㡹}iLzڦN66jI[7,(!P}:oOӄ9 ;u:X᱕E[;)'Mki<.tn1Y2 @jĚWlRݗ$q!3֔nus+ dX㰵.*)y&NWt6V{6"S"[]Kh4CSP"/`Pͅ'̫"ąa ->a[' l,ıDhvƙMO򴷒ĺ6.BmTfU b *"sܪ8{IڡٓmJ֖T"?q$_C%jd!F@Ut6m8fO6)'.;Rǖg+WN+MOmEj5-WBeڸ|ĖfU:Fb[O ve~wc#OZVZEvӭ>vp)t+Yw^Ю_݈D‡aޛT \O\ +ƵgawJƎ9.[q9#?vvi~Vت+l \qNe,B_ֲ/./]FK#ý6l z=Ұjht+UukoSiqlU -= 9S̲I-r3n}=1F1il&v67yzumRͶ8Ef`1L اZ̙@v\ cAu73>.6a8J$k ;mt+Up4hu?$7^5TcvQMil1['NMgeT8a;vϠtgtcY4`V y}=;zҼ;_n>6hۦύZ^hZ\q1%c"fnyT;Rߴ^kU$UxV0IGok oߕn>6iBfMJnn۲zk6dކb9y(vun {t+F7|m?7Gۛ߭oIMOmsno~}s&7|m?ѷMOGAtt+F7|m?7Gۛ߭9mt+\ۛ߭no~{IMOmsno~}s&7|m?ѷMOGAtt+F7|m?7Gۛ߭9mt+\ۛ߭no~{IMOmsno~}s&7|m?ѷMOGAtt+F7|m?7Gۛ߭9mt+\ۛ߭no~{IMOmsno~}s&7|m?ѷMOGAtt+F7|m?7Gۛ߭9mt+\ۛ߭no~{IMOmsno~}s&7|m?ѷMOGAtt+F7|m?7Gۛ߭9mt+\ۛ߭no~{IMOmsno~}s&7|m?ѷMOGAtt+F7|m?7Gۛ߭9mt+\ۛ߭no~{IMOmsno~}s&7|m?ѷMOGAtt+F7|m?7Gۛ߭9mt+\ۛ߭no~{IMOmsno~}s*ǧ[ ROAZM:ѳ:݈qVOZG^[XƲA.ֹ߯k.Yrk Uٍ-jXܮGQG,-I?kaġh6ˡ {k brѢIF֌ԭ#T2Xġ| ^\Y.vgG'FѺr G$H|W'''iEZ jXZuV?nl-?A႓ܑ8V`]SQKgoڝS&߁ zrⴰnE-Xak+P!mN]Z4 rZ R.=N3\tuU"hs'gb+zW|v1ElbNITU?/KU}r=sUI*!#ƛE1WϤ/G!KRTsV8J*Sb=WWϤ/G!KRT}nֽ}%?_ <*LjJ}ߔq(BG5?/KQ~>TU\`O;,vq(RcRSz?!KRTϤ/Gsv&F\sND?AI*_*Cr=>:WdR2#0fPYz9?/KQ~>TU/G{'DRJH"*Eڧ*1>?/KQ~>TU\`O[k5ݻH̹;ǿ]C#F>ףϤ/G!KRT ߔ~<ƅBR;FWtWϤ/G!KRTO,PHHKw݌gҽ}%?_ TU]`OtWϤ/G!KRT}v=>^~>TU?/KQdwEz'!KRTϤ/Gc=y?/KQ~>TU]`OtWϤ/G!KRT}v=>^~>TU?/KQdwEz'!KRTϤ/Gc=y?/KQ~>TU]`OtWϤ/G!KRT}v=>^~>TU?/KQdwEz'!KRTϤ/Gc=y?/KQ~>TU]`OtWϤ/G!KRT}v=>^~>TU?/KQdwEz'!KRTϤ/Gc=y?/KQ~>TU]`OtWϤ/G!KRT}v=>^~>TU?/KQdwEz'!KRTϤ/Gc=y?/KQ~>TU]`OtWϤ/G!KRT}v=>^~>TU?/KQdwEz'!KRTϤ/Gc=y?/KQ~>TU]`OtWϤ/G!KRT}v=>^~>TU?/KQdwEz'!KRTϤ/Gc=y?/KQ~>TU]`O^ͧunؒ3bVUO5HϤ/G!KRUJLQa!OcTaj+G%o Hz:_C?AI*_*q^PpwPjS44k0?dx){WX nG=ں/C?AI*_*5iEn2j9 Ym&m0ı篸xF1d_Hҝ~>TU?/KQR*0e9_ke F"H ~go5b}%C͵BZF|<'mN䊱ݳWgO*68 =I̾TA+Ū[6Nfdrt=[JU84;QH q"7#ktlWX֟O4X`.֐F_.ؽO$6h89]m TIf'<P^T\m Ep>P3]5!(UgI$u;rF`g'%ZD K xIpZbdU $j]/NQ[ P#q"bX88aS%f3)vGؾ{Pv|{5n~ Y `cu+ZKx#cO)<z¤ P^[P6\|؆bN;9η0 S\rQp __5Ԃrز b-2shII+% !ݢRXWx$} mgHTĨ9 G\q9VVK,dt@ $ujZ@aè,`EF;㎕NIJKqgm yOU9NN kC.C.D`~svŴ?EL{P-E|%>gfW^>[+ًx2/>V9Bry5-f7)sm$rJ_f!6 q#̶LY|\!GH# ڮ-ƽ&ey!5m%1@<]dFmnΠ֧CK pIޮ7[s#F ʪArZƒUMC^{;Įcg8!,+JBv*vޕ{La|Ŋwxd4FQ r{sWa0DbSMh `+ԥ[w}G,6F-m9q::6?HEĸ/-78ZXOisnܜӊ{'CɹA޼rx4¿BO %\nxљGa1_[|EIkxvDg>Z|d*dfLY%{ VLs s#MK-ŌHX(bvW?BI UQ{(ei1#*qzvj!RCJNHE ?Jruij2{u5܋}r `9& $LpL+\͎aH$Pkp1)^pqXAY6 (ߙ=0&(fi'Vu;A1]% X\g#IG<.p? }MN@]i3[3,lcp}Xk\i % wPIRsm=knZ  *w`ANGzhi's,(#@O\sL MoW ;`)N$*cH|cOZ뗑\v5ͲL12g0@<αO/pxRGE>m,J>lNU?Uۗy61 w)UF$6N$^0;S4~k8I#̅ىys{KI!1"&A#:Gf`1O8#[x#Ck`v=zL Z֭F qXȿ3MV}֙%QUH;@-88H íbktp%آ?:`~O#ެn\y.HUy8xWt`8oyX4F j @SӨMcg>|H$ˉn{j紝zȱH\9&&IyTdm aL lݍFA4K&j(EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP^yⱟ_Khj:5]vEkkHBx.Y]ƅKij4>$40$ě;TY 4I':;I!mwvcK4>?;(% :n3'9*Ϯ jzx!(ci9'=FP_f_'G١U=X٢*Gıu= n{kh1k IgJ_C/K;BX⺺'t6^t}-)yF#'h_C/K⪟omR F2l0P:$;>$:ݰ$x=EX4>?H̊8HH$_jH->|7ֲcnvL $c58_A4zjR8@GZw}I)BxaP\8I?Ry_CVe- T3>RY%ڤUwbyX7&o%{;gIn Jo!U?08Rg6w<6 bCo#0;%TAϪn銲&²ʬmyBgR>ր,gu?*_>REI 58L (bŘ=pX ϴ Z^qqmnD*X cN?.qր5?/qƣm}gahr Vd1e `=q~$TMɖ9 (U9+@?/qƳ[n31>XCrI8W_N}FIEn#-yg IqƏK5F]~͎m Zjx]@vvޛ- V\yB&UbdV$hK4gu?*_o j 5J g?ƙ8?ZS^o][vHX8xo@s3-gu?*_>RQ=ӽncImYۍ cR㷲\Ѹ ݰ72sgu?*_>RSQ]]DNl&r>Oq*yE_MO#H~n+qRO j`+(Z5@vO\ޫqci!0nV ԩ@ ϸTG}Sբ2?/qƵh K4gu?*_Z(+>RO kVϸTG}Sբ2?/qƵh K4gu?*_Z(+>RO kVϸTG}Sբ2?/qƵh K4gu?*_Z(+>RO kVϸTG}Sբ2?/qƵh K4gu?*_Z(+>RO kVϸTG}Sբ2?/qƵh K4gu?*_Z(+>RO kVϸTG}Sբ2?/qƵh K4gu?*_Z(+>RO kVϸTG}Sբ2?/qƵh K4gu?*_Z(kI{"8ǯ3ȓ?MsPͰK]Gli$y9'Y$Ɲ RTane=x=OQKhu{[Z|ќs1gGz&Ж#l K)wM.3S7U2MBͮy Ix*ʭc6;""K0Q׶M0ZM*F|ursʹŏy4zlJo(<=έg2Q-~_'S˒OH6ƅߏҷf-ڪnhGZ}ީị;ˇd*`O$V 寈E-SLBZng9'=3n~п(B+7|3o< EOS J{k%-j"2)2`{U/w >п(RiV[{ɌЈ.$HR9$ܤn`OZp!QxcE9Fg0 èE޵п(B+ =.N~I`&2O^[<Hoy\;tޮ`,*|8,K2p 2aVqLdi,?¶~Ln?ğGۿ*9Gf&-Z-;0 A]&kqo-hK={N~Ϸ'Qcq~$ xzXU{o0Hk6[#vq1ScYGm4Vc(9xF}@qGۿ(w1֑:3BUI+ǡ\4ih*qA3AxIcq~$ >Ln?ğ@.t$m1X ]I8l72*o}Ln?ğGۿ(IӍw_cMX.1NOJddPlԪ|rA4Ϸ'Qcq~$ xwN#\CM#*†D8j_O}`<-jD 884'Qcq~$ '4ۇYe̡)V֦.~EP yb7F7q#j'Qcq~$ ihgi9ŇnG8$$ܩeՕ\d;g?I}߉?€4#%13;bjh4K{. $3gJI}߉?€4('Qcq~$ ТLn?ğGۿ(Bw1n7O +?I}߉?€4('Qcq~$ ТLn?ğGۿ(Bw1n7O +?I}߉?€4('Qcq~$ ТLn?ğGۿ(Bw1n7O +?I}߉?€4('Qcq~$ ТLn?ğGۿ(Bw1n7O +?I}߉?€4('Qcq~$ ТLn?ğGۿ(Bw1n7O +?I}߉?€4('Qcq~$ ТLn?ğGۿ(Bw1n7O +?I}߉?€4('Qcq~$ ТLn?ğGۿ(Bw1n7O /oB"rn `z=*ķ+4e$Lҡſ߹;GѬ4XdO`;>>8I:p&ЖsRK{HLR?@ {ŕ>جQDs!ܭ kCpAn߉?€3t /.-eIa}A:<3QוԮ'W7?\krЩ#2iH#'Fꎕ_FEW+H6.>+EBhBqOjs1i$ {ZW*+}Oq~^I=?ջk&&޸b$n+-ؤ]wƛۃOxkt/ -㎠`EZ%?I=?)?zo`Y'h\NLQjQ"I7݇sQyWb{\ߗPpx9K*2'/GؤS}aʌI=?)?zVg qy34{1ė;qMi"I=?WP<1n|pq7κG&f&~lѿ:'/V-{,#0 M3׽=;o bO0/~>ҋ%OI=?)?z+IlRJe>^)fԠERs8<8LyVb{\ߗo\,}ہ)Ppx9⋰J_b{\ߗRk?Zu}yBn$TV2{Wݥ.;֯Z^}nvLgU9[SMiZd=KRG'/Z06-Vڴr$B2Z6l'/Gؤ†.FI :199zN V,0`c1ק_Rk}Oq~^iA' 8lczgUr/Rk}Oq~^7Ѿfb{\ߗ0ܹw[ug,(MEoI=?'xQr#=j7n?~| U[y?4&6Oߝlѿ:'z$⦒XsWTsޒKQ}/Ut4QÕuTg_zK}/] s0G=}/UޒKWCE9Qg_zK}/GuUG3TsޒKQ}/Ut4QÕuTg_zK}/] s0G=}/UޒKWCE9Qg_zK}/GuUG3TsޒKQ}/Ut4QÕ fG$O>QyF!\KU+yiX;}uSήsԟ+:6OߝGkK?H,ŕ=3+cQNYXz*_e`?dUr_e`?dUru77Ǚ]X?X+?P)%sLgɜb~GTY] ihm "XOߒ֥+"1y8#ҡ~GQ? ĥ`p0Nu ] #(~GQIr*MsH(L'ϏG?x=N.rv=\սƨ#(~GR{qq>| <ߑY2/>_ !Tu: @!*xuLc| ^Q bB"*z?|#*;mͪ ;i;&bjye+OzcPϨ_! =+8dHrN7M9\류JK^DOFq~%X0i`ZqOILMp<#֪YO [2I!FH 8#+͢Ջ y$ΈvSm`6~}؅"鏻ZϏG?–]i2FŐlr{liYه`xRI5?>??6%U2ɔY~c=64ChQ0<?'?>???x=gyGg$#sc 3 Ǔ@#9c C#4>??| =K>jg\0Tێ? <ߑhmXŽ>W{O)<ߑ٦$I*FyV1D=6LeNMSiח\q *ȁh؅uiOٮnde)s%ЂZE}>0]'$jz( ( ( ( ( ( ( ( ( 5ZbGs({ nl# _?U#m獣fFAH?焷/eS|ߑгC,s5%ݎB) R~AϿCLfU#fG@z'ڝ?ϏO8Yt7sq>| <ߑlwHѸ>??| ,Ù}MB+5VhSI*Tn犒.6mIHx,wZ$c_o?ƏW7Эl!Kƿߚc_o?ơqE!^ YM%YA$XI֟kѽ ,:*qOʤORvʳ-a>qwDIYG¤[)Fի0-fI}[Ok>Кu;r X;F=~n0MPxbU$(ʕl\sK;k>5Vidc;4ryk T@9OP47BVeÌpC玔^Ah}տ4>ƿߚ\F\|5Vhϫ~i5s}aʊc_o?ƏW7Ѿf5Vhϫ~i5s}aʊc_o?ƏW7?Z9r}[Ok>5 @ZJc0@)}gIHHY?9Zoao!8 ~U7^uy1T!G?>u$ 5"KQT?*<~ULjfO';wmm۱㷮{cm:ۤ+?~ jI'HwltZcvl/k#1`>b>OjKYw&wɻϞ67n;uv2 gTmLm 3CT?*Jr{y;:Iފ"BqjI.u ]\][4qEB:2:(Sc w*P (IDh 36P:jZ$m1,##pdt5zm川wE*u2W-Xju:Exg&%';H*I3=EBILi% ,@Iַ0 7xe="~-Ƕ~8%l~ =FO#zVQ 33nG9if>ˀ0'qbh6\c4H;<287Edo.4H6#YQ*:0^?tgm֠_q~!=M/. +!,~P1XR,055.f6h|ϸ0cq;Jiw8hãk;(+xWPrt禓DЅks9+Oʫ*[7"&%IUGvEj$Iºخ$*meX1Ԁt|~U.خ$HXDr Deu]d2$yt->I]6fcĨ&eq6&04 v#nʣMead{}g~~}Ӛ3Aw16$34X (;:ԒJnDGcNA/|%&ѡkqey[lzæznS8dq;W3v{ri5bG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOG<ʏyOGrF VHJ$%O֙?Ъ]Ky=ԞI]^~͜gqO7L%ܻUPQV3kylٟ7g=3ǭI?ЩESةsX]?Uw-z(#Ry(\05dM&D?V_s4ڬ D`66lNyh*'$ܶO#27}K}.A%6s8CHLGa":+?gmܵy3rr3#/NN]BE,4XY#ІVX#j;sD"㸧%-ipD˟ BΝrg*Ң$$9EFIno^L<?^/T'L[q nm-ⷂH(".9UI%b:JoOe%Uב6i͝- X#TN$G$Һ5쇏Ꜣ&3I 3\@tjD*̘eI$MX)n8flJ^? w gD?Q?Щj'bJd')>h34|~1Q(D?PTh{G} >% BA=IEG?Уh@QQ(D?PTh{G} >% BA=IEG?Уh@QQ(D?PTh{G} >% BA=IEG?Уh@QQ(D?PTh{G} >% BA=IEG?Уh@QQ(D?PmA=gj9LYj&i 4/  u5h_65kAnZ[mDg3c6)//WVē"<-7%sj8gKǵiكܢ"?P&>m jv&CEgirHd+o w",$?/n$yVYeeU v9 V;{FKeh,=䐾FzcICrX]; L2A,TtdNtkQXRMC|P8b<5lO9V6t{-ුdC1=`Ecw6zPcUbX(.y=qnv#@H ]#F)\ܹsEڢN&'eZeo7 +,s##Y)#tYUd?~Ѧ@]pK $rXWFu}ѧwHS 2X҂fݢ #1 }-EA %'䍖019ozQ@Š(((((((((((((((((((((((*$ Vci;qGUx'@Vp39ʡER#UH'7Y0 T%V`HP@47(/\;XS$Y O' рI.xե}+FNRnByvN(+:-R XQ,2Fp x%HHX)}4i FHn"=aԢAny~?*(m_BŁ;s^cz:R-!yNfVOq=S[^H. N S1צ sX\ȷEG#pPFQ9*FG;J`*1u_z] gv4ԒKƳKB 3?=Z{$2›yly]gas#^[xXHr\MsBvyHe%eHLxT.s°sVd3HlmTcއ۵We`\W]q ܱEf5Q,OX&h*oIAKg<<,:b `xp6}i9Ve_\N\apFH y鑑=OΎW2~PF:Ұ)\Eg$"_Nc/#$ -$$y۞;=8'j+2&ZF[ <2xo杒Ys` 2?6Ibg9EUi+t x*1#1V7$fk`2H8c')v4謁=#Lr0A?{Up=E' a 7t05?}M( -HdH%qsj?s9Wb\ʼnAsSQҢa=y8O'OZ*v娗fСZg Ebm ;Čճw=I^DԔPDKo(Xx+=.v0H'''֬Q@YH|0C;e` @8J3ss:c23nU+S''w>;X. f@9ǷNO,Fvtu NO@I r9BU6weؖOTPESaP grApMIXB6tO\$ Qڦ+`\8 H}[9=~RH#۷U$/ބqz Ȋkxۼ0+ёʑAN=0Xڈ h$r¬Q@Yx~SܞXcKEأHbHDP3  rA\_m󖂢Vп#-l5/  uHdmLey-Jh~:um󜲱F9Sc~jzW3ܭi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Qi!s|U(Xi!s|Seyl-呲u$ i )hV_m`k?9iH/  u} B:oF]A"]эVj]эVhd-zl2cNpOWesY?X?g3ylmy9 wٸϛ;SC??$$ɜۿ@ODV)8b2F~}K@uto/=Ookp%Γ@xrcoH# {h u $ybA#ZN7%&I%%Ìߎ<=u-a%a~a{ikqv8N6gFuuex.9-7w(ROvJ+-W7Gi(i.Lm_.:6:ap),3H0[*̧v?atkYcV/}im)m4l8$23VoYGT w$'; ipm_-gy*?.t8x_qr\ERSd%wlʘbc''idb;rykaH?+uqt\jM2H,3?=9fuʿI qӾE ~eIz9"°%OqU+KexL6Bf@߆hC䅙Mm{] [Tv1rH@$3Ԣ*C+(O(X.TUT7֨L{u.o3du?jjQGyM ݼy̽ |o&.oW bYIlу\Kyu搱4E9}\Ƞn1ns=Կ.& <Ē-k/1=l?a?Ɓ]CS72ӣ6Ea FG岸VyJÉ9'=8^i6mWhѰoEr=_bcIf#.VUduq5jZue/."uƸd|$:WOa?Ə41FQ7QhLK\09+^h_Fm1h!Rwܱ'ۧ (Zi! RW*Q2>lj?l?Ѩh1Nʏqr:yMK&فYB2cؤ[XiGGr 1An=?Q6D͘" F)g?"XqajF OCwz`k?9k|V_m4[B`ѰS\!7oafu?뼿151:̤c:Ҭ[m pimY7z}7Wbxc ZYge\0]}'%aJOV\y0O͌uڑi =Ʋ4}>ɨޢQvlGsI^3L\oYS4, >*вUOfg9?C_ׯcطآ#̙} l""›2MHuo-:k?,$XXΡ2ăi<ͬ" 6{/ fctx!EPrFS'*00OrR(PQEQEQEQEQEQEQEU}GA__Qmqhح35y&x ~^xiŕxcɎb2P*A_o]*Y-k3 bd'guA8)}ǜ8{rL`wg;Ѡj\l^rG $.(  cyj6fmnz5m^-%?g2a<U?68zpѥo|gO?#;gۗ^{AERQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQ*'(LUpOP rsZ+ ri!7oam B:oF]M̋xdudy~U 󷪓R_cilI]эS2HiE1$:!x$Etٹ dG#w*0nb+Eo3w7.~\In4TcKG٥?&ˑMqz}YvIO==+W:oOU O qJwt:oOV3_߯ʴh,?eGt( #;:oOQ7FhUpdRyiԲ*e2l7OO֏-=?Zu-=?ZQL,^Zz~yiӨZz~yiӨi姧N姧G:oQkMl|H2FqJЪqĿ?E?eGt)dggM?)~*?_h@Y߯ʏ?eZ4PFwt:oOV7hUpdVRSHOO֏-=?ZuoZz~(Zz~yiӨi姧N姧G:oZz~(Zz~yiӨi姧N姧G:oZz~(Zz~yiӨi姧N姧G:oZz~(Zz~yiӨi姧N姧G:oZz~(Zz~yiӨi}3AV?V O: rA\_m󖂢Vп#-l5-GM[kgO/j-#ѝd7CM/?(!E>s0dc98nNc:lHeS##r0rO=1KgDOQU"$D :s~*LCy#'bbr&Fi%k]?Vi%Y_p p('S{fTvM4mPRmh-Gh=3@ E&69~?2͒M'ٓթbk}=ZVdj>̞@XEZ2zfOV,U&>̞U5kt]"@4 _B5js 컁c `y #۝N HrP}xqͲیywc7뎵+sE ".|g>N|P2Z*^w3D9 F'O<xǭ>;IdX⹉xĪ(%`3}PRmh EI{fVRy 4U'QdjdثEZ2zfOV,U}=Z'P*V̞Gٓը j_1/rO-k}=ZeY٧D"HF0Ef˩G#'U%>1@ Vc* aj ni4,yQú--ی):PUcBa!1+Yc n9PlYYO( ˜W EY}=Z'P;h_fOVU'QdjZ*ٓը2zbk}=ZVdj>̞@XEZ2zfOV,U}=Z'P*V̞Gٓը h_fOVU'QdjZ*ٓը2zbU?i\Adj?i\A ZY_6]sZ [B`ѰS\!7oac?ozܻ۳1&%$ʛa>V‚SiǼLFVgu[ߥ ??/P;ezKXm~(ΰ+o@]^=ޡ4qEwL)jΰ+oGu[ߥ Fa>VKڢ?/Qa>V€6_KgXϕ_.ͪ+:|m~( jΰ+oGu[ߥ ڢ?/Qa>V€6_KgXϕ_.ͪ+:|m~( jy?T?/Qa>V6WO[=!qk$y/+]cEVS8\O,Hmc^N d,eN7)VvF@ _m~(ΰ+oNⰶP#ΞkHbb-o2|*N@?/zF50H"Au8*q;nsut]}֍2P0v;O$cgXϕ_:|jΰ+oGu[ߥ C6_KgXϕ_.ͪ+:|m~( jΰ+oGu[ߥ ڢ?/Qa>V€6_KgXϕ_.ͪUPַ" abur ӵIa>VK ݊4Hgzo mC2W*El9=qsΦSio{,\<=xΰ+oGu[ߥ winܥYGIcXw\pHiڞqyurcK >k#oV|dݍuΰ+oGu[ߥ .?"(9 ¡ͳRXẞۂH g­gXϕ_:| =̈́T y̏ǾX~ v"ep/[A$LŁ_6?/Qa>VKz՛opL9IȬTx cEIᴊm3M+4|AE÷A׵/u[ߥ ??/PG[ mn-ʤn‡Z0QvtTz[ͪ-v(|76ΡHtw8m~(ΰ+oE،S*VO~ΰ+oGu[ߥ C6_KgXϕ_.ͪ+:|m~( jΰ+oGu[ߥ ڢ?/Qa>V€6_KgXϕ_.ͪ+:|m~( jΰ+oGu[ߥ ڢ?/Qa>V€6_KgXϕ_.ͪ+:|m~( jΰ+oGu[ߥ ڬ]3AV?Gu[ߥ B qk rA\_m󖂢Vп#-l5-GM[kQE(((((((((((((((((((((((((((((((((((((((((((((((+ rA\_mĭGM[k[B`ѰS@0(QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?o宂g~`-[B`ѰS\!7oaaEP (((((((((((((((((((((((((((((((((((((((((((((((Y_6]sZ!7oam B:oF]MŠ(AEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\_m m%m B:oF]MrtQ@(((((((((((((((((((((((((((((((((((((((((((((((g~`-t?9hJt/  u4 (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@sZ+ r8/  u5h_6hQE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( mW?oq+h_6kп#-l5 (QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE?9kY_6@Vп#-l5-GM[kQE(((((((((((((((((((((((((((((((((((((((((((((((+ rA\_mĭGM[k[B`ѰS@0(QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW?o宂g~`-[B`ѰS\!7oaaEP (((((((((((((((((((((((((((((((((((((((((((((((Y_6]sZ!7oam B:oF]MŠ(AEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEP\_m m%m B:oF]MrtQ@(((((((((((((((((((((((((((((((((((((((((((((((g~`-t?9hJt/  u4 (Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@sZ+ r8/  u5h_6hQE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( mW?oq+h_6kп#-l5 (QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE?9kY_6@Vп#-l5-GM[kQE(((((((((((((((((((((((((((((((((((((((((((((((+ rJ,HY7vrm"XUOZsB`ѰS\')D-u hK;@p 8#?΁\Y/+(~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/,QUK},tyY (~>Ŋ*ϥ?n?RK?b_Կ7Gϥ?nb_gԿ7@XEW/_g,XY/.-RJNrۀU8~i* m Hg?f,3(].@ ޘe3G̯#12|ZG 2Q\Gc*Wiivp[vT8\+ ;z$b#'R 7>aF})Ig[Ykfl^݃ƥ_v'qۿ[?W*6VP]ts439'haP3 noItc,N/<MJ51Fy-n4 Ut;kn|Qu2HjuR+ìxÖUZԭ-c2Bby.%NI#>Wo?W(Z]rn-blr$V@w$squn7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G (n(t~|Q?W(F_7G",tXFF1VCY7aӤehK`0.H8pGζ܃ x91PO˴l̶A),q23]&ߚEzi;Yizիi3󸙰zp*Ι?A(34l@:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???ElgL PƏ34Q@Ι?A?tE:gGh???El񪺦j|Dl"l<(jwm>g-d-?9jYQ ~QD&J endstream endobj 86 0 obj << /Type /XObject /Subtype /Image /Width 800 /Height 600 /BitsPerComponent 8 /Length 87 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x1 Om >Si endstream endobj 87 0 obj 488 endobj 88 0 obj << /Length 89 0 R /Filter /FlateDecode >> stream xZɊ$77?ه *XJOʮ91cF%Ūtÿ/_W0G?|}oS9rz}>0- 4>;qxezGb s"J=Lf⑙D%ag7S7ReMi {\+^1ێv,pvEʁ+)Xy dAFh$be{*'ǐ] ރ[ &V@*'> 3->2IEKG]`(Ɔ].P4P ,{sQE%. +B L:Pնie Pk iԭB$ꓦ&Kߏ&Kg4 f:\qd&a7H$E'zTNcEEto^6PYOZ3e? ("Ww@H8]8u/SO%K)4 05)rSx&Q&m~ff" 5>o1f'\1Bk*@`8Mlv! 5/VP0vAQG cb )~+_XI`|lB.p!tYl91t@S{;Np(҈H@:RCV63<2EDgGl|逄eLb@|D'1Ari %D%3=Y/Hl dB%\n^{W9k,Q9pT W5Ty=dl*k7ӄ+q1_ǑDw+C5O8Gs!g%~MZM}$0b 5βƞzWۻLBRh΢DbUKEBcy렩ALJB\a ֡aJy LeQGͥC vM_B)g2SL#刧= Nw&YFK:a/&w1܄F7,Z@-cr:j ;(uS@3nFFsع|9h[#b^~f:_DBZ)2 sGuB$ -FcR ulnVå]m̴)-~ :$p?c "9x)& sX9eʭ^/F:5!da&2 EƘ6eTvVbGf=#Lb|/hL1gT`.5+a~۪2SMR  1QOƋ:VUD˶~>FA9P|f$Y2)|/#0k: N$ >~( lPvs^I;&3<Йo=73uf>7Z' Sz.?Akd4  K~wghx'L5&0Ւ8.C΄[SJg>4ųDd}E^MM0LeSȏahpB脰sޮ'gXLHL;}Wvޤ 녢_isYUk!^I^[=VѢIILLl5~$ܖ`Csbi񍝴 G?t:/mOo[ݻM'^b#>?{endstream endobj 89 0 obj 2117 endobj 91 0 obj << /Type /XObject /Subtype /Image /Width 861 /Height 624 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 54435 /SMask 92 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOp]" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?ͽIu} S*&D #zI5oiit--A|JrF:gp= no.`u: <ʻeJ[.M;L&=~T OWtbMFټ`P,A }+7'!OЛ -:UI?>k[H1iPǞbṉ^!=lKI{+ b[i ]iqNToomQM_Tm+[a #yJwKmGΗz|s@,?H\b 6-oߕ Pi ~f+;A$@TZ}|K8Tl$e ILkǛN!Vym5fTT(oJH5}oߕ 6k~W*Ӿkl#Qa$qo)NTIamѮ iQM1E*XZF9\`@48tn>6ifl-ZEsU[p:b#LA˾ɳkY@qhj=Scn>6oߕ γDyFQvђ_4=}C(<$ gUa_Kt+mVc\#\C6 Ch =j+˙L#( )*r0s{Р`ţz2QoeL6# =f)";FQcr_Vtkh J=nNrX'8҉SnmmQM_Yo2Ew w4 X8]>؜ ԛt+@8h-/8~ȁ\"HoxMkIr<6> 6jNy'.jmQM_XwKe>]*o $@OtUbs,zZI̞clKη il-AA²%i;.Z8Z`>3۾{tt0ȧx}y|)PAkQM_Y7[Bg׷Q5Fc wgu2}#O9>Շ}J1j7|mt+{=ϔۢ 7l297D3` A۷-LLJ[31卛oߕ 6k~W*) i$Z*p'٪6zΝ5b3p|`BFwqgR]3wn>6oߕ ͞Kx$1EaI»N;z 7}'%.ĒNпUƚBrmQM_\ۏn>~tt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}sD6䭅STNTtxی*w6k9n}A[v3Y$VBM9XXZ:%ª4ӣ)$vӿsxQk)Vas\o/'m:ks{ oXxO(O<-u=h[#y0dHMv/KV+{W13urTU(eR{"X$A,H3ʰr(i+`n&|? ?_ Pn!$ΔBz1! QL > @8 ?_ |>dt斒F36 rK=r| p~`}z/!RTϜ/G֡krs̒:Q }Ą+}Fpi]]B ̃>|? ?_ ?]rTU/KSX'~PRyWw1wWדǜON)R4T4S$s9p3^n>rTU/KR;[=t$vgi0cIYTp?Mfŏn㍡Ǧq^n>rTU/KQ({)wrTU/CCKY 0 ˹J`)Q78HEz'!RTϜ/O/btdi%\y1.IdR$ʲ8xSNIrTU GɂdmV]{8D^[y$ H?*+ ?_ |KMmt|7O2M%Ԓ%ve' 7"fwFgҙܹ{9^n>rTU/KQ]9,Ėf9fbI'ԓ֊oCt7@9*_*c"B/bIpTr6lRӢ:핆<5/KQn>rTU'#RyD@Ns?!OYeIL4)ޮC ~/KQn>rTU[>%4DjYf\O3.H2ό=Iz!RTϜ/R4'ָicgy"9V;S!gwx+# }G5/KQn>rTU?A}Ry,|̼A$#' }/KQn>rTU5"/4WϜ/G!RT_shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ _shF7@9*_*Ct{}9|? ?_ rTUc:fZ3]VV [6s}K#ls*rq]!RTϜ/TqJȮ2qW[=y+дq*<-jՔm6G!wӊ֮-.-vTe#A n3Q\%+h"W\䍰c~`m'>W#?6W'Oss5L>fNxJFէMfKuZBZ@ۋF3ێ=2NkVyt+l zv#*w3F|hb;2>di ր5U) )S X1pqi!6I K;2>T`N3B}ᢄ4Vwh DmJ][AyT%a;9.ϐJ-r[huB> $OܤO%i6\zsV,5ybhdxvBs 8=4O-/'uu  zA[UZy-wLgp3׎8քWnMF#OW$ƬUN -we̒؁W @QfddKobipqmԶ%3$7]\GqJ:(>I,=ۻ\C*:}I 6S\yvO6a#[3Je%xFy[LQ2#m;si1_]-"}/ЎX <30DC&̂s`=r:mXX-tw k d3"Ǧ]Ro*lDǿ-&J;ʌCjY|>d9;@uWPkHG4(A<Ijim" 2췒U$68ʱyO $Ծȶ̑3 tyn]XO<1KeumL-0\IpI88J&v7\B0:Z5P18Pj3]IB]L;+)fO^( kc{@Ȋ-۹$ SLԯnn"_I BM򂤰I98$'_iyxo9;O͎=Q<c<\ N,i.f`쁓Ԍ6[St@U`n>S29S\:%rkjqȧL| j曫6ib0$|APub3€4}sjOSTW1X@󪺆%{"\l0z d25g>s8R&sQ3I!<9;.dXMj~͖fgۆbTgOS53uQyxBrF;ua<-շ0q&q$d}* JL)(֗!"O/eF>qj3]IB]L;+)fO^( kc{@Ȋ-۹$ Y)Nerv)ћz)j^5rC bC$(U,y*ٮn&մoy& HNW5;WH*n!鄕\8SFb-0]X]rad *v(kKv66.UTq RYۋ^eP$ $pt1ul4c5wb>i;nK`Ԧ.:1SqčrWn#/;ShݸG$xQa-uG;Dmyj$L;ex"Jx`Rx{ŞͿ^m._5)Rqp{^,˫-p]d\ y[.!0H$}~hi;k+Md`AVxJаY 2 M$?zʸԧVX#6H w,9pt1Z,]6/'g(/B+ vdsPԒK5t7dčydkGX >LH8*N<4شckЭܥjXXl2:l=ڃj&1s FL n7npLrgɶkid(w(  2=^/O{[4onmSnGSN{sjPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPMy>+s\N+-#E7ŚH%WJk>5M,v\q `+B++G]kU$B+(B+)is8׫ykXͬҴ6rIعW?'QW?'U{[k"\P]\]Ob//y?/y?©=:i <'ɡm*Cs(c"yw <O <OA4w$6qi&aPH,Tu&jʼnW?'QW?'SK$y8iNO*dFC}(~п >п ZFM=#ᦐ95QrKry\п bGQURP_h_sh_s<8FďN""B+(B+*t]䑏JF1 Sn(h_sh_sKHs <O <Os e8 _7m ;_/y?/y?¥b"ڹUP^b|? п >п *HK!L:uҀW?'QW?'TrJP#(?}}ZL6T:c1;Ugi]W.}}R_?sdyRivv&*cURߴ/y?/y?«t EP?OcdQa\_/y?/y?¥O#\{|nyojKW?'QW?'T!"$03bC)# _h_sh_sCz%֞U'gպ <O <OH2i\Kp3ږ ,̬JVT㎜) >п >п ﮮK%;3͜~'d&[B+(B+*og%Z.MU\TRL <O <ObD:̅Tc I~Uny\ ?Z 2n!r2V57:XjiP dKN2wG[nlA&;3ְ7!}32QE?ej+6g<ҶuIaKu Xo8>JRX3G=+:!2`c'}8]SIwG;rWRH FWzplG\ɢ,zZ#c*T, QJXVmn a-€ο'銌D TܺK5tp iFom$bZ~l 3ǣ 6/$ІU}5ȋGڗ/#i8s#UO0B}3X:-F coOV's#Ȯ׷:S6b'HMLXFo"X;Xdƛ nUYr)#F5eE=:؏ʪfkYaRL@zybqѻ[k9,WMYAwRRkZt#7r9Y䴜9Kj[Gۓh I6lmrz5_g n vȇ4ӿysv*ɪݬɽpZ:wy?zο $^}Gұ_SJѣbeF v _{@r{xK~Ö!#?\Ս&y.1yEjڄe~&г6#L556RJ 7u4$gnQ,>E*2FX3}dd1M8?/)Һ0]I:zm42\|N=jԨ 8p,Yxi<hР,T9*qN3]SDA.T7uAP9xn>y SkcӚYl-%3˃M[k{+,UEbtd/eogPQnƲoV$ ꞥM 4UnGbm Ɨ:Zz[Ze &8AQN>QM!7djE$KiP cZHu'IdI%#$aA㑐3XDmۣOVo9Q郌A{llӫPq?cٽTN՜ʄTeQ=#UT[g 0 x6m(w0`}p2 ܕ ^\ӀFfotFI(a8z=iredv$цVܿ^cQ iBJDgbF@fyq#4Q[TV`SH䞜3Z(HC62WЏW*|BoCB597b63}xXzR cyDTuggC`UY!}>^-q7KCt;['zv"qujZxTRn[RCKVj.h٭%^e5nô((((((((((((((((((((()oSdVC@nY^(Q?OL~==2Qz`S0ykzI P $"oުxoIm@$JFJOWI4/C*qM%zMoQXBBH=+9`F+Yxr[i'y-4Վ ?A; W@~| ב)96*1Q] %}OLXf7T1MoEt wz홷s5axti1RtpGo:476q!g9'RQge~F˟.= @]ϩ?@Yxԫ+[v˟.ҫj6>yom;OS&Lj?MX^%ʰmfZ+ܛk?Q\6 YPdk]o5NԦ$#!Җsö^sg?IFaI~7?[9y4Sր1?FW'Rx}n9U)jZsU}_AsEco*>OVVp,eic;5b1?FW'fsUGA!nŏz[dg6W'sU\lfXe`w#gڽ76vsWh}ϫTo*A 7?[4d@=: Osm, 1MTKI%'g u,.a DaF} >OQ ٢0J҅"FPal3N'4>OVw}!;T 0@`Ͽ5=co* h)TnYZň`z7r*e}3Ek+;X*=A4_1`#Ē:s%XpNq@-ĒC!i3 \Y7$^~oF5&W'dsӭ 7?[4P6W'sUj[_ʖ<;bdMk0kYDO%Ï4 cK4m bTGkr쥸0D.݄e1Mn'8)-ētG؛RFsUlgҠk0kYDO%Ï4 7?ZIwYd1G+pC!*pAs@}_}ϫUEco*>OV3yNTMθe}G͌;T2Eco*>OVR9IQTztZ 7?Z$ȯrsU}_I"H#Ø'smfǷ I8co*>OVD-vDipyU*W_΀2?FW'R+̐>Wx2VEӋHn rC梿*uv# >OR4 2I~?[KU|,<+ sӪ7M _7?U|U-3G K#QIDQj/#p=,|ः֬:BpY# 7%9x5M,Aǚ&$v8!2)wa7erW'sU6Knv2I4XDdq;Q dѼruSi]Q|sU}_((sU}_(}ϫTo*h m>OQ ٢1?FW'fsU}_(}ϫTo*h m>OQ ٢1 ӆd 8TyCmUIڨ\k:] Υg $23'Ҁ$PO$aXlmSmomob2q;KD>4ڀO??R 1Vo6]J[M%v$je##<A ?>?k[ b 0$ g^ys+@ 7D$dgtuTY$嶁zVK SM*op Nx͙$fqz_'ko ph\cHxCg wf[;GM#4{[kddcPO(^Ywi3G$KWR*5[OߘfI|#F9_x\cr$bPsSʲS"Ulr@>qy$6m4Q3r1UrT;z"d_Qd?ficr<s55=M̅RI${OֈmH;xb; 8##u[eI.,Z魣es!e/9VPy<F,1 pdn嘒:I-<"5B>zQkk pĹڑU9zMkbb`ֵ@@?׍!(R45UQaZx8;UҵMU$AAhv H fNq0?tqQB'SlJ&l9 pBm M?_g/UwǗӌkv1I jV`AR޸ P3Yo/ơ{ikzay,Igf' ::cKي}o9Hg9ASCc%יoee0&';z"ܶr{ϗ;ٸovOjs f 0A,Rwp l̤~984ԯ}df+46VfNpŦ_m~=97ﳮ3v],Pk0M$3r랥eX_5mݗ A @ѡ_ M^[{+TKu` =3W 'ִb# npPqQ]EO.z5G0JFle!A%\  bĶ&er4wxDaSWEsW v\iEV =}륢8jvr[^,͆ VʜNx8?7p9|1"^PΚҮ}l|:vʚeꚺ_$-9JLkʰJō3\-Ed#fSQW[D.U@[Ͻ:9; kٴ tt#;s+(;>3N" r6+jmtKH㷹[d[;N;o y"xPa:FNc++8=.+O:)1de8{R_i&?gah{O5 ;0`͞?t;j(Ҭu 'K#?9-6Y#&]f+#mY/J FCcފ-[L)lm(P7`mrr1X]'E$?p*Y˜t z8 TP'iZj [C2t>>ln5K+fu$sV!R:݊k+FApO>d>h>ETQEQEQEQEQEQEQEfݜ_r_޴Qo"9?? 4 Dcz7G֟_ ?xC(5OEloZ)xC(O@O7?}iO9??Q>޴Qo"9?? 4 Dcz7G֟_ ?xC(5OEloZ)xC(O@OecS$?E79?? 4 GhI??$?E79??IjF ?gOG޳5Gr$?Ez"{+x@VF8g^Ƒ]F04mz" ?gOXtUrnhI??$?Ea@~(='(Г߰@ĈC=}E@f޳BOYVr ГhI?â@7?$?Ez"裐9 ?gOG޳:(ssBOYQ'+9ГhI?â@7?$?Ez"裐9 ?gOG޳:(ssBOYQ'+9ГhI?o bDppKHÞ w޳BOYSxC(O@w޳BOYSxC(O@w޳7U r9?? 4 H玛}y7*O !k$zzP uPl$<㔟?kӿ#s+Q%cHgH?"OH?"P"gEǛ]?U-y2]\_@:=?#nM3~P߻CȻ#97n'q^]MA6{,H*1D4l{#]~>Xb @'<*Gԕ@yVLF?:,>[px*h"! >A,nuCtT|?!nuCtT|?MQtT67T?7OGP۩7j?mHzzP {vq3~N I#);vqg?mK+7 ;N+RinKM:hUЅe?'h]%qȬG?? =$khWk7tV7^ qʲ5:UMl ,m.lmD}dn]M(YcSܺ4_ #I[aFqOjK^"{TmS{8ڼF|L-GPN1@+!K{.ZvPMCcyp粕1,(r>==ձ #8ݿ\?9RKwNOi ̂kv̈]T2#w5^[ă#pCUȭ`q8=Қ֑0!$-EYډ7GG(X7͐q3H/gIF 8I>{S&r99 \t4Yǖ8嘞9QtdsjlC$?'%Xx/@: ?BW(vӓ֏Â<|}y HQtU%nuCtT|?ME#P?8bpz2/uUxrXǶGJյ #?7$fBGCRd,0$Ms6F_Y$04N򜹏qb>m܀Ps[@+@FV#E=5Q-HD 3J\ܩWIjucgqRLO*HwAcϗN8eCiqq%GH\8*W*2eA;W"kT3mŠ( ((((((((*#-̗E(1ڧ5k'2~qyP54Y[lc>V)7IЌʘC9"u2DoX"\vRKhUM`N7LN{?xrWo==+0}FF!R$,pGop#FH P 8lC)B 1žz~*vT y8I4cu uB?T?7ON=fjZ,e|3WtRg!T?=@A *ՉIϺ9?忭g<ەp:V6NGCpsP# G|uW)ZsFqWԳ$Pq.rj#?r۔Jk&tias~Mѹ?:Z)7/Fhܿrx~tn_΀Mѹ?:Z)7/Fhܿ7so/6s`M4&yhۺ?kIJkci3gH"O^mUM 8'Ip AiUZEM\[6<£­}o?Uf{G~NU8G*٦߳QiTZ!yw@}|?? iT}o?U^E]8G(­}o?Uf{G~EW|?? 7@}_f{G~G٦߳QhU8G*٦߳QiTZ!yw@}|?? iT}o?U^E]8G(­}o?Uf{G~EW|?? 7@}_f{G~G٦߳QhU8G*٦߳QiTZ!yw@}|?? iT}o?U^ExHrXþOU{$S.qM=gh⩮U;̯*OߕTͿ*4?>7*2&TTͿ*4?>7*dd2݉ؖLkh4?DȫqUM=gh⨴B*?Fkh4?-qQZ4?>7*D/"o?V7*M=g ȫqUM=gh⨴B*?Fkh4?-qQZ4?>7*D/" "#O9_f{G~G٦߳QhTK[lϿTͿ*4?>7*i ̯*OߕTͿ*4?>7*2I<ʓyZf{G~G٦߳Q̂mQI<_M=ghAfeyR6mV٦߳QiTs 2?~TyR6Wh4?9Y^TͿ*7*dfW'oʏ*Oߕjo?Uf{G~G2 3+ʓyG'oʵ~7*M=gI<ʓyZf{G~G٦߳Q̂̆[6<£­}o?Uf{G~Shyw@}|?? iT}o?U^E]8G(­}o?Uf{G~EW|?? 7@}_f{G~G٦߳QhU8G*٦߳QiTZ!yw@}|?? iT}o?U^E[mJɌl֧٦߳QiTHM6eyR6|?j}o?Uf{G~O mTK&s$V٦߳QiTs!ٔ|s}5}}o?Uf{G~J,>}>zMW7*M=g,>}>zMW7*M=g,>}>zMW7*M=g,>}>zMW7*M=g,>}>zMW7*M=g,>}>zMW7*M=g,>}e*\F,M=gh⨺ 3+ʓyG'oʵ~7*M=g̅fSMq ?*9fn'޼V4?#)l5q[i+`@'h8*?#)l5k#kNm/Ek[+3ι׽$.ɩG 5j[H+gxx쀻aNWNڂ]!X4ͳ˼HǖRpCgvtFh -Fu\u @'TWus@$ayGffʟ~]ҫ ہzHdmbpKyQ= 4dtTh{J%\7)hBHq]{hd(lI+p䃞;>o?h)t?t  uT AET:f\JRV# Vޓ?h-t?t  uT F]ܓ-~_5*쟼blL2'kȱ\}Ic((8p@XSuʞu"0~e鞟ʝ@žBԓQo_0ǟ EZIvAG?unP>G (ڬpUSl8/CWё=2G3/C}ш[󣙇*3qC}шM~[1Ul)bOSyÕ~!Z^kxuNn6o!$nqvG?u%i"o$?1DI㑸 GOQWaʌG?tb?Րv $cCaʌG?tb?/5:?kFq79`4F!;Oa]B:wF]Uk$ƪmVF7@ޘV~_=jgmāV0n-"e `w`2?5Ec2[yŔq$ RNTrqOAM@Vhn&X?j@e^H#/㯭Mo3Ib+AwC~KR;+2֠ƯL{@WylsZTP6u\VGQϷEYD SY±)x\#}( ??"jI"kFW6d B@ڄpĀ:8$U䳻|q[MeLI1ڵ?"#}( Â$ԋ9!n|.pWiTcFr8⢞hQ? DRH̟xv3&ȣ(Ho?€9^If8la) I !I$5%pwyddKrEV,w,z>>GP6$2pʀqN kd[(˹iʹ DQTld}Z?"ن MXdo&ي0Q!@vlerZ,e̚aDfu UUWj=Һȣ(Ho?€94β$KB|NQG {T9_U?")f֎ _fVXG[Q~?kQGb07$GQ> YwO)()d# vi 繂"E fr`J䓙h.D2U' [ NfɥJdT2aw89<.^Xi\`c rNrr|嵋QEndQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE2/ \$В+>/ \$В*%(75 ?כ@~| Ԛ#w@`ѰU\!;OaH˵ycTܓQ (Q@Q@Q@Q@Q@Q@Q@lè?9Xj7)QW%G2_O\|E]̗~*?ATU?̗~*tE]̗~*?ATU?̗~*tE]̗~*?ATU?̗~*tE]̗~*?ATU?̗~*tE]̗~*?ATU?̗~*tE]̗~*?ATU?̗~*tE]̗~*?ATU?̗~*tE]̗~*?ATU?̗~*tE]̗~*C2!H&bqh( ((((((((((((((((((((((V/'YV/'Q-GFq79`HFVt?t  uT F]ܓ5ki!܀FKp?9>k$ƩCV٣vB;uyp0ddzآXT٣,'hL 8_OQ6.$c8(WɆg6yb8t]NEzZ( z7mf,͏QPGuZ(.An]|p:zڨwWcO~!!aH`sIs$vpSΜ: Ʊ#!~Lt-m IXuEt{M!cxִaypY1$d あNXc#onF=6cbYiA"ZXHk"@%q܃d)X.QS-[]M3ʹRwW8;njڜiYe2#F U7bPIN㟼9KxUmD&hb $ )%1 CǴ0CC4m w71Im I>Tq @P:;R\EE>ET_h}}?4X.KEE>ET_h}}?4X.KEE>ET_h}}?4X.KEE>ET_h}}?4X.KEE>ET_h}}?4X.KEE>E䵕_Eu+̥XsUɖj(3 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (bIZbIZqtoßAZѿokA ?>?jMGNSkW@`ѰU@e?뼿1zI]эYW:JʐU0qq߭jc{#rҐ!Hq.0YgӚ|zRKl#tV*$srN~P9RͫOaav,[1@s#f̏Q%zu? u-'A FQ4diX !h< =BHhᙽwO€+;J ث# V)DK! |sV2:dDHJp;{ɣ@c昀p~d@s#bʳ%<#w)=}v#ZIv#-~Ң'k)azgԶϾ7mHg O~h'vڌ5o>5NR A*+jp7>b3y}u&X4gzC}&V2A'x7Su*@`=Mg} Cge ڷ%f{w# O#aʋ^g>5]|DOsf(cS=s^#7WP4q`x9r}פ?hϺ?Mg]XodC fC"*H!Is4gzC}&kjWG٢9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Qu?!ZQÕ?^g>5E9Q4M U|n#'#֣֋c7QEQEQEQEQE2/ \$В+>/ \$В*%(75 ?כ@~| Ԛ#w@`ѰU\!;OaH˵ycRKVrm rrXj8|x3HxrG zSy\4MhB ˌFx 30=0`~ҟhJ+pq۷OO+ ČъE3)<O&i?.X!I jՂODpC &( @3)<O&i?.Bʩe E7ɇ|?g}?IW? '@h;vm1c?:@/<30}?IW? 'EAmn" n iL16!rQoJgSy\4MiOs4RC"DՂOC Hf^ ϴi?>ҟhhK lrEDlА1(J+)<O&АL-IU݅k 5وO;\[aOҟjZ)JƤ.o&9Ęq< 8ʏ:T:vig)kf21%&v?iOs4}?I9.m"5gm%1!'}x}Γeq*KxdHAxN2li?>ҟhhmWfИ.FLm =U+_ibF\J 3 gzt?iOs4}?Iٶӭ-cdf]T2# 14R&@G1;A9<i?>ҟhsCP}.ɒ-Ll#6u`y^tkk0ydktp;IJ+)<O&_06ళ7 _c;T=z'sۙ, K<$ 1bNpϴi?>ҟhtjˣ^ܐ;L{rܹԚ'ѴۋiFcfLmbsW? 'GSy\4MakYBOq[ӛ2]@`r{%a(I\8it䞵W? 'GSy\4Mal /O!nZV@Fs O=}M2-&+imKƎ@V+I9_ҲҟhJ+~ԋF)Q'brS<؝x9(HtKbȂX# CVs1ՙW? 'GSy\4Mbܶ6Lf|1өs &iq}=ɕ"F%>?iOs4}?I}M`@#XeH8$:p84=.0*,g´|穬ϴi?>ҟhsj e`&IB鸜U5}?IW? 'G/s=#FҟhJ+9ΗpkJ+)<O&_0:]4nk)<O&i?9|ÜwѸ{Fi?>ҟhs=#FҟhJ+9ΗpkJ+)<O&_0:]4nk)<O&i?9|ÜwѸ{Fi?>ҟhs=#FҟhJ+9ΗpkJ+)<O&_0:]4nk)<O&i?9|ÜwѸ{Fi?>ҟhs=#FҟhJ+9ΗpkJ+)<O&_0:]4nk)<O&i?9|ÜwѸ{Fi?>ҟhs=#FҟhJ+9ΗpkJ+)<O&_0:]4nk)<O&i?9|ÜwѸ{Fi?>ҟhs=#FҟhJ+9ΗpkJ+)<O&_04u5VJ+)<O&hKw'J+)<O&rz*i?>ҟh\)<O&i?.'J+)<O&>ҟhJ+rH+pBJЬV2Q0U/()zҨDQѿokA ?>?kFq79`4F!;Oa]B:wF]UQE(((((((((((((((((((((((((((((((((((((((((((((((((((QѿokA ?>?kFq79`nӿ6꫕?#)l5P)#3I-2T nJa .G\mQy&FMg\%ͽ̮TE 䜲d~/_owMf^VϨ˖\#e'j)|Gl%̱ dyWjD۰$'4y&+5Mu}A"g1,$QY7(ӵ/وY>=PEy&.bH3 217GB'i YpiGZlM!?Cy&+4@GMM\Zy%mۈnpO +4y_ow$27.$~Gu /JȨ%, 3P^ru +4y_ow}n)mrIJж@?8U[O$zEik8.$# tnGM̽m,(,gʪ>p㐤s׭C.V̰$WdcQt=y +4y_ow [X%#%n g }*zbK<)y*C 0c9Ҁ5|o7;y&XjMbN!PB@#<@ ~u)\\#XQGIs{sϠy&+5w2;wSxVqb O*kIV)D*AHg΀4|o7;y&no)ϖ&Ѵ0A#PW7ֱ٬WSyJ$fdl$H3z܀k_owMdI ;k뙃] K#qM'$1-H#`$Bcր6?h)t?t  uT AL=q>"9RM4O;% vi+r@( ZO?? irh׷Bh,ˁtqLM,MdDgb9i}_KGʩiwĨ%!m(h<:ªǢ–sK @q0nN;g8O?? h<ݿ _?? iA!c 䣭@?Sſw9E@o}'}_K@.͋I&w2B'kW,_<(' r2Oj<?? h ""nIh$lG|ayN>cQšX2 7C;NwRݏtap?_J<?? h qGa̗+9gߐxUgЭʹVqp-ZȪW/@{F:<?? h D35@G3ąv]gG*Pw+qq9tpòc<'Z<?? h7:yy"XE yI=.t+i6Qh0PrMǧ9_?? h<\Ϻ㺾[q1pr5%L!d F8g~y!-s,hƖosq -)RdET`jK.;ȱ0 ;w Zg~y!-4%wBF່8-O5X5DJ2s?Ky!-g~+NOhW5۶FP' 3X#0~KAB2:V}_K@f 5F"7i~_Mq;r[4\L#gi?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSkW@`ѰU@QE ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (toßAZѿokA ?>?h)t?t  uT AEP (((((((((((((((((((((((((((((((((((((((((((((((((((GFq79`HFVGNSk[v?-+VƀhEWҿ%mhҿ%mh&̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,#^os+^N( B:dq^ss+HosBzwdёU7Wd((I"ƭ.àfmR1|<=0}mNRp*[# mSO 彷+ I MgR]^Y#+K POkRnR[E#ijN^`N7cz~n5hcL;KEu3S98QkKSH4bԴ!]|Kg#PRSOزT 粅sԟlzgTbNݡ2["O0{}܎>a,qY^A21U<߿oC۹#CIt[clM sӎfI%R3mFIW+0>b18t6뗃ːlE}~Fa}F~ր$((((((((((((((((((((((((((((((((((((((((((((((=y?zT+AS- ZUK"8U?]qYoFT呜 fmtЗc*} z{S~k]RFQ=+t~^Y gkF2p8 /[m>#{~~w>S[?? s5cSf+kh thAU t~O?G֙?i?Y?Fd amiƏ3d 5A?O?@fkp'&MC}1WwG'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? Zg' |7G'k kL4miƀ7wG'h/3At~O?G֙?hwt~|?? azvMvddP3Hb*窑^:5lx[?ڟZM?W&kf(V*ݠ?/wOv endstream endobj 92 0 obj << /Type /XObject /Subtype /Image /Width 861 /Height 624 /BitsPerComponent 8 /Length 93 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x 0_;**{|dtGHނW𷤻FJ鎀Y endstream endobj 93 0 obj 569 endobj 90 0 obj << /Type /XObject /Subtype /Image /Width 861 /Height 624 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 53892 /SMask 94 0 R >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOp]" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?ͽIu} S*&D #zI5oiit--A|JrF:gp= no.`u: <ʻeJ[.M;L&=~T OWtbMFټ`P,A }+7'!OЛ,z{.lN zOjMoߕ D]mMxs h2-D-ׯN .-oߕ 6k~W+>yͣb;D;$J6;G̒hu& ^&Ab(.麎XݮjmR WO!FIg6LB屑Wf@KI?.jkNR/"4BƶPHqӁJˢ05#W nz*ҟ5{`?v?څ6oߕ ʖYơ-0C1%̲۰F jd1h &YĘ-$t9c.FM5\ܠJqg 4t+s|֑][y;B5v8I+?JZS#XS]p~^ۦύ_n>6³Pqj~y/.$K"6ܒzqз2#]$(U$0\|iUu 22"G\u椻al(Þzn[JF2[ؠC=7OH9I NR]:uVA7n>6²,I2$lӑ!MhCy\jREmu,C5K* r1\;XwjQM_Y.wpX3XY%ݞ=*ϝtv2A $B:Լ'+Gj[dTk<\T WO!FI[{ ,KIҿ 9lsڬ^ JXA>g6~vϙG3^ M oߕ 6k~W+5/ 66]x3n?!xsTZDʫ/qw^@jMIrmS&Cmˌ|bo96%sqђ@{UMӨEhBwk>{Pku#Sn>6oߕ m,ͨZj{) \6No M!0,8^WM_F7|mf]\Rx#a7|h'$Pyjİ⒌{ۦύ_n>6¨E#$щ#0ihXC9Ai#w3_2ini.`5"69q+9tt+mW7Gۏ?`tt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{IM_F7|msn>}s&7|mt+GAtt+mW7Gۏ9mQM_\ۏn>{Q +ak+9Ӭ766ʝ퍤pۤ}Px7| \d-ag=1_jKchfXD^߹^J|V2ak| e`!r?bس) >kNۋ454n-nUZHܫZ?$lyrhKp*: t|# bp_QIrVvR(aӭu4 3V6A' Wi{\멙†0#.pOϝqzЁNV*_𪷺(41JI1F>c9t'Zjyh{9}9[N\F^A[*㱊+g]OZD-^@#'9R;]!RUJ^L`L~%#?y`MUz7!RTϜ/J8EYDneܥӌ0G rG"cݘϦ1^n>rTU/KSx=/b}Đ*K&h )6LA$+H\2xD7@9*_*Ct}j~V;If&Yq^B~ ts4S̓334#$Mz!RTϜ/G֡)NIJs9'\mWwWNTM;B7@9*_*Ct=CKsu$>K]v#nqБLy%x|ca/KQn>rTUZg|,AbA*W^{WB~P 8?z/!RTϜ/OpPOm,L&y y} rTU[<賖v2>c%v}6J{ZIVHIJ #5/KQn>rTU'*R]OrTUZ!Ԟ ]\HIw0g'ƢU 0:WϜ/G!RT. h}9 $YUA#fpq-=y? ?_ |2/t/bvd`ތH[3I,T1ڻ'\ףϜ/G!RT}n>$#$y&kˏ2F}5Ϝ/G!RT&ה=vJ҉di$Ff$'ԓ$rTU/KS/~PO4#7b`gy ?_ |o}o$-rTU/KQbsEz7!RTϜ/G#=y/KQn>rTU\`/4WϜ/G!RT}r=ؾ^n>rTU/KQbsEz7!RTϜ/G#=y/KQn>rTU\`/4WϜ/G!RT}r=ؾ^n>rTU/KQbsEz7!RTϜ/G#=y/KQn>rTU\`/4WϜ/G!RT}r=ؾ^n>rTU/KQbsEz7!RTϜ/G#=y/KQn>rTU\`/4WϜ/G!RT}r=ؾ^n>rTU/KQbsEz7!RTϜ/G#=y/KQn>rTU\`/4WϜ/G!RT}r=ؾ^n>rTU/KQbsEz7!RTϜ/G#=y/KQn>rTU\`/4WϜ/G!RT}r=ؾ^n>rTU/KQbsEz7!RTϜ/G#=r׆KIw~hVލ.-$'wCt7@9*_*Zrw-BIZ\b9>gnZNc9hc|? ?_ ur%NIW%VEԓ8$/VԦo`D^Wsn>rTU/KTӭN1On{աcчzѼ>{re?V? ?_ |Nƣ4sK$'ګ?j;hQ"ZJcbڥyY$ Ē 'uRIZD`$x(c[?8N[xehZOр ?sK}jEwc6#;lkWSk;Go*2Sd 7㨮JѴUj+^UFZu,dReNJ{xbZ`82pq> ˨ {i-tH\tuOz 5ݤl%û2R цn9d֚%_&HKcc`ヌʜ $|pYUsϫ ZLHl[5  t5EtYt-7 ֒A1ȑœ/3$|kvF S r:TB#k.-+4r,CI$9j/˾=oNrq>n:uQΡ5wGq]xwW,wE]Z\[q1t_FFGgDm>?87]Py)mI*h= cZIqi$ Aba}JԽ{ P[k+'N=t-BR-nli!MĦ .IP?{֍gVY]$-H9 doAօsޠ&e4>mng.t^THȚ@YHː[F^ѮKxlp*])1 O_mJ2'q,hI29ێހ!'BV1 vyBI|=pr$ӵ{m"ky?*2M]rUrw8-4o:ab}>Զ:mPV󭰏Mu+*^<*6N2{ ŭ+e[YˊrN<F|AI 鶷}61V?{$qNK+|X2)*99Aچ?6[N滲FE[Q{>x-d*N6G#ހ(j/rDgXiP12F|5ꚭܺRK[ԎwƧvI8{wlRȦ20#)t2{O1?bki6+OݟҀi⹿&mH3W'<{#jӦ%έi h- mňzm[ٵ[m124As@ kwWBD,B884x$ RP*p0F '>pB+;Idk{"6%.O̠w<͝ MngX%9d-:FNz['RH?C`sq=9<42A<;K!R@9Isl'庄nDT=A㠭*ɭԗG,S@LVΙt]]Bc"dE!fA9s6uC|bxna;ٵ2nU.]K7\|ߊesKeFc!,~A2tIȠ ]QgAH[hf O`$ YZ4|v[*RbeX<'kj_d[tBHz:c\㎵~M՛L4OnfF af R:@VFKK)Ҫ,H `s]C]Otay`p[2 9WUDZ)9(UMI&?f331*3ORa{{(żuޥ&ukKgϑ'2uum5$^e.ٕʔ3q'OCu IE P@mܒqz׬'_iyxo9;O͎=VP/_O9!!a@*<bz^V7j}C<I$F'tڤQ wtJ)V]KNј. .X02Gq@NQ\եŻAncE*ddpH*[}Ye),D/2 c8`:V]֘i:6uSgaN^j 47%}0ctSHCgF{+Sn#ASC(L# 6P[x ؼGe? 4 }B&20 `п >п U]K9O_7v4rvuSNTWz}}#cM@q7(5 }>H-©Rq)Oh_sh_sM#jª`)(//y?/y?žn#?G@}}:.rHǥG#ϴ/y?/y?¥vڹyGW?'QW?'SD鹄dZXf//y\k Ph_sh_sHAgC $} %&}I:@ B+(B+*E9POCupa п >п -&IF*N[o1ɝo*N34+>п >п }/R[Wп <O <Ohп >п <O <Ohп >п <O <Ohп >п <O <Ohп >п <O <Ohп >п <O <Ohп >п <O <Ohп >п <O <Ohп >п <O <Ohп >п <O <Ohп >п 4y\#ALԅ1ƀ'9WEymɍWi)r[SN1I$ &ئ,Oj|귑,M2cMG9Q\̲ޢplGU|35&H c=~րı|B`-֏pnFD]B+,e;)t5-JM:YA9 ZN%y5D-MmN#mɴ$d69=Xү7dCSb9;DdnNdX8;Xq/Dhѱ{N2#Dr ;{VE =a =2`RPɀ2ܜEB]6KvTlhp'jT]zVZG8pZ I,δhOPp*C8CǙ穢 *At?<<ą),5=_FTVd"b:rzRKc2IJ(hhY7zORrpզsqm ׷#Y6KJ-=-2wB Zݐ5"%4Kg$v:$C0ie"6mѧFS+[{⠽[6iՄ(\yުOLTJB*Z2ިx-U< T䶔F0``qUnnJ/o.@#?3Z7:E#Z$0œs=H22; h+n_OñڡHB"Mñ# zh3FD(*+0}q$rON c$!+GVj>xQji7YL1 g>g= }dIձ|:3;ڽ}A$Ym۔V 0:|T|~ۻ,Y/Fݽe>"BS@m6Aee DJ@"oWhfV; WˑGLJSi- !GuݿL,bF~eP3I:̱ԗVL9'bu ̾Llx=>:lӋ"imEWC9&0 Ltze{idĞiP8Oƨj:^@jQOk2-ňU$ڼ(MGzG7s~b[m$WIU/!Q|uw'JGV2m5K`o$zMiGUKH巜=< Ϯj)4!0*?>ҟ{iK%\LN:-c=;]]5Nl<*)7-ؿ)u\!Х5RՋѴl2pHК^aQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE?շөo7_,|I(C?ՙ(=J)|?kȔlaބ,3*O7"e̽vی9: 4:D#o8G3(~be~Iwwoed @.gIt Y A,?uWkH rNO ~dЅhɻ#`ր2w?FW'^HwT5lʦҍ,nXe6dzoSM}_R{i`v,Qlz.㷚' ZSaKu9\FfDL/Q3¤0tI$?U}_< @}_}ϫU SIqmm5-co*>OV 91?FW'F+8Y2a@}_}ϫUEco*n F7VbI23h}ϫTo*^V3,W2r^h;G 7?[ sU}_2 h'iʅ&S%$ӓUI:qװX"YP0#>nW'sUl@`L%iB#(VoH'wA~W'J;>K* 0gߚ1?LM4O^7Rb0=A~U, \U {_/HebIvN88 I!.,T?7}ϫU9֊sU}_(}ϫTo*-/Klv\2pAq5H5'{asU1Υ6܄ر*pFG#5YvR"nS eOϷnq@nIIEU#M)b?Ro*r3P[q5H5'{asU}_$ o28!ˁ8 9 m>OQ ٢1?FW'R'O*T\&\U}APA"1?FW'f]}M$d*=N:SsU}_hHXWeu9 Bz}co*>OVC$ZqcۅcTf1?FW'fk;V|M"4< sӫ@{}_}ϫUoqfHrdX}"iŤ79!Q_˕vg ;P^W'[R$ٿjMu%fF\9Džroh/ϛzo*>o XZk%瑂$H"YR([UUBX huf`pRAV?ee ETVY m;Bqһ[}ϫTo*%r;B$F"2I8(n ѲO }9  M4(gdo*>OVco*>OV 7?[4P6W'sUl@}_}ϫUEco*>OV 7?[4P6W'sUl@im2q}<6$mT.5.fRUuV@yCmT'0,6x6wlapL m@_?]uN)u mG+F7ƛy.gg-Ԧ;wh{}u2M䑞u ?w୅ʱ3<9` v"\23: *\٬ya@=+åD'tu a8=h/ǓBCE4.1$SLHx܆eY-ӝΣ`8otMRͭ/r &z? JD]Q{{44qlpsUGtdp?l'.2d 5$Qq""UQpfj$5§ gb16ou}A z\t#5B `gK饍7 B~~X[:^oH]b$ y >ud7{ ϫkfSHn1 (wNzqs$W~jO.cF6J1FN 3[ixbLB"`Hd2C(;gO9t]V٦ lVL݄ r3ޯj4˩LF\ryj[wwqZ6viiR".@Su2[[ ('N/,ND4Ι#w+yuͭ3[K$ܾ]<.J׏O9c`D(PF9heYJ)T9 C d C6{xK*]A9* 흽}e]YZK~ʯ]4[9Fy9h&fB$='Dv$iHх@pHMs:-qta2﹐|݌(<# Kh̅W82H7\I?$l?rFpimു`8b\H*A &ĵ11fu z|0zZ pI kƐmHKPVPf jh3 O!Q̷܈qNgghxn[B[=g˝X7 ;wp'^DK l|s vk)vqfRs@ŜDbW{O+3 r' x 8l:Rk+Ԗs }iw[wn;mvTP+}>$:Dp$R]٤f]u=[[m'QaYI4۩$1 [~|tP%TMx.Uƛn;f#<ͦYi ܴRWɑsչU99[Pb|/{hg~;S[^Z޵Ø^K&pىdqŽuRJv{w,I/  `qhЀ/wq-录*%0Hcq+kZUA GdOpix8(p㨮槗ED}٣ИB#2qîb[yQ{9mm;<"0 \)+9B;i4ˢ U1b:dHB;eMPRM]/e_&5VX`ggxb{`I^ 2)+ q"g*nnޝ@\: :Lw@9֕zfn9o yErQ붺%qܭE xӌ'\ֆ}GS GՎ<(?0w#pp9utP CӗI:{7g篽S<~CjOq̸cԎHt֊/4t+ؗ6r-@c1Bx'1yawQ@U՞K{Q ofxU22t=/ഓR3ٴq=0zcYVw]E,qߑY[wc._,Fː#M衱oEsER6to@Ө|0699,qٮtm,Q={(G!PѭW *.8<.?#Sq\ʼi$学aLZa.(oKgvޙ={ps4fd5Iy"C @jѷ&Uܒ@+N.15uc=T-5G-\[!H]ǀF:jVkExax%: 9+o~dnKyi# 8' s2wZ4dDZ*J ( ( ( ( ( ( (3n//jV(T޴Rg'?QFloZ(cz7KGr}iOE/r02`JThГhI?ϿH^a_<ֳ~~Ͽ>q98RzӱhI??$?E`yyGv^nqzg> ssBOYQ'+9nhI??$?EaG sz" ?gOXtQ޳BOYVr9'(ГEnhI??$?EaG sz" ?gOXtQ޳BOYVr9'(ГEnhI??$?E71"8P8%a_QGrF;BOYQ')A{CsBOYQ'+{fcǩ8$56_ ?gOG޳_7_5ɺOShػ'(ГK&y?U7_5⨴{ػ'(ГK&y?U7_5⨴{ػ'(ГK&y?U7_5⨴{ػ'(ГK&y?U7_5⨴{ػ'(ГK&y?U7_5⨴{زK#n4=2OM:oT7_5ɺOE/.t_M x!BؕG@7_5KEdUR;O@OcE/.ſ7?}iGtKHTw5]u F מ Ium40dF^%c:ep~ ?i?k9`]ѳşёUʧşёUʨ3*n.atl/qVs wWUC&ݿ~ygFoݡd]ȑ azӯ. |$t"[l6=~, 1H `F9SFc YIBlT羑RG0 e8QH11ÜI#Im]bN2 7t?>7o+;Rf[cӽCqO ET48_ǽLl%ɉx4--oʐɷQ*>oʀ&F*umm5R6m==(k?ۻw8ی?ZVY'$ڑ|ʶɕ j`EXVlr@?ҩ4%~ٴoBB.f`V~~S5p\U+^a8OY*&VQֶُb6>7.ަ\ܬéO]?cJS?08ʵHs%rd b=6w=Z̀uߜ{m^CT h#>&Vs#'fJ-;(&͡GLh\oʀ&@l"?~oʜs8=os@#[\)u#E[i|}[Y|!OP=? Sc;*\nLQtTM!?*sw€35-HY[ 2ZFT |{Q)3*f O\ IqR|?SjĤgǜֳmǸ+B'#b9b#k:J+­9JoDr#@8銌jY(Qs95W}v%kh?o浓Z oṿE&ܿdl-rx~tRn_΍I?:7/@ E&ܿ-rx~tRn_΍{j}9A&<4PU6 2'i/5X+E⨽8ϝ~k Eknyx7t濅g;Xޣ?ֹßAZ|?kG͹;93s^ ?$Q߇4nl'yR6 _iHk4?-"C-؛mlt?Q?V7*M=gh*?Fkh4?-qQZ4?>7*D/"o?V7*M=g ȫqUM=gh⨴B*?Fkh4?-qQZ4?>7*D/"o?V7*M=g ȫqUM=gh⨴B*?Fkh4?-qQZ4?>7*D/"sO,a'*ɒy_)v8{V٦߳QiT*W'oʏ*Oߕjo?Uf{G~OfeRq*O*Oߕjo?Uf{G~G2 2nlKcI |?? iT}o?UMUU8G*٦߳QiTZ!yw@}|?? iT}o?U^E]8G(­}o?Uf{G~EW|?? 7@}_f{G~G٦߳QhU8G*٦߳QiTZ!yw@}|?? iT}o?U^E]8G(­}o?Uf{G~EW|?? UM=gh⨴B*^M%@-6gU_*Oߕjo?Uf{G~M4fW'oʏ*Oߕjo?Uf{G~O mQI<_M=ghAfeyR6mV٦߳QiTs 2?~TyR6Wh4?9Y^TͿ*7*dfW'oʏ*Oߕjo?Uf{G~G2 3+ʓyG'oʵ~7*M=gI<ʓyZf{G~G٦߳Q̂mQI<_M=ghAfC-؛mlt?Q?V7*M=gJqQZ4?>7*D/"o?V7*M=g ȫqUM=gh⨴B*?Fkh4?-qQZ4?>7*D/"Ķ́N}U6?kSh4?i&2?~TTʵ>7*M=g̅feyR6X%L9’+Ch4?9>}>zMW7*M=gte>zMG}=n嶺f{G~G٦߳Qte>zMG}=n嶺f{G~G٦߳Qte>zMG}=n嶺f{G~G٦߳Qte>zMG}=n嶺f{G~G٦߳Qte>zMG}=n嶺f{G~G٦߳Qte>zMG}=n嶺f{G~G٦߳Qte>zMH^i.#nj٦߳QiT]I<ʓyZf{G~G٦߳SB)Fv FcG&ßAZ`J7^s+YݚAhnӿ6߸m 紁I0 t?`hӿ6ѿ'6F񢵭ϕ\ޒ dFEsɵ-bt<xmZV+w?)0Hu[eoi hyެ 9#rsM΃.3B͊dr#ʈhcCq$lCpYmov@]+'mA.^,Tf $dcE)`8!3S»:#4kp:: ΪIEp`u9‹IN@ 0G#ETlnm3FUbO̿.Uqj$26m8_ݥ͞2:*4 KtW=iwV. Δ!$8 F=M2db6$ȸA 7Ӟ( QLhB6N1ʱR?0kZkռ#U2<;rVk*;pT}zQ` ci߼EWe:*}rmeKCg(2`8?Sdy& &E&!vLgsEߑ8G8UNqC7}2")\H21QE!Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@ :7y?z@75 ?B:wF]Urt? F3.f%X+py֏+oIO&7E*'G'E]誟VޓP1QEQETr8N[U,O)ѺȁOz:hL?2HONaOH!}IcH"[v褏 RvC F#ﺽ=[ r@sRys2QG?uG?9QG?uz{ĶI4T<({L#θn 9$A$s0ELG?tb?VZWѻ'cFX8 5coΎfF#k |r1u[󣙇*3qC}ш[󣙇*3qC}шw܋yߘj촙gx}*W>lK"O#񣙇*3C}ш[󣙇*3qC}шG~^Mj¨ݾl}xE9nR|WUH󣙇*(??iyG3Tf??iy$l֎fF#ﺞP$Z}ҕ swY\\omvsFw}63~G3TBа~+zu)bd\H.+0쨌UFK讌Xd09z( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (bIZbIZqtoßAZѿokA ?>?jMGNSkW@`ѰU@e?뼿1.[k.Ms7;U_'wF5OZ+o?q @Ռ9?ۧx?iH|npX }Oh@X̖qeI7ÂcS~4,ۤIZP+WeA#r2xSEm/oᘆt=E_RdiN/ rzt.-n&1A#֕ >kyel76YWi%P4}DhLȡFY~鞃Vpۅr[ sQNg PT0~ cb(k1N-G0˄*[9p0G,pXyeI2qdjsnu2j)ce -;9:]hK&BڃH0cR03H$~9(Ho?˜qYZtFφAc#ݻ,![Xd.k*˅!@;?"#}( K+,ԥ-@+(]Pyc^XyIDNQ=wR2x]/GQϷE@/-kun2 0y)>]&ȶk{j,Kt#}( ??" +:w[s.NsMZNSY+oo6m`b~ec10GQϷEEHZf_[NG21}Vw2^F8barm>m9 J?"#}( Asx~ #8,<8lq7qӈ^;I,dR;o [$vs=+Ho?Œ\ϰ4t@XjW30X|$h߽bx$gZmwFd{ao;wh砮#}( ??" iku%ċ{\yXrH9%9b1ZPϷEGGQ>rVHo?”}rAZ;gހ1|[Znb~luoU]GpmwC-FiH÷ԒoϷEGGQe?T'HLTU63 I`|%SQqFA+NfxZɠH76K1W<2Al1;&q+1PɅS`qybV2 rzdq99˟ǖ/EQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEȿ+pBJЬ+pBJШ㈣כ@~| פ#^os+RhB:wF]Urt?#.I]эSrO/jy k"Xo-A; N{kS+TUc{Gbc!J<֜9d˂WdvLDU%ԭBIX*}ۂ=*GMx 8=B}?E@9d˂WdvL R7O8?CDQE ( *he$Q\)^gErg>4gzC}&dEYϺ?M^g++QV!G}פ?hAUHu9rg>4gzC}&dEYϺ?M^g++QV!G}פ?hAUHu9rg>4gzC}&dEYϺ?M^g++QV!G}פ?hAUHu9rg>4gzC}&dEYϺ?M^g++QV!G}פ?hAUHu9rg>4gzC}&dEK4q'q=j*KV ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (bIZbIZqtoßAZѿokA ?>?jMGNSkW@`ѰU@e?뼿1t@VH3Jk$ƪ3[kj~>'?j^Ηܬ>X(˒Bv{ӗMukq!c$-vWhUq$W#Q;Mes(ؼ󎞔 t,I>аܐIޒm9$%eeUӞB:栿[٢0#$g5^0iF$, {v4ә/ 9;-^J[-)$,3,C|*ߏtN1ަM&k4e}3+:PA+zSJ&b'X"ɖprsJإx]/?qDcyXܬEzcsOI]NC#-3=IIsS#4Y̐+8$`sNg]]R̝ $I> :ݦ,QjGrd2'vrX n܀|I4Hs,X 78.ʀINy]ώ; R67Z6%q//im+ՉӜz뷂FYEx})3cu#WWkjP $.9'䝮-':=gr-]n$})2Hg Nzb};Ign>iK\ 0tտV%7m@vFVq+I-K(1\m%AHqP."_2o?ANId ی$ѵ^Y-ddW pWr#tU5QEn΁"DVGsGAcݻqי]:uڔgqpӒO)MʞYDNWQq}quw{t<.E,]Ł_?(JתVEF8319<5cp-h=#@ E&7I{F4Rnp-h=#@ E&7I{F4Rnp-h=#@ E&7I{F4OBOgJZc)nQE1Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@ B ?$ ϋB ?$ n8:7y?z@75 ?&?#)l5W+GNSkR2~_=Ak$Ƭ˳7ndRd8s=Tc{#jk2s6 =_hѐβo+YIc sJ(#hF$ԕ,N%%%2ΙHF8o-?(9&4謱u/Imkc;vb˜y ;E ((+;KfLjI(9~G9|=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rV?(~c[cXأvs!El}}abϬ?Q=;O>i>߱G8rII[cXأC-J@p2K6d/QE*F?*[%Zڇ/QH:YpI)HJ5DN1= n;gW}JEx+pBJЬ+pBJХ-Ɉכ@~| פ#^os+RhB:wF]Urt?#.I]эLy"Hco3;I#m>I]эNst'-6L t.c9 eRpq3?N 銐I)t,@{Si :(΁j<\f0;N3=:S/!e(0 |8 cadŝlNy4Zi Oj1sߥvYk[ '㚑$I#y펝j^s3#]7G9ԋnۡ P0O| !!iO$' *eB +c?:9QwmUub1*D̛^09'ԸAVwj(DTQQ)PFŏx[%BȯQ$kmE 2÷N?C+>Vi̍+;D3}D3}𣕇24hߵ C4`Pϼ?*P_*QA>ߵ `уKA>ߵ ߵ `уKA>ߵ ǭU}{P-"MՙprTF8N?CUG(^ SŜ6ZF#hE|8\c:rh8o.n5[P–]@8 aM_jZوӦ'qz1] Yiv֨nae)鞽L]:Zf[AJDC 9 9?L9 :q 4EH:uc"P"$MQ~T LFѻ#u%N Hk=uMZI"l\^Mk1)Ɇ?7 c6p(6[-EyO"X]w*H2 |)/ ; '\##ҴD,mO(`#c+t8O{tdV#LQ9<{]nDYݸ cn]^mfH߿unfY}};(mϮ1։t) tm*A(TIlGfR [Ki6PHTyFⅉþC#9*PUQ{8$ZBchN(=5-VH)_5K1(Vﻦx95Ӿ*[6%(!@k:Ҷb#DڀmS@ ֝ ͌@R`3o/fnx,eW^uyS[YK[q٧H#,OG_6Feh$* =:>-\(oqƀ05mV HB]]ۉ*pۜnl'#Z\?kFq79`nӿ6꫕?#)l5P)Q@(((((((((((((((((((((((((((((((((((((((((((((((((((FV toßAZ F!;Oa]B:wF]UQE(((((((((((((((((((((((((((((((((((((((((((((((((((QѿokA ?>?kFq79`nӿ6꫕?#)l5P)Q@(((((((((((((((((((((((((((((((((((((((((((((((((((FV toßAZ F!;Oa]B:wF]UQE(((((((((((((((((((((((((((((((((((((((((((((((((((QѿokA ?>?kFq79`nӿ6꫕?#)l5P)Q@(((((((((((((((((((((((((((((((((((((((((((((((((((FV toßAZ F!;Oa]B:wF]UQE(((((((((((((((((((((((((((((((((((((((((((((((((((QѿokA ?>?kFq79`nӿ6꫕?#)l5P)Q@(((((((((((((((((((((((((((((((((((((((((((((((((((FV toßAZ F!;Oa]B:wF]UQE(((((((((((((((((((((((((((((((((((((((((((((((((((QѿokA ?>?kFq79`nӿ6꫕?#)l5P)Q@(((((((((((((((((((((((((((((((((((((((((((((((((((FV toßAZ F!;Oa]B:wF]UQE(((((((((((((((((((((((((((((((((((((((((((((((((((QѿokA ?>?kFq79`nӿ6꫕?#)l5P)Q@(((((((((((((((((((((((((((((((((((((((((((((((((((FV toßAZ F!;Oa]B:wF]UQE(((((((((((((((((((((((((((((((((((((((((((((((((((QѿokA ?>?kFq79`nӿ6꫕?#)l5P)Q@(((((((((((((((((((((((((((((((((((((((((((((((((((FV toßAZ F!;Oao ږ?2 [_KJ_KJ_2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̱EWҿ%mhҿ%mh 2_KJ_KJ_,U-+VƏ-+Vƀ,QU [? [̲:7y?z4S[Om:̠2#8}yψ?" FEWt](og[hI$ cxeK Kq|=:{{7׶HaDgnֆ3qM>;x'(4M$721Iu{ifwP@p,A>٬MJKx#m(HٙX(y%Zu˃CH8*#vW@eڤmW2 LRA<707t`"+;y[Oۢ"3m;H9xt$ k>tFkTf;Td(Ѐ&eIy\>6=8Uu)5ͼaisl unby.,y&yDufʱnh矗U^ k(=I6:1@s_Yp}@i~h.ڠA8yy8݌uAW3Etա;2G-|O c F9/M + c? ыRȆIwmU-gBuH_YM>bʬeS /9R}Q]SA:{vW\nPF<>@Hr8T:uiezګMV$+g~Sn䎴uE&cyn 41N:՚&KJ#$V9_@8Ӭۮ^.A%yZ((((((((((((((((((((((((((((((((((((((((((((((_? ?Rǹ/g]yN;$L>l*0z}hWW-.;Tpv֑mgʍSwFp1} -cxYOIsȧojokTy2h3GnOk;;ݞLh#=FTvoogq>Zg'fjlmmAnH0RnO֙?h?? 7wG'h/3At~O?G֙?hBLӭnb(bB*d amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'kL4?Y?Fd amiƏ3d 5A?O?@4nO֙?h?? nOѺ?Y?X_Zg'=o]niؼll_ªvvW;LEWyH;G5? endstream endobj 94 0 obj << /Type /XObject /Subtype /Image /Width 861 /Height 624 /BitsPerComponent 8 /Length 95 0 R /Filter /FlateDecode /ColorSpace /DeviceGray /Decode [ 1 0 ] >> stream x 0_;**{|dtGHނW𷤻FJ鎀Y endstream endobj 95 0 obj 569 endobj 96 0 obj << /Length 97 0 R /Filter /FlateDecode >> stream xY٪F}pAytG3GÅ|@68~5ZF%OC{zԩE}˷RI؍w}4$. s9Q7ߺW>{e8Ǟ+c=J=NJ) gYeO"+IVJ=xϛ9V 3y{櫬W.ݷr!MP𾼸?ח2vnt?H|:JV(Њ XSэ4j (OT' /,fϻ{YA]Ó!9̯Olf;(<58($"Ro3FSЃj(+ ÉSQ|y>b= ⨲"+r* `i^lg2m#r0,y[9a   >"V`0Wۖ?ů,lzGZ F4~AQW#M5;+SU+82 +';2:^-W9zۣE͕3Z4”T - ,Ż; lpLv5٣1e#:0 '~#P-)zKP3ȹ"r5)3陈VRQΎUD׽}~ڲáW" d9ͤ^Qr/PpP'x+|rXUc^j2C4[jdh54G)ImJ z0-TaupU Ÿh$>T1al Kh O_jvQ:`X PFpEZE ^ՀWJ5ť/|m%V nJF( ZsZ!ahi$oFAGTD IB]>ViT96; h}Vwt%8W" Nan4 RmdF-0=r@b6tpi0g =8?|(@cisյvqx{ڥ\7gJfG iPp7f%+nsul$p’6eRLvFIN(|u[id0k#2X 48D+AF/:[Kfx:NaDxK9VĚڝGu@fEXrVtخHnmibv28"/*vptXeYQwv.ܾ~澿pOS50\hcn 2, uM}}=%֢`<*J]5R'GS0临k1+BeRt/٧pT$4Cl3դs0CЛ‚3m4 b0t>*~R; +pr-<azȠ! *EqZ5(NS#3WǬl@EvJ7'-쎾))AEy1 Z2YorPrv۞ Zҍ"yX}QJb? C6. ]#Z tkrs1 %TX>]!Ing^r`,N\uu5Tgy}Nۄa<sUл/ dv-wti6^}zʽ?/ؖGcq(4?7qGi)7J[ݿAendstream endobj 97 0 obj 1736 endobj 99 0 obj << /Type /XObject /Subtype /Image /Width 861 /Height 625 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /DCTDecode /Length 75012 >> stream JFIFC    ' .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQROC&&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOq]" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?["O,ePʑR8_s` imږ. 3\D sTҺIil5\Hv{gQVbv&Go~<~xq%ݞyd-e('TWo$fSvhS7=?2_*oϙ9myr鈜^G#}E/vaets bW~y {Q*iJ+7=?2_*FbZybM"HH6O Px4 iJp^y&KV,ڭeE2Hpr~01TD#EBP-=Ͽz\ [|?%\[7e14qٝ$< p 4]/pɵA% 8vl{dU/X7#}{bb1gۨu;c|}xb2ωNG}iK KQyU qX}kyf< ܞ։5;d ފ7F1O$SsfAk*lKRAR/Z#[XIrRɞ/*fn7bż68 9Ԣd#8A,9J9#.&kdf^GO{Ro{dUaCw{"tđweD|- I"M$w- [Y0lLr# UW,{7=?2_*(-md=it3 UٜtI=8үMva,b7jXYw?R}636w=?2_*{ ԖpN' 4r18'#ҥ4 Z?5ıN |x'$U  1@%n;Ě͸hbigψ%6{ HdA]y QXh D+*n͏I dz3fKa,=9QSwf6`urT>mzrUê֟qp-FGbi>bNtR_ԭ[m`ܗ1y ^=9vj2 ܗ.qKwrUo: {6Q;<6oՍGm iIl?6O2)$avp:OQǫpfmQwrUqF(ֱ+Mb4ٴrw54. _hĤ< c${s_6wA=6\0GLK34J%{ KwrTf{]\Us_֏Uu^so=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}hso=._*k k@}h#H8I.SR)e%v-Ҷ么PĬcn8:i#hQ`ܿU,q&Jw_* 1z*xAFh!?>܃ir&D]DܿUD|$n/O]N%dD.QTWTw ^T9DU IZ v={TZihyey"Qɒ;rH9ӞH,U8"YW;\ZΚ|'b+Dv<:tdw)NZLdgx{IXՅb[rHd<|ƺ@j?_EmR=#$"0eLkO}EQA G8Q?`[yF*ޫy;4qKQD62!ֺ@j?_E憎CT溜\WW4Rd>JEe A=)Pi.wF+1`6FOq] z5/"@j?_E7lw#*\cB=tḚIXΒyF;'=y=?G z5/"]{)w8ǽx8HvP_BQAǵ[A1DBV}v憎?!Q"V\ww1w2A+Lc=~T Pe! oƻ@j?_E憎kIka{)8϶]yc9/M/*-)1LR)L4NV` }&O@j?_E憎_X=ik.2 UQhZ+fGUFWuA G=?Mbi.H 0?ZpwXJ\9WqA G=?Mŭʬ*xT85 pKۿs rs] z5/"@j?_E'ϹZ+fGUFU. y9-e`UnAldH=O}EQA G,E+4Ʃ;au saʍqR*e5U8@`@<Ev憎?!Q}ba{98wYgq}=y*Yn6\V\X78?@j?_E憎YϹ#+I#f 3T(nkO}EQA GtɋsFkO}EQA Gvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadp5CQ(O}EQvadexc]&fX(zVqfq|ŝg9 ^@j?_E憎u)J\FI[Cjm 7ucݍi{]6+j&DrJҮCQ(O}EU:\9,ġ4X;nS.~``Uw085뺫jj"OQA G=?JZPwհ%-m~-))O,1ʾ֍[5ݴG nݺqgT!QCQ+9J))c/ԯ店vIWos{meoȅZ.|As2}[X!KSB88Ůl$ 2aq>brqqP2:i!,Oj_ڵ7_y-y8y,?:%tO/"A ^MPH554+5dY'2HBYFw8 ~=4[R;ܕ;" {ulyDfQ,mQؐǽPϹ6H>nj]ơ倫- #$r:Ͽ(6-3 HRE6䔒 'gsYSira,Zd\Ic4R,@A[Kw⬽𳴉Jh#;K;hU[}0i HSZk$3%Y[a{[y!o*r6wG%VY7ۥ~B (<8u_a.,HЛ_1&Ab1z=Ȫ֖w_şS7|m .kz%REH΅\$Mˆ'+16ܬ +Ʈbq0OL:$tb.R63c jZ^V+Y"&:O&_TX.>oy sӐ€6被j?iϜXܲ L zMrƑ)&\2 ^9 ?w7ѕ*׊fc a~q.ln,&Koܘ(0઩=֗J]5k'qORܿ5 .Xd} `7`T{yK)A8Wu-dPѲГ>b=Zе틋Z@0l2s@}ZmJ$QuT~8JZErf-Fvsr0r1 dpD E YmۗyP̺v2_w1^'YK+v'PAk-s4NI!1Y+R9^ {}kOKhyRI|'`qpzzbI0WP2<>ƱmY,^;RIq<@I<'7(MNC<:tlL=zwjВD'WT3'6=cI[VO9L6n]r3 䎔Ѧ VuܪK\Kcv-yAH4#Q>fqxQ]XImtmY(fYe. dpO*5./ۄ նٜ @8}3@PSA4R̢X6AU?5Vi(Й| 6p: qޢtCV[{a*G*HuQ~:UvҤ4XK/.nl q@gYu؅J$lc$!]y㹁f7)S8#ոJX(rʹ m*{qZbݥk~r NH4jdyK .$TU\HxZҬx$>{y!+l #P]F9]~zpim.Ǖ\0z޼u@[]Rulo)3hlm'>}*ɿ[) yc?.CTU6fe/ PyP.H cxjiz]1%EB%fnrrݎkbZݶfr}kYaysm hd+XSN[[A9dl3F)X]=[KV]6}L(1$dWa<DS#p(si֚&RHu,a7vZ^ٌUXpߗn*XŮl$ 2aq>brqq@eهȝ' G!qsҬH.We˱/NmMR쬼Yd2>KEss3MEkmcphi;(L -K2 Ejtm2I ?QJz͋E<-3H%`>ڽ 2gZ'E7MaYzN,Ohc, -F q#]4CJ[]NC%R3030=hm^hi_ˀ\"8Ǚ[i$[)/c*IFNzj-gobs|Q A ^۷ޛI, @\Ct$?Ż!I;jғWHr. LJmj+{w t$Es@"hhYJF㜞01Z:]!orLĜNr}ZO+V-Ww֍q=Ս̯k{ qnQ\pݸF8MMuv+D!H,Kq<5^\]- Gi#hY pGvsԢ\w%R%Cl08%ihm[29b@'Pͦmy+EdUݲX^&+VJLOnO2{1Bǎ<@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@_>75qah}bW>75yҴ Asjr5qQkN,pz[K"".A um?sD_LJeУi$p~F}~uzf9$U>ߩ8aT$Xq)+\,}~Sm5/JиdzQV\]Obm?(mAC6'}ߵM0p(ل?<>jO:,~T"rVyIݱYCO >i?PJ..nX_vdb]$UGO >i?PVwj 8SUl&ܛ}~RwںE}~^9 + Z% Gq)'m?(mA&gvFflrzHA8^j?fuDNv4k{}:i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~to@i?PGm?*~t#bWmAm?૗;mY l~|Y$ ,]Ļ}|t'iSQI/o-ZV6mXp>hgЯr|Oqj[\H1?}G+gmmMO ʄac;q=^"4蘿EiA9kvɶD++J2v7LP||Po& gEm2[o+y64 8R3Eh,'>!#늫nbE,vcSa9eNKG\MpRvj҄e̷؅y5b؉`Ҧ'B0:K|JQpۘ0"lǃ}ʈB[cQ9NM4HJv4Kt?7)'h,z'6x@ wa2Hy``UP:lѻ9 #8-WsgFCg!1O#vX&"\gЅ>ax:3[6Ib 1oV<1xE 8/.c J֓&fS8:wy?z?'T:wy?z7 { s}<70x_g]mc6BwI0c#?@VZ)sm!'̙c#UԮ A# Z<=@~.{ 0i$~bGPGl?JqM!7di=˚ZBFxsF7HhDFza<25xv&7'l6Rn*SйĐhP6)ՃYm?5Ro|7upT=ב֯I*DҰa($v̭L6̈́!֚^6 Q0&|zdi u$O:y;ƠCO:՛>(\O@>^sw߿C*K=jVhIᘇ_uʳtiwK5} >|mq< ];H@g9P85^)s074$K Ic4Rc^*vPY#K$3ۺXŷ?3Dv{U,֛B*J7E7q8mJVϻ:1RgT ;MZsn1m *!mx$K&#X%>a,72\IXi;fBF*vuA`7΋z(塾X%]+`ڥ'$(-4P#tlTP$\ElGR*Nv EHd )`#%nA$ṃOz YT"Z dU ˞@9#F#+pNL6ڷC-)V؃o"#-v坰SHa؏y['O$aSu<-V+!75rK<-U76h=|)m?޳T'+FB 81g7ylf*9n~pӌMVo%2'#pi\mlRc7Q]nll͍wܮ3$U2pG̬U>RQŘ|o"ۦ"8,pN' bf İL?EkCqOOG =e?K@m?߳SZ1}yڊ+XēgH?30Uzc#9Sg(0Z̏E3 c[[a}̋$m2dz0h›0=o"Y9rtPܬcX2V͝F[.c 2dw~t5 + {yf̿PEeE Tv0GpAE:tzy[Vԗq]%P%ă)Hu5=b}~L&XȍZV +z1$Y0pOG@3ɧgX’F6\3e1;9^EmQ@KKI 'O=ij(KNGcwvqTV9x,-odbgۢ1>gۢ1>gۢ1>gۢ1>gۢ1>gۢ1>gۢ1>grq~?Rf*~R\IeKfF3s.i P?k0R؏E[TIT㻼b#!a0lR\^^[#nf3@_Mxl.gqy?za܆0ßAZai@-.8o17|:Z۪i4NSG[Gb+8P_$X|/,BXd$^T &@U_D':Xc/j#n~Rqr;zkJִ,.UB  ޕymmC-"` vd]X%h-XX`;3 \m~׮i ݶ|>Vy;[{H,X`v/@?zgMơs Gv ڼzPg+ K8,szUŠ|byEA۰ҡmR Mb7a1 ~,~?˷hT~p&)|OrTy .e!ܓ ɹy'O9 Ynu; FgKVRʒ]yU\#vaT:n Wq {AŻ^]OXfIh_taꠓ>mMr%s,hѫdT@ZYfy$d1?C!Y$cwh~BweHqV]C ZQUً9,zC"C*NI$JEt5E=6v 8=%O ; In{~Ɵir4n3"#\`Abr9[x3!U 4<O@/{Oyhf8L֤傍{'\X"vE .I‚>լH֚60"`3)ҺmGC09PNG)-"oRil4m BY( NI#I$MfQ;{X$RI HDS! O 8?QZH;oNrq6GEzİcR JXl1.P6wqV)G٣`7 r眜/H@ت&.ցNB_=:5>asp66LvI"Va$fll2Bm b'69M!a3BE)a$PX;+sO<-d.&rK8C]B[[mh`<@L|lp} A:ϵr6w6:[oq"#˨ITip9(VWQZQ.Z1akb[9I浂I',v.qm 4JRŷw&WBrڡN801vȹuOF{_B\A#(@o#ǭlOi7hm<DžYA#8 z|v2$IbBzP?aƭ~P]A \˸~\uI,f&h';Tr{(毈H3OR?ᴋSĒ[9I'6)M-ⳁP<@اG3i3\&s$p;LCni?1:qu&h(=ϭAkiOݰFbP=|P,nV8>aђsp60ˌF+Cp2~kmbGf~JN^{洢!9H=MEqkr"-6+8]<`1@u{EUd×mn0e=f\IqmAh-:o6.UOBO~,=|@"ƍb,3vA'wveŴk/ۮaFdS'=Kr/m N )@Y~Gk|!N2pT^K SQkԭaNʪU<O ؝GU ʱ\q$W/G&ake1zԩhȊ#nr p@ŝΥqzb\72@r$^kZ:lr@z|Bƶ) g9Q[iGm=D'YPFNUeV4^KwJաOGid3$.2W#qڸ/Zb_K>Y6gvr޸gK<D\DQ0?}e$g^XtbHXlЁ~-~xF nn!I(3#_%o,"PF3ĹG@I1֥vf cTq鎕i1=vv~%Bc2ⷰSU3"rILUK<ﵵcnߴBz5~38*SRf!oWI᫗q\I,%2֖^ o74@ztE0R=1 0J<6xsEAJ,ÐG}Fh\H_T*^MT9̱B::[ɝۄlu\SWFV:$%ܛqF`0AJ}'{aBX u\! .irl1>>Jl:% hIc$ U ASPdӢ*FQEQEQEQEQEQEQEg]_r_x_X݋} I *xN//j4CZݭ [2vշuy6sS[Dz}_Cj؈]\;tjXKx l&?;c#N9yl"- dUR#zJP.G6Pw:9`DԈ6WDt15~ ?$ZDeo78ɭ%̗0D{MGֹ#>,'U(ܙJ}GQgUX>:cً<V]g>#Cϳ?1EpYCϳ>?*f/h_?e.~?*??ً<?yO}4Yw ş??>#⪷b)ƏSq]g>#Cϳ?1EpYCϳ>?*f/h_?e.~?*??ً<?yO}4Yw Ń9lns~>u/ۥg/Sqً<,bۥguK1A th}n}Gۥg/WGb)Ƌ.wػt}_]Q:t+0M',gQ`xВ~S&n}Gۥg;EW!>/?O.K>Sw.}@Et}_]R:l9!ώeGb)Ƣ˹W}n}Gۥg/Sqً<,bۥguK1Gb)Ƌ.wػt}_]R_??˸]._]n}TyO}4f/h}n}Gۥg/Sqً<,bۥguK1Gb)Ƌ.wػt}_]R_??˸]._]n}TyO}41Gpw]wϳt?Ⱦr U:/?Sۿ7m3LPtn}Gۥg;E>A{Ct?>/?O.(ht_n}Gۥg;Eϳt?h=}_]n}\r:/K>Sϳ띢@Et}_]sQ/?O.K>Sv9ۥguG {Ct?>/?O.E!k;(b~SqEr~/?O.K>S_ً<?yO}4Yw ߷K>Sϳb)ƏSq]wϳt??1Ep]t?Gy\S}?Sqى<,bOϜrϜr_??˸]%R:ާKǍ¨58g\YA#> b89YJ7ϳt?hO?֟ }_]n}\NȹEfq“Mۥgu'7OKwgt?>/?O.q<o}yI~(]Ù6~/?O.K>So)?aR߷ 9Wp}K>Sϳ7OGn?生ŽU9cgϳt? Q'wgt?>/?O.q<o}yI~(]Ù6~/?O.K>So)?aR߷ 9Wp}9d>,-dN韻9%gyI~)FI H<{Qʻ3i~|"Q%͌wuA`ԜR$DoXf/ht?hG}GVWOG]CʌJV0X+\s$Z۸gB2GG@~| umU`Q _ßAZ#>,'U=#>,'V2qOjn.*Ǖ ,?:8?VM/Kg:pT+u4w>PAH2@w {u-EY 3' G_ G4$cdC'3 0!Jce !$d4"cP!23> F6Fgm?t#>duY? #9=8RV"Tf*UC.F* n*0==ld̒aP'zӧy7l7 ~!@j[h$v)Åef*ٳr@?jX`F擷A-nuCԆM7PۨPuM7P۩7j=Ԍ)PTJT-OұYG`@NOZT;ֻX^#I/6_V^~Vf O pS؍ddfPvא< noqo62=jd(NVgml>Tߩ4_ #I[iqOj^Nrޝ;UY<dxe;PgwVݍKP7Fs3 O)wgbjng@C sJBA?,@{I'īRH,ϩ$NVdvwwͶ|YǂF}wZMNd}eF$d-T±8o1ܪ];G:Toe _#'֋Ա&aJLA랼tD# n˱:~H͸őZ>Ȥ>fpq##iQj${#o0|YX/RqBj6݇PN?^ >ϙ&˕l$9D+$0oӏ{7TM7Pۨ _B5RD}Ƭ\MhJNW?io\彊n]"3yg/&-%A 8WAs6F$$iKi!P.ЯY mth IT=pwIދvYeRR@Ni.uʞ> GKJ`UublWTXF0H=VU?*Q<{w| J>xVP$xvJ?!Vn'W1m͟UB'&⤒z ]VOT (5 ( ( ( ( ( ( MZǢAw&[sM$@9R\ !f V5 >QpBHj9⸹czj"JMcɭ*ZۂC-rQ[z]K:)Q4֛+k6 !.O| g"=hhaCDbu5@~| z\?fhlg`y?dUra`ѐELkH#9)o go=/?h}C<{mף6ևٛy<gz^z>o=/?h}?>ˇhMZFmף6ևٛy<gz^z>o=/?_Yr"aă4mKGmשʅ~o=/?i^Fܹ9#$J+X?CRi!C6y}C<fpi{ZFmף6ևٛy<gz^z>o=/?h}?>MZFmף6ևٛy<P[P/@sܫ=Ȁ77GٛyBqlUޖMfoo&:'9Mfoo&t-ߡCm׭77GٛyKKGm׭77@b3 HM}z^z384v&(Gy}Mj_,<_uuJ)D?i^KSQG*3!M}z^z6-1 Egjzݶp̹f]N2GGu=(A˿i^KXX?㵡jjoE'\q;X-}z^z>o=/?I{'#iPmף6`|fgg+aKB嘀s8;̗֠D?奻nw*pGw/ Sk}*iC,sаxPø# .h!(-e(֭hz-Yl,iM+S7m$fݹNzxH8EEiJ"wUIE1Xʢn'w O}6=J.I V*s{J*{VP{}).G᳂O?jc*VmS=ԁ=OzEh]N\(zxoa'Uц6Uc@XEjKh58fޏ"Y2ĀNӏ_(:rΒ+$)o=/?ME.T>fCy}M5rd?i^KSQG*fCy}M5rd?i^KSQG*fA5չxbY76[ybG 15E>U2GjUqXʫ1ā#uP=®QH6+j^Q|/Qy=GVhw}ڗ j^Q|/U( oK? ?/?*Yrڗ f,[RzK? EAwܭy=GGY VԼ_Rz¬E]+j^Q|/TS\ I2mU( L+VwҺi}k2o2iY&A ?>?ko VoCoa`ѐBLm*̗/] MS[/|m Υ,@F=9l7oq9%aӐl'9.pOZxi ]ɀ669*:S1FT?r ̹ hcr0ϸ˯`1)MaT=J#'0ZA9cR@vZn/.v-o1# > ֏Tp@R)%Q&KN9?sWqQzyw=:V5r[Awy5Ơ09?֜ ʰ4{W|b׌jޫ d?M #٪?M&=?~u3.k@[\Fj QhG>ˍߎƱ5{*+]#a#99=qs-7RH2V0WfݡO Gmq:,?wq}FqO8-zVdǩ֒ɮ7U-쵭Kg XwuQ@]skkp&5!mp%"xQ&u]9еFw{iUFK дifx R=<kfz^j:y|x@$ekW4/`$&J8oI]r՞u`QY-QZ)sݹ4E]5Pǒ !އ93ڏo$&JG1԰9#kzYl-Igd Q>䌓=ih8\\0Ē'XwV4?!LYdaJODЅ>ю`y4۫H\GJ`r=z7[Y5eqq eĸ1I*aN@QӌcԎIt ]&Qs¹=dKbU,EH R8J/gwECimvQ=2I55#P((((((((((((((((NZ̛LZsL>?k9`//ßAZͽ%/gZC]SlO)+@`ѰUTܢسYI9'c7'ZQ`3k>Rb|+B4+?'F-O´(Nvg|(ůI|?Vi.ʑM9d\m9Sd;Aбr;VHٟ~(LME>aX `G.2OsS—7֪1P$qfI^= Yf4 32 MkAٓϕ7Gdg RCtG{(->BPgаS/'Ts,fH |Haܓ2o(̛|!W[k8>vLw x#̻6*FOjNɿ2o+e]XVzgKHv1&+?o"ɿ( ٓϕ7Gdg V_ɿ2o+j/dg Q7YCEc2o(̛|!ڢ7YCfM>VEmQ@X̛|!89VEmQ@Xd'+*Qi #vLM~ K\#О5*ݓ{mǩL6`0p9К2"յragwA2g.q߽:R[UIQ,,>_Am-M>7~}i#_6+HLzϮqYힵ 6&"2>V@G\g$y{w$bH(p&U<翦>1XFV)~^ss9$O% 0 -#l .e-B[#8[%9Pl0D(A<7{qZEMʹ31c=qf|N6zrq]9ݼ`9* _ OFBrT Zyy͔. rFOH{Y#5HOn9<կ.=6. toVXcpNA3P(%d c'Fz5b%uR6b׀>"[,F%FNJ'*U Z X~_i08gð}:TG:cVbWyȻ}IyϥO%Gnmddǯ'󦭥G奼J'h@HbFIwIfBKFzq~*[dZFFuYc<`{~ad[#Gim"+xP dP(ΒfiG~U /ʿ;O[(HBrr=!)FB0_hiZ8vSvG}?ffM$#IL#:sst*̿h ydbiDFGN*Õ r@Yl$3xf2z9ܱ[?h(?#)l5\Ѫ`$mԟo@`ѰG'oVݼ#$h -會RgXϕ_4P+"u[ߥ ??/U( "u[ߥ ?{Yۃ#Ƭ@Y!s4fI!