From 707f43d233ff6ae779cc9690106741e378b43cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Launay?= Date: Fri, 11 Dec 2015 16:46:08 +0100 Subject: [PATCH] [Nettoyage] --- MesCigares/MesCigares.py | 1070 -------- MesCigares/bdd/JEROME.db | Bin 646144 -> 0 bytes MesCigares/bdd/JEROME_KO.db | Bin 646144 -> 0 bytes MesCigares/bdd/main.db | Bin 15360 -> 0 bytes MesCigares/conf/mescigares.conf | 3 - MesCigares/images/MesCigares.ico | Bin 28562 -> 0 bytes MesCigares/images/bad_photo.jpg | Bin 10571 -> 0 bytes MesCigares/images/no_photo.jpg | Bin 9196 -> 0 bytes MesCigares/ui/ui.glade | 2550 ------------------- app_gestion/MesCigares/bdd/jerome.db | Bin 646144 -> 646144 bytes app_gestion/MesCigares/conf/mescigares.conf | 2 +- app_tarif/tarifs.db | Bin 229376 -> 229376 bytes 12 files changed, 1 insertion(+), 3624 deletions(-) delete mode 100755 MesCigares/MesCigares.py delete mode 100644 MesCigares/bdd/JEROME.db delete mode 100644 MesCigares/bdd/JEROME_KO.db delete mode 100644 MesCigares/bdd/main.db delete mode 100644 MesCigares/conf/mescigares.conf delete mode 100644 MesCigares/images/MesCigares.ico delete mode 100644 MesCigares/images/bad_photo.jpg delete mode 100644 MesCigares/images/no_photo.jpg delete mode 100644 MesCigares/ui/ui.glade diff --git a/MesCigares/MesCigares.py b/MesCigares/MesCigares.py deleted file mode 100755 index 9f0bb11..0000000 --- a/MesCigares/MesCigares.py +++ /dev/null @@ -1,1070 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# pylint: disable-msg=C0103 -import sys, os -import sqlite3 -import locale -import configparser - -try: - from gi.repository import Gtk as gtk, GdkPixbuf -except: - print("GTK (PyGI) n'est pas installé") - sys.exit(1) - -__BDD__ = "bdd/main.db" -__CONFDIR__ = os.path.dirname(os.path.realpath("MesCigares.py")) -__CONFIGFILE__ = "conf/mescigares.conf" - -class MesCigares: - - def on_window_main_destroy(self, widget, data=None): - db.close() - gtk.main_quit() - - def on_gtk_quit_activate(self, menuitem, data=None): - db.close() - gtk.main_quit() - - def on_gtk_about_activate(self, menuitem, data=None): - self.aboutdialog.run() - self.aboutdialog.hide() - - # Mise à jour de la quantité en fonction du cigare choisié dans la liste déroulante - def on_cbchoixcigqte_changed(self,object,data=None): - item = self.cbchoixcigqte.get_active() - - # Si aucune séléction, pas besoin de traitement. - if item == -1: - return - - model = self.cbchoixcigqte.get_model() - idc = model[item] - - cursor = db.cursor() - qte = cursor.execute("Select quantite from stocks where id_cigare = '{0}'".format(idc[0])).fetchone()[0] - cursor.close() - - self.scaleqte.set_value(int(qte)) - - # Permet d'alimenter la treeview avec la liste des cigares - def loadtreeview(self): - if len(self.table) != 0: - self.table.clear() - - cursor = db.cursor() - cursor.execute('Select c.designation, m.libelle, mo.module, s.quantite,c.id from cigares c inner join modules mo on mo.id = c.module inner join marques m on m.id = c.marque inner join stocks s on s.id_cigare = c.id') - rs = cursor.fetchall() - - cursor.execute("select max(d.note), avg(d.note),id_cigare from degustation d group by id_cigare") - rs2 = cursor.fetchall() - - cursor.execute("select min(prix),id_cigare from achats group by id_cigare") - rs3 = cursor.fetchall() - - cursor.execute("select commentaires, id_cigare from degustation group by id_cigare") - rs4 = cursor.fetchall() - - for item in rs: - iter = self.table.append() - self.table.set(iter, 0, item[0], 1, item[1], 2, item[2], 3, item[3], 4, item[4]) - # Il n'y a pas de outer join en sqlite du coup je suis obligé d'alimenter les notes à part - for item2 in rs2: - itr = self.table.get_iter_first () - while ( itr != None ): - # itr, 4 = id de la table cigare (colonne 4 invisible), item2[2] = id_cigare table degustation - if self.table.get_value (itr, 4) == item2[2]: - #print(self.table.get_value (itr, 4)) - self.table.set(itr, 5, item2[0], 6, item2[1]) - itr= self.table.iter_next(itr) - for item3 in rs3: - itr = self.table.get_iter_first () - while ( itr != None ): - # itr, 4 = id de la table cigare (colonne 4 invisible), item3[1] = id_cigare table achats - if self.table.get_value (itr, 4) == item3[1]: - # .2f pour 2 decimales - it = '%.2f' % item3[0] - self.table.set(itr, 7, it) - itr= self.table.iter_next(itr) - for item4 in rs4: - itr = self.table.get_iter_first () - while ( itr != None ): - # itr, 4 = id de la table cigare (colonne 4 invisible), item4[1] = id_cigare table achats - if self.table.get_value (itr, 4) == item4[1]: - self.table.set(itr, 8, item4[0]) - itr= self.table.iter_next(itr) - - # On calcule le nombre de cigares et le prix - nbcigares = 0 - montant = 0 - itr = self.table.get_iter_first () - while ( itr != None ): - nbcigares += int(self.table.get_value(itr, 3)) - if self.table.get_value(itr, 7) is not None: - montant += float(self.table.get_value(itr, 7)) * int(self.table.get_value(itr, 3)) - itr= self.table.iter_next(itr) - montant = '%.2f' % montant - - # On calcule le prix total - montant_total = 0 - cursor.execute("select prix, quantite from achats") - rs = cursor.fetchall() - - for item in rs: - montant_total += (item[0] * item[1]) - montant_total = '%.2f' % montant_total - - cursor.close() - # On affiche le nombre de résultats trouvés sur la barre de statut - if nbcigares == 0: - self.statusbar.push(self.context_id, "Aucun cigare dans la base") - else: - self.statusbar.push(self.context_id, str(nbcigares) + " cigares dans la base pour un montant de " + str(montant) + "€ - (" + str(montant_total) + "€ depuis le début)") - - # Permet l'affichage de la photo du cigare séléctionné dans la zone rétractable - def affiche_preview(self): - - cursor = db.cursor() - photo = cursor.execute("select photo from photos where id_cigare = '{0}'".format(self.treeview_selection[4])) - - try: - photo = cursor.fetchone()[0] - except TypeError: - photo = None - cursor.close() - # Si aucune photo n'existe pour ce cigare - if(photo is None): - photo = __CONFDIR__ + "/images/no_photo.jpg" - self.image_preview.set_from_file(photo) - else: - if os.path.exists(photo): - pixbuf = GdkPixbuf.Pixbuf().new_from_file(photo) - # Si l'image est plus grande que la fenêtre on re-dimensionne - new_size = self.window.get_size()[0] - 20 - if(pixbuf.get_width() > new_size): - w, h = pixbuf.get_width(), pixbuf.get_height() - pixbuf = pixbuf.scale_simple( new_size, new_size * h / w, GdkPixbuf.InterpType.HYPER) - # Si la largeur de l'image est plus petite que la hauteur on fait pivoter - if(pixbuf.get_width() < pixbuf.get_height()): - pixbuf = pixbuf.rotate_simple(270) - # Si la hauteur est dépasse la moitié de la fenêtre principale, on re-dimensionne - if(pixbuf.get_height() > self.window.get_size()[1]/2): - w, h = pixbuf.get_width(), pixbuf.get_height() - pixbuf = pixbuf.scale_simple( (w * self.window.get_size()[1]/2)/h, self.window.get_size()[1]/2 , GdkPixbuf.InterpType.HYPER) - self.image_preview.set_from_pixbuf(pixbuf) - else: - # Si la photo n'existe plus ou a été renommée - photo = __CONFDIR__ + "/images/bad_photo.jpg" - self.image_preview.set_from_file(photo) - self.imgpath = photo - - # Si la fenêtre principale change de taille on re-dimensionne le preview aussi - def on_window_main_check_resize(self, widget): - #print(self.window.get_size()[1],self.window_last_h) - if (( abs(self.window_last_h - self.window.get_size()[1]) > 40) | ( abs(self.window_last_w - self.window.get_size()[0]) > 5) ): - self.window_last_h = self.window.get_size()[1] - self.window_last_w = self.window.get_size()[0] - - if not os.path.exists(self.imgpath): - return - pixbuf = GdkPixbuf.Pixbuf().new_from_file(self.imgpath) - # Si l'image est plus grande que la fenêtre on re-dimensionne - new_size = self.window.get_size()[0] - 20 - if(pixbuf.get_width() > new_size): - w, h = pixbuf.get_width(), pixbuf.get_height() - pixbuf = pixbuf.scale_simple( new_size, new_size * h / w, GdkPixbuf.InterpType.HYPER) - # Si la largeur de l'image est plus petite que la hauteur on fait pivoter - if(pixbuf.get_width() < pixbuf.get_height()): - pixbuf = pixbuf.rotate_simple(270) - # Si la hauteur est dépasse la moitié de la fenêtre principale, on re-dimensionne - if(pixbuf.get_height() > self.window.get_size()[1]/2): - w, h = pixbuf.get_width(), pixbuf.get_height() - pixbuf = pixbuf.scale_simple( (w * self.window.get_size()[1]/2)/h, self.window.get_size()[1]/2 , GdkPixbuf.InterpType.HYPER) - self.image_preview.set_from_pixbuf(pixbuf) - - # Dès qu'une ligne est séléctionnée sur la treeview on enregistre les valeurs - def on_treeview_cigares_row_activated(self, widget): - selection = self.tree.get_selection() - (model, iter) = selection.get_selected() - if iter is not None: - self.treeview_selection.clear() - self.treeview_selection.append(model.get_value(iter, 0)) - self.treeview_selection.append(model.get_value(iter, 1)) - self.treeview_selection.append(model.get_value(iter, 2)) - self.treeview_selection.append(model.get_value(iter, 3)) - self.treeview_selection.append(model.get_value(iter, 4)) - self.treeview_selection.append(model.get_value(iter, 5)) - self.treeview_selection.append(model.get_value(iter, 6)) - # for i in range(0,6): - # print(model.get_value(iter, i)) - # print("\n") - # Et on met à jour l'affichage du preview - self.affiche_preview() - - # Changer de base de données - def on_bdd_change_activate(self, widget): - filter = gtk.FileFilter() - filter.set_name("Bases sqlite") - filter.add_mime_type("application/octet-stream") - filter.add_pattern("*.db") - self.filechooser_bdd.add_filter(filter) - self.filechooser_bdd.set_current_folder(__CONFDIR__ + "/bdd/") - self.filechooser_bdd.run() - self.loadtreeview() - self.filechooser_bdd.hide() - - # Double clic sur le sélécteur de fichiers pour choisir la bdd - def on_filechooser_bdd_file_activated(self, widget): - if not os.path.exists(self.filechooser_bdd.get_filename()): - createdb(self.filechooser_bdd.get_filename()) - setconfig(self.filechooser_bdd.get_filename()) - global db - db.close() - db = sqlite3.connect(self.filechooser_bdd.get_filename()) - self.loadtreeview() - self.filechooser_bdd.hide() - - # Clic sur le bouton OK du sélécteur de fichiers pour choisir l'image - def on_btchooseokbdd_clicked(self, widget): - if not os.path.exists(self.filechooser_bdd.get_filename()): - createdb(self.filechooser_bdd.get_filename()) - # changer la conf - setconfig(self.filechooser_bdd.get_filename()) - global db - db.close() - db = sqlite3.connect(self.filechooser_bdd.get_filename()) - self.loadtreeview() - - # Ajouter une image pour un cigare - def on_inserer_image_activate(self, widget): - self.filechooser_image.run() - self.filechooser_image.hide() - - # Modifier le commentaire d'un cigare - def on_modifier_commentaire_activate(self, widget): - cursor = db.cursor() - # On regarde récupère le commentaire - commentaire = cursor.execute("select commentaires from degustation where id_cigare = '{0}'".format(self.treeview_selection[4])).fetchone() - # si nb = 0 on insère sinon on update la table photos - db.commit() - cursor.close() - - try: - commentaire = commentaire[0] - except TypeError: - # Afficher un message d'infos pour alerter qu'il faut d'abord faire une dégustation - self.msgdialog.format_secondary_text("Vous devez d'abord ajouter une dégustation pour ce cigare pour pouvoir ajouter un commentaire") - self.msgdialog.run() - self.msgdialog.hide() - return - # On affiche le commentaire - self.txtview_commentaire_modif.get_buffer().set_text(commentaire) - # On affiche la fenêtre de modification du commentaire - self.dialog_commentaires.run() - self.dialog_commentaires.hide() - # On recharge la treeview - self.loadtreeview() - - # Valider la modification du commentaire - def on_bt_commentaires_modif_clicked(self, widget): - # modifier - textbuffer = self.txtview_commentaire_modif.get_buffer() - start = textbuffer.get_start_iter() - end = textbuffer.get_end_iter() - # On récupère le commentaire et on échape les quote pour l'insert SQL - textlines = textbuffer.get_text(start, end, include_hidden_chars=False).replace("'","''") - # On met à jour la base de données - cursor = db.cursor() - sql = "update degustation set commentaires = '{0}' where id_cigare = '{1}'".format(textlines, self.treeview_selection[4]) - print(sql) - cursor.execute(sql) - db.commit() - cursor.close() - # Afficher un message d'infos pour confirmer - self.msgdialog.format_secondary_text("Commentaire modifié pour {0}.".format(self.treeview_selection[1])) - self.msgdialog.run() - self.msgdialog.hide() - - # Double clic sur le sélécteur de fichiers pour choisir l'image - def on_filechooser_image_file_activated(self, widget): - self.addimage(self.filechooser_image.get_filename()) - self.filechooser_image.hide() - - # Clic sur le bouton OK du sélécteur de fichiers pour choisir l'image - def on_btchooseok_clicked(self, widget): - self.addimage(self.filechooser_image.get_filename()) - - # Mettre à jour la BDD avec le chemin de l'image choisie - def addimage(self, path): - - cursor = db.cursor() - # On regarde s'il y a déjà une photo pour le cigare séléctionné - nb = cursor.execute("select count(*) from photos where id_cigare = '{0}'".format(self.treeview_selection[4])).fetchone()[0] - # si nb = 0 on insère sinon on update la table photos - if ( nb == 0): - cursor.execute("insert into photos (id_cigare, photo) values('{0}','{1}')".format(self.treeview_selection[4], path)) - else: - cursor.execute("update photos set photo = '{0}' where id_cigare='{1}'".format(path, self.treeview_selection[4])) - db.commit() - cursor.close() - - # Clic droit sur un cigare dans la treeview - def on_treeview_cigares_button_press_event(self, treeview, event): - x = int(event.x) - y = int(event.y) - if event.button == 3: # Clic droit - pthinfo = self.tree.get_path_at_pos(x, y) - if pthinfo is not None: - path, col, cellx, celly = pthinfo - self.tree.grab_focus() - self.tree.set_cursor( path, col, 0) - # On affiche le popup - self.popup.show_all(); - self.popup.popup(None, None, None, None, event.button, event.time) - - # Mise à jour du listestore si édition d'une cellule - def cell_edited_callback(self, cellule, path, new_text, col, data=None): - iter = self.table.get_iter(path) - if col == 3: - self.table.set_value(iter, col, int(new_text)) - else: - self.table.set_value(iter, col, new_text) - self.update_db(tuple(self.treeview_selection),tuple(self.table[path])) - - # Mise à jour de la BDD si changement dans un cellule - def update_db(self, old_value, new_value): - cursor = db.cursor() - # update cigares.designation - if (new_value[0] != old_value[0]): - cursor.execute("update cigares set designation = '{0}' where id = '{1}'".format(new_value[0].replace('"','\"'),old_value[4])) - - # update quantité dans table stock - if (new_value[3] != old_value[3]): - cursor.execute("update stocks set quantite = '{0}' where id_cigare='{1}'".format(new_value[3], old_value[4])) - - db.commit() - cursor.close() - - # recharger la treeview - self.loadtreeview() - - # Affichage de la fenêtre d'ajout d'un cigare - def on_gtk_new_activate(self, widget): - # On commence par vider le liststore_marques (2è recherche) - if len(self.tablemarques) != 0: - self.tablemarques.clear() - if len(self.tablemodules) != 0: - self.tablemodules.clear() - - - cursor = db.cursor() - cursor.execute('Select id, libelle from marques order by libelle') - rs = cursor.fetchall() - # On alimente la combobox des marques - for item in rs: - iter = self.tablemarques.append() - self.tablemarques.set(iter, 0, item[0], 1, item[1]) - - cursor.execute('Select id, module from modules order by calibre, id') - rs = cursor.fetchall() - # Et celle des modules - for item in rs: - iter = self.tablemodules.append() - self.tablemodules.set(iter, 0, item[0], 1, item[1]) - - cursor.close() - self.dialog_add_cigare.run() - self.dialog_add_cigare.hide() - - # Validation de l'ajout d'un nouveau cigare - def on_btadd_clicked(self,widget): - index = self.cbmarques.get_active() - model = self.cbmarques.get_model() - itemmarque = model[index] - # item[0] = id à insérer dans champ marque de la table cigares - #print (str(itemmarque[0]), str(itemmarque[1])) - - index = self.cbmodules.get_active() - model = self.cbmodules.get_model() - itemmodel = model[index] - # item[0] = id à insérer dans champ marque de la table cigares - #print (str(itemmodel[0]), str(itemmodel[1])) - # Il faudra faire une requete sur cigares pour obtenir le dernier id et faire - # + 1 : Select max(id) from cigares - # table stocks : id_cigare = max id + 1 - #print (str(self.entry_nom_cigare.get_text())) - - - cursor = db.cursor() - cursor.execute('Select max(id) from cigares') - try: - maxid = cursor.fetchone()[0] + 1 - except TypeError: - maxid = 1 - cursor.execute("insert into stocks (id_cigare, quantite) values ('{0}','{1}')".format(int(maxid),0)) - cursor.execute("insert into cigares (designation, marque, module) values ('{0}','{1}', '{2}')".format(str(self.entry_nom_cigare.get_text()), int(itemmarque[0]),int(itemmodel[0]))) - db.commit() - cursor.close() - - # On recharge le treeview - self.loadtreeview() - - # Affichage de la fenêtre de gestion des achats - def on_gtk_achats_activate(self, widget): - # On commence par vider le listestore_liste_cigares (2è recherche) - if len(self.tablechoixcig) != 0: - self.tablechoixcig.clear() - - - cursor = db.cursor() - cursor.execute('Select c.id, c.designation from cigares c order by c.designation asc') - rs = cursor.fetchall() - for item in rs: - iter = self.tablechoixcig.append() - self.tablechoixcig.set(iter, 0, item[0], 1, item[1]) - cursor.close() - # On affiche la fenêtre de gestion des achats - self.dialog_achats.run() - self.dialog_achats.hide() - - # Validation des achats - def on_bt_valid_achats_clicked(self, widget): - # On récupère le cigare choisi dans la liste déroulante - # [0] id_cigare ~ [1] libelle - index = self.cb_liste_cigares_achats.get_active() - itemchoixcig = self.tablechoixcig[index] - - id_cigare = itemchoixcig[0] - qte_achat = int(self.scale_qte_achats.get_value()) - prix_achat = self.entry_prix_achats.get_text().replace(",",".") - date_achat = "{0}/{1}/{2}".format(self.calendar_date_achats.get_date()[2], self.calendar_date_achats.get_date()[1] ,self.calendar_date_achats.get_date()[0]) - - # Insert des achats en base de données - - cursor = db.cursor() - cursor.execute("insert into achats (id_cigare, date, prix, quantite) values ('{0}','{1}','{2}','{3}')".format(id_cigare, date_achat, prix_achat, qte_achat)) - # ajout dans le stock - cursor.execute("update stocks set quantite = quantite + {1} where id = {0}".format(id_cigare, qte_achat)) - - db.commit() - cursor.close() - - # Afficher un message d'infos pour confirmer - self.msgdialog.format_secondary_text("Achats ajoutés avec succés pour {0}".format(itemchoixcig[1])) - self.msgdialog.run() - self.msgdialog.hide() - - # On recharge la liste des cigares - self.loadtreeview() - - # Affichage de la fenêtre de gestion des stocks - def on_gtk_stocks_activate(self, menuitem, data=None): - # On commence par vider le listestore_liste_cigares (2è recherche) - if len(self.tablechoixcig) != 0: - self.tablechoixcig.clear() - - - cursor = db.cursor() - cursor.execute('Select c.id, c.designation from cigares c order by c.designation asc') - rs = cursor.fetchall() - for item in rs: - iter = self.tablechoixcig.append() - self.tablechoixcig.set(iter, 0, item[0], 1, item[1]) - cursor.close() - - self.dialog_stocks.run() - self.dialog_stocks.hide() - - # Validation des stocks - def on_btstockvalid_clicked(self, value): - item = self.cbchoixcigqte.get_active() - model = self.cbchoixcigqte.get_model() - idc = model[item] - - - cursor = db.cursor() - cursor.execute("Update stocks set quantite = '{0}' where id_cigare = '{1}'".format(int(self.scaleqte.get_value()), idc[0])) - db.commit() - cursor.close() - # affichage message maj ok pour qte - self.msgdialog.format_secondary_text("Quantitée mise à jour pour {0}.\nVous avez maintenant {1} exemplaire(s)".format(idc[1], int(self.scaleqte.get_value()))) - self.msgdialog.run() - self.msgdialog.hide() - # On recharge la treeview principale - self.loadtreeview() - - # Affichage de la fenêtre de dégustation - def on_gtk_degustation_activate(self,menuitem, data=None): - if len(self.tablechoixcigare) != 0: - self.tablechoixcigare.clear() - - cursor = db.cursor() - cursor.execute('Select c.id, c.designation from cigares c where c.id not in (select s.id_cigare from stocks s where s.quantite = 0) order by c.designation asc') - rs = cursor.fetchall() - for item in rs: - iter = self.tablechoixcigare.append() - self.tablechoixcigare.set(iter, 0, item[0], 1, item[1]) - - cursor.close() - self.window_degustation.run() - self.window_degustation.hide() - - # Validation d'une dégusation - def on_btvalid_clicked(self, widget): - - # Formatage de la date du calendar au format %d/%m/%Y - DateDegustation = "{0}/{1}/{2}".format(self.DegustationDate.get_date()[2], self.DegustationDate.get_date()[1],self.DegustationDate.get_date()[0]) - - textbuffer = self.txtview_commentaire.get_buffer() - start = textbuffer.get_start_iter() - end = textbuffer.get_end_iter() - # On récupère le commentaire et on échape les quote pour l'insert SQL - textlines = textbuffer.get_text(start, end, include_hidden_chars=False).replace("'","''") - - index = self.cbchoixcigare.get_active() - itemchoixcig = self.tablechoixcigare[index] - - note = int(self.scaleq1.get_value()) + int(self.scaleq2.get_value())+int(self.scaleq3.get_value())+int(self.scaleq4.get_value())+int(self.scaleq5.get_value())+int(self.scaleq6.get_value())+int(self.scaleq7.get_value())+int(self.scaleq8.get_value())+int(self.scaleq9.get_value())+int(self.scaleq10.get_value())+int(self.scaleq11.get_value())+int(self.scaleq12.get_value())+int(self.scaleq13.get_value()) - - - cursor = db.cursor() - cursor.execute("insert into degustation (id_cigare,date,commentaires,q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,note) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}')".format(itemchoixcig[0],DateDegustation ,textlines,int(self.scaleq1.get_value()),int(self.scaleq2.get_value()),int(self.scaleq3.get_value()),int(self.scaleq4.get_value()),int(self.scaleq5.get_value()),int(self.scaleq6.get_value()),int(self.scaleq7.get_value()),int(self.scaleq8.get_value()),int(self.scaleq9.get_value()),int(self.scaleq10.get_value()),int(self.scaleq11.get_value()),int(self.scaleq12.get_value()),int(self.scaleq13.get_value()),note)) - # - 1 sur le stock - cursor.execute("update stocks set quantite = quantite - 1 where id = {0}".format(itemchoixcig[0])) - db.commit() - cursor.close() - - # TODO ajouter une checkbox sur le formulaire pour choisir si retirer 1 du stock ou non - self.msgdialog.format_secondary_text("Note de dégustation ajoutée avec succès pour : {0}.\n1 cigare retiré du stock.".format(itemchoixcig[1])) - self.msgdialog.run() - self.msgdialog.hide() - - # On recharge la treeview - self.loadtreeview() - - # Affichage de la fenêtre des cigares à tester - def on_gtk_wish_activate(self, menuitem, data=None): - # On commence par vider le listestore_wishes (2è recherche) - if len(self.liststore_wishes) != 0: - self.liststore_wishes.clear() - - cursor = db.cursor() - cursor.execute('select nom, provenance,raison,source,id from tester order by id') - rs = cursor.fetchall() - for item in rs: - iter = self.liststore_wishes.append() - self.liststore_wishes.set(iter, 0, item[0], 1, item[1], 2, item[2], 3, item[3], 4, item[4]) - cursor.close() - - self.window_wishes.resize(self.window.get_size()[0], self.window.get_size()[1]) - - self.window_wishes.show() - - # Quitter la fenêtre des cigares à tester - def on_window_wishes_delete_event(self, widget, data=None): - self.window_wishes.hide() - return True - - # Affichage de l'assistant d'aide pour la documentation - def on_gtk_how_to_activate(self, widget): - self.doc.show() - #self.doc.hide() - - def on_lbl_intro_activate_link(self, widget): - self.doc.set_forward_page_func(page_func=None, data=None) - - # Quitter la fenêtre d'assistant - def on_assistant_delete_event(self, widget, data=None): - self.doc.hide() - return True - - # Affichage de la fenêtre d'ajout d'un cigare à tester - def on_bt_add_wish_clicked(self, widget): - self.dialog_add_wish.run() - self.dialog_add_wish.hide() - - # Valider l'ajout d'un cigare à tester - def on_bt_valid_add_wish_clicked(self, widget): - print("toto") - - # Copier l'url dans le presse papier au changement de ligne sur la treeview des cigares à tester - def on_treeview_wishes_cursor_changed(self, widget): - try: - from lib import pyperclip - except: - print('pyperclip not available') - return False - - selection = self.treeview_wishes.get_selection() - (model, iter) = selection.get_selected() - if iter is not None: - # On copie dans le presse papier - pyperclip.copy(model.get_value(iter, 3)) - - # TODO: ajouter un popup pour supprimer au clic droit - - def __init__(self): - self.gladefile = "ui/ui.glade" - self.builder = gtk.Builder() - self.builder.add_from_file(self.gladefile) - self.builder.connect_signals(self) - self.window = self.builder.get_object("window_main") - self.aboutdialog = self.builder.get_object("aboutdialog") - self.statusbar = self.builder.get_object("window_main_statusbar") - self.context_id = self.statusbar.get_context_id("exemple") - self.table = self.builder.get_object("liststore_treeview_cigares") - self.dialog_add_cigare = self.builder.get_object("dialog_add_cigare") - self.dialog_commentaires = self.builder.get_object("dialog_commentaires") - self.txtview_commentaire_modif = self.builder.get_object("txtview_commentaire_modif") - self.cbmarques = self.builder.get_object("cbmarques") - self.cbchoixcigare = self.builder.get_object("cbchoixcigare") - self.tablechoixcigare = self.builder.get_object("liststore_cigares_a_noter") - self.scaleq1 = self.builder.get_object("scaleq1") - self.scaleq2 = self.builder.get_object("scaleq2") - self.scaleq3 = self.builder.get_object("scaleq3") - self.scaleq4 = self.builder.get_object("scaleq4") - self.scaleq5 = self.builder.get_object("scaleq5") - self.scaleq6 = self.builder.get_object("scaleq6") - self.scaleq7 = self.builder.get_object("scaleq7") - self.scaleq8 = self.builder.get_object("scaleq8") - self.scaleq9 = self.builder.get_object("scaleq9") - self.scaleq10 = self.builder.get_object("scaleq10") - self.scaleq11 = self.builder.get_object("scaleq11") - self.scaleq12 = self.builder.get_object("scaleq12") - self.scaleq13 = self.builder.get_object("scaleq13") - self.tablemarques = self.builder.get_object("liststore_marques") - self.cbmodules = self.builder.get_object("cbmodules") - self.tablemodules = self.builder.get_object("liststore_modules") - self.entry_nom_cigare = self.builder.get_object("entry_nom_cigare") - self.window_degustation = self.builder.get_object("window_degustation") - self.txtview_commentaire = self.builder.get_object("txtview_commentaire") - self.popup = self.builder.get_object("popup") - self.filechooser_image = self.builder.get_object("filechooser_image") - self.filechooser_bdd = self.builder.get_object("filechooser_bdd") - self.msgdialog = self.builder.get_object("msgdialog") - - self.msginfo = self.builder.get_object("lblmsginfo") - self.tablechoixcig = self.builder.get_object("listestore_liste_cigares") - self.cbchoixcigqte = self.builder.get_object("cbchoixcigqte") - self.lblqte = self.builder.get_object("lblqte") - self.dialog_stocks = self.builder.get_object("dialog_stocks") - self.scaleqte = self.builder.get_object("scaleqte") - self.adjqte = self.builder.get_object("adjqte") - # Assistant pour la documentation de l'appli - self.doc = self.builder.get_object("assistant") - # Image pour afficher le preview dans la zone rétractable - self.image_preview = self.builder.get_object("image_preview") - # Date pour la dégustation - self.DegustationDate = self.builder.get_object("calendar_degustation") - # Fenêtre de gestion des achats - self.dialog_achats = self.builder.get_object("dialog_achats") - # Combo pour la liste des cigares (achats) - utilise aussi listestore_choix_cigare_qte - self.cb_liste_cigares_achats = self.builder.get_object("cb_liste_cigares_achats") - # Scale pour la quantité achetée - self.scale_qte_achats = self.builder.get_object("scale_qte_achats") - # Entry pour le prix d'achat - self.entry_prix_achats = self.builder.get_object("entry_prix_achats") - # Calendar pour la date d'achat - self.calendar_date_achats = self.builder.get_object("calendar_date_achats") - # Fenêtre pour la liste des cigares à tester - self.window_wishes = self.builder.get_object("window_wishes") - # Fenêtre d'ajout d'un cigare à tester - self.dialog_add_wish = self.builder.get_object("dialog_add_wish") - # Treeview wishes - self.treeview_wishes = self.builder.get_object("treeview_wishes") - # Liststore associé à treeview wishes - self.liststore_wishes = self.builder.get_object("liststore_wishes") - - # Ligne séléctionnée au changement sur la treeview - self.treeview_selection = [] - # Chemin de l'image preview - self.imgpath = "" - self.window_last_h = self.window.get_size()[1] - self.window_last_w = self.window.get_size()[0] - - # Constuire l'entête du treeview - self.cell1 = gtk.CellRendererText() - self.cell2 = gtk.CellRendererText() - self.cell3 = gtk.CellRendererText() - self.cell4 = gtk.CellRendererText() - self.cell5 = gtk.CellRendererText() - self.cell6 = gtk.CellRendererText() - self.cell7 = gtk.CellRendererText() - self.cell8 = gtk.CellRendererText() - self.cell9 = gtk.CellRendererText() - - self.cell1.connect('edited', self.cell_edited_callback,0) - self.cell1.set_property('editable', True) - - self.tree = self.builder.get_object("treeview_cigares") - - self.column1 = gtk.TreeViewColumn('Nom', self.cell1, text=0) - self.column1.set_sort_column_id(0) - self.tree.append_column(self.column1) - - self.cell2.connect('edited', self.cell_edited_callback,1) - self.cell2.set_property('editable', False) - self.column2 = gtk.TreeViewColumn('Marque', self.cell2, text=1) - self.column2.set_sort_column_id(1) - self.tree.append_column(self.column2) - - self.cell3.connect('edited', self.cell_edited_callback,2) - self.cell3.set_property('editable', False) - self.column3 = gtk.TreeViewColumn('Module', self.cell3, text=2) - self.column3.set_sort_column_id(2) - self.tree.append_column(self.column3) - - self.cell4.connect('edited', self.cell_edited_callback,3) - self.cell4.set_property('editable', True) - self.column4 = gtk.TreeViewColumn('Quantitée', self.cell4, text=3) - self.column4.set_sort_column_id(3) - self.tree.append_column(self.column4) - - # colonne invisible pour l'id_cigare - self.cell5.set_property('visible',False) - self.column5 = gtk.TreeViewColumn('id', self.cell5, text=4) - self.column5.set_sort_column_id(4) - - self.cell6.set_property('visible',True) - self.column6 = gtk.TreeViewColumn('Meilleure note', self.cell6, text=5) - self.column6.set_sort_column_id(5) - self.tree.append_column(self.column6) - - self.cell7.set_property('visible',True) - self.column7 = gtk.TreeViewColumn('Note moyenne', self.cell7, text=6) - self.column7.set_sort_column_id(6) - self.tree.append_column(self.column7) - - self.cell8.set_property('visible',True) - #self.cell8.set_property('xalign',1.0) - self.column8 = gtk.TreeViewColumn('Prix (en €)', self.cell8, text=7) - self.column8.set_sort_column_id(7) - self.tree.append_column(self.column8) - - # colonne invisible pour le commentaire de dégustation - self.cell9.set_property('visible',False) - self.column9 = gtk.TreeViewColumn('commentaire', self.cell5, text=8) - self.column9.set_sort_column_id(8) - # On défini cette colonne comme colonne d'infobulle - self.tree.set_tooltip_column(8) - - # Utiliser gtkspellcheck dans la txtview des commentaires - # http://koehlma.github.io/projects/pygtkspellcheck.html - try: - from gtkspellcheck import SpellChecker - SpellChecker(self.txtview_commentaire, locale.getdefaultlocale()[0]) - SpellChecker(self.txtview_commentaire_modif, locale.getdefaultlocale()[0]) - except: - print("gtkspellcheck n'est pas installé") - pass - - self.window.show_all() - # On charge la liste des cigares - self.loadtreeview() - -def createdb(new_bdd): - db = sqlite3.connect(new_bdd) - cursor = db.cursor() - sql = 'create table achats' + \ - '(id INTEGER PRIMARY KEY, id_cigare INTEGER, date TEXT, prix FLOAT, quantite INTEGER)' - cursor.execute(sql) - sql = 'create table cigares' + \ - '(id INTEGER PRIMARY KEY, designation TEXT, marque INTEGER, module INTEGER)' - cursor.execute(sql) - sql = 'create table degustation' + \ - '(id INTEGER PRIMARY KEY, id_cigare INTEGER, date TEXT, note NUMERIC, commentaires TEXT, q1 INTEGER, q2 INTEGER, q3 INTEGER, q4 INTEGER, q5 INTEGER, q6 INTEGER, q7 INTEGER, q8 INTEGER, q9 INTEGER, q10 INTEGER, q11 INTEGER, q12 INTEGER, q13 INTEGER)' - cursor.execute(sql) - sql = 'create table marques' + \ - '(id INTEGER PRIMARY KEY, libelle TEXT, provenance TEXT)' - cursor.execute(sql) - sql = 'create table modules' + \ - '(id INTEGER PRIMARY KEY, module TEXT, calibre TEXT, diametre TEXT, longueur TEXT)' - cursor.execute(sql) - sql = 'create table photos' + \ - '(id INTEGER PRIMARY KEY, id_cigare INTEGER, photo TEXT)' - cursor.execute(sql) - sql = 'create table stocks' + \ - '(id INTEGER PRIMARY KEY, id_cigare INTEGER, quantite INTEGER)' - cursor.execute(sql) - sql = 'create table tester' + \ - '(id INTEGER PRIMARY KEY, nom TEXT, provenance TEXT, raison TEXT, source TEXT)' - cursor.execute(sql) - - # INSERT à mettre dans un fichier à part - sql = "INSERT INTO modules VALUES(1, 'Laguito N °3', '26', '10.32', '115')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(2, 'Carolina', '26', '10.32', '121')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(3, 'Panetela Larga', '28', '11.11', '175')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(4, 'Chico', '29', '11.51', '106')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(5, 'Entreacto', '30', '11.91', '100')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(6, 'Palmita', '32', '12.70', '152')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(7, 'Delicioso', '33', '13.10', '159')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(8, 'Palma', '33', '13.10', '170')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(9, 'Ninfa', '33', '13.10', '178')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(10, 'Panetela', '34', '13.49', '117')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(11, 'Placera', '34', '13.49', '125')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(12, 'Epicure', '35', '13.89', '110')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(13, 'Sport', '35', '13.89', '117')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(14, 'Conchita', '35', '13.89', '127')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(15, 'Carlota', '35', '13.89', '143')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(16, 'Cadete', '36', '14.29', '115')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(17, 'Seoane', '36', '14.29', '125')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(18, 'Veguerito', '36', '14.29', '127')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(19, 'Delicado Extra', '36', '14.29', '185')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(20, 'Trabuco', '38', '15.08', '110')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(21, 'Laguito N ° 2', '38', '15.08', '152')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(22, 'Parejo', '38', '15.08', '166')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(23, 'Delicado', '38', '15.08', '192')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(24, 'Laguito N ° 1', '38', '15.08', '192')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(25, 'Belvedere', '39', '15.48', '125')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(26, 'Perla', '40', '15.87', '102')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(27, 'Franciscano', '40', '15.87', '116')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(28, 'Coronita', '40', '15.87', '117')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(29, 'Standard', '40', '15.87', '123')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(30, 'Londres', '40', '15.87', '126')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(31, 'Petit Cetro', '40', '15.87', '129')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(32, 'Almuerzo', '40', '15.87', '130')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(33, 'Crema', '40', '15.87', '140')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(34, 'Laguito No.1', '40', '15.87', '192')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(35, 'Minuto', '42', '16.67', '110')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(36, 'Mareva', '42', '16.67', '129')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(37, 'Petit Corona', '42', '16.67', '127')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(38, 'Eminente', '42', '16.67', '132')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(39, 'Nacional', '42', '15.87', '134')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(40, 'Cosaco', '42', '16.67', '135')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(41, 'Corona', '42', '16.67', '140')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(42, 'Corona Grande', '42', '16.67', '155')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(43, 'Cervante', '42', '16.67', '165')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(44, 'Conserva', '43', '17.07', '145')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(45, 'Cazadore', '43', '17.07', '162')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(46, 'Dalia', '43', '17.07', '170')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(47, 'Francisco', '44', '17.46', '143')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(48, 'Corona Gorda', '46', '18.26', '143')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(49, 'Taco', '47', '18.65', '158')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(50, 'Julieta / Churchill', '47', '18.65', '178')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(51, 'Gran Corona', '47', '18.65', '235')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(52, 'Hermoso N ° 4', '49', '19.05', '127')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(53, 'Paco', '49', '19.45', '180')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(54, 'Double corona', '49', '19.45', '194')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(55, 'Robusto', '50', '19.84', '127')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(56, 'Gordito', '50', '19.84', '141')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(57, 'Campana', '52', '20.64', '140')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(58, 'Panetelas Extra', '37', '13.49', '127')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(59, 'Oficios (Corona)', '43', '17.07', '135')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(60, 'Majestic (Petit Corona)', '39', '15.87', '140')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(61, 'Figurados', '60', '20+', '150+')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(62, 'Torpedo', '52', '20.8', '125')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(63, 'short robusto', '60', '24', '102')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(64, 'Mini Panetella', '20', '8', '125')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(65, 'Indéfini', '0', '0', '0')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(66, 'Très petit corona', '40', '15.88', '102')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(67, 'Toro', '52', '20.8', '152')" - cursor.execute(sql) - sql = "INSERT INTO modules VALUES(68, 'Prominente', '49', '19.45', '194')" - cursor.execute(sql) - - # MARQUES - sql = "INSERT INTO marques VALUES(1, 'Cohiba', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(2, 'Trinidad', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(3, 'Vegas Robaina', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(4, 'Montecristo', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(5, 'Cuaba', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(6, 'Romeo y Julieta', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(7, 'Partagas', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(8, 'San Cristobal de la Habana', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(9, 'Punch', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(10, 'Hoyo de Monterrey', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(11, 'Bolivar', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(12, 'La Gloria Cubana', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(13, 'H.Upmann', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(14, 'Fonseca', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(15, 'La Flor de Cano', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(16, 'Troya', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(17, 'Quintero', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(18, 'Los Statos de Luxe', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(19, 'Caney', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(20, 'Belinda', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(21, 'Cabanas', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(22, 'La Corona', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(23, 'José L.Piedra', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(24, 'Cumpay', 'Nicaragua')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(25, 'CAO', 'Nicaragua')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(26, 'Dunhill', 'Nicaragua')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(27, 'Nicarao', 'Nicaragua')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(28, 'Oliva', 'Nicaragua')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(29, 'Padron', 'Nicaragua')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(30, 'Flor de Copan', 'Honduras')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(31, 'Flor de Selva', 'Honduras')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(32, 'J. Cortès', 'Honduras')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(33, 'Zino', 'Honduras')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(34, 'Villa Zamorano', 'Honduras')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(35, 'Flor de Rafaël Gonzáles Márquez', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(36, 'Macanudo', 'République Dominicaine')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(37, 'Pléiades', 'Nicaragua')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(38, 'Toscano', 'Italie')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(39, 'Davidoff', 'cuba')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(40, 'Avo Uvezian', 'République Dominicaine')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(41, 'Don Pepin Garcia', 'Nicaragua')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(42, 'O Line', 'Nicaragua')" - cursor.execute(sql) - sql = "INSERT INTO marques VALUES(43, 'Plasencia', 'Nicaragua')" - cursor.execute(sql) - - db.commit() - -def checkconfig(): - """Récupérer la configuration ou la créer""" - # Fichier de configuration - #configfile = os.path.expanduser("~/.config/cltwit.conf") - # On ouvre le fichier de conf - config = configparser.RawConfigParser() - try: - config.read(__CONFIGFILE__) - if config.has_option('MesCigares','bdd'): - bdd = config.get('MesCigares','bdd') - except: - pass - - # Si aucune conf - if not(config.has_option('MesCigares','bdd')): - bdd = __CONFDIR__ + "/bdd/main.db" - # écrire le fichier de conf avec les informations par defaut - try: - cfgfile = open(__CONFIGFILE__,'w') - if not(config.has_section('MesCigares')): - config.add_section('MesCigares') - config.set('MesCigares','bdd',bdd) - config.write(cfgfile) - except IOError: - pass - finally: - cfgfile.close - createdb(bdd) - return(bdd) - -def setconfig(new_bdd): - """Mettre à jour la configuration""" - config = configparser.RawConfigParser() - try: - cfgfile = open(__CONFIGFILE__,'w') - if not(config.has_section('MesCigares')): - config.add_section('MesCigares') - config.set('MesCigares','bdd',new_bdd) - config.write(cfgfile) - except IOError: - pass - finally: - cfgfile.close - -if __name__ == "__main__": - dbconf = checkconfig() - db = sqlite3.connect(dbconf) - - main = MesCigares() - gtk.main() diff --git a/MesCigares/bdd/JEROME.db b/MesCigares/bdd/JEROME.db deleted file mode 100644 index f9883017bcf3960b8a40bf650df153b2334d984e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646144 zcmeF)33wD$-ZuPN(wz`UNJv5!0;!OMB#?B{*~6L@2(rWwP!SE4?n=_w>1uijiy#CM zK~Ydp!4bs;A&QF2IJhHGSwvjMeH;bEeFHbZ1>XOu>h1&woxIQce9v5u-`$rt1$DYk zo%+>wPF2q}Q_r1f^C(i2>S~oeQa%^N@jO>1NgOAnQ|59Ue?3jl<2cSq;VJ%4_rLq+ z{bovaWFO8n&|E?Mk(JF9f7buuD0;=2V!1d}j1o=?2Zi0jcHu^0 zk)Q~Zggl`if0BQPf0p0EU&-6~X?zJkh!5hv;0|z)a2vVBTr=n9rgH<*4D?@GWNcKe z;<0(8O4X(IPcd@wG-r~{;q|BmdFG<5qGGc-H*v6$W8a)8H+yX!Rhq1t%mumT!mN^F zb7@{ovXP6W(n^=oD*I;_9bD~cPa*EiK8JFK$H8Ysz+OVmr)COB-KKpV`(0|w}88talB7Mt55 zI|6Gm7sVv#?XFc^_P{c^dGYZ^E{PgYq1f9LtKw4fOKD3BO3ZnMgW`-_CTpADLE5!l zGUu02d2R_w#Kr0jsZ#7Vi)>Z9O8WQLWou=ZGCMH8sAy2kS!&GlFISis8?9^9yW~c% zC9t45cTkkRpnp|T^*oPD&Mz_-WaX8bOA6!r>02>fX(oNzY5t`(&p z3;Rdt^DAYm;t9+*7smG0+fXUH?5ao3FEr<8m6Vzb^5eq&?hZ=}x%*4f$%x9VS_ur$`_TQ@DiHX_fQmsLy$ zcV4_fU#8mOaVfHe2y@NmtWr83a$|z@wN$p)EGl`MvkGZ;(I8RZDgM?<6J=MkoL55S zX0y4tFi!A+$u8AybI5r`=G-i{Li0f0$ff`0$jYY+jj@XUFr&zgGCK=RceMJLkXY z-<fIh^FNuJ!-=1Y`^4?yjpAiulQ>Sy*6#m@>Hgm#tQ8!>xq?|3!2iO3 z$nWDHHzM3D#M{&owe{j3GJGg78ik^KEs*GGRU5{#AYOBqmI6MlWmzoL+&7}oV zl}0WmGA62?ZnuSbdATNbpr%w9xqMon-qpF)ElEzTPhnvw%pv@gfe!`?92KbHpzG4w99#PkmnU9jA2*B$S8LU-9{vr+URwA)S}$H z0;;S3Xm;7wTH#cz{)W&UV-&k;N5zb_HG5rj4|db{bBCD=bBCpmG;$-TiIe2nirZte zNEux{ABUXDZu9I4P>?H)Fml=S#VJiT3*9TE46S1!XBOm}i%q$71uIM%ZsdkB9^Y-r z?YsR_nReV3$Cm0hl}fqQDLZ71si=VJjxEs(#;GnV-IWV-NwtIu%(2CKL7l#p{(`*X zfkpbQp-S~O+7-!X8rU1rg=}xIrdU+}J}Su_RG{C9#w)H?y4y*USx==vE6**Y6Ldhn z-Z2_S9V4ylN4u%mTw*FJ%*!uK$rP zeNl5^Nn)05mijbazTE4j($h=cgNI%0urV2g8Uehen+j6?KasDU7Q=2 z?Z0C#pnd65{3S(saan=Rhg)&A1(qo&j2q@FVYAthOZ`}OA1f*xI8>+fw~jX68YnI- z?4RlD0O^OVZ?S^h{u%!HZnm+$`T2!$>H3N$%XFAHWIL5;M^Ju2+z`E_+JEx+m&r>^ z(}B7ldj1;e(wwTVX%cl4X_I_Q<(0DYpL{scDtsms@+-Jk=^q@|UTh5EMkTcex93cf zsdMYKs?sFc>UF77mCb2a>1DxW>WI3iyDC%9)1pXoyoxkCU89r~kL32cB%14HFBdwu z$dX-gOHDG320AxMg@>1JlkBq8NFA>hkH5xh6UaNX>1rHOnry$)dLA=zq;= z^|c_oRcpa-|DA31waC=sX|=Z(7=pPeN!9Ha1{yxy=J3ePihl#lrKQCZyTk;xpx9K* znxqvps;tR0aBx!l?Dqe=2Da&I@-;M@RoKoF-zB8dPW{ii&JHJCP;BgosA3m+YAIdm_3O8bjz88~g$^aBBDJYD7acmX z+a?j6OZB$NbScV`EHW!pTpopV{@@6)%h^q|{%osnJr0@v%C2VF7S@z(hnihbq5;nr zg1Hef#qE)FxYE%;N^Y-{n4G?UR(c!dd^!r~B297{nq)4@$;hGYI0F|ZfQ<#NshmoY^~O8|3CG88_x%GSvl~sboz0{A&^ygVgL_y}rP^X^l(VPWn(b;H zTfC|_Ye=uu9xm_S@eOt_UHfE*O?Fc)%Ggj=OIS(|YbkG28}bT0Ee%s`j%K^kpuw@$ zoYRZd6Pw(_dZyF)!H#?x3$MUR(FusR1)cUS+ zXKWs;CyalU6Zwld{$jx^ridy37iT-Z`fmm11O>+q7{Iredf08PRkeEQfbdO%D(kAt z>#L>u@`{Pol5eJzVY5m#lk2O;Ro6+ibv2X9>n@PaslFh~_XUaF8tt}5x`}2P zk2u+1?W%*G#!;UuliGCGzirol_zUgBB7m=~70h zM4xn{mE16rODGKPW;y|QwPLBPpZ3px2wL; z%=Q`mSZn#q`)aL~EiJN#y6f!EF=sYbpZVX?*sccnHpnWo_SILPU;nS|ce-rz(xtHz zr<9+i@Q*j{KYS!$^$>u-e^7w+{|9n)oOoD#Uc6cKh&5cDm?4G=Ukdw$b;6~>g~BKy zO$g$T@~`oa^LOx9^De%Y&*LMwZ@K&Fxu5+vji)zR1}=x^$D5{Uy*wIq>%F|NkxBGx zgHb%M4H&HoJshH*kyNL8THNdjkabXTQlj>S%JM1nenX-+Q*AbxhPq?rHkG|-iXUA; zZ{6B?s$89~()d`Kq_TdIOPMcC)gI(&^K0k3khl9{qtqJ??IQlcd-8dv=NA;jXN>`qr)4x2mJ)GyM&rSN>MmtL$%PWET7+@uJdU0<<27?TPm|APoVt$$x_ zRe{Q?SR)F8ixb1ORn@E7`%nEzr8Hf!(C$=+ln)r#i=wx z8F!W=u$2uxq$X|XVNA=UQ3q9cwj=A0z+K_>-QN)7W(Kv`N)3nUoAlI%NnYjdCHS4<($^ml8pVr1YaiQKBg^l>U@hN*pDg zl0X?iNu&&<45B1aBuX-6FeQbON|{I5M!Ao2Kji_+cFKd4hbRwI9-;h|@+jqRlpU1E zD34Q~pgc)=it;q&8Olz|vy@$wPRetX=P55xc2o9J_EBD>?5Dg$IY4=t@(Sfu%4?Lr zQ(mXML3xw%7UgZqJCt`R|De1_`6uOl$_JE#ltYxmln*IKC?8QirhG#Al=2znbIKQ# zFDYM9zNUObIZ8Q3`Ihn><$KBxlpiU_DJLi=DL+wu<~aT~$|lO~lsjl%4keWSPTS1W zHuJR2JZ&?-heF%U({}T;-8^kKPutDYcJs8|JZ(2m+s)H<^R(SOZ8uNb&C_=CwB0;y zH&5Hm({}T;-8^kKPutDYcJs8|d_JXsQb;MH6jMqlrIg{65tNaXQIye?F_bb&Ii-S9 zNvWb#Q^r!pQN~khC=)2>P$p6)Q6^KSP--dXQtBvEDfN_Tl3;@S)>W6+S4;Kf6%(tabbV&Jlo2Y?C*5XEmue>0SC6Z%lWOZ~CY9G+Ae~cvL6%vt6>ytvb$_em09 zaYpO(c~XYWde%lsHfw{$)-1aee{q(iEuytCv%P=+;Mf5J_@$z@8vUDY-$XcLMd`k| zJ#?@tZd}8M{@D(8Y!3t=009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG|g|3iTjRQCePrIdw~MU=}Ziz!Pe?UbdI%PGq!S5THyuB5D>tfX8; zxtg+yat-BL%4*6Q%5{|MDQhX~C^t}Uq})VVPuW1ZnerFPEtHLvTPe3uHc@V;+(EgM zau;PYolzPfE%5=(kl=CSUP-ajrq|BtS{YU#zp#3S#qR155 z&w_@FVJxy(D5L&Q0Vv&=r|EBq1Y*{6bD76I4N@|E{dDNjyqZ(N9*Ni{T#J} zqxNvrE{@vAQ9C(mFGua>sQnym2S?k((ROjPeH?8kN88KMc5}4-96500!I29`J{&o5 z_h~xP0Dc@0kpq!-qO7jJp-c0!m0Q4|7Oeiwn~C zKzcu;&>d_~+N?i6>3+r_QoCUL#EMqD8-5$B0cu|=FEo-fvlxDJK3So&bPjCt?!Ytu@ zp;j0#l+h~j`ClwxEDhp#zLYnXuxW{4EN0VU-dMz@MZB?)O$&Kr0h<=^#(Xx-=Z$%6 zn#UW>Y-;9>xony%7<1S(C(3AIQxj**X47omn8l`9ym1(t4&#hN*>osp%w*F{-k8Cr z8N4x_P1AYf5H=mc8`Ib{O)#diX)13_Vbc`eIG9ZbbH-#gO%{z3n@WN)iA|Gu;~+L2 z#2E*&=|Iky$fk+BaR8eR;Ef4vn!p?5*)*Or#<6J}XN+ajSl-y5P5bl47&eU&jnQlx z%^RcGG>SL&W7B@TF_KLqd1C~dM)1bIY}%JMhO=q7XbfZ1FwWSAP5W@h-fY@iFov>e zC~xe=ro9AX2%CoR#$YxL=8Q%*H3~)pn;HaT5Ss?kJ)TX)UPkIx^1KjaqO_-t88uXVKiu)T_v$fdZqWU607QP zDo&e&jsV)@4UKlM!uHJhNvsz0kRH}jCAZnEYEx6gB%9r?I2<-_YeNP7#o92nMRj=^ z>h#^kY92p`)f^et!U+P~iHO6?4w<|q!E>dI#Ox_SHnZIdE;SXZUmVr!HeCTWLmVZ&5~P6#^hSWWEw zPvKfP@d(}Zx6!@cBQ}VYV!GH*_)$0{?5Df-2L1JZW&ecyPt#seD;*H87shuljPSQ6POmk{ zT;gA{tdGAeRxgX`Rz^=9*e58eKP#hKOjlVLpAe%j5Y;uaEO#QSjW#=4FYA|=8(0xN z+F&0(AxbX`=~kBPC+Vk`MRqF-Y*{3g(Pjq+%JTBd68*b3f-Oilxvs{9@(F$Q+Jvr| zWd?msVnVoH*0)<(hQAeIdf8c+gs49Hii};$1qDU*)@O!w?X4g_AyluWPuI+{B;OjM zdg%-F?kY3z2_gCdpl^~#LqB0n~*-JmaE=$cs;I4Fbk zvLJJTe}S&UK-9}bbJw1uheYhtCxIRtvGYslww%v1h9x5eduKZ+Um3`^AwXH2%$m7AVCb`#okN%iki#i=blklNM4@* zkgM!+@sNt!x3Q9?Yr`eQBRN!$;?|lgyX02IZt6m6RUIBhQi#xNbGu~+Z6gEg-0D)g zE!Lu1w9ZqPqRmPjL?Tlp*((vbZztGoj?NC*Mhk0>ax=NfjdsNps&^$Nk3!u5*143L zYz}FTH=QtO?~!}wJ*|q=L>*7sWr|eb+g&Cy?PCZEp{HJ=*tdOdkS>yZhDcmq;3TXL zh-68Ps?ANi?RSn3R_<^pQfEh-YWI3b1+P&*RDrtqs^V+K9Sab<%9Fn-Bu^NLH`pKT-uz z2oDJ{vMm?F*!iEy&E#nG|Gv0ed`P@gyo$#9^RdNGqjFz2LMSG%_b@-%l zT90osb?aSnvsX^1pFQwUzps7TM-dLL+EwH!#NE z#x)Z3MojGti?E+bvA-Ae7YQlKc zL8AiM9YLeYn1M5FU32==_%eCm1d~MFI1imk{%^+9cr$&Ve~nYw5F=1TL(s0GO4TVl z{6$gJ0gX?pm8~==3T$CN8luJ~O|jeBWSu z*{Gz-@+pBiQ8cKHPpb5`I_3F+nf+;mn;A1fWrzMmlRmQ2_63c2lVT>yYzt|q#%A@U z!S8^WO1V*X$Zl;0je-ZnR48;BTeWY5(Qr7HzTr^jYo;_RHpfg<-O^N#Og&S!7bbe= zDXc6alI{I-y*9d_xM&2~D2LIQIX0%=rOwytilw3RFxCLSCRM9_uP=?I2gHn39d5;< zeKUdv)dOS3o2EHiWru@R6-UGCY_{w;+V?iv2Ab#F1{!cvlU2s*VqcA?k#|nacy+$Y zS~rPZ-{?xOH9w37~4i zoqRSYmPYQwV(MtXtV;8x30^v;J-QVQ<;luR%d+o9(TF}JMq9r{tDen_q2Yac%yfmu zEfNiV=(N!{m`3{pNlG8Ku`h(MCCR?4Kf7wvJy7qU_`XgJ zp<70)|GwKqXJfOAPUp@JQ{XN-JaBKad#Tf*-z7Zkj_sreEc(sW;-!0(|8`^wEtgzM z6T88hLRmk;B|DvT!J-=}U0Xe!9XU>yZ64h?LJdZvCb{+n61Z_z!T zbqORV+i3lUnd7@vXS90VmQ0hc+eOcAyjn*~wzZzo{hH&oNse^I?UCACRK|J}tjA_) zp}qs%cU`pS10t+T6=4jf+h~v=gtZq1YZ^<>>_G75LZ3#~1nT#&J|C;l>6OTrx-b^% zdUosn(T!1>O&g%l6^r#@YoiJq88d}edFeh+okS|5>jM?}JD4O!%XVJ} zk6OV{{#QVez;$@;m94}^z{eqU9_W`B`?seYqa5zm_gMIn6r zNd4=%fq7*E^0kl9Z-oB!-hm&3_C=~ZOq75m$i=qEJmMZ>y^f_z)jFITT=XrM^s`{n5KG6VC1_;{0EMMhv= zS&qNSiFa{{T&*Y`6nFD)h*yfLSSJ>VvBFov3&Op0?q4Z*g=xZ2!60_<5Aw;p zi!bNb(mDSDw~1TK)&BN`&n`7^7x4U4*&$WBY;KR*DBC5gBH3kWyxb@|WU1ON)w*mB zi_NKoq$HIXxKTVm-DamR%#d4Em+Vlb$`-H7(n9kF=Zz{haPxVd7OGR`OI3BEwaN) zD>j!Fl}Llf*_vglYH(_0PQHP=i05nVogFsWs<@?Ux04o?CabOVPid-Cq1M=?3dL@- zsBSf_I4MutToL-*)5f~${xk*I;)b| z9A2DaGH})OeLGda+N{{ys6lF@m-e4DNw#`jYEp4#wt+jBZK&*4G~qhMt+?omQ(RvN`R9;z=D9G0ecxp-libhayce4=s-vdd8f*p<^O4&zO@x zv^YLP+e!6w@Yt-fHPFC%p*SsF+s##~gANR*%^{7GUF;yJuzMA$#?fZ8(7wzp&KP3g zrto|fkz3WKCTS8KVv56I^R`M;TU3|FUuF83foTS=lnw~5jU6zmG*NX}U2Nyh^SI>5 zfeEPwE}tx9mq%_U;E8nXdDwyI4z3!IV&DpSzMPK5yh2ZlR8A{sQ(SJ@H9w=W|6l_* zjOQ!W7F(k%O|>=KRjHL$vGrrMh7s=9JI z$COst9h)4RWZ<&tC}qdD@2FshOHk&ZLE5eew6s!nsSaxKRD~Tb!9&>nKZqa2@uP$R z!ZPuk-=5F-_a6wfUl2EYzPSvY-X46UKBF~rE$BZRhBh3brSC+PMO0&6PkVjM16=t`_gbh&L- zTv?KKIrq-Xv3PB+F5BUf&8oCY8Frh4d}!-4Lj!=rStAsiU6R`r3u~EwN6hisB-!Pn zlQp#7)wz{z7uyhapRsrwWxA@gdD*TYP7;^sDnCyUgm9ygdGSKu_PpNuX2f^f2%ZlL zY)0WEo8p~EJA!V9w7mb~(aNquK0JM|>3c(x-EL)p)I=91Q|MH$%R{@28ra?3Eh!$o z{fb1pn(m=Z)J(P^ikrUcb-QhnSKk{Rm+I8&QmE0r4F)4m^n7oQ<4@c=%UrXn{Uv$% z^6C!j(U5sbdv1$dx$c4q5zAH%{DqHx^VQ0GYMd42rjCg9p}UeDUM1Xe`->kR+IvYa z%k|H_R9*J&pbw*G)h-#l_t%SSraph~s=c5Y-Z1ptZDmmrhhF+F zIyu7jNYx#4YNpS~o_6(um06K{%4RKkq4K8cyH`0L3#+m8x#&oJ z%sVe07&)$R)~p+!FP+`1)>~N+xl-^9S!zDmTfO?4{bp&DXb1^??wYc?H~Sqgd#_)s z^N#u<(ve+D?%1>`Vf6Uht3Nh;ytXJ*xZ4m>8~;M9b@0SpLhd8E_pfM=;3uEIqvC}} z*7bhjo$EGzW_@wO!6*78f0g-O<+p=_cND*MCpS{yre0_RH#0Td`MrO=d z_UgO)#~vDW#ro?@oL|Sjzqz+d8d7#3f9dU;9(X16xr?t1oB6si=IZvp_ZqaU?V|B( z{yB8H_sI8GeKN=J?TY8+T_d-C`sB=vJ;x44SJW-vmGZqU^zrs*@3=Gdy|13VC1Y0Y z)}UkSx7dc)G-qD5ZRfdQ6Z2Y1#O|w?&r2P@vEq`**d@n$|6}IkVe6M}K2o=K?&HPla<*iQs($H?AJ41( zOWKxc{Xe>TMuqq7v`iti@vhvh?baoCZ+^{n^Woqd?s&GWVCRwYjJq;FUvax*Q|;rA zE*bdI-UQ**_ddGiGFRwbEwe+UIRo62?=(C$bhvf+^mqA;<=;-b<*Aar7ep`3E1R{a zs=A|Nq3gkQ5nmMbIWKYD-di@TDi@WFRp;MTB=>td;_ZtocicHX;>1ID#f7A<;X3hNi zr7tX$j(^%OW^7~PPkYL8wu_5PpSkUGQ|v46$an7x8S;X4aL}BsZ{KzPEnk0n+n66? zt`8AItDhTE|5VyzsrO%K2}?NoY}SN~yP99j{b$+>Gp@RLP`#x-dfm@)5t+LtU)T8d z*w41#IP3+!&+bnnwv{_KJQpKechQYoWo6Ch2hO|ir{wilc45$4S}wIgVxn+(B{|LTyiVjD%=g#R-479IvOV0TB#>zl^f_e zgqf{wTpU|n-}oM`&Lua=ioKy(bu5tWR4?81sKd-E8WkJF@rz=6SWio~*V!sN9N7*v zJC7|svOg_;X-p3nw`d(qH|t-rtx!hAu$4#maA~WrgWTXy8}dxewx)_`hG2;7;qtX! zhovQ3`%}{XWE(I%ikdLDZx5^R-yN$8G`oJR`F(o0Y-?99xItUIGLkhvxOWeiciI(g zDA&+RBMmwba*woqAl*)hL;F3uiQ^dA<)B_#!((@v&GvvjBP%27ju zxcDUfp=)3!jsJh~rd{;OZRvtrH_et57<8hP=4Zz??t+chNpa7;$Yk{ceJyK~d#jHyeL7p7dC z5FH!;^|RadPPir|X4TUra=PKmy#uYLkYk_T`1Z{m84r!NygKOWE3yi9z9m(6HYRMm z)_dN(D|cD@O6eBK~cGj4qly-^2)#) zLhl+pZC`C={6nkG*}1Xy;C$*;eY)(m`NI80Umh$dbCre~>Yji8yHM`F&!+On!Y){L zaKpF5GR|MHX6MtnBi8JEYf9?1p~HJ!vv^lt(>J}P1<{MdCttKQw?{uI98AAR*q)k@ zf7RHl=B#+*n&$L*3y+i%J?oZZ{5_w|$$bczaQ=uZHf+ydm+@y4NDt$Vx+~p(RXn$_i10&Sfj~|RRxF+lj?pLv9`^`JDrq8H*srR$(1LH3k z6bwls^=%We4O3o=;#if4QTe^JRvgs=ZWo~>qde5xAu5!ou zJI*PZzFJuR?#9&zGM`CUyzQO#kDgsHBu$yHW6h`SC!>qbTXJws*cNBwvT-ZF44&R^ zX~?pDnYVYE!`ttg&@OJ)=s{4``KbJ9U!?dcqqxg&$qF#Jv-6r!5``UZgB`iGhoTKBwit8&L-7M4w z^?rFq-xcLyWf!ffe1631*Y8}$k59eu;X|YU68D0k_Qu)0Ub=q&$3^^`E9ZW>Yv;1- zgn~P7-oEC@(M>O`PTxO#wn;G@+C5gfZ)x-UwkNOIu*=)LXmIt4ruG>}C%@Q{)c5&$ z&()_F{_@6^FR!n!uB{6(46aym?R%SEF)iGfytPk7zoa*^`Qg{qM!&RnOWFE6vimH( zul~-=q6cQJymaW8cZLsr;@WZQTZNxC#oQC5_y6~B;>AKgZqNUQ3*Xt>xO7~k-uCDSP(II_uOKWSx5I(rJ}w zy?E+%(?CG$j8kXS|Gb_?0`x^zfnEn2R&;Kmt~piFttXkG^(`~0(G zaRVEjI3$7YrtalqR{gzoDAax%F{H8M>=qPvfjHN(tS<0AAkIUKkMIW2dMh-6UjqL_!o;g(0 z`s!_pU3JnsQjbK>c*tv-!}q?!KlBK!jvkr&JNNqQ0jk@oxE%Bb$M@F8J)hn&IDVM~?51HPJf@dcf~{k(5P;inop46tPx1+#Z+L z!rDo*Rj*0lgy~bB+dC|22nJ1N|g|YDnv04gQ}qWLLP9HvOq|n9xo?F39D?QQR*6X)%KS`iGzP zzWwzp+SD_yXz_ukLdEQk)p*AJj4qV4C+D$O(At~NTG^p^6nZSK|C}Q5zS2tfF}f7e zHMf=C&$5@vq5c~cy}Y*Dv=`RwenoFELk+(BRqyusQCf>GPd}qY!}4=|*VqA-{zoI) zV>4x5XNSebUYcjIccye9*KR(uiIr~L?7reM=?`4!`FnG>cjO-W{gOr7hS}-bTXy}C zPnJaQk{#(X-8(GQbl-(so68;&X>arC9k|=ZZj^M-3)M$pY{lA>MD1NZyF=?QLG+tE z`yo-Iokndm&7hmM|8nlmq>HwJwx6e0&b-iG7OidjQu@J3w@*0z&`bZZVty?tGk+Qa zvX|D{t(jV>ztGn2W2%+?Hc0Pium@a$9~J0L>D(eqbRVI+8+DcfKJ4KkJlddf_WgV|B33}!!EXrjIYbEV^tEl52+c9eCn zr>Jz8)zdsWdb=IszF&gSQ(l8WPethoDQ{r+e_lMy(SP_r00Ms!fnkB|NTlD;r$xp_ zu~A}+_A65QU1F}e)KpSnHWzZ7z-NZPap0NJ_upDJJS_E`)%Ty;aBSCDV|e*H$FBS^ z;^`7=;;Ljv>iTML{s-5Ft{b;z%TuRLH5>Py6Z>4)D#Nx*5}U89ziQg;W54t~|J=uE z&HE13&7HgSy>GT$Eg4-`6uf%*I>&j@x43V}3Y%y+KWSC;%fVIBvW-)R-0)S~=WY9q zvGZ4n+|;;XxBO7`!qTM|-}v!{wS5kpxGw1Rf%SO{mT$ByG5jTA!|Jt;#`*2lr z#`0(LTaQ|n4?mHW&aav`FL>sPcT9Jcyc*wY?X;ivE_Y2|KI_Frk>($E+53!|zUkq( zDWlCVWM!^d@%ft%TgF6P7hRt_I!wLb*111C`sPhfpR*_!DG5@$^QOW4FxAJ#~4!S#OX7BTVc=g!#hu?1a=-n8R=o9wEo$W>z50SQcUjq z!w+>vt@0cQt_;4`uw)8Fk%?b8i!KJ&o?_piS7n?5yfKKARW)13Q*(H|W6 z>#4`a{Poc4pKm+)){jr#_U@@?Zn<>P;yZ6X_0O7TR{#C2iwhbT-}%YYmo3h@@8nwx zzutB7wx3ROr=R08BI!oQi9Fo{g6O_L2Mr&Y%$dv2mFHY{G@|{%S8sn-sy%k-^t)UL zFYx@Bh|}C#qT629wDQhL!7DC0eC<<{?|$OD_l;YsZ$A0)6U}ws_PI3eg;#F+;hUG| zJybN}-Nh%5U!F2~`BmcbpDvqs^fT|PRTDq|i|LnZ4(EMg{cP?(!oE6iNzkJ4$BrL* zGNOF*>(cGR7k=|gs*u_A@RyZ8zx>n%4<{ItqwoFrnPWR2dA@Av7F*rA$oQSfEfvj2 z%Ewea8N03d_)o`Atd97{$-?grojlFmeU;TWX`s>JFXI7gZ zDt_kgr@mV{wDK9@iiHEdJosa(W!nX-uRU<`n!U9@UjOmke<^-(f6%!P=G=W*!!MUP zV^S>Z-Ekj2)po+W+fs6GO#T~L?#RQv-B%W z^ZGB>4hg&RwU_fp9J;OK@l11C!p6%ir@5I`rqf*XIA8tBt^fA{b9vJN@xRO>JQ*-s_9zsUFhR#^YRgH`p; z>-Os2U+DX(H}%1_-(<^HmDNe3FSUvN$c*~&^xmI-qid(WIqSI7cf2cK=GP`Z^=SQ?oyr}T&n~-!-sy~Z zBi1ENywdr~b1#Q9a_g5YnZS)J`TC8_pe<6u+-&#T_FGT(x-oa~dB%nLh40S`tBe{M zJY{{-nhm94(%~z9x%QiiFP4sayKdD*x37HcSq-qMkvo5e^Kb0 zzR4b3@pAm`4}^POn7(BBRnIL+II(Tk$^qAZGbQMvudOfV)wf)^x8EU~`CK%D(*_39mhRL;^}R3LcC?SOu)fiH>F!li z5_|P78nR--ju$s{nlhi;qb$E_T>Qx3$csKY{_e}GUwP-P{F2*y*IvD}YT^Aej@lmj zFm3X!Pdt0+-*-OBy(*Nwcjr|l2^aru&(U+^zN$Ss`oMd$ZwXeo&pxWX-~P?R=Ldy` zR>c?|`SH|(-G$yrQu2 z$zI%^h;4*TO|$tq>FOnm7mw_$e__rAcbt3dN|X53(9LzDcSP)V z4|)0N%t!w=#KPsiJ8I*c+~{m?NZN=yRy3{q+OSegS#tiQCl;1HyX%fu2G>Lz77ZJI zYsn)G#-QjSLmy50TN>Z~a7uXHrLhw($a}D~`kJlHAx-N?FZ<_R>n(fM<=>n7`Ix^Y z+&%d9-W!T;9(Udc-2HX;-ur59>!kn?lR-3h=qAC95ZbQq;L*B1WbMv!OZlC|l7XFK;oPT@x z*GrFYIPm454YzzJ?wrgOPx|@G)eH8Ya=!jt=HT-W zjCgO(4K4N;FYo8#A~w38*gZev`Q^vQ{qUsm`2D$WH2iSxPa{7qeqzuk@>kD%@cyLF zPE7Z%9_SkN#_>0iI#8;!;tI~IlIkv}@R9f2i%3oZIOH0EmKS@tdK6;v4{cG~kBd57H7k_nN%1_Ow zIgxtS?{a;pH!aXlD>*LW-``Y)u&fHMBxP5eD^yB;G11M%8<)P3u{|bn z_u-@k@mKzRw{ckB@GCdm(h^t8@ju@9(_@MMXi99UI*|OG82s4Knw4L~{xfFkxG(cw zYd=|6CSJ8_#o_%;@0|GV!EKiwI_Kx~4Ob2R@vZmg77ST?)3X=MKe|LzOH)3KSs#C_ z@#p7`B(A#bp8h|j_WJsjr;@kaUGvb~gG=atNp|$|pp+{z9$psxYWT>*%cM2SLfZGH zZm-N5ysuC0u7B^~ACho%j}rJGQS)O%5;Mn!B<=Ml9|2dnf%t9{mx#`dW=&Qyekj;b&un&P*`8{1tYuvNl5%M-s=}YGr|30 z`cv1WHX~P|;H%9q97!t7rJcu(#3}~!Al<}^%0byz#Jw!ipy#>|fEXLU3K|Ju1u?}D z#wK$JCryIO;0KsfcI3g}+UV3&ecIVU%3V%rxGS;M4mg(Y(M#p*3Dm{iw{aI)92;nl z(BEiB^6^H^SmmAaTiWNDq5IG$rd{HTvf@&j#(+;N#mbScXr5_-}3p zp}2I-jz0IV`Reu-O+Nnezbt0^@r@b--Go3dkTrh6?&q~#0nad8E}d>g<(glE0rD3{ zEz&;baczBcy>*WpZ^r&<@A-$FrZ)t3N0~FO2#9su+$h$Cu)h-cIy+9`xXIgz75K9w zXWw>B6Md{|UfLJRn;}$^|8B9if3_8o zCX-ngJeI?S2ZqmctG*I#x^CkJx6G@vi7pN+5>e7g)zfm!eJdodJjAMXo02jvq>4gc z`!f=FAgsdnDA(fKaJ2a|usN7}3B74^TMNqRRfP}*yO?U+ zrW&;cpO090bdrw~+>fn@t!7@CLxj6Zqpj6XV}N%E@@+#0ZeyF>43K7*L-WCW&uv&O zXi^kit_Q7`5n4&)%ru4vmt*{9ZY}R_#|J(DH_GXb$3#0?#FHOMX@g|e;e~oWpiEF) z{_uxOF1%x{t9e7UwY{Wxg)wIbNFgC&KnDWRkv##t^X;0@%ZK~`+t3S+g0(_vvwGXz z@jZJq-9I#K+cJGUea3V776E>LgmSNfcI32?s3cv=!JlK+vjfO^Jghg?>D_4%W$@Zl z;`y|QG{X(X`b2d-6HPVXNK7Z*;EeDZ7S;g>#R_FlKgN0od*_VyqUZ=U|c(v%D?W7|CbvZV{oVnW*Mt=I90yS3@Zow2l&5$dN)I_ zr0J$t9;urpsxJjrSThYs<&O2devWoEe*r(9^`Zzf{q1ihrs{-RN&ax$s;yw0^L2UY zjdPPPR+Nz*B>Ha^lq0ag5z>slrY3)a0Rr^N)E-W^EgI6%-vSnwH_#AJb32!e25hDW zuy|#AEfcDbz4qNIc!niw=!f91q&Z&a;tG`RYnQ$*T)#q#8nal6SMa-qhS7dp%j)xx zePq4%COWK=y&*O{oQEIdHi+wM?#_RfuEo}Rzxr;EUsA%aFHTVv;rUxuiUJk9wdK$6 z`G>PjyqaO8oA=vIC8c8u0su!vYPV%X+k-XdnCdQMG{9G<00WG4+BF@nh!04n%4U7F zf>x;8%QFCXDR{IWU&+p49+zaQ$$+KuWc8A4#^N`z3kEa6RN{LiTc2C^+l9eZo&&=D zY`(IeR+Kgk=uYO3jgZMsX_Bv)`m);>?a!Hgt2HF3c6PX7Tkw;J*4WEcLj7%BR-!7g z=N__k@BO-^VbI}l;E`s!u}Uzn+&3wcuA5v_dd8jGiLfH(<3Wdcuo7k%8liZw0Qz8R zkKu%?pg(xuoleXKD1l7#E6wMj$FxHjqN0+20rRK%E|+=Rf&_}DlVZj$&>0CW~l{{&uVwu8&h_N z7`wD1?g!woi*!t3&{6rd8wZ{n{0Vi{eH+w>)yS+I$iiStg!rqf2^MTtRP;dCsB0pO zl6qTe)6PmzfI7vA<^ft5Q^}^3Gu>!SM6_?0eeuR5Ff%0>z!tvK=RN|6jWf1qCD9kd zk2383$&2LHQz_0m5t*xOX1nBd@t=Ino~$WWL{eyZS>@HOm$6ovpPE7m*kKNbO`vZj za5l%UQjZoKX$jx}k zFz&^`AH=_RTmbe+>ZbbV4u1hl7Mz*Xp`k*=&wY0WUIzkpPPixk31bbl8F6Kd|?+mndcL02pFU8FIWt^>tE z^~&M#PL6=X7Y^9sFosv7I?b}^LU-_4N-HC+b2~Z&W3sA-Com~T&l+v8{q$=f9}e@X zDbxM@P`SY!R>#0MF z*^LFl$55(znvg#KLx3kd1b5`-AzCOaPY8`LJmfNwT$wFI@VdxXW3f+5d^o(53R0e1 z(e9_U3ElN6AY_$)>TGhXxGd*m)=2SN_-n{G0t&2zm^^jF)UV@fnR0Y~UE6T8WV*T! zp4;om7SiQak}~?S@q_8%7ZLXtFbeWv%((n(TC^o07BZtZauml5ujt<3uMSS}*28I* ziXEAi^%t-S@Kp7YTP(pMG}iyY3MI-NBiVpU)atc?h)+au$u;lF(45M zN>;ch+-O~DQIu-Ym7-7pC3;Cv}a17WBfPPa?Q4SAS?TB$O(3-?DQxC zlP;idCQx05SP^1$XvR@?C(XMS@&t2lvJ|YrQK7MJPgG2{CKx!o0X~@uzSrEjx(CHe z@zKj%fMhpp7NpwN_yu>NCAlBYl1ozLQKrokEuCqsC2~nr9(r>+^7{ znmWRGHM9=^^6+2@uw~?af=6GSIUJ(!@5g`cr~M=gBVZ->J6GVSPjPzs&{tNcXL-mS ziAJ>Z+$u$|7j6HP&kdV#S@*uC3!`kI@%n;#Y5`yvgwMk(MtvGJ^u*s+kXM%p`F1xIk9ViA7?6E$7Z_>n?paB=wS_%BN;_I zpqM=A4=^8FTGGOqrl6fljv=H%1nDpeT#n zwxI)rskVJFHKwzomRknmiDD?txzq`Vk%G{BxafMeeC#k%fM`ZSoa{47^h1($!+L=7 zP3!V>1)>KyoNI4Z_Sp;^Z8*suF4WsKn@+V-x+kRmQhIDzc7nLC7Ixb%M*|WXgrMK6 zEVi43SVosT#dAms)e~9RK)EWMWYLf`e%|Ooc^xSbqxI}g9d86t$AZ;w)n@d$eIk_P z(#7fZFYD0p0(<0#`DTO;=DSu*{1>Vb1hXo+QSr6_1X`$&=@1L--PXSVPjtyC=)&TT z0jQs_*bijdJ^b~~{(U{J0wk47UyZwbq{60`SOl9P5gG$v6A^+7^zfPMBjwihHiHZ+VFC?8~J+HXFE$YBpQX)t5@I~bs6VF|!B z6G7NegIj_m=XB0l5Rjj(9e>J#x!rYLD_UVg`7S5ENyWQ3qYES9DUr$ZMZqo&&YXgx z{ODr@Oj3}J5UNf!@Y6+HD?3$k`O*qUsOYde<7xB}Z(hcV z5DNbB>3ucCda1-EbAFMSZb*~MC9nl#d_pNupN3@-t&SS1lAarmeLh-TBGcfqUYX;1 z0!^EeOwZo#T!v#87vGW|4adrrRS$qyyunoKCvM*H!y>}KNv$?R2Pj7+YtBC6OyNU& zLxosUA)Bh8^wk*3ib1LKA!AlioK7J{diJd(-?WhU7~l7yYAvT=v1p;2QBCunVf(_n zHc3{BGmf!rONwGxFMR>(2v8PeJuL^0|4bzAZH&kx9F#0MjQaJ+=7Oy$zKH}|Lv9`8 zO6=O0IqcK!LrzPvl`zE;+^qPl-hDPE#*tqkU4;glBO0gLN|Gxy?;-FoM^cFOzO39q z_eTSibKxYQv8h@p#JoioG8s{^`#zr$TdW6I?@CWVB zg%tb=VIhoRXIW`_Q=loP$-TMQXk%5F!RGGdHZc1Zr?ty6I*4gvk0i0N+EUPVIpRJ4 zAUI~w#0Ndh1pvB=j8qCE4!F=^igD9#jB%E(!qAwBu_cee`}duhTQ0s@u?traWy}TQ z;UCD{eYF8$%_Ox$COL^qX9mAl6QLGyV?SSPz@-`SjJWFKK(u5tX4j?13XW~#i3ue%rCdpV0Z)a>0VY3X0C zSXysDeL*$eqGV@Z)WG6=g^IRSP~^^cQV~i9Y^BDvV&6i`92(efXH#bBdmFEq$+`uH zK*+(R^f-pWyvTw3$$+C-?J@|*rL&UpGPK9Q*9GZVuHK(i*b0GJXjDPo zJP4KVm9lFJ4-t|=iDsgW?NO<&NDleQ{S|J3BuiO~LP%N^zFhGeD6R_BM3Irlo>#_v zI8SSt|5bYl6>biA7TtUy!E*MCP}Nc+s*}QpfgMrFus}m zH6m{mP_nI(!bFYJcIf7Z@i0o7Fv z!SAs4;;jrhLAa@?{2`y$>cIY2?KEQDMqaX zkImj1yVOM^)RUHo2qQy-s*{wGl)b@B)!O&;binr~q-?(NsA7H*qx3u6*%G@P4H{|0 zyz|een0)-fkk$zVvO((dyjnGxXIVyn2!(Wqz z8^)hr#Kwjo-3B7})BKwiY9j3lRL6JLpT?R{5v%@VNYNE0C4gN21QBHBC=>*D1jDd6 z)QRWw=ko)}h}?_7U65f0lwp$lB|Vsf8|CJ6n`zqW|6)(}-&g(-_($L$fqw-45%@>o zAAx@a{t@^`;2(j11pX2DN8lfUe+2#!_($L$fqw-45%@>oAAx@a{t@^`;2(j11pX2D zN8lfUe+2#!_($OXECC?m<$Zxdm3m7ER`$2OQWKi{0)#k%&16@frgTU{sPYt25&C2I ztWteSGa^nXf>vq>q`dGfi6FkYj+U5@D6XPa{q)i$16u$(tYIO1`Z8~}g=r(kHY`+; zwH1a3{$|N?I;0%;=X(byk|^s99CwmfrnDm#3V$vi@f3F*q<`@k_b-6AY1js@@q?C_ zHvedRx-x%ZTG%%2HT1wH#TTg%GIL{81>D167tAMgr-td+59#Idp|?;G2&{%IopHvX zLe8Gp{%;Zo{9xy~s^AO%c#v+$9N@Bqqn<&|dV3ntEge0;9Y2J|m}(r?GELv+XFSrN zdK8%)tx)-TPCrP7;WsajzL?ZT;h`xxa2g#4#8%*FR05_Xrb{P_{x`XP4jt+j3 zs9-Fj2u7bSLBuQZX+U{#{iLali6C?Vk@}p);%UUqF7B9F*6te-*v1wZs=;QY+{~XJ zbv72Y(tp8^Ya2S`dAw{dTX336l+?=)hMYU9M+@c z-Q7~r$W9p?Do+KQR&fB7NwqQ(Ea7KH5!trLa(3KmoQh_hl*N!WA}cXf>>kS-`yRlESJ- zc$tW#jN2R#JLs!6NJ0`rjY62`JZXmo!O*6`>K?~$ULdI!&|?*c*A;PSw=nWSp+%sE z+P8BPewT+qXZWS5dM6(5yC-T+c9Sd?R?pKyCK>#DfZ%Qn7F-dJdS6WLs+~9FCh|S3 z@%6Ztiy{_oRa6TJm2wL@R4C5auoz66%x`f6b=TC03Io$^Vq_t=$A=HA%pFk!by}RyeqqWA@=}+0@k^Oo$Us0$FSL@O* zBGqbr5DEywWVGu;8?L5?0p<#qDi)X}=a+$Lqj$Llq89}kT?y{FMa$EHvqy{X&;Me3 zdctX9jPR4^P zFx!$v2r6PuyAdyXJ!g<8QsOh9Be+nqDaYU;N&_%LDiKZ#2S3@#N!Z|=Ns|}6c7*kb zcVLwT!Pbw`vVx`+)W>{)3|p80*c0;|V-wka0>K2b#f_hG(|-ZwX5?F@tp)IP*1p_P zAUL0J+FA1Ep&N%3_4D1GhkmLn3%T;KVM!)iEUnyCb)QGiyD_&zfyq1YIveWIB2}ogwzF{tML{PUfHK?{JS`bd{escA0Hr zUN)$}l@bxs;OJvFEjD;~bEy@kdYqYM42AFUg-%k*GOC3mjrs_Zl(6vn-O8WzBsGhb zy$(%$BAz}gXcgpQNL*WD!*Gi<PYEfpI zk!y9Qx8&f2(uceg!4@_jM0=jD%8@10xynbrV*-{$gll8Ql?+r6@^P;VF80BMF zT)kOfnm$sU<~_MxGP+0>LxUkDfR%#0a}?Z#AWtg;QjuJaCefNCpNkxz4O@6D^ef6E z{aR`lt+O)y!PAhCp5Y$5MfMQ3xTK^Ky^;{0ss)U*iIb$8V4kEIwCV1$Umi(Tv#Wgw z_Q|9vCk&nu`6|*$7vv%ySwKiq>a!?DB|XJ7zk}pM?~axL18=qv5;_D$oWF_JnZsT@ zjPIK`g>UbBaNQQ-B@((azs0DO*FUUij!Kg^AQ>p5NUk6L-Ga)Qm1(Oliq^^ig0TQP zf^ju+Swi69ZM!P7b^Tx~CX!qnW^^;(Z%slu$c_vI3_+&BnEET7{aNj&z@Hp8F2&c= zs6AFta}>BRt?=vMR#v9)pU-gPnHxV5IF@r@esT4Fk$%D~us?2)P>sw(s>NCa?on{jb1p;-e z62XzU-g|)!h9L&CRZ7!}O6<(x4HXnCQEJ{naJ?|AZe z3hr60PJSzEcTxE`7#M%bGF$@)vO0rn}AO$(&1()#d7dqA{S5L1T( zOq=V?RzQc_z=BCxBuFV^{Pi#3_s~knyPhxTxMAljjNCf>l;FOxgRyt#_XxRmCEfmh zEZa~8MErfXfmb-QTWTlSGZ!=r&P;mI=|O6+{g_rRK*ehKIs}}uO^s&C@jc6s{n(GM zmVJX3%7-V1!x=g@FZK+IgFEtzykIWG_YPf@4P38KlHu>!nE3XL&e*#K#c38$=9znX_xA{JG7-*yKqA#WcNwttVn5M^yIaE3DA z_-4jBS{GM4r+#JOLPTeN|HrGiB1&8trx*{e>~B-2FIU6 z!Z#<`0?+4ABk^sFgYyfrho@7;vPQiT7=4qQ8gXjB|)omtJCy#O@65<^M}C<+YE)qQYijCF^ACC`^+t5 z)do{r@EXzrb7=GEQe}9E&Tp+FG(MZ~iarcECyW?D{2WtR*LnOQOPVOAn-Mk_rVmY( z&<-7l%!rOSQrVqov#tH5BNMj-HmJxucCL;bAO^+DvqX3TaL-*7s~m4Bp6|n(Ld4HA`W%b+KW4#e*c5lkRnP%=eZ?fxm#^Z;I%3?jvKHq#{gH zE58wv{7kHBAD_H_PL&Lnaic5c&o+FTfnFRc7{B=oknR}e*x@1VfgfLSt5(hI^t$~E za3ab%;u(2&4)x#uN#<$%LEu@KZ-~}>)MzPb@E6cz?ww@DR-to)I$^{WTU%)vJ`-y5 z7ZB&2L}S3*s{-rc>=x0f@$ids}Dx={q6Q_a_bV8WCZYT&TOX{3?=#E}B#xJBBGMqDI<7BPL zCaX)_vXhbZ>40`OuWZ<&IO@#ICJBN`_hJ3^^4PQJX`FZPQMPunlFf~9aW_2zJi}HV zL{>`gBZCF)7kC9OT*8H)QR0s{r+7MHp!T*8az7BFXezs5HFNBw3h&1O+r>%IJlt;~ z)*Qd5sYQ(0wW&f)4DXJ&hx+S&3;itmJ`z0gA=v?A;n3ROkZS4N@2b(y?F5g1m&!NL)aC0{0nA9w|!Uxo+??<&ndq&#U66M%&6=;J1f zO!OVO!#SO7A2h2HYOuwJ0SmhdW-@IxbCWehdD$PKDQrTHt|7g@5=O3YvZY?zO*{ng z&%A@V_pl2zfIY9|JK~teS5&sT*{ZkObsxD!OuWlcHtgvXLALd;?5MSMMy5A}$Eed;amd z1&z3ZH{dnFUBB|Sn*Rb?C0|~6`Vb#@%i7M)Nu2h)U&7%N(YO8rG|gZih|zhnA-e&C zt-><>7`#0CkqYqWKa7GlI27TKrry5qCWZ-_#&6x3s{50ux!s(T?rj8t-Clk-e2o|k zXDVY2qE0rfh-t*fTc3cu*u_hX4gJb#__=$%?BQAQvy4GD5qsD?LPAwJQ`Xo*;_1I4 zVUx=BIV4m1dprn3?NnEtgYz5OrKwLIQ5xM}01^sXsB;Ng_TY8#E3VMT&A$M+=*P8> z^g+{RTK$1AL5JhzH{NcSTA@MkR3PEqki@l7r0Y=W$EEUqL$nv>3ZqAf9i@IpIHJFR zgT1$AvwQCTpy9`N^F{y8{m1{_IvrkBZ;rz72P%!NK4e<>V{b;inIQxKOnMs>(e^T+ z4|!jIUM9ZVzh3G^AJ_(N4Yg_DSJI&`Mt2dM{{ng}|J3(gg2vgGGmRAnxIheCG&0*d zHw*&DR9*fvJ7vOjR%ovbd2gRl9tdfFJyYbmuKjXI{4Vk486@!aRZ7?`$^Vbe#cdAq z5LsA<#0XTlY!jkd5F*E@UFHM#pxIFKbW(d-Jz<7DJ^RjP6fm%Z-u5qm;WB6`5s2pF zik|Xbj-kmqgiv16g&l=myNMntIg~=Xu^y4JZsOE7d*4N6xO+;o$lLjF?f92lKEj6$ z#Uak&56-9MH`=oU?Y91$Iwm*bBY9*gN|BoHRx~c`pB7OM2u9B?&${rh^1`p}FY;_p z&99l~R1d|t_^nJp&{cTYt!WYk8iF;MCOzPi?3&|0%P{)?Scd;QLP5j+cl`gB;gDqV z!UlBq;Qq_4|519qemJNRsawSSL{iRtON@JZZx^^($ud|#@e?ZS~ zMKMC^(4&2y?m%=S63zY1P26ESdtLMHDW|}GO^4q1h*+T}hdE!$SyRoh@c38y4z_BW zKrz1n3$Aoi6ErdW=%C+d%uYI>lYIS&IcUF}bq|>O`ju!pi(x`Blk{irzW60We<00y zO~P*vk31*8>Eq9w++O=5hMLU?6~J?Mxr-luZ>F&*@M8RDtL*IoDH29S)Uj~u*OV={ zi2DYxeAw-eJR2J{}2IyZB|2=TJ__ItFb z_#7&JNiClc}s&!?EP1+B31_jO}w? zwTPWIp%;n89dmX!05$08w8B=Ak2ny4s@fP_;G>P~^)Qgc56-3VpL5W;w(J%%YV|Ia zkgt$$&o})ra%weS0&Hpx13g-y%TwvkG&x@%F=9{{n&yue+8w*vvLZk8d<5H=SBA`= zsQKz4DsZD4`Ds6{l6^c-4?8!{JzuASg`sPbMPVq)UF-Su$)%NWe4Oy&zSdW039FW} z?(`E^V)pMg6@Mmey_8jz{-w+w5) zRL|TF7^lmUP}3-<8FtaDd(&j68=*HTt5ILhQISB6W|sCc*uk~cqO zZ8x!y3?uJRtx_+6z8C^*-icD%BvapOl+f2dwi*-EgSY84bk>XJGUeF9T3^O_onL7M zl!nD3(~}PRkNq#?EqQwf=#`81|5OOYC#jl9=u?)`QhzcTYPKM~t_l}(uNXfXvE-!a z56he!QP-{*E0STSs5l(!m$ZnCYJJ1$XP~gHCU1eBx_SD20r>*SDjL?yH%dyQKa!EL zgh$;%ku_LQIj(kENGs71k1;xvX07)2sN#ySQQA zgQS=H;!KFwp?M)VW2vDyEYKl}absiqqe{at7H6ei(tgXzUx4$&1v3%%+cO;Ydh=iz zFkyj4koeWe67#FHPP$?;W!FGH-Dt+cbZXo!0D%L+P0c)3a|iI1DRbsr(U6JSuv1!} zGl!doRj}=;{&icD8l2|O5M8+Eh6J1PeQZSS8EdjtNE=pwESfcbZY6Ql28And(j z`^<_4tsAYemu(VTC*-j42)+v)drU?FJL0=p4-ju-Q;O1ANlV_4l#homlZ%F>QJ1Fn|ZU|59DBlM51KaTE1DTJTZ(v;D-ow{d z-JlW_`M|yQ>ijQAPxhZ4n1(9WDW2y=;$#^ zEXRKMl<7M8*bTY*W_CQ#yL6lv|8yTUJ|A?iDD39)e$^i4eD8Q%Y%{$i%0{<*ExoJG;+YuhOe8Qda;FYzK8ilQ{9*U3RB)}@c5TKoL@|&-b`Q(KkeMU+pwznVNu)ww-%!G^Jl^OQ`#%5y5D-R)Y#~b zUTwbP3!~9iT?~>@?6P-@FhJjHl27cVMnTB7O&3;ctG?cDbpkrSSj}gbXHhMSgW1IB z{f&Z%Ejb&~8Mz81qm-$~#bjmSpHDeccR=|V1tT)C8ITY-N~@q)6*ml45C(dg+KdJ{ zkr~H;cewml>@f;4{H^8o=qRiPC&>72(a=MCv^sYnwS-tI7mY0Ukbj1B3@Qm0H%M9S z^Nx;1&d~e1gz<_OQ&UAA*<47$pc0o2Q%NNCsYiw4I08tRXz@j1Ai;!<5jS3>fERXd zVdz73)LvSphk(p(d+&&69p0%~3w!q>ETg=Pqv`HvyynQ}VD+!kF+FY}Dkv6eQRyPl ziqaH0=sTC!ZpoB;Tuk;2Mg=2S;BqB9iSODBGf59WF4qa5*)o2JeectElA^GYVAvjl zR8)cFBuyy*jYY_HHI&#NAkJHZ^7QoQFS>APh>M*@U#b@g90~JIia+AHo)&`O&6_GU zo;gH<$-2K8uvEAsJHGq?HAQsPO3jsn6N}MApa7I%elz=to(GBQ4%@%&j9PC7nR=vU zS-{w{u6z%sPTJImR*uqNX{&b>es)~UEY#7=?;>hfINaOA=f1Fjm)8?$6Ok2r* z=0Gta|E$U|Azv7DVOu-gHVpI;e0$k|P6^9*;lBI^yXx}eM9ML!7%F&g=i=FUldq@j z^taGi1bEkNH%KyP>r4-mMe6FV$*+{0tR^Ae&S(txIU(XPU<5w~eM9P5Z&i0&O-H+f z_~`~db*Gc@<%Kcu!e0A)#n=0Fgc#1@mry!cIiVz3_xNsXU?MWS9DEaoV*F%g&*_R9xD~Exc3lq|x zFT+xE8;D=X-IhraOW)4oMPu3=ZwY36mm$y2M?8CD%eJjhIGVfHjh&~0&4a=jzXR@h z_cKgwg|_FPIZD@`Y=281`D?IrsQtVl9n<=Snocc_CW)RhuTt1vI8sX3F15}rw|5~;!oQHkR$@jP^j2UCQPhQJgN4uO%$2X}N7S<=+G zkjw>VQpDRDFq{Wu5~nyWbk=N?b;4Y{NnIr;ZheSEOa*lkJ7;Ne1ECTke@(SJ1#d)Te*|>AtpQk0^HriE!DL|cAV9Cm+ zcMg6mUzLVY`j7SdCua+qpGMm5C7P?M<%1+KYK0P+CEtq90guf7*;rV=t431;aQ6bP zROjXu4bLOzTajZ6nqu0?oyMK4@P@62+(|qwd5(Do^41H2s@LyYX%7*CdN=Ao#g9S=ncD?sq02R%#g$K=)7DWA3ZV zt3lQ_s?x&=U-+xR&!G2PDel$NV*zJT^0E?!svRd|e7bo?;Dl1|=RA4=M+Q^Ai&??| z)oe8dhqEA;QQFo|vnNMq&pEKn$-a@$NtbtVV6yBySwYqZ=+Auamt9$}+OVsKzn`x0 zeZS2tu8KW-oP^O^&a(VU7+vCE(r&>|a7~@L|1&Tq(5fo;7XR}4K(z-ZhJKv+3ot~e zr!7yn@p|T41u@J)tFHyLgUsh}`ESdQe2uf_-uELv+1+>!GS;5CNIeVGJs{%P6?@(5 z5f3{VJY5Sr3ZT_b*NQ!)M{&-v{QRnU-B)>X#`E@3Kz;6Gu8q@IM6HGQQ@oLtO>Xku zHK5tPpHLGq2gfGOX_rOO(Z4c&a&JNtjeTwK72iDMm#6Qu#r=*-PpebYxeMzUe2{vc z!U-4u@+5;fcKFKyrkW}3@o;5gm^Gk|v3&!n1C!DIl<1@GMi>37zJ9kmLXw%dK0QR) zy%qygwIum_=#rsA)&k&bV1`lY+;f;(0JyV49 zA%RVE>A_9hkR;YJU89&pwHiE{26O_-aG^!v$hegWa=3ifHYFz2(8S&=iKt3TA?JuP zcuvmRs>?-&*cMfZ74it%7c#&rK$SU8VTZZbWqpNRUr7nEO#z~(fn{}MM$xwfq;G5V z^Xyu(J`zq`&eKq5s+iERLZ%9a^zkb^?ln&=gw~isElkA|(|$<4uw}->LrBTDG1Q5> zdHd4wT@d45Z?9A(R4VT}4+(;-tjsH(ZqW3M36`4ZndT2O_9YpnkQKf+Vwr4vxv@#1gs@eh z{dBzb??Wa#!AEdlS@&EmSM>Zd%%VpkOik!;5Q*Au@dpvMxVY zn~~cs*m8*vAcPo8MtAQi>9!7P>BZ4dGRj3~zDsIfw(|kkZ3#?Q2?ruG0Lqq2=d+ee zE7SuK3W&BtMY2OR*aS>y!?O0Oak&bM(!_5|kx(?}L|cbZ(VH;QOKTUWx{#f>r+%lk zyNM}xL!2Y5G#y?=JmGp^3$3e~_hHz&u5~SKecgVEyW&LLWX~2VSgv}ZENi)EU2{O> zHaL@;&2ElA#b&D&3huK*MD@bpa!jf&b+2cz+QsQN0tw9G9)n=#wG*X)1~I^z+n-yd z4SORmf#8hbfTv9g!M=jpzW~X^mWGOo=Guc>?gmbSyLGjlMc6^itjIg+*UH+j`W&;9 z<;%C*VmH*(Xg2LlhPzyUMoOKeH_E?-yO$Amt#rSSM|y3aUuU}wM$3eWZxCY$_!jAF zJb!fhT%p;zw57I;BfIzgqnhY~u5t&Ctp}Bu7yyM&%>1N63k4xEF$cg zLubGwCUf~MNnhZF@NBf?jArS*w0D?v3xl#WYh95D57Ec{nexx_%D;n2c$^4(Lxw8n z(&dkgC1Gdhu)uBdIMcFov)L8DB_|h%nv(sUt=Vylmd{DGz&JzWgUIxxsowm7b$A$K zW!BwP9IKKtXgrF%=uICU%Nrp+G>E+M%v{U0mNak~8b+@3WDMk=1Rq2xlh%N>RK}YCrH`Jgd6bo4S+0ssas8}dr&r^xq%YNAC*L=Z zdd(`#+R0ny#hG=9hCZg)U1-5jJa6obEZdtVHkDI3G{y3)qwY5(~nNBj6x9MKoy5WN&4Jd3>^AD|px=i=h zQ!X@JUN8=LKBBDCsj!I%_^1tS`wZI?%{%u&%RLA!43q#WK9qXN3Eq9^S>qtSG^D(R z<#Z%o;uk(b`-VBeKrP{*nq`ZN%CL=dof;tzv>9(l-HdSj=xL9`S5Bk&^8)x*Yky%V z4kXlIkoYu~aWO4hcU!n;V$YBv2VUX-A)6Ln5nECZ?=?sd2M^A$ofSGg$d5jXj%n68 z_s3-PnXk|-yaLIjb5YvNlUvAH(7CKjs?HKFZO*kBeC6`?mXinhMFv-{9XCPEpY1O3 ztL&F;1)sDcNXF!(Ov(X`PMa3}DV8Q!ENDLPFx=s_I1i|@d0w^{zRw2;Z>%fS$;)1R z==B;*5WSy!>4@>LC!qa0+ab_>Uq)ytmts??f#a98>W9QTppf60dK=R2gzV<2ve7-x z=i@qP&!T8A*G8@o^bu<8+uJqM&bJ39=Snqn&si$von@${PBVF& z48XnD8 z&J@1xhIE{FW&-Ti52p2;Le+1~Lo_pcUNeXsAnYnw`tm~`(wis2eR4i0wo_1XHC*04 z-t zNNN@Jkk!%0!K&_A9DeyGCvnYq%Ch9CzBEY6KDkGdYMI7%5%-Q+PX)3_)i=|gJ zw5D00xtpW7h3!oGF1*tGezR#__proN$OWdm`TCf|^2_HL8hUZpeP|v^*)Cdrb6j5o zb`2C2_4WOXpgSkMkvG7hHT8)XdNzq0AW z0s&2aZ=Dn4#_S-5O3*$J3I3v^wiPw_P>$Up@3wk2`6%w2b1p($ItzKI{70FX9h2ph zUl;ZuD2qZ%!ooUf_m^UyFv8egsl>s*07Oe~T&$(tzl((+VSN}A;n|JvDpAlDFSm$WRX zzx%YCb+5fOtszl0nB`Zg3%CK+*(F>RASdgvHMMm6b9C3t%rBdEwbR|0Bq5XcROqg2 zmXc=DlU9kGw7E_E?!E|4M@d*cTXYN{0}@Lzq;n_P8E_4-ZuNBvn=1>y#v*02gK%EGCx;E5C@en#-IkrpB?MJ<6Q-lp;^Ss*+(F!H7 z+2(>M`z(S5FBx(erF}Xb9inA#>EODaON`b565Fd6r66LTRMgaa6yDuzlI?+8EEx zu0n??Hh$uA1cQyyr5cNo6~Fc@q8MiQfO{oj;-yu&x5C1QC$`BpHD)~L)z!|0f@cnL8PW4`*op--+XgGRhYR`) z9|(<9t$0=4+vp&_>y_p8TbF5o{3@5>x`O|whO65Ar+UJF)f_^a zc$mNTIXl83Dg8f&Bd1i;S!6K==1duqsmkiPRQ`N@B$GMM&KPj!lerT8XoE8wZi z!OHqRT>1`kHJXL!%ZZj+RVHN;#b0FW?C5VTaIPL=LGAdiZzK|!TrxBmQCHiAlj&2g z3L|I)qB6?Vho<2$5R(ZgfdUdGmYtOxkR<>B0v^FynDxiO!o+$^Jmzpe$jxW-F=4By zR5c|*Ua&5~{{U5#QFe#IQhsf7QAPIq*4U{`y`f@uYDzZxtBkBd71{-@if#;(0eMX= z;g3g#nG%$Q#ZhZC%#t1KKui4?Xa&b<79VPR!d0^u*}&N~rz|T=Bsxl&iDqCFHs$o- z#E6qJk|YdfKycm)CZ?`fB+#5ES)2|)P#>CH8f~@)wJ{o|AQ`}F(0x7?BLzxQyHb{! z1c`>%^<`$>_?m9asnIosgUsv&oLTvAjZ+YTeVw;wrvB?-#!(5lMa!niEpSO2+Xjp& zrSCxPs%o?Iz5@MP*ViV;YM)lZ#P0YdF6U1(TfEBTY0zzo{%g^;dReG8wYi4TB9rW3 z`bU@I!=I8FhBF09l^u#$(z=*Rz_@K))r6@jK^m0&Q7|~55tRlim6BdbF;Jv0vxcaM z&HnWkEF!aQGKzq<#zQm2bJ^Y>n^Jg^;KGOaS1kiSnS{K@V-vN@r_tlC3eH+pP4Ptx zvc<6$7vWAF8F|QgMJz<&IgG;45eOkUKG8GjT9w#voYXtNRZOGidPbB z-c-#Ya~?DpYjk#K1WUohY?K}!mdIxEaPoX7D+yV6Idmo}081<56%k1SXo{~Ue0(j= z=lDKjiNb>caiYnW%H~c`L(L?`j;MK+BiE?x=2aPpt|0ykjhuxF7I!F!xmf%vCP@(@ zNflG}-j0X@Al@7pvKyrq#|Bb(AWvz-vP%ofXEG^`7$y`m+5|-q$Hyc(!7e5#cdj#e zg(p9jL#G@d!4?@fcL_bnT+~Gpj7w}Ot&unvGBpVl%f={>bgv_mp#ya zkv1Yq;xA;S!-u&vC`vv>ePU7p!;~;pMGIHeSI$Xvw!{(1;k6y+q{>0vDTD4AQ$Z1uJ@2*pXw0a}X)R7dvWT^_Om=8cUtl#3}otfU|UJyW(nsq$hNxO8nXe zs4Opsd4K^${X@&iT=2m>htB3ti&vl=utd-D!y4A0_gj;S^=u_k6cPZK0lU95vYp&i zTDS>KgvCVibAER66tzi_g0z&I_Z>{fDh+as|El70w1j^3WAO!aICaQf7wh-)EwWSX7k1bEcQYgQkepuF)NsAa<~Vhiw=G3@#_dkf5w_jQ;=) z;;B;p5i2DLP)v2i8JO$h5F&a)AV({gFd?tI4MG&5#54dKi$db7${-BC6Ut-{5eW1p z=K}i}BQThW2uSSGr9%WURf#fViNN8o;pM$NWwLO_M>e?7BOyf#%tTZa&6dk4az;pz zl@M=qjvw1+cxtmzV3@H)9QI-qbgnEyuFo+EIfSRQh8h_m52mLaCyHd^LRjIvS1%Am zPGdC^IENFyl!b-EN=ZUpQ%^)nF%6cbKvXv!krPO?PL-giS&r>saF~ma=%2=yNxdQy!T5`RP6s0zx z$q!k&CuV!KdfyTyS|QE@%c#-M_qs4GFfDV00lOztGYfuiiwbx)0PO_Clk-p##;4?@ z`SQdxqEI3<(}3%nMAUg`R1v)sf*t!eojVwT`TD`sXlgptDz|OJ7bKRgnpFDT+ysC$ zkf0Ex-fID~du!7QQW4rDfc>GGV#V~HU0R&Z3>dK`V^k%Cv?trz$Vnjy zDVa!R4*ThFF2M5y-w!~exg>_t$*(GoWvctS)%~rS!FC|;OSq*rz}Sna+O*zbaIWq& z9bCa{no%xZtth4@R)OCyO-a>HS=}`8)w`6TbmaP;q%eCuE5Al1RRAApl~lEzZEp-H z$)-bg>7(DN8Z3!9~R{dX6B*Rg~=D>Pm8P}CSs>p4Kq81Q|bf53cG?>Fmvs(qk={J z+Qc6nuc&*6mplZ^XVm0Vl83*-*oK`*?1d^-Dh*|Ku&Lk2545)|np3)HZd2gfVq~<< zdeP-$uI$eH*Omn;Xam~h5XROuspWhz1xAVz?aXcAO11HHs32KZ65P5gEh+#20w6vz zV3tK0T3JdLOrnEHI8ww?NF*gN*(+LIy=Eh=6!bif7M4mT5+#6`5(}N`uJIB1XV!)o$~P_1&Xer)E9 zOodPm&Z$V2Qo_8&d%i%jYd}^U>8p`B=sup9hjnX97vz-*r98d07-k7tiLXcIH2Xxu z&jl!$?6q$D5>A?W*0+ejsR~&FUy}|}3d!z@HTPB%-AM{kVS_|>ORYwZ%*h*?3Sta2 zgAgHLDD0&v^;J&FxjjcrQ4qldp+pl#P)y8sV3wr_*kMi*>H=a#ep?1+>3lS+9 zCQTn|gSb0j%A*fpw=VavI|^2Z#9==fRU{ChP;Mya$oqUjU3F+17p+?0X<%!%$;0R+ zL8_NaJsBXGYgIMd1g((Ne)VYY>XU2q6(WdDQwLI=C2mEi4|Unu-lKd_t;o};@@9W; zjsi)o91afvyO%FD+!Y^nMYHou;+c#*QNqw(ya+n3r?Eu?nBkhY}9-SKp{>8 zgDGNMfZZwUdE2 z$$Gsv)8*iC1|SgTjD;By+90_p?v(tJcSxygsm?dO=b01ZC;^)b828hLW9Vpt^Hkr zYK0zcUHV}qNj2-$B~q}M0o~tb)O)uym|?6XqMN)!iB)h%tS!B~KRUw0X`K&>*gA;~IrBYdnlUIK} z>i{WVUu;E=uF2u#R3RZj$7>cWF*G+I0w@6%oR+>bKd!Q9&2}+La@qX3iw`u2Xj-Jw zl_na3q)%}~hAzP>#%qsdxbNU~#?HpcI1ypOksXLcF&i#Yw1q~E3JOy#LJHMva4&;- zY}8!n$Yde$9wC{Hn0PA8#+5y+Ox$@~LZ7jMnY#c00wGz-?JIm{{s39X>AnD24oR6W z%GIXb;N5S4rUff$zE0+59-ysQ8*fZ19$q1qcZm~Xp;aO5q*qTeJhAX^H#l6}D=i61 z1eab}K8(7WywHoj?^F7y*#K4B@p!0!l%-Oh#tP9IIVa@O95OfUIX)s~D-4uP5+Kzo zmef~9H3G)iSce<6G~5{w7Ih|2^!2xSP9nlrd?5>^S7o9kS)7?24`Nu-jxiA;XlJ#K zQn}KoL~8R17MU%z0j3a)tkMLDqAgvc5lN8aP$>?T*b1;Xi4rtU)+D47CT0c|abdzvO6X$llLY3$PK2}&D6QS1Yue0~bbMRX%XahE=o1j30UW)_Gh zs0lAbxZbahDG!UlfHIsUuds_3@t%z$_ChZY;-3ci+BL@?6~CFKf4HLRNrq{d%@ z`b=!bUp!&_6-o|E5`>Oy>Ux54vdT+^pm&m3 zgq^}t3B7qcVZ(Q&@MO419@;*q!G#Wua%K3s>LJe}$g7Q*3`2y3r?Uh~<4pvtep~ZZ zJ!3W@CK^hRX%n+hzh(@}eJYk9AR1>%o%7@qf>~Pyu1i7V+ci2 zvr&}{!cvZn)oIqYzi2k@%U(zCG^Dsm>5EYqpz(!syFbb6!5fT&-9upl- zL&wYKR#%#b6R=TI)V2IuqLCfQ2|c1i{x4jwTqI^C^z53w4ll*bsEdIN9JFc6mG}O;Ej(K?Rim z040iS{*H*NS}WQ_DVMc3WdyO5bHB;99*$C%BB}@*6u!rHt%ekJ6JYA06kq`q=F;tj zs6V43SZiCGl0iy2l+vTRmwRFq5P*piqRC;|0^R1;d*3_dvkXN-5~k9ipz=3L%YRt9 zs2d%c1Q5Bjkr6DU0gA*ptzA}&P4R8;9o zfKrzUDiw8i6y?+%Cbruhpo$QcLs^n)B~?)gO>Bk@vYW05x)743E$u&cox-I0&+4^b z2|^V_x=;?9se?=Mc~HG&=ZS={_V3H6ddZsUbkj*yJg^K(_EU-{S5+NHNOq{93_2AZ z3Tg%*Sn8Cp{{Z6H(w6`|y0uM%pBFd|Scgy|>_tek**DxX*8#}pO9e62sHD`@pP9mw z4n{OmrAQKi%CAx8=awa7+I*>5B-E>#d4c3GlG;rj>~<#MjZJM%xH9iUF!j84WYlaO z@ibKQLMcryOA1#>)E?F4D5!aBM=41%pg7c6rnD@UEZ7K4Br+xKDpasZuBMljldxfh z4$;-Sn)!zS8izFw;-d{a#2TeTwa2WW$7lXF5;>_xt8z%IQk7=?7}Cf99YVWRKGGS5 z&9U1oh-oYkmg%Ww2A`W(K3GdCYE0C&?9}|rVpzk1PaaJj)biYgq&74ZqXYlV)T!o(qodKc(kVcskM(*i)`M*qe!AzgQ z+0tG0C>I0SfT`#oN~me_O+C&)+0G`E(KMCCf#tD%=+hRq1W0sOs-(3GToc!&h54#H zBA~KLB12203lS5LNxY|~!H0Yu4kTods!^G{+>090j3;mucB&INtrXRFOx@elqFMj| z0waY}-%v)+WQC~ITDUPHAViILstM2!tRVyVw5G$>RqK2SR|;86PC*lCaMib!CTd`^ z^5sH+B4?{T(t!JHPS|jjl0_wOI-a87*PaNJ2HaP#-uUkUEdX|M;MUdp4%=h2E7IfE zamkWB@9(}RO6ue&6GDu-8*lWtPjWOG13`mhmdoX7*rHJl=^=q0H+~7RHCD7qjtMfiq zHNq6Rrcu_R-6S>cQLym^uTWoM{86Zv=6SX0d`z#+3a-J@Utzb|M|D5HrP{*3*NNs+ z1{z${nJ+NRfkXDlnSq7`^$MTr2C@8HLJmoW*PZa0VtRnZL)0IbRAyR%VQeYMl~EKD90DF|0DW5N zJcA2jRIt~nG*OhhN^JBGq&-Fes!f(ArBc8m*Cpvujvd4@#HJ=kGndV!XzwILj*_%~ zWJr2e3s2{WQQ?<|8X6*?^GrmAr27x*vwTA|sWSOIyj;vxe8@;EK4qA7IL~oR%*9!V zi&9WldpxdD1c*6!e1s$rkU#{gWtynDKfOr}Kqb;I5jL#lF4t3)c;L*r3@*?nRS=~u zE~ituVwbB8J#d6ah@>eBQdU9r%+08!i^!r9^*hzEGE`MLAq!gMQ|v%Cost4l{gw9PvJc)Tw=#XV3#FF%(SOw@(~QfS7@$?Gz?8qTPg(4(GPJ;0SC`BqdD^ z!9tQ*1Dh7=I*ddMAqxuKE?Q$Ln@W2&Q?(tAC5n`(DNB&Thr2j)S;giq2bKhlQ>bjj zs*X5LFiKra)RYF(YT{QZDUzj3Mf8#q z3ls;e1;x6sb`Dh_$Qu9*~j`OZZ}B@a{UTB~tn}Ocop0 zJ-_v~8}N4;m{E)@mHB?%z6)@^Gf$b5{{UJz{EfzMPuf-M`)JT%zXS1KtBZ6@- zK%>RU3AzW3`gsf<$KdRGf4^r^ituSo;-eWXcqJWDW>=y@5MZ|(8V?|F0^p7cYd z0P0d>M&lXP$4jknp`^=|%OglkD0y(mhAsgw5mJ*7sa3={N=l1?@@)2Jrkb_E^TC@> z#w>*Hopdui!(u{P1&g(l-Q;}Bv3yr@2o0&tIn<^6cC9cw^Gn<$l(JlRRNz|lRXp(# ze-xQzXDxaVS^2lK3RYqiN}Vu`AVLskkxSE)G1B(!zln% zTTIT@)JFX`!BK<@&FheD%oAHRxngN0akyLZVY7nvz{~{BlmPz#7pWkrq7JDjuZR|4 zNDisLII;x+U>duUYf5i|$uSfz6s1>o1lRL?Ul8Vkw^T6^Kmbw_2^yvKsZwiim4MLH zcOX4G-Qg)wBc<^XNP!VhvWQCJG(9D1AfXm=wwTn58a^Y(%)>BX45GWM4F%f85doU%3 z5)`$)4|=AX*~d*nOvF{hmn{-^O&w-IsuEI{AgWNJX@v0JAD4%nR&t5UW@0V^Vn>4u zy$&eR+NvBr%!O%+G%oHl5Hq|sHwuj&H^t@G1xZd_QB$H4O=g7<_aZ0&N~Jn%6X?oH z;h9vBn*z+~9cty}29Dg+oj$CNXi7_wG`d3@K0E0NqK=x(!PHvQFfF&c z04Zt$%MQnwV4r<3;)7#r&^y$dyW0Sj+2sdNKR0UA-@Xc*1u-qmfiVD8E&!RSN`#8C zyD5~)FIP(%k#+z-hmO-2iJ32@K2}W2^X7KNVh|Wm4M6gGC*A|KHpj(xIKq(A@w0wwm-wtXhW&(};iJku7YqxD5<%W2qslsoKe3nYC(1gxe=#2D@{EWc z%6uaterkLKWlrJY8B%Tm=K%>8NbrUb-;m$yfB(b)Vh{iU0t5sD1Ox~L3G&Vzml9Zy;@fKrbbAy$# z!o$=iFho;Tbby3~lcS`ww8YZl<3&_u)&JT62mt{A20sG-0FYwyS?tUlu3jH{EMUH1JI69MzbDf%GfOo+Jh-n0&;I}hHeCIfVZpeh z;IT~kU#=j*O1MW93IGzBvbH;qji?))x7#0)xS<^tlt1Z)KO*se`=I{-PmMeii4n8K z%MbI2_u`xnKj)asf%W-&FdKqrYFqZi2Nu7-*?_FC1JS>vXC+t7AVPw=5nI!I57-z* z`DYei{=*KA0|@-5&8&YH;;MYdN5yyy0NnFy2iRf0B|HWZRakmj$G@_%8}q;s{tv`L zCP-4#ne|ocqIhTv2)gwOSYS9&3EVy(?RV3*nOQ`=_TTzVq;1G(gIp+0{}WgkOR z4{F95eE$IQGT-=^GL9y>Z!S_F`PqcxnLafTe57TvjpM64lHOi8AFTM*f4Q=M>;C{= zAJI6{M>Cbm{{WkwIC7pS2R}uFU;EY`UMgtx$-}quoD$qppWJZ&0M>9_TuCyAGi1N^ z#a2HX#4Hc(Hlgu~Jo#f!;YRsN$V!voOj`M3{73m8{{U_~+(X0A{{Z_i-G>)n=H;^B ze?K^!N-`X1p0IK$9xwPn`~J)i*#0YCY0CXslYp5PNIYFsdSxJe zd9jA{J~iX$**5g-fU*Dsn49 zO${{UJKhs0DcH7D+-9u+){qh(E@I%*UDbX8qa)ao3WAhDr+MBtHwZG)^x0c+;P-kr zD(MK9l#;|&hguruVm`oOQZ8AO+RVpXv8rx!)tjW z^iW~Nz@$k}%S)qtvO-gK8G>uWTHKm`Mn48Il1gdTCCUl^0Mzh50~0XQu+j2DJvjlu%RIo zaciCW({w8jHzgHDb_V3NfOmd&?~JoSNg&qBBXe%G+;R|eDNdA73os5VwPVel;$*J2 zUPTH_+0E?+FPWL$*|-Rkhn=-0ZUU6)R#I}UI)}BgxFEvSjS@t%sg6lW%#u`rvOx-M zYj-rgOi38j%uiRHbq|<2c^7?X`bI8clZRSTl$oj_n`oq#amZhsVPr2iTQa7(X{p{S zd+tf^fQ-xnKrYOnX-fIRB&Y{DfJ=~4fsM$LFq4h56DDSA_P5s7EeOG56cnFCo{)Ay>es%HM{@nI zvKN5Hf->Q!7FGJS6gtf=^Vvt6G%qJLvGfkH)AeK8=VrW)JB2zF;h5Q&zh`$iUq|B|Kbp=Xv-%aVcBlYoD|#5{?ux}6RHaUm zq@fc8&apwPb2A;}()FqQk^#JRa{gj{(H&H;*`wS~lzKdac{0C-pC}l40@7s;QqjHl zM^h*EQon|uC^&fr@?{_VX!4Im!&CElG`Gp3oThEQW7Ngn_J0w*AoV{Xp#zB zqz$(Tv-cXXO*1&am<)nlvhd+O~qL4 z7gGW_3eeOD3JMvLDoHO|TkacN<1sGdZs`GvS()i>_}UNFZ6M_iS&0|kTYCz`^OF-U znSz9(?pw4SgN;YVy2nZ&u2hvv3>1wA=@iK%cATA@uSa;66_YA~L(ByAnVveuO3`BangYSkk z+S5vT69kkL?J)tei#gs$*BOUdpD4;Irl>To?cdpj;&UV_MHDEsif$XZ(}Tg8oTRBm zCp9x|P!AIS01fdkZ7$-OUt|oxiaB$ocSOaxPJj?8P?vtyoO0GPM|+SRm_7CQM9EUokhls3&uQOe7N|P36o93jE*(`+)wu47V)+uRgjJfk zt6oi4+`&kx4dK~jhd};0!nMNZqFFGWFZSQGL%wVOu@sQ*`Bpn_1! zAOOYAfs_MZcqH!-5&{?=)@zE)YAz$Zjv(5$9-w7VtQtxLPX3w(2%Bi3AG6WdDn)pbJ2*ZM#{CV^0@GfvogD64imhQ!^RV` zmvHZ3UFr4dt)L}jgr#ZPB7(Fgqqw!Sc*tDsaMg;reS$jKiBhg?`9iZKxPOMN{@r0F zZdVFOsA8(Pqp%(t$7GULGPQs^HmFwr00>OQgsCM?C`qy69jwg!VMRrXW^A}&L)^r* zcfB=?ig2K_wOi7GHQiVH;kJr`_h$*ZO*!V`8S4P76sgG$UX*9lRJF$UBXnlVm=(6& z9)m*MKemT##YIeHjycLN(xn#m774Ipv`mM_oPZ+ zSt?rodJ?aBApSm{nbu+oEH+T&?6Wx+dX+sigb?fv(#dDISxKBw$~(sMAYNtKs0z?Bkf$sWzkZ^E{Ty=q$ze$)i}f?}-xS&YZC`5CKkNS2X7n5SFMnLk`EXchQWQJ#I2wqcJK< z3#rr)`GV>7EVxvZ2!jaOrbm6C@peL(Y zpi8MBhI*dRE;+HZ8H(!PGXjvw-fMpD7l~omE3^ez*bz$TX<^@JQVqtAGg6(G8=voh zleFgj#MzA=gx=huT-H#`)S)}=@Y8%DZn`Cf7>zjYh0X~{Cay?p7boBb@!=C@ElS%B zW>XFw&dksz6w$N*==S&smO*{N#%huO02kp;z9uNB7Oq zYDa*DDy@`TvH>|%;p*8%Uz}!O#UvLQd5#PCuke%6-`fBBD+Y&DvJE!+(C+` zEH_ls(TnY6c|Ia9HSH1c4cp@TX+J$1K5*k2R?86_|?WVu6srNYU3Jby{n%Z zxW_nu+dKaNBDlvme?2p``)cC?ZfPc|m~;?91T8>b=31xh54235)$v}f2049?9m92Z;-KI3=O^;dC1@Z4~P%}lyMa$)xf6a{XrR2v0J z!*pri_Rf52;~IDUv%m5yjA@o9O;IAn4uSe7KlvdPNlzP_ye^^g~yrb6G z52O!uN9quIU!%qG1KnTr!oLW5B_#fGOKK%dBe>z<7tts}ul>P&j)qkfc+1^)m{9-ip2`or>;zv++h2S)zVWiRqd;k}Nr zhv}RSCSaE?VzVo=oeD@NbJ@LN`(-eeW|hSwj5eZDLBJ1fe1K%9WyMsWnPri!Nfyu+a6W+}&jDMNK_sUt&>p zOu7z%E;xlv>59uLS2IaNX>lu3(&t$#wdJjA264%29qS-5$=A~5nB&h$s3EITPGR|k z&Rs*79bwY$nMqTMAcX~zYi%?aFtPa z*V>BwslvvTU~n^DPox9F*0#G7P|AikhoD;KwC2?B$&C?Xc5qbgp?n&T6I z{{U9Kagu3;f9ev76Mq4#wkRp<)-VMQ{@>ODMJuijRe_JMFBq+MZi~aWR1j-g@uXB| zUhc@PX|B4flvN|U!&Fz!6HL8ofK7E$6M&*{8}Z*2gG%M92mwUv!^`u4Yp#&2lyf&s zEY)f|R8ODnkx)}8{{U@Ldyfi2Yt~k+ot_XCjddMox-aFAcGydbHR_xo8V?A)QZILI z@QcYH3fCyVND8XOJ4Q4xLN(7i7*WM&#^u6H)ny40Di8TkhrRo~#AnL-pEYGrH-%_O1M zP>~j1nb9iUqMJO4=a*)^CoJZj=jA8mmoBBuC5Kd5ZMWKC$3;VmE*EsQ!90(#UA39z zS0pCuA$oH1U9+SnktrcFBDA!0Zxtc83+br==Zo$H-d$5l@|_a$Q)#fJ9xuvRfyp$? z5pc{+7fX|`sW+AZTisurN697>=A_cPw*LU#BT7a!$0}+)yW;sK@z2nJNcH0t%PrM{ zx{m(V)Y|PM}ElC;A!Ub+ zSPQOuy>5*rIN`Di>%N`Qq{H;eG^A5lKC+ED6$Aiwct)96nh3w$SW^B;&B<2mg@1BZ zV?exdLaBRp@#`3ub*B^6T2)+raIc1=3r1Rov8ocCdG4+np(zjthN!?O4e?F9ASW)j zZs?^kt~!AAgmOlCvg7tF!-!11rA5mrV-_tI$H=J;ia5b|e34r!LhGZ)3PjH;=j=N< z={X0)g{d_%wyiWRk%+7+PpM{@Zl&!VI-2_DY!8PIYr9(X-fbA0xRO5jC6GOy1U^W9X;-@{4vq<-s<VL_9Al$r{ng)w zIx>IVUGN-ZqUZhD&n_@*$?=@B{_hy*x&HumU)|#!7eDUH`@CbLC;i!fcZ_shq3*7E zagK_#J=M><#yTp{_f`0#{G+0+4|Q|y@s5eKJ=tC;{{Sc!J)nMqpJ`|x-5m#LeMb8< ziHEG2*>=?G+et!kQ9^=<8%P-T{^g%2nTIOp@{vl9tbVT;Kuc|!C~V%LBf0_oJ$_KN8uw;ua@7d{Vg{glZEan|Kz+MvFa=)O_uhe;L#SVT}_A6Iwo6mr4uwIEZso}6(}y9YPh-?;Hy5+n2?)c zL2~ctRC`Sl<{(uCBrPl1JQ-;Ic2vNSI=aET2gm&YA-{UwwZdA)|SqX-X4Q12TLz!bMKs!mxU| z3~<@16V?QQkKqJXgKy&rO7CE5Dr@Do5HLT9%tYjpr(I={Q`QMj+jM{qMw*3bhBbup zPRW;YQo(N2v-C3RLTzfc^DkNNFxi-zoabbvnyDdD$fA`^Dr=PwDcWvH_t~-~(J^I< zl9pm5-uZ1P4Xd7}S4u?kCzj!4KBnBLNKy`xqB%KdFt%sy22(z!uX-X0TP^VdOqEIrWH^Bb@ zNu}ig4QaGc)515_ov@R$JbU&+oWp;XuQ*;$aQ4QKR>&*ESl2_CEX#qO@X@P$-fqzY4C>?Whj z$_lB4a^V=0v(Eqk0xU%}A|5(@h9bWC;!25Y#CZ`lenFXg*ZS9P(jW1ot;_0R{HKB| zn0GfzUFjUXydF!rEqe)I4N=02MkCO}Hy#eOE!K=`qsFvj9eSEEb!CV9t!m3n5#Xs; z(O2Ti>mlNv+ZR2}lTDDC+TR_eB$ci3I0U!O=^H~9iwSd{)YxlFty2TV8f(0_W{oDC z__~)$=_6A`)|MV=mx6hui|fWa%M$k~!?b3;KVj2~@D3K(bKrgz5EhM@qe}4(JYZ8H zu8mR-E1@D7_@`7-fzX({RJN!np%23f@i8d@P;Jir!@x$OX>!t(pra<(prI7={-Qz`#)1L{hg_~IwMte{e`N{e!$hd zdiz>6dh1(|HrHKJZHBu8)*AfRsx|2ewL0>bY4!CTrrZ*zXEza-(;JJ^(>shC)0>9J z)0>DHwrg;E$+G*1N2K=+RP3(fy?RG-jYqNDi$h~K1B0>~fGg6wh?Ne;ZUoh|yGwba zFTe25Yi)F`rF6>_)3^xgO)I8mrqH@I>9+4fu{&v@4Gpx=OG}_MQdjJaAz!kzjW&bP zjZL>25y!1G7ap_FRNG~sm`k)feJxF~`*%HhGjC{YcHDrwC$|ejW_ICf-)rG%es103YQ5+N}YK~Z7R z1{4({aeLSmEgP++qE+5iXv0|5a)0sjEUH!l0% z%4x?w%1QH%kDT@k9kd^bj$<@Fi1??BbbQ~jJ?cRI=oW10$%1>+{!nb$(ew)ON&e^- zeCf%B`Eiboo%RavDIeV(7d(D|{7C-*C}P32CR{^I%U^M3iB0rZzpa27l5heZuXKmDn;Zdq|;ptNpf1-v{a_$B~a^#6}iqO+giTDTyZ7CxfL+&gKILI z&PpvQzNXJv9Y+)Mn^?V6I5nYER_HP_g1^JNhICDQ#u3aXJ=yPo$4AclyPW_40xg}c zB~+z;wFLbdH&Ii{iXWFEb>qxw8bDg%(3z!hCF;g^b$97Zvq>V#MM(Xt#LBAbDE|O- zq(j5xa)<1@B8!K2P_cY|-;6F9<&}9>V;7ZpSrnNWTu&r@dKnL8g+Xac4h(lPMO!a# z;M;%W{Xrl3JFAD1TUjEGIj);0ByiioPa&uxDuP16?Vp_`NP z+=2FVQ!H1yk1Zs6Z%;m)w9tgUqxztlL~=8)4@ zH>XZ+vRqv0Yz4r4ZsW{ean+PL;yDyBpPGA)Sx<~y$1IS>#e@mjZ1Zi_8b8_q% zJ9)bq136j&d3k%0&qj7rA0+}S2|u=7hgkrxD)aIinHX^7nps*{*ma;fgkVw65=kNK zX!fL=$0sG$4!}H$s+=uw)#hPbp`wy@kMT(!Mv^A`G7`?;j*PKfW|ICt)I!N6!VYHW z(Mb)|f#hWUKFIm0k2U0sQSihP=@3bF82P1O$CU%9KSPI&*7UIQH`XXf=+ww$)9fv@H3H%`>`p2H#D?knz5` zz4KrFnEae4m{UxmpbuR5fR&i}mKKWTqLHuUuaWiUrF6H z)2g44P_@z;`Fw=B{A3}ioJ7Xw@(&9R%SkCLF3Ql9(_Kl-vwi%4E6o_GdPu8s$cX2w zN;~_-eyiIW}k{GQ&j`!HJUfo!|z1_<7BbEXf?$eqcY@g;t(9IQd8!40W^6^hA^WUq; z=DhVR%|IcDEIvkMT3fCu?is3C*dHO`q<60DDWpAGxjX{hpMcFFRC0i%O<)+PXD$;Tv@nH<%^U)h^YHHyoAy`;5MV*dbJ(3thL#OHDe zjKs=2R4(e~;E^zS8DF!0T!LtFDE1Ux%Y>r8XXr-#3rHoVP@z|uPx)tR`)dCH=0Gc_ z+o#hZY9qCECX{{nJFkto&?J z8ZYzVclcsy7TZKh^aE+0KV)qk{R0E}k0;E@W+pE`qJJolCh&Nib+_#KYb&iE-@=?? zmj^qBD|?1)@lCd%WW;0NJ~=zZyoqjZBVWIEw>*`h`M4Zi-|#&^#j(o1PUP9U@*uy+ zp}@x3FFv!SEmuHD-SGe6a$bQfIwHP~QCsLGR-$q_d{(EYC@seuQ{c(eVPcb!B zs;NpYA{gxCi^I42^Qm~_dvbOo2#JXn??18|m8BneD;p;+Cm(MO_Wg}Fvb`%c_P~nf zw>(KQHF1T6L8IM&GeqrU)8bt3qjG0DPM>xYd+jme9a3qIYu*Xb*!bEgZbJ^aQ?2VS z_)@X+!$q$&=4^|4e?)ok#zyM!XD8ljA8L;Osj)x>bRlowilk#U9{&$Z^w5(V>BK14 z8k<_CSIqwG&Os*&A4}dp6lDB^pH#Ja2V0L)=ua|n;*T>&kK_lwD0{{el+nGF6rH1_ z`Lw3p6WMxIV9PRXc-`NN*XOCJ#D-M>YndldYQ>qm@s#J7i(EBcL%8ad<6*4Oag1fG z7oP2q@Z{<%d4g&R_akFD`z3So(M`VUuSO=Je1d@)gXIBfu2};;1uu0h^zZmDaw4^Y zr$WB2uh_2`QsfI9QiDYIJ=b$6%#rr4F%fsESD z9t|)Ocit}A9m(G-Qt{iL@IG+3J%Kxo9_SMSOX*{bkG$69wgk>~x&gxg}inXkHV4k`9 z>si6pH`i7OGYQm5ac6;Bi9Qc=i`asxwRLnNZ@0F`>rzAYsm8b0($<1+k2jpHdN1U5 zHuPqDe3S1`hQ-lO8Twudp7vD=&W?RUHyiAS$=Ew~HI%GB?Q~N`BuT>ybw&;h6>NK& z;jrMM4)TMn7LR*Kl8}2^;=cKF{$!|!@euqm9|1+8CW@C36`ZGDZBcbe#>iDP4KnNid7 zYcEakQj`##mxs3A^}l1(Ss%%RR zvpH#AgkI`jS3!%S3$#gLSBjP?*}N+2T;>talLIhoB|FswEv!ecOQ-h0OUIo)E^~xo zUbM<~^2(9%rlfpSq|D`&?~kQEo{JpK#86M_H=9-G>R4Fi;EKeCJ7S6$TqqT-a8}Y3 z-C#8RW;3bjZp4;MuzaiJBb)EK`c=aX9s1QfKM?v|_2YU1Ih)4y4fS`q@uw;4N?g;$ zHQGi0jDH|0DuOLcPKlYDo)8|{`gr-)^zOP}SN4`=ZUv9dp#ge9$m8CMKNy-Jk0V`6 zdxhFFtuno1KImU+uIZQ78jrG*M5FzB%FC?IsTBmq%+_2gHr~uGBxlkR?1)lgzOG){ z_|)^srO79HDc?*TvV8g9>J?^A756>7(YPJ^x_7g^mr-J|O`5(huJh$U+YdxiuCLzN z9i{HIHq^;Kx7?F9=%O9Dg-Gp?!Rdo@3peY0JddcCq^m~puRoL%8;UOaWr<+)Wbu|# zHF_jIV6yV0$J#J=^LyzW4cy<Hv$2xwS@=7o2O`M}*a?8$A7S2y} z)1tkmh2bG0^jKv$qoXZJr#9=aq{5-6ho7mhVAG3~F0nguL-w;J;%!LAA&Zn>vbxtZ za2E@QqzvbAMZI_4x!U*%4yIWu9I+J**L1Nf*Z;G*+5M93cE3s~Q>3wa3!kFEoX9{R zIF+i}3IZl{XhywHJI*;=nIzekjgl1c{j=MxQ-6yTbF8Aq2(wCGKDK<@Nzpvgq*18F zy29=w@GY@x2@;W(B!z|mTpCiaS65rN)hJ4gR#sStot_+f-K{~^zFoFW$25L!%ne;{ zK&wq%3S*j&^v$3co)MyX*;11+y!cizO2A4duj}xlgM2~K^np_%>48q8&%>PN#aoVM zFW;?=e{)IFDmkIL<(rztf)$29qFaBJrAeWx&4tJE41)(=C{{l3T06$@RoES}C!0_e z5-&O3|u3A&W`KWr;#jfx98u^&*jA}!1qOujGCZ<@eRjF_9*+cw}NEt&h z74N-bY!${(8K{Zf92wymvStt;L)$lBa%N+;qtxP<`!RR95jDSr6i>ZT=SLcA(E@Ez zrBOGLdE*K%noc$@Tq_$gyXSJRgMev%cfZr;cU0(_yotvzM&mIeqIQyzYYo?DrcBpL zL!*;h__L2LkTE^+lL9I?i%No=B-HxbEnQ_pSgRFUO@1Z#^(G4rS_4#J6PIb(7)w)pv1 zMQcP&H@=0UZT5Cm;u-oo|2sBbjS5R^no9#GZ?8!1y{-?lxh3VM&_M{y+#8gr$>;Wu zhr{Myy$_k={*+c1UL_MZF~U3iuyXKv@sJ{ig+2NzE&KTb?xldcPz4P~;9I2%xSuJg z`kggTwZS}6N*6BSB^e^WIpD<9eMJjh4)#q+NZ=$S;^XtiW|fYZM%?+?7t(Z({Om10 z8vgI_a&y;e*WP;mf5o+zSc?1zP7W?^&i}b^{k+d!U?F}c)~`neLC(I5%(q{OsdpEk=VAC^-c(jQ`gN-H}_tO3}5>r>1!cJDY9C@LkBG_M2 zx2-V3jn#Aba>QD20gb9yz*IP;5EW`>J#ts>26C*Y8%Nv5;^<;wc0s~ANTcQM_REtbw^+OV@VkaQ>MBIb@{Mb!0q=72eJ^Oc(V&h^;C Uo3AKQ6I?byomrAg?wND{26t&bc>n+a diff --git a/MesCigares/bdd/JEROME_KO.db b/MesCigares/bdd/JEROME_KO.db deleted file mode 100644 index 52a06a09cba3e37bceb2900e9ab868bee19a09b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646144 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 z%0DOW?uQS=mlN&qF05=7}j=}Mvh6)WG3(w!1Q38jQl!YL7y zNJ6E^dev}MKCMAoK zP067cC`M`{)lZ=M2~L*bB1gf7v^%JOm0@Y8T_Y3rXfxSPMl1Is>^rsY13Mm69 z11WUejL@4qxy1GZ;tBEQ9C$l z4@d3dsC^u@lcV->)NYR2&yfR19vr!FL+kC=XH|q8y<7h4L`vuatw7 zM<|a{9-}-?d4lpJ3hzf$|aMW6CF#Pbr^K zKBs&^`I7P#M(toq6 zmeS(vG&d!|)(+vK^~Wva>Dpx9i_>{3ge>`-u(bKjVz-=tkDF>(V>BO)lG} zG|^+4*2#^i#WsssHdlKwsy)pvlh{rIQ#-j6vud*|c8iUA0G;vb8mn7jXJ&E&+l!%3 zC-+h&H(JbUZEf`!i`A;wY!-JzbqW1ouAWe@I$YJ2+Ua6@9?^^KIW)MFd#;cjF1b#2 zW=?S16-TD;SGK1?>_cI0SSNQ>IH1t(-50YS)ss~tvR5a!_8m8~)N=(;brhRLb!4)0 zT{j}m)1;72?yFR-x75hhV?13qzj}f~7X)2*Y)|a^PvYu1@jbfh@1=XaORN@4#Z)m& z_+EHhc#iJkYw6x?5{3zVg>L-U{2Bf*znx#oTlsPHaUR9}!o9_{a{IUq+ydIoAHHIf z^cb~MbWjM7a!i6mC>hWds#O=JW*R2-@a1EhfCVZsP>gz_}Bz( z*FD=;7Dae>9otJQi|bI9{2Y5d&&S4VWzikVQZ}&H9eiw0tt_@fS=&D2w6bpPWkbKo z^}NKmSSm~M=OtsVubDwbzMaO!XoWEy3qyRhiPrY&XDIY-S=7~67NwO%b||B#4(#O@ z-h-9VEvCIJn2(LrHVAKDS(G!H?Twlpp_PRhbJ`9>k2ctgj}6z#0y>l>`bfgGvd|7? zZ7mC>GHSMeTbVJpsHgArhOiCkCf8n>AU?Lcwl|@DWsy!hk{H`fE9>5&EX`MoV6E&j zOhR~9?LhkW?fm@0yJ#ze+s~FC9~-3YrEB}jq6F^|!UMGpy0n++_}Bn#gP``6MZJ7| z%wH=D>`+F}dpw}wdTnQVLw_GO9bKnwple@Q)Yd8ev@$KaRrjo9@iblA@8=|`g#PZ{4~yKdgfv+G~Sjpewp;$MYb{63zZR{iU*=23hEJJ&74 zX=u^@@;4g1jWLciC=SVGQ5;Tbpj7H;-P53CNKUuO(YiZBa@!=k;+E{HrICIQGAixw zbXy#fRjE@PLAk$M>rxyJ#XToO+f0${mRWAu=8_s@i&L`8PRZp^?Lk4KQe}%In^oGe zWKtxPX9OapnN+u3GSly>;&!A9Gz1F>2oUKdgfxffJdJ6d(B2aIDbbkUc4oA3j3hgq z$~?)edTK!pFsI55io->Novff@N9%zG#VOG}o{n7SpxYHKS-t3}ZFOZ1QtM{PDoeE% z8*L>ylv>&1P_hJ32-4~GqUa}z-I{0nd8#x&@scV<8{0Zdd7E#BRHIs)bgVy6W#u*- z9d&o3YIVCTs;%t=wAWu#G^sWhHG?Xy1m(8wqN;k%U`Bh5GbEepqE^zNtwFZZ4{3JQ zZI#)**^wSp;kG!PvW?hlEQ*b++jb|-bUSCcQ`=fDncb4_1XIhq1qA2?b~1unx{6xM zue_w?0Y;}Th*&3&uFi`7h23TqNOgUNU~d^9_!V%T5PSm*$LDHU)Ta`JAAP6*n@DoHoUhKlI|8#B|N3;Jo#b?9^#ckp;n(J4IX}D*^Hf6)Dot!u=2>K0W$SLcyTAbQXN?jG_5vYP|1=6WA1^ zt%#X;ReI!Z4bmMkS21S{miHbrCdOjZ4seRomCn4N^_-AZtBx6&5EY-WaXx9+55t2MxPYvIljrW zd$ux?ruV6llN6e_NHq1K%SLN3&GzF-N}IN^H+G|We@vt{Az;7%>-TzW2>}Q|00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1papj1XDBPd5II>6OW7ci5tWlMUyx} z%oM|fAA~oAU z%+JotHs%;|i^4as*ByM!P^~D}nCB~suJye5m?2t`G1uTL@@*A1m=*E7p{*!@kGVp7 zdrsTBqPSeoO9&gJy}e6Yk&cfUsJ*>g+q$9Oc;6l~Kr0GtD=LcB&JQ0`s1*su0lqrv zw3hhA6lg`d_M#N6NQmjL6-ob8#K+`oMcHjdLw`9NG}ylFY)n`lE8_XAHZ^}fELU5X z*|si_k1=Yy$S@Z8>eSOmXwZuKwHNt$TN0L|?Wu2Dk;sQ-YwOb6*7@-OYAfo-$Mn(Op4hgosH?nT`@xv;&t3$o*!ma9g#gTlPXnLz0*{0v6_1o^y;PK z2Jw7_>~P6-vXkE7P;IoFpx7*`!@my^#9WraAn7=n_N>~RiitKTZjfDy+aZU+q(erljh)k@Qa0CRHeQi%l9XJ6Q8dtZqdbX=}8YT&gp@ASO-68F;?RVX;}v zve~!2R3#LIr0Y29?sUQ|Hbokj+qWR3?8S%wo5yM4mi2JyXYxr!#1kor>nII2A{uERA#2$u^6r?F95INXpW2Q=pzOOuV4?X;D$*&@^F(K>BucCL=QhP9}5w?#IybLF&C zpO(f_gQ*iwuq)(ll}Z$=#iTmbl!Bglo+?+W4XwLXX)aa9YEkH7V3&)&C%gaaxC~DC zMi|IXF^TTKG2H{ibHZ)r~^s^B@>+!RibLvDUJ+@x|c(7 z&&f8qEsh`~HOBici&<%q(ySI+>u%ZNP||~P+so{-L$O#Txlu7mX18QlEsYLhpXIhl zvco|gJ*djjy2~lmP_MHqEztjc$o`a@kTt3(}b*2tqf#UN49uFLbX9^t7T` z?9c|D@730dl43{efd-PTQ7v?uGrU(zR?tLt7`H?xl-!-F+sSI>bla)XR8`MM1RbHf zK0q&uq96n{Umc)%U3zCZ+64ly;^tMEvDAp?KHmD+UeuNZkgq#E)eADSnT+A zx5eqC4-kb8?_h0hQ)`ed^nTjL+`8K-*O8Y@2w6cvqf%vyRAZryWefEL$@9k6&5}bQ zCx=3+vdt{bOqJaZdSjjHcF~*c^l8OD8cmiuIu}lAR<{6u#wZHG&Heqg)+JujI=<~L zmoZ9_Z0x9>Cb%WpZl~&)=)_A@ac!5>OB~WnI!OwBQc@jK>3p~DcFA-uT@KYQ(Z^?2 zP?=jYscySOWz=!0$m>DBv28mZgIZ1XHc@Y*O`X(DJZCbCPJ4i#;Kz%80w35Cr1w;O zK7C+ycm>nlQ5)fvwx1Snx7GTf+a}Rjx0|TDF%#;^S^s>#s7|%)qw$YUMBABae^;%$ zft@5xn?98qWNWt8_oTE2x6_o~cKQ_A?UB$VyJi?hu4sN-X2XCLaHqdm-(dWyHUhDO4#Egoj-Y5Ps zedL6v?_H5{O02kdYTsc7^T9)c-;*2qzP7h0Jml@?zllf;u^cGdI&0*lshJa(&s&-i zdc0`H4aZ7vFW<4k_DFDs$dwRgkzzTP1 zUg%Q6)u+X9zKgp2=I0F3U{MzkboAz;$}?d<6ulAFVBcERM|$r_)7H(KV~32`QvQMN zgIoIt2|IKl6*0#e%)Lh+5poXX>|4?t!jGMNu;kc*wOx*#TeJBi^RuJQKh`zzv-CGg zzwYgSu;A>v7Y64Q|HfITj=nYJ%SFvO$M26F^1goMi(=S|*G^1c_|3%)iO+u0urqw& z$bngFPG0xpEB1hkH}<@?@wzkDl@-6&FLF=gf!bDw;|TwKJ-6vEXGWf{i0D83%6|lm zJj6dg`_V5m->)j|)%#S$;cfPUTT*w2yfryAG;QjF)2}@@?Crq|*WXfT|2*o=?OhyF zpQ2N_En7C<|65GG>y{wO1-u$<~UJDwp8L|5BeHXdk`*zufvvglCd0IYl#jXpF zPfI)g)%l2$%0)+#zO@8B+I)EHw&XWHJG?P%M#V0_uh#Fh3>;aPzHINI@ef}S6XqE1 zyy}Oz;xDH~^fG+Wdz#_2d+ZUupEaW@Nc^a@Y0ZM>jjJPHN(y;q`Jy?=BQ}*>8yeO0 zRhQSNJsP~eW&3-Tx6XdFU~Tr!w87=iZ~gwNiaS$wPVDji@~I{6S5wl3pqhJfb~T%u zc5HviamPFUw{1OKly~U8;n7+1R4U10^Sfz1u5$^yP1OdFqa&D}Q{WaC?tkEi3nj1m*eX$Nr;f z`G|Eo$3Bva@#Cs&3ok z&ih3t-O`OfS-W1nXY$6+FWf!!`^Z}Y#Gvw{eX5>Fc_ew?)u!OsFAryoO1r1- z*_^+p9Gkjqdao)|Rm9p~qC?V;j9pXn>adUYuj_Y=@A}MzkiEtB4M!t|HP@`$B`d2x zK6TZ7KPRqV=&C&UbI;g4_VTW=xx+^}Ub??1aI>x`eDl`r?EW9jDV%svbclV0_k|ra z*YCrB$nWN7@`>DoRP_J-b!DuMC%I~pA2$MH8rb#g!TnQnW7Y_nzB)J!AW{E8m5`E`+<+}z}uDLC0gfwe*z z9LWwI(aEjN-T{BLO|3R&)mdswA{c@$w3FLcxNWBTOwYfP=U>)N>ic);@H%vhHj@fr0($)QO&dye?=Xkl|xh7mdT%aLF?>qp1#!0c$NZ zwluS$JB@m1$i_}~hGe3W2AU(VVI2*LT6ZgwYBRaqirYy8SnuGwZKmKG`L@j^JOeIe zj!9v2R2PjJX_8LEA8n#RLpL^bXJf7`Z7AF}P}0UybglYEi=Nv02B=vy*zFn+;4ca^ zq7P{v8LW+Y>ES|$SJ$?=Lx&N)>~t#gd?WP^<3TpA&5&#!mv#=t*Q1aH-H~cg! zjWlwnK^+^9vqp5BCK0Y@J)0N!%C+IAXSm-Wx9)S%6A~Kv(YU?4&fj13jQm>0cJ;Jn z0nLv)yyDy1Vl=c*#pon8(40%Iqg6CDU~>>Q6ecyNLX$hsG)$Z7Ne!)g8WcLQ?Ve7$ z9=-1|Tbw3`;&Nt4H4ckvs;7QHXImTW{vN<{AZ=d9&fV|YMpGBN!X6cPXF$IFWp$*X zM=9Q(#Ky*+J(xW+4NqsGaXf8LRdQKub@ZIVQ|_5|bf|rXWKESD6o-rMRWz4WXp+P_ zEj8Tjq|U(yiGDijBW${7?4os!m=2sg@7D&JKgPnk_bfUT8}0j^Ds_A$qn$VJ+(_#| zTA!WZc6dCzGa4_Mlj(V8ii$)athqG(WwQa+UfJz*TH3l2n@+KPDK!4?qSNVlsx#k( zUH^jkH%|P7{=o|Z5cq#xphrJHE+L`qk>^-?%1IyGZaKWK9~YCLJz#BHN%Q|--6_|6 zIDg&9biq0yC3wl^f>p29x1M~o?2f@Nj;i6)A1rE~JF{uip~=!hYjVPr)v>i>mR;dm zU98(4v~KnOz=v=9e#=QN?48OCo-+D>9z-EAKJV0ZkhX5<|@E0wp_#BN&YzG}|mBj&Ji^Hy2!{J84k zwwVuz^Q7nlV?Oh%Y}JqJR_VttXieR-|H8LN#zyXbr&qUtkXr}c9$oWh(YoDNOSiZ- zzC2=jS+ug~k$9WmiOSv!?)cW(Wz3e=u2uGfLhFaSs$TiYvH!^Oq<+ebm-lj?O*r($ z*v+dat^a6PQ9#wamI=dC{UWX_<~ht7^m zUKunn@aCJ27;C@iBF&4qL45pKQ(be!_hyTsLD5PdTv8mmq+?JRw<2xa^tx{%gjwLJ$GPL*{tkd2j>Poy**(D|LA>>RaEeq z86%f`JpAEPCj(k;ah&|R|Mb%{HUtcbIrPhlvstxEXRiIG(7a#YZ_fU`Sq1z12Y%M~ zWcqDAud941bhX?xBB(K4Ix?=fSBhR-{>Xw;k6V@PJ-LtTt6O`nH|vh~{*9Y|#VgH6 zSKL2Hjr!n$D4k=}A^)(F)%))_m@#Q;}lXt8dUA=ULU%lVL8y0ri-14B`xm6{h$6xp+bCmhWn!fkE z|Nf|cg;y4>;F2$Nk>;;mFlkAz^i3~B9G`K*QEZ!h@XG#^Rtbw<+qCLb`cttt?LF80 z{^5CjQj}2#S6^uUDWd;XP3Kn!@3hw}7{2sV|4Csj0Siv1Z)r7jYrbbxv$%KDAzSnv z7b3S``QqV-kDYhD-Yvor^UMgpu1`GjS<|so>mGd|QLjH4YI>>czQmi3rp?$ev1~^; zpLQ(#*{9ZSHr#fyxl3j2_3s_E?LM{SmXe3J3l)A{UYOc_NpWz|HLFXX9`y1phZgW7 zlCOT~?ICwYAJbK=n;H20Ezf<>pFgv7_NPYi53fd~8+fa|35)DZ00x z87AG=Qun6i@tZdsao63@yL?G)^VBcLKD#@i`_prdR;A|u`pV)L)>oBRR0imJmo%+> zWAlqy*KbPP)wLun;gw8&;F^kv=WpFvw0>)5*OvRLwx##Kf5y`5`VKueu>^lWE_M{;;8>7+))w2`Npj46AJd@2*IzEu6fi1m}4a>BBuu*dB zPVI?t`)FTE^Gt{6!EUZ+hb6uTyPhGa_vyZ87wj>vXGls9g|)$ZIc}IES^22rnl3#BUwC+Uj6jiFt%&U z$Pi8P(m766+qe8B?T^QqW9u&Z_KQtU+U9TC7d9Ox0KaF}#`_&-Jii;> zc2XKW^rvAxodC~NgBsa8&pTD=oqp-e!!x~XRII9f(~OeCFi8|-oh^$waKstxSBTgI-;Q5x)4_B{$s352dX{{VWrP7}xG zgzg^8X6GfnGR0Wv{i-2zjB2sb{5aJ&uJ=q1=t~%v=PMcQYgtcs`rT>Q`dRDlY;Tv% zqVK|JfbacgB!jw&yOF*MVzsn6T@JU2)st4M?ks^9{B=4y+cf?UVAp>jzkw5<6t5Ta zgl~lh=o|lJ{(V}7*S}L>6n&S>H%A&f`G9A%Tm{ zJCDo~htjA$l@1n~>HdF&69;og_$U9J9sXZEcJthD&u8rX)Jr~N`{m|%KV#!ceGl_I zPeqhD^aZhlec_tHo|(`Gx##9HlUV7-&F(AowXWyea(ez=M-Qkx#WVtN$u+Xc^YmtB zs^@ET?b%WW`(B#9gQk0jiS8%f4|301_K3$bI-tK5a9Y@nlJ0py+6;^x*z;h_^JP7| zLu+4xXg7KGhaELmnzhj~jYbl_k8@`_eQ4|G2@X$x%D@ZFMG>C1x6oe>b$E4a`zkxP zf_)9F(ly{|aobHz`$GxsKBk)4pC)Mo4fag7?XL#3sAQ4#wnTq&pxt+w4|^6y z4{}+XypNse0j{S7-Y0$RQ4?!B{Uw2!{%VSiJm~LjRC?5=P)+^yI)8SH6awkAKmMx=y|x*oApYiH~Z6*S{gerSN3-i?D3}7%XYKBv!QNQMeC^dcIe{XKlPx8mO6pH z`=_VDypEp!akB^a;FI{0!CN;k+P-)8@{n!iMO7EBtBv2@O}NE>_x#Pb1aJ$^uAFw{ zktXijTZ7-&xuACcy4}Op{qIREvv&7--21E*}Xg`~Y2UBz?DLT>75KD{xf;&`N4m~!s$ zw_IVxxLY@er2k`Q!tf?tzp|#lma2PNzPcwQ;^ne?=YPC!*Q7mzxXt@U?wS6${+Cv6 zuYXiP*PJgdj7?p@Cs&0fhKi9}PK0gho7OMDxaO)I+^mVx@wMwxxSxj&uPJ`*?AFht zAG@%6PoZPKuz2&@V0}i=JX_cNt1O=$d_MKu#>nE{-}^N!`A2;H$_#Py_gnAzCHVM= z@_;qww8JCz)-De7?{~3&{6nv&@dtM93{uMfK6rCTVCdwY+<}0US0`?Z`)lj8hv$sw z<0n*{_FETF7`Ec{>Md7LWwZnB?4#fuv=LSEN zrrT<4irFu1HPE>0Y|W~GA&YGlyLul|Gh+OhvMqjnze=1Ja`dx^SN!|EQ+w6o8C7y0zqxO2-@feJoGH77 z+ON2>gIl_Msf!Go_V`9_PjSD*=$lPTudrK6y36;L?rV}liVuGtwP>r9(|hu|2`zUn z7{Qh77#XqjrCDcoJth?UKlX57^VKVcE&AKcv!#wZ(n z(y-$CQ+z1u6No*J_6uA+g#$ycu0cX7j4M~3OU6`%WR@w*{U7Mgpm zNVFxdFL&p@wK8b!@YOq?xOlNnf8xrhqroe5d#~+Tx29^@#4W={v_7^mQL>xV7u4AJ_Q39A9Oew`h~8Nq1-LhE=ydGCc0Q`=PSBv_*$=8@@Cx z8u(*ID!*dR9RF!c&Sl+GcseHV)`>r#Smc(O@UHp!qUON(|b(#F#>94+h=hf;D@4Wb^y~q5i!PkCo zkFUM>RP##Z%b4ev=6+cyZ}j7fOPWJN4NnK^>0zX_{&3+fi-Z~}GUv^KZ?}f8aGmlm z^}jXv?#^;cWI`RLa#>#m;|dFxfpZw~Euan6&!arb?3cIb|quBh(*-ni%9 zddu)!b@r(rzF7X*lM{aZ`pN1uPrY^jzEyX9(RJjRNB(i~H_rLikhf0#<>Dhl|MK># zU+(_t?Dvn~{o2K+HePqbP229c`1g@dt@_*9>3KCbZTs-a8*j?K@29iZe}3eryMO+T z`|T)~7D_i`PUJcEr*X8P$HAeAoS}HUJZsIDAUWmk@zV#7)m47o^}3W}FW&y$7cb0tu>YXfZu;qm z`AK6JEfW|0eB+!iKXRWg8~yQ}S-;-=j`0)oN3&lK{_NDXem9Kx>W8-<4=LXMvb1I3 z^y^l9lYFFY~jp;&!l#JwLp_0^#RPZzc9v{bGQjX9K9UsCs8@zAozqxRPQ z@beEpt_pemr~Gf;{^>Vv-;YTJ^R}G-VO8A?ALb<%)jW5Dv-`cN{rWsyH>3KB(2Kvu zZNE|X(=X3H`0E#&Zv1=YO?OqrtiAc3J<^N$V-t5N`KLb~uKweSe@rVkJXrA5-!6XB z(zo;}Vd3?0pPv6d*|c}cs+FgHy7@%K_qTkoeP=U)DGWuM^1 zFTIdE==Efe|a3U+q>dX1sl__g|I-Ca=4H&I@0hYz^pLTvWy1SxVQx@JQ~$=d%}Z zOJi$Z`|GmX67M~+AmiX06>sLBD0zF`kuIODxIOE{^xQp(O;4YkZLC@T%w3;bo}QQ( zcjVUi%9gaNjy~5sp1a1fHMQvMw9P+``}yv@i|+M1HsSASho|nDRM*W=(#x;^nE}s- z?Mt8EGqp>(|GdpxZa8_>H*-t&OMzSNsEdzDusprD>z*Elt7d&~n(*p?9C5(Jq|=#a z@0_#Oe$FzXc*%xO&j;%AHYd^-6S%fwG^DEaV~s%^&LW2@)C{?vD4 zn-0Bl&yTPFaQ8DIrRjc;Im5S| zsr%w6CuZfmaIO5r#c!66uPM5xInw^AVSebscNRSOH*VL%`+nIyWZUw@H3z%g+$(0) zCf7SfA>Fo)4!zd)LH?XE%lsaWsa-kc`@dyZJ-XKLK-gOo-*|H1`7RGnC=BYRyzW!A_ZNrmgF8@ zW7zlOlA`Eo7xcG(dSl^%M;xx2(Fx0M_(nb)F>1$!`&T>6YU3hnKjVpQee#wb`Q_7j zRmrDc{AAF%0rUPkeNFG=r(gZsiava=$4WmN^kBd~gL}Sl(=88Py+UbOIsU%uyG);Q zV$bY3n|5>=xwP7FasAI>Pp>(eczn#rF^8J2-&46^!*sE-JbsZme~=;g&|8@gkA7?i z|Hd76{q?R)W#z;X_0b#7M7`Uxd%00}V!7Q{5|^4;DHZK3!ad;XzQwL zj?a1F`k2=nKe%~#L2>gfW8V1MvSdM+-@0)(K6N&tV$WjBjIBQ(Q$AS|nG-#J{S!03 zn*M+}cILtz`vUwYn}*E!acR*TCLM?u!q%Uv6#4m`b zvj6quBf-CHw)Z{oM18>K5y#GC8B@+G`a{m9if(V5{JQIc^sos%l0KK3N>4mpeqi)F zK@*LYXRio*F*1G8glkVf{_{7-cCl~&Z+~}vWMKE2{%1bV;*-CuT75{_I)7%-we+3N zpjVR3nVxM3+}-QuEBNq{;9d1xtxpK z?Cz@Ws&ne8^RB(tsfPxk4QhwmR#P zh7;~-9^8K$(cr*wV@*FF1?co^hzwE2HYje-C5y1bb!ZGtc>U}*2v$QQAcSaLKM;QM4vrfl zTL!3^4&LqCD#k^pC`sgE7#@;JNb;I@AOnUVXN70sWIs!1^CVy z;FV-&q-^cL-}sm;b}Zr+72GZ2gwijE&4YE46j)l|IX&aBBrYeADs?vwMdi3QJkruw zSyj!p?^Cmt5KaMd1~O9q-*)7it0y?84$EmeeB2dm!Ppvcqu?9l-H>DWR{h}EqPD=z z`Eb`z=H;%uim%0ud8=SIBs9WJDcL_zFMZcMdpK7HXNRC5;a;r)*LMZ#=TYpSdFEmb z(N@TyJN>WkOwBFy768sAk!)8^TsBW6I-vrXb=nCy8blMUr~EBIyt}7hf?5F={DDO< zhriJT0Unp0xtXGc4lbmD21CQ20Q!!*PCzEU%m&FiLp1z%QHI4(8c!wdfmjQ13H1!> zXTD51-8DdsMrGwBr<4CWPf&Q=<23bAwyRJa%59|Guc%cYR%WZ(ur3nO8;aE0M@+fAO6=f5=Q&p)tK9d7r>*)-)Lqp zHCC9UHPPK5*fx5@^Y{he%Sw~)`&bHh*y+;J@Z^8%{Tw;wDJ$LMh zV%H?=FQ`ie@K*WZDA8~9*=44WiCS-5XvH<%)^Q{Z+YJE8cK*bd`X?(5m)~j25LI?@~2Y`mb zyUaH8nxGE`{B`!DZ<#e_TMhaInc4t5TI2T$GUQy?s6?FbIefA)luaM=BMVe{O$==d ze`S&>FqrJ-N^!K^kUed<(B$>rlD+^aYQ@fiE|c&9ftZMDFMz1m>=q+A2=D?pjKxAe z=gDM$B{C!$bbBo79>>rnc0S}rAs~Pm_2?EPAb=sY%fLW&_5w(JqB`4t0n7y*kE`C> zyZ}J2ne`F??KPVQzP45Y0LcHnO$9_}l?3q9^boqCP*RPMx&sI~6IlPEqe;rM@+hDs z0RV4ti^qnNY=*fg7x|;I(dfPO{a>pG!<*vljW68{CB)*$)h__(_zg>T=qzI`9_ipF zg&$GW^dJHYw_w!gEL%b~0NnM*`!>>LYf@Y3ajL%{#5QJy=tF|vc$#uY+*2WU8seas zIN0W>_2TW{x+?z-#RrDZG1S-dtKM(uQ$KaT^F0d&ISbHi;bjn=n?Lkzlg0&B;NR0C zpG%>%|IXq6lq9c7 z>1&G<9`rx_{wqni0RNRFA<2;Z?z6hdjn|swe@c?q9_as+BziC|RU%6qr+=jq56unT&nLu0EaTRx($+d=g2l`GwkV`OV!LH<-+x)D58tr^Rv6bt)le?S2 zF2rGT)9K=>b{%y`()#yv>1Rt)=kXx1#Z5I1*lLHE@cj9=@BGB0tnDWFfBe>u?ij&0 zeG>|vHiLhka_lgF_1-=I0y7B&5n>3CS#7WN9m=XuwmqE_{*_k+@@Nt2wfWn4=a!;hM~wP(|Sv{(IuCmD@_9Z{Cd zOTv<@=1>#v0kK)MX6yP$t(Si;hmxyH7)xdw!>+d$O_K zP8@q>=ekbqRwH6aYd~09(7dBx1^`)2lFxMtZuPmHO8TMOwgyg%PYofMLPf5zkhJ_z>| zs@ZyZXkwXkkz$R{joztXF_YKN}#jiYGCj)s4yR&hTQJv($$q zlBy+s<7G}&)y((Fj!%fNjH#wt#Ir2hrNzUE)ulT#N-a3xt=5dTmhflKE61t5{Inh| z5H`^m##4Z(X=69Ux*;@f(sP6X1H}T5j4PR=VbXrx1Js|9!znIN&Mc9j@Sgo31EgX4nS&~986TusaJEE4=>Iz8QP zIwOKTWWN>&a1+}LQ%a{e`YP1Q4oz5N;06TBrSKo%7R3ls>1 zpm_oKXIphZi+e%<`_NOayp?=8i(32b(H%!j{l9cAoAOyD$8GY>r3t8c7W(DR z!5kc_j$Oho7fzGwJH^h$`3CU?Q0s2&oiy3-#3y^XK=V1z24|`cwe)>0zyEuOsu#e| z2ZJc$i~z?g>4_TAX0pFrSDH&$CxYL+4Muq>=gUgScM}6P@=B375QymppHhkr*&Rsl#Buv??rOJfdL&ILHhRiNcg*)~OACkQag-cT7y;;N&UZc3K#*W+vxoTY9 z*SqiV{3R>)^ynN_7M{Cdqas|!UtRj}s(%Fg#Pca;hFSmZRB{HEAOLVsyn0h!qBU4& zhNb3IUK@IT1Tex%r(b!;6Y&PsT+O1ZTEqrpb8!mbA&ZFl^DD&({M~|lB?YipiK149 z!&K@rcFt%jm_}-cY~xe&pH?wwg;$SQH;12sz>?~^5yRo^fe9ML5nb{*OV^jydB+o0 zze;UsnyoEfa1&t?$qHwwdT4;X>rzxX?#%5M{Tu%dId}*H9wO>g2Tl?8xyL$n(nW(? zO6RCcD+x}-Y&`N_4p`a(OFNVR3}6hV_3TeL5Bf_mr=M-n7`>o-1H#e7Q8cuhhPZl)%QHq1rY0N`PFHX zYEsxZQG|huM1?9UiRSE<)D4g?FjmBwWehenCtXzG05vLOjXm`6<}wW_$NJGaD45^R zy5ddA;HQePfK7r&4_!nsI~QE9a+1%+Z{;}ylIJOHCsJJAMPw{vny%YF5)b+-Zz92al-HQn}M#RvvAmL{T1ZQ=G)S*@;pWQKp{=$pjuDtw(n@D zjJ@%!$c02Mq{5u>NJrejdbo=fv_^ttc#lHhPtxC8t^h|=Epx*Yrx(D26?X=0Xs9UZ zL)W#DHY?0P3T8+d6Qu3bgVdPj|gd50{ik@Fj^*I z#r~O`sh_X1`Zg}ON*6C%WwWoh=;g7B<-LwVG!&n$Vub^!q2;(V5% zKfnL5K#{RR#WV88yhet>CI_7DqOZA~ze^2nezu<b^tY3uo}7QR*p7y#r6lA|DD&J>gt zB{X<+Faf5HvShuFYy#cu#Dl9nqHmKJd{1fK;6zp5SKh}LWAr5j<5HAD(+gbJP}&#? z)8Sc+BJcVPoK$|b5(&QD{?b>#h)z5|&=$wpL&tcnsb4H;D<>s~QRYz>+9fAdu>WKX z#Cd!lOWxi%k5dxtqp3$_vdBoyrt-Qk#E(-j#=eu;J`or64V5Qk*t^T^}pl<>nLY9Rlj>ks|OS0Z(4ir9zKZT4U zp@XF*m1rX-ejQxMmqLW}?ZYjS8EW2mZLTI;$(2^f$Q#DS_oj!RM%`0?4P&Rwg;>Yo;kXcR3 zfj%Sb|DlBXf!lw2L~w?K*NygKkj15`*%9vXqxESe&?^z^;c%mB(A>3bvBvFue>w-y zAFCoC5I(b)>a^4X**UjE4snYWCI^vN^Z{K{fm-sUDln5h3$BuDIsTQ9d-xl(gx-zsHpv5F(`m=W?>&TniV0uLrz}i}KiVT@ZbO<6 zX5VwQyE^I=D~l6;HSwu40H6%G=a28_>ZjJI0;WvF?fkQ*qU1xe+X z6#@cYrMBM$nrs&>e&WO|8zo1Vr+dZ3KGu`5;|CxgAC54`$7}&a$nw-)A5}m%;X^mQ zfC9X*jpFZY;r%X^$;mxGg?F8ceIBTE5)BGKU7yZIJ!xjb!)kSu&l5hV3gJ#=5DClC zvvIUC@`o1yqH{!9T5v)a$+zzgDatPZhj~xD^;(KMnb}0Sw3#juYUYZ*=SjL%2~$|j zm7Qt@=JuPdBXM(s)1Zo_E<}9>1l`!^WnEgBGeoD4 zfo188Lex0HGQj4ygSarx1i4A#sn-fu{|gUYlel%mIdi?YI_9hXkq|du0Faile(T3v zIMSL&UI;G(x2K_~$F$&KidT%nc1KDivW`mFI|cRajeXl0ft?51ka`&8IohXgQA|!C z2`d_LYePvHqbUNVTaB8ciQiI{L~hzK0Kzm{KAW2|*w8920tqCrRA*dk#KOptA)P!7 zog2OmSSdhE6H#u?DOJWknVNnBKao z)b3(NTm?>|xUW_Yo38sk(%Qtxzn9tU*NJgV&iD#vP?amkGI4>56?n-KA!$PV(Y;FV zWRaO|r?+bOBS_ljY<_DrLT3JupeGm4Pp*Dm1;q>RQ10bg5Ib3J+pq|oYD5rCt7k{W z+XIm3;X)=utZ=uRUjSYZnF&ySVOtN}Fc|liLa$S()+L~;(@mJHeBrCs|}94dG= z_FXpK)deDkN}x)iBp3x==$$%3j`C-W5jIOf-AAf8(k4t7cPnpK&lXI}AE05tZI7oj z?5&u8QX%1Ne|OF(Dl~A>XJ$HGI)cE(@U&8lC*3iBc<@xL_$H9@7D9a6JPyA)6jj3)iOM zSVe1LgsP`!hvS|M78c3ZxvrLHxgCP&Q<51uTU|=<9OB}e(xVaBc`|DOh$@%Zn%$(0 zTmCpCSa_+G77&11RI<+W9o_^X$OkUOng-2W9lfi{SV0m_OArmag6e1jHPWkVDfzOA z%-8g$3qyA?1&2)+VnH*>e~jyg=++=pF2y{;wkaclWxMbh_)eHQFY|seaCA74^hbR} z4sowc(O%TAI}TS|9jSFxa22I(j2o$2eMY};t1l%z)keYuTX3VwgI34!h$L5TnOp@X zI7=c60(wt?UD^I0*a$o+a0Dp!t{7Ch0>5GP)e#A-h&r0 zdlgxX+a#QMzNyKSya6%k6yk2{Lq3&ILRbiM*l}i>!36RI%lOVrY_zEcd~ah%atoAm zgWJ}15rWJzwnLU!Uui93zZmhVe`Ew!;aAg?l!kW}z!j5OvHc%HCht%uS^can(4jQwAlOYx_qb?*?LB!n{+lSwJKw3VD3QJxG>|I9y_!gMkrSh=%ZIgddUYMoctv&*=VY74@4s{1 zQC&|}Qup)lCU^~J5qmm6Hj0|M7t0n_>o6WMOgE@GIp?);xS!yn?Uhw{bDh;ilK~s4 zam~0_Ao)Eb$IUO)nT9^5OBM?5!67h8XfY$6aWFqx;Gbl`{*7HbH;_OQFUz)5G;F*HWQ`4fB3Qm?O(n z)1?xXlRzw0`Hmb{f!sj#F^4m!gmrJ0-a7ZI-U0@~4DdL*@l@1>K-%XUA((B*GqrId z%ZeiOT4%2dV^%7sqEbEYldUEg9~fH+K)L*Mj+d9N*(;7@JMT4EcTKg)8C+!Z2;Vz! zmK#M(n zzo94GSJlw45%SxG^q5E2AWRibva%XGT0n(K@?)aVc{{3WETT)SYr<9yry`jkQeJIh zSh1;LW6h7+G)x}{SGb<`Fb%-ydh*wZoIya*rg{nsEndr>yFaQwBcO-~1GJY&S4-`| zJe3CASi-wam>3dI>kfZy!hEiv%MGup+dZYJRUtyp7b$~3p%XAs=Lv2pwkn?U@oE&P zg%7?LlUi^$%S46hQRXif8o;%|nqx5FL!9|Qe*8jb{^-+#VQM(^9J}n;p}0))RAn-9 z)ksrC%2cPld0+GFM<{pg`j9Z(G?D!Gs!yLw&=SNN3QBKt`7J(keqVwQGWXc9DX?ng zoeF_kEF-w2c}W%4Q^O>X64cK0k={Yx@l{E$cTouY(N+^7vqcHHFk_ozH4!qJa`!~8 zBXFMe-t~S*)S&cdc(;HBI24G{EF$1=w8brU)eiNdCn3T5s7=#OPEF2PXQ5&1cXZU_ zHw-J8t=})3oyRI3LO5RFRHVZskC=5CzK_Wz> z&-{s_K6+pIhCdU#NxMXSAn^>)q2q-QU=+8rBTBb}DGpnHx4}rHUxI5JVjniufs0rU z7(tCLGb;jQ2PBB2u|}aIc_0~w#bJy+oIITD%0y(J25uu8e}pqm@;GCJa`B>HerhpK zTmFCO$^QGxKLY;<{3Gy>z&`^22>c`PkH9|y{|Nje@Q=Vh0{;m7Bk+&FKLY;<{3Gy> zz&`^22>c`PkH9|y{|Nje@Q=Vh0{;m7Bk+&FKLY;<{C`UTh;nw5r(B`c6oT{R`%bYL z-Ax`+9MO8Rn{PuptS(e-0<{2g*D*sw6(or(Yt}kC zbNz@b3<|583!gm8nQmfPi?I(2Rbg+2=R>?)u$~Ml#UFk>!HFuteu==FB$*-i9tT}0 zTaa{uw+7Zde}Ml2;BV-+BdC9)E2$?m7@w{tl%E#1Nq+(AS*Q9e8$w}eilL0Z7wn3C z4{@%WjD3?{suX$!7lFiX%+?-fik#2g8Qc9`dRGYQGE)(J8W4}HA2I_tE8?nUQncNi zL~&1teDEL)p);i!#kWo~v>T2`?bV8+P-H$cF-`X-7jGx4H?z)qFB*}EdoFG$Zth9; z^T#DNa1en1g=%^c7O$~|;SGU6@1@I_3#fu2lSL>5MZR_Dk8T1wde}&!r!d)1nQUGr zyqr?+GfG^3Q^ zOuXf97^&vH$20fr_LmM8;n~RLVzRIGIV84_Yp|`^qv7sIAGH1;!;$1)Hh3HX^S67* zit9J=FG-2A7HpA06JYV)FYd!ovF6O z+X#1ba>6}Oc@GM#vR)%fwhxbeKY4q*SR%4r9*@RL*{)d%0B2UIh6*PB#H<#~dTxQ& z6W9L0xTqg|;>Um8j$~ca&gn#2s2rC)~i-yfN#5 zuWE!SJ&P7pXc!#)otRT{jZhJjOY(^>AZ29mbzw&_JZ*#rQ_kUcl&~ljT6qKyCZE3G zqJ0%LJt|yio)5n#V}hhCtJg;=Xk;Qh0gl8`kG{M#I=rmF5?q=b(%@a!* z`1Mm%jXXx2!tj~`F1;pZK{(6^j8Ml`Ug9AocnH%k9gS!iRJ%E)d5yRYc9`O7uwr;(b~zDRjQVe)#lp>^jI{QyhlGj%KMqLZ`0w887_ zJc-jh?QaPl*#(P}fz$i*ukZijdU+w}U=0XSW>J5Gr}@z(70>AC&{ik~9^cW@YD)X% z($jk+NIKrWbq(OcN7$bs)r@kC$YQmph!9c1o^&Uj_kQ?Drb11~1VM78=1_|vK#>Dr zg_I*5<@X9WC`#Mm9m`SXJ+*~(NwwjW1c7S@>DiGdm9<8EflM3N0PvyZmZ_OSH<3sJ z#r)c^;^YgU)Pi!uyg3iC#@3HF3K_vST&)q4>=MD2Pb2Zh* zy7n{83|_|H$svS0C`5hu(jlWo(%TLLxKt!g9vpq(uFHXlXeqnIQj0gWh^0IfpYJT2 zEU%G2P;ZDNLk&hW>`)UhkkKhr^WHP_jky1$tecmOC4FIy3(qUwkS&e)g+7D$8a0y1 zbYxLTavX&}PC*G^2G>asZy=y)>e#21aa3E2WUtFU$@5OyhQU2^gkhhcc!s!7-lCij`^qB8N+h zRI4PYL@ut3yS4kMG-N^HA?+iYXd$a|UVX@^PgX;sL>A87T?kT>*B>xjh>~#=n_y%# z-OYRTJuP7TEk@m$Mgztju{H0^Hkbyc8KTzc+)z3sL&P(g>WrxY>{OKPgV1kCO7!x` z>N1PbWV+*&Gm$;?VRLu+{slSYUyB{0-z`nP@iHc6WV*p^QrH6*78R94%83bSnxJ^= zcuD#RmPtB6>mIIuN+T(%w)OU)z8Q3-#KBYIU&Y%Qf?TB{^N7icedi@<E7z#}4V-;~+SW4gT=_pzNugViA_QFbIm`(5i8#@)T}n8$ZUCBtP}+NWTYcotsiKm{FiEIJB;XZ2Db0jeQo4PMw6Asj`NQ6e>`|JeP8HX56SEx>^sB*G~*OgIWR^_ZB)fQMH zA>sf+NqsH;bk{dvchPAe^N%JEQSnaewhP(VdPpe6!NUhom*5-0(6rE1k@VY(QLe$E z?E6LdRZXy(a@)Oqy&j2b5$tzdQ2J~ijywkZIyP+T0ugF?)2}ap-+fCVul9UF2X$Lt z;T2aACq(|3I+^;k4@D@ps_J)l>n0lJZ&l|-^(e%BBQL4eGO zcOp)>xUJ8OQh9JPzsQa1MmVJ!A-kJ;QJ+TnJ9yj|fC;i&G`U${5fdcLG^(x|l&7ih zxaV^Xgm2+PwdP${Opf7ABpb$r>h>ozH+X3lKi6?B9zgmV_qZCy5 zTy=a{K-=6SZXJril3;JmbAdDB`fkBKSQD3rZ(Wl-LqO?iFxvEbY*3=h61fq+CD9Fv zEkh9vCoz^Ew_1SE@%HfD1vLHy7QQ~t5qL6#5lLug8k{qCn65IOYsjl;eThU5E93uY z5JF#wF!2I_pP8?p5m0K?Cjjg;1(KS}K6jWhwD^drpCo)6Nrwa#3o@ysElV5>;2@Gf!Rte8CrE zxeY&{f&qg?oVYzC?8#{;jZO$&T=-cv{u{GQ#NYlZP1M9B7?=;(C96Qmz@LL4!G z@+qdgrv2berW{F32QxSuz6(=>*Z~4WV}_s%ly@ZBZR&k)%fK%J2Nn3l&eTu>B;ok^ z7Kjf49@+Df<)cl7vt0xeD0qUO;8M!Yjw@CIvCyD;VyMHKs?@?XM$cC2z@ zzaD86egX7mt!0c}01cKt zNfsPs?=CUMOn73e%dNwwLhW7vaXv|OMyx;7!JaPe5$)Qyzo?fU2Sf0u`V(jS_Fn*Q z7xY5B$sMAlfzyV+M7nTEPb{C6r*rwe#Wfn=5Q|U<=mW;aN^LjVF9Jz4lF$iIL)v1< zIzBBBAfhfmr*`x0d{?wa4C!v#YF!2@rSov`Ni zYy*sWdQkmJCg!BM2sy>SVegTwnFD^#U4*iS%+bnF*;~Pw%v`5@9A7f| zB4Vo5M(lbYP}@bl+Xm$xrA}yldp~X=UpD;LJOH64llt5k%6q%P7;*$5&}!OVvWh>g zenO)Ax7s+&^$pB?FyP2Zqdf|U(lf!NF(DFKZ>_u^embvd4clYt!P#Dph!4N(XB?N`o5;|ri!=JAoQ3+0x-q~-X8%z4M> zF&r@wvhf1Yu>jwaLioPGwm2Hdr|m=FZy=<1%MEJxAK-TXwpKrI}ko-Z?yE%$NfwJ+?SEgL_s%QV2jPVRRY#U@ zGpqt|*Q1^-kUjv+e$=U8?tBF8@jnfpCBC|UJ=RLxa`apo>(L=DrGrifw~<_40G-x< zYrD>nM>!WWOqF|hkePVskkD8kyL2jIdL8c;NYP`CyiGH!W$E&3WKlUmbii9b3r za&E0h0R!6@?Oy;)XF&^zKuljZNXlzC22r$$qCcjKy%%%qAi1OFQVs3ExkJObjMH5I z@oH3tzoR;hwwa62N_e*6E4Eix7~&Fs>vB|jsW;uzY9GM;&g@cZAcrDFHB#r*6^#dX z*edE4$>hQHK_Br+N$jchQHkTe@hRhk=C%-@u$cvjd>$TlWu8QZiDXNm!w5K|xZwKF zWf=0mU55W#;XvU3*8k%&9Fk0#UkBj~?mpZ2-eJX`-T>`JUfVtPEgOF3xKK!#4PUOI0Yr*8*y}$Svy~2Lr(C^f4f<2cz5`5s z`bsjH$uy>tK|cKBkJK4ccOczKRl;vi&m3p}$%9YayxxBXjCC53%77;xil;yQpUq>@ z5haC=mpNNMq)3|-(8eOHUQjn(q5Lrd3*xqd$5D%T?3Bb|Se`P^8xCr*skd(7 z0o>?Xjnf}(MbS(mW5+^!M6b*MTY2V%96V zb>lGzC3Y)xtUpWidp?C-(X;o!jtJE=94e_Bd4o^LO7N@x3C%@qBEkl_(elF5u&q_PJ1i8hThf(EYV9 zt6|8}Ke-pehi5?9_MBGonzgRwu&=Q150~BWikelQKiE|p2YNPxN>dq+b-17Iuwu}e z8fFjXTHk+b$&CEO_ZDhrSspTbsOe{bqRb01@z=Xsrg*!n6?S5oeX>dehG%F{KxZn* zUg;DNaBU_Y9VI@!srD0Hz^SILITGMW{PMd+J%B~eAZ1y-`+kwHTTr`>Z0)b3!4R>9 zQn@|mhx?X!C4SSkZYl4`4dd$1l~Y$ers)b~v~+4|#@`sVeCWQUn?M@Ww8}SF>1k-0 zsUq>->}T+lsv)Flm)%|lDOv8Zx0+eWgi&^CRA?1}UhRO_uO(>hl4)fa?^X+DG88$&njc5`U7qNLRr@6))01|)4+2h=toeWRFsc>&`CBF$pQK?XZAe{A zPb*;7*Jwq4Q4ucbQ8v0iV9ia{9hNaZpruzfQXtPsRkk8Ej3+T2d(@@FcbNYTPjEN%n*H^jMVNsc|m&<3e3wSfEoB^V-_xTlKnr9PV<1 zq(4ndF94U@Q&tk*=LZDb)yCcuV8R@o25K#VnQ7pM;b{@%)4ev{OkZV{tHivXYx z1K~O8TftR}+I{cqb*!%2p0L-5?K>?Iv}&@#S+Y)Qn~=r9C-Q3O*l9Kh*pk|Q?zdsl z42tRdv2aSNeR#_tyldHV=&Q0kjeGlcP_N|$5IZ&*`5FxEnj*#A9^Zd_iW@hIx^6$d z)Wi@)KA#V|6?)r3wU{DoK+*P|_nCRjjbK9ftatq@$>9T8hRRl^?|0My{4MlX|85vx z^`PJy?kz|E;4Ou(yI){j;Lh#WC;gxzbfv(Z*2>(^sP~Qnw=8|-f2n+*@4mzT0N;i> zJmuln{Nb5f-jeH%+hhL_kk{5}kywg*E0Ezfe%Apz|88;6^JC#4C;t8>YIHW}Mn%ls z_4TejEd^hfr;Mj@S-{^>%eL1D-Rxby_WEI=uJx&<*pf}f_iM`$9R%E?Ku;epx_q8|)Wtva z?wdVsuAjb78<>GxI2}3ov?#f-vyZfXR%2Tntj8m z&C0T$k9&>qyI<^<(~Hv>)`h_wl8gZ+L8R8)b?MAJc`{LIw4;&=3WyI!+^Jj0xmbAv z^06ObAqdnqL9y!YSnSAHkP^))ZAuagt{$IorLVXnRFZ@ni>=X7ICajj(d~l1+tz3; z-auMu$y6RX1>U}Zk8&{>WH`LYYMP(6-dSb!z3xj`PXsYl6_k;U`BY5mabMueNn`~& z)u|35fW(PbpOt$O%s80w zZ+{|ajBE_n`YIRG=^mnvZlxKOE*`BSN0kNHI=gUBrrzOUajY}R8^D2O9~sfIpFXqNrP!jDL?4czPi7qALuLc{I~{63Cnfm zJ^Kz`cKvxM`#z`;E_i3_^uc9au(Raox9D*MblZJ9NG5CJ*Z`YN_WZiRznGGuDk0v% zWCZ^qA>!`C0AUPdP4>ZHS$|XWon9O1{Uu`RRy*_KBXi)Xqu$AqpU=|(DT324(R7MZ zVi}5#(e2p4L^MQ2#0D&t`03pc6C41=E%AVo!h zBEK zX}Whg7%Z5aJf5>*CncslaTzJPvY`I`+%G$`hVq%xeUTic`1v?qBBtg2715O6BJ9Cs zpKoVm(Y_fDPiOn0zWqp~u~+Ql?+-Wpe?FSqi*C+7a22oK+y9o^571_7(;U7eAJP4V zkxnaxDFaEFRnKqDAILAM#-6dJ$XfO~sYR8pa$<3z2|M zL3L0RU-eJ?%r^X8uhpVyu%&-r=RANhgcGr}d24Z`29r7SMB;a5n*T;fAiTjH>+1v3brmNYiZlQAb|@_mgR`NO(_aI^1J@{0Jjc=9oSe(RKY9aB)6%n^ zVTsK)J;+Q|2afod;%MW+$@Q3R z^Q#!s>xin*67CpEF`HhW=TmVY+rs3dKx#Myu#dhZL;>IZxjw2wHj;ITF$=BD`t=lG z#Z=6c*|yPmGQlSy)hkYtx1 zlQW~c|DLx->Ili|nDgKETWdd9%~HdQx90Uhr;>_thE4Q5igcDWN_)v- zH1nl1ioO?|0Pa`=zTn{et{6=HfWPzMTw`Wd#rPz0wizupuOX(D(s|U`hM?cJ&x6d% zn(u(GCucP;sB-nXnSKu`=*LX!*?BK}3r+Ffm>=SK?Y{Or5F1pGO zkNKY83Tw^0&9-y?ilRIBdWmO>lJRx^>pD#P*9+>PWZ~JRId8M6ybmakAKw|%!Q@=& zeIm3B`Q_#JV0E*l-r4NjaN^27f*7QgqkPCCv^dUWi5vd7i>+x+f6!l^7-kEoVQyVR zZNp}EJR*6kzxIvs$tx=Rb6uMw+B%#jlW$v@`mOF35*RApLotUulgs!OZ$_8=$rwn z709+#hZc1YS?34G_4Y*UGm3=E2S@BsGh%;&etMlPx@15!v;t)&Am-Co%m2a}*AuFZ zk0xCII*Q~?npcQxF_R|{Eb{G^oNm`9a8ru-sLZVU9yn=3C;ivspUY40SUGcGyH-pCMtH=Z(&x zmFNmfsFk@?V%krcM~;kmL>M{cCYBay2Y**Op({$<)0JB0`m{!mvF2EBedYVV&sjF& zG3j(%-)I?YDwQayqWE}~2UZEw($)LDcd8aM6;$a-Og&J_Vp|I&(R0Iu#@OD_)XjiK$M8SCEdm?b?I%HFDnc+txI% zq^+(xF7TEeN}280!v!l=&Xr^?cCPC5h+hR~@NziJ2&LFs^dV)u;X8 z6|8xB^qoi=yRg$J*k$EV^+TN`V8#9KmFk+KiMMd@$KVh5>r^6LdDSlfnZ%~Lva-hN z-7DTYZlmi}&8>NGFLq|+HSJS*^;bi#>G9IVt4+yET3SrI)&}Ekp1%Xd&T?y|-@`ph zh`%j$ypBhDYMou>xC+M1fRC?}Wcu(u($92u|LCDir+HyRa}iHrXXve_#GJlb8=k!< zjk$a$qS&FN#=X9kXo2tTg#H5jRJsBR_}Hoa!#Fl;=@nU5;HlVjw9J%F@r|5Mm|PQ+ znjCvgfjA$@+dosKpOn;o2b1wR6aNV5E1yYM+BcN}PtV{$Ta@r76=tTtl>L?&pCf5V z4sfyM#4lJpA=icC^^NwTF_NeH2nE&nKn9c2gb_!;kcW*L$H{3zGIPV!(PMbt-C8(2DfYmgn>j2fa zUduVu~Ox1Soq`?5!wr{ibt;i}cKx`U=ebo^(M-Y#;MG_81ebw39}rJw680Cf-GA zgc8thv=w7L;{97MM?Aq&I+fv5;B&R(sj(E0Ser>&VC3WJq(aSA{*IX=(?><6!J#&;(H*v!7OW%~K&$nxnt)ONF!R*F^(uB$Q{ z)5HtwGc876d3<~nm5}`-gUeSA8sKJ+w-ZffGaeb_p+8gpXT_7ArV3x}I$o6K3?OZyuJy33@nwY3Eb z0jGAYtk@8cloQQC=tq31PUe*7)Z$b+TH2^B;W4dCZs!0*?z&lnRoeA66{grwB8%}Y z^GF8uDkH5eh6162Y#lZOWF7X0M)-cia!Npaa!T!sY#IZ_jICYNobAo8}3r z%g2yogsK`6C3lIcWl=LZ?y+g;003R^5X6uusFx|jfK-sjOY6I@KhG?lc@O2A8b>uS&ejI1+wd3Y#3DTb8&U#f#1ff=q8ytK*_ zOWDMVRVe52kn6Mc!qBGE6ta?Kc_?;1JecAS?~BxBQyr~NTMSeX%t}&pnlXEyVe5>v z7f?wclX@i!P^tNSU0>eMDI#0Dnhw68{L zZH;G@6GKZLV%su}D||>On%(z(%~a3h;`ks{K)6L_ps@Bi7OlsagQ^ z0NvDzw#e$w8=3N@L*GK`_$@WjG%UgCcB|CnpMK zzpVTIsbUfM)Nq`%M5mfjnvSK0W9o;&bw6yTVaowj6>Uym%XZreKR=g1 z*7`5bw^J+^aNFCu)}Z?_AV@*(%mt{{4{EVz2KetNmU)OJMy*4tuKvfvJ96=6^8UMG zeN5XkUfxZ7IkEArpZc&G)aFC0cl_G@&H=p0RE%XILsDIVFQeADYvYOK1WeQ@QDG7w zL4+egidC%68{*njI+95QP_{n;Y_<}$g2h?2p{#fH#Ql`TmT z!qj3Zkt3$CGg0%I{FE-l@NOoE2~;f1DEvJ@W&3mxR}D&rA|%QkGgYye%y!&KStxOn zmWz~zq3N0BM4Bu(nVj5Is$9C_2$Fi`Z9YsJ+w$M{{R#t z=Q9wa=NStx6+OH@{NX4GrbuP8UX#VRe`lOraPby}C1_MwLpR@EUs{I z0006W!CIL0$HBtHdQ3d#a6ib+XY(;(tEf~pB|%=WF2Vl*Rg_V7hr&{RZF5mY_WRb@ zsZ710Vs>guHu|fKtU?vq1+9v143hzQO)cS%M~0aal!V1mYc$M~9qd3${TOHk$7vQH zYJ0*}vlrRG*)^vuD@!CgN|}jfU=%jx^x(vZlQNPd3}!%Z-U=qBu2>|{oF`eF4nR;J znp_%fwg$B^8m1r_z-rKaJ{2PcN>aO0mYD>JhS&9FX5RRkZp^9CHHCxB>;;@z`EQL= z5P^N2w`ZpQ>tM!F3AjberpYaENgLY+j47q>K<%n(v-7?J{aV-8CdX=@R>H*Y_$4mq zPcvJ*%H(O#ZHoSD(YAV7s5Z5^hS4IE>|pvwm*T^pk{O0G1xl42idfRRm`cF7ZC%xb zsVPAkl>AXJIG_=g1}c@3UP&=fq%X6EsEEz}^%g85vu!epfVRd%GsJV*-XEJ%c#`14 zhxk`513#IByvJh`wacf`2Avr$L zGwE8D+oeGiTBg}5#(yClXoUhC2(h87u#REnBaKK}BFBc9`Dmz!l_*1oMxdx+I+TM7 zBt9ekk>;aia_L@2ie$4f;BiQh(z%LP5^Ua7%^`ChG#G1ic4!1k!NhEo9v_y-X7X_I zd?zajS$H{gCMp0+E8`UrNdjn!uO@taEzaloK4Xc(g8^}($(PFJPEbS5B*l)Xd6gsA zsO;ud8HlbR{tJzqg$fpTD2TaO{3<3%5h6(yQ}*7Dhyozq92l}2r548qQg|RwX~VKh z3(99QDUBE=6f@ccMG(iwBs#$^CMkEWGkJw4KbAxY**T!5K29c4U#oPjT6)u(yJN55CvIQp>3$O(qUqsq8Lv`QlmRN^g6ezRH02!jzee z`b3~q_z+CDF8;Cb!Mc>96tL>LOtP0f(0-9NB1+;fWTnH0xilzBK1F?EQUSx1FjYkh zSJhX}Np!Zv5y|1T9p{#YGC!3 zZlfAYoz}!D`=WrebZWceYJ#LEbfrrC+6JgBFNb-60Y&{o%gJ2u!90h~=1+@Ppd7G7 z&+@|>)}Z%WlZy3hB~cU-0GI*0zcaF(+*De)2~C8>MDlZfcJdUpNs)rIl$-Y*N)1s^ z;EGW5Yyr6F)$nHfwQ!)NGDG+hYMyQ>YHs}`D+GWK=U1x+0006XtttwFjw5iav`By1 zOia`q-=Jpm#sn<(LK;$>qOuu)uSU-$LcN!5+1(LD$&e>C@T)AGj$pT9 z5QeVN9he|?u!4te7y}G0C&iGUtZ|J001e`)QvMMuB?(YWb;KE%>*5e1dO{#aE0-`K zue%LG6rsd402_-!;;YIa48Ie~WDgMt^d;v4`xqlIn288T?9!z}1Tj^KGGmFr;jrQ5 zy*y>IaK=YAxX>dZMGMSCR20pY%PDe3NRgEgZ*-0y+h=%cvr%A}u|yp9Via_)EJCi& zF$p<@r?iF|86gj*ryM7WWa2_t;k;Kb5JXO6H4-?76TXy%g~LioLS0i&L`pFYmZd;c zHyx1^NVHCspu{s4Ndyr>SQH?KSELmoQ1e-2DUx+M35HUjT)QC?X$h-Yh*ZrCchbc# zd9BY=Gk7t?LlMeYt4O&5{MuS_y^a*6HlWE5S-K}?d$oGs5+zz8&I8M+(a-m~FfA}G zbA$oACsQ*Ees7Bkcs2m-1jLi`P!h(czhQ>d1zD-y%T~R`!}6C z7=iiv!PIDKI@Bt+ZNnENmaUpp`rX_FfHaVx5TxE~0keB+(+W}%+9ZJep_*dF^qyT> zoX!jwu_a?vC4{sIB4yKV@jmP+FiglvAqgp&NM#QD>2NN<^90`yK%==NhSJHeDvo8U z`?}Trt(w7hAn!}Kr8dCWi>cbQ-eGXA?lc`-!E2gPE?%uDrY2T_-!Dx`)lXU7H1XBD zl%aIw`ktgPdp#?^MkQ4MA8D0TwViEm3@FK_Lw4z;mfSxjViIAgGO8=6>Maa+o|~TQ zRBg)%n9LoVT3`;44w;f(oo#?UYU14M!%m*jl*n6CD-$yTd!JXU($xm8Mja2UQlu0-y{y*T8f&N$`=8R~w|^{86sb{> z5s-xUWhosfLpgWYUjUG&`5O^Vb=&-tz6hWSbsBywB|S&pz*ip@tA04l#dxw`i1j}dC z%y(dxr3lzzP7>+@Vnu#i24?AeG^-x5F$@V{PC*lE#5Te%lJosrj0zknnft|-`2B^h4Cv1lQEe`Q>d`# zebd*b0%X#y2~rDAn(ppH)y-_wd(wPvu$Tee z-)7W%w=|extRB+gq|%ip8iJ%xaYTkL!79dUk7c;;;C05%#>qGl zVZxCeh(s|PE>g6GMvV#zQ!PRY)ogGtgL!P!T!KrrqG(Z-Ax+D`~z?=4KwCtymjxOe!8; zA(nTE6JnuNA?&1APcl5Q@NYLbT-+-y2}%T)URgejx|+Pui@xtu`l#6eRon4+sDPBE zQl7>N(Hc1?*eSkjI$5h7@3wT@D`(x^mg^9dH2Ewurr5R9zS1c{<8U8506 zkmFD(4wcvnusDelG)~qlQh13vPNxbsP!;t8h@;m6S~q?{K$h+*s?_ua%ZKp7A;VFG z%J4>#5)vrExsuzyHO#kQz{-`-q`7T!(w)#>6D1}<^PmY*>>Wr+WQ7gKtzFv^xr(Td zETWE@^9ckqv-C}Ag(-29Q7IJP)n4r7fnd!_VMH+`3xTSN6Dacdw!fAa32h>Dt!$I= ziu_$@uJfclI-C*OpT;VPlmJSlI*L^?2QAfrA)!lHl!8c=Av7WX02?xaqPg-;3RC#N zn3DtRxM_$5l%gM*n`gd5EK;A>d8i1h6+(oz?II|d0$BlVEs1-YCLd`E6gX+@(&`CH z8$wa+1EG9=3d%)vBSdkRK9vN*i6dqfh$g5BFGRTBuZ}4Xi@<;~oFuQXix=^pks5Bu zWk7M5F_Q5i=_GjR!m`nz#D~E$nM0Ug4?z&}(BY;19v)#j6Pb%0VKXRziF;1YQGE77 zFAw6M2NjTLkcXw_BXE51imu5p{TUgQDtZ->k%}djWvkUE(sNmC!s7Z@4~xX$LQkM@ z==qeSK+0y!LlZrh5mO?U7BKAlS4>Ebv?TDp8=K6-g9aKhSyLJ;Lk1FIqb#+@P*T*; zOlXP_-%F?hD~Q}pTvLcqng9TZb zo|IJvBuJ6tm{LSA(+nl$3Pd%mn+>GKUxNBfY{p+bk_k>@F$Gz8ewz(uDgstYVZ~2m zWK>vUDN2?hFHtEjR8czS%S2LHJ)x+ac3{ccNRms@X<(LoaV)iw3po_RX-E)Mq{j)G z#VLlcmrlX!xhZoFl2o(QYVf1hQ?&*Lq|69?MJ&MIWAjUrSYg7?cePo4fY&Rj#Iz}A zCasRi4wDs14oeb*j%@0Bf^o9SONF3!l30YD!cqync{^dlcct)TxJVw_KBvKj4vlhU z_`2#L&mzdHjhGBWgoLNF1WMyg1gw5r^Hn`#HX$Y&N|0$2vrxZg49k5gmS8Gob5;Wa z5C~1Qf)oJR?^0h%SwBt_7QryffR#?8SB64;n+DX?!BkBMNmQvZ0006adMdLJp+bc; z%2I(bAtD@MS{}?9XjG$9h?%^+2ry#^MNzX+l?=jCj-^Kt6#6Fb5};Os^593|=RcYX zhLId_jvW#}% zB4+b2L^u!?nRLKLUMw&Ql^GEd6c8R09Zo~X%jZ^CnuimxQBu^k{9B@t9mokiqC@^K zT(4XtW+n9On!OG$#muOSfeak9Y0H)N@J_nwiWd0d`EJPx%=S@Z=GI~)SR-vCskOSlTsR0xHHP1e zK3LI1I)p2)|kDT;KWT(y^=u%l>Y!FifsOlh^tyF+C(XrwKru1v6OSa$+jMj zQkNpC2pbf>$9AoT6m=6|>Y)^10Tkxa?S-g6qas*qTbq(WN;#C$qq>)SViXX7i4vm8 zVc7!R=GJ@PJLR(sMM4s$(x9O7H%iNYSh}bi9hw9XxwMfHETjUhWcsFxMOxvy!iuPY zQ3*|Kh7Gctt_ZpilBF%}KX#qMr25b5wOiYHf99Y;uZsG$rx6&(s{1|V4Kl(7E*;@Hxc06n_3O@p5oI1X5c zP$KL_NVC~D+%wk!$mUB0G1aJ~)YYGv!jle0G*YEV5`oIEQRe5CC1cursaYh{tD1R% z%jO&#oZCgF`uZBDo{??W*4ymn;NY#s45RP;hAO)g6cS4q?!)#WItd22^0Niv`~ z)L5ppES43aFUOn1RdpTXJEUG*pz1KEJ7=pRa`Y4S}y&Oq7DCX~@M zmBoSOv3=;%7PbUPbXTgRwF_Jm*QJH|syrf~vPvRDOQZ`C6Oc)~r>4P&d>sxXWRR*+ znY-MJ8q$m>a1?f`6F99D)ptzY+tZ?20006bg;U>9M$cr0sMK1xF(M#Djd-dF&=0I3 z1NgM2!`4;ndj>)%p(GW3(&Ml0EP5z9&lRLTrTsjxNmUm8+T4O(qnmqb?|@E$>ec42t5>d@*p{_TA76h1zoI1+|aW&JFJ&*r?4I^*7dvZg3$tcB)*dFU6SFz zV}GX?Cy`JD00sShMIyaVOg@$>n$8fJiwdxy0Gb2HVvg29hbSwsb`R?o=Gu)h+hz<% zkxF|oXELRT?t=AenibsOJi#T<;Z>{iK2|lt6uG8R)}h@bHSSTc@dd9?Ut#=FsF&t> zwds6Jugwas!O~x0x7kN^Kfk5g!oSyv=2He5T-2K=J*{22;k9!br8U~7*MDa$E3%>$ zcx6S20Fv+E$9m)9yZ4bU$Dq_)jo1NOU^BBNTB#u(G_Ov$eKU#{qqUw^6>Ha>@R?$I zfW<@9ADC2TT7h9~Dan;l6cQW)9%}%7TIoE43u08T*Qqp7l)Fl7^be#xMgXc!mL{cA zz#`Wr=~0dy#4^ODCPy=u&82AXBtwppw0>krdR7Zh=ZI0^mxme}BB1k3M1`dL59+gg zLo}%}`8>Q_%vF5INGm>Nm~}YMaZJp`S%`~LP*!_9u2BStIe2`8BoL551gd44sJTDA zNew_H(k~GERXHIGTI5sgKsKF{0#f8`rhEk$!75kc(G(8QQ&ovHP&FQ~(|k-6xbc!l zXsF+bOUhj-u@#$8A*%0Vm{dQDhcQJcxst$?OJrRF)3F@!K7`b%eVAv^11T{SOxw3l z987?ifu-#fCN-kngp&^Ew!7d6Y)~X6O%1_9l34?r7V0{TL<=Dc3f(SRV=0?Tdp1+G z9gZc6l&L98kiv(%ICELW<}L@81dUUuY{aUPvj9PA5?ah~LeiP~%|qUOKRHScM?-*S zhF(fiU~Mo;T};%J2GeTdS1BoyrA$Tik`fCR6eXyciF^dZnk81KXj28Kg?i;m4x0+$5B;Tz6F9TJ%*s@ezL%nPq1!dJtLpx3daXViZc9FpVL~=?PgC z3Q-!X-O}S4B?zafx+;*>aN*P`P4~ko090E{&eqgM{Wrl;gbU5JEg7(171kRKI{{R=MAgQ7bsVJ|A7GOvYslPa~1p#0hyOL{4Z-U7&6fP8{S9S!~ z^L$?r=7P6WF%dujQW6OorS+*&Yj2f+(A0MzJv-guDN!S(@exRY5m2&-O5!vic&JUL@zlTWUUd55~QJMeMpFyN(OFCh%w>G792p( z;~+8}KfM}!R8*ey7_AT}6t^)EXj*$PC5I9ewY?8|rkmNvO+rk>Rm7Jq5_e4OI&2f@%1YsxRFInj%;_C!<>dyIagNF~2~!noXtJF? ztd3|(OOZ6XLmNIj=?S8an#{q}TGKEsx4Qr-Y68m+$CzNBeK6vKV{6bm)SJ880F~M0 z2T(sZYSZ7o3Y-NoEzE&2097sknW;*Iin6;Yl*%txOB#`O06&M0(-?`FFQq!~kLt009C71Oo&F2n7rZ5(5DM0Rj;N5+N}F1R_BNQDGA@ae)*BHFDt~BqcO9LxPf&qSNsfV`OuKm9oOa)Fv=QQ&n_;goTr%q_ecd(&FPqRAtrw z+5iXv0RRR+0{;MzV)I$-%p9&>A9^fhgd};Jo`(4rZd@qhcE{{T;oJQIl#v&G8~^N9E2oDV8vVZIU0A3%_IMPQmmCFABo1Qpwo+t-DMT1}a)*fCe zX!Oa$xAL44+)|(1aQ^_-a9vzUGKVu{zxKseKO4j>5A8Og@rpe8V^85m`AW!2li*BR z`C|M>`5*rPZadsV!_fZ#`!L;y7hmS(vfzI|IGjo{9B7`faw#4!_(1#q%n#W9D_&{J z{aKTMufd#IkIl+`d7MAs-Y?{wng0OQU#2U=xXW|w@S`A2rW>o?{;*jkOnTJnWUs39tHD?v>SG~_$p6DTRzwp83^tpL`L5+5#N;L}~z zegUH+*pdo@ltHI?-ZwW0GSc+fTXEp`dN(TR2$z(S#8!t|8s=g?z+qA@S(Dn#$6T}r zeQ5?wfmsRKeJUGk?j&mol*AHFT7biAc_Q>sVa33tNl(j5qkOVLQ+64GYr|UHntnz< z1~HOKY1Spm3I71p@IM0+Fw?N=$u>!Gu0lp#HibLg>kYoOVMk`Y-+wJ2q>x5Xn-WE9 z$k+`$1T7?lv#T>T_wK!QuXHIZAZ4(jArx_Io%+*sD-Sm%6-IUjl<8Jd za;-XtwX(P%!qtruM6#)lNlDC-RDrTV3TgHTA$f7J6=zBa{ zzC9lj1th2nRh3b)4WD^oNa-NH~0QnEEX7n4j|28=W)}GXaet<-^Tp(psLp8nvxR;U0mF$dWLVjk6Ob zW@`4g*48Zu!DAE@pG2OJc0uabzK=(8{jahYfX0F{;inc=`n45W>{DWR0%08;jb$Xr zoLGWSRK2TOl{&`*2|PQ6IuzlU*_gj)cQ{{1 z;~hVm&Lgw>6|i=w0B9?E80hYb#T-ctI&DNl<+nfLsFnBLw!w+XZN8n8_>I|}h=Qk{s*6Hv;#Q%wcK z+l!d%MqmxPy2YYeMm|B!qN)S!OSnU^60yqlL)CdX+8ImeVFIrpf8(iZtF5_2CPi57uoUk(uN5;CxN+7OOl}ij1jR)xz z$s~51ot&>nc$O8DDuF}H1ofLFW&(iKbvMcg0f~$TPfC=O6pXUgl;rtTlk#fSBRlUR zgc9NnkHQrJGDucz#YZ!Gi^{068``V@h@#I;+bD$48V#xbES7g z#ko#^5GhcXe$||E)-&a1bylxNsM`22{{ZNR0m)Td2CD(c7vfc2(NAi`4XU{!p`D-Y zaP@`?xuB+(OH_XKyP-Kd7En@Zc8LvU)jaPRRPL&Brp*n*mu)p@ZHG(caLL`jU3kJQ z0*e(r^-yNJQ|d)#33GN=YU~)D`qOkQm5^)R zl+iE8M?BypxhN+xy_D9J8-rU&Bsfl1%fEo5A0M(Mgn`;H!=2flyrT&@IE*;M&e@o0E@RbMc9K$Tl9I%MQ*sE2p>n6Z z+$t2Vtx4Jks$R%In34g?uV{r7u}EcU7)i>NHcZUv1FcGOpt{IYq@LA*8H?TB;%vmF zQr7PI3Ukcs6m_W4?Lxyy={eq$jJP2uB3ghK(xl#<(1~exS=kInYRLdF-&koRq)JIm z0o|0Fqm4B9$5OzDt>{KjmwGk$*6^T$P|6?x#m<4017CO~?+_9K7#`MZiqW;T0006g zHF_}R-vKoaXaH`1c)S#xz~|I~$N{Ol!!k}~GpT_)H5G1DN90TFbE~Wb7kIm zlJ@%}6VY>U>oN+u)f9yTn1v)?Hbw(2wv<~yB6bdD9YG3Htw=(znZl^~cZ(K|sZ!L_ z2{~?(GSSC?cub7OyCeZ(Ljc|ItUJ{?+j%eFTf&0UcBo${G_z?}uXGZ!3kM0c2?Kf8 zhOl$dh^j`)wXO2F@QkxEyJQX%yphAk6S9|Z?_gc&_35pkC1ix9Y1$%!v?imtwX}H1 zTr*C@@Fqj+a`wT=6_> zPGVOy=MxZ?s5e6n$Fg_PjF~-dGF+oEDoP8f)DfbX0kjdU_e(o2E zVc09Q1z6Y-O6X}}-)K?|#*Q;motGP*?|_rE=KaLkjUI&F+@f68P|Vb!JMHk(d?9YS zC50G`IPQhc2}vfdNNX1-;0E#G6J{+++YM$@4js{{Y{NXU{AYvn10tSAA+nfQ2fplv}a^IaJ~5*+pNRW?;o67a4hu z3^ltLK@)UhDg(7{^c?%+E$YRK(T0Mon|xsQtSlXY0006hT6)^E=H6|_EcID3(#cRv zl-;87CHdyYmX7m4wWPjTAxc63S*{N{wUsQY`qrYQtg5O~jwM8#Nm0btTvIN$t?+zc zVHF0L(k~}y8|xKKPgx?nNX9CP{Nda|il;0$RMXLm?PYmBA}=-V5%CS%;`?boJsUo7 z;~G}7(jb3O;|13Kx;`}Vfa7O3ngY3BPVMofV+y?4{?U}><>Hh#IGg71J+OOMB80S*{-LBmtc*i@J7-`%1)8QQQUoAU(y5o#<$$xI& z#+Xdpx3_QO5zi%cJlAdX#N_n4W!(sQ3R;jr2q2oAKX)vnNWZSXi1C2yqbC+Wsa#`B z_qB85R~XYh?OgcP#x$;bMf_^x8fU$$pBlKwIDgwa{{SMm$2fmIGqw9_;{tAJCaIWo z5J3bjK!P$O9Z@l9+B0rxrl)469iT~Z=a%BgP6-7{B#;JG${Mt1*b5BK%`zMpTn#?s zchmJ(aYFFiaD~lGxx*8qQ5PlCLo*4PiE4|PZC5PDyu#qk5(U-ZJi2zn(X{&Gud zB}^l@<*X0FK8Zi9EBG@%ra#185kPSyX0yth%jUwmbE6VMP9?Jp!R5>jlVUb)2Y z!I>DTBpUXk))+6PN%zEh)1%)nrAmFz9<#uGCSQs2k6GXyy((9Xdd~s$xjy#j^`A%m zE>FE4vB3Q*PrV1FIy@Hisa`SbevSHEuaA@tnCQ|RV&yk~ln#~X<7`~76XhPX=>Gtv z$@jkK^|wcTE>DT_k6ZM2(vk7ojnmo8$nE3=&nNGEgI&YS-LBc*Zv zgCu1AB*y^XB1dUWzvjNMXD)Jq=_dm6e!rQ_WhF1j*?%>Qgg1NtqVf9MKvhGTQ{9A@|Ca zqG+i#N@0sGV#=`4^{Cw4WbH*wJ!W5GQFTnZ4uLK>g-z*-%PLnhNkeIID^k+uSu3^W zt!oBx$!i_!ATi0;(&d=r&q=5ut5Qy3`Gn40Lzf+4((ai_Q;Hyk1(IuRGbT9+C(N9Z za#~lElZh%b(=!d;n3F@uY)rDmk(h9mQFqy0+7#X;FzV^ZYZ0?@>g}6R$$PixsbIvL zWQ`!cpj|5$w`U0ggR>|i7NnypUdo!|6M+8!R=shOX@!645{eUl0jstsDeKlS1rGk- z)&fNby5?6 zqHr7W-xY&O<*En)MC-%L^MGrvkgSw*H%u(mYCBXoFEzx2)$A-cW&^D$sh{XD8EPws>M4-G(Ln#TTf57BWOD6 z*?qQ~l%Gl(1#@VWC_{FXvY0`BW`0o(xBNQRtBONzX!K6Fv~q=W9IVj2FEV6i8fmU~ zHq^S*nXMW52OCx2;GUU66dr12YzxgKq1RB67G9arD&3-+Jc;L*X1ymY=AGx|C*_we zrOYLVR9S7e+F{2?) z0No=>Mm5JOYCXH+`6ltt(11ww;}y#-)q=W?{{U5jwVVRALuvy&;5atL@t$#hn`&b9 zBS=Sn$kO0x=NGqEUOmv0jdMFYe<;3b-al9iu6w<1jV3tZvI^_IozbMj^vX1(Q&>K- zjX4zr0CsprnOK?#zuj0;{z=WrR_uj;a#mwNym3OQdv@{b7?*XY6V+N(Tz+t`hNBBc zT86Qz5}kSOt{R~!5C?{+z$gvzO}ro{F1K#zr7^BLfc1oOMtQR1_AJAQOueN=%PC_P zEf&YfsSb)b!FYU;TPi~9qsIzF&noBaJ2~k&2gHS`H8QrXG%bmGLS3J1KMo;^zxb7Tdqi6lq--bFef8Aa19Al#A{n^hhFl@>3oU;D!80fkG z0Cr#9;~f`2?#uhUW1}bi*?)J8bX}qDu6c2einKk|&%4GtD$w^;_@n%zqOA{gbMEnu ziL^c0UMT+nC>A}SeuAHAXdm4j2WWjp`!tD%teM$%)au(wLUB<-f`}VP820|WP2>@aS zpnK!z5xX%HQvykiFzXVal%$$9Az8qjO(#lMst`b+IN?oj zZst>l!`%o`zNF`oNk4>k&I4&XwZiyF@gSTv-ZmxVo)1yLeDr=v@7sVq5P6&S%@0 zl%879lqqv^E+lD65&}@CS#hFJGNm`b{{Ts)pe^tN6w4uD$SuR9>VCQ(x>Rqsz()sfBXk7?ZQl0006kMKvNGI(>#BzWL%x ziEG4p5jB26nS0mz*KX1u@uRKF>S6q+f-9JJH%ndV9KF0AOSvt331AIT!iz>D(8D(# z4zw-SjB2CCv|}B5nlW`{hx@H+%S{pBsaMfg;>znG;-1?VJGQoy|Y7+sp# zkw#<`zmhX8-bFGtM={}F*VBnL7fA6KEM^NCXOy$FllKxvw^B9j%rHM@gmEpWDwfh9 z7OG0y3N~xk9ZwhN~<2M0^)2Bp$khm_J< zfmrE1K-K#{Q!)LWsku5MRdxM^s?C1D)x3K9S~Ys>TaY%_T~cj^y93r5{MV{A=?S$u z@|S7#^&O_%5~pW35tq{&i__CPj2qLNhR4&Jh#9tPaC^zJ`-n%R_YG9+uH(IWM{bhXvKxRa(z}S24#sW-)$QF^P!!v`0N^1QKoA32N#cm)ERqEzGh`)$C_|7W zNCpuV1c{OnL~@Rj)4(QdkU@|%NJe1DX%m&`!E>tadA|4Y*1sOQR(ExEb$`{X|NeV* ztyNL4>Y2gY^v^e2dzYdtmoCbIn)Ayj&TPx<-a6r>stvi%;x=jIZb0=bZk)_*R9s;c0JK zIn}1UZSxtAS*k(OA6iw_Lfk(n5llNBr`eGFpKOST_zVdV$vI-8|71f%2;$3UPJ5fL z%4nJQou#C@;q)pp?H?W8C{_VEZRhmUl;}@J^tz>A_Hp#4=A*KI_a+nlCl%@t;W?bb z+H^=^mAAtqKJHy$s9<^*{zOPB=vPjti_g?&$>n<|i_~^Yov*zIPBiUC`gTY+l~1?$ zEOiF#JB5cO?~!h>pGGno317b>rPJv4xViF{v7B0$nUm!^)Q(uGeSoEZUIkO zAT3HeJxY7U7WIQe9)CM?z=TZM*>J2vH+v4Lxe`QG+k+f4Y-}-hLbldY@vXhF6-eq) z;bw2l{${|Scy&8TAESF$I8FEAqJZG*rq=qmE-0V&%U{_fM>hOA6nhTqlTX_}cXBaO zH_Nw@_?TWqO9vaw6o12Y_Nxv3J;UkV4_VKU%kA#2?n`Rr$~Um`O2-9l*!<I7@X-Uyr zlDF!e$Nm|k+=_>2KawI+}+zcu@(-msluT$E4cPUx&`ap&rYFQ z-)}b7Vz$kW6OKNzCFrQ7r&1XI@{3K_kE0HrOOGtUmqhN)&xzBdqE%K6r8>KmF6;@< zub}v}2l7+iYgYEt@B8@I9a*sCeZ1ekutjmKKhAF2JTIjJ z=PyAE1uEkE=`0T7AFjPN*2YeXzGP;g4!O;MBX2-CaYxY>Nr(R&E;pUf$6zL~yR319 zwD<=EmT}XEBq}tqwVo7|U*un|PVxtC5#^9QKsg^js<#!dD4TmWR86b4m)mS4gADkX zFy78YWaS>((1w4=DVj5o7`*;nGWM@E*X~T$LI*v;NZKtuffKuw`TM=yRL`%mM{jLy zYH)5(6?~a**yZXz9T|yBN&#(XRLs6kmv1o4#4?@fUcAblDQQ?MK{%1(*Uf@g!kyeq zI&PwmQbwjKJ>*ZNxk%x>Q1(UY{ZAHuj2?C(;5*fVJENPn!OBb$B`iDLA;?bJOKQ?y9J^<@L$vM%IW(a_la^7t)jpNt~9TD{pY*tS!u-=t|~E8_9~n*4n^5T z4JTfw^H0oHC`kP@oUfFhz)aN3k;NU61vIE0WL5gSLXv!7*VeOfaJY2s-7L%u z6{BlvkL~&O%5($cJ#rS=`&G}NmFMhLE@?yA#MARt_;J+aQv01Dk7B32y~wd~ebRD^x=%JN(+=F| zOwz$EX1(ONxO-~o(a@(cS>8q!T2+&eea|NMjOeRcsF8l)X0ve$E$evVq&ZcI2~CV< z2uhryNO$;LltAJb+qWO$^NCk9yaH>E>Uel{UoC2E*XA*)MYs~bQ2+ph2kr-6hq288*SApuVb;BZ~^N&B>1~Pj&)u<9sM{wnXc%nuGnn&>@;} z)yfueN;n>5byAV!90`tcGV{^+=bRetC7%`<4+5ivfD3KtfvS}#EONJyNF>*y6OZpg z1$WGpeIGs9pmF2nMRpZcNwdV1Mho(n4Ghux2p#ls>n~2+=OxDFrW>hk+$`wXI^TMg zE4k?5h&fVUyWPQb_-``F2tl*dT>PsiZ`VwV1#S+;NB6{C=CVC5K2ge2jJ=Amx8vLbU$xy&=qB&y@^KT6ftXZR_ly?Is-U5{SoUWli0*C{g|6;Kpy zWPE7;!qb+rKxJ+8@+Q0GLF`DDZ5>&GhIdy{9~-t^DRb$%;OXZO(W3gApt<$!$DAh8 zIok)H#`ZGzT z&+R?2ig@{n+v=BXw=~&R9MV+ov@B6}v>9*3FTSgrV=%bt8f@_0^YXTJV#9ts61ZG)@;DAM|`+R?`V)n1tFW}!+#LAMKRMDlCI&&CbxAQ#QN>F=TxF~9g}pc za(Rk`s`{tsZ2GZo-)tO_2EUjaK4cyvGZkakn$!5gW1r25vxC`R>sV5{Y^=6hy8P%j zLb|tRM(XOPp9(d#H7|(cZdC5_5-sFbh-W_we8o&lW1ATk;k&#rOFgmwP0n@UWY?-U zd0#E1ghb-PFebw}XrSZ+PSiQb)2MKO3Y(~&_{8_C^xf8qA*9%hw+=HJZPi~~q<&j4 z!@+l{;%=_O&*aR!#D;e|S*-MyMvukgBDul}!>$ih9x6RZvb^-SRA%CQ?%YA}7=Hx1dt&~~R}qQsp?7S1oP+ErVa zQ`{+t5%9jW`-X#l)F=DmM!bCJnk#QPdLqz%u9V4aXN^fthR*r)6TII#0zTMbp;mlE1*_G(*0k1DcT2_=JQEJ>2+O%$>hC0R4 zA6r{Z?`j_m@fS|g)R*taMQ~5f#v%}eyk(sk_OlWV@&n=Bw;$Y}%h4{H%HfF{S~}>M z|BEJq7#=3sIKIQptEn0B?uFIs##NeU^&fJ4GEtz%Bmo%<}zS4fH zhtz0n?Ez;-$ig`mnivQDseBjx6^8aJ$(t{#0^9B~tB1WSZ$A`NT~)V^&%tQ^VsBv8 zC|9ALPLp*S{>)SQ>hTU8&XW6NR5wqtjyqV`0JSBPfirnwgEJDFA4}J$5m@UzP8UhH zK8P)sWys=FudMLR73|<0JiYf2?-3Ex8k0OPn{oS@zI8Z_*^^If)Qfqdj$}A-%XH?& zy`}C#RXS5TQ;rEit9KFRQd0*0B0D};JG~3N?NDhm+@Bkn>Q{}6MwMS0zU+>-ZvEod zWAR?&`3|R|*+uyoUm98+X3w44M~m}HJB81E!rCt-Us=tw?hl;1%5Rrl;Hb|iID}O* zVt2-Gmxwi5u_+HbDI!OPzpq?p=XKc&Kl`>d3u9Xz_F5>1^k-dhR!y)GV?lN$>jmSg zxV+*!kt!U%E86KdvP6s?PzOhSn&zm`j$3KY-pLX*AzRHpSU)HWzKQu_go&uoyS_)}N?Ci_3Da;?4Fy{G5%e=9_%5sT*%f{=iS znDE~VqCdwu4Ooaj5$p1mt2C4>H>jwY&$IFiApQ7cWKVQxm(TU}>NX!odzEgWFn4vOmRkEJ z3;9Z1XBIcyg!Jn8+p{L#(cW2^3br5m;d zTv>DC1;INC_(O+V`w?sKx#W)9HR)_YjrdNfSQR zja!LY>&YT0j6O1Z@`$;_`_aneunOvDv*4YhM*-wNn=8F%iL@Mhl9)G46PN!5^*w9A diff --git a/MesCigares/bdd/main.db b/MesCigares/bdd/main.db deleted file mode 100644 index c372e8aa5396d61aba18826d2b09b50a1adb4711..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15360 zcmeHNU2Gd!6}~g$I{izN)*b&OO){;wZQLa8%y`B>l%Gu2qYw=l~(K<54#{O6#^Bs;vMo(QMA19fDj0=%L~$KCEm~qBsh2O%+!Gm z0)ZM;8cVUS&$;)0=YIEm=iafha&y7-3~7xxUF=CElt3JZo|Pno&>{F6g1_)}5E_Z_ z3w&~Y?Y)|Z(9AoN2WV&Eue8r$_OVy@*d8+wGw|dXI3x^GuzpoPIq(=MW*}x@pBaet zzt0;G!^aHlBLlJi_mTV8R&a9ABvyN_jxm7_?Uqw%D}NgpZ*79{XbFiW3ZTk zeP-ZjKED6&^A^PLF$4R^K&=0LBtM3Z8Q5nAsQv}+EyTUWH~C-eb1*Ud|Hi;Q#0_L} zIqu%4JiKZdxV?crm%a1#<;HBQA+=^NFEk`(n>0JpwWU^LzOgJdm#;0(Eo= z&u~4%VedzF$?XeSxVr~L>vH;6}E_CBx+pV{_=|A3<6k6<9?00WuvL0pftKku^lgS$YO z?Y{x}mwFxF|DQ^+$3e#o{9hQL`p=_vB)ly=6y6YC7J9;`g<0W(kmBFx|G+=wAMmg8 zU*ZjZkyrT>-22>bxSw)wa9`&v?iN?&#<>J~7yS~wiN1}#0@LjEO6QX(cRZ6?H0_>8 zG*u}V%N0eDPn}7kvtVDq>pjyW(h?~unyl!>YDKB3;^`#HfVb`#T^yPPq8OCQ=qN+F;=loEx@~MnNJ?28VR1JN$BM?tYA%;V6A-{l9N4tbrB>3% zSu86C!L||E_4F{a*Kx=2BD{!IZC0!{Mt2IR{Wsilt+wBeDJ@lv*agb5F zvPm2-G%JO1+MCut<|C${3eK=l?0QN}*fPss2x++erA6@JM(dyefQISQF-j8DIbJfd23Eukbd1lUMjr z?r+>5xkucOxR*JbYj9Is3jGEB7Cl6-qi@0#|JiF~E{RST2)0>Ps{?NLqkK??9R^p zHPbd_Ssr zFn6ZP9P`BKfGTwvSgnFX$yAtQnXNK(sFkrYON}|wgI^2a;nn9f+KrPs-3=N_n}mB* zmB%%fiB}D$3)wC$(MqNHepy%4%4mrd#(5}=5?h{DQL4qVu9oz?%J%Yl&oT`UOBbd3 z20TV=n3ffE0->E$7;cN=vZ0DzJteb~f=wyWRbs6S6GJX*rQAiPsIVLpO#?>3ua(3i zQ`8(>@^MIXMb6HIin$AW=@_A>tY)X9;^P|5Ry0P_vr~bGnrY?+=U7=EyTGUnql3kF zBDb!m3qb*76bHjJIXxNL;b)rYSS;z;^9*PSLz>vw0wDiLENR(u%+m8%J;xF?Tc##*l_qbnkJKPVsSGYUe=eQ+Kg-Y`_`Z@Xu`Y!q+Oo`A~ zA%SKl=HQvJX>6LdG>@IOiI?C6bKsoA=Oz;xNy zzO;zpgzk079taom33OAuVi8B`7}7Fc!#m%%Ajj;xJFi*rQ_kYfYxJk5yA*rmOac|g zo`aOd(hImtV5`YhxKcn(aEDJPkT~{&`Ph<{66o~U^&*vm2L&wbnVU$U^J5|63fu^A z9Z+ht!V{+wC^K=xGPfR6dvX*AnqXZ>)br#Bwa)cyD!9lx zoJ*k8M1A%~WJzTyOuYvcW;-&bGq7&)I&pXIOAE!OX>=Uy??oDj7Z-3Kc4`_D0Y|Lk zRVYxdZ#YQ}aPKkUf<+C3DTo<**v2;fI&va`6mbD6BHY2?iJI=hLhp`2eZ$A;?%(X0 zAUKEkgNNzhmP5AvxiUiuG(`gl*@S8RenZD7>J?(UM%(W>JV>XyTD-N{#kNhS${vLb zrDNw|?@d?(*lfS=&=EgmI8C=8Yr&j5oIn@Ft7Mzd=oSeL$6?_Q9-;v?dvIByJ(lv;*Ed>>lb{#z6bJc^f z^lK^ssu6wswm&^JiUQ<}2v;)fN>JxPHEh8=MQJ&pqz>-Tj>q7_o)hb2!(_8j{qw@F pknk?N#jluwn1QFAf%FtR39)Oyqv_)_A$5UP^&8Rx9H~)N{|6`(cDw)p diff --git a/MesCigares/conf/mescigares.conf b/MesCigares/conf/mescigares.conf deleted file mode 100644 index 6c0365e..0000000 --- a/MesCigares/conf/mescigares.conf +++ /dev/null @@ -1,3 +0,0 @@ -[MesCigares] -bdd = /home/jlaunay/Documents/Cigares/MesCigares/bdd/JEROME.db - diff --git a/MesCigares/images/MesCigares.ico b/MesCigares/images/MesCigares.ico deleted file mode 100644 index 91b2368447f906ecca437288c8024a94856805c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28562 zcmeHP2S61^-k*IB(3Fe!ncQ9OlDp&*{nGAYVw7U+*fod+v3HFc!LA?*p$SM)>C)^C zr5Mp@G-rziNhFG*pkh>-LXaX#-Ti+5nSJZC#3X8B`EJC0^Y-n|{O7m-J~PXhgnuJO zFdScI^QJKNXU5pu_>WWUKlo4Qf2t@yUFsECp+7~Ise*E&vhs34LH?z@OXqVgUHIYh zmBO0ZYFr}M)9<_`aip7my5T407l39=E62h3#LYVWgnt~Udb#d;RaH$*jdnfY5k;%u zC#`Py@yYwV4WHWvaMuCe95^wEfk^-cuWE?h*3=XF_1^dx59*eI*Vilc^>rw8ww@07 zFuwX}ssD0(Fk%4_KY~|O&Zz@b9F6~<_-L4*LUmcrzj)!m{{8#*e!XY+&a>HB#5whx zg`O6kF&@V+;U9v9m+aH0SH#B5o<40!V1Vwo*wV@ahG2IY?99=KverQa?!o<5p0lk zDl;-XEFvV>dDcu{FVCC8QJtzB6w7iPgBvT)Wloj8$0 zR10lwu=ZRvQLj&^M$-7_PWsbQQ&+{tZCbxBI4~e4G9orQdU;F)r0gwwe|>8oT?cPn z8&CG}=d9H{9Uy8s+su-QRS^#xAGZUP%A|^H>I3y-I zV(p4mtKwqgqL#ilESPl+WStkXjy_U5Z`RfW5b3Pu5f`LZNm-76)uty(T(5BEVk%sT4rM(Tvu=x7mmt>3M`!ITwf7PbF)LTSIYDG<;mn#$B8x^w z-=Nw!C{G+##`uWG`dwPuvZ$r2mc?yLNl8jbNQ&P8h~A&PlG#M-`$b8;!*!nov!07s zw;(?c&Tb+`W_%Fv*lI;q!fy-FGXl5JDY{I0TAqFlA5Q3(1QEO7y&_#OlSq&`aNKG6# zL^A23CsSQ(_z0Kf$l*iB)6=p~pZaq9w#4`i0RaKcW+vzdtkw-)E7`Bo*~hZJQGf_s z#Cj1#QV*_+I{Si=0FkZ@)U_Ky)Y6Hym}6==hc!{Th`gdF&@a;PfgoJHdiCJmJ;yVS zWo2a@|L(}Plr0}RZDxZKq>&rg&^2txYH8p~X19#lMYBFjb+!>qguZNYEUV^as9@P8z3LOizBfY zFTZvOcfB4hRaREwSjF?4wY9alOu&VsxJ7)$PoPBmRr^U)fDa57@}>BibN0-!W5;p} z@{m;?ygc)NTn<0uxPy&JV51Y+$arb^25Hz@-H;aG9nd<6l0XXU?zyV!|9?_lXUG$4ODnJPZG-$u#cHo0E0GaT~$vKh!ZPoS4 zxtnvW79Tec{QmFmsV0+mu+hmnKs0J28?k{6St|_|f)-2ax)0|fKm=Lq?Ee?LCBuA^ znvIKU)YZ3vl}n>8o-g%D_a*usL9Y*u?BTLuuvgL`&%}?$ zhU;3-f3xqxzjpEbLu==TmQE0~(Qa$OuAmnAeGnj?vS4x`gERQ)!SR9Y030-q)=&hu z2o?nhID@`$6d(vN#d%T3Pq-atfR7-iPF5hIDJO~~huwo#oSU7P*FQSDOW27P{zw1r z`E3KoFNupFYa^kHNL}9s5$hc;eG(DjA|FhX;oUEr59dkr=XIOQCb{ljsN+Xg#7XI@QkLEASCtafGi63zL*l zBsuQ4i_LOQ%I_a@woCY_mI3LnyQi5={t{BAACtsJZURKmMX+dW;7Vx#scQ%tgGJ-I zh{5Q0_GfLq5um}M!F4ok=l+7V2Qzn;TF!xA#NOl(VbaWqJY%W^o%eCn8qq3f1a(og z2Juy^-@Bsn53a`@U?Cn3Y&w30P2D#j_UxR*0ssXr`pEy-tDc7&lAtB(MzqucvT&-Tyn;bY}#JCxU=9Q`d6JITY%IhK;L!YpL#ErIxb*s+!?%UD_4;(YJeE6>7)r>3Fr#|;g22=FM`V- z6VL=coFt-9Pz8ukOUWqKPuT-5a!M|+i#gLV^kfS_V`6K2|FA%m2)gP?gZq|~fj7&1jIof_iUbkbNJqp5;M5E)=n(R#!m z2Kgc>#eV{daH=PW6oqurl)Zq+B{6?s%(>2?r<(g8{fDq-sK5jHa^*e`(-S6GXDW2kNN90yRc!T&bndMH9xtq9I?T5n!O{k$)QS;hbZj zMincNIV(_lvI>Ik99lG|#vFr8r%fLktG#=@P!Y|T^d=avaw?IVc zeHeYRXllNQ9?Bz!#qfMI`BGuQd3cE+j}(C+eO%3d+$>TgJ zrDp6GX{0`qipD?GJMpzW=7vIoffEh10c{M(m%9l=z zvFE(EUK!f=IF^h;;22a9yOP_X#5NxtK>oVirA; zBB}=`{q}I&(ZkQ+qlQJA5>iPNVJu>_hECs57>h_hmI4rS|8(-MCx3-}k(yE)zMhRR zN`~~0(IR~kw7VGn`8U05^SQbvDi^_qJ`%s^XYk<+Ll4e?5J?vmBtxjWGyAH^3~td9 z3g9|+4JX&}pPp$PqC^uBfDAW8`h%8hx`@*I+@h&|5xi^e7ZDdh7f~2H4}OuJrWz+q z^iBlh0-xXCqWvO#2oG`~QH&p=&_!g?rtX2FcG{dr$&m02^8m^^nmKG^qZ0I^H>-(R z5r7DY`o=Oc`jp;BGDLG7Nf%*~s2v3$VjhiI%%Vx6HzzyzV|@|f^E*TIGx!*Zyn%Cw zd#KP)V0yxBTjq~uQz-y(*<5G`UBq2SHH=kt5#_FL#%P*Fvr)N74M2on#37PeyHljk zV>C*sHJ$XCZxXuvogw-edqr6Gn1q}8B4P9g z82lpJ2%T^p)d_1d`s5e2@ic-+2->6>0V$xS4qX})<6Vh+h$rt89{~?%ArOOPH`wXx z?5oHZK~c|5&a*>emPh)~MWzm4L03Z;2|**HKZxgxpsUpYBvJ$*m_$QLjTX;Xs{x2k ztS{op5Iwx3ww`~p3aAI3S@Sl%BZELv0diI3raP3T07mU5~{Kb=x)BJ0>OEQ7~r zM=0wE7BYeeMjt67F^`5wmVKheXqW+Eo$==fU8L{0fcr%dG*@`nLR}+Yub#U5~|-ySDa4ZeQQt3yVW^?cCYNTo+l)#+)^KcZyroF7OXA5so)W zFp%=_KJO17kfgx^TC_SW8tPgY3oe47bq(cQ3Qgy+fbvY_3)4pE!`hJ zbT7|-fMF=~z@MN|RtesbU1CDI2$Mv)5I0N`L0!Y5nK|x+x+cE}>3z74eAxqW(SR6f zKnxQ5FARtozVbV#!+Fz>myZ6vyw~1*^TgBt@YvCyXAo;Pr(xUq&vkIs{cGC0%hS!z z%bSYHE#qADuyHZ8cYpYh`OpyISgGw1N;Hp#kCeo($P~x)_oEK+J$76(U~* zzX$;cEE=CA;<|{!Sn{sf;1wo=R>fo&A5)am*J{gaWu)uzS6QcIT&oW&tRHkiw#b#6 z9;s}SlG80$u{l#`dtM%tqYV6^J{1@JX663y`Dt?0I0OtPyz8B3N<_ZMX>%^}MewdM z)%Z`(R3T`>qUlG)v%bqagdR$+u0K%0k=57}+{in-S|>*r*0w&Qym3bPFtfhrIc4y9 zWps`*>7wFrNy(t~DO?S523A@7r>XqqzdUSwG+j-Ef&oD47bh>9%-9QE1lO^D^cna? z5Hxk!gP0^58;>PwV|HDLEmtm9(Tyr+swrN=T%0*uEe}6e_qPnC*(t^DobuTv#UWRo zc1f9+FJG#rLGu|91Gv=EgO-Pm4?R28Ga>r;Jes`gbSWU}8+&G65}&XRKiMqs=&P6k zaohnG(v3@ELpO{$ToO?#my(Y_fQaNbhlSb!7eNnmTcG$BDt|vAzk5m<{)6n2PvCeI zC^1FyWr9dG`lty=QF)N^aPa|2VnkelbGpzW6Gu6zUoQh|A`D`{=V!*CH9xaN15bbmPa{E>0*^j#X0V zz(K}+#5ro6s#MUXh$-SqlvlZ+1s2wCEmtxWrJrZQtKB^ciz?`{TO2fg=Y1U>GCuU2 z4I|=J@$hj@__|2Unoi$?Wiuj-h3kkp{ntFc)s0ViBRZpZt`c8_VHjA3s$x|9gBqvy z@L%{m-UZ5w#}%7w`P(XGh~F3N?Wyb?N6VqXW!E8Tx1?f3EBA4H==c~oTOE;j)`BqM z7k!mork}M>gs}sbXJeA6c~JT*ZigCq9I!l94|%B(&N+9n46R|f)F6-{fJhyYT?0xZ z&e#1jM`^R>d-kq_iKVLvt$CQz@zbR|#HV}_zx@6W4;ddp2*-w3Nmpo0fLaYkCCfXq zip{3)?;Dkk^+m{C(<-%~^w(SuTkZeRB1bt~u0nz9#qf*=$?K|NL*pka74tK7uOF(= zcMqVIGZu4Aku_>MahyACBNA)IP`U5&o8WU7YHmVC%2QDgfUqe95nnuWwns$fd*0vL ztjivmFAvEf_P{lolIIniQDM>G!u}Urw4^}!Fjskb(H{2U97;T5Egx-0bDX&-1y@oY zm^XHl74JgcPoDZ6@S)LxLOv=w2#bb%(V1cx{jOoBoHrLj+90CIpeJ)m)R7&g^Z6r3nXd*UcD~fI?9} z#Fu*?e+PUx0qRZA~EA4S=pQ~vCXeI0^NdZiSOSbeTTaHj9Et3f65upA|wuY)Gz zCx*kFpF4SgT2thZLfJY`{_D(*?4!ASLe_;@&7~Eg|DKk#I}_KCT=RBN=iErQ{gU!K z;B!0w5JdC@g(q|H{MBcjzUdZzde+8^p(o1s*C@-26puoAPM%T#Ux+T`kDK$4(TF%x z5s%TYsb%$p3zZLI(wO;tJ$CK!tRuJx+lL#qaz37O1#O5l5y#W0nV+jZbbRjqbht|l zT8w@*K%^)~FO{3kJv2G3JgrXNRze|pWU)NIKncEFf1S%F=OR^CQzJA; zNcm(>9&6_%R?HGam?UcDBE3KDJ==id(n{Pz`ihGBA->%E_|WmWtvd}6jOq4gM`ZFf zW3qDUT5Zo9*)3n$Tdr)akiRNZLW=6<=PRMb^;c@?I^pnWt*IdKHo;`YHOj)P@{ql` zm_(zUL|`GToZ&Mdrr6l{j$`KuQMe4uhCic5ZX@;$ zn24w5<=5{iQ?}!;R0+APfQx(zloM5|`hrLbkrOPSVO~-r$Cb;Dhx1uSKV2t(O7C+i zqx8PTJm_jcSh`4 z04&(QfKJghir5E%jTK^V1-e7w`#&nM1){3@M%9gKY`VBsg`H2;6;-uv1+rH`{mu$` z=T&9LHFiA1 z`bwW5$Dl7>?Bb0z53hFpJU#0Y5W+4V?9Bi@piS)P0l}b39C1=q&=2sz6Mt|&T#$^G zQGg5@M0WrRGyn?FAok8+p9l(i#5NhKiTzDwgjRWJX-R2Wb>+3|^%Rf$Uy*l}Dk){k zp6m52zKh_Jb08S=n1wf3dn2$)fbiny<_1GZiK5;15{qsJ97Wy_T>} z3;#Yi(#}1ZVfw>-{&SsupsO2q@p!$LM~BfNmy3$g3AXWIZ&g+0jf!jK_yc)j_X>yt zZJ-bZ4;T30E9f_t1?~C#+KR>@fC%jaD;&{24WDoL(%`}w0_xiJYn2r@u2)r*U*jNE zl$4f&myixjE>RN7W5J+rp!1$q4CdUq(OQf0+;C80ub z+jIT}`xUxRB3Pd={U>4AN%WlUqQ0&P*hbWL>gvDQEPQA9l4shvwj8$Pm2U11KAWns zbBI40bc+3GH?Ca=c~s#9qY6MkHogKMAfxe*KC*h9OQTnu84#Ia9dNLP>z-%ECg}#OXZEY5eyf??3e2PF2QKG(Kw@Yu zXrC|!L4zWqZA88%-TbiM3Vx$lJc9rP7A@_>Mc9ifEU@_L0y;H(w5x6sf48A&mpx!b z>xJ6k5UOXy<5V3R`f2Wt^UPuQ#5F&-C0!aGn`Iw$tn1<3Y}p%3D?`*Rd;KD?nTP}p`}Dg8Hte;iQSZgHN)3Y6&QogR z#>`!IAI(8O1{El}Hx7cxzW>_M{a)AenJ<}~NLoLm$f*}9|2*$NGoPcbn=egRk<~x! zc&8;ttbF#pGK2OwU=uo4@3W!nvFrg;jXJyK#6{56khNZ+rZ&MZ^p7AxGc3WvLN(UH z<^92nE2{Y98BdMQfpoD(iiSbf?y{CJl|sTMxp zyf&NWiNq#!Hf)``G6YMo`Y&TP5zpF1H69d0>biR%UtdIP9TCQwS$nhhXZx-oTgJ_+ z%0Gr)>GLtgMiy1LQG z)p%zJw`gH}X*#`mMxrHH1d*Aw5BtDrqzB)9W{3xQf9m0J$H$mfJ}paAX@rmxb+|w` zZTH6k>43;C;&{iPREq@%n!0@5@Kdaq#d{3aHyE+@g)tjA7sWEH<%8=8zew9A!?*0| ztbO1YnYH=+Xm&n5ggb)!#}*$W8>h;b#{Z~L?omiCr@%A| zpM6aL(S$_P(Fy-EF`3@>Fk~gen|TaNuxJOdVVjK5MYKKkqj}@~XyxYk-qATUqR*R25Gkx#Sm`wZuq848Jo4Nhx)frnMXnYBlx_wxpm-FydYP2*x zOzOp7&cm03Vt2!f-4_;=kQUOOi|Fg|mElpQ9e(JjgvKF8FuRDl-v^Y_8 z{dnRdX#3eChe(ZQ@lJzAv-UJ~J2-B|$?l7efQ#Oqzw^(IDbg6)VGVUe5Di*J5MiIb zEq{LzbP--<&?5i~9i`S@=ASO3=fWQZ9C-1Jo@jh98iXYH6F&C2;>r%;M;lDp)on?7 z@6hj>dmVVoW!Fp7Q%uIjgNtZawWL+SlR;w@O67XIOrp#0)nL=5;p z>G)_oW|*5$ymsWUiC;CDx370_x)rx*FV9Lb8<#|H!4fa$!HdEM#z7b9`_tPVq+a28 z-JGuHBB`zK*3@jU4WZ4s=&8X+$O3$9nkto*134w{cpubH+F|K)kaW@foqw8<(qMd& zP}k%-4p^y!_h{HYEE10pv87v%;dV5Fphn2rQ^G&0_Qr=S-u!T*w$5w&IkV4pJU?Ye zORxPOxbAs*=GJE>k%J8`(hcQrd*JU3AwlaMskaSdZTyyQI|f*wqKS*RE_yoffgo@} zQ~d#GB+7s*%BjoOx`lnmCTx9a>X+}i?s|3hwr3`7qF~=((a1Hzi^BRunjzBf5uAFu z5C|K4K~D!hLS0~JusVQ+;Nq(wIBxRJtl|&64(LWDH~4hROVhSJ@0e)zDc@v0aJ9~! zESkxnWvp{(b4R>Ej>E&5M_~Sx;KL1>0VScc$v_hq@$4H8TTT>q3qEXu=wm3Nv-NEB zT4~fe7&Qs$*&dO97`*J;vxQJzs-9N`_A!s&HS2WW6_t_52LNj*^=FH&d2P#X?Y;Mf z$q8nou*YHD^P|`I^x2t}clEA)JT?4t*U{l5#6%ziXIrdt;b-Kll{F^|%1>OlT3pUw z!-y>0t^6k%{QrQD1|5Lns+%v}Buzz9gp*tf4HBhY%_~nmJ|tB)3-J;aoa2r+76p+W urb~=3MD&*y>mA6&PJ`7l?q*f6IRn_%8zgMd0^D;Qs(584hXy diff --git a/MesCigares/images/bad_photo.jpg b/MesCigares/images/bad_photo.jpg deleted file mode 100644 index d793168b278f859ccbf5883f30059447f57dde16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10571 zcmeHtXH-m5 zAd>a8dE#YbP4~>f%brd_Nlo+aFF+PR2Z8?7`+{*_!4NPQ0|ShMg@p-ufb-x1E)Fg( z9zG!y4NXbaxWQ1^H_#Y57^m`r*Fg6&B4adX9ga41qT|WSW z0K=dzbTk+Mf}x?q(C*#?Q~(+PLjUs*e=lH6bPOyIg1cql0s1`;6deix zXgB45XZu&-0qI7Zz?;6hZSce z$FO>e+{!QO>!J!Q!dO43)5Vku)E7u?SIuGJaoLD1u}4jZ z94jzBoZ#yT6jcfNzmd@JUGj!>yvXrnMW|dU>E?w(YoDf916G()0AfU@{qZ{hos5r0 zgGuV16|EjG+eDO8DsV}pi1^j|^HVSp zmBO|ImYE-5)~Ip~#%xEN-?(I4POrpym@+8w4eMivYi6=U?`Ma0S|h6yTPyGcG^0!g({e*OpczgqwQH9&jsHdvweJ_SJgo4@tcff5q&NNJ{!($U}h63D%WK?8$sN4;H6P|-<&zSqmN2qoeeVPk=M4cd104{wJ` zv~kwmKGoq>POv#7$=OU@x;CiRFLFOFM*m>Xkmw&l`g(yyod+vvN`c}Vgu7wR)l=vi zE%N0`sqRy8%Zvr;7R5Jrfcdrh9U$pv;vinecr(u_b6Gs9dlZIE)bqK~gh(yT`gQ5e zNO{93T}-d^ana(IXmzJ!T2#^K6>U))1(rKZ;BB}fVY=MMM$agV_Q%kS5x_ZWk~i}u zxwBd0q(oo5eQsxNM2Qo&S^ebd^n~Ni)`QmE?HROBu6sKzPdzb>Rr`|+bJP=M)y?=f z)?TMZ-tg^uHp2*bp=X@D$C93yi22+sL8T#iKGnk$vVcM7`c2WjI=%gurHUMb+!N7hNLeBR&-3LX;?DHY4U_bDPx4j-$l+Z-~9f`6bG_aLxL5 zPY1rDs*b9(ph&HgC|o+X?wciR*2Yc-@8AP|se~e>4BzCb=3yOEADM%jjP?kp=7$D1 z*+iPZwbf9!cYv?WyKU!p^yeJAKTNfs`dnzBAA&&YSeSCW4&V7+X3i2As|qrN>^%%9#gFyfqK&@azUWI1 zdC6NEKxx>X(g&%bCikVY9z}y_oa^DXTjM z`>e}{Y1q5x8J3i!Go3R=Mn@8nJ1hTqV!~A@m6rb1m1G0*M?jasp=oUfVGy3yDHUZ( zMPj@sYHoCLb)A=XYd_$5*ZeN+koE|+E0<7Q2@%i$dhvna=j@-w9`>JtfWMjT%fA`u zeRLp+hMoLhP=NkUAq)Lu_8|282nUP{{(}d)4_v@7LVyTP&x_!b)_Q_T>=9Z5mC;UR zKzhFFqvPS1lGW6)OlkfiU>%lrcK+`^0aFrm2WaQ=KZY_J4-Id4?kMJ|xl3HQ#g5?` zx&(7HxQPC&h*yitB~4>WgZqcODj_?-ncR1PL|)c}wlS|MwkywK94W7QTz9azz|%@} z$m!D>)_`=~C5{n?1)Hwef|&Z{XP>g;9Ex+r$RC0s3dDMCMab=9zijYAA|DZP2b-g+ znP8D`>om04pjE#E(R9{RtWvA&$~t1N0hcqbt$Kto^;*ek!abt(`XDua{cfOQ0yL`f zb-$7}TcmY4kZZYOOyE+*;VrKj>7vAbQfTgFXtYWmI3s(1R%Tc+K?{eOFl$WW%K!ID zPzTxgob-p7=~r;jPTlsH3cenSG9^F5gRyN;iz5%3%VUIq^Q!8(#F3`l8x-W9%7uIrn6v-P12nAj z-6c>476_?KQnh4zThSD(QCRx1RxN4mB8{GhIo2=$ro*XI!OPfYm~nyco3=>Q(+i)K z<#XqAje{m;>aPW)XN4{#QaR7k^BR{{w$fIItDmqdBN>O&8?FPrw(N-Cgh7Q{ykWYX z>mAE6=Z|c+Q^MKfzGrketxoDvlKVZ0%=&cEt8waZ&`m^eRT+j9>AXlJ#cWOFGxo1+ zU8z=9ve}~G_#Tw55%YQOv3E4Kkgg9*Bz67MVc>I1$Eg~s z+=qJVtu#iVTD53MgMDYA@rD)wkb2oz#c4$yJ3gwC+T|@>9PUV`p$4tq{FBi#8;1jY zg=hSbD26S_`wb@Ws zl>&<@pVO4h-v^J?Xt;GEk&4W6AFPl89Zz9$``3d?itCJ<8RniuB?bBiq%Jp&!J(a%yi}*rveFWoH zX^?2xNKH-aySTctSg&)Hrqcz*sjaGlFCIysHj@7vDwv;=u)3QERoCa!Ick-FC?p&q5J!)xRT=`jE z*by&kgfnQ__*cG_R%=`M;2>O0cT2>OO@&AkFI#*iP44VN#V-kpm?ff$HRQSj1v@L- zm6rbU_cUaC)KQHN4HWi7C3sjXP#`6rnAPFvWH~v>V86+hUV$`oZ>B6E;f0obCgFnK z<=g`6CGENhj*4snmX{evN8H!uZ__fPvy{#zLiODl=H{oaq)CbIzb>s(-2t3X;h$2L zl;ueKxX>RxG#!CitE$N6Qm$kN4y8|@v`V)N$1KwRBA<2TV-?iY$}J4jL;O~&*nfuo@&!jag1QOJ_;Y=jnFT$Ougo_4jIil|wET12UeXT;4NkbvIrAP7hY;d_N*W{g+jC^d-jT-$gWWPI;HM zA=4(O@k%ihLnp6xPZj$CHdll=v19?>C+YezwDE>iKc-}dsb`>fFWEQDRDK6JB~Y|( zY*5BtX~x0~4jU=M9m=KdfLhe+vRmhG950^5_J`?v9r=ClXbL+hQmY(u%u9UdC_5vB zv9LXb^7pluDR=H<(bF=qN+a~;>>}06eYL|gDBiGxNiOK^F2AQ-F;Ci9BQQ)fge!6A za4Bd*rF*s=EUs1~UCm1<@Qe!6k`iLP$eE2e>+TY`tS3XQmw1pa5h9PDQhsaGofk(c zZNwT9%Jg9lxXNBkeN>oNL`pJH1;0nB1T-|+7SC)&XlFHRP7F;=!*H(V{dwC3$Nv5Zy(+jdEmtjX zg(-{aT-b$vr-hHgHeMYWQ(d+dbO{PQ*l+lV2s^627|d{vi0)IUigQ}} z5PA5B^T+3lje>Ie-I|k5G5I1A<9ei*wd-!SQ~z=}>}`qah9^Ugb6q>ak09>g^}rlu z5gW-&i@@W*CLj&t#DW^}+J)oa?ZV?@_!5s&Dz5#iJ{UKsSi*>6C_my9^jhn588x8N z>2?7r5j=4wLY}%Wt9v!o0te2mH8FFT=Kk{U@@msOVKg!MEi?krXiWTi5RLZ5O0KYq zTceuUrObiXC#AtR0$hGif6Zo9L-Xq}tTHAyCWV(=z-j#<1qMZ?`a;ZY5~`dPj`qB5 z?GgGrIQiKsr{pz)7aYwbsc$fTNnSSDuQN9uDQuxL#`$RKWYtW4(UqZiq=wDap^DvT za1dLeq)m=JAXc0)@1hGMD)g;7na!B3jkNb^3sW4@Cl zX|meX3|{2yZ19XK$Bz(h)Hnx!|9um#mTicmvkx~*q&X^otCzL>q*lWFX2oP2TzJS$Tan-)8*d@`Ipl&%!h*%ocr$N63B4lrK1 z3cC94v+{9wbh%D!<*H2Np#y61C|w!*+gvQMf2>}CcUWRzstuI1NrPHJ;df~!;(>Rk z#}t&C!+ju2jCf~qiXod z#)ZD`#{{|HZN_AbD-vefbkiKZpNwvsc>f zmHOk;kFDVN&D-14qJdd$YdtnDJsYw9p$Tb9DHs1z97m91qd030H+t$alNMADb z+uZuh$vL08g3sdim+A`!HO~SG@$XweiKkh0X}69JLbYC;50y!5u!8^2vhAof-g;ih z=R}NV*NWy=$+d?fxrL*6G~wiuJ7zoX>;7hKqEVHh=kp6oxWp{UTkdC+Uh{m`Y~gR> zVq{&Su_+axQLAtR6&SPlP<;}o9XH?VW!u?YF27@vMv$sZ+?RBF@c=ENssT+jc6_ir z-e7F;D6`dB^^dP}!|Ch$~6q^fGQdaJeh*18r-<<2s{8e0!Kd~o#FlwF@E$}Ow+ zZwEQe>&)uzGaa<`Qx9uNR#291^a`k9+yp9(>aGaI48Cz!4V3f7ZmV@u_KUURSo7n~ zt6D|%+6W?r2OKW*baGP`mkb$y-}qg(v>kA#SkRWq|3zRzl-AUk=c<~-d9FgaNN3yQ zqh54abHDjwgWhLdK_D~`7~?+w`lq15=mFmQ9hFBaG_>T^G#!uBnPy7gf9#;pBv_D9z!7n> z===J)R4Oi+7u`1X7!5Oo1Uc_A{IndXLZm5*pRgEBt)Z2i_IXJQ^EMhV{655G*t4^L z?B}`l@~W6E%j|(u=I|Zh-#>gqzDz=6g4{QRX`n9M$elearf_1n>Mf~cxyvQ2UQG7V z5Hd}Qd*Z$1NS{;a;Nej1w;nW->9dcN)_7nWCO|m-nzfi9z=&=h<70{MCI%-K=7>y6 z_Jd~XN4kelHMi|#?jzhc7-{g;{W0d)&T^!<74XnnuG|yOSPa=C8tvMug}jRqb+aML z$68orLMS~-_$v|4wKsS!xg9B>l2RVg3$tk20@oR-E5 zZ4#DxmuEv%BJMX@{rQt3jJPjK>Th4bPxddUVVzLpA8>=j<6?~xzzRAQ(*C2X74mB)QWw0k_Zapreb zeZ}jMQKO57I3Zow1sF@yh-LN)~u~ zQC~p}H=K}7pZzE$hs}8h@CX#Ew#2Y3>PxvFv(D7Oj6TdSPcc$e8)G#};Z!5#-)7PD zkLB{K;43m&K6T#eBw=u`*~RJ?-R{yD-|?7x7othP*jLxpB=5!37|GWc8F+DxqM~3E z=^g}~gWqsB*p`FPN0u2Y+C-Y&q*7V9G&rp51Qa+U5{*5#aH#WMc%{+23ZN8@YizVD z%CJJNHx^_M#<Lj&`YM6sT@8Wz-6@Sq7DZ#@OVuZxhDo3 zoKfRbHae#0)Q6kab*qT8ZoH&KB4SXXUmh(y7;xN7k${Dl*ZHNnG?2X45N6u)3O+7% zf148HJQM$5r(M3^lFh7)oNWR&_Jl!yV`MfuXe07I&>d2!{R6sh2fLyLA=)(2 zBwJ1xTIg20;Iou;c3QL<&LM(|NF(0i)Mo{ivNvdI)^K)?FE4X=pP8gI5K%UPD8Kd* z1B-Bo_2Z*{kw!`gVKK{PeCeAgG&*XS*c~7mcn7ResVA35d$YofhCd~y3yPPS`^f96 zMOC22E9N$=`1Op#O=S|S9EqqiQqNY{8& z$Cp;+=RD%S0}QG@+U1_7>S=0%C(KZ6FJm*#lGY;IRYgf#nNuE3f~>5ue5`saiSQ$j zW4G`xB$sNR*)jyHVwJ@Rr(uWxmacYqjD{Z)^DGr!-6FnIHa*5TpqcZ)*WWIv>|t7L z_f_F4KjXa+9~Hc7jyCxYAD2W(>%SHd9$O+|PoK3EJA1bz`@;Jjf~_DkOBe7_-GI?%KVKyBZG+WVa-PiqPz*g>nD;%@ajk_Lebn!rq7!Q)iG|S z=ewCf$}#(68tyx9$!)30=KQR&L5?*ZgJ0Vo&1LecM8oa?tKq~!^<8xG&S&&8a!)SP z^lO)>80RSZgWj-e;S3?Y`G?FPXTj`q{I?)@s6W9~&3_z10_gY4AT&)0`LFsv(10Q` zMF|K&1E3HL!hfc^6ln~?d%Y?m0e~(=`k&}F1pb*Kav+*R{0v>~>UUUkeE9)4+ zNxoZT3-L-K5G*hlR#@g2lD-KB1n)2RR);w0epe8D^{9`_*)j-)(nKH#!0i2;;d$~X zs~?*oDWx$*o42TMljk$Z9s<8p^f;efZeg4D90mnyXyp5u83KCObf z)9nNn-)MwoM>M?NT^c8gQFf!I>tXR}fCWO<`r;hU;HViIf)^uD%kO-mIiW;un15m& zzDAS0#PMb52-#5jHQZ}jG`Qx=8wjSn{UsYhj)_+@H8@imp26_C#@#09sqL1#aB7YK z0#2?)$jTcR5&x?eQeHw`pc2l084c>)VMq)RIT0W)cN>Jezmfl>4s!>eO^}s7QRX zJ3tW+ycw_3j1QKQJpt^pOivH(b9_9#UoX9<%dmCD>?w5?Q%NcXg@aGI;<~g*aEibG z0=s`0!fe1PiK&~*l`DU76LYJeMD8Gp6P3@vEET;#4qRZw%vOy*gXo&kW9&r#YMX8% zy#qXMXEUoo^dJ~YpJ1jGzVoS1cJHj-5UM{vagK(5z$iLeNkehq;6SpPr&fm8;(tf}5l#m-7$_La1p2i}c(5HLmF|EM@8Ef# z`^t8f_#ax%8`MYvl;|( zJi&Vw@nt<#PEPj%A)id_r=ZM7Z=0}8X>KBSC~I#7ym$wpeqUJ@%1NAT!;wk^aA5G1 zi^nHmgK4c=;##P2G{ar;Aqc~G%)8uGIF1#uG+`>rjJFWWn z_pJE=W<|rf;~_NA_l1HOs;CXLrY@7Oy?nDG4=3rphLo-QIzM>^y48+ktgxyJJA@Ff z+OvY!yKu<+%Sp%>8eiiNuzWavRpDwB>bxAr)i)wp+Ga=2_-n7cNW_8XJau+`rpF)a zE0Hkgn^&kb7WwxsQRn3@JE~b30qTDjaxXn@I+lqQg*!^GoEMXmHt+^aVaB9J=)W7T z78pIRI@$JhtB|D}3+re&vY^9t6reUHcM&_RW=4(4EW!`bP=lR#xDs@w(cEjyBL!#=`Jx#5Y|j^ zH(%3JL{1(P!an@6IBfVQLrGP{i0Egn)S7;fg`vO2Ll}kz5I42r_iInV%Z!#cdZ$)y zTsd^OIwgkc_HrqWg`2Y+4bQUjN8+uhG}R<=k#Lb}B9eRNQ9*b%1fI#C#=kflN@ z0vTUZ8A}x0LafekG#TmWxRI- zO9&-eqMo|Stn|>$FH6BvrZV|Q*eq}qzIx+tEPb7y64x86o2Ry)9CS<92E-ejhDg#B zqm~BV^525>ewp?NpRoASh1ATTB-`M)XJHm|y1K^bJ%Z6+w}X-^a!*wx{)%scvQ&M{ zKt+{>y?KQh>$GR4JT9`)HP2qCusPwzZjI6}T-N07 z#}3!h(sIWCY0V6mte&$cE04$3IQiKA;_(1?BSUb)B1F0boE~B5Z-a&{^*u-VYAE%# zkbCv(Yw;ZcF?kJS*%zk2*8SM|jTx%FuNdlIq6n?4V+jqZ3d;(^Q>QUSw1Bsh#J#a{ z4u)GAriYdgRR{V(-^5#f3wq255_O?6@e-L@yBQ+(8Lr^B6>5^mJ787gZs~sk=qU$G diff --git a/MesCigares/images/no_photo.jpg b/MesCigares/images/no_photo.jpg deleted file mode 100644 index 28956ca2f00591ba6ceec177880085104f777997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9196 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 diff --git a/MesCigares/ui/ui.glade b/MesCigares/ui/ui.glade deleted file mode 100644 index 0e5b3d4..0000000 --- a/MesCigares/ui/ui.glade +++ /dev/null @@ -1,2550 +0,0 @@ - - - - - False - 5 - False - True - center-on-parent - dialog - window_main - MesCigares - 0.5 - Copyright © Jérôme Launay - Logiciel de gestion de cave à cigares - http://www.projet-libre.org - GPL - Jérôme Launay - True - gpl-3-0 - - - False - vertical - 2 - - - False - end - - - False - True - end - 0 - - - - - - - - - - 50 - 1 - 1 - 10 - - - 1 - 4 - 1 - 1 - 1 - - - 1 - 3 - 1 - 1 - 1 - - - 1 - 3 - 1 - 1 - 1 - - - 1 - 20 - 1 - 1 - 1 - - - 1 - 3 - 1 - 1 - 1 - - - 1 - 80 - 1 - 1 - 10 - - - 1 - 3 - 1 - 1 - 1 - - - 1 - 3 - 1 - 1 - 1 - - - 5 - 25 - 5 - 5 - 5 - - - 2 - 10 - 2 - 2 - 2 - - - 2 - 10 - 2 - 2 - 2 - - - 2 - 10 - 2 - 2 - 2 - - - 1 - 3 - 1 - 1 - 1 - - - 1 - 3 - 1 - 1 - 1 - - - False - Comment utiliser MesCigares - center-on-parent - window_main - - - - - - - - True - False - 1 - Commencez par ajouter un cigare via "menu" -> "Ajouter un cigare" - Vous pouvez aussi utiliser le raccourci clavier CTRL + A - -2 - Une fois un cigare ajouté vous pouvez utiliser "Actions" -> "Gérer les achats" - pour définir la quantité et le prix pour le cigare précédement ajouté. - Vous pouvez aussi utiliser le raccourci clavier ALT + A - -3 - Pour noter une dégustation, utilisez le menu "Actions" -> "Dégustation et notation d'un cigare" - Cette action donnera une note sur 100 au cigare choisi et vous pourez ensuite modifier le - commentaire sur ce cigare qui apparait lors de son survol dans la liste - - - - intro - True - - - - - True - False - Un clic droit sur un cigare dans la liste principale permet : - - 1 - D'insérer une image qui sera visible dans la zone retractable apreçu (en bas à gauche). - - 2 - Modifier le dernier commentaire laissé pour un cigare lors d'une précédente dégustation. - - 3 - Quitter le logiciel - - - True - - - - - True - False - A continuer ! - - - confirm - True - - - - - - - - - - - False - end - 6 - - - - - False - 5 - False - dialog - - - False - vertical - 2 - - - False - end - - - Annuler - True - True - True - - - False - True - 0 - - - - - OK - True - True - True - - - - False - True - 1 - - - - - False - True - end - 0 - - - - - True - False - vertical - - - True - False - 15 - Veuillez choisir un cigare dans la liste ci-dessous ou l'ajouter -depuis le menu principal s'il n'est pas dans la liste. - - - False - True - 0 - - - - - True - False - listestore_liste_cigares - - - - 1 - - - - - False - True - 1 - - - - - True - False - 15 - Veuillez renseigner la quantité achetée, le prix et la date. - - - False - True - 2 - - - - - True - False - - - True - False - Quantité : - - - False - True - 0 - - - - - True - True - adjustment15 - 1 - 0 - - - True - True - 1 - - - - - False - True - 3 - - - - - True - False - - - True - False - Prix : - - - False - True - 0 - - - - - True - True - 10 - - number - - - False - True - 1 - - - - - False - True - 4 - - - - - True - False - - - True - False - Date : - - - False - True - 0 - - - - - True - True - 2013 - 4 - 25 - - - False - True - 1 - - - - - False - True - 5 - - - - - False - True - 1 - - - - - - button3 - bt_valid_achats - - - - False - 5 - Ajouter un cigare - False - True - center-on-parent - dialog - window_main - - - False - vertical - 2 - - - False - end - - - Annuler - True - True - True - 0.56999999284744263 - - - False - True - 0 - - - - - Ajouter - True - True - True - 0.47999998927116394 - - - - - False - True - 1 - - - - - False - True - end - 0 - - - - - True - False - vertical - - - True - False - - - True - False - Nom: - - - False - True - 0 - - - - - True - True - - - - True - True - 1 - - - - - False - True - 0 - - - - - True - False - - - True - False - Marque: - - - False - True - 0 - - - - - True - False - liststore_marques - - - - 1 - - - - - True - True - 1 - - - - - False - True - 1 - - - - - True - False - - - True - False - Module: - - - False - True - 0 - - - - - True - False - liststore_modules - - - - 1 - - - - - True - True - 1 - - - - - False - True - 2 - - - - - False - True - 1 - - - - - - button2 - btadd - - - - False - 5 - False - center-on-parent - dialog - window_wishes - - - False - vertical - 2 - - - False - end - - - Annuler - True - True - True - - - False - True - 0 - - - - - Ajouter - True - True - True - - - - False - True - 1 - - - - - False - True - end - 0 - - - - - True - False - - - True - False - Nom : - - - False - True - 0 - - - - - True - True - - True - - - False - True - 1 - - - - - True - False - Provenance : - - - False - True - 3 - - - - - True - True - - True - - - False - True - 4 - - - - - True - False - Source : - - - False - True - 6 - - - - - True - True - - True - - - False - True - 7 - - - - - True - False - Raison : - - - False - True - 9 - - - - - 200 - 80 - True - True - True - True - - - False - True - 10 - - - - - False - True - 1 - - - - - - button7 - bt_valid_add_wish - - - - False - 5 - Modification du commentaire - center-on-parent - dialog - window_main - - - False - vertical - 2 - - - False - end - - - Annuler - True - True - True - - - False - True - 0 - - - - - Modifier - True - True - True - - - - False - True - 1 - - - - - False - True - end - 0 - - - - - 450 - 200 - True - True - - - True - True - 1 - - - - - - button5 - bt_commentaires_modif - - - - False - 5 - Gestion du stock - False - center-on-parent - dialog - window_main - - - False - vertical - 2 - - - False - end - - - Annuler - True - True - True - - - False - True - 0 - - - - - Valider - True - True - True - - - - False - True - 1 - - - - - False - True - end - 0 - - - - - True - False - vertical - True - - - True - False - Veuillez choisir un cigare ci-dessous et ajuster la quantitée - - - False - True - 0 - - - - - True - False - listestore_liste_cigares - - - - - 1 - - - - - False - True - 1 - - - - - True - True - adjqte - 0 - 0 - - - False - True - 2 - - - - - False - True - 1 - - - - - - button4 - btstockvalid - - - - False - 5 - GtkFileChooserDialog - center-on-parent - dialog - window_main - - - - False - vertical - 2 - - - False - end - - - Annuler - True - True - True - - - False - True - 0 - - - - - OK - True - True - True - - - - False - True - 1 - - - - - False - True - end - 0 - - - - - - - - - btchooseko1 - btchooseokbdd - - - - False - 5 - GtkFileChooserDialog - center-on-parent - dialog - window_main - - - - False - vertical - 2 - - - False - end - - - Annuler - True - True - True - - - False - True - 0 - - - - - OK - True - True - True - - - - False - True - 1 - - - - - False - True - end - 0 - - - - - - - - - btchooseko - btchooseok - - - - True - False - gtk-help - - - True - False - gtk-info - - - True - False - gtk-add - - - True - False - gtk-add - - - True - False - gtk-edit - - - True - False - 0.43999999761581421 - gtk-new - - - True - False - gtk-edit - - - True - False - gtk-info - - - True - False - gtk-dialog-question - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - False - 5 - center-on-parent - dialog - True - window_main - - - False - vertical - 2 - - - False - spread - - - OK - True - True - True - - - False - True - 1 - - - - - True - True - end - 0 - - - - - - button6 - - - - True - True - True - - - True - False - Insérer image - - - - - - True - False - Modifier le commentaire - - - - - - True - False - Quitter - - - - - - False - MesCigares - center - 1100 - 599 - ../images/MesCigares.ico - - - - - True - False - vertical - - - True - False - - - True - False - _Menu - True - - - True - False - - - Ajouter un cigare - True - False - image_gtk_new - False - - - - - - - Changer de base de données - True - False - image_gtk_new1 - False - - - - - - - True - False - - - - - gtk-quit - True - False - True - True - - - - - - - - - - - True - False - _Actions - True - - - True - False - - - Gérer les achats - True - False - image_gtk_achats - False - - - - - - - Gérer le stock - True - False - image_gtk_stocks - False - - - - - - - True - False - - - - - Dégustation et notation d'un cigare - True - False - image_gtk_degustation - False - - - - - - - True - False - - - - - Ajouter un module - True - False - False - image_gtk_add_module - False - - - - - - Ajouter une marque - True - False - False - image_gtk_add_marque - False - - - - - - True - False - - - - - Cigares à tester - True - False - image_gtk_wish - False - - - - - - - - - - - True - False - False - Rapports - - - True - False - - - gtk-about - True - False - True - True - - - - - - - - - True - False - _Aide - True - - - True - False - - - Comment utiliser MesCigares - True - False - image1 - False - - - - - - gtk-about - True - False - True - True - - - - - - - - - - False - True - 0 - - - - - True - True - in - - - True - True - True - liststore_treeview_cigares - 0 - both - - - - - - - - - - True - True - 1 - - - - - True - True - - - True - False - gtk-missing-image - - - - - True - False - Aperçu - - - - - False - True - 2 - - - - - True - False - vertical - 2 - - - False - True - 3 - - - - - - - False - 5 - Dégustation - center-on-parent - 1000 - 600 - dialog - window_main - - - False - vertical - 2 - - - False - end - - - Annuler - True - True - True - - - False - True - 2 - - - - - Valider - True - True - True - - - - False - True - 3 - - - - - False - True - end - 0 - - - - - True - True - in - - - True - False - - - True - False - vertical - - - True - False - - - True - False - 10 - Veuillez choisir le cigare à noter : - - - False - True - 0 - - - - - True - False - liststore_cigares_a_noter - - - - 1 - - - - - True - True - 1 - - - - - False - True - 0 - - - - - True - False - - - True - False - 5 - 1) L’aspect visuel : 0/3 - 1= aspect très rustique/ nervures proéminentes/ cape rugueuse/ couleur inégale - 2= aspect classique/ nervures proéminentes/ cape lisse/ couleur uniforme - 3= aspect excellent/ très légères nervures/ cape lisse et grasse/ couleur uniforme - - - False - True - 0 - - - - - True - True - 77 - adjustment14 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 1 - - - - - True - False - - - True - False - 5 - 2) Le toucher : 0/3 - 1= toucher très ferme, très léger - 2= toucher très moelleux, mou - 3= toucher, ferme et moelleux - - - False - True - 0 - - - - - True - True - 355 - adjustment2 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 2 - - - - - True - False - - - True - False - 5 - 3) Le nez (parfum) 0/3 - 1= parfum inexistant ou très puissant, désagréable - 2=parfum très léger et moyen - 3= parfum léger et agréable - - - False - True - 0 - - - - - True - True - 253 - adjustment3 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 3 - - - - - True - False - - - True - False - 5 - 4) Richesse et évolution aromatique 0/25 - 5= inexistante (absente) - 10= moyenne (une dominante sur 1 arome) - 15= bonne (2 aromes maximum) - 20= très bonne (3 aromes max) - 25= excellente (3 à 5 aromes, bonne évolution) - - - False - True - 0 - - - - - True - True - 266 - adjustment4 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 4 - - - - - True - False - - - True - False - 5 - 5) Perception et sensation des saveurs 0/10 - 2= très fade ou trop puissante - 4= moyenne - 6= bonne - 8= très bonne - 10= excellent - - - False - True - 0 - - - - - True - True - 305 - adjustment5 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 5 - - - - - True - False - - - True - False - 5 - 6) Puissance 0/10 - 2= puissance inexistante/ trop forte/ écrasant - 4= puissance très légère - 6= puissance moyenne - 8= puissance forte et équilibrée - 10= puissance modérée et équilibrée - - - False - True - 0 - - - - - True - True - 279 - adjustment6 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 6 - - - - - True - False - - - True - False - 5 - 7) longueur en bouche (durée pendant laquelle les goûts et les arômes restent en bouche) 0/10 - 2= courte/ éphémère (les aromes s’évanouissent au bout de quelques secondes) - 4= moyenne (5 à 10sec) - 6= bonne (10 à 15sec) - 8= très bonne (20 à 35sec) - 10= excellente (les aromes persistent de 40 à 50sec, jusqu’à la prochaine bouffée) - - - False - True - 0 - - - - - True - True - 12 - adjustment7 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 7 - - - - - True - False - - - True - False - 5 - 8) Rondeur en bouche 0/3 - 1= agressive, acidité, acre ou trop suave - 2= douce/ moyenne - 3= grasse et enveloppante/ dense et rassasiante - - - False - True - 0 - - - - - True - True - 264 - adjustment8 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 8 - - - - - True - False - - - True - False - 5 - 9) tirage 0/3 - 1= Tirage bouché/ trop serré - 2= Tirage serré/ moyen - 3= Tirage très bon/ ventilé - - - False - True - 0 - - - - - True - True - 380 - adjustment9 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 9 - - - - - True - False - - - True - False - 5 - 10) Combustion 0/4 - 1= Mauvaise (5 à 10 allumages) - 2= Moyenne (1 à 5) - 3= Acceptable (1 à 2) - 4= Excellente (aucun) - - - False - True - 0 - - - - - True - True - 364 - adjustment10 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 10 - - - - - True - False - - - True - False - 5 - 11) Cendre 0/3 - 1= très friable/ très légère - 2= Ferme et irrégulière - 3= droite et régulière/ très ferme - - - False - True - 0 - - - - - True - True - 353 - adjustment11 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 11 - - - - - True - False - - - True - False - 5 - 12) Perception du 4e tiers (une fois le cigare fumé) 0/3 - 1= exécrable - 2= moyenne - 3= très bonne - - - False - True - 0 - - - - - True - True - 250 - adjustment12 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 12 - - - - - True - False - - - True - False - 5 - 13) Note intuitive d’ensemble sur cette dégustation 0/20 - 1 à 5= aucun intérêt/ à éviter - 5 à 10= sans plus - 10 à 15= pourquoi pas, à l’occasion - 20= à renouveler sans aucun problème - - - False - True - 0 - - - - - True - True - 236 - adjustment13 - 0 - 0 - left - - - True - True - 1 - - - - - False - True - 13 - - - - - True - False - - - True - False - 135 - - - - - - - - - - -Commentaires : - - - False - True - 0 - - - - - 150 - True - True - True - GTK_INPUT_HINT_SPELLCHECK | GTK_INPUT_HINT_WORD_COMPLETION | GTK_INPUT_HINT_NONE - - - True - True - 1 - - - - - False - True - 14 - - - - - True - False - - - True - False - Date de la dégusation: - - - False - True - 0 - - - - - True - True - - - False - True - 1 - - - - - False - True - 15 - - - - - - - - - True - True - 1 - - - - - - btcancel - btvalid - - - - False - Liste des cigares à tester - center-on-parent - 600 - 400 - window_main - - - - True - False - vertical - - - True - True - in - - - True - True - Dès que vous séléctionnez une nouvelle ligne l'url "source" est copiée dans votre presse papier. -Utiliser CTRL + V pour la coller dans votre naviguateur web. - -Clic droit supprimer pour enlever de la liste. - 11 - liststore_wishes - True - both - - - - - - - True - Nom - True - True - True - 0 - - - - 0 - - - - - - - True - Provenance - True - True - True - 1 - - - - 1 - - - - - - - True - Raison - True - True - True - 2 - - - - 2 - - - - - - - True - Source - True - True - True - 3 - - - - 3 - - - - - - - False - id - - - False - - - 4 - - - - - - - - - True - True - 1 - - - - - True - False - - - Quitter - True - True - True - - - - False - True - end - 0 - - - - - Ajouter un cigare à tester - True - True - True - - - - False - True - end - 1 - - - - - False - True - end - 2 - - - - - - diff --git a/app_gestion/MesCigares/bdd/jerome.db b/app_gestion/MesCigares/bdd/jerome.db index 23e5a0fc6439887e2b67e77f52ad29f7d909001d..ee76609a643ee58fe90d753f09f03272a6284de0 100644 GIT binary patch delta 1880 zcmajfOH3O_7zgl~S?>-G;Taw?tRENy#u$46hdSobI0n=zvE3r>nkMs^DkeV{n%{3MQVsmw6C-kEy4EK2D?CP)dccw;hMRoPM%R?`;| zNduP685n1ML7CPoQ+2ExzKA^OQrhgo`l~N4Pihs_kUFVnJWxFAZxl(U)@C^IxXgnx zMO6W%h*!4!Yg>K_gTc^XxM1j|Ex%#)dp3ynrFKO-&dTsH=UFfPgFc`i&^Y;xY!vdV z@}-cfl~GjdlffvwGTSxZW3p z1zzn%5o`S1+|1?KMeE{xb}74Pof?dtzc}01q0-_1PsdeyG@v%$^IvJFCu5jmtQ~^O zAry4ZWQ>r^_|-AGx-oy2F-BzCr&zDS%xohfhP=?d(1>-)HvDqJqb9q3nBTLFs7#xc z?s~*Gy)A2dwo%%%xw-DSr~a|mwK4V=`l7SL=n*6*J2c9CdSbDOa0 zJ1}>o3G`|M*2x{-C62;7L*J-F3QvS^KHcGlNHnVU!zkf=t=dN$K(AF}{qTUdI_55~ zlc{=ja(W17;0F7Gm$PSbi%VH`*T(9gY}x&DiW63+yGWsT{z|ecgu84HR$~~Gk(A$ zVmJy7Z^f~~r|A^KeM(!fK2&-v0=jqvYh#&r$W(9TO9;$%nTJI(43l&1SZ~7{ERsD+ QyO6HI3tf6#t_nW+8}B$vDF6Tf delta 2219 zcma*oO>7%Q6bJB`U30cu>30uoYcMPlKC5QnO8pp*m20afXhLo0FNRD=pnB#J~19EejP=B-2zk)Gf% zx8M7}H=5bmmCfkNX7omYUazSc`*jk36uUF|X`q7;7a1e+rhHWnOFu~OOIb2TpU~TM zn(E{c`M6f?;m=XBabY2BSQC2#hO)nayB~pL2ro>zHW-6Fldz zMs{FkSnJ_w1q@X%^PU#sIlGl($IO<<$=kr_Hq6*~KhMjSkuj4OCM|)X5@O7U`z*w> z6p)KzXsw{Mzq`v;%)pRqT#4|Px&S?!z|i?|Wr&{*19G3hkaZQm8&_Jc zB}3whO?M;E$jnR^=SvI5mCKdI%7XEHGEu%#N_Ij`?ElvELrq4v_ICV0k>lytab`kn zZlnX0GkQQhMJp3Zl)u0M^+hnWHK7dhoCe6_!Vny(880X;+F(%ZX1N7}7YhpKqbj6% zH4KTgIL`&FmdyxS9}4a8R~t-}jHUBj0)jlf7!qfynyU?QT*GmYaz7@;!G`(p2@Cl!^qWB1=^ioHwN}hT s_E{&-c0-V>4MW9!7USs{AliYU&*5K`K5n5d1g(l6*2cqqN9gB&02+bXWB>pF diff --git a/app_gestion/MesCigares/conf/mescigares.conf b/app_gestion/MesCigares/conf/mescigares.conf index d5fbdf7..dbd5e63 100644 --- a/app_gestion/MesCigares/conf/mescigares.conf +++ b/app_gestion/MesCigares/conf/mescigares.conf @@ -1,3 +1,3 @@ [MesCigares] -bdd = /home/jlaunay/Documents/Cigares/app_gestion/MesCigares/bdd/jerome.db +bdd = /home/jlaunay/git/Cigares/app_gestion/MesCigares/bdd/jerome.db diff --git a/app_tarif/tarifs.db b/app_tarif/tarifs.db index 74105662abf48459e96a6b3708ef9aab034f8ba6..8a3215f6d374af081b83f95dd017f44bbf4b05c4 100644 GIT binary patch delta 130 zcmZo@;A?2$n;^|7K2gS5P@F;c2( delta 119 zcmZo@;A?2$n;^|7GEv4^P=rDEkp?dV0|O)T1P0~_%%0mB1(@zIHTy7c_hDw-H-U+{ zXFJan#`%n#Ks6db%)l^RQIt`B`{k*OI~k?Tdka~Tg~bCLgF+nL9fK8u53elBOjSrJ XRY;!xvxiZ>{n&KI?Z>7wS-k)N@W&z{