From 47360eaaab7a088cc1227fa6c2fd9a8b7adedf28 Mon Sep 17 00:00:00 2001
From: "benjamin.anthonio" <benjamin.anthonioz@etu.hesge.ch>
Date: Sun, 8 Dec 2024 21:57:50 +0100
Subject: [PATCH] feat: add algorithm interpolation

---
 JournalDeBord.md                              |   2 +-
 documentation.md                              |  91 +++++++++++++++++-
 documentation.pdf                             | Bin 0 -> 59049 bytes
 .../testapi/controller/ApiController.java     |  22 ++++-
 .../com/example/testapi/model/DateRange.java  |   2 +
 .../testapi/service/SimulateurService.java    |  38 +++++++-
 .../com/example/testapi/service/Ticker.java   |   3 +-
 .../src/main/resources/application.properties |   2 +-
 8 files changed, 147 insertions(+), 13 deletions(-)
 create mode 100644 documentation.pdf

diff --git a/JournalDeBord.md b/JournalDeBord.md
index b19d63a..1ad0e72 100644
--- a/JournalDeBord.md
+++ b/JournalDeBord.md
@@ -6,6 +6,6 @@
 | 11.11.2024-18.11.2024 | Récupérer les données (200000) et tester la librairie pour faire des graphes | J'ai créer un projet spring boot qui permet de récupérer les données en faisant plusieurs appels à l'api Binance | Problème avec la librairie des graphiques : le graphique s'affiche mais pas les candles |  |
 | 18.11.2024-26.11.2024 | Afficher les données avec la librairie + Voir le temps que prends le programme pour récupérer 1 an de données + Mise en cache des données si récupération trop longue | Affichage des données avec la librairie. Il faut environ 1 minute pour récupérer 1 an de données. L'utilisateur peut choisir les dates qu'il veut. | Affichage des données pour plus de 10 jours : problème de chevauchement des timestamp de la 1ère requête et de la 2ème |  |
 | 26.11.2024-02.12.2024 | Commencer à implémenter le simulateur et commencer l'introduction | Début d'une introduction et implémentation d'un ticker (déclencher un évènement toutes les $x$ secondes) |  |  |
-
+| 02.12.2024-09.12.2024 | Continuer de faire la doc et avancement du simulateur | Développement de l'introduction + ajout des choix technologiques + debut d'algo pour approximation du prix | On connait que les x et y de 2 points et les y des 2 autres points -> problème fonction 1er degré -> droite | Tester algo d'approximation du prix avec des données que l'on connait pour être sûr d'avoir la bonne approximation |
 
 <!-- |  |  |  |  |  | -->
\ No newline at end of file
diff --git a/documentation.md b/documentation.md
index 593485a..a8787e8 100644
--- a/documentation.md
+++ b/documentation.md
@@ -1,10 +1,24 @@
 # Projet de semestre 
+
+- [ ] [Ajouter la structure de la documentation](#structure_doc)
+- [ ] [Description des routes de l'API](#description_routes_API)
+
 ## Introduction
-Le trading de cryptomonnaies se démocratise de plus en plus notamment grâce à la multiplication des plateformes de trading comme Binance, Coinbase ou encore Crypto\.com. Ces plateformes permettent d'acheter et de vendre des cryptomonnaies assez facilement notamment grâce à leurs applictions sur smartphone. De plus, beaucoup de personnes remarquent la grande volatilité des prix des cryptomonnaies et font du profit grâce à ces variations de prix. Cependant, bien que certains fassent effectivement des bénéfices, d'autres font de grosses pertes. Et c'est pourquoi les simulateurs de trading de cryptomonnaies sont utiles. Ces simulateurs permettent de s'entrainer avec les stratégies existantes sans pour autant avoir à réellement investir dans une cryptomonnaie et risquer de tout perdre.
 
-Les simulateurs de trading de cryptomonnaies sont très utiles pour tester et améliorer les différents outils et stratégies de trading de cryptomonnaies. Ce projet a pour but de refactoriser un simulateur de trading de cryptomonnaies existant, développé en Python, dans un langage orienté objet.
+Le trading de cryptomonnaies se démocratise de plus en plus notamment grâce à la multiplication des plateformes de trading comme Binance, Coinbase ou encore Crypto\.com. Ces plateformes permettent d'acheter et de vendre des cryptomonnaies assez facilement notamment grâce à leurs applictions sur smartphone. Cette accessibilité et cette simplification de l'achat et revente de cryptomonnaies permet à un plus grand public, même débutant, d'utiliser et de posséder des cryptomonnaies.
+
+Avec une augmentation de 33% sur un an, le nombre de personnes détennant des cryptomonnaies dans le monde atteint 562 millions en 2024 contre 420 millions en 2023.
+(https://journalducoin.com/actualites/bilan-adoption-cryptos-monde-2024-rapport-triple-a/)
+Cette augmentation de l'utilisation des cryptomonnaies montre que l'intérêt pour les cryptomonnaies augmentent que ce soit pour un simple investissement en vue de faire un profit ou même, pour certains, d'avoir une alternative aux monnaies fiduciaires.
+
+Beaucoup de personnes remarquent la grande volatilité des prix des cryptomonnaies et font du profit grâce à ces variations de prix. Cependant, bien que certains fassent effectivement des bénéfices, d'autres font de grosses pertes. Et c'est pourquoi les simulateurs de trading de cryptomonnaies sont utiles. Ces simulateurs permettent de s'entrainer avec les stratégies existantes et de mieux comprendre le marché des cryptomonnaies sans pour autant avoir à réellement investir dans une cryptomonnaie et risquer de perdre leur capital investit. Ces simulateurs reproduisent les fluctuations des différentes cryptomonnaies soit en temps réel soit sur les données passées. S'entrainer sur une période passée peut paraître à première vue pas vraiment utile, mais en réalité cela peut permettre de s'entrainer sur une situation passée qui pourrait se reproduire à l'avenir.
+Les simulateurs sont donc aussi utiles à des débutants, pour leur faire découvrir le trading de cryptomonnaies sans leur faire perdre d'argent, ils peuvent y découvrir ce qu'est un ordre d'achat ou de vente et comment en placer, qu'à des traders plus experimentés en leur permettant de revenir sur des périodes passées, ils peuvent y tester de nouvelles stratégies en utilisant les différents indicateurs à disposition. En réalisant ces tests sur un simulateur, il pourra par la suite voir les résultats obtenus et les appliquer dans le vrai trading de cryptomonnaies. 
+Les simulateurs de trading de cryptomonnaies sont donc très utiles pour découvrir le trading de cryptomonnaies, pour tester et améliorer les différents outils et stratégies de trading de cryptomonnaies.
 
-Ce projet est la suite de projets déjà réalisés par Mr. Pighini, Mr. Toniutt et Mr. SouzaLuz. Il est réalisé dans le cadre des projets de semestre et de Bachelor à HEPIA et a pour objectif d'améliorer le simulateur de trading de cryptomonnaies existant, notamment grâce à des notions de développement logicielle comme la programmation orientée objet. 
+Ce projet est la suite de projets déjà réalisés par Mr. Pighini, Mr. Toniutt et Mr. SouzaLuz. Il est réalisé dans le cadre des projets de semestre et de Bachelor à HEPIA et a pour objectif d'améliorer le simulateur de trading de cryptomonnaies existant, notamment grâce à des notions de développement logiciel comme la programmation orientée objet. Ces méthodes de développement permettront de modulariser le code pour plusieurs raisons comme une meilleure maintanabilité, un code plus intuitif et de meilleures performances. En plus de la réimplémentation du projet dans un langage orienté objet, les données seront récupérer d'une API et plus d'une base de données. Ce changement de source de données nous permet d'avoir les données les plus récentes et plus d'être restreint à des données fixes sur une certaine durée comme avoir les données de l'année 2022 seulement.
+
+
+<a id="structure_doc" style="color: inherit; text-decoration: none;">Structure de la documentation</a>
 
 ## Cahier des charges
 
@@ -13,3 +27,74 @@ Ce projet est la suite de projets déjà réalisés par Mr. Pighini, Mr. Toniutt
 - Créer le simulateur permettant de simuler l'évolution du prix d'une cryptomonnaie toutes les $x$ secondes
 - Implémenter les différents indicateurs
 - Créer et gérer un système de cache pour les données (moins important pour le moment)
+
+## Simulateurs de trading de cryptomonnaies existants
+
+Voici certains simulateurs de trading de cryptomonnaies déjà existant :
+BitGasp :
+https://app.bitsgap.com/
+Avatrade :
+https://webtrader6.avatrade.com/
+
+
+## Choix technologiques
+
+### Frontend
+Pour faire l'affichage d'un graphe pour l'affichage des bougies, j'utilise la librairie lightweight-charts open-source de TradingView.
+Pour l'instant, je fais un frontend simple HTML-CSS-JS et plus tard je ferai un frontend plus complexe et plus réactif en utilisant soit Angular soit Vue.js ou soit React.
+### Backend 
+
+#### Java/Spring Boot
+Avantages :
+  - Configuration du projet simplifiée
+  - Spring Boot utilise Maven ou Gradle pour la gestion des dépendances  et de la compatibilité entre elles
+  - Gestion des objets et de leur cycle de vie
+  - Plusieurs fonctionnalités simplifiées comme la connexion à une base de données ou l'implémentation d'une API
+
+Désavantages :
+  - La prise en main peut être compliquée notamment si l'on ne connait pas les différentes annotations et à quoi elles servent
+
+#### C#
+Avantages :
+  - Accès au framework .NET
+  
+Désavantages :
+  - Moins de librairies open-source
+  - Implémentation d'une API plus compliqué qu'avec Spring Boot
+
+#### Python
+Avantages :
+  - Prise en main facile pour les débutants avec de nombreuses fonctions et librairies déjà implémentées qui ne le sont pas forcément dans d'autres langages
+  - Implémentation d'une API assez simple grâce à FastAPI ou Flask
+
+Désavantages :
+  - Langage interprété, moins bonnes performances
+  - Pas réellement orienté objet
+
+#### Node.js/Typescript
+Avantages :
+  - Gestionnaire de package NPM
+
+Désavantages :
+  - Temps de transpilation
+
+### Récupération des données
+
+Listes de plusieurs API :
+- Binance
+- HitBTC
+- Kraken
+- CryptoCompare
+- Poloniex
+
+Pour récupérer les bougies (candles) nécessaires pour pouvoir faire l'interpolation du prix toutes les X secondes, nous récupérons les bougies à intervalles de 15 minutes depuis l'API de Binance.
+
+La transmission des donnéees depuis le backend vers le frontend se fait via une API dont les routes seront décrites plus tard.
+
+
+<a id="description_routes_API" style="color: inherit; text-decoration: none;">Description des routes de l'API</a>
+
+Lien sur Spring Boot https://www.ibm.com/topics/java-spring-boot
+Lien sur C# https://dyma.fr/blog/csharp/
+
+
diff --git a/documentation.pdf b/documentation.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..6cf5cd8ae1d089e33e2ac5c5a6bed512ade06ad1
GIT binary patch
literal 59049
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%0D?gUbd`jhi77$Nr}^8{bN5~*vypg
zylYV;zgLz2&9?&_vU{}`?LE6<14r&+ZTXzw^ST>yT;#7d>dlyTW8L<Zuf!ktf4Q|y
zhxO<64eKVd-=4zRZS<k_%lph%ufHj1MChdMmiXbyt&lt6y~LGm9tW7Em5<I=)pb8;
z!nic5<?6+#pAzqLZC}lPwBz`rv-KNwyShys9GA*H+S{8sf8~Y^C*zJKuJkZkCp2|Q
z9E(Z*maKNIqe63g#7tuACS6nHlrrebNHvexow2eZK$r0$_j>0or?w_Zi)l7&SruJy
zMyR3Q@n@JogYT`@j4KP{gr*7FG1~1cSTOxB_YAL#S>-I1(-L$hJ-gi3eZ?;7vahL}
z_yhelc?t3zxAXJWbXF%m3Olf9j_9X02jQ#Vt|f_TD6+6U4m=RHp!~*{_>GMDbBeeQ
z3Z*z6IK}P2zUu4_mXHf;oEJ=V^PJi6A-e4fgH3syx<SqKd#%$<IBs*bOgms<Bv*aa
zOhuvRSXRz~#~fR`IC+$(|Iqrf@(3Suu{MK2r0a)H=0_6pC0}po?ufF!)zf_Sh=uNK
zxwk^jEfd2QZ|?pcbvoi<qPX-L{%r>(pUAWvJJn?;rncmmYg5oAy-QlDDbA%ATEl*{
z1U{RvcE*f<QSoi@M(Z>lM?Vc_U^=B1c9%h5!nT#uZImPho|igQzF=UUlDg&si^88W
z!`k_tObI{yen_j%J7Ve)9V{r-U?4X0#+G8127|00o{{S2^VDVuO<T|36*8s2lVxIF
z$A+nbf*W;`)s=icsyvFza8h$qlbh+>awcV$Xy1g+$O`fDdH>XJs3m(J;jB4+Wwi;<
z1?OlN&YaZ~+v6Nwul^8V{oz$g`1Dg(bU(%yh_SCe9C`Niii?%i&NFjwhB-E!3}ajU
z^;#>doki#$=B<m_l~~2PtQwBqyOQ|1!<^fHhRm8oi~Qm<QTpdMNJK`}8u|o(Zj(Fi
zu&ulD@vdKodXJvs5IkY?*eCT?EANr3OO3DnQp}yL$9MCB+K-JLGb$c9x*m40=0DTS
z{W0P9gV{-~>FEo)dq00q{mpbt%GR(ba^tDbCmY;8uItX{IdN_sw|LR2DDft{1<G-!
zoaXImbp9}5owZp^Us%rboM82e)5?d8YNecKzT{iiy{%_;+(Ns%JI}0pnZ+b|b%&nY
z+GF!q$A~jDan5MC`G)DiiBiL=2fG+Hl*cky6vZ;|+;435SnJ7<#J|eOhLK}&;kv?D
zhC4g;IJDPw8}_~qk`s5fG<Vj?x~05v-{}_}bK^cJnAskkdE<Yp-H||zDJpiXORYZI
zbG7FjJ@V!HyIm5N1+fer8mD(jTNcIkyoeQVP&~EDE%?Fv1ya{p4}6F%D(3pgQZ_+m
zl2gXUKG&=JxE%^_Ec_JPb7O{<)cw?2ha*b$KCT^KoR8}EcXFl4*@`ALX^Q^v5w$XP
zdA~=%=`!c^N~h(^mYh3%>MHv=Zl2WQIEmRYbzWlqCf$WbQkUO)e2JR*wftG``_p?w
z?rHtoQZK+*D0JuHS<h=B>9u^*6xN(GaR2gR_nr-v<qco$e%k4@vx$p8z3_NP$r+w1
zbupQxN0z_kj`+Lab48R@<oAcmJ^w6JGtB>Acug?dE9|uE6!#pTZJJ`AU)!kPOMLoa
z1ruN3o_2Y0r3xLNfSnpLO~=g&wI=^RD75SLg$)O;nr$)8Xj$S>ANG>rO>PE5Urt6k
zyO{|?wX{@&vb5BJy}Y~!?zOQ!IMK#t&=(Wx_C@Nu@Bj5@pQr438y59*nncMK`J_Kn
z4F!!i_RO0xMI<<>PHdHc_0|jhGqy~*cI1z4%|_AJm*RInee>l&5nF=%m-4C<OY5uA
z=NMi$|6`D0{mXcV{V(GU2%am&@^|j78!M#_SJpbDIPy0ATOzHMlqK**KY4l6>Ndy!
zPQq5QA^GOQMwdO8u{-`hw0p<rFO7G37JXNEQLp4uHMg`z!>3Z`lJ)+_2W~UWDKwv5
zAHXx2f&Yjgd$O70<LAc?Wt)k`Y3Ahw6yMtNcvpff+r6kxX-B484<2;{9{LhHQJF)n
zd!^BvWxPt)Hdt@GZ79Dv_3w<z?)>r_OKnem{Qk2;)P7#VzyDu^^gjw|zB*<k{aaLS
z&3X6GS>^6wOMm_q++}2OFlWNP_52UNFH>?W<H)|L8T$NR-`lksX4T!{0&~`#EOuCI
z7o2uxiJkfS>(c4WX|ttQ90*u>$ARHXo&wWu9RrqMU(cT6Wl5IN&0e`uy2D|^n%;%i
zOqd>SFW4&Gk?=!r@9x_#IKFf!nLZb^IKkv>z)?|EUd|tuaL+q1=*l^T$~k}eFZq28
zS!LH9?tCo#k9?Eo$EjLty5n6nLSzh_PCr^5TB2Vk`*7mg8#Dghig8k{c`u~2;kJ)s
z!h0dDhgQ=C66bn%9BB0JcyLbDC1Lx_rUP}xtPAg^aWM#ox2~=|^reBL?X`LEs=5^i
zcGelU_RQ<rC~eu=qE%9~<DBM_mSw@`zR%WdsV;o}s&;vR=T__1m|d4-&mP|;+GBZq
z`N0~8wl9VDuOG)=<$nBqj;4ZruIBzEPQUQZz2Rx{XRQ*{4eUi4ZI?WbSl!ucu>V4J
zzR3E#OY0d80`^3G`54Z^_h`Kr|E2YUH?-q)+q=TS%%$<l1xqSQ=hy8$)OGKw?=REJ
zm}?bxm&b?O3Y}fZ{_;8t|Dt}4b1vngzXVj5v%kD9dbRVNj?5-e;mh&6Z-q90$!7VM
z6~4Cepr2_~_}8D;IbMHVC-p2|dB^qLSrh7e59o<>AJ7xwK5!)D>XZ28?5;Yej=Qv6
z(fB{Br{ly@sVDK_6+)Ha&3|4y*%)<d%sttnZKD_*e39kNk*n-k;r2cU>T-3;tfraI
zU;QD_a^rd5qX}Q7<)<X<e^7Epyms!*FH<&GUVioU(3Uwr6@KKz9XHJUoKpWQo$cGl
z2%n@KkvY<dHewB{Tb^^?T$`Tsr=4YE($&(Ryf&|5g4L6*f1Y^cbeZ<E&6Cc#l=ZLO
zebr~i^54_%%0KA8t@Zwu^3x!_OQ$oI=BaM6w%V=C=**?`ZMTH-n|*n{l?HeAyb=3$
zk@M;vz08pRvP<2b2i*L3^YJ?MzK8QH-kdg@HqnI5d{5t;^H0w^d}e+up&41Xae2dh
z=jpH37@J(bd{m14kJ6t1n=T*C5Z9f_cROn{Z;ngNPBqUG>$)GV9ajTiM|~;X{@3_d
zi|QxYPvJh_zHp|da>$olnv?(fvz@_u))zZJ?l_QGbEjJM*R@^DC+;h%UXSSP{qWRu
z%bnM2UhMF`zL)jyiJPJK^q%gsNEA8$Ji+I=ug~!-&kmRUkDr{kj_2*U-zJy8CRGT|
z>|3<yW5l_~^(){147|yFeA|Wk4R0E`|N7s{{L?CV_4#=oxtixXa(CGN{oy<}eOFY`
z@~Mr1JC!?KPvvn*+p#%6>(F}Ow$v`ySJL6aG3JiVCQs6?w049GE_UX5BENx~p_*^1
z^t-TcJUrU`zJkruYYzlZmlge<us-#AZ<p;W6MYpOPp#a7CwD&Eh^a=ZHEa>mPp-4P
zccbwBg)7_a8aj5fZ>`*z>hQ~zVP=d?5#M{sSv66!!#>IMt%%>2bEZV-!^WHLzaO|+
z+yBhD>HYo0P3CJ>^*JA=&Pn|}VRuW?x!Id*AD*7pQ5nGWRz0&WBr^TuV$Jev<%uoj
zYn7TW%>Bl$^>m}^!ygW;(yEVY{v8io`*`7Q;iGTgxiDAA?6i0?*Z)UTh0H;pyw#m8
zcR44>X{_6>EjGb~{|fusi(PFKBM-ir$g_41?=J2Ij?$NQWL?R6%<yh&_rDh|F(oXI
zH~4dubx+LNFjq!A)2BesE^p<^4(pJ4$KG+K?<|-$>43oXli!a1E}S~8>+<U}C2Kdm
z_L{Zn=8roW>(|yFnABo>ukP->&#CQK_g@a;y8m14Tj`_B)6M1G=}+S}IPxERKf}J?
zC_W&|uBvFovm*=FhVZ@TPIlO>AoKm?&Vcis&2E?3_up9XaiPG4i5i#xsF@lY`)xUr
zbk<8G-2Q`$XUj|DtoKR_g;uTSuzk@yli_pW!c&}UQhJ>q|8i{P43}Mar|aizSGEV*
zrl($Bik!Q4PMp>A%f8RTZR!%OOTvBzWF2)|{rlSr^M1d~*kw`Aw=>M&n7ruw<@{R=
zRZS~becJm*F}Hg6gQ*SHS1R`!t4{s&#*9m4!VmM9mWJgIxNT=<E`GCV?gM^{z3*q=
zIyH4^p~jyRl2Y!=To+fY=#S9cUTJH&-^y=#<gDY(@lT&`S9#9Qw0ZW7HQE-j-(H=%
za_03V-mA}Z8M*ncw`^*8T57SVOu@R$ia)%G?Yc|;iuKm7D%{$ZyxtJzWS1vkaK(df
z-{$a38~DFvw~F=0>E2`w-=DKMs^9$xv+u{w%WM9`OkaB{YQ`UxIrGndo_%~xuC1+O
zpKjOjHHBq?bJjT<?eCcvr~6*Iq0oO}>f)xFcjupE{t<rZu{mAN{|bXuQ1#Q;m5HCP
z^4MiGuG9EkDIIbknE6qxd-^(S-LFo1b1e$YYUiZ?Gtw#xn)l$?#2W@z?fSXr?@{3R
z+S4qX^Y2`Z?9Z3yRxdi|DC;nxbL|JgOE*{C=`>ooeo2B~J>RmME7LU(W#-#GZ`-W7
zu7~Ap_~k0io8LRK1vcy{xHz{UMQ`)QJ*R?~O?EDu#<zcOj`zPHsZAo?Qv+wbtMG~l
z_`55w{+PaBg`mvAkJsNaYaVp{c-QR3&)Ad+_ZzRaow-}^Beh)XLr3r1f)CxUkDD$S
z2<@24TvlOo)Y<Iz_7Xn!6O8jalDAn0SA04$vr)|aLc8+1m^e>|MF;d>pA(+p+HmiE
zhlv6EH&cJ_H;D@K4APS}v<g}(ZaMkrOfYkr#0|&0x%-;g*|+_iTOvO}x%}qR8K0}K
zfBtr5TJN^2p9_|0E_r%p!2~g;-A+*)G9s6X(gHlV8)I$xS@>R6D(ui+(t2Rs1TiM|
zuQmdAL@z}(?p)Bm*;i5blSO#H!rLiU!lCn*s<BGOuZ(jv(44BLwZ=P?$7x}ZUGs%a
zQ*Nzz5qGLcK<;K&@5}XT7quHVJ4JE4$<kKdpugnlnJ7-L_Gr^@Thl^TT?+gl6L!g|
zAp9b8W2`GbOPQ#xz>Ux^2MR(DE!JEzRZiewL9HwQE#9f-*TcUkBrgxLS+m$R!|A!(
zGP$|#+6zlpcvlH5yKvJ}J5zPrJ^hyti;{x-HcGN{9h=7|e!@R~o2v9>)7XR}=~YXn
zzSLd0JXYFf;-umgdtNPkB-6fXwOr?mGx<7mKKxy8<7h6co_M;e(CNntzO(Co)C8a4
zV)$!&h~tgud~xTa&!0Mc{OPEu&C(|_UtVOBQ$qL&u14jf&wo3GX|H)<dtYReQvYeG
z*T0>@Li<x5ert9LW8q)K_h-Wd(S`hhMy-=v<O5d;-+lVh_E1ab%k{BucWxD#6g>4-
zadUNxphZCSy7kGe8`kxSGPy^c=Y18SxZ!$LUchm##=X~yrTt@rk89a#1WmMCciKJg
z?v|&@+ZC@qRX+KklV^9LqPCNWk#S7?iLOgC&zPI<@R(ts|IVj&!Iz?MEW5WG?`N}r
zcp$UXs!uO#jnLx<pI6%~U-aC0@%t{#efs=c?@iv4_Mq7Cxl2%J#qE{dlRw_-+A{g2
z*q#alb-DFtI(EL>*3Iw9Sr;!j@8_RmCv)x!A1{foG(6zV9~D0%@VK(YUfse+)7G<Z
zNn#F4Se9@gBy!b;bvlI=i9efea*40MTeA0D^&I;yoAv*0{OX#cUVK;Xai?<s!+ink
zpM{@{P3T`*6k-*5sOs~pJvr;znGZ;@FZPo?bircTGmS$R%+|$P>0jS{R;!;cF+(yq
zSt2oQ_pj|Y&T<@GzrwoRAj2&vS|;&D^wo1RPT|fwB)(~L{EI$Yr$4*<;i=1S%%7Nb
z)jL{iuk(-$`xtrZLwB{apzgc?MbD2jxL$VUyLQIh*>H%@`{&euH~yIGU*4Lu{nhTT
z{|uwQ8|)G|clw``MGNDyRmbx7s-L~SPul6D)}v_G^(Eh<d~Y61EvSp#-m*WmCrFxo
z_U;Fln3WiRZx0D`3qLsZVZh7V?Y>X9D0rw=sk2V~^H0jcE5>Senc0QN?VGjV#q4>%
zp>n2v<KtCTKJOc9`WGJJ{$6-vg2L*J>$*kfo!I(o<C$6g`+w`*c06}byvd?C=C1lZ
zqrGR+cW+{m*xmc<fya?`C%0ys>@3?65Y{E*An|*(m}W!bj17TLZmkzQ>NSyhP4E*2
zX^o<{*R6xJUDwsFKf!1g@Pr|E@g{AZ>`z<1I*Yi}MSbzeYtfLoBpc{knc&iz%F?k(
zd4<r{8J$j7(v{-Yo)VrJ9Xd}kiSzKK_py_+ce8!g^5rw=`E^w`!sUv|teDxQ%xf<_
zVfY+(RLXL*o4T|w-vz(P%xf+`VR&t7$zbivCztAUz+_fUt%J*fFSF*9I2}FpWtI*9
zY_2TF30+_OxU_y*pM0UBd1UG3%yj0trPjM2ojb}t>rThE2~AUttg5a(Up42V@bcC3
z0^BD0UZ1yD`R%Tpt1nv$@;q{EK0cm%Pkj2nn!m@MimL21`ehWK^GA~LwlhcA=FEKy
zp0=jSuIK)AZu;^$_GinRHm@-^ie36qQq}0+`TNNqHCF%3i#fmBcKVA$pZD6oFs(c8
zFJ9lC*m3%m_}SmBS1q}!R?IRL53PQ9L}9)7v<bF#Pqu$cUa|V{S!uEGX<~mGgIk=d
zpT>J^KN{$7v*h&?Eq|LOv!6@(+br>ZrR8svv;AfuyZRdO`!6G^A1U6QxO}C$+_lqR
za;DxBy0o`?*|#IkyB79aJyMK)GF|55g}Be*^U}->wg=vEy%kxgb9zG;b5vV=OlVg|
zVHUS%*XL-D@H;79PaXw`mqi>}_oe#tVdq^k>pmTJ-sQTkYX!UMsdldB>c39A4zKH4
z(Oz;lRydIVW!j!o{QS2?t3(qor&dpumb<jJW~#K@HtD}k)r;d-<bTn=FXX9ND=_g?
zv*M!Z?7l5i7Pud=6mIJH`#{g$E6Ql9k?@J0(`UM@`QKMRTp07@dug;-gW7{WySN0s
zGf}l}$IiEATJ4!yaPzOII^PYycB5s?ui|yCAH8|^q2#~4p9IWK+a2z-a{f|zf9`aa
zb0G<`H-0Mdg<E|+Z}Gr7zB=)i<IW4h`!ChjxmhIdE4a`a>bLAL!}Zv`<%yGSSLfT?
zhs}EON5m$MA#<MEXZ8O#+26>_iGMV2LjKPe-_~Ch*vuci@R?|t=qu~A-DkD7ywpDV
zjCafG-~)O$B`Yct9m{<$hrWD#_T$r!KR-<{etjkGQd|Y6oCxQ4xgC@Bvi^UT_~NJb
zWhKL5t7C#6E4(I~cWf}r7f7tVm+)oLX=#^;*?A2c?Cvrw%)O^@=vE1H%h#7|9J!Zy
z!*0kuZTK1QZh7kRo7CxUUFLqfwd<-SBR;<8W>OV$2-G!fcA6p-t#L#<ki+Yl(0UD?
zjZ>0e_UoP#{OAxQ{M;d8c7B6_O>6XV%Y;?sKiN1AEBlF-F}(iFE5P+gB6ALNV(uK~
z#Mpg|Ot&4_uXTHH{II$(QBFki#C@Sm&$(9``*KaLYCbp0Qd+@cuXJgqkjoe2qc2o6
zw=BJ^S@M#tHM%hU(O(Dldxn8)Q#L3Z+ZCrX-~6cU1O09D?-!(opT2q6{&VVsAN%~@
zw5M2KOMWYUS|Yc-?d$6`Uk`=uyILearRVF>HCe|O@4e+<uP3yK<;;rtvpMA#WlUvI
z3UcjkNHb1kjdT^8Aj<SQVrdE^$0zUaf?*z;`!^hVuzgL)8?MsZ8{g&X#w6ama7#dY
z#pMm!Tkg4eEbu+3H8E`0o}9_cf4_>mbs}oPE1lQfMyu9@op`XBY1M@@tGWbKR&Vjy
zw&s^c>E^yOJ{wwGUzP{0`QW{!tF+a$tF*PWOH@NL`sl7hQb%_kvO2oUNgB$II=YKV
z`e@gNBfGZnJ4@`g(^zx<zL28gT!G9}hZTdSxBEVstl*(yIl1XXwbIO$>TNHCe{x8_
zun~^joENiab>zdjd#8xjuPD3az2{xr^YoO){qKdk`*$74w0rq+(`HunGEIrL@Tm)&
zQy$gn?|jE#a&`WL`~R8bmb`SqGOK~KaTwpMhN+<`Xp1d$N(8j4?slKbcHY|g>t8%)
z$a}p`NPy)-+?#ZE?kCKXZa6ZqZ}|M*;l!#*9-T*D2Kk@wnf!)tgK_Pu)hZK3DqUh<
zy{d`)AItNnrZ`o8dcyjn(>BHY`*r&AdjE>Mtw&>OOrCzaeSiMHPwl7oGw_Gcez3Z-
z+UY-M-WKscKR@$Nf7^e*uI|@2_WGYc@4x<B^ie!}?&0Hqw<xjg-}RR<{_lsUFK@p;
zyfkLt9~S<o><oRo_|HkPdo1dIemZ?wzL)c-|8)KTHC_dOPv6&La4~04T<fqTU+1xI
z8Y|abrG1I+3EE~CbRRx5w_De6JzL9bW7!_pD<#@bKTl7tbbY-3oZd{%GsiXx*fTwn
zUfi=*@>S~bYp2sYqFpx1&&%zK{*=mi_WfFq^YxNF-TQL>L~N68_$z(u@t(r=)c+jz
z`|ToUujBmR+I{vTmp}K@M=>q$9_8#&+c9xh&;CU}9~E!kf8*@^1Ll{nwhHB!%dyLD
zYFSh&x2ECbvrngkBi3av_tP#Y)x5=>v~b5?@9Qsm+;ccBkMBs7-2Xj%k9GT#NzPZ|
z&Q|3!HFIP-&+&e}_aIyP+qQ%EfA1|YP2In+ApB5%lWIl4)2@Tb4>~2iKNsFKSmAnL
z_va}6a5ItHTmm8YXL2p9=6XF@=H7&LH{17A)S1RQ>uGLGZ)m9Xxc9B~Xm%vml?mb6
zamC;6iN*b`==DD1{YF}9{l13E2)#)ar5DrXJqtc&EiOLzjft(gQ!W4Oid7vk;kVnr
zuKp0Nb>q}lwYPQ$7EE2I&1jJE{NA>($y*YvAGcnYFvwW``WBnSzrA<wE@4=q|KRS<
zEey@e+x^xxINH8hHd(8lVd0_GUbALhT4(=buhyQ-^1Tkf^1mB-C$<{Q&bpeo?fR;-
zYo?e^xLGXBy7`xy(KY)S1(E()SqZl5R;~`w{m1<4^{eCsuiMX^RB67?xqEV9^_Bx-
z)06H>Fs)&p`9o;&QtjEo&CA*&Hk}nw*>`{bR*R08C5Mln%}zh?kWJoy%0~BN&Cze-
zc6{8Z(w4uG`EG)q#y-V_XRFN<l)7yT-9<flF7O<8d6ae7F+}sun&4jc1+EKh)(BRc
zOcgS@|F+!0y=jr=zjrZCX3?5aQ|CviZ$HWDlebYdHEZkoSAAl78?06?TRhD$*D`DK
z_6r?>Jiq2d`*rNO_b~9b-kq>lkKe?buUKH?nO%N;^0cQL?jDpVdl)0QaL$H<*CzAq
z*qJhO#VNhptTH>&`(Le@5WYQ=xuVW7y=;a3mwRWqF8^E6FwbuOhLsZE|H<~WzuG1I
zYD1UDq4KXxJYjwucaQGXXYACzcsn_n+uN>iq53_AuLtKUJ8#}rbZqZtCw)D^`WKe+
z<v*8le3QQu!BC>g{ps<me+xLbT@!T)*(CV5D=J*D^4h9nQK8|wn{^fhZti);QpOf*
zDr)%6vfwE{H`m-{!2v!yxjingJ5jeP=}-ah;$`#fm=#_aCn?vu`CLlhonz7}oN;8r
zvVyFp87db#4#mzB&Nx!kA*<`;Bb4F7&a~HQs>AK2Usz_XGh@0w&(Wn{+-=H)RjyYi
zuJTuzY(C|MMrTWgc4r@lp14t9VvzfjU$^Yuh}_ci49Ga*#??Dx$%V4W=vVr&b2lzs
z_hoH2yNFcap4XR7W>;6~-_+1FX;N-w%ekKLM)ONqW2A$K$Sm<gYgdJ}N5`)<+kUyi
zVWFqUolmPzRLFa>i_E%mpgLBGYj5VqO0HbR1Lbz%LQC|Ro~i_!7%^p@OPP1x*EnPD
z)|Wc5rHhw4z0q71V<NdKHT#a!+9{`QFKb;lS+F-XizVDxHa1{$?~Z2Y?89QE4dRbf
z4(?5sFqi)QKI6OQBk8I8#3j4uKHt0QOlaO(epZvJ)sy}AK40DSv@QDFm2laPlCG{u
z!Tj$UZ}~#i=2mM)wZBbS#3y8Ow`|&sGcy}clsqio5+ka#KF{#yk;Q4p_dZ{<Tzd1z
zcl&=BFAOnt*&4=gvO0L)CTYR?pscSCn=cjZEeKW7_sLWd&NF|K;+JpvbjB)8C;0}A
z6)7UqgTwCnKamNtN`L+2YDtpY)SZ5!a?^HJE7V?edYtntn0H_K61J-c?B$P}>a8^M
zSN$++ef{;2?>2?A(?k1}d$)h?SroK+N#OPSnn5+^u4eD;->&p2@L|fdK>pfO-}84L
zD7|;%w%vOc2A<c>4=dG=EPAY*<&tvkWTm;!EhQtrTS{uhejR<2w{`SR-qvw)j_@Mq
zbD6DK=Qz)7Ja2jN>a>p;=NFve(C;bI2+=*YHQ=kJ_F-wSpVC5{Pb*hF(2zgE>N9ik
zs*V$1x76PF?0ZgnV!l((8FNLo&%WnG5$uk>;B6hf!P`1IYlNGU_nk~!S^4|!)7jg&
zm;5c$-z*%)v3W(9Y+B{oTW8!NnP-}s2O7-IS9-knu*{R$9=v<DOP(^%jjFM`|D@)R
zRqF53Q{UDu&w2jxdJUg(-Krd}bpGi@yThs^*PDK;6kPvKsZ@i@@nQ27{`p%LtWPuF
zI%o2!m}l<O);-;Q#<(-#pT<=Gm62`dR*0Jg{#RNoXOx&#=Q>wpzoHO_r`Yq*)48u_
ziiQ68^XG!-^3d3In+5gWf6{&-a!7Ley0T@`mFNFYmW;};IX}gAU72iJhM;tMhT!Cw
zo3jlHQeE8E^~`v3s-y4o=8oRan>#$$^}NV>*AuWdLiO~$BlC1FUv<0wLh;D!iozod
zE0d0htYkc*SsC0}J1L-JY1l=<*-w?!?s=c;h>5=4K3Bi`F-yD~&n(H`LU$PBza8V+
z*K^~<biv6rk{2iHE1P{vJ;D<2R`BGs+|o(g@5{#D(=*`S(4_y_X-8<}!Rae+-SK<N
z7_SysuzP!xe(}Rk`$DcB_&rB?-=55mmHT+=7FQj4Uw)jyNz?M~`!yxkKU<_PE$+Cf
zc~!6S)b;Bx`hvWt&xuYx`u;+5Z<zL1zF_7|hVOg#WbBKQ<~?(|%#L@NU*(x)Vd?Gs
zpG&Vwe%$hOkIvIse!O|5Zl<=O%O}0CD}NR%BhlEcRNfXb-`e>}1OE<_PmB&M@(gbp
z_!+c*FeEhbGq7zfV3ubH`M`KYO1_}-0rOj}*2Uih#I{Ei>KxkIwbA2-)PW?mY_0Bf
zz8X4Q?-wOsoYgtw=+{`$iP>4d18z2OPvT`TOFJ*n9CoXb*Fyg$LqZcT16zH2BQJy2
z4KOEdv97H&gMgNdwb_F|>+I||G=62eT)%gEG?(b1+*96W7gn8JJ4Ncm+ne5I7hI10
zX6Ky#eX+u(^d;+pwpKLrI=nobrCXBs@l4YqYnc}%5h1p#t$OCfz56^*IN-Bz&T_Sv
z%eAWK6`a}T)cf|;l708Oj8E^aHM=@vyIVB#UcM=>y4Sqk;jvrQ$eG2mGLh}{)wCS~
zD=JINUw9n&cJ1H<o>^zT*4<UDoWdr$;e8v6J?o(pI!_-LpIz9px%=AR9ObCBpO{+Z
z-?&8Bo({}fH)G$MyC$xiw`%cf+4|gP$=<iF>p72h!vX6y)`o<Lj;}o26MOEzk`TM`
z_P_=KNlCG!Nr{S9Mmk5_+FECv*`Z){#&2DKYDA*+ub>ypR_h+xo-QE#pj9w^L6+e5
z1+Rp;AM&d1b5c@_3ubly)6P9(Mo_5Bld4;GZ~kbpX#WsRO5Vn5n3H;by^}$bvu4uc
zwxA;^+gLA7j8`=Kq<zF?8|y*C+e|ms*<Sv<`YqGteS$Z|;yAWzDE|-*oqc<S<%w+*
zG<KYo-neiI_w?^d+M9Gi!TZBzKi7x5cN=TBKcCOMu38{n)@Mi8_4#juk6-%y`quLB
zS$8%@JTE+b@qL8N|H$2sd5hv*igOOOUOSR@#Zxig&*kpX+PNl`OBv)AK8<BycVH<v
z@{6Ib!)Kz4bUQ=e35f%OlNn_$8a61Ku@xLi>0-HP=(;J%w8?$;FAl%(Xr6`b0UI73
z4UAaS75HNjTfl<HzDp-~I4!&o>FTaHt$RjOVW{hqS-0%oDB48z_wr1Cr`O;6M*cm&
zk&584xyfxT8x5VCW}KOzVC7bD<QPZaj1v=%l%BYq?!j<->+@e6`(hJbl`A<P;(n<1
z)P-evR<Uv^yQGj1t9g~WkxI;tJ<@NZ9_(GKwK_!BPX55+*jF<)^&Qjs@_x&l&Ig~f
zwdHp7ed*g^u|Muh;_H;J6KwWczdak~xlv)(I=kkS#>;&NO^&5GY;?;GSJ+ZDu}Cvq
z`p_gH<F&hX+t19Ib|h=toAMt?F)=MN+-Z_QDL;9)_QdYIz$7gsaZ1DEfk46@&pB&Y
zV>o;iPaOTnSal+3jfD`;E0%wUJ+vpT%}|?V+@aNfOfOnoY;9?16JJIE*UNuO&!QK`
zUHDqNSn~WOvoivBXWX27FTVPC%FEqV8^Y~9p7yc4c@uW6l5^kDrsMODHF3Yq)L}?^
z%b#T1>+14s;UwmV5=+`dehM=0OR#iz&}qnj*{QQgd7^8M%BGH!J|c^hC&q5{N|`Lp
zm%d<iuh&KAj^dAxI_3r*?Km39-0}Y7G9hD?g#yhg4+XD3Nm2`nx+=JH+ctjdslI;m
z&NkezxZOS@=J(_|HnSNwPCTuowmGn)FGdW^+@aH?JpE|#|7~nM>Bc$YGgw^?rdBH6
zS+(fFrjXpc<?iXm6Et=_J-u0SM?q!$q;%s6yS%PG`kW%hy2G8LPRKthZo`x0x~&&_
zUD>W4K2X26ozs<PilDR&j{>`#+N{I{Jtr&z+<f?^2#Wq=HFy}$VEsYAfp6wJ(X4l>
zw+`;zvO4ANSIITv8xBR(XI@SEyDD`4SBGl>*TQFeM9ja(di<B2u)$}c-AYQ=FMnJ3
zODyF0i|BwK&da1XGT&$VByD`RqjzTB5xyGk1&6jTaC5uQG~+~xvPIf1!_Y0J3jF(0
z_d49l|88WR*lN(7bv1F?^;KtcrkGBM1U15csu|t0o~C^N(v<_%w-42vUUgJ@pXxQ=
zL+=j1i=Ni9c$x8+VCk7F^SYL~)t;}2*{-1ZG|@QzRFScKQnT<$_t`%e%(&Q@qRuzL
ziRa(9X5o_{iN|SnM>dEx3!i-LW^=uA;vU_!gZK9`ALLHi`!+1?*&2asikt2nale`t
z+haPR^q3mgwam{uI{Ue&?QFbb_Hkm}HvX%XDLXs)4IkQkx~OI+;o+Gy>4}=%5xzO@
zlV<-A5I(0YoAbyyz@mRk?xVx^_kQ-ct7f-r`b~GMTSwflCW=jeqGor`A?>JV-XrCS
zAL9zQboO64P%U};$o9;SZJ$r%zW7y{&fCp+E#TZ4m6a#|p0~cJv7=CBPNYzl_4B~C
zzq|}54E-klmKLxskWamHzoFxS!qbd;=0%5UrzqTY=X8I!nB|}&*X?@^r>(2RgN}S_
z`^J;@VU58x)2OWx;#pVI=dP7`o2M{w!@KBXcX?wDoKY0nw!5)pYwe1@B`5Ckc618*
zS>C!kq3h1wh8YDaN99sp3$k85J6Borby?FrTk&dxLz-cI1zmT)n!m}rp=a<n+VW6h
zYr*VQS08Q*UwwA%6}gnxo+5W%J$=Wf7jtj&9GQnA+jb{je#Gk@bn9K)7VAk<9tOGx
zUs}ndzN~J|Kc?`|jV>$Zt<Aq_n4*~DIenT%-c&A!-lUqjm&>j)-t67^<L=v3Yn?~u
z!t@@wt$FU#aiTGN+he6X7q{i@GfJvD`uzAeUVN#j#va$f=a=8Q>az31QosIn+x)K2
zbDTR_-0kj+RjzmEuJZ3|G@lZ~(b*E?D=M>7MK7T!E>v*h>&)L9cJIk~DwKD`ZF>8R
zlFFM^h98`AWGWQZb_y?g+&H_VmpxBOZHI7^a`~xi?{7&@E65k0@onz|zdZtZfm^Na
ze9GFov-cPCJC{Wd%-$b8&<&~zcDBsE61qxketG51Q>u5wI3)c|v$;#QuKDq#YN7R{
zM}JSd@jW*#>iKT=rtrA?y^Sfcw(tE`PkDCotE<`P=imS6oj*J0-tVPzjh5*>o@svO
zW!Mb<-)qz>W^VeB%yZS{dC94exr)_uCfRANonf~kcVF_ITd`#YUQJbM2bj-0*WB6I
z{=9F$ZRvxisJrHxbLPLE)w?O6$v!LY&1d&X`&!Q}@3*|{UpTw&bW_!>#d!;(em~1i
z{3l`lmSHmcyjNEB`(FHERD1rdY`&F)={4rm9GlzeKMx40m&9F2f4=s4YWm-gmjmP@
z+UyTY6wCfSFTc&?ztWtS3AXZ6mT&)&efnKm<)`SJw>9qbZ1yT9&AVN<^!)Rvi*vUf
zJ^4ZQxy61b7Ew>9ebI@Wr&empa#x=8dm3()S3U3fjcdobZt+#;zE~7<p?UVc$5nBg
z-%EX4c69Y*uC=nyr{(N>;c{>8sz?8h{9CbYyG7BvMzvM@V&C+M&))my#gsmW?6(`#
z?{RJ0GWq&){_J11>ptyY{QCU-<v;7%=j}VX>V<pmvptW`^nQ=|Tzjr`o~PG-#+kF9
z=e(-;b?w~c+{)(bmok^%Q(q|mX!WrIUEvaUzek1cr~T!>uG;_1ZSC7X+8NJgo?!lJ
z@^{?=^OO61_j@g0eAjSJhjiB3FGeAHD_<qgTf9eoX;tIfd*9D34)<ccd(rZK@r;7w
zzjw*KtDToV^DW0;>w787(+Z!(fBL~zefHi*-`nLfuh(}41Ycfhc=WCE#^<d6JdAhj
zy!ER5%d}?qS<gx~eY%!i|Ihkc&O9$~5ohst_ul@<*{-quyldT!o7LreGTtO|N5%a(
z^rJYo;@g6Z+Vs`i7+v0qNZI`_+AwQ|-qR;Py??d7d@Pq^t5`VW=gsq6J>l~&nq7X&
zT{wB?*6{4akd((qM2mU(D%ftfubWqC@!!kaRCLKSLtE$N;tRd9>mHT<d%$HHR+Rl<
zrqkMOzbt1h=Zk)IEbvyr$vh{X@ZAm%-|*EIo?}iwr+%MvdDyo*F_Fu|zaIKBV+FTH
z4M+KL?eOK(U0!5W-4RkQUAxz^Fvm61UEqIzMNI9VwRr|J>L>4crE<0T>EnB*MekL<
zrma|c>SXBQtSi^M?Vc*`{@9*o^|^WV-I51^axp1lc@jN8-GBV#pU+lz33Hec>Fll$
z@F`{iiRr1J1Ivo@ON)|Ii$Q1i1r+5c2d9=OM1#*=)DKCmC{fV&%uP&Bb%N5)P}(yV
zd@i4Ra7kiGDoCrlv4XLJfkF_MzPp(M=*&bA%R<2dBnCRf4|*6PNNIq%0%*uHh)X}f
zQUP>QUJyuuTYg>%NY>3n!33m<OW(~@0kq&d2z*qZzHe$uW};Jm1>~$XQ%e&)OH)fr
zGX)D1Lp|7WiQt3UiWQ;_K}Wa+DS*#U3j&`Om{*dTS5mBC2nvNDF8yHefolPYMPN|_
z(6M|Vrh*~Ny|5MMAU{D@oYOMY@CN{wzMG+mf+09qhz|_se3+-fp@{BjL)@MQMc<J3
zG&G5!#<US`PlI9}!_&oF`p)^Kc_j+QT>9RbpaUnt2}r>ZlrDl43_&3k1UjS=mR>-~
z8EOj3p?(U{P%Ziqkx>dJMv%ik%@oWnA!h*^flm*_egL0BG{hbSG`)tF;DbUf%oGfe
zoL~e>`%ou9lB{!LNn%cZI>_tksm0JV&ZX~?S`5k&AQyu&Ak+s&NM{cEfRFPtRIo5L
zGT_q3J2zo!YKeT}-_=O&iV)XL>+DL;?MXK>p2=C6{z>AHb)i#(!XW`UCdM8CWyfYo
zBTkmamX>w_1A!I=e&$7imFGSQDR&D-%wSN`XwpebWxezDmjkPKiSnjA5#EKHOa0n7
z*6qGmz5n;!-*?}AnYn-W>Q$>(y}t6Yn2CqsOo<?48{b)}uV>iZ*_jNOd)@k^W|+Ql
z4WG|?<vq)SSM~RAs9axMU**cZV4lzCn?Enxs3tTlykhV5H}B`>bgKm#TD`w|j~wRq
zR`Z>GvG|(^gYMUdPd(>t5()@rz5Dr!xz8-C?FQz>FVq<RW@XJ*6R+5Fv25SG4;HiD
zo6cnGnSE8A!Ad3AKJn9*nf*`0UaVR%-}Tep;O@`1!GBddRr00JzMuW9a*d14!dZ+0
zua@si-jyD8@YZ&_+NNLiYy$f<H1%fR{H55#-Z9~8>69sAQ|_$&Cw;KPpHbze+D+*X
zfsYnXJ(ce_-ThYmQ%Ttxu5bn6Uy=@gH`*u*%$?!B=eeV%(Z0QRUTr?f_=n+7R-)P@
z>)+R3rdX#${oF2lU+r<<$B)~;de<Lvl5dc{+VXqr<}#t#OZQFi`5ndSooH#p>hH|E
zrrCD`YuRB(3&!^c)jx>VoM%Z(dbmcpc;mkumeXm%k&3eqE!!OQ%_90-)(x?3vt?7%
zZ&be#{wDf6PJm^yfL@76j8lDL%LH8?5w2FvLnRACDq<q^u5d)R+&$#@uw{a0)zpB+
zGX!3(n9JzU<;Sz!Eb3yQ!J6Ro7QXALS{1er1sV4=7PRRJ-);H6`aXy3%HNKX_6`*x
z48J-1`5sgq`p){n@z6}hnvM^D8Ea;In88rj`{4$Ios-3CUTNcuyX?104Ej{&$R1eC
zVJ~rDF=zkfRIdEs=fYXODgEot%6V_B^3CYWTi@i((a--tvPGWjK~U8DhugmDq_z|@
zSExPYWVGr2pv-79yC9C?yy6?q2gf=5c^>R+`OI7)mzd8mU09Ff!Os?M<_gA#o{WDi
z9-d^3aonNNATBgd=s>s0e%{(E1`!9Rwk(%w<0#SRo?_h6zH%ztH)E$?Cu;VeTmC@f
zP%@K++pk+TVc%CZP0sjp@W7AQmgB4+oLe?CSxo=H%=m}nW19A!CmE05Ke=)39FxJj
zX1|s&M&oy?EVpJkJXw74zF+ZzxoQ8;XYg&kER(Z*Wq3x~mdi4M8C;#uOk1B7F0!m)
z?@h5;c45NbW9A~Wo_9W5(KPM8;kR9fwp$!fZ<sUDDl_Fzhs|QnCpwdUT+{ck`Nu7E
ze^2nDcgLfJIPdBS_TCohJbI+o>0#ZZ3t_F*uXOW1G5uL2&az3i?qb=)bUT)r)&|AP
zpF2F`yYY5Hx=Q0ZzRI=>YiE{Jx-BtuDp4)Tc8l9Md4lhC$xl2B>&=w|>aI8cdGgvn
zl)*f-g>wS?qId3}dT(tww}H{5?Qfg%0`oKp_vW)Zu0=2}oR;LR>N1Ii`Q<b|<1ZWA
zIGm>_9-EM|<Mf9Kiq{q1OA7nun0hR!?E1n~y7+e8NB;ng2v6p{T!G45O&s>xGh3ba
zJjh$RXj7qd^zwPf^qw(h@4awKPFSUFR_{8WpQ4H(lGD={Yz@scIUID5fB8ze=BOJ7
z$^zC0d_0i(fwMY+^UR`&<~K9HEx9oFSlIzn3-2kR1yb3r3CaqsZj5#c_suuz+;BI#
zG^2Ov%21__#Ybx&NnF&A6O&%BJwnZ_qcTa-`=D;nwk^$3Qu|!X<~2!t*vuWk#{SXU
z=iuQ-2^U$!H!x;D<c@OP_Rl2bu$hK>Y|a`9t(Kxhp58fAq+V!l;p@uW*O;4>?zy`;
z$8b*j^FWcdgKA~--dOS8Kb&+%Nb7{Erjz2!`bjCK0{^WvgkM^oEjiG-&cyB3<tX8)
z*&=1r&uM>^3b}A9a)a;F@S9gYZs~fnQTC1RwG~m^b{5_Ik9qz~&=q`qbnYXA6?vZ-
zo;jMHj8p%-g6n3?rr32)H<cvz%{ZR*(A&`8c4EqY)o7ROcf!XexV9F|xFs`nX3nnJ
zx(C%ggDcIrq^>9*QF)}!`HD5g)WLAsArYsiUu5nv-`&Wz%5zfE`c>P%*cRpq*elOo
zeN*dUb;f~%7bLlku6~lu#aY#Mm~pF@P+-D^vx)13=N#T!`tJ8}%X{ZK-`;zh9@`%I
zc180UtH&|z`?s1F&yi4kdc|{M>5D5@I?w$$|L^LP^t-!LQ~HXp+?6r1P$>1dmmno=
z-M8S*;zTKVqllT4#n(=r^Tpg|{ke(uH#gqdW3%slQL*Fwce#aY85@<t``+$|Us;==
za`a=|k1o-T{jK{NcYUqjl_Ygl{X@?U^8j_WSF@8=Pq`Tv?)hG;e38My|7Yc|mDH)M
zxL+=?_{kgVb5pM0&zH<Rb+L}6=#uEI_s^W-l*PPmpU5+9+0FZiH{fo9)XJtH=Sv@p
zd&?Vt#ysA6>`8+6nxm50ow_0mm+~k_?R#LFb(#PEv{hD@Z^e~4t`HEL%yYW#hC&CA
z%V+oZ8f#7--1seGy+Gk-?!=E~me=b&rr$k~dW(5OL_(r~)~x7^xl4{cxu^N<2mkqb
zPh++%H;ujFtRCC)E>F7U@=t#b_X8z~#yUcpvdNb|ZZU~kw9;^<SxoM<ebb`-WV{nU
zHZA-1jDPE;pYqF3iiK^B6IuN-?y@s`M>+fIny?R&*CN8(vXq+_8D5eT^m=W6a#~zg
zmPx#CT4B@C9N)r7-899EtYXGTj-L!qJlfVP{WAaYF=?OE>+kP4xZZf}l#|jwtglFA
zJQTS$dFhV|$@o*ND<q?jKHF58Gd1UH`j;gV{?}d{c)M-+Vt<jEOG>6cw#<?URdM3E
zJo|j=71q?=)#^#*^XD9UoU2!8dh(n)^T`dhjuI+dJNG8*2CXta>QwhMho!zz^v}HB
zjGJNF(|AAgXWPYlGrf2x>^|Y>#0@9sN{GodE}SUl$<nRT`SRKQh<S#;a<W}c9ZI;y
z=_7vgV9zRzVsE#(w%UvJR9-Lav5LOtyo7U`+}p{{h6P_%9GxY0;h9;vcl_pE9-Egs
zOTBznW~-3qee+f2Bb&@Jm(Urrib`fk_?c%v@tLu9mS~)qq4A`?ABj^RP8FOw(K<1`
zMOD0LZi-8m{)@ZwmwtOAA-_Cm`L}dUy^DFlD?=Ul+mdyaPxflg3)I)Eeex#x^SR#L
zhjN_dxE}j%-MY2-#;kpp=SkZwSF62XUA}YOo{t~CP15)mzNwD+ZMkIReNL}Cwg=?a
zM6c?Ne8utYX0P4bsL&<nH=5P;W-YDFem>zuf<tsfihH}IP_AKAX!=b~#mMb%u4{dp
z%sfl#q?hFlDSgw}ER+9FS4FOTGBxGdwW`IohH~xZVJ$IYXWy6^nypJt$}*9>)V=1_
zsi4~jWS>23Fpd5xS(kd~q-JEkzje{3y5H~qp3l4W>(344rK!t{{vG1+UugX7$E*JR
zrB?U%oDL2Cdt|fqvnf-is+Zh(Uht>z{GaJhcYM2~m%n(1&;gF_JAr39+#F1nF~7QM
z*ZELM*Z74(&{9EOwa@O7rBy~}R!F2x;I+Q~zGCrdrT4Fw7XOusP3hjW@sZ}OJHel(
zm0ffemteCDU@3la)kpTwE+_YEqSYHOzOg%8dn~7ldG^s~4~5c}ti7@+!e`?J-ki?u
zN0u$>;_g}g>GN~{yK@vQqxF)Uy-)eQORmhnB)hk%ETgr^{g|^5Pm#4V?*s3UpNn??
zUX#5jTrJO+&s3$PbBnqQTjtAuOJ<vBm?_=7Q?zH}%ZkO1en#(J_~lZD^rMinXph;8
z=h|w_5(<h@ERxWa7LuPn;nwEx54udZI1`V)dV4#3{k@HI^Vi2Pubm(BAY06K@6`DH
zb#vqIo8_E+bZTq1w)lF%dr{$`Tl4;2T2*?p&zAf9Jj>1H59QqNbiU$W7xQz$FP6_|
z)~uQ1*;}??j?ODT{{&f!hX!|x4S(@P3Gcb$7@EJyV%jm8o;Cg7qr=J!9N2kGvrK<U
zT)EL!vSiQab35IpdmF01{IPVIn9+-tr1`47W=CvoEwwDIEY)sKl$kAKu5eNIX<ym#
z9kTBt%45<((n`{NmMI&X8S5EuR4Mcf2`vfrnYvi3%=6AGm-t6pkGzOpvwcRM;S<;A
zN1s@JO7dRho#Z8>x{-Ua_%WRlogUt^sXO2H?P>qI?a1<35j8RHpJKh<ycLvDlG(W-
zJMbg-*Sh}=hfkNy-B;Pnsc$!ZyZ!11Cw}aY7Y^b&tv;=G!}`xBW_M?C+aBMxr|e49
z#zpS^w~ibUvlKs<vA1LT$?!yj1G0?XH;pcCxw6A2JYVp&^@PcXu7)Y|Z06-O-yTzR
z_tdF9FIWBCz4~NcZ9t1<QsR+U9PuqKr*2hGsAFuczMY!-)J66+*TK_^&C}l57AECC
zJ9csLw&(Yryx;uJ=j#D6!_x5U>%^s{^vd2w&7N@Jm$C5XP5VB6lAK#su;&z8+NoK!
zcM>0dP1tnRd)8Dn`)WSxjs=46wnlt)UNj}W^|b2p!`?+Ea{FiPvDdFk+@de#sp#!>
zAoB|cW0A;i-Dd^e_wRqd`g3{o!mnTcgy+wz`S@~q`Ma85FU1S@8$3LIY;GLC^cj;7
z_UavfzdSv?d?o9bRSNkx6`DRpGToS2wlZyIN`0s2SGF>ZE%#oTuj%R8z%8|#&4?xY
z!UPZ3qmRALO`BWpc{0q`YgbXZoIt41({3x_Qe7`82Id<Ki4C<5EmwT!F7donc3ITf
zP+P3)?NPy7cO*A8Cr`Cm_Tw63m+ykGIqSr<qrOQ<@%dO<8vZ}Ccu(j2l)2G%=~??X
z)ZW}xHQ6BX&&0{L)$iV2>iwE%C3c4GV}HN>_WbW^mc<uuYs_A~Ni)4~UEbtZ9Y3^W
z#8j3ECaySk$LXfWIWOJbE%(#bM$cY(_VToh%>B(LcNcY8K3lHz?Cyt^Iq|0iUGrOC
zX?zNl=_xM{iQKx-aY0wmZQjs8zAx@Fe8#H}3N5*~!bo@4f-@%qe1BZ1_%w0#(xpo`
zzCC$u{r#nCs<Khm6Z)Gb3mXZ035BWuSg~(jf#O0_NAG<BO85PwG<H|Adu-I6ob+7L
zT|3?~DBfyym3!^WIic3CUbA00JNLVhon`&E^7;2`B5r({&FjAH?iwMp+{pjGuFVcj
zy7$gg_&K|dz}^%`gD*wx3&k!R2?<r}zF!b=oQ1b%TJf=f*=x4c1bDtuZ=bj5%|4so
zyUQH=_QVGqe?8y+|IOI1Utd<I%UUbuOcuSd$1|)!Oz%UTaL2mHE$eE`q#V;1S7~37
z{`2YP38@nMsJG5_WoAXk`8l-Pi$Ys>IR!6Vdm;42X<pG|T*0mZtve3|<$Z09<=%W}
znybdA_ZCi5Z8yJuntuJ=t*zgrHh)@u{ok?uiDG*SeqLF5I{cp9&!=qv%<`Ya2Wu=1
zJaQvK{*zBW*Npt7zE31~Y5Pu6<A`VCwqCRH(o54Qt0h@y!Y03&S$F*9`K2nCj&0k!
z<oKa^;ctAt@yZ(OY@4uqX6(7NlJ;d0H)O)jO;4G!_uH+Xx}l+$)c(1B^}RoN@%7v~
z{}Zdz{yx>X>$^{K`I}DOcV+JXwrFdYzS(d#e}V1Bm+qI}@oYWq=at=k%X{6owVK=H
zr*2o9G0ADR@vY6y?%Sg8&AR{VZ*$z-(l@!^^sF`B?09)|&(9NP3;(p`hbR6sy`wq*
z{7acN^NuZM@cHxW_u22Wi<s_<)M;5JHGhh`TQ(>D<LB=`<Mj`@eh|9f{>6_kh<(MP
zZ<1T3vZPm3<}Y9RuRgi;|6QfHuzQ(~IxUiuc+)z14IY21RP;S(Z!h{a(?TQi;esDW
z=av*5ta#yDyjyhr^8~Sy){_YfZWtWq{<K{CqF&2|^?zg!iY%CP`g2Y(gYkvU>9_VX
zcjkOuyFPY%Z};{@PM$ZN3}KCZXD9F9)Da~#g-4lbh9k!po`j!kw?;EO&VBqSH=^mn
zw)Lhhp`T7$^0YBkZU63IcBX0L7wftAZf(w7Go`Nk#oT%;ivz5-3a#(<mAn!^ytw>>
z#jTxe7h^cjsGd`r;j(Y$${PLC?dQ5$QdViUs0p?HS-Yy^+36KiC+YC}D4&%znDgYx
z<tRQ0j^LG62|l~m7%dHV*uN=n^UGJNUU%!0uExDxop#Y{bLLvjuGq;Uwl+sT$47tk
zd;Pid+F}pw01KNgSH4L~)$3X^)F$0gT2w4hZ@Bhd;Ioou?qwC5(tE%9=%3cp(ACzO
z_pacp$IH2KF@G{{_c+g!3W+h=z9r+*lbL;fKj+G>d-6o&_>rA`Ulz?wHTLGVxxCA=
z&Hw!ShY}X0tCD+sLZ3+l2ZRM!?LKhZ`Mdv`y(!mp&cDeF?pp3&w4_??KliZ%pMFlZ
zy{s-e#nNUeYu}=meUl=Emy12M-gES_jqByo+``pUuGwq<zx;FgBXO}^(fI{A+aC7&
z{W;irJ^MqoaNY5ZosaL&{jrwwe^~SNIX}*RYP@7Fv;NwH>!vqu^wj4bTW?W!Q+)lB
z$Ekhwg%8E2AM=X8@<3H-kBOLm-8_}poMY!Fe=zQwU$p1JA^)5og}ik~K00gvJI?gy
zfxy3+kAJ)T`^RKc|1R$3A10e}{du+ePFANs?&bKSeB4;({?i}qeY~bW&b`cdDciSv
z@yG9aHb*}m5$Y~c61vZI@UhJOCqLMZC(HB~)y#b?*tfpW=FCTd<IQ4g;$Ka9W%-L=
zX3`%S{x|2R^2r=x=05s&f3er^;=5~i+}HhguJgCWyR`>xW#XSk9RDcVw|no8XyJEN
zH#OgWdUSeg*vnM)Yf&FngMKYdyL0lRYoE16-u6dkebL)zELp2}C+X1rii_?l`=sui
zDZK2)Y`eB#F{Ak!{>f$)g@3I!Z?WUKKJz21tljyKJEazXkvT4<Z0GHB{@MfMY~M@9
za|_mT&d)n$x|-iJ+hX0ib5q0Q4_)Ox`fB-{pi;fC-A9+t+0pg*l&I~JsWRbT4m?eH
z_Nnp56QjLfmheu0xv`6F)t((wY_?wM^w#;oa{TC2u}s6`Ufg<*c1%cSbuWMYm|M)F
zzc^+C!}IEmHmCKbS{KS4-zg(+{7{DZ+_i@~ea5plu95VfUFc>!tw86Q#oWhNB5I~Q
z7V+L?lBy$CIA;%odf@U2$&Bv$$7}k8EvtSd#Tok<B<LM)x9EF5!`M&#smWstSvv_K
zHQN`5a{Bl$oZ?@SJWckv(Pk4fk>fW${1ZHQ>936O*9!UL7Z;zol+m~NjK!p6wzDY(
zGKP0_dO40g40OxfA=xhZF|N-!yTF5&@0o?i3q9VfV_%#t44CiAuot|k?+<;If4KS=
ztLOKKjrZ@mt(?Exl;gcwQhZ;g%<nJTJZoodEZ5(B<#yZNpszvt#>-x9OgC93aj|rI
zTv6d3@BWjXRhl<DJgeSZjMe^XkX)`?R-AZU&u`^w@!cicykh6vxY;#VXl~H*#u+b;
z^!e?*V#qPK%IAT^c|$#p<df$jw5|3?T<*D;;<QD4agT(jT+b7Ui#-otO1RB6=vx@~
z#$n#81BNX#oDN+$ck!6vjKxzq*2w6ltX7ph%WZI?TdmK{xg+IChC-Gz$1BTMXI4C2
zp=iYGzLhsLP9!sE3C9NIUM2U&UryyIX)Jwb&hPOK+qmw(JlCIi?GO3hSL_+CPGMfh
zm713VU0n_v3<iyMql_hkW@%iY*Tm!(ap{Bjeu=r@o0YN>!%Bk_^NP7Zm%^kMgRaMM
zEKW|%D^ajCvd}X!GBPs*k2-^ebd8Kn^(>4nElfZY6REjj3MQs{7M2z!#ui-q&WQyc
zshQ~+B?`u-7J48>CS3ZSC5bti$&PvHIjIVu;pqIl5-0F{kglPDk%6A6fw_gDg06{~
zk)DO6ftj&_p}D28o{6csf}xSIk)DZ>p#|thEs%rVGILUm6pTP4-N+-~pfP<6&qBP2
z@UnstC`^L5^qmrmQ$dD-?vz6K9DYZTv!@G47Bm76x`N8nB_!Y7)5SNjKtbO#B{i=k
zv!s$s-`Ue8xU#q;HP<sQEnmULMn5PuJ+ru^s8T`0F(p4KRg+8KA9TME=n60mm^Mu=
z{ovAqf}GS`P|zBHrjEiDq74+H%?u3m3@pvfK$8*%3dV-!pv$%lEMq~_6w$_J29V%J
zNGKQ^o9S5^ni!bHDi~TS7?~@W8Jp=D85@|GE0|d*M4K5J>6u#^S%PL#Oie8HEDTJ{
zEEUX*P4vvoOwEiH%nVKSjEqf;K{F?yNe3fyb3F@VBLh%4g7}u^CVGZOh6W%##(L(U
zSWz%DG}N;&G&3=bRj@Euh&Hw~(lY?Xx`LT8R7ou8I-+m|kiTH5&_uxic4ZvCNeCkg
z6XZFF*okMe4jTxxyszrAUDp2KzY1$|hA@}im-bzi4AD``o1(-v)qJ=eevel#B;oM#
zxso>*zle#?T5RhgpErfK>c!STzU75wLJJSiHdFF+%zXLYCEs#On9IRCI+KqtH2bS@
zN=V@s&*hW5S<C#h-h6O$dGELI@-w#GuXl3ZIdkpbgN9?yI;*%uzA3)kx;6i8gTTbx
z_|*p2>u$22pZ_R(BZp?;p?GEY*2%f5yRO{{m{J%aIz>M*l&SZZ`T3hyzkb?Xy5wAw
zRo~?uQJR%%r~F(h{YpG$ob&0QQtf}^)3(QxXQZ5*SgilXR^X|6--(RP38@o5scCb6
z6J2BT?E7Jhy1(<ceqXC&X)Rv0==8#-Ygt<kzWw(mBmDZWKTKB^O_ayX=tv<9O0f#y
zd<{xx&>OEnf(E$KyesIwIZzUXr)*shSVm7t%qs!qgJOkfBT%{k&Bli0hvsD_gRZDE
z0@;h41wk{F&@2d>d@?aKHZ#FL`($WgVu`vnW-n)r^wXL4|MnP9N;5H@l%~?_7u~LU
zy8V&&rpI%()g1GCbY$mT7S*zM43@G?nvBaACI~Am+!C{QfiAbA<^zGgB^M@bQ?&iY
zoLe5f?RIWv{oVVU-aHiB_4L-=i2cuN-HT+Re)<1DkY~T!=2Ok{x#jmNpU-_>HUE3<
zaUlVQ06`xH?&(*SnEkuj&CejfTKs$Z_U~W*K2y)P?LQvQR1p`oKQ}>L;{xY{?Bkz<
zuf4x3yt3=KZp9wqhT{BNJ1cMBTfcQaD@P5}0ioMA20MiRB(QeKEG@rT^K_qYuXg=M
z>4qOc4b!gaN^gtZoc#6fYDTkr%mKw&r;j!A9ulqpYc)^*(5K+-32nbxVp(=<7Vm!?
zz3uJJXAhTeP5)5Af35!6DcRTTQ&gX?KlIC=@x$wFyfK@DBNYD$JShGeVYjI^;r224
zy6aZ5{U7UMo}QC!t}asEAn<^j{l(9@yUpL_y!`Xb{?W(375_>f><oQUW{~_V@}0o6
z9anEmp8weNf8WkcH;+VH%yW*5^?9pnt2^PO;>V;sKA*?(4eMPQ-bMHIJau{JS!Mp9
zG2w2S)5)BT0><Yzo2*sHtGZ%!_M7kXnjdXHWCa}0&2`@wIK{zn%E7i323s0sFY@uZ
zu&?OQ%IJ`?5S+^s`{3MP^&O7xR}MD6NPNK>|IYrv@eBO_?(BDNNEB%5aOLS<$YIEG
zv?Gy2(M@4eHTxm~SDi$OW}zb%M+ChWiWnZ;z$3JC`$Cyh0@@3hHVSDK=Q~b%DB__M
zc2ML<)(WRJjaf&cRyeL{jyfW8<>|c^lfzXWie?T{g<4mh-)nH2(PhCaCAj>s$q`8d
z*+R85C;sxK9rQVJ(|~(pXQHu*V%h@9iC!<tFL15hS>J5d_Vz;C4aT<}b1zK%t$QZ%
z25YgvZpm}4dPgcR%&nGvb~xsU+>G`e3?EIebjuxyYwJ!>e3bOUHRe!(rjAn#TX*sP
z#-|%t3R!iW-!wn%(3V`+B-*ihq5k*m9Xw%5X^Enbq#}BEi0Pf~b+ljOD3h>*@0!xO
z_PQgy1`~dV-#AeqyvF$s&uhW$2h@(N<<W0HyR*JgJAwPr)D5DA(lPUXr{CZUS9q7O
zLwKFb9oE|d<%hrBu|KHr#^DaLwcz@u*pBK%^G8<=Ix2YIINo6oSFGb%cWy7&^+To|
zzZ2yjm3I8+xPJJ!K>LHJBg`A*KRzyyedO3?e&B1z{08Qo;Sb!}%nv#qN!-C$$YR%6
zVSL!RK>3kwf$*cX26KM1@8HdIv+4Qqy?}*J@gCoHg}O-(WecPqEq`F}X!%2qM{^6T
zAH{y~JhJ;C-;wGE!5!ZZEf=(BE?24(d*}2==FZ&TqBU~w9RDyK{{7(Io&Sx$A8zi5
zZ#n<8jx#>#N9qroN6a5skL+*wEg;|WTTs49Us0}AU)k==2ML>o3YmXO-?@Kq*>wEi
zuxa_BA>&%ZBX{nvjN3zrN1PUYKP+lkKdRU?{a~@_`k`Xe_Cusc$&OcD!2jUmj^z(I
zkE}PUVVig6FVDQz<pTSUeR%!B<WX?}*GHZ?=l;spFz@U7;akD>G5SN!yX6I9``Uik
z*tA#lJ>33~=TZ5C*&S`_LdB2eD;M?KTy&rJLfQYz{WqO<U7dEHTp)t=`_&g+%S+v+
zYbZT!=3T8bcDZNN-kxESJ##4}EnI4|lKN&z@y)#Eo7v}P?rG25IX!c8|I2mrGqV~p
z(<fvm3SQosv@B6^nSbIkbHQcWfy;zdeVCJc?iH%t4N^PJGC4+aa)9Mzch<*ss*g)2
z6_#;5P8NL}V*1#R_pz&P^(U(eyYJgybnct|o3m<>cu{@xycg{qydNIl@qW?y&+NPM
z7Z-c?Ic)#czh8gR8Rs~M@&BCPidBo^mCrR@FSd8^|H76eyl3ujyQ)Q>cZw@GTO1Kf
za?4S@b|>CRdZXetVcqYxFBIgC_z9h;m3}rM>4=`t*}2VmL0uNpLln*_U){OcVEz@w
zZxdGT%s<Fvr2L&X!Xr)j+a$3gu1k!|*~BLA+`0a+(52=bQ*_SN@=lxhwBz*2Q+GCR
zXi6zQ?;tOEqE<9)Qg6rV6Hj*rZ<v*H+Lm|v#Mq9=P2z>TH>X!KU7Pe;;P*+#BaB7L
zkF1J{->IxoZ!cC)VBX1GsJzqIoNM-py*u3#jepua68m)Yj`D`7HXRj~meZ{H!Y8;3
ztXJuO-gnUKlgOj8BCGEPZxrIs+p<`nG#4zNSlqGuWO;EtWAhW&BeqZ4cd|dw`efcw
zebT=;zG?Nz(;e3*>_1;C_-$gn!yk#C%kTUx(EVBZj(fxWKVl!PKCwOe`s9A`{8mMy
zzKRCr4*BOgJI^0*^gDHz*}S0ah=0MkJ9i6|pF8g9<W}G-UU+A&!J(;7?0C(KQ#;ys
zoVp`hz#TsKx5}MUO9k>DFH@3xmiDCYfZ#gLk7esvKTf_g=T72|=GW)$vdw=a_9U;>
zzqq@2`+>Q4ijM5w5xP@w$L#3l3jXbUALH_Z^CavJ$4=ZWXm>i-{f~@!$B)Xq{CC11
zSl=agd@sEIobS-zJG>q7Px4OH%IrHLdy4nq^qq%0_zTJv{;`&qzpJX4@H;2Z-sZ^N
z_KGRLgWg3|%%~RlDDl1EU2?&kYMpZ4npW%19~|FB9xc8TUR?dq@ZIa3s}rXDR(r(x
z?si9i@%__p+a}-X?(i?DZ~dY2Jt$Ay=ICFMkD2eD-r=)2`d4eatY7hZg}SM~pWm7K
zf#<vQk@TJSmFjw{jmueU=Kk)#6IRi8T5;aPop;23u;n}cQPY2Fc6fV5b)N8?r?ESG
zKiIr?wK>jS^!nlL8jbCI`wmZ6s1p&cg`vOSkGo8<xKnZGPR_L1?|fg_X4u&>@07WH
zBgFhx;PKth&;Qr%Ja_E*vx5Cj{XeSm=FC6b`Nd*;^KVgq2Z!@N-STYA&)NETFZ#P`
zr{$jJvk%rcU-uNRY>sYt`k#0E*$1xOAs3ss6~4VA_AWI}#dzoX#*TYA45dq?b8{I_
z<tPST_^sm_zezUtn@-i_x-SBYPqa=q+%BG*XBJgr|7+9F7t-sTs{J4C)YJK`@~c<v
z%I~l}pVX%Oc;3-6ufY6Q-{u*+W!JBEkvHV-mkziecX0RDL)%ZNf4H^mzaQU!!Kils
ztN!z)cJ|FllWF%UzQ1Xyx0wE`*c}Vf|Lxg%H@4Wy`qu5JXrr^fo72zEF|3Vxe5GyH
zt5up$J1<qNQF&9Gz3Q-<cUa(t8NN2|3104NHrpG`dLeJBniLxw`o+SmL6Uj0(Jy!9
z8CNR{XI}KM*B0BkBZbX7uPXdxPoR-;;G`83BMnw(c`Z>EldN56D`x2$ru*vfm)y4-
zr%t?RIPG0xW^j}2jSmV^N41q?_vyZ!7<ftkrNrAiyPpQQ*IQpJcbax9DOY-_R?iVt
z$;n2`+)gK3`%n0!c1S3u@_3K1Oov(3?ZACok`oSRykE4h?^}Y&u1QZFrB`QPxn!ob
zVV6>L=In>lPIPLf^WClTYAyZind+Q#_&{py;y(;=B^~cAN-`=!y!*nA+;Z2p`&M83
z<Ak*P@*}sb-6k8Z$+`EaQ+h&R@k*&~nJVTDA2)8S-)oVsFh5x{^ghF^CH)o$)okKD
zn78ppcbpgRy|nF4krwmo4+&omEV6rS!SuSR-+7tZ&Y~%=m#3c-Irrl9i<!)=#=_IT
zA72y_BK!B}{=LyPi`lQau3Dz>{bs!8zlT3hXv}{RzrBw8E`N@VNOr#Yk8NA>O)mF!
zo^kjWY3+CATEfr9x|)u)Q+T_7xn(C=yWiaywwNK!Wd+YRy_d<;pXf`MZtr#a|Lafa
zVpG|-TVf~nIsbj@#+(_u(Y1EDVcgHBoxeOjq(~{xn7T!F@jNpTuSJgo?zj0ae)#VJ
z+m-Xa6Za*Qm~0lhx!vg6_CnREK|Zo;f2iKmJN53wx<l#J;V+#Me?4(pDe>}g(;qJ_
z-7_5}N=Ks7A99KwJ<7MzB|6>pmxln?(GPk*g-l8VZ7U8;-&T4t*k<pRwb~M~lBO^E
zO*CiZPu^J)GACqum!xp6(Yw#{e2u*>vxT}?nQimWdf+;B)@R-`*T1#jJ{cJIB)=!T
zBV<l&YjBNbl-{$#2;S3+g1)%AEi}I*ep@11(pmP@mv0x-7w<{?G<Um-S^mXUc4}|;
zOw-x>;)I2L?xPqx(^Fd)GL@+{v(DV~*z!%qqYbZPm+$6YuH1g)#vax7jI$eSS_Lex
z*mAAdBx!Ok^W3jJf6EqCcbD=VQOa8K`NDyfcN$CE{ZfqD%gVmw&vbm<S(<Ml5`D>B
z`^2p6JKpblaQwyFITpv}ZQrsri_2>MHDN=eO)p&9dUPVMmPfI6^ys{`J~;8()R5n`
z(H|Hu-Yj)73wZV>e&^GG|6Z$ZJ#ch;BrmDDQB5Y~=qx{hbBlVsHukPvT(oBDGxN)T
z(v<HzeP$Km{y0JFR`~~udk+ilI2lY@u+gpL(sS1$_3K^p8Q%%Mll}Ej`=?wTfBo{6
z_e!Sjyz|F=n$_v+t@Hk*|8<@JU*!D;vuOW_dR5O$%9s96bc|EpzjVjc@*L@ppVz#N
z{H@de?8JlTa~{vJ`mpZ2;#%M8V>jRanfQ9a>&ow6-%T%_zVGJZ%4ZeK_g3#+|10e0
zzoYV>=JV_D)hJ46&5NzE+M-(W#n#UL2ZR0pe-CR8Y1KWNY-fCk`_Su8^Y_+^&G)bS
z^7H@SpEXBhHM{PJ?KJ-6y2U_j{r?xYeqE~fSW|kYiuuo<)h5q(x6gaE__uuB={e`t
zp4ocy-NXHz?P1E-*rmQM|L`ckXuq4asKSJaK664979EJTSW&s~8SA2bf0+JVy}E4c
zim<lmt~>Lj{tJG8{rQ|o`HMesQO>f5o=TLnEAsrGSb0HOZJz*Vp;`C#8Ji>TmYq}E
znG!cKMrnP-U8eOBd(`3#e{-Z8|F)QYsCZAV$HTi^`PpF|hpd@rJt<-dJ*g_n8oD}~
zKO=0rsZ5A&T)l(wZyUz5k6IUGeTzKwOv*UDk1bSJfM<ns)Pc3ES8g$IT9_>QxhJo^
zdxw(Pd%Mm07m`ZfPiE-f8n$$5e&e%e&!%rqKQ}+KPO@=@e(L!-mY;*Z<%sPw%<)?#
zvOf5{ki6|f2dl&X;(lE``dqeh)oRt7I-cgsTDQn0N3WTf%bU4vY2}^Ci}a69JNC<L
z`kfl{cac@WCpnf)uhaadYV_~R<zoMHwZAfx&F%iHoGK}M7yP7rPsiila-;88!v*#>
z%{YCsD`?U5N!4#sx_!b<sc1}2VYSqnT)p?m?e~iFjB;;0_2LVUJo~Z3R7l<=`fghG
z9hsG;(?dhA-a9P(?}2mblXFH%`rK0slOmlzI!4Fl{!KsgM9g^S9iMf5cVr(5P4pE!
zC$0FbV>O>!*7A_Pkh{T0bJy+K)wO!o>%DA|HjgsP^h%2SzN%f1)jP*(dh-kS%`XvV
zSLYlJsnU5m$IkXN$5f54muCFBB<0heI`?w+oXc}BU(M&4JxR;a<cH0)Rg%Hy(}HjA
ziaOxEiB-$jH+RMQXQx*EZ2Pscmp9YaWsj3-=hTRj@{Z4K6?bz5zeG5jYG(5YCcVt$
z3Omcwo)#vqAH5~zR89Zs>!zh)-P&>DTCa0DbmF%z*?j&nziw>wbPX;3pDC6R*COoF
zw;Ju3T-?RIX5A~V{3GwD$xd9gOtU!bg#7+_+*+UCSU8wDYkjwhKR1_E{8gpYtimZ3
z>1n~y-pig|yk=IO9i6?*lzHm44*MX%hsyouespcU7at#Z{<{6G7*Cz4^G>;_#@|ew
zXcOf0XsP?%_>C+!jV=xRHd(CpAq=N>?p?cd>(-^FmxHQeA1iNOzxriKO!%LU?^ea^
zCiCUxlcj|=75jdxDXY=xK9#9r@}$)FY(deFU7Jg{uKT5?H<zo>YF6BuC9|^E_#5O^
zURt@b{*8=(lFC!>a~hg6Cw>wAwmx*))X+<Bt>0IsUHh@`YRZh@RkyNh_RadX>QLRQ
zH#dU|rT@SFZgFtyy!r0!uUQJ#@bMStFOL6|vc^EAYg5XmbxqI2IqV|NO4tdB7Ok0e
zMvY(ln%n9_d*`m&y=dXXt`OO{y$a^-XP(I>G&lOJ)>H`fniHz@-Rr-~UgeM5JzRt;
zCY;PRs&rEOe)`D<pRT95pGuA1Pw3pkq;0{`q*c%qJI(CFveFB4^8A9^3+$@T1ssgk
z{91V=Rx_vLw)58hRg13s^__p46}zGAZPT@NJ5?$lEWf#GYrd@ApKG^Pz43n;%(>I@
zL)yaFNqJhPg<`@xPk-rp=_~x7Q`nGmQ?t6|Je$Llk5?2msQcB)?w|df(RWM#w$q9&
z8)Nw*qmIuu`}48vs``pw!DdrUCszN@*e$e^(SmdL#@MUN4^H}>>L&hFkNX3AZj;JQ
z*|XbP&CaPsEKrM`oXS)o*lRg;&Fb7QJ3gCd9Jp=k=cOE5H+90@Mb0_<%4V7G-FoZU
z<d?EcEFErP3G;)dayCVp7B8|qEX!~?`GZW2{AS~c72<b#W6wlPs%k%Qo>~9e)paL#
zT_|R|SJk~H!ZCa1wBP1Gtllt7dilA1_!08X$1U)S-Ubap?Tw#a2RfEr<kQ;8ef!zA
zBVIxp(@Rc${#s!nv;6jzgvv?*^EJBPwX#myYVgXPGO}vl?aujJO~&x!AGSQ^NcPta
zlHt9-g6{S0F`P7S^E924^PcTLTy^TsYnkJ={ckxBpP#Q2CVSzr{nYBWD(_-<oR2Vk
zxM1fc&6HKL!bvO#T^bMTL~XFx|NXMk)GuCD*Bl*pUY(?=X3KFQInY%7%=Q&svWBmA
zPPO~(X_NV;@m+j%li0$}<r$hCEQUXq$W}GEui0X%=Mxp4q4jQyvd!Ivex~ZjCzUv_
zQ=NE0eY5PYm|f~8ZFWjXmma$mRI+cQkhS~XT&t@`mae<I?QPVqiEp<R)G7taZxj8N
z@^$ffyWbjjm*vlj4>hg7{N>L)FXQeF+-GAO@A)w2?{eixUUpb$Tfw5EN!#zL)x<rx
z#%0~2*eL#B!z!04QA@*LhL>rHxjsC5`o~iZ`H*98BCN7kJe~EX`^J4A_ow+vy_vep
zZdNK<|2?(p+8UwND=zJ9S-x1#)@SdV&pTLG`QK=&cl+tvSbyTmho;k~t7Erw*tn_a
z9n`M4dSESAN=Qnc+ZH9~)sL5kdtCRLQ?fcrba_#klmDD9|K#8AQ)(j2<itK2tg#B2
zA#bPT67cHt-sMH>jUHY&608w<aP^c&t^O-!w0CZwzro2rGu5$WM#Wc^u+Wp|PUtXC
z^*l1i?&XF}JhP6^S{ZQZq)Jt#*18lU*QHDM*=&0q)7ACijl}2w;;m{DlNR)gzu6;q
zb#dn}wvs=+zBSHqvoem@bj|ovTKIO&gs@OKm9vkhPb^ra`DA_9%XJ=?!eeH0a9q7s
zu}X7au5^0W_N^xETV921-F9KojBK&eRHuEjW`zW<*mPpqt2pn~Au<JdE_&wA;?)1Q
z#LQ#6f2u{UYtrsTDHdLDls+AN<2=JlcS)Q{&ZDhotbEplY+p5}>h;7MwHuEo+02U7
zsmyIk5xy-X^KEKp+v&<nXV)Jw_;~H13a5Ift>=*^JoD?b4u5fRveM~VxUyhL<F(rX
z+Cgg9*L`^D{zvg*TbtmbsD3^kMbG3(vo^lmoNaKg!qT-ey+tMR*uI>wzk;?#YZ!YO
z&znkJbf07raMyfCy5S6W>%eY@$NY=6m;U=6u3fG4Rkkqx%6)^SCuDtpW!>IWxOB^|
zg*!HGx4U4XIz#JgTlBT9tWw#J7X?S(xMw+8>RgRxKxj~i+=OnKVwdS!?5}T~TJ~+n
z(SWaOF0GoEDHs^&(|v^DmqJPEoR+W@cG-0&Or{sRT<M7QpXIr;a@NevvpNswY`d%E
z5w`xYZ`!)j_XYerE5GY9l=1K2znya^arIRl{bCujnP)NrGfR7<u14%i({a5b9{lRY
zJ5!0UKQ^roZ%ExbtYCaC!K7_fvs&9bNoCzBYWhn~$FB9hc5PkEo{FnKzMr^q;f-YG
z_w#YHi?065&N{yP*?bGfcU?L$`?NfD_p_Qlir;WH^+ST&*Whq>jUO62R`Q)W(lWPe
z{gWb|`25ljiSvYia&;Wd>twk*F~J~d`_$uJeC`hlCRiR@(D6-ZiJh*;-;5J({UR+3
zBqH;!_ua_2YBup@(+(z{i<h7KNX7NrX}2x8+&=lIL_KfU-#0CHVz(&oRk*@=Qkj2I
z)tPhkzu(<HboTGs#+6q?I&3emN>ktB@cP?Qv4csEPBeW!l43M5d0Mtvxc-a@b9XN}
zHGf9ry6d{}dsbvERK6S0e<|mfTx-E{1%}Xq^OHlbXgvBUr`m9@;oZgQ`{&N=Ti3q)
z*ybknXHndR5gkXFv^TEZ&b4l};g5BkcUA7I78iZFX1Re$d)>6R?oJ06SUTR+4qiUR
z;!$*>WzsS~_M2&Gv5uc5s;0~`dF)oEGu5@);88KpgG>>>PjeZo`1HH>bjEbZ2=`{N
zl?A;JF_6ocx9w-}bWUUTXV-5t>293a{d#X>+tJHq@qbU>(BU~fwV<|gi&aXt;=JDZ
zd-qJ#QP}rOb+f3c-R9*+7jH-X+$nz}XH)pRO$ljhGQ4hGzc=-?<X?OBBF+l|y)13+
z4rfoWm>lKV>#{}PNA2}ZjW8FBCaYzQ{B>ngGAFiFUE#W#xLtFWQb(BQwi9aeuP>fm
zTI^Cd>8Ftzo9?FDO0#ua9?#X=-e>0e^Xjq*a;%q|XFa+ma-rnzB36TCCt1qa-tqrY
zNGM|Q*!TF;=Vi6~w*KO)^>{vaS8#Yi!A+&@5mAvki4~&9?iXLV_$KIl=H<VpXPkd$
z^f*p>wc+oZ$j>)7chqaleyd*g;?m?mnddI7tGZqaynp)fgdfYg5bl+apU*O%R=#cP
zvG8Njx2;ak?>Cu#WY*zO?Nxp`_0L}H{rv21^_Q7%Th{#ew5KwD*~FWl?(8q#duQ{B
z^;}=B9`;{%!Siigc$|HVmiL067hI0D$xf5H|N3Cx#53Omdat~>@$h28-s8dDwo}uO
z@kq@Tjr8oVzqR1!i!YhHzf;4X?(5>(a6-26L!EJnld;v*XC|KyoME~z<E{F+@I-&c
z^tMEgYd*Ptv!BFedU%)gmrs(M=392u<?`!SS$E&v+7(rM?b<xe;MHm6cdh45mfbeP
z{HC$8*oy4+d-8&9f`xTfW$Ws$y`nScWYV*D=8IQaO`iMm<z2t$O_tHyCcV3V@&AX3
z-9ep`W+|mMimd2q(fY%6d?EYn#<E>3zqc4ws0yz>p>b}Vt_^2r#?-?HcQ?zp2g_`Y
zyZTV0Gn8couXh`7ddQQ&g!MDU3^)4;7|&m%_M^b^)3>WVx7)6*e5GU>B>PpQaDQ_f
z)0K;s8JzaI4<}?SQ0%N&dL{7D;z-rRsGc}?VM+15W_#?9ojcmF%Oiocp#My|%(4q-
zoH(bcyxJk?zv6k&%2_7G4L4Ozs;!ie`sC~?^ZtW4lY`Z}gB!iRo1V^=3X8ow?~RAM
zj_b8aDOMM5To=)uw=v00x^I2!k1KlaZ&MFzhw;RRtzNNe<@KcP(ZaE_jeTeDI^F#w
zZu4Qiz}-uuDp<A#v?f{1&@5a1rSOiH(fMA-i2i8Tr$z5ud!`=Umw#EJ=Vr!)Y0RtY
zKNMIPXvp!h?oo<+dN)7x6Hk~`lho60-pyP8E}FUN+?|t6jVY%bRyDtx?b*zJa*3eP
z!eVFMlzn{{?#<_$z^d!AL;13qY+TsRjf;|!pKdxlds#2Pyp*J6NMP#Lu!&b!=fzAE
zQF&MA>9KA{;UDAeyu5dhP5iuHEu?zd<L0Uh<|i*q&=jj^7nx=exM}7QM~hW6zH>5d
zd^b7zXYG>KwyNYS4gm(qnpS7*zbnnIy39TQ>63*Y*H4=Car()qcPCZ#^{R3?CCU}@
zAIq)@n0K%sEG^XA?W(Y7{EF{OPfpD`eRBG-`N~Hh*Y}J5EBN@se8#^2)1nW5`P=UA
zrKKeldg6@8E!m54Cthnxt4L1#qVT}7h^0NyU0ciO#DlJ$9;KBEA<F)b3TJS2cNy;q
zUl^`&g=IyH5tpdo-nhygcTRgHwwXJeX8V@i!XdZnciE~la=oYgUTbte&t5wB$>j)x
zee;C_7G<tFvt{ye_mJZ=;>25Kx!$c4PJ9#7m1*ud$)ry>N&L0>%r*C){Ama>-E5q<
z;>W(eS?_+WP>s1WKP$p;_mYZdT{EW|=ce5Jv02SiC`*5LrqfaJoqt$ax6k?%^l)85
zQT~~h%E}7|TQ7zdxaX$5UQiG+@!L!vF~Q$l>qMhI{dIM8dYrxK`S}G_mjZo7%%_N{
z^YZlA8yPrEEAXE;-`(hO`VRHu^%M8=+w^{as8}a;=0%%niph-5pBj=+`e%K*s_cJm
z|0Gx0^2DX5+1WC5zhnt6-mL%ls@{!qsfsDh(!E)my|y@tZ?&>&t_r!nvi$qQg*q2~
zI;G}0D=m6bw(Ufj*1069!*8eG=m<3mexAHcaBif?=P>uZe5N+n#DktYKQ&5gkz6Y7
z8XYXX#pLIvdmA>bO{psFoO0oIQ0!Xf{T{mcno~`uZ#^#fHqJ9nqo9I)n=M2A^q2er
zSEDlTr$5hGC0*r~^F*ENXQzkUCV`vJo8&B&tarQIRG)r&j|P9#+DXUdFEGE^%3{po
zqEn>iuuoip(Rc>?*M{ip%%TRe7J|P$_*7Q)nMM?@y`ufqdr!!c?01gOFD5K_+T(R4
z`@F*8{p*F>{Yqksw`Q!pq_Q!s-1olew$(E^r@KX-EWY_>!>M1t-mH7_ByL_t=6owR
z%a*;0LSK(dR42yEuYPuVhE~G;^J_WuBercZxmka6(Svsvnnbm=+1Zl3#mj&1RQH~?
zCPIq;YwnGp;LT-6?;NnmI`*UcqN;aw7x%nJx=&_EHc3izEOUIfqBY;}z4F>Ct_JlL
z>(*@(x$6|AoZq`%He#2E=u^8rn|K@ak7{e5xN|w6OLopQ{;)#%rBV;B{EeNxh~I7J
zcBLl^lQylK@#EzWasTxngypw>csXO+tCS=Ew#~hrrJf(zsqxF@ovh%|FRM=6)wa_q
zQdYXDCDc>gx_b+|X<mf0Yslmkb^eR)smk+h{>jI4|4_5ys>y{XuZe2yH1}v~<`<hN
z-ThAIk(k)TMO}NjH=Z<K{e2bx>OEfEY8w`Gz3QCq)yy}u<I~}(^L!MpJiQqo7$}mb
zo5i^;LszwAMqgoaXTx=ywZBjP32fxZdBoXm*YNUhR=3OI-G*9{Z+t$ddB^hcDNVBX
zORJw^`(N2?mCs)Z(SK8ybUi*jMbU?c@v~9t?vzbiZpEZMR6At3t9Vxu=ejd_VkdHg
zOeXrcsNT$r%bt|O_j*%8@MWI)`EJ3%1(BWGuH{Vstop0Ac>4OdDHp%>_21p~>ZP#z
zbKjlM+N78H?S0smy{u=x#Q!sEk8BM;trNAkX5IP(Q}&rh?@#UIx$W7a9)7xIx?_W5
zXxZvbRxeT}&NI&ck$a+Q@;}bG!mW<41GlgKD)w+Q(|5zh7{v*pOfSVws9*74eaEVF
z`>8_7t>I7aWbHl0xoSnCfzH;BwFxXo&gOU~<kqFlUn!ksW%c@V&Z*utrfUBepAcR3
z@`PZB^SX1!drSS&voGG7H%oh4nsT<ce)Rs#x0g;-zS$6De$VVugX~)yF>i%4$082#
zxo((Ib?Ca^A`Rb?s-tOV%xpTV@5jx{T0NglpytFX-c#<~bAMm(^;|nEc|Vh^+nlT)
zkIXakJ@<;pN?ejOw4SbVV~g4&UBN9*GG1@WYwUJr_?Mq|IC?B3c#HMb+Y(&nB}M1o
z-LT7!Y|ghiE<3#?_0Ny&Z6B_j`t)l<P{!M;oLq+EU(C~Dlz0W+3!Xf?;*ZS4$JGa?
z%QG5X-k7xhd2sHV7d~lSDu-+4-!$5B(<J9nflB<%cu$$5&9^RgJ$g`QyTzYvcWmh^
z*{szw3+K7refcFq@y)rUJ>iqjp8xmove8?gNqZ)51l_eegZYWN{ma8yv9-4<ckW)c
z?N}=Jt?&oJ;r9yjzx&T#B>QEh^Gm*<M|qJu_SkGp@S8lnXTP6(?eA@UrAxZx|MRcZ
zh>Z-B4_YDSw())?b8=6V&^aIT=?@e7I?R+*Pux{KB6G~|xaYglNrLKy)10PkQk4=q
z8@Sm*qHC9PprMEn`_8>fOJ+=(A7=fzB`3Y}x)JjY+qXKZOIJRKV?F;(!|sa>7jKG)
zRG;?MP|1t;LPN{@XTC9>eDj%{vHI-J9qKMo&PQa7+GUDYd45gHd0J<t@qV>Z=+n93
zyWf=+p5AEx<xTme-5C|n)Sk!sy~|RM?0Z|X;MEdM<%tI)eN->9ilj}uCh<B!Uo}|&
zse0VXpZ%Ga_2bwVYscGt&6!rob3*EMLhnj$?gWiVCqH&={1f`Z>i#bE2wUS>8UCX0
z?_b+<Q~cU=6S1quO8qOHmt@5yzc^MaDjR(INz(gSeYz7@t?=LIx_Z{KHTOh9#BcrS
zT7M;eipDq1a}}!==Y6%hxiGRSS5Qk+)O2c99b;O`qic#%?-==}{y3<3Sx}f=E$LK$
zo9n)*5#KJxz5gR=@^1RIl$XCm@@^~@ux+yv&3@ojZ}lPg-N~iT-#=!XcInnjg9mDB
z?sDEg7t)vUL~3fzw#ja{Wo~ci-5;g6T*W9y^?JlflS{5U<gNc5JUF*lK&>I_)md4;
z_D3=-o23t|G5G&3Af@~8BA!!X+k0+*e>vUKCC1U{zRzyK>C3r~|1G(-qT^ZZeJ340
zOP%6HZ;G}_G?y1Ie4b}E@6qv_PkyF+I)1bGMymfB9`*Lxte_N45s_$ybHZ=euasSC
z>-Rn+UAa7X(c-O3Q%XI(qtjoC25&bp%gcN)Z;yf6|3g2{^YKi)q@Q5C_l&wt=kNXY
zmHX#^o1gKz>sILr-wLZgyFHcjrauWaUH&HYt)HY!*z}Y#&j%;I=d>0oC-=`zwM>1!
z!28hYm^darvx--X)Elg1rpB_Z3YRTuxc#u9XZ!Wr?`<FKy`TN<SN?b5_Wj4sTYlpC
zR2dzsdroZY(Thr#Kd8OG!ku$yhMR3TM|Qw&!#N9!vk$i>v!`v?S|s%;QCz}RE-=h=
zqMMzpN~WF5o+rNUsadP;+i%r-xnt3*SKFqS%hgvL_rJY<C10t2j6}C?%njLB)vM;8
zk(5`z^W!?3-`XXspTt=2IovJr-^}iu<Y||%ZDxmNS8Pj2;*mNZ@SeYA-}MilQzq@Z
z`JmqJ<?o&UD|tHiI^EpIY`Xp9qjar&xBGL>>~%a>VD(Lf_rv5KnWf67HA5Io>?}G3
z*G_)bAHIaS=*&}X4SnslJ8Q0&Z2l=|)il@by5ODTQipq0rY<|X$(!qpzc%~fH3>7m
z`JDSBq3JMPu<EA3Jie|&!P<|M)f6AA*y{Y5V6a5o=*!9*3x&Hmnwr}MZ8vCy8c!<w
zaw#!j)lA*pn=}2)-hP>6_^{HfQ*S<B=Q;KBK5M>Cc@(jH;R7!lJ*$VG-c7vN`ZKSI
z&w8zAsNmjZIulmTycYa8Y*O&-!@<w|c#o!i_1oCqls8#qMOS!v#-`#->HJ@7A~)<<
zbTCBn=jumo?=&BuFK9aYM(1>h>TDsudpSys`Jq1BIc;AgSiU&>w~u=P&s>4liR#UQ
zi<kdSRqN!mm;L*b|I*Dnaub)ihHg7p^Ra@*n}6kTuQ}W?^8~Mk1=K~?DW2KJ@%U1_
zo$uyF3k4Tk)ohEq;PvC)pFIY%1th&UX0SAWHotjbV&Tcsi#_QxudR?gJlQ5(?xNMI
zWou`M>gB$le|3}Mq^-+^KZmXS`0{CIk6YaI+NZJ7X{Pyad@R=9v0wRox9_1}SD(&(
z`KUp*)NJl=*`HEb5hC;Kc;l3V7P@(Vcd9!dymvyz3#azrZAn@cp&v^`kIzcxPL9!e
z{Gr4!HF!hM?*%h8Mdv;|d*nq3d-PEwdHs#qO7pJ2__M<-$vAC7Rrep0T^l5|XZSzV
z{O|GcNX|v2Cq7#C%a&PBO7}AA<|^%Dbw24C>@v^ueX@vJN6^{qXr+xlWmRj87rpL%
z$m$&<I`h?~$XUKTs*}7bum6hNY*rGkv8{E|raa%&bgc|=@fmBIBug7VJ+pb$B)jwT
z36}B;+yAQUum8;{`Syel>#Kt@)>@3!Wm9c8Rq3b&sa@b?`?z5K+>hd7xBui=O@1Y;
z{n|c`iB*=duH{wtL+eEg<946<(eI_+pYhK171NipoL3#1XOD<5-@Uxi%6JuL@uC`s
z+KrQMsF+Rsz13$?O;t>+ss6-m>B`bkX<xTbZ%bc0BkbzJiRW)HAANc5)796k!rv!U
z#ci+>o+~{&J@<vy_mh?D_B2ZgH%R<>oyjvlPP^lM%Dspe_vSsH6cFM3<zk@4S4sa1
zs$Sfo;<CkavSY1d=4e+0*u?GHP~xsBe%Sa*MiRUJnR7BM$81iV-?d@i;dMSb6Xg1>
zW#5=p*dOmuH`6h`{<`RJO{CfG8#acqt>1LG0+(`M{9tO5<hI*6)amM?zAPVE?HA&o
zig--loZYzj=9MEsK6QT^-4?mJbQt|!oF5mkZJM9&hNWjpDqnwEwbuINkLNnw;a9e1
zn&sZS^6l$PgPR^v%iLdi#n?QwHrqb^PQm1(s(MkYI=R=p>st5q_H6N=r(ZXlu)TEM
z!D@Pr_3g|RCtY0*dWytNfAb>tPT$ULiIQu>m+*+VRivrCSev*oQEla)1Cs7s&ol0C
zQ}b5ySu|rw<egyqsVv%QTC<E)F9rRd`#$CR$3;o+ww@?X3)Pi)|3u0>Cs`;@egD%K
zfhMgV&o2k$d2G?qe;5(B>5TV^oc~&HyPgCKfBP79%zyWefUCRTEIjsH_w4BjZO7F`
zx4A2xo?)S}X;accCl{;p3xjVjoNSXMe$UA!?k#s;#m%VLDZUr<_@*y7{B~{E1?^Q@
z?hUF34hm0fpJf_(c)ir>b;+zhH+f#$eCF^x``M><3(7FZ=cq_kzg}P<d?fx!<cU}>
z_tLYImQ{G3o;6dK`QqQ}*VlGrxOOkod8zho)~CwuJ*h7fGAD12`_ew^`WBz~+kwx7
zj%Tmm88lV=WK_2J&f_X;qC=*xEP2fQ?5W@V^`8%ayPV+a-obC}uUc}pcV_pAWwt9n
z%TAJ<o^mYkXGDR<kJ$>_4SvK-cwFOLpz~n<>N8(=x~-_aC|d8W?|zpxw$!9Vd3U$n
zwvUTg-Rv{J@cum4n&n>S8~6GwTbh`;?z-ai+=U@4m4n`x7U!>iobOe%X6O3EKj|)O
zbJv&5JR_F3XL_GvG~<KSck~TE6*^cgZd#T#XNBzMkIqb%%Vw>xJk_=Nbjju|Ew9^l
zn#3d<i>~~<GW=S?nOVmi%OW4Hm6Y+YnRNErk7Pspyg576qC!NLO5fA`p0lp`?ny?+
zhzhAUJHzKM*vM6CE@@uG+jTX`Psi?Acw5Y#k~JM?cP1p<TYB$Jq|;jVw`m&<H<`^U
zFq@n2Y@`_@V9xjbuGsY@Vl$_<_)cUh%5^RKI;H0Fyp1!Se_l58vS;3$+Xe^R^|xG}
z@S=W^3-g52FLtfCESWuJzU!BTO9R4B%-Q9?(A|jlzQCGQ{cK`C&4v7aZM2xnR`mNs
z&9nm-PA>}nFQsB@6<t&CI%S_<t(1!azml9h@1jh-Zlk7%seE!0L8aSQHNOhn$kjhn
z>Ft(`Gw$t5Glgc~O4SRRs`z{3g5}Ynnd_IW65D%w<AJtcDKoR@&F<f@a&?OFj`RqR
z@^cbxB23w4UH)pHC&u0@6m$FhqF(CdltiiORMjijj1KSh&7X5MWXjoJX+GYT+bfr!
zo8jqn?^|nk(#Ch&GS}5Fmzw_J?2M}`ey5+EclO@;>d8m18=X0~!=t5)VO7UrHX+A%
zXSW-!U*F|5z2<<;5&7UV+)o6hoD9}i*nKeSm1r<K8SN{zLAT__ul1*QZ(3yhWa5r<
zJMZ{?{UexvBJ(Nl&yQbHFKG##%`lW=W4qC{U(V3V{IL5?P4UoaADOLOleFh-czS>7
z#=!K<ISC(k9XjT$HPzJUzE^Wu;L^`*)BdP%Pvu^HaL)RJbJpLQV!v)-tVSuL$;3>T
z>k-9gI_tJ|?ECB*;+>+g!@xyGQK@Z`bLjC^%g^whzxqr~xKm+n8OJZTln0gEx$0)e
zl`h|#CN&|)W#P+NTe{?oLnr5%$s9X>Ev0<vIsgBWW|rShrJVFr6Ps7H=jYK&P4bD^
z%O=nDT4TOxtMb)%qE5lf+S1SZTWt!f-?Sucn@(5c$@x9El#kj4Purtx)y%j#c=J)C
z+OJoxhHUq{_%~?5$|VH{KB^hrvwdhD=oR<MT-QYFK>Mc42AAEQrkpGfoIK-qmRgVG
zr3ubF-E%bLKHEQ6|25(JjPu6Vt-{0I8`ABz3rrLLlQ!+_DlxhFJ}yt*SM57(tyebd
zO{UuJGc}hp<$veL2rSn4#rOWWzw?b3!Od5CSu-s{`xXQjTz;zY-O)l$wri4u;tD>Q
zDG~Mx8|xgb<UU@SIDh&sruQ9-w_EIYiJTMPq$6jjZ?tIc#wCJ=Qi6Vt3sm;M3zR6}
zoP6)t)25HpLV0;tM?Gr&d*INwZ>=TD%a-xRrl!V9&q~W*^1FBQZ?pV&hk0*!WbuhR
z+`RDOXYx!t>E2x;TB7IN!&hc!wk){x;i&sxajqk-rV{>^FM=&*2p7rpNA7X{m#ivQ
zrxI}I^=$PG|6(V&?a_Hy`Z!s#wx-z1e!0cQC)4;_)vx)!ypxz*$FcM{m-g!A;b&K`
z+4%hN!^Rq(Ilb%B6%8MTuirf5nE%C&9gAz!xEt#a%oT{05M-YGNT$f{f6sFN<}??F
zZGXJ0w$<pIIp!ay6}sQzNovt&qn(xgM;8b@IpoN0{rCj`u}GKK%jP7w${zQ2`F27{
zIzn}W*=LW2rz~CKKc7X4p7L(p<d?WOi1qQ3xMWWu<-=*)o|S$~NYn{U-f&`Sf0l{Z
zV~*Az>emujT;`wSSAA<b^>Y~S2FGW=GR*9ssnk@m%X&@Ho1A(#%j#4~=X3FY4ZK#|
zVpY6F9?h3}E+>^;v^&;0x9h0YBZJ2`pNW(mUHPYp|5#E=lA=heTdPZms?4Y85X)FO
zkM5f<tj-;sefEyhWS!#2pHJkA%DxZkOP;j*;;dCCcy_6MnLIg6EV54h@glqJ*Ji~(
z+!}P&JLsQfz)c}LEAAk#$goM<r%(EmJ@w0sy>8N?cXL8JPa4mvpW9?rZuV*O#_!px
zug<Pi{_fef`s9{f8UF8=I4m}QT*|%d!Xis4A?J&Vn_rl92Ns`@dC>l@STOugg>Nx0
zC(p^LR~4mnT2?#^dN04}^0#?cB6r_Ew_~HFr^HH~=qKO$cD%Wg_J-BHHTvIKpGEur
z2$e>rZ{Bad@i)8ej*I1+!+C^TU*6?3^qF@r_2b3z<>r35T&B~0n|-ZZrqbnlcH&B{
z*@@iK#HXHH@gZj8zU0Q(VC&mX7bg|%f26;%w^YZ7Tj{=b*25KI7v@f~mGGZlcJ^yj
zm2Qq~M&3K#qK4`jb<+cn34Xi&WA@)Y+D@v+Z$`||`&@eS5BJ}e?|d(h*Kk#fp7jsC
zZ<Q46x{Gb$rI#h86Q@hJ<&~7^Z&*1cC2``zrB8O6tg@<J`}@$72En)4z5KTS_dM$U
zt#x_Q<$IA=F9fbkwJbcCo%%BAXzDA$FAuJ?etp88wQ%YFXD$~OnhS6Jv7ysj^pRB2
zi^RFYUz6`W-{T@B)L(h$?zOz>b2X)Ezh3UU%T;YWJwBx3?c+yrt$McNx0)v|Z{Mk<
z>s!}r`)tioP5-iMGVV(_ehaggsm~PURk8bb>()`3^TkhI{yAe&*}8ah*m;|$30Cgb
z-+G#Px4vAmu=P`W!oAB|Ht)adrjhJ_F6(X5Z<kQ<;HNwF{HLGI6rSsRV7DQ|rp~65
zX+rHRlcNv3wX5j)w|`n!LsWKE&$*qe)y^IHXYC*ob1rXV^b51IPoD=V`pnyQZr<_S
zPismO&&|?$ocGI0GT3<+)655_K50*QGIi71Qt#K>rsW1KTFU9`J;hDbZ%^`{^6Bw@
zQ><T=<=hU5+n0Hp@7H{BzmjA54?iFO`95{cOcu>$!l824es2z#DQTX1(sTXCN5OVq
zYIPqw9X6f5Sb?+mXwtqvyT3@T_Tt_3L2k*^4S$98WS<>h`89auB^NiReQA%D*!ex`
znLIVN@R^9x(%9XPRfOO7em`D0?P)>f?ne_7QZ%H>-5+;q=;o<kSvhCnXW5Gi0q678
zk9|27Bi;L4m1XKZkr&-d9PWEY_V!C_`j^dR|D^BmPwa%TgB|k|F@@`lk=)h|v%Nq6
z6Z*$j(f>-NhgWhpv+&c1oyXHpr(13)@;~yp^{1SS^o2d!{de)MOI`CK+~!K;GyP*O
zEq)7r<osMSdxL7Q?U5&n`Bf+Wf1R+~*1vkkUb#&NoyDp>mbdSDtmt3KQPDI{QSOe7
z3A;F(rC9{;r=|{G!57goOw|^RZ5B*xrHvP+FLX%bayg-(-^%gnqgA7h$P4M8djuTi
zxGWN+Cb4W+;hbi3e8%OiNws3}i5HesNBI1`CG2PJ{b!P&)rC*~4|AtQaYR=XPE*|-
zw`qcZ#ECfW%<VZF3UqF_mS5C-T_UP|-F3F%9V^X^fAx*|ANiKdXIE_Mxg2VBaY^vM
z7lJweLgt>Zs&rTPf017LPH%3`wUb42&!kq?ulzsvpT1Rnl)6~#)%J?++1pJ%bN}4>
zr})qJN||jk59<$qu5tU@c<Srw^(*Jhn&|P*b?v1ecQVSC+`cRu@>uKUf_H&CRs8La
zPrhAI#9FU=ex(iH%_n&)qYo%b$4G4QO@IA&_m(d$uJ1nmx7dBUefCB*r}M_Q_Erb2
zcQBsR%9FJrXG(kJNhibkzy7ppmHlnhn!xo_{MDz`_Q$->^X}ih?__cAmv4cO=U(!Z
zTe!j5-tnGh79Y#3F0s(>Q*$SD9a81fmE!WUz2=~?%5u>}rIq{Ftl#zeOB?U<-Dbic
z@6CF9+gvqkTinK-tFk_eMrRAn-j=_9XZfGEXIbA{w%t3-&7b~gZr-jfORG$muc_Mo
z_Q<;_vI%SQEDuE7-Bl5oy<)?PrwlV9c=l|VXPUAmz4EWP*!pL?cFnz;wS95)Jnh&C
z!HFNeY|S?oeO=e8y)DnR%u;6et1R`kkyDrM?agdl7s-2iqRY<Hp>a|Ze<w3<jla3;
z|E{m@+2+S=f|vV${=M9P{;KWwr&YdQxjZiaX9~NW`Sfh{{Rf`+9gtprFrR1Qjnzgg
zPN~T+tTQ%tT6@Wn<y8QyReqvq$4tHr3Q1pI<W0Z6)M~HZ@|)RiZWSMQ961`+9wVvq
zSg5e)-J;9odPkp4kXe+lF-nPZ%Vm$q)akB89?oIix3dhbWv*?QD!lfhyhYv1in9l;
zb<*x}{_#-RG2@fhp?6mv2*rkd^1FZ3;%U8|>6_gLR{qKM{wHsI*5#|#7t>X?|L+-n
zn$$MqORUYWSKgPh&pZ<Q(rs|mC~V%Tm?EF-oKNQY-T4y^cWUlCVp3nfNB^zgwe2Ab
zIAWJEZr-}?qg0Z0$kx=~-@aTE-(H*b=j+~3-Klx^avrV-J1Xd>P;Q!Wa>}f?VZQ}p
zrOl-OXQdQ2c6actzRcH`xb=3{HXiO39MAWEtoi)&`ToX_w|AOGetnwr(Eh*+ue^|c
zvkT(?r58O(+?%Y(_sRKj^S*QQ-aV-3i}Bs}GIm#HdX?klDW|umDRY1L_cca6^Z85d
z)T@&5>u1h5oBgu;sKt-vanJ0&7#*0oK<)2m@l7t?zq5n(&B|G&maXH&m3qE!3NO!;
zk55ia*|$&gOJ&=RGNZ|B^ZZWV;5=?@_&K7s?fm-OOSYx!|1kDBoaJtuuRgi4dzyJ?
zz%`Gwdtt>5)eoPYI{&2T*e^Bz`)l%#M@KBkHEeioqV>#L^7WTv6IM?z_DNoU&3}rj
zaO(DR%)j{TmY<yyB5-=+SI)5X>4DF$)y%!IcIwoo3#VrawOZYe{dOYNZSF;vIifmy
zSNItP=DoIBJSQSCBqDFh>AkN1?Hi^o-rweUx|X}=zwm}xg&Hmv+`A2>MGq>=JWaJ&
z{Pe&6M+tkEzL}pcFMgwX^3a(V%8@)C8%0a}yqq~z4E8VyESP=g$iBx-eh1TTtZEcb
zGMKXR^Uf1jA8k01E7W<?HD?*K&BNwj0avQmY}sFu{_^kAJ&R3ZqJmF#=cFp0yZ4k+
z`<&kWvkO({<$b^NC+M))L#ak#w;zc)pPVwzEqh@fy1D*uYVh*pm8Lg!W*@25oSo#&
zw?+MDb2s1nS@%^BMtE&I*|}gNhofCx;=bwPYnR1M{(7kCNc}$BOs*Rbm};ZWIrTLg
zp8ud`eq^2<&-Jt}b=%!?f=~5!bv60V4D5GZl=y4T)ftlC<O9k+mDpVLj@MPF```4T
zqx$0i<H`M|lcm1No!r^*tLW35Uug+ver#Xzq}uL#>&#>2_Mc|{IrI3v{rmO$v$~h~
z=h!IPeN=v9eQ|}{oZSo9pIBUG_HtcO>VINWYwcz!tLO*5YCf|oCm&TX*jL;er^d19
zs8ZJ+*3+FUe4CE?7{&|7C2WfjxETK-tZL=SoNY5MhR;^7HNXD;@2ZpXOT4vHC$Q=q
zt1F7W&tJ<BTGNr@YRF;Kut>s4m^ITWE$yJf4h7@DEnGfni(I!YTI14f;F*@jt=l&}
zaOO#!+>IO|Y12Hnn;c$xVd+$(6$+cXZ~dx!aXuzZgH`)i`E1_=->r)n?nkGE>F98T
zY4=sJOqtoCBzB<6F>Qu!SK1U!{TV4fT_I^qai1QZTC>2k!udzMf^p}mGi(n6T(5<2
zI!6eXrmB4@T;yo*aOIjwD$%Z<ZufO=rA!fv^EHg0>AJ*e>jIz3iz%Cx0_C-CxH!%z
z@#c=<ijC52K2pQ|q3y$dhqNxyrwz%*p~5p$Qda+MI<toDV9S{l&uMGJBvaJ_XL>3`
zt~|5m=c#+D#xI-B9P!-#$0P0iWRWd0k<1t7ggK{KWSCuCCzGn?!FG^!=E*Ll$kd}b
zQ`hpbrnU*OXjwPwXsCG}I$d!utLTFF#YnHPEj#$b(^%IU-uh)9mu9BLrp`C%j?m;D
z-!Q`|8!qfSsdIwupv(KDV3FNAH*>^1Cx%#SggntOR*j#j5a@j5w2#`!HJ7|uf9YEB
zoy?kB;?1bns<(EEV^Can&$fS>g3qfjum>D%_uzBgc=HZJUTo5&jSDY|rl|efcP2-}
z_-5L653`dm7u^4<=bdo4-%+V6XrgP6qwb`mD-{-Q4!NgmEC?}9{PY|DjTgQz;9t<i
zKQTml65oRA6g5d}skt-TctX;;919%N%4R!He9OnpCpGuW?%6q;j3U!EHHDo{QRAMR
zqUL>RNp#%@qsfkG)r;5u|D2k(-C9PDVZDFiq{0OkBUhX$U`g95$s)}Eu;51M>_-8*
zT&KdAt-B%??q4=x{h6+?jO`Co#k!St<d*H0wYHeOM01kO%V}XdM0RZnV$-aAUlSO8
zpZ{;==`$}2R;=Pb@H{*sICOX4BO%_IH+h>pjfykMX0M7AX@7JrAdGJ|(<|1QH)ouA
zQ`UV{t>VSfu*gl?danNpQo}ZU`LAkJ960kQ;~z%p>{Vu-X_wxg^a&1Kes`IruG!UR
zg_q*B5{-gCPmR1-Z1pC{F-;?}^W>Rj8k6&WK0Ntm(YAf^zl^8PT$L5Ypb(Lg?ptcL
zN8!Q*#|>OT|9*QUDs>fSNpanLx#@=K?(@F&;cPpXTzY>gQDx!t5ZOtuHblH>@^?Kn
z!6me0chc+<Z%#;{zgT?pUdHSH6*FJXdR8LFC?YCtRJ?Gp&Iz9|-X_kOJLk-bF5Pjb
z>F&!9yI-znP@Ep~C70W66LadaN2yH@1pcmai<g-eIy-N>|FoGr)19V=ol<bWXB~g#
z+IMGp2T^&Y$~k`1S4%9gc#_~-x^VFyWus!tQs2^@Yx$<k^sC?eGS=vF&Md8LsmU|j
zRBnr$eR%vr>Lp$KNjHD1tmoEb5#W+GDqg%;BqO8GDA=Sq;gRAUJ@Hd#)<(<fnZ9t0
z+!?}~`s`G=T5|sLD<WFPqN&eHtfu}Knkia!1(Mg}((=kB6of(}gG<u|+K&mz%6E5N
zR+u57`*PRq*H>)fR=>K|wf9T-MHBHC56*=zOUQp-q@_3g>MGBp83*)^<`rkvg_ip4
zTFM0Rm+t+=Qn`PF7fpvI&_BE0eRN@5q$)MJ=Xhv~bMnlSXPy~xsHHr+c-L;aaO$#`
zQ5*aJwauM;%IAD|+KDsMrc3U<@@&J-EeoE7sNemhJaex<*Na`(qnQM{t!Jj}c{f4P
zcy-R!oxDw*?H{Ua>$abMzTL|9+=lu89xd=@*RS|A_2!&it9HN5+kW-cltX#3*Wa$X
z`&O$gPQ_RnQmoARDfbneK0Z&2yzu(#&qoYPImNSA#rHQ%<y#(*R(4lmMg_<I^U@dY
z{%g4Uw6wKZLwEh`Q)gzcKlAQWhMcVa=BU^p5#Afg*JXBb>-x<u@wSGT%Vqn@HMiFO
z%X8h$N%POY_h(Q!#bwm(cjC-P_LOJbRd*T}Jo&WKyX(dJ%3Zc!uG@T`dh@Q_a`*BI
zn@LZmDQg(@I~P~nNt}M$^5r!7J!kIxl)IYodcM)7YW`mgt9}S{o?OGTV9%kmD#9-A
znin+{JSWP;f#SJ|v3_GXznEs;{<xr?O`l%d{aU^H=P8+8=bwIlkUD9}Y1NDacJ0Am
zs}ALD&%UH9TcBBzxs*ri%Ze2$pn~-wLlCP&YEZhbt`peQT~5!8In?A9X-IJV+~ca~
z%3mRrI3?_WbE?>x@MTH)&%ZxPo%Cel;}tx0SC{^@d7*lDa^A{A;A-Q<<oAL4m)3uG
zuD@s0&DQMd>e=urN?%&Il{wYI#7%YiYF)<WgrqGZe4_5m{|a0_iv2#dIG`m>YQg@b
zIqQ8svwlrDAjzZAbv{gvgRR-`uH=WKwQ=W{L}x)AT#>$bZN1l#pK@OqLp~}7*@$qp
zXEO$Ut-E$bgKI+FbSaIpqoFARJ~l2ULVe=w-brTl76GE}nXS!71)4qf8HF#n5gqeH
zOK;mvrf(^QD|Xy?S}4wbnyK#olIUFzf?izml5F{Q?wecm|0x}xZC^02c;viflZT4b
zTJ{-Mx+heG`9qUW^eHm;t@$#+(cq)N$A~RDF*5!ZO{%V@sRFH&9vMt=^4w=s9(Y8a
z^X0=0XTws~bGj=D-hIx=uHDu2&vSbTv}*0x7v5b0EgjbwwVCiH99xrg?aHPMF6Xk4
zqTQF@o&3+E=HpV>d8xwHBqnU3*m38TURyR)>|i++n8jA<q<U~t$8wcd1ua)fwk%n4
zMEHYS_iCr32R*lcIRK6X4Hm_1?y8OUx>c2sRI_r`mMv>?#2ljCIkU4uldRf=P8fuS
zGjld4C@IaDv}TR(k=0o-s#7=4EDd0s`q5}b)2W)&e-V*8)|doLE3isl7uoq~(<TRv
z85%3~JKfaoUg8I5@C6ce8dIkQy)FFr@z8W9aOrhbeR62%m-4fm4F4V0@pk3-KM#Ah
zX<PND{Z)33DO3LR{j*D&_wVB&$#<Irj$b{TQy2R0&+7}Ww-Ooi#MPqjx3G97?f<Oi
zqs(5kKIx}OUgVu+53hAZTjuHRFpV#{ZT?bU^l##$cWe`PGfpcGKg9EH_m26Uv*ow{
z{`f<B!<-uhzh$TG<oe7KaW22j?49}>=|hdL&%b|ZY3{O<%~^lv?cN0wcUL7Xd%!QW
zlP#@SNM)zo3sw6TlXsV6c$b`XeDO5O&{nwWq0N><KksagST{XmL&Nz;JJlB4Z*w{Q
z{Ze*D<)=~&_3{HTHs;g!aBAhVs-JB1ievBl!~0i$ows^U_}}?K|Mqunh;{ydH}^+y
z$EmVU|GuBQF7avEZCCYkm;dko)gduA{eSW|!CII9OOJHFh|WKeUoJiSWY;c_2>oM;
zSAH;5Rr1-^@vdPpaMyX?F!O79Sw+dB`>)kr*34>X4S9N5hC^kd|K|WFpPySYgCvdn
zjP9LVuB$VjJ!w(#obm(9YGx(O4E<@6d+|@rtoAa2&zYB(7^NBfb8lOwtFvEh)y90E
z<e!W?guWf%yTNBWL$2X$#BI4748{dZcJf?17+R6WpTr_|*v+O|beep_-HMnMk01Rx
zd3{UbUh72pXL(13q7C$$_SWcLd8po$&b~or@8__H^S1;~-rp@1Y~uUb{LxRxBfK-5
zU*B!Wtom*nasSx;>}2)T`R853*QY;ywc*;Wr_$y8d3QJ321VQI-nA=uI#2d?H5;4R
z`TLs_-BNDuTD|T4POVK9kDskxCv)Sh*OSY~W^R+U{{HsfuFBK%JXUR6r+3M0L+$Zz
zYhSak>v?eX>ckU&*1k5+lfSb=vFPeIUg>i8Z#g$3R%|Rj{>}E-%dgVPrB}Bae6*^4
z=N9p!z2t+*L(cC%+BV!ua&GN@5a#{jea<(fZ;y{XJ@??}%FEXN5BrK+{e_(#d}Kd7
zaea{LQI*2h=shkiw>ue5cd&jByED5m->L4Zz%S{(^NGL2cRVe4T%7LrjOppzFZ;cj
zEw5hx**$r`<xK07_TPRK_ZQE+c-#HG{8RbrDHksH+be0!eHH%hKi722d)0gXTimbj
zxl`X`^QA$ePGI}~3I~4s1Dp@_i)(&($8Tua|AW=C#{S)V<(MDbM`Zrl7`ED%zb`*D
ze{VQ{{j+(m4}DL%S-r#Z;qILwKi2uP9V)N;wClri`>zQ<f?HbND>Qyk@3gP^{czof
ziHD^Raq~}>ZExo*?w3`YdH8Z#ncTA-A9A->9NK=bDE5a~%@b#Hv(|h$J<fg}<=1V>
zhqoTCd0+6~z<u`Ly@@H;4L-e6%ej$kZdd;Jd;XLBCmuh9+5bG0w)=PY!@-5@hvn7p
zbIL2!SQxpqZP@kt`_jYLV{c2`+n?|JBWj)2AHzL&Z`E3VEBtMd{$rNyzYkZ#W99Ez
z?@+7}-Kn>Seg4||g69g$`P|sf^L%QKIQZ^$xz6p<zvoh;!`8=btNeN^b#_?#^xTNO
zSvP-Oovs_bz3S<vecPU%4%?y|z3s`jd8ys`^S9?*d|N#I>%Dt>a~{6so_1A7;e6@;
zMb_8Po{zk{ZB23M>rH)Ebx)UVnXuH`Ptf9}Vp>tx9lQ4;|NFb2_jc`F?SAq^#!I2D
znXaqdbd?ux$hrDzpKyyzT;=23?T*<W_gs9WTD$nW`1(2Kw^}=Sd}R)>h|K@s@cLAW
z5ZmOFPaZsYU%T<rywwp*ld8ESe<nvwnXB@~z|w>NQ+yrc<o(k$>rHl~pI5loaIfiZ
z+clOoTvmx+|1&HWm;8o#GLn%Q;_xZZDM*l`kz7)XlZ!G7N>GnL3r#A`D=Ect{F$*4
z>^!6r1zkf6OW2WTh6a|%hn<;O8sk0Y%*-6DTfx}G!a%{&%qSLeIGG#dI5W`MNyuj@
zfsXBho~49vI7A1+`3hkFp&Vxh^Tj|OWoBvsIzY@o!N?eNNSlFznVGqQshNp_g(>K;
zF(VU01!E%<Fb1hJGBHyyvb0nH(Z&`gkkiae!5WM#6{3wy%wiRc%@m@|%#0PxOpF!G
zj0_aa4UH8{%?%Yyjm;Iz%#9Sx4NMh`%q$f^Hk%n)DwrBtDp;5sDwrFAY&0_flOS<p
zBL!14P*|Ipf|7=rv0*Iuv@}yABL!0nO9c}%Q!s66YN=psVWwbeZUMH)$kbQ?ghA?z
z%#9T+%nTJw%}o?cEe#;*Eg<SmOw1Ha42&Rh21W|z=H?2fhK33zmgWj3=7zBfh8E@u
zh8C6zAcG7oO%)6+%@shF85tNVL>rkJ$10c@nJGk@n}eNaVyplPK4S$#17l+>XRCqy
z1x+RR&Q>!vu|PRnZPLlSW&?q?_cpElFBK29<xCY2vT%8H!F6dZLlVDckl{2%_Ivxj
z`ONaz%JO1%Z@rE1>0c4E>(V~%mJVe$eqFU#*5~n6&4lzFU(|#+FYld|-;!^-#jLBg
zXtR$o&(@d6G)_x&+wUo#b@xzMtK9hyB1iN6nqQx7UAr&k@y?x5znPh5%>1ZverDUb
z@T$zW+13o*hPkoX@83U9eOoLiIKP{9ngVywVmIE&xuQF+#VDNGVQ+cb@81(aiNELd
zEtbx;{(9Gn$G_I%Ip=xiPUWB|g{4n!PtvbdyCpc)g?-7S6^l+xS{1@MX~~{dTq<2k
zC$ufqC%G^ky%!?;&&00kRw8Ge!dlI1Pgx~ZCBLWGD02QvSGqVOXN7j-{N4p@+fwcX
z%P%Q)o*12#;68EEI>#WVQiZ3X3W0N0G(Ne;;K?U0FZRSPw6ydbzsPnDb;-0F(mV8L
z$>yHmI<N2hdUFV72?R=O&=^9_$MEb45;Q<Qn+=wMi9MGMR8R!Pa_J+T%LYmn$YqHo
zq7a0g%Vub9Y-xo5Ts8|+6I0|=^R}k4Cgk|mXDfH@y>suo>)oL5xm&+YyAoucaZthZ
zmcZ^7fk_8=g*=>YxN%G{R7n27HSPKh#d{rZRr<a!{Wz&%x<vkw%E}`jyAONMlU1Mm
z#8O-3@r`pT!Xd@0cD1TJe*WA(tu8;UF64FH_HDnft}OPOyK1!<10#cW6IVi|yNQ{_
z$8XgPM>@9dT|H}BS^bA|FY6C~Qe}8IS=#J-Z-ZbI!yexoak~<auXyxp_DA&yImQL&
z4o>WyUB2ha7psQ%QVhNo$@jkrZfNFnsGQNi>Eoo>=C!BmvsgK7`4X=4e9gc2^X`cS
zVhaCs8vY%);1Ium+kf}`<lh?K)=M4Ydj0sAI>W1HNtXE;pI@B26~EGI<DG7!-ndPv
z&i6~#-~GV&N&etBar5tQWiGCGvY6rP`-Dizceiae7#01h)v0g!v{vrsrrIg84RaZI
zbNAGy+&*x^_xp?H2)Can<0ibg`o%RM`M&r|i*Gv&Yt`)!r~m8Q$`+}bxxytd+&K91
zpQWE26KAN*)NPP@$ynjZxFcUwYuc=r#Wf}q8WgtA`mp3$Mn}{nmwCcZR?fR}bw=D)
z{l@So=8kO4*3DIqSFkHDV)W^7Yg98(o^`M(gHii8d&I%E4B-rR_C?Hd-qbe<$8_iw
zDDPseI&k<OU)%|&GfeV}`2Td&op3wTCUZpQ$bLr#rVd9AB`u5X{}~lI6rVXs80r}C
ze-iktD8G?`OMrXfjK88?3tDQKjxu>GG)XiDeKVZGrPFM5q^Lv5ZK2Rcrv%j_0?7jD
z@{TbNbY`?#NUypPzrZWO^oqhY2i+vyGmdkVKQPVcwh(`HqusziLH5e#|9oF3IQVeP
z;r}csy+CkdV1lrTqM5VtZ{w;`?ng`!4L7*fc5o*O{ub70I@-~l$oWVpqH9OU1EYvz
zeus<B%x^P`=)0j;z`8}T%)$DR*OA~0oZ2_!6Ghj!ylD#UxXV<%fV<GNM0uTHh2k1F
zpF>jL*dw^bmDV+@{I>m~^pEdXg6^ZL7p`|0UJLwQ$Y02CO_}cy+mYT2=j*tg4H|ZE
zvI*)p^>&CW|6|i@^zE4aFzHC*j+R=6XqLVMX-C!?^z86`P$uCh)4KM}{f9v}+IBE+
z+Z=y5)u3xf@B_UYjXR|EoMoElc1%C4cf@wX?7v*=1a^q)x!+;07FaJ*AsW+IVfrR@
ze@k|P{G+V}s*g$wL?6}dkow3FbNHWh4F7edKJGn?d<yq8KB(=O_m?TJt?)?n1GXd4
zg7tjyP11t-&9epa+oJ{c>wHkS)Ad7iNAF(#@&j)>%9Z}{ylc`|zQ@Zh_`Y$yf?Sie
z;C`-h#e3Z4%J<m6E8Oe<Ay>o8r&uSu@6^54`~!PC_z%=}+y@=M*0O$MeRDgD9nXD-
z8WuT+nve&{9~2%v{vhyM(}s~>*^aYc!LId(u*bp09qkVdk1T&!cqIJ+=aKY>nn#`s
z{1@HFs(B>;aN-f=4<?TS8_yr!{6=LD!+ob3!F|0yCLMUM@J}MHO}XRvgUTb}Ec>|h
zmG-geZ!CXM`h)M0G*ka!!*9wz^!7CUSazU9Wzx+fKRrt9gy#0UJXgM0U#MdAu<GA`
zL!qe<fu9~<{s*W$%8paNwk>W=N^`_^w~cnbNxrj=a&74_O%r{6N-b<+>>A1T2t~h*
zaxsVA-#v8N_R#XZhnhFH?ElqL{;TzWD);=;f^uR4^F&1ME#`>l<eYy(R8Bzb+d1KD
zXT`Va2u#x!5z`X-rXhAqUvO6+$JuFIw$nI$r*iLgX%*8taz^{1MH0`x<M)nvd=dMt
z=(ecdaSpHgO@0HRzakr@?xm|62>qS(*Vt_l|Bdg4LVxG|6?R*6`AxM%r(H^ZlFF|c
zwc^Sb@82x!ap~F1$mw+BwZZ%qg3=w0d)a!A9EodHOG;kvU|hI)`oh*9g5nbxe)Daa
z6!T3;M}_r`YlKUep!j5?Z#FuLhDVkz>5^?sP2qb~WYk~FeanM6$vQLf{6Vfw9k$%E
zDU#J}VUtAPWWG>YeIqf#HEgp;$;8q(nlIE|-<*8G*-UAjn)pWb1m2rx<l4DUhJBMz
zIm!1;V~y(Wo5~ydVh+l+#TAKGbNo6{`o=NB|JY6QMCP3{Z5jSPG5f|Vp%CvVqf)+k
z{Xw@P{YL^nt#<R9O>7s?SL)wb{V?g1%5SY0r+I1Z3C5Ltg)?l<ziZQdl3FI-Ga>xu
z+znG@(#sE+eX2e3_6hqNZ3C}=t+FlNCq2KV-f+B^y8UqKliD)rH!Ay+wja{_Bz@%W
zlkacDB$Vru%nv_(;#?;DMzP*?Pt%{dcNwZrvOKc$x@i&PY5JyWN7pOKW71iUd)lmS
zlosfgZq9yaHS6fQ#=j;f*0nL4Opj%~ewnFEwdb<X5$O!e+uY`tBp&&0nH9@uewq7*
z+>X|38&5wByLI5$1Me-ZZ`*FaNZQ7oxBT?Y)DNk*8Y?E0ZIt~Wx~nagtNg;&j`B-i
zb41=PlD=8CV|Lt`Z3k^jX7nCV+$H;QbqV`zrtg;w&3L|F+?!*3$A5j=^aIyl)Rh_5
z%<WUIYrc2J>>%?OGc%U^OUjk(Jl-cZe-PNq|1t3wuNg!Ch4u)08!!1(=?8|tM56io
zFQ-Sy+c@q&TlLWMmrXRg|HbJyqdYENj}YR!{P>Mi#jHB{kCMN{qM6TMlHVv-(KpZK
zk67*W(!<+d>PLvnEZm>6`hmvZhSEcyzwqa%?s4!}-sfSTqWwViSNM_l7wR{dRm}8L
zkejTsO(t&QmK@1FT9P+{DttF>Q2ns$NkaES-jk=r4i=s~FLtPWDMNOv`BH;NKkp0A
zwTGg=*XMUuEUNIVusoW-^Ji@9#pdgu#qK;is#+(__vib=usvrc>D>C)bG`jf(%BpT
zPA#wB{%^mn?2+?!TND>8WvJ!8(9H1G?kZnKrGq}}8}=8z^Xu&H?o+?KFWD_S_L-e}
zasFYCt4$kow7=Ezh6k%3>-eACS#dG=-+MpLo*?aoy`R4S>{n%qYH+D7e}1Y@^lk3x
z>AJC-DlQ(n#;SYPx0m;`@YmAM&*BW0Z(Fu2t8B}jHCt9F*z3=c{$iCI)_rop^^;M(
zQL2GVOV2)>7N;6|VRn#cOLX+<3d=j~qP3T`s)D(~ww`%2IjG9jJT>h+%Qu-nA?ICo
zr9aB?PYQi@=+35~rIu@!_?fg$RZc0bHh-3%#r0idWw6rzkSC$6ixLhwX|(ujoV~YD
zP1Ut(>a&p3eG5N6yQlWVI_H9Un>72E)C!^N(gxWFVpeI`6wMI1DmZbW>)B$y;0eAp
zH>OOvf9LxAtnBxBd7s*yY!~rKv4(qHo^gpwFI9NDWL^N@bUEq$A3H>^eRu2m`|#gB
z?%lyb@^&VArv3fz{ckF*d{hv;s^a_ly%tX!Lo#=)v=rr3zWGQron1k*bf4*(o_ZdQ
znjcr>)31F=%`*9Ut-mq-r^xwLoVV3KH*8wiVzED<<8;yCi7ac5J7vXJm+xA0pz8nS
z2_0@#L0hJ8mzkYYSo&#N?PT3_`S-l-J66uBHnz8J+q1Iv_0&y4SN8old0ajxJSfQV
z{V!hUKljWH<npq-UgxHkYh7%a=@Or|?rgjEq8t0yi>q(!T)l9wwJ2}@k~t6CO4!!~
z?BF#kE$MbQ>R&piSM$Z)36)x+xp|L@G|xWX>zm1F8NOrhZ;g4eb%hnv9@VS$sn3wp
zb3b*r!%Z_o?)^J?AJ*!>e_zaR_S$Yg#p}z0UsZ?hGTYwqO3YsML);?9qeo-jp`Ep>
zzNe(y73c0-Qxd%Y%Hg%GqF&riI}-KGA}+=(I-z^ZApE6T-HbPFi&LsT+~JYa@%Y)h
zc8}+yezR@AoNX7D{F0gYM{?$spPH3Y(?zw<oth%|++IZY?riRmH75KfzQP4;E3K3h
z+TLz{x+F$?X5&ZBnX@;SZt^^Jd}?>8NT!SE_C?{Ij<YYx%5i*ex!5k0d$%Sp=K7(1
z-PVV?Z-<w2XQ%H;dD;`SYwxq1Xtn8!dS5i?3jSZ>>sr~UF<*CE-KxrmDVvS-+QrLz
zik}s<2~7Fes_8J@_raqz8_%Cwb6<=n|KYTK8<Ik!j{WZ2Q2Y8gzq-(4<+FR8i!J;s
z68~51SX{j>zGM5M>i&9j`Ez~mZ*+&7O_`eXA=5%ejr|tC`iaKAt9RYkGMs9hdbeFO
z^Toq^?`02hCT++L`?a%3@4ckd`?n9*@#cl7{F@-cdHtbx=#F;=3#F31<mECvBoFcK
z**EX{_2sWk_r!IlDdq(oE9c|9U#_w5p@5C&hs|#Hww!-?{+EFG%AZd2ou6F!!hiOB
zjozX2lm94d27RvoQR!IaxHO!1#l4`tOY;KWhs$5}S>|?DcNV{ie8%Q2?OWbw-k-et
zhx>Fp#e>$#^>wemAAYS<Y~QBya{HcV)sOGLdiH&LeDLv`T4H8*_4anvmcBF=`EWUe
z=lhTFmzi_+i%n^9brs&UaO$fqF4w%IxGoA`6h89nALr}e6NRUW7Dk^4>j>|;BQ?9C
zeV$!%|HY5S))xMzhfFKjK08l1<F`k6fm*M6`>YZ_W7C(iY$sQgpO_T*{EC-bue++`
z)i@{Lto40j!K;i#XKR>Bs%p)w>X~#|V`iM0&||AkkFxo`?>GEdTh(rNJO8R>tljK$
zE4hEImGYl<e%ZHOwPwBSf5Ntg3x~L0{hH+|yQ!sV;nRh>3->Pk?IhK^|A4>gH74z^
z(Ybc}&)-V^Y?*79eagKi*DUFC)f_SQiLzbKp36N7%>O8~-hWa}$aiP;!dLNS0tH{J
zRvb<<J{2I}zi+;e-0#9q63^DWSMUF;Q`r;Yzs^_Ay6jELr(Tsko8o0R7Trm%ovSk0
zbN$zpPcv9A8-6S{`gzW>R%d2Nq~oKjg}HY`#lm+)#cY23sLQ)T{p{j}tDU&7SL*Nf
z-03BGbam<4^5eY=S5ND&a$ouIqWkv#-1;vUzvL!m@Vu2dV19Z21L+3FL+&37N^}yP
zZqE|h;GgXC;+v<y*SQLIuYd2G|FceD<(d^`S%-GAZcYz9n*475m1j?{e#)+lG>K{x
zUpMjo2G%F+lUQw4Clx%9<Xp>Y+hWDZ+B8i`pm$Qn6|3Z?siN}?I^XZ^-g37vq-yf|
z9cJIccg@|$!dG)%zs<GtQbG647x^0tw{L#ir6HKqDX{a#)g`wglft63FL3#3WLyo(
z*Z!6Jcjd3(Z?`f&h3IaqD|&Y0R>~zSLCddxZ$eUAt+p??5a#}9BSWd>R>ns~St{WS
zr$aZVi?(nZe~;;%7IHmrZurKvn-aaFBcq*<*4A$kt&9%aYPK%^Qq=Sn#nWz=MhWkY
zUtT;#f8DzkC!#{PR?Y~qcg_q9b^Vz7^Qh|1nnMD~@|OaCv9&DJ5;T}SMPR;zMt#0r
z;dYPRpU!M^Rf`Pz)9n=V>c+~5+CL#Z5$b-bg{nvUj<@XDoPIS>Z@qi8-=UppQ>+`F
zT1CAz6fSzK+`jr++}0&qwrct71zWBDG%H<u-HS=9?yM3zD#H2JWdDyNtNxzkntXQM
zzC+Kxo{O{Gz9=~_!fb|V^&Bp}tP7j@Pkt|Sy`?aZBVyJise3OU+*>!f(sA4E73X$%
zge`8-h_&4)*MH=i+S>Up0ds%uD7YxgwfeHwmZK-X+itDxo^?%obCDERc5-{2c>LW6
ziK6$Ler8FXcx@3U?bg6vV8gvdHLY>w$uq|d-fw9<n-!dsyG{Pqm8j6kY0IxFCHpK$
zeqkK7YGGESYX76G;}J3P-q(`5il6N2;(Wbmozv4L7sR$5WuA0gZ2QH4#|z)>{@!-W
zD(uPK;+y&AerFb*Z>=(qk8*uywRy&IB|T61Uo!+ZU9fTtpM1o1;;}zs_7m3@O|Dyh
z{@$vK4LY;M63a`pzN`$kQ2MT6r=oXkhP14PQ%vF)P5!E0Z;Jp+)l;_ob~P(L1=QTm
zi9Qi=bKjxR2<P})H9zO+?qAyf@@cka<>rz+zee|Vsgv&VoD2Fx4y|&zv-jxM>!sb^
zMXXzIzFNkl7wBlS`=p3&|J9@uS0*hmTP+nXprfUKZRcjOoo|9}=~SrZZryrP<=Dd;
zCxc(uFW>N^O6cpP{&P)nu@QPpV^7ZgrovmU;_p!OQ8d<XCvT^w$j6t$r;BE<D*7yS
zE$)Jmgx2Xufz>OwB-e)C&bi<C`n32}vDx0u*?PtnHP`MK%{P?DU9%!0YO3&t{zx0g
zqYsM{-{{V{D)f5yjfAbIr{Df#;jaFwiZv>hyOnb~-x9T{)BJtA!=|S2=05#pTikQ|
zbIOyw#_wg_uP*ZYXgqse#qSHZzwFFD|7Sv2O!wVGZ<0Sn&*DwHa=o?lR?W)0Cuh#t
z{dii1L0x>zB=4!4x;DAY3`xs5FWJ3v%TLjrD(2UfLKn!))my)C%Z|-woYb~X>-p#*
zXs<X;c9r*xZ)XhGZC&;1=49=2ZyzuoPE(5so*Z??rR$JYXT%*>x7c|{r_RsqeP&W}
zzD)b}t;e#(Q~&JR=HWMU=bmi|6YnQ#>Gbml?wY#lO4@qcH|povvTkXq|MPskLEJoK
ziaJ+L*3_K~?ku>!@>1qija<ofXD3@+m&x!D;k{XQ>jl%TR_TRriauNJZuXiGVU?is
zU{m?d%{*4g)7RKpZ=6}EGP9)S)VI8nP&ua`J*PfJ{}NW!UARD7EN6y&e&_yk&p+vQ
zZ{ss%>)ckBP`L7F&CHybi#rl#-rI0Hp;t%B!F$Ta{Q=um9`9Rt;FHVIuWXx|CoEVN
z`*4%y?qcnt?@xog^9;oA@3g*?yl}yyi?4Pw)h(L1tH<ncq~+_!F+p-m>;=2pRXnXO
zJ-WGL%@Lim7plHWmwukJldX8>bEQk~=7d%^*8fZJ-e<IZwOYi?(g_l?!XNG4>6$+0
z#zMmrubNnyzjpSnWpz88sn4;}eo5VxOf!+9|B+9nzXbMt+jRG10N=@%9j9F6w6}>&
zZs+z~C|DYuvc05|dvRM8v#G=tzV!>`_O9$+{WD~f-MQN5Ev9Q<OU!rt6!NJw<om77
zzm8p9%G>#(<CK{2N&V?Nf-_Gm>1J!Wty`4x$n)zYmye%xmTz3KNv-<evS$L3-aPX*
z=xd+PKJ?@Irj@Gie`WhRCRa{9y1_g7N~V|CxBT)askd`){^T=Uu9mgLZi@>ikDAc$
z=9KA;Kd!u0y(6T$+gsb~`_v%s%negc@$IfvuL^5761(_fm)EDxS!F-JJ-su_dHbU;
zvhVbEAMKfDDSTM@%$L6!dELvmU)<7q!Qtb{uL~6)c}%#;{7mp&Q1I+)(#-ReHY+~Z
zlfV~Q@b#<c-lO|ITsn0mC*Nj6rOEo8`|rg^3zrMMms?yj%j>k7U;NJFY4?)1U7KRX
z)28kId`<SL@Y8I(_g6+;sB!yZE^eaMwbd#q&-}wr$+Bu4xu%83ol{?Bsqen4w)gTi
z)l3e#=Z^e4f>XZf7K+@Mb#F(3)75onEEyjARH@#M;)`1J&L#a$se%17p4l(w@BJU}
z`cUV)Rh{*!^RDfTx_ZRpnF#m(#ljVS8y#*2Zg@EJ<k{_K?`o}#^)HXsjap=y`60Hk
zKdzq1`IE~VpEoA+<~`bB>uc}0xBA0^%Cfk7Idy@b=N`S7VHjt@W_?Jk!%(LpEYE_=
z(t<7T_FBu`YmR+uxvj*is^$HgXZNPU<z*?EJqs?Cc}j>L)l{-w_J00#wa5Fu9GLfV
z_Lj3N3w?wSrLOyCr5o8-@a^Eii=LT%Sx;iKLOlh4zHX^n5g%o)8Fh^BMK0e8&nK^L
zUv6)?tJmEf5#uO6_3hgYw==K5{$f@v?lH3>WPaS^=*z#CJ(fA!9?ex|X7cS!k-W}~
z)U(F&D*p{EmWk+J?CdtmHgC(m&gdv({pJmWomo$-mQ#!T^ObL2U+C8?e;~N`v{TWp
zD{O@#K7Plhf0?J-r!)DZio;f?rV^Va8}}?L6<=^!RK#rk>Xk=-&%OGw!q?X(&iBc#
zUheKLvAi{_rE_$(vSim}$L-s*bLU>!r&)>I86j)zS;f>&l}oHM4tQZu^sp!S^5X@^
zuD-h|d+5jWlWKa#ZqCnBWX|Yp+1wubC16q@@AjzDXLFA7O9@S%b*Ipb<DTS<&8yTR
zrj~xl(NPI1W?%J2-|F$(&%dI(d)gj<v6SQH7Ux;^)}8O7j?KrX>TmcqWZo{_{Z?wi
zt{f}ni(RbEhmQQHs?<MLp0x4AMVFbyo7-dFuHl-+{gu7j%v`FtxVSeZCO5!a`0x|w
z;%Q5ct>t#tJhJz->y}W?I}<WKOLX2%<IbJr+2^BU^panon&G}phs=kQuNtD>ePo@p
zui?$-m9|0Ezb4p(WogF7d3AGf+rDkv*x~<HtLczU^W67`R%{kFta~WfE-k)z@&zfe
zwd>!6yRKmojMrh<dQ#YNe*fnkp}Ob3KT-)PEi;}|$0xM<N&3;9OH&`-Qu<zy@4Ef`
z^V#7S7HwqTJGHas^iuKdDsLlMbH$@=%l4n05*rb^A!Dkq{VHSeS7+3^&&lcawNBew
z`7~BcIxErccgG!X`GYe|)fc|_=#y(CwN~z^v#r*ugQbtmUhVP;V-_e?Z|nXQY~L}r
zwB>uhdh3Pk$$eSk``(<rvoZa={f{%o3ul<WEBYy|^=xaX#f#~CzQ@#=L@l1|&U@_w
ztM=nZCH>i^vu7RTJFlj9pFd^!)SN35Y^)h~U-jFcQ-9!JU+k%^$KQm6+&F7h+<)}l
zk@<VY?l>zu=<K-m!uChi4?T}m1O62&CO9q){_62yio@~bz>rBQ?V;{rFRr~_!F7M{
z=aNb1)@@I42s)UeAhOY5r|9{LlWWYsRV)AgzQ=Dz<F>rBoBmn6wA~kfrGsnZ@d+t=
z8pJ+5u9+Jmdp+Q7|Kr(<zQ6iwX_*$RaD4rK>s^}n{CmEOt@A8<{<Kv6y2w52kAe38
zuk-DY+gxys>yPHg6X)NmB<(+7mo{DJ+k&}vY4r#Ht^3PgcD1%_(`mnFH#yh$-CFwk
z?vZ!jc2~!gEkB+5f1!(;VVP%Gr=5bW_Fm<`Q9*aLCdvwRE?q6^xyw({O4VC4OywWn
z@-GcfSTxN!0wdU?9lnbE;Y@a3KmSLpTl2xAb8m?TDV(=I?Qef5>SW&ZyDuc&yr(;w
zJ)RaczmMfxRJ6^!JG1I8b{*T9S2yR5)yjE2?u+}jz55=eZaQt<fvsIpkCykGOo;DY
z?;^>1Y0aju#WAWIe@*(p$~RyAe5A<6BkZRG<~J_5Ipyv7OOM%1KAxPn=~q&_=RTin
zE?mF<mz|%IcQn6g)5lk)C!{{Eoo(~=ZPyaJ@6zIH&1$cIu=&5wb@AMLYZy)U#blZY
z{hvFFZFAPvS>LZR$Q7{c&s(+mmGO_%%C7k1trt&Sp1svVj&F77$`+j{!#UHg&;D|&
z_=oB9Pp_YND!tqP=}N=ot5Itvq#o2y4qJToLp0B(ALYJnE6=@>4E9&wYiG>=Aogo8
zvtQV0E7=z%P4VrKcCxb1w@d98*niOAXui$#c=P7?{y&=@TyH$PMEK7#{bT2^W;{Cd
zg7@<5uO6$8d#<{gw61EQ-of_<iw#~${+T7YXzApW7M?5;Zau-wX>G?p@<gcr;B{m6
zYv14fp#SouXXgHouOGBLnKDa-$tE@N;E&9@#ezL<2lJ1t>9G>}qsMb&&izk6|D=5u
z**}%rc=CM?w#y>+T*cGwCmVCE-{$xD`ux-R8-0Wr-#wkSk~4J~yW3{Y)(5u@@10p-
z{NksM?}M$&f9B3VpTE^li1D5Lw3VE5pB@iq-Q3E~JmsiTj>3=4GRyowXQ%tv&ds^}
zL$+p<*y}H8#xo{d`6T(LZh7Pf>t!FM&p+LMTfOtgebxmAVZXnm-I-m`7Pk7q_M~aE
z4<CBHIW}$MtGV;fzu(|5#OPM|JN?6Bo?OYg*}Oc@c<TFZ7xDe)xt#h#Huz7TUF2<^
zI_-!zW*cs@?B`X_p7Vsi;?kdWE6;sO|6naU*@Z#w;QJZ(dh}YCl<n@@y-jwrn#uO5
z*R|tTcWAxK{9_!WJonBzPbCI@@na8X-OFLuK6l}vz#qOdv(|{+yUw;yXZC~dHHH7y
zoPV_aA<taNy5+@P_HQ<G*S!x(pUZmA^WK>sG1_)|J;iMMncwKC?}%x-|Fme~PTf80
znLlloRnq#k?Bn@@w<V`e^_;(}Fq`}FH^2O{ro(U9w%<N6eVO#;uq}-b^iOzx{=NL;
z?FVz7oSyaQyyf)!tbF~_Hj;Jy?jLqnd|%WM>~i<b`RCt%t93Fk)ohw4`6sVn5!>Fl
zgYUmqUEIsEpW91h`h)W`U#*${@Yc&IZ|AE#`rjqW9ryoB8vl+>n-sLYKcqiQ*}2np
zPj%%D<wfg^uHJmmQXFJ3VPEme!xqdRp8MpVW8(LE@O^g0i%;o~qnF?AoO;7HY=Y{d
zyoyzuPx3xra_7vC7+=<y8FLQwymSmxU}v%v+h<bD#AwprzFI|kRo7o7Eis=`v-1JD
zR!>upJr5EuPHZ~$<r%||k6Tu1gzYPt62M`zVzI*d`N6Z47bSfRN%y|C^H1x{j~^v9
zT5IM6R8(zdvV0hG;_TLsOD9Y7IfrfIciOYhaGv%euaZ@pOWU$8uhf~eulSlp!om$1
zRmFBs#6+C}7f#lnd+3qU2~O4>BCLP*vMphcP)?b>?`+sczsql5=9?{Fs`9g=K7FQV
z{k*IN`W^T0)olF2xo@G}@w(5gzyGUu-s8{xa=>J#-QB!q$=e2hJL=sJ?l<(k@4Aom
z(@TY#HtYZD$>PiJihd1p(?7CW^vLwvC9Kb;J8^S5nsRPbHlBB|YM0-ae8KZ}9e@AH
za-Hlph~FaabJF|p0<ka;p{{+U%G(0IG-`Z#5a@aFkM8BHHudwjvJ`JlI4OK#LW-Kd
zqidB>C1+ELpW1pR=FYTFSq75|)Yc!Y(*OV3UbO%4_JgG}Z4Qd=vYxzL;_dd-PeNA?
zuJMU$J*YI{<m!$6)|0Py%(%??`eBenTi_9+j0g4ITz>-?p9VDlv)UVKdHWViZH4^N
zO9nbeYvglUR3qNCTi$rRd4AxzBEM@s@2_{1DsSL^dcP&cIb!(&_D~1ax`LGtISwan
z@!jCqvo__J_Vaqt-pV-phPSr`e@4vNF8}$qf&HofLf>U}MzP#~(X-sVqi*VnsEa%Q
zU3z%Y`?S=ym`nS!5^jI<jc%LT^=VecuBeAseQT%p<VnWey1u>eWX6A))Tr(kCyih3
zI;N|<dt2@;3zJnxw6wIR9^3a&_wa19FR_ar6hH0SlybSP@!?zMzo(WS{>yxO%Eg6^
zp6jOR9$x(N885R}Y9;HE|6C%%yQlrP=YGEIxud&^)BJb*TAzJiEE26y{V-{Pcp;1a
zslLSO(A?93|LT=({w8cl+9w{{BOsZl8uda&YR~Hr>yGW_Dh=!3%Azwv{e#$}`5jt?
z!h4I>8}CToVPRpF#Hr@C=H9f2Z1n}f@r4DC9qJ1fY_!<1aJ~JGrTt$LOZ}_sH>}=l
zf1~rN?2P-D{BCWm@(eC42+XeEAi6qw*01JV-zA)@rJvnyn)dVH&x=1N<!DW`zN)$<
z*wwpfn$QcADKD(Is?PFjs+8U4d1KqA#~h96cU*k?CPa(NU)&_x9b9yKmWbtqQ|}+l
z$cUeNNyfwR`76`A?VLMzKEE|Puc>X$(Uo)h-d*`?Y1<wA+kn}!{qBVe!krE&Mr-f-
zDNPIvbUe4S`}VhsZ}%K{?WW&basAMLrlV&q|6wj2F$S%U!dN?kSp5ZA4F<Wt6S8VV
z*C{_Ig_IR+=0>EfU^6#R&^0nLR4_I%H&wt`!3J7og0$)cy!H#j^$<5B{Gb5#B$gFy
zP_Mw($vD&hMo!RTGEfv4nSe+G1v5*~ZJg%dC20yK#^$jK#^wsqpyg*~CKj;@CZ-C}
zrbeJp04X<ztS>V$Q2_BwEsPY*3{9YG%}hb7x<ICz8JH-TT7Z<8T7p=X3Pu(X4AKNy
zS!QNnt^iVJpkQKTq+nuUs$c>()YKHJ#>5<RVVE)Knp0@tyJhB-q!uaYyX7R7q`IVn
zu5RSghpYoqFg7wmUg8rw>2_YT0Z-fe%C49)aZ!~yQJjjQZ`BGnHXr-NU}6}%L~zlB
zxDVgB&E76?WqP^!?`?aFj~gvb-KxdvcLZ*G5V^j$$e`C;y)pK|D&Hfl!BM}ae$Z_{
z=T<1N{qvK=3?F;9(4!H5BsWbiH@+=%rJ`}UMqN4A9JBCkmh!g`yghqMUgAK-G?&t|
zB3~9>&Q8C-i!q{SQ|@A?xZjo1CiSB6n_1N+Sniy-xank>P)zzdflyBi)75c@Rw^63
zim!8D<*mQpy8UYA3O}KVS3Fn)yHxx<ZZc{<bvf^{<h1AXR1a47Q{O#O9ZOVhEuLRm
zRQdhmhO;Ye#h)}R>zLD#liK7ayj0avVg1dhP0GsI9~>Ni^(|7d|FiC}0`IBJ06$yr
zja91Ur}Ja3{k<`9kEQsv=5nU*n{r&FD`KRrZ@F%@*{^1?!UHo88-gMi8WEtSUXTT-
z`0nOJ$;m`60t4qY)J0(66o8Z+D~eLnxC|7GjkyfqK*7w^)Yw!ZO#v=uXsQ5~Rmg*i
z85w|<QKE_&7#NzGpsTYmwJ<;vGqEr+u|N|uFfg<<#1JzAxfWyz++G6%Gjnu13=F`T
z3RRt<5ooa~nwT-@R$DYN6AL3WdyNbYG2CowVQ7vX1_qW!mgs&nGBhzlS7&HyhT&f$
zLo;(sz2=}21;u?vhM3`OWN2xO9tK9{rskID{xG*NG(#7&Fv4)3k%c)%{F;~>S)$uv
zVs3(Ahlzy&sAxlRvxx<!TTIQ34AJA))ZD}XQ_LJWK1zxbGjmdlxNL0ngEOmALCI7<
rC_leM!3b2y1##(vuUH1HCI%(x;*!Lo5^#bxwJ<g`;!;(0^>+gRmQB6Y

literal 0
HcmV?d00001

diff --git a/testApi/src/main/java/com/example/testapi/controller/ApiController.java b/testApi/src/main/java/com/example/testapi/controller/ApiController.java
index b3cc2fa..839b7d7 100644
--- a/testApi/src/main/java/com/example/testapi/controller/ApiController.java
+++ b/testApi/src/main/java/com/example/testapi/controller/ApiController.java
@@ -2,6 +2,7 @@ package com.example.testapi.controller;
 
 import com.example.testapi.model.DateRange;
 import com.example.testapi.service.ApiService;
+import com.example.testapi.service.SimulateurService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -14,11 +15,14 @@ public class ApiController {
 
     private final ApiService apiService;
 
+    private final SimulateurService simulateur;
+
     private DateRange dateRange;
 
     @Autowired
-    public ApiController(ApiService apiService) {
+    public ApiController(ApiService apiService, SimulateurService simulateur) {
         this.apiService = apiService;
+        this.simulateur = simulateur;
     }
 
     @GetMapping("/btcusdt")
@@ -35,6 +39,22 @@ public class ApiController {
         return Collections.emptyMap();
     }
 
+    @GetMapping("/startSimu")
+    public void testSomeFonctionnalities() {
+        this.simulateur.startSimulation();
+        long[] x_tab = {};
+        float[] y = new float[4];
+        this.simulateur.approximatePrice(x_tab, y, 3);
+    }
+
+    @GetMapping("/stopSimu")
+    public void stopSimulation() {
+        this.simulateur.stopSimulation();
+    }
+
+
+
+
 
 }
 
diff --git a/testApi/src/main/java/com/example/testapi/model/DateRange.java b/testApi/src/main/java/com/example/testapi/model/DateRange.java
index b7c9181..eed3030 100644
--- a/testApi/src/main/java/com/example/testapi/model/DateRange.java
+++ b/testApi/src/main/java/com/example/testapi/model/DateRange.java
@@ -1,5 +1,7 @@
 package com.example.testapi.model;
 
+import org.springframework.stereotype.Component;
+
 import java.time.LocalDate;
 import java.time.ZoneId;
 
diff --git a/testApi/src/main/java/com/example/testapi/service/SimulateurService.java b/testApi/src/main/java/com/example/testapi/service/SimulateurService.java
index fe9fe66..fff346d 100644
--- a/testApi/src/main/java/com/example/testapi/service/SimulateurService.java
+++ b/testApi/src/main/java/com/example/testapi/service/SimulateurService.java
@@ -1,17 +1,45 @@
 package com.example.testapi.service;
 
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.function.LongConsumer;
+
+@Service
 public class SimulateurService {
     private Ticker ticker;
     private int periodApproximationSec;
 
-    public SimulateurService(int periodApproximationSec) {
+    public SimulateurService(@Value("${simulateur.ApproximationPeriod}") int periodApproximationSec) {
         this.periodApproximationSec = periodApproximationSec;
-//        this.ticker = new Ticker(this.);
+        Runnable task = () -> System.out.println("Print après " + this.periodApproximationSec + " sec");
+        this.ticker = new Ticker(task);
     }
 
-    public void pricesApproximations() {
-        ticker.start(this.periodApproximationSec);
+    public void startSimulation() {
+        this.ticker.start(this.periodApproximationSec);
+    }
+
+    public void stopSimulation() {
+        this.ticker.stop();
+    }
 
-        ticker.stop();
+    public void approximatePrice(long[] x_tab, float[] y, int n) {
+        LongConsumer funcApproxPrice = (long x) -> {
+            double[] poly_pts = new double[n];
+            for (int i = 0; i < x_tab.length; i++) {
+                double res = 1;
+                for (int j = 0; j < n; j++) {
+                    if (i != j) {
+                        res *= (double) (x - x_tab[j]) / (x_tab[i] - x_tab[j]);
+                    }
+                }
+                poly_pts[i] = res;
+            }
+            double poly = 0;
+            for (int i = 0; i < n; i++) {
+                poly += y[i] * poly_pts[i];
+            }
+        };
     }
 }
diff --git a/testApi/src/main/java/com/example/testapi/service/Ticker.java b/testApi/src/main/java/com/example/testapi/service/Ticker.java
index 0ec077f..9e6295b 100644
--- a/testApi/src/main/java/com/example/testapi/service/Ticker.java
+++ b/testApi/src/main/java/com/example/testapi/service/Ticker.java
@@ -18,7 +18,6 @@ public class Ticker {
     }
 
     public void stop() {
-        executorService.shutdown();
+        executorService.shutdownNow();
     }
-
 }
diff --git a/testApi/src/main/resources/application.properties b/testApi/src/main/resources/application.properties
index 0aa32ff..b1be6e4 100644
--- a/testApi/src/main/resources/application.properties
+++ b/testApi/src/main/resources/application.properties
@@ -2,5 +2,5 @@ spring.application.name=testApi
 server.port=8080
 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
 
-
+simulateur.ApproximationPeriod=1
 
-- 
GitLab