From 6b1983d0628209d81312932ccffce09bc6d25f8e Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@pm.me>
Date: Sat, 7 May 2022 22:48:20 +0200
Subject: [PATCH] =?UTF-8?q?ajout=20d=C3=A9but=20liste=20d'adjacence?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 slides/cours_24.md                | 182 +++++++++++++++++++++++++++++-
 slides/figs/ex_graph_adj.pdf      | Bin 0 -> 9563 bytes
 slides/figs/ex_graph_list_adj.pdf | Bin 0 -> 15921 bytes
 3 files changed, 181 insertions(+), 1 deletion(-)
 create mode 100644 slides/figs/ex_graph_adj.pdf
 create mode 100644 slides/figs/ex_graph_list_adj.pdf

diff --git a/slides/cours_24.md b/slides/cours_24.md
index 28f05ba..5dcea36 100644
--- a/slides/cours_24.md
+++ b/slides/cours_24.md
@@ -336,13 +336,193 @@ graph LR;
 
 :::: column
 
-## Quelle est la matrice d'adjacence (1min)? 
+\footnotesize
+
+## Quelle matrice d'adjacence? 
+
+. . .
+
+```
+   || 1 | 2 | 3 | 4 | 5
+===||===|===|===|===|===
+ 1 || 0 | 1 | 0 | 1 | 0
+---||---|---|---|---|---
+ 2 || 1 | 0 | 0 | 0 | 1
+---||---|---|---|---|---
+ 3 || 0 | 0 | 0 | 0 | 1
+---||---|---|---|---|---
+ 4 || 1 | 0 | 0 | 0 | 1
+---||---|---|---|---|---
+ 5 || 0 | 1 | 1 | 1 | 0
+```
+
+::::
+
+:::
+
+# Matrice d'adjacence
+
+## Remarques
+
+* Zéro sur la diagonale.
+* La matrice d'un graphe non-orienté est symétrique
+
+$$
+A_{ij}=A_{ji}, \forall i,j\in[1,n]
+$$.
+
+::: columns
+
+:::: column
+
+```{.mermaid format=pdf width=400 loc=figs/}
+graph LR;
+    1---2;
+    1---4;
+    2---5;
+    4---5;
+    5---3;
+```
+
+::::
+
+:::: column
+
+\footnotesize
+
+```
+   || 1 | 2 | 3 | 4 | 5
+===||===|===|===|===|===
+ 1 || 0 | 1 | 0 | 1 | 0
+---||---|---|---|---|---
+ 2 || 1 | 0 | 0 | 0 | 1
+---||---|---|---|---|---
+ 3 || 0 | 0 | 0 | 0 | 1
+---||---|---|---|---|---
+ 4 || 1 | 0 | 0 | 0 | 1
+---||---|---|---|---|---
+ 5 || 0 | 1 | 1 | 1 | 0
+```
+
+::::
+
+:::
+
+# Matrice d'adjacence
+
+* Pour un graphe orienté (digraphe)
+
+::: columns
+
+:::: column
+
+## Exemple
+
+```{.mermaid format=pdf width=400 loc=figs/}
+graph LR;
+    2-->1;
+    1-->4;
+    2-->5;
+    5-->2;
+    4-->5;
+    5-->3;
+```
+
+::::
+
+:::: column
+
+\footnotesize
+
+## Quelle matrice d'adjacence? 
 
 . . .
 
+```
+   || 1 | 2 | 3 | 4 | 5
+===||===|===|===|===|===
+ 1 || 0 | 0 | 0 | 1 | 0
+---||---|---|---|---|---
+ 2 || 1 | 0 | 0 | 0 | 1
+---||---|---|---|---|---
+ 3 || 0 | 0 | 0 | 0 | 0
+---||---|---|---|---|---
+ 4 || 0 | 0 | 0 | 0 | 1
+---||---|---|---|---|---
+ 5 || 0 | 1 | 1 | 0 | 0
+```
+
 ::::
 
 :::
 
+* La matrice d'adjacence n'est plus forcément diagonale
+$$
+A_{ij}\neq A_{ji}.
+$$
+
+# Stockage
+
+* Quel est l'espace nécessaire pour stocker une matrice d'adjacence pour un graphe orienté?
+
+. . .
+
+* $\mathcal{O}(|V|^2)$.
+* Quel est l'espace nécessaire pour stocker une matrice d'adjacence pour un graphe non-orienté?
+
+. . .
+
+* $\mathcal{O}(|V|-1)|V|/2$.
+
+# Considérations d'efficacité
+
+* Dans quel type de graphes la matrice d'adjacence est utile?
+
+. . .
+
+* Dans les graphes denses.
+* Pourquoi?
+
+. . .
+
+* Dans les graphes peu denses, la matrice d'adjacence est essentiellement composée de `0`.
+
+## Remarque
 
+* Dans la majorité des cas, les grands graphes sont peu denses.
+* Comment représenter un graphe autrement?
+
+# La liste d'adjacence
+
+* Pour chaque sommet $v\in V$, stocker les sommets adjacents à $v$-
+* Quelle structure de données pour la liste d'adjacence?
+
+. . .
+
+* Tableau de liste chaînée, vecteur (tableau dynamique), etc.
+
+
+::: columns
+
+:::: column
+
+## Exemple
+
+![Un graphe non-orienté.](figs/ex_graph_adj.pdf){width=80%}
+
+::::
+
+:::: column
+
+
+## Quelle liste d'adjacence? 
+
+. . .
+
+![La liste d'adjacence.](figs/ex_graph_list_adj.pdf)
+
+
+::::
+
+:::
 
diff --git a/slides/figs/ex_graph_adj.pdf b/slides/figs/ex_graph_adj.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..e228c116d52e38d6227fc0b93f24d2b2e7342147
GIT binary patch
literal 9563
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
R=vo?DnsceDy863u0RU3FvpoO+

literal 0
HcmV?d00001

diff --git a/slides/figs/ex_graph_list_adj.pdf b/slides/figs/ex_graph_list_adj.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..3288ba8e2a14bd62d599ac23907fafc33c3c23ed
GIT binary patch
literal 15921
zcmY!laB<T$)HCH$-THRjZ!QxB1BLvgEG`=x1%02?y!4U`1ycnBg&-~k1qFS#%$$<c
zA_aZ7oWzn;m(=9^lvFM|JFeoAqSVA(u8KKJr+fR~ao}lq|5LR1&e|yl=Y5aS4xKuo
zYQfpuqYJhA#SSvAxUxUqUv6@{^9{uXvAW6qxo`4w*;y~-_kL+pJ0)?@MY+y4^t|Yn
zMepN}9`zUazFt&irRaZ;0?+mBuS#?sns%(*Q^FT2a{tKY0~ZxktnZy#F=d70tQRbr
zSHD#46tzDR`gPkjz2NfHR~vm~ug<EQK5u&U$DJ#uEW5L0{<%Xx(tCp{*Y}EXE$t4o
zyl4|DUT%72O2NfDq00|Ho_~G+_T#Ug8O?oMQMcys!<OsKD)$xG+uqz>ur(v^o^gUT
zv&LRgtG!#p{f^&~xpGm)N^?u2Uuu=6@ryq$d7J)t8&7I-VLznBe$e}}n(@(hM<ySb
zvh?K1$2O~v1Xm|6%bzOtqPjFBw)WHCHI07{zVC|M`P;;8cH_NA=8-QZ<VapHn_Aw>
z$n*EC!@VgzQodT&mK)t9FJF)4eY)_CIsfJ-Yk!oLy_)^Uuco+^)zK+Piz8HU`hz*W
z3wcGATMjsxzHj&X|M1H8AfpK<JOA^VT+qK6&=8%Y@!|6-wZD?mTwmt&t})znaE;H+
z3h9Ky3}&+#)K_j4Zs^VDcWbEb6-+q9-ZP(Z&e}H&J0>JN-}7BVr}AQ-Kw?A!=fR~M
z;)ZjC8Wp!4WMf!dxnWz&Lt6o9wvSfw%ym0AF)y0g&-mz!`!$K531R1&Zy0y{RXbA0
zxiQ}9&2)ikzK!?!H%32BYPQ~f>@M3E#jOs?PR9k`-{M(Z>?ZeNCi`t?{u@`A&Av69
zwS6%=+H`KshWal@4=p)<NdNcDZ=b&#zmqaLu>4Gw>8Az;v-AdDsf5XCQM`Fwt3ImL
zcFg`ExpJ!Ut>sIl4n&JPEWP?>PTQQBSLS%`J-a0C8^e{;Y6dTSW?ZS2o?*E1yLr=-
z1r>^$r`dgzmW(g<GTU_U@6Dd|$9FSUe*0i}%5-_n-hGn3du3dbYmJ{)S$3s;eY&jc
z_3EU=eOvBL)=$+v9bTgzKk=#drW)62>vv4kPwOgeO|<8?-FZbm<7{N?h28B=v*(>`
zWMasW=YQ$BZt<^GzxZoE8fbH+=A}ThMQUCOC_{mA5r|e$P%yVJ0Lg=R#_;S0&S0(;
zCGNo`i6yBDHZ~vuP^L>XPyl5{XGaA?1^whi1w#cpJCGcN)OX9zD?w77rfZ;UpkM~e
zvLFM}bPaV46wFbDjC2hYEMP)*cA#twb*K^CNecQQl?AB^`T>dQsS2tJh9Fz@0}_i;
z^GXy9VS4p_Q&Tb%o$@Obq7@7j3>1t_&Gk$S%`ME$6%0)*^(-w7Oe{?lV!?Wy^Ycnl
z^Gb>pK&1?%NO3R9FD*cFKg33`C`b#){lN<QAw`LK#RVXnlPh7uo(d&JrKvEUbFhNG
zOKMqWa%zyf6G#vmJVB|&`K3k4sl^JQpbkRvrzMg<p(ULm$O8~}VJqrDj)AB&R4_F&
zGy@q1jpT|sS0kzmLatZ--&g&8>2*7mwObx3y^CEZcVcyF>a^)krhbdM^v)|vdac~+
zH(VRa9EA><x+y5+b@ZOGNRH6q+4%UFAz$0JygM6@#wzqJnCCF}Nb~Z?D=)8nd~93R
ztsA{}8E0?X_<Gi&x8?8Fu~-!TJC(95z4TrAzVGFA&*xP0GcY;W`7rQbI;MMa<97R+
zG--za!3=o`kJrgwny@+ByunfFpS;^Kv)oF9pObhGe352&{L=UPzn3T0pJ#ItdC2;y
zu!m2*{ljtXIQ9+y8d9{~Jp;DPub%&-`$%|i-p#`Lla4k#36}-m?<jwLOyy`*(~s68
z`gbPnsrO00$l4k2yT@c(ZN(aw{~KC=NHo0jbhzPED)LJGAct?)lIt%klvSVkR<gyG
z-(ip`Ic~XoM*D>J`A;7H%DsKyJyZMrRPAGKv(10+-nwwtofkSQW1qTwl)U_A=4t+!
z7ev<-ytbCfJ9X+{8N;4c`<siVI7~0<KADpiSz;5PwO#bf(OfItnXSuH_S{W&zt|^c
zEw^=ZO)=+s^}lP^s4iuzEIixwRD18~QyaQMKZvYe;97WH+iP$1!k`}$xy-9JuW>R}
z3`x-|eE-qDIqOB>t8NFaMxpk&_bXQFPWrKF(<u)btqlR;fq`jHxs?i+Kiu$eMx(jJ
z52Fv&wyz^C<IX?0`+B8XMovoW#l;&9qa`*qWrbIs7GGF?v+JqpR`0;o>+Wb=zjmUV
z_uD0-pu*+n|ErX4IF}o3@S-~X@3V)z>ihS<eVNsNbN|Y6=l|y}vP}DT^Wn7myZbl%
zyOR5Q&-OaoPahJ0KL5UsuYCQRuWSD-Gizs@b(rn0a{yyt>dJ$8`ua;-x6a_^YGHl$
z>Cz{UJxh*+WnFyjtF}))PfM6}3&)SnhH93W`LSNo6|!>sufI-QEVG9v;k^;>gG)y5
zH-$d6Eb&gUe{NdUYn1OWIr`n3ZSU(gROcRik#~9fH|?wWk@vmC{CD2%wu$$?6MFM(
z>CWu?HJkt6vVNWM_wP*aKMIMle104np?q`Csfjf3ik;rmJZ+Bo?YG@Zg}Y7f=a_vv
zayB*pghlwAc;*`q3sV)pRXrED_Of@)uBod}on3J?e2s2Bx1z7W?1}PoLeuRp{5|=s
z@%^^2b=9?ZKMGHde{=uu-0bsveiar6e|X69{pY^Vs&lL5vexZQ_5II3|G#$0yjy0w
z&ljcKe%1H(xoJsdg8EK@k~>n1x(|2>8NX@d`Iad3{y6)`+jmyq*&Wn-MZwfl-$Fdy
z=uOYT%{RI^FWFDHJbl8x!nprec{Pvk{$Xp=bbtB%%{%X}{<6D4yl(w-`Q0yzr(B*_
zF}aWZuKdnf|I>T#Z7q9o!MvGu+pF0x*H#2Sj$d&3kBGxFp~uhWZQeg?ukz=k@|(CW
z-+5qZ!PtLT|KU{``4*0xHg=Dq<loUd9LnO=V_Dc9tlw|+hTFim>YCDohP^pz`#1lU
zUDLGv#IsBbTm5R@vdh;qCK<V}=#tPotnf#DPD}NJ+#iy?@6OChtz&h6Aa7}WCauy*
zD8WU#??C0dxj!rJKb_aA_igPGEjJCd?6nuVtRHa5E#+Z<p8n?d+Fx=Ff4{tG4ZOkH
z|K!t_fA4Sqiqn&qQ#oJld4Z+e(K@GTW48VCo01iB-ybk8()yFCcPe&6$+y0n{Vz}7
zJ9z)_-Xn$A<<ws$ezN58RB74i`L8VPM5R&KtgHSD6`42BPD}nF^{?py_o4P3a|L$s
ztEKlJu>Em$NATmt0WGC9rceIr>28<N*&JVR+Gzj7)i26~&c@7~oO)>H|3{Pe>wo&1
zX0hhB)4d5l6Ux57nNZhzkJX-K*G!FtTbVybY}vnlyZWWQ&(2vNik&OFFk!*owO`AQ
z-oNx__u7?(Usp}l&ddFvQ+i#0<=U0&CW%|Sy01K&WhgHC<oV1Vw!MAN1zxF&3Nub!
zKP~6r5}65;W#3h4K9I;Qzs~+7!D;HGNnS4D%H<^)N|r0VI6c=YPTJ!*CqQ(Q%+E<n
zCv6RRrh8HA=YiuvCno)>+O6aJ*ulT&*yOiGF+uv-kFB?ET<4bD)lq15(s^}Ps5a}B
z2kS0|C^(uX?NZq9n<ss){JOK%{)RSIlc4D*k~3p2HQj267RvA{PS8rq%v{#^WP;So
zPS#tj%Z=ZydmnPPX!o)vGu<Uw8Nt0#9+}44vV0yde|=u*zI^Ql#fMrlliDY}PSTpM
za$iK=W2szVuHII^yztliKJIHyvs-iR^jpTOM;EnKKmXjaez{9%eD2hxSC%_mo~R$c
zD{|5qPoAsS{2O^g*ZCg3H)FD?qDRE?Aje3qWkM^Tl%yp!>qI^c*|ovIR7_!qqR?W2
z%QH8#vzY$Kh}o*<wo!B5?5YjsYo>i!)4MXJG(gICQp>+Tn~JwS*mCx^%RVn&7Vbu8
z4(qu*ZOoUsaunR=zUWM?<TT?@cl@~Hk=FEtS)Yrgs;6YCJu~_Ij&tTUvpeG6D|fv*
zr)cTWA@8wDSURKp?qM;vZL6N0XIVZ+Ynx~9yd7!UfuVDqXRC(BJ1b1Q-pjWoe}?y|
zRff;bZ+f!Hfio-TXwYJx#E3Z!G9FL<mGxR_G`KjF@7N^0(0-ZLTa$oEJ4LydNZUM_
z=yRbdH}ASw@YfT`Su5{Y?ccR#&4Fk8W;~lz9PE8N#3ScS<;r;tW$TtWXkDDA+jw+R
zbyE6)**j;%>2WUKvq9$3+cP`X^p-{XDu_x;1s-iNaCx5R(#7c)+IgAl_|qE&b8@Yn
zR=iuZAh&PFw(wuc5A7`P7z;$t)mB-Z@UY}+qkikeWG6G8T!*V6xs#IS95{aRf)|sf
z2lLLW?*3OJau?;P9x&Csy<@GNW*gI)$Y9B=xgrvI=WiPRTehHT+uU1L&lX8aco*KX
zVoAR<GxuFp-<2Re!^#;FD`bncs(dFNa{0Y^t+TM9j%?0lZ^O!nzSD~*t#V1q$>WjZ
zeJUd%^=#+XSNl76GwL*P&RH@qSz<=k1=Two>!dFIsNDA0`_(zity7FnKHMk5t@oUX
zDfHe-rrU>3WzAl&m-|NJw3m0aBVT%Cvs+CK6DgbFK088SXR(Ir_oFqlO!xZB3G6#q
zB<d`2`0v_xRaINJE=#?0eR5bq{C$TvJyYKu`TZ+d-SWvTp|u}NL|-PQtNhBy2<r2k
zIl)jUIbum%lFzKY1#XNpE^M*#UGPzQxuD6+Oux1bg|kkdT65FIG)k#8Z>99|(#T$;
z^tH+}HMM77NQv@hZuU8OU0Y4nU-L<qg<`Ky$t0EZm(u?K`RqbFTs4-QTpcd#|JcRK
zUvQI{aLU3I?K|Ro=UG_^SciJVr#n^$EegAqvD?BebK}d+LKE6<xcyA4F`3%2`7m4R
z7LzaSTBmfk_!M!ACTWCxe)=$Mt3zIDk^SV~n~RtyOJ{Z`NlyCBvbNU6bsO`wV{=MW
zma?wr)O?+~EvT?+<&rh>JGNF^hkv|co!f547gaOAX~tgRdBT&zCFb7T`}OVW^Rd-7
z_Bnr4eUG@<R$pGe{Gz3F!}_P@v9<5&*F9@b<j~6BrzRn#S)!b?aNpeZEnJJ3|ET=P
z-ypf@pCxPcOr7={|4TD2^4{S7Tk<{W|K|i&{x!<J+?B5x^8Fi{4mVhI&0fIb;&VVs
zrbXi(-`N!cOKlt0y4>zaFVQqR%yQFo@}AZT`IGt08WAsEE_}CqU;D1Us%wiHb!=R0
zE${i(*k1f4^Im=4MZHJX9c@J>9-kO4I`q9)nWy1$!DI8MjPt@Pf^&WxGqow_U3<OY
zb!f=CN6#;31a`eX@?Xs8QTjyHN6Q80|Bw%_c_gWGFe!DZ|DPY5{P&2Q>X3JPbtFFc
z|Mu^-kJu-QKKgy-|I;nudn&3Lf4rBkJo-It&m;TKae{V-_Pjh(dGvc=qv;R9OLGg_
zp4nbD5S}@6Mqv7vWs;Njdbj--iPYHV`d9qQ{hpK~*Y!-g#dp;{^56AZqndGQ>N;WD
z^$Y$_Js$V)T;Q`z9V<yKwV)r1lO;bMFTdV7E%QwHrw{pYF?#cA4V5=-xn~^e-IT5r
zy6C_A4<XCB*1gk&o7K0?v#4@1H#0RX&FGrGOlsMbmFCOz{9<Ps?eQ?vU)=j(lTgmJ
z$xZ!2Go~&rt-12)`3uXwe%a$^3Vmect?dfu)bF!U{?~B6<9t>3V)qlDU)s(8As%a|
zyZP^o%~};-ZgeK!`M%=R@?A!cCNHU!)ZQrbDnr=9@9Wjhf18h#Chxp-wDvjY{EW(^
z^TILr9#2gBc>4;!Fju==u9*DnHNyOUX59vz+dC)!&`_;R$)Ee<L)?6ejo&ZC<z4ri
z&tYA7{D<zN9c|sQg2!GRS^ItGk>5_+JGi-8GFq<-npXW>(b!chDW0%0%<1S#$Mq|G
zl3$)&bxYxDjn>Pogb+=it}mBlLykC#^|Sb|i{GHJLr<kMn_cQiW5C>quA>))W^J7p
z=I`F9yXVC3pLuoK|0U}C%x6_q+a&Q@#`nZ@7EH_Ac>D6%cIUW_-5Xx;{5;ZkA?u=$
zkn_9?_uKDr*9sZQ@Cq6^l_a(c=zhMn*ldf-+Bokic@F}=I9*9T8DY_#dSTP?L(wm8
z6bYxUIG$-U<=y+@orf+T<GFk1lTvo*o#kQQH!i<qyg=&PN&(pjX>Vn@p8D(}p(yRc
zuQu(QF>6In`&C6LjT{3<=Iqp6JW-DyKemp!+4k64vT?4;j_R1n8GBw=9oE@DIp=0V
z`ZXV8`SV%FpUY^x^Yis)Ieu_y@A1uy8me*q)!!|+7q=d=%=ewUSu&k><^710KmHtG
z{7}E^@ihlf#~a#bgZ6j9ojy=sTtPv>*u>Htqyoe>1a)yi3{dYI((O|)1a*#acMy@s
z!eRqX=N(oM*z;Mm+J|4zPilKti%#gvqwRJf+vOV)3nykdNXY;B9;@KBR4yU?=FG$`
ze=ga7Kd1KK{l(Rc!V<4bjvQSdsMuo>d7RJvLfF#m@I2Gg2P`_<b3HA-pQ}(~`M@uw
zr<u2*`cmByYc_^Ix>-Hfd^h~w#q%{Y!uiKR$=Ig0QrQfXl<!K1SI-fw5PV<lTReN4
z?a6-<^P?Rsru_?0)?8o68I(9B&q;08GUh~|;}>4mZ{DWmws>D^$|Fa?&6z6%?80l*
z{#3*ph#p$r<v;Usm|ygs^?E<2@9B%K*?P?5<mq!>Ph_rH?OAL3V?yZDKTMUUE9Qa1
z4lQ&+AqEOX1qB5o6GY&GdgCBrP~bxP{Gfphm(=3qqRfJl{31{nULPdnmzbNXpdaDt
z=^YrM?UR|5T9jClnV%P&T9lcl>sgYRlbH-x>z0_CnNz8tfl#IZR;LM3k&~EStYB;e
z;pFF)I6+1&bWKf+6?Baaj1>%xEX))vEexQ;6%f-M^U`xt6%4?-9E+1dgC7=_kg*Vu
zb3uGvBSSN=ymMlKM`~tzMhVCiut;!8YHpZ<1w=cD;{oG<Jm;2~lWL>@8i_z2nE;L6
zV1^CExYDE&@R&?UQE4hD+`ytviN&cP<A@5U%%b8F=ZwT6SV;IJLivVJPk>AU`3w>f
z3WlJlf~0xZyyX0p%)E33{qW2@$GqZ9m;l%n;h8BV8O6|HAkaw4z+)2=kmEt_Ffs=X
zfEg&jXpk5P8(Ua{#lQnp3i=`Wp?R6f`6;Oi;OvhaD~6y!D_FF^$^+1-9wclC4j5UQ
z8=(vsJ&mX?2!1}*{(0Qqb$=$LBr6L<gx|SwW1_4jhp<mh%|_jyk~;P#6W>UAA7i`R
z`aq#zlPYJ{GL<zl*Z3qgOjIh;c5|LKIxXrKslN0<-t8%Q+kDHGThCmw<D<{1Gv{(-
zCT~e8n|$Ne=h&0SmUu3k`?CIb<o(Bg&OQEp?(sez4hFXlCjLj?Y#$yhPmix)aZqO}
zn0veZTlejp-0w^ha>~E#%Xr@1`Rwvz605>l_67B+&)@C8_wYvP&-W(|RWiK&*Z8ks
z{>SV3!urw9H`*APjCTFl-nmZU*SbdA-|}1KpV}!|xop`{{r;PQ!#UGMi+lE~|9PQM
zAM<;@Oa1(h?BBogKRWl=YEeDcfqte#Cx7zqobXNK#Y6W`ldJriWw_Y-_KQAwabbH?
z!Ttt6#(L!k_FO+?8E3QjD48*uGQIoN++Z)V!8>)2;)BmjeB3|6wKi#_3mGUXm}@_%
zW{MN|(9>Wis;gcRbYMHnl+d`41Ml9o%ir6cAHDrnRfosc+TUV<YD{|S5v%7+)6vo2
zzC-t2wfAP-KAE+yvx|k+pWWZ<`dR+fxgA}0TSa!BI39lD`r%tur@SV|EMi}4rYrj;
zZSRWbta19%r3;>Jov4sM^|IilLMz$hmkg)$xhyMNJoiBE+NhtW=jGnb@$a5pcINss
zi&LL;Z*8hE7eBbhQatT^eT)D4?>A4K%8|<7@n*Y2wRup@<|{w`1^nB_X0ca}r8%rv
zdxfgrQS+CUu8x6!^92Po)|j*I(RwhWVKLLU6)PfB_h>$d6J05EL3Kf`;tua*=~y29
zNZwlCiru@Xvy^)_?AO`#B%^NT;Y%J9YiBF{S-9H6I{L}4_*G_~K2AKszGu<e7MmOD
z)nU<Vn_8deGUba;f9~L?lEGwM@Y3e$<u1|HZB5!GyUutNT#zs=Qd5@d-6guIL*dbu
zj%1}a7nLH#cX{FE<*#%C@=61LM5?_=IDNHw<Kl<A?#xNG$~+r&Z?6si-PdMQ*6wFt
zYFgFFbtv&>gZaPLfBo}fEa!#A2GtZi?mqrBy=|8qPht9Vy?4*fhSz;s|K6hTX=?Vp
zk3W*zwbtBO8T?r`?CNsARWk*1jn_0ysF{EE%-T!O3oKWE{t{_+!X&+jY5vTaQ&W3b
zHkZud&2@I%a;lP}(qe9Va;3y6XQlUR<Vs6ciiXVNS{tpqL`i3NzH#`reGXBJjTffe
ze2}J>x+rdW`3L3s`#;|LakFjV@>6VcgT5|xzP?<p=IPo5`SOoD>nk3{*OmS_sl0ma
zefM)e&+GI5`;-3hncmkod$a6jJ<PLE+Afy%^tpcgywvBVGiNSfPA^O>3o8p#d2#C4
zo1D&en_{`j$<x(6wUr$`&o2+m`x0oIera*s`SlaJ1-lA&NgVGo4C!(CSD2Ug`{}DN
z<E;Ufky*1goznD<_Xuq4w(Q+L_g+ul#Z5lT&pXHcod13OoW(V3WpDmD)OlmGvNHdB
zI|1F>@j9XT@@o&*TYWvV^z)AA?EjAmP1o+5_xIfW7rePmdcU4rX1^M-X3Lp)seivy
zE%k$SEHswb_+@9mymh|C?B>*kh70tBEBy}7Jj0f&HosDV!=^v8N;dUEPr|WG<Gz`O
zDQ-&QHEW9|=jT0JY5nr{r`A`S1LjUuTw5IA#9sgX=g#6g9#1a)>AqDdnE&9`&+>w|
ziT|EF|LyjpwD|4<vnA=w)m}@Q+irUm%gx|C+2TCmKpD^D#Xnf&9>+aj*Ug%=a)+nQ
z`-sUN8-APjBuck+{IBSm@B8PI>%VaGRX#iV?jOGVL+Nkt(tmNw_h(nU%{CR6VvkxS
zXPfa)<)!`FjS?T~9jpJpm$pqWS}^b35jBaB<JMC3a$yHF8;-E|?6N&)u5S0&d)}c5
zbNmi@e|cid_1<CCn}ghTH(1#@B5&34{P)wyw%hf3Uh|Fc8MgewZ`Q3j)tb;!`Dy7{
z_WP}cKYq&Y{*k~hvt;uhhI<FAABu-mRX<ENIk5d<ddk=2LvlZif@9Qpt*<=oQ+<*D
zpfXQFYUh2y!mdIK@$|O&hcfTDP5VB1zPq^Xx*y7m{SQAj*>;$L=VDautyAakvnqb9
z{`9IaqeVTD`%T=ULdo+V+)l-_&sjL*U&PTEZl7A)|Gw{pj-R!4KeBnl<SL1i<?l51
zKh;+Hl5T#FUozsz^X3n!F?qH#p4mUWruy%|eb?`i^^cx0P0R55Gmrng{gRg#*IWwA
zy7yz3ZOQqpZxhT^^3KT5d4D<Y>OPm7R@@5LOH0|9|Mh*_78ZZ{8vCr-Qqr$p@0oXN
z)+^njtItk#{WhPPzbD`M=H8|2s=d0nuZumoue!GI#@f?5X~Ai3vjPoXlt%HMzZmQj
zV(=vJN6p1Yyxww}G4Vk<Rcn~Hsvea)DIIiV!-@+_G$*`z9qPfQo#YY1mBFRo=-lNq
z$$FoHrn>4=S5K2}(SU>7Cb&GEzIBpC<J`53QSxi2HZ3w*yiPvg`YfiYCln4nRN(y@
z@@C5-_m6zMM{E?Wl#gBRF%9zFzj2Agqhlsf%Px9pPGNf-u|x7IYxs+sBF_&@IJiyK
z-}a&1(d$wluH2I8OYkggo}_tomClMlU#(qIuIp!sly6*oc!PxgydGQQ#I}1AjQ9G#
z;;vU-@FDS1@5gx&Z!(WQ3h7!Bwe&^w{>_t~|Ml7!@;Y$NnXKU3kL-N6Z+CH>oj>i!
z4PAxuB{TWoxg64TnV!FoHD_gkDc3eunKd`}h`f$CquqHgLPKnxhfB5UMV+IMUcTJu
z$loem!)RnUu_E`zvWoefTF)*p<Z&&F`M%9m^XA%E#@5r{yO<N5UWBV!n%$C_<|=tV
zd}HGwr-KVQtYvg~4htK75nAXH&FmS~5_j8mLhQK(hgv1liy9|CPM`CFDLv3uB`|OH
zEoMX4$@ed)S86;uoTz%s`|4NUX%Z*bq|_x9du-I{j(EqlYLn93RSWZ{ugKum@K~}n
zr14eT$|GmACjRs+nzivF8|yTkjWJ5bXZqYfwFK>7$fzwTpn2izxfI0`7LlFP#ELAY
z8v5_K;wtq}Ks6_P?JS?8s=QjKm%KXqW>a!y*;e+DsZ(ZcTI1Gu;oFpHk3OxqKJ`Us
zYu04<gl$W%9a#Oq&*%8{?rnwUYuXcZh0m>BsHOek2ve=KNcD+p?$__~8735K6iqOa
znZoqfF|15v;iAmhQ8JEO!>pKm-v$L|rza%8Qt)ImUVid>&A}d#4XS4Y7`57Jnk63O
z)J$MG%hC}S<#AQiMC(@#bEz?FjBDh>u<#DXEeD%SWSupIZ2xZ6v~;_l7;^g5%4Ky2
zXZ1}?S-$MvGY+dsYnRMW-Ztab3=<xm6<@h^cKHe(cK8|@yxvJ?T3FbZB!^ein=Uo1
zII)l6b8oAAZ;_Tn)|ud)uXZ#?3F&YNTXgJo*pQ$Vw>&qqV5-&BIF;A?59CE8bQ?Bb
zxgwW*Z0Quo1(VG+4tPb}%h<T`J5!mXcgcIvvn8IZ#Y=SbPQOW#yK$t)gSXajrES1M
zugia*6yDx`BQEkni?8gLzi!*Nz1q>@9`)ErF7rLlo~&i%kCbH_yJd<@7rsjPqxXn4
zPW0u%g^OgIB~Nfn6g(3oEyxyn@7pRKfzX{&q5&`83Ug?sMH~>==3n4>X3m`z4tG74
zZGZGuc$SKL+=OcaX&y;|qQTKJ5hqd>hnbydnsY9-V4H=}3nj(%7iSyP-tS+Y%y#S1
zlB>%O2}|^HZ_?EiROPg+Jf!^ZcJyy+=EpC;lx$n6oEvghYHD|B!zAB+(f%99xt?x(
z;GiRtA};+TDC<Q#m)C4f-%Dv$9eS~bUVpE8%?dgDL8~oXwNUo(*N{asx|hf;z4Kcn
zMf8Gb!39;#b$?oQ)8-}4<htamnzk=+(Y~9-+J3enmoHvOUbTbu+Y{@DTW@WzJNj&8
z^Y3{--Ynhuyl3{8_e|A^PeORVc00VE@%=#avEuoAzr3tI=BxRq%=pErlV2<?Jmr<v
zU%2D(S^0|f%I`t?F-qR=(<PK%MpZR0TwnF?I>W5YZ}p~ES25mRz})t7b=%_i`r<Xs
zD)oo<pWAo#QB%IR{x{}F4DVWUHcXzm_6Bp^9j2)omwj9tubNyJIQy)6gU}+CaL*rU
zi?liR%l~P)!ykGjdPRT0^#FgbDU({d)55#-6nD)qxwk~{>bVPAPB-s(l-QmvU3t@c
zM|+xoSDwPGG>(Py=By4nzIw&P<Aqgx_vbhl^6}TU?K^Mq>*I^#cihdp--zeM?LE2m
z%(pXfGoE^<Uo`Pvf7tk$<b9uvw1Tu8w{(-*hL<1iXH?c#E&jXrl;;0@?e)JCyKH7_
z&Hd!-x_pY}Tai!yUe~O<YoqBm&5zH|P5u6?IrH{dW_H9$?mhJP#irAFyK?rQxp_SL
z7=Q2Qg_|?1vh7d*oX2l_zIUG6<;>ri*E9cBFMqdj{;JcP>%Sj~`u(MIw)&3FBTs&G
z@^pVU+LmA(62!B;?=$D`R$a><3_DX7UG%%_y0`UL+$-fPrAIQ={EQ1{J?*VIU+80<
zX8p{j?8A)@hHoDPUtI1s|Iy-hcm87Wwsm}kg7Fh;-#h#Lb}lWy9lm32-QL;XUuQ_)
zip_g*R{u*|RZ2BKXKCrQTh_0;-rRhrvwxb*wFwJ4w|@?;;od)8{^9yhRnD{Z&)@T^
zy;Xks_(?m(yV+SAx9^Dh(RpOco%>G|vU{6*FS_kJ7@e|y{p}3%t2bZAl;&UC8*U!G
z{PoJi#$P_ieTe(|Y18%-Pp9s!<a@uWYPS9LxsSImIGJBI`_C7?*Y4&&Vwbga8qciq
zY4_Q~xvHW2*&;FZ0+V|e-<6p8z7YQMF8M>LW`)bi{Pe|lZmoRLr}5zZ8?GaQ|II3X
zya-$ocX!E}Y<`V}R}ZQ!?H4nOcF9bPlRe-1DnVt_{gq}VR++U8ZUu4$LOXOPxg<{H
zKgZ#wB+$9S>qQEar&MN%ksPBBzh`wc%Z&pw&MgtT+_&V+%2OvDV<Wczm9MxZpo3+E
z1=I%x^-DqHS7s*gr6q>Q!w9hcsyTew2Dbhx>iE^}ydw$%Z+>>^>L2CInLm{+vP-YG
z+eSnkG<-E7$w5N=-|r6=u}ee_ym@m@Z}S%`yZ&n~3*H|*$*G)?9D3mFTSuicJ0!ek
ziA|aKQEY1Tx<kUVj$Gd88solN_MyxRcdtA{nS!dIykqQ43}19Lc#i26{MzL=bynH?
z`T|$!#)*jxtyWvB1^<Pv;n>n~ez8}jaDVZnzo9j9atn0}gZHb<J#?14)A0r?XL=69
zx~~owR@Lu3zG}wSKVpp^>inkmEN%a=PSe7+Gkj|J%=g;&)9-}cNxKtzC$(nfkD#=B
zyPm(S^evAr;#aiP+N~3|i8J}*zP$G}VN*YI|9M-RfhCYZ0S66aBU2NQ0uay80%;Km
zXgEdzJZ6O$Jpm7lfCf|`!&n~90g*1A=)+iWMU;<UnOi7WS{PDg{0cI}1sbv<G=2ph
z89^Q@fdv-o;2zkU!2|}d@P!c0kt<7Mu-Tw+Mg+YAIC3C^Gq7<g1xg35ObrYa&@pHj
zi8|QW7&Kf3A~A=fK)D$?j157fhM+VE3S?;ZHUc>V;$v*tTR{P~rqfWt)X2gBWjN|>
zL}fwnbHV$y{?ng2Pcq!*Fys4?!)!{{OeuWL8|AmDo}O`dx`V$(1k+3jwZ6G0=5QX&
zWk1Ei;jTAnS>v{uSB#fF?7W<K$-!f`r}5c%pXHui%x9luT)JRzSS43++phbQ&xBq&
zSz>j${@2O-8~5MMFTek;&VN1+2SeHmX1ODwu@mQgxBpql(@-zkz`Zu=zINMootqp9
z8-)M9do}O(Zn^F`TNr1oW02^-|Np?UtL)4DUMcdnXZCO1tSt1@M%A8i!#<B2XZ)Bp
z*<bnDxzFLtk#p<r^(LSG$ilFaVT1jJy;@GYJg&L@N{k6lN#?hA5BDmOyqI+Uu&gcX
z-^=MjcfEeSW=zyP`}bF?f!wpxi;i-IoeK##AzH8~L2JvCr>V!L*eJKRM(l8Ov<}&s
zvoj!XIj7Cer`uw5^tV^$Y*~_d>x!mD^0PHwd2W##O%5hFo($`p_wwiB&qWt946J_s
z%a4nTs(<16{#L?Mrh{A8e7t$#L43{mKbe_RZvS7s?U%UUoa!yvzi(`OUJ&(e#^k@*
zbssMW+qK$?vOhj?{QK9fBB9)smWqd4*u2eNS?Ia1-yZpOnasUI(bu#Oe4e9tJLAEL
z^IH6tPrpr=&now9+1cQ{#Z%k&xXix%Y)+#~&#_IBFP=oVujl(aFMIcf+8w8D{s`n9
z?s>RB@!0tv%=h2aw{w4WY3B=?qp|GI<tqE12HtY%EPL&=FHcBhT730H>Ib*vHpVY|
z_Ju#(D$#g6?rGun^*i)sRnF!G9?W>&6KVFiM~VOY>GN$x|Ndy^)%|h&eQ9agzgLG2
zu%|4x{K;DHWY5pFFtV&yTSMaXY~wXGZ1!;{<XIOdb+NKM*i_-Q<>0#;3vTeX&6$y8
z*3+of&;91*9fQqhnyn`{>j<-D9#Xj%Y%uRrQgURHXHj3-t+Yo=_t#bZ{d}1@GB<Uy
z+`jLVOKVGuTQ$DFy0G!=pBeG{e}1c;eDQaC4f{0NTgGOygZ263ize*vK5_qYi1p;e
zl`%$|=JiPre|+32T<L5k!OJ$I==_qH=ykbsC(S-B?l;3gZJCe3r)M*gp5$AdS#{#w
zHJSY{^Br&HezNqRUSx6KxK?fIRO$3HtB%}$<-O&pWRKOqFCVs^H+esOYyPc^TX$}E
z=PbEne%U*9+b>W1eH+WI&62OL+<r6J=l8{PzW0qK&1dpRn|=FY=^l8ncPsDwI~V7h
zx31!Sd1sUG99FA5!?TYMdU^2Ww5n`NU@?D`ykma#<lPEl-N8pKA0<9-NtrZP*TO~Z
z(2@I-p7kr${p9_(-CRXl{DWnUT>OIb3%@+~{k5kx|L^U&%Dt6qmKQJj?RV*a{{P9#
z?(;5QINNW#s_ngNKMotP^)adJPq=cnup;r(t@_K{lg*O!tR9+w;Qyk)-v3C0!%<|{
z!@!Qk&%-k3baQuZXVnw<?|7rvt>R%`)Wy!DGkm3-X5A61V7J?|`e*wC(;Y>-c@NE7
zw*7Tt+v5Hb+s^z4PCb+OmQ^b9=9UK^UAr`q|7)*FS>X(~{Vn$o?!Itr@3C5z>W5Fa
z)LVXFy>{u2gWNnX?Tm(L^?_CnaWfv)-C(($x&7Lg&-*InjV6VAUT3P9+fY@(Qg;8w
z$MP#VAJTSIo|@jP(^FTcTR!P=+dPFN`ImRu1#9~E+&O!Ge|F8k=40#%(#t=%PAD|j
z3ul}5F#FDzC)5A9{CdZwvc4zbWZRQayH9s>B)+}em0_-8FISghv8w#_<_nFJH6G7D
zEdO-ZQ$<yYjNHt;te8y|7Z0_ue*I@PfBUv&Rr_K>E!QW#oAc@B=CpG&%&ykvXP$iG
zdDK;SDW~7TdFh*@iZ&Ual~h~oxc;$bz3QT_#Pz4dJI&%<K6we&XLi2WT7GTXv<lVu
z2vOxlUX#~FeEMzb(X}EeBBVRB>kd<U=uDOH`-+;&Rh~*u$`I9F&@^*`%h$P4o-zjl
zf+t+tovrE`qM!ZR^;T5)8o`?`7IU{af9|T(t_r>X>)Z}=AG;)_%Q4DVOJ;a`D<qy<
zlB%}$%E=&qCiU<|+a9P@KUc9ZNHyO4Wyw8{klY-us%%-m<v~$F>z{dSmEz7anYwDB
zn`xHTQPVS}H#F6}&K)b~jYv$rF;#TxqKVrUoN~{|pY#3LWBZU?z0$6b)qXesOq@G!
zkF)N?ti7wcGjlWcB`$xs%roSxYnW$GJ?j^XOHcLl+?6tq1f=}sx)Jm=D<p@{Dzf;8
z#<h<-{Do>i7T6d~coVJJ8Kyb!#Hp_D6`FT0NT`T1pS)}>yDESBqNu}jE!;ircdg&)
zD0_8_&59ydyN$+99DhSS&)wu({<h8M@pjk%$y^;CYxa}~&z4))MSLzQttpXVz4<mM
zMDL76y1T_<=AO&uhjwnX)d|d#j%q3l4G)o@x<};WT*0mRs-f4Trb(P!^{nP?f!D{F
z*%9x;Od==lS=GNzFtpZ?wX^K*uEtkwxt-CbO3z<kDY@y$)|I<6X{Srp47v4Bc$fdb
zR({K~(WCL(?x5BSQXx;HqE1XKIku;BW!^18&fr7Wu4J7Ixf|3!OFi`d3BBUeyO*i1
z$o0$*{+t!UvEJ)_(A~JVF`f4+c9=b7x~yu-8qeteDQJ;TiOgpQNsX;O7W>;)t+^r1
z?-st=>4xCa;_Xp9R&!RZ31}15ys>b@ro|k-JD*(Wa=w_g)bz#$B~z2urp=f8mPq)_
zU3a3oT}tzX$I69FA-=9^h9@j5T3Obzbl8ChNLC$F5-!zdjd2DKkT{kc=rGy2&`)r$
z?AA<6xBJUN&YxO&%zn|?10I)xAD3H*rmvbht>B2*<+jZBPS&gThZbEIG4u(UZ(7Hj
zv~kPkMdHmt?Mpo7F48h*ySaJehm1f!cIWO&tMIkk1GlquA7b%K>KD+NvFiNO9i}_7
z=DOWi_*=f=wfl{vJ1VAIj?665Tq|(mbCqZW=jqM4d~ah9@NIE<A9vBqJ<9sR#}=K<
zhwoUnYfgN%xNxOv#6r)@zf-!CjW<u_=Dl$tDmKb#{kB&vE!MMyjNWB%vc_+`w70@N
z`-4V%jPH&pPal=I52At&*8=($@}#t!;8?bDCdXv8_Z6;eFD~z};=S-9l$k>+P3oXP
z7;k~*nOR05Ya}PV^xKo=F#XX9<x5tFd^FeiAKo&JLCompn(4kpZF7#M7Wc6jz0gox
z{<3UhV}TC$=8F>-#GaM1X{hbwxjAvt3uR8rrw{uM_+D-d_z)ph>ukMcB2VaMx2H+(
zm!w?2-WA@n$*D5rWly_k*$svHLC*Cn7KM0bPSQFl=sYcJn$@bSJ}YNE4CPtx^^mPi
zdZmk@d}g)$(|v)iVT`An{j4TEx^ds?(Y4b$!CZSo9$oAA-WqRlXGZ$_)A9dfb}xOT
zEfDnmka6D$Q8RwKO;v}#PH&rMus?6pq&1y#YNh)ZU3?+)?a-z(hhFQ)?#`&Q?Y&<V
zYA}WQx8kNLzbszq2jwr@_d-namu~OmmG70*wQl^kG|^?tX$#v`DtTg-=$$v$j<0=s
zY(u>HXKTj;d^f!Qa+Jzhf2@=6j*t*bwq_}?JL5bvZ58X9Wjot4%<gx8UeN#KnP8k}
z3G2gRMFugcyH{4P$X~i{@sqQ@r+ri<&Ck9wiS;Vsd~4~XoHci0Xv?Nb#*1~cUSHbW
zU!Z^Xo=L2~$ytTVcO_2>o5{J%eRF)Xb43bABFEWxuQ{$8{yyw&+|oVo-~sk|+>8<`
z@$Ad_%=o_Xu4?|}_=H*fN6o_DHrwX^|75fMiA~sC=ZANW7T<CBwC2yB$l`75Kl=Re
zIWPHd>#k}R35V}1zXezO$y%0voU-pXOH?2C@tyA;Ysf?w=~VXA|18*=@bdnx^Rh3G
z&#PPW%KbIt#{*ZGYtA#)JbPK#^n2y1<rc^5?rhi9lBtv_*A-;BA$ITB+q-Rt%<lYV
z{$r;&_w~hHelf?twoP_gW2^aP!o$2*{MS@l4dtp2ym-jWW~XVuUcc{ET>twwUVB6i
z7F5r?a86{ML#3<Rw*2hd^R_kT{`oY)yP#db>7l@O^Agn~oQg6}Px8Kad9rlL$wS;V
zqWfFkKl}b6y<+jo)W+Zp71O)j+x6~ko)I6S&dL4C<=`XtoAWb2{yZV*JvZQZ?`LbK
zpYtv<N=Gq;^{YCFpJn*Vz_~-$lRJImmgsF!72F|=+s);_S~OG(uhrEHKipvGDK3)y
zxJa~og{yAPl-W+J65F{NFMLX1`dFBH``z7u*c%J{@;O&MbXw}zd&w!S+b$}CTli<d
z+9OGO_0}eydHSl9vGjV^47cM|*9EU~>xJtq^9)d5WZuSdgronW&+E8^CE9Hp?@1h~
zy2xsHt-3SrxS4S&%bJdhU1kC8Q#_|H3)?(R>83sFf6i4)qvwD+)u@X{!2KCe9|ttF
zVPpXBb{k<?nqvf7Xo9=%gEF)+;dI^+1s>P$HLcSxALW?jQ>GDQdN<`_`>b!w95Z-=
zm^&u8{@Z8c7QB-CfyD1y;mfXnOx>c!^q0fWPr^}pHB(+5zfj__qY;<3Ea>U^zT!@i
z=)4Om^ZIljSw+3&c<x{yT-5!r;qvApV>>~H1@9db4ayoXe=l7XfBD^C{&gA321Yy!
z0+yGpKeWG7v{CG1Wr$|}qe8z;`@7a3R^FnTw@US;NM4)=&mlbzi)7}4wd_q{e@}l6
zHO#IQZv3#$cWTd4^^Z$GsTK$CJb5SlopJfp-IspfQ}sXjy5h$4YL1hYHzPOBIV;uO
zzqRW5=2dgzP30@Nu!Jlqw4fntWMT|b0OA>e`kx>Ms8dPAct(_mbFfp8He$UEc)5+P
zQ+`egyhl#)poX!DiGrblfjJdMH9*FI9Y)l!2B?RP+~vkT*aI<-z_13vfWkSpVTyHZ
z0~}G1)K1f}4UBOJaMnW(6y&T3Nim@9V#VN4@y<*Etp@_7wIFEhIp>#xc8`IE9-!;*
zjF8vW1Qg|`lqRPZDQF}oW)|fu80s0C=@}?!WR#Q?6kF-*gGJMe5(_dilZ*B8i_$eA
zYrC9_QWHz^ixh0!T;1FZ3`{Hy49r{&49uJi49txU49q|n6!``Q24<!P21W)32F8X4
z21c$(v=Kzy$il$D%)-FH+ysgZAZ8dl8W<S4L9iJi^FemI85o!w85o$E8yFZ_g17AH
zgPoa~pXZWTlB%HLVr67tWMp7!U~Xh&Y-((%ZD6EsV4#T{Hn6c>M1FKmEJ@7CPX~uD
zIHaLl@$BqinYf}THI2(a!N`ou01gz)OihhV719(SVumJ`prwo;X@xwfn1P{ziJ<~W
z$N(W`U}0&3A!cA`iXmoUZiFsoY6?oFAOqp%85$Uaq8nAr#LO7OJVPUMV|4ROEX**}
znOIm@qN_7C!gQahk+B7aI!hxAy_RN}c37HW*a1p9=>9b{Ffc)PpCKqEq1kI_3|e6b
z3Iaqp8=4pxpog=eiLsFxx?U4w6LdElnplF?wt);pgtMuU8B$!96eVWnq!xiUbq8lw
zrGnB1XfQA+Kfgr52$aSkMTuu#TD}4(f)v0xytpK>s05sv3{8y<O}JE5UH#p-0N_(o
AyZ`_I

literal 0
HcmV?d00001

-- 
GitLab