From e52cf46b6ff2bdb8d8b0a97d92b65c0843451960 Mon Sep 17 00:00:00 2001 From: apan64 Date: Thu, 19 Oct 2017 18:19:32 -0400 Subject: [PATCH] pushing hw --- Makefile | 4 +++ multiplexer.t.v | 22 +++++++++++++++++ multiplexer32.v | 8 ++++++ mux32to1by32.v | 42 ++++++++++++++++++++++++++++++++ regfile.t.v | 63 +++++++++++++++++++++++++++++++++++++++++++++++- regfile.v | 48 ++++++++++++++++++++++++++++++++---- register.t.v | 42 ++++++++++++++++++++++++++++++++ register.v | 28 +++++++++++++++++++++ report.pdf | Bin 0 -> 40488 bytes 9 files changed, 251 insertions(+), 6 deletions(-) create mode 100644 Makefile create mode 100644 multiplexer.t.v create mode 100644 multiplexer32.v create mode 100644 mux32to1by32.v create mode 100644 register.t.v create mode 100644 report.pdf diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..287f121 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +make_and_test: + iverilog -o regfile regfile.t.v + ./regfile + diff --git a/multiplexer.t.v b/multiplexer.t.v new file mode 100644 index 0000000..c74f415 --- /dev/null +++ b/multiplexer.t.v @@ -0,0 +1,22 @@ +`timescale 1 ns / 1 ps +`include "multiplexer32.v" + +module multiplexerTest(); + reg[31:0] inputs; + reg[4:0] address; + wire out; + + mux32to1by1 mux(out, address[4:0], inputs[31:0]); + + initial begin + $display("Input Address Output"); + inputs=32'b00000000111111110000000011111111; + address=5'b00000; + #5000 + $display("%b %b %b", inputs[31:0], address[4:0], out); + + address=5'b01001; #5000 + $display("%b %b %b", inputs[31:0], address[4:0], out); + end + +endmodule \ No newline at end of file diff --git a/multiplexer32.v b/multiplexer32.v new file mode 100644 index 0000000..e408036 --- /dev/null +++ b/multiplexer32.v @@ -0,0 +1,8 @@ +module mux32to1by1 +( + output out, + input[4:0] address, + input[31:0] inputs +); + assign out=inputs[address]; +endmodule \ No newline at end of file diff --git a/mux32to1by32.v b/mux32to1by32.v new file mode 100644 index 0000000..1c98f0d --- /dev/null +++ b/mux32to1by32.v @@ -0,0 +1,42 @@ +module mux32to1by32 +( + output[31:0] out, + input[4:0] address, + input[31:0] input0, input1, input2, input3, input4, input5, input6, input7, input8, input9, input10, input11, input12, input13, input14, input15, input16, input17, input18, input19, input20, input21, input22, input23, input24, input25, input26, input27, input28, input29, input30, input31 +); + + wire[31:0] mux[31:0]; // Create a 2D array of wires + assign mux[0] = input0; // Connect the sources of the array + assign mux[1] = input1; + assign mux[2] = input2; + assign mux[3] = input3; + assign mux[4] = input4; + assign mux[5] = input5; + assign mux[6] = input6; + assign mux[7] = input7; + assign mux[8] = input8; + assign mux[9] = input9; + assign mux[10] = input10; + assign mux[11] = input11; + assign mux[12] = input12; + assign mux[13] = input13; + assign mux[14] = input14; + assign mux[15] = input15; + assign mux[16] = input16; + assign mux[17] = input17; + assign mux[18] = input18; + assign mux[19] = input19; + assign mux[20] = input20; + assign mux[21] = input21; + assign mux[22] = input22; + assign mux[23] = input23; + assign mux[24] = input24; + assign mux[25] = input25; + assign mux[26] = input26; + assign mux[27] = input27; + assign mux[28] = input28; + assign mux[29] = input29; + assign mux[30] = input30; + assign mux[31] = input31; + assign out = mux[address]; // Connect the output of the array +endmodule \ No newline at end of file diff --git a/regfile.t.v b/regfile.t.v index f13815a..ef3dad9 100644 --- a/regfile.t.v +++ b/regfile.t.v @@ -2,6 +2,7 @@ // Test harness validates hw4testbench by connecting it to various functional // or broken register files, and verifying that it correctly identifies each //------------------------------------------------------------------------------ +`include "regfile.v" module hw4testbenchharness(); @@ -16,7 +17,6 @@ module hw4testbenchharness(); reg begintest; // Set High to begin testing register file wire dutpassed; // Indicates whether register file passed tests - // Instantiate the register file being tested. DUT = Device Under Test regfile DUT ( @@ -138,6 +138,67 @@ output reg Clk $display("Test Case 2 Failed"); end + // Test Write Enable for broken or ignored + // Fails if a same action is made regardless of write enable + WriteRegister = 5'd4; + WriteData = 32'd16; + RegWrite = 1; + ReadRegister1 = 5'd4; + ReadRegister2 = 5'd4; + #5 Clk=1; #5 Clk=0; + + WriteRegister = 5'd5; + WriteData = 32'd16; + RegWrite = 0; + ReadRegister1 = 5'd4; + ReadRegister2 = 5'd5; + #5 Clk=1; #5 Clk=0; + + if(ReadData1 == ReadData2) begin + dutpassed = 0; + $display("Performing same action regardless of write enable"); + end + + // Test for decoder broken + WriteRegister = 5'd4; + WriteData = 32'd10; + RegWrite = 1; + ReadRegister1 = 5'd4; + ReadRegister2 = 5'd10; + #5 Clk=1; #5 Clk=0; + + if ((ReadData1 & ReadData2) == ReadData1) begin + dutpassed = 0; + $display("Decoder broken, multiple registers written to"); + end + + // Test value of register zero + WriteRegister = 5'd0; + WriteData = 32'd10; + RegWrite = 1; + ReadRegister1 = 5'd0; + ReadRegister2 = 5'd10; + #5 Clk=1; #5 Clk=0; + + if (ReadData1 != 0) begin + dutpassed = 0; + $display("Constant value register broken, not always outputting 0"); + end + + // Test port 2 + ReadRegister1 = 5'd10; + ReadRegister2 = 5'd10; + #5 Clk=1; #5 Clk=0; + + if (ReadData1 != ReadData1) begin + dutpassed = 0; + $display("A port is reporting an incorrect value"); + end + + // Perfect register file + if(dutpassed == 1) begin + $display("Fully perfect register file"); + end // All done! Wait a moment and signal test completion. #5 diff --git a/regfile.v b/regfile.v index b8a3c74..c2e8517 100644 --- a/regfile.v +++ b/regfile.v @@ -5,6 +5,10 @@ // 2 asynchronous read ports // 1 synchronous, positive edge triggered write port //------------------------------------------------------------------------------ +`include "decoders.v" +`include "register.v" +`include "mux32to1by32.v" +`include "multiplexer32.v" module regfile ( @@ -18,10 +22,44 @@ input RegWrite, // Enable writing of register when High input Clk // Clock (Positive Edge Triggered) ); - // These two lines are clearly wrong. They are included to showcase how the - // test harness works. Delete them after you understand the testing process, - // and replace them with your actual code. - assign ReadData1 = 42; - assign ReadData2 = 42; + wire[31:0] reg0, reg1, reg2, reg3, reg4, reg5, reg6, reg7, reg8, reg9, reg10, reg11, reg12, reg13, reg14, reg15, reg16, reg17, reg18, reg19, reg20, reg21, reg22, reg23, reg24, reg25, reg26, reg27, reg28, reg29, reg30, reg31; + wire[31:0] decodePos; + // Register to write to + decoder1to32 decode(decodePos, RegWrite, WriteRegister); + register32zero reg32_0(reg0, WriteData, decodePos[0], Clk); + register32 reg32_1(reg1, WriteData, decodePos[1], Clk); + register32 reg32_2(reg2, WriteData, decodePos[2], Clk); + register32 reg32_3(reg3, WriteData, decodePos[3], Clk); + register32 reg32_4(reg4, WriteData, decodePos[4], Clk); + register32 reg32_5(reg5, WriteData, decodePos[5], Clk); + register32 reg32_6(reg6, WriteData, decodePos[6], Clk); + register32 reg32_7(reg7, WriteData, decodePos[7], Clk); + register32 reg32_8(reg8, WriteData, decodePos[8], Clk); + register32 reg32_9(reg9, WriteData, decodePos[9], Clk); + register32 reg32_10(reg10, WriteData, decodePos[10], Clk); + register32 reg32_11(reg11, WriteData, decodePos[11], Clk); + register32 reg32_12(reg12, WriteData, decodePos[12], Clk); + register32 reg32_13(reg13, WriteData, decodePos[13], Clk); + register32 reg32_14(reg14, WriteData, decodePos[14], Clk); + register32 reg32_15(reg15, WriteData, decodePos[15], Clk); + register32 reg32_16(reg16, WriteData, decodePos[16], Clk); + register32 reg32_17(reg17, WriteData, decodePos[17], Clk); + register32 reg32_18(reg18, WriteData, decodePos[18], Clk); + register32 reg32_19(reg19, WriteData, decodePos[19], Clk); + register32 reg32_20(reg20, WriteData, decodePos[20], Clk); + register32 reg32_21(reg21, WriteData, decodePos[21], Clk); + register32 reg32_22(reg22, WriteData, decodePos[22], Clk); + register32 reg32_23(reg23, WriteData, decodePos[23], Clk); + register32 reg32_24(reg24, WriteData, decodePos[24], Clk); + register32 reg32_25(reg25, WriteData, decodePos[25], Clk); + register32 reg32_26(reg26, WriteData, decodePos[26], Clk); + register32 reg32_27(reg27, WriteData, decodePos[27], Clk); + register32 reg32_28(reg28, WriteData, decodePos[28], Clk); + register32 reg32_29(reg29, WriteData, decodePos[29], Clk); + register32 reg32_30(reg30, WriteData, decodePos[30], Clk); + register32 reg32_31(reg31, WriteData, decodePos[31], Clk); + + mux32to1by32 rd1(ReadData1, ReadRegister1, reg0, reg1, reg2, reg3, reg4, reg5, reg6, reg7, reg8, reg9, reg10, reg11, reg12, reg13, reg14, reg15, reg16, reg17, reg18, reg19, reg20, reg21, reg22, reg23, reg24, reg25, reg26, reg27, reg28, reg29, reg30, reg31); + mux32to1by32 rd2(ReadData2, ReadRegister2, reg0, reg1, reg2, reg3, reg4, reg5, reg6, reg7, reg8, reg9, reg10, reg11, reg12, reg13, reg14, reg15, reg16, reg17, reg18, reg19, reg20, reg21, reg22, reg23, reg24, reg25, reg26, reg27, reg28, reg29, reg30, reg31); endmodule \ No newline at end of file diff --git a/register.t.v b/register.t.v new file mode 100644 index 0000000..7bbb78d --- /dev/null +++ b/register.t.v @@ -0,0 +1,42 @@ +`timescale 1 ns / 1 ps +`include "register.v" + +module registerTest(); + reg[31:0] inputs; + reg wrenable; + reg clk; + wire[31:0] out32; + wire[31:0] out0; + + register32 reg32(out32[31:0], inputs[31:0], wrenable, clk); + register32zero reg32zero(out0[31:0], inputs[31:0], wrenable, clk); + + initial begin + $display("register32"); + $display("Input Enable Output"); + inputs=32'b00000000111111110000000011111111; + wrenable=1; + clk=1; + #5000 + $display("%b %b %b", inputs[31:0], wrenable, out32); + + inputs=32'b11111111000000001111111100000000; #5000 + $display("%b %b %b", inputs[31:0], wrenable, out32); + + clk=0; + clk=1; #5000 + $display("%b %b %b", inputs[31:0], wrenable, out32); + + $display("register32zero"); + $display("Input Enable Output Clock"); + wrenable=1; + clk=0; + #5000 + $display("%b %b %b %b", inputs[31:0], wrenable, out0, clk); + + clk=1; + #5000 + $display("%b %b %b %b", inputs[31:0], wrenable, out0, clk); + end + +endmodule \ No newline at end of file diff --git a/register.v b/register.v index dc9b8cb..7ecb3fa 100644 --- a/register.v +++ b/register.v @@ -14,4 +14,32 @@ input clk end end +endmodule + +module register32 +( + output reg[31:0] q, + input[31:0] d, + input wrenable, + input clk +); + + always @(posedge clk) begin + if(wrenable) begin + q = d; + end + end +endmodule + +module register32zero +( + output reg[31:0] q, + input[31:0] d, + input wrenable, + input clk +); + + always @(posedge clk) begin + q = 0; + end endmodule \ No newline at end of file diff --git a/report.pdf b/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e1a7e008f48199f1d0c7c446f566bf508e608425 GIT binary patch literal 40488 zcmb5WcRbbo|37}U%gW4N2iY`)2;o@C$_z)@dvlQ0!a)>;B!ujhJ&sY?duB&g4vv{k zd>`j}zrVNNxP88Ve9!H=RgUX8uk(C8o{z_UJ#lFw6$P&gi4bu$d~T>|C~rt6y1{mh z&DqS3=*}JC`<71D9yV+@;h6`*inb0OmTtm|4yGQKNK12P3rlHfB6klrOH)T8?~nPq zs`eAt$mm+t5f-IDcj#CVu{FoQyqh%1*ss0pp|16R` zSbXex16kSHJZGx67meDIK8;>}b{E}K zZ&60w`h!B;DxN|_)Nvr3Gmcgf&ELC{5%J^{st**uICOo&UE%5!6psx!MWk%f_cn&U zSNNM5>)S)R;^xlZv=o%r(1UY9Z^+y&)CL^gsR!7{P>ai=SxRIN?lL8q$H}ONs3+g7 z>4~rEm2bWuP!r-GGiGGy`cAn`m6I!@axOhf_U)xC@||06;w;-6^nQ@?)2{J<^Wj%L z|HsduSSL31n|%(0qx+9*UJq~c^6*YNCBDSdXS9cvIj`$kWv}`@Nj$`ubv~mH7gf%$ z^6QhNhBouss@z5rH}{4=!lFaSbA}bh7wwk-)zQbwxxdC&E8&-4rK$_uuD4{-2`L z@o}*fHqbD$vo!Y**7h{>AbhRjXliXKtZ!=ps}tUAMOgbxZU=6t1wmvxBpnwu`B`r7+SGZEJ4%KuM11|6R^2KSO17 zR!(Hr>)nId4?oBjbE!t##Lc1K8l^We+orv1&!6B@p;mc!>!ri!{$G>bs=99L4_$c+ zo$F7eS6lx6>Wp_Ui2q$vQ+RW@s(a`P#sB9K6>_k%Vx+05sh|)vM#_#TmNz#~Q%o~O zQ$*1|G&Br*{aOj_>FJsM^9llCRO`D-_RVt(*H>0{t882jX_5Q=yPSo-t83AJUTS4^ zwKz93Q)wlboMP0@>bJFngFvypgTwuma(H5CAXDRF0Ts8pgM&lXzdtV&&&R`~iDgG3 z(R+t$^--w5fB!~GF{9Ln%R?}&SA2YY$gGD$F0*<_{9Ibf=`d12S~ShgS$KPUKX}kT zGn0BogZ36?zjszpUbxO?|CG`P9BXE~PE)?RC5 z|1l~k$iD5lG}zuA_9tPJ$6JAn`)L>wecO+oV_9fZM4VDvTRRF>R#vv>va`Ldpr|O3 zjGCRD9Z{E)J6+tzwX#Ld$jI0d$xKW}#=^p)hZRJBtv`KyEhWq3(IYPh;)_zw_Z`NX ztgNkXo%GGfG}6Yhx%>I~eVo8=FAo>>MMY5zgt!cbgoK>zZ8Wr@vQlennG17^inLaO zN37l4D7(~ERkdLeg$5=j1T5pu*D820R(!_ivj4><$jA3RlObfTA>?wC z+(HSzuyD`R)Jan~ZN}x4@UZ*xr@qwG;5&sTke!Z}w$#twRgd}ZuJTUsEyTpe&UluU zm*@N>M+_UFP&5j|8?!Aadb)+i`cz_0wMhB(f%JY=c#-$CUNpBSFCoJ zm?ef~Wo7&N`b@moZyuX8Ha7lB-kxoFZC4T0dP`AJ@eSvm4o7igbVkNi0oSY8#`ps3 zo}_sH($AmIzOM5>9GYIiYG`O&ZdZ86W5ucv($T)WX~DzM=l1TMo!CosidxJ>jgPj( zKzdxj2=J8)!TOKYhE^wOuUzRh?QCtm8`Agf3ij<@#`d=t7cwq~ zno&9rj*WfTBz31Wp)eV4d&>>Wv?6C`c{NhWFK2C{ibJ@{Z9Xi9N?Nkobv8I==5u{L z>uWRS7SUBbWmK(2K)~cyU!3rxCu@IsH5Jk}va$%v+=26`e)ERBVLA=>km-(hZxK5N zN)Q*&+}v#Vfw(p$<EJd zF*#|HuNPkMvc|%~f>T6fu>VprbFKg3l?&oe5@Yqm{SQ1mJW4M_Mv^PgKJY@Lhwwxy zDk=;SL;YziWG6gPQBigk&s!}cS!E(Mw$qee&vE7F=NoJ;{orpAegENu-CsIcw564m z;loqgNqpK*&|Y4%LCI3SL-@3Yh6ap>aIK7jwKaE1IQs3Q`has6E~NF?RBHNN!Wp1A z!wO`M_Zr$IhDwN0!|n^+p}F5JaRHGk6J8nx+uPd{6UH?(u~*9}chCLl$LADe%g$~H z=c45?#GZF1XI?DG%M-Y6#x5w>r6#}8l#V+-KAy4r1htdaxxcf*82Oh&DbnC%Rrgh^ znuZ4LpYX9wJ)XyYeoRd+Zf?bd5+T*OC@n25Za7b`MNX0B@`ff>oqw8#Txl1!myF-u z(_ef70`FM!3kxfX^eu6l^Bt+2cU4}rU${`$8UmY)on5N|V``Nw6WDx;=Xd3`mjU!) zcLlsMSmgC}{z#?`_|HsA;LaP4UOfFUbAbJE;L)Dz-nyyIYk7HjGO@Ox#(GsxwTOR9 zHCMloA)=HzO;PKnLEt?VmA0Q)FRgSsH9k68T5JDy;k;K7jA*Tj&jYOp?D5ebjRqX7 zz3gdBIFS}@`sdG&L*LKJ1<#PWviJYS^`%+$^!@$QBSR}>d{kn5mNxsq0(}yk~PWt|mkdf_tJmruYtLS9_gQ_Z6#8AcD`*>%f z%ALpaiLY;0!Ru-s1md)Y>=ZfIo4zg;C_C5n)HrL)*M%mv-v=Tjgi~ijB`zqig#`^AknzqdGrXrOUo?!Wyu54rX7=klz~-cv3u4oX$_%=;dN| za0B1x(4$jb5joUe>)A+6nnhXE^63-XYlhPdG&J)^BGE_|IltN0sg_Po>H@MNrfo&$ zEdo*s)Trmv270C~9Tf^L>{G8Y5Xipy<>iF;@9C~wxte@wczN3<0au+GXjjfa&D}B= zzf~9TH%vOQRcvd_%-lT6FocZxJ28H7@tcr<=Z87%Wn69Qsp;uy#nD^h;#oyc0*UgT z&QUXd8(^;6PLcd{9T$2NYctFvEG)*5&)FSD7hr3Hly0V=$S_xehnBNJdqGo^!siQQ zhyj)8D3qHAh6~57sHBv3Gdz;f?37gH%a>=qmW4=e0D8m)KiD^IKyE7 zEpkpFHZHEuwL$4%tjyl*(!rza*RN+ic%{zMR*l6%rS(<$ZsDTR*TyupQ8nIuc=;K* z#{_UJcY!u%1sF(E$fK7_ ztEz4@nIVicsXnYK=)ADG$s#8b^z!8=a~la%jx9Q+`tWc_5NWTW@p{Yu*+M|Lwg0hQ z3&t5WdYNlJ6d(QKq5`cQ-7+dk%z5$`uef>ynd3XVy~A)jrK7Qt5zJ+@k55(K00qa6 zx~AxzJATvO&pG5*RgJFqGSbt_vXcM!F#5SETrQ%5OV`-V<=fxGT{ZnH^6pwT> zrZ=$EBS{mLO8e@dx9p}-o%hD~dG1~enzQcK+n#4^&r1y*y}T*}HK-TTo4o91&U&Iy ziJO0Z7*uKJSE>}y<*wuUIF=pdPlp$gX3eaV8C1_M0hY?Qrd=}def0bW;Kw^Oj8RGy zx@U>u%PXVTy5 zP|;J22CY5-+^twWki|#!H(R~t=q3- zKw)ZXD*pIwbhM_|Xur`!%$rG!Ys>GsxQ9JLTaH>2sU5+mg(W1$;+bzZi(uEE)UI|% zBX4Xh(zwe4SYNwZ%r7N{sv}`iaHyCotUso-o^0GL$$2#=(k|rjmg4i!g++=!lc(+X zK8mQStEDkYr=#O{wAa^P@z3hjI?GD`!}2{EnX_ll8dMJ@VRon+lU+r!~- zU%!4`Uw7eeP{m;GChh6u&nA7PJtpFC-7 z2LRVza|SuLf91-Ry1FRvu^;-n&ozXyluW%1*7=-)zfFrkPi1Po0C@T z{O(G~&gLzfl0g)oA$ou8s9#`w+x*4%@81K?%+Jr8?LRwnf#eUnsHh&YSCv@vB9|fj za4X(K1P4ciUclyDXwB%(4tgN&_O)wlEK;6J?~d|daeNZk+1b4>c^7zV0W8x!N}dU{ zvI=0RYsjMvJ?rtIniJ}6baXT_Mlr)Dnm0Q?-!bk}1MWVDlA_|6ARQ~KSKHxJJ}rkY zd3hv)C$;wmf4{%$b9GYe2*_fued`CF6Cpw4SA^9^rHDX!ZU2^$U36pYl+5OZDGX z>X{|GygpagHLkL#si=Ib&lp>yidvptb9+127)rH4$;!%_mUbp+$fph3f@^8&d2Q?u z7NXikS;k*$rzbnBt0e|PGBPqWrN)XW8ZzIPpY>O~H|(Omn+jnhJdU_%0O6ih!{2RD967 zGG4J^>J2vu;Lq4MSR}yWett)IeBPKN`*uplYrKU2K`G&zvYu+B(zy#g$@*CKIf|j7 zAwa&Vsi_~Cp3BYY?R^S!Ucy#a4>}S1goT9>`EeQ=8V&-9P{0WI-Mh>r{#B-!b9rs8 zB@-bmtO3{aPzUI{hAq%}_}Q0lNJ@rlC_H!&4PO*1ThN9)c$<=*o?cm5nU$5*)}{h< z-h!o=IJtj&+p~;OE(yLv7dSXs>zfHH&}m?7OwEmjck^M=dQe{tyoSaB_@xq7r{p{fuI}t)b@(w(=ioVt zQOiSZB$`>mgNK(_g{&wqFVC+nQPPWKO$}xqzOLCQBwDdF1=eNipAUA6<&V6z%n}pC zoRcKI3b0s4jh3GMt9g@B_!H=rOk-DQXe`mp4n#lEWs`{UP~K<>35h``3_opYJoBqb9*e29MgR*<(@|?mMWd)?L9qfS-SO8+doJ? zze!&(8%{ibaCkT$takrCowSaz@hgi4$?R3NB1i7xaQCI?kgum`n3!Jme6H2V&dU=q z#t}k$o_%mi-DGm;f zM|o~-4%Yz8MV%;LTM$bp*+Op=Oy(5m5tdrE?d4?)6_wChjqB|~s&CG~Y8ae=RuEa< z_u)0G%#2O{@-_feL@^~56|~is=4J;O_w=x_F~idGf&z7rKf)H4+R{FM{`~9AZ7C^7 z!h%~`TaQ=PRVvjGTNgA;yRS{wN_wrb(ad8<(t@+Iveu7UqeH`}N#XrP;}a7j!owR9 zUb$(3KIKSy`SR?#(v+Q}W7m##DE^*?Mup}4Wmah$k+BySE?3)e{_}xPLip(~xhh>< z-5}Z-l=jt~ot+s+P=?-(kru_!B`hhBX8c^~PgmW$TlZwUy})|(hqcH4C6oOGwZb~v zUsDxMRfVi8ZXgEPe0lv^gFxOL*$=g*(zd4BWlG6B5i>clKbpzyk@E>>`k zcRhq8nW#*05AS_7CoOFjwuG&%ZFY8cD{I7ji1**81&J zj^FWG{kTgO*6bS@*E=zhhn9D6Tj*vk-2or~Qq7&#Z0*d!cA+CunyJ1EXU{g?OJb<> z`ExZEGjLDt$&)8hNRlDBDvV5v-IQ~|B4 zqf>dTrq#H$B{Jz=69H<4U4^AJ+<>gheUFpUx#^`FW@;k%;$C8w3-cvie%tE zh8Ap$Cv?5OfSQP~vUYmhdsSw|T0-OP|M@dNYPBP+-S#Z!17l-jN5_@+@}{Pyg!9cU zEovA1O;bEJ(stl&^h6^kvrM~!xBW>z9r_G3_V@RP-OflWZ=}0aI@Pp>aR&jcH-e@t zH90vsrf(DW{8tHrWDwouZeVSl89b2Qzt;P<-+P>mi}8Ye%6cXLZSVC@9U3thd~te9 z&U?nXA%TK zyNV{V9WoKm{VvO1Uis13q@>l`R4jrhZxO(oT-_}~zJ(496akRHDas7)*MoCFY zG1z_{Iy$-&CZzLd$bJzpv?-93mrS9R1+u}J3l6ziS-2ZdAGr&F0*xOFMaAVgspuOg ziMz@b4u_X-s-m!gi?N@Mze$))UcT__a{8SY_OOJ@q9wI!fLPn8JRaBYX@|$U8%sG} z$1-s>e@@|a`EfpxUE=A+#)eVG*V3}M2SMR&vr z&swV^WT8dwasGnUIq)nSH)FNXzkmN##9RMq1FDwrj*<@f-!-7G^*IEl^Mnb#d>S*_ z(0GvLL+vno(%E_RaV&VVEH4kgw=t`D`}geZi-Yzp2BL4n!(uaDuCA`0SM&T@?oFzH z+z1BY7JhojvuCIL%KIFPT>X!jTkIPjxzKh?VDJy@kso;}K4%G1QBi4qv_UU*BCzDY zSssWusmMQ!EeA-1ierlu@Q^55=uUj=M4NhRzsFlG@KSY8MNaPg2@J2ImZYSl2*(V4 zPsjIPsiHzQ3pYP_7Z_}=)t`vox-|_LE_i)?9R?-eq0p+}-b-I|^r)w6>O~=OH2!@q z!_xz`Srv|%xdc*xT^g^N%1p@5D^uGinQO*O7rtPU2YETwTQOu9e{iwZkSeR^1!w(b zEz#hQHDUSdt%^OSbK3K%zr-Y*sh$`eNTVgW)oY?FU46` zOOfQVG=&N@#A8Fc}t}2=Y)b||K->OtD(&i zJPanJaPvKMsK#>>*4)Qw7^c$d>aff1nwoE>lLh_0H_dT_(5$h)kQ}Hf9P#SakvT$A z(nx0$@qvt4LPt~c>G7bLd#`Sk25(DCi%j6LUrV^8wBH^Z+F~yPxZQh2236Z?=`r4B z|CE0BDP2LEeyo_u#UWHnAyqDdBFi6_w3G(zbd|GJdzrvsFft)xisAn0&J}89SZk0tnXLW zKZ)7PXwHIvwmbW3B(3xn6wZ}|*93_dP4xF8g!`7aH($A%)c`SwSfmmY6?K}Ze0F@U z{AqOdrWa4T=7PAMFPl*>il)Jg)c0MCUP`X_$+3SFD%kp$>(^9r%BjP5adAe;E0U1G;PKU}2fVAC z_RF#_=_ATWuU^T<(UIn-W5rH(+x3Jk$*o0^elza48-QpN z6BE7ch#d;yl}t;5g|BGi_rrx=u+SeL+iDNGQygC=GYRP|0t1PH=R4|IY$6 z96*3!)8sP;SC7`$r{&M>1RU--_Vg5tjy~k{adIl4tD9L^;NHAv5l37YfpBBJu8owF zd%kD%>iGGh+Q+6i?IfR|@a*(-F4yP81;$my<>eW}EvXBb$&aUfX?HW%VtD-^$YQc^4-=otclq zJ1VY~?5=Vmb3i>oT7a0|(>|hg{k#AdSJRo6Fh+_|&;3oy>ygAL)VnL~7Q=;)>c14e zdGiL)z&Z3nO;FIeeQPV)6+J8K$A9hzr)enY+M*ruJLuK(@t%#ANi5!H*ivh=%ggnO z@OHMgeadl;d|!m)O1y#t5pMj~#S(9Xe8xQ#yLF5Ai|{Z5E9+|v=5EiJ{M8X|1ebN% z<|Mw@KGp%@RuLIVmZ(k(e7bY>4QeD&tovyT9ED)0Y{oxLF5)ISBYw;i-C^L=dX3f9qlA1bGHYRUWB~+Gv7gbJ^c9l_vfdvRHNyg z0;UDGBqaEXRe>trva{yqRq8y=z`#&FD7`5Ilo_pXaK# z-hv%?^XO5Pn*#9Uz7s70?7_i-hXe`=2LTEJLi=iE~ z4)AA*JIwTwuiM(OXhdplZ5;ABeZHusEvs<6pI%VV9h3lbK}}itu3bcAWX9*umAu$5 zv?9{Hylu>k+=v$Vq(T$F4-O=rceJ!*R%c}7<`R!vqbXLHClgRS(_gxv8_!x-SPlRB z#YR{eCUKX$&+u;hCILr#)62`@)vEW|)`svoSy^A3AqViY$Q4oC(b}r~@Zo4@XHQlZ zPhl<=V0t>~u``4Gx#HY(h)}@$Vz+j8Tbi0~iHgo-y^4tN+?{xVVW3^*5)>ru3II=` zrqO@2tfQR zL7*?cnBDiALt9NCCIF7bj6@=+9bRi>qcI;p;*Y!s!T*5&rb>z2ywHo=PvV^8F-!n> zXNQ(;NZ7F-3s-ynvEVI_exVul{Pp!zTyiDVXwVK8U4oqZa=5$3AB$3^StwbCt#2c^ zBsTDr((<#UNq8k)Nl{T>SppX#1bkMw%e?Ma#<)E7O-zzvSPI0St>xh5?gYI3G&+I@ z<=D9RA;K*bjK1{D%%1MrZPe%!g$ehFN5teBDD*4ur-tN*h0JU`KRxbUdRwu;+`I ze%?JgX^vnV3MmH+$&P`s1G^Fw<8;5H@y0|5YZ|Bghxh#)O$QOHa2t; zvDn|9MvFuPB1l<>!*IwbON?(HWFj@9)-k?A05?9Z?&o$ zqELUq!Aa{|RL%z<9rQS?opAYM*k)$n@RAV|%a2vsy)fIW?$fym^u}NhKYCMtrRfUn z`a&1zw8h0Y8Xl5ey?T|1h$yeK4ooIS7M4gIAL!e;A2z`ENW&XGeAw37dXa>LiJso| zhY6ZfAuATz%YJvV%PHhirK z_$#sV;K2j4wV{u$YoLTtGwX7B-9wUH>nZ^K|I?>WRaI5sqrt^9s{gD3bmEl$Y(DrK zY|{*kO!9 zHBoN7X%#w}nwR844Bu!k`1VZ}DjSc-3)(JOMR*7^UO(K3rRFtoTN=zJaQ_J78gH#6 z_nv2|=UhX$&4y=&f!jbIoy%Ob6z5r4ovckrN;;lxx$L`(pi&89QnWLD)O!6kR#Pms z#~Ua{h?qLE{aU+F)jCM4U=KF-KnsY|-`U-r`cJH5`U=t|)aNI-nn0{q9M9O@u9dzL zO2Jpb1ih@9iRT;VOsyM&CQBBY+_CmZx;Tc zh;rM(KWxb4Xd$;jXt=Zn{yoqQxX7gjT62-?z(Vp&tB>*9)-_V32blWmarZ zGqv1ejpBpP1n91TsCy#)bRn2}_ryJvweF@Sx|x?lIhlOFh6O47@6nOVdgSZZ=Iqs0 zn|8SS>;vm>Oh2Eutv_S_Ywg|l?JSg$?^N4Qs9&-2~e1` z_o5UqQvL^nF2WauEDXK8yxiUYfZ+k2b)TGAEjyv;9=}HcH=^9Wy!j2rLTxR|MDWH9 z%FA>=HSzNuaR%O7IIT2x11>Hu0~R{E_i=F{JfLWeMe~VloJ)sjksc_U0upFEU4X)g zhpFkQ(2&1iR5Lo|XJsjWY>T`1?Zjzn*3TtnOD?}m==ulaNT^hrIsAv@%eB+XM6`Y7nQ`fK2#5IrBubOGp@gd|%uF+8>2DPuPcqgsy^Xl9JdjU!JnUSY{X6 zm%XKHXee>>4;8N$fKj}dxHui@-rfeslZ;dnsxyL(y-)IhcLxCv;By~7XZc@Yysb6r#yKxU?U$I+97KeX-7S5G z!38#+?FQf|Sx{w;)*T*v9CUE-Bu?}Vrqw`SKTa=K3gllw{NoV1p4L`_hYyQN)$iW@di?hgH7bojP-T63{`|Qn?`ZKRs3)2p zG_ypt$)TDj+D>mMbVM46+1Z2YMmu^A|1@xq+Ar`v8eNOG#qy#&QYaCZ_Xn zadB}o9(`5|z;bWzn`wz;X@APhlKU5afKtMA8HU010!*p!0!ux;D;mR8QCNtJ?K(kd z<2p*#g7$s4g0Rqhti}iUbeP2p^pB9AC2nKMofI#J;&bxzW8&B@6{4`sm$)#>o^I&) zq})JAh(Tte?`askF>KC6_1%?mv2zJ3$SuYwLcbrIm?+)gHFG`+|D1bYgV0TX%76Y^-znw5}V{ci`8r$1oP<JW{Up1euHAzlNVqszu5LQuB`(aZWJ5*ue>8ZO? z@dh(t2D;#i*TaVo7sp`-k)*K=GXZ1t68|+tz_w3Po z#*M~)1?Ot|1VTbEiq~$4iN(dmdHwFBAJA3=t*>jmmsj--UHV&!xe-9~&bs=6G4FqJ zQ2x%njr%9*XRs85)Y8!81T25w9;C&0=tFCoAV-eGf3o(1loDJB&Jnjtukg0MKCrEP za&pp@il3j~uAWT^+;!5zg6wP+xQ9{sfHuJk&wKX(nzVkQiNXa($g{Y*YOU;42jOmZ zcXt!=#>MgwLFW^?PCF0R@2S=WS=OCy{5!y~7Yo8^h5!9uV#Hgxfb*AUofl>u-QJv6 z1>+eh3JtTTqhow*e6*~%IGS%7r-yL9e)CUBU0r~^v$ejeDsfnW)Zu1m4MQwX z;YA96kg#AXIoZYB(DXrI;U?sRSKjK>S^#3NuQqO^$XtAhKtc!k&H<@BclPY(^mL!a zUb56$l6h?hhdi9fsAo|MoxY}))^u}o)k6?KOuoYu1(Td&bOnIz=A~pD&Srd>Ckkcq zcY6YgeS@-^5CMSit91+M7=v(2Xk~Yx@I|11%Qw3V2@1x<#U0Xl!`epn9Bj;nD5gny z;NBcEDkBTHt%pI#T9+r}mU^D-t}^TG{P_cQ>F!0GFYf~BO17Xk>8&QE_c8}Se#Y-1 z=NR?seEwvdj^ISZy)98Kd|l>`I2VP2Td?Ysn0**c3O%!zHG*eYG%c=BQ?tzj z;7fF9`2G9$x;osnj}ydEsu=aK2(GY@LjXUnHM8@$?I-VqL<7co!mj)%Sw7fawmE++ z96)o1#iYi&XqGC9+u$bHk~{ut>gqcTdywzcP~QCWC*PQq@9c#O$s=u0k8O-f7f;|j zwZ9?HDY0io;pm8}_OKl$v7v79wX@^Pp&hRmp&su0<>GEXp67eCcbzDc5I=qd!mm7M zT3VW#~fXs@#`173t*uKZ8 z10zqMh+3@}nz8nIO@?ii-e_j85V_hOQCwRX>zjhiPF{Zg@%$2>H`q{FS!jln(w~iC z?tSaiH#D^KMQ`u!rYVot2iAu@x{*33|6+cT6t>_%f4@jMsrT2C`)RzQqB}F9TWLya z0s;b+`?n~n;^?Sf%3$rp8eBXv-7q=qF)9*2B=3vhI5t67(#|h2i=IcR&#OFI_l)ek=y1EaO!k)mrjN0HWHmA$_rh zu{D@FM`-Rdu$A#%z-nd$q$H{!Mx90Cc#_Z$gLQUR8>KzF6HMtt za+Ke43Zh1ZXnEt#2k6jL)nh$iBOEd^tTe<3xqQ4_nAN@V&-B-j&aQrb6Fc~v!orph zokC;U>WLER8=LgG7P!B)Pqyvc+}!LXv7l(!RDK6CEMaz0BrTQLU$G&Zn_5&#ikX7K z6$G8Zmyq#tBVxyDQjXtv1qz>U7bq@`J}hgs;Zx%k&XBZ6FZM$qN8EMW46K#dsaoG* zk5Ab=)#Tcn(E!-eUJMNkq?w@|Rs0nrJYq;k3&LkEq9 zQsk+wnGYj*$91_JT1P1D% zIXOP613a14{?8hWu1!Z!Tfb6@oLP~*Zq+dWbOjRwvf;{aE6Qwhh#iV_a z3!^C3z8`K1aJ|>^t+PK*08pX5!=Zdg{+~GVM0`1W0%t`EjLK?i1cs1Fm<5LBcklai zK7INXY+?1Ad#I&kZs)zpuNP!#)5GBegemC)BHTtE2>KC<_J%px3Kqkxfk&nt?Ri)m zFTy^To`%o|Reh@d{KA6QTx%3S)&(&Z28OVRw6Q9IQP@TwZ;q&9PQCNV&@VJ7cAk>n z55**6Dc{jcmbZvt!@|So<6igkLjs&s-hy80+*v2LTIR)-VN8u5(`b=t=(`jV92gui4JbY#X{BV>;qP#Qt zaqK9bQka$IgLu8g7HJUOeEI>C`18fj!xHp-we3I-{jGY9@QW^8RvA!-g7B!QW-Rwwl*zndV#4Z)@iCv@Sx|k>1alVr|iFEIOKQxKPG8 zQwj3Z_%dOh&uov4eB<0ixS>@P^aYN!ca5vDq5DffbALEtWPnWz2p4}?LMLU>U`+y z*SjyrjU*w+D0uVcO&%T`V4R_op{<=A2u?vjzCv#C$Hat#_@r$G(c9eo+qys51jy(km+`XY=FqhB^ZsosGTyTkhwgsuuc|mg#2s2!t2;?w#WK zy2scvCE+$+Ble@|2ZFAltv&!4VLSoQfhd(-g#tT-2wH_E^*^-c!hHU9_df@}+JVWf zoSr$R_Fb6k0l8IK`65vB@s)O8HA8kM=Tbt2OIIQ1JoWSlZOl{R=j3fI;bP*@f8mO& znRN0`uR;}mAhOth2;{SmrBmp7ikZJZA-{rXS^0*)r>feZI!PRtO}SzQ7;sY&Y^324 zKjB5xV+hGkNW28SO8u($doRWr%K0{{q=2SY8~GuZ6>FQRWZ9A|9>9wDRM# zUAH@hQc*8P6_At47W$5k`D3J7r{QxClaH1u{r>8+{_E7gtDrp^12s=O4w@$cS3UH- zh6U_0gAvSZ>JN5QM+*GyAPk9A?t|WeI6#t!Vp% z$m!{Mg}ybPKrV04DRLZ0)57oHOCHt7#{q;xl#$_KVW8fgjl{wEFaYsca5ccLLbt76T0Cr@#^W(>l^d}l>7W!6J8P#2E2yS-l)`7t}Gz7N7dM{qOq_w*P3T-Ot z7l;B7Fa~C@I@#CSiV-i$ICxkFw=9hmC?8+>Gt9?Q_;f5R1$WUjG&Jnj@7=q%ej*=2 zR^{uZM@>tcMhXp7yNDDycjuk_YIgygr?C|o1D|J+tlZF3DGEF%bO=}};KKY{ZLMHw z4-XBMe~w45^IxfUeysb?H zxw*Kqi@gwTF+hWvI#xRXN2FB1?ncCdjqvz2*u)+KEcwvaR>+hofvN0T#$^?Q^}r!4 z`{X6a+qX(eTMLek{B(EJkwSBI?%S|SKzIpOh;xB3@6)IM=n4^V3JbyJQP@XOMcG&J zVu4nHYf}Ie%9W9?q-uKtuq6J&7J>Y!yKs?A-Z(p{kNvq?{d_YV_ z&y6|dJ;i@t*0nUIr>N4jx6idL7iR;};qzxs$m1RvLio+>1&sZo08`VHnrm0DDhj-M z^=bm*FhG03cs<@LqS zeJ!&e{_Tb6t~dc;eq=X0IXpZ}aSM|Te!S0ge?MjUI!OO`2{yLJlFVgL5|=JrDyx^b zIcZ4QwMdv#PqeVHZR(fURoSx$7xzxax@U+m@xA9iA_p;#xA0XA7 z5rRqw`8rRD#MAOs7>uzpNq{Dn28rB}MKeS8ctsENjcEw=v=#uzB{U_Akfjd{7W(q? zF9_YJxB=AL)2B}lIuT^S(_93>p_L4%DzpRz1%>}8j^GF~=xYe6A?KX_?dSjgfxv3z!9WGQ8~h(| z`p9=<{~qn%43PHOBt&V|GY6K<{~h6fLT!5J85sD$#w8+>yRU#mf*N0bvI@O0Ht7(M z5j2%M6t&7+E@uQf-R$@ ztxaWi56*lX{{rt9aP}KR5G}}@uV}PnXx3DH$wnd}W(!t}XQDbcVtJ-19Pmb^YTEdO6wz>F#^XnRf<@J>jCj!R#czcUKet^K~r%IS5h6$$bY$ z+0gMWIw&NB-+iAGrUn=sSw7IibREtVFZZU%!&oJZzZz8to$KZL|M?ve=J+@{3Iej= z)c0b-!XE6J`~V=>ceU^LZ|GFc&dwlERt8gm52>yU_Aa=*1unjCP*8esQl4lnt_CwU zsd>d=BVVkNug<#MXtTF+wA|nl}gnJ;13z16U<5hqb z4DLHCHVQ;RH>{B%Vw`n^>g4d_(LYS6AmNS0WUZ z#y(yyTza@6={G90ILC9-L`b8;TIWkP|vJy2ICi?(oa(QHe+0iQ_4&XN$Ri1y`7MJetR zFd@~>9(2HeueK9V0+_q7dEvB=ndHjiqAWU5+TXB9in32=U}~!H-Y#jAiMRLO=4LVM zm%25s-+ONofnv#2XLYj zmYaHVZGHV(&kw5q{&J5fb5YP~V`D`{MG0zQ6f+A@nm!v44+Zi+&2^%X$Z|+oybcY$ z?Sbpzz>X%jjh|ju1g@O`!XPJ zD0*F<*4EJ(g!7=2$%_)O-$7Nd(r8MvL?RTY=}X4q77xIj5bwPLus*L4G(yMgWyOo~(8#&mioqk9k>#;~VIRe8E1Pn`t@@2vao*TH5U${zeKqKw-h6fFDu&}rr zFM0eE&?2{q{VZ@aKx+~brwEPz0*B~) z@cC6y=zAc7c@vUO`FU5L^NWjDf+5l`(fSp1a&QeDQ~=X3j;YS2Kpex_9DPo?Q`%#7 zq6*-=zSxQk+|t#Nys*#0w?u~OuOoRLUWTCKD136DArW(PZEyE(!=CEjCPQL7H#cuo zbMl-4YKb-;y$4%WA`Q>L$hf?+;#uqiC{g?+M7BSUe%B5iO(}1;cXn240t3}zzOe(k z^?Qj!pwm|RP>MaBoz&cPeL=JvCU9(x@cSoL?IfbOWh>6HdN;-i@*BY^Rpau{EH+S< z1_lO?AG1lkS5L~K5Hmp@i|=d&2cIvM)wv4&)iZ;uAUY{20E9KwxFTZQ`P6R!^Z=P> zye=;-W$P*W4!>1p-oB9hfARI!QE`1s8YmJV!QI_m8+UgIZjC#^T>=DmcL*Nb-QC^Y z-7UDk{@uB6?yU7@-XE+!(tDpppW3xczWT~-*%1_jUnxSq5CExGE?8@vL=bkwZ~Gr% zs6zrp;}o8rpDi1--;jxjd~XlskA8r~>4KsMhk(meGIaC zKp7{}=6+NYJ2f?ozc_HlMn=C+fM_0ARCOScN5b&udfT|6NC8!N4~oiywiml*Ttvfs zp>9|U>@4b-BQZ&O5SseZ2c%l|+=s>_eR0~{uebd=Z2qwpniSd}K%g8D?&eINF6XT; z-S_P#5y*ZW4yv2a0&3Vqt-R2>$8Q=Vmi*qEltn)yP3IpnS)R1+N~w=~wQs zQ7Qlc-AkAX#m=80Me69_;KKb9aRT`O^lQ)J6KGq5^DbD6ZsGf~exF&{bkE!9894_P z2I3GBUUr_Ndh_?4ixh-xEG#aL%Ki}%cPeYu*7N7=VpPI#YJP)cOpCCIMZvv{1h=p{5$ETTVHC{9FR1nL%ZXak`*A*KBH^m)n3H6k6iq(u5BccLw=%`8W&= z47)R+2>rZ9aL_17St8Se)OxZ6Pwo+QA#ooMC__-_q%syz_#FZV;T9R(|EuTwOM@mW z3ya^zg?sBc2o!j{l?w!5Cl;_zPzTZyGPgk`dKA}k{fv;Rj@KQ=e=|+-#aIc-g8Mke ztDu>9DFEdo`9T)rj40PK143DK9QJUawgo5*$2t!3$^RkP`1@is3MDJ90Wyc2&0YnM zIdC&M*H*I-ATyFW(dK{ixXAcO0r^0QxZfBLAmSEHO*J*sceT(XSSf8)`Q?a{>v>QZ zw)|K4CCCa3<@I*z{SQ{YikFQrX)W-Jfl={cAEiQ)lD8av;`y6?s7EG+D< z;@=#D_CZjc&V;Q!sM@zG27|zgg?!u(7FI_n;Kmc-=tjskpTeEt!8XbQ3#2o|up~M! z6(h57|KZTm{S1g^kckF4lAyE$38{ZTfcWPbh@HySMv_PLL%)fWn;VD4!kuFZRaM>H z9K>-YNFFzJjw9jYyz9 z&NZaDvzuE!ttgZ`s0xy!kF0AIJ(*QP<(xN&q9tpA2@FQn|#9iK%CXgp~6`XbzO^a=fmmB8U-VZD0S56O` zN5@uhw zJ-dY8^LJ~VrPZVRX@0eetORmQo)`KO|F!bNfpBa?GuajK99x_Jj(nD}H350Av}Pu3 zL^y981yx|`bZ9VSP+<8w6lE;sd#7|i_(#o{e@<2s&CuB$biM(r&TKiyOjg#8eJg9- z`byUCbv~x&&yQIGN`<`BWK=wyxyvTt`W70e*JOv&8Gnt{W&US|GIm0Y@ji`XFg|5f zT&JoyU06IyEglP}{uZU61bthc3FI>`>$~~#2S0bjy>u(KM=IZo`ElMp%3u2DA|21L zc!GV~!~>$?AK#@rV^mBN+mR$3nLJQhI%AsGKG5l`2G**f5w`-pGx3W;hGoKUkqf$U zasQBVD-wo84SS#tdAJ+)%YKBO2sm=)Bx?p&DLpIjBCyChfDC;I!-& zVr~UeaiOhNCGh$2yf+5JO={q(+TwXf&z|Y`_a2R4zQKbyLoAy` zK%F!*?j287zL1R0{$eURQ|Q1mgqGTvrWT=4f46+7CQwB6tODRbQy3@Rq%0BZ_=J`i zM{a83hbm_IO-oswwqaQLt-wr+2M&*?6-8j3{!!{?4EJXS^evP&2?Cq|QDdxjZ6k-Q zL#Q;v%_6@}k&e;C@KxeUJy1`;gqDt?NY3ob#Mgm{{Th|;=+Fo`;tUarN=9kbg_g)Sh0tS_F4f7I2XG>;RPC_QbO;qR&a1vo) z1QrO6psOzcORW6f%(h7V5eJ9vH@Ydc_WPnY$}KGvga*L1CC0lspM2TSv$s5Yd0!!W zuD=Ivwgd2gm_56mzzq%PO5HqL)snS~jOQTDj|w?P;;9w0Yc&gpw7>U}uSQi&PI~Xf zQftV=H4O_zkmnN2IB&Z7eM=4fi?>l>3|DVF{ZVP6Xb82@{#&tjB+AM zq7?pRVLyJ|(v&!ay*bjRe&tWEMl%w~l5#*LbbR5}d9-9YN+|pv>v_jg(ohCyBa6H^ zvx%QKIeeII!}4$sCPodBQLdFqf1ss7Dn8ZtZ? z+vHjKQ4w|&BK0Y(RMx!;@TrN>s3yyUpuCr`Q;ge%*?J{gea?y0F`D2n6#6Js*07SN z=Y%%*b@%j5h})!t7!?&qCn|AYb;fj7YBQ5H;1$NsT2n0MkA*L9)(2i>s4k{AS5(!* zC(BO~;gOtwhj&AsaX1Sy8OhuWnLk>>I(w9t93}d@Y)r{w(*fvBHG@r{!Z5Il8Z?=$ z?y`=^0_7|l+JmP@Go~PB><2yYV<*flQK=^PsCS>p8S{3QgVaY?!+9h=H%Jj!Uw^im zpE;L@OgQX{L~RT93nS*c?qAd7c*?GmBe4%mIHL7&vi>witul9qoP@U*);iIhGm3Z< zR!_rhm1f(7cF|1*$CG-dA?~3lLTJBnT%hT=jG`#w4kzXwV5yJJRm8jN9gWLKfd?XKxp*IklS(Bm+sjEl{ zW+PwfF){;7Yb+&h=XXZ7L$>|gyKN}Ts03%n@Y4ibSwj88n$l)ULnWbWA3|7yCVDdw zPTkEl#${-R1fu80FQcx3U=+7GAN5lEIq1aa-JfWMu^}5kC_13CzJrtWByL6Ed?Yt( z>OwusVV0wco#XZ}msMJAKSLenrpRkhNRU(S7z7g+=QM!y7cp0JYM9fkPrL#ylg5rO z^)iY{i-%)7>55u=U)IBo~bz<1< z@WlDDff5A+t2P8zG^MQcyC3rUa?_ck8u4@p?APsLw=g^F^ETjss*)B8SV$6XFR++4 zhR0!D4sQXN|#<@tIsnujpqjV!l>;jnIAi#HO+`>`uunT7ia4i*jMy0iD`Iq)BpOna_73d%p;= zcb^V)mxvd{HaN*GcTf>ZDCCuK-)2LN;+vA%_x5rvJSKadzZS)`az8TF6(*UA*cT#} zubsf{mlgC~xS=*zxHeOk=Ful7fsL(g){h!6vcArh@164ZVUnjjR_oVLUP3`jvl>5L z$CNW?{#4a@04?LXo(DUTwwP9*lK6k@+-$$JX;id&c{86hsqd!xM%B-Q1M#u8k(by9qenO>Fq4`R=zfaTzQ>?vF@QOZO*(Lqh!D`cQ zt{O1nfT5+c)~Fj5@Z8jeW{MiWLpKY*Ym(Se1LBoAoR`gP2AN3ynYM867K*Y&`lFN& zw!H|sZ)SpynPBu)GQ22U5nZ3UQ@NbZ%=kVzvE+SV3VrUrrLP5`v0?5xEhev}6e3SQ zel^_!ctoC+SY6_@I~WB4zK}Q`Y)nMuaX7g(8|(ch&Y;em%IX#x_$l1pn=%*1uHIG) zqm6e~fBF9LSvkbywp-}PxLr%;G+8v?H%m=cW9#6B8Y5C+qX+#B( zr5S*y=W7>D?(=y$^m(=gLr73kLEzzRFlW4WcGe`AeCIO2l^e6;UN`(;?twO4=Oh^M z1u7$bCrD`-3IEr$M0uWC?W8u7CX@EPL>XtBV1`7kq4%IY^u%^8HC`08rm9Sxm=0ir zQZpaZe0Ga7*dP4nHCJGnozTRVb~&Vu^H+pAWBUS)Y2IAk5JZF%X&m&D2AaIrqeyEk z&c&HZGZq?el;ug`nf&;TfdRu>rjk~ANbOvUoAcK0M;6!iL})WX9aTxQ+y><)g#e}F zVVzS~go*ZrRa>QoB^pyq#ep4gr951arKHA?2ihLA9#`k_>yx53{y83 z$$$`w35XvPJWd&#yVGY3Jex-HeGF|jaR}C+$4JOgC-o#-=1YvNwA2+jsaH$(TkEq} z`Z12h1{pn{#bwoFkiZ=?Fv4Nb|DG7s;_8qBhL^1@oa~BWT{Cj+wVvit0jJN?oeAs- z9BwcezXPXFaQl0uu@r&dw@z9ERe}9b&ZAIR(_O4hI>6FebMoVx(jy@AVY*|cy~8_W zEYN_`Q%UjO@^@0I_`DEc!vbY~=Ir34hCT+w>sS7jmXpgm0*URjE z)&SXN6UzV{@5T@*DE%@^6_4+8!jM7g+QW_cF~L%dz1xn-4X`U4QP($cGlDte zEGQML)`^>Qoe<@U?dOcp((;RqGr|cKfZ%AXP9)vR9Mcosubvd35>T))`(p=p{NhlL z?FhwSn%R=eXqz;+*za$!6(qqQ17_@sML@=;*#LL!q8WfIQX*i%0C@-Jo%?;vQ=v)` zkKNxQF%m;!((FtA4BAaU-(4U~sH6zjY1%#T?l>hpt2rb*3s$V34~tKO&(nW9)g1b! zE|l3l^}_Q-^}<6(w}4y5fQtKZm8U+SFSw9p&5Hb%$~OhBQ;G zl+_AmzJKSa;;xaaH`K%Qr0^AUF7@%1pesqT%1yTXLpoJdS#nY3U6@SwV}d2aiFMSO zLP_66*a@70`Z~-=Rl~-XBOBlpk27w@alvADftJSG=jG|m|3x%4V0&GRDvA-&TRSI) ze4{?8R!B_~ZFC$GzL$OB;N=-am@2`*|6&t48kG5H2mes1_gh{4WMh7wQ+4*I*VV-Y z#lab+cDi64xn_I^$^4Ak?Cg8VWil!=M|3?_hE3jO)8hfUi?bR7-NXc)X04%zNwwBw zb$dM-8{H~!^ZRcq3`v0jNA%uZ>`51t+u9JaJgq@3^RZebx)5oC31eJsYe1P8yHpw~ zM!~EUP3&xmvNlulWa6xpB|IEk!OiT-Y(xRHG~HzK-<8A0CK;hILpJ7zB+YyujmD8b zXTum5O5+(?$Yn;BaFgWDkE`gtLcx_p#vZ>095H89cE${r0Dnvwv^T>kQk?Ys06TU# z7Q>~ws!4i|k`^y>OGx}*g~x%p=bH<4Oln&<4Z0W^#(1#Xqu06jK6=&IRpz)+f_r0i zqo_BLqv`4N+}DCzD_)m%rQ91fbBA%fGo$a|d*T9*-M9U0ZZ}%^!W=qRmS3A|VQZ-e z+M~>8a@VajW;WKiQ|Q<@nV3%Qoo?}4T09svGZHf9l205>%*8f zK5%1N2Ff^KwoD?Ssn|-9{RM1ul2L))&N%Gbj?F>32$9-{`g3P5fwDmdgl3hP&#T?( z8Z2K`_Z;lG3Zbe+RjqEWY|YcOE zHQ4t~2y@N+{81IyCJ{ezST1z&+!s~e#1o5sA1KNsNLbw}c)CQ|>rRL&>J;>s-+y(3 z1cqrzO8e2Z3jj3EozLnO@0JI=u>2+6SjzOl7{{tPYJScX`X$O-dVXc)Wn0vDk&b$~ zik5$1&^61fl?O2@wJps&slOLHy4upB+9)kt(b_9>=TCbiN5)$@L&>>!cb*BDp!zR9 zgCB%CD(?(pXdbu0M)i_|O{c5xj9Q6Y zi4kSPFioxqiVzc-G(bGgM5L)Bxytw-k;7Ra^O1VR>GEp4Zff=w{7ZX--(oPVhU;z(_HXX^r|XDn z6fz&XAyFONVuh+#VfwlpQ{#@&D9ah&L?5Myw{arq>*PuuaaJit55C&yazI9OMiz&I zT}EZvF*sW4x{aA+x9}Q4NAzCw55%k_Tzo}dJ^S{H>4<2lcjbkhgAPQdimuZj9H!~w z$3V`@%=^D=U%xZK4VYq-K8*jhm5roN@ zr|=wk28)lx@kne#5xHtS!e{{odANG%<&LQ(nsa)y?+7>uetBxL9VA_7h<*m9J$Fdp zziypmkqfv}##0_|ycqGD_lMf+nz7ox^|9Z_!Y?@1@liX$>}%}H{#8pOO6c(`RuKDp z&OwtsLwjeoLN-UF7q`3Q4m-V#T%4wCgK&M#%B6rO3g`^lpCmmEqNw$ey8U84im73T=e(cd9O1Qr z16pZQGO}Zqd!dT`9UF-;oG*?)m8udnj8^jdAS%M$CW?$8egs=S8n_sBSr>?bCqEih&MWSy?@f}&(eGBpy8 z2BzD*9On~}KZyd}ObzE6t1gS#@bp{POdc5Vti9WB_mI3zO*`jtuntvC-#Yr`ZDZ!= zc=B}*?ynn1F(h*wF(jgKY$ z_ANwLuN@Sb^|WTNrgv-?7?%Kf^>TV45t&k475L@R_gmgm-}e-KSHJJ*?=+}!0JsO6 zrkRp4KK7|HmmZmZu%4u(;d7`cPZE=?Gci9Vj5tl9kp-`y3afgI=h|2gS)#3tA2v*D+}5}4>%MZLlyaiMH^wL5}>2E(;vLs^d)zs5=t8o6TBqrV?+1L=#Gpw zjiFJ#x~qn5#m}7hDicu*WYIe2+cG1XoCWGq8I(L&9NMS?ma{01g@IL%vq;NQ)j;&% z#g=`{+BO{rprk}o@f@j2&Z;R zm0)>lZJqG5xRhd1dXX%`nR`w>DkEI9RH*RJ!2M(b{Oy48RD5uxs<}+sl9oX4MsdbEGK}Au-hd>6pEU z+9a0ZfHa^$0XY(}9rz1u4e9vc&0hr4thEzwgh6Mn;Q%Oa)6X zKdHAg)>o6cb`v)i$6w^>IMbVqbt}Ww?mDTmQSTmCZV}}e+st!> z5vwY$+2_^G&-f`Co{Ka(8_o13Yc`4P^ZnBN!(zIWh@_F!mztA;ypNBjG~2?3}==wV$_tr@*l z?GGixidSMPB)q(1Gtt@Bpg;u)xs3QJ(Dn5p7gL8zMmxQJq+4I58S3m1ta@V&4KNKh zVSVsda6q1wl*zJ))#vVEXKQ)8I9=-t9ioo63k62T+q26UVuz=G-%IQ7kPJ=@hpkEN z_LldT_siO-MpEvwKi*^U_IAzFre8iHC>YeZS0*=@v@*l^vdj`C`yA}lPv7MGz0-vd zCBmI;n*GPWU_QoQ?Atp2-p;$EV2UL|&PvJ}Y_JuG;Z<&g#nn-(Yiz6f@!fnJyK6j; z+e*MNI>UV81?Nj;Dz_6Y)y!9h)QFtPuQTE;s)P_DDIz&YwMCIz7% zXYy+f4_Qm=ynJ2(Bd}Rgo6vI{bM;|sLX9Y^rueM0jJBcqzq8zKRGELvU)J80Q2ow) z-K;xqf->`j0#|V~r%1*3H^{4Aq{db`vPAy^{uj`D2WX@H`g=rTfb1bp{XXxjdH?M$9jTkh7X+PzjH>WFa`jMrre5jtKPsftsa%xGWRj7T(Gl9t zjiF#XhEh31Ux~p?GrY%3-7LRx7(6K)%(iLf5g_~C9XaX9Z7$Dl6%**)f4h}b9}z{l zEa~q_3iC3$UQZz=xYPGntf?!V=U&kBq;`=w=wZL3JmpBikGM0Dn10m`q=0C^PQfmj zDYUCg+hS7*!C_M{h_k}XN7q+mHd1pZ`+7#Ynd$~Vr>r;oi-tjRA)(RzudD*kS?6}4 z?S(Au-IJ}TtLkvWNlODq$QXV@tw(MF6A9)_T3_4m-&iA|g#?l?#5kiDB}{mSSn(Xj zr)zDem*ubcfe)0M?1vI|SL&E9oTF|cgqn-@%VIA&ZYx7EEo16o&)g>-@?;mz%b9$8 z++2@z%aT6+&mM;T^3kYh$O#s$M!U*L`6I5t6k+8X*WVL!isYl!Oro?-<|#5bILeld zZE~YeiEZy?6Vt z0z#gyxvNK~LpgWeTWw1IlxIiEiFvN(ZJQ-_EdC?U6>(ko0NH&nlsXzks1Dt$IVaMH zF|6s!-vp7rl`QEPE61$n%<(633M1`*xGSb&hV-C7dt-mt)4+e?2ea+m8orodM+fe( z8K%Pb6*4=sLTEID>0Doh?EHL6x-MXL^pdI8n8oqLQ)wJR<2K2-ie-1o41L0J?3B;yc;E@6s8&5V z;8o!z`;2!=?D@*;f_kJxY>ZumPID>+TKkjZ3eZEGU1mg6LAGVO^jKy3@op^F!@N`+x{k7!>b8iV&^lN=0#h7A`Ppu zelyE~rCxmwbIh1L!77zX?)=Jm&4t0A$(O<;s0}0=ST(!%zfu+&q26@vtSBq8Ft;f- z*2T+8-&yf_?5RR3+d24`EWd5NBY9C~byY1`H@bUsi;&V`kMF7@P2D9g51hH?U-R7d z4WVAmVjuEDH?!@sU(X9?SW+D@%+q(@%R&H=wnu!tu1aZPELa1(kB(Xw>Z~NFw zxQjQF+b=^I3lAyJ>pu_Kl???I1z~-;`~`*}(k7&jtcSIU*-R#d^8EMPIe7FI1HMr) zRv^*Wr7yP1zkW>~#A>)_Zxj2m{|1YSp8 zCtqiEOF{{$^6!4X47C@|vHQkM0p<%us-8^YD-`wtDdNA1HPC!-fO9EfV|Y26BlP#$ zfbc6lJ(JB1vl#6Cti%Jmb@0Z~{EEw@@pVVPVlLNB z6Edfku;*7hlDlv}nv!874FrEZ`)?6}>V91hxnLFz8Y=2u%D<#17-@`kKRVK*Aq@c* z$r|k9iu{jdTcuv{2IP0Q`o+(Y5b`0kuTfw}GhBBxJKTP(3eE{&3nF#XH1_3F5cOGu zEAJauWmHgHqjF#OAaXYIMC7)q%e)_g>`HLmJ_UV5O|1%x=+9FK*9NWZ0Hhg=?j1JyU>?oteG7Gx&9CXeDYiO>MXm6;2s%ly*@UE9wt`>B*|>6 zOcbmNglS=9%{R|F3c+cV)FuN*(@7$buUH4IY%b&{#}Rr*dZKvAv9F|f(IBS=V4hIfp9mJA^|+Aq{)4FrdRlX4uh{O-(A=$IjFv z)bf(Z9jlj9(8S3?7?z>nGgiEGau!N-oTT&ku0X!-!j6DQWX-tdr|HI$Boqe`7fCWp zGD}jADf0UF2VL<1sMkrD$|6=pNLzG=rQxDY4*&N~jD$1KHhd4qto#(tXFw*GPIOZi88MP8y`L3>+>UPRr64q#|An z)l*;GP7Rr07L`cRxJlaiz$b9I zB^ni0R(T|~0w>?QQ>h68#S0^*nD)PeT5f%Z7<8{#+?f$C8kNiI+l5qJSx--@Oz(G#4pYiTyhbcq6Jkg(yW`|3P&My2nKjf>-zwTTvmGq1C#-YxjHcS_rj-xgKYpzYq z#pc0h#GREkzUcys*iPY9DEVjP?X^~|M|`AZkL#4IRLc>Ig0?ElZbFW~{Lx1ek=T8- zujV-|DY?0>fMgd`ycGPlyw&;oLs9pviQ)N|dqS6k$Fu#%k?ort*-WY1Sr+*@3^O38 z*A-enFKE3}=u7q!duU3hX!^50ilAa>0IytLIZZDeieA*z!rhfr&1Lpi@#feuip-z2 zoAPJUU}v~DC*6+7f*Z>c1C9>ig8}V`r*VjeM6-l_Q!;~iH@J3%;_Whq7;o`Du%91E zIwK&=ptFl-$VV66>GV_mB2pQ91tMb5WeqlQwK)JhO|z6*hV` zKz6CnfEYC;%b%vkQH>^*ETUNo_At&&5q2>S|Iz|>F@f*W88l(pdJt$r@waDm`dIvr zOmu5X7an8S##qIZf2PbnBUJ2B|7-cKJ0>~w5EWy+!b5{$!mPH zvE0%E)OH;rh?ig{i9(WxkGjIarB6|>u&~lvk z`Ya3==HB>?#LZ;Rw&vc%?KFt$xNfm9cUl|WPEYpaI+V!0kPlFeorMfiY3A0p=QXy! zNL)~beTEZLzbD6qjpRCrMV}|OjxHt1&iIYwW+u#bPYRbfYpZ5~X3|uZ(+UQ0rs&{GGX}nMssN5cLZFvj$BGa<(MgY%_o3>)^v*ZnQQ1 zBo=SSu^i)!x%~Q3&^qF6EE*t+MyBJsJ3Q8;aM^5(0bB0`0ku_eA3D2U-mo~6Y4Mvk z9#AmbKONh@tVsO1lPipFWBt>4ZTfHo^eBd&4ze{#e`y~w-li{h)rLUj_qQYMgaZ@w zrELLL1&LwI+9bK%Qby7YX%>MpdkrOFD->9xZHe4rr|x#I$4ASZBkoaqlEi8;$NDpVGum!T%7D@?LW*G?LjS!ha5Y zXc)fAYYUc}eK~P6y5K=z^S99&V=&>A8RlZ_>*OFaD_R`mQckvXd^aWZt?=o9mZzUr z%>&BW9sGGwY<&Om`_lPZVuwgGp=ZyyseplFLUJ;gUg2 z-*T4aCG>$=)FXLv!f#2G&Ggw*j`^o%%ATA>TOVt*;9y#E zzwCZ)pe@MFTx~bUUG<*BPH260a;i}CqSTlqXu38`HdS17)q4p`eCyK|l&*-{@kYNF z_+!}y?6aL2J zl%vYy)VgB!ijyr;W+F4;!1!MuW968@q;%rNS$_0IKV*`?N);3gDjxu4P=yiQ9(5;w(mu z;T4KtYh83HtUxJ^X%6#z4xKKWt|$URln4K6#L3?Al1Udop;xWG_0@-FmQ}nEnB5PT zbHbBls`#oEsrv3{1#>xT?u3qF9N`eL+Y=*rEU41b4t=G1kBS(qF z!ie<8-X}CXVF=hIv<$|yzs$zY{lB1> z|0iBqH-5r4fEoVR6`y$YMy|h*pPGmi0|RQvyTu0KFUmquToTy3?lq>y70L^tyMdYn zCN9H;-?(#AJ7pk%kJ-$<1aInKn+kEI{h2(majqA86&vot^eXXPLyBp-p@keLrZ{rv zbAzR8#4`S!dr%1RPX}C}ovqQWlJ47^W77j1G;>|3e=RyLPuG;nkL)#Yk5t_Bl^7T41{7Xh`Gd1@KAf}>O} zFENEwm3;ySe3BykqPIwH;mNcg`;xnS5}RyC!!VQFq(s~b4H!c-pZz!df7AB**_{rx zBz^}V#=qCG{XLB_A6d{Rt@BkUsqdK z&K&q)0sVbjsP!c+p*hgZznud5=4PNx67^8Z`zEFGPkMJ)^+|B)v-!+#&Mfn?@i9o?OD z*f`jUIY6Sp4r-h+{}k;5t{)EF6O<%h)4Qzfkc;;@{-7z1E(TP=_wLOENl@IVUVPI4WRx+Xi1P*8BOr6q;8K8|+k*+b{5=B>=adqJNCiwFrqzb*&8flW-TIZ8v|X^=%UfR)=|W z(AEco3b~#@ziS!_m$0)j<6HTJvC8=hRv#wDm*hh*dI&C~m%A5c0;u`%V)Dgdekg}X z=vp$y`pW{kxh6)@qJ@jri}ll|yFFDd*zUSEGxgFd;)5x5ARO3j6SeCV&k~#OtM43K z#ZL;4eh?7;lbo=(JAs@im>9yr9knpjoQBgQ@NRn!dO?HaXR?u7hTYZh5m0wJm}fvOXdUZbEK#x1s9Psbh1o>7X8;~ffdVa~hHtXZ5pQnA;7r|D-9tFvTqBkQvGJE@yF663 z1~(D-H_qC4cp-fBz1Dc_evGXiN-mb`E!5XKh-bDn4jvSjQ!}B-UT{Q=4C6UE-D&Yu zNKBMyMlK#;L6QiUew8kT1r^T+?;2r$+o1@IB`2n_7mOhfG~w9sQDAb6=I=h4u=m8` z{>B6lb&8U`j_`M$pn_#Hu~0$YNf2=O9&2Xm9splPYeEi#(ndh>rOULJN{XEPsi3%zzjP&NoPr{($O{;M=13yVBHgBUb+i0=ddauwf7-DvE6Cv?7v=J*j~ zmGyoc9*I|U@;ns#n;nvjHMVJy=I8vp z!^m-BsaUqE%P|&aBp+>yShl{Sa>Ygl)`jyHn>2alZ>*q_N3cE=bGr@2Z*=G`+@FNs znSY&Rro)Dc7|;SRveE==RnXlXtay06Xm^I-MfH&j%nmhYDT4`PAB7FG{>>TTi#I`=pa2G?L(GHv2QQv>6p#K1(Z zHYl8Q+0s~~dYI7z#=#$Ez`!{c6W6Txlrp_;43nbJTeiAQ|9lgG4lLk`$H_TWJ@|l` z5ADf|#HHt!)~UqsmqXzVjpRcO1cNZrVbi0KZ^2X~L}OI3ENNti6IT8Lw|*R~O7WC0 z5EQffNONGp-QdP(p`wC*U+;#w0&|g;KRB>mor5j$jX~b(s25o$nhtyxTa_%qf{~&A zFenEb17_fx@ZSe0OKSkXV{($oFt^5`)tL8kyoq6YcXS`zSNTG8drSuT%6XE#2#X`g zK3%xJ-bD5D%j~>SadDEIBVE*K)Q3t|%#jVnS1tI!ny{Mu1D~w)2Tw~T#p%XO)HYHT zBj0MR!$FLFNb!*33ch2?4V_gGb5Lr7e8hf#p(PXdj39dZ_#WnIfATg|F!M!jW6udI zKAaxrwHApAj!c1A_*eAYbPlq-q~{1mFYxH$eA+bPy?nMWCh4wz5(dt}Bhyb%xB&pQ z;KL-#yKb#oIfH12_Xju>9zjJ=m---R%cuYxHh*7Ilp3fyvPL;HiA)C5uo(_%rbZ=C zx`HONV=I{@15;$S5(k3x-S=IuWZdVSuL3WD`_T47Wqzxc5SNE=xESM$ie)XF8BEpi z{>&4~tdb*G04v9$XNX+qm>FC8CcFy)iBvkWsVRAT$fmAc72SmUgQ7G%j zMtml682Wxg9s?u9!-V{n{cp)!nvS6)hc+C{d0f2c{1tWSx{(A=a5{;x-2o*-MWMwPkgqm8VhV!`n zmXZ79Q5kcG{be%;+f(u0iO7fcr;q0aBED<)gRb^B*4tk5kCT#xE8i?b&05>j*Ycsy zleQH7^w(8nLn)0otLz5ZXc}h0G3b@0Tx|U6wY9dcYj=`5MPIoo>``k|_^E7lG#4T2 zGP>L3OooKf%EXef(bA2DiUqQTo7299qcZ)958Hd*1s6&8#(piJdoVa@OvWh<0;%xV zTj}RA;uNscN8I^3F3?;n$JcA3C&g{4>!zZ1HLsk=;TiG4Me@lBhV%A9F|vGg&Td#& zFLv*Jd)#m9!>hj4ytc!;wkW-mg^T$++hu|a^Dc&9Ppl$xZ6xwBSoBe)6aA3sNym!- zKiX{ef~=>yAe--iPJ3SNTp?BbNBBo!mdlyWebHTcE7oHRkV)s4-$K)5{LT*lB)@b% zK4x&DTrv|~^%$B7)zQ$=-$9XmreJy-8_WeH2Aj0iepJ(N6a8?KiwzU)trQoYh?Xqz zS^#ZCc=2>iK~~aod!qmzT5V>7G{>SDS^P!#MPZc7nzl`mb$RZz`Y`$fp3p`a8~shW zi)$)R)3(lgwfXY#a~9B87HDnJGoHc>*C4K^1k8HvEbvSsE-$UsEIsa6C57pEo1B&4 zNr{h(I>g$dR=txa!#ZqdD61WzhCai|Kf#0fo+-!ZX-869F%EOW|qgz5c=Rcdoz6mrI)Oe393DnMJPP{&Fo6<0`d{ za(ypk#m)~(U~hs6fL4))eu!oxu=50wW!S)Wd*$imypp+E1lY6ay zEv=fHiY^A;*Q?d))#x>q_Dq9QZuY0f-WWMpQgwJScpNII2v-dlFy9|y?Dw`uAGfEI zSy?Ncv7a^Uyu8SX&n;I2A0p2kaBCcydCV#KW_v+lW+RG+!a?_{z)CGnYdkw(%PESN zonpxSo?DmGF|tScv#En!j_su^(SF4F+lC$Ed^Ct!^tNd^yLPKP%Q~>i9Z5Y+I(fy) zZ1E^=!Q&54%<*mb-_#`QU#6<%VGPDvKayL?X59b8`AKx%IPcv{BvsbT%zu&p(^mBj zL@$2&1D2h@vUTOp!zh>zZTR-#Mr2!`>gmFPGl;ZG^z*u zHifQlWjn%#8Ri(BXv>bOKB||3Li}XbxK+VAQf<`{`jAi2tGBd$$MLP@ zh4czhUuI2#%G5*l%Zk*&F1qBa^{4B~w%vRZn`@Y7v#*f(Hf%`9)4O@q$Bd5lpuwm9 zSJLuCeP7Frq+|BU*=Zg#JJM((k@6<}+?xT@1j{s@)rP8iX}n4;mV-PU$F3$7iAx$+ zPwv$Z2i>H zzf@hi_ANW*RlYrS{lM-6TSNE>0&NrpeZ=Md-J7k3#Ue6T=QZ|J+55xB?(L20*i-D) z{7TuDddVq&{832L9r@a#Gdm}^5}XCPN@1(4oV0UG>KwBUibz(5$!D<@Pjtl@i+{M! zXJ$a783gP1t?#kTW~ozx{XY{%lV(;AI`H(@a7U%z6g1$nh!<+0Mc7C0#2&mW8~fNU zJ8s!cY60D{P*1_g>u1oC7Nd7nRfwlVzKb&rHY37)$At^E!P)@yg1 zHoSeI;wXiw=WRgdyD%nfrdwSU(5+Hd?0p8OmtXxTTfdZ*tBQ$49*u8sy0Z&|sJ?n5 zE|gtx*=yz7%X_g31-geNMjpmS27+&9{tc?{Muv1p?JFWxPON@daMAL{gCz40sd7@= zhIz~OS|n!da`YdPwO1vmzPGh)>CCR2KKJd^_1iu6jmcl$I>imOELT#eDeXh~9Qb?q z#CqO|Pp9(6doVk^n8&8wLzC(Pztq1m9tusFQqN)Bit?YddzJ1h8T=wJLbWNnA*1%= zR>{~U&;;RIMYej=`g^`)evegtJx@tuzJlC$9o?Q;q+YfO`->>l*KI1FW9+%&c8#A{ zYrp!Eo5S~>nG~J7i=@Vn=IE`9$auX6!P0n4Z+uU4-*Cv3i2w)je=IDXl;OO=+$wYRz7z|Zk1 zfrr2I~DByekvh{TPeb>_>P3D!a5Ij212-LTHXTVM%Gcl7_g)lEq) zJs?Fr34cEPwBZ$=dWTqwjaiqpbA-nfhII)|=x5tB5LM5n6{sq9a$m&;2swYpa^t=%yl)Ec`jO@sT;z&&ihS;$yj`E*OS!Rn`nt9Ge5n`Yb((u}^| zzE`s6+Eo$ny_e2GVFhjPD2kKp2h%H^0F$brUo37@12(mV%j)g}` zxgMBsVkDNiV|`=z44P(kVs0MR3y<%aPT9rRFu9xjPpRRWL<^s^yj6W^!r$ucRO2&c z-igO@;-Nc62MP40ER zSus?CdM9-6;!;oCXQo8S=3YuKe5CSX=3|k-W8vlRTQ}UT!|A?ps+o8~%|?CP_~L_E z9*f&QJJ{NwyeXg}^$9Pg#{b}8d%FHGqQdiJ*lk1SqNgP-HLjAkTD)ANKiLRYZ!0uA z|7lyzA@_mWsj!hQYi7P!>qd?GgdJqTVcj=`svQV5n@P2cUP*q_cUc#|(6c1z8a|M% z>bLFQ2U1&j$s}@o2f6Xpn&>r~n?~17pkK9>D=MR1^)JoflcG0%C?rNQb`H>%KNu-L z{nqDdv2kO(! zkN6U6y3=vXxL=-0sqVb9eRR7x(ig@XUW2UkB1BldL$_Q1YWj7?^3IMxE{n|L9gF3BIVnsIdQe6~ z_+M#z=vS`uXD0Ypy7U)%ATEj?6p60Rc8l`|Jo*QJz|TSm-2Vk20KLF1P9RX6EbV** z@#A0>H8sTdye%4s|1Sg)Wx%Y43!IotILasu%>h5|mTo@#M&a!G8Kd4!OR67f-{7L< zz556Ji{CD*Be!UMr0QdyGxY3O`|Q?GF15s%IR3pJp4=~2;V2 z>E>r{zgWq`@(lOW?a@{eN|ut0GTbw$;J$V$2J#;KQsWh%qm_!ig4un=f5^GF|c4$ z;0S0d1exXP=>`HaL71{=Ob<6s6LfC`$pnzTLkH;$V=@t;2WJD&qoIKyfx&NlphaLqa4c)$<~V}K!k1_5ID83i1yi2gx44=S8Pn~XV^Bv(()y#3Y%Y9ab0(Ez1% zwFjdHea#IThA?zvFg58M;7Ofp3t?_y31@mbJI}o!LEF1&O#7`2rs5tG`QN7${Tr7g zfkZCgscJgfIy!)g;=sKHoWX=8fD!^FP!1}KU&2o!wqJc&h+MtCtG!jn$ zD?iT3)>^0m4UM6_d!rzq%Iav%AbC077fsF7L2pg4*D>_vLTFJ zU4g~&d_^bjs7g}&CTn)^PrZ&(Yo=5^mXk$@$2umO$2{^naM8s>MAr07n zyKuIWmMfj)z@R&Mc)Gw5Bpi`IBw-*;q86kB5r8_0nh+L=2MddWGzmD)hVWq1SnOGO QVF+NRU@|h=hB~nS0odBFQ2+n{ literal 0 HcmV?d00001