From 6e0d2c7ec3922e554a9f7e07809090e226906aec Mon Sep 17 00:00:00 2001 From: troufflard <> Date: Mon, 26 Sep 2016 09:22:56 +0000 Subject: [PATCH] =?UTF-8?q?deplacement=20test=20debug=20vers=20la=20batter?= =?UTF-8?q?ie=20:=20Test=5FR=5Fdilatation=5Fthermique=5FLOI=5FADDITIVE=5FM?= =?UTF-8?q?ELANGES;=20modif=20tests=20Test=5FR=5Fdilatation=5Fthermique=5F?= =?UTF-8?q?LOI=5FDES=5FMELANGES=20(la=20temperature=20passe=20desormais=20?= =?UTF-8?q?de=2020=C2=B0C=20a=205=C2=B0C=20au=20lieu=20de=200=C2=B0C=20pou?= =?UTF-8?q?r=20avoir=20une=20contribution=20non=20nulle=20de=20la=20loi=20?= =?UTF-8?q?0=C2=B0C);=20modif=20test=20Test=5FR=5Ftraction=5Fbiaxiale=5FBL?= =?UTF-8?q?OCAGE=5FRELATIF=5F1=20:=20modif=20d=20un=20mot-cle=20dans=20le?= =?UTF-8?q?=20README=20(BLOCAGE=5FRELATIF=5F=20au=20lieu=20de=20BLOQUAGE?= =?UTF-8?q?=5FRELATIF=5F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README | 6 +- .../README | 15 +- .../cube_1elt_npti8.her | 0 .../cube_1elt_npti8.lis | 0 ...ion_thermique_LOI_ADDITIVE_MELANGES.CVisu1 | 0 ...ation_thermique_LOI_ADDITIVE_MELANGES.info | 4 +- ...que_LOI_ADDITIVE_MELANGES_princ.maple.ref1 | 9 +- .../README | 2 +- ...dilatation_thermique_LOI_DES_MELANGES.info | 4 +- ...hermique_LOI_DES_MELANGES_princ.maple.ref1 | 4 +- .../Test_R_RESTART_1D/README | 46 ----- .../Test_R_RESTART_1D/barre_1elt.her | 19 --- .../Test_R_RESTART_1D/test_RESTART_1D.CVisu1 | 114 ------------- .../Test_R_RESTART_1D/test_RESTART_1D.CVisu2 | 114 ------------- .../Test_R_RESTART_1D/test_RESTART_1D.info | 71 -------- .../test_RESTART_1D.posttrait1 | 98 ----------- .../test_RESTART_1D_princ.maple.ref1 | 100 ----------- .../README | 64 ------- .../dilatation_thermique_LOI_ADDITIVE.CVisu1 | 116 ------------- .../dilatation_thermique_LOI_ADDITIVE.info | 91 ---------- .../cube_1elt_npti8.her | 18 -- .../cube_1elt_npti8.lis | 158 ------------------ .../README | 54 ------ .../cube_1elt_npti8.her | 18 -- .../cube_1elt_npti8.lis | 158 ------------------ .../traction_biaxale_BLOCAGE_RELATIF_1.CVisu1 | 116 ------------- .../traction_biaxale_BLOCAGE_RELATIF_1.info | 83 --------- ...biaxale_BLOCAGE_RELATIF_1_princ.maple.ref1 | 99 ----------- catalogue_tests.pdf | Bin 299632 -> 301671 bytes 29 files changed, 16 insertions(+), 1565 deletions(-) rename {Tests_en_attente_debug => Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT}/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/README (76%) rename {Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE => Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES}/cube_1elt_npti8.her (100%) rename {Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE => Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES}/cube_1elt_npti8.lis (100%) rename {Tests_en_attente_debug => Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT}/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.CVisu1 (100%) rename {Tests_en_attente_debug => Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT}/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.info (95%) rename Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE_princ.maple.ref1 => Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES_princ.maple.ref1 (83%) delete mode 100755 Tests_en_attente_debug/Test_R_RESTART_1D/README delete mode 100644 Tests_en_attente_debug/Test_R_RESTART_1D/barre_1elt.her delete mode 100644 Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.CVisu1 delete mode 100644 Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.CVisu2 delete mode 100644 Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.info delete mode 100755 Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.posttrait1 delete mode 100644 Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D_princ.maple.ref1 delete mode 100644 Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/README delete mode 100644 Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE.CVisu1 delete mode 100644 Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE.info delete mode 100644 Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.her delete mode 100644 Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.lis delete mode 100755 Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/README delete mode 100644 Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/cube_1elt_npti8.her delete mode 100644 Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/cube_1elt_npti8.lis delete mode 100644 Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1.CVisu1 delete mode 100644 Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1.info delete mode 100644 Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1_princ.maple.ref1 diff --git a/Batterie/FONCTION_UNIQUE/CONDITIONS_LIMITES/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/README b/Batterie/FONCTION_UNIQUE/CONDITIONS_LIMITES/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/README index 3b40363..7d8baa8 100755 --- a/Batterie/FONCTION_UNIQUE/CONDITIONS_LIMITES/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/README +++ b/Batterie/FONCTION_UNIQUE/CONDITIONS_LIMITES/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/README @@ -8,14 +8,14 @@ Julien Troufflard (troufflard@univ-ubs.fr) Mots-cles ------------------------------------------------------ Traction biaxiale -BLOQUAGE_RELATIF_ +BLOCAGE_RELATIF_ TEMPS_MINI ------------------------------------------------------ But du test ------------------------------------------------------ -Vérification du fonctionnement de la combinaison BLOQUAGE_RELATIF_ + TEMPS_MINI dans une condition de déplacement imposé +Vérification du fonctionnement de la combinaison BLOCAGE_RELATIF_ + TEMPS_MINI dans une condition de déplacement imposé ------------------------------------------------------ @@ -26,7 +26,7 @@ Calcul de traction biaxiale sur un cube unitaire. La gestion du chargement se fait via des courbes de charge : 1) Entre le temps 0 et 1, c est de la traction uniaxiale classique selon X car la condition sur UY de la face Y=1 est inactive jusqu au temps 1 inclus (TEMPS_MINI= 1). -2) Entre le temps 1 et 2, la courbe dpl_UX permet de figer la face X=1 dans sa position actuelle (X=1.02). La condition sur la face Y=1 devient active, c'est-à-dire un déplacement UY=0.02 (piloté par la courbe dpl_UY_relatif) depuis la position atteinte au temps 1 (BLOQUAGE_RELATIF_). +2) Entre le temps 1 et 2, la courbe dpl_UX permet de figer la face X=1 dans sa position actuelle (X=1.02). La condition sur la face Y=1 devient active, c'est-à-dire un déplacement UY=0.02 (piloté par la courbe dpl_UY_relatif) depuis la position atteinte au temps 1 (BLOCAGE_RELATIF_). ------------------------------------------------------------- diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/README b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/README similarity index 76% rename from Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/README rename to Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/README index 67f5417..26520d5 100644 --- a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/README +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/README @@ -23,24 +23,11 @@ But du test ------------------------------------------------------ test de la combinaison "dilatation_thermique + LOI_ADDITIVE_EN_SIGMA + LOI_DES_MELANGES_EN_SIGMA" avec une loi des mélanges gouvernée par la température -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ -** -** ----- remarques a supprimer une fois le bug resolu ----- -** -** ce test renvoie "Segmentation fault". -** une fois resolu, il faudra creer un .maple.ref. Mais avant ça, il ne faut pas oublier -** le probleme sur la sortie contrainte_individuelle_a_chaque_loi_a_t -** vu dans le test en attente debug : Tests_en_attente_debug/Test_R_sortie_contrainte_individuelle_a_chaque_loi_a_t_1 -** -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ------------------------------------------------------ Description du calcul ------------------------------------------------------ -traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE). La température initialement à 20°C évolue linéairement en fonction du temps pour atteindre 0°C à la fin du calcul +traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE). La température initialement à 20°C évolue linéairement en fonction du temps pour atteindre 5°C à la fin du calcul. Loi de comportement : - loi additive en contrainte consituée d'une loi ISOLEAS + un mélange de 2 lois élastiques ISOELAS diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/cube_1elt_npti8.her b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.her similarity index 100% rename from Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/cube_1elt_npti8.her rename to Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.her diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/cube_1elt_npti8.lis b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.lis similarity index 100% rename from Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/cube_1elt_npti8.lis rename to Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.lis diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.CVisu1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.CVisu1 similarity index 100% rename from Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.CVisu1 rename to Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.CVisu1 diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.info b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.info similarity index 95% rename from Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.info rename to Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.info index 9a2a9f2..b24ba69 100644 --- a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.info +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES.info @@ -73,8 +73,8 @@ N_arriere UY N_bas UZ N_gauche 'UX=0.1' -#temperature initialement a 20 passe a 0 (delta = -20) -N_tout 'TEMP= -20' +#temperature initialement a 20 passe a 5 (delta = -15) +N_tout 'TEMP= -15' initialisation diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES_princ.maple.ref1 similarity index 83% rename from Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE_princ.maple.ref1 rename to Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES_princ.maple.ref1 index 3aaf439..10fc11a 100644 --- a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE_princ.maple.ref1 +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/dilatation_thermique_LOI_ADDITIVE_MELANGES_princ.maple.ref1 @@ -1,6 +1,6 @@ #fichier au format maple6 ############################################################################################### -# Visualisation elements finis : Herezh++ V6.768 # +# Visualisation elements finis : Herezh++ V6.774 # # Copyright (c) 1997-2016, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # # http://www-lg2m.univ-ubs.fr # ############################################################################################### @@ -72,11 +72,12 @@ # noeud_8 [2]X [3]Y [4]Z [5]X1 [6]X2 [7]X3 [8]TEMP ; # #---------------------------------- grandeurs aux elements ------------------------------ -#1 4 20 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) +#1 4 30 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) # element_1 pt_integ_1: [10]X [11]Y [12]Z [13] EPS11 [14] EPS22 [15] EPS33 [16] SIG11 # [17]X [18]Y [19]Z # VOLUME_PTI TYPE_SIMPLE SCALAIRE 1 [20...20] -# contrainte_individuelle_a_chaque_loi_a_t TABLEAU_T TENSEURHH 12 [21...32] +# contrainte_individuelle_a_chaque_loi_a_t TABLEAU_T TENSEURHH 24 [21...44] +# contrainte_individuelle_a_t_sans_proportion TABLEAU_T TENSEURHH 12 [45...56] # # # @@ -101,4 +102,4 @@ # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs # etc. pour tous les points d'integration - element - 1.000000000000e+00 1.100000000000e+00 9.426378600697e-01 9.426378600697e-01 1.100000000000e+00 9.426378600697e-01 9.426378600697e-01 0.000000000000e+00 1.000000000000e+00 2.324573519457e-01 7.434350411647e-01 7.434350411647e-01 1.067768595041e-01 -4.270431673240e-02 -4.270431673240e-02 3.203856676774e+02 2.324573519457e-01 7.434350411647e-01 7.434350411647e-01 1.221778435951e-01 1.067952225591e+02 1.217001211349e-13 2.295381876671e-02 -5.817482815057e-16 3.040041898616e-29 2.295381876663e-02 2.135904451183e+02 2.434002422697e-13 4.590763753342e-02 -1.163496563011e-15 6.080083797233e-29 4.590763753326e-02 + 1.000000000000e+00 1.100000000000e+00 9.616930670808e-01 9.616930670808e-01 1.100000000000e+00 9.616930670808e-01 9.616930670808e-01 5.000000000000e+00 1.000000000000e+00 2.324573519457e-01 7.584634091188e-01 7.584634091188e-01 1.017768595041e-01 -2.562613172673e-02 -2.562613172673e-02 3.894272479161e+02 2.324573519457e-01 7.584634091188e-01 7.584634091188e-01 1.271673638498e-01 9.826584910042e+01 9.920918663753e-14 -1.755505201854e+01 -1.287619828688e-14 -1.134770635631e-13 -1.755505201854e+01 2.911613988157e+02 2.343499056149e-13 1.757164200580e+01 -3.041589146612e-14 -2.680531918140e-13 1.757164200580e+01 1.235608245011e+01 1.136771930222e-14 -9.150624697747e-01 -1.475397720371e-15 -1.300258019993e-14 -9.150624697747e-01 1.813028017614e+02 1.416592713045e-13 1.592391891368e+01 -1.838572543847e-14 -1.620321532607e-13 1.592391891368e+01 1.976973192017e+02 1.818835088355e-13 -1.464099951640e+01 -2.360636352594e-14 -2.080412831989e-13 -1.464099951640e+01 3.223160920203e+02 2.518387045414e-13 2.830918917987e+01 -3.268573411284e-14 -2.880571613524e-13 2.830918917987e+01 diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/README b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/README index e42a096..e6cd353 100644 --- a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/README +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/README @@ -26,7 +26,7 @@ test de la combinaison "dilatation_thermique + LOI_DES_MELANGES_EN_SIGMA" avec u ------------------------------------------------------ Description du calcul ------------------------------------------------------ -traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE). La température initialement à 20°C évolue linéairement en fonction du temps pour atteindre 0°C à la fin du calcul +traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE). La température initialement à 20°C évolue linéairement en fonction du temps pour atteindre 5°C à la fin du calcul Loi de comportement : - loi des mélanges en contrainte : 2 lois élastiques ISOELAS diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/dilatation_thermique_LOI_DES_MELANGES.info b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/dilatation_thermique_LOI_DES_MELANGES.info index e5c6d71..b970312 100644 --- a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/dilatation_thermique_LOI_DES_MELANGES.info +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/dilatation_thermique_LOI_DES_MELANGES.info @@ -66,8 +66,8 @@ N_arriere UY N_bas UZ N_gauche 'UX=0.1' -#temperature initialement a 20 passe a 0 (delta = -20) -N_tout 'TEMP= -20' +#temperature initialement a 20 passe a 5 (delta = -15) +N_tout 'TEMP= -15' initialisation diff --git a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/dilatation_thermique_LOI_DES_MELANGES_princ.maple.ref1 b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/dilatation_thermique_LOI_DES_MELANGES_princ.maple.ref1 index 8727e2f..054dbce 100644 --- a/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/dilatation_thermique_LOI_DES_MELANGES_princ.maple.ref1 +++ b/Batterie/FONCTION_UNIQUE/LOI_DE_COMPORTEMENT/Test_R_dilatation_thermique_LOI_DES_MELANGES/dilatation_thermique_LOI_DES_MELANGES_princ.maple.ref1 @@ -1,6 +1,6 @@ #fichier au format maple6 ############################################################################################### -# Visualisation elements finis : Herezh++ V6.770 # +# Visualisation elements finis : Herezh++ V6.774 # # Copyright (c) 1997-2016, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # # http://www-lg2m.univ-ubs.fr # ############################################################################################### @@ -102,4 +102,4 @@ # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs # etc. pour tous les points d'integration - element -1.000000000000e+00 1.100000000000e+00 9.426378600697e-01 9.426378600697e-01 1.100000000000e+00 9.426378600697e-01 9.426378600697e-01 0.000000000000e+00 1.000000000000e+00 2.324573519457e-01 7.434350411647e-01 7.434350411647e-01 1.067768595041e-01 -4.270431673240e-02 -4.270431673240e-02 2.135904451183e+02 2.324573519457e-01 7.434350411647e-01 7.434350411647e-01 1.221778435951e-01 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 2.135904451183e+02 2.434002422697e-13 4.590763753342e-02 -1.163496563011e-15 6.080083797233e-29 4.590763753326e-02 1.067952225591e+02 1.217001211349e-13 2.295381876671e-02 -5.817482815057e-16 3.040041898616e-29 2.295381876663e-02 2.135904451183e+02 2.434002422697e-13 4.590763753342e-02 -1.163496563011e-15 6.080083797233e-29 4.590763753326e-02 + 1.000000000000e+00 1.100000000000e+00 9.485545136316e-01 9.485545136316e-01 1.100000000000e+00 9.485545136316e-01 9.485545136316e-01 5.000000000000e+00 1.000000000000e+00 2.324573519457e-01 7.481013587089e-01 7.481013587089e-01 1.017768595041e-01 -4.070642038261e-02 -4.070642038261e-02 1.781311212274e+02 2.324573519457e-01 7.481013587089e-01 7.481013587089e-01 1.237164039830e-01 6.361825758123e+00 2.503888242049e-15 9.650488932380e-04 -6.291924042228e-15 1.771277769853e-30 9.650488932333e-04 1.145128636462e+02 4.506998835688e-14 1.737088007828e-02 -1.132546327601e-13 3.188338504334e-29 1.737088007820e-02 1.017892121300e+02 4.006221187278e-14 1.544078229181e-02 -1.006707846756e-13 2.833967394567e-29 1.544078229173e-02 2.035784242599e+02 8.012442374556e-14 3.088156458362e-02 -2.013415693513e-13 5.667934789134e-29 3.088156458347e-02 diff --git a/Tests_en_attente_debug/Test_R_RESTART_1D/README b/Tests_en_attente_debug/Test_R_RESTART_1D/README deleted file mode 100755 index d96fd23..0000000 --- a/Tests_en_attente_debug/Test_R_RESTART_1D/README +++ /dev/null @@ -1,46 +0,0 @@ ------------------------------------------------------- -Auteur ------------------------------------------------------- -Julien Troufflard (troufflard@univ-ubs.fr) - - ------------------------------------------------------- -Mots-cles ------------------------------------------------------- -RESTART - - ------------------------------------------------------- -But du test ------------------------------------------------------- -Vérification du RESTART pour un élément 1D - - ------------------------------------------------------- -Description du calcul ------------------------------------------------------- -Calcul simple de traction sur une barre (POUT BIE1) encastrée-libre afin de vérifier le fonctionnement d un RESTART. Le calcul se fait en deux parties. Jusqu'au temps 1, la barre est soumise à une force ponctuelle. Ensuite, le deuxième calcul (RESTART) soumet la barre à la meme force jusqu au temps 2. Si la relecture des informations est faite correctement lors du RESTART, les contraintes, déformations et déplacements doivent donc rester inchangés à l'issue de ce deuxième calcul. - -\latex_brut -Test implanté suite à la modif Herezh en réponse à la demande \#119 sur le site d Herezh : - - \url{http://kleger.univ-ubs.fr/Herezh/issues/119} (voir ce lien pour plus d infos) - -\fin_latex_brut - - ---------------------------------------------------- -Informations sur les fichiers facultatifs ---------------------------------------------------- -Le script test_RESTART_1D.posttrait1 permet de changer le TEMPSFIN pour le deuxième calcul, et de sauvegarder le .maple du premier calcul dans le but de le comparer au .maple du deuxième calcul. En fait, le .maple du premier calcul est sauvegardé en tant que .maple.ref2, de manière à provoquer une comparaison de .maple classique à l issue du deuxième calcul. Le script test_RESTART_1D.posttrait1 remplace le temps 1 par un temps de 2 dans ce .maple.ref2, de manière à rendre possible la comparaison au .maple du deuxième calcul. - - -------------------------------------------------------------- -Grandeurs de comparaison -------------------------------------------------------------- -au point d intégration 1 de l élément 1 : - - contrainte : SIG11 - - déformation : EPS11 - -au noeud 2 (lieu d application de la force ponctuelle) : - - déplacement : X1 diff --git a/Tests_en_attente_debug/Test_R_RESTART_1D/barre_1elt.her b/Tests_en_attente_debug/Test_R_RESTART_1D/barre_1elt.her deleted file mode 100644 index 6154680..0000000 --- a/Tests_en_attente_debug/Test_R_RESTART_1D/barre_1elt.her +++ /dev/null @@ -1,19 +0,0 @@ -nom_maillage barre_1elt - -noeuds -2 NOEUDS - -1 0 0 0 -2 1 0 0 - -N1 1 -N2 2 - -elements -1 ELEMENTS - -1 POUT BIE1 1 2 - -A_to 1 1 - -E_to 1 diff --git a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.CVisu1 b/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.CVisu1 deleted file mode 100644 index 5ae0e4b..0000000 --- a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.CVisu1 +++ /dev/null @@ -1,114 +0,0 @@ -############################################################################################### -# Fichier de commande pour la visualisation elements finis # -# Herezh++ V6.709 # -# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # -# http://www-lg2m.univ-ubs.fr # -############################################################################################### - - - - debut_fichier_commande_visu # >>>>>> le mot cle: - # permet au programme de se positionner au debut du fichier, il est indispensable - - - # ================================================================================= - # || ***** demande d une visualisation maple: ***** || - # ================================================================================= - # un mot cle de debut (debut_visualisation_maple) - # un mot cle de fin ( fin_visualisation_maple) - # la seule presence de ces deux mots cle suffit a activer la visualisation maple - debut_visualisation_maple - - # ----------------------------- definition de la liste des increments a balayer: ---------------- - debut_list_increment # un mot cle de debut de liste - actif 1 # <0 ou 1> indique si l ordre est actif ou non - # une liste d entier separee par des blancs, ou le mot cle (tous_les_increments) - # un mot cle de fin de liste ( fin_list_increment) - dernier_increment fin_list_increment - - # ----------------------------- choix des maillages a visualiser: ---------------- - # la liste est facultative, par defaut la visualisation concerne le premier maillage - debut_choix_maillage # un mot cle de debut, - actif 0 # <0 ou 1> indique si l ordre est actif ou non - # une liste d entiers , puis , sur une meme ligne - 1 fin_choix_maillage - - # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- - debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), - actif 1 # <0 ou 1> indique si l ordre est actif ou non - # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin - debut_grandeurs_globales fin_grandeurs_globales - # ensuite pour chaque maillage:, - # le numero du maillage , - # les infos pour la visualisation eventuelle des torseurs de reaction, - # les infos pour la visualisation eventuelle aux noeud, - # - tout d abord les ddl principaux (position, deplacements, temperature etc.) - # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses - # les infos pour la visualisation eventuelle aux elements, - # - tout d abord les grandeurs generiques (deformations, contraintes etc.) - # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def - # enfin un mot cle de fin ( fin_grandeurs_maple) - 1 # le numero de maillage - # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction - # une liste de nom , puis - debut_list_torseur_reaction fin_list_torseur_reaction - debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds - # debut de la liste de noeuds, puis une liste de numero de noeud , puis - deb_list_noeud 2 fin_list_noeud - # debut de la liste des ref de noeuds, puis une liste de nom , puis - deb_list_ref_noeud fin_list_ref_noeud - # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis - deb_list_ddl_noeud X1 fin_list_ddl_noeud - type_sortie_ddl_retenue= 0 - # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis - deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds - # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis - deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds - fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds - debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements - # debut de la liste des elements et points d integration, une liste de (un element, un numero de pt d integ), puis - deb_list_NbElement_NbPtInteg fin_list_NbElement_NbPtInteg - # debut de la liste des ref d elements, puis une liste de: nom + numero d integ, puis - deb_list_ref_element E_tout 1 fin_list_ref_element - # debut de la liste des ref de ptinteg d elements, puis une liste de: nom puis - deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element - # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis - deb_list_ddl_element SIG11 EPS11 fin_list_ddl_element - # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis - deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements - # tableau de grandeurs evoluees aux elements a visualiser, un par maillage - deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element - fin_liste_ddl_ptinteg # fin des grandeurs aux elements -# informations particuliere dans le cas ou il y a une animation -# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c est au elements) -# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent -# si oui ou non x1 et x2 represente l accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. - debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier -# un parametre de pilotage du style de sortie - parametre_style_de_sortie 1 -# un parametre indiquant si les tenseurs sont en absolue (rep 1) ou suivant un repere ad hoc -# (tangent pour les coques, suivant la fibre moyenne pour les element 1D ) - tenseur_en_absolue_ 0 - fin_grandeurs_maple # fin des grandeurs a visualiser au format maple - - # ----------------------------- definition des parametres d animation: ---------------- - debut_animation # un mot cle de debut de liste (debut_animation) - actif 0 # <0 ou 1> indique si l ordre est actif ou non - # des parametres avec des valeurs: (sur une meme ligne) - cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l animation) - fin_animation # un mot cle de fin - - fin_visualisation_maple - # ================================================================================= - # || fin de la visualisation maple || - # ================================================================================= - - - - - - fin_fichier_commande_visu # <<<<<< le mot cle permet - # l arret de la lecture des commandes, apres ce mot cle, aucune commande n est lu, de plus - # sans le mot cle de fin de fichier, le fichier n est pas valide - - ############################################################################################### diff --git a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.CVisu2 b/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.CVisu2 deleted file mode 100644 index 5ae0e4b..0000000 --- a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.CVisu2 +++ /dev/null @@ -1,114 +0,0 @@ -############################################################################################### -# Fichier de commande pour la visualisation elements finis # -# Herezh++ V6.709 # -# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # -# http://www-lg2m.univ-ubs.fr # -############################################################################################### - - - - debut_fichier_commande_visu # >>>>>> le mot cle: - # permet au programme de se positionner au debut du fichier, il est indispensable - - - # ================================================================================= - # || ***** demande d une visualisation maple: ***** || - # ================================================================================= - # un mot cle de debut (debut_visualisation_maple) - # un mot cle de fin ( fin_visualisation_maple) - # la seule presence de ces deux mots cle suffit a activer la visualisation maple - debut_visualisation_maple - - # ----------------------------- definition de la liste des increments a balayer: ---------------- - debut_list_increment # un mot cle de debut de liste - actif 1 # <0 ou 1> indique si l ordre est actif ou non - # une liste d entier separee par des blancs, ou le mot cle (tous_les_increments) - # un mot cle de fin de liste ( fin_list_increment) - dernier_increment fin_list_increment - - # ----------------------------- choix des maillages a visualiser: ---------------- - # la liste est facultative, par defaut la visualisation concerne le premier maillage - debut_choix_maillage # un mot cle de debut, - actif 0 # <0 ou 1> indique si l ordre est actif ou non - # une liste d entiers , puis , sur une meme ligne - 1 fin_choix_maillage - - # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- - debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), - actif 1 # <0 ou 1> indique si l ordre est actif ou non - # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin - debut_grandeurs_globales fin_grandeurs_globales - # ensuite pour chaque maillage:, - # le numero du maillage , - # les infos pour la visualisation eventuelle des torseurs de reaction, - # les infos pour la visualisation eventuelle aux noeud, - # - tout d abord les ddl principaux (position, deplacements, temperature etc.) - # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses - # les infos pour la visualisation eventuelle aux elements, - # - tout d abord les grandeurs generiques (deformations, contraintes etc.) - # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def - # enfin un mot cle de fin ( fin_grandeurs_maple) - 1 # le numero de maillage - # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction - # une liste de nom , puis - debut_list_torseur_reaction fin_list_torseur_reaction - debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds - # debut de la liste de noeuds, puis une liste de numero de noeud , puis - deb_list_noeud 2 fin_list_noeud - # debut de la liste des ref de noeuds, puis une liste de nom , puis - deb_list_ref_noeud fin_list_ref_noeud - # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis - deb_list_ddl_noeud X1 fin_list_ddl_noeud - type_sortie_ddl_retenue= 0 - # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis - deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds - # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis - deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds - fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds - debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements - # debut de la liste des elements et points d integration, une liste de (un element, un numero de pt d integ), puis - deb_list_NbElement_NbPtInteg fin_list_NbElement_NbPtInteg - # debut de la liste des ref d elements, puis une liste de: nom + numero d integ, puis - deb_list_ref_element E_tout 1 fin_list_ref_element - # debut de la liste des ref de ptinteg d elements, puis une liste de: nom puis - deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element - # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis - deb_list_ddl_element SIG11 EPS11 fin_list_ddl_element - # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis - deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements - # tableau de grandeurs evoluees aux elements a visualiser, un par maillage - deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element - fin_liste_ddl_ptinteg # fin des grandeurs aux elements -# informations particuliere dans le cas ou il y a une animation -# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c est au elements) -# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent -# si oui ou non x1 et x2 represente l accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. - debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier -# un parametre de pilotage du style de sortie - parametre_style_de_sortie 1 -# un parametre indiquant si les tenseurs sont en absolue (rep 1) ou suivant un repere ad hoc -# (tangent pour les coques, suivant la fibre moyenne pour les element 1D ) - tenseur_en_absolue_ 0 - fin_grandeurs_maple # fin des grandeurs a visualiser au format maple - - # ----------------------------- definition des parametres d animation: ---------------- - debut_animation # un mot cle de debut de liste (debut_animation) - actif 0 # <0 ou 1> indique si l ordre est actif ou non - # des parametres avec des valeurs: (sur une meme ligne) - cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l animation) - fin_animation # un mot cle de fin - - fin_visualisation_maple - # ================================================================================= - # || fin de la visualisation maple || - # ================================================================================= - - - - - - fin_fichier_commande_visu # <<<<<< le mot cle permet - # l arret de la lecture des commandes, apres ce mot cle, aucune commande n est lu, de plus - # sans le mot cle de fin de fichier, le fichier n est pas valide - - ############################################################################################### diff --git a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.info b/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.info deleted file mode 100644 index 812ea6c..0000000 --- a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.info +++ /dev/null @@ -1,71 +0,0 @@ -dimension 3 - -niveau_commentaire 3 - -TYPE_DE_CALCUL -non_dynamique avec plus lectureCommandesVisu - - -< barre_1elt.her - - -les_courbes_1D - rampe COURBEPOLYLINEAIRE_1_D - Debut_des_coordonnees_des_points - Coordonnee dim= 2 0. 0. - Coordonnee dim= 2 1. 1. - Coordonnee dim= 2 2. 1. - Fin_des_coordonnees_des_points - - -choix_materiaux -E_tout MAT - - -materiaux -MAT ISOELAS1D -1000. 0.3 - - -masse_volumique -E_tout 1. - - -sections -E_tout 0.1 - - -charges -N2 PONCTUELLE 10 0 0 COURBE_CHARGE: rampe ECHELLE: 1 - - -blocages -N1 UX UY UZ -N2 UY UZ - - -controle -DELTAtMINI 1. -DELTAtMAXI 1. -TEMPSFIN 1. -DELTAt 1. -ITERATIONS 15 -PRECISION 1e-3 -SAUVEGARDE 1 -MAXINCRE 9999999 -NORME Residu/Reaction_et_VarRes - - -para_pilotage_equi_global - - -para_syteme_lineaire - - -para_affichage - - -resultats pas_de_sortie_finale_ -COPIE 0 - -_fin_point_info_ diff --git a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.posttrait1 b/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.posttrait1 deleted file mode 100755 index 30142fb..0000000 --- a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D.posttrait1 +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -use English; -use File::Basename; -use Cwd; -my $NOM_PROG = basename $PROGRAM_NAME; -#pattern d un reel pour les regex -my $format_reel = '[+-]?[\.]?\d+[\.]?\d*(?:[eE][+-]?\d*)?'; - -# -# -# les buts de ce script sont : -# 1- changer le TEMPSFIN (passer de 1 a 2) -# 2- conserver le .maple du calcul en vue d une comparaison future avec le .maple du calcul .CVisu2 -# (ce .maple sera nomme test_RESTART_1D_princ.maple.ref2, c est-a-dire que l on va faire en sorte -# qu il devienne un .maple de reference pour le futur deuxieme calcul .CVisu2) -# 3- changement du temps dans le .maple test_RESTART_1D_princ.maple.ref2 -# (comme ce .maple provient du calcul .CVisu1 pour un TEMPSFIN egal a 1, on modifie arbitrairement le -# temps ecrit dans le .maple pour pouvoir le comparer proprement au calcul .CVisu2 pour un TEMPSFIN egal -# a 2. Sinon, il y a aura forcement ECHEC de la comparaison de maple pour le calcul .CVisu2 a cause d une -# difference de grandeur en colonne 1) -# -# - -#chemin absolu vers l executable Herezh -my $hzchemin = shift(@ARGV); - -#nom du fichier .info -my $finfo = shift(@ARGV); - - -#------------------------ -#changement TEMPSFIN -#------------------------ -#ouverture .info d origine -open(FIC1, "<$finfo") or do { - print "Erreur (prog:$NOM_PROG) : probleme en ouverture du fichier $finfo ($!)...\n\n"; - print "resultat posttrait : ECHEC\n"; - }; -open(FIC2, ">$finfo.tmp") or do { - print "Erreur (prog:$NOM_PROG) : probleme en ouverture du fichier $finfo.tmp ($!)...\n\n"; - print "resultat posttrait : ECHEC\n"; - }; -while() { - - #modif TEMPSFIN - $_ = 'TEMPSFIN 2.' if(/^\s*TEMPSFIN /); - - #ecriture dans le fichier temporaire - print FIC2; -} -close(FIC2); -close(FIC1); - -#remplacement du .info d origine par le .info temporaire -system("mv -f $finfo.tmp $finfo"); - - -#------------------------ -#sauvegarde du .maple en .maple.ref2 -#------------------------ -(my $fmaple = $finfo) =~ s/.info$/_princ.maple/; -#verif existence du fichier .maple -(-e $fmaple) or do { - print "Erreur (prog:$NOM_PROG) : fichier maple $fmaple introuvable...\n\n"; - print "resultat posttrait : ECHEC\n"; - }; -#recopie du .maple sous le nom sauvegarde_maple_CVisu1.maple -system("cp $fmaple $fmaple.ref2"); - -#verif existence fichier sauvegarde_maple_CVisu1.maple -(-e "$fmaple.ref2") or do { - print "Erreur (prog:$NOM_PROG) : fichier $fmaple.ref2 n a pas ete cree...\n\n"; - print "resultat posttrait : ECHEC\n"; - }; - -#modif temps (on change le temps de 1 en 2. Pour info, le temps est en colonne 1 mais egalement en colonne 6 pour ce test) -open(FIC, "<$fmaple.ref2"); -open(FIC2, ">$fmaple.ref2.tmp"); -while() { - if(/^\s*$format_reel/o) { - @_ = split; - $_[0] = 2.; - $_[5] = 2.; - print FIC2 "@_\n"; - } - else { - print FIC2; - } -} -close(FIC2); -close(FIC); -system("mv -f $fmaple.ref2.tmp $fmaple.ref2"); - - -#reussite du script -print "resultat posttrait : OK\n"; diff --git a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D_princ.maple.ref1 b/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D_princ.maple.ref1 deleted file mode 100644 index df5b930..0000000 --- a/Tests_en_attente_debug/Test_R_RESTART_1D/test_RESTART_1D_princ.maple.ref1 +++ /dev/null @@ -1,100 +0,0 @@ -#fichier au format maple6 -############################################################################################### -# Visualisation elements finis : Herezh++ V6.770 # -# Copyright (c) 1997-2016, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # -# http://www-lg2m.univ-ubs.fr # -############################################################################################### - - - - # entete des donnees : informations gererales: on trouve successivement: - # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs - # precedes du numero de colonne entre crochet - # >> le nombre de maillages m, et dimension de l'espace de travail - # puis pour chaque maillage, - # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit - # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions - # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment - # ensuite pour les moyennes, sommes, maxi etc. calculees sur des references de noeuds - # >> le nombre de ref de noeuds, nombre total de grandeurs associees - # puis pour chaque maillage - # le numero de maillage puis pour chaque reference de noeuds - # le nom de la reference, le nombre de noeud de la ref, le nombre de grandeurs qui vont etre ecrites - # puis entre crochet la position suivi de la signification de chaque grandeur - # - # ensuite pour les moyennes, sommes, maxi etc. calculees sur des references d'elements ou de pti - # >> le nombre de ref d'element+ref de pti, nombre total de grandeurs associees - # puis pour chaque maillage - # le numero de maillage puis pour chaque reference d'element et de pti - # le nom de la reference, le nombre d'element de la ref, le nombre de grandeurs qui vont etre ecrites - # puis entre crochet la position suivi de la signification de chaque grandeur - # - # puis pour chaque maillage - # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , - # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees - # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) - # precedes du numero de colonne correspondant entre crochet - # puis pour chaque maillage - # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , - # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant - # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, - # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl - # chacun precedes du numero de colonne entre crochet - # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), - # suivi entre crochet, de la plage des numeros de colonnes, correspondant - # chacun sur une ligne differentes - # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: - # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) - # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) - # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) - # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, - # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique - # ** ( cf: parametre_style_de_sortie = 0) - -#==================================================================== -#|| recapitulatif des differentes grandeurs par colonne || -#==================================================================== -#---------------------------------- grandeur globales ------------------------------------ -#0 (nombre de grandeurs globales) -#---------------------------------- maillage et dimension -------------------------------- -#1 3 (nombre de maillages et dimension) -#---------------------------------- torseurs de reactions -------------------------------- -#0 0 (nombre de torseurs et nombre total de grandeurs associees) -# -#-------- moyenne, somme, maxi etc. de grandeurs aux noeuds pour des ref --------------- -#0 0 (nombre de ref de noeud et nombre total de grandeurs associees) -# -#-------- moyenne, somme, maxi etc. de grandeurs aux elements pour des ref --------------- -#0 0 (nombre de ref d'element et nombre total de grandeurs associees) -# -#---------------------------------- grandeurs aux noeuds -------------------------------- -#1 1 (nombre de noeuds, nombre total de grandeurs associees) -# noeud_2 [2]X [3]Y [4]Z [5]X1 ; -# -#---------------------------------- grandeurs aux elements ------------------------------ -#1 2 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) -# reference E_tout : element_1 pt_integ_1: [7]X [8]Y [9]Z [10] SIG11 [11] EPS11 -# -# -#==================================================================== -#|| fin du recapitulatif des differentes grandeurs || -#==================================================================== - - # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant - # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun - # correspondant a un maillage. On trouve pour chaque enregistrement successivement : - # s'il y a des grandeurs globales: le temps puis les grandeurs globales, - # puis s'il y a des torseurs de reaction : - # de nouveau le temps, les composantes de la resultante puis les composantes du moments - # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels - # puis s'il y a des grandeurs aux noeuds: de nouveau le temps - # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud - # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds - # puis s'il y a des grandeur aux elements: - # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) - # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration - # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes - # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs - # etc. pour tous les points d'integration - element - - 1.000000000000e+00 1.129446618973e+00 0.000000000000e+00 0.000000000000e+00 1.129446618973e+00 1.000000000000e+00 5.647233094863e-01 0.000000000000e+00 0.000000000000e+00 1.080428555928e+02 1.080428555928e-01 diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/README b/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/README deleted file mode 100644 index 19ae1ff..0000000 --- a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/README +++ /dev/null @@ -1,64 +0,0 @@ ------------------------------------------------------- -Auteur ------------------------------------------------------- -Julien Troufflard (troufflard@univ-ubs.fr) - - ------------------------------------------------------- -Mots-cles ------------------------------------------------------- -contrainte_individuelle_a_chaque_loi_a_t -LOI_ADDITIVE_EN_SIGMA -ISOELAS -TEMP -temperature -dilatation thermique -dilatation_thermique - - ------------------------------------------------------- -But du test ------------------------------------------------------- -test de la combinaison "dilatation_thermique + LOI_ADDITIVE" - -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ -** -** ----- remarques a supprimer une fois le bug resolu ----- -** -** -** MEME PROBLEME QUE LE TEST EN ATTENTE : Test_R_sortie_contrainte_individuelle_a_chaque_loi_a_t_1/ -** sera OK une fois resolu le probleme sur la sortie contrainte_individuelle_a_chaque_loi_a_t -** -** le .maple.ref1 ici present est celui obtenu avec la version 6.768 -** -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - ------------------------------------------------------- -Description du calcul ------------------------------------------------------- -traction uniaxiale suivant X sur un cube 1x1x1 (1 element HEXAEDRE LINEAIRE). La température initialement à 20°C évolue linéairement en fonction du temps pour atteindre 0°C à la fin du calcul - -Loi de comportement : - - loi additive en contrainte : 2 lois élastiques ISOELAS - - dilatation thermique - - -------------------------------------------------------------- -Grandeurs de comparaison -------------------------------------------------------------- -pour le point d integration 1 de l element 1 : - - contrainte totale : SIG11 - - contribution loi 1 : toutes les composantes - - contribution loi 2 : toutes les composantes - - déformations : EPS11, EPS22, EPS33 - - volume du point d intégration : VOLUME_PTI - -au noeud 8 : - - positions : X1, X2, X3 - - température : TEMP - -remarque : seuls les positions permettent de rendre compte de la dilatation thermique - (car les deformations EPS11, etc... ne representent que la partie mecanique - du tenseur des deformations) diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE.CVisu1 b/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE.CVisu1 deleted file mode 100644 index 7c55354..0000000 --- a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE.CVisu1 +++ /dev/null @@ -1,116 +0,0 @@ -############################################################################################### -# Fichier de commande pour la visualisation elements finis # -# Herezh++ V6.687 # -# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # -# http://www-lg2m.univ-ubs.fr # -############################################################################################### - - - - debut_fichier_commande_visu # >>>>>> le mot cle: - # permet au programme de se positionner au debut du fichier, il est indispensable - - - # ================================================================================= - # || ***** demande d'une visualisation maple: ***** || - # ================================================================================= - # un mot cle de debut (debut_visualisation_maple) - # un mot cle de fin ( fin_visualisation_maple) - # la seule presence de ces deux mots cle suffit a activer la visualisation maple - debut_visualisation_maple - - # ----------------------------- definition de la liste des increments a balayer: ---------------- - debut_list_increment # un mot cle de debut de liste - actif 1 # <0 ou 1> indique si l'ordre est actif ou non - # une liste d'entier separee par des blancs, ou le mot cle (tous_les_increments) - # un mot cle de fin de liste ( fin_list_increment) - dernier_increment fin_list_increment - - # ----------------------------- choix des maillages a visualiser: ---------------- - # la liste est facultative, par defaut la visualisation concerne le premier maillage - debut_choix_maillage # un mot cle de debut, - actif 0 # <0 ou 1> indique si l'ordre est actif ou non - # une liste d'entiers , puis , sur une meme ligne - 1 fin_choix_maillage - - # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- - debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), - actif 1 # <0 ou 1> indique si l'ordre est actif ou non - # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin - debut_grandeurs_globales fin_grandeurs_globales - # ensuite pour chaque maillage:, - # le numero du maillage , - # les infos pour la visualisation eventuelle des torseurs de reaction, - # les infos pour la visualisation eventuelle aux noeud, - # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) - # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses - # les infos pour la visualisation eventuelle aux elements, - # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) - # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def - # enfin un mot cle de fin ( fin_grandeurs_maple) - 1 # le numero de maillage - # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction - # une liste de nom , puis - debut_list_torseur_reaction fin_list_torseur_reaction - debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds - # debut de la liste de noeuds, puis une liste de numero de noeud , puis - deb_list_noeud 8 fin_list_noeud - # debut de la liste des ref de noeuds, puis une liste de nom , puis - deb_list_ref_noeud fin_list_ref_noeud - # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis - deb_list_ddl_noeud X1 X2 X3 TEMP fin_list_ddl_noeud - type_sortie_ddl_retenue= 0 - # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis - deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds - # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis - deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds - fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds - debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements - # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis - deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg - # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis - deb_list_ref_element fin_list_ref_element - # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis - deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element - # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis - deb_list_ddl_element EPS11 EPS22 EPS33 SIG11 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements - # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis - deb_list_GrandParticuliere_element VOLUME_PTI contrainte_individuelle_a_chaque_loi_a_t fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements - # tableau de grandeurs evoluees aux elements a visualiser, un par maillage - deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element - fin_liste_ddl_ptinteg # fin des grandeurs aux elements -# informations particuliere dans le cas ou il y a une animation -# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) -# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent -# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. - debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier -# un parametre de pilotage du style de sortie - parametre_style_de_sortie 1 -# un parametre indiquant si les tenseurs sont en absolue (rep 1) ou suivant un repere ad hoc -# (tangent pour les coques, suivant la fibre moyenne pour les element 1D ) - tenseur_en_absolue_ 0 - fin_grandeurs_maple # fin des grandeurs a visualiser au format maple - - # ----------------------------- definition des parametres d'animation: ---------------- - debut_animation # un mot cle de debut de liste (debut_animation) - actif 0 # <0 ou 1> indique si l'ordre est actif ou non - # des parametres avec des valeurs: (sur une meme ligne) - cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) - fin_animation # un mot cle de fin - - fin_visualisation_maple - # ================================================================================= - # || fin de la visualisation maple || - # ================================================================================= - - - - - - fin_fichier_commande_visu # <<<<<< le mot cle permet - # l'arret de la lecture des commandes, apres ce mot cle, aucune commande n'est lu, de plus - # sans le mot cle de fin de fichier, le fichier n'est pas valide - - ############################################################################################### - - diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE.info b/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE.info deleted file mode 100644 index 5c49208..0000000 --- a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE/dilatation_thermique_LOI_ADDITIVE.info +++ /dev/null @@ -1,91 +0,0 @@ -dimension 3 - - -niveau_commentaire 3 - - -TYPE_DE_CALCUL - -non_dynamique avec plus lectureCommandesVisu - - -< cube_1elt_npti8.her -< cube_1elt_npti8.lis - - -les_courbes_1D - - -choix_materiaux - -E_tout MAT -E_tout loi_DILATATION - -materiaux - -MAT LOI_ADDITIVE_EN_SIGMA - ISOELAS - 1000. 0.4 - - ISOELAS - 2000. 0.4 -fin_liste_lois_elementaires - - -loi_DILATATION LOI_ISO_THERMO - alphaT= 1.e-3 lambda= 1.e-10 cp= 1.e-10 - fin_thermique_isotrope - - - -masse_volumique -E_tout 1. - -dilatation_thermique -E_tout 1. - - -charges - - -blocages - -#traction uniaxiale suivant X par deplacement impose -N_droit UX -N_arriere UY -N_bas UZ -N_gauche 'UX=0.1' - -#temperature initialement a 20 passe a 0 (delta = -20) -N_tout 'TEMP= -20' - - -initialisation -N_tout 'TEMP= 20' - -controle - -DELTAtMINI 1.e-7 -DELTAtMAXI 0.1 -TEMPSFIN 1 -DELTAt 0.1 -ITERATIONS 15 -PRECISION 1e-3 -SAUVEGARDE DERNIER_CALCUL -MAXINCRE 99999999 -NORME Residu/Reaction_et_VarRes - - -para_pilotage_equi_global - - -para_syteme_lineaire - - -para_affichage - - -resultats pas_de_sortie_finale_ -COPIE 0 - -_fin_point_info_ diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.her b/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.her deleted file mode 100644 index 3bc9991..0000000 --- a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.her +++ /dev/null @@ -1,18 +0,0 @@ - nom_maillage cube_1elt_npti8 - - noeuds - 8 NOEUDS - - 1 0 0 0 - 2 0 0 1 - 3 0 1 0 - 4 0 1 1 - 5 1 0 0 - 6 1 0 1 - 7 1 1 0 - 8 1 1 1 - - elements - 1 ELEMENTS - - 1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2 diff --git a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.lis b/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.lis deleted file mode 100644 index 8224c23..0000000 --- a/Tests_en_attente_debug/Test_R_dilatation_thermique_LOI_ADDITIVE_MELANGES/cube_1elt_npti8.lis +++ /dev/null @@ -1,158 +0,0 @@ -# CORRESPONDANCE label => position -# -# gauche => X=1 -# -# droit => X=0 -# -# avant => Y=1 -# -# arriere => Y=0 -# -# haut => Z=1 -# -# bas => Z=0 -# - - N_avant 3 4 7 8 - - N_arriere 1 2 5 6 - - N_haut 2 4 6 8 - - N_bas 1 3 5 7 - - N_droit 1 2 3 4 - - N_gauche 5 6 7 8 - - N_haut_droit 2 4 - - N_haut_gauche 6 8 - - N_haut_arriere 2 6 - - N_haut_avant 4 8 - - N_bas_droit 1 3 - - N_bas_gauche 5 7 - - N_bas_arriere 1 5 - - N_bas_avant 3 7 - - N_arriere_droit 1 2 - - N_arriere_gauche 5 6 - - N_avant_droit 3 4 - - N_avant_gauche 7 8 - - N_haut_arriere_droit 2 - - N_haut_arriere_gauche 6 - - N_haut_avant_gauche 8 - - N_haut_avant_droit 4 - - N_bas_arriere_droit 1 - - N_bas_arriere_gauche 5 - - N_bas_avant_gauche 7 - - N_bas_avant_droit 3 - - N_to 1 2 3 4 5 6 7 8 - - E_avant 1 - - E_derriere 1 - - E_haut 1 - - E_bas 1 - - E_droit 1 - - E_gauche 1 - - E_haut_droit 1 - - E_haut_gauche 1 - - E_haut_arriere 1 - - E_haut_avant 1 - - E_bas_droit 1 - - E_bas_gauche 1 - - E_bas_arriere 1 - - E_bas_avant 1 - - E_arriere_droit 1 - - E_arriere_gauche 1 - - E_avant_droit 1 - - E_avant_gauche 1 - - E_haut_arriere_droit 1 - - E_haut_arriere_gauche 1 - - E_haut_avant_gauche 1 - - E_haut_avant_droit 1 - - E_bas_arriere_droit 1 - - E_bas_arriere_gauche 1 - - E_bas_avant_gauche 1 - - E_bas_avant_droit 1 - - E_to 1 - - F_avant 1 5 - - F_arriere 1 2 - - F_haut 1 4 - - F_bas 1 1 - - F_droit 1 6 - - F_gauche 1 3 - - A_haut_droit 1 11 - - A_haut_gauche 1 9 - - A_haut_arriere 1 12 - - A_haut_avant 1 10 - - A_bas_droit 1 3 - - A_bas_gauche 1 1 - - A_bas_arriere 1 4 - - A_bas_avant 1 2 - - A_arriere_droit 1 8 - - A_arriere_gauche 1 5 - - A_avant_droit 1 7 - - A_avant_gauche 1 6 diff --git a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/README b/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/README deleted file mode 100755 index 2ae9872..0000000 --- a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/README +++ /dev/null @@ -1,54 +0,0 @@ ------------------------------------------------------- -Auteur ------------------------------------------------------- -Julien Troufflard (troufflard@univ-ubs.fr) - - ------------------------------------------------------- -Mots-cles ------------------------------------------------------- -Traction biaxiale -BLOQUAGE_RELATIF_ -TEMPS_MINI - - ------------------------------------------------------- -But du test ------------------------------------------------------- -Vérification du fonctionnement de la combinaison BLOQUAGE_RELATIF_ + TEMPS_MINI dans une condition de déplacement imposé - -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ -** -** ----- remarques a supprimer une fois le bug resolu ----- -** -** ce calcul tourne avec la version 6.726 -** il ne tourne pas avec la version 6.727 -** -** selon redmine, la version 6.727 correspond aux modifs suivantes : -** <<< introduction des chargements en champs de valeurs >>> -** -** -** le .maple.ref1 ici present est celui obtenu avec la version 6.726 -** -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ -** @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ - - ------------------------------------------------------- -Description du calcul ------------------------------------------------------- -Calcul de traction biaxiale sur un cube unitaire. - -La gestion du chargement se fait via des courbes de charge : -1) Entre le temps 0 et 1, c est de la traction uniaxiale classique selon X car la condition sur UY de la face Y=1 est inactive jusqu au temps 1 inclus (TEMPS_MINI= 1). - -2) Entre le temps 1 et 2, la courbe dpl_UX permet de figer la face X=1 dans sa position actuelle (X=1.02). La condition sur la face Y=1 devient active, c'est-à-dire un déplacement UY=0.02 (piloté par la courbe dpl_UY_relatif) depuis la position atteinte au temps 1 (BLOQUAGE_RELATIF_). - - -------------------------------------------------------------- -Grandeurs de comparaison -------------------------------------------------------------- -les positions finales du noeud 8 : X1, X2, X3 - -contraintes au point d intégration 1 : SIG11, SIG22, SIG33 diff --git a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/cube_1elt_npti8.her b/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/cube_1elt_npti8.her deleted file mode 100644 index 3bc9991..0000000 --- a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/cube_1elt_npti8.her +++ /dev/null @@ -1,18 +0,0 @@ - nom_maillage cube_1elt_npti8 - - noeuds - 8 NOEUDS - - 1 0 0 0 - 2 0 0 1 - 3 0 1 0 - 4 0 1 1 - 5 1 0 0 - 6 1 0 1 - 7 1 1 0 - 8 1 1 1 - - elements - 1 ELEMENTS - - 1 HEXAEDRE LINEAIRE 5 7 3 1 6 8 4 2 diff --git a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/cube_1elt_npti8.lis b/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/cube_1elt_npti8.lis deleted file mode 100644 index 8224c23..0000000 --- a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/cube_1elt_npti8.lis +++ /dev/null @@ -1,158 +0,0 @@ -# CORRESPONDANCE label => position -# -# gauche => X=1 -# -# droit => X=0 -# -# avant => Y=1 -# -# arriere => Y=0 -# -# haut => Z=1 -# -# bas => Z=0 -# - - N_avant 3 4 7 8 - - N_arriere 1 2 5 6 - - N_haut 2 4 6 8 - - N_bas 1 3 5 7 - - N_droit 1 2 3 4 - - N_gauche 5 6 7 8 - - N_haut_droit 2 4 - - N_haut_gauche 6 8 - - N_haut_arriere 2 6 - - N_haut_avant 4 8 - - N_bas_droit 1 3 - - N_bas_gauche 5 7 - - N_bas_arriere 1 5 - - N_bas_avant 3 7 - - N_arriere_droit 1 2 - - N_arriere_gauche 5 6 - - N_avant_droit 3 4 - - N_avant_gauche 7 8 - - N_haut_arriere_droit 2 - - N_haut_arriere_gauche 6 - - N_haut_avant_gauche 8 - - N_haut_avant_droit 4 - - N_bas_arriere_droit 1 - - N_bas_arriere_gauche 5 - - N_bas_avant_gauche 7 - - N_bas_avant_droit 3 - - N_to 1 2 3 4 5 6 7 8 - - E_avant 1 - - E_derriere 1 - - E_haut 1 - - E_bas 1 - - E_droit 1 - - E_gauche 1 - - E_haut_droit 1 - - E_haut_gauche 1 - - E_haut_arriere 1 - - E_haut_avant 1 - - E_bas_droit 1 - - E_bas_gauche 1 - - E_bas_arriere 1 - - E_bas_avant 1 - - E_arriere_droit 1 - - E_arriere_gauche 1 - - E_avant_droit 1 - - E_avant_gauche 1 - - E_haut_arriere_droit 1 - - E_haut_arriere_gauche 1 - - E_haut_avant_gauche 1 - - E_haut_avant_droit 1 - - E_bas_arriere_droit 1 - - E_bas_arriere_gauche 1 - - E_bas_avant_gauche 1 - - E_bas_avant_droit 1 - - E_to 1 - - F_avant 1 5 - - F_arriere 1 2 - - F_haut 1 4 - - F_bas 1 1 - - F_droit 1 6 - - F_gauche 1 3 - - A_haut_droit 1 11 - - A_haut_gauche 1 9 - - A_haut_arriere 1 12 - - A_haut_avant 1 10 - - A_bas_droit 1 3 - - A_bas_gauche 1 1 - - A_bas_arriere 1 4 - - A_bas_avant 1 2 - - A_arriere_droit 1 8 - - A_arriere_gauche 1 5 - - A_avant_droit 1 7 - - A_avant_gauche 1 6 diff --git a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1.CVisu1 b/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1.CVisu1 deleted file mode 100644 index 234d327..0000000 --- a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1.CVisu1 +++ /dev/null @@ -1,116 +0,0 @@ -############################################################################################### -# Fichier de commande pour la visualisation elements finis # -# Herezh++ V6.687 # -# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # -# http://www-lg2m.univ-ubs.fr # -############################################################################################### - - - - debut_fichier_commande_visu # >>>>>> le mot cle: - # permet au programme de se positionner au debut du fichier, il est indispensable - - - # ================================================================================= - # || ***** demande d'une visualisation maple: ***** || - # ================================================================================= - # un mot cle de debut (debut_visualisation_maple) - # un mot cle de fin ( fin_visualisation_maple) - # la seule presence de ces deux mots cle suffit a activer la visualisation maple - debut_visualisation_maple - - # ----------------------------- definition de la liste des increments a balayer: ---------------- - debut_list_increment # un mot cle de debut de liste - actif 1 # <0 ou 1> indique si l'ordre est actif ou non - # une liste d'entier separee par des blancs, ou le mot cle (tous_les_increments) - # un mot cle de fin de liste ( fin_list_increment) - dernier_increment fin_list_increment - - # ----------------------------- choix des maillages a visualiser: ---------------- - # la liste est facultative, par defaut la visualisation concerne le premier maillage - debut_choix_maillage # un mot cle de debut, - actif 0 # <0 ou 1> indique si l'ordre est actif ou non - # une liste d'entiers , puis , sur une meme ligne - 1 fin_choix_maillage - - # ----------------------------- definition des grandeurs a visualiser (maple): ---------------- - debut_grandeurs_maple # un mot cle de debut (debut_grandeurs_maple), - actif 1 # <0 ou 1> indique si l'ordre est actif ou non - # les grandeurs globales (energie, puissance ....) un mot cle de debut, le nom des grandeurs puis un mot de fin - debut_grandeurs_globales fin_grandeurs_globales - # ensuite pour chaque maillage:, - # le numero du maillage , - # les infos pour la visualisation eventuelle des torseurs de reaction, - # les infos pour la visualisation eventuelle aux noeud, - # - tout d'abord les ddl principaux (position, deplacements, temperature etc.) - # - puis les ddl etendus et particulieres qui peuvent representer des grandeurs diverses - # les infos pour la visualisation eventuelle aux elements, - # - tout d'abord les grandeurs generiques (deformations, contraintes etc.) - # - puis les grandeurs particulieres, par exemple specifique a une loi de comp ou une mesure de def - # enfin un mot cle de fin ( fin_grandeurs_maple) - 1 # le numero de maillage - # les torseurs de reaction: un mot cle de debut: debut_list_torseur_reaction - # une liste de nom , puis - debut_list_torseur_reaction fin_list_torseur_reaction - debut_liste_ddl_et_noeud # ** debut des ddl principaux aux noeuds - # debut de la liste de noeuds, puis une liste de numero de noeud , puis - deb_list_noeud fin_list_noeud - # debut de la liste des ref de noeuds, puis une liste de nom , puis - deb_list_ref_noeud N_haut_avant_gauche fin_list_ref_noeud - # debut de la liste des ddl a considerer aux noeuds, (une liste de ddl), puis - deb_list_ddl_noeud X1 X2 X3 fin_list_ddl_noeud - type_sortie_ddl_retenue= 0 - # debut de la liste des ddl etendus a considerer aux noeuds, (une liste de ddl), puis - deb_list_ddl_etendu_noeud fin_list_ddl_etendu_noeud # fin des ddl etendu aux noeuds - # debut de la liste des grandeurs particulieres a considerer aux noeuds, (une liste de string), puis - deb_list_GrandParticuliere_noeud fin_list_GrandParticuliere_noeud # fin des grandeurs particulieres aux noeuds - fin_liste_ddl_et_noeud # fin des grandeurs aux noeuds - debut_liste_ddl_ptinteg # ** debut des grandeurs aux elements - # debut de la liste des elements et points d'integration, une liste de (un element, un numero de pt d'integ), puis - deb_list_NbElement_NbPtInteg 1 1 fin_list_NbElement_NbPtInteg - # debut de la liste des ref d'elements, puis une liste de: nom + numero d'integ, puis - deb_list_ref_element fin_list_ref_element - # debut de la liste des ref de ptinteg d'elements, puis une liste de: nom puis - deb_list_ref_ptinteg_element fin_list_ref_ptinteg_element - # debut de la liste des ddl a considerer pour les elements, (une liste de ddl), puis - deb_list_ddl_element SIG11 SIG22 SIG33 fin_list_ddl_element # fin de la liste de ddl a considerer pour les elements - # debut de la liste des grandeurs particulieres a considerer pour les elements, (une liste de string), puis - deb_list_GrandParticuliere_element fin_list_GrandParticuliere_element # fin des grandeurs particulieres aux elements - # tableau de grandeurs evoluees aux elements a visualiser, un par maillage - deb_list_GrandEvoluee_element fin_list_GrandEvoluee_element - fin_liste_ddl_ptinteg # fin des grandeurs aux elements -# informations particuliere dans le cas ou il y a une animation -# type_xi indique si oui ou non les grandeurs a tracer sont aux noeuds (sinon c'est au elements) -# x1 et x2 indiquent les noms des ddls des grandeurs en x et y. accroi_x1 et accroi_x2 indiquent -# si oui ou non x1 et x2 represente l'accroissement entre 0 et t de la grandeur ou bien la grandeur elle meme. - debut_info_particulier grandeur_au_noeud? 1 x1= NU_DDL x2= NU_DDL accroi_x1= 0 accroi_x2= 1 fin_info_particulier -# un parametre de pilotage du style de sortie - parametre_style_de_sortie 1 -# un parametre indiquant si les tenseurs sont en absolue (rep 1) ou suivant un repere ad hoc -# (tangent pour les coques, suivant la fibre moyenne pour les element 1D ) - tenseur_en_absolue_ 0 - fin_grandeurs_maple # fin des grandeurs a visualiser au format maple - - # ----------------------------- definition des parametres d'animation: ---------------- - debut_animation # un mot cle de debut de liste (debut_animation) - actif 0 # <0 ou 1> indique si l'ordre est actif ou non - # des parametres avec des valeurs: (sur une meme ligne) - cycleInterval 8 # cycleInterval (indique le temps en seconde du cycle de l'animation) - fin_animation # un mot cle de fin - - fin_visualisation_maple - # ================================================================================= - # || fin de la visualisation maple || - # ================================================================================= - - - - - - fin_fichier_commande_visu # <<<<<< le mot cle permet - # l'arret de la lecture des commandes, apres ce mot cle, aucune commande n'est lu, de plus - # sans le mot cle de fin de fichier, le fichier n'est pas valide - - ############################################################################################### - - diff --git a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1.info b/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1.info deleted file mode 100644 index 35c2e9c..0000000 --- a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1.info +++ /dev/null @@ -1,83 +0,0 @@ -dimension 3 - - -niveau_commentaire 3 - - -TYPE_DE_CALCUL -non_dynamique avec plus lectureCommandesVisu - - -< cube_1elt_npti8.her -< cube_1elt_npti8.lis - - -les_courbes_1D - - dpl_UX COURBEPOLYLINEAIRE_1_D - Debut_des_coordonnees_des_points - Coordonnee dim= 2 0. 0. - Coordonnee dim= 2 1. 0.02 - Coordonnee dim= 2 2. 0.02 - Fin_des_coordonnees_des_points - - dpl_UY_relatif COURBEPOLYLINEAIRE_1_D - Debut_des_coordonnees_des_points - Coordonnee dim= 2 0. 0. - Coordonnee dim= 2 1. 0. - Coordonnee dim= 2 2. 0.02 - Fin_des_coordonnees_des_points - - - -choix_materiaux -E_tout MAT - - -materiaux -MAT ISOELAS -210000. 0.3 - - -masse_volumique -E_tout 1. - - -charges - - -blocages - -N_droit UX -N_arriere UY -N_bas UZ -N_gauche 'UX= COURBE_CHARGE: dpl_UX ECHELLE: 1.' -N_avant 'UY= COURBE_CHARGE: dpl_UY_relatif ECHELLE: 1.' TEMPS_MINI= 1. BLOQUAGE_RELATIF_ - - - -controle - -DELTAtMINI 1.e-7 -DELTAtMAXI 0.1 -TEMPSFIN 2. -DELTAt 0.1 -ITERATIONS 15 -PRECISION 1e-3 -SAUVEGARDE DERNIER_CALCUL -MAXINCRE 9999999 -NORME Residu/Reaction_et_VarRes - - -para_pilotage_equi_global - -para_syteme_lineaire - -para_affichage - - - -resultats pas_de_sortie_finale_ -COPIE 0 - -_fin_point_info_ diff --git a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1_princ.maple.ref1 b/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1_princ.maple.ref1 deleted file mode 100644 index aa66839..0000000 --- a/Tests_en_attente_debug/Test_R_traction_biaxiale_BLOCAGE_RELATIF_1/traction_biaxale_BLOCAGE_RELATIF_1_princ.maple.ref1 +++ /dev/null @@ -1,99 +0,0 @@ -#fichier au format maple6 -############################################################################################### -# Visualisation elements finis : Herezh++ V6.726 # -# Copyright (c) 1997-2015, Gerard Rio (gerard.rio@univ-ubs.fr) http://kleger.univ-ubs.fr/Herezh/ # -# http://www-lg2m.univ-ubs.fr # -############################################################################################### - - - - # entete des donnees : informations gererales: on trouve successivement: - # >> le nombre de grandeurs globales (peut etre nul) suivi des identificateurs - # precedes du numero de colonne entre crochet - # >> le nombre de maillages m, et dimension de l'espace de travail - # puis pour chaque maillage, - # >> le nombre de torseurs de reaction (peut etre nul), le nombre total de reel qui va etre ecrit - # correspondant aux composantes des torseurs, puis les noms de ref associee suivi des positions - # des composantes entre crochet accolees a un identificateur: R pour reaction, M pour moment - # puis pour chaque maillage - # >> le nombre de noeud n (peut etre nul) ou il y a des grandeurs en sortie , - # puis le nombre des grandeurs p1 correspondantes, la position entre crochet des coordonnees - # et enfin l'idendificateur de ces grandeurs(p1 chaines de caractere) - # precedes du numero de colonne correspondant entre crochet - # puis pour chaque maillage - # >> le nombre de couples element-pt_integ (peut etre nulle) ou il y a des grandeurs en sortie , - # les grandeurs aux elements sont decomposees en 2 listes: la premiere de quantite P2 correspondant - # a des grandeurs generiques, la seconde de quantite P3 corresponds aux grandeurs specifiques, - # on trouve donc a la suite du nombre d'element: le nombre P2, suivi de P2 identificateurs de ddl - # chacun precedes du numero de colonne entre crochet - # puis le nombre P3, suivi de P3 identificateurs+categorie+type (chaines de caracteres), - # suivi entre crochet, de la plage des numeros de colonnes, correspondant - # chacun sur une ligne differentes - # ==== NB: pour les grandeurs specifique tensorielle: exemple d'ordre en 2D: - # tenseur symetrique, A(1,1) A(2,1) A(2,2), non symetrique A(1,1) A(1,2) A(2,1) A(2,2) - # en 3D c'est: tenseur symetrique, A(1,1) A(2,1) A(2,2) A(3,1) A(3,2) A(3,3) - # non symetrique A(1,1) A(1,2) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) - # ** dans le cas ou il n'y a qu'un seul increment en sortie, pour les grandeurs aux noeuds et aux elements, - # ** les informations peuvent etre decoupees selon: une ligne = un noeud, et le temps n'est pas indique - # ** ( cf: parametre_style_de_sortie = 0) - -#==================================================================== -#|| recapitulatif des differentes grandeurs par colonne || -#==================================================================== -#---------------------------------- grandeur globales ------------------------------------ -#0 (nombre de grandeurs globales) -#---------------------------------- maillage et dimension -------------------------------- -#1 3 (nombre de maillages et dimension) -#---------------------------------- torseurs de reactions -------------------------------- -#0 0 (nombre de torseurs et nombre total de grandeurs associees) -# -#---------------------------------- grandeurs aux noeuds -------------------------------- -#1 3 (nombre de noeuds, nombre total de grandeurs associees) -# reference N_haut_avant_gauche : noeud_8 [2]X [3]Y [4]Z [5]X1 [6]X2 [7]X3 ; -# -#---------------------------------- grandeurs aux elements ------------------------------ -#1 3 00 (nombre total d'elements, nombre totale de grandeurs associees, nombre de grandeurs particulieres, nombre de grandeurs tensorielles) -# element_1 pt_integ_1: [9]X [10]Y [11]Z [12] SIG11 [13] SIG22 [14] SIG33 -# -# -#==================================================================== -#|| fin du recapitulatif des differentes grandeurs || -#==================================================================== - - # ensuite les donnees sont organisees sur differentes lignes, chaques lignes correspondant - # a un calcul (par exemple un pas de temps), sur chaque ligne il y a m enregistrement, chacun - # correspondant a un maillage. On trouve pour chaque enregistrement successivement : - # s'il y a des grandeurs globales: le temps puis les grandeurs globales, - # puis s'il y a des torseurs de reaction : - # de nouveau le temps, les composantes de la resultante puis les composantes du moments - # donc en 1D -> 1 reels (resultante), en 2D -> 3 reels (resultante 2, moment 1) et en 3D 6 reels - # puis s'il y a des grandeurs aux noeuds: de nouveau le temps - # les coordonnees a t du premier noeud suivi des p1 grandeurs correspondant au premier noeud - # puis les coordonnees du second noeud, les p1 grandeurs etc. pour tous les noeuds - # puis s'il y a des grandeur aux elements: - # le temps, puis les coordonnees a t du point d'integration d'un element (pour les grandeurs generiques) - # suivi des p2 grandeurs correspondantes puis les coordonnees a t du point d'integration - # correspondant aux grandeurs specifiques suivi des p3 grandeurs correspondantes - # puis les coordonnees d'un second point d'integration d'un element, les p2 grandeurs - # etc. pour tous les points d'integration - element - - 1.000000000000e-01 1.002000000000e+00 9.994021528470e-01 9.994021528470e-01 1.002000000000e+00 9.994021528470e-01 9.994021528470e-01 1.000000000000e-01 2.117475151360e-01 7.882036274110e-01 7.882036274110e-01 4.186999968413e+02 -7.225796468299e-02 -7.225796473688e-02 -2.000000000000e-01 1.004000000000e+00 9.988092918389e-01 9.988092918389e-01 1.004000000000e+00 9.988092918389e-01 9.988092918389e-01 2.000000000000e-01 2.121701648668e-01 7.877360526756e-01 7.877360526756e-01 8.349867432157e+02 -5.044148934985e-06 -5.044148849720e-06 -3.000000000000e-01 1.006000000000e+00 9.982208308086e-01 9.982208308086e-01 1.006000000000e+00 9.982208308086e-01 9.982208308086e-01 3.000000000000e-01 2.125928145976e-01 7.872719480933e-01 7.872719480934e-01 1.248750042103e+03 -3.937182839309e-06 -3.937164706258e-06 -4.000000000000e-01 1.008000000000e+00 9.976368986747e-01 9.976368986747e-01 1.008000000000e+00 9.976368986747e-01 9.976368986747e-01 4.000000000000e-01 2.130154643284e-01 7.868114153390e-01 7.868114153390e-01 1.660052907544e+03 -4.181044289453e-06 -4.181062195130e-06 -5.000000000000e-01 1.010000000000e+00 9.970529665408e-01 9.970529665408e-01 1.010000000000e+00 9.970529665408e-01 9.970529665408e-01 5.000000000000e-01 2.134381140592e-01 7.863508825847e-01 7.863508825847e-01 2.067819639942e+03 -1.825287218956e+00 -1.825287218992e+00 -6.000000000000e-01 1.012000000000e+00 9.964824258645e-01 9.964824258645e-01 1.012000000000e+00 9.964824258645e-01 9.964824258645e-01 6.000000000000e-01 2.138607637900e-01 7.859009113400e-01 7.859009113400e-01 2.475355006163e+03 -3.672612228911e-05 -3.672615832784e-05 -7.000000000000e-01 1.014000000000e+00 9.959118851882e-01 9.959118851882e-01 1.014000000000e+00 9.959118851882e-01 9.959118851882e-01 7.000000000000e-01 2.142834135209e-01 7.854509400953e-01 7.854509400953e-01 2.879416119725e+03 3.912457109516e-02 3.912457105901e-02 -8.000000000000e-01 1.016000000000e+00 9.953413445119e-01 9.953413445119e-01 1.016000000000e+00 9.953413445119e-01 9.953413445119e-01 8.000000000000e-01 2.147060632517e-01 7.850009688507e-01 7.850009688507e-01 3.280027871816e+03 -1.697817128008e+00 -1.697817128045e+00 -9.000000000000e-01 1.018000000000e+00 9.947834816473e-01 9.947834816473e-01 1.018000000000e+00 9.947834816473e-01 9.947834816473e-01 9.000000000000e-01 2.151287129825e-01 7.845609962809e-01 7.845609962809e-01 3.680335473648e+03 -3.314144657907e-05 -3.314146454159e-05 -1.000000000000e+00 1.020000000000e+00 9.942256187827e-01 9.942256187827e-01 1.020000000000e+00 9.942256187827e-01 9.942256187827e-01 1.000000000000e+00 2.155513627133e-01 7.841210237110e-01 7.841210237110e-01 4.077253376881e+03 -4.098855042264e-02 -4.098855042230e-02 -1.100000000000e+00 1.020000000000e+00 9.962256187827e-01 9.933721658728e-01 1.020000000000e+00 9.962256187827e-01 9.933721658728e-01 1.100000000000e+00 2.155513627133e-01 7.856983739802e-01 7.834479266224e-01 4.217718765379e+03 4.681740028296e+02 -3.801827027837e-02 -1.200000000000e+00 1.020000000000e+00 9.982256187827e-01 9.925187129629e-01 1.020000000000e+00 9.982256187827e-01 9.925187129629e-01 1.200000000000e+00 2.155513627133e-01 7.872757242494e-01 7.827748295338e-01 4.356436264079e+03 9.326730854311e+02 -2.145438539390e+00 -1.300000000000e+00 1.020000000000e+00 1.000225618783e+00 9.916871782055e-01 1.020000000000e+00 1.000225618783e+00 9.916871782055e-01 1.300000000000e+00 2.155513627133e-01 7.888530745186e-01 7.821190187472e-01 4.496139628797e+03 1.396205739923e+03 -2.106395879764e-04 -1.400000000000e+00 1.020000000000e+00 1.002225618783e+00 9.908556434481e-01 1.020000000000e+00 1.002225618783e+00 9.908556434481e-01 1.400000000000e+00 2.155513627133e-01 7.904304247878e-01 7.814632079605e-01 4.634130600036e+03 1.856089274920e+03 8.615849624653e-02 -1.500000000000e+00 1.020000000000e+00 1.004225618783e+00 9.900241086907e-01 1.020000000000e+00 1.004225618783e+00 9.900241086907e-01 1.500000000000e+00 2.155513627133e-01 7.920077750570e-01 7.808073971738e-01 4.770419864359e+03 2.312349790221e+03 -1.876809064328e+00 -1.600000000000e+00 1.020000000000e+00 1.006225618783e+00 9.892127058348e-01 1.020000000000e+00 1.006225618783e+00 9.892127058348e-01 1.600000000000e+00 2.155513627133e-01 7.935851253262e-01 7.801674639172e-01 4.907537790639e+03 2.767532914915e+03 -1.794898118987e-04 -1.700000000000e+00 1.020000000000e+00 1.008225618783e+00 9.884013029789e-01 1.020000000000e+00 1.008225618783e+00 9.884013029789e-01 1.700000000000e+00 2.155513627133e-01 7.951624755954e-01 7.795275306606e-01 5.042987605215e+03 3.219156984343e+03 -1.248669994093e-01 -1.800000000000e+00 1.020000000000e+00 1.010225618783e+00 9.875899001230e-01 1.020000000000e+00 1.010225618783e+00 9.875899001230e-01 1.800000000000e+00 2.155513627133e-01 7.967398258646e-01 7.788875974040e-01 5.176779706159e+03 3.667247356173e+03 -2.241569013894e+00 -1.900000000000e+00 1.020000000000e+00 1.012225618783e+00 9.868000503675e-01 1.020000000000e+00 1.012225618783e+00 9.868000503675e-01 1.900000000000e+00 2.155513627133e-01 7.983171761337e-01 7.782646625417e-01 5.311641903360e+03 4.114546652242e+03 -2.077463709611e-04 -2.000000000000e+00 1.020000000000e+00 1.014225618783e+00 9.860102006119e-01 1.020000000000e+00 1.014225618783e+00 9.860102006119e-01 2.000000000000e+00 2.155513627133e-01 7.998945264029e-01 7.776417276794e-01 5.444880092637e+03 4.558375434422e+03 2.983076643923e-01 diff --git a/catalogue_tests.pdf b/catalogue_tests.pdf index 913b1ec2a2f1e68d86c0a6ada7cda389ed0fc2cf..da9da425474e7d18e2b60211f519fd49d8308c90 100644 GIT binary patch delta 51891 zcmZsCV{|56({60rw(VqM+qUgwqC2*2Pi)(ECbl)Pot$~z=X~Gck6v9>tE=kjz1P}( zt*YvqVw9666e@B>QE_@^26hGkXhHOCnY#ZuT^# zO%SRCMRY*&{9uBmf^#;VHU<4Xp0ui@^~mcxH5=i=Da3Gzs@-@aG zffPVuSIw`iK8(j;gbe~a15VNj($2I_i1*<}q+Sw?LdPc;1F(#q5ZEE`c}ubo`H1T^ z&6c`u_(n76o+euWxha)$ce^>Cz~5)4nl4TXp*K_CWK5tFXzm31T+pFrnd~|Wd54haL55$BoOO9NOA8@09f(x3j;-<^GtAgW?6kpX5>f~GA zEdu;aa0etcg|Oq?8SWaS+>wQO49p%mg|M*&%*Ky;g7aYxz81e$h!~?G@6EDEZ z!N&$yUbM3POa`zBs2w`$@8LNIdB#{Tz2fg01Bo;gu@Q3Uj$|s9548{7_tNfNwVX_fv?K2(~2v$L&0?^9-)S_m@t#&*lrxM&}NLX6M;R%@89{x z0wl?CO4o@voDkjq$3~&kX!&ZQ5KlxId7%1K_Y)@-IR_yS`$Gt~L% zqhffM^s|I9Xgh33y9udlMoN%CT<#QT{geBcprvdbY!XvlhHiFdXYH}JB~OuiL0}U$ zGg?Gft~ZvPEetn*FU7F6LSfEgptN*)FLL9XSJ%LD0R27YTZ*kuXHqXH4xpFdZjY|F zQ_5UKIx!xWJnAMTeA83l69=WBcO|12Pu_yF$cI5$AMZDm3=3Aod&S5W70%TBJ6Ku2 zuHu3rj_z%AICGI;C!QD1%2jUK`rL(m#x8@soE$|Td(@zm zr_l%)k0?pc2R0?t1RDmDfQ3rS$c_F~Q62hr2S%;!#@kyyZ+o8w8X zJA-9Gx=@_Kx~4k?2N5-q9%4Pf931(;qiHpG!;dW0(HI!q+uBsboaOiTEoH3MN}?c* zk5EPiA6b~CUb2{8EC8XwM7!bmGtQznhkroGmwS^(9XbQw3ER*N5-r8xt%v46~-99>st>{kT$vg z?!y9JnjstRD1Dr{jiTXJRCT9c8 zcp(GN3xx{D+Q_V>L-_JQiZLLv9L?}pD6qnR4Lu0{PgtW_oFvW6ldLC+Wi-Q}kO`RH zHPTOC;z#=>0f3TGE~c-qT1fc_4Cr8XL3u5N&PbECA-XkU2(sb^Rh8_eQ;1T24Z6Cx zT|N`cY4gCuT=$N=wT0UsNPBzgA@XOml@eW2R}&{_Ll{f#jzD^#C2PfB&q$cS%`t5g ziv*aM;D5Ar%@!f{3;p$@D&hEF+5tb^6aJhxMc102v;+F~s8n(BK?$FCo@e7koVR%i zA9@Fke56AR+hUr!tT9z!yFjW zTs0|d(*TqH)Z}W8IOxt+MJOoyU}XwVcPFRqZ~o?=mLuHLQ-N+`d$hT0NpYo=C(sFk zk|37;7CLO>jUSDzYP6#D>__b+^iJIVoTKEqD^L+ z*J&s=w>!v)+UCtNcIEYyfok2br!N@vP=Fj|Z;+f=L&EhkACOO&t{uJ0zV4I4ve5uuTrUd#mbm@1; z5TB`uMOkI*8wD|OJH%D!xnnuZHqSk3fY6thPoBK##GVVKgT!FGKAKOeByYeP?+=3F zZGitsv;mAr(1q)5g&AM8FE0_LoWtDcLALbdM;mCF969Uw3z2 z%<;XeQ~#c;j9Ac>SUrTq>7<+kSJn*XD}dxt9CwC41G|4By;irR^&^)eiKT>=FLM9EXt`GjSeQTF9hO|y37!TTtDpgHN zK~jn@HV21;r6MpU@|E%8_U-NX?x9KV*K!l!41SOks*3EskU*2&-mLGlG2Dnc8GvGo zy=Cos-WGh#CCXf z^het&l;DasZ4d#afoK1NAhZNX1;FW`>}5_p0s0x=op*I>7*QN8R!Pm^U15FCyTTK*)T6zcT9Etimv>STun1$ES{dAfM@IcRs88RxLF)0$340lZ zj4afPXI1gq*F(()AK}k1(L2{5#?kp7V7wzPHEKIVMI!zp*yam3%F*}-=0qB z`kF%103<~BzwNtsS|S~E?!D|B?1`MV$YXZ&aihG<>FgTc@VVvgXDntyD3KP{r)VL% ze6cHB_3!D)9?-$Jg%!3^gXGDgt|U;^I6anTm=5DNx}VU|B1dwvHAZ`LyEFu5Xwot5 zn{I-_o41*TYG6cZ*EX;*0=gTdBjQq5^rb^a>_|bt$08VNP*Dhz?V2Z%FZ^g}fjb{3 zv?(|NSd^G5(R5wEgob~KafchFjoK|Zl?N3rUtvkNkby!?<5G+e?)YXbzj1JV?B2>W ziu)S;Fb^G(BO=LuLe)#gv@LgMoCs=zCUX-8-`u|m2-fmknsh;D1q|+*^^7fa3y++A zzjHR_3q^H8P1Ca1+HQUjIc|f``?>^rA8&L!AkbVQie)dM=lHmzdZeh;pujUKd!aN; zVn84#ePa1D%KymD`FJB%djN%t#Gf_|+X(E}pwL_i zpdapd0y7V9=ci?91GpE^&vmwwT_d=%SDuI8onr?V0}2Y_Kpq~a!d}levyfy`vvhMu zHusURq$8S%+Sq`KCm)3q66-5+cuu-Kabv@D6E0h!D}<=kCvqyX7K*anB;Om*7bYQU z8q%R}8*3BUM|OZA_PQxKNrFY@;Zcd$P&Y^<&|ibCRCwU&#ytX1H@u}nTPU;e4k-|u z(OBsN_E}#U;l;S)lSJSofZ5abz<_B0ntBc!To}G9wYvvXAkD)L&Ps5*%l0N!_w_AF zIYKRn(p3}#Jj&vUkY^un{2IpVWU}HjME-j+Qj6_r&zmBVs&rF#R1_)F!REhlDezPhS%KjYnfjZO;eI5Q$l{ojb!Y+1vyExY zQj2gcmTgMVTv+6i&1d#AOma*84Yx~VN&VT_{R7$kMcJt5*h%(**r=j_JRuGWZgDNJ0*}5yX)UQJg5#kT*l`GAl_lDLNl2D2 z`a^&UldxlvCdxVlKoo=&&leh5rHg{Igg6xykiln<-9nE71(ORZl2jE)2)cU)VWG!1 zKp6*%q~k3TsfcpK^AiUVWS}&VWU`9`NA|T!b4eyXgdG+LX@Mvy-!K4TERhT{HAfw} zHzld58!_M^G4o|;m}dLaR7EQaP@KcDqowFik>lBKA!myBRJ{Z_B5?#cMAGb9V!R_|B9H@Gc7WB6!$N>F4r`3qu9@wLKw=CXk#6 z*sZ8lY1CGbW4&a_6}ADr76<6KfSP4=T!l3SIlnawHSYZ%jRt;Fe%dE;8+AOL^c+9$ zT{gWvZa+i9YCkYV>9oezeyo|zn-05Y?HrnUydM|~9dp!1S*v{XOhPJ(1=IMiFKev? z*z2LK=_S~?SOYZi0NFmdZu}Ne<6d78nLd4C(LQ680`{$18DW4M$UarD5-NDLHIUdV zB5fA4xUN@qb58F=A&I&-<_oc9q$yCutPdNt9aBtS>r87{6v(dhv8aHw9gnq=nTbk* zGRul{hg}8xiZ_~Bob98d;IC^Hj@@B#eY!5Z4|iwTv|T&$68uwICcWUZT*Cp-X56V`3PT zeKGYF{I_vuXEr^?H}qrI=KWe|y&)E~+3}mfvwef^p~|cc9*4}nhsRbqJ$CxGZIeA8 z^CL1X`$&M@viWoKg8s?l^k)aM^iP(YnU(v-0x$G>-4LIYpc*_T4FccX>d@?AYYb~f ziv>UZofU;DXCWGc8TIq=hCI&_5v=-naOn2(KP_Y4+A^xLN-e(qsagAR#*IZ*4LUuY z3@ch#qb)Q&J9f_*ucCA=Mue{p?qb((Ei`Yl4TXRYZTS9?0SvMWePApU7#Bx(q#6e^V$tPlR z!-PlH@fM-lJlc_>D2;kJNyuFKz@0N9l=Sw}>q^(m@zR`-m{dJx**?mEc6&}4$6Z%L}lPof2N^b9fRhMRsx`; z|ISdXjztr_3Sk+{CdjQHf{)n4)XsLP=OV|_~s9Mr3lQrCS_RkFB#Uayp)o^ zWkv`qypmS*%oi9Bf^L02ZnHfwhlb52XR7hI$CP0C3kMmB#1UefU0(u=KNMCC@~XO| zkaEqTN7+iZVvQ}7jcx4E0~1MY7VnjYC^;OkBk%l@_h}V>orTX-xc;dR?ATKr+6dcc zQn2J9W`i0gVskVdcBHzy6k&EhRD4!mMb6=&NsCQp8Z0PlMHG{vE6SESmvCh&k0yBK zf0=(y_#h065co{$e?C2BQXSWyrW}aKVjUf1&Y7L)Me^oou&k z3A8L^*rV?JCg7`2v>r)SnY3T+&1rkSu*ho%BlUp3?$)tt`N=i zywMAig;l6wVuSnV1$rXoRdsyjV=k;=Bu#egqHTX<7 z6^YXc3;_^1kb}|rMlMztE5F5;zFWn&S?R=6O-S{JcXBK4f56E zXwEg|PTyDhg%6)Zl7B`b*v-JDd8t$qPj@{edm+00 zp@m7QA2(Ik=Nu3$5LL^IASkU$aFh|rL(BkWSdfLOH%5qMEye$>&LW>xVW$;w9_Hx* z#v?Q7vmy{8l$QwX8fB(+oYcac-Gv=qh~U3%R4MER$m<2XUd`UOP-nXX#KcE$Wx;<5 zTp{rFzLegAXuW=0cFY-3NZ5xrfo>M?UX8ez?SDiSw}6j4Me=5cdV{&~Zay!eFI~87 zZTC8y0PtpyS6<5!=_R}?7f=b0j1+lly5I;)ULm-`;=U!pZ@*ml|KJa7h;-HSZfmRj zh+`GDtZoBcquutz*+yPexxCrdXe~d!(TH-e;I_sbZN*IfHTM`bl5e{gfjIF}d9UKT zPp;@7US?-M;pB(=rZiGL<2iig*|xR!=9L}-r|2kiO9}mCVGyEDIyBJhJ)Q3K?>WQq zpL3>B5K9IUgoEur3NTk%y$lF#(i9;MHvX>!@!yDWVx8RiWMNU>{;#jx&59^yQb9@I zgh7CB`LFEWEhed+w`K>`d57fth$+iVg%ZBTGret0RJ@nUAsSeh$*ziXXqo#?7FpHG zipo2lkFl+%Fz8k*t)UEuvqZ`Az?{g(3A^jeE^Y4DP8KX1WIGMj z>V+=dR3n3QyLSq>>|MWi&GikpM!eZ%(t~Tjo>G<|9dYyXsVkD2W}?~rujm`-c)^8N zvIDC%_uRuJA4pwU#{q7IV&)<3vzxm|g-p7-7mfl^Q;ydS2R({JEMn%0Bn5v%!6kqs z1jLP*w72%UxXUMmTeFl#EIYy&8EJ-ldZ%0)kZ%IjfEC)R5RpBelDa4kiu+;3sd-`{B&s;ZzOxK)xHSxJNWu|l9AJQ1$_i3cibZ{}<|%YHp1oJ=R!VWCvfi5raILDVD(>;2rUE+nt)MHSg8&q1n-K|jq(H0- z824}uoQ`|fwlM+m&`$72Ys~2_S${qVhZ=+}x0g^*a>?azm{KH4e=|R6PX^XQg)=MW zYL6THxLrL(QDv){0X;?VcT<4LRT?sh#`X8(8IU)b&&=$QzSia#|I@VvXCss`t)#e_ z=ql2&#GJDg+F577b%)zhvP1$!GR+5bVFN7`Pxnn&I4z-`*WRDncQh_To+JyG{(-wsG2#2Pi)Cm9!Fg8vq`n-MV z(D3nHT8YWMwZ?BB*7uj!KluSopah4Q@0;y}?0e6T{_$?38MS8C zL}i9g77`hizIb*Tu%uDtY#0-{JJI#}lO6To-hFqYd+DlbzwH4CTs`3x`e0b@33$`5 zzN>&24Zgn{ot4<43vehR2MQbz;-_bm3Vn#v-Uyf`ar*}Rkhv5zpB=8PIpa`kl`FZr4wg;M4Hg)H$YMS7!O9W?L|?%~(+*JkO-+FQU@DLGPlW zpHDFrr4(nU?BNK&ripVq*S^0DND42N7cS)95axfHuAOYLta#ToJw!N3V&$wf;oUV7J1dNirCs(#4Y7JA5aIx+4qhuhEii*g9^js(-xH{CYp{krE9 z`7`+$nPDD4Hb|SptG?*l)N6wtx9KrXC=%ZaXh_UH1lB}SV_5Q^teat5l zs*YG6FbOr@mIk>(E90Se?YDf3`{+8@Hs7vaz<-?PWI@owO9h7-_5P;lE$(aMpoCaS z$zc&_S%7-3-&xq&3pTUI-e8+5r2c2?x`&~Cs{kLcj+`w<*OtLJTNF!7)uEJiov5o| za()yox%L8F5aYNAB`c_Cusjofl@ba7^cp@UD3P;kJoF=1Ll; z&Z(J%E}Z|0?0?1oWMmZQ_$&S=AEP)Y5eqj{BglX=9Wd8l^e#z;_t;73cjS!} z*Tx`!SL7el$L%!;*WXpCbZIoaKLG*Z`sY1e8oQpbKtcWj`qzuJ(e_Or285fnbqWkP z2L_n?KZKyw7ZJDuGOhj+1ih6H6IdJql$Gf}D`J_{mk*w%F9Zw)%+~sj4~&Kj!pzqC zcPq9b{}%23-kH*fgn-3?*-I^ifY1Lo6L;EAZeaMC+-va?GEUamJbRaZo@4_IkfXl+IjhwZW0Vu=CdSjv*a4GQLJfT99Y030rIAmsA zpO3z|q(_knc6P<6>mcl=7u#DGn-^UIjS>cpP9rPEUFy+Gk__V6to;(v+e27Pky0r| znT2>kEnuz@d}QWHXfmjw%9Ng|f%|^@WFpMa zHl(f4HoqjtlQNU7GF9bhRGDn!Y2Xu;EeP{4B&813AAm})Fp5_eG~hnsTvlMq8W-=Av#EW0EX4zfO469*8WZM zxpNeC2~GJ#Ltzed)O09RB+N3<7RI1*npL%mwm`jKY>pj&$|Sg49^(!6hSgXutt$pv zBJEVY(gyNuu#$rk5Mr79CGMap<}O7cF~j`OYm{Mw)hxSHp*RNywEJcDdeP6%LedQ@ zVJIJGNZHV4&hXi*0FK^cYNv(SiLtyz0-?`!*nNmt{} zk2MC}&QNmC9q%>X+xT5~gTuwVSF;?)YLDvmv-!j7!P1WN$|1yFxa|HH^*4nwkpRT zLMiBCJp^f6C2@qa`1Oc^w}xQRtY$(coBLYbrrxqL2reRt!X2tYV3{_ycuu}hYiMSN zE#fKyfQ*Hkm2qXs4oY=_jAfwk5?2L*swG{CImcN1025+y{#3#Z^lKD>9=N(9xkjclGZ(RnWXg%Cobb^GXon5{Y!jnR2dzQU;@D}8n9K-PHyhfQLC z)7MB$0cnBCflL%2-`wmR$^_9JSm>q?kBn86aTKoH1OH_B$5g7z=Q1YL3 z#i*;Jjnd6Sz=Svs1&-OgQw&4;3+hsobeP?Z> z?k>%o$MZcRv$n@V0B4qfmLFTt7K!XYP%KJ5cIMyIAh63r^sk1m?D{jH#F0byfPACi znO2kS7&A_LkFlcs%Tte{ixK?1x&zdG`^{Te9lzSqM?u$JW)y7m;$s+6jl)WariufN z^{IxDRE0Z7#e{@e7m<$Nx3G2)AG<>N5Y06Z;UnUe1=K6IGIk(9d(0)K9mavSwoN$B zrLhLqs6dkD3y{8K1Y8KuI<{xm+rHYUU;6k7!mDVxsUIf2Ne z*`SdL_A$H6D92u?848JKKO_Uv5!5`(9CCV*2}l@Y8Ks2@gVqOJvH*Wx3JO-!e@_=~ z2C0+S4l&Z(a~VcKU0~##zQ_ko46@S4p-m!UAQz~ryk;hS*c%W6$$h9kK(m1p#HP#! z)^`S$FbWp&bGg}MC)ey1W7!8K)s&Hsm`8Ugyt_reX=y`a{3?&&Kyl-;DqMnTDs~2} zath8KxvYA;*m`hgl>i*4OQfz07Z%pcx3eG#&CjDaPZrjEVxPM+=*_d%T)#?oy3S5M zxpzK}2QTz`{h*Z8KV2JjGa$qMR<|OAE;jDG?+=242np{hoj-$!&@(}85ZGWjL`*CbVovq#8`E;~(-Q%Xezne0&TKEl1$mbGzwR>>R zDVn_X;(nyH_XDP<9tASO-c1RvlYVw69KSA4X%QxI^k>^NArG%{`_n&2H^0=PUc)%- zLSsvt!P5V54%r;h;Cu6;e-54O(cJ>5%>g`LpRPpaN4XWi*?^X`G3?MwC5YSq5} zT!$Z5G!?b;uUGG*t}}lbmxpk~17hWxBJIPE<5WZH$@CG=~_+exNzvH{E_wwdH(;b0EU=h_Dz%j%W zOrPxFTdw+y(W4>jRjshC&_77oHHkK5;51ar3sPqI9+ZVQVBi4-pbcv)l+4Q#@rip1 zMf%30M-+V->{e*{21$OQ>xVJ3H+6A!HZ!vONBU>cWVGqFyo^g0a~q{^ZyLv2^am^Nx{`Y?cW9vh^AErE*i{n8o3mWv1BDAVF*SIYcHI=Bz-2z z0OAK@<({M?|LVty`PlR>>X9)OJE7_{pd+@mLJqZOk<%cIlup~O;wcr|w&mQ>M#*j< z<=j~vevRns?S=o7gYHG+!yMxKi{Sa}X5|b~(RGL{K^fdkJ_ulGigRKn-B8_z&^4e3kh1bT z(|%J$pWp6Z+GSxB<{GSodtn%Szb8q}la7Gz@OhF)pb+Qx!&p-mHnf!5NEU6~vapTH zoKvFrLpqAvet=PwOXp*rp_`hFS$Kb=u#M-98iFIh0wp1(B!#>UPFi;W1pc0njUYaR zRNm!s#Rd4aOEFjl9|KS*I~o!JFcmAN7w3iTHqyVq{RVzsj%o;C)R+vzaJFmE9EG<@ zBU@%SsCbn7d~fjzrwtx{yo6@IyrzF{u;{Ab%s1kL)U!N-PXxJwd>3-OhQ3N3v zrEo;k@w9pYOZ6m&8CZ)@=IqKu7_YavhogZxj^6ET@ZQ^6ia{ZW< z9gs`;%XhN&9I0GJdG3wiC6kBd=TN`A?d=_1WvB_t)1jiL4lU5&0A$O#!&1Yt1@uq# zGhmmRIwUBkx340KQpo7J;3~$1QvE7ZmE&QJ2d6jVOT#Y@FBPBUkPEkKaUzqDJ0mP) za7r`9k8S0~E*jO7=AAXh3(YQlt?)`g4IB8~^?AIDpitIOY88qYqbM9-m3Y%sN~hFa zbY@=bKxlvf7=&IjKxv%a^IZ9afQ!d3o%?HP@33}_ERs$1q z58l##k85rjd3#qJ={q(mvM19BNr~t?3B}HRyEV3y>qT$T!u~}be!EI!{f{kI z=lP^TxSR-QkWkuz;GbJkrf}Nk&{_@E>P7_Ic^?n=Z7V{SfV#FsMmI%=Gb5}3yutzM z`Pl9|KJ-iOYcna^YmA5D(qpD+D6xnMkP31oj$t1Ur>BGAUpvRER|of2fJACz=3iZN zVJeKxfJh}Km`FvrHXk#SKnB&u- ztDrxaRvZsl0dmLvBc^*y1Z1n-I>U%)ffm5%$p!gWVlVaeBPAv=KXyJ7LgZH!#63(n zjEv^|I_(Awd3Hj_o6hbY>y@B&fR?7B#4|2plXxpk2%uxdiowh)Qwd&m87I9OBV8sr z!$u8+;uk{D{E&8QZAm{B3v{$}?>|+oQeJfwUmidp0Xhb)M<*<~Vz>oP4N$q(3&Xcr zlpqnQNv#2@#okRZCS~ z{K(9tPmJueXxVN-?mN?e>3d>WMSaE50>Ts`wdA^-<>!a6mM2iu1)^GxzP19UL1x=U zLS*OPPeqHf`ZROEe=D3W7NKsP;nUt#Nz_onX4|rgc zpUU-qel{}xrcQuFJ!+82q2$VuI7-S@Wh za9G%76YY4qT(xPJv^?SF4lRF(jr8dZRLs5&=|uQ%@59@GG_g0oDamcLS4_rF zQp8xt5Tz*S<(Ao6{(%imk<<%9@6&C7>>iuw=%wzQRvd8CEZq?cFa(n7GSy3`eEbYbKcbJ z;UvLdQ2@zX^yRC=&?U7R;eQ)g@*kZk--{5j8OQ;|n6~^EssIrLgeVH`bRIDRc zBlzW0hq~n?#wsv1sD4iNoMg(>$ed=L6*hox%2SU+uDPO8AR!ytq)_l)HNZhiD-F}3 zq%;i^k)4!I{cNcZ2B4gdDqy69U@6?;yU`}-tv%%_&a{&sx_(&P+}ZLo zl$Z;Cq_pV=S2k{3&*Rs86ys1L#oRe+Y9^QTiK=2>3?S(A*= zNR%lpe#WeZ^0cV1U1d#AD*{LAaU%D=tREFia-Sz9lr&N@sU`P@I)h#8)b6#FlGo{p zT7u}9P&mAlK0eOQJp7;SqejUI>A8?=SS1e#cdv&RFZ)}E6=GNRXkBM0aS8f$fjVum zM&d&n;7O4Y^ME$0mz&2D?3k4L!L?9<>AEvMGnr%gF~jg8BzolhPM6ZOk-!7KrN}rfsXA2I-1Bu_$ zdctw2uzl>XWq{1;m@D)9rKC>3>)yR!5RNCU@~PCU7@)k{6laPEwk!;Cj0C)!$JfJe zlV(%+wl6G1S@4!R=#(E8E3{4#Ds5_@IIof8I^(twU9Hb$|I%X#wPlYvHi|A^Si3~B zeWNUbw{&hUFPR3BZJ+?0Q#St{P7p@9VHyNx)@0-rt%=?L8p*jBI~9$fXRh}TPqZxt zx^Mm9E1&^^w9y*BXVZ4xNca5S`L^Br;b%LvvU(IU-m9N7dhSkYB~>#VsGOTiR>Qg4 znk`A`Hm*ttgf|%tB#*J<=k};7w(%dS<{tf}Ry$o8<8wFe-tDPgfsUGqb0S$6;H|}@ z9XIaU(^9+|&c`$*CAdlO%VOxD-r(}{X_}AiA%I6MXD_L*f9OEn3oc-9TteRwS-kS6 zn@TfI^zSdu*CS8oJ0leH+#LNrr?8}h1w_;?a!ovjAY2dJ)niNVM?Q6F_;azXMOSpu zO?S)(poJqzZ-L?iWoN3NyIwFp=uU7~t0;_`Wq6h)JSblYunQ6}?6QQ|6U$Sa@sm;X zA^@vt3+^3NU`Kt%-)3o&Z7nO|8W={^d8tvJ;%w^#Tmn`H=S+JoY9ER6!MTe2Dvahi z2$8ut)Kz*I`#P-{fi(3DTt3ct5&Es0z`q|!IyNZyU@$hEZPRI46pnqGUK+huqFvHB zosufeCj(FCE9Lv1SVoxey0$yoMv9#|f&j!|hzN0#?Hwt2!POIvL~=f{w{Bauzr&I8 zroR>-khj2*ad^8s__FW}Lgq1zs@!7uoyesljSsiH&Lq1P%xiHAQOXrJ6mX^d;bV(g(=)z4~M_|acSD(lfDj;%vt0lzZdCsmiNqFbUHtqLi__vGQE&zz2 z-$~6y#(8CDNq_WMWb+J-oQ++}jIjL{(v6x3tRnX2bv%l1KhL413~&%(OJ^D14>@b7 z=fGkt1hq1a*p^(-SE`V+cA9s-?^{3_2VamBY^C@;B6(4Xw2xR~Fk-%z14dp!ZohQ*)L66mj)|pm99b~x2QUD-{R(ea!e?noOPB4(z;=@#P8J)V)e?HQa;wwpy zy@;z3awNnx;NNCL-~a9j%=yhlVUK`*k!*w~`v+;T=r=~RHu`GSM#Ux;RFYI;eP9V_-M~f$FQmF-@)!`WgT(^wA$r zrEJEm#}}{M(7Z=KcE{PsATt@ejo^KvVeyVAkz(41njy3$qOlOMOp7MW=t~AH2~1gs zBXJVsqM^lei#tcthvgA6jZqU2{IcG~MmhGp=Ou+Ya&kQkPip=FlSut1!GTS*hHbid z)y5&Wctic9-``Zvi%~E)9kPJ;W`c*!(%m5#uL^`jsXS=(h%D4NYb|1WWs11ee)Eh* zUTu5*0Tn$X_o~e&?RMu>Galz7F`d&F7}6Eh_!O-(tL_|#6zDBQkDHaf zh^Sv0Wqj#vIK21mgSu%^ZU$Mvm#JX#b+8DS$hG_b(ag>Tw>GXZ^g%IB;`K2QZ>;>behf`3*i9Iko z970rFLQHxgkTx}x5j#?f5>`60u5JysSI>}v8*eA3`&`Oo5YGt;O$w+@PvN?g1 zq_lF#pr)B>ofA0hn*+nkZGzqJ*zO1JH9h;rQZS4wOAD+IO$TCUwLu@NWVUhlbyC=a zd<9e3V_d8b$<-mUJGuC~|8;6g!=jRk*^n(8YweRz0W4B-I2t92zd*w4ek!mzrmPfX zo~xDN?LP-y(Zjb)Z$PZ9Y)fOZNPuAxgYf&L<{)W7OcH4gzKMjk`cFZ8t9D7D zYn)K7E4><{(=sEhL^$A*`USU0Inf1nWIF(=k{u_qoh?bnoam;3HfMd4y@{1?r|!;z z=!HQ4Da?q|aC8CVyb=ku7o|x5Hze%H6VLyL>oEUYy8+?m{C5zrS?lj0AO}*IM>p^51oZgJI7%pNQ0Of(gF13icKnd5B>LYR-hJl0@&?L zr5IOv{-l){=wdS>yO#cumOQTbEiWFHbnArIgOn3cA!Tv&Y38&sBMk74OEY->alcrikkv*GC)< z&wpepO~r%tU?)hP$9FS^_5_dd&2gA|5d-6uKc^g7m(nFco%<+ka5V-UMsK0p3lME$AR0$d*l*s64ZL|fL&pyZj z0)n%@?b-!NhxnbiMJBRw2}NJ&#bWp}(noeDgU0y!nPn|q%C-Vo9q z2Dq%`=|axA3|SWK4N3?jTi}bI`rr00J5#>B+}p{n+?);mlIw}8m;lDc2_Gy4%mTg~ znBKUA2TU~x^oqONSW~){bLzM3Ur$y?Jq8U2+n*%8ZygUNf{W9gb?z$Z+q0V+c3P=} z7QN0IP2JR;eMd`kzBoM$5Z~+ocNiveg^$w-XDt3eR`e#f%V?`q_vt!zdC=|^_WssR zXx?_Kb+>c~OmMi+h6?FJjWl+)B;VH|fLd%S&!=2pMl8X(6p(+29ZjWDLmvV2K2p)y zguzXj3HF0q>KXUskZc%0M?~cmlFdjufv^@JH&qeB;ens| zw?ec9DJu(K)yl9u7#W5gyWRis{DYEL`Mq@l)vgc^wP^$TZ3cHLm#>uJC#iv!XmOlyOqM6uK1D+1# zh`!12oxN})Z*w7fZD|Eia<0qBZ-+|QW72BeU+peOd5hR&Q=I>0ZhbB1-o!zQ-XA~a z$vDjYKiK-l=(-wp>sXC#yK&OkP8!>`)0iu2Y}>YNHjSI4v29yl-gEAE?-=))TyYGVg2UIid|)=V{tSH87oPDdNp?MRg5u%`VHLQ4TbsSP*{HZS zULsu}7PKQjy37;dIBUalI=3t1X?Z5_BA`w*<1#k3H7Qv8&@)<|PJ$*I?iL%8C+Uow zM}9t^?q4)G8OGe3k;8@afci#`-WJ*M*U<4@vWYsv0=#NaYerNc5Tjuvt^f8QU6TNW?{!615wADO? z!xbjQ5|naSXVqQ%s|n_ODi+oQCehCBEFb-8rspt>PAsivpL345m zrBUEk8+}(u^k()IU99#8HQ%#x;;VpfIQJvgcj2&yCK*L?6APYf2@55-ub)=WWX4ipx7IlTAc5g-^kUgu((~LR-1R zS}}w3xWn1QA=p@+Yq^c$aqz?=A>ZSQ4>z%k46;Gv=dx3a!bLJzS~X#!P@xaX`mKix zus5l`=Ee0@%!t9CqdQSd*VjkPxKE(Y2z{x}H63M0pQ^Nw^cSm$(DM6f%#33XW)H@g zYD76e$rj1s-vXr(&y8rJ;S3L8|3ovxw{kQiW~MV>yVPooatjrcV{Pu09=?fmw-hb4 zW&g{HmvCj)Bs7Q+Y(=K#6&{TPo@A6|Scai-Nac?bB5dJ@1%M%3LXc42e4~Ovp9W>c zRMXf@3&mA;&G*kVR6T|DtUyr6wc6%nwfLR74Eo3Qw zLM;@kzE`DO7BmQC&7UUVjQOw+Vbcl`3HknpL4y=yXb`_Cgj!LkL#Z&^BgLD}YfYNZ zr@y5ztt_Rv$ghHeqpSkiC%zv$^3=OuSairA>Eng1W5j3>_J@ zeViY*x^2M z<4B0QzHrAPxs*BpiyPxsNVUbFPVU(qx~|8u^@e)2awV9jDP;)Cm7pI#d`d%AyH;t` zxX;Fan_|~`rlxp&{$!bA!j3lKQj#){-ZXwu4ouldU8 z;^6Ggy`-iD&su9Fec#%$ocm8>W6Ckto0Evu9g<9ro&vx0*KgA7Zn~ZTW3o@84Q3^qj3mEMMn>em>~2ZcMFxkB^h1 zu`5&FzE5B8_021$sx7vZnhP#ERi=~G@Xqi=ZOds&8R7Y((lW=UZ!D26(ou}ID7wwH zOG(%5=R;`;^vhX#Vk9eFZY9*DycB%6pG~Y(cX72WICl>(^Z0jNk2!*kee<*`pwLmh ze$y!)dt}PJOpeF2WIQ50qu}$GUA&jH3y`K=lpUg^!%_ikoct+Woi{r3?e`2yhZPy- z9IA9m_hxlU=k(U`7LlH5jlawVtM*aFDxv*tHsl%sC~Zt^AaUP{LK*M1<$~>-FeR~j z)~(m%03Lcf-7oC5SkLNLicV;1bUpRWh9cK_jaTB860Ye!B_k9qikqn75<0Gp-9^1; z5;_@+Q&^Aap8>4;n;cBKogszqw*9Eyxz1Q(UQ)B#Wd^ui6F(m*!Q7AzZXmIdf^)RS zi{!-t!tAMbiHN-lUoM5ph5Gr>R=Y2%Du&%j#1(}$rdh;$KbWk%lr`=jmkRG@ zIurNn^t5Ng4y+zBJUI(Hq>7$M5=9UYEaPb^{SH;7 z%-FzxdxxIDoW5r-5XH@S>p1a9kP^XHzic0`j$TKQ4Rn-k+@ImqBQ;^i48T5QGy5!A zc+Ym~ZQZ83DE386Wc&a;Wu&(&$Kc(9w3l*n93F1KWrmUD%8aGhLY< z>#Ly@`XFfJgRI~+vb}UBFqw2oziErG%`=NbVC)P{uOawNj8mB;lNro)tn>0yHQQhl%^bgf&r3MzfHg zZfMLq2u83)_SlWAHWD7Q>m;G$Fa~}s?5NJL?X}Z}i2kuV=uzIJvHEma?`%AoYa7OU z>9T$`Dgp*GuO3@C-YJSpqw$ZhTQyT97u8gOaDS2=D0ay9uI_Ynb)xB}%x6dEMYvfu zDhhC<={P3*e9^&KCmQDl4-YIQq^8*}L}`4?f4_ukAxr3@N+OJamQn?*&YcwFa+eZ3 za^gSJI1oIxsxhA{{{n-y1%HrahOS1}P`5`6Spot;3hE+D1hIO-h-*g=b@2~k1SJPiY0)pHZIKQW7Q*!_8QI_}7=Wzu2@OS~eoc5xa6rCwksp~rCSMeo zr6H!kaJXK^j(3S&aRv)sq^{1VaR@y!#x6*MHHLBUV#oa|cB5_!ZeGRyls{Agr4L_c zF9Ddvc%X68Y+~>0y5D^n5n7AuqQ0`cHr)b3kY~F#&|Ai)J7IE~*Saes=JRb9y6>ns zdv>r5p^SrKGyNcGIBiy)9?;OqAx=zijI&Y6$W=FM8DM#pNTj?j!7=I50+_iGD8Xe6 zGEnyOm`IqTwKAY|H2(w=Mxy>PV91ah6$HeIe|oBnU~-q$ulay~1*6Jxs~k=6FW zqe;VBM|c}ST36&)H+GB!CRgMI`(z1MGv6SA?maS9w$9|S>*Cd<`&$6 zBU?VYBn1t-kN0k4(j#RwN(2P7;7A-JLTtWQChp^fanDum#iqa-ILh#V(Qs*6lB-!{ z!*K64WBhV-hI8$ERz_))3_fgq!9Mm_l^(S!;;aNF@DoDB$Rap#*Dp<|pUh-xoYcLt zQp1v4Q|XXC@6^T^gSrMH`-E-r8^A&edQIYhDkpLflXx`E91p*5-Ebu*p@SXnb3|{a z90M^CVo4r?Vbn!61jqFVb{%f<(;z)?4&@89!HSdvJrx+3Q_vU7VgnD|s$fKKsI(Xp zsb0vCO>-4^y(<0%Xg+*Y6A@}kWkEg}Y?oDb_fGyqr0>*$lyWOzf8=)3EA4#)FuhQD7f!c$azh*-Ow5lnRFdjt)h+3f^ue;wTE+T_-aE03@H zeSaPM{#^A1T6X@mfllom?e}XW-><3|mApHw+AX|If<4e9`xVosDB4)6dT-s9O-{=3 zRr%JokJc>a(4QLp#4jdK(YFAz2^4zsf;yXT>D*Uzn{T37Ven6!Pa%uV?j1(FgVYU?+p%!kvg;M{TJTt zSOWBM$i)f0w1~l^MvGVlb(q7uB`FDR3kf$12_*3mrn}_If?7LlF(rV5em~BBhIEl) zhf1`S-U1)DVvxn4N+oS&f|@!f z685z52Ei5KFgJA-;pDwr)ud3q#3K+3$#Rr^V$zaZ<6#a&dxdZjn!FPbwb3&= z^>XMK`wrYR_v#-5dN|JzqkwZK^UcRUl@UobuOUbg(=JXg zR9gJ*M9>$3H)d-mwG6dy0-Tr!k+PBN$Qz6ElEpi!`P1L`teU znKIG2+PUj~wXZ9G_w2K5iFqKNM0JO~=Ui2nmp`_;R!!@hDgfD=_|}C^KU*ze#(B@@ zi1C2r&S~ZCiiw{h)__)7g?RK=LccPUp`E8{=8OW2?$WaV%^*CBft*pY0VHFg8Ak#0 zoSJI2ZdeoeJ&uI*uh~U&T*WeF=-+p?-wf0Qk6;~f8&Kus2nV~q!g1rW(mJiQ>;D2> z4NA5aH;(TK`U31*5A)ILM4wBj9JuaZJT`yBCcKk2liRNLgS(p|VT(_R`XIxmU1;Dw zJ4k}00YDIbwEY@}A{%mN--l-|?i!m_tkf>4(y>h*TIQN1l!G=ON>K)mvgRnc+vqxj zRp)cwIy>(kHU>_gP8dv#&rGe%4N7=a#@g!!t|aE2Isn?gHwGX2L7|5#XE}@oDcV#A z?|t1!jL-F#cM6QchTgu=2VX~1EF!)rTFT37szrHRM=`P~Be3pCRyJWA= zzX#f#IN9%a+Tf;A983z>|Bg9_o|UvR!45QE`O`*pr>h)dj3h)imf8|q$^c`NtV zK^L%6P6QZ*1UG#N5vtGHVxEUbp=)4v&PyCzp$a{o(SU)+F!UDVJte~K52}@6QOMn^ zd*AXYDtb$B7vemnuNK4-6Av+b#o3O9E60=>_`=KjOOp1*S!e<`9agk15{HZhhB7^m z$c23!&Do!;iE%Y%d^98P8+e&tGN+hHBJLpicQPPD$fISbolgtZn3S^;{4!gzaHpcC z{cnGqfDVE0)pzy0TmLbgGX&PKT6T#N9O{`|(SR)lWX9L=Tw+m^W$250vp{exF#_B( zC(WTF;>&!%@3{WC+8$$rqK;RnAUKMl7tAElYlx_#8D}cF?0J7?8q!AocZ}F128#-Q z6h0v69~6itEu706Mi4IKuY&qga#C?o!jUjGHY$itp6rO~XRV!j{%w2*vwel1Fosof zqRtP3&aOZDLL@wBwn#8#IpW}zok7syu=^Fv4+34IWKLB#=p zbwKgQI~z_vA-ba^BFFUhGA}(MNvwaqLpzA)omvm@QO?-mmJpLrab&=$fMQ4KYs_g+ zAXs|5gdB;EO7n|q!Qrx&KPR|^Dc>OiJn~y673U8=Yn~3B<*iZ})Z2^-_b*w)n^qlg4g()-d@T=V!)H2C<6Qhz9iv5phXDw%(Tt z&x~48LYrNfBT#rc5h_V2_cdD(Q}n~zn^D@Jr8*vPHLJWcz|aD}RplPwdjqS*4!IQ|um&y$WwVaP z3k~^}C(b7V!e*Fa2Tz%@I7Z4Y74=fTRK2D4bS2Xu$H&UK%N7S_IlbNV)Oq;PeWiLV zNKVNk$I63HznR6P)00%QAj<;CCFY_jTI zian$(eD}teTvTt)v~J9K94NI);$Xod&3MiHiuBmM%*{s+J~RS0c}^yF``+VVJLI$3oc2~6K<*$ zN#aIjl!mU1p2a83DgZcN&4xI;NA0@I3)z+ma`26P_D0AiB8irfb$F#YM?Z!*2{_S9 zNHRt1eTM|3IR_xxI=itgG-4g*f*cU;vtia@n8XYyb z3C|vGg@UU=5@uL1)y5nPN#-(SLLF_<9{zaA`3|qqGAqTr3dfXwZPGcYe|cnYGmNSK zpGf}SHBhk6W#)gMGc><{lKej&G;&uESouVEN`^9lwj}|l-0UyN^g`%#BPFoJ!^^GW zkM0H}X`Nuy^mIZ0Z0fiHk0}n;@Ay994!1iv_X`In4JC}Bp)f*PFt}9$;^75Bu&qqw z8jb6s7d!fxDnmp}re7E|GdCEM*}`r-g+51$j=is5p7($yE1&zPNDyWGI6kCef9R3jkDJ$6)hilDwJ7EiBxGijoJYScXbsmQ?+Mrxct^a!9OGw}|C zZ4QaQ6oc`&07Az2EO2Pn=o(5n>TixwLOGe_NTVfaQS@!_O?JRZQof z`~S&2GzkQv4k8N)y#u=bFadQWek-)MpBXm$`rr|9gjr%kUWupV&9+#fu}qzmLbi1 zq?1;NMv*fq9aQ&+-(w|3F0#UWiX?~WrAwS*sG25}-pV4El!x;x%;QbbA(cw>3L`E@ z(WLv?dv#N-OP8i{Rm`f6)8Ye$;2zw!2_yWavTQM1`AuGhtkG7nuO# z&Js{|iSm+M+v}U&bx~H~`REO(qKE$Kse!o*jyb4E5`;gZALa1Xq>lUw?+~SBf8C@-rQ)FFB#ay#7Bya?9~}ZC=DYBb!SBoXIqP-jyP&xsQm6?l z%(5`SF!VeXyrS~cX0)ypp&u5dNnAmJfhfQNSwe*F45lR)iKd_c>5b$)TF@pwTntZN zM&r~d%R^fBGafry4-p@)5>!SXo5&g)I8Dz=kl3xkx+_EThk!x9+vKt1efD&OZ=hax zv_FVdjciCveWRQI{G!9MO)fNyq5(B{0 zGR#2uFgun= zyEL;9%02Ho7m}KEhswJPuVC!3vwP0lZyrlu75AgOlAhqf&{ztLcSw$_3V5@X2QCL* z<{56_QI!3>^iWcjRSH1@WWd1;rtv>#H~LXdBm~&M6{SA==eY~+BfCqv1l;=S-J9ti zOgP8EuPxqYUpIzzoYJ;nIpYC6Wx-sl=h_pY9FZF`y9U z>q$unj>*2ieeO)x4{|#CZ(PgN?Qfc=@KFVhmhC^t;oVrmB^tx@en zeSFPT^*_fbpd{_L*lh<&=fsvh+}J%9jAfUcUOlN#8`i&ly|lk-yRlzeU=Yo))7V3+ zd)1iNB&1afu_|g_z7K?yRmcY{bEXp7&t%t5{(faI9e`^Vmgj+Ng9g#)cCy;*`p8B< z@A6(iC&PMn-80V|Q#^=mc9LmIJ$8QLWr>3h~J?!bn(pNf*b6uK2Hf;gEPTNIP9D^((poBSUdx?7s~tY_Jl$q zH8IyxE`Y*K$LtP;lmS;j-1I4QqQH+YP`v7~Ex}m(r*rPG_Gx3_r*|>}} zxs$w5${H^?BzcDg14U_p-{x;5<=7y+$)7rWWxmV%jdObV!(STZR0+yq>Fg}tSSZB| z4v*~=gopgxWWGEib~*tJWKO))lr^XfAEXEVQ9`C$!Jt|LiRcJoLbYY*#%KjytsJyCw?852_K!MB0YxN0ot)sJgzmM=fO?bu68IBT zrgVTpW$5AjedvAt?tOiJWufBarUmVsH0EX5Ag1t%S04`ujqN=FZkqfRAm6hNtOK_w z9zQ>Ue)?369^LHNdJtYgtvUpbdZha(aFYXCKZO}5YZ&cnsIsU~2Xp%mUSL3#@ggB> zuc?Ij|M=i5h2yFzmG0;h7jnJ+ZIDcabG)2VFhb%q6U(u9g|J}G5aS+#03k`_U%Q9h z#Yht)XA_c@6T!+kd{Plo4+>@uF)2E8d{Ve}9=WJN8Mu!%hJ`)X&ozoib$-XYR{^8^ z4}8w{uX-Uk3;Tb?=g-tv>^}M2XW_Hwm+$A$@DSk-mSkJxvbh{a4^FeqTgsAvIz1Fu zI`{UHO`)EwR=n6w`K*G?M00*Ve!j$NZf0@)EpJqwul<3S@NT`+l-)3rv&fz0IUZZ8 zQXvc_TEjSgM)#V=R8*n=IZcU;PcP+7#v)<8>P@-Cw43$?$dR}pjOx!{Zu&)TC{B)Z z5M-&VU5RNLaN?{weqPcBAW>e~HXoY5o9lgaei=x(a<0$*yAj<#opWk%+y?j%pV08thW#jFv)84 zmr^VriE2v#)R!6Ko;m!pyNH3cf?z+9gVsx5)5mquy7L)yW&?+beba3&QhjTU`0PRKeWOL67{Z(9g zG2Iv1*@)FpAsWBY=rLxJU3!%im*Q*ZG4Ykq%0JuRMc~EUt}EF1%gAP89C8SdcC@bT zc=&QC6(TmJo{ufkb=N;$Md)Q(sSVR1ijvcG>mqlt8s1)-1!)Xk%ruH+1#2Kx*w8cMx3Tza_5PxWp%4kGQQn8)gzA7 zj4Xk_AIE8zTewe@Jkf15-QQg97`S_WtHjF6(S?ULR~M-?2odA1NRh)5Lw-GSSGBv< zFEL+88Mx_l0q=*QDkDO14VtmF`;ulm=f=ARkT>v&lf5y=Nq!OjrM8ze2-7A}{fjR_ zvi6Tkb1VFBFID}+)sA7XG|p|d-KDQ!LAcD3qihBa-_sD$$i}iOkODtVdo!$b~JID_RhT;-AHw8J1QuuKaB+RB=P*(>I}6>f$p$hk!d>-7$MC-XZ~vaMBB5)>38e(yuk#m{caOhNait4f*Qcd za_CprlV>%2)k=3`8pn}VsLK2%6KKz;mV!l9&@dKJEDYD-Oo~GNj_zaVZy6g?22|R> zE|#xu=w$k|;;@4iDh|-#B%EAKIpu;VcG8MN7A7BKVFpR74wd#IXwhrIAtPn0u5m)T z&!sIMHG_D7WshJxzR9pedT%XeUL@AAqWK4lh&<^96MZJ!8STHbG{7zeKg)i)Rvi3_ zU!LL7pKQi_W6{dpsk*s1MDre_0B@pkU&W&ok9FMhTufxcX5}2`Ij@Y5)`xqp%f|T3 zg!}UIjmCBSTFy~!%dW1f5$`{LJ>9n18rS1y5w+|mdp(`$bsN{$G2P1jyA-TU2x*Lp zd|j0X-tDdQ=H_g&4dR5$1x>edb!k;rbU5UoY~R6JvO{nF8yMmLyNu2D?O$nIbTC%V ze}`|@G?zY+5&gfA(Te3|yTmij8ZUZnktLRN6#OeQy&`?IDA&=(13Xu~WLi9ZszqEs zQv7IIM<$ok1s{9Vd#J_j_Yga8LIiGm`Lw81a$ze%gl^GK*H*}fVvy=0V5an){^Zi3q^54OpU>@eLt7=jLjBNI$O zjhp|H9|b*`nJ9r=DL9oOd510wOuf1fZ*2R?Cd`R>)LVuBRTN`l0SVBPYY17teqe~e zS|f~r?e!})k4$D=R_c4iz^FgF0OOcK8j_x1HzpJAi+?b@AHyrJZ?Rq6gjkxVTt>tdSAol{lS_nZua!==Ebr3>PWQ?eoH_kej%e(!>91bo@{6wC8v#FC*He(lIPP{ zP#+1rIjIO{F-I;!i!%#g%5zf%r8DuSVjD&lr?7F{7A*yHQ$M)4c#Zvd{W> zw%{v57>)+(kk}yFu>ch1p*wB{aZu>yu1W!4T-BPk(WVv6kNIPe7-KFN@bZ)~>1ECk zbQkPST;WoPXtbqT6KjIx0~9-J#nd}{EFH=|E4EEL${G0|bKd92KBbf@S8Co)cAcHBV8W{tJ!TG#u(uLKuIS>EJ%qLaTJy&~!Q@@NXzFKZ zxy$85#x_9}tNYk|@%v}pMGGNU-(yN4oip^@wu)9|XMP{sgel?kd+DMd&U;taxH_i1 zCDoAB1$M~P<^zAE0@3!jlk!IM=cEG7b=V!SRB?4B!ad#hu59md#( zPa6f74RiBAbCtyVpH_@06x2p_#RMo6rQ)j3C}QXfn+Ud2qK@#S#M=#|R!C_o_nI4~ zAu&Ff&H&7J^$nROyT*$2aKq82{B%wUo%@f1^wdBQx3f}8`-rv=@o&uI)znnzK6F zgtQCrJUE;+I~rWF&?BDYPd=nmo)nMJJMkg zHzBHIDP;ZDGj3|^;w1mW^7Yz+jsMwqkSWKE&Nu+24ER>8D9r53BJg|}W~SWfou){d zIq{Ala*#$G?zlQp-y&h(o|_gsh_f=xaFEjQL+LLl51xf|D*BS2wh=*uh~5MJ1p;F* zK}A8b#Rw}ny4n1I+6d>CN-rkGxLQAM-wmtP8pVXbk}0){d&bTp z{#}eMCJ+ZD;PPFNW|@aZEup-#a%>L_dHJ^38kp~r;?Jlw?@)8gluW%+9DrR#w_Q-> zmm02Jzsn!5`R%PXm{Z~MR8V8Ws2?Od6ms!41Z?WgkB2RcK05(^SYqB&)t6Ws-i6`C zD@JPL5w_Mq^g5CR6;=V~(dn%>8*kTVEF*%!?r-N=r%)!hcCw=y^O(AeFq`9g?o+0yzW+Hp)u(IwY$n`1l=cX@x;vsn4`Xu%GR0! z24Cs6NeK`8MT`T+@g38x1+u>^9;68$QxJI<%9QxikA+KSAT&cgM|m{J8>gO#n3H2KNJ zt~ve&#jpNE%0Exv&5GCUwVIFU`@^dMRZLKsZW24c$XmfME_*(9b3Hkc79+VaxQY(e zI#bV>Ok3*2XA6ddAq&fTvA{(oWz%ToEA4nyio@?UDk^$r;s`#f5{NqD?ymHoXpq|B z1Ier0tyEJ&U@KgdTlh)Vgl;~fUBZqZVx>q8CPIeCW^$1-xuYr@Hf^VD< z&3n|v)y6Ac6c2vN=+q(OA}jf6OE4n+`E1_J)hqEGc1HUt5G^?ncFA2y_Q&Dw7qZVM z-Z<`F%bzNn{CwbT7GUd`OxVBc39l#?fEVz2+o&e%`#UijlGA41OZ2YKEG54`R?eVa z5hdKC>@WXY3}xD$4Z>F0^VHt8Bb!Hqwy}g8KhxVClcmiUQ5W;{+&7p8sk`==SCj))maUhbza6!kX15y?3S%%H6`{E00>luEu=?66F z&+e41sLy}^8~eXZ1awf2e_rPD8HxPg$~wNpQ&9^#dX^I|*33hJqL_mCdzfgE-9IS- zvIsKedIYq!P3S)ZX&u>Z4}=+JJ!Wh#c@l2fBL(ZT2jgZks3hN}#B*55!Z2uA`%$cA z*wf93euxJhBPHfPm0q~(RhGY(%tWj^%)KldBa5;EP$-|m+94Y?JTReRJw%=@V|yne z5_QYw-mB}5HenDZtVQ#__@R9QiqbHMtqdjQ&3~FQ$7`OGm{lTkfBE77?AoIkro{0^ z;Abom{>MbevvJ8;bEr=$2n~YZQMfl zHx{~LtzpG;urbDEmm)Q7JR0&;!*qg3v<4Zj_ioc5BQfjD3?7P6nX&44eDl=v#j6C4 z8ocL;YBM+YZcsBcra_6ke?j5TBnb_Ti8TSZGG;z@#E}u*b6~Zrcu=;&P)I@l;1xIa zCtitTHkk%(E3?82BM0hAVN+gOfPhDAvSn5de`Z=HKdi2;xUyCDjC^k#y>+9_w<;#p z=UcD+LVKF~m0;wkFLRqH#aBdX(LWb^esPeXD+({vC%W>~Myh3Yd3@s)@I*ta0ce;( zM1H}otj>^==x_E+L{MC7(r-S$zrq9_wp+x#_s=87K960D@*HN$vh5?^1z+900fZF^@A2Ci+J*h(^p05t?m3 zSVrk~n6}xi>_yG_Fu9;;?u27rE^Yx2uXS8*(=b6C4~xTRSAA_&YIcVu=|tbBUzbwE z;S2SLP!B2ev`xg(?RL&qBILq}hc;Da<5t@W;M_CE3cQ)pP3N}t?6&nX01A*o5zc2l zE)et+_RwATXP99-BAH0j=t_4t0yRi1bt1khsdOdMPicKUpEQg-syWg+*QQdu5jNLo z%U52UDasQ~4X@<;u-d)|S}If3!EPK3j+4~{symK!Qs=4pqW9;|R|QU^6DFZ15+V|N zX=cF9dAcxLYr?x_9g3=p1F@)CD;3%ssz6bKWTVlnp|1!+EELY}wjw*1@&>(S?V#xw z7JoExa2oU5ML$;=$fTf|!!_yy&sTdil zF@1PJ1r1_2au^L)$NPWDjVI*%T8ul8YDJKmI8gpRP>3oB1sw(>duYn=h9V!mpys#E z@cbnf1>V^iw6Wt1M8oa8cZi7z^}_5e>*PlC!jtngsM;aRQ3rBk4;iZQRGkIzc2YHe zdLrYYp<`;!BH*E^0LHb?jP=abiWL?THj&2toBMX`uBrC6SD3UxAt0~SiV8K4UdRvK z8{L$V)Ue}ZuqYwO$J`{MnF9FmWkEs{$gS*ul!dWQL~meKQC=G=+Lj24lR+n$8zrlvU9@HbgJ44Z*{*Vtl-zUuB_5=lSr(tO(0gaUOpTL%Q!&Kb1Br6JyS*#juI(`1b)%FWZ z*Q9;A&8_48wFL`LI~S<~p#(W;BryX8fIk2;@cwi+^Af|U)w?|gLuTfDJ7L=ujg1=A zuZ*IL--V+ji!C93)O~*Hs=IsBN%*IVEx-1Hxc!@uwEfZh3++VJGBt@tzZxcm3Yl%F zzAxV&Ho}}3Xu1JhDG@SA+)&IHO>ye{RDZh2$Yi~{)3uXPKP?87+v=Lp`htOJyc? zU)S#wZ?1e=yYd_f*aDVe$;S{z({>$r!NR152jqQZ@M)N}2590#jcxE`Nm1$(k-NjV zhN=l)@0F}hSJ5%+BMStPR3O2kj94m^zlvh5&L)j)`Eu365 zQI;S)6h3**lpCqP_t-40q{TzaFC8RWF7CXuAaxR zA={Hl2}Od*tlO(R&X%eJpoBOk$bAqm9Pg9T?*9(y#cr|py5w6r=F^26Kgmsc#^u4Lzs{fB>hhDBr);1KW2JrE|jA; z5^FX06BLGW#@ZcL5GWxSH-R0`fHDy!dUITrCmT)AlHhj{@Au>+eKlFlLf7jTT@$l2 z_S+PKh99Ealf(MNRNa&lC2&3rJcea`5TKrY^CS;|K4|7mKjE_ zn!*Z;T!%ztNKUd;6cv9eZ``ik&@YG?hJHDuuZ`NA1{e`**$-``Xvt1z}PpXSa6keZ!=zBL&*CJ2~)AEJJ!uzWC*@?fOq71av3hu3y92t+PTO_n#`uUJ48CuHNJmMQyo; zzdf+%9z;wpt<*gpRmVQ*o=H=i8@kP3gHvN=S)o0Sf#(Q}bMYECbmnDjBh>Q9l=#UA@7a5FZ1$acKtuT5cpPMX&e>)KDp099_cNTPLmFVDEO;w|Jm7EDv? zG1&x$-*e12Od?4fu*l1@SMn>w%d51)%hl~E(9?W1Eez;_E359d2k*C(x*^BYl%BqB zJ035OYdZp-Wdw9EEnjdB=6{pHi$O5pu19k5s-6)suSjqVgG(I{Hu8QQ(CLOaD{~^E zgNRt}08~(ZFYz}0wi$fXntwU&i1^!eYnV#>8~c`E1>#okX`r^qu>bS^^(bGVHbE+) zu35|RMa(lrsu_vkH+ie)rC~yN=SIgevou?+w4{NgORMNtTstv$2M&#QBmxqD$^U@= z{~DhE|6QdNZ&NT>FsA=Hc+abAJI#utf0DuUrIJUn*1hjm8FD;3+fUTY5X4Jj8%Q>n z)7ZM5o9&IWL>OU+%o6S)S$ID@n^^q5;5a3O9jpGre{g~ z&$+ufbp7+(%_Ezbe`Ry*o|!a%`*u3C>%jiRYp5Vf1_fYzs`5)d3Us2$Pt@9&weU}2 zB$Ws>Vxy9eGxSqFk3}sAvn0KX`>x#m6h4>q= zZMww)pHjuzFD1VX&SP9uDQ}8C4hi;*KFJuw)Kxe?D$r|@U-F*=cUSD^fm^4No(#Q) zodhKSTk?*$tin4@-BQnFZwl0Z^9fXM$341E(pomM`Nf?+)X4jSriwT|LOkUU1Aftt z))JU>AF{Q!sOHEUVQR{3(8^}6RTR(Zuo`ydORj2whUi(h$QLRV+_jxQMRtbbq#j`pKMy{{KN`F9!e`QKgleRrZ0~Az$FhHWc7UU!mgQl7 zt(0K$04~mi%#>nFi65Sl0uSOqE=`((73xUEc`=XOCpk+XbR zp$-cAsq|P`EqtUgm*=WN5ZwU>r2~FXQtz=--VGibB%@Q9@Y}m1A!|1C=F8h0g+7 z+T5oJI31Kr?fw|VjBU01tJpuPfx$$tk2)d?(r)t<;QhD}JU`InV!R%sy|fP8y>aHM zNqH!KiYs|S(6!9{3OH$;oLt)L0Whjn@KdL_J(nET0;p31H_05eft1k&%(h?2!K^A? zTK(W`RI1L~fXBqi6IJ*7wJG~0mu261RxGs=tUYQuWD|sLbk68jfv7VaiTNL#X3@IfNNTLyvxge4hTx|n!m-7 z>^S4f_Tw)V9&`(!KZ(&npo8fweRq}r`ervR9f}9Ip(> z**6&GURD`G0w6n4*bq-6Z538CaeY9~>vjp>Jk0;ORUm_+momjMp@<1C0^$U>c1lk>)Y01nVtJo^c#kz&_@)Iif1PZtton zFnHQOy`pI;k*3?pK)+ViFhlEOwmP3{oYHcP$ZyQ^r{I&h|j?kYz8 zn%oQ2pEy9`p$C(FK<+Qkx1}IIfKh|9{}*JYT%Li!0}z#P!wro5LlK$36i*k65ouP+ z0;GP43&){it~|YT_Q6~D1srnjQWVjmfZsYl++MePSzPmfh9;=k-uXW>1YZ3r{hvnL zm5FcK|AZ!OfsZrid)N2dU1#4PPW`n>lyru3sAp`h3c^C|t=t}O$&}x{y@7NE z(#-$I+B*hm5_Ri>W!tuG+jf_2+j`4(RhMmBUAEa}8(p?B_1$yk%#D~EF@GjjM8?|6 z%$=D#bLZM?J&(MATd_vukJXy5CP{;mv9y?F1iH+f?&&r~2?2y6o>UErq@4iP?_u|2 ze)tb&w&?`QKg}d&>0-4#pN*8N#_`F@atmztve%fbhoWx{x`C|oU%0(`t!{s`b_Br7 z;*_v5XbZu4Pm%CaRWm)hig$&_&6tUkW%s9?OaabVBUfX(4(1u0BAwO2kLf64vZ&K# zpi3S*Zkdn3P&4jh859{I{@LKx5ZzFDW-{{+PRfjxcOAD7(;*!H8XtRk^bV`UJJ-#4 zpPI?0BFGN1neg#HP0hVLo+Rt z=8hcYYfaZ}Cw8jC;`8@0=QCccskQsgO@P|T4(hP|>hs}HS8dE+v!s>0aNR`Ym9u{< z$3CdLnNPVAHL_U9th5}0vbu4+(*98B?N&T3W7xUHplS!nsT zU$Jd8|9V-)-)NfcW+H6eayE28vg>x@jRZFfflai8d0BuYZ^%!=!V=}q&x?cBZ~&~E z2@9YpZ_ViFZ}H=B_e~_SIk&pZhDcO3=Jvr$gY8c{gr)-F3bnX`xm8FaN`tyjSx5~R z+EbiCpFx?B0HZ%3y+4Hi3E7+n6oVy~=K%4|P6lX{4NU^6>mm0+{KxYmDlS|(g>V!# zbOI9;_O_UGFM`!@xe(8f_yO|X7H|y-RlRY3o{=B%v~D4Fj0z%~hvcbm@ykg|ZP;6R z(Z`4-7_|B~l)GeeWFbMbeBe#D*`HM^Dl}7R2W*ARzytPz`({*KCR=pI6% znBbUyP9VAJdA>b|=SZc!XiGlDtCgaYz3+=^&8OpI2Ka0mQXRm1@s}MR>427NYiBKZ zq6HCf@IM0lLG1>d@;UVGKwUixWC3CW8EY0ORuKo*b<*t=INOq-BGo3O$@vb<`8XM- zb7>z)bi2VM5JPH^#*sp}M6tq&sgSKiO3G1jD;WB{hIb*3)N`Dt2T*C5T&AOOHx;Bd z@aCh))az!>$KOYQD0N&FZUW*PH$)u|M(4f7oSo6v%~rsX0{nbtKbG%xr)Fnn zk9%%?9XTd7-|ilk^jcYVCOS=c^$yUKmI}K_2oRf-lIpn-#q%6Q-&)1!BZ{u5NZ3_k zni|G{o6UlcuW4Im;%xAp`z6>m4esdz`wuDx#cGyGIP zltV_S{mC9?sP(_Ysr>=O=v+b4?MFl09){GSh*1se_l@6$Q8;2uJim(~IC>;mP3Be0 z#6@iW#gU@g3E*@Fj%~r5)zN{i7YExT87`Xa5ZR9QX_<4K1KPq*E`iQ927#CBI;Cjp zYCn9BR*XQN6^oFUd)uuhZ|d>kTatsZaY@_oV>fd-o+0JGH=B74NN3G@;uNcDf`Wmc z?1k1?zxyNc{8(`C+t2F7N-bpr#&XdQ-XZ_a@O%yP7$12CNf0K5n_NC!Y+cQ>hY=!a z1Fi@DMl>vWN-P|`I2XYxAthrKogOYBbbQp+VWi)IuMiyB_uubt;(NC_qW#`K8VHf; zOoRP&NYa9BP4B{%(Co8YC3_)bXZwcCu(qcA&zA-5zo7lOoP++J_@bE67#flwiBu1mQod_&A=VE2*> zC@|E7h1i^eY1-?MX^XzhE?n9K?CAtV`XrI|6#Af1c8?3;2pkSX@oMSE)ZQongJ&C+4ad;i>m$sa)(6)k3mXM%ch7|$`b%R85j zwv*&zk}&Gg&5Y!i>9V`DnWc?@c2n##$tDw3T$XtOj45~)aw{1sV#ZR~CbQ*V!Gca? zn})K#!G~Nf3>(w6s#A~-n{-9>oS-l0MY>{m0ohy6%zwKVmF?~7fW$;(28 zW~JU?Tx;WQ+b^Tl-Rd{GLZq>-JvMA#2WR(I4tnhVHc81BehM%Ymu@`y{l0h#znP<| zLh*Gwn%r^+rvp9IDWtps;Et)_QRg`=(f|0YaE6pNLd|Nl#c@9E2g5=c**k(C5{Ol{ zZ&1ac;x?x44o^X|kxAwS?EKCL1o6&U8$@-F7x8Hs0LWbc&^Ht)n`rXIFUP=IZ94WPOh_D7)&WEa$kE%Wgxc>E_(ZwTyv`%*; zBf9GWR#zalSPe(GPJ>Wyeg*ayjZrs&$wM7Q~20ZH&^7MSCW2G8d|7ne@8%U7$)H17VuFQrEv793;(tp!t5_5<}><1v|S_ zXs&fFxE7^KN!D8vfDFAp%o$$P;T}s-ko8vnh;hfuAE#zdKJsDz~+@*LGWvk zA!ohXYx-Z73)#j=+^EO`7L83j-uYB8NPjyw>_1154zPf zfmBO%@7SOuQ6BfR?#TFEJI7E(k6}46^62b8clL6G2e&6}0Mx|xO?xb2%e4hbj(ztI zrnqFVQ7qq*1p`a~c^ix9P=YX0I;$RJ7frDqUm$~>-wcHJKOjzn?LC4d>qP0LW}@PWoa579uak_?ZW$w2POC88xdC@E10W^#RD(&as#2w=|#D(b@*Tz;8S z(rV!n%M`k`J2>~K(C1eP@(-ZfhCYF@;*2-=za9)OI;TKwJD3aU!VxM<6LG1T=LX$6 zDqJxHVyi3d7*qDab!i!DL-f>aWk**~&SfqiX+L%>hb;S#n%fnyk-`8c^HIlcb2Bv2 z0r(?;Lst=rZGd17Ss)3g%OG}cPh)KPc}VGsSmnoRg4cn0FLlbskqi!}p7@cX)(IE) zo@9$IX<^oT-U_=!QHx#DoDDZpHt+2AqHvzUdO7Z8Q(S3Zu#n^u;f;+%G9{{>*m2Ej zTGZ&z1I<0rw_!p)c&~pMdsW%y4u0%vAjDjPX1*3t~ih; zVHR|9aRu8j509eZQxn4jtlj1Tc$Q#eMuQ<}?sQG2f zg8sPhcw{Wf`QS`)yoG6CE=G3jX()A>t>?yK^wU}T8T6%SL`6H-_r86}4F;jRGys)? zFS>J|=1eP;gT(R# z7lExaCAC1wmWBo(bw4 z1CL;7`6pf+SX#QE9l8LyfK+O(|D!7q5HM}S@Sj-YIQPY~$MKB%HE|Zc2M`1xjvPRA z#t#1)X^rFvv-ejRxXcPCiQ0W*%25aswB;?&9}DW1V3W7VaaTHc(9TN?h26=E6^N5; z%{Sq(8-r&mqRFb@g|sjHzAA!1itH0bX3Xj%d+}q=S#5^rLuY~gl~29NjBm4B!G=!G zL`yPw>A0Ed5689W-;QF^3TPdnKN?EwbL%ryDf)+DBIaFcY-*&;zwE3_7X5@Q(wgP( zRkOy-WOCJrLaaYwf-7x%X1k>G=u|hKJ@Ux%XojDQ0D(JA7r9(Sc=tDohVj;jFLO3H z+_16!myIE<_5Kx-DF-!_}?;Ryu zdtQ`Iw0U_jxOSDS|1eTTOesDamfShKx;#em&rE=1`o&z*0-QrqC@fJN)*=Ty{@yEi za$qT|7ZjKQII-#w#UOqU=5A9pc+cOdh1Cc_qbFy&(6kNGl!Kun%1L_7#u36GIhQdZ z6OwVc1;}=8k5tbm2=M!8CdkVj-)UK+T?0TO@v`K%e!cu}Y#;;VnQ_)^g^AOLm|_`n zNTZe*-G1|hCpj8#zW92k&e|K`%e^((*wJD*G>9i^+@G_B6HJ*IiLiiKfoG{h!kO3u zW`6~et(?8BTN&VBC+@@pbPASYff_(QNA`w7KJUJ^+m&7r4R}{7wX2?J?S>){z|yE_ z+sG66>t^;*!_+3)OpUX?x0n8rhj@wZVCQOUvsDb3C+kLMNVxJewD~HOb|1_x@NGXb zV#8jl!4O#<4s{>t521zcbbWBpD6a5DY^_3~Yj9hw5bI)7q1?M0Wx6@x`oIW3FW)&F zyMJ2@+-nvar)+*ZB58Y_kltD|$a-ZAW@4E8KUm&>n6>^xaEipm#rpq1J#umW57eWc z10E-e?~XzL=;0pM#~B4S6mT{oIq+3LpL4(=oZ#4mKFQE3yLwfhNAFjqWXZh@FK&EG z2becj!e9k8M`!04cH_`hP&9M9if-gu%dyM^1GRQido^@P2a00}j2a})T&~kjwrO+8 zRq?R6^f>i4HTNHF(uv*7J!dCoK>7Y~*yP(pP*ebgj*TSic5KC}Eb?!2I!k&L%#uE# z#JHYYDNrcbKJ6PCy6E-T`VP%`#fIgEg`gFmwE2BB7X7pUnMsC$S~S#j@9;q;PzMZ>r?8bbz8)}>;@Fj$*VqbLS%K*&8?C*E#A zAvk(FyD=JfrUANtoUx(!a7_5K3(JbN3pXxnyR%he1ePI&XII}9-4a2dBq<%3xVo$6 zT&7I`XLBKlVoDT)wxq1M?Dc7LA$v@%xQ(TmGL6)pw+4nBU_y$_02j^N=we#5P%Sv6 z?bd!qRJGvn(aFifH@|(fZiw1X>|bun03F)C!4%HcJ%fr>=bR4u^a9@>@%2)Kj8LNt z%kT!ZJJp;P4zrA@3_D$SpRewno7K7?#=9Px$^rGm+!o0SGV?vuzh!8t=+CNdEwfGg-d)H}!Do*l)>d-Y!+(>eKDmZGDeC z?(aCHnQt>rf=}t&rBz*`>k~?LVC6E_Ew5xnm#~-ouq4s}dicJLKWDm|84|1o`X_6| zcHU?o+m$C`Is%;cGTNW>U#lZ0-UcbvQE@5JVKPOy*29=h=WNdY?kD!M?L`q zID=|VK}JqeGf#G3USCe%NL)I$x~T|Q&7Dj{3fF0UI~2?ikPJ{KpI8XqPXBK3qnqc+ zC5OSL?K92(x+~^4So?Ucj`u-Lnpselcx>Fd&~<%9p|NJYB22L zlGhx82g*Mz_=7;M4!; ze5Yy3rv~sHmrtLV> zf3e|a`S|ryi1|(|u4srz^HWP|9(69IDjv`xC@jXQ=DX#JFx7U&*z2UD(+r!&39qv2E*`fSY|DZ33r4@zpnu{IU zeiqZ#A6FBWUz2)*KLd)(>MJ}ioiLUmI3UxEY!q(mexI6L1WT=MG`Hy87XgB7vL0O? zy&>NNe})D4K;vLF_o_-zUCHc##7EV}pApsUVDhlf^i~s-bqm-hh9|`5*3x_u7?U%D zdIPu9^20!p{2WlUpil%JmZkoHGV@1S2pd_@H8qaqR% z$0!d?#zL`4WCXsvqLUQI%MMlVs9#fjKg>|c4gN<6zhR4$>i$a->k{L4lK+ma{BJTE zkNNNL{J#Zoet1Aao#Xo%rYLHN{hw1cGoq&ZZDzKnnZ)?t691-jCR%}5B9QX`zhaUu z;B?@Wfjc`{inzP)>EZ)~+42UlvV`RuvS^IBt*dUgPzmEWJA(Z-1;0~mP>sJFqF7sN zU_d{L%0wmVLSB`H1N3jNjO(m0+X=1zmw>K=Tq{nwPHQnCsm2s>Z>nu&U1QZpR zD{Y$)l>NU+E_L|h$=Z;oPc)cPP!Z0P$sCc0bOP-95=$=f#h$=}0(C@rz`vfo>pUz* zGPs!9;4h3Ywf}I@x3(*@+ zcT`thO(w)Bh?w(H&xb-$in(~6Nnx}kF|eFWL==2xV09OlD1rAXH)w(PJatgnoD`5v zrh_g37e7@VNR_`Kp!EN`XqTx>_G|x<^Qw~s5J|?%nyQfSm8CI^ju*M+;7$F##Y(UL z9jC<{@WMlepI(X>bf*564R&M}fqyzNC%`bD%rc_-pg(d8=9iKfGH-z$>_Jcy6X`RQ zz!I8Hyj!7J9B@-AkI*G2!&M*0+NldtB{=E?aAtHtVO5vcKB$3ADWWDsUJ;=Tpe;2- z8@NU*BE#UzZx-MVx@wU=MV$y|B$oF5VMe;n_czwPjN~4oluQ>z(N2bUk-Ek+LdY0E zKAyw)QGSmjA1kp&MZqAzx09J7{u;HWc#uV-jrl2d(hcOUzJ=+>qsSqhG8&=1xd9jx z{4^omMw>F);u^r?xWOY7(5>D1KH15ec+8s3GwAtAeZC!}9lSUQ`hBe&y^W^jeZT%Y ziH9%U@NfS*dRsZq6PR#v{PXp>AlQ={6W710~+{rx=^xS0{2^MXEJ8r%iguG#F|cnEpbJe`xhDtnD0S`qre== z-KGVN9V$m9fZT3UAnZjPSywo^Y+=?cT@EaVid>Q&-7NApm`l%D=dGGs=@nM~&4a9v zR&e3!4rBJq&(LWs49*yRQo+wk9~U|x-a6-2-kLPkwvS`>_q?YLX7FBL(`g|5XpEe3 z*_+<)>d)UN>XN$ZS?mZTfQpti8KI<{?OF}W=iwkZF;JvE>qDm-@7>rk7-@7^VH}@9 zk-Y#gdXt8nTud3*38+>*eyJ*udE~DWt4Cr=S~xgJEIbJ~7+CCBm~Cy}n9LK1vo_B| zglpI{uV_h4;`9X(sJWc}`4S4vBYZg?v86nqCRKwm8Z*8=xl?Esz?d5oZ^l+gf8XF{ zUpWVr3m-7Wjrr!aiQcbJC9BDT`AS6r4wBR_K zn0*&1e~V|kMGGde9oeImTy3zBRCxUinN@i8MjIDKi9qKshKX?gd67v=b#+T$x)7^n zT_369cWorJk)Olt0=%pBh^-_^I#DV;C>qJ!VvlMd$`E*?Dg#9;o9P`pbCeQRJ6G{x zSb&wP-Kcn9+vJ?L{09frfP{_kC)7E9D+&G)6{a8}P&8aSb!YFRN#xnCC-O?>$m_d9 zz#HMSzV?ro#PFLgC4U|*;!SV!Y(^-(K4J1;a=@MA8)P{Xo+5g78o>3u*mT`Lu^G>Il&FCUJeYXhPBu%1(=cg;T@_2WtGW7#?! z4@}syQJ6oxnbFVk6%~Sg$fvA%*1Jyn(iZ=)84u zP7*|6Ng^c(1ni;P^%d4rk$pn(^w$=({~ZVu1eEl5G4Xwkh)$5=H4IwIR-|Dg;h$4=P$g zxPP`>#gI<--}v5qe&zkr>ujGl5uNk>V>v~w=@M@nHQ-da-Dwb?{u*p4!5kFLrrV{! z(}H*WI3SD&-0;?iB+&HIV{REG^olQ91i?7;1D>Y4o=K;zs-o3aR7r|_RXEtfY%6WgFx1*! z5388;0+1fCP9a;ZWWn!EmZ0{8uCtzz+c(@03J#l;vxVIh#{xQDkXzj;RkJ3S;>c#p z`x8AD%c6~+RJJ^^dHUGxYDCW-J(vk*vrxeI&zt7mT|90`0W+dl_J?TA>UBM!ao?TO zI*L?&^1_2^&X{Y%jS6>qEe^zGe8wJRIVU*+1@J(_uCVpjc{z>y89pk>OE8e!{fs`c zjlUi&(xcX7ZOw0AdVh=15Q6`bCpAZRWo?xhkvNp-EbH*`nQU-2Ir=1mtO@&=h0 z0f_Z!IT`7k!^;rzkto1yHpZ6WvE34aQEz5NqMzTKaKM1dZ6 zZ7(CW;ac)MyFHk)-RC%Y3k7du*lHilgO|%fMq-AS-;F@spqk|u!81}3%F^bgW_YEk z5)U)QlUhUENJyT}ixnaTV}l%XrHhqS1Za#GD4>#jXP#V*^Kgd5U%i0JLTzY1Leue@nIduTFkp3i z^PnVaiT_b>i*z6vq}&J^LcF~g6XaTVN3PAG$QUl9r}m^u}{xVLrC>umtPwqp^n@h&(UCQ%;G=| z2vylv6Mw9_@umepcHY|EfVX&e`GHGLpU)6i&9BB@a4BJ|A8@O^~3({@Bn^} zSKXJOIN89_aOmbyS&L(fGtNdLtT517f4=eRP9)Vn^eyS)C&jN1>${+vC#O6sZ-U>r zhig5v#c#}%&LKid8d&RkdhN?TQSpZ^f!L&2x--70J5bl98f}jdUbYt)3%cv@Kl3ZJ zL}XMjHg;yB|B9inQPXo+5JK{Ou3MGV85q61^m|2z`bCSx)-Gjt8vGlFYg}G@A4o9I z#W^tocS)~8(WBABUA@VLbPrOBYtocwXL0TP*%C-uZG@`4H+W$n8Cdf7&5W=gWOSDS z=cE8%byQNybX(Qj2fX}B4~_kK^r|e#fVU-=?y&_no%;_tnl8<1^00&=iLRI@hVgFs zDwNohrqpa0Tn9FlGHlJXeoqAF2Q@uFrpJ3MO;MU7Bo{GJn#U(0E4~+X}Bh&^W`3-IDcX=PwyXp0#o^ZO)%ryQN@c$jEQXTd1(6G`4+VbdZ^eZ zOR?Cz>r?u}~` z8Zc{H8!c!7J}4&>dz+3l=!*^rCsUdc5g2-#bqOdZ$xl9aTk$ApFfJ%3Gjkiw0Vq5F zkH*?&Oa%6V_oK15>G6Y&;QcIP|F1^e+F(WKAYA{;Bu0h6{67YiUkZE>gJi%z1c|lauX}IdD6(nlp6A5DreO=>H^b%DeXu4}eKE8Rd4z zIFN8h8kE!J&^-Gqhh#98krd6ZKGLe$Nhs`*GX z_7Q2%l)iw38!8LA#B9LW`duRCTEGO*Ix)F=;n;RK^i32VmHqAvv@x6~E2cPzWV4DA zV{BDeDV9ESF1<$ncy7yB8i-ALxQP`wgaU|I&95+R2%?pBS|vEWc?scCH9b43MJO%H zs=nd!{Ek#@Wb|Jg;>%1?F1vi-Mfk6T{Zf}I^{6Pd{LQF#fgJ#O0+F1SGP;6~ar{4u3@BVHxOsiJ}fHJ68ArGly4usz|l249@mT;I<}vD^>$B^WOU0fTDFyO%dt zy{o*LV?o8k&*3|}PTv~Crn6XIlHNo_{c~s5M8@@|7EgFDPVCbCE^E3NWSI>yo#uAw z^}-$g+s73V0$9MSr&A-+UBS!b*_&%YGi#ep$qTiCh#|k(7Hus=lI6cl=-lP7 zUl;pm_E5)>41=b2Nr7OnK7o3Mm>H{A%){@if>R=7sJ^~4>RV-GHdPPc!NTy46b`nVX>CJc@J0f zIy88a^@W}Bp-n~zjNlqN@=__G`2eBtmf{nGIU_?kl(Dhitb(1^&pY;m%6U(v^bfiw zURVQ4p)?6qT>elkQ@fO~0L2jO+*+@4s2@sU*Gq_IFC)+Ql`v+nR;ck^VZ{7`Pny}& z97#!nS3>I^3_4QTSLjn>GNEuM(6%n9!GR8W#tAdUotBTzuSa+{p|hWg0CPLyhz>(% zjTHfz%Fj4I0Qqzg#pKv-2R&rD+b?VL6rF4R#4!(Y`7t|s*EOhUp~0% zR*KjWDkn#x{4g=I)h0ipm_#648gJ2NxvC7TDYLnh5YE!IGd)^RACAGoCC?Q$gfKVY zpCgefLDUNIUG_m}LY@Bybma<{BaeCYd;?pKfq`z~j-i3yaK;VqtkCdSZ{g?o1psCzeFgF3OXBey&6mUjKzma0Zj zgUs9(2aARGXv9LPQPrn>X70IJwaZu6NaDGzr7Q6sTDch)IFWs3iSCiB%nqC3S<)Eq zrL84bjSW3LkINC*Ezbg6M%RN-`>xek%+6b5PW_9K=q=9*8$~^z^=6OzV*6ac;&gI{ zmrBmbG?#Y`X`=wa5>egFgHU87)fK)RV;ExxX(210;)4#ITo7_wmFR%q0k{8CE{C;}*|qOM60xNF zUe&mS^(X$Q_jIJHb+d8@1FvdiV_O2mP-67D>4JC>IQIw?-+RT3y4IV?HAYEzd zBOsDH@3rwnkHaZ`+m@B4EHU96l!XR&lplY%n3suzo%{HwBi?k8RHyEmB9@K3hGxe1 z=>SUVdg&IO%=U}S>c5UmCiZT3ADhZ%`7~PKQqW>c$+U!d^YuAT;SxYsWu{vjiVbdpN2Kp;-U^E6}mE0RlyBz8xr6!x8Krtp3L%M$@?fF$NZjW>F6#hE? z?eg!?+X+fi74pQi=VtY0^W!-|Vny}eU1xe5nZQCZMbNsmzGy7z3Tm?&pA!3}FhGiS zLFe^XSTBd+oQiLk8|zMO$%>Z;;qJYghJQ0{uUjoYGNXw`so2_bqivChhKR;8L8uy? z=yd5tV0F`QcDd*r{mp{XpmA}S8hkX56Iz(Ke@SdvPf9`DAQ+qSL37~l+^~}G%{*Dy zPLfaxIF%wwK{j}9Q6;2(7br-h7$8wKXM*D+0#7!U-qb;RX_V%Ja(Pt%V-D^p#{pRtNmw`e_NF>0H5 z7%B*{m)eVDB@2aG&vZE_&ne(Q9KEwBl6$=H-ny}y7V|hyPw5m}dWo5bVJnv*GK}*}Dz<2s_MtsT! z6-+Fr+SHu}LV)W@XFA$PV0_W@{z_w(zi#=JPnX(<*YR_b-g{5pk!|OCEu>(Yl-}BN z&XE@SH&u^!aOp_}G0@8I7C@+4m~Av1j9=|bf)Mg;8e;!H>!;!qI99v|{ zq>ekQzF!kAE{-bRpt-FM$K>hFz|+W}@+0(i-Q^XR9QtVOGA5~xN1+*z%u#MNql2x_ zk_9d?l6}o}?yvS1{mEPsri4MEpcj`Cr&oz_{CKrg@E%$l*kR+>PC&jfcSE_MGz6TV z=in)P^NZs(DkXv|% z;T)AYFk6(v}jZdM@ndji|&Eu`F^b$l>!q}wdRG!#vR>P}raevMj z51EM}R^%a;k;FxCbpUucPF3&phPkSY&Vk)+gw_fVX*;#RtV+LKB%l^-S-VjdzgVCu zc=2uYX6tdKdkeQnRJTNDLS{pMoIf*8q%<@ueVw2FvX$ss0!nV)*I2d|TIk=x@9ueP zKZoW!`x=|!&v1UKf)|tXa*p5OS#JVPnvnNpL2$1*39iVzvH%;=X9>F+XXc7#3>ItI z%A`sMd!LoR%cn}l*;ULn0%inDiqsQ~xtm$rXQ`7t;g@H&+@0EtsczUWTMsCT`d|02 z@rZ<HYu2=Xp zMqpZNW_$knz5u4Zy_tDCIR$$y=Yzry+IxdWQ?`#y*|kR%e0mDA{`M=Fmz|HL`ds9*hikT8?tZUVg`Y&T7?{!A6O)q_zO*`8 zLgVgV?j7EY8wRyyn0Gn8qX5>AJ&3fmx*AhAr|y)KgfX<|>!bIb+U+(M?&NPuKq}^) z%FK~32f%^2VsgR#PiD^SkqE<_BYE9Rq8PBcHTv?ePO=@(9Qy5vs_66IAL3um-I{F< zij3BI&Kgy+f0C-6oYkQ>rwT{ zoAHHAI4I<9zwbq;mGVZw;TFYPqXkFoDFjnFZ&FeaicBQ~x_Dkwhwun@03}PK&`~;! zse9WClu-MZKtauys)q|@@*fKj0-?pTJfd3}r=2qh*GvPs!1gt@ILnMV|7_uoODi^w zr~ul81CM2lJ%X=$yw0Daou2lMFEo(D4saRZulTbC$^ZsuF1IqAc~JM<180tK8!g?I z`-Su9Xm>%^(_oR&HbjDKzPHu{ue1s(rGE`iM~ID`c@kf3YGI11T6pJrhxmtAalP;V zUWP>zJe-|1EQ|LXV@=w}&c>0b7YW?Dwg4&?Kf$9c0tMJ;q?Vi$fbA7eh@9Aw=f`eK zA566Jo!)EKLxkDYjY|vCgw4F#^+r*DTKe?^gV!V9*N1D%R^6IN1FVRrf6blHUL*!H z+qFA&6NnFpxt|gp&MtS3F3!&WyniTC?A^a0fgor7NkO)=`M0vSO1>_59?Vz5XAOG@ zGwkJRm!`-4@?5uVU#}4J-rb4*aQFThe&gS-c+lCO-UG6KTg+P6QQ=+6(_15W{dcqG z(B6@iyra(B#@YFAx+iw$8(3xtFZ}=Q48zI6oQ4_z76HM`%*?^Yl~xb{hW~%-Ljhp1 zAU_PKKh83^*xWy~s1jDrF0MpeES&#iC1BxT`7b1y9BqSmyf*kBuT|#w9*iq#5^@0>z_~IX)1XpwBXi(ki zB5*o71&M3S1m*0f^G%Qx=l`bx>ANR>}z9 zJxmKa*5IRPtVV|!2y^%Sd^#gkA3Mz^GxLZk+YD@eR$TL^zNxT`;C^yu2O@2hCX`Zg zW(!mBi|pt`$zxetnofw35_}(su+UZJdSZIO1twQ(+!hE0-4smUR1iy}z!Nmzxu|gN zV}m48NF-qBZI#gc1ot?)no$yBC=fgrxy}ns_cJI4w{t-GKsssHD-NPj#@V+Y?gD$1 znhtB#c0w3@Z%?X>ssPm|;a~#FGwpDIfnbdTr0oSLkkRm#d3F~iCJmM`5}4Q6Ie`s8 zyvs&Bn8{5-tTj&>QBP%dS%`fpBK+WJ%AK06cHx~;j%uMR7ROp(V2m`4m6|S8%!R@M z<8o+=ijR`q_eW;iv7V1MnT=V2?JkG?g55w`B?*~k0zEvLtWHjDjQL>9Wu}q&0+BKp z)jFjZe4eBn1XL(VJlm-L{Wxpuvhy3@zsA@G@OtrG-Rk*#J15?mDBjxodcCq@OgVbG z%mQ?MzCIEfeBNB;xOGl_d4E5A-F{8(?Ikit>IMnke|#P+>@7KX#N!ojT|Rp}j_{j>{TsU!ZfI;3)Z)|ReB7@@ke6zj#8(&|z%Mo&isaX~gk3Jz zf8rDvwot%!2i9VyuG2uP25SP6QT`%l!^p&Z#|PT8IkF-L#7&|16(w7U2>SE;c6`%0 z|53-JIhU$9R!_UGoJcl1+R$IRf2CPT$Fu(nF7Dm8&uI=ndu1m0b#O^}0>_G}JN^mT{#G-rrt zQU4qVIlVL|gy_z2uIgY*B(Dk^P=+oK`cWz0(|>IwzJLT%7dp_UWSD6)K#aCDpp429 z;{$3E0Rj6fSP7{Fy6Au5WejuZ~;G=~%()~+MG2_F$0)@~Eg zi9WOyz-1ZH`M)v|01>?KPAf=lv=JM?PG!XQxclzlPP|0+>_c{MMZYuc-l*I>lr>h6qXz4o1 zF)j%v@lGm4_R}mgz@-Gc<+~f16w`b7IHk*sI-SMb9ij(|fH!lSETcI4(|L06tz}pZ zZKKoqr5TbM+FG{Z0!nN82DhQ#VO$TQHTbRe?SJ9I^~+lZmZ3Fp_U0g4I95A$Wl-_F z^Or$%Aa$(*M86l-4bJ^(ryWlHw9jpF97=BC{S<9{YR+rex(iOM=S$Ohhci91M z5C#usWZ6c+w>Lj~PADrd>j<}deSO+}_%`WkLma$r>)zuH2%iCseCPvANA_ICM^=x+ znEo7-eBhr4Ax0Qjn$=T_l!F`B*MMHZY%4>EhKpOwu<=UD+DIcfM3r7D zC_cY0KtP}9U`!vX&xY`>G=B&Y0VRJz<7uR98!Q%qgLhxR-fe3~vmQp9kq|*rIB1i`2X9^_CR2GmU*5)O0QIUFSs1WbLvpzjj^|_D8v`6crh2=_ z&~5BMx7TuHF6(|PFa$THSaUA7XYOp*L|n`#Jt({OA#UNyqikH|Cf)raBO=^ii+o9+ zG*$%Tt-m?=qBzq;&I!hQlGx%+RhuN-#$m-R+?mMr5ZPwTnBlG9lKo4l%t*$2A&1~^*q8r5)Jw`zE44D{_cvW zBbh3YyNT8)^`5a)D>aysU9wbj_ZL#n9~Wp$LT*0XRxI5sLYzl#Tq~2p)S&nvh3+p{ z7Ek~}Krc){LhR|nYfN@*IysctKg&|n#5mR$<3x8==hRYppdbXHE|>tdm~?SsbO33R zf_sUlmBjQgukxkLEqQj5+0h~AmSW|*mj8mEhBcSG%Ia?%1y;zWZ%ad&)G{R2d!#7W z%%pqL+%=H=m;6Zw&;%Q-OEO7(3{rET7ZUukLpuI@CQ615Ci3X!4Z48+V1{0JAaqi5 z1|??WW06`TFhTNYwkf`;ifGF+Q$V6b8#K^Apkf=KF|E_TL&4c0_UeR&QJ_{b7?2;P zfROBVE}MMA=!epGZ_t3MI3OjNRYep$8R&OucOhz{yq~TiB*O#AT!IUdTl}m4*Si4R zR|P~xF4shqf>J7-9HcS;_S5U!ehusRzdu*V$pw;5;Ph?-CP=Q z8uxblTv^kby}e21dUV5a4tsO~!BiAQCnrQN$somQ?SHx|=j}J!Ydq<3lrf2m?yZsg zrzPx5ngN#br$XWx0PE0- z9#dVzvm0OxOcNe@>ocg~5#FhYNa%57GyG(9aLYS%_1&S{bg1|Z;=lQQb7KT}Z!7bA zx4a!?e4pJh!^OZ=1WCsW12!SyGT>8G&@45PHYxx-J2`M*;DHv4Em@;0y1!yu>#3O;Ik&*FS%8)F~aK1xWlnATi`ofSB5n_}m zu7&9beO!+FV}WatiRnn8Slv6|{m71NXyT$q!!c=5 zZ@;c8ZOj-m0|Q#YYr^Y6DlH-B-H|u|0n(PE^BvHX!PJ%(^R1`~;0tqM^R37VkgRjH zg?8k&V637>?4lbYt6=5@@)GAH+3?5t(;^#kt8mAK(~{?8*^tLY^dcK#?Lc&5HliC+ z?ND?QI)SZ$j?kJ>tr&LvMzEIR8zHT6_3(6}8)3`B?ReEf8-cAq%*vXf%i*nnFh_Pv z$&K)3g>qb*d4znc$R1bxb>-$?A#b9%a|%WO&L5ew=4J|Nh!!PmB|1Y&drRdvgG##% zB&a~o;tiF3>PC~iwk+4*)kUy(f;mv-bqb5uA~|sFsP`D^aqWOJTbmFsgl&X%P90)<6mJoP>+WnNeZ-Dfc9`qB1EjlD>p+=* zPq4V+S_$nC_Mjb6VuMv_9u)!?EGg&Bk#m79<`oL4?Pde-EhpYHLI!t1*2URMKA?zP z|F1ojTE6I^kOb@WgAzNKjvZv#!L_cirKHYsYvl52n`f1VSuTuJpHe)tRL`=vK63d) z;~AxFKc#2>pZ@dlO!ZSXS!w)6vnSu&dZsMxn`N@Yv6(%oGiy$&1m$g9lyOP^(EU9v z$7eD8`Mqb#YQutFcT?`I@3+i2awa85ZK|>5JkNh;R-TyCb;k14oYpfZPtR#M6M0tV z&7CaQ&&;(~-L$XqTzP#fyq4?aqdS>L4{^56uK!v1>E6v7KKIhKg4C3Ywu|O|-};V0 zVYboB$^6Wd?7v5Ryx9Ef`u)1N*B<}&2v7J_Y5rpKqwmpQRr}vv{rLQnmE8WAvvKCM{#l{(UnQrctI2-$EMS~tmi^12{N#S0Lr*`a>6R~v zHIdG^JoQ^${gIr58=NL-PmYPKZjetkc>PviC#Pcn0waxy$8_KP@tm*l@RMoYmFai> zx_K{a=xSB2*Id)YX25CEv{LNcy-Rm96Rc)1&N}GBovgd-HcJ}w)Y7Yuc8blbT(SG} z0j33q_6q52{BUQ%yHy_B8K$OPee~2Ouyr-xhEs>W>Tjtq4LBKF&m1CgJ+k8Ix_9f? zwN^9b(hYbebL?_X4{+IHoS_s&0VE?M`LS?SHx}B74@cEak(5{qIXnAd9yKy zu5uBZ?*Vju2km!rccFr z4%Y|sq~tky4`1hRosrTpLnia7pmg%))^__Bdbz+3-jed)7W-G{A3MF{#G(HG|5Y*t zr!&~}1COR)_-mxM{ln%=*|p}EvX#r+=k!%bTI>AzG;P`iUoh9?><;Ff`fVRpPf{#n zoYR-p{i-=D&Q|Qx=BP{DSAJZ1`K#gA#W?Q%ysXZs*;O~~3{Gs$JZxaX7g_Nq)uoWM)Y1rS{sG!Tz zlbUI`z*l9KbCQY2+6G2lU1pi*M{=e~2wl?JAY~xG#I)huOsfM{8{`Z$m-IGN>XtH{ zs!zJ&dxj@dJE6$ChkK>8!Iq_R7r4uq*xI*98|+(Zo1p)Ky+>dro5T~L%g%>h)*s=S z-o_AIY{fD|S%|qJX_ohK26pSY3_c>Af=Y(hml`*CS{Yti`ne%dDV9OG;h>`7ouz>V zk^vVliylby`f}gpym!SrQlQmkm})6r6M+Y^J0D}fM0i7XP+{U@@p)vtE* ziAX&sn=6s|Og1djJ|^Pp(cDV~_X|;=;l1n8OF!q=`m7JQm2{^Z34Y%kcJtDT{;T}I zJN-*b?`dtfzjk#)=)U?ztGUB|zBP^QjoA8k-a5S~;5qoacBNeX7+z|cbyfQPifxbc zJNK*p1CF9ZZ&F=)EM?o0E2p`lgEpzEo{!E-cvk7XcUwkSSnOqK?(@;F7%N`{1smUt zdv&+R>Q}OCv?Mbg9ux zQ8G77`Mq8H@%%cm2|w;to8i&xCL?T~S->h&7D?GAnQiqs@y)LIs9spJChZ6ZH@;ih zSg;%XB$Bt_F`&oV5DM+GVaVmlf*BLG#2BX;OJH3A)+EY1)YL*ke*F=%VCgiBwr?}y zUAntD)#?r|S#>t^9_rPhgf|^pWpVfs*;g5==qC_0WWm?;;xr4f`4R-?(y*U#uMh>a{52}LPT27kZ$b9{ zyUR3P=BoA!!?0t5d=7A3WaZ|1fA$CQ20OugcBD6n^~V;|jJA)pJLqdsvZ`s4=NQ~8 z^c1&ggv^Q7*2nh`@v@LuN7O8nlQa{v2g98{pqrpP=8GvW!B+HD>ozY8mk17JFoh#p zf(4?_`QgZlHUJ~l=4Y-5f*vG6-lqHSnU5PERysdy1;M;?S|8O_w{K71oIl3}Y4^}a zpF8TM0^7PFRm^zVEqITxN%#@wW-zfj6$-`r?+^IDs?*0WQT4#anrp}}1NO0}e9t!@ zfaG7SBSm}Y6Fh82mf001qOI7k11keERgsrnr%N*h;<1i0fs7Op@IVZqrB7|9YHMzf zRAF}#>}mP7`&y4nl-A4|k{8*A!(?jHzI9q zNv}6XboU~664f0PNpqSF9SiU7sYoA1G&qW6=&|0{41vb!D`=vWRD{Dx#}tHjdQGMGd5iA>!v#(uy;x>$ zZIHW*$;NSG$ztx%#X83ioU1KEe>AMTjLq2iu}xx;4(wJ(Rg(wBHdk8fMdkLSx6AnB zuESa5$_JrLg<-SF){m7GIbKwHmOxBgCc{+jF3y{pq>X`pZ*XT{h%g#!)G4oymG%4l zn2@k0=_4P(MxE--JuZ*r?*neUVx$+Ap&QJOTNbMlGmx#v&y$8EwHF1r{FX=KKxsK7Mdj{@C~PLMk*QzEjaVn4C3UbZ%dPz(B6-V#qXJ@YstzgG zhE1;Afmo!-UcAY6jp44uI2oGU(eqLbOr*W#k=(1fPazAB7_y)AIs(#sqY&^*h5WVy zV9XZX(!c40siBh0|9Sqn1kGXL*4DA6Dd+Q@M9#+rf1?nY^%KQ;vniGR73`<{&Z^{a z?2osf@_=?sC-C-2{p=kmdT6g9zCbSSOu%4b89~1jI~{C9qyV~m>2i9!GQKSh!&<(F zL%CkBN3(&gJgN^G;AE_FyK|22^Tp1;OUC}DA%;8; z#yBb{S_&;gX6+%>1^xTZ+qpXIZiFPBmzt2)K$nf|x^nY=NJz6~r1KiB<3LY8g@c3K zdTo%QlwRPBO}H-M#AJSVD^+Bhp^~AcykQg$C5rb<0%xwq;~>x$^l5H{RAPNW1rYGV z-zqPW*X_cKbr7UUZ_ztNxM?u)s{Om~&jbW74N<$I)BJ=eneZ&tX&b$uis`j!b1h9D z>deg%l6c{nW=zt$1&pOl1TPr%by?6$eraV4=C((p$k)e*QYrF83vWt(6n69EootrC zO7}4St^}_x>n@oli_Q{aLKt0lNeZ$iPEF~JVE!9QL%pyhzu=|2ixutK(kP^F=Is@I@ zhk9idCcOmZasa5NR(if>tz`6WJbg*FHl<|nZe5^$QUK8c1;nvVve~#khBMiQn*Hs# zR@oevX3^k~uv#vB;i_!~%BPX7Uz@kCRnmGHhf_4+**-iZ`^Y!)?Ld>=nsXbnyK5J- z9`rQ4dtKRRc9n)EF+8F!u`rCxu*v2hPn{ZqVm|MF8B<3xjNbFjEW2vf(<08we=NbW(Zlt}KN;66q$KiwC=^GHX z09;qHX_XN2)~G<)qgh3Ef5)#tS=c@SRYa&19d*7zm2`g26iu*@UX~kIJ<6u?`q=fW z-2Kx!N^kP$r#B@kd+xTRMqrdTfvA0LE{#2u8uq%*#%g~BV)94X?uY;8L1mEa0d_LF zVn|$=CNf{k=J$lX#yFvKTP*JvXau0nMg!BRwT2+49TGBRxQXRyYfqBx(9|@OBWW8OxhbS%7#Lb`7lcxv&Fu2;AniLgNML4w;b4Ij%8C=cM-6z9|0!f z$2{%?Io)MSgSUltcy(5Os+rzsYCOicc(pP$=w$#To1RY(T~F?!AdNy>tSgYME#cYH z^8y#$a{ZRXB?azJ<)D#Vqt8$V4}C4FM^kvY*%2mEyeacQf3GgCIy}Ru2z(naXo`Yt zXlnyvxv~T)jxe_pC(GyltFIIg9zjEZkz}0&Pm;9EXxA(k#=?kXi9-&k#2NlHr0hy=chJhlR*t~)il(1W` z7g*oOzs2jW`GHCW3Lm}Nuc$aQau2D%Cl*vH3Rf7ZvNs0z9mml?k4_?hfyWMA9bVwm zNhrf-+0=E0q{3^`#2Pq_5uJ&rK?gZH7=^eaijjM^^j>PdacI`&nAS)33wFfI2tB}? zL|aNUv14t7>SQOiLum>3PIQH7pnb3cj1k-ibvK7%^K?)>Ld^5&VzR(AR#g{@vSO+PMoK93nwFJa{x&wpIx)i+>vPJ6fVlasq6T;a0C#rIy8aJrGy{zUW?{FHflD}k7h5~I|6 zdAc5QWD{VsVDCn zfEqs$C3AL0-h>@_-N}CGMGQR8UF)u3_}Zu?Wm4KdUjEzRBN5h8Q zScv`Qps{!~=Q;M{er`KdW77st)1qmB*WORw;)=0T@cKITD<}+t4&sfejs8#hvdwK; zyN!KU*3`)Qp{q(oq>!5@QmMQ$g>sYYqGGl#mV}#@XbE=WN75hAhXJ9k zpDm^KwUL$V3Jsv)0tPm_1HEHJZ8rKA2O3c7>eRkFqpCE6EyTpX7ldriGq1^)b+ zvGPS!y@7f2&+7x;RDGpQ9{qlc7Et^ zEMsVXfql3ab)_%v9TIH=~5Pmp5X)dBI#XR`8rTZAL5h zk`BL>F$ugRH`rKT^qdnftm-O1D_sdZ6X2Y*a8rysXk7-HuAO(fH!gYlI(OOkYZ59^ z)-9ZuR~eeoYLz@XF`p!@iqXeQ5fzOI3YElAz<9FgR}MznF{IoZ=kF$xZx)s|No;Dg zf`?1ATzD1hVF5AE2rBe0qE{7LCQS&_N}s*l+onv&)okV7hJkf-yh}|QGZ_gHx6TVt zX|OtR*=@i=aoOWUgPu|K>ROC*SIC$3thLGLqoU9{L&c&DgEwZis8P+lrMBDB3ZqOR z-j8VszfgufRI_8g$^u-C{23rrlB{ZYkTX^=}bBAC_D--@OCX8mLvrjtGDZKkaYrh^#l++jPtCnl$FT>y=BC z6W&5R#L{%#7Vxx6(GR+E5;Qt>x$Hm7BMPa#$z(BdrAZRh^lq*|MMlziztWdHJzs1J zQPc%}EY{Qy7KDa~vpQ=g+PE4oD(UYO)}xQf*D|iWt4#wbh>Sa~7pH?tQPm&xe%`q5 z49o)Gj|AJbTPCmKtd8z=CRPHY1ku-&*l#Y@dMtw-R*u1KS+F~XE`=F}$RCx*@qb}@ zs$E!Lix`Tw>W03w4sU9>pQrDIz(Ag{`TF&Y$vm@zphB;+mUwXa>LpflvGE=u9ui1(wRD2el< z{9hpS$?Cdz*H#}g@8Hs8&0s3>_NnJsU!&@-wSxYOofmsT@@h)LTSQOKZly&{3<(Cu zDui-cD>Y}RWt#f87{LN?{PX4eP#HLi^hzd<2ov$2P6C9CIcQmgj0ND7RIH!4=Y+Bg zv{-ad>YAb2$7qM65VgVv+ zt2eQkzr|FRZ&sE3#Nezfe}ot#`Hi1R0V=@5G@RMyqe+9X8l;w1myje@bNXHj^P!k7 zs3wh>y|4E!#a{3r69DGx@ik~@0CtY#*c$*E7&8a^KkFhja3fXDd5s(1|LPNiUlytc z{Q0tC&Ao`N&DKZG`?_DY6h~K)!JBKtuq%7Fxv+rJNzQ&FlUkQu7=#Ek2J<`u=Fy3~ zG0&(wX-CY%wIF`9`@u(GGpqh{BayiuCT5Pdf_t#!8%ZI-{dR=&D?Zn(i5Q@UcQ`)0}p3H6xw4x z$Mj%o;A@bq52nIXIYYsM%;8jXv~TSvP{vrQk!5WUZ06z(x26HtTI_E%?7(f(xsoaJgl$Ep;ykaIjeralnTOAXj##VW$*sR)^;=GZ6a40 zV=t{Z=q;9Z^{iVfJfAiZ{_-Gw&)RWA>bpP(a_Kit7&Q_&<-;cbw2h-^=e6duA#G+_ zLRh%SO;5b5ot!Z%E3{l(TJjWO8Z*PzZ?qgOjECoV$J}YE4_9yMUG3T7O5!`1{h4Ko za}bT|w}$oklK*FdQj2G0)vDl}$?(3jC-ed5_3EGx;ZRI1BioWnip?4^TDtD&}#QE!Bh{_V)uXf$S*nY@#b{lkbnKMy*ET{?!o>_TOYgop&C zw6E5NS5LXlfPQSuNgEaKL88gT(pItb=0f~c7ljI|MIQ?zvt2Bdtxv?Blk6}UN~z`v z+hi-I?AL^ORodbf`yRnVNlJhjOC@cxMa1>LN?hE zYEQtB{5x}?gR=ZPan!kE%RvD+c>bG3xY_@mMQGx|h;eby%wi;Gk>DlTc(TbuBQ5+t zUj!SJQO#tc;yH=RUKnJf2C8?#k+cT8G|jL6@;6z0#jLK^3{732fPj%-4zTf z(%(O(v>b+88D7jGmSU;qCqM;botU>T(oLOTa3ouJat_cD-b8eta`ifhSAcG z)E=u!K7&hVpZLVx)Z6eW-CB2oF;a5xq*Kjen^d@Xyu9)$V1DySQzm6id!Mq`r;NiU zVJVGQ@;4G*07^qbUYp5!>#RyTf8d>3$5-P2z>krUWW8W^Pjdi$B~|%3M_nBxyw06l z9>$J1zm~xt^ReJt?<_f^aklXNqd8xk&KvWiS>0ee)^Drq{Y%)@)8CcS7}1$X{K)m{X!gO@DYzP%vES%+)9u+#szxUC{8~AV;EVk(5_L0(p9s&*C;>?^J zherEEKP8D}D%8*80m6uxtQFJ+V_|TwAD;Fsy^M`qFp7-4&{;lfV+Ju;GV%D6;O|al z9k8R?_c}ex_PH<=Pcy_>I0SlNYpBII-Ez#F^(~3>j1a45f5N0Tym`azHtVC*E9G$u zrAp_>0~pw2yO)=G)I*;m8GtoTtG#{Wx6v?{ODL7{*i3+JS5jScPK+?()5vQFRT&=g zMV_$u>-RY^ILk7|IdT=d%h8ELtnV*)cev99#y@R1!k>FbSc*|xP}h^O_xb&1QjL<| zxFL8zneWtQor8r-1!xK%5H~MS+TrjQL$ZQfjDQi$>!~PDW6-f>PhYPt{vAosF1!5a z4G_8<=3jnpY>~v1$juVq%g6^(!%o`hD{TR1t*#3RQUR2|DB`lf|Dg7>I-*(*8&gmI zJjgC^cX&MiQ>P*yqpW|~6W#xljWiWB6LFnn@=#xkQ^PZi`~mV+CU9v|hse%g!h*;S zF&}6OMiXle&dybRr^Y{m%#4$mnS?r{on>!MBxFdyj*LH*_^$11;M?pe;5>@oO)-XE z!yJo@v$H6ufM+T~JUExjDY@ug_f+??P!x3fjU4zocX<2;d{qt5sSSP5$M?>yIJK49|Aew?( zgV-<^%TMZ`e9mu&IXrk9o2GP#5>%U!IdlpzUaS@<6DmzRKb~w>ozuCGLp@2e<%8)J zWxA=o620g+{(d8%m-xK^yF5Gvax^>VJIP~~W3MGGI#=zm*yWL)*J*m>y<5lawI1+- zUEOYzD{%P;Pvo6(u@m@eP;py|Al|=~0Eha_sRJM`KAE2rjW<2cQ?}--)@I)ZURjh7 z44->8gRxEalU;U!NBl= zh5}unZY2z`d_U&0ff&&ciMg{R@0Z8zFcEw1L4u4})bAVdQatin`q8kF{j0!j>+p$O z(W~3)2gD~AH63q-^&b)*4px_eEEh)OoU>gMWzT^($_PwYW-fX)mub}UZNMkU+8kWJ z(9*1Elp41mR`H|*U%W!g=LG$4#>qSGC`D`BUD(w7J8QOYFz4_9`rnn&gw6m2vD4pkmsFa+MwZthLR>f5 z`95iKRQ;R7PI-tyM3n2+(ltopMcFpjZvR`b`??%g0LTLpu~)0FQwF0R*zwb2S&;o7 z7$`~Vz*}@tTAVX4PX}nG^jEBH5hMHmSTI+-aCc_>E|okedpr~McUn%4zwTmHSV2K1 zHA`btD?1C~fBeR3mdwPgoSgq={S{dL3S9B+)MVJ4-2bF8N&b_<^B-g-X60h8d!n9j z2XJ!66Wux2@#JvB0{&L`i{p861nbDlanS+n+q6E9GMQzm#&Z z|BvvGlK(9IYYy9A;eXr4{#W?NHgd)PV;a~0F^!w~KP&&%;b!>{{;k3NuK`Sw9Dm`z z3YjE1|H6OOF-da$g&cM4y-xI?Y=1lPD_-iBqVC(33E=OT{nIDL+baMUM;+0f4j6#z zpDw%9T|Hv`#s73UsV?)?02Y)xc_tKq)`ScJ8VL)^{x4~0szL%Sg-VXO0iZY8Vu4CQ zg0b@aGbm)q9rOT%$lAHcEgNOKE`{%rX9jL#|Wl|JCom@c(1`E#0!o&LS#wVFx3;+)-$lX}WNcE-r z1=5I42f6z#MxD6gJ9NE^%!+EhuxiMh;g*GF0-a=SOOm1`EP70}x4Uy)-QDXrp)brJ zj$!UiIy0ph%w1fR2SFqZ39i#*KPh&{$T;>$LOvPZRfl4~2P{7+R(A>V<@Q52A=-76 z4Asi>xvOe7kI`<%CPNBvJ5ZX+BR)^Do1HtuXocELTu``C7Cu0hLNP>tJjJxH6%hr` z9FzoxQdT}21tXQ85{5lc3gzd1 zxLCdLoO0Fh9EKumfIi4?lyI&9v`2DqiBmU2G9a6}oL9ucPipqd;HfVMF(>>3(NwnC6y@DT0!UW1D8CSvVU zSosz5tR5bWcxi@60?O!b=w33Y-ONGU!jhvlsvDx1@u+S}JShnai_@aB49J*@u4pE; zchlnJ@&L@=HnpKZA{55jDw{aoL{>&hICey5QN`bHQtcPdrly0 z;;>A`-RHqiqpB-w{FCR@VEnJYY_~#8uho6SeWT3os-g-j@3L4(H??U%w-QA*3F12@ zoCPu|9)DP7n#Gj7yG?7*%gDORo4JMOgI_oo)m`cX=hYwkPMjTkW|3y{veKbP+rYB0 zu|~CZ`gGI^lb_N_K})(9|OD3U2?vsI7sKr!Qw^qAxPm8Msy2lR_}%EdNK?Zu^U9Hy&*f+O^{c8mzr_(| z7qL<+2gLiR^woQCB`Ead0#BEJ>UsQaCmSfUT9XGu?Ekg9>HueNy6$_onAhZdIP49yL%~fJu57r4yp)_L_s!%67qAY55dKSyVv=fjBIb zsRpK-Oj3YBtxhVekU>*Sdv8b12K>Gl$~K0iSAE1Pav_Gz^BENnbUD7!+W}8NCE~#^ zGAe|r24y;^AtQX?6x3LLCJ8fpv@dzN*aA%P_W+2>gE-1GS-r3ZVQ0T&{WdUgzt=w$ z)J%x>-ZG$+-zchLpeW_IzCH2=^cuND01$!xgag!uWA!nCDJ~N{J)zL0xkeXn`dN_~ zXv5x4jnklyv|yCKd!K^aGCAj_k||8bqAM_@nI%yH3w?pS=O*Lfzyu@OfbleJGY zl2#Gc-iS-YgCbSkh&5|w=408M->Tv9Xb}Ub{<|%gfJo@k|bDtZR!|Wc{Ly*ZuM9mwVt-zrnQ7 z%Z37mk1D@vuk+oVN9+8`kG=9dm8Zk&!^QVo^T$JErC1h3Xpzk?{?0$78SiFS$Bzdi z7iCco^W{yozc=smE<=Gg!GdayduE0TTfR$5Lic4OD<1Q{e0*tHO6FZDmk-b9mVPXm z8|yEyho3a5bA72>x3PO#P??$Q2;XGGzTAVhQt@moCY46?GUGfwWDjp>Qj4J2svcOl zdeZsoK?hcN{2A)yUge^gP^;joj#sc{&EP8hG~(t5llfPzCY698V}gboK(%S0&)p|c zgm~gW861E7Ss%9EF_YqL9xZUvo%ZX2XO(PPPw~RiF6dF`rY20|c}A3OR4ABINAh=x z5Xegv-aUyMt<#WVFrigZ?}dt2nj79}XDBDNZQS1?Q&`2}^HdgdUzCUDLtPEUpSQ zfMTP!4qL>XE8d^L7_oKL{GvnTt?Uid-KQByMNMk18MFvuy8`x^PePM-y3V6_JQTd= z#AM?{02+XWr|C@&PzoK3jNa6u4lsuSW&Mvmu^9mVK!LLT!>iDncFh205dXugbbkPh zA^+n&(~f|{|9wi+H0B9#f&%4?ML}y)2>|&2uQCUr0DDMK=Kor?j0V6%0l2yTlfn}L z7LWiop1(D~SXo$-k^ga^4(P1e;Yp$X^`OGviktK)ZZSau%57#0AX~{%>#pt6Ls@tt zpt7Yy@o87Ow&s#!m*>Oca<%F2g`HZ96g6C3T^FoocAEk*iJ~oEefR`kF9p;fzW37% zM4q@Blh=r1NOGG*(G=e8CihH@S#zW6A#r}S;5e~8i??9QPC#h@>ni7z8?1JdUk}e5 ze#(?7V1$et)#(rANHl~iRgP(MmA+6wisGjEFRGbG{#|s!#cj>_^hOviqC)p)jT&I@~^T_w=}^z8Z%={+qT{ zAbpRS`YtM_Wy(>`O&~qK+YIuItsz6m^v^sulL9TTKgMdL;CRPkY)V5V5O=%SBl6i0ZcC4FWm1 zBJ69rQ+x68BQCd7H-5zCx<35`znbvhMp4=`4K_FhbBT`AQ3EyOxXGS0k`4{ba$p+l zl#bw2MSzjlz*$)|hB-+OG`E+q@3?bTRa6;%%Z#VAwzDVGwLM-966k-N1b!n4sYs-~ zg#x!2&(>xhoyQq$gs%_0qGaeznB|I9x&z%QBC##X%-Q}hxZVEgHuqUalJ9YUj3LS= zi7pHB+pZ=W3wsdTuO3GVM9UG+yfZILNnJFHVse{S2kN%~96<)yF@Azw3fsWsVha@$ zp(et`RUhQRJ~$a{E#BESd~@-4J`GbZ#B!MAj+-X*SqTU~)_{IDV2-^gp5{3me|wi( zNfm1DRn%-Ha)_c>;)F6RKSfjz(i`)3s;lXTd8Dy@F6PA(H8F9xodSt=rqb9$6T8 zzJI2Dj|)0^J|D_C2(nkhMGc|0xb<0AFKI4YG^^9sDmh-|*%lL-C%$NuvM)VCTmT8g z6-}f~7^wLf^+hYiCW~$j%OsZ?%?dJNNF3D11YDtUNIe4D7X&9V=W8#VozCnD)695My$z=eR_sUtKJvjBHF=U2k|#*2d!{hQ#q3qQ_a+%IA|wzK~Imd+2g19MC-= z#!@pkOe&=nL3BQCwsHfxGW1;fnZ?X<)BSfMn2inGQE`Iev_+HPS7;x}j^eZY2;F(1 zfe@Hlw*`o&@&fP-F@2>Dvi0Aq_?0BMk2>hXF9?K{c%2aEektb{8wfX$j~=F6F;4om zH{Y+}ulf22ULdkc(6=UFy*iv0xVf{yN{XPA!X#JG%PR-dZY2t1+Pb!#-{uiVxB4-2 zM6fqg_wg^!WtXbe5;;uz3ZDlM9sg*)0mf3k^+;OmOcR=B!~0*MRZXne@J4Yeg-3q_%{_3l2DVMgB>Xnni_fI$^y ztGB*5R}y$RjM-;ySR7x zG%&L?Bc(Z3G*^WNiGB}JCGTfYgHM^1e5pZBBlcBRS!d5VX+wA6^^K8_<2xcq?PA1jS;`KvUh)4-o={4o6sV|65 zC96Ad_5!cgD7`5DkzT1~`nij%3n*3ed6i3LW;$eF?DX7%9Xn~k z!f4VtNsCo}ON>qrQja5cptqnmZRS{}6G@=%n~_on{RZRASC{|>lZnz>b)}gS+gWB$ z=3~G{Z4u6+$YVX$e1E2SG1XpKWi)<)>FvZ16<_zNCtHEOB%ZIBY@!33;83hxiS!DK z*`NC#4vqL(?(Dr^k#!$(2^CjTsk0x-jr7nH?cMK~<}Fy61IxM3z`fC(_*@mVDjQXH zmJkT--cbw3#&tvdWrJ-Vcj@0eURcRt4rs?E-U0U)JRCfSBBP7c=&S-OKkyNWlY`vV z8WGLP&R`aD*esO1w3Vl*p7zWV>~{#c`|f`+)LC~qFlVR`TFz%C+|ZY91x+D2owPu0 z!nNM72YIZ1%sO)~0`G%Pc+$}Yo-VI?`#;rkiRAOgIDIaexejW{dSt=#H9x?cT&S-e z0T*Xpu3ERbAhPrI`<;keWi5PkkVPc3!DTf|sIk+NXio49Cj>|<+Dyy|eo3_k!Z=*w z*?|+vbzUT)gH8^NuK|zl{h!zC!I!Ny+v9vI_kh!?`+8R%YfEpl9Q3u8+HO2PEllI; zJ-6PeRa>6k`nR(1dF4Ivt)pK^8XNF8M?Scy^y-dPy2g>B;*i?4ZMTKqU-fFtku5tB z%Z6@Y^OpmMA3ZjfpN6Jp2o?XvX}LI=8QcDY{<*Kg&io(I0psHNUmog-Z!-34+~}Q0 zTF@Q8ewBQ?B=yFnQsG0at&irTo_@^cwx$zqRMQ^4KbqRhm2^RO4~K>KA(n`@2man7 zix!mN_VV=q@Mz}tcnk~+L(UJ*p4t7L;FO=@A3)NRJK%cHn5krm+clJ+&}{1H$R<-9 z5$PqmYp%99u-~`4Ppk{X_u(NHMwi;hLnsV@j7lmCawl?dLHNoL$G%aQ_*%^(Jyep(Rt;Hq{ zM~R(9OAwO14rW;#c$qPAbM)I{C5NElh*UL^&v#SkyU(yPBFh1KGsG8$8QEFM6cW5~ z9n~$_*NTA21Q%}$l}()t*a#zBmqQjAk+J%wV{UUXh8IZGKV3U=cB`TOEWiyd*_SSk zIhq+*DT{m&pYe#zFguFeAx4uneyHQr!!8|Y#8H;@SEY@UB}TX>EQklm=w=Mj9Gzoy zg*qRO8T7)>WR(Eo%cEbnGnTcFq&d}fPNm18*Sg>zCj9YVHs17MJk@w9ASjk)=ZGB~ z+R2d3SHrm_l*cH=FmXXIgh!*sP=(#i5N?-l z#LLsn6v`M6n(50v*53O~3>TDJv?B^WCfYmA{pY5?!8APQ>-&imc9>05MO+=ZtgxTc7!vj&lZVZH;fl-4Mt!`T^6^Y3m!$>xrQQ;zHm*dFF+w1LgZfgmJuOt8cisXnH`sdvjWV z09*&?>EEX@)fG}dh{W)bTa(mR<^HUMh!RH}bQr-=!-4O|ZA#{)ki4yHw0OF~(8hW2 z8p7`>k-cEk&Z>hZE#yS(d)WIbP@7Lv|3Op+P~S|ZHY$Loz9=J2p-UIe`U>#JPxl^o z*an`s^(@M(L@r;odLY9##%3_Ss>15?)Ox8vBWs@hyInpJZQHBdwD932Wn=bmyw~_mm(;ia-#9neus&J^gjjoCI z&`Z?8&5e-p0z=HJXTUS|TSy$M%@$e|YmYu>ZcV^9Og^>@oAM@9i;3rrt^# z)!KLBkhjxW$g|mlS*gWfF0rnvlR1rk1Eg0k3SOE!?uGb_8rX*|SHM6K2}is!oj)Xy zPI~%{t_a{!8!1RMUn^nS+Z%x|$2i+u4}?;e*w}jgYfi4;*AP<--)ff9QV1G%{KGHS zxvM)y&sOa@o)*d?x!|5$xyQmf($BSO3;@h!Vr^J58V0UK&c7Ak#_h$#c!e+wewKPP zlblSyw%YqlnmE@vEitA#4s{GyWMbOgV>aAX7`~+>N2RTlt;Nuu(K!KEcU#rk>+O29>Q7H2%p!u{B>ZBqT7`&GJR<0J& zRo4huw{8qEsHMqlts1>7(EOZTOLYT1YxD=DEG#PLodobjqWoaNWl9g?!+~R}T9AKW zf5VL3fVNa8hUZ{G!JQ^4tU^qHw+lgiAUe-Hg8zT4n8^VrU}zA;tZb}Y|HX7Q=-4{1 zaiV@+8upy{a$8dd-h9R>X`u2HMgQQ6TR)MnBEk-LTULz|i)|VIc-2MDW|*$G$(k9F zmyX>Qj2yTO+6Z=Zir?PfgLzzXAB&%3BSjUBK?$TBI}>-zPnAYzlcr0gUmCeO>0&7$ zvvc?pH7K7_Z&Ss)vH$mf(!T$(U)Ok>AsWjvD*fJza@4C} zVY{Hpo}q*_7F&2?YWHQ>>8Lb@iEF3HhYUHYrM;7X=q+Swn-!$893}_+a~KeE&D-=G zv21*5v~0^mYSq}PHv8M)D#HHJ{c^fBbS)80wa4dfRDfZd673f2^2_4*Q5+L_zLE-vjX&MXCeFI% zexyD71f!jfa*$1kQfZ68qHXsx=<5-4F5EsdeZ97$uhFviF2i+!lwtz4;Kwf8E|5F# zU@&(9+M6}O9tEWXmKI8acx<(-fYuK{XJtmsw*c7!$q*Kg zqwnh5i@)6@4%jb}8tHl4JjFQtx@}j^JIvO>@NB%1#b3Ku6+;7R7_L*SL!gsJQXI)C z9G}5eSa9J2ddPm=LDQMG^1pbAwx>c5g&`+N=f>`iSUcao5piqx@j1}-|5E&%i(V(k zry1O-l*gpX;#YtG$|5834`|TII#l)H7m{eSHVj{bD#5eHjV|hJ*M?96ROtDFP)?vA z;~;i6$0?{cg>%&<@Mj=!ag3-Wbtxt*xyUoEhAs{8Y z&BZ}q#*o{VDIKkabdkL;m~A#DHIzxNmZg4LB*Z zSgc7{&f!E}jxBVM!il0O#njn`>4ckh<(i0NUrs>Zi+xd?0vl|)JiR%K2 z!0;k89q2cs#Ys(}tJ4n;jmNuRQWwO+keEZ~-55U`xUHdRjm1EdFx^01jGzX)t*k6V zImOiUL(K2Sa|A-066pPvc=CqQBS=J!RX(`6)#$7F~)^*$w_XtcdlCw&_sQbCEd}gpGQ* z5Oa19z_=M?XO_3;yM8>M#^&@)B}{@d5DMIblA1AAFvWTq4)p>I2Wx~D_fKvK)a5vM zA<5W45`|?ISQB)Z7zo5}1OcPrIW}3ZHXIutfnIUJ9RzV)V$GREl&f0YQHA8SM~Pjx z9YgBtahcO`)sr@a}lsfFaWqF-SVv1|4OQD@A1|*`C>6xq)3S zoRM-%bSVm0zqO@1)DQI`KBjpCg-=1WNhKgFt5~DAjVxD3YiW|6_CsUhK$F6QXpFf) zz#vlIHXKgG;eR$8Ir<~?bMLEwUOUG@z(Q*AN298P^n_)iDxs@zB9XJh@(1yQ6bt;E z0){lAcK_P@{tJ+QQt?#d5+D<8S^g4Ox8lVELL`rsGAMoWmz6^*-@()2=^hWj&_OPs z#|yA6iKQSzDD(Dr@2B)YmWz$&aL$1C>9}WiUwlW@7EpPzB^B4pJJwfgo0MIPNt|{2 zc9ut>v!tF^Pocx*yyeq=WtG%|H@FIWf+OEk<6q37vTZBb?}+4AOe75ML$+rm8a_dC0?+(g z1)|BO)D_>MSi^hz_q`tUENNV9qOh`zfYo<})lDsQY1_JkP4P3LXeb6MWo;w8dLTf? zYkEy$9^xX@r>itV*LxiWvPy{3!|_>jWfU&xn@yv{W5@95+g+eNSPiHC3SCbWUzDE&>ad$*T49FH{Rr&FAt)k`+xsnDIxT82EVkF6B3JNi<` z2THmJSh$p*`0Li{{YRHqXQKyI46^viOPuC$PwT^(sW7V+V1lEyDfjOn z*fyxp|BtP63eT+Dwsnk(ZB}gCww;P?8(&hfZ6_6@V%xTD+s?^a|2q5Z=j?qqFXrv+ zvyIkUd&e=X0{<_#tkxa#JW>V#rq&ht(beC{EsoWl`DF-G0UHK=!dn3VZG}x0F_QoM zi)vhmPDWg}oNa5@ua|}k8F-?AaFJV%;mAfD1HblmXMh_^ARG%tbz}hCrtwrH==sTj zBOhKq)|!H;qCKTGzk_KK9!)!Ohf}*pIAZpU zVKc`=vlBiX`C2q!T@duiE25dzAu_C|mhVn9V~bptjK}q@wI>z4Xim?#r69!v2ERb* z6mEw9*|ab*|0^Csj=;wLU!Vv^7N-Ar4-4OQxivAw@1@7N(cARFq={V+5@AX!^fZWn z7KjZTKL>mUCgUH0_=tMF9Oil*3G{^uT5^A2ZITqTDcGZNnvg#V4n5G2;{G+H;_1~U z;%IvVH6qW&=kGK{EOs0C?_5i)7H&$Uw@|iRw|WO=DqhC1E0P8ZD}?0QKoaB05$q zG`HpHh1fbI!;}k5a8zm(14(2`alpv}AQ~*iHUfgw5Q^89gcvBZ$^nGDL@5XI<4`dW z*XYM4Bls}&v$4M_1j(@VOUq;tmKnDw2+Io$WE?W&6clO47^q8iurvpMP9zb#BC6JE zhS{Kp6O(40U&ywqe|aD40G@95ZTL^JCyT~>TYm}MhOcs`IzxUKx-#-#UiM*2MeM{?c63q2=r1b@LgOwsHxe4N1GEUg%Dm6^DGx z;`J=n`7Cvu^3!bqHe=2Lf3=pPoJDi#yqPg7^+P<=suruBH^_lI#lF&N2;yI}hkoev z(Y7PmLURXemvqo90;*Gp#`B&d5B`8huud4MTKOA(+@eKnrYMk`JQB9q6Mgk;qg^j9(l%LF3vpXeaS>KN(6+$tla*Cn zm9~R>!;%%RmK>N{F5~ze{DPj?oVoulQNMO|aX>mgI3ci*<`**%#znEn2Hi{Efh#t&1P| z>EU!S(N@)w23WJ=+A_Sr>#_B5#O;wXk+-Q2w3&ZrNI5}fBc*MV(pr=DM0;zA$L}Gl z=S|PZP5;qKY1=C$_~4WQ!!kSL^ALXdc#}Ew%WW*EJr0I+lM173eLN_Bb<7LStI!U$ zUchF##2qYrKCpppTz8^DUvv5g%d2!G`Jw>w0^T0G8&?g@*+EhE$Z7X@tQR}tDhLBI*xf>JXw?7?kwIl3@Nr6_>=Ojs370F1+^Yud7Yk6awG#)~BP7HQ!76A~V33{f+0&SGwEOo5$Bx+og3) z^DzdV;s<_q6@^@$M}tVoBx?)3&oFjnVlOLF@ z0VwBxIR-QSEAIIJA%B>@-Q<67uO~D#W7foweRK2#2@#6?N{a1jA)#V9;_x6791N|{ zGotPUlzEv@@R<;fo*%S*EJWZ)hcF?AQ8LaARhK?g_sns2j$gnZr;5)a#>_-S0trdM zq88m0dlg5)crcM^wCwV8_S9k0`|TJ^VCXa}+#*P2jW*~c*4ahNF}f4?kh~V#0A6>yLu(6v{Efp)wsXp+&QkuO zQ${V(tNoQ$p591LRvSnW2GxI0^E*jMDg0-T@QnO$A!=sfGmRsqEYhGO4PXg1l*BfC^-phL zLMdV>sdF}HC~6@k0YPrb6*e{7Jm)ht-T{atXYVh;g;)vXFC0Nso?49`{(Hs3T^dYj z{TV$xChH;YyxW|vz~ZqRGx16p$jN(v!K6CcP5s`x3i@=chG*KExtI0t}e)Lu_E$qI#V_6PSN?s*z zf>v?XAN^^q93dK%NTilD=$SH;W|739g4wh!0?6<_ISlip;{f*7u{Fb^-7^M<%e}J% zr6cU#1QaxNO~vGu#dbyOjNlJz&~=(uwsNPvO1ICx!35VfH?muzHwt5d`;5oX+==ne zoI^b)(>hW6pmnl(3S@TSqt297`qM#(P<*zml-WRM)-^lnrY~Pia$mwl(pdg+mMspu zueTOPtY|xcBS7B93Ng&?>u6J!%2e3ah5c%?-c=`x^iWf$ouK}P+7XQYtS^TL@`>aI z(kQ$Lm+Gsd{qP_l6D>gLfR9Vgs32Q9tb3h)5-!*u1Y>8lb^pif|4)FUu-7+?hB|oR&Tg zOvn-6z93upw#ZR+m(3j93jb*Cq6&1`NZ<3+6W>wgx`EM8R!eGM3IbD7NbsX+-F?pP z{(1<^8Uv^%Ayl{wXZs%W0oi1&++YCpO+q#Vi%_vHl$67tV9=0Xca~FMnKQ;40#mza z4>XhF1OW64N?=#BU+OxOXZDScB3Fo+N{5w^%`b*7Px2j{CN%=9E(r@~MJw0oX`ryO zx7sAFSt&y>u+>K)s$cX-x1Epz|AHeYuOfDtGgr6@h$<3!@M3vT=>6&lWUR8p)#Pw` z%)y00=@-XJA-8c^FVWbzL&-1JO;oqbwEx(u7!Vp&;~bqXVgs;1>s^5a*%qC060bFeyFeZwd%@EJtd_p$+KLW zWqu%}@I>(Dx>4Beq7cPN(;06*UfQYC2@cZ`opP|(+f?W%;37iwY~wPCB0`_tuA~R$ z9Pq1+AsJfGe#x0!A6y(Z(#8NB{9at&PeTY@$|HsvIfQBv#>G-;pTQFuoiWuLiXSGd zIjY{_Gg3~FLuRiV)E7h|HCS<`H+5CM4p&Trw6y;4cWO`~TBsowjo2S@TnBWhWm*KN zD8t~3BvA4FjFT4`A*t~^tU^C^6t+cJQ^4=4snff?@!82K`$*C_1_KY3$AxJt`#WsKAG<-Aq@khslIu#QlPNJua+`F|47`85gvZ*+SL%6ma1$UTLyC@*}sDYDq#sSFjV*F;YbO?oROUY)PLE_K-|A*78| zzO`OJ#4I*^;3PqTL|Eq|g$-wWhyb);A}l4KL7kuhD9J?+{^Q#DIW6Gy0_Q;(MM=cq zd?EiD)R;_H5*23&^}Yxgmsc^=-#jLFp@EnoN^Izy3-_VFJt6ysXoQl$@+@iQ**o5d zw(mCxS+E431KN6wH`{v7$S1V7hxYVbHn{`S!LF(IfN0^Y@E8h*ayN41q5$UzykvAa z#%(&9fiPkbgW0eUo>w!TII-&@3^|Np{9PUIoD9RbZu~&eB_K!;=jVTM^VC~hgR2>~ z5rJXdyvlu{P9Z2(n>6uR*g|m*gY{F%FRQ?k?dlpAfZM#Je6DdysZxqyUkOlIhB*Ur z2+@Ed?%uEtY^l=V-~;~f69NjnmfZy)3Obhq&M%x*{m4$B`JUu#PA_u%ehD&Eb>}6C zgJG_A$P68bEqN?HTr{8LV45|qRCn=kXCk$kmW11~=mzD)yI+&d`FU#2MH4?R;|zV- zt{(al-^x2OhsRzAzN0~bPU`*uXILEyj);WpSCIKcKz`2j{I^m_alr>g_;(ipl!<}i zUy^_tu;%zJ2)<8txwpjCQketmK#}E24Xza=QX@*|(^aee9)1GLg0vFT&E^2Wl)kA1 zEErQc+J_L-@yX@M*@-KvH(dU9am4Uvr>4&Po;Ve#R9JjGcsacwvBaoJti9+g3AEbT zcFc7n9fov~$}^{-H<2May6U3qK~tv&4QB+PuWX%8W0&u)dU(|IIWf>m`ql{!T~gyq z8)en)FYL&}6H9LwI9!2S*Xh(s(hE?L#d5~c)kItM+%p6FWI)cr-0&)jz`ql!90u(@#TY@(_z0`Wa!Cj@4=PHj0GO0Uho&&HcR{G8hvN1A;dFNm9NYm_Au}4PkSEkgj5tuZv*mej zib7-Wr>#h{RKOSPpA3Q6Ko}m?9y<)cm5s5-ZmEEI7+5=n&=}PXFnef2F%dSTNN#Aj zX2l5>BmiBam)NRq3Mq;i7h>Q;d zRz~b#X!Fu~72fGlR!NJ>NGww8Tvj0gKYE)gQkrglCRsGi6SQR1vn^r@)`dN5IwBxu z#P8vILYeEqGN;4)gp?MXE2*y#DinNH#9zgFzVhD^SI_L^2tQ7g_5MUh;w=pxxhLTLYE13_S0b=6#+kyGz;X(ubPR`%f;S8Lz!YJYdQ zXGu1k_njuiU3CcN2@5LL;l?P-{8`h?6{C=sQ%ZiXsGV2!D$AHM|Dy&lF!__)M5O35 zXv}6MN%KLaIv2M^WQuqhq9u}ZR;6Y1qHqxYf)_3VB5h%z^^IT*mC~PvgExs1*>Kuf z4xB86lDM+-y-N=ax%BU%VfJXD#P?yS)c01bKL=}K_&&3DVubV8 zKdM_>x-v#qz_h5MBcz1@9=ElbvdH)DV9*#M4%#pLn=Q$A{Q?eLi4kVl<_~}M%(yU< zVDVrdev6W*-J3kc##4X=9g-$qK=Z%9dxo~ORhnM)B>+S6-0|rWy>b8jx>B1h zw8z)TqZc2R%cGE-hbeca5$J`~t&yHw!IXaS03+^quET-m5t!x$i1_@d0|Fy?J>yi- z_rp`fj!|{r?X}ng7BC*s{Nn@!AtPaQB449=8bm5gq$Dv`C=gRT0{k1rQs6nGlR4LA z18079m4x4dZV(BWwW6l$-3wg$aRW&hD8b; zw5#ouZmt`QR2m*?2R;wy@duCioQHLV+VCeX5-TmN@tt$R7Js+wHY`gkYHjOXS0180 z&1e$MuZoPW0BV|iD|v}Hd$+9*Hx*q5J&|oIfch=9fP>^z59z^Y~ycQ&b?{@nESGD1J~nn6V~6G{5a3U!HNfX1qZCc95`YlpCeO z(s%dQ^0VaQYp}GROsiyCQB${;kJ}ACE3D`y}hEgQ91?nFq|B?@H_* zJJgHMmL{K*XfD()bA1=>wr}N^F5K3QPaYcVg#}sEEg>M)?;9ltYNKb;b+}jex}JtY zYgIIZ9^5CmH{a=3Et#)#uYJ|U#t?p&W_<1ofLoFe<+@uE(t34!aI1;uT4ZCA&V;<$ z%AkA|wzDQHtI78Qd6OmW>egoC_?Z$uND=!tcU$MwHCkbwi{_=!p}SpnB76qHf=LH= z$;*a?yQFfYs9#_rsA)KcTvy2v^sd_7Y{4S5dzf--O13c7+*pgqi;{egba0tdHVktl z;4M>0?_SZq)S=q&lqX(UMVT?~eIx0si>FT16uX^JxMNwIdU!>sgrc5jb=;=j;NT>D z*MUeBijSAL=|(^OOw;DV@+a%oRcJ`VI{hlBe(h`r56JV8EAL=G4eR);o(+OO#{Xgy zF#oGS`E3)Vq}+hOfwHhO{IfHk(9p4)lR)*E`djTTMZz?mbtR}}Aq?Fnx`Dn*SObDD zWZ516CTIxycJ&m=YjM8)=VB4LoUa*cYMuG%d9uZgPM(jP=f$YIDSOH^fSi7q^iQga z7)hOcnCiG>mc~h19a~x!`BiX#AVE~aVc*Jdgh4Bn7=bB0p6*3gwnGB7PHCr$hZCp$aut-)T4?2wOitX$;{2LPz{p>U z=T0n@K~G{CBh2*o(8v{M8b^(ZCi6kOgOQ;5bBDrLZva_Pid6r=hVSF@tc;b{@8ZS`H&G751TfAF@M#absQS&BNt(f z3c1L*l@2W)On*V(3!{f=Md^~efe#P0p1RpJDLs=ROkTZUGwI4Dx@ISPM*I2$StRdh>7j11CvLa zU%t3A_N>@*u{$~P(lYtjpnUe_{@|Xfa5qb;HQ4mGan%fD`x01TbZjeF0kEKRIp`n zqV|_#5*#!iJcFeG_g^st>ydaHk$BlzGBIRkc+N9gj9M}}F@x1{bif+FOvaqq9cFi1 zV%TZZ0v0d!WPcPHNFn79vzmL|3Mo+cCK+p0YDR+9mFUnW;9G~-sZO}F(T6*y73z=? z^_x<2*|9$p$GSLrGjQ{8UMjc^hdeSdf?>s(=HTiRhjq*YG{&F|EhQM}3vk;x`Mf_& zS0xcu6wF=p0H%Phbl2xRaAiVquc2HC1V>@3LnM@*#9PMwY5+-R@0L7r4x zymrphKXTk;4xLxh8^ae;x7bubDOrXRVF-WZiSk8EBL41u)`QMU9JX9R&S?}0D8e|= za=I?3y+W%1oK_I{ZlOdBV7j;;P<}_e0*fB17)BiPrs-+yi_v~ZuYb&nHPpD7`Yuhr z<0{edfFWarVkc1)w4(c{p}SnT>Mjmw*F>-AEPzD=!~c|lp)ju3pe>7^qiSoOG{P^F zF+AV>AqmPqm)f;xVVO-o+K%tl%H2R4YiX;r)*~AUm|-xkNp0FqPCxxRR(yzVn!11& z+!Iuh$R7!p^Hlti@yl{gGCR^!f$$YUoJ|(0F|(I~~k|2p?|* zkFDDQ@Ik8`+;^^}78A`^IEAA03{})z*;P8{#YTjOzd891zhg$7iNiGBSrZP#CVcp5 z!EZX_)O&EWo7$F7ziFJPYK;TRO`r*+R+BU9MNEs|4I5|2p)8N9N?e{iTD55E&NL3# z@7c?CJJ6cnMiE6@#yg|xu_x(;*ToBcwW&`5Kis;Ti+t%uk9|L~eYfqLUc$eMJUrvr zDnB@VxYPLfvlb(w;bV#u`sOV5$QBciCGMJa)AdXgFYjK;G|IaybY&YcH`l{K`-V;4 z$?7D1m+&L(OENpI3Wt!bTi%>C#&x)991QKtXAD-fJqUL*F9vvb+*MCm*W0Xy{H+oJ zXNS6YkOr}?&irtY{=ZWe zFK1#HGN8i#B7n-9krP^q7wj1LKnO)@ZO9k+D;Q|Yy4kX%et8u5J2wYC>te(06kY0{ zsk2}Ul^RPt&RRe@05dUQYU+nf+#=l%;Uwn8XvsLuz$mV*8|DQQA(3yF>wHVfjyl zn34HEYrG5fZ^#uJV&|ER=p-cD5w>h<{Qld~xEwgz@g@8=c@Z zvT>Ls)#Ks}Fe30dUFU}@hV*n!Xs#Zlu^mqiysnO70L6fsRB%yF9Qv|-7)#T#c~p_p zJyCutip-vf6mpijNv3^afrn}g6;+)q79hRT7l8Z&`JhUKieUklG}53<<>w5Z6o>K* znH~?SChrsR&YB?_`NLMl3-{AlU45#m=-tIQ{YQrk#!JfR)i6FmxHtM71^q`#j7a=g zIi@KFLt#T6g$3v%9iXve>qf~z)2f(&7Xdwvr zkN_+pqOpE0tj8H^tpd2xqxx#OZ9UvEZlUldsYsx;ux#^emh=deCfi6X;dd0@N&LCDKm zhHX|3HHnI4_yWzo<1uSy?IQ$}POaeaM}YU6f$f_)<_vj)zBD2_iXhF3lGyfSc@v^lvnHlT8CFmFtY6&G>Xu-xydI!6#pBbWp%=V|R5 zOS*+Ak*t9k8hSDKYS^$`7fgod(8HoId8|t}4BPX2=K8nGt#^1t0gWtX+@*{Vt=ei1 zo|*|nq?c*^U!ZvN@#f7Y&EqT$H9#unTGoaDCJ-Hwkr1DQ=M*+J)3T_lMBkEXoLTn! z-14+}M_D&5m(EmEJAD%Y!2kF)T_ADV9EF^vm*J&-Gq1HrM0y(hI9zNXL$yWHRP@{u zbgxDMci00JJWn9-97NFEI_(_HpR%GmOh~gL4NAdJq{2YmPYCgmE+EmO6ELaEmghmz z(axiQxR6ZX>+!3=*$tGT;ierD*#?xn`v~})QL!=D>EMS9Cp^Y4RmZiUlzjz9cQx#^+kyesGZe8He`KvVACTW#-=dlvIn-u=so%GWk z^tNOeb2k(F0?Bjwg$ELdKLA)#*=o2A!Kl=kGz-}7{8(LW1bARj%VU3@SKe?v9wZLK zdDyWd8;duDrPTMWG%NNdl!eWV`Kf@p3?HgSFCvbx?5}}#5f}JjepyE+aY+)X6IWqn z?voor#?VmcG|pH+qU8vfseePpghPH`0TEW-{j2XlH2Y6v=+C^G_R?T?U5~L`A^L2j-!H=?H-gJ;Oo)hpeiUG&OlYE- z9Ome#yMyfuuk2sDQ)bX+vu*o1jweit<5EF(5&H|y+nyN1iOYT$%F8Je_L8B zgqdx|LZ3+r@sXw@#YAj580_{Y8&4!k4@L#`R1-cLxTo$MJe51A0ai?x;7H2T92zk| zM;wYI>fy#yaxh+a=((H$(iW+V`4}5YJ6s=|aQr@8)D4T#{<2(1zdb6)WQ~}DEfOMw z%m&jf=Zv+D*B&0`7U@WE=k^~F%Fi#W86vp5+*Xqf{S&y?Ye}P}QId8;1j#1@O^7ok z84GvQvTZOtT!Y3)K+RkXznSF@TTSXOOE-^zJ_%U%f*MRF@0aF5 zV#O0bxOK~8kg77Jo1?Pj$fF1(O{kxoN@Bz$@V)vKkdM2Vu%k@!uN1JTxPHicV0+Ky z&;g0#hN>{ZhFOyl-e~@QQ7272I>udUU2eM3IgQRdsX8yZFA$fADT`a@*Y^u|CoB7^ zkTm)5)9A!G;zo{uK5Mv<0V+MS5a4+9DWhle5!{k*LPdOPFvW9Yz}UsM$2FM2qO&n+ zni{JXk_38bKItszf<5^`xVVL)@fpt=pM{su zIlsjfDI=DA0W*33mX_khH73bcCp^gpJ!HR>>085SZj&s}_~H#ldX;tfT@ysL_Pku( zj5U@fs{y}MMDhh5@)bQ86&G}48bwvhf7zBB7M5fkDl7&Q5MvW!Gsz@s*ix1HplpW* z>V@~W9sH<>%F&cTy}9yeO|`>VXbXXKlHfzo{4+^pq2K(sAQtp+A;Uz?+j1->HxWrW zyMAP}>s{${Xzj+?&)gl#HGu+SG|@|pH#8p6RS=*yk&-1MOp&V)@|ceziR)MId>L9~ zoGc(fOA;*-ADh3g1O6AC=3esAa>&&6^`9 zM_&{boI9d|wC~X1QZrhvvqHRq%F3Q@dH`q-xvrvyf%2NS;NDDWx@aEBtG??@iRK=5 zbUSI9uz9;^W=M5u@@+%7JN0cd*u+k`r={h+@N9!KOBsF2*Rt%-OpskDoMEqDW5@<^ zb~|nw@w<27zhKLQMP*(2s&LhQSLl+}M`0?<@y*yi{bH3Bf4z9IY+Ko9z1g>7&;x{L zvo}skYoyTz023^psBQ$Yr%mdf&HS{O9&r&)62RZ)zzuP7cleu`50XRF98jSXfig86 z8doOu4lj%ij8lCbSz$LJ?&}Osi1xEFjJh1Aq0~SPx{DSbz z3>G91+1%EcKEaPrT5vHc!B01FP|;jK`ou;YxV1^qPe2<-s*q0%*nh9xfjt_;a|TNs zm^P~k6Z}4}4IjMTnLzprm8|i&+e;CDmhT0=Pa9m|Bha>4bNCGxn4Z`_?&4RZ@E6Qn z;Sl?O8~pz@_rII;V2mux|DcBe4H`C1a~z1Dn|eDt%1q*cnkYAR?gzm+k+c;_=vI>`0h1H`{EKLCV&c2NRG1=>YjU9{1W+JAy}grW;qVo4my8juR4si$Zs&s$Q~xR7}!$H%w1ji z9lLrKjH=WhlNx%pon@X3eGw3PE#=&xT>|QCESoI!eQ=&bk z;oj#iu$Bx`n7NI=9Di{>4fvlw#OY7B32rYQiZr*a?PrKvQ**Jr{8^ zP(+t1h95jR9mO&xIWSK+MXeWXp$B)aH56tWZS56zuEP+jYKzi0`3dDd=)P`%WOU5J zxs%IroQvw53G@v>1{Dl>P>r|CHK6gpNa0X&2(OF^1Ho;hc`k*mJmdMsmJ z@?iI^-u$$7*@z)W{;FLPaWdSd)hGl;7KVc#&%2^da~aqa!~Z5Tx1f1s;$Y?BuH2!? z$;E@0udN-+ZMVxMBjvAN^xsL{y9n7o($ul0#EKF~h48|F)_QDBnE97#xyumxl>byjiL&}>**0-6Y!%tGXq5fNf#<5-!eEFI#kgVmJ+VTQ0?@~EYO z!V7qZxx!d-C~ra(<7x;zf$V?_8hJvQK2cy%Jg}b=960f97z+laMS&lEwHB_4pkHcv$AX$Dm&o~=Xw;R;P`=i{O z6j}4W_jYbxi1w6K092^#qpx0`c!dj2oOpvw(MH@6{S6WFn#eTx5qUD&7ryh znC__4`J#7Xz|c|U7{ony=ADo5ak^HF4CdrudM)5|r{<#7;;05P8w5Rz{iY7pjg{`I z+4PXb5>MY$FkZ{cxd9|7#fk-)JzRN4%e9-IKH*h$?cS>MmCpEvN+@Ld7_Vh{+hz z$a-g|SxR|mA|+|GX6`kpg{7OR>*IJDjO->U%ZrbITlUjYKwC_zY$}P6W%l?MnHVy) ziecc-#Z+V8>~?G>;(7B5RJ=*?XoR|a+>SJUe3_#F1W*V;0E+>lAhZ$48)e>db2DbU zr*MMP`!h$L2uFtZ4{3U2$;eoDZL;EkBONvd=%0Tqa2%MhVQhj^bXnPk`;m%U9?x3* zyt65KEq=YHGvQ%0l6><;m~3h8A@2;YUPADFeR2+$rUt=(D&0G=(XkkK9$6ph(alA? z3n%F;(UuS?0cv!eVFsb=xKlEGI<*cX+ACb_V*M+r3?exSdlwloASfgT$B}HDJ6x2K zG#ff??;wQ7kq0iSMrN&LgPBWQxY?RenV0PxCW4jMvCGl6?zjw4k{RJLNaC1Q@0+y_ zS4eFWta2A>cRW>r;mCAymI(BeMaM3Nw#vrd_nKe50R6!O=HtO&^ma=c{g!wfpsXD1 zA#Ns>yHl!~kr-o0?1+N{5|;j{%V!WaxVC~2gIe$_0CDT9Jv^>V!UXB3{0Ds zeM^=@fNN?cQR}aRGwZGhAUbMz4+&_)9=Z@75)MT~Qmku39Qf9^&^q+QLP9CqcQhSI zV(oenuIGgKv#yRy$fF|E-wf7sdHAXh`o!^Qq*~8eHr2vM{QD|w1@PQBw;wD zrgOks0(_DdqPPw}7i%rXuld=PEaS8WpyG4!%DtWs+6KsYniM*cB|c{-AYIL+#SZon zz$&^Y&uU~04|Jnh)M-R@>u0N8l1qo9?gF@Ui{M0OKO7-3uD~2mBA$!mbp}WQ#>>D0 zlcVo<2n~aJn(cGKuqu?Fe)b?=YjNxHLjEUA>_-#JEz_oRXo$X8g45MHbk~e){dpeJ zsjw#btYy9}&Rniwbna~}oAt8fPh1mZz>f)CXJW}d6WT0oZ0Po#lfr{AP(PDSV(@aQ z0IP%Di6dk_}1NA?UVAAxhij$aa1#f5QtSUyO;(tle=h1w94@VpwnN}c? zvn7n(>D&-47VQUK?xKai!zQ zlh-9!6l_=?h8-U`bhxyP8f9x1iMB{`S5_Gh^{q`Vc`fHbY!<0}6oA6nDzb1djS2LP z)v{xm9TVW0^#^@wL^%wum38aHoM{WpX{o3mkAMlwALckWQyK2HHeHEt0IVw86}P5X z;}cGcFODe0R>&A}&EJa8X5EKWtSiQ%b*{O<=~X>muLxa`IShXx3ptf7H5x zb^BUEbR&IZcYIBOaDiSH2k}yYRZKd^$55l(z7bg12s)H_$3`Uql(s81+C|R(@p@pI zTUYx*%sYH$WGv<*oUog zgvrCY0?p$%%rUwmq`pi-MjxY++k7gDqQhY$U>{o*HdL zDe1gCzn4mlCyVo>qL`)n@I1G_0GOrFNGwM$?N)I@WezS?+T1m^*4QT-%seUizH^hs z>5A$!dtj_+GNN7Xmg%mbHT$e+^r&g$c+|~wAXRLIrVX!891pwPv<7pis_A~p1ALE2 z4b@GsM>!O6J_5sr;G{{8ubtCk$&CqXBZ|TqMFfcyg1S7G2^~d%AuEc{7eH+OBTFCH z$!faE^%&NHhBBZDq=TRXF7^pHAC}p$JGm!V>*~=xLm5Ic&k(aX(@3ED>i&59{rGnM zCkY&S@?(v=gyg}EJnp*QMh?vbZA5;lr^l)W_)o+RksnmDmX8&p3<7dgi>te_lWfBk z8l|8))>Sp8p4yG-<&8t2B>)g2#${i9pgUNO$+G%!j0XB%G_pUEacl$pM?(5brF*@# zMPYxPEO%Dc-OPXX31bJ;{9n1?K=B%3C6_^jECfYM8LG`R4GjcR2q0R6I01EUx`6iW!8#K9@O`p1 zN)g6f>qx)!U<#LNx9NE-l@kb_9T~!Ue~o=EuIcw!ouIIqHg;|X2x^SrZhZ8|EFXGg z*kHwlqZP@Qi5X&Ol}}P?J3mR$a&dqQY$C~7@D9KB4Yj{EH7LN^_U^C4T}$uMK{y4L zOg&gvG}!#x8^A?Z-J!K8ZecIAn=?$R4F)Bz#>A1FOvV756I~%VxDKDJTGk5lVVSMH z$?I<+_KzqflI{SOQx9^8z8d}Zh5=cqLh44_;vl0q7BYd=1z&`*APlXPT+d5*w-~{( z%0a1AooOj}GmOr+R8Vp-2^909)9tmVeZzWjC}5yaRzR*puEErwpulG5#-H#Bt&^iX z-$ax8qYZLw9vAbDPLA}hzXhBq5DVPZ z=Q8Nfh5*US2HsR~Dg{0{TXAl4DQ=6myy&?!&L-rz$JoUoor5o(SfRb6x4~^ij61AW zp;qa2qEVlptTu?nJL!u~uXeg~m?8T5PPn`2ht{<0s}EU5q1@@8U(syWco+Qk!ubww zYYqkm8&FUD`L!wUm(UHAjKFCz8#Ow?PL$-@kT{_7pAc{jerEq~SpL_nOqmV=K?h;{ zhf|Qk^Yo2i4y^bwR7cM@5Ro{nc)nZ&Pq|k5TXI+|h}eXt@$ShZ04o#-d{!y2jHD2h zqg%#p>TD^){FW$hL|)wa=*8Xlemig_@O#H|IPy-+7_X6s{1dlkkmSzf*0eXYdM-`L znJI^hZ)DW+)%NrJ`1|#fP(eglOc90N)NT(c3V1pIUCd^C!3Z)z4rwBkSpxmU;+P2X zPZHnC_$6`r5Nmy8F^M_$-34c|`m~A;OWfG7pK?wYPfoxuJl{7qG{4ZAaM_+qs)?)` zFRmQZ9}e){Bk;DAjCt2(SF&r=N~+P1tsKef9-h^RMa(f)r#7nfrGD%qC zOwr!%SYn1`>)=Oo_Io@U0h>#W)W=v?Z(EbfOvQ%S=lxVgYOSQ%Ud#j67f<8ZAc^ykfk0|J`C9f*i-$Kpq%a{1d0VA@OmT^R~a4V%>MYR#h|3Oqe)sp}w=c z8wFu8;z<6mm_8d}21<>~-JjB4b8D(#5D_BYOEXv;bSfvOlZPK4OhUUi=^V1V>B@^hG*~Eu_eB37!B_=o41mYGCr`UiM#t zc!PthK`^lH`vBk{#>oD5KEm|N*t%<&@Q1=LQ{@RNHHbyTRNm#O*Cw3kN$OgQY)J@`9!286Eyg+Y=VYE_cv? zYI>bvh@&}};%4D?FXLsgk6{3QgeMo}?1A(=4x)#Wqn)CjiJ&1UKCn<@i2AC68@lCN z#Z{p{oKD`j?Cza$$(e_u99~y+1?xq;`jk|eXw?0EhT*Ssm*9ar!$aPNd)17_=T);5 zxs|(ffktvy6kUPodQPP~bW>y64X&{f2mE$*mS_baZmXTB9^+LTRh=$le^@@6lpB4KD!Ggsjp z5iwWpI@ZzM)sD8FR#+_r*=rT7g)!x~=$wMn&Umv?)~0otu$PLGRk3+M&9<+Dv3oJk zG8vD7`zGOUDzGCM^6ON;vDThH<_{Va?0@6+;RozN8@}9aDh5$>gmXW zgKv#p?8^un)eW`|)727d)7P%SPe+?OwE?H&+ykpcF$*|JH=)b`4E#RD@0c;*vjT9; zd=KMUCB3iSE1o8%vQgs@g?U3sg`PVFw!B_L%})HW6VeL<1}S;Ei^?-+`a0 zDeyiX)e>Ijkb(mcXV!Jj`o_KxDh0ks8bktTb21FBDw4TJGwrT^#eCqPv}1qshUG8! zDNx!|M6+7g!2W(=ptRG=$KQUxMIWJjGXd?3n&t5O>g1fHX%iEWyV@WRC4{LUFQ%fu zNldf6ZTsuYuI1W}?tl3oaIm8N&(a<{%eRnb0Hp$`O53e5!2TQjHqNIpHy0m$W&|3H z%SOWutAmhzQICyF9#v_>519XHk!d>McW4+!EUHBCG6S~p^Eco4@Qi0mYKMjVWv*kMp2Nt?5g?zNIh)SXpY)CI$#TSSak@wOtq=N}N| z0f1r;W|0XNFP-BA6QE{W#$?UXC}Z(z%(}_dZrz-lTg`P%tUSx~1fuN{p;EPR)Ix2g zs{B$r2ZqX3&;X4XyrUV4i-}jq`^_2Uwo7vy-wbvBU)hYoLQ2I_I5Izlj`WR9qKhN^0Xl0et^@Qzbb8ANLq zm`;v)7UR{wcfDo@=_oa50lBw4J*r`0YC}Ep9m^8GemG^9Ks>9-1=y~cwAs921Ef$+ zhcGG9coud;R5D|6wDbg$&;1r@W?x(JPAfMe<1``ftIEHNT3;wUQIVX8%8adT_)llP z)qSZfThK-=(-59C!+BZfmJ7B8>-CrN>%0q|p^!0?gK#7;KT?Sckv55@M4_Eb#?$x^ z3v3Pu(m#H+{j|AVQSn)Ic>^mg0d#yp!f<{#mCav@%UpR#3!tSTOHc(h?EEcYHqba> zdj35$INi6(O6z+a>LJuo$<6)TdOE)5rW&r>XImXp#micDWZG8qoiXC7 z>%g-)@EUwu2~4lh`CTNvvXq2?&NUmMtgl-_LXOHj8HdV{HgYyR5!NjwaSfi3R*fP3 zq9i4z?^Klt`wlBtJilTf^tloKV2BqN(fy zWC#+Jh4ViM<`8hu#qWDA{=qpr!hs5dW3sXT&rgMklaciwJF?@~h~t_Ba>p69{U74s z)YX)qw1RA26tiTMPtNYIKoQlEP;^Ww|EI9G0FE4Jx&+NkV`gS-Gcz+YGvk=4jbo2- z%*@Qp>@hPlv&YPApa1>--MzTmi;Ij|zJI=S~ z^XKRKP4MjdzjcgXj>-YxqoNAt#6V`mQ1rh2fB)ulsI_{(J}`6t*kHV8eH_r{k_q0eDAVcyX1CZE{$wik*OnA@+h17m^^A^65i?%2+=U<1c!P85i3K;zrFns!bZa??H z?z_r+O#@GX<$qlU_gm=^yzq<(51L++ z>dsL=l;ZNKKy(U{8LcRqawm|O6~aPCxSCT{omsVjU%bw~QQ`SZs08bZrsdnzfR%knMqV!H7LZv_n=kgL8O?d)|X4!xVgB0V+g6X^& zt$%(a)fxH!p&6|Y3gye0m`vhUL}VO{yAEbhCqz@ME4cCfSF0+bGy;d{Hb~*r0^^M5 z@d)VZ7?OHo(QI?(2XjIUP0W#0VhcgA%GrnuqQ=HC^^b}QinBIgu74`%^E~Pet<6o! zX;6WI$1qnc=*aQ5$O!;S)1t(M>T7V-2a99(k6!Hf-Yx2F8GkGgQ9Sgeoiy}%(VjDJ z4xYNCRmKO+niH)TRUDgl*=-0!X_k&rZS1hl`GM(|nzGrv<*F0dX-wa6D0pPJ`M>ua zKd&1vb6jy3IwWi|G89=XKbqEUoCe3~rWICi(Z#+O_q4dA+z>V;St2r-AXFBMQ=mcT0GR;8X6c5;+815k5(=!J@ zdM?JeOh*wtWii}R)3l7(za}!qzrTs!ev>s1=HRvRJBENEL2j33&&%v&;?4(vzK9jt zx`dsB9>lb+yC`LlP{6X?v3LE! z+&~*{Eaw_ntMJq`ZE5nyf#76nED(ywOMF&%y@2gXDJ%6PlEieDP^DQg)h0*B=`42U zF-0t+AlIh5aDo6_!ABh)4fGQn_A?!JZ9MI)o4S#_HqLg#C!*!_^Q^piip4vz3VFrg zCS}~oX#03qhir!cbQXU^x5Zn66^5{ldZbpIlJ6X-AB>Kmo``9n#LPTYV7D?XPpI47 zy4HwdTSR0vB$`J{#Q|&L(z@x8>r%zJ8-XFyia>cG)Fzd3^J(Ro-}04ir#VUcrYYye zDEXCO>HLT1njn|r7XhnL<0d1_5LD*1tB{HNsZJ- z`*Gs8Q9=r_BvC1WA#4qG`Z)=)ur}O7j1mLKmGJH?0PSAb`qVhoh(BzXnVH0Z+~*t4 zKl(;-_@G6FP_>6olcAQu@gRKVwbPdL`>V+fA#xmS-@^#iUdZ0q+xPp)%SaE4;w?1zC_po~cpE4F< ziFkR{P+^dg)bp&^QsdTt8vVjh%U*#8fIDKQuJv*@rKon9LF&x6)wxK4AU0AqUg8VL zRKZFar{7{#&FW5L{3+m{DM5MP1@QyMa~9lYwXY8B_!w}w3ws$VFaWypz1 zk6%Iv$fmz)dVm&Iz|ZVhHTwApt#6|pR_S`Lh_gEF)(zAfXik7$LD4~Lf@7NNRjW>b zCR@1&V22hKrT@x&WQCN`ZIP)c!gUfa4<%Th(-&64Jc3Twevc1PriiVvz zHJlZLO}SC453>{GQb}3lbA^vRnL0X#-R%yKh@5Q%tFP-oa}40VX`*T4Z=EN@Q2k#hgV6@WiokS4oJ zsuu4FYN;fkJZR_I;DXy)CbwRY*Hy^S84zmH$Lz!^>pb1>=36=}*=e9a92!O|N@?ta*LST3k{kINyhzL8(hYZm@?I=JVcCL^mvtM$zY4 zTR#&?ifWDks%Q_OQ!P=Y7sMv%ii8HSJ2aRC9mVB8` zFG1WXi&;Om><(IrT8vuC2CbzkzbODB#)9C&dD1A@>m&fT={VufD1=Hg<+kDw=N)wT z;lq34NaR0itW6+Chbz$Kr7)%Q(k&!KG81X2%-+Rkza`7TZtHak6ioHORuY5-9k?JrmVl1gh>FJM9C!GZsS#wL{X}bM{o@ zWwT?}!lSxK_o^*iwq>bhcfG-&l398nq=R>rQ;mPV*a~paXU#r&b>vGdu;aL<*)|nR zhJ<`+Skz@z61PWWpG=(1TDKuGeTyJF_6m%9Q>VADb~Qz_utC@KT8vCKnII=6u$IgT z4M&EuD*&(BVk@~Uphh3VzIp8kGV!>>9`l6bCEhOK!8F0ELcj-l*wrq{e*Ny`v&%Wj zyW^sJTMfwk;8#zJ_xI+r_CxS8nP74`b8GR(sQ;k&V~o?Vztkf<<84bcB<*;{uBX=1 z4vNf_frCXao>UQh@4FVIuwG2j3BpEkvl5F8<8QUr_!k?nu;h;jc9s5uRAQAgPk zzvYL2k73{NL7pDcC{BDRO0V=kav^x^WcWt*dt$nEv2bV0jV!p99)a!iXp<}lbKg7XltLDDEImqR^n!8b))j1qwnW^u6BYRw>iyOorZznodw02BW#dX-!yRyMO8kmC=4sjXROtx%ldr9F(VG#I|?4mM~v#_`3 zR1jC5kkMp4NMw=dKb8#Dg)e5Z1DungnSw+A!`8l@e!$crm+h% z%cYRfH-QFsdun1D8dAB0rv3ueh&FO!+N!wlB?}f7JPmeAL;#NVZ+0u-&Q6)pRFFai z3;e4M8tbbKZUcD=^&WytVm?$%swzF)kg$pc&G!Q!kj@-n8OY^j;=t&fAe~N*xDzA` z$$t!Xr1AsmH7Fhgi(ly|sC#Wd&pDU5!UX-^Jt-087bV@^lAg1r+EKYpP}&SH`kVq4 zj#HP-(tS#HQvObUUO*d=w(O*+5FMl%r1nydFBWP)Yzlm`i-as+oc*O(2z z)WB0`DvzGU#6&{;2jOoVox`O@O662gzWk&hB`w-9ImT^TQ8O=ObrcJJvEOZvLv|4w2?)WVk##f#$jaefsGnKrq;qH zvY}z{`lyFUg0r*z-CPf0yDE9zxowm91<}H{3)>(zV{!7;W zV+Vrsv6S`ju1TN1w-E}`RgU*L^3Vlxs3oDvc}SnW`{hVsdj4VX`oiYpt~Hzb@8I?R z_53w~Ke0I$?!Y2&sjF%cdM+-{EAR}h0hxE-s}QyJF2h4t2?^L`@X681#hbx{ZJ=jg zqdC6o`}}s6bAMG~*s_icB>c6#726YK3vB58oX&CBvVZSc{u{gR{k~oE_rc;Ps{<72 zCvKch?RH0t7jB+G$1c&=I~EjyS5+KnkX6mC4{61Is>*Y z*VCuA@TMPJe?`o|_KI;SPhzWP>6nPIMk2+%rL%p*VfbNgaC5rHcjMEkyK5sxNl}sh zR|++qhx^g56znq7#%zQ9p~cw_q7$OO*&n^Z`*{vEMs|DaMADMOWgG-xxCT|4n#W`j z;L5&VbBK<>q1g2|NcWybkB_S)_r&4E$E@?gTN@o2NkwC`IP|K02lej8XniHo?X_xy zs)fg=-*LvYIqb$`>|4t{iT;Wyb2VQG$=p718=;GXp);?ZXf{RCe%aa8VRvQe3JZ5A3i&eiQn2T+2Ki>%gj|4}Q@{F_7MUK)te` zN~JAob11YiR1!h=@z@sWr?eqTU$S?%Ve0@D$=$}(=4M=0U*eM^Hf=67aQyBk?{;%X zF7M{nvt0Y8g?FTKm)M>=5o9#>WnA|dll6%1U5G>qy@l$P*dk!hf8zi9SK&HE2hbg> z#v%D!r=CM6qjGYozR9HOX0@C<;YNHvatJG$3D=NKK$cK)zoALD*|p&?A>oE%zd>D1 zVaQT8C^L!)$B?Dl%y;y;{$^DL)pCD)C?%Q+&yb_r&Uf|MZZ&B2dF9(GAy#OA*{6@& z`ToaDeE-WhicFXVn1KS{n{RuAI5zPee2%!m*ryxPjH(?5 z%%RnbuE8~A@3#5&ol}fXKBwQX@7oS7M@0c_M6xKiIk>ULDYzITu)K`8JqCL{+CPia7< z)RIR`X7Ghk%!}#W-#8HPsw9nCxZJc6zNbFQ62UVR3l~`4ur_^}Vf&WYL}bY%vKUmX-Bh{F4bi7d7f{ z)W>$*%FU6wb$;|^R2ztiI_mRYEF{)-1P<~s2h z7AWHbdec2Z0`Dx+XNV<0(lp{-8b@0#OIa6^+Z6H9tTlTtU;YG8dKFuVnuP5)Zy#akcIeCRDn}#an^BC%Kg5N< z`N?kzXKTace94Tq^AWdURuCOnQi5t(wA9&fTaR1C&)D2{EmuSnY;0G+>%+EiA8VmZ z;a9>_h0H*WBhs9Jq5KmmLv>+4B!#?9V1p6+2stD={GOeB-d=%UA6i@8@As#7iY+ZQ z{-2K}51&Naz}M-E3&kAZ^V2X*T=`j^!AANPoKBr;VXaI?VVNInTcXe z=1Yu4DrIc~9_P)J!@ps-kLq4;XU8>yDJ?yTg743FErNT%@onIzT9M6ro$t*c;ulgt z-;v1ISf#}ARRJRwZi505p3#vo0AzOO#HpIcXp^OCO4_N*`}3PC3dVd2PMa^cR3;0d zr9)|ro4#CIlf1{&`2?!Z7f+TjQT7hb!{WXwc^t=_nVwo%X{|fp&_fE8TGh5#PzA*1ls_k# zE2oUe$bWR<&FI#**gxQfLiH*bhl(F|7O@G~OAtkBif0pO50JD4y-1pDfX0>(%y~09 zH=|fbOiJVHBgfZ&hXma6dM2#09E5SUDU0A4AuY$M)_R$qL=NIh?C{GZdU;daNGXS-5tAT3oGsgOZ+?0SZ>2X8*Nwk8sQ5{v@J zB#k`3QI*tua77GbBeszop;Yn^tUZ&*(wr&D2zR;bQf;d%~KC zJst1F^1W|0CJIcm=2e>xn320qm*lh@SlersU(HXFM*;kIP;)prZ&3hMn?=d$Er?uR z(v<2(1Yn|o-o_SuLb)%%?XD8ZVjN94{aaX)dqJUXUsh6)HkV?+0ERsNI0)Df!@_Gr z+_mDaEPRX4i(=)ulLj__Vcy6?&S($Y#{ADm+ISog@izmaUK(4m)j)VEB)*;ce9#c&=O43M zIY%W_55V>5$oFj$O!*f{AKotJUs4SR!4CQk>VQJEdD@l|Y@o+>Uu(S|_M4Hyt>dy@ z+6`zi8Acb#A@Q(lGbWd+TUgMoKtT`4Q7IG2h!tP2>ySYfQ@~9^cL?z0t#QkNkGl@5 z7T>kVVMk#z#|Xs_+H;dKwLsD?2D@NFn8 zJGM)m+YNG5n2aE!7z50=vCaHSRaYt( z15Z-wa?R~kuBEYTxzyrH9?|NIJUp;&YRLVm?Vu3v_csJw-0r^Ups*h82SAXSok&BEQ*_Pf}5}qZl{CGD24o_K8b#m$wXxD8Ja>UH0 z|CZNUsc6Ck3p1X#>y%1p4p?8v13Hx%$ztMlML7M~)ea9VFd;)(t^c!yfaA-ml#i*C zQRVl;@tKyvkYbzvV7-K#=++%Gt+HWy=|@h?GdSg-C5eF89f?nds=!qWTKb&-!`Wc| zg@g`GpPTq^KUF9EddmnonFkH)k2AY^n$(3={a>)LbMU&_wNpc@+Ns-S4M15~&6|B# zDdD8BF!@u&KY-G`vS6asm%L|@sQRMqdl9*pheMRI2#I`uB9;7BVfU2#yZhE`Ib>!Z zBAkjR<7yKN)JvAw?bpq|OF>XKJw8Pv=~mYt%YG*!+acy1xZB$PuF8SjUyj1>y#@aU zgJ>D-+NGb2*?SmFt^`$-^E4R_?UyTG0mvUfNA<1xecnSIm%HPci~IG#r~SLgQBU93 zWwx(w2QW?v1G!E$bZh*?rPNZt^|TFPCA}jmBDD^;|HGB$;%q@-0nZ}<=iuUQX;cJ% z)&=L_{?;010Y`87TLI2V3dX^mg3JPr(eh&o+!62lL-v;7Q*d_v?;7WSg<-VJP(tkE ze>b`R(;OFtsKZaW$@tbji#38M#sK4F{+}5>$N$Rk*#NBn4dA)Z)%}Uajp_eXGqW#e zKij@tURt(?Y1I0S9|EWmX3jt`#Sqwq86PcQd62txTnx-u;1M=A(<)bV6ct>Z=oKYr zHOc{~2oio(XO{^r_eRCHN>~t7%K(_rtK%U>H3v;*T5TwcSW2-elUT`0=#}%Sh^V}NoJmTB`rG&H58X(~f``Kfb#1^H?9C%cWtV{HJJHPq&Cs+cmXKoy^2 z@m!8T>rm&J7;D5a>@aK5XnnCk6IZ@P%KT`_P;58cn*1g*=&4yuKorD!I&B2bMOl7Y z9cpT{@sPH+N!ra1CD3ItA*Uf$IzFS+-pc+&?qKVA1z;4uk`5gpP{V}OnxoQWY2FSb zA({;j^DD?AxRefbESVBaEsNq`pg|yye0M_}b~xE_FA$xYn2-qs|0<2DJ8OQzlt+nq z0&jymRx>7K?`90I-17)r`OykZnwTEuLIMs8W!@DOjz}5S3c09vBiKSn^sF?f7!-_r zR)UNf4!AZbwGqHrD02=$9T+|pi$6eK)C9|Jlii4LUpU9M9k(z%M{Zphhjx;A+#;`>lMV3ch$hp8MA*fR50)2c%8~v1YeHst+rNMuli43!8uz9x@13ofNF12}27^vhG$Tf0M!ej&eUN z3b>s^G>OwQ?yqBzO+V|!lA~S^C)i-p=!OB{J0>f)DYKR-nJv8#^9I>&Mj}!8VaNn}0F0BWP|vh34^9f`6FduE9+g!4FOk15|Bs7K6`k~In&>|i?~|Gs z@N$IvMHR3Ty`nhPvlA5~Aygg6ZwmC2t3O@{q2}8r!o~0&B~QI9rLX<7$`TB59JFb@ zVp%Lc0keXhCPutL@efc4YE*?3;)Vdxsi=@{5xJ2wtE#wMFCAp{t%nhOsH|iy>4Ps} zbwXQnY_v*U7BM^fzsQe(F^xWBYn%X>m&Cw;!oPd*j6Mou`j10_iAGG=K;XlxqEtse zD$$_2LN@t4EBMuTEVfA9N3e_ovJY@mfS4`#il6#>FC zRqTy#C&;(_pZsKkZwhv1vos9qMf^bpy{39~yPka8nv2`vzj5|N+dNBne%+H*k!eit z=9z}jY=(Qg|G3&jrZK#$XMToe)7|@eUEba88{g}AA8=Y94+4$T;8}-dWQ+o@>XiO; zhgl%E)+hdm32T;x!weOo&9msLLuh^1M2+~hP(GNi&N8*71r@a`<8uJvA3bQyzew~O z9{{dCV$5d0$*z>kIAZ$s{zDuBBH79(3mk|K*y!xRoiO2GEg^oB zV<_9KB|8LattDPYn@SBf5ms=mg7y6ypy0m@6GOHYiR9m}k!KVnGv z4AvJWP>xL<-543*JW^F5W!SQ_QagbXBY-CwN?pR7r2YsE+z2cvh#jq^5tW1o2*)hN z_F}u`WL1C`6%rH{y4kMq%w%WF{<1IJP@=y@liB~eGqjh~Mr&~}~8rCv7SMmLb8lcNI1)^gYb z1hx>0sXBkmTXa4oDC|FU1y83GbvBpf-*J^u>=iMY=idD&l3OpG!O$GrAgzlqFSQv% z8sSTi4RnQR7aty!`rAo`IEs5@PE3oAsV%hg3$u96oagia!#Yz91wWk{mB^QkS@f8a zcno5}^B*}XpJ@4|)jk2rABuYHTc!4VV6d~64f*aHqDBo3@3$&;Xj?IT15gj2a@-sw z!y-Th4uW!B&%Ng~rt8I`;OvN1Qj$mJB~+nNwIp5Apm0>yT+U_8e9Ht2f;6d39O{68 z)R(4%{va+`nvgP{i+(6TC`ryun6yDGEJjvBxOZswkP+Q9TCvIvqe>MuwGp?(V{_=c1Hn3crILBy(J!#q!w&r?-Ql4GkyQDxek z8Rv($w~})~K(x=|7$4bfdmQRlcEj1Kthx%9!yIm3!XV?dn211qix|@# zZW@uGUzDt)j0avcjoyps=ObHUeCn5%?w#UI+@nB6Y=V;)l{RLjDs{qF2T;;h@@Q)t z)Ao<2!4sz4teVH^sGTjopPUA7D`MenjJJJtw=U*Ld>wJ!S~%dr@e@Goy18P{O|KCuAPeD}kwwpPnz=;TaT60JCK*lctQ{HYaWK zC+ODyD)I=E5Y8;h7@Js^koI8<6_tU{NY&XYKIS1|LdP$%;+RQDMGIIcP9(5t>lS8s zm~^AD`Z5NOkp0xcQ_0{9llM#Dt_(h<0ztox{9}g7o21h*M2^Gt5T>#_=<3^SM%mJu)g8Dk1k;sQ->pJ7MqPUsGQ@OfPi6&-Aa+VP9YGw(=Lx-)U*| zg4Z_@IoAn;&-bET=}T7{^8AzNf`=sugQtft9o8RdIa4KfIAeEr%)oKmY@r+PNB2(O z>9g3BeH!5K_UtyqS8Jd7ZP}4pmLcOa4mr!vhtKEdRpiq{l;U&G3$(!DvG0&&f;OUb zR?for7=;~h=-4*~8tXj>Nt)cKEZJCp0Y06xUE#>_W$@l*RPZ)7*(tm_;1ixReevO{Py2g z7c`S0rTPu8nz*G;IHi5sqXtHYsCwmPdBjQi80^3|OwNLB5~|gZBBsU(=TJaTfY00a z>~!%X7p??kYnApt+B1roAjPyC+uFW<94(hZ+yFj3d_ zV3M*9{MBo7w6FTWSd!CulTuqWKh1NeupjOSwN34IT11hjY)}pMw7duuYkn3VH<6Z- zJ%U9*ZD5z}l)4#begP5l>|EdaL#Aj!H-igyooe(5IOepoKw4kZ1k=CO(L+}q$6qn6 znkSyF$5XRilD{YQi%EMaKGdY=IF*UQcIN!j#t*bS>RM7dczs`wcOyHDu1>5pt;ql8 zu_JweF}a(CquT`Yw%fO<%3KiP5dFa+Co9DR9txh>@Ihut?039oH+Dfl&Rqf9(e?(B zrdL)kO2UL(d^#)VkzSG-txP|$Kg5^_K6q23X{) zw`DY&p<+#ZoYG(1ourl4W+y)j9L0MtW)~k%C|xB}s#)7Nf%lUmjr^^vgd6VKB^ee# zJEA9|Hyh$r!fpMuSHvUfQ{AJ@PmpH6e~;Ii3kt51So(bxAClWHZW+Pzin1+UoOlHu zUdwN>-50-`!+Od++>aL`EB?;EY*P?`bdxVHX73ek=TWxDQaYxbM^C8y?dK;7R6jha zqLs8#H}C)?u_o?2;)q&mq$W?Y&o3PUJsXzl^*&l+m1A(vT-3C%-tQx?Tp1*N+&B^( z@d_rAro6yKeh%3eQZMrrD{oJQ&1xeR;}>xpN;T3*X32Bc+ikSm8T%%e!J1cUU0d2( zYOoC#Y%UM|$zqoCh`LpNlJ#@L%Dr$eHqtz#YxV_?cE{ zn~f1|1<(yPyql`G;mDvj%H%UuI9wlVmvGWW)1*13&(##QlP^iqQL;1|21}i zhs((g$0T9x^3#==gX6m@XYOF>YDLV#!usD}?<^fzNAi{*-_)YlRya<{m89C_M%Vzm z=e-r!y#w^;+!a&dUhk$q7U0L*B@ySRl$Pb~kVNjfCj464!`@EC7}Q)>B9tkCL?>Vr zSSoG-w{l2+hn7xST9~7QV((%pfYyLT^J(wOjIu3AgMtBXq3Y`%kdt!DE+u`8p1`jc z;0RJMeLb5eD$Un%hPG2u5q3dEC9Y_9MJ0}`dnh@+f4#x4^Y90kL#i|7BdRlu3H&hl z#k+(DT5~ET-vdh*locY;z}`=6IFL6}>VR`(NS5ysW%b)R@QDp&_Bh-pVgW>e4F6z8 zr#_F36EX%?YLIc=hSHc?4s_-b7XWt%Om5%78&dhsAe>UUiQz^%y=Q;p3&j(~N0JQi z!lB|OhzN68a)ilz}_v=sJkNT$xDoK}oicz>$R4xON16E?Dh-$MxNe40{tz^LB3Mdph z7mSD#bj>)iFjiuj5PT2$P_iiBC329oCY_*gE?wFNahG?DzndwBTU~F*^DiI2W3jp9 zznq^gZMh#l_qT}*6o{r6Jl3xSvp>07?vu8=Uu_zv%o`LE*qJ3io>Jz4n+LyHt3Dn# z=f^9!kUo}s1RA%KiMzc%2MmDSy=RE~&Bm#m_{|ACszDDG_W1H;K1LupWG& zvkADWYbUXbkLXlj3GV35yb-DHe7grUR@ode`$)rDl8Uk+n%Nvf&SB1(*s-|#t;{jJ zQTqd2Hc|UST;~8JwEa?MB)t9Fzg%)r1w&kRQGb#4jZN^`hKx=5&H+F|${}G>KD($e zf}y_yo-^3Uc>Dfg&VtN@Y(pPIt=q;Mic!$f&OOYR_Csf4t;;Y^bi0d39SW{Kp_lFT z`u6o_BW~)Y)pYZNlSf_N)=MWiI_7~h3l>KlEDe(mgsT*xoAyYTQGIOn85r&@zgt;RO1w&=|JvhT zBK)<+v?*}P2;mKON)KMc-YDLgLdmqq1c`1qRv46cl=&^pZE^y57KO(0ghGN{71D9v@BPFU?;m9#=$b zcIDI*oPn)2QC$GVF}#YfuFWZKWg_-v_L8=G8R@h&if6(#sSU!KFWYT!0x>w4j9s4{(L{ z-4C$s1-oo_htGf|=xZ{N0g9=PZZ=k+ye)g^0sL`8{K~+SJZ5)v?=fs%xV>^T%8Y6q zZ$0Y!g`1T>r_%ltRA$~T*{-SCa{JN}WvOuhdf8jnRp-TJ5-P{7jtYDpl>qbXxC-tGZ4}vGZ1oAWq=nhN1thVUrq_= zKU`E&(V0IBtm4LBtnj4@XmLqTHPuDQ?JEe0X`fmo-oguO)DYv?ns(Hsq{(g0eQ|{+ zd92-qsq(`M&-a2d4(8K$Dtn<(h2V*bIGWs;FmZwOr*WX{T61*ZHnoM8P<#RESB_PW z#?prH%Aph``Iyc3OMe!w57ib>#knz>B$UG^YvC*1wrwl?jOI4Jzqik>`_PF21IHX)uOiB4(k*Fq$-L=SlFV1;fu zpa$4@@Q58;=XbJhsk%`)iXz&=Slp_uDH=7|e&>$(ff?)olmlrdmish?Cxup}U)mqY z2s3Dr_>N`pcWJ2(gUD47@<#)0gJdp#<5SW_NtAPL_?F<=OqZ+E!iwx(tAr;+{o@Aq zF9W8OKfDwg^y4R?mP(nySwNnqV_C75JFpt+VJ5N$$lVIxQ+}QCLE?MDuE!A2^~;ud zaB@v##fIzED&nvpf-@f8q-9DH!WE(YgBi3A+W3IF5jTb;eecnDA!x>iO9U`zf{6LD zP=ySiYdUig3!6(A5?Z_HB<2_~h|3Vtq?J&8BNMxD|B2w-=|^8 zbD(z+Ko)o&N0Kq3PWUXaCi6yKg8FS2fb@P>4s9&X6L&4!tkQ`=Ya8v9qv zl+=b18fHCw=wM^$k*d6t=V{)_JvYepW%uyO@oVpjt5Yu6V2v> zEG>bhKn);a53v;IREjJ- z1FW2Exe9Q9{?nyGu;N3!B zsIS(Hh2aUkU(m-syJV=Ij}`qz-~lTW!bR zmJ&^l+|SU_SC;R`50T>KCMWW7*wb|EE#^fWd>A8;46kQ+ z9(lSad+X!u!ByF!A+`kBumxL>`mCel3w*Zs;PSsSC5{y7cnA_88>c=Tld841IWZ^O zw3u8Q^nEI_1nqzJx8Yk$0Y4w;rQM9FFlR_YKal+@^LYXhy#R0IYcBl zxd8xiaZy%wac&k)E@4q&E>2-KRsrJw{}80_1O0cJ#mvd|pUIjOq67$d;MOf|q6a*> z41AH&)|I8#{oEWFL#zmV(IJk>o=`A28Z_mJ5E?3UI+s#H7h7K+5;#?qYwjox_WnpJ zR~*;O2?u%VGtAI$&z|kkl!niStNn9eRnsy}M7}3x#13>H$qZIRzJ}JUZ=IFiAp>I7 zMt}uzuD!Ufq86xnBWNQbupie-gg3M~#tAC*w>wf*h7)FLv^%Ih!!G_zlslq5;;tS5 z`GQgh%NRbD2(ChNmIoFqAk^yTtOgn*SmZ2bo*N1ysO)TVeif-5q`lRJ6&-9!;Gq?P z)kO%M5U&nrx(I_oX!8$y?mT}h_BD4lzobtytTo0)4iWwxoknmg;49u*rkj=IY%;2i z>2ks1>^%%i5tco+J@c+aE$jtCIw6pCCCHu7o@7^}7V!c#z1e|xC9t?FN3j*{Tx5RB zcHJYGACX~k#;Ld&>s&M=m~#9v7~Bee#;M621z$urin1fgDQq^mAnr#K*$(xZ4O`I| z^Gs|rRJ2|BVxMy(5YbAe0Td8k%twJ{OVx|AhQwBM0^s`Hj2um0ods4hi&Q|_^W>kgGE&ilJ~jthFKfaaTYrB8hQk?-vU7_Li%?xsw*YGdieym)AgQEfpSVvlM3t+0)s^v|9PJ4kQ+(@ zwgvQ7068!VsNuRX&vQ#l1RWf3KibjjKquhaar1zTWV=ZybbIUohs^NOcP)DSuf(UdN zgrQ1dx(r#%)8lvYO!q%35cvv)l=6A?cNR@kqk(?tD=X%%G6mN19B|EENcblow}A}ZX;B=U|plJ{$S0fXWE`TMLp=1tZPnVpn;9&=P6UA>`E4GE?jyqLPev%qJF1b zL#1;u9XSpvB^8pzu_9%s90O)I;UX#v>8|Turu(O1|9ImT0Q^8xz;F6$aDF3xBiit;fK_@2uuRanIt~`10s87kODLaSgWf+VPv874(t3sO%t!pBI zwDw=*w(MWOVZUKd$Cj~Qv97^pPR%RM+s@nS$E{cYF>sC5XC)%M#<6P({jA!tVbgZp z`mvNR;AyS8|G(Kq>5A&^;tExbi;RUu>k0+;(+GNJV5QrGUFE}>hTjFfhwNj~!Wqn) zNOwpDq8~%4; zpzL{~!W3HQD?OG{=v$V8AwP+m@EsLKBU$C`;cvQr)us0i?Nz{Y`hQ<6ks^~0feO#b P&JBR0pb%G-fcw7yiYlKB