From 963948f19f701658e37869bad4f06c08d834fc27 Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Mon, 13 Oct 2025 17:40:54 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20du=20fichier=20Course1.xlsm=20et=20mise?= =?UTF-8?q?=20=C3=A0=20jour=20de=20l'ex=C3=A9cution=20des=20cellules=20dan?= =?UTF-8?q?s=20le=20notebook=20TP=5F2=20pour=20corriger=20le=20compteur=20?= =?UTF-8?q?d'ex=C3=A9cution.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GEMINI.md | 28 ++++++++++++++++++ .../TP_2/2025_TP_2_M2_ISF.ipynb | 2 +- M2/VBA/Course1.xlsm | Bin 0 -> 20750 bytes 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 GEMINI.md create mode 100644 M2/VBA/Course1.xlsm diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..20a2ab9 --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,28 @@ +# Gemini Project Context: Academic Project Repository + +## Directory Overview + +This directory is a curated collection of academic projects completed throughout your mathematics and data science studies. It serves as a portfolio of your work, showcasing projects from your Bachelor's (L3) and Master's (M1, M2) degrees. The projects are implemented in Python (using Jupyter Notebooks) and R (using R Markdown), with some SQL scripts included. + +## Key Files + +This directory contains a variety of projects that demonstrate your skills in different areas of mathematics and data science. Here are some of the key files and the topics they cover: + +* **L3/Analyse Matricielle/TP1_Methode_de_Gauss.ipynb:** A Jupyter notebook on numerical analysis, implementing the Gauss method for solving linear systems. +* **M1/Statistical Learning/TP1_A_first_example.ipynb:** An introduction to statistical learning with Python, covering linear and polynomial regression using `scikit-learn`. +* **M2/Machine Learning/TP_1/2025_TP_1_M2_ISF.ipynb:** A machine learning project in Python, focused on data preparation and analysis for modeling. +* **M1/General Linear Models/Projet/GLM Code - DANJOU & DUROUSSEAU.rmd:** A project in R on Generalized Linear Models (GLMs), analyzing a dataset of bike rentals. +* **M2/Linear Models/Biaised Models/Code_Lec3.Rmd:** An R Markdown file exploring biased regression models like Lasso, Ridge, and ElasticNet. +* **M2/SQL/scripts/DANJOU_Arthur.sql:** A SQL script with exercises on database queries. +* **pyproject.toml:** This file lists the Python dependencies for the projects, including libraries like `numpy`, `pandas`, `scikit-learn`, `matplotlib`, `seaborn`, `tensorflow`, and `keras`. + +## Usage + +This directory is a valuable resource for understanding your skills and experience in data analysis, statistical modeling, and machine learning. The projects can be reviewed to see your approach to problem-solving and your proficiency with various tools and technologies. + +When working in this directory, you can ask me to: + +* **Explain a specific project or piece of code.** +* **Help you with a new project or assignment.** +* **Find specific information within the files.** +* **Generate summaries or reports based on the project content.** diff --git a/M2/Machine Learning/TP_2/2025_TP_2_M2_ISF.ipynb b/M2/Machine Learning/TP_2/2025_TP_2_M2_ISF.ipynb index 6da44da..76e10cf 100644 --- a/M2/Machine Learning/TP_2/2025_TP_2_M2_ISF.ipynb +++ b/M2/Machine Learning/TP_2/2025_TP_2_M2_ISF.ipynb @@ -1001,7 +1001,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "8051b5f4", "metadata": {}, "outputs": [ diff --git a/M2/VBA/Course1.xlsm b/M2/VBA/Course1.xlsm new file mode 100644 index 0000000000000000000000000000000000000000..d6da8db08bf5541b2e874e76853b8f919a9b1eb9 GIT binary patch literal 20750 zcmeFYV|yoGw=Epob~?6g+qP}1kE-rr!Kda-I% zUG<_?)f{uoF|IWgWkA8ufFOXNfPjFAfM%5gk#d27fWp9mfKY*;Ky*YL>|M?5T@6&d z9L-$x=soRhf8>LKQ04)Fd_VvHj{m`5pdv|5p^p(R^h)wQj9O#f)KL(sat|x&KirSoIW$G$ko_=IQY|n z0&aEZwHZK;r~xsO+!Oxy{;kqiyb@h~S^he;b=Xbpz#Hv>U z!Qf5A<7mE{SlLCx8#pQf;R!Vrn__-pZFv#R(LQ2dC8x?6DeWKTTEX%=n|<>{n0OUi zDceA$(WDETlm3Ccx>%9WJq^Z1dhLw6GC}BrM}0B-u`+>K7ojj@TGoK#IH3O@W7`iW3Yf;os@^ zKDxHS8+|%V^tj7f@f!t=hos4)GBowo$qka4+&M+usbZ%e*?r+*;W1r8+KbY?GnTr% zrR0yy$QFtC+>K~0(iFW04m9dtyig3j^g!)FIjv3O=PKX@VU>%@(3)nBywk*~O#h{n zq7!(5a4y;N*>v<_7h{W+DxYCnqK6k8H5E%Ps~Y1RXKrFI15;bTooHq^>W2@VeAcis zF)PY5^OVF8S>A)cb_46pShiO`2XtTg@byU0Z^DwzZ;Jb`Ao07j=G_DZ0|nGbLMO&87SnU5_&?m+Fm7-3!zDn0GVIM$q#KEZ_4Mm9+$r+S;5F5S7gc){ z`SYrhqcHSF(#mK|P0kB4ZU@(if8Aoi)oR~lkr7|nESAuPo1&`;cGGyRMO(W0!Rg8! zm~3gcmgoeu9HDDWftFa!dwG6NLrGoHIC_ilnvm=q^$GM$FYieia&wj)wxVTgmZAoT z>&!xaqDDb^VFpbY!NrI;$D1nX9yv})zY>}rT-Cm7Fb4T!M+Y=ORQ^KhK+N~@wr}!s zZ`(z0Uy)wQvwI6!OrS5KLiUkp4gNd?uz!-4@^di!k+``slRwkotKg1 zj)*vTb2l{O>{Aaau4TJ1S^M2No=!38ftq~*yDi z6m17-5)Fj%n|i=h1U>V&cwoK<@~hed!t$N6U?mppqsJ6kFbeoz;rYD3UXoYsG-c8S zsSD$x20TzC`O3+iw3c^r_mbW-jjR?WD!x5hVf1#cs1nD~mnTN?ACL!gx{$y^Xic)s zTLKbbP-Bj&Pss@oKDiW_aXU7zU@s7A=lEocx&DwAg@lJek7espQX*5bn655{ZH1XL!j8*#yUByFn;%+jU!~Y~ z!S?rmz4}(#yp!Vya58l^(Tw>#?|J>+*q@sT;F>!W55`^b2PUB7}$}hdPkzYd` z`$5%M4J+mnO~EpgI<7aJX6kPBb<4~&w_kXpV`D1Dh^wMutUt#+W~sMU;T=QF2N-&n z!MBxQ(qdkd^Ywv@XpbI*kj*)7#pwq`Du za!4hzKDy>V@SuMZHa{qe>^uWmGe}cr|1EqW;mw3?inM|pT^EOZ?jpnW7K*~pJ2oe+ z*JU11$9txczv!p8xr*e} zCFQ;ego5AAuT7iZopO@9hkQ&3 z8X5ZQ%sq|@$ISWh8}R=%6$IYH(13j>iQ;d*!~uc={!Rt|rp*5{A^dOp1pY3Ezn}e| zeN-g$$p5<>>=4=Kk>f!UwmhMSvf}tP3Tj%q7Ru&?9wxMvGcDzsIM{NIGSYPWm3wE= z`s&=dY-A{-FBE_9V;Z-t(gD3gZHfc&2dA~cSq?8XR=km#z5$&H}AdBdkanW*_Bc=P)db zm@SMkD`$+uOGGRSxgSO3=Al{Z5>C`X8{*wyKP6m%7@z8*9|V+!3$E1s{@WPZ)*OKW z{jSD3zoiw{f6|GIrJ0$l3&TGrrhoBDR?=EbCL>bl70m;F+!b{3FFdrm(a`8N4z-1g zomD208eOB58*FWFYL!mrwt5>_bEfst!=gKDF$4OC%IT>mnF^2bSB9 zwbfjtDNSum)e;-Qd2*8E#tB*|xN<>d7Df2^7G-L>(gBT5 zc-ewL47)fqA-qtlA5_&+5@{#iSY@1W;kSF51^;LCpEzCY|Sqk}b6R?vb?g?6d1SdfU&D<(SqV z*;TS`K=H<_uojN&qbK?FPxm2!Em)4B_F6O;V zew{AO8;rRGg$#{x7i6N>7R3i|CZ2L(ihCX0H}ekfZZb7H0Sje_p~y>|b5;_q%+vfF zrSd1yTELNWlvV%$^J{pRTDq3TzY)ehs!gcciLdLpa*bYe4Aif<=L%;Hv{Td_E zJ9^5KI3kali6)3PB)Bt_HES3_Bmq`rLU^36dt>BLTi1j)(}Dv zQF${Z4wS1(DsyTO!b}n~0HU{`XHz&%sxhXFtr-}jVS0{CU2?% zKBU0hg2|HAZ7e!c8sLc@mkk~f5i}*SV2{U$f$Bn_2J$%K6b3UeQq`2gW6rPsPHGQ) zI*p_t?|o!>rql|h3tLO@Dq4kK9B%9g+p^{NJFjG^u~|#y3^DC6k#Mnc6||3=A$|vL zR6O}D(h2$=gXNzf`OvcL0s6>c%jEhyeMkb<*YP}E&6Bf4BXjqOyo;NzhK_~1Wh2%#P2tS~iN&2L+BV{H-T z!xx|yDuVWKoUKzWYx6PbTm4f0l=k;;!8aO2SDW@x-PxIWZa_JztEU=(?Pb^)8 z52{{#!_mOeO|DABo@~96Q#m+s)+)4c9>@3krI(C8SByM0awC+I+r{Yio*-)tW-;*Y zHXx?1+eP*K0^d`9e}7cSX-zgKjK%wA^4nrOyp#LIs+Ymn+i$Gv=g=Phw#XK?$b!K? zfA{|uYmbHvLM@O$K*+@ZGGYFyLtQP+?93Sc8UM){=h_poxXtL@ki%bs<9dtZ$KFO< z)5RQ*mp^xs_4XyDl0x+-9R-!!Y0!XSj^%A6R121F0q0%Vz@Ok*F!Fy7Qk3p9nQlTQEi);O8WO`ROsvRhxhH)ie{4IP1?qq|0d+)sJsaElZ`b>LZ%kEqfBr#KZKvG3Zuh0%J|;=RapJhg0R7?K%UHtw<`~rZUbZcd26sAa{4u<5Veg z7logcwoAd4exQcdm>kw;UzPlzfO>3RtHHk&ES9Vv?rA16dFQi#+UH=b*}Dq6oBFtp zS>KE{W*r36KVL6dVt5LS`g(B{Lmkeyz5SN2=4m^C&7Kbty7*5Ud*eem^1^5KeK0p{ z8`mcAIzwnVd0cyWCW^Lj4zEGLXKJG9`38b0tPLs#p0P1afGmIXMUqQas?-5k!guw{ zT0}*tRYI2tq@8-n;NFao1dkU!9N!#hV-TU}rEK&8qL*-1{F0Mka%xN7K-!%s`v)9b z9iE>LzmLAWZU!(Ja=u{kXUqzj)l$}pT32OQCHeGrBAAG*FV z=?t+eQ~tc1_4>udKoa)ugS5lx=3FGDI_O6|MI_3^eJ~0xaQFx_^Rx|_b?)}0B2DYj z&5z6*2&Pe_3KsrpMuykbq0rJvuw)w;K{IwQYHPNXlQ(&MT%DqBNr>EgO_qZil;d-1 zIDJ%Vb{BLX3{^KuL;?LbgQRs5tV8aa#1 zMWqGne)qD@MO1%iLGPC7tY@gk(=T^^-0=%(oIt8hPytyRvEOZ@v$L1Mz542ESZPji zfX!G7I&8{w>J0LY3o0rx%Il!g<}12Ey}Ed#r8Kdyo*0g2tt5o5X1im8%g9NxlC^&e zumVec^)dv3ZAM!j{?W7GP!c&woF(i}$*4E}cU+BuOuF?~Q#>~NhpMw&vlV~kt_lCt zYIafgz6E)bCiOZjmqU=uzi*5YGLjzYGf1{ zsB%D0!Gm?FGqyOF9=4I=x)wL;@L!Xyx%G;#?x+BMfTd`xQm_nv; zJq`>`1X>ks#L4t;@SNLrTfC2+kRI2fU~C55o00q zvh%0e@FrJxSSo%Qj7fv&=e6KQQiH(usr(nRjJjmcD58FxN;bu#kR3rY`8X?-V^1knyZeBF2Cx< z6q?5&`C2P&D=~-6OWW5S_ZO6MW6VZPv(~qtlNYuL_+Vu&nVwIb-J+Fg80ycKhtQDvJKoir`5O)!-l-r04Rc)8JOzJ>eE^m zD?vZ&$HeNv+tDXSmu()(=sJ>@@#^hE_4mO&unC~;HpS553nJl!77s|KXkh!;cM9{{#ohN`7GZbAjiw9J7`Gk|K-_2ga zx>n%Fi6H*)2XWiytu?3_E8E3I2k>{t?MmXmC3?d2cZZd4g&F%z_VE8EdKXtOTQiq` z$%2M&yJ?LP%{RB<%kYJ7Ke*7QoHSgSn23oLn*3rxE^9GEfOyU9r0C;GkHQKU!WPiL zKmXWx)q1pPvQ=nNxqX~t-Ip}(=!s$|YF0{3zJ&ehqv5F%6-8D@tSgnVgU|L%>;Fa1 z=00?C5vu$fNH_z|p~CL4%V88Ay+5lYRC>8I8Kb{fx!QNmQkr@%3+$=jN7{1`V}$pw zR!Rd9;_%NlyAI`uP|YUetQEbmka)@?4VzL{EvLNIP$nuRTzS`D+MS5AT7(1074xGd zt2sbb)u$QB_e>k<0(Vkgq9FUtL?ID`qKM8854iEh26Ntr`+Z*8G*JEQLBt`G#1VNP5qE>s!S>;crPd5f1x zSG$ih{)msf_ha!zU+E?WNS*p-EtEl*Pov=?z->K(L|8|V*u)f|Shr}G<$tv?Y6Sb< z?Uw?eP;%4_hA!6)+LYUZiaWZ2h(s^tyhg3;gs3JKaXGXX0AJEt zuuFUjG~$cWD3=ZE-f*ar#f4d0ZAYJf{Q@=?CGEwC&ef8QEb%Te&Wq!Q882>LL;45{ z9+pWoH7b_+@|*a#1&;7Rx{IaoJCLn#x@dm<-qCZ_4csUJLxgdZ1aGy;*}+{pKz~I7FVmjMux;(+u{D3@{F0<;LZ8{0r*N;fg^b_X zdtWUjkk^GM=eYC}zDeA2B{5yBRQUr8O5q(|yNt zoAN)-)~kmM?DMqebk*b|ySzu5YPh^^Jl5P|2pwMjlr77A_3`G5NPjR?~4<r%faBpXUmq`EKmAFNfqT9;RmLh1W6)w*j#6%|3 zO>RT6&YkoBq6)$$TVzsWDn*|ki@C}sX#(8&%4l%xl+kjFi06T@1q+o7w+ zY}_DS=W2Q;ohzl5VT2GbZxX98%TCtr#yTX zrx{Ad60jPJVO`l9D zL%x85?9!`qW=M_qB3hAv<3=!xHzQy))AO1lR$jnMUjKlPucJH-^WQ>bwSn52 zo)kKu6NfX12)wA_lPBA{oQkCtUP6GfkAW zM3N?vTmyOJ_b$yV9$h+-t6efbCDOAoyLbq2Ng(4ty5TdXoAS?LDbl= zTCiM$;1F1%_B}{F;J5SbhT=C>+!EcU0E{2SS>J)W2LqHtq5PP6&;r{fkvOUO6myo6 z7pKxEb40WP`fD+ahd_w+FD%ht$dpJt7w&FZ`c5GlLlh*c)vQTg)Xq1E!AW(s&0Z!V zZ)}h_Ye_^EoS(N1iwoEr=i36LFnhDUzy79ti$!JEBs};tXX|c)w4J2kCzw_4^rA#C zn3gX|b8JS#92@s3w(%$4Z7z|KKP<*uf`?9o)eV=E*~1q{P;})S%$!krkp#iFq@S|y?a_|!%64wd_pDxKEtI!e_{~>ke?ju zrMJAGW0=PNP#IM}Sv8`eZvyw~)Nk35UiUK=Nh}hDV-Atdw-H~i-((~QxGr$njli=o zqEMdvqR9+u6c+XZ`fb)1bpRMnLm~~FT(>@Vw-vCo*AxoGM&vjNeY;b$FoiUofeEoXTi(r|wG*02B7T`f4L zK5Y8tJ=gDD2Dty`z5fsM?sm4K|HeNP{r5adRnB3J5v~()*?)RogaO*P*p9iRDX>DM zc8nikfL=_AvMH-1Sxm$jrMcTL>7a0g5$!jLPEiiQh=jJ*5|()1&)SKXL9Ly!M(aXC zjyBirKZ8!t(aY?i{_l)GcD@az_g9@hVN`BU^>gTkhiBvP#+ee`s3;}Mz;LBV z^z&`5Be!c&uD0kULr57?Y<+9HabT^W#1C@3=PE&x`iS0?vR~T6auir7Fd&M5|v&1$+|Nf099sW4K{loC%A^HIZw?vYwRfsc*c3KG+Y3trW7%5p;xiv6aYbt6=qXZ;MtbmF(W>NwRPhs#*PCSba8n$4SOVe9PTeyOgJ=uabk#eOLe zZ5(d|UJ^lmI$%P-Gxeu|c$f+H{Jvm0unO#lga;BWpVuYzxUGK+{I?XBtGu%p{q5xd zS$=yu{|3()?DH>7|tAk|IF?U89Kw5vS;GS^?gH=spHF;%XP~v>tU_=f6n%o^g zZaq%ICd=>S=-bws`iAmMAc$aykOy`R86X4f0(=F$4@wU@4%&g~$n^u)kqiLI2y_Pw z9snK?67U3!0gM3(11tli0h|Jo0vri60K^cmH(Biyy5+{=5ExAy*)4Q0mVF#dh}v8r zR(y46+^_l9**0s6ZDY$X|Ieuej+r>Gp|U-S(4Qa{>Lp@#5n`=_HM3+smU7*(=Ap)L z`WZTie)9%lSzAoII=&`_%v3MoB~AV#n2!^3pSVQ$D(nM^YYs|_{_#vh_QD!Afnpv0 zqch(!pHUZ?7>X(XQSikv{x2^7m8r)U1?--eRLC#kyIkg=x=>~SP+`W`_}Ta6?I3I( z-XAzh@Fd_-VDx~40BJ#VL-1{DfV3c+A^J9sAbfxc15^ok%{uq1+1ONx14QLE- z3lInV1V9L)ZgT^~1zGaI9r+AV4Ot9fw-JG_Abo%wLAS*LazH5yFamIvpbenhXkDnE z?1GqixQ;9VBz2I}u*aaHz#joRKuiE2LnKD97Ia5kLoC3G59GEy01}u7$OG6NWEaTJ zK4#i45HQ6EBj4xIdnEW1^b==%p3u1|0m*S~GdS+Z!~|{e4ah&FW-z>enxi;B-MFZm zfYi`PH>l-Zb547X6X~TNhRH|YVzNivb)WOwqBDLZ>u3D^E{d$Kbk#70E{{2JHlAJ{ zVXi=YpU0N@kZeA@tKav0moLzHI~BVnJsw0|5k)@8L!??>vsa6O{=qz+j4wT8LX|Pd zR6aDZFt0dqNrs?2Y3*K~TwyV3RkhZ?M49XKXfY`^H*!N9{J7Y3oanvn};geZVdto4s8$8^tQd0_n(oaer5E=R2I*RlgQe$$RAZd4>STjhd8+P=c4BeUX~-Toa;!zjdp{M&#-B7F zo5V((e2pi>3f;ORmGKokN$WTdtUAtPTu386;-hpP%LzJfBq{4Z=QoT;=#Z#e$$F*j zx$eQaNQ%~_+f9m`X=-t_Up2s02~Q0S0JpuD)q{6Xs(+NvtxNJUUzf7T2dR_KFQ&V3 z{&3j`L*RupEr)L*SjO=!$I31leUYHE*GV=NC&s+JUCdu^pZ?i#o?3vEYr*%Q_psQ# z%}Zybv7yS5*S=Jt-zx&Qr}@nI)5Fno#BW?Q8GO5fzs@7q{7Ez&Q!-K3>2qmBpZ^Z6 zeeOEz06qi1XPuVZ9}Eb2aB#o(+PHtXDm~cX`OEI~(R;6bqRs>2`wF zT{)Twv!%sre)#i&9Cbr_YL~w?Jz;3bldg4VhjNp|`v;3h2)zsDF7e%*VfC13jJcnB z>wdhEuSf0p*6u@;>HI!9`j`91CMbv=OkqT$%z}x!m&(JTk`BgrYNz4FymIjlFAv;k zvsCO9Iyi~Ft-mIxZq^_ITeQTwe6=aG0F+DKFkMviU_?U}e5I6CC2za({)o@3%C?m@ zpXht|cM?8CW*MJo(M1opSY=`F$W-A37a(X1vdjpa7BV~L0-hUp6Nx7vVP>?16Mu{P zTn6=>(cio1byo3^evyVX-fCHW4%9}N;8bOZjq3lpp zJ>@>8zNh4-BaFgxWsm1j)T0)j>FNq+nzv~1aPx2 zHLFLQ(WCCoiQyd}Tg3=w1(iCi%-5uBMT?EgqUv=P_A_cBUelqa-66g9^VQAuPAO+8 z#hB-KDk$f@3nUj*wu!tqW3Y)Vlr26O$p*}qo@Tc6h>qH?jOastr^n@{w)D|08dP(p zpf7qRhKTk69D72b{2DEfrh`csG9Jt7eh(Y5COp`8o}Zm z*lvLhd@RbWmohH6z;F|V&%OQF*{8Gy2qu_|6{apqthd;pd6+UyKql#hT1-RFAWVt= za#(Wf#Nz^uqhSDV)ne8o!$ep!c-P3O6%Wnk!#KK#ud8TIlcmP5qzDtY_fdF=O=c2{ zPA{JSV->bpq@caZ;zxqcj|$`;6-17Wj{*_v8g;;f3CCH4$e7}<14ToJKLtmgyE+s3RNJK9we#H zXZ3rc>^_Kc>){nl$Z+drsb(M(B5Gz3jO`#tIYZhOJtneFQ9sp0r@u(|8L8H4HxjCr zf3jzv4zYij*Lv6H)V~SsnS_)Z(E5C)JWIf)%x|8C9~C+HN{BNTy55<={y- z`D!-}FS~F|^19&unScA7a93+Ye`? zy5IN%eb&eoKHd`XfIC$Si(KiwIO1x7zB=ptyqq6)FWqm9XB}pE>833Z$81RVmKps=P%|V3ypqhOBo;Y!?YrBZWWqHfwEb{ds7lm zbpIX9%Nql&L%G^Oaj$WGUl{eqSd#cse+c9OsxEJCcg}<;m2pU(+U35)ryadnA9qPT9Yc=!$o9b0L!0PQrEB35 zkH$Q9zo=6A4;K_&?{JAw7Mr?e=nBKsDeqd%?A`m2tN_Ku8u7%7LCJ_HqTMSfpsUIY*-y_Vx%=&=-9S1jOc%jPuxPtuJIyj^is?3Pj0%fC_!>AJ zl}cVFQU|Z#dLsR@cvFgzZAzqA(0aC`A zoNuOR#<0|VqrKa;e76|wr|`a3VOv@*r{UrOcEPy98_cbW*Li~_{`8WXMZr1r3Y9pD zHJIllN)ffr9_y4|OvWZDuf=!S%J1$QtrmA%d1U%->N}u&HqJZYn+oaGVgy@zMlRUc z2EK(Vj3Xglg*i}4+RwX?s-+5)EzyCMXXYak|1s3eGmwlGL z`x9ZRHI1|;e6$`?#c!goo$^S)za~vIg~io2AA78N#O%GR^XumFGZpl-x$&#OTiN4Qxe7pbI2CPC+i{!#2@N; z5zR9nrwHI(3~Jk6Yjc!nQZRPi~P-C zR^@P3>rSvX^*Tm)$*%E1#rfSex71b7R{QoEX4~s_m-V7`Wbc@DSJHw|f_CZ?Pr9zv z=vd|@9&uCoBwIF@HaDCn$j6h~$Rnw*^c1sOa4oymY*)yW`>5q)my?rm%BeA=W!DL` z$v^w_iaKkZt*?I;q8p8&)O{O#iTRHgS~}(@NM4G9cyi}MDi7xGZAlDUOsk-uP2ug? zS$m;$y2FeJAxAqCwpHMqzmnmp-e8_rYUbF}S<|{&gDzlRX$8cI+*}C`Plvy1VA{oU zIP-5wb8e$vQ2lj7V5fNtq|DMGr|pIG410GPFBF%#qxfz1a-EZ2>Z>g!n-J>w@N}9Q z)Om(GA&&2qs*Q?(zwGB_iXd~?IWA4Y4Sw0Pj5A(aISZKHtcbpoZqDv|->UNvrm&i4 zx;P}RHxXPrsvZd7aztyZOw*zw4hK7zulr5cIIvDAmc!aOOK;}FqUa8p^CbvoP2EF;Ki7)Pdz`YTnlcryz~6$C3&e9ugWCcXAO5+Yj&ki$l|&Ax|4hdO!Ouh?<> zm`9~6JisXY35*i~mXSQ{brrI`z_%9)&emX#1IosPRDBp(DV&H12hO68nPd|S8w*e} zgRui2YN>>!nPL#H-|G{$5Tf9!9s+1iE^3i@xjhYy* z-kSqbx4D{<5d(X&!R#fp+StQzU%F$}aZ+qYlE!e@2Fvfu4x?cy;V6;eeg1oI!hLT{S{ ze1UG4T|)zMLHMCL;XJXfp|({56hJ>2wx@t%L1KXTL7!a!20#R$J{Z?r00WR1kQiVB zNFRc0Z~!K-Ke#7|Bc3D3H5tGFv#i0NMicfxWf^Pyt{Ax3yES*LSo>=)*l zCn4gA-5N|C$EP?2BqftY@|0AM1+!f4l&&D_M1I4&x|o&5Lt4Jj-#qG}BWYe-p!QL5 zUMKy-3RQN*URfKB7s;X7ldmRxPCeEGJ=|m4AZc9JCXf;~!xh&pD3OE%!7RbVZTjVU zPai|88iwP1@x8+?qu%HR=B(Sr?hsr9*qSj~@jZG#=MwnyqbN|DlfY%A>mGy@7RAcO zt@sF#F%B7h=n=4B@#}04<1uj_0|c8&%Jz7=hoUFMq(RaC#5?0;C<&tg>z+E?$#Zmo zP=DjLzMFt?4MqHuhH*k2E>_VxSf3aen=V5uo+y{ywsYe9BmjxhJB}X8U+~sEk1Va4 z$&3yqIvOBHrJeZXFSDg=^E!=UE7f#-rEQ~M0$KUUCy*V;&O8(q*bKL7*cxF7cioQp zNU(4B;-ukVbA|+`c;J~>jNs4T;FjItF~M{$G91=L)B8DDxGg6xAiXznu3ZRAgw}6> zeW}eL7{%r6kGa-{x`nx|H*VYz#bvG1SjMIA&E)6AB)DkaW>*#wBbph?xC>GjO+BqX zHsdGs{(2ziKA1$L3)YRoufrS8L;y12+z%FbGqzbGJyWz4%+fW~+d7QR8=lS!)(xuQ zd;CI~Bc1T-s|)griRKOEWKC$}H}|7_0?7atXbK(`utgHj4%!R56!t8YOQGwZeI_!M z`ivLb5o5!!o}Hj1l(WhPPS^3>w)5Dm^rO~xO^42ECRA%@k$lYe?JNgbr>GR81`H!O z$iN*>b_sXICSRyVIt^y>A8*n3cx(M{sGW*0Jk(;#gEO#EXYjM{<7~eYd=GDXLl$Bj zT5b>@mComHfn1E*Mj*#QbrD)XEUF>iLEPA_M{rdzGo+#O8gsmgV~(IRPLxZPn=jmY z_<0sm?Qf^=Y$&kStXv6kb%HwYRILUFpNWu8EE~PCZTMq-&k5^|nrxI!bqW;-)$-*C zY1EA!!n)bMq}o75r`b(qWAKm-cafvQ{1q@b7+JR>LJ;4RkYPNNNpcZv@KPpG*p8cd zR#3YcxGKX-Jkj~5zP_E$nF^}D?z#u{%$s6O;8}ry2^Jm8#nRYjqjD#QX#H&Ji$B41 zryb0iDB-6fU~C^_*@tHh)XLX8 zHVn+19MMiz`tr*=9j}>j%{cyv57ZBgp=X505w=>`UjD%;JEnI(8ESpKW+sgdh{@9<8} zLF^iy3we0Zil(pAA`3jQQrK7xHtK9f`J-^wKy);nFzu357m=C#9r6A-GFkY9*hmec zAzX)nd_sgkqJ|Yuks3-S77iqDmX)V$vUK~!ozrFgOK3#1U1e8pk#n=VB?f;$d@En7f`t5niKg-IM)NZ{$d5+3(aW3y86}4Kst0u!f;+yNbhL0XvLB*1L zRrViDcvQ7?Fm54g5m##g2IqPK@QPA--QC5w-tGi&@JWXCfm&=x7yVtb(h0`4Q*ScX z1-x{pxOkLSmoO$Gn=`!gTZAF{2D8rI{`~-mDmsi9H;FtokH^=}fndI|RgA)^tp($7 zWs|*rcw5vSmGX>W3Qm=(|{;w5?cV(BD4?V`J7q{N3GE)E5Nj?8LQ!365}U zQGYZgu%3+XLZ$I)*B*Y*7eL4tHA{H^_U>+K;=G<;O+ez0ySIgC0*jx7s@iT6z_0c% zD&}NfpJ~%ZvvQJA!%V5_x`tgXajD{b0ffp2JKHX(cymB?){9??6X(a`tG!3f|R3Jw62a5@LlvMe+y8H;ZVoy$vKK-m7yo!E8C=^>7$nAom&>q-) z@*yEGK*3DqeQ2g6YsYE9u|`x@>Ug9*C)D|At}9qpu&U-jwq7?z26 zBpPMxb1{AG^W*$0sqc$xNV91(;~}D%3dZKo;!QDedqtVQ~ zpJpaS*X8|^-;&nupDOkJ^ya6-zd0}d@>CcCil9_Y+WQNhAlf#8ZOAubCZA2}$Sm(N zdY>>$TOEflMQ?0VQ!aj|$f?#A<1{UVosVUy&hyZy#g*g=W#e%#i>VPTmBxoJI9u7W zpM9onUE*@rIApX5zB!6MAt$rhaB99jD(rG zYBC0##cdBPF9R+vo9M-rJG|T$)xFEXial3S#(Z?jOxWMuP@Vg@lJz{N;%vOVhSQg^HJPCc~|<&#fd=4n%gyO=`O2P!!jkDXM3^l)`6%n22c> z9XM?ebD8UIs4&GW?RzkfgYr2lIn*Wfb zfF|HQi9UF%xo%xnnma=kMWE(Kw#i1Ri<)cO2ZT@*R$Ot9w5%47k!B2@>y=1~qZiN{EXq zg;(%YU5AT$V)DV<&iw4eE8~HFPW9y_Ew>UGVePiPcif_QX;i^mblkZ-i}?ev7--=v zhswaO4swStaKfvfiqP-Y%Q}XbIkVl}n_-`>81M)GZkvJ&or3HxRE9S8&}8=N{%T8D zCV_q^MWjsa_l!!V`JUAfou74hd*w<6yU&Q_gK=_5llHRT*K}%K=#hkR0bAhOiRleQ zxW3{qR0rQp@@@xSRQBtSX6)22Ldxwqs zI+lszD{_{B7m1ho*44&9s)>OVMuM*xSa7^D_BgJNb4 z`~Z6!`|4WkhpUc4;k<#KqPE)U(_0Tdlr^q~2BvC?20dcZ(kr#_=j;K$03<^c28cRi zPjyub&|>E=*t7X7<@c^;prHT|gzF+hHzB>6sxo#>C4*DFOEzGpa+`A4QQw0fdY2qu z)FOfw7Cw1IkqV&;@QC8C+{8>Kat0RngXdBGS=VY?TH0Eth-yh*zpc;8JH+@6?0l8X z^t7zvmvFBa)n9z{9lQ*O7BYj}G}bIooQob@fDEjoe~7$Al|Rz6pnNs1U?1w1)6*E3 zBl++ftS}ek9PBtF0}u<7fF&F^XT|{&x+#rb}f>B?_K#<3+#V1G5)(J_CH%0 z|LKUWNEovQWr7oX3i%A4;eV6`AxrYCgAO^DmJ|RiXF%S-j>#oX>(MK?S) zo%ZDaUgz6wB)$8(!^C+0}ZU`R7I-BqPoE**Ap;(Ua+QAqmCH4KL@tIgbs^HmvS5Tzeb1~lm zj#keUyUep?hcb3_-AhX<3X1HSHRrRK>3PYsCxjOrS-@X<_l2ALV_}V|eHTw{IHy|j zvnwF6@lE;x*Hbbt-T@Ch!1R>dnmO+7z;uxfjD11iHt3Z6WT=Poi&8<0)PaYGFplni zW?<-<6z_k?K;-Cs-#>ib_qVTe?l8OE;Z-r|h)d70?aTHaDET{i8%Is`Zr*1i@-;c< zckZ88e7R=V^wKY!*FvL2J5)5g913-{w(4E@TqGC2_(bJ0mepIEm}Czu%&e@OSnRxW z+lP#;jIXr|0u?mfcWPcZR_$z9R>M4Lr;0_0K=>`MXNNDY+nD&Lc`ajlrqw|q8{sp? zcNmf{3ttq}tmrq1j^562(C~_aV`aOi(}(TXo2R}z-xwxok@}Qht;Fh>>?YRtNAB${ z56!>xw(Mlym17(~IqPC=Y_^6z_A=f5sNqyh!6{vX^|_VVf77xTO9sEMn*F%(QqIP- zbNYu4g^PCVKAit~r{aX$O0se;B8x7rJKuZ-%Tk<9{#aZ2 z|9Fk?*4-11i~LuKW0%=`itUK-f-@g)e%HXhH2hFpB*z3`>XQa84;MgAeTfAHqlph# z#z4WGN#HfIZSR?X$@AQmw#*IWXXp}zvs<*{9p7B-DxZ|*^+$>VyO{QJZvFb(%jUhDo_%+dL=CTA#hN36o_Ah$`)5sd zI&ws8rI`rJS+RaL#zG^ycSNX_FS(76C>`kO{YapHFgsu_&L>q+Gzd*O5oo|D# z8TAYdgjNOy4sNh!94BI+n}dE10>UI8;HD?2BcKfmL{kFY6!cBe2vb^tYifa}pl^{z zHvoOJ6~cf#Nw5Kktykz;(f6nzv=+&LwZd1gLmA+D9^Dl5RqqH>(iBilL0bclZV>u< zVuV4Vz$O|nC{R}yqiaWR(jl}9x`DM5YT%(8h~D%;7-;1VHW1eQL2C%1n}gcgK$rqN rjmd+70i*4Kt{t_yK-S*tg`^!?c?5W~0