From 6cba089bfff3f0bf11afba3baac8336ad0c7dad8 Mon Sep 17 00:00:00 2001 From: Satvik-Singh192 Date: Tue, 11 Nov 2025 16:34:16 +0530 Subject: [PATCH] feat: implemented file compression via huffman encoding --- Src/FileCompression/input.txt | 62 ++++++++++++++++++++ Src/FileCompression/main.cpp | 100 +++++++++++++++++++++++++++++++++ Src/FileCompression/main.exe | Bin 0 -> 278800 bytes Src/FileCompression/output.bin | Bin 0 -> 20 bytes 4 files changed, 162 insertions(+) create mode 100644 Src/FileCompression/input.txt create mode 100644 Src/FileCompression/main.cpp create mode 100644 Src/FileCompression/main.exe create mode 100644 Src/FileCompression/output.bin diff --git a/Src/FileCompression/input.txt b/Src/FileCompression/input.txt new file mode 100644 index 0000000..df362f3 --- /dev/null +++ b/Src/FileCompression/input.txt @@ -0,0 +1,62 @@ +aaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +aaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnaaaabbcddddeeeeffffggghhhiiijjklllmmnoopqqrrrssstttuuuvwwwxxyyzzz +thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog +aaabbbbcccccdddddeeeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuu +huffmanencodingexampletextwithrandomlettersandvaryingfrequencies +aaaaaaaabbbbccccccdddddddeeeeeeeeeefffffffggghhhiiijkllllmmnnopprrrsstttt +fnaidfaoisdfhaoidfnasfnakdbfkasjdbjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldnajjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjasbdjasbdoabnsldna \ No newline at end of file diff --git a/Src/FileCompression/main.cpp b/Src/FileCompression/main.cpp new file mode 100644 index 0000000..5692d6d --- /dev/null +++ b/Src/FileCompression/main.cpp @@ -0,0 +1,100 @@ +#include +using namespace std; + +struct Node { + char ch; + int freq; + Node* left; + Node* right; + + Node(char c, int f, Node* l = nullptr, Node* r = nullptr) + : ch(c), freq(f), left(l), right(r) {} +}; +struct Compare { + bool operator()(Node* a, Node* b) { + return a->freq > b->freq; + } +}; +unordered_map encodings; + +void prefix(Node* root,string s){ + if(root->ch!='*'){ + encodings[root->ch]=s; + return; + } + if(root->left !=NULL)prefix(root->left,s+'0'); + if(root->right !=NULL)prefix(root->right, s+'1'); +} + +int main(){ + ifstream file("input.txt"); + if(!file.is_open()){ + cout<<"file could not be opened"< hashmap; + char ch; + while(file.get(ch)){ + hashmap[ch]++; + } + file.close(); + priority_queue, Compare> pq; + string orignal=""; + + + for(auto it=hashmap.begin();it!=hashmap.end();it++){ + char c=it->first; + orignal+=c; + int f=it->second; + cout< 1) { + Node* left = pq.top(); pq.pop(); + Node* right = pq.top(); pq.pop(); + + Node* parent = new Node('*', left->freq + right->freq, left, right); + pq.push(parent); + } + Node* root=pq.top(); + prefix(root,""); + + for(auto it=encodings.begin();it!=encodings.end();it++){ + cout<< it->first<< " : "<second< bytes; + unsigned char current=0; + int count=0; + + for(char bit: bitstream){ + current=current>>1|bit-'0'; + count++; + + if(count==8){ + bytes.push_back(current); + current=0; + count=0; + } + } + if(count > 0) { + current <<= (8 - count); + bytes.push_back(current); + } + + ofstream out("output.bin",ios::binary); + for(unsigned char b:bytes){ + out.write((char*)&b,1); + + } + out.close(); + + +} \ No newline at end of file diff --git a/Src/FileCompression/main.exe b/Src/FileCompression/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..541767c027eeea7d62cd3ec13bd8aa9f5523b41d GIT binary patch literal 278800 zcmeF44}4rjwfOHQS(^UMwopg~WeXHipl$jGXbZ@u&9)mznl*o*{BxToX&XtCkZfq` z<4+)sbXlVjL8}j;Dr!;0fQSVZlTvNPe?d_zqDJNE)}Th^X;iSk@0ppq_wHuX7DV6k z{koq{&fJ+ZXU;iu=FH!FTXt2im2Fv84&l%t%i0Z;UqJmm{GU#;r=9x5H0#lc-<-YM zQ~J%>Rht^x{4K4`8(V8O`)g~Onwq2j_4WSN_9lNrlfSsU(!aU6u73X1sguqyq{BhW zs(Z(D>*|w^Z?GnLtgqx*)`)ecH90G5o^>ZkRfH_dTIB;ufHjZ&l{o3bxBR^FpnkyP zEbE8Y(H>#)Eo+D-UL@V)t{4$7<1-8UGILwXA{+IXhN*tX(#X z8S>{x>pP;P5BBm$>J!bTL?R2)!0fPw8TW%o&77Tu4L%{F~pQ@j9oI;6wd_hfdtT zfZ(lfYm>AgP^?1vGxpah^)_gFs!eDcMeqBmxB;OTZB+C`b*kA#j)Xiozkt$9ePeU2 zrQ49Uv;^+@$lGi9`>lf`v4G$$S*Q{} zCx814Jqzgi1qAQB^Hj?H^0(jMWo5uS{{n>B*c*kYHTc-JY zyJU?Ryxg&PirBF~|7SE%9g6)|C|2eR#j5j5V?lp$tgN8-+NV@<*NcVwf-f^DSfRML zmXTqfGT6k$q{MT6iD{Y9Z+)?sjL^Q|h+ypt4vC@0gG2Qj zLvbq<3myo?B?NMbC*VV4y&zzCHhCkV3xkRFiR6ft4hJ7kFpk0Kj3plH&>#^HEKrtc zFag|8RsB*r6ffIPT7M{BJvb7|dw3F=BcZOFMy&Q-6npOTuwiwLdfF#Fek$mRAL7qR z-=osI`}4YYQ6UKrlVCJ*+$k#MR8`{udEJXO6Ehn@3dOQQJ>EP2e&|prHjsF3E;K)O z8h`TfJu&Z{Z}JGWY(qXe<#Cd&#D9V|Jn3iU-i(+pakhT`5BqsN z9w-)kq3fm>tgVwC&y{kgYR+>Xvn9%-qB|5v1Bph>^K~Zk5aJ%j182< z28G_dLBZt;3%Su=6&AUaBaYFs)*e?BM)P!f>K`+Wb!lTl-I z;>DBELUiu%<&qN*T+=l=ZOa5z&u~a3bq+#;esXtz-edj4OC$|KL%^YUpwWdsOC@y< zxzW9f5?;lR4k|-kFNQ)rjb{X6W&TjCx*#6(clCQhJ3<3P*8-buTqoe#dk zA1D`SH)6YvgP$Q;9M+Cd&k0{4E;tF%gLs>P#24m}BE(@e9c?7kb4r#lD~PwLI( zXi~KB1jWa2M>>kG&1aIQ*i4LsJo|--c-asZBUStqUb^sWU|tyX=e;vXzf31aslm`b zk;4dEJ%Sn9+6!InG9hvA@gOdKATdu#Da!5Dzo+s}4OkmC%+EV@o1(R_|EUeVu4mN- zOQj78Lp@W!^#GaqnFpKn9*+|i$ zXGnj{P7jVAsvap7ON@CtK44j85StFdgP=pR{%e+1gct9bdX5O#wRh>&*B(3vHQ-3E z1eEr8SIAS$dm)8~zq-NZ-wa&-P~1D49N}>yRAxd?28F5T3jOY{Me~%2g$~X6=sb^= zcdAsOl%nL_B=W9fSoDk0p*w%xW7b7yN6(Td)K&|T*q+3Fmx`45dyI|8mPV}aOS(Z| zfRT&Z&kyyep{Af{ccEm_2>IKALP=11s{18vo01Jo;-l9k^L;|15fVdqDM-j9O;Emf zy9=eKdPvfWGzk^|93<#^G?LU#=KVr5c0i&B{SuWNg?fjR^KEi^(ZnXPp35skx4!5< z4&0sx&*-#puRoY14>M=&63{(}8z|bHONJ2r;>2X4JbsSHt`X0+{^$ji`28oyjC*_O zf|9vZa7At2cd3*;iF-+TQabM!2-d-CCn#dQ)FAk~N)YCap`N?nEeSo{cKRUcabMRS z5AHXaDQrohtEG~-FVywx{7`&`@^=G?H6(89Z-3OVFL=ibUQhQrQ|umT(w^>pIPFlZ zJM2Xvy`i2S_1rVFNCfHW4uEXB>OBoE{DDN-8quJ`;x|J=Czz|9Qco~fs?1$vSs2vz z?g-@bp1fOtp(@$2x5=YM{V@$559GwU*Sb*S-c=6?*@46_MNw$7$Ghv}65Eq_UZ=!W z0iG|SfdnJ&Jx!I_lUPK`{F+o+&u`yHyQ3Efhl`C9!9UV*8&s+lV}2wxf*E6lDZef2kgI@$>6c_O2H8m|f<* zzh5LhS#{c^>VABdEo84|{*X4r5Kqbw)ieI}ekJoDxyBHW-zX_}OA6Ac(rA9(-^68h zt5hEERY={M=s@DW%apZxx11pUY#`Abq%gzjaFpg_IHCLkWvY2k;yb;ApOWl>M2oPd ztZtF8ft77gDdJL8sXxyrxvL*zSGKd%;K#l9DhhiN4@nBhNeek|lO%Y5d%R}ktHnaM zn_V4|Ndry#`3`L%S8KiHDbn2mfKrco?wR?4k4nLAztc}&s#hr*e<1NOy1DdI>B&^I zUC6{WK)@@mkyP=y$)uOAR!IkjFA6aaklq{o9TE_xE>leJNxVlfy~ormihB13AqyQd zub@Wpx!p=3aRYoL;+MM%H4hqCp=EoRK;f%|OG|M%kXUeqWqq~#kT}YH-S>bmzhr&g zotlCI)czjLGA*ZbNSd#c_769~)}Zo1TPT$Gm?Aoui0vUNDP4)eiG$l!YL}|X)Ac2( zFt`0I8bmm7v9-TC6I)bZc&1|RJuM;&$%AMDJ6)mhQwQjz^aG3Yl zpc-+`Q9Q*4zWei-;c_fji{Of}=e-{m5cC!8rf1NqtSLmBwo4#l5URfrs(qn!W}ib03L5ov1-l=Jxx9 zq!4?nVo}FexY->@T&BcQrY)G?U@r?{v>gv5zN8=5Nf~ngzEb7d1LiF&7-1E|diWNU zzwzAlH&46wNin9_$iZJIf#}O-5FAK!;K6zi#**o_HwjbOF!ON1wOvZ7;10hX{1$|$UlV(o{W>BS> z0sZPEqPOmq$<5Vobxo9eyqoj11NvA%{DWSF$PP)@i~dlLx7_4zB$vm%;)77(dtW+q zC=EIBRq{-lnQ3cqXwHn&J@~3abFvKl!)f~Y=LUYqz&!>&V&F#%ywkwj41Ak`R~dMz zfy)g%+rT#%ILW}j&erw*+Q8=weA>V#4E&^lA2jd|1K)1o+YG!)L3{o^EGzBL^q{A> z-i`UF#MPMK-Jz1b@6ox;aNEC&^L8t{kixfpOciFMiIw}I_Bmz?XgJ5LjC#Tzu&x0s z_MK2XXHe+8z$%F)@bC%btRN@ONKDqD!LH4tp01llt@dBiZfi}u{pb(6jhqcEf86`2 zscMy;x6k__V%Ut8*yw6YkxwnM%nHiLTPS;IW($qF-@&*jdq`Q)sXTS?r1vAbZpzP! zzKOq{_N!U%`Qz10PJ=!(guf>bt6d3$zhhq_Bun|O;ArmfX`rx7V*Ha$FJ?e$O{3$i zX#|HdPf3|&!O`|-hCQN8TPRulb=~B%Sd}7+HLMrdE~9rChp+7Das0K~VJn@xKTe~x zBJHdmdwW?g-TLBo2+NWwoHw`K%A0$WuQ+cm%bQqP7?#7Lh~uJ{^XHb1u2FCFO8(r^ z)HRwDW$z&8mb$Ld?C3fCx#cRRMbQbOwY=dqh}5}Lt6{i|hdb?u01qFx9~SfQxczV@ z56{{Uvv~NO{V;`x{10nty~5KUit~H{zl!DgI;0W8f5`K-_#_gFug%qaa9^G&MVLIx zgwA^qYLuH^d`96P@}}Q-Mgf1LGB^BTiR@|ZNfe%7riFP0sG&gAP=Fe4-7ETGNhKb@ zy`DDfOSWALSs}B?mStpcRM)-I)ZOEKKuNJD@yzjX6TjBvpKkLOgahUedlEI|C$^E? zYm9Q87^Uep2XBLi5bIwyabzo@7LEtmM#++uk?f|(9z-A?3-YzHvokg4aCo8o(zy5M zoYrNcRO;!6lApD0tY4@?G4Hk_{JHA4-p^8OS@7k&cQ#8eG}{ulV)@F#)h_JuD!FIs z;C+(1C$V34PUBOrAE!e0bMOQ*JzPPHPQ7$IG|&Eh=l~r>d_tFIW%DaAr6@LlG$)Kx z3TZCwIbmWb7RE@X{&r$!nQiT{m`^VALvgkDNe{&_T|(i94_8>o3p=@LUj3(gWnMoR zds>EKQDBR2J*Hg;9tda^0qy%;}>@V^R|7<&dJT&w#SZV$^Q7LOninX5D5^0 zk%I9U(TeOxk-4CG4v&V-t)Rb5eU4M2Om=`yO0a-<^#LU7kC%;>#RgbJDaCtlV&C)7 zAc}bdYAR3jF4p?JuLvHWU6W|6h&%bw0CE5@LB1!+M<>^WKFMFiam9)f`C z1jRD6xZSl(G{j}wV@cOdek(c$4U#mFI32Z!XGW`HFZRIk8MgkDu32~fy`3p!;=%mT zIYL7gH3~Ag+%z;H?_I^&XocwHo28afQC0iNDi+8gDjt!2<6NR%8EU2^ktQdRqE|{3 z+KJ%+v4m_`>>=V;yDqB6A<-;3mS->)e3a-AN_y0plXLgr5abis9h4VJNPMl z29Hv^3=AT$#I>E=LmmqG^k0<|L74t2FfekkUKgS#jp2cvZZ}(EmITPCqbBKl>{qK^ z#`ytbRv_M1umscY01U3&0C%AV9>kb;oe4aMDaIwe``&E)S6 zO;ys7fA9{wh}uw37O^NJqx$ti0CeyrZ@7l%A-HykQ@&F$FIAXo`Hbccg(hNZ6j&?; zv`o8)&*FeXjrk-R=~%5U{!b=MdlJ#VV0gnhy<#@;GU42%9#-x9Lvs~LEKM>G=%&4?g>ZOq8(n@BUndm9B(rqwgnOV*B<8i^+}$8PI@?Ld8D8zAVMBMEZf8 zK<4M&)`Ndmz3;_N$2rBl-^!MWWL~!n{&8FDj3NGiqxzvm>Qx6hR*B6a3%n<-JRAat`0Wj!I9c^s>;5_gF0 z$f|)km8bn=)kAeo3pwagY36633Wk-p?fVkNsuj|qK^x=CBx|zLITDLAkySafTx5~d zCVQJrR*;fphnr|d7&fG(eDx=sw6iRR49B(81n(05FqRI8^{`!oF`?yUqL!!oO>|4`fD zkBcCQD>eHvu(Hscpe%3rDrk?!t9^1p%or)-b}TIGwO`;u@icHVi-wc4DQ5196-Lsq z#*TS^BUnA&$CAjWC}i!{okbouHDEBV@RZfVk9CkSQVMTP7XA!-Ak>uXK;Cz$EH-?r zMTK$ZB)<0ZHUHBkg^4_K2Jc4DhJ_^(Y}OPU5ntKB3Cgfc8F&&A?P5SRoxdL*{`>E? zv{x%0G6)d&j)Eiur?QwH??AH5pQmdLd4HmkSm3Xs8s;iWe{;1|YJu#1UZJ9cd~F*d z20Wp1#UBnyCx~2RsHXZX3|1v8dqPprZp&UoqhE1bW>O~WmACC- zJ9fL8La>sKE(XVw*ZpyF;@%ULgzd*u;V)jXHBzK1+~@soQpAvkZ%QOs@x;9e5}5h4 zH)13&D0C$EyZEO$kbx#p=RkG?D4Bj3+UI?cGV)#S+=2c}=F5zY>K-M}Eqq!T;omysnwT<#id z;EF-i`jaifd-oKNGj?~JelTy3yrWj6B=ou}0TQyB(G$Qc&6q+6I^I9}{j>r)YoG}MA z`WYf-;3C*O(`r0D)V0~?aa)92mtV=G%eeRH-c;G2VBmFR=jai&xIMWo-<@gYZc8b5 zG37Gq{|BI<>I8fzlAC_q`x0%O@#n#T#Hq4a>DucwxSIQMKCJ7LhQyH%BxdOPjQM^_ z_bDde<_eLze`5M7*wN@9VW&fhi|L_@OzEu(Q+KYu^ufOE`3~ z+^-Jxl%A2_IxBSRLG{!%(F)B|F_pXJSE0EBArjYKXs!jkZhhxyZa$o;MxzQFG}yab|kSxR{?1pQ8jqi z*yPPDU#5r2>5E+d(KRT3d%WE@$fYup)HC-JnPW0}PIh`fqnqA${JK;W8xS#iyzgQj z#}xqCgsWt__&DSQw^S4Xu`7qa*T(OYl8n>xr z`m5tuci87lEtE~!^z6O`YQDOl5oAX>hePrE`jc%h1>E>THt#WIN1W0w-II4$DsB?r zOy}&0@UYt1@_aS;XY5Y8FCJO$f%F9bESCQPEMMJaYCoW|?5UB%uf1s}VqvLj2v)~g zF8;_9#udM>9v`~8e~CWCTlV5jgrF_It;Q7k_9miMw?7nTzeT1^GmOu8w;rpV-jv4Q zk;<1Jq5MBjADE8gZ^Y{Gy*Nf^XOzumBc#mElj94Q0i|{0_Bq%XpKR;Xwm)01s^DC&@N%SLZqieqtyC}~Bw3){)z1`yk@;+uhQV)?m2Z#f z*F66~?1H(qz5>j^ZEnQsvqx1}Uv7D$rXURINyi)Y8hYel4V^AIlovW(-rYVF@-eF~ zR8<+Kpz9#p?IpIN^b?RSlkzkDWsE-mm)X-y*>(8`>?wGJ@?+%J`g&dMsR)}sI(xbR z5BmDp({Cm~i8<82)}D;LiLE8=75hs*+x|mrlJ2sJUg>m-XaRfQr`{wQm^ohoZ{E$a znfoF-JsHd6^VaMjI+R#_M*QnDM%-u!6WG&`l6lwo_V#a;5G z7clxjkH$x+D=Nw%$uJ=t^g@I!3N_r?p zNuSm*@&62#Q|eW;i??+;1uQ+^qXuuaAc;bh-Ck|x1Cx;7$Fyg*+< zls9rV>B`k6pyGF||4Qmt+DF#UW(k-tZEf1rZ_BxcNz2XW6Uvp!^y4pp5+l-2GAOUpz94ceUe5 zGgM;$)d`lN41uz1CMPUq1ljwQTg}ySpU$+@S&ZML&`DS1%EpjuhG**2?XA7OdM#1z zwosui7O%iT4J5)#$6momDKGv;9cP-wcJxF=WnZ9>7K0QNS&k2L=BhVCgy?^y5>2P4 z{ey#k3Kqg!FT5ITe1>C>MNGW(v8>-|g%o;9B-x7*(fF4%<#%Apq8L{}W6^4Uxk=_n z>)id3CRs{({9IUk-H=E!{SqakP9v{09+K_?WC|eHUE*Z{^_IIJzc?s!=-?pZE^m#h zJCOb&{r=@d@qN<1rq3Vzjr3ubM|=ap=#jg?vYS$-a7-hw7qqyrrC&)k$-L1cn)hRz z`IPc#s&bvQ8Y;LDnEAva!MS$SmgM#~^Bg-c{04C~M!GhgCg}TrNlp4K&|Y~BRF_n;Nz@(*BGG&Xo`-aR5U zxB#+w|3-!dy$9u&=gJp(Ru`K`LNV1&=}gg+y7u^}R#}F;2!c%*dx9kM1JtK|1N3Sa zDm{-gpVRnacc5-p4a)3NYkzL$lG*@GePP=lpf+Jv(dpEuW;g)-T&N9YR6XwtaEb*> z=KC23N3|WO_Wr@2kX=u~Xme#ril{M}gs95?z{c2@;n~@1P*o)FdPt)YWM;0~;lP+z z=`s5rhtt3!i!|mGr^N3Q(pHg zGMpP-y&!8M&2>Ip8=p{}FwGsdJ;)gULHq5%o!N9AJkP{?!i73bYW0QoaZ^BRTzsBt zuGx06eSv({G=kUF@Bd?-Z|e2Ukb(5niwrsAGnMJtyog0);%Diww3p~k)pKyM!`>_U z{;Nt~2&?1K3)uGMjQ6TV(T&K1bx0>W+VSRBoJLZDTK}Q(#&^M3hEwE!E#u8OsYKK1 zrH?l+quX)Do8Lp}e{#I}Fe4{zb9Cd)jZYu-c=NS`s{0>lyjdY=uWh_}|GC1sGv1se zlBA6{**Z-+#o8fi`ga>|-Ybg<*Lbry!Sm}l-c+&>r}d9!yxF80G&$bP%3Si*k2gMT zC`TS|ZdcQKwdBt<-mF#YO8j_cU;h97coRBXHMMf$*C^MDZ$9#P^YC0#EW>!?VN+bX z)`#rj>(z`m`M<)Ho$=-aYWAqd9`|_jGsdCJ z;4Soa)(Bh^f}{GoRbmOh;3TZq*~qnbCJaBCo~l?8VRpsAN3YF_++Gz{>{8m7$lvkH z40k%LrN?GlTs;Z*D8fu9dFlNzu3MZ=Wbwyr`P5 zx#DW-tZdGWFE(iSqhjYgq)Xt=Dchu+vh*ruNAxFUvdqaCEF=V!vl%0 zx+prj9HUP&|2eAmJwEqe-oBPp`A=!z6K%`+U)R3RjBVJ7u7>?)dc%&f7rNpOnL4=r zS=xEH44u9>MQQ~8eZ^3(Y3 z%fxT`{)9}J(ZLBn8*_&F^=lEgXXanuD!}^%fH}kLFlXw!pHw|mmzN6@&H>qZJQl@9 zN z%K*kWvipB2|CjQVY+{u#a zxgU`(#!>U{?4zi5c>W8i?T}_4hv#3hIHo-e|EC)MKSB+OFY(9luRgeVt*JKI46l{{ zQ~v4v|NIH~e}zA8{y)TX%7}Gz{IgZ4CRW(LAz&NMQQ6BaW9`M8SZ}k2Ssa(nmff7% zo{wnX4u5+ePqmBJ&fgv=*-~#XRFlnqB>w3C_Wa42PeN@(l<%`A`%ZuTcgM$Hmih1% z`JtXM=N7ykmvqOre@gG4s!tEf#-2I#(`QJm8&H~0pCAt;zMQWqxthVWud3gT`sgfI zrODPx^^gB3zy9&~-4~E|Ju|KtQus|9-~Hx$Ja*p_whxEz8y`Qc?9aYokcU=>ly=6P zsk-hVDwe*!qQrOsRIzKW#9O3@4Y=$LgS*pDB4Kp^4J^Q1@<%}=6WzE^2 z>y~^<{bCw=ul+P7o!sb9%hgNS@0Mk&ebM_J88oGhg7dFiUrf+g@|Djaf#y`2nNs^& z9+|7iy+gIxji-9~2Y3a0%Uv>s0ey#nsJaWoVogttEIH_kb+2P!v6H?eN7H=4QIdKz zh;?@;1OwRl&?REsEjnF;l;xFbP3n_VfPq9pZ$Ih%C0v1dM8M|AQNPhLLDb<`%ZMSnMqESJrwe^!kT5`FQ224y)w=! z@Rv+cMa1q`BuBoe7aYu$bd)G^sgly{=a8gs9(IQ$SxYS?zb++}LQsae;JW&IAW0t) zM!!F1E`R7Pv{ui|8>$6(uc%7Swp?oegt&%Zr`j!1}P`wy?YUF=!aGN+Wz?# zqZuDiT1r}B1gOa;vBvu6->QR#f6PDMaTYf8KkT2sYBc2@`Ht+LzgGe07^B-if8$x& z>L~s5kaosy|NNnU&_Cl#wXdNG`Ch3$u*R9;(2nGoZyV#7%ft)vp7THKkY(^nJc4OL zZzpDpg;w`+V{ZExe|(eJuNW{LnE96CKa)Sc+vSht$_17>)*r{xeeq8Z=Zn=Hka)pxpsi{< zN}S-em{mJN$C&-^%b6%(rnpvfZACi^{u+5OUwi$<`1y=^ficQ=F=fiAE^**&2NKsZ zS+G^1XsGgLeyWk>e8!o8rs&I_ziV#|o{V#P-r^iQJjd*;SGgo{?5U$clHWqbuY147 zzMqmhPNNhxmZBKB6Yg;66De31rO5BlLs&Jkpcgf=9G;HL4I6rzKQ*o?I+PzstP{yh zy>#ah;A6;#jVJ@n|i`H0<;-P$PBKRT>&ORT!#`wi|l@ooqiz`TF8$;t{E1UvN;> zAo5~l;qPVd`f=L z6p;g-_ayFlK^v^S1Wsumr@j5C6P+WY0BJI&W3Xq=k2cW7(i+aNsOXu#BSNOXe_}?4 z_CZl$vdjMR+dL-UN|H9EEoD?t|8a$Ldp%8l(`*Hbm~B^1QIRo4zqWimQ>R>}T3*@@ znbezMs@*VxUw=!qHf9&1O}xt322t|ijqLYBxZVd%rmWm|6rq%i>hU)9s8$H-gQM8L ztTfWz2~q3G?aE{xJfl;fSx=h7&b)2%eJu4>iT?i~R#6?jVjxlRP1{S!SL{@kw}>c? zmeRy3hgP z;#@Vb?~&G1IDDE?$oZ4^051gLAm7kSR`P53)+VNzep){dVzHkgU3&c>updt$-CeF| zs+@sDpVY7YQ3_xCIS;{LM{FK;sM?ePE1uRWzMbb?jCeN9Z>TZI=Gb8}4pXl=PL=$Jn+`{f@2Oqm%sw+k{`A>aX@;JV+Vsm-BT` zJ8zsgUH>aXcrNZFk1^Y8$dI0DyX5r#sO?p$#p7-W-p^{=0zDM2#sF35 zo!=1Mtxb-__sFxl`@qs$S;TUCnT>VaJ4&vrW&W<_td1g|Bwt?{v)?gP{DxA7f3}PY z?WXA+IcQ0aPy>ncg$sF$=)GdN7ji&eXhk>Kg+`^2(=8h0v1dv)j0s)yB0xgs z)9Qa;QgRlnGBTBw{*AeTE8kXRW5ga_)W>G0C{u83tJLlzU3>L?e3>7v6?wvT&z3r2 zeh4_kdvSjCYIokYFS+{2nW}c>;S@KQ>*o=Qj8bHztz5;_=*J~@J?^ot*)Lr(ro4z6 z_Eq6oa@?q=8R~hfn6Li9#JD}ey%VUS4I4GWw`PN6IW@!U?g|M)#LO;-L zunErFmhEY~M8$hfFb+nt+@#}f()v|B=(cN#5H?HWGh{nPeU>;BeRO$|Tn%>l?9BZ) zoZD+gc+-Ca?)gk|&ytEuzXm-SYtIqMRSWw>&?S;CMuuVQtOSgytScppp}9xR6zw7T zquRMMWXfd_y`Kr4DGHfUr%aSfpHwFC@xO@_@^zUrb>BFZy2P4fu7CzoI>J_sj6Gav zv+&q{;Z8_01!8?E8(*pd_?0=si29&&83v-NyFe%y?*EgI{hP{^G=J01I4Rv1%zp-8 z76EDfUtX)GHMN!W?Squo8E(pHuBF1AZ9RM-&Gbh3pLt}tq`xX;_u7HPmC6Zel0O!b zQb13cu!lW~h960q8G20B?U;esx9ZcjFBh26zg~;K(DbK@`7mAAF1 z<-HV46-%GT7mC9wv>lf2u#Qkmr8;cJsqQhUPVB2)I`6uRb?4o6ui$BqvgA2crXcCK z)poOL+M?L+jothXGI~rk>U&7&>S3k!bDGt{)D>LHcxgDnlR=R%E&)fYxA5bUvAQ8%ukt9 z@P4A}UV~zeKZc&Pt$dzQsR`fe@`HanUxburHFRCu8x`J(qTVLb@kc<=dJiSMj zexcai2LPq9?jZ$w5|SA2)_MFtplbf4K59&=n&`)Zn^-rl6W2s9S_kKw9Ov}>kHubN z-JP0@0;^f49m9>G*uLPl z7tE2;?-Ngu6^e~2Kl%Y7Yq!#FqMcejeKgoE%~aVg80mx3ZsW9m&2Z71xJHV`o-*)& zPvq{|lI@|r*b-YE_AqxLCbPp(f7Py+` z+m0F6Ycp2!8)0G)B7;C-j@5JW42=oOU~&Ll_b@{6@jhL_K%!R@IbbidsFn94O`^oh zKSKfYB7{+@+rMFp`NLSEy`>?L^?tunRX&Qq`t&IA4w(|jM5_H6q;lWeHT1A~d<^uk zV{BSe8vKc(l%!H9R7BxD!5;v%f<$_enr0FkHd~Wm81wm?n2#>Odg*!9M9%TK?XLrN z{dV0ip#~@>>wfeV^(-|>jR_1^jw|SAWkagxIFrF;KQxudl*`D6Z1(Gv#(Mm@;ry|BLQQ+?!N{G)t=jjnf8{xNt!nQgMK4Z_$Ug{A+F z>mLITQi01qwrC=${_$#)C>mYxNeaAb|M&$ZMv8xY-)r)Zee_MYj|#jN|M;Wti>8!E zWj|kRM_f(Vc1p&7jq#5;X?5>CdjELvSyRdDPm0CpAXU0AlgE^V| zC#UNf`GMZY{vmo}>Py>SA^(qg)71t95nnK$CtSCz00QC|T}uR`FRgFw0cFf&j2uXe ze8)7j(yUg|;qW`Zn*m?e1v{ux)&;!+?fYPQ$d`tdDTu1DS+t@$xpM>Li>RH-YJ#( z&3|hBQ@RfqF8lf4z@L>*V90;2*;CE5ij7TmaZ2s&#n`-to852&M{3h)RQ)%{GM{iR zhW+77imhGDG}Pz;wOzu)*}J8ZwYiEq&!3dNaOY*#KEZjPPLpW-V`SgDS5&C(+q@cm z9+Ilk_4$xWJDfhX#*apyH$PzXnUhhU@5VP7eQuK%2Q%yQfq|pa=ZvQm<74zW>GM*_ z+8kS-PeU$UpO5J@(dUKtlkL*ySbu{bAGktJ)tiL%5e0zPb_;a>fECyr_&CJX+rGIPxnTGEhA3tpSYnlI>{ak3! z6V?4RdcEq5qFU*_1YsKtAI(NLmEIuwraMZIRKZ345>oDJvb8$qjPi1G{+b;2QvLa@ zFZPM*jhbC7=Ij4jYENk3*O$o7+cUVK;ON1-1zY(fB>=2)ZOD9kBo^FB)=uzt^%9{= zr`$J9khR%D6D-zq!<) zqB=F^9B|m{BdHIfyM_90Odb~|9#(HhszaHxKCV9Cmi9%qyzX3?p~?Rmsai+4AJp{A z_zb1ZeLqS4WbGIF`-yA^ZkI8SZY6rQryi;eO#kpJ<*V_9@00GO8neY`@&g$fhcfnx zP}#5F0*%1-3)$?>oLg>mYXjd>!a7%1nRk{U+>7|NoouU`Vkl`vEe2N#1Y7 zrghgy0Hq0sfP%_nlo zNpgS^ODSQWd>#5J`^V}dJ*JAE90X7AAD@1o6roF|&xdb)QBDb5+j_b$-7SL}+j{*9 z^y~+O;@y%+kLXQ#lCkUH*+L}VEpbL?j~q_L^pl+^|H)f-r!J}Lh~KTAk{yroYRfBE zEH76q+Z5$LTu&*co|46|8>Mh{Pli^I4;y^hDC*jes-D27DL*Zoacrx3l0C?Hx8|aH zlhe8UN=1BJNmwY5Rs#+KTYv-~rL+!YFVYYw>u`Dx2+FhN_Y#pFCe439^?g&bE+1El z9qR;^DXhGAJ}hemjl};6GUqDwPO9XY?nkm=)F^zPDW?&D~X1+S?NFRV# zdQvbX%!_Rg0mXLL0tpCbOTR8jplqEZeIa;-;4c*dONk_abOI@;SyD!zG}u%9<&fG* z8%V7FFv9k9i;b1Wb4%mKzLW{t_4Jg{QTRVHWQ?D{8Jc(_G29eyGOuD4mu%s(tcJfVqmaTJ|_3Gx^gUa%AZCr{m2h)c--0uf8MeGkQ_<9Q=Ik`e_f& zllL3}zZV+r^2z6}7sIwcrwLJ*_SZsN5A!3)N{~7@-DeKsdXtmc_|$20PrlLGdEA@U>lH5vl`e6H=t5rXffZ+*1br&ny0$2QEIy2j*p9#dierOM8MpMcqiO zXGG3OQt)RnAH9gy`rg~=l4oBrJqsS5k@iV$BSP4oCH(n0eTp|ob%RuOpqB`JT;1K- z4>T+z2?KObkpHJr=EmX;FaQaMng8^J#Z7}ywolo+>%zrAVw&b${^LkB`eN@gK7~^5 zixkKDx6=#d0-UUUkmU2blo6}=bxi5?)dux=k9w3dY(EO4R5iI(XB4C^co0raEPgvG znp0Qn1`_Y#?6}w7o2Jx2;uc9U*2uEd`mE)t&w;e(!G)d_{?f=Ddwi7|Xlz)&v9>nS7OC5^Xx_s4b&ZWy zB+^>Hv7s$m-x}G_TC=%6($KV_nbf-aOzCO$H8i!fN9RX7qSl6n#(IBkb9-Z*zo|Lu zUtjNUZmDmoud^)wa=+Ew9u>s(4NaQB`kJ-|*od|^G;Lf?u_mJJwb6#=CjW-k=FR@5 z_QpnkLz^OXLrr5toi#hUsiAG&o9j2XM7I{qwb^Kk)-7M&(%R76+7R6uxxT%=z5b#| zRm-{lNM$`wO||tzS2k~MscEf$^YZ1YBIMnGY~=Z0W$|cpOTk>tt^evR4be@0>hfRg zU(;MyfA)n=og^vBH`Lcgn_DkZ*>5J_FhaJ8U8sqR!xKvCGqbYh={VSTb@@u4m8n^z_TR(%YU!|TkpC~#K+0fA17WL1* z*dK{B*0e=UySen=+!EPTU(-?$sVFL;vtgIXh_Qybwo&N}1c^j8Hnm4;J35vxk3^c9 zTQ}DxelfS;TwYk+_P+VSCRI+BSlifyVY;UX)uj4PMELlyS`jy{M-@2i( zd5gcbrfFlnUA+AAV8yD^@+;pGh&%T;Y_8c@Kd%kXh_ko+{>vL$ zqwO_~Z)vY@-Kq-1>jrc_r_R5AYqY-2UlaA$B&pbSC(DIfo1@UOODd;ai#zrgcFgHu z?D5;OwzSo^*EOROs{Iq@o?Ueb~nEW*S+^?kK2h!^AOMCXE&F@|^{neIfH0}B2 zwC8YI`2%VBgK5v9G=9Tr&ui13*QGsMY4sJR$rDJ+-#I@`A7`XK52f*E%WcEeD_1V} z7tqUAUor0rdRfQP^CRaknb%(18lBhD+}6-RPug^@e|>uc9$@`e|BBZ7+D%b^Wla;) zx3+Wrt&8UR_2fWPJVx)B{*KwpvHmf?@R&b1=1-4}AIHYaWAlUmpXOKgyi)djSqoSe zhjsztvTrNDao;y&QZCN{s3p|aGGsB}GzR2@RE)YLty-Zx-1sqQ0_`v}-a)#|A-U9p{ z;auVZKU;vGBrY({&Rj8Zf!`s7i7Ut+%r(SiFXkn}CgRq7%X%9jN?hPwgihk@2Uu_5 zb8qh??gtJKb`TeM8(*KipSZx;i!G~li0)yuvCvkz3 z&qsFR0-dL-Ao}aFiyxPF7Rc-8N>ztc&TL-5-;RGV!NJj5%Eso zbA%A_A>eNaRm3^hvpCDMt|2aPDWQ%y=XuuSgcgbOpCN4{_-N~1;O7YW#QT9iBjn74 z4sa>&-#$uP2Y_!S)V;xD$ve4Cgm3VHjuzm%2qUwg1H6~8j`W?tFB4vPBQ$|uC*)Ih z5IBMV?rbMGKHzG?0dT^=Cc;|mp#^v|VLS0o;Jt(v;yZy45qgRD0loaEaJ%xM13aD3 zaWeV=)(`^FYyp0la1S_rz+D0Ogoi%h_XvZ;hk$<|96(;H$g-*ljmWYN*hUDzXD9Gs zLa)dI{5@eEIMxcw8YMhWz1B+0nnU=a@Bmyv=r|F%fNv!v-ULlx6X9jy4frj>(i6}L z@VA6>iH`uM6+{0d zWb6m}OVAIp3!G2LML&hWjfCx#Z2`WE(2p(k0v{sOk=_R!AWR`X2wZ$Az6JUL;3o*B z(ssZBLJRRh;Liw4pg#hf!N+(y(XAi2f-p!t47{1J4SjY3A0p%s?*l$h=!MP@u(T9C zqlYl?R>BMDp%?f?LKXD;f#;TCH{cWkYY2nL*aG}1;Uel90{)hei%pII=d6J@!3W+) z*a6N?;6sFS#cqNBMc4+;2yjL@wjur*xQH-HJOHdG_`q)g9w6)&o`ENYE$dn0eqbY^ z3OX&o-GptV_XB@VcoBVCZ?UXXE1)mhEB*oaeZslN!vipMIW~iS!ob@J+lco9pC{Y{KSRKRE5IYY5LiQaCw9^TeD_*( zBKW|Yt^@}g>jZv+@DezEz@HHk#7BT{Yk97?uP3VB1FtCQuC%OXO zK`4cXUf@H7`$gx#ZxZr}4+8&8cv?Ym^{2L((57t{P zYayW@-U7f)gdOnE0^CE`k6eSmzY}&7w<7dq!VvgA-~z(^;1>dKC47VQUf_=i+u&yi zIDH-d7F+cLLxf%#XMrCfJWm_-0e?dH2Js=_ZwU$FBfz{G^bfudcom@^I_rQp6V^#z z0NzWeBEA#&WkQ|!eBe(ByV1`O@VNE#arpEB=M#p6XW$ybv&6%|WB0;7aRvq&M!YTBZ0PwSf5b=KC*9n8- zAAni)&?nsod^_QO;+?=ap+)owe2VZWHZTZWz5$;vG=Y~9`e~Oiu!~SgdN1&=gi>U; zHZool3WPrJLP8F70>JkW8j0@&eu{9H_%7g&2+v|0L%@Zbz?Zs!ml2+&UBbXEgg)B0 z6Zi?jDbVQy{(#Uyd2VlfcabKU&Q^u5aAop4+EEV zK$r9Ya6RD!;w`{05Y8pu5A@twdw5(>nJyq!4` zp&!}9z$G`rkN6+pRfHDktOI_Eumt*jz-w-z-$^=f!OhUepBDm8zXjWaW+CuzgaYub zPRlx(&?)=?uelZ92+lfS_HD>ay*}VZLLK-mz~=}DkbMaFjxKD2Hthv|f$$>f{lH%m zN=Y99p16&+KrTP=xeqz%XGH z`U0;e`0-=wfY%WU;GqTh4#E&VychU!!U6H;z;6=@z#jzuj!+2x2(V~7Z3how;9Ch_ zgoky&9}+r{eF(TChA)*q1(f%=hS1vx@NIWMAN&^Jw+VZR4+8(25TGtA&R9$+CGH1a z-@|xEU7f&p5q62}z*h(tNxQ#`{!Zwlu72Rechg2PjsWi<>=k_A?+AUwM}RYXu}fs} z11}*|5f1=wmblafe2lP;ct7wU;Zf>UfM|P5crw9&>j5u0e?x@CG`T&yc?Rt3xO4cYeeV3 z+XxBt&j{tdS03x< zo>P@g&6;ss_l)dGp1oFfVb;22nbP@SUUkw_)2)wqF8$1O>*HD8SMsdCWZjzc&gs@? zCU_t4Sznppz1wGfFn2X6-7-Gg^~ouZdS38ZpP5$iU7z)%>Cj1OCl{|N z>9+pT^IxMLQfMEJW(FOqvhI4_I3^uEC+*GX*_!35$4;~DY1S0)c~i0{RA?>J2Xxy^ zy6pTeHa$JZNn>Oz@1p6JDMS5}HhXUqT4?+zX^khNTV8j(_2}(zj1Du^HN`szoh-6- z;+8KZezbV$x^mZBx@Twr#_s<#SQ84##)dG$!ZF zp`WjKRsO8P(6ec{`7mkY%KJ!KSvL)vu8ZER>E64iXHWDTZwZG#_E0ySMvW61v*bZBs|f zpDJVI%cz_2^x)QsJH9B{rb++7*mPtY5;^{0%1V5OD{j+Fm-S8;POB?kaTIZzrrXYJ zS#2ow*>vr+>E8d6_I#sh&y+qf#T%r*x2E)Wn-_OILf5W8J$`2f-rfD!=3{bBHT~lw zWBNxrJ$F5ZmyGS~k~LF)CcC`C|96k|Ua@j)*yhVchj!1*qm4UW{!z$~(q~-w_PBJ^ z{Mx*@`F5w-`pcB&E|YE-HoltAo#@QxT3zis!xg{N6+c{^4qeA*3Lh1wyq)jTiQ6xv z*sB}2HA8tfPd0sbUE|a-Yu2RhS=rM)r&*H+a8fr%Lu-bsEm~diMdQTX`0jWn z{PF5JnGyE6m-6|Va1xUGwH=#nLAXYMqK+ceVSi!#)cUe?ArT)plx zHl8~zJ?`cwoxb4O`I%^)Jh}Sh?GvmMJC3tvZ1P&uTywuMYxGBsLcTwYgL9`VeUU3( z@fzcqWJ%Xc>rv1i567K;X9ha%zF_lW!*o6tneuwL_#gc{5@6gizujdlPgn9>kO3MjT?Lk3nEc$a~L2IgL>@mdVL(ZFp6 z?lAB{1HWjXs)RoW%=3tWxtD2rCmMLBfy)gnHE@%God)(A_>h5*8MxQL?;B{>`^&WF zKbhy_N_G7{1M>~E%bk|?yfp2()I8Uvr8k-98x6d}z`G25$iOcexYxj68u%vzv*;7@ z^BK6vz~u(6Fwo|=)I7h{z$OE4Ov8JhdERN@C)4te*{Rn1F+0_I_}^-$)2v8!)0T#& zx=00Y9dE9ee(+sy>D|!WR#ICTUAVAzQ%!3m+FHX04N7W*!P*PZA%bBTqZa!}dZ(`R6!tM12ha z9e!HpEwl3)n>X_P5cO6x`r?dPrm!Bx*8{102OE>%sWoxS_d0s?`ZB@LcvbEM#cDW3_t+GbC zT!xwr*B3-8E~Ed@PUvyr!i9_6Uuh_*ToQr1s)dmt-Hy97k*n$&!#8lX#JZPw)0VB) zt~W@@n#g)SJJS@Yt%=rdvK}&NDAA;F25-{%_<-1h^$ngk(sC`l+1%X3M`8Hl3vWLc ziVn~66xTP_N9$MO2l$#oW2O1NK$$1V*AH6LldY#ct6J;pOB>d=*0gT5wr8!bkCyV) zj-Y(*0Z!$)thuheu|C9`)Q$B;+(3~uzBW*6K54+6*6fldYJ-utkE!>i?9%$08^$DC zquHg+HFc(5sD8j(Ss$%#+N5f!3wG4jx5#%9R`EJ_eXI3=x3aOmzQy{cx2my?>MxhC z16Z$k%{LRww+}c~v{Teq6ht49NJ}JA-*iI*-%R1MgN34^%7m3S$+u7u-$7u%-`ap4 zxRY+lXCowKq7~sgDH|H-K6u4C`C39_y`&0>cKVF@QUv!kNLv|cYpJi5FIYsh3~2Ao zIh*S@*UIgp9L-0B?;Swd>pangPNbgtj)o}ree4?fY(%7~h9=k|CBS(TIrLG!_#ud= zTM-2pTYRF(R=i!n$SU9Nu&nd7ynGiV65ZNTZ!Og&Q0ZoCnG=uHTO}H^p-FvYD8grg z_yQ7mjx?8BHS3#Oqt+Fc=CnWaQ0cw4d9zZpm8G9I z=%;L+_zq4(GYSTwDRRRGzFgE4-C*5kp)u6UT|EmAft%rGoWz=HH@C2e@mR_4HevAQ zyG_;!r2ne}d>{g!9GZ8&`gl|UJiL~0S+HVFuypYvMFdS=1f80ehIyOY<}tgNC!aTP zwdlOYh4U89D>TSqaNQxToP4t;r9j3B_dv@7oe%Ur0Fgmx1N`?F+~0D4$NfZ){r(qe z;9PjgQvBqqzavZad)|x2;qerOU%+3DKMvZlpO&2%u?X;#Ep4w_QZ2&~uo9Zv#$R|Hr8*2UY zHroHn7y0MeVS{|9O1^bAPtRxl^ENa!&ufeF<-mFJH8vJ)EWh5Ez52v#>kEdLYk*mv z<77j~%F3P4*vyyG)SvbynTXfd@v*unIbJ76C1g!#+r+%xpNf{_Rhc;&TgNA)qWE$Y zrMl+!^(=g{Jh{ni!$Xdpm6OA#{%WFDZth}qIWa3obC<-|e0Vh<@{rvi-|rGdv4W{< zsI70aevNqNc%IHf>1)ZWs$LU}RIUsKi>pgnKRapRqKc}LqS8o3aCM|O7!L9=zcnkb zv^)+*Wo0lj4p!FqSgXR3mE~*rK4Dd*n{M{_B{HGsIOxT}%Bsk!qEfhl&&aCsipc8H zm6q4R5JoG*r6pA&Or>?4lVh{Ls99(Ig=A@RasS2(RRz!+dQ6i{Xr_wsz$uAFAMT%BeTW2^) zMVFVC6icJ1u31!ETw%>|ax3{tDJE52Dt5Jakut(F$H`vGu3M5nO_o-Tl!xhQ((P9& zV<~WOOq*3!RiG1^Xs(l`lvNSAY)$zUYp~U@h*G%%?UYxpu+Dby=;%uOLDA9W_z^`5 zU6)5}Q>?_FCfO3TRThO-S?8vvtt_o7w&ta#t*El*J1JVAR7bX=ti)Pyc$BKER<5bC z3J;I8qO_6^NhX;rD!#NDr&+y*zE)~2ax%&p3`$lh2TkKwuCW$7c}C%@7zTpY5+^;l zHY~2LXho%Uo|7ti2$d)!Syh7S&ri*&bY)$Tnzd?GMKBn)mO81ywN;U&g^QP7AdKN~ z*Hl$n%be`h*m{K?sVXDd*OwsHatA{atJm1=SXz$3W2hx%^o|S1!@?5iQ#RT~sc7M% zm6u@=#=b;TNz98=F{`c&2TOyMFedaWtv9D;3onI{6<0>WYs)LFOPoyUXcaKcpe1%! z8L29dTuxsM90p}oMR}P*D$0nY$I(i>QKhxQ!O$aPN=I^y(bh@_Q`!_B5G3NpD9(ss zkJ?ty$yS{`Tp6lfwZdBEBx}oBvf@g{1?iV1Yf;o{CtvDaT~rl9A&X?huCzj_nUyPx zszhBTwSKOU{+n zn)K{N=bi7$E>F)sZ{Z?WcG$_jd{OZ#JXUeF8d$W~uZVFo3PVByR#h4tePfRZo z4px*|Yf}(VlzVn}WlE;dReoE#SV?dthIQ2#1TBw)adirY&`%?A%@~Aq64#EwsJg;E zV!YMKH&ci!N~%H;8qtb4Sw*E+6kS=#l_5_!DUdQd94~JqcT*o zs%oLN-buMCC_~oTD$F3F>snK6)jIi%Xl3PeK;yJ!NVe*n>{Ue!7`k&>^-i*D@({VA zqNFNlZE!M`*2)$}E-xvH;N3PlIcv&g^a&T0R1{&D)+Q&%o{`J4L(i=n#%Aid9GyVs zS!%}qHW!i+=6)cKn?xGUcN*~dyMfJR*@`|FcrPqThL9yYL zCA?X#>s7SR8-brFF38IAO|aw1)w-3Hl@nPdtLug5TUj~ToS3yV)_3@wwA^HxUW8}) zk_q`VJ}IK^K7 zA1`+KPMYqSk(WK~#Wr?*K^lU+&RC0V) zKD$TLJ#%u8pWN%2{2tG7*{7a-s(k(}H;L#Ya!)jFPB%m>Dr#ZO`9q}b^-}RPF0)3m+_oMJTHq+%vc`vhy5*kuQ2;1 z%X8Xk8?P*Ezii{i!i!5!J1xsY;bL%wHm^5lrk(vga{N?ONKo{1Dy78t>TO ze@_j}pT9u=(;M&$^i`h)4U3nazo2&OM($qBue2(bUqeK$dT?K*hD%x-Bk~_koWJB6 z{_n7P`oEL7Ms4Ls)PG8KO^5zpDfn+-=Bb3mi>}f1Ejc`iO-TVWCy2{C;9Qt4(kRT*MBD_A9fOBmZ)%; zTDX3klbPQmK=m~Op!!^g^+jU6GIs@Lt0PXQs7!0-H*zDgZi}9uBuhO{Y!yNHNv(_N zDL+c#1Y4uk3PV!X#l722sqooxd&G=mggeHuesc7{fMRL*gmLbnvaX(a;*AcM)dB#fGxe&`OUAZ ziPo4$QFp3u(HZmCx3$?Nlt=RT?Z+gX-{BCFo}KOK<8G z+Nv+v?y{;%{n_4lBgw`aZ`~*}D7gU3^>`cmqtKC`c;sxpgZei06yUFtLOnfZaFpyS zG?DUx5Pr(_?h@%mbnpZd?=`A1!Hs`+TS6b ztAL@?szthHAW*&?e7ch{I*)&(2HyG^Fe&Ca310#|O2&UOM(4Q{c<~$pGpVkZ@*E(8 zy}y#DfiXJI<&2*T%xb7hr0ew@P9G#sFJp9`D;a+yFa-zCFk^I{YnkU6U^cy7%5xZp z(+4Tf>rjjYM(4Sn@h1Q?2z7~c9mU})&-skec|Okg8-S@nGbDISdnVwI7^Cyt%sj6E zvy|oeFAk>N$bYdG3_Z)bS8u=u)YlDF`=t9%78nb2sxWLM6Tdrwt1|+x4@NF*?sZ%(G-) ze0;Cuv8U_TjL~_%!#wA{1|QRs=R^3i8~-Ntlc(y|!{|KsGq$@L_5A6Q$1czRV~o!8 zedg)d5A_)G-fYc(z?eILp%bTt4(+zlfTAfddR#wZo^`-%U>>{71vmi$qx1Zfc@9H$ zJ94R%$8H;!Fh=M3IrBUU%%=BC9=mNEd7#ATJdZO^5ty1m$zxB~4;Z8K{EB%FK=ogk zCwc6)@d9IXo~N1TyXfS$ERsBSdGtM*-F6FWF9K{%& z=OvGaJU#kw5b9R53{uZtJSTxC1q}IlwowQ|oefO219Lkto4CE0i?>Ld;*s^wqm0pI zu43@3z!YZ5w7&@i{1dmQC!v`Y7@cP~244zH%?img#me(j#^^kIGS3^}S{8aG5A|fo zi4%`Z*Si^`^X$t!*8{VM*=C zU-H=X^8{mb9-7S;&zBE}JX~km(?z$035?ED$2_wqr&3J|r9Ad>aWP|bo(AT*6PW7L zB#*t0`ZZ&8o>|PZ8=A*WnRuR~8Kd)@$UO6a8RE9!I4F&OV*9y~F*?s|2LB3}>ZMYi zcY}v&M)AmeuY&poM(4p%PyTZ#Ftwat_Ij+q7@fyIP6=H1P+Sh4-H((Qoo4~dvjCXk z%VoN#-^4$$er{ll&T~409|NYQU-Hyic@BVC35?Ej2J~6^O1;*$+dFFW@m|?b`>%g(6!BY#h35?Fu#XJ`P zGsyL`JzXy`M(4SJdHUcZEOqfPM(62go(qmeUFWdpKQTtsIu2%ZH&=*E@z(40#n00X|T!KEBN#q#^^j( zGS3_9P(Sxcc~BX7k_i)%jBSk3d9G!i&jLfYvx#)!i-qUsjL~_nXP&BQsOwIbJf~XI zbtGeSo{uxnDZr$1lE+@pFK3L-b2Ib2pWb35~#0?aV`^M@)dDYm43#^^j>WS&n` zT^EKe_Ebe=mId=D^#%cXu=tn%#BATc`6 z-OO_)Foh1uGmoTVE~)3wGe+mRhk0HEhHhb_fC*K{<6rr9@M-1@iP3q!!#wW=W~fv0 z+yS16hCKH(M(4Sod8%f@p1Iz54Rg>3DcR|a(Rm(Zo=*WYg8xOjT9vm0oE zj%`Fe&-P<)clsEk^Zb~3z5z@V>j#}o<&o+7Cu4M;N0{erkfoaK2OUV|kvtz_jL!2I z^ZW=H+Pq8w6RPYyuOoBtFgni@%yR}XwX7c~)KV^PW{l4B6!Sa|%$j#gdG-cR@W^!i zi!nOSZveFEh_4W+UHMNuFl#$Xp6OO+QIube>n4=OJK*5g!FisIs^3&z~$Y zI!_fxIsvW<-KHmaaD1*ZTPi`XeW%3eJiAFq>cCTw7w1WyXTWnHBomJWoy!=VXHN<7 zZu~8vUJ&w-A4Q+UBSC)#kHF|W`$|Y^CW^wQD8azYt z*zM=DjL~@xWS&0&Q;T+2q|0tUKY)8BFgnjc%yTQ6zTrzGkKKOunlCXr&l{Pi3z%By zQOIMrpR*Q7jLvf?^UPj|viw2GW4E7!;fD&0&T|Cwya-GRTygSDX^|M6=P2fR4=}at z_rh`I+zvin#TcFESmwEt;$j|qyZjf%=sb1Ib2LPt8>NGE@lPz-9*ZPK=V@T@Q@{)| z&yf(07{wz&-$Ju5FgnjH2}xazx{z+J6!O49vGDwiF*?tQ%=0>wiRw!w&rw#MGZ~}v z%x0dOfmwQi494g@&CGKtFiX#s z^4R+YUuKNXvw(Si3QR5YP&*hr67+wJ(Rognkkmo&5jI>W<+%qW{1bn=gfTkL84P|3 znA!%(g9=u8BxsK%5~K5+DIuw&f!W0M*qgv&+F?Iqbe{Jx&pp84AV%K~;lNn({TasS zJZ;Rg=b3nw^+Wl-8~zuM1a&b+=gCP(>PNt==KR8dzlCQrV|1Q8^St@2RH_N>t|(tr zukug)Y3kV$qw{nzc;-1MU(91K?{nTGF*?r$%rg&Z8gi8P2N|RD^fS*al&#@GnJ#;I z|2kuIo>k0q#8Rk){RA{XmU7z77@g;R%yTC&L#Tg+p6%u9kBrfIE@hrKwjnQIXM)Gx zzRzZi&T~2QWPoX5c~Dt51G&Mfl$8$1G|^W4rnCqp+)jZ&V&z(X1rj|5%M7@g;f5|Vm?Fz7dm{8|A5{)s;w zit1Kibe^v;I19{hhvbQ&~MY31o%DKR?F6U=k@g?M$gln2*uD{H?c=zFj)fzf%Ml91HPFufYC$L#g| zsTWC%&hs1Q`8Y7OD2GBnX=}QkVT{i6d*(Uzz2Jd;2%f)zXD|FO9tm2-7@g;N2}#`t z%o>yp!GjKorM&NPvBc;+FEURvFdL4SJofVbVaDh@e_@{cfLZ-M$%8^-k>^PKE-*UJ zOU!d6FeC4jJofT_-6ayE^SsPF*S;TdogjJa<^3~K6H$~^Y~GmK&`^lUHhw_YkS zI#1OED8hR__yPQ39(#H3`k=(6anxFh3!Wy_|mWa*5G-_GF%aeF%OO>)BpT zfAe99(Rub|p8Kyrop6ej$6iiJI?qwe^L}6o$4Z_z zfydO(y^PU$j%A*|0aJr^PRMft{_MjtN&PfkCowut9rJt`nAACv=PtvvkI8iC}SdB{rE$l#3On3TrDv=&xy?QF<{p4cmfQY zr3gNKmoYjI?H&`)?|>;V&s$}%_gBjEn(HM-=SefqbYM2I{osowUH39Z=V@l1cYG9S zci8g}8Kd(oV4l-HhW3=@In0`_A2LSgIh}dlaRcfN&Ud>#e~mFZ&l${f(8r-4*tE!Z zdwHM97@g-#<~a?RH9T&!9_iYX(er;ro&eO&`6K+KR zqD}I^VNf0^Pcvh5o*eUB2}}#~%(lw&O~&XvdFFWvm<>y%JZR`GcDVm1Bu3}yVxHN+ zwD7nD)vLiH)AfGF=sXuN&$kG}{hikYB={tG7TzQ=I!{0IJPk|%ex$G;4D?w1s7r2^ z7@cPo^St4c=sVO(o+GUCoc1Y+(Rtp-JeS@Adxj4!JaJ@kssL@fnHHc`j$3zRyDDP>&5t zp10#YQ=acKM(4Sic_!SBIS%HTVda^}7@gcu*$P~NMdxJ?=a6t?nIul zJoftMHD8w)o#%e$`7kiGCrWwj_0OT-kQklkLFTy|nA9}MW3PWcf0xAQJP$F?^>?EV zchno}8Kd+3n0a0XrUqjHBERhQ#wWiiF*?s9%+v5K)Gf`D$6ikB)=7-c^BD6Sc@OLv z>J{?X%jwkrkr9$;$gC6C>&`xs+%p68k8`@jq>kUVz3?q7`2 zd0u3mWAB3d}US*!Efk`z;{Y=G|;F0ONi!nM+)vgl#IK_o= zkSYXBsQNx$D1)pYyFCvuM(5d= zd431X(7UBPM3W$lI?o%K=g9v>+vL#CyBVYN(CHN7xfGb;Go?I- zTjlu)V|1P)nCHMBzz0|&dC2b#9;u(NF-GS(ig`{()ivVa`3z%po@1HkZ@_Hgb{PfD zqUU{nC^0%u9rL{TN2oWBlj*Xz?`J0Y zNi)xEV1^v|zLqgMPc!rE`E&5RU8c*P?|){D&a;4de)=fv8QCrB4ScZZdE;Xeqw}23 zJiqz{%KJMdk3GNs_i>5QdCp*-FKxHs*O8m|91Dxc{#tM(4>f&nduEqZt+QprW?q*L{r9dGgFt z_aw&0xcz!Fc!Eb-_GOIGdAgYA5nu{Sr95YY#H{E4!x)|C0_HjLDYU1^CXp_Cd)mer zou{99J`T)?qnv)9F*?sG=J^va)z?aSTCC~H{90mkp7$}&kAX>{`4j1So0aFBrzJ+` zxs-W+PZ&P*&8A9zf^?q0^|Jl8YN>}L?ySyCQqmrXltV~o!8aprk1Fe3w! zXB~KU$N%DydOqOy5~K6n%sgKJX4CPK=P*g({gpgZpOqM$=hMvdHDETde$a8Yq-*a# zNQ};NEAzAgQ_JmzJ-_BXCowwD?aXuB^RRiYSI>hyW`2E`F*?r|ndb>$QkO{m*!BF5 zKT3?w^A+a#EHE`FR-$~__53%+=sb5a&+I=zhipIgdTb?Qbe_AJ=XPLP9QD|ODf2nNkj!!NTn5Yoz=(9&dAlWmD&hQoSqwidDy|T6qpeQ&((fhaq@fi&sTwgs$=#1EHG46#Oe8s|H14dFmduM_Azlh7XWjBgXcP6svYut5tteW&jY|r za`5~Pm}49~yHHK&;JFW&MhDNuRaL1e%wsQK9lKPe<~Vp3qY|ul@H_)di-V`QYn6Ak zyvQ%RJpTgb90$(_cB@LwcgVBn?p3(7F5Z4t1GB`zbITr8siK2tEey5Y!E@A}RjI)k z9(mGrfqAHgm9-Z>;*n>JU&A~nAoR7~Z|Xl^LR?euYFxRf->WLMo_Q!Q%y#Fyz|=C2 zJ-;s8yDIglgQs?%s?-S%o@;>_aq#>Rn7Iy~x9?k(dcnc-QD7E3c%B7jvxDb&9DKgi z!SlM;R;6|YCaxZP0hmq)Pa`U*Y6s6{zzjHeHUM*ogXfU_s#2FZc$NV}HWrtzwZN=) z@H_=fy@O}}{i{;9ICy3O)8yb;3d~vu&mb`KV|e6A@-2RenNYQw{d2Vpt^v_v-=@cscV?WuAei2dCtLe8!$IHct(KvyMyPDH&&%?bMTxB4B2X2c^?2~ z$ieejVD@qF{4X%~I(YVfQ&nn`gXdge);oAE2WGN^=MG>Vb@03bOs#`wKDPCYICwq@ z%n1&j=YV;^!BblUf5X8u0L*3w&pKchJ9st&vnyJXINx~Iq3|~xJQo2|?cn(~Fr5yb zSAaQ$d8$Rl?*EIT;62TUiLxAL&o=^d4D;B_=?E~FIplfk;pp!;c=~`@?cli=m^sX2 zPuH%K;cqy2<^!{sdF<(W1emoBo_8IAJazCq0nA+vo^#%UJazCq4$QEFXVHC1B{zskrj>A~2gAJhg8{o;rB?fqBKj z^FP4c<>2`Dv7m)Xxr{w*o_TLLARRU^Y8=3cygE5XbXTV0Hx{&d@f|#pMz&1Fa_qZ zr|U*w);oB94a|Up=dII4-2zzT9LGvv1|2;20Yi059M8mh^ck7QuIB~7P~8&8^HE@K zU>>`Ez6A``Epa?g0&@%V*yX8f5Oqr&&xe3n%RF{@cAo*?513dUV1}5--d;?Y3E$7b zGYHHB%wtd2pMja;;5oMueMaW7r)vb5dI!(4S@0zsJS&e!pW4B5)!SfW%wtd2ktd)} z?cjL;m=_#8zdupb34leGi{0M=8)Kd+K$_zcuWJ%@LL5)cY}E5;yhQtTxRvKTV5m-r z7ozL}6Q`el69$V40Q2hveDELH?|$cL@F5*M*Ad3S^B6Fb96X1#0OR1v0W;ab z^Hst)czy#+t%K))(}8jDyaO1z!!l0K=Ml!i^D$uNI(Y6SjDzQ}MHnk^@LWL{2hTTv zS?b{VHDMe)N3~+Cz`;`_jDu$lFjQy8>G@&8IC$z7W30fzb0c9KJP!b~+QIWz!Z>(# zc^7;(2haZR2FAftvjjeygJNoND&;8_L?)!}jZ zeg|Qg$6h}_3(Q6bPt7^#J2-gKz&zvNIS-g8na5twuK{M0gXb5(JjXotbXC6x<3A3b zQ-RsUJoa(O4+Aq1m^eK@01R!@M|6?x#lL|$z`@gaF4_y`vCH#8U}_vZKLO?t=CSMf z4H=9TICz!7T{Kvu53rxF%=Uc!O9Xzi9Q(zu^P#)>GbZ6lkJ9tKb8DJi}{aoA*-`K%3 zDTnsL!E^d@_{I*Nt5%@BaPYjl1LHpqp2>N%7Y?4L^UybU@SJl#+6xEIMV%P`aq!&K zh4zAZ?0)$7fLZV0d4Vv@W6!UF9#MzK)nmI}01Wfk<#|&te13;KjeV$}naAF*TvlXYv5*RpznlCkqVK;c-0w4a^D5W7p5#t3(|h$5RAmu7l^Ii$onB$20g| z_~8zogD)0!cpT4Nz$|s}eENN&4v*vc&?WH09XuDjU)14oJm(CeUUl%?eW|F!<9J^4 zLDZ|vV=t#K0duh<-=Dk;buaVS%jq93$M}zf=dT~a7zp#&?Qr^sG5+J=DFQR>;Q0(N zYaBf5fmzQyc6;9A3XK0ac-{%jqs(JZ*LlFKbMRaT%#+Mxm*)?_JmBDIx)Sv&^VsFN z5||ARo}U4;iFxeuR9^*|9XtzxdBwqV3oz6c#M$#7ftiS1Ai{sP`@OYSV{FI4vl5s| z%mc9U$oAq+VCd+?IC)+GriOX!`gz|q@YNkWuelaJwu9$*U?w?umIKr1;Q1&plN~(Y z1!j(eXYO?v+i~#x444)N&$%BFZAzS;{|L-E%wx~5<*P-T636pfVA`3-o?orki#8>W z=K){}%ww15cfe4a634U4M^Vo+k6oT=z)+hK$FmHW%N#s6P+Sh4{{?0>^Vrk1@5e-& z5+~1MU~Xa_d%8XV%xZ@`L%`hT;CU99TO2%x+yGzQ!E-h+YaKkF1m<4mvFm5r$Kk6x zczy`X1I%OB&v`eBHZD%jdwl|RIP=)$Ir%1x?KtGQ_-2glFppiH<30(DgXg!vJmcUQ z`V=q@o=a{)yW`;b+^0p`6sMo{pFz9h;Q1S29P+&BvuJnrmhFyRKUWe4amC5=cVG@+ zo+h+9Xk+|GwmT240mi}enOjjuF^^rIKLSH-Q=B|A{u_0agXjIgP}>y8vmTgE2hZlu ziMA<@XUgrUqnO8T&)Lt5wkeM1Ghe{i1@qYbgkP-{ZBrc2q%Wb4VjjDmyMUp#DURoR zz}({CdCiwG{^Q^|3z)UcW7p4pz!V)klkY%%$UOFRT@TElgXiDC+{-+6d3OCO#(x|< zdwmV{A@kVfxe6F+Q{wcz*AVJM2hZ)mP@59R({v|%S_jXxuZuP%j%V^W;L|#I&H;wn zlsKLnfcZP~G@-^Y>x~(Ap)cd$*$7NM)EhVc{Mg;-%Q$#`_D%H7na7^*zx)=)e;ho& zT?e0ydFljldKgJU<2I5C_l1@1QI*k6k}!0W-zHa|bY2FpoW5zX7J+!Snj>qL1(3 zIRls`2hR<_ta0${dmqMs96TQa<_-tX5HL#|Jii2Hor9-q7<~{2PwIZuhstK1!ly-a|JLrICzGDdBMT+C@^ar zJez^p?BF@}0oaCvXBjZN?i*jPehip(4xR^qsdn(}|Db3q`4=$MR>tw% z_`j$V96WyohT6(Fo`pX^o#5c#TA#~A-{@O<Tz?BIDAm;nb* z{UaFvaq!#%%w-Oq5B?0}KMtPrehxp}!Bc!x_!4pXb;)D!!yP>5{Q`OFkmp^G!w+}x z?6*<)5^?f849r~)o?V|no;u_?0hnP2&-uU%ICwq@%)<_zUjTENgJ=I=VywWyb2Tul z9Xz}K3S$Kho+ZHC;^4Uhm`x6zUjeh$!L!$s7%N~Nd%ckc<}L@%ATYb)sH-?X{A<7r zJ9vH#Otpij^(o;4#M$9`U=DHcEcrF^)FIDvz)WEtyMB&-8hPsA=?12jc>q=(S+Cv) z%q9m<^$6+~2hY^sAWt1U^M8xF#lf=?n2E5BI6b%j4t0xz=W<{UaPWK{n5E2PpO0&L z2ID^to?ikp$UJsEFZ(^le;ho21m+qC&neGh{Kvs_8!$IHcs}w6jQ==zE_x1qdQ-_{?M1^T&WW$HDVYU^Xz1UC*ce5q(An&uzdw>EQV#FhvJX^`GEtF^|2R zE&^uI!E*yJo0!L*uJyoNfm`9m>~zxA%BL?=HQtN%)JhtA}}?~W7l(P6UKiWJl6no4D;CabLwBv*K_bp{44x< z=CRAu2F!?q=YN1{a_}tu8~S<qet|3Dw#!Sh96sO^s9c@CJ19XvDtPqf`}JRbt)3g)rf&&$BnJLKuy4ByYe za|bX@4xSf)xruq~cG&PTY{S8G2{5-gc!q#k;^6r$Fhk5^*Uy3fgl#x@<^r>hdF<(W z2$(_)&(v(Orx(YH*I?NXwzp%wG078*8%vjp&Qoc@xTwI)lfnE~p2J!2&gvxG)O>qe zv2F59@~nuHLmIBY{>o5DJshxb$P60m_A$lWKoRc`7|e|ZGwnnUGo$Mi4w-R>!8~X% zlVyf@8U_qzbbiB_88q(@miY>Uxz=DV7|a;rkUT<%GcGfjR~yX77|gU!Jd}$1VT1W% zgZU`v6 z!^}elGu5IYo`$&w^BRNs27`H>!92-eZZeo}GMH&)V_4>4gZTi1xzS)=Z7|c?OBXY> zO<`@+8q8N1%ryq{dPC-Y4CW~Y^Ps`J8N!5R-e53KG?;4)<^h9wqrtq;1wqj~L7;gSpyZ?l72Xb$XcjIfI!-DtwHnZ5k#T%u5aC4ug4^uKE^(nbwE<7{5(P?JwFoZkuM(_)mzZfliMJh1AbAnAaK1 z6AfnaPD4Bm&l${31~cu^2+Le;Fh6H7j~L922J;C9^CW|rM%BVH)7d_ukosDKc~^tE z#$YC&Kg83p!C;A zjRrIIq(TxltTULa4d!8kxyfMOU@#9E%o7b}+Ho1y#$1E>VS|~@#R{dOK4mb|o>?EW zJl~mvUw0N-^MB(6dPA275IoWo7BUm_ z(+K5A1%_N>e4@1sp3D}nd#ZmT{V*_I>{X~dwMU*X`~dd?CTob`gyDRC8n#2~v62?T59w!h3HrH$^^@t&UD(yro(mKt?Xal?J8VMqrKjD@caolD9w|ZQ zud~d>&c43>LLhMpb<03|29?4UvL`M=E`l~VgyQ-HY9x^^J>OS@T|A!$W(1ifY>e_E zD2S9+dcFh9lh%6dqs;RVFfUs%g2U7^u4(bcRmJc0Z#g!$3HYe;J{2mHtWN6%YcHDcyQ`cMiLjsOaynRo%s*k7v-$2k zIt#YCWt3zlzb>*~_3W^D_L5Lugw*WkSMym*otTqn&vj$YYKg&6%#`mNO3)##>J<6j zmFw*d@|-x}Min~{+Jv}Vew4tFZ5#tlan(dLWz{XQdiKk54T`U@=flYyLyz>es^N;j ziG@6egnp+lvJ7tEG8o;)(X6Yh?EH~+I8f|p@9fDcYLsQCa9}xQ$1E4JeUH-*rH%5v zP=d^VXPLY5-77B4bmTev7Y zj(*ck#2kY$t(Q)ApcXWEq~}nIC9vkJP&~DV?{`446(#QM$kKfbUKgc%uEr9S?kBl) z69%13?V*xFJ_yVQ4ztz9r!nRhU=BUp7MIYR zER{kYvdmYJgOfvQEhh(A8&!=V4*DW<@Fvc|S`$+cy_>n5gM=}2nk>AfgdAL<=3p1B zT&d?c?MN;%sKinkuCXWq(vw*ubD79256Qfy1esT{%y7dq%L{e2fzbHco5LtfjVH6- z6F=X}cOR0nV}xL4+QX%mP%___;y>B{S`v^u0l3aaJ`|kMsegLddM=`-i=JC(z@- z++nqiD;e`FFzF*~b;8w*`4=#Izr}{RmNAq5U6nf9iunj*YJvH(6>~jfP6p=PN7~~0 z7-L$2x!Q{PIAaRHykfpJ3nU# znEEI*Pmfn-t00EOkNS*{fk>!n(E+zScla2%F2J0Ff5|fo9+`ui5Cz3Jp=w(2qyK5N za**iO`SM^Q7;zQ+7{Y(n`xr9A301ZD*Q^B|_c6#sU@i_5_}_l(V_*!x%*DT99yzY{ zGtP_7{4z{kO$!3ne`Tg z5Vmy9MyO_o{v0CdnSQa!TuQoR4S9lZHR8r<5Gs$XA*sa|eKgO~6omLl`WY-iKd*%K zBh`~77XM3X&?`If`VkmP`&oE%%j#!t3Ho`Z1pUx@B$xf{3-t<{Cyng$AGHAW6pHzt z?mn-4dHGI|)Spq}MoQ3_z>vnM9#DA$KQpkXi5|E5PdOH~m^EhM@%_w+r~zCSRf8cG zm&V@A8p~t~nM}qTw(nl)l{k{W7CPJ%qaVV&9hgCgD&iuU1O1SuWo;vPNQV$!!Qcz~ z>VxghHG2d>aE5v73s$xv8S_DMShv%a8ifutV61`!jG)kYD&=Ia0xnm7weGX zSs5z16w-l^rV?~0Fr>p(cq`nROC7GkFBR#~pH(cBpdT6+b(Pa<%oInKQ{Oip_R>x` znTjEq3huvixnTc!GwM|;N9-*()C9hit^;5{Ug2&%qVCK7O8-Ciai%Gkz)knrIUG=MF ze%Z#%{Z+V)GMA$<335&OAD?3)tBzQKrnq7nO2Bld11_RWc6f7FP*+K9cwi2dRqcHib{ zw|mrBfh_Mq4$AVbEXxgpMtP?@;zMO{MmKEC z5Am&KqO_K>VlNo6(;Z=uTB(u(TIJu5j)*E9+GFqRYvTS62(p{AlOK4`?g)`%TWUs%E!_ZqR+CW@WL zd&6lTGGd=-#7-w}g*D%pD0bQ*8;*UQ5qq@}`?E&uO^IT^#)y5`h<%a~`#+4>=O&7M zwGsPzBla32_FaND&aZ7+62*Rl5j)**7s`wJDMswoM(j%x#eS0!`$i-7S|j#pM(j%y z#eRzs`-l;HqY?Y@M(iDlVy9Wxke(Z!Gh%NtVm~Q}-EZFyMo3iqE`6JzwUWM#(xUnH zQ;?~!`7NXD+pIxT?WH}YFB8ZteH%q)KkYMO(k^{~F-%weT$x|deoMn9nak0bnYT&X zs5&fgYWz<|y2|n{nj|y(HXTwP8B#xNv~lx|x^6&POIfkcF=8(mv9C8`Zx3Sk^PNt! zaoK#33Tg97N`0Fjl&Kg4o4=+6n-64`Hm}I+r~S;Bv`gCqcJmUq-|8aIkKkZbd_awf5)V7 zxP6~1<&id4zec7)hRit3u)3>aG%u|#;E`6R#N}JvnlZGx_7bcvkXc%tBC~IGv{uAr zbz_*W`n58@qAjYSMdoreX69yT8!=;*oUXF0?g7axEvlhL$|FPS2V^Q_$c%sN&9>@W z%UWqIWyQYUh<%C?`=Al~?t#twu@5DR{b3{aS|j!=jM%G<*w-bBo%Xqe%X^~{`)VV0 zI-k~m%eVRO#n`+o??DdA@~-5vuft)PiZSqQT1qJIfy}bJD>D0Oe>^7bvXvRbbk*M^ z^DDY6H#Esyj>gP0qhE{h%304=#EUiwF*|)mC#iU(Y-592;z991}+M*gJ$y|=c%)CX~M%7zP z-^Ncn?IIB^Y_LuwtDvvK9KA9JohX;7ehXJZ=E@nun9ohhLqH*45?ot^FoHq_(f25d~Ix$HeXikgGTI|u{_bNE6OGtkZ^S+&QS3{M*w-4dQ*|BE&y0yi?6rwvUu?v_#)y40T8D7#be2xo>KYTp z-eSallM(wSBX+u5(2w13sk^}w)fbi?TEHVcG$k&-y=aoD2sg=I<15!JaqDTr$g_R$ zTh#h+-`AQp1*~2wV#fIcnWcxO$n2+`TC1qEOAl=f(^bDz+G@1-)i6=|6498MS4i9N zRv>#>!2ig-6}NKQv#VCnvj1bTj6T=hE`c}u>ndSX@OJ3=0z!sYi?ylNl`3Os2_(-y zgjn9{*9lc5r}=!FWkxEhpgPTCq&FS{M(*c`;@JpHBUXYDgIK-qM@|I(^9Nw2VEYIC zqMvmpG30p;#d)6on%fO>&8_$1-@!~9OFU-jF;1hO{Icw?XCwAdh`Hlw8fe0phPB39 zq@*yp7jLVYOaI&1{mkN@p=;GdPP$o{oaTfTx-&a6j!LB8PkLOnW9SAXh4I#2; zCotdhvGh%ZJc7TCEMexX?h9!>@#+xI2rxsw#>89uRqc|x1~}4~2x&ry^gKn#IS5$; z0ABPlmmoxreF@CfgxOQY+>Q{rnoeN8iI71~JIGQ$KnOi}(P#bzLTdcn5x@NtA)7+6 zAGFIZsg|Rq=8<2WnKrDq=Cl)IBQVmJ5IkvwY!0RU5`=6Bgv`YTi)V&jV%y>p6ps^cmEsl*56ZKLSh*rwc!&Zl|}rbV&)nj*u&uhcMqq z$m&qqA4iBhvq+@tdBOlo-$cki5fVOxzp9wi8Eoa7m-t%p>5#{ z7N=VLG>NyS;H^!exZZ;h*<%%$JVFLT_WVACAiIst>uH2^g!1B_ z2oYz`%Cw)b`!1F&?eF%~Mvk3VaLRvyPe3mdFdG_98 zm(<@wsW<{5wINI`LYjafR>7P`NOee_c7({jr@&l*5OGejOzBk!k#k!DvkoC*j8S49 zM9Aupjr|%SuY@H0KZJ~ga&Q{D2^&MDU^YVJSe%Hfh>)8?dcF)HSA;@tM979vy6!}X zIKx&-_&tOShP3eugoyL8CFT``h!a_5$c#NvBZVZKhY;Fp7Lc&2mi6=&5zi8~ zXM9Or1xyoTDC91L(4M}4=K+L-)AcAqs`;%<1}9c#GW4=iYrSDFp{Jl8I|d;WL$S|9 zh+NYy&?^ukdq5)OVuUOOGkp^wHzQi8i70RzSAY^UGdJjiPxHQc|NKHt>(-Be#@#GOAXa9FeW&OHE%s|OJ{Uk6WcneAM zQ+gXh!kYgkLgZc;A@lbUB2M|1Jby(RO?kihLH?hMfLX$6Z|%(G3iw5ip^5jO0cJJlPDUIPm?N^F_InAK zktwPj?z%7XiXbCLbW*xQ}$ zDx}2jD#6S`0L4iU2QwPkZkc1~AWH6M9#RzE%<;D9cBxKL45khTTkjtM#$eNJM zcOyj3GYYN#5g}_svA=?liJ_3X*8>}p=LCd=b$B*HHuGDaC1i2xW+-ou@IG(i;#mB_z)6(F%b)0s&oqtM* zXCA#3(%4xD8AiebJzs#3N&FVt+|FEgDkb()%T!ze%*K#5K829l5c8K1Qo}qX>o*ay z37H<~`Bw;$b1ou1e?W+wi4Y;LBIG7c7x5f?u<+0VnVS(3=#VhyBV=yqt;-Q29;Bjb z5gRccbg+Jw_vUgG&rnDkFVS26sH2eV zi2p+DT-VLOx2d^~%<^8^u|2gtx2%6frmeTFdqu8Ke$96;?~$L|mM!bet(4z7^WFSX zhyfX@Vlwo-tF60jMXtTAP)K#O^<}bjQyj*Y#3?-a?v-tw`Sun>-IXimdgqEWD^u^z zcQ3#d85kL9rK=(O3#qA{V8h1?Q{o)f$y0lC%L~Qcsgep2WQwZ_IYbzGF_S53AqD|% zpvbSp(Yqq548~{9H)GL202iSIZ!9~IWkq*C3P(2Q9j+oz;51Nv;(I#Vfi3V!od!-c zQFZ(qv&kdLfZ_iUm+Xe?LG1a4dW*7PBMh@a=pf?8%z~cwj91g6e(LLh*&%VOJjIj-WL|}K zT5YDKH{X?mArfh(&;!$6b#h&Lxt8!4AoHqX*zrgN)z-zFP(^t!a6C@=DH`v1*0gUo ztj1`uBwohSTAYr$rg>F*(Y(c()@k$~RALL2Z!D}|2+M))viX+QOlvLS%`isKJh`W< z(AJwnF1C1Yw$^!XSi|`(CGFB)v(jFhvoQQZTfVn>UKYi2W+syz7^thOn+9XfXQ@$# z(GW;4{H<*$DtH#QX6kA)t+`H|dRo_4Ob6wNez8~}y#bZZ$t`c|?<@-IZ1>DFJ%3qk zIvrDjwsomvG+u05)+uU;Euitn+y(t@ota_}vZNCIQ;yB_Dl{RkU(-{zi2v&-$D=c7 zdrPD(Kd03x3d$|(@h_`rMtKlLf!l-T3QLw(8q&}_v_8jd2)3diHoer%Q1s$?m0M0F zRudfa__w+i=2(1lCaTt(9o6j2j%s%n zwt7EVyc)z0x)SO{E}uKP5>$Jb-rwEROFffzbkGXTi5!feJ%c5v?HufbJ(t#o3^hza zCTyLUXW)SU<@o{OnkDh30zY0gd%uri^?veO-vQfFA}E%`zPRtd+8qs>AR&|CE?)Vr z>6USgwh@VKnoi_iWCq(M_=Tlf4NB-Doty<1$5xCDrMzTE3*lF(2PFmPs-?@&x^v3KHd!sPfd~%>16- zd~sFgg8p28uGt?WDb84l!HJ&UW{j4QP1nI$kRv8a&#Er*>#7XXGVk&t^F{-kI}l$- zI$g)1`L05zl6VfMvBMa&Glrm39>k?`dcP|yQYF5Cf$L=ZK_5}akQPQ!`!RB?O&8D) zSa{HB8!$>Q!XVOgF|5>saiv^aSM%b`;@V8Qb%rv`JPU)|m{{>fp|s&HOZk>**22&A>=HZhV9WP&F8jB*)4&2ua3}HuCf@%-CgOH>T zT9Qv8I^6jIRO%=BhHW(DV-&fP{&LG!TPtR2TI&;*OnzHR&{`~5TR!*zm@0`@ht~=& zCa(n2G-jY%Z`Nqk$fSIbAgZv8H`mx*{KsXA)SS}Ga_N4$S1dgvq8zWBN0lnc1QS0zi*TOgO9KC?0{XY~_xITR8_9=p^* zIf?mQVX44c8kS+bN;ju0x!Ez%=*Tr49gMLTU? zf0GBO#qf)m(WCB;w^*hU0-GGA#a}3-^IH66yvXsY>o7`uzsOxFPI(z`a?IuTq6+iH zik^gTDlsQ2u=R!hz7A^J#bOQA$w}%Cm4zijE+ixC%U={MsHupeVp*madkSnBiA3=k zSdxTFnO=~BR7Rl6p;v>^USRYZn=(9dt~%JQ1XQHYGwSAN?Vu4~Hed-K~BNT8PW za^pA4YPk&XDk>N~;J20Z2OTJN=spOgZdEY$8iYI0&KQFEMLVZHWhna+{^Wt#$xwe# zV%OfAMScT4DbW)T({dLeC0T#0wC^IeD(-IHCqfjW5 zFacR5@{!K4^El(rY58l;%gsPf^&y%{WU3{5%J&s|`uwgzf=mo^R3ObvT3p||GAEbg zm#Z4({R*VOnvw;X704%VMJsjcrQzvIM2St`4H*`$Wl0Tm|SXl}I$hH)d}G zOo9{z@3R!;TOikIE&i6Iax+RLs6Y-+vDvmlTNdjPk{Yp2Qh_|PU@etZHX#O#Es9SQ^{c{At`L?c0lr|;Io?P%DIsmGOCaKcV3S`n zW}z|cjBQDnU@A_l#m>eH+j`r1tTIzHy z6pu+p3s-x~8Z-tvuL5bz7={Dcc0jIp?h&U z*T#EWNWE1d-iCCw_1jUkpjbq?eh?pfk$mY`n1W?V(3h&4ZW)~z6&@)Syq9SiItYL| z6F9;I+nmepi=@+wGc8ymF#`nzhXD2GywiJNyfZShs52T9)vajZ<*dPv zv6ITqmr9LKY3ky{(r20jF}*o%O&sdLlKZo`5DfitKPWC5uL85Ysir34FpKe4tax^$MMIqsTD>iX2C(+hKON2YuxNTP z-<{=o;0oSXq$sx!sw|yJIL#SiP$ZFyU&2+bf>zcsmxy(;hwCUiD`T8&YWcBqY1Y_U z6v^wz;gA}2Uomn82iV{iAD$*_Zt?XJ>?xn_?J1{?p31IrnrNF%o149E>lUPEZJ^g@ zPpq6TMg8x@sBDQ=VmIWv3YhMeD*!6vP^Gb_tzmg@Pj|3p(gBiusC=-}8wa;-q3qsr z>@o!y9I&U=i`rXJ=bu9AhAEs;txcj4pYb(K#nnr!o3tY-Vy9hDjjlE(J8<#PT1<6t zvIO@lQLzyxj@oxNj7^+M2`JgiOPthnV#jh+qEymat}i+Rhpy8e%L*35hba_UwEn+5 zPG_bZ*`UD-Z`E<+USP*7YFx%Tv5we9B>t}|LwL+VMonvdgL(FJONTs}ykxjLjxvTq zq*xKJC~-;WLB2sIigSCs18GF2H=l}?`=};Y&MBO>*x!Ft_FGDf=!9i((Sv`+y!hDD z+>*_Di+bv63qAR6IugIwgHz|lGN$rgQQ|7s&QbkSK4K=UC;5WTFb7MMV8*VI7ne$J zyW9k+3@l0clY3-GS(pV*XkR4Gmamwj0%>MuS}{?n-2qUpW^@vkCqX`0w?~W$PbE?{ z;{2mbMeA@?29~7!oQHZuhGpoquRedBYD*R!=vjV+Qf}_WQ&u1=*2Pw^%9r0}319_* zV=>w*AgQwM##J8N86T6VIBjau#&rD{%^3%+tv6@B^%u283Z>|42ku@(O|iDLc;|2H zm#oO`6gxF$taXdl7+YGX)`>e?I#I{MocWda>d-GJ2l|aPG*=vV9|*bt3%u(=(5$z^ z#SoXO&{$?rp^eW}s5!C&n=;l=VTri6iWM^}xF$^$Z)EUJrO?t|R?1F$@$R4TDum^* z6w$V?T7+|TG#|4RiZky zR(f)@JYwluqF&1Qnw(CkHm;x0K9xO&7IE;!Xi>3j2}Hv!4syLG^#`X5?{9R7Dv*oD z!R3v($+rd>EEPy3r`3YXaLYA=5CcmBBMAE5p)zY*Emzhcq_WD+e~)8TBaQHzG`C5Y zhFUB8NZe>{j);swNl8>2Fy2-d#|_-!)}C?)?zaErvkipGP~7;H?T)amJft>8BB{FC zUJ6Y4gI(jTOxRMmUFM{9yhW_C-EOSannupe=n>j+XSAVCY`KFv^OZpzw0aTF34RIr zO4G_3)Y+*~aj~%Q{KehUPK|E&mg*jE8Q*qO>e$J6OJ!`2KFX{e10g$z4%9LoUO*Y% zvVsm5%q6%`b*3r1Cl$`zXmeetNA?D7u7h}qw3eNV#LN1ZFVEp>Qe~_nO=E9Z1uIr=C3%hGEPqgp#-FfI*nrrY&fsdfMT@pS%qqK?*pfon^igWNkXSC;^)6!+DW^B6|IovYZod+x zF;SCOX-qO@A%~~KbA-H`y6oZdEw%2F8)Rs>B-@e8o=-<@r>XfQ*9Jqqvi^zzGOyv; z$(QKhN4emWm%xUd#|WsxZA#)D`7DU3_;p}G6&?Ae`j#DNaMHp{tKj`or3gB;v61P0 zLmf=hguOYsm;$~`O9xtU{I>`xu_q)NuE-s+*$8)j)QU*Qbmsh($myts^nQiDQ)8uTj4e$aHHa7_-y$_x+$?qUB=y#*QD9)C&tvK%fPk&FFyF4!0Q7~-_U z7KFyRF0+_c?q_HmyLtYq+O)rfe_F6`-+@usg0dBwj2s1*5uFGB(4j3Hhcz{0*`B}+ z4|-x^EW6ZA0CY}RYctOm=Jf;>T|G^sFpe{~0L7^vnG`JG;c3T`GH>an61 z=j`E#`MzRXcd>byw=+rf)ORWh1;e2zw(uRhHzzK{#5IjMf48u=e_Yh2Vl2bEet<4e z62lzQ<=la7EP>A0+IH-r0~+}8ceD8Wm&Gho+-{Z~zDn~(rOMVCTO8`QayKz}D^ht_ zenk;=sWLP_T5K#~`2tdN=pUk1*^IkNqR10?EM@wY%B>PxU@+LlKDsH084Vr9-5>F> zaEfAD>2bM?D`Ef@E7^=KAdUgl?LPTz0~L&h1|_HL;ll8OrgA5gDu|fVUGg~Pme^)e z>7e6S$)sv4$~PTvMWuq_!0jrjoVRKXU>}Y1%UkI~Yw8Quc#?Yn6%Klx91MCjjLM)_ zP#0A?9%m6v(cSh^{6=TcWxSQdl2gq&z8(2ymaaWqGRts?+>7KI4jFH`pFja@2hn32 z<4p^(UGAveCh-FmJBA7rTL}8lrR^TTf#jucco+>zmbJunnt5DTL*owZ?PYH?P~PKM zQESQtc-p#r=b}hAo?}6o46jVo-YsE?Wc(XSOp(da7EIEP9COJeLb2RXTQsS~JuOof zRhhB{GghUfM4z3CcqhC{k`h@@|H)H1BaI;LJx*6(xvt#}*-n}}#0o_W>bovz!eQRH zpL?cvL6i4q*vR3v{+ZG&^{g#q~H4>CEc!Hz7j$dgSFw!(uQE}Q(7*LSA za~B3{mYX}$b+y6rT;=+WQjpB76i0uNy?Ow?b(Oygh~cqc(B?-Xf0XZg4InRT&$KmT zVLLW?wIP*h6h@qykMs1g%pH5a;J}rGmNCHoOdV!59cJZTWJ8A*q{1vOQ%q#!L4#H~ zjUrRT+I)x@)ExHFnMA1&^UhfK<9*Qf3!LO{PT0m|a%&5|uA(ku&>tpgORl#m5pPB$ zH!&&8i&7h8qL8ZCwv1MJxAoSrZN-wwRM#JmZ+k+o?6{lB2-lQ1PK*$+h7W0IH5? zX)g}v_UsZKC9i&Tf!KltpR6=0uHMF(0eh<`=x#DBFZFlv^zk-H(SUoE=}x^ANiS?Q zmIlFFJh!FV$mFe}S2FAsm9?Idb-Wza)?I<^E}5LCb|1bm*gf1b&tI!=^Yt~H%8DMH z<$gZY^nq^ezOtOHYi+Q4f^rE?geN#E5pX&z7H{_oZL|H`sEenbrL$e9PtCU>GYrwnRC2XuB=^c+dzX{wVUHKwV=5l~|tV{}U6PDwkB4!AOPL6e}~ zENCzn;Hxb$8Os-#Q*iE0Yld&O#l1{%hrMVxW`&h%lgyHxs^%5AkZo}xm|o!PRm*#a zW3!dLjSKmU*5c=uNT)=0haH}EXx-! z%=ghAOt1S)kmkjimFWg=w-l~VMJCo4R~2$;G2QFU__j5}JSl6(GB%k)q{Y-n3B3eB z%H8mh_J&;P?ugJd5=QVN>%y@YBvvnuarF2@OG9Zf2KL3f6~(Tpby~DqUFonev1AsH z!rtdgWFcF7Ccsw&RLr)r_*6YZ%A&m`2XcO6_mds&ckHjZu*_D6eJKuFSoKs!BIMry^8( zqN^ROTaK^98q2A~N?~IOgZ^fCSOTXng}a@yQM8YC*x(!ow4n7QwYbXZgqHRy$8EEC zL7}?@5gk%HSn`8j@0I!jVvq)PaMI3cy==f*XJo{Gi!kyN-8tRTk;?Sa!M{PljH@dX z`8Zp<&p}&haR#+FkGO-RG?cT-Qm5H+~xhA^J?Wz@>J96uyd_LhrgO z43(wnX7UoQGM`g`%b3RaNAs!pi1++m4qICY)lsnlTqkL&=8(y<6j=e*R={Daq|H+Q$^1~NrD z$+7v=C4Hjcq+3q~jK0w@`RJCTEg+tvLv!@iH9DtxuTd^Us554cH)<>_(Y#=OVGC?) z2;ImtR#9=<>}4xHe=)m4g~?@pbE3^pEp=NUE>2yk>V&JFC>uiW$yi&9(=n5yoTj=6 zc2_suE1nsQxOC-k2;ma6bD@GwZJj?@vIw50H}^3bJW{HKrRpM4&86-49J9E}P91VA zypO0J?We+-^NWv{%QVMKQ-8@A zq$Ffxp{Pg_ahfkB7`H>Udn@^Aprur(${n?u*hXF&R%M^wkIk0txnA5_*40*M&L%O! zU{gfcOQxxM9@@kjL6oy#yHDL#i8)iuF3+5WPHDEM9ajVNoz##W7^tg5-qhndFC0@^ z%x7`@U%r^fU2YfQTTgeUt-BppLG%@S`?KEnTJ(-inSa_zv*+WD{$-iwjE!;XKzm!U zZF1(U?h9A7tV~TUgulvP+dErUwq}B#<#+kJXENE2w%&}tT_l^H(bm_8d*;%Mvat8y zO*b-*6L;ItA$oMX4U1}HRB8k25Bg!MOvW$#j@dC6 zOZ90TK9=4qd4PoJeRv&O8Y`WSt)?!9)q^r?s5fKTMubGK!g6kDG~rQ)Xgu>P3A7)^ zjMImfEBqzmnO~LP9sz{(%2O_+qB7s(_?+@lbiKL0T#;76v)amgO~wX4qATCsybA3J z_Fj5d3lfl~9q2ZjZ)wfYN|its^Cx~wUQCEw=W#6MP5aOMwvtFV@U*|o zzN`*bU;Z))b3jU#OZvrPiL@~e7BMHcysf{pnCWfnUV*lSHqD787w(dXs(Fj;G`VEkAH()OMFvTfX8f#$d;0Zds3X7UA27qT!V{x=~BdfQy>&C~3t_KDuHJ2Pn1uxoavQWe-YZ+mAt22DP?dtxDv zS3GvGJ&HmXs$Gn6kI&4Ets;P;fxv|0{50E4z^M2ww)P~}W87kr#OTECRoEnnD){BP zrPPj>P_(0K+qhZaZAEaK#uNEAy!c~FI4U-Bo8;ws9n9;u-PV#&W}~Tdj;@@e*SH6A zmfTX0x2m> z(3|h+%@h4-w{X@~xfGC9m52B||{TyhpwmhdT;asv{F(p7+_GWcij zIFXo_oG}@_Cv8od&u#Q>bma3-d5>-TN-vX=O_7a9kGpedo@msvK10h5GWlYzw+;8>Dl?E` z&__%u(xOIHs)~4Q@{}e=p^(no*iol$1b` zAW=!LFZ5$I27C#eC$1Vs?!D$lSm{<#1bV`()5BR zP=!3IJbJSq?UhDaIp$>LbXCldq*xCcRKh#}WU180Oo*+h30dK9MLkFn6fKm~RwT(K z|KxM*xkvU$sLV2Ii2M*RXXwJa?6ywp@0!%cIw4Z1eiC~WC8Jua@T26ba zLu28k!I>TPR=H(>cFNH13*CvUgoouRUmWk47CMu!)0Apd*ea1NG#`bs*OEOgoLvbd zjN+_B&grzh0DHImImGay|8g_d%aJf!C9>6$z2*A~J$>P>Oaj$uR24`ylXge+uFPrs zBg$2kN>hO}SimEW-Skhd?+H)GCeW0XkR?n|YhY8~0y;<2E2))M9R^t?lFjgqUL6Wc zkU)ior72(WT)DQWyR<6gsX!i2)7iE{TNaBxDl~S3s{*;`h@VlZtinVrQ33c%6bZ~{etfr@;Ayi&1h07Dede{AnF2a)an)+ zOPjGu0K@p$Z-xoJ;6_BE4{ixLlUf6`G#hTJdkC^oJepF;2XQ zT&8?XGCtHL*z$Ik;=RjAomrL<$YV49Jh8WXR+)ZCpcOum+3b`VwaJ)Bz&VUcF={$I zQ98%hmKNGrYtFpw)Cuc^?L;jWWv(SpWJmsnL2<}qa2c*w7W>dZXbW+IGP|t^r)X{m zE@0S&f$n0??+69A+^OFE4qXGqC`hp&HgEXHZH3Xf=ZXuy%Or2;NDH_b1%DZgX?)REm)#50|m#sZp1s490h4cW){uxi?1kK*j7tRS%9nO zks$G7V9(o(KvF|cNFuM8cVdl>i>uMGbTPi!cw6OIw(~iz6UaGOfhWmE5$P6c3q851 zNWQ1iyO2TgVCXaqazH62B~4L2-gwKi7=J_^-r7#KAjYIt$y>G}yZ0rs7@J|XJ6CGF zrA)~)ZL&MOz&H4j)?~XT;oa|+8n4+j#;qJTX66I2y%hzTTr_lUx$7 zO!p2hpbf@2S^4Ciu0mTcmYZM#akh8GEH`RfHWrx{I-%6AN$V`L1FEtnT58{r>ndRS zUmZiGZgG-*Q2~`Il|2Cs%X@pejWw?>tmH+v4=elW#ON(*4qGr1nG%eU*c0u=?X7fF zv!*1p!X4FCZuIx#D0F4y;+(N-wrx^Y>>-HLn9T%gQ;0(-w#4T+4r1i5bN*Q^1s)I967C>}hVv zX1$uEuC~yV@5V0gOtA;oJ_J)^C^Kcgsl-`s`GA)}`HY#to{AUNYE&#$f~m|#UhJ#7 zl$8>(MCDI@lA&c`HbrdH4_)F=IaLKx&BS%4QI~R*YY7Gy%auUwaob@=hprOo8gX7& z#SDh=CDOfVI}g=$Jg*m0>!b#g=(X?1Ktzq(VRJ#hiuRTgmtsi zZt7_8%&Q=l!(v3+ziJWAi&7hk9o%xL`ZTq}wiDbjixUs%^z~+1t?jMYPU{D6$!n$~ zkP7FHTvTxpA3CtOOpewULZ29lDdA#!vRWK2v-75XI^aOyx3VT$e>Y8E9D}*HI~K)cU))QrkR~KLpI}ebMoCd5Tuyt@6O|D48M(E zC8|ejC8)OjJG5OT)gId(+O4t&=d93- z`Dk2TUY%X>6rV{}fn;*#(YP(UT$P21SRz=5Yt&L%jhJN6)ABmUu0|f=cWG{yzDAN- zIs1^`7TC-Z9g&ivs8)4**~>x$h4qOC3U>f4uq}kjR@^|D?Iyr&V+e1oBvW;^y%eCt zgKOihj93%8UFN8LU`KVewj1NMCzW$G+RGnz)*I?1mpgbgUl}|?s~F+L;FnOpX5HEryWL6m)myU#niD%3I_UWXdqN|s+7MFZj7^okTvnTmLsOmLbs0N#(dUSjoz4DEGjA)IdT?eOM)F|1IT&at z>2@MI%2F(Cm`h6$XljRU%@orvp@puaOKg*vm*tnXb2A-zu~H%;mPk1eeMSZYYWWr2 zm}ptnzkGQve8p3m#sslyIJC_z(c2t%`J;X`5Z2XSq}8sgR#iNJWnoiflS{0P@@iYA z?alkeE!0lH!m&PG13m=z#7F7!*epNbC8v_%6j3gFNxGiiET)tMRe4xcukA7 z*_oBJ+1aA9*z{6r1Cv;=nCqCvDsE19P+_9y9o-%#N^2!eXvGoA6ox#j4$tvYZ{~~m zS-!2-d2-_tjq7APa@q6g$oVui%Ze+75o=lR#o?JBRYTadlyA|&rSjO)(3--M-%#Q( zMLMOQ4nX%JpyJwr1!$%uwVAY%G+W9_rzuq$qca{WyV0lB(KOB3o1<$c;6t@^z+1q7 zi_kR3CM@PHB^?pF!*B;rt*Gq6Tg&uFlf16P9=PlgLuT5D8PEGADq3=>7CL~~xj`4B z@{y7u4_WP_Yy)y_b$v~v+Ctmu;dLvvkt3uX^0EF}gvPrrv$(&2mWvL-Xr8~SHjNej zv~^;dv0=gmRak@SE;Kni3a%zPCF+R-YGbfvqOzuHOg&f{aF#tjF;-vdCJZ{KuCyh^^MAkgAkV@SK!)|>5wY7uxz=(XlEp&o06De*wNpGFxb{G znuBeM+pz^CRCKt#6wA^FE0m^W$4flt{C4EiS;h|F%2|e87#Z5DSrMAuL;E_0#~=R-5QuhEPJELs4%n4C9Y%5<2om5`PC1>%+u$5nJQo*e6WdN4l;ySk7!-M^n-Z9D`C`{e2Iin;bap4qOah>;;K_oQ#n?UIWY91~P5U z*f@YqdTmI38ig0PLExSUY$L#)y}*Gi>m?ZzN{y-Gtfu3v+HooM1tkV~DQco3YBZRm zz^2F+u?Zqn^Vmm~5~W7Wzhi-v_d(mAagvgolrboAmTQBynrLpV!3Q@-slCk_bYVAb zm9-^X-EZO_{#PxUNAFpNBP>nZ zPR(@o<7k3FGpfx*jn*ZylJT|g#9K5Fx?O;*3I}Oh%t|gU3R)!Eytq?&%Jl=KD32{q z=q}fW(;-lKdP}CUV%n=fZHuPSNX23`URjwmS6c0jGlTY4mvoB#nEt&PefsuR(cXJ? z?N0R+J@v5lSXv5i(V;NXN{z{ELzB0f!qqV5hn>x$>g?_ispY)2yY`K8PXKK-5ATVv zbscoL%AVMvmD7@~4OS0QTcVWQaV{YqPLIVl?B1kp*~2#K8d}a~+P;&i=4O`q(!lw4^}+m4|Lwuxx(b=)bU0=H+oNh{~8rAo8=Ft(a|>>LtV87Fc`wi(e`>o)H~ z%)M#DjWmU))JJ8$$MGST?bBq=A>QzeUpUZorn0`{^~RoSFtvj${!f3ul6o&~n*Et?`}rITM@wa6ct zknJ5~Scqj55+G18vB4GgI`)M7o#)~Bv8Q#~f@Ra)A3f`b2AErK=WgZ!2m4ml+fveR zTL*oSgR$v%m$Lj{lIo=TT77K7ZEue75?yR|?9F&@taFO~wvakt7)MQDRo(cA_sRRg z?&m$gZcwLgrgh#M)=jXDSD5}boN9Y)~*;6nd5MaAmbB>Bz9wsg}=Befy-f$Uzf)9woMw{=0Z z9*s@b{dLrT3c-Pdy;tMnG{TE5Va!cDX>a0sfq``IDYz5DKik&p_f^5CI(`nNzUVWc z8MUi}wG^>Xg)6n+SFwo^lGZuJ=^CMFgf~JbpYbQ2^NLl_@b5ks$Ctrs`u*d)*BIH~ zY4(oywH`?99XR<+8_2&kC(gEdM|>lZkdsL0r!Q_It5)zY`hw;0k|SuUZ`IQY?Apq{A2(Cb5R^G>8|9BW1Dj<^uOPls92H@!i)N9ynyL8CFVx=Qovj_iy` z2ZJGLMtaw3VgOEQOVpPZ_0Yqg@W<$SbGv7dfsgp39B#6_NJN3t23LGNiT6=fKp|~o ztUhP)!*hD&!9}WgM-z6r^V!zH_m}`TVy%CMZ-r!@mH4~3XQjSkkA+mLdZPlTcG9k{t2~hl3CWojL*@|CF%kzn9FN#<&>AR~n5_6xe8d+VBX%aUmN^Y2)NNxv=ta0ZLTA4>`8f&i^e?H*g#S18gDLDa zFL<`BJMn&56q;sI&J>R%5_()B+pLPi=N6h#%&tl__6a z&ycSrTb1llW{k808uI`{W9b1qVDA_o%|vyZY1Bv}3nOPT#q7an3-cO~h^n+IlOnGe zPWgz5I3kyfI|q-z+k;F>j$7B%j-sr%>DnSdU zkK#1PH@aZ9q94+kE>1ibU#hQ9D;~f`zomebQ3lQ1d0MIA$3~u{{iO9&Afbq1+LhG zC`xh_O4Udwwge|u`H1hQNFyq70;eeq_+PM_gd-0>|_Tge>;tgD1QgWwqNndUvBA-;7VpQ`C0iHTFw!0fDxt zp$t$l=}lU~PT-w4waEr(MsYo14ct)-k$o`AI4=#ym6BOg-XC`nXR>lFVgz<^P0?Us z;=NP=1|)yTCV9!OAXkGzJ-pO@t2Qh;XxcYJOVv-1t_G+%c)^Q;BM`tg92%}1L_h<{ zW0M`j_8u16bsJ*{z{m+Y$sc8!#5nuY+6)1(j<6AH0J$ESaUzuTqftLhFA70oY(*hU z4Q)W=QA4=?Fgnk9a;{^XV~z4{tvt8ba5|*I&f_>oi9o};Ku5Bn0NaqOH&L1-m76?p zJbT%*0i$bpG2{@>_)Cw!jsna|BToVX2zl)Fx&c<_fz;ifVE>mc-L`9okklr6%It*%F-#E*o$)cZlO*D5ao-&qMexxb^(yg= zE&qtAs(7sy&>QWzZZib*369Y!H!2aXMdn+T$}6-Kh~pG7ZmsxQOJg%!ZJU8x^?eZFMCUVg+eR(||9KB0w0xF8a#U+!WiZ6*2^q@W zJM&{Jz64rmfCM=P*%hQOws@9P059`7TWm7Qz=m2g_ab2JZiiiE0rn3SE%C$uVWk!{Vswz`3FU|fE(8rM} z^+IX`{J~JT#9;xR&-$T?sMG>O&`0%;p)EajnNH7V(tx?>S&i&nhUFAqi>PwRV!rz5NrW^V$>Tcqq;T^}^$5YVK z7e)8Z?#6U0hsh^ zbT^ogr*=Mnu!ZRL5aXU(oo~ZIE4pG6?9j!mr>bSpn0U2cY`FtuVZDwVsF%Q~>7+ue z!Pe90{P+(xxwyW<`p4;H8j=6~!*QrRUog%C-3E1kSMgC^*f02KH&(fBk;A&;4@Jf_ zqcF2?_C37X=_^e2Fe5cg2!z`BnfvXGmhtbuQYbr$fR=lLQd5bO^+c znVRV$Sr2jnUD{Q?xTSSa>9S8?JSv_9L3NPhcVc`Ow{%Uxf`H?bzx3w$M6F0QM)>yF z%Qr7{>Y7Oq3fhTygewajJYYAVP(ScLS-irEfi01RHRVP~Wa^)iR&Rn_Fhx~^79>)> z)D_po=A93r`vXLcFavUUD8=12;b4+UvNUnYEn#@5CJGjbJXs2(1I-gH)Y^>4e> zD}ksQxx*^QPqvMbj9MyC+xF8YQ?1?5A>Xl3&C+IgZG?uhY)u