From c9b49398e483a5ff1cd984ed92152bdb63ab8ccb Mon Sep 17 00:00:00 2001 From: Stavros Korokithakis Date: Wed, 19 Jul 2023 02:24:20 +0300 Subject: [PATCH] Updates --- content/SUMMARY.md | 13 +++++++------ docs.zip | Bin 65401 -> 0 bytes joplinexport | 27 ++++++++++++++++++++++----- 3 files changed, 29 insertions(+), 11 deletions(-) delete mode 100644 docs.zip diff --git a/content/SUMMARY.md b/content/SUMMARY.md index e1c840a..56874aa 100644 --- a/content/SUMMARY.md +++ b/content/SUMMARY.md @@ -1,8 +1,8 @@ # Summary [Stavros' notes](welcome/stavros-notes.md) -- [Drone stuff](drone-stuff/index.md) - - [ArduPilot](ardupilot/index.md) +- [🛸 Drone stuff](drone-stuff/index.md) + - [🛩ī¸ ArduPilot](ardupilot/index.md) - [ArduPilot recommended settings](ardupilot/ardupilot-recommended-settings.md) - [ArduPilot setup checklist](ardupilot/ardupilot-setup-checklist.md) - [Bitmask calculator](ardupilot/bitmask-calculator.md) @@ -19,7 +19,7 @@ - [TECS tuning calculator](ardupilot/tecs-tuning-calculator.md) - [Transfer config between craft](ardupilot/transfer-config-between-craft.md) - [Tuning the TECS](ardupilot/tuning-the-tecs.md) - - [Model build notes](model-build-notes/index.md) + - [🏗ī¸ Model build notes](model-build-notes/index.md) - [Build notes for the FT Mighty Mini Arrow](model-build-notes/build-notes-for-the-ft-mighty-mini-arrow.md) - [Mini Drak build condensed instructions](model-build-notes/mini-drak-build-condensed-instructions.md) - [A simple guide to PID control](drone-stuff/a-simple-guide-to-pid-control.md) @@ -35,15 +35,16 @@ - [QGroundControl to Mission Planner conversion script](drone-stuff/qgroundcontrol-to-mission-planner-conversion-script.md) - [Transmitter external module pinout](drone-stuff/transmitter-external-module-pinout.md) - [Transportable C1 Chaser](drone-stuff/transportable-c1-chaser.md) -- [Maker things](maker-things/index.md) +- [📁 Maker things](maker-things/index.md) - [Battery discharge curves](maker-things/battery-discharge-curves.md) - [Electronics tips](maker-things/electronics-tips.md) - [GRBL_ESP32 tips](maker-things/grbl-esp32-tips.md) - [How to properly level your 3D printer](maker-things/how-to-properly-level-your-3d-printer.md) - [Installing BLTouch-compatible firmware onto the TwoTrees Sapphire Pro](maker-things/installing-bltouch-compatible-firmware-onto-the-twotrees-sapphire-pro.md) - - [Python](python/index.md) +- [đŸ–Ĩī¸ Programming](programming/index.md) + - [🐍 Python](python/index.md) - [Decorator that runs a function in a thread](python/decorator-that-runs-a-function-in-a-thread.md) -- [Software](software/index.md) +- [đŸ’Ŋ Software](software/index.md) - [Black pills](software/black-pills.md) - [Getting VoWiFi working on Xiaomi.eu](software/getting-vowifi-working-on-xiaomi-eu.md) - [Monero GUI syncing stuck with Ledger](software/monero-gui-syncing-stuck-with-ledger.md) diff --git a/docs.zip b/docs.zip deleted file mode 100644 index 313423240c9bac883f2d3ac7a560f22b3e643e3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65401 zcma(2W3woM7A=Y`+uX~xZSQ5+{&fB?u&3s4ESxsqxH0RX^)1pq(-zy>h1wQ(}GaiUXHmX;P!P^YyvQdWWl0In#d zF#11_vl}!3Ajlao0KotAm8{b5u*r(heM;q0650_OolU;zX{8>+<#L@7lb9Y=3LKvo z6an%FAgQYNmX==}U)WOvj~c=4vresRdzdb+*_r0*WxEqE9o^D$t2Qq>_2%7(sB&xR zVQJVMX7Tp&pw$(EuVlpxa;DYz-AmyPJS0}J82TMaj^8)v%PR6kM|p%V7Xp)&8#^yV ztS-T&hQuGrZo#t{ot9-cmR{fh?wym4U<2%-cuFZPIWChPGtIp<;~q%Hd49Vw`=J~?@<#ONI`0*DAD zxX|7Ym!WkxhGE&xkcq2o`q(*VI@wL^OqWqz^wHtixDwR1<7k=DQ+{^|lJq>uS#Pmr}%e;Z>{ z;nNGTX>zA((dCOD+tR0-d%V9bOQ=ECh$LZHSgTvrTnuexr+k`ZZ@hw#jqo~G(yiZi zvH|!I0JlMO%zH72OVcPaPXUP${34XIC6v0rSl4#+5_hmZ<<5ZHFel#{zc|Gp)-3M6 z3QdZSB%g+Sie@7Qk<^G-OMl~nA&%9#C{+cZk!KaYLAFNy1$RjsN>XGJHnqU!3HAFt z5y(scb?16FNl8lg2CU4oG>QIvMF6qs-jBxwm&as#;)-_#9bg2YgnCdklqNm%ao5-P z)fG&N69)EKlHdc>Nb-_FiH=LF2UVAr06CP>d$B?PtM~)}+Gr^NH|b)nK&G)W_)!y)8|j05E!oJ61(lUreNzJx|Sd{ZF83DMququWgm-Z-Cr7(_0SDmuxCFGRxng8PH|0 zR-G)I=hKhbS=r8redWWDSaz5N3L(8URp!q2h>w0uVKT?$vwJyRtMvd4 z^zIYKDlCDpKD0mrsbX2G&cuDBNPGSOL;@YYWsS`bIW7rwPr8v%Wz0=QL-mhuz__k% zQE%~!pe`u^dd9k5ev!p?LOAazLGR!)#H;2(w(3>HsxxmRmG97ptM{4@T6Kn+9de`V zZE^gw@y*y9(?l?@^ig#>7!^h`h|62>h18xX4|QHela-;5nZ0z4pW~wplfl`l@n?AH56)RsGq{UoN4Xs%#l-Baw zrMf_vCt7x0#e2YNdUOIeFS5eL8IG`dlv3@8B0)tBXLZ2YU(v7j{_Ks}ML-XF9wf~K z&Vjm`Sb*}&_GIkN^-Y z+nHP0I?*{f=-W7&7(3AXV@DHnQyK$fCs$)*8yZ6geG{kuL6OP|+O`|~2wtzXYV#@* z3i$Fm8u9@bdcZ0$A}#WG87~fLEWE>S*t;A_6MQ|MU<$){3)60{F5O&s_%&|%3RU>= z!jvs_BHg0Y_~mXDG*mM|KpsvZa{Fk%e&Ef5YtY&K398)V7SVYmXN_~}`BU!xP)6~1 z8&3%Zu4VO%7FxiycQoY(m)QG)_$Uo$&FMVK280UnT5!~t=jZ0r$|lLSs8mWC34(ON zGq=#5*kDueBk(&08zAwEy%q!av!k$|&*?F-Xmc$0hwgiAL1aB_*~8RoBRX|q8RA1y zURRCvx6`-lTbfPeO*pow*$s#4V<|2u_2ezLSb>DQ--sLao*5aT2 zesKW+X#Xoz|39FmaWr;vwxcmLGd8reGI#u6Fb!6>bi@=z`<|&iOQ1p>7syjZN?nz> zhVbXH1VO_CG@V{@EbvCCc=C9rXHG_On0%^DGkcg;6P14#}w_DP9&$5}<2yYuntl)j# z5*kqQTf>w+97pU-Eq7;f_*R(|$$6_+Q?yalMn2?%OLJTE3@c(+tFnEfc3%f^L^F)u zGNwg1b?ka^w8-Hy)xChQW^x$!V*JbttZvnDA(B9W5!j&d{QxJIg8BrU9OLrci-fVY zTUU2nzfg}g8D(&(vb1--)KrKx?34-7A;QQ=#qwR_tsqPLL{0|%c2x7>4=Aau@dfQr!v{fN2Zo2fwB7e=g40I z+S%M+A1&d$Zo699$~?8z#6{;U6LDOljpOx=D{_A~_)fwAOT>H8H*iZ0S~!Gep@#Je zK?(|DnItL{B`YQ-WopH{f@-KI1#ng-qQeK~(A!r+ z71nm+HJ6N*AvIlMpIG;Md7eypxCIi6j1WD1aci;wv z1xp3cFKiUjTJG0U5Bw%5qI6TaTJ36xn8_Nt0AwdGd2Xzj@TG$@b-v$+UCL!GDGV2> zEw7wo%86zu9W36Zjm>GEcq57Hc2}<8inbT<;Eppp(cvulu+~Z9A~B1Mf^ftibXFv@ z_`S?jjSR66wt5L5GGQ;n^R5qoHxtOuGz4Ryd1(=Hvy>;oQDDoChPgFJiKF_GTcs*X zh)^R$l#j8^sMzL zOXrQ_MbODeEN+daupSKNISQTQS(A{Qmf8XngdoFe-$U{cxkL&(72>I6gtEb8;62#e z+jI4hDKX*7=xr+x1ux49>YOAL12$Gd{x)1_NKahkUv**Z&UF1atzf`;{Cr+Mx+m(y zqnHw`!+{ch=Vc-P@kF6V#(k#a44y&dM7fa4s+MG?5yDBi9J2_Oe(`ICB{+F}Uq$(K zovD&IK2Qi#y-VgR>+Zh4v8|n*^{wK;j45L$T~&2s&5`&7@muAX!eT?zBHOV7>9Vh#}L?VyV>(8nGpiB#9NFeq8gXM>R<~ll~YgkR5zf zzxA0TfUWiAB?>IL95PZbssMHU+57mqx~h5^`n>))*n?b-)>h)~tb+VW2YFp)bi69m zcvN~hW?D~`d5L9NS7lkZWry-;_M!Z`NWZHz9jLV!u;vcBo5S6EZnEM_kYtxLhr$iK zDF6}&RcbryeJ9mBem#TOr8$`*i777Oin*$y5BDK<{7TMP0r`+n zjhBPncmpSv$5)PPSU|d95GV)GIvfN8(2dF83y5Tkv=#f{um6D=`N`V&K+vbhD)k18 zd&np_mT%19$lMr$`EiE2eUxr%Mgdy-GL%Id${GAFus0`OXP{;zz3C&;t8VDYGh55n z2ePe~CFlkmX=~y=j@%4~zX^1~n~~_N;cS2>#32%ru{1y0{O;di!e;%2)co+w zDE5IzB8w-i+#Nrm>4# z+C?RI!(ajLB-Twv_?!D+(C{534d=rah8(*K^AX$o3nl;gh-63d4xP;vM~# z15W)?W1Ji|og^}YTXG@4d;_lJCaRX{genedM_S^U<-}IIvBE|emrj!M{{}ZpwKCCk zgSf~Ah-wMxxN@2ZCvJ(X)7X=XrB_@>eiSwtE5%9!0ROdZbr~rJCl*OrSQ;X6r z;jW-)*&Dxs48UdzVucF(L%E05@#`R`j|S}?{2?8Jzv|*5rauXZFM8kh2i^{zqw(|e zemH_$i7SUVT>&sRd(+g+YlsQpf*Muwv9G7h8k>bu*g*oac~9oPSPU8+q^&}ul6I4~ zNN10p9V!Ixqi9QYFW(%1^f*tdu-ybC^I{+ znZ9y90<^r4Hc5mZymvZrE&&GcdiT88bq;-1{4C?c?y9Zc%N+*F(3r0iWK(3sIjXz= zE_Xubt;dle3cMN={Cgr7-Shi1*p$}f)5iOI-Yy_e#0FgeD=smkwZNjCA>Uiih@5;3 zxhq>WubHzIFg32a_$lDJ0zP~*YrZEc(N^u$OQPBbrPp6rA-!SQW67OI;W)9mK9=jk zJ2kS?1f6=9cwe{M3J+(@wAKh3>hwJ5Hd5ur_-v!~HGw@LMOp~u92pLDu8Jm|`SR}l zySpuPJd!wn4FhfFLbzP9yJP!^)KO-Af)&c`yU`2%qM$)Hxm4&ah6~`=(4XzXh3pD_ zS(Awl^-M)wiyxDN+u&%%CTa|Y`xX)iT*tnSm`;KC7RL>$ZKEkA>i|?xNGv;HFYzPdWUB2Zg0|? zhmhVv^w#>+b^X#kTda8K)yQvUZ&wC1usAPr2X#fXnF=4#KR5@TbTu*cY0H zPn#zc&9#(L3ezt&P7$Kff?{|k|8ou9tcT0W$lMcSG9x|F=XLc`k&C`lME6jMLW9xw z4$xU3vSCVoeiST^63>vX|K8+a;#Tru;4|>@`=NGmV_{JtsrzDg;T1;$0k>UP+pH`F z30cBo`F?vTUs>sH&0eOAwkIwXf)HM2*9>7l>_$*JC&$1}^=529orfJ#B~=ykMkM{_ z1#uG9#HnmO1_r*EL>!&SX8yfJT2}>1?f|1xU1onm`fhl5|7eA=iks%vhQU*uflZ$M z@aoH-t?TF3cjMHy!V-8!tho_#N{2J+D>k1GkpV+h?v%#d$S`11PfJ%<2LQ4i0N$+O zrWl^Fe|Nq@;gn(!G3tSW2@F)k|AVstRy2(#jEyZal0cNudKrhC=1W0mp`@gv@!)f@ z0IF?%A)2%6S8h&<^{i0(ED|x*m*X*+_87TJ(UdbM*n&g{nqGCD);i5v8EMWnEE&kz zO@FkjZ3;{mh-1|Y`fv^D9ClisdIgPDw)zO#l3l1JMS{g-)b$DHRC5uiwZE9b+&={q zM?`qjw9xS$CsJ#JGo1yqR)6ERFaZ$rH$ zI4xQf)kM6lBPW{J)JRbc)B}DL-#v(ErG=2d-8pCu4f!L&sG@bi_LpH>SL0wfL|drd zIlYE^gwHgFh>vRBjUBhzFzd(`S!qsO6C26)L@h8RgGeR*QHDMmRB#vV8u$l4c6A%v z2w4jVru;37F-&C~sQQ;$UogxDz>WLXRn1=odg>H0ZqEiaC1rmoBq zaQoLEj~9S)N49cL@+iQ$<&z-0Eiwp2KP=<}F@wGNICg9d;AeAN&=2>=Rq46edte;U zLYg_*9>G^$Q~y&dB0b6HRwTP`R5Yn`mpjdiUQn;n?XLySOIF!Ug+3tOikPSy1VwNQ z98Xq(fI~?8)ce)^TrKS05Fey=FHJx^x>?QXMwzR;b^vw-m6BqrG6?JdcK^T#8GaZc zU{*qNippSYT^{6yfr!6zTT!^Cg{DX%qEUBMb zf#19SZsgK+WG_ChD1g$+{4hI(LS7N#x{1vdcNOU1hxIBP)9icFUc(Q0K-T+}4mttb zr@^v%3f>~mJA{8dZeK0UE6IHIp<3va;N{n_y5j`zt=PYN35*&Gq-KRr6V zLE;`H&iZOy<=5zqR4Td&5fGy|JnKnoXB^VM?j4qU*a1v+uC*zv*MFN6Dh?gR7fFGV z`4Hu<5HkBRa^%w~c1zVd*1zdTJ(-s=f3FWE$n})RC=0 zugV>@cV_hJwU=R;zNOij1;U*H7H8k>8=iL~A;}5eV$(}__a*Fc&)k0a^NlXAgR`eh zc9J3?O#ds7(~JH3Rl%9^h_BY99;t>rmpvASe&HIZ&)_-I`F>=4I2NYkjv4U)`5BOh z0nOf#NUF0I~J%<<6*84KdseUlLAF~Uue zlu(>XvsjUVc)op1vQT?u_P%7a_piBCP{XvCzM*X21!Is4F7PwDX^OUw#tW%g+Fi=!#>Z z9c;%huFN*H1se|P&Zo;|5#bs6vb)H1pe$Pj$9#?-1(|=;7IqKZ!!u(S*{2{>z8lia z{gH;N2+oC*e^O3>%d^y@*_!KbJq&q( z|IbBcV4Sc_`Y+#400jVG`mc-Z{~Me-7#rGJTN~RL85{kd5Y@@t#?+aq; zrY-jo9RXLlKPFm_ffD-NJ_9@Q-xu42qJ7d%JGHE}oi%(Ev)l$#M zPcC3!Bcn(2Ndx<(E@X~5alD=2!AfadKDv)4`T6|e4XZv^vLlh8kZDTFdYgBz0OLb9WbceZFbVs4_G>L7>>1N5#az*X#4$7(^D{FaR zd5oHdTAPG(>0)4ZqhKwTzVF8S>Kci1B{op!r)3?uyVxuC#R#BBYf%|zDYu8W)PR=| zG-%P}-|$^lATjnF6B~UglY1*3B;D+7VgQk;^aD2*)sN#Ap~~~VLVhOEZF|FwxR>AO zjc-fQR9Iu+)qWe--5G6EAtkY8^+xVY=vY^<#7M`iYO+3p@V{|YVXZ~jf=o;{YVq)i z#64~RIA6teQGzbZ-y$X#xZuNv@t+E%>YphVJJZZ8I*v#@kk1Z{BGZlaJl6JUGw|t3 z3tmiYikbL8J=4ExDJJ}c>W&Pct$o$-8qBnO-M+PZYZ7JCYe!xm#>q_7i6K5k+lxb} zTwSXEG>0&B<#yTgUkPUO#E)p|MtLsdpIYVi#AU2%FEgw6!)hZrC#UX$wq$xJLGhjY zusRR03+ig~e01kJaE0r{X?DH(ziG>3;I<^Zf3;iizp*6xuOsPT>|*TTXiVc|=HUE4 z3k+ukYuiP7gr6H-d&-QK{GK8l!Kx-ytIMYF?z|E#L5OA>2lFb<9z8DT<5fo+Qnh$F z-oL4lxvISZ7`*w;5WKC)kAhQ>*dApPb)H!46JvrkD;yeX>h1C-u+A}HP0SSV))0Jq zvg%2gv4ce{%U+oM?$kI{ai{qRIB#IP1SSbI%4jn-HFA|Qg2EKt8s}0#%{@q!+(`c=$u7@&w5h^u%(lsi) zaXY{1`V%CHxp|NDQ#A zBzkB|D39n(l${4K1o3E%5`hGGR_u634roKAR@H0bI_sxc@oMSstXkmbp*g7c+vIVb zx{7l$1RVlP9N};}BXxy_g|+^81R^AfRxB}^7#O?u7wB-i!r-_07=soN5yoXjEQo9i z!Cbix4CWAzDmDZct?4H8X9FbA$tKWzlukPF_T5oDwMGr*(9}f>a` zvV&UQdWEtnTB`Dv4Qw$U4hyJ-Ivj|-fd9D;lp6aZD*pKzCDi|4J({7jgTuc&n12hv z#?kg)@vCoTZs73$hqoD4`?URc5%bgjL1lv(ArURK>Hf68wzI$r2-aja4+0!gAZ8xk zvNl#EqTte<|N9wJWb~fQs=hh{XmIY-KV>nllUOPA^~Q!y z^BxL|F8L3vD6!BKvJ7`>Vs?6VN7J~~^mfoI~rK8DzfvwJ$DWVv@#|DP2i^$%V zLk+(+HY2w^6u&1N1d>fo+lxpgj1@MR$AZ!uw~U{x?lm!a(sX^>J!%%$uz_mY>=unkAXSan7Bz8R6FSu%ff7IDGZ3EgbK0d43wb~WO2Nv((V zT9~m>sK_kRgw_9q-D6yZfqxJFOb9eft!GbPvktOObCY=Cryya)Zzp46ZQ2rxA2ykU z_g1PqJW|x6;3Hbz{Y;M!zXoP)Wo-K@vEMV4`iqkY@9w&6Q?H{pz-Ga?G_h22|rsF`g8%sFlf7F`MCy=Cf z;J{*_l5=*y95)||>IdvMQrgo=+(!*OHwP0JSq>_uU;II%ilr!BOOzs21nS2#)1gnA zE0)$0(o|Ag&!Vkzo&Gb$)L}Jlvuq@R8R&;DMM7SLeDamUCt8E9pg$UO^?ezM?sqPq zCYHW}rWoF#H45Tr>IZ?g5izsuBw&Pa&7dGcoOWaeC`HlfT6MH^BSKPx0oegU8&`mrldYqplilOt_liIMa0sY zwMr8SDl~Um0FHJ?gBpfSsN8)gwLzsT0#gs?tvJ5u2Pl)mT43GWoMm|66`Qt$T1ewt zj>xBef`-D*-m@EU2>0XZ<+a;BV6a7YC)hDTiXmB(3U}2nGmjm^nWCBlQ1iwtfWysB z%uZ@Y`o*Cy7hOpd;$?}n&K-!%`?%E@SyKkZN`CNS6Ia+`bCq7d37W8h!zATU!@dGU zhq=H#_d+3qBas2}rV((<9e1R3DG*l6o9~P0ppXMsK{jo-?)MQA)?r%f z8#D>Bxo>yKv1QA39!qG;az<-eFCXgR{PxR#u(>=P=Vkd|^U*``YH@#Kewcl2tqg2s z2wp{N36m-<&oK~enX#;DhuU3Wun%@*$!0D!s$lWTlwduoCH1wYH%g483)(N#$9FX- zysb2Ws zf(6;*V8-^+G|G+^Wp`o;Y9+xDbC+mo1z>tb>Hr~Ww%5q zpd4**5AQ!W;@`3lP6P-5fZczmp~U}HjX62n{BuJ8#MnPUW^DMs9MQ0vwe2Q5(ocqscX}dx1 zzIaz?gG%$%aO?NL=LAly$kvH7N%DPpeWiSH8(QI(kLmRWp870AkKEYAN-C&-c7}UZ*>IJ@Z&0Du#O-q2a)HGBN+SE#h{hMl_os%&E ze*$^iOg~08lM<0L&063SCy)#M58gAs?tKvne8)u*m-&)BvP&G8&Vbro{3#z=jJU8*2xGYuO+QUZJ*0}_eQsVyUu z4U8*=h|ux(8=!iL%310^eJ{=PLj0g(=8W8h#_ z6+tdRTk@Xw;p_G7b2pdQ*~>|c6K`IRC$q0h?qWGntpfkY+(n|7i1UuF$sh$AnVX@i zMSr&MRk`0Q1voO1#qsydr)x!U8!2Y>7D$SI-B!)$IOd{Y7{>8#00<5-IFypqKgIgA zlq3)w3_$Q8G$?4s81R_!W!QSEYK)WHk>C$NZY?TG4@!@TaDl|S1VlCT%>iGK&@QQ5 z=ln)A@{;&eb#Qrj<`9UoVO*r^o>xE#7hT6gq!=|$1#a_I0Gf8ZUtFXx2(6rgA2 zm?ec#XLvTjvtN(P*u}V9HSPSK)i%SRW7dy*=-7;Z?Eo!iCa-doN5ny90HQ4zpq|xR zK+g#PBL%4ue)z*XPF(2FQk3IW;=>mBN^<2-d>jr7UuHZ2Qkn>Bgt@9!}QNt7xd_d3Z{XE~nLgRqw<)I{yq!Lljq$ ztzmu*KJ`f7ss>R`^kn!N_)GNgrv+z-4X#~3;E$a7P(RoN1w4sm+8a^i&@%F}{+*hH z-rgl`gP`dLZXIU|UnK3>xwn%w*3K`WmTsUWhl4lvuW{o0oOLZ1usfs9!M96e9-@W* z%C`@f84wu9B-^yryr{`=QZhZT@tu-!^8r0nkj>U^VT*0=wQXxz8*8w% znJ00TkhnuM@Z%Z!pXz$kF2g*hvqvmWS8_$vIlY1T~wV6TDpS_Yp= zL_M%qcINb>0X2{EAr11gsHLY4M2kcTrpLF*r;{r<(s+KJ&$JBQzk-u;1MSw1R`{DM zESMN2?r(q?Hx|3;^MNHaws_22KT?uI8kf&=qbWpHnv=O0$mD+0%nxn~ew$vv(iX-A zo$=18_M?EvR}vS2Jyg1Rbpfb&HFjJU)NUn@wsZmrHKvV|kK5!{wY-RtIrv-l2I{%m zy9NLo!_;8;nsq}MW8yZgx~}|#!1+Az=vCo1l^-<z`^lX3JY2WFYmZ6Hk|6s_JePRWeOd*|5^J#18mE&ylBc0r1yJfCt@Fvk1@&eCdtwCS&r0Mrd!BcPA zfpCO4m>PlKtv)?`vFb68MXdy!%FNkGFN<)D&{^?+4D1(GM_pQdKiLChZ|`w73IFA~ z=A})9z#qGzQcKe%8SjLGvrS@muMgUT&HhSd|GC_k^)=il>)`~0up?Bgul94stMBIs)0soS;GlNn3EqUoOkoxK4MC+CO~B&omWnt`H9A)~uX zXB!Rv;-Vklz)Y2RJn+6f?L_p=CA}3{{yf_KPqo1tzYs|NFN*bp1OOoauWG~E+|kh3 z%1YnH*w)#R#>Upk_^+RjdtLLcv0>SN6~LD{YB$#f=Dlji{1rrEZNB>hbfM%Fsn1oiP8aSqZ_DI3cS zDbW}zRQ6kG@+3+*(@jdYO@AmHv2ZnY{sCG+vriKlxVe*6`Ij#Kb*m(SP}!+Ln{zhBMfKG zq{2^bbBqfMzbTGALj9TM;^dii-jJIPTJ25NCTJNZ%~&qfhKJVW&&;ov$tG`AYCb%8 zLPRPT%Lxv0ZGR9;1cgrmnhk!1=ayKGlnwB9YHQK{1k35gfkoo>7M93Lbq|I%Ci=f` z-9}GIpfTBbZzTHJ*AxO={64wQ{S);Sl>IAp>-dKmf28Up5nm&%$5R(5AF$1M+tamY zYAhRsJs(b7TwPyoJei^tW{=ay%fm;HUVb~ocx?zu3h|){4M-zpdjvn& zWsbN=K?_RQ^aM%%xORX`pdNX!#~tK(;DKP~qv=jGE|^{6q<*+jA0Y&UF9Jf{cf;Qa zLP-)S%?m~vfhav{Sw}Em$E_#9=S5WMLj^t%o0${sxl4l zWoOMn0aI555&35x@k6zvcxoame1THGE*1e*2G?>=FvNn`iYW!LGo$Bh`8e}HRh!~6 zGXxsYVT7`!h+xR4SP5m+xroy#ObB#=>B4{IOF&xZwEJDX<}on>1yeyXq;~#@k}WSE%0sT1YiCd2`U^AcLkS$X=C^Dop)ZNl5wcr+`qU?L6qN-mTIP9G&7Y$80iHc?TBJb}a3Y%BFa z*%nngW(=jq8)w{59+eMR(xJBPbih9CtSji~Dj;f^(*cQHY5m21>t6_5ZK)f!OHk6! z7#SarXOkx~Ad+$Qtp+*Vmthk~t0`Mj)kZvHXy4IT893t)Hc6*PdezG^>J9~rA;A5= zo?WO}*lK<0HkHt=!Z|77Ch>H@~$e<}Q*e{9VB zUzzy-_0Nm5!~ZdV`ZSKN=1zuYH2RMJz8#FM^xgkQGiI%%Z@WQ{@cl2AH^|tKp+I1j z8wRKrG#0dgro8U(wvakNfJQcL0fy@JaTSMZ%8tY5$i3b1e2tN%UoodvZI3^PVqeR4 z(g)f)Xhe)akCHYdcY@=};k3gP%q}5xsy)p!tn(ncn`CD%6-||+Nwt%L5{l=bEP1L) z9#aNVsZprmmUEz?$9;&V&#K@oTn2UCqxbCr&hDfhjiBw{7_f52sYlldCqpGHxC)~k zG645=#Hh))vdO#)TXj2gsKK9RlhmiaDpIIBF7XpHB8-M8mMKs3A72Y3X^{*`Y9T3c8UZa;{k0_LR8qgy_CUh35Q5le% zRoKmF96)%^+fu{4yudmQ0xdCx$k5Cr3UW2fo5ZuxzgI=+@tp_P1Lz-Id(}0096i7C zS!;(Aergs~oTqm{mU@--#TO+yU2I8xq{e zt@2scqWVMYp=76+HKzU8-roK5$e6nW-?{DQUA=asFwJ*EWrooeV%;A+QQhzixpkHnj^?$G7t@)s@3=&pDt zf>g@FqW^jEc74&14j@M)bfp=9WsvfX(Y*ujUk3UVxGK#pMC~>BIwpvk_h6^3gr$$z z5uq18dWJz2<{(AALn|e+NVBa)c+&#R58ox4Yaf_-K8FUJ~__(jh;*4H5zu1_Q)sio15{$2TUdMnqxAdlxglnjGK#@C)#tBV*Jbb~^E|v_b?203iFXBV*uf{_n8v|IEw(`xmnRF(t{# zl8T2S2&1=;6r2MT_yU++sYTeEsK|LK6(HmdogCDfZp6)16e3I;?rU|KUawD4ZtMiu z3cPEW&tIRb}1ZUC||WSsagKM~3xiK5I&&hlO2^MU5cvTIEcOLD8lqTN|{wX11B2<<>v zPAHoqTivj}ryUUJV#JmlI_Nft9(dk&XD1;Fa>OjQ6d-)pNvGIS$w3?)iRsipBF^0|Lx;D3!Q_((aYd9cgymczJSYO7_%K1MiBXif1j0`k7Wb zyGSU|Wp}&@&pdkXt1ZVbhQ7na*ST~|Mecl6k)oFoh!i71GQmUXsEZOM;YioXB&y~E z8fD*AlF9s9Wct~2A<=(q@m^*+%**ZehzBX{8f zON&pSe#(~kTx{_59dpRqh}CPj`+0kG8cb>y^ZVFQ-|)~R*|T8JTo-p~ED38pYFaq6 zB8DRsm<{u|%Bgy4r`>gby>gH{Gq*Bz_A!@zM%0+?@{1Zk3uvBL2xMIp7Tt3+s{))I zq677p4V*0@;{Bi1xLJ!_o`1Mi0y_4%5hZtVQI**P-@k&NZ^qxj+qAkoxhCB#IgiRY z5Vds3g@#5AWEGZ^soj+!9k|yUJWQh;v_NdRIr%WWqYZqGJAWNS4m-ccLZEn~Oaa?N z$^M<{8gku%2Z&$-Vorp9{FNz~G#xNp)4}{^j!^CGA3r#wM*F)m7%h+t@(-B`g~k4C zbr>$tBhwAdiW&jzGx@fM3WRxuL1kVD7v_$r6vO9FM+Yb;2v4kpY`C30Z+u?|+IZ+# z!9K`Bx%P{mK0F(Wa1RXsS{!7RCQUtM<@P%5n&=U1VT#wppTfTv*UxA2<_Z+#2pp10vkjN??4E9!0j5ca1Y1Zcci%YuzY;dFG|`5Cn_S{Vtybf|d=zg@HRrfr zKa@E-Qcglg0*Z9(#V!5oZ~b_qq&+oaU!hFZg=nU;zXB5R;CsIzLq^{$1UFUZ_{3RF zd!bJ8AS(Rj-f=vUXeho0@!k_o}PygPGUA@M0BdPe3ytd}e;Y{*x;5LHtk$umJ#60ssK;|0`9P z8PV7}8qqk}+FJb&j#$$6)!b}L`RUCSTr%cntbF&Fd4z?Vu;ShLCHCS}+= z7;29Z(&zMgB{e3@sM%icCkOx(1tW^k>KzJf17_4!QtqKF8vY(o0SA&G)S_ljaRuy2}if*1B@j za`7&<`P8h(Q`OZ+D#5;k?8ow8cXdC4Hb~{L-)GcEzxpI_ac<;&J9ns6b80=!^n1(W zXWF`JI3x41NSOh^)yow*cyisy8XHW%3DvG*c>7Sf?nw=XNOx*`EOS_D5aOmKjmK9n zlKzg2x}&{fm0Mw_7vn zF|oJ%_fj6RyAV);7Ofs@SeRGgS$sSNy4EOfOKz*;x=Yhorm}eg^Ul}1P(_JJ;FuXF zZ^I3`_o`Lc6NuFL5ZGd8Yt!{Xwr~cJqxmOCYDW2wloS-69{{uW>J2l`v{jP(@DA`+ zY~kHZqR$?sU%ic^e8?pGU4I|bJCp%B_N0_Jbu+#zBO>XAna9&;2K>zn;D$9bru%uw z;l0BRAKgAFgbVNwvo(dDiPaV@r4M%KV$=Cl$2JwhlLC{MI0Y)z>d?}&sUZT+*RgQN zH}MM))9q2R{I(hMPfQ8>W356*((QyuoW!AMz4xj1pk9S-c8K^L>~<3~;-}&(*oh|w zsPZLi%xPrxv$L^Ya``pOLM&iSG4ly^+|=cVRSE9>UHa_>LMS@UGT-oXKQ8Vj76aC zkwVQr`^X_8h1QQ^lMCrlcN#eD5yDSYW2Xyh&^U^@&Fm~Gq5N|*dzK}wLN8JFY)HT7 zN21rC@z!MzYt8nyc+1HD2W96NomsrB`Pfc6wrx9aY}>YNCmkCd+v?c1)3I%{<4n$- zxwGy)>&!ZLKJEA8Ui+AYru7 zU&TMl2FZ5O?;uPh3_2r(P*dc8wa#t!!b~8)5;YllQ z<-PA53sNOgZZo7gx4w{P&yjmBU4vcQ&XfTQ*V~a5YQS)+f7Sr;?`snCL2skP&^)Ma zLni&rVU$`jnUaD1?7judeI9ZzUXG4GibHNid?YD1%9$mnTf?4Dc#2DKi|{hi&r4Qt z98wei+(giuJkuJkJ!ojMXJX!!$HjAgOFIAID*FN-79hsf3jPu&?4a=p7xsIFII~1+ z<<|V(baHQmt2OMlnxh-E>vy_G}BN|WsnGTJ#KR(3DJc2l+FfnT^} z$m%#J)zfu@6odY+TELCc(B-b>N)u-~C&VITL8epo?j=w>&L=8Rg9 z=J)&gj%@~Tg@w}1!Sl|V6nn+WjsUfbsp`MA#_xY+|32lyM)+WXmMgu70P?U7W1m*Q z!?DaO;+H|e=GX$n*A5@XqnwnlhfZDZ8!?Iuv^#+6Ec)^@hX|s z(p(r)7b zV{_1D=bY^%=8c^3aRzUr3E1PY@b$&^p@DJr#q=QrY!J1r4z`n=xDL%_j(CxbGC(_3 zu?q69UFXcQn_UPAQqGt1I|qT0$OliqSQSe8|33=KreS1 zR>lbhDu@C{95{5AjW3*WtX!rXdqtHd1V6zR&rs>HK<*HzBrtB8yGV)+hkO?X%+L>h zo)Rp8u_w$Dsqh}Z`Zxw1zKs#F(-gN=Fn!gk@g_QL_z<1_roMHfUriA`O?#A_+k0dr zxG-3m8Hha|qy&kWo+Dme8d(I$CQm5JLzCJ4$-78_>if@D7AK66LJn!%BKbJMy~>W2 zdvdvN#%TjkXUE0h9!TH}zwz$T0dNVjeFAR8&!O-mf)uQR#0!v;O9*AJalgdWNi`$` zG7KPUF&vD75IfaoPqVWw;US7tdxXjJkzN~{T)>(m!GtiIgkD~QA*N7xVqgVc!@>X}+$+4fQ%JpINurR$U2Garq@!?aTES?9zfb;T!oKrGWGH~a zSNNn12{7af4jEwrJh#82jb*E>&>8@!<_z-86sVwT^5!!655K=I5;ZxT@YsM*bz1$< zyfbN9{fImkl1LgauK2ykyL=Deg3cXL2vxm{f>nA3mpPTRA8qV%XX7wB9j1HPw04*1 zM;|WN1CGmCiFO8OLgx0@2hq{->`QrQ1&BiWVFT33fCs|^!cj4wRQoX|Yd z^T~xCVP`sDObdNb*Bq(ptwC?*6MobuB22aR%k*bGO6VD4@`JX`>G#`c7GGC&Jn5L+BlKt=Y#Nk9QfdSgpydbdhY)Y&66dNBFU zk80vOh7WS#M_dEe1dyd~1D`KUbgD%^V1!mrAy&irLA1pQr#Lxrl5N)3JhjXkh72cn??#*(fD^h&IO5R)gRX6q8N!7nH?-VBc)&0*OssieWRX~GvLggLNx{Dp z1`$%E{&aNoS~(~95RcQbu-P#s3eCgi)5B4MilN$^**}(ujg#}o`H+LK&{-q}YM|z7 zEt5Q%QgXV{`f$9q;5Ch$rv#;{N77dURnaLH#CM7S;SEXF9s*H=)b4eRWN`wM zKS9m0Il7+pgeaE1MfEF++e4o^6lsxdD@_Vn#5IQFmb1Wy1{MPiMre|do&qgk4NfT1 zZ)x+*)u#0h zR0q|3%zWm+SvHFz7Z08%+~q2SRpgI8CSJbB@*fd7($VH%aff%yS*o#hJRR6#r2Yqo zmt5j9Uy`ceu9?k5cx_%dA%DZC=~koUgAkUHL!%y+R|)P?@)}rDzQf@J4^pnffdrcX z9}kII$9(_|utE;XsRBU$MUwR0&z+HW{lM7)J^}Ev7z`2vnQBm{k*78CBo{wE(>^vh ztA&svB;-;_0hPGlZ1oy%K9o%FdpWnA{ap1weiTjZ2d3I=u-*`xkCn)R);gkd*s!}; z(Td(iD}?*lRYqh>!VsyHMs$5&@Ui-$B7(b!x>zC_kcH%aLYWf>txZaSniB;Veq4oj z@pmbNH|(MT7LrO@4?r|ro2`jF&o$+-I9r>&*c;T%5|pC}>Z_{Vbw zdw-1}5l`#_U&7r+mI6*-HW!d3(qRm1;&40pCqF!|QM(jFqEtc&8?l$mU<9kWRW^%&M?T!V z|APEAM>stfsbOc1BrxU>n>Oggmxr8%$RK7a&%9Gj9!l8Hyj7?G^v$0NO`7peGw&kt zLR=iinWhT4Ba~>Q3c4efXwHq3lRiQilZ;0#i6p2(S~zGVLe_JG^|H>-T?_<$I)FoayP5?75x3zHfPX(bn4Ig@}p)b^mRlJ=TXHqqn)K30aTf z07P)`_7|Game0LA@&K^Gf=d!Fuu0-B2)Hr{d3Xp;dS4+knTw`;k}I58eQ+c!br0ETV;!-h1CsyCDN)U9a{Ix?GmU?&uJAW>Rwk?!?R(;y`WhT#VHp1Hp z*+yxPzj7eeb;2|}A9-=%L@m?aGbE2I)AtXVkk;0*XNK&P`CB&o?GKH;H4xy(kuOTY zR4$zL2OOT_tnx(L=REk$@=O#k)IZAL<$Dr2U()80_*o&|nB6*i&;I6Hf?2h?t+pC^ zjU1YJF4rW_Ih;5T(ymzyZsYh=@+|YAOOkzJ?mWxyPKWf<0XMjm-amKiZW{TLvu?JD z5!sf&m3h#^761H^n-y8NIBrG8wlwYxnD0n4cSmNqgfK{XQ{=4m`pZUsaJ0F6oZyZ~ zcjdi&#r!iWUGiYd}J(w@I62j z9U%H`<0`eN(B5}JqHbEVuiO%IQF|4Kvd6b1`_-DzhH`cZ9N+@a(RrxQgYQ7UG^AKx zqRA?xr4x_DoPx>XUGv1$!=%aLakaqn5wl9w5&JVM$ixO_Y>}(&nXE;9G=3j2ku606 zmSL0;)st!FI@<)9uII<^+j6r*Kd~lc`}9;!*CAOk0%c?9shetRL3F5rN_D1%T()36W}&Be1BgFdK+}dHLbj!1olohE>%K$=7KY^9 zWTc!Zc)E)W?q+|4`dlxB}i~b^w7tzBNh;&f;;ggR03Y!&m z@!5obq*^wCd*-RHZ1aAMJ6);8*JEEd6 zo4p1>ZD$6%Xn7DD#(zMvquw5afpZA0r~O>+;}I;6v#SFo~``QA38PeNaOt zzjk}*?RpC2SdnAA8x?n^RsVw6=(L)w9T?Jv2(_wPq^H{FW)|`wL^pH z1v|!XBSgGs=!iF*yFBfiHWPT}dnuIoH5}Xpu$p-X#Hh?sQu1VFhVzCDBt-j zLdLw_8RxOa^kbvBxb@G1ga@-Jt~!f(N?L}WY7(%E&!vD&m#u^CMF#}} zJec8gl)toa_NW2=UShj)wtO<0FLyix;O6rxU*c9}W_BU2lr}YSDnrf7316+MCxk^0 z?M^kvO_YHu|Cg5N2K@1*lors~gp*@QV%FShhJcEjdyU)Qw=Nd9l}q>4x{=q-q%F_1 zTyZK4ovP@4PA?Np1xDQ+fwn|&N|iohm%%?qdUwKOXUjs@jj9-qH87}(Z%ShaipW9= zlbFF@wF45$!j2j$zcGr&sC>yr=1_4uZl65kLd(lJm-)kSKjytWYwb)py_rykjXZNF| zs)>SV#*z4I4RxM+cDBD+QxY#6Fxt9vHqreB5_Er{tR9Owz&C#s5as>w-4}HMKK0xp!AREqDrm4w z)*Y@iBYhboSsop96Kq%dh5NGBJczuu^i-KKi@QsE(6C>*lVT5b7HgV}xBZ@MMM_{X zxxu7QLEz{aN*vak&7QPdG`+0c&Z1x{k((r~cehBJ@!B*a?9lXjIPLweWqhd%K@hO) zSeFG9Sqq`AR-fLigr#Z~y&jO4lsb|0?jJhguvpdEX^Ul}(J^JCHvfeO%uk6#i-?Qr ztMSzXv4|9`RJi8}u@HY(C4oOT$klm9@BXIBnSV_p?A+`Bh8iK zGX}P=OvAuWQGINUGwHTf>EGXM%T(bQi%@;|JYSW!Q zhYrdKf9f%87gMqb<9;nsrKy!Q`h%0(=xg%PxO#VGvjgyX*xAHH16v)*7bRr;;Nw8e zp88tYg3JkZH)qYQDKZqqvS-+|H;Z0pSbxImTghBa5LXm{`88phKIGi_?W;FwTH^l^MW zMHQl*BTl=Vm{Jbm&O)s#RB|k_Ofrs!Y0#aGpUF#Ry^shZlV;qJ38%n?&=0;sQT-3G zL`}IeJ(d-!WT=noM}ICH%YX3xXgBlPZabV}I7+#$y|4!lbGS@`a=+0p*439^XGHR! zDXk;6wUm^Eg^QR&mz7zcUzxxctXM%?t23jvTt=5*z1?(oZ%$fiE20WmVE6aoUpIfd zayQ4bn{;}kEs48PJT<11@$k|0>*AB{-Z3v>l4Fhl$LT6(l#IE=wnw8|w9 znq+CfhH#Io!OOpTM#LEKOrJy_Jx7y5rcXU~?p=Vxz83A2>g&wXupl3)y;9y~sVpJ> zDCrBT#(2VmoYT3i*T9?zwxX)JXHFF&$h=u*|>` z%OJ9W#j^l*fE>v~rqD|J=iPE+`_3`^^yyu)nO2Fm=&SaK#c0eH01mp6A%!a9z z+@gw_ZOiTk^*HNnt8GDk^3SEAm@8{awp6zOW1Ai}oT?`UEMRKs_6R5!Ind#eFrM+& z94@2^ALNFxeBJ))Gf>j`wzc<#M&*g=dRvJY2UT!GhA`RT&{`R)^tY>(PI zKujK*GTvo4I`KmLQjQ``3HYv+St!YuqV>880Ge+;<(rIa^^1tT4c6H_Itp&Eaf;q} zM{$9<%$_l%HsMDw#9to*G3~r*Ul%blMtg`0t`X4o_D@Bofp{ZosuGByWXh66qaJ^5 z%6T5Xxrf$GKmDHoXnotBb*ijM3YdduboR*8z0Ap?D6`%1vzX(o>B7Vs+q?5zq}*$MV68`w%W49j0f$eN^<` z4qw7>UvGAC>ZdD=3*=U(*DRWOEM@*Qo2o)lBGt{1U1d9s$M*`YPT;lZ%G?C>aV_nUphZJITfjeCs|n{ z>xZ_J+HtznGP@%#wZH+#R23oq*fo}3Q|xE^J#|**xQsF;Fu{2m0Mbi&-tp9{wWCt6 z{ApNj+3b@5myiksqVf>*&;zw^35>|NBRUhzx80A(iypxQnoMU(6UfE9J{)E z)Ia}NRA4qe8i}e+gSMw56}G@pmU_wk*fk-HtC>09=?B0lY(_hyy52h6aKxF<{k=Iw zsk%pSC8RduhCG9jSEEf59j-G$qXpSmI%gy~#wqo;rDw^QBpuU3;l~TI#K+^Wb@U5z z+Jet}V#vdGcVWZxIHlLo&Ze=~qJiLonN>C}DxjkiU^qNg<*rr8N_NZw1^$X<(K5?`_`>^HBu4x*?JCrf>nt22P*_vx z3-rHhqxHdF3rYX*|9;cQnf|3VYHH);Oy}Ta`c2+-`u5`g=OWTKaK_&5--xBA%7*`N z1OH>~=qx0FTDBd5lu{QQB~#5ZID#lJ@D0uhJu5oj&L>Zqt3Ny@d?=o=eG z)~UIQ{4gd&2)hV{{aQ>FpkN$)0I_mcuMWO=`uui{h*Q{`(C>uo*A+NzjOHAYq)=Jm z7xF`*w2nw^`7~&8t$Kr5^Qg!+jy}*t!6&jGM2n}C1q!TuN#JRHrK_WD^C$3}wf6&AV(G)(vnn|i+ZAVHkc3tN7GXT=* zE}tz_8s9XKH024}!|r)#B;9|D&B7wO_gbAz@jOj)>923(od2bdm2OIQ@%`j_qSqJK0HPQ>bvQekAPVi)bp8u)3~$kl%U6;PFV`RKmit+f2{Gf2 z3OTVBE>GHtXE9{QG`0&#!#RQBa7>fqeK})1as^^5$^nBFr2+)qR2b7Zc%sHcPnKnm-A2|?1RYTtg8VvGxgXp4 zelnWDHiia+qY!QHxNW9mB-qM1AOe6Yts7Pg-rVG+*~v<8o$kz@XCOzc=F}=xs}%XA zJuR=G8ahr1V7%@XK6Y&}KHuD4qi&7CEQf$y`EdS_eskV-qX~B|bTdYmA@?v6 zFMepY`Ux%H2hzXOuPUo!uVYRrW3JR{njPr=|KvdSXbItG`(7Yo{w6E^KbD9rU2F}V zt^em(r6vvSZ|gCd-{0CD4VP4O_4<$5npj&}$@OZ%d31}qG(t*?h}gx^f^X+>C*hZG zIL25JE)R4wmmq1v@vw8ZbAn#pybOIrs}S^95;aBQt(-aS0eR^>LXdt&bpcjK*F54` z%d}D(W`4^@+KAVs-dCDQs&Zp-22+j_KOp!H9Xi#V%8LmX!8+E_hAp5X#JpIVw*_z-VN;D(~eW6LzQHray}hiwECD6_hxO@eL1kBI@)Un64h4JNJEsgvl^W@*fk< ziAbQD{HAba&07$9nsIRW1@sKL(lP?EMBgM{nwnrkOnmpN79%SoB2Q_!Dv^Ro7Ayl? zF*aSy4}-iPsmbXG$eF}KF^yRX3*6jLF|3>#WP&V-uxm)MRRv_)b4k32N~tQ+TB9c! zk^I0Yd%FwOC7W2AqAQlhs~y(JHWib)ne zK0ZWSmT4I%fmePe1d~3V=lllr3+d?s$+Y(t2Pz$r(zL_p1Mm5kF(9`#K{c1i;4}~q z;e^m@N|7p(Y8M}o?wAVw7=&pTyY9~NUz`baolL!QE624jBk_IdUHwBW4Sh`{Bh@Pd zP)Rn<8*!aoknhtHR|&veaRE@sabO(0vS|JRvPRkXvlW84*T*7gT+we{B+5lsa|nWG z*by)g=042{le`D#@)Wnr{M2S}dO~RfUhsP%3!{voq4KAM0$(NR4@KZqF>vYATx?S| zecW2C9%R0WsxscT92p5}C|eK;{$0yQHVSaOUHm5qf2~cEdl<&4u zl)kmx_}CiScyF>4c2Vu z(|ea=!92ye9vSOCRY&zq8-!Y9^LYYOcezvrFwdc>w7ChyN1Yvg4d8|^nuHpR-K-*W zeeVrfr}3|gU>cpI9!GCU2e<$g^scTnf<=o5SfVc=Fg?iRj`?J6{w`YUu5iLb(j4`xl3Muu%7{eFPA9ko|;8#VHK)7}vK4)ceiY z(2OoD1ex(O;J%IiW*w{$J9exb47Af&cqmsV@rK?rKmpZa65SYS<+mR%p&ojao2z` z#QYR@?QD^f@KNP7oszg>B)h4~HA#gC#In)I`ox;l3<{-SOvXJgU;)7-s&n^^XQ2GN zyP}-TJYjU`$yE+UhBdjsIJXeo-B}#+MH)F!Bu4AmoWIz*venDQe%3OTIoG?tQ1hJ9 zxof^Q{j~4fk@xUJW!4#xW}=#DDu-NvBTC5s3{YWn-{C*%!!r~Gb+<@R(3;ozO;OR^ z2yOFAiHwUtcQ#*bSd*j?!lFO}?we(VP zO*rWaFs>B6m)@&wq69sbI_FA`u}C|v(HW`S9+`@ttwF}KE@?c@tX>ic#n6t1a51I}7`aVgzX9r_os0k=Yq*ih4Hf>mV8 z!O477Xc+Oel7AxzMu6zNdG_fVHCMcn9}g4k6Cwvja-;69`?#psXNM#mNmNkvr?F7I zlC|z-GUR<3<i$J-s)$OA0 zAgP+d3=x3~H1sbg5$ z4(fFjU{*D_B-SQeH+Cp1T`ynX7LnR@zz32<6pV`B-Ac+^lw@P57Q0AZt1}!+GiQ+3 znkzQ0jZZV{%SmvpL6tJMUP;cXrD$7*t8t@fsg%IU`O)xR$_oFQRgu~rD)^IZN~SBr zB46A-Bz!??U%dH7XZ|$miges(E;y}V=8``?3{#6_PvN=`(I=~hqK>cLSGrs?vMW zrZSLD$>E-HH{9GMbj@>ud&e=5L+~-+K~L~%OiSG*M(o7AZ};KZ_}J~XPfB&R{ydEV zJ-`X^Gpk<8lw$$*s;yJ?*Ts+vR&*ImnXUQJ#4Nw1`*gupqSlQ$+O=lRQjZYKI1bp!pY6m>HQ`ubBr4ZYe-eZ4&&`p-X0kRV zRAu>cs151^=7{KSLf(3u+o4L-&)8nAN5PX4`s&fX*?opQdJ#7gsR;N#obQMW?XE5( zbUAM^GEuZR?Cs2}vQpyUO6c&DO>IfdbhMjoUKTnz!w>oM*oti<*>a-$@I_QC?DE%R z>+nv3xCwY}W!0(;OG)b0bkl#T$BT(9_TY1jBRWvuVlUItLl`?EA|8=nj|s3!vaY-t z136Sze0^$ZAz$WpBAjkg`!WLU%tnmZONt+8kz&J+FO=0sBjzVS(>xV#ev&JMkN;#8 zUH~1ULNl5l>F-a9!C<#`w4A6|yJ(-OyjKCGvXX#94;BshX08v$rMXU$_-eu(sLkk8ScsVm8iAt1!opvU~Nqp^fo+H0Xr1tb)RiAS-5+ zJa1Qz*7<@Or4VA%{ay9mgfLLGI%wG{sOcM$58j`YR#!V zO1rOY$d&t3M}>!sF$_3S>eZ>`r!6s`S?dVs&Y4V&s*FO6dU>qal;b>oJd0a=^=jw! zUgPG+@%4KR>U^KvixguOQg2_Jq=mpL8qoqiv~$0?0hjN`>(uRwOc#(3QZWkdiMpZv zEI4T#elyV@YrvneI$79udN+Fbm|4)ft7b}87sT>Dp8ElX@MGfkbsB5JIv=NsE;}0H zIr|-RUU~`U=Yu}{6Yfu4C5d16uZYBL1L|T5Uh<{Sg!T2D=f9^iZ`D3PsM?!`hsGbK zds=yA2R(7K$sau*{t3$Wm&JdI|GWEt{yuw*=3i#pe}E?F{ttNKe~gzcR@b)Q6GQWh z^&d*8Od*74&s41p!(0de}_pzoLx6wiv>YxKN1 zrTHK}^(sC=US5lW?qqq4&E2|`uz;#YSXgI^6-LsTOy*<&^odUWM7qz^DH1p_QV{xO z`;4PRt%^O6KH4kQ7U|ms#O_n?XQSWWf_=fb279HoDbKaRS>9V*>H<(gQIu4kE1Jz1prDlr@PX&#)WdqBou8pKgl(1WoO-;;`HO97geCP!y zU*_jqZ3baKjAEr6!+Wmnn#%>BIFYhTr*kHL_qjnL;@-55WW>IMTrvi&Gb1f5I;rZA z(}fON%mgNPwwxS`s-vUlXl7S85t1NOhHyWN%bTb^dI*4ENk>Rf4GkAWND9N3C7v0X zZ(WZ$;z@JV(72*jiT=Whlo2xNZtnLO&<~TvfLFeO+g5qk&Ul@UE*4L?=q1u3Fa}Oo z^f0g2(Hgo{36g-xm&hZI?B*w$MIE=kU$!CD)?Dq@Sw^t@i}=Qtdf}K=;BpLjeV+wg zx$Ok>ME;A?dYO`=m-y2!v0Kg#*M@O8>%4GfeMvdi&Y+;mHRMT0f&+&T*g` zGB}JJ4SI92ScqsqA%hchAkS};UV~p86Dy$aAMH$4#wMol-279Ds*<|^D1Upsq`qNs z{~Cb(UHs9RIk^3QO(#=S{?n>1bBg8&lTbj)Bda=5W;7H4(nL&KEI5n47l|8*!{GjF zv)JV5oJCp}Ww}d>;YepDi>tw$(UT{1{aIZiW%8wDY0`;|@A?AH4gsB>gKn|E$6eiHh-aI_7Z}bef zmc&uinAHov9}6~V{;~ijhW%B^{x6*&_xrdEVWV^CVkm(nf#m zdO=eoTcRF_4#=v1p^z1oiWj0M9hiz$_-ovK|JpcQhpuT^#*U0#ze>vH1t{X370v}T z>>Vq7cU*zfGFcwR7mSPQ<%2-rX4#Zj-V2M`xYpwrh<&-muP*|Z+G`}pie^P$}na4g76AH6r&P}@a-mHmu{3j(?6-7p2)T2^P;>s zJ#okG6E{dNDw!A`Uqw?-6|Lo9)<(sb#o)au8wxDX}I(R=0%Xo4Ev_bh@S)7)y06#TJ zvf@XF4$>;{kVfm9kriW(7CL;9x$A1^c%}3?T!0^JFwc9BX`7_nEv$LzBm`x+iQ=!w zs*vNc=&>W0u$86Hc`XIhgT~vMi*^&q3-Kr<>&;4Ta)ffye%KN2>FugRhBiV7SKB`#O=5v#`-5qB+!N$$bP*uww8JwFMyKKIO_Az zRz_h|W(gQHTdg`nY#TZj6y_f5sv6jkI2?3LL4^7D?^d3y6BvG->Ih?JK;^=S9?dWV@OtAoD*L&ivQvvN)LnIO5FGT2nHDQ z-(^o#820%S|7p?s6;Jc^I(Mv^rW?Mc+S2~S|4-TiGUKjGA21Nm%y)Hx{VyvE%Wu4| z$G_>?LX-RK)*0ahuU}w5I&2_IR$N=?EPtcpXt55tVY(@pa4!){2TE|PY{y0Fif3-Z zF~aqE`H)ks*&F-_RzT9DRohzS8w7&rg!Og+E+W!x=uP$E4H8)y@<|(p!kvuer$xU` zyV*CcXooy56ePx3PX&nnV2o(3+t0O6o1p26RtlHNR@bY+uFeWjFcD zRVY1;8cCvc!p~(1f8B>|&tp$oQf|J^;$bEwbnH{i)t|l+ZD8QwqXN~q*|hFT#RGRU z7h&65SA*(#?`_p^48*zunP;e*3nJy3mY7rIM(rTeCe|W*&$fm?gg?Zhb+Y8%;&6Wh zuZP08XOv!1p^tDr!15XTBjcPQ4u_MpLQ-GzV@8ahDfXfA&y02Jc9kniVJ>$D42gO= zM^yZJuTkfW@7Je`bI(|C4Vm1)Ce)td*(fHcRYK@lrLpu@rr>X5C`Aji!F7~=R2546 z(_bh_eiG%GI7bWD#y$FAb|T(=d$jtvM)<#9xcu7nYz5on*B!@5io$ZdMU!O=_^Nje z9>s~o3xL>vd6m#(-Rzn;_TGl1t?@U#e~pz-|9s6t>&@Cndi|%v^ZqivG)8_4PE6lH zLGWLK!r9);#of@!l)=cx(Ab*p`^ZO|f5#e$QJ(mY45ZF`8gzt6UIVH6B;lPku>>$+ zkVcDH($a!5DoazQe2EmDVYi-c=^@)q?IF}Qp0{)?yuK90Mc9Y6bi%=JM=~J7BJf>q zoh?3ixNH`r3DY6hCpU2yL2GE00x>Rky0isj=)fhbzLzbgrjeNuY-{JlaQ_{4sqU%F z0!}}C$CdVWtD{L>H~e#5QhFg=Gsm7ilU6~kjb1!+`8jg<5l<`eAPd?v@5)Dusny(J zNy%J}g{WHu7Dx6{=BH{ZB7FB(b$<9(Kw(ne?*ES14AV{Dm5MagfV0=|L$E0u~6v1 zv{yVBSk47BBhL-a)je zns}kE!m77g3N`GIvMY`(A| zi|wNHXucRukUN$-RkX@J7_#L$)lW|FqM)FLXMBZ<_9N`wUNu5{1OxM4@t>ZEfo>2O zg~O{NH}YA!=+|2V>ujNBHmIg9Y+8|V)JTKfYJ+ml=yrAeH72Mz7{=-7^O6uP^qNkP z0>lu1ro%dgs-!>dM?iRnjNPCj4QlcpS7^mfV>YT52|&u#uR%JD8{dz)XBL@J?>qG) z_5Zu3+TJ{Na`~P2p1#BUzs|4zZ-{?mbX@2R?M&#*?44{4zwx%;vg)@<{olpAs?vXC z!me`~PWQewqTl;w;l$FxKQM#fSLpcQFd;OWPc))zJ&6xVMFspCH{tPI3bshf|K`-} zAV&zbKu8_qOx1nCg+7HPzrs*lV+w()PO}_jQ0Mip#|F~m*Ejy@f#B4v*%`5Wyl*$U zvdAW-5q2z&A{h!dfG0n+a{MOXWZCaUX1+qK022k#nG))4d4?zvI3hq;C!YrJy~3(D z^95K#%CUs^7veL*)8*vN=g_SKFM7rlqAU~dc>cY4hViwGOL+~dA7<9jqDe7bC6w0f zk_34nZLtlq6_8Smj5iGI%g%4WOI=%X!iWx@ZJmW_Mw)>MIkCkqzIlhc0F{e&TJ%gS zRESPL5bkRxpl*hz*ZDqqRs?VBr&t|^H6&QUk;XZ$wZ$kW_IV&=c1z3?M#2bz0avg~ zTh>?>_U~YqjAdNu$XgvL!6@{nD(~wO-|~Ka4H+DWL#azw0k3@MdMbZrCe>AoLc~jb zS~x#XogH_izoh(9QX)wc>KQaPq)-;5R$(z=rE>NS=Rmse8c_Op3b}8kk>zGQ@-l zq%c-X)kPI(Yv3S)uwI2N*OkYJaU$O=B}3R9ksxUS7NOJ&!43^eeLm1g0tH-5tF9Yw zRxUr`K z{48Q0(H`#QBZEDH5DI;C3yi1uvt9%d$u-YPzUWejUcJ)r-TbHIA_#C3VQW2P5o?uV z;SYE!B)( zE@XaLm!@pX``Ri>aQyflr0h!8MwF9l&wFGcv3sqROUWkZJd{$b$W~b<(Po=ho>EE( z+K`sd+2X&YGlK#bg{^_Yl(s&mpI$Plj#elL6o^u25ToazAw;ANcbfu0HGtOQc2`=U4sqaR45Nyg$3*20Hm*e>RZF?A1prM#C;T zeL?ef(vz?RsFjNdBXa>+#XSX-Fv|+R&Puu420npY$;ZjX-Pt6RK72jk%RM*v%?GX< z%m?JVMFjWWV!Aa^TN8rTNhJrNXxSw65Rlzy#VhKH!+>9z2?ufgc1Q9Tz7y0{5*(0i zQ6?o%;DUn2(=6F7W<8Nu>W(p)nRaCOEd%&Csr;Dvy?mCKA0u{&jB&6>(Ke(aIgO~9@ z9O?IbAQe?MlN6)p&;LuyrKEwZ-SYR~18+*J#@NfdPwG*Fky?pnvrg7wlvJvZ!NP=` zOS}wDPqKEtbj4~zZ^Jc+`Mr;-87Gha;RM(8^q`SqifFUexYAL9M0oG@@4i0+zS<`} z$fA2aUPiSQ3L#qt%XsB+gEA7Z4-rz0KT~^=;UZF~iQZ{^R2TYX&53gHWKN;9GV#Jb-N=idSQ;gAFQkN05)30Z z2X*!htPT_dWz;N2rEhyWD^})4T&9M(70CEJPTe_C*Cd`ewSQY`|EY^uJ(9J-{ciqU zzZD_Qf0g=d?d?pR?CH#1E$N&+?Tr7C_MBZ@ziY^ENRkDejj4&b>AyP*E9IMy^bchS z_XDPXAimn6cu;nES~|#AgQInnozP+yVPIAPg-q9n+sd5+XRVgNGcoF7-vIPUQT(oJ zMBEp=r=DcyW?}%L|A2a53(B$T$$|BEFi(Z{o#sQ39>AGrW_#vMitVPN7J=zY{<&1P$Zz1s~`5dlka&#Ecq-9JuEwcMKEA76)sm)U^c~E9Cfch$-!|_sU`S2l;?lsRT@6d1gGf!CdhIW*|{w{V7GV2$6(#a*RqZ zt5;!9NlT;y=vvkQWG8=X(jXrzcZSJfvn`>)ox&^$CyBx4) zA?dPIV6{CQi22FvNb|Ur_YFi+yD_4 z9Uj6k#S^ZZ6YgsDpEXs(4N`wEXYK(R8W5PkNd*Tn-%<?yc)HA;_{>BS(>1PoI{11miE@NmFR%a~);QYh zD3Hg{ANSsszI{YwBzT-t<1FaJQfpbwK4V2-tMD({^L8P5g{H4rs%u-( zIl5svmy*Bv%bA2AO43agy3bvxH%Whup7M^Jf4{I%#ft8^{)^!7(%}ZzX`pib3%3@w zbE@IosCDWS{J$3>R7f1zCqO_z;otQw*1vii|0gZIY5bJc03%Y!wO?eY-r4~5!J4r$ zHpnH_NARCuquRrvdUlEPcHg)0NJQXZBrUgYEGCY+q&zfM)x~M&&0w&)9j=F7;Ksst zIT(sN=0F(EU-p+({j1#VwH4KYwUG8KUS`+xf2)}?eG(hFS0ys%I|u4nvJpOOki3-+ zcXo97pCb$tS7wamzD#I9aj@0puKIW4WHy-T;iP)E`w3&zp&3vpVJ@~2;y(d=9Ta%? z9283kIpvOM>d3-@voX=IA>jR30R6nmX!Y^Um03X=$I%pAg8b&+nrV5OKQ(`15S2hg zIo$qp=bJ!-V7>MI*zmrS*?+~*xSQI1A9ZBP@GWV(Ielx{|0B$%lC1p#BU0C!I$RVI zT4>QjNa`gFJz)h50-C zabwyVj_A0RVH)4dFVJ{FAhZNOJ6J^=$E2MDg`E(Oj)EmmAh1v-g&*_*o>zz85PWEf zh0S)ge-spVZpJrE#5q&>m|~QbQd@_#370}g=6^Bvj=_~K+7@V%j&0kvjZV_BZQHhO zcWm3XZFg*=WA$76+;?B?eX7no_s6$VwQBuXl{G!b9OG~UR+G52z`RAU6+Q_e0pvm> z_F&^@CWMI>4Sc2cC-s7%5t9=ASHz#21Qw&3P*Ow)1QTCo3k6M(_jE)`T3BJGZ#4Ez z=L>}#aL}q{&=eZYsTe%ud^7mudl{(jCVr5yXl7+`r;4i1hW=^9G*i}{& zSn^Na;+?Xdtti`U?5PwOC=aeXP|B<(Hr)v`JYpIND_ZWnVggPi6ywj5J4SyDsY+vi<;-nW6z zW#xPz`M^&OGRcL8t1YkNHxBh|f_IKr07!v|S~939$+&N=Ba|{aPF7we9hLOi*s_bR zW%T~jiMrgyqrnp9iToBR&yDn)Mke6#c!FF#rMW z46b7@qFRN@esKy;{do$#sKG{}rg*V@_3svjF6QdV285DUu=Yk;p7D^E&*|Pj*2Q!L z9bUjK6{NpMg|2)~W@2MQ4aVF`o^X|M~c0oUDnl*VQC2Ds#_Q8=Z&s%*Dx+=JtZJgQs8@$xPaU{}sBK#M0hU-rIXySR$J`}Gf5|i~=1zj$PL$tO z<{T$)pz`aA)8VC)xnW%7PHhCo3kR3swge@EngB?>xrXn}NUKN|341$iwg+yRHiRXs zk@avRtgEfMiTWdX8!Z()Yo2mPAwpQFTG>t; zkzNBqQ{AF>WKe>XQ0^w7TVd9~IKNMrY`^dg2+_4U{#flgH&v zY6Wsq=i1mHbR)hBc<7cm_`>u@kHTQ9S6h~FD|brG)F(?zXFxZ2MR_VZarkBW^T{6h znAv6^+JWPZOYDYNw253w|CaZv{1e6HZJw*Da&s& zXU_#s6Y(OCdvGMZ*ER(e1oDV(ClNx#9bP%6TQ7(bEB8MT1Zen`jqDUMuG! z6y3p%d$va8vTe{?14`Dqv!kEnb37&GO;{i%`YNTTybHA_nx-46NZZEd7S@V!VqQ_k zowLV=+{35!6nnfIG#9G$`PxHS8QpP1{D%v^`28oBx>a|=uJf=14dn?QPm~#|UaO7t zi{2qD6ybTPHc}fg0E|Y7J9ivKj?y+%M*<*re(-Ia8v~Yfw&YC~tHvTg_-(>1hBhi` zOG+amz25|bn-Q-`g0rw zbr6xmjNFsBG5+oxHfsHJ$D7m{(a*tKvnO5h6DDC5wZzi*#Ij`cV49jYq=4x-BI zY+W<0QLu-*hQY-q)gPyG8)#^W&%137g4t%5d%Xq$Vy{Xc1maQz3pC$PDpM#9yPRAe zF=N-$v&`0c4hH1{qtXrPW;h*CQ&+reJ3}zT{K}|2m8LncY>ctOi!x{G6h}~SGUtBc ztj!3O+OL~^t5B8-^M3JQfFEJ@xLcO;jd^o($Q``FJVMLNL$MRjd9xR_agAVbpeNy_*G7zZJdT&{HR042llm-zdj8O z$L-UAS~^h@$ut_?&12Yf?LApzwIYlo1n`g0Ieo0ED(_B|8LIvTmJfMkozx97E@KJVyY-V{X29lL8gH$bTC}k0gu&}*S)YaGpF&7- zYgADwl2GxS)$Z^pCLZPeKpb7VyWZ+_bK^#z^(v+@uqI@%y!dYZqpJ(eugnGI`pzJ^ z&2{Fw;j)EDE~wa z?tKm;Iju$K+L$skw{>;`*W2{Y7wc?8Eq~MfOhRp0YB&6AY3vGtTqs>$f+K7q*!|6~smLsh&Ot_}f_ z7U4Hj@JpVv_!NM;!E+NL|C(%;&rVB$YYQ6bq?mkjiFVg>mWRD$Ml(55mH81kyeA{G zXJieE1YUcrbn%3)R2s>bmbXmkVT&rODhk2Q15plo6WJ9;L4yzQvw!Qi`|znsOeFCl zi>SCH;E&tophKl67abMYdId2~6;y3>l;7Bmbk>k#mXs^@c*jlJr66A`xR-L4SFTefjYpxv`_VcquI!%U%5e}cC>h^y1x-4^oHU+nGu@X+ zY1mCy4&Y8jlV#Imj*Zw8CYDt#2%GdfE`xGe#+`u>&+{ySn;p2O3JF)(w_6M1QfS9P z9j(XG{ESkMTT$pBVzr{e z%`9Ym9>tAi!uQ9AG>}s&b8qF}-J!s6!uc5dq5;Y%1+1P~2=?yoc+6llPQB)1a9Q*b ztr^i>>-`>D-rIERhG_9D>6M=P(AguRIYoykL#7wfDvT5%a7|qZ3F^8 zhsmL-z7bnzPug-WKS5S^xcqx|cV}+P-8ZY*usM8jF^&2s{Fnwi9Y9o4MX(CK3nwNEs}22nrqKX1MlO(jnzTHx zuu!<8d<@e`*A&6s;ys0>R7U;rOgfznj6ma!EMD{hF4BC>mV?GRRX2Y}2W$jK@RBX& z1$rbH(f13+XkIgCUcvsyq7qk+De2^crhM_IGhbLA+g`C+L3^h!A&VwSgW2p zlm72ez3EVpv=4!pKod%bk|Fl-(pFj-BH4{r@ba{Sj{q83tL+UKexYm$f>6IUTp<$h zY$}fz%nSq}_-2Y*<5?+rh)GP>McjahYoA6xsPvn>#pIFN49W1#GUlsjNDwk5{1um7 ze9&rV@fu}c;@N(r8;)Ona;Z9oB4J(ta(qkux0T9S=R4!aM>%4jBXNv8v}!ec9g|uz zkO!R*@@P%3Z}}}?O@3bo!dbO5YM5HQ64Tu;wGfzHHt!~IpN)hVSbNpqqu6JPr7pGN zpDx2^1G~+a7|hG68~N3qPS1BQjudr|){h!GC%*nI4?NdmI5Yw}E-FCBPW=Cy2mUYp zmrE=k%m5=|=<`=3hPLyMsLD)&w)XZ2k&Pj8*6yT3$-A9Qa3qYqHXit#lWw$FX+sG` z6}+Gua7G~#ckErLee3O{yygHi$ikE2sKvn2>#LfI7B<_kafok*^-u`0Av}5xcil;9 z_=ojz2`BFzHJREZI5^6k@)h#avo#GuCPALz*il3X_mT{u8{?SlWKHIB3J8>p+~h`7 z8c6~GxnWser8feNBJ$t47ins}9~8H6|7=2)lzeyC0so3E!1H&MsIenp`uf+r)zp;1 z&c@cl5TFxc%1YuxB$gsQ$40-{)uh94b)aZr3$ zm)jtzVVp+(xC*l(6?fb{In|Xu)fs%^WA}2XFSVD_r|-$*5v;3ups%}AApl?XC2IDJ zCJaz_7UPt-|8ClrEL_F4nuV;8%sb9?EG;VX=gSo@Zera6bz<10oJE10wUDZWIN>P6 zP<1R3IIW97=kv#wpu zW6@Np0_FzHW94951N`7~;4A@GOBD0X_qlXC6||Rgcv<@dYQ`KFF;F;9!LodDuWb)&QjMp-XcIM?l>~Kz9Os+P#Y)-*hWu`^ zobLX8$*75eg~MuA7psAi&yA1$@NWZh;9}XkO=ut>E6jh&sQ&$@adtGYb+Wf}bT%-w zHlZ_OqBAl#aQg3KadoSt%@(xJ8NC2bB`=Ob2m)l$_Lj}74OzE)b8?3y3%+!CNPpxm z(tgB4>WSJjhI6~~cA)anYxYLGIGc!pgZ*u%8NS_y4* zWp>iMyj^BXZhGGx-uN&uJ&LvF?+Y@0{bX`86IU(YmZ!rkSYiqo;T!E+t}5>33R-o_ zFSO|NO3y5jif1!d&*T)a!(NbU8#v($StEVBvKV!xN;)yn4KTW{+pe1Qd8~P0Y`ImF zH8ol+&~8HWQ@6@pXO$Jq^HsK{*TSj|OX#1gEZ~?GnI?jUu(!}@8u41IHt%O{7O(~- zmF#Wp)`0K&@&?nh@L8Enr@$nKAWL;?^&D0Im^x%hzPH^@&~%68Pk&4kE3 z;_GTd4!!P9!v?Y@eXc0wtIOcjEd=|T^ctS!l^-cf;i$RkRH1?O%hnnyNlE4vMAgY3 zB{v<7gq=209-=uP7BDgfF};e*P=qQBEte?p+7;s(A2sJP2W@*%_CCYxWXR0lznu~y zA2BZ3G`E>ll)#;O4-JY_BzK&dr_oLWd$hK|w;6jyL;p@$0|rSQ(w!$XI) z4X3U)Qv;_ey6KejK85U6tJvBO;w*cDC^Y#}BP$c7h|rSVaC3~{&lw;^iA)U}95^^P zvVn3=S}wkhjq0!Kx}-4#?H-sB`1Sm3oyh1xo0v({F7f~{rMX};tW+{e-CHA(ONN5Q zw#=C3W=tRb5g>7IQ|h3N6ixlEF-G>KSDog8JjpovTO~_ud@wtQl?1X!$RzzL0ntsf zwmD>@zQRz{ihA~J1H?~SVh)S4SbWIR)nK~bH!q;!5k?Y6C?;nS)Yxw@!9dcoP&BOi zP-BE4n={%aEUVpSWO#%B8D{OeZ8PW|Whlwjpe0@~cGwN*wG39Fl&ay|z&$l)_V8uPV9oSCJ?W{{DDAz8C z1Pk)AQ_zEhPFC2#oipn{9~aB5dOKa+8Df*}?XZ=O=cdws_P@FlwM-tfGv4?ov{)0) z($xK+h2@RjM}DYiT3T4N{U|tETiEcsV#I{&t5{v#;qUc$=ZL0<(^fK>0M1X0I(fw}b6v1H7PDnv#1)3e-IB)UWlnZmi4RQ#RGPmxm0w94 z#aZz{-CFHw?Ys~J&kf0qT4V?!%!o@iRsw_Qz^Juj~qv!sdaPN>T0)BFrGZ zET(_Rev3D!lH)WhkF?#kY(PuN|0aitSQNIgk?1^$Iz0X=fO(7*DBidH)4*_F917jW z(i%Fdpc4EYQV*}{>%ozn!`*t3NzmnX^KY9=-Gvi8`KWqG1{NV#^A zL&MnOtL@D1pHd$xlgdJ|5h+pbNFh#aC(J07^1%xD7#gYcXqw;aQK^Cxe*goAhUQ!1 zPzRJlSWpQjCfar7J06VaQF_GbYfX?wC^tk0f9Hu*yAZ{$PII9Co>T3i$UF3uWa@6_ zBE1=IY+NFw{v%2tl$?e7DIVp86j(MEE*I55DPUSc#Vh$^AlFU#+pG@@`5+r|HDVq| zM``u2)XQJ1cu?Q98a(Zw&wIylZ)rkV26sO`X?lOFGLr~l^|lVJDz0rfmk`D zA(dy<+4vhC@9tSWRs5hWzV8gjN-0XbKj$E~Eh9>Gy{n~!Y~93JUNG%ZvdLqhlBM&rYvOD{bxVoHcK`X_0C3PAIHPCsR)MH9D%r^n*zi z3s+f;SiUc70l_?#pz$Jj*>>V~b0SR@(Qe%=cSj7)RF}ZrMwTz<24Z5t5J%9v5U)p%J5ofM48*j~n@F?zzRot?^ZwI;EOp4+uz=b)Y4*$|3 z%dQvp>QQoW)2(KSa5%-Ek}=y2tXnbfsZbJ;fD6oc&JVqY<|5ovmoq$r*^y;GrhIIE zTSf|F=EmY%A%fI98r>HSyCrg5BStV5Mn4O)gQV{^+KtCZBVcJmz@VvtniitL4ZR7o z*3UZZ^UBf7afdtcPGGiU##h+(22+?dEC*=UzUP+#Sw-boXVEhr0 zxvz?ade0Ae8VXmvZT^-Zd9;l@x81bOz_-QI-dqs~4TtecfK+FNcL?QN?iaN1@}%U5 zyI}zLXg?V})$V0H1FM~?>A7>(bVwr6?nPllV~#7eEt{EYd+BJ-CU^E#AKu`C6y=OH zYJNBGNOV9di|X#}%Y(6IpIUzBa(C#xvpu@;RgGwo-lS!6n z2TQy#-pOSkfeIj@#I`ElcSas3o(fP{q<=W$=JciiG2;3$3k|hsFpIz&G zOIm-2VfP*+Y;c~;z}36Y=}r4X3)!Rpf&yBL9o)gNd|?I_4^;M9qHDTG@HO_K_I5@V z2z))%$kD%AH0eX)adJDcUDek?G$)0rIo|IP!_7a(c-!QzT3;}+DNee zNZrn4@`vNrFFn868skwqw~%zw`|I=dTC>%-A+swMljy1xn@?j$9ZQB=y+|7^v*Nmt zvJqtA)eyA&WFhAkHjhuzaA63d3m-M=(qLxYYKkNj2Oa9WxL$8>hHWW~p>@l4lx%o1 z=ak!iQ;vd$e(nUGb&osm9#0x;x*2we^5rc_)*1FT?e_LIXo*z1F-a&5wuy1P9?<-2 zWArKAtXh1LzIDXt$dV%W79=gKKu53LDTFtOgT8mIa!X21otvTU7WkYpT28HtsoC#j zc6mz!LcA#LWW7=zm17R|PAwriMm7g0C`6p$DT&Q-3DCG$dWwC!r1G|C{3^BKT6bFu z(*PVV(({xm9O=2>6Fn07iyE8QH0Ed6G??wPz&a)2+L|nv11_x;d2i_@XGBu?YNuv~ z(DA(?w^1wdKq=^5xw#K$1TtayoQ8Qalskf}H-yk<%mv69w8ahF(PopU%g~$S?61Dg} zpzZv(DuUA9VKf$I;a4#qMT?#YBHR zL|x|8r0yG%XRzZBGCty&sdM-=NN|GKYU;rUcE}PDV*X0VW*2ie;vp?nB!`vL;Cjmo zQY%3e(8Rly?wq(h+2RigAlk4mVaR%|Pnbc_@*~cb;1Nx?#T&Sy{94Qh8$(xnOcPO1=Tp(JKcB3R?G`iW3<8&T|A$tCh5<&4cIY6u2Z zrymB{0Oh5ClL;0Xqs{~KKf*=!U^=bNM;-k>O5nVfgo~Y2u?dp&uK9!Vd*c*w6h0ds zlrI}jqV&SD*io)Lxg^O8VP^3cYqm3ITu}Ia2Gn#p?9m<~h$W`1>e?abr$8D1o}b zgKShzQJZ>tK8Jk$+QIiOSY=M*_p>@isGPl}&Jaf#W>g`)s`V9&d~Ju8(eyg1f5?#y~+0_rJnk4q<5eZi0g{HKk z#^v@Y8uz(#At19-o|`Eo)`~6c2mBzK%M$24B|I?WBg!*(E-|E~G(z=*rZJ19aKkzg zokCe&9MCABI^B|YSvo`hnH`}X<)9fiEt>EH)_S>&xb93>JWficgF3~0gO3rujt^7d zA=KG2HWb)Wlbko@d&K2vd1CTLsBZzIw($a_p_t3hO?a#lhK+*;Dw%KgKZPq?DY4}% zerj*Fm4Q0Oq;YB&6s;=vsST7W)TM+6iHHei;5~2N9j{VtS=*&Ju{O7Dcqt!ZoZ*+) zLeCI7e0ab9gemCQxnDeF>PQBf8v=PsZ&Rpf_k(E1$n0YLDUzvYbXe&FA{lTKqaY9` z0*>ELj^svBi*yc*&n7^Yep%4Zrx|Y)1O|?EDhSdE3Ns8`DfxRhmZ+rcS)cQbpPS%W z^|HlYrWj)mI?atwHgT3LP9 z_ykTxuL)G&Si{;$K^n?_`EW;Ti-pK!VV6m~;W3WHP?x#jHd^t6CJX%WAl2IV4p!-BgOYpOTMGp(C0NqrE|oUk02 z-;`qYs+$0>D~q4T;s`bmx5+DwNZ-fih@(lia=Aj7;Iq|}$nm~6*jOjJ^jL?>VD!Kf z*&arRB24tn{r>#U%3E>Y@Wbrfd%QWJg8u5fx->Xai$ng4JEy{CJqiSZd` zQ#|EKVZo6mS9=!oQPvuYGczliZCx;pQ6Xohx^@ezoP(1ael*u9M!#_@P+P0L<8;-V zLxZgv-egx_z-s0*kJ=WwZ+=1S-F?N-$~}D0%p5$?jv=sNY(J}Gn=cQW-QhCy)nZ|) z274M94MzS$p0v93=~d{LyOr1LOb$>_^PVgmnRRc}&?$@dul$R~2wC?z~3bh2kHi z#;X+#fz_we>F(TGjQeTtd(Zi<^bd@G4ofjr+5L+FJH!aURPOJzVt+3uENl&2|M#fg z*~0$6VOva8{r?^Lbm-0zMI$z4SCgUWL0c=2kd$auv4Pq)4-FAUnmj1W z$WRbos1BP8?a=Qj^uU#kO}mOvsoaX?wDOuI@rFWIIwap^;Lv z&{kqv_7I>yEUpJQw^^-od#GbSp!_;5-@5P1W~v0Ku3OY-@9!Sl00 zO50ot*~SS7d_{t`)1Bf6S5ap>$$7;4$q*LBu~0coaI#?qLjqiaET zT*1MH@iY(Dh>Cc^bALCH+OBshWArpxG*|X6Uo{5}kcJ~nF}YDO&Qd|cMUS8=W-k5} z-~J{M-f|GRq|p`K=m)Pri1|}5aHR}3u+|xqUw(Vad}c_=l?I=Km=jVDU&d-lTBZ5pZio$b_)37M7q8=U=YV{KUR#D7 zC|v|NqqZ9+#1-Y#|ELl1y(7mQ@=XI@!i+hQJS-@w(Tt9FT_--nzEBN&ekztgps>BBJLAsHg@n0Tdz4 z1$!#@4SMLN_Rw)A$->tgjJ|YIZG1cU9rH#p|FVOfcm4#6^Q|-k-CPz~5Ds@P^gNMV zI|X8{&;i-}1ab5o*y}K>*uhzN**%csIDO=Z}(z!5(tHEeEu{5xpXD6;cyf}<{&pyyQf7&4utu@F2 z!M4p~CggWS({v}7EMRg04MkHp8MHaiGne~T15!%8cW5{91f3^4JL(?V#mPWiqXC0FZLFu(1cMWB}I-#wGv(O2FFeUmUB>j{jAPGDcO$4gh!b z?$xVzK;mrAxykBcwZ|)z2m+x8SrSBfAfi0yvv4t_O`w&~X#aYfNnCi%$`jPPL=i~s zY-ADf6}O|z*me`{>|YWdpPzo@smPK6(1Z`OJx1@HdgfP{bS9Nqz43kW+3RrSlFD0# z;C_Ktc*w=TJVcC7{OEBRzXEx8mE&)lRV3@+zp`-Nn_0u-dOvAoCnI2B&vd|D<=c@k z*KTFEWvSkIsO<@UCiv7abG70AZEZcU(l}rAR0TgH`HNSNfnO6h6MRyl<1iaxBP*I)N4AAn1a*t2r6t?o_nLe!sP{8M zL%KN7A&HUoKu_UOlB+GmGHhW)QY4g&vZ$Cx^PJRXmS+<*`(g4=15wBJ=EYurSbLUb zWSPDpB5l1|4QoN}-zgx9pBf+F10c*r^fZUHX`->+n1!5O^oK4N_{Vc2o- z-$nRwOV@}4mcZvtpYgHl&jJY3e;qSLl0j@SMxN8AUY{oVo+i#enS}E}T$BCA0MR~B zr@aWV$x?B}w%|z$vW5A2$goXCY|@*5cJ2-ib_4F+rn7=N{!%?EU{yjz?0}HFWphA> zvMqKx7&fdgI=X*4PMukj=6!(2c4*bsoeNt5y8lU%44v%#rjl7AWG#J7v2>oIufT9TArjJo8Tf1er1d4jg57VS?vF-(mz>QPPSp+ z*$cmOoU#xfhVToGYj91cpyB5g^B3ub`7;Fn1DMc^XOFx3G}`&LxJgDN$CLA+sj zG~ZLXjJeUFcJ!rJ!lLsaXvrruJolW0&#xzS$M5gQ#}<-9sOK9-HlU7WA(u(Pqng;c+cB zGP6m?GQC)=4MV>=>29T8a`3X`Ibm-;+-nQ@gcWcj99bS(VAbTWoM^&qT5B7C1r%SAop;p!dfM zSk?1yM3^-&mmp!H^fi!@t13U-($ZbinVa+~E83N-bWik4SODCm27Ix>|(5D3)@6JEY;*|Ma&Ovb6SeD0^_q!tvZ(VAj z_}^(Z1NIb81gcJtUMDfE-pB+59%SIM2+P|n=BU|%mW4gp@oLm<#>r6V&yF7>V#(a* zGjiv0-gk+0rzq6o_!&67n{~BqKbH6Z?SdR0sn5wn2QN>2T_7 zwf0^KS0}R7UtwmC4>)e}df)WSSh;GA+12YAel1*Bfj-BSucGm#Ze16iAr?5W!t2Wv zwQmf>p;sqqCM+Y0PBe}Z4Q5P2TQ1D@CyH1w3J|0y3V68wgF*ibqhe#>>}=vlXW|ZcwKcG&1DuMu0Lr8P8<*BBb#w#~C`i49Fj^V_Yt>aimAVfb!B zKukxYL~Xj{Pk>INAt+&?M7UH@5E>Hh2>O+>8c}32(RMqR%w~y^V_acQ57!FHb@pYR zFEhcK(xg}x7&I@vya(0GDgYnA}#7KIblC`vlSM}RFaI*+N9&IG0cd@>=J zjgsV}-`u*feA>Oz=6mLj4adeUbO1NVdKvbaFcr8c6c4`-;ISMegt8Ad@UK^?>inYy zIp1QFhM0s6YX{Ti%v|v@R3?X;`woFoS9rCIi8?7vHlxg|X_QyKc*9i|2xe0kU7fJk z7cz(NiT^7RT*GFsTWBzn`oJXIf;NdmO`j^|69sgfF(KY+iaz^k>Mg#KX3(*4`~j6~ zQNVeB+(J&e%aghX=$}<=6&&i2Iv^BP07B8PjakYa02M| zvSiN55X)a6se39N3eG}}D?f?0*|v_wJ-MDzDKjZlT)JkJWZ}QtXFQr`mHvirrg8XQ ze*%VS8gR0-Z2RH~mJ(etXfsE*v75Pzp8{*(E0tTC?K*gK3& zbp($)x;_czC46HoLm3UdPN|`s%_uilQ&cACP)=+|>u@Qjf(k{MkfltN2<|aI&eBB= z51`c425HoGzeoF1wBH_7jU})i12)3JH@Q9oIhwbYf}m~jKpSQ-{isHmhUCRCYPYxH zWD6diK}mPV8=79CH%HwEasIxeHS&+G3z|CS2wA^sEhpB)R+TA9Yk zH&*l-x@ZcbX)2=|fBF%0HuFU^ccw98lM&5d2fX*&Jz-&LovaWB?nDdyi9ScHm@?f* zp(6>Q4=|tc+Ah1pB)5Ei`+bok!D@JOFBUwb8`FrbP;!2;n5o*R@(Wp5>T`OPjGdTk zc49M5cS1NlYKlC<@Tm;C81#DF)_W^bPdNXyT^&~rxJH2OngMK={Xaw0SJ9ru=VXITt0HzZ5RMa`YTviP)FeeF|kJRRdP8Cb@%Ke1K$7950=W zGKSJ;ZC5`%XSOiG0*FPqdU@SurE~||Js2O6y#ws2cx!g89bDkx$uiiuB@;9MT=p4M zZK{15cx?x!-CUsOrHK>b1|mNqXTvGm3Z3biS@%~%cMh-VQkrztyZm~@ zfzh+$rxT16`*BcR*f}`x9$I2iQB^dvuwfE`XHlsh25pra+LTt&v|9ak!$41vSvO*> z@@#vVc6U65aLs^!k~Ev?&7_&@o0zt9lBpy~lbMO^BqWCKLg?5%GEqn?h+g7BZVL$_ zn$qObso)m@RNzdB+Su5PQBu+y2CfuzN0&ztnSj3dz1feH`ba(`-&qPva9Ot`*Fs+f_#l2mhSewdW6 ze88)e^rc@#F-S{boF0u4n|O$Kn?yPa7r&G0?wH5rZo?eMIo)B$-=~DtT0&b+8N>UN z45r^$xNwaQ%z7jXuF_Gpg~wW`ck{+=H_HU^5uFnW^^cGwTheTZb~ADnCloIIt~MSF zCGL4rP}}iU6C=TRRCD7J)06&_xJOo`1_hUFrp7(WKV3v2B35`3;3BwyL51Xha1jSH zM>`i=W57-3UsH*{h7^EZxD((Ylg{4Sz!pHh@E7eOpsf7YTTVuf7WV%w{M#u1kJ|u* zVT^?(lN+bG@rw>g6;^HsEmBE^w~wYYalial-6Cq9OVMb57JNRp$9Y z_)PgsT?k%T);ryHlg7GV-NSB{m`3t_9y@M9xjW2c$&o@dTXDnuG&xnluNnV42zS|- zUF6=jEA--FnruU%H=KD;;RWh|1v2hiIGK!WZ1zDuc>aPAKc!oPiVB64%E=%iHXR#$ zVoCX|0Y!(PpL<>6ZVZO>55{r)#drsMzEE~>IwFr;UQwj(+$Sq{c&LWaqHk2%>V{3S znTPDe9g}u$ZV8}I(f8$OT%=wg=;;*GNRJBpUZwKz7K?jWnUaE&%q8@bz}6Zg=xIm6 z9;X~Jgc#SJZY~`&dqSLAW)A*XUSJPK)&~6t`AL&SL>YQs8JVx0>yrqKk@KvjI{5(= ziD>Wi=4XM`U=!GCCIqWC~ zM0qX^8srLLrrQ;9i=+NDNmV)FQNjS8e^l4uFOYw_(|Yw_b{e3@^#!=p-{qA4UM>9% zCT|bmEdju=UG3iACea4p2 zCE{_=&9jR4GlwzgCh@~X_hY{4n`xSt1q4-D{8+N+*#4wWM)S#x;Fk$~J~vFrf%F{D zWe$6D9>&;rft|>(-L{Ldt(SJ5`)^#gi=3{jY@Fw>%oo*q)^5UCx;b^U)aCIR9b1PU zs^c4Z)Et|JNgOHG&dl%vJ-rfm9ywXWxhowtI1|)c`YNh2D=W>`QomH&sSZ^qHSFL2 zKojx*9u(mA`<*7Y2b748y#PZGk1M{#+juLa-v^`hi5i=cRY>Ij{c+KGejVPyuti{- zf@zMjzwEC?9`|rMm%acmKG;s6&m; zP~J%nDBJ@@PVK$b@BHfc-j?AHu&wA0H=LU&`u=j~{z(|!SNX7BwFU7Sx5N6UK} z?Q(bV;Xd5>Lw5hPfNgFwXAr=zuL59sQ27r5^*^=lfQV`UIEbgSHL&^LwjIC>VGoen z`U|!HzctB!vl7MsPjm|v7^fnsNhY(Z$wV{X2pMNlwFzOFl?wo9k-608shp@C)qz-O z@&VFn@OJAtdCvL7mYwG+hc-`9em2L2ZsULTh0_H7R$Ok#HZY)F+nRjQVIXUY7AO?E zKtOQ_3w`BJrLHsmr^F6H@&ua)esJ0p#aJ3GWQF(^$lwn>fAQG|%xCg~Q#t9D(JVoI zeSumW;e%L5qV9Iq;^d@L2Z?BJbBzU_jd?AGxI-d%ab;y(Nli%hik1y%Mr#+F8;)t+ zQuXlJ$3CKCp%v$=2uLa!wzrv{;-#cTzJa0i*!l8=y=CJHxIo7K6Cta)ixuZayi*Qr zQqEXt0R}~oZ$@kZrG#TY$w;Dmn-%BBA9&$ZY~~>A?vs2i2-$bO>sJq59nPS{2%Qc6 z>Kmr1XjCwM-1}9Di>5nZr(NJS)~@^WBG0nP479aJIWk>yU2olMIKeqzCjH_*3idh8 zP24RO4o{6_gu-Mvh;Pwh8s4n?h4cEP`-R(Mt1nI*U*$nBclaNq#tZ%~o6x1%+BD+T zA0Y>g9iiH*Fs$kbUh0{;Bo9)t>7(C5Fpbd-&g^03D1#{CZl`F}ZK%1-(h+omYsgbBFA0^5<#HDbAQr=id ziX@`$1(M5gtCxX_yCsqtQeKb{^lp1_a()U&9ecWHU5%yB!TymG!}ZSwnj71kJtNT72%Ip`c8C$2X8UFZ&FCN4B)_R(Zx;c-BW} z7L@!OJh*X?s;WDyw3g~tC$RUYFMqBGjf)8XXntFqg`crjHHSQp=ea~$Z@zWNK~`sr z7w@=zd<@Y&Vw(uuHRvLIjld4ZZW(DiMOus!0y-?Z@_gVDR~*G8q_4`{VY%dL3WG8-X!UMk0%?A#NP=ZF{wC{7FbYkSrRP(=;!cEEp}to_Nlr z&bjl)A2e#QVZ=siB`4$2RnzL)foPh~8mo;H;V-0q>FF;VF|AcklfZ?IhO&7^{#^h9jC02a!vO{uQ#$}KN%9{I%7mSfk&(_E&{>)Mw-(Ar<$q|n>3a>&3vR(8 z>3t~`S6vwdGcn8NLEz@X2oVO4ei(Nj)^$oTO{_joDJo|ZR)eW)UtdpgnaxD^6y)}5 z)UGOXY{?ob@W!up|39Uj1yq(v`~T@~kOt}Q4oT^5q$M7@8>LgEB?Uz3?oLHOx}=dt zx~~%>(K)o&U~(!duHx==8EqKLtb&Lm7)3p?K&roBJkX1*2}) zAMcyg(Lx*Nmwi!gTJ3(EDv;hmT$5)Rnp3Q7&@;#RXckhs5Ge+^_mI*u0W~$vDtW|M zSmV)Cr+i z7O=r=<w$->S-Rc@Q(-_QGCU1rTG@y5>?x~AK#ItCON-< z5kMeotK^n$?<~VL`8YM1ANA4=s&Nc-1Uvfh%seT`*qtguE8IZECU?tMOQL1BHb_kJ zh4I4@RpXdKMvh9`el=qBBTssZR|V0E3li3~pZ4kN!@Y{oXXOvW)+%vC&V=x#>|o_S z6z0rXNG-7}uw?AQ#JgI)M{P`M;2NOmhAUQUi9Xzf%5=8SAlO&>2qW*E5Wc8diFss> z^7g5VrMu61s|gC~mq9tjQe`0!$wwPowd{E1uOf8Bae9gEbJi%F#pM~GzDlNx-Adkd z8VljhWp!MIh;_F!1-&449VBrK zC*2u-W8xN+775lG|NGB@8lH%djL->0ed1>Y(kYo&y?iDeP(~_^NMZDwmDS6{->T?* z1$5KIIGaYkG-BD6K{iY!LDko9FSm4Ay_0^K4)c2B4C+FQxrnOa`NI0qbNAVxsJ7+; z_3hO`YwqY(Eb@;keIKow3GI6P-o9Nuw37?dcEToQ$BAHkpHFB1^y~7{+P-bX_m*da z@Qq%8>sT-~sm=}BeV53?-RQC}CHGWK4%7`V-MpXG-8R{Z81B(WE9P7w7ht8FF1@S*lsXN3~^30fIFIG1E;M3PK`!P zJLR}#-dLqdf=ojnt8&30E)aE+ur9~iqf%F@-30Ri(`uTdmlrqkiX@*=KoN@e$B=?0 zLRaH^;(?P5C@@Cqb7G-6c*}lAj`av4T_@ca(?*R{ENU7EYutW)Rfe3SVeaMW)2!oZ zOJ~PUxLwPaE{7Oh{d8#SNoXC3$me@)AT0KdT_ZYtSX#B0*u{6l^ z3o%lL5~#-1%H&ON&#u}x>qU~h=lIbGqiR!Af_&H&Y;}r_qaN+OunE!xbqL%`kSlOi zgdytWd49l^q*8>+eVY4u!@P8XNiY!49E#F#CB)CSt?KLm=MypYMSFi<&Px_m?z}W1 zmd-_!J`2pU)pQ7-XwE_zW5&a*WJW6`?(6W?(WO23&FHhK6b7@v{MJHF(^Q_EzLZl1 z*@mth`$zNd4_nZGyu07zC_mO|hP+5L?ygjm9B+guKji}t6unQVae$*ic}{o|kAX;lxEKe?5=0Y7L4&XzZeuM+RFWJY!c(*&FjCg(5?;L5kIc58Afllj zkdZi6cN#oY4?5J~(?bQ(d_kBif#P#bpFu)&`CelE=6d$~8@10D@rNVupS&BH9$H?S z3(W7iV~dv7e}DOE1Cb*C=)&CBg}2#Y&LC{}~oXm9nrnfCTC+vQNNM+01^8QwI-tivg*BCMGPMXhdZb{lHLoZE`$y`eNR7=w6Gr%C|fA6%murJyzK z7I@OM(Q@zYauXV0DA}zAkyQ!1!n9yYD_--8gn-{J&aO_G57d>cojf{L9 zli!D^JU&3wSO&%GB!wVE7)y}B2s}e33|nF`6^lbx;=PKESX=pwd}UAJ-o`N*EjqLJKlg4lWHI;HVrXpEdCbHC zOAtTPOV?nZ+g)1H(M(z_sH;rpRV#yR( z?zzAdismPDF5Bk(>dTY3^IT;LL5vIC5$_xyAJuRfx_HoU3UovtZg3CBqn|{ytQkjz zBgT$D;uS{V{kpHX*cq~CSF)f}hDRQn9p=5*I_{tBaWpF(ZvUmObclbFWu~W18mR(N zHoF3AUA|BdKU@91)l1K3KPZb-``%_i3|A?OnHgjIv+h%PcgWWX}kyQ37s>(ll#+ZxBqDavA zR5EvUr6c44vb*~B>-LlCYTvBAu8x_hi^3-Ny=Y@b90t zRFEym6u6tVxB4km_V2;eK96i1KK0xKN}aPis&w|rB`}MaJgpY1cB*10q=LlCVGi`g zk9+83@}lDvfv&2b&v2^;ovM-^SwODWTzBJ!u$1z6+U)1i=E-$2$xk7@pXEV8+h1l2 z=4w>|^?LZd(w!h{11_>Gx9w&@wCe0rM(7=6Lki~`W^!Hqh38%#BRRV zN9|v$+=(=;=Co}#kb01bRugR|>J@7>eb|b=I#B#@)9;!NN$V27$f_^xhYIHsIhL!p ziC-(zxtvMED7EQWS^4s9%QlkZ;o%`w9N(b$ExS%iM7KF>d?v}r>5@xtSZb418oP*jh@PnUiTO_vbQ7K z&~sYZP;FBSmlEjZm*8LVIq0^UtxZvpH7snHW6Z|xe`qgiIbW!8$|0NmFyN?H zZzdTn;u`KwoUT?&Im6e%9_;*)5{;4!U8)mmLeuVry+DH#Dc~x!X(=;q@9VVm&NH0A zfE0QK&w7miVMXqM@UV*_Qhk!}$PkZLj>fZUfuFMEuA`RF?oqfTBL`_QXVxPC4nBRewx7M`xStV>IanaE;6?HR;)5>K5i#1fj=uRaon-i14=pePNxcvf1bI9QhN*k8!h zpGQz69o7S@nJL3I0V~X!o;xx3NoM*)i7hk}BCM^WMWNM&(UHPObMb-;wy+Ml!nI#qHaB``QhI_jLdT)EZXf+LuzA#9k;8-rfeeC?fviIDRYv+3 z2Wok~mVs%rckVRY2%}^p)_5T_@ZLF4ib&M%=uP`k0t*^EUDif2DdFnoG=11J(QsKs z8AypP534?=x?=TMcyCf=O2E9|7qv^`7q-$prgLnMh$%~|U3eFzk}m-*!x#)r{kCF` z%#7eN1l@=6GY>p`&X>Ibn)+x2cZN5Rnjh7tG9jSLX;gv{1K-2VtKx`D?^SbKrn6;j z3gt>0Yh68wQkE9SV#yrWipLIavLlO+rw6qugL12O4C1EId;pb4T8r&c%Ar{0ID0fi zAR||eyGQjM5l$=)^DK)S#5*We+2Gmd`Kdwo33G}Tx6;vkvNOMWd~h45#fZ7r5Iapb zAu7Ye5$9l1>(g9qVuYMmSmKNx@3bT}FHkhnSrBC(0z(h!&&Su4DB6LQbH4}X=>rBX zmnZ4;jLknnE(^MK&iIts8V`4mf1G8zqFdij^<;b5f^-f;A0j0(s}Mo_s(N>qasIWF zeN$3jHS<|er#hkMY@5z#iF%$?JBezcAb|{vl2WR+oTuBl1{9iuyTG@RdXLR#>xQit z$Cul?wjwxoJZU8>%&Eau4LUe12TshPU0c0dCp%pe$J>|suMLKjS%-(#QzDNW+qk}J z=o=;XujI5aWhnO&_MS|t2#>SK+!s3%1*iyhO^PEfc1QMO~Vmpe4i{%tm2)yZWefs886j?E2m%&^u%QI(j_|&ntPtwJup@wS~7oE>mmzP*4m3KXgRymW-z-vKH3XGsoHm zC7OE6a@aoDY3z_k&r?p%k;3JJW@djpbu|n{Q;V9JE(g(i)M<5(4?9c12mAeRG@DT<4uYcIdN!pu2z!M*u#%l}6 zd|O71JrAJu8_(quj0!$UNaSJ@ao4owtwLFthoE*n2n_8;HKYpIO&7yt4ybqCf4aD? zPy51;viR&-oE4RdsO)g$vJ^+4MS;empL6U+dt%&=z_!nI6@Kc7I9MjyNrh>VEAfav zo3Xs8h6o)&A)gVAf(I2UN-01IMtj2VyDuYczBEbdb(&c#8Ys;0&X4L@g}@WCM9Q|q zC`1yIvVEZ-4!=hg+WQ(heyUC0dLw8y#1+Elod-YOxXQ+cu4BPbYi{r;!wu9hD^s%B86m|mTUB0DLb zso~N>2C`h_s5gDq{6Mjj>j?z)bOd_;~ z=BwMNx+r|IM9q(jv65~jScdQs|IIxFCX6@-k5MgE<%f2FAq)! zGU4^`&|M}uUnyiP?_Jw+c#USJ*xHgtqi^aXU^nO7zYxB|`CTs{1zD-}`i+ zpy&W;U3jjQyK$L)8^@*R7^VXz<}FwJz9Lf`l!lKv_L${owGPQ|AzGGoYYx&ixbupj zYb25TEyyq3q*>A1+8%8t&wTF6ddmOpFDi=lZ$11pfojYlKxIp|e>zE-82^mF^8);l zEm)v_4{4KN=e1kMa87mPA3FDCjpEI+)Qj;{_wG2 z#ohG18iv;yyt1i#RbeCU6EvhT77Hz2t9ZM5_N61VT0D6LjSI+HDBsBjtWT3j8f&u5 zv?{&%*s}%N?GqnVHZLwvG2Q3od2frKOigJM+UQOTew#lRGXUG5D!)qJr7mSIn7*iZO-AhT&o5DF3t4*RrqRdf!vPYq%haB!b(UD+B+dxpWS<#`Q zJ0C72pjaREVz#Mx!hxH=s+K{s_$(ijwyIR)Q;{ji#kL3d1#hR;ClX@PjU9Qw)Y`gi_O^u^GK3 zhS?`3KT3;}2{}+1gAYjq!&x_R_kOO2TW5jARa8AQJq>I{C%Tx45V zU4jt=4kQQuVslDpoxJS{~Nch>PAN$q2>f;Jg~wGJ=w&6&0W zKCf^e*tk^dmKwG^7D3?WI?f702>ih2&G%_IVoJ1dCH0;7I9a`9>`u23Q3+3z5GEG2 zu?Fu&s^cp;TSCF~Oiy_p4b4XZ^*;T%j~q6`s}IktJ|G-b1D}5ui|bs)UG94Z9C*H5 z%{@0<>LeGoXFc~bbf{&s9tmOl^lF$thO+$d1&5qudY6;d6DO=)Bvs7^S*SY`+vwbp zh4^9xj`HkFEPqd?2^p(Hzb1&Adv4})e^pobj& z#30sF`yTFjggOUC9E2ZUCv%KH@y^pBoKdEf1+oGfFd(7uYQg!{LA@D#QaX*QC_}5@fVM^@WPM~ z#5B*HmULohc@TNY@f^<#W+z0dwz={p!;(0OVcb~_s*kp16Q`IsZ(|x6#Umx@Lpj2gcJX4 z99n7|2u#hes%Zh8U=Z9Rb$^(?#1(+`Up3d7ED)h&cGgib-*GFUT-* zXwDH!%W5JjO@Br>dTsS+vk#v7$QfBjh(G9PjOr|J7f;&WuG!tE4J&p|iL%s`TlZ9? zM@neF`Dn+AA^q9)yyp&vI^=p%o4*hLK?YRoedxF7_6NPl6XcHG-XrZ~g&SXoy$HMC zqr1HB_S%&eTe1LQbywm^Qkga4J(x6J`NXs(&$LNaW3F!eC`v#3^hmsF^9P48E+}ef%dpP&xcENtWANP zW2gspT@M0S59p{U9g0<5bMR~3IdQ{vgLZ{g%3CtZ3{8cGwI$y?(++KIY<)U=LGaz+ zkb}X8l_8Mgv;#vW&x-If;;>phTNrmXrk!ljdZR$`%mH`r_q217Hq%k&2=l^bAU%qCPWISHJXl_r{K9DnCPKcJw~r>h70K8ov%T8EN%`~_8F^m5m-UKH zr`D%v`_m)ItFVNvUr8u7ojp&hQM0w2XU^#e!i2qvM}}RSr?towh9bfS8?G~$O1B8i(9(=nOXfPS1HaX{Rt6kTDW-6G(L99JZQwB1trM_;H9rIxmzz|Q_ z@CxyUXH=4tmDemasUUHLf@aS_6NftG8j#G)?V(kH>o(PPz^QWj@<?y!o9HFj{uOl z>&rIpD}BEf?uctQT004bMxD!AqdfI$N1AXU2?4d>40Nc$u|wj}`|)WnGn5M=jc5!N zh!t(!J-N%%hE(Jsp-7=|fZ;)ac$E^U6>h()P!C*069LK#Sb%E8&p*JpLDU5N{OV^U zAIRR7Rb5k2QA|zex4ULo2MjgDdNAG5zMhM+ll*SumS`Ts=S_duCH-WAopG1nJ1p>}X4!A!f-)}NWfuH=H z3Fx=D0)(G;P^QMVrf#;zt`5K7mBsVGl5Cf40#FOchLE<(Z7xITaJLEGYHt(oPjm>$Jhev-@*PDI_Fs*EX)mzA_uUafRCi7(QQ~0 zD_1*X7n}cWdwKFoVjcmQEIz>WWCH6Wn#FCfpTaxFwzfYXoQJD9pi2crCz@GX{X+N7 zIsFEOff4-*yo4CRh~Boh5r3|?KT4wfPdjLd(yq8VFf-+VJqCQozVCD!5aSLN)xLBQ3DZ$gFu#i>7DbN_+- zSMB1v5y8c5ZxYG9Zz28>E&FfMws(Vr%SqmZ69Z?XzjgP{;*xixgUjdLq!$I>LjTnX z11>Rlv-!1dON>FW@Gjbl`Tv-?9Ym))nv&;hP}j(LX_8 zF_*Um4Brg~9@2Re)-(1Gu)7C%-pvH?5U86b5Y7C93AYAB-HitBCcH@lt^5P+zd8-? kMg_m!y-B6o`UmR2&rew3b07o+EASTwxN%b6{`uYi0ry{NqW}N^ diff --git a/joplinexport b/joplinexport index 7497c95..c7ffec3 100755 --- a/joplinexport +++ b/joplinexport @@ -1,5 +1,6 @@ #!/usr/bin/env python3 import dataclasses +import json import mimetypes import re import sqlite3 @@ -36,6 +37,7 @@ class Folder: id: str parent_id: str title: str + icon: str def is_private(self) -> bool: """Return whether this folder is private.""" @@ -47,7 +49,11 @@ class Folder: def get_summary_line(self, level: int) -> str: """Get the appropriate summary file line for this folder.""" - return (" " * (level - 1)) + f"- [{self.title}]({self.get_url()}/index.md)" + return ( + (" " * (level - 1)) + + f"- [{self.icon if self.icon else '📁'} " + + f"{self.title}]({self.get_url()}/index.md)" + ) def __lt__(self, other: Union["Folder", "Note"]) -> bool: """Support comparison, for sorting.""" @@ -200,9 +206,12 @@ class JoplinExporter: conn = sqlite3.connect(self.joplin_dir / "database.sqlite") c = conn.cursor() - c.execute("""SELECT id, title, parent_id FROM folders;""") + c.execute("""SELECT id, title, parent_id, icon FROM folders;""") self.folders = { - id: Folder(id, parent_id, title) for id, title, parent_id in c.fetchall() + id: Folder( + id, parent_id, title, json.loads(icon).get("emoji", "") if icon else "" + ) + for id, title, parent_id, icon in c.fetchall() } self.folders = { @@ -285,14 +294,22 @@ class JoplinExporter: # the only way this algorithm can generate headlines. if folders != note_item[:-1]: folders = note_item[:-1] - note_tree.append(folders) - + # Append all the parent folders of the current folder, as otherwise + # folders without a direct descendant note wouldn't show up. + # This will lead to duplicates, but we'll deduplicate later. + for x in range(1, len(folders) + 1): + note_tree.append(folders[:x]) note_tree.append(note_item) note_tree.sort() # Generate the summary file. items = [] + last_list = None for note_list in note_tree: + if last_list == note_list: + # Remove duplicates from above here. + continue + last_list = note_list level = len(note_list) if isinstance(note_list[-1], Folder): # The last item in the list is a folder, which means this is a header.