From b68e47b74699d74f621f323458d05e58ffe6647b Mon Sep 17 00:00:00 2001 From: Zhang Jun Hao Date: Sat, 12 Jan 2019 22:23:02 +0800 Subject: [PATCH] feat(wolfssl): update wolfssl to commercial version 3.15.7 --- .../ssl/wolfssl/include/user_settings.h | 4 + components/ssl/wolfssl/lib/libwolfssl.a | Bin 1167036 -> 1843000 bytes .../wolfssl/wolfssl/wolfssl/openssl/asn1.h | 50 + .../ssl/wolfssl/wolfssl/wolfssl/openssl/bn.h | 11 +- .../wolfssl/wolfssl/wolfssl/openssl/crypto.h | 71 + .../ssl/wolfssl/wolfssl/wolfssl/openssl/dsa.h | 4 +- .../ssl/wolfssl/wolfssl/wolfssl/openssl/ec.h | 75 +- .../ssl/wolfssl/wolfssl/wolfssl/openssl/evp.h | 133 +- .../wolfssl/wolfssl/wolfssl/openssl/hmac.h | 84 ++ .../ssl/wolfssl/wolfssl/wolfssl/openssl/md5.h | 4 +- .../wolfssl/wolfssl/openssl/opensslv.h | 7 +- .../wolfssl/wolfssl/wolfssl/openssl/ripemd.h | 4 +- .../ssl/wolfssl/wolfssl/wolfssl/openssl/rsa.h | 24 +- .../ssl/wolfssl/wolfssl/wolfssl/openssl/sha.h | 18 +- .../ssl/wolfssl/wolfssl/wolfssl/openssl/ssl.h | 1165 +++++++++-------- components/ssl/wolfssl/wolfssl/wolfssl/ssl.h | 425 ++++-- .../ssl/wolfssl/wolfssl/wolfssl/version.h | 8 +- .../wolfssl/wolfssl/wolfssl/wolfcrypt/aes.h | 338 ++--- .../wolfssl/wolfssl/wolfssl/wolfcrypt/arc4.h | 11 +- .../wolfssl/wolfssl/wolfcrypt/asn_public.h | 507 +++++++ .../wolfssl/wolfssl/wolfssl/wolfcrypt/des3.h | 34 +- .../wolfssl/wolfssl/wolfssl/wolfcrypt/ecc.h | 108 +- .../wolfssl/wolfssl/wolfssl/wolfcrypt/hash.h | 61 +- .../wolfssl/wolfssl/wolfssl/wolfcrypt/hmac.h | 91 +- .../wolfssl/wolfssl/wolfcrypt/integer.h | 18 +- .../wolfssl/wolfssl/wolfcrypt/logging.h | 69 +- .../wolfssl/wolfssl/wolfssl/wolfcrypt/md5.h | 11 +- .../wolfssl/wolfssl/wolfcrypt/mpi_class.h | 4 +- .../wolfssl/wolfcrypt/mpi_superclass.h | 4 +- .../wolfssl/wolfssl/wolfcrypt/pwdbased.h | 22 +- .../wolfssl/wolfssl/wolfcrypt/random.h | 55 +- .../wolfssl/wolfssl/wolfcrypt/settings.h | 300 ++++- .../wolfssl/wolfssl/wolfssl/wolfcrypt/sha.h | 28 +- .../wolfssl/wolfssl/wolfcrypt/sha256.h | 48 +- .../wolfssl/wolfssl/wolfssl/wolfcrypt/types.h | 610 +++++---- .../wolfssl/wolfssl/wolfcrypt/visibility.h | 23 +- .../wolfssl/wolfssl/wolfcrypt/wc_port.h | 126 +- .../wolfssl/wolfssl/wolfcrypt/wolfmath.h | 13 +- .../ssl/wolfssl/wolfssl/wolfssl/wolfio.h | 121 +- 39 files changed, 3233 insertions(+), 1456 deletions(-) create mode 100644 components/ssl/wolfssl/wolfssl/wolfssl/openssl/asn1.h create mode 100644 components/ssl/wolfssl/wolfssl/wolfssl/openssl/crypto.h create mode 100644 components/ssl/wolfssl/wolfssl/wolfssl/openssl/hmac.h create mode 100644 components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/asn_public.h mode change 100644 => 100755 components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_port.h diff --git a/components/ssl/wolfssl/include/user_settings.h b/components/ssl/wolfssl/include/user_settings.h index 07b9abae..a20a8221 100644 --- a/components/ssl/wolfssl/include/user_settings.h +++ b/components/ssl/wolfssl/include/user_settings.h @@ -31,6 +31,8 @@ #define NO_RC4 #define NO_RABBIT #define HAVE_ECC +#define HAVE_AES_ECB +#define WOLFSSL_AES_DIRECT #define WC_NO_HARDEN #define FREERTOS #define WOLFSSL_TYPES @@ -39,6 +41,7 @@ #define WOLFSSL_ALLOW_TLSV10 #define WOLFSSL_SMALL_STACK #define SMALL_SESSION_CACHE +#define OPENSSL_EXTRA #define SSL_CTX_use_certificate_ASN1(ctx,len,buf) wolfSSL_CTX_use_certificate_buffer(ctx,buf,len,WOLFSSL_FILETYPE_PEM) #define SSL_CTX_use_PrivateKey_ASN1(type,ctx,buf,len) wolfSSL_CTX_use_PrivateKey_buffer(ctx,buf,len, WOLFSSL_FILETYPE_PEM) @@ -54,6 +57,7 @@ #endif #ifndef CUSTOM_RAND_GENERATE_BLOCK +#include "esp_libc.h" /* To use define the following:*/ #define CUSTOM_RAND_GENERATE_BLOCK os_get_random #endif diff --git a/components/ssl/wolfssl/lib/libwolfssl.a b/components/ssl/wolfssl/lib/libwolfssl.a index 7bde8c8325e93851e18cbb21de5ea2905672a067..f475465b08073894280d8916d4e63a9d2fda6d7b 100644 GIT binary patch literal 1843000 zcmeFa4SZDBbuW5mBrrC^hXhs}L+sIjVIUGnBLTvO1dTL8GLn!bfw4m!^46YWiH)x6e-Pgu1!6 zPMg^G|KA_y>~rQw*h%woTh32MXYIAtUVH7e_g?$+oT=WF%BP1va^2dn`>J2pxS^r0 zzAn}f4%Z2i`9BMYJ;nF;A$PXS_iJyfva`k zY8|**2d>tEt99UN9r!7z19O+1wtiywXSY~$uiifuHdt`si`EZxfBUP}g7jr(r`86Gf4$N2y`O#1TKto`zx}ke_@OixqsmS>xQfMkIe=*-nGywxgV{uZhSxYKMq?r zPIE80A!?P}9pAB*On3hRXfxffe$HAl{oR)-wv3DqXYzgHnRLNIa9ie3p>Jd`WAznt z`3yr=YbHN(K!RPVeVMLQp@;~XbUstG?#X3``uaMPE&aQaL-|a`MvP_dv0)csq>wCR z@&__`n_S2glle?)FgY~n!rhY}DQ3J#gJ&<|rG@s%>`1}U#e+{~4%%WJQo)5Q45#v$ zK_$&iG7=mtW*r&>$Vo9do-y(wuuR2;-I^)(c5k&)L~#4S$1~|--^eE%i_wJsl&(a7 z`}Wpph=|gaI=FqJI6mQ)M_HvQLdW9+>sqD(%Yb7~!bjBTH1~SdLqmXIIj%3D)eG_O=PSok}uyj`{?bE_R zXn}>gQe&yTMx{4!)ZfmGf$z@TW41###V^8+v1~3i*wXB1o7mZtWFg5WKX7O)HR>cq z;>g&D;{?W05zJzs9oSm;=5rI{$ zY^J5R(-v(MLF-6i1}Zck89H<&(c4@4dS;M49a-u{YF{xmo^_R&Q`3}!zHI4YKI>+>Zivzf8I#bH;%thWb50oiCD6x3sJ zw+yrtoxV`j>z3x00Xr_+oXd?lEhIZKkWb|gxm%fTRRvT&w2Wjr1%oF?a~MBpkEU7t zdTOfbhqrsti2`awax6DCkjnf@{pkl{$+YlyXy?V@oZTTDh&8wgMpGh9a{D56 zc1lEOLNc8j8$*}w4U77ukx)#IeS8#i5j;A$Xj)h@l}=~Iodm}+dvnDRv)ZEA+Y7C^ zv5Zl|E!j+JY{KaRjC0%_0g{5<&<9Vr+t%KHkys%Ffe>#=T z4y244#ke!kO&O{*rj;=rowi^a7+sGQM~a6q&=_;9>!rHXrvsWk>daKCF50#96Ul*T zJBd!w<9a>4Cwh9AhL=K;L%IBD%E<$hqB4dLElEzX^hlS?(WF-)A0h8IQIp>`a~d|S{SzbjUl^V!4(9H022eAQ zq+~Q`>Bw7}-E%xW=VYsyhDA#l%nYR_vbvj0j;D&lPF5KoqXN;rBwea2io;4}rOU+- z-*mH>(Q@dS9K!#?aK`R##H5(9ilgJnd?AJ2(Z}nQ7=?N>@!WV3U8Ur ziNUn<#{8AxdyKG7iM0@U!hGLTu&`|@NerC&`nUHcLBHxqaZSgN z97MO~40Ake%!Kk}X=mUP@7SIk@_G^?MV`e%f^u1|LKYm!fsve@aVe-!aK@C9r-1Q? zvED&sCg(H+!351pA_8YvoNP4MXl67ym@1}R$&RBZb|FOHY-4o!>-s#NDirR)n#BNJ zZr&wrT2_}ZDpDfs${eN1aq<;EgqdZ34vxo`Fg7uYjwij(slqG_VmPQPX$-|-u?RHc zv>&pMAcx*&!zneDcULE3RM(rwbU8O_D?*BL5^hQ+WorwN)yg%$>uOz>bj`qs*f9=M zI}L@Xwvn-vQ(yYpo87U9@WdjjBvyS%w0fU-^`#MG>(-YvP71`(}Vi)o9l>_tk_4LT0(3pQ%Kgw zn$Q^1E+GQH5z_%5JZ<5J7jlZu!jLVWa(wVYjt`!4GKPyX<@n(#$BP#=S1fU&WQ>+U zS(&kPa%>{&R6HVEI(pg@y~5HZ7By(>FU(nhh$_-?)pw6Xbd=sXsE30sb~-L0-c>p+ za`ASW2#K+D{?K@_L?HujOp}t-q!o+Oeo+j(H;Q2tZ&fo$t`%%go?WwDL9-26l9-@) znxzw^v}LNi&P?#8qHjHAsCRDfY!d@9S?Po!G|q@oY9ObQvce2y zQ+u60!iY$JAxAdTvP?_RUEnwdvF550#dBQiS@|KlXItVf(Q-;kTR9!SR-;HIQEXw} zT4fWMb&d-CG!#sOvNpR{Tx>p$ByU5 z-J9H+-Bl1kZcTJ2dYe0w{wcVqu#KGqp}ttEGuMSY%VS((N^Xzeo@nVWQN|^?L|Zea z*(*U|ljOCZrnMyclaOg^>xt&FfyfCf6zh{&^@Om#{@#x6t;u38xud_W$q@*CwTkX> zW|UOoRCHU-XE6VDe46$%E`2D#Te+~IF%vF1>^(Q27dhmpwZOepTX!aqb}`r_HL@ay zt66D9r=tszA}w2#gK~@V;88Dfqe)){(NDOPkWI-rt6`U1VL}{HaI@11it&YBm9tf| zKWTID24jf8$V*^0<5Q2mFkphMu(^7>Yu-b#|yR0u0 z8KelV19rMM)a*RWM8j-l2ltNMs!?ug0-H@p{Lr?{A+PGBD~tM2Mb@!^hV8X6pY?9GBSah{RxZFjdH`Z*(Eq z=ews6a@>ToO&MpITHu6V9vaCy1>ds0t0(yhxDi{Vz~sFwqQN-(Ql7m(u|hd`2*(|; zQH^x5xKz60MLji-Wc03ynH(@^F`q+S@-m6)1V4!Ve7UkK29s*^XXiq2b#C9jZHJyJ zIi0LYE47G89Zq3iad5;xs>_ZdmRwM#sj|7;K4XJ&BsS!63IhqdmV3xkQy1zth< z7eAGlpAmC~&4^9fG^&v_U2aJ8P7#Duqkg$n!RZs>ow7La;F&#%h?>qp=yY@`+%4DH zi=Zhvw{X*q!4k(8ML1e#rXx~LV}nNb-mdt1fY+PYxqVxrl_OcVY^}3mu!-J??g6E6 zq8;7+iLF?xGi~o8lv-Z&B4SM4?H*E#c>Nt1{9{n%Ie_MpiJaOxx(E<$6FilJsd^`T z2F|V{S~K3TQThHO*Hpy@3!@m$Mi(kB=ZWNVVt;= zWcDh`6mGKEyz`~>B)T|R_g>4{5k|_KLY8hAYz$MV-zT z#6UVTFtIn8$~%V(QO(2xoal)%d1o7o+TnmIV==!I1&+j>T5kyTBbUY=8JsCHsh&B0 zJ*L=xIN1U*?G{x73DqTw1K2+v*^7;6iEQrNx?ODW)Y(k3j`i$_V~I{8B}{)($00$= zX_r)fT%In#Sj`%V70v05&`H-iZp;o2JLPTLk}`~=B&y3cOrY#82Qc&sMoky}B6{hR zd;eCKm5d`D0xP&+XUg717%HKhDUP&Y3)^l0Qh%&Pc#Z(sc<*5(o1iwZ_vV~aQDVuH zlPMMrk1!?usVb^dO&vFDi`NonWEvhZYN8W$0Ow(R31Y2f$lU3$BaLFVVVvT$@oIs| zDKMLYvNG2qh-Y7p){(~sy*S&#$+ySU-o|9ML5g5e>G|k1XW+;(!@|@IB-M^{TbTBi zdXU%R^oDZAk};M*1cpOw_bgnX)k_uTJVxL%d!2!>K(u(a2nBM0yZp9N0ySR9Obq5Q z{w$^BjLpe-x9~IOU`L@`<5Goll`C-Gut$vScfCv)58J9j2G)^1L9}{jG$c8aqZ7`C zDo~;ZaYfaP%C6jA--)$)Hb|y|P4kq=6}C%tF9p4$=@D7>f;zII~e=Mu2iK zI6=G*IKz2@hbJ9OrByk3(MTOJ+1yQLwh*9A6qduxG?BufF-t=*of~&t2*Q+cPcH9L zf_2`DgO~9LMuvej6VDcgM}}PLK;p0a82I~M8^tp|RnrNp_5$+ub zy@%$i`Su9?f zoe~LLM)WchXERZqJ|NtiZH(%fK$3B%SP&^?Rrc}A(bmjZv(aY7z9}n%Ys0b~`>ZWy zqhMlsD;an*2Og505nHmWbqTCHE$-YBV+s{)o|&}3x$`Pe-l;qlVrv}~o0FxdPsDaI zns_~rxZ3J6mfmQtPqt1=!J85s$?L9~(ePSYe{+Ar50~srIL(1adTv4QICD# z+0jr~fo8@WMm9!ss3nag$>OyoZ$x@n-5{rnI0K#0edU^M(l507%UFNs3%#E*NQWD2>SR=zKk9P~imcZ(M zCHi1yula_XD=zvvV>>d@(!<;)F+4QPByr}B7(_@5nB9Smq)w@!A?zlje?1{Knp6sGK@fr%=IX7#WJ^g`qF+H7H$rpPZ7Nq{Bo5_8$s1;#cWF#oTZ9zgvv7?ID;W~Xxuvx z9Aorlit^QM3_@C*8IB8WyymynWH<1RC|0c!K>}&8OEF%oBSa3OO2jC1iJ(%vBdSll zj4xk5E)nP=mWZ8>s)XY;bx&qJ1imfmPEtp4C*^~6B>9;F5lXWRoBHA%QHim1i8{oU zXyZXT5?V8*5{N62;6aKOC$^PcU4Vl&-J^pwyBj(gv>kCWR}H#4y4$wfO@MSbPoC2< z`b|fc+|QmSc}etFLekV;>a^SCV%d*-?zTcs(l(79PtiCehP|XD4r0f010Og2lYzFS z5eK%I8Qp!hvc1_nB+oMQyys=h;!>GdA>^u#>u7~ex!_EGh$@W5%=6+}7cY)k$+}}g z-IA!@$pOb&2jn)g&$~LF!w9f}`ChDJWY!IF=)uk=mN6W1$@wKgn*N1uEJq~0uZeMe zo!_2Fa?eq{*z7tRr;YB@N0KB|^qh4x@Th*6>f=y`odXr2l)zXtn|C8^I$UZTTNCCR zLVl_cSHj4;;(7;OoPL0s?lU*Ua;Mc+orrt9pH0xhU`6-$6iD#HQ6-Kk#*H^3$jhN{ ziB`nW~MZpAxB16;{IODaqy?yKE{`ggKn`Qd5wNYs~#E5k_=lMAgSs&R7rU5K5p; zRmC#WdtE$t%cF9tERao~_TXmlAJ>^VoKA*q%J(9|J(hB*;Ig2o3oZ=n1}h@o(nIOt ze5&K-;yc=sUC6H4duSXc#Li(Sjdb-vEFBkuDVc>JYMOCmN`;d?uMpBtP)SsOm-3X) zgVru2nOz5G#Ll7f_N$BLGL^g5vWdFiVD)j6cFN@Dq6Zw9jkEdX`5}5#x3h9H*zrVt zr9gPWQWt4bU9L|MXl1YS6a>-T$Ym-!A*HbJ-z9r2GBd&(a|1Y&9&}#2)DiWWde5f> zNT&XIv%EF(9xsxE8~x!Pmuh%{o|91*4r1$|llTsUO%NHBUEXlc@NXlrl-$%-he+%Q zPUqy_&vcxS?ugu{1Jce!LZq3&=M}QLq&1)({ZPQ;vCKqQRV4S zTV26o?jv9Xpx+=;r-c3X@SuZOs42K#3fEa1E%>}%D*S;T!7r9;OVu0GMYNayu=;51 zhiIXx?D!bg=yJuJQv!y?(#{*e!gUu@dt*2TVB1F^l_7+?HV2)KvuBm`oUL>dUCqfM zVWUB=^=0wW{-EpR(?~4sU&Dm<7-yMVtpZ0SFer4rL2DBVm}82U1UP!O;u9m;!TxN) z{%%z}4hz~?ER4wa==rs|{?5Jw^_C4KO*m%T3CjieL>(kzEkS>(oj#g}Xhd^=`$lSDd_702#cF2U~*WAd!cGk_$ zhcN{^peZ)iQtK9c%H;@4J`6n80Z7Jzf`w%!E|>7BxQQ`VXGmcaGFR~E`8o<}{MfS( zZNs*b`uv>85sW53Gl`D^$qrd)>GB9TYCv8;9O4Lm^{qT+n@Tiu4~Bq3Bo1QzYz&9> zJ9GD-B>J)Uo4063`DMi3)ICN>fE_$qWAzPVti4Y%#pU;MBubDq273DyuR9}}gJ0Ji z8VLuTi zhYxQJ_UBjuq|rzA_HaF`HD~)&m;n38J*h!eqQVuo;KUQH01pEO%qZCWMMkpgn^IA*%|?TXfAWcoQL;DQ5bF6O|0DIWr_{MvD+2 zY$fY~2%~M;Z3+f;5{07>W$DR~s%6BQNjPCsps4UNMcOyZ4js)0JA*t)iJVKFq|WM- zhrOBc>>;Z+lg?lOAk5*&7L5G1Gwk z5>{Jko9j(`M{WteGq-my+=Q|A+{&}Z#3hY`*aot#&AJC?N!ac&SW06PM{v`BGl=@T zPdJ5c@ohjLaGukJK&x?ud&OJLE>sJ@a%5x7WJnR;vq;mZDsA~;*tGIf<~!0zUcM_L zRsihK5c_B-E7pMo14Hae*z|;dU{+*QwdZ7qk*-cqaiB0f82uhfn&0vj8BsnGVm-m; zOrd2Uji$|$oOj~;Tge#I-OUWkCb^`Wr_=c7RYHozPf1 zW5S9FnH1QOy~1~bx$BU2ER2cw-}qes^6;^JWRQNg1KnMwh-ruX>ah%(Fo!h2LOqN; z9G@Z`o7JD|&!-0QQeTeWAQ%&?4ba&K?Z#1O7ZVeJB0c-kg(gGf_MxEy^5tUX@JCs) zMZPkkwbQ$bQaLexE}F7$VxS1HU>S?|37$z#7vYXXQE>30 zs>{w)c4QD}L6VswRppOZ(e+3QgUy8&ycIDvn92)2wh{U2BOtpV0NX`Re7XpP?85~K z!y*(bdXJGb8a3d=K?fE^*lMYoX4niEG+$L zqYq&*TL2koHIqTYJvnH0XgefwOv(rt?2)wu?B^JZIdEz(Y}JCnOfkd8+r$PU^33X?)`*-=Bk!1U4O`R0<>Uh?ie!~ zD~w`!f=aBD6IM7&7>wEN&1CT=#sLE(j4Qr=ZfDY^*K}A>HR#INVp)5w1U|BXH&Mi4 zws>M|N4Fg!g_h{)#aB}#$qtgn<0%eFhXkctk_@2<6D86_RD(`QB1js~G8m%mAZcPf zhF^h}8reb8S`xke3NOJFUzg=Km1xem49V8)4kZd{HzL`c>&^;P{dzM#LMlEM#IkK8 z2Qd!|rd$6oA^5%TsQ_I+)83V7j&X!u{h zo-i;2#oUOM#t5^pZ)?8|Box%CQJpyDD7g~*70{h4+HhYctFVCBi{f_z;IDZ!GA(>2 z*Pfs4MeQH#4W4gi* z+^GOOD&eldbvhZ$jtmf++B&446fOOT>M$JyMbSMLu{(g*YfG2&4RQ2Puj>MuL#UevJpE5rY{e)#1UhNFK?@U{FPp2pzIxXarAMD+N>p z9BOeRa7qi?68JQwc-K{`LaWHrqaNfKItwk^WGclKu)1!ovD^g5?k>D$mIdlPqbZXYEAZod zi^mA>Q|}45QJQ50j>afz1~mz_Qh)0~#vM|QOjJ{}L2TCHlLdyp8mA?|krCea9$vNxL4$49=CTdkXP zh6uJyld2(b)29#dNNQ*YY++>IG3EqE z4N&_Ky9S)l2Q-KmJ|u*? z3wafrXmskb`-HLrFp+iUA)FQ^AUwEeZ8{)ceL?^= zMZ5#2((sfL<9bls6Bn}a=BG9u-poUmWI}|Jg)9#Ih@>*EHn~h5<<2SWFZ)3OAmza?c)a)usbilB|v@}mTEIUMts}4 zjy!=fi&ko*1Q@bB85thg%MbVH+)#T5#eAWd*#!~YpI7#Q&19i+^d`)kMw87JMCGNv zgI2bPQ-NZ*T1*MF46sWhmh#*fdMY5rP}64Fn-Z0CS4 z+Y17mmH5zUz4C!FKp!T*e<~okx+@Tx%|MX_OR#-d2*bxvH7xwK5ojIBizBZBrRD)H zoSJXAa9Hj&rVOt2UzL*XF+kHD20(NWNMCjiGQsqKTTmiBU`%i*rI(*ek!~NL%BLc9 z=eYLkP(@g=;8*OhFeBgC6!S;&xsaH|6G#12BAnicr9UXDwX|_^I;E$H9yA5nD4lEx zuO?`fF)vlx0&@Ca1nlmYIYpQ;h*q61K>50+z_Q=Pcu-5l6jwu?C0T}^TQV4re(-{nrq>PYG+*-Rf{JySrO`3hr zb=Y6WUkooW=CX(C8|v1r$*sMPn_OZhj`NE7LeY)lQEXx`CM@8oMTP6vHEw9AtFMbS zgv0f9b@j&o_3IlEYTB^APH^wJ?vshmwm=|Y=__FUtmT9(>%}dglv!4zV2E1ltp?5d zo}cC5oP&EI?i+B2aYu1WnE+|?0;{5oDrJ*v3I{sJD z`R9+>9INI>=U2t&84Qzewx4MVL~2Zb$i4K%cc15NFk*-;j9|=`Px@S#}hJumo>PYs(r+$S{G?HC48pwc-MsmEeVEo471% ztGujsb&;n-Uw|vmT)wtG^uUIvgXe0jX3N^rFx6BxRc3WAip8x^lGJ*(MWsbQh6viyUc2;X{x?;_%D4E%RY}J+_*L9JpXmBbBhCnDC zi$4=W8GR|#8jt^B=z)0rk7DuDHD$5*nVKW9_}LJkFE0&7c7G$X`!6HAUz&ZVC)#o& z+R_%kXfGjVTgQ8kR>RboBqPqg&55`;uGEah|A=~>t|^a0P3U~qQIe5jF9qX^+C!D$ z<>5$Qd)sP9gvcqh{KL=@3Tc=*uS-1+Z-I0c?WVpB$Aagot(6UPYW`tE<)Wjgted{Pq4J}f z{v3q1RaRT4M-LVj@{L?iul&)dCsL~&$-i2N@?C;9;jT~9rsc}-Y_F-NO-)3LOf8i4 z0%=8ppBswp6u^^Jky-JY$62=kKie59I|_R2Y=3AD5(NU_K;-d*#}5DZ zy8?SMi+fKzeRuD@(J%y@wybl|Bl1Mw9CRIF`b$@zd?C28;?45NMHJ7MRzxQgi8yAP3L`J>_&m@TCl6)8|xxxRRaHXsSOsN7g_p^Re_f;mmkjw zruKkj+9G8{1FJ8EBH?c>JU-?k?{UbzOaJn&!0}&|Nz7tw_S6xF;dnP`=auBChqQjB z{bS{s)7Sp}^MC#IKYRVmcb~izME+vIGm#H{WA(DwhyHT)vdfW*e~xvPMb6$-7k_+9 zYjsC`WNNWYC;Un{GS#Z!w*Vhf@L9kQNqAL7WJ>A1syZ??sIcfHL*<*xUydEQy!?^6 zNOg0Zj>Rt?ZlpmC3PMHS(DJ z)yZ7#0x5lRax$wsl4!-`fbNBMRZsqA)z4c!x2VF12CD9_s=8PuV{trjw-v2c8s2gK z{wPP+s1>X3*mcLw-(1jCyQw^K;ty6g=yXEC*Hho!|NY?e&ClI&bd|N_+nX0en`M-$ zi`Uugz18L4yhWw)Cw04OYszCMK2f*sUf@^T_#TPB`_^^4nl<+P8}UEg-_#tbwq)!J z!Skn@Qd+AE!KJNDsov^qBL8=tq@O?E+1j*U=iox{rO@e*Rzxf6V)r_@@6X>=f9Dgy z*_tFEX>||02}bRPjQsveT+N3_CkkHf^l>d0048J4NCjjT#J_3dIfa#Ghl)UlH-QvRDkr;ar{b?gpV$6kmXIj!p0Qr0EZIo7de zU6ZcadaQi-j;)WiP5$!aXssHnnpMcGX3=J+IyK! zb*rg)GOdld>kg+T4e#H1&bqu-)y8wPEK5s_?njlP-BE+_2v#pTTU~jvy5g1Ug>V0T z<(VGo!!dr3MIQhE({rQ|&<{vpPQC2)wzjm~8jhy(xdMIwGMBCG-WqlSV|#1s*TiCL z>S{OE*Y2$!+^~LKW7Deex-~#qA*36|4SCisY+B=|jKrz49es&pbG&bR=Z^kFva_R~ zzl71Zx$e5=c*o}Y>%feQ^Jrd8@*(Eg1Ub*UO)Ee4+B7+#b^m@;{{173h9W!`DZjD5l=XboA`0uRD<~axLGd5--nwQ@q{)0VIpx6Pgvtm5Q&R; z!W#c1k+_H_tnp`v#6>(|F($>6Wy*_qeQBF8tl=ua)RRwMJA!)y?f`D$n{X4y z`)=HG6`aA7mtR`TfTw&uH{xd8-MD#?pD@!P568T`h$pP^W?l$W4*A(D@FG9q7Cedf z))~#uu{SUB6V`Z+$9WM?nE9lf%YZ+MX9V|JAjn3ZI>59)@mm1%BAzhYD)AErp0LLM zE?|<#e+mHe7{UEFMB*Zzu;#x3V~1AY$g>+TFY*x9ZE658qZ2=9;6HBQIfmE#dBD8L zPgu9vg9e^3x&e{yzc=uNHU54BPgvuB0kF2!gMf8CdBosn`n+^KG-1vMnIAs2oTY%N zFYT}#H!p?>FT+jzR@|Du9WdKC@x8ctkzZdrU0uic)NxtbbZtP3!l6w zldw*!nn+y4TWbo3M!Ai-hG#9rb67)poHt&R#oIdhRCWzE3b8p?u-167J^9QK_A1?Y zafSmF`Hr%O2vPD4GWlMpJElrUyi)0*@OQm^bihGw9K-V=h{N-Rtm{2#w@7lh$>N9f z)(rA(v^4_-on2xL3*<%7^%7m9Q!z-Ntpfcgf98{V0VJ9Hy zXynFKCcK@4C=)%G8Rm+fbCrovl^JG_=3Hf>^_pRhOr5JtctSJ0$O!-{6CS`pm08z2 z0YR_zgx7e&Ydzt5;XgH!V-?{~6oO$>LxyiuG(H$MEzGc)BEv1X^~G?z4&ce~9V*N| zzY@LU9u?+;^t=kQZ>~fS{&On)HzItC^`Hu~@2G?}dTdBE+tV*!e8)&&w9dt z>Iwg)3e*2qqW-+$q2s7NPpVn?j!r?oID3N4qa^|_ z#kw2{%@N?l5LY?wz)b=a^-AM8SJ!x!Q9w0w_HP;0>8cJmO1y$=47kpK8x0ts z6^QV^(sP-F`9GlC3EN9C>Py?u+Hx$ z!e!*JtSz`TzSV%+4Y-pq6T#JkJD}WTKVfBuU4)hM+D%xw$~}asEUrP^IxoWpoHgKa z11=iyK?4T(!`WQf>Ibs9vaPVWvaPVWvO^HQzzqg` zn*p~NFzY}@RZ|8c&_rL zltrE)JUbM;6VGnK;Gd&lEt7U8KiAjxD4r0Wgtbh{A`fkrBMdnU6+Bn@=LyBb^*Hj8 ze-h6lgu%a9!J7XU70(v%{fdIQF7vR0PvQAEVZ^;b!E?g^aIv4Je3lFO2-EldAz|>- z-h?&(vjz{-Apfg)vcD#OSizeAuZaf_<&#g#f15D)m*YuT^S`5b$WJ}U&$Uk8gjv?S z33J_(H({dWB~>b{TlKBl5HCMh$#H;aOfk zXW)-0Jj+GcU&-efiE?Q3-yp2;k1ITF`&k43d4&(-Nt@>Jl!c_jektxYw#qj@xP_;b$Ali_%A3teHCGi2Wa~)+En{7+EK%_orY;I z4bw&%rd>2lTWC0Jz>5GchHqJhC-orAcF8c|Dm1i8LsG8J-^?j6_+sgy*inKU{RRnkTGau9J%LLR^*)yCw2)os|BX@NIaqoCsfr z{e{7nj8j%T%kx#r6-)8abvDg|@>D5hYp z7jIB7%k5SLb6xl*=)t&LpIxb7uE}mvFxO$XDVS@oyaM3oCEAXHMcYv@%Tn{OEHy0J zj^Yt*N5P`)C^&5JFE?QN0xgI3*KnNyvwdki?XTfY2E4_9TMf9~fLTU5ZjS-8y=nX| z1Kw@GdklEcfQJn@Yrx|MTr}W=27K6n?=|2D4ER9=H4kY_>mr`#34>>`f;A6q zuo%WWh_=iz1Y!Cdi)|cm1)hTnCeJCzcnIq{xn1Em0Z(|Y>Nj=}5Bb~^8d5x4 zz(ZKa{W*ni1)i|RKdSKUz!TQ^|42M!a$oAxil-Aigy%BjxJV<<@8kKD;^_gN@Z4I# zVm+(y{Rk4)^1nhn;(i0qi;8C#cnHs3Bjb`ro^Rp#w~A*sNQCEdfPm{Q#q&0v|3kst zR}=j^;<684ikmjy1AfADS9Bo4T0RJ^SMSc~}ddg9-&|kr9pNkjcA1=b$htPb)m*YuT;~N!z4xWTH z{-X*X!jrJZ->&fVU4%70MLcx456=Sze8_-*PQlONNj~!bGM+~a_!kI6PyAVgwSCA( ze!Cx0@FR-<20RICe)5t3H}U*W2K;{#hH%=3u;%}5#q%Vdzhl7vg)sQTcoNq9pC=yj zxo64w6k(1t|9~*~m*YuT^M6I*X?w!j&j|mCxb&Z2Q#@>{gteb}nRxKL8nCRtBMkZU zSA=!j6#fnPM&N{hQ+{R+;xI1vYr}-WLmx$0$E{QNO~4b@c+T6&zXf>08vnBj-wHfo zjUOQ%X>mVzT=BGnhp_fPq><++p2ELDekXW@e^dVFAr+T?iLjRcpH$r6#q*@%=?4#C z?SDw4{BwBzq2i&BBCP$-R}{|+cwSKOJK%Xy!L;*BgrVDR;0e!N1ppUmlu!Tmn&R05 zJYikdq>+dIP53&<83Yeu%|jY_f~Yg!BMhEl@DSEK<)D#=bD}wf!9yQKSo4Va5qNGS zUGdOI5!O6Qi3bnotP#ai1P|f4m`C#xJ`?ikmk4V-hnS1u1a8E0j)K7^&Ydh)TWJt& z&8^2jT%-|CKO^`^R99f01SlskU&8bwfdvv~8x9bGD~vm!#@b?UO4(gKDXR!gZ?Q1*_{%g3&fLjf?$AEVm z@UQ_F4ftLIo;2W38StkK_;ZAnzk0@ipEKaE8t}^o{DuLuO=&r7I~ryi(JXv5LWHDUDxlz;%RY%e1)Gq2YD|?l<5)2F$e^&Chic4Rd`-!w(toaRdI0 z0Y7cPrw#bL0l#R#uNv@W1OA=?&w>544vP&qY``@J++@J52Ha!7yA62QfQtrvuK`aQ z@TUy;(+2!G1AfMUpEKaE8t}^o{DuL)ZNTNIFFNlF4S1;mM-8~qfVUWMrvdLGe2uIp zgM{hGag7`BVFP~9fFCvBDFZ%bz+W`rXASrT!kGK>ddYxaGvMzSFb|Pw{*VFRV8F`_ zxXyq#8F0G+_Z#pY!q-WCvIcz6fFCg6hYa|*0e{ATpElsr27KOtUo_xX4fwJFf6svD zpsci>iw!tzz%>TkWWcQk+(TIP)dlPd=);UWK(hj$1iC(wCOUVH)8ritqsBeFiY)!FAg5 zx&fQ|J&G{0X=I3ClNmNx{1DX%pw=Tel1;H z2-uYOw4&i5E-mi}LZ-aou(TKD(WQ_^`<=vX%KIY1e)@6E&6HORV{QZ-<*|uqd0clh z<-LILVchy6AFtoTZOVHlY*`#jQ67iOTHc=nHsy69;3w}-RGck%@~VqC@;LO>^8N>4 zQy#}!e&x%trK#VimpSFjA+wgpmlsWWoLiZf4qmVLSl4(>$F~H0)aOcke9?=tb-kxN z{mu&IQ$Jo|;LUtIgM4rdM>|*H*7@MM1GD{J#@(yp@S){#9l(_Lc8z820iF3p zm9XV;9TR_cy&8nPzd=}ETHarHt>I<&*1P)JMfhEVcc5YZAxApaJ)Jo?=}gF|J0p#EBNTw_4NSwnsfk9^6+BbG|ccb z;A6V_(zH7~`dx;8Sujz*wYar@X^*_}h481SgZk3)e%2#zH|hZ_Mo+uPTo()D zy7D)ecAY>*p#<~F(aEn}cTA0X1w#CLw~X4#Ym)}lQ`>qm!Z3$eb6t*S6gTU|7ToQ) zdvO2nc4`~;BSQEPSo5=jeLTi(Bo-eBBtLk}KJ?Zm#%`w`j#Qf<0zx(cwK8+uB3h%!A?*E50 z!gzigPnPCSz>+`eT>hBk{|mK+ACtB}+GPHX*n;f__dBW`xonE2CCD!14;fgn=OJ-c z_lFeY8(sH}dlZ%ZqJj|#nC{`V-hgpGBJY3(VY%#3*V z-G4+I`e!z;X?oil2nge@n_18_)X%B))oI8-5c)?U^9NGoM-pkVwFzyL`;=S@>&MMC zlxuqQZkjvMLD0OXnx zcdq*4pL`)))!<*91%8}k{(p7GyPBb^7I=>q7>>V3#vdUY&&V&v&GWuI=lheq>X3dD z?k%``aPP*=Gs8vPlej;H`!l#dhnr`Bzl!@s+;8CK{_9fQO}IO8kK_In?oZ?XB5t0K zeGNA^w##vca4*NrbFH1Yc`kJlH~0Kc;r=3So+ahstU0)OHk9W*dA4&8Zl2%#H15;5 zc?OebFRxx#E%0y20z6~vy|@PVh7aD$_pc>P|4F||Uqm1Jzw>qZU$ES8)`Q1J-}^;h z`$Jsscg)Ij@I17}bMO3?MHqJ!cO!1^8u(0VVI%RAUOLal^WwSqP6hK^e2;=9^$Yg@t0xH~#p39K#PE3T<*_r&NxCJ#hk zdoyqT1R$RcO^xEYt{w+cyIR*-J@^gPLMB|87$46b3a7#Y6GKCpd>FsB8_wkO_>Zr% z;+J}@=0sm@eXOarCEg<8jWHXBa2pmp{k;y4f(4JpLr$V4Zu4lEJcRrDIy0$5Vg6rvQ2F|=)xD#$lTUn~@c_@viRYSn^^92)WBbN(_l#K$YwFjn!Fj!1 zv32X}HzHncEW>!cea#kr+{EhX+h!$NTH6x@a0ysFRT!KW^^8I{9&Z#d@@T^!1q8cN z4J*uh+d)wt;pPeX#1C&02zRB#le>C#^|6M=b?Y}YZETLWv?khsvTAw76I(mF!xGlG zM0aag!#FM1-@7A$pw)(-P$1Bf$rne4M$)Nb=2jl2<4L?$d{vhL!o2Xk%ECx)?A9>o zw+voq2_*jYiK-Hobp_O02E)<1gSQ-9g}B#gCO#RjE_U!%_0;Luzr-1C&hE|SM~cIv zA`MMv)Q&=7B9j+ri(y_n@%y!dC`*%%`0iXW9M7QYWhB2#2NIiy@D1g#OoI`4^-TMW|obz;%x50A_~~Le6gsa$COr-?PY2Rd3kXl*;HVW&xNL!27pqq|K;VliM@MIbf)VG< zcLV0WquNCj;5BK%=c64vW_e5Iy z6HW->`0a@nY&yzkxHZw&(%aF~zn$mc6T9#;F5S(-5BDbIGts@H3%~8spFj=TBq~#V zJ>PZM(cjjj(@^*Z;uYLz!0QP2CGOaf=xz~yt}oFKe-E)8En0-t19khG0e)O z({^^WCbsuOJB8_JUT4#G^tbePbS12QKGRfc<;d)f{8J3IP19O-yBL-IRv zx;u6z;3hg1M&={7k-EpbdTc&)UT7Np*e`ly{fph;5&hLP_}Db~`ec0xMaW5(#%P@; z0f{e-Aob+$WwT2-02kYy!3UJtZ;T8b3ioFAPh{}h;_R1^pL@_0Gcz(uz8OU+8(cX} znUyQ2Df!+*ny}-QQ&nXI-Yci<@XnOFF01#RcIK)pZ-k}ggxD@QV=9wW#5$HsVj=)Uq?LgOli6tOLOJa6;}bdWZBJ8V13Hm#QTZy z_y{T7E-xRYY?_ZWn`UOvZvUn*PB#(<)5EE;y%>M{_y-q*s~lYv-KM9P?NhEU39j;W zQMCQt;}Q>xe|dYDWEt0M&*P%{mA{Jt_R~BrlY5vnk21ZB>QgWL=rf7;)Du^9e;?px zad>7(#an+oB2+yw%UX_yTh;oJPd#!mxayHX5w`Og3~9NN?o!-{t?Qt&yg`v=;;ugi z*}v`>3_5g|O zQ+Zj&rtlWwWx~!6#rXM~QYPDPsciUg$a*nzT9U_=86QcWI^@Hl>%z>b>3ZRrAI%_d z`rK(*?s2S-D1ZOt!>H@zOlhjRbERx*e{@B|y6a-8Qg(g2LW(xu6;ibMX2@h|9mS6b zjTDA6SReE8VK&j_zih0oJ7xwPqEG#^iIS!iwXwR~-G0j;`}-|}LDyBUWL^ILn(A~t zKC48o?Xzr(Dq~-oOMV${(we>pHHocM)t~ z;vdhA)p3;H@DOz!@Y7DyJW+HR`KhOAe&RIE zCC)AvA89ttN19D@N%Jd9_o&5e&nl{mLDKywx~xn^T~TE_RC5+T39=seQFIxpHtx^j zY3Ke-y6*TQX6_*H`#($a*nzT9U_=As5Pj;VO?3G< z8>{P%nE{9BQ~zwDq$x#htS)!APcz8={>)&|b=50bm%qQJI$e(sE0G%ud*!M!_7$sW zu2M5Z>U!iA>G&dFsk)xp3((WYFQMr2Z%>U47KZWjmSOk&cp5y`$-ES8PcL5O*^74a z}kz5kU>}lS~puwzz+bb0zvnjg`t22&V_q60eTe2s~ho z#|E)DYC}9>jb~gQozZeK=>c1gjfWhKXIz2jxgHU~xgI4`@IXZiH%R!Mv%z(D;&2C# z%@Ak8pxZ%B!!a6hY(~W=U7{d>+w(kUqad8k!TEvkfY@|Tr(hEiPGyVXG3?P}_gaM0 zc^s3|G@J$qi(g1qybM#Sq8H?O5QUOFAcrRkDXswuc_U-PI8Iayr^dv2B7wsR2F7vm zQ3o79vd;qOG}6wYoA7upJCYuus^TmT&iz22?Ja#hX1JwU9fXlQNLR)?WVNUAgZHHJ z8IfNtgLHACVlXqPGQt(pa6#_QrkpHGdFkv3j#Pw8@KhsQ7}+}}h46Q#b7MUGfO4G3 zGj}*wkhhPEA$cpEn;0wR4+$px5-#?wi!uOOp@>sP+w(p7+<}p?bVl&x@_SQbYHwRg z#%~uIxKwrr_P-^?Ji5lTdg9w!+YZF=OoVm4YH8##Gtz7v&K-Ee4f5<*tO=vi)Hr2{ z^JyFD8=WvJryWLn*xMbL;Iqg%ipcWH!&~Qmh%)|KGN59&CxPzyy5ii z1HC6U-MurGu$HtoRc=`Rccc$jetg;72)=N?a>bI+EHL)8oxZ(gZfm^U+Ino>k{v5= zc{9A?^t{W5-;(!=c*Tl=*+a2wmImituE8C`y)-Tk{I$nB%A&D(mw!7ws~M-|8^YqW zAkJw7t=N}esB4(I+)@z<1|nx)SiO911e(`HrWkSZl~CEn;Ks_0k&Urfd|@nJ0kN-c zcse-yK}!glYATz;+5Omw-`G%j%gTo9b|2YrEO_odYxXCBJF%g1UhL#AZm0~l{W~i} zO*(PDF>+Ffj-5QZp>p@ih7ZS1h8QPot!!8jJ2_`VYfsCx3NA<>r+Qm9di#BGS=eU?BhI**IqzJNfX2%GwRFWwDdTHdI!$1+2)) zqezqXiJbgJ{yWAzMNa-I;fEyrFyT28o=Z3+;dzAT&$}EuIU5Ph?t%E9-*Bv~woDp3 zcH$|fzYV!Ox1n+Y^Y0Lm#))%?fA$YzQ)%Q%+A|uQ3R;n=pO*q6Q%Je97hF@n#(($n z-)E3^Wa`%mLcPco^o>mwH&o7zO-(Slm^B-@nkp(CrjXCz(KS}*QxNqJglnu$#OXY; zp)!oZ=qxZ&)I!}Mxgs|8>(H|Etc>1yKRDlF4j)C-b2nSe+lt8H6|rlFASx^j7m7ip z*ooiUP&phs@jS~DrRwA~a^iWa_@xb%cf?M-U=Vbr>8a?uR6Gw?q9IN&Oh(UN5P)JJb$I z-Nv}{B{k_#e^yfWFz#$g9dM{ANlk+aQ?!>&J`j4gW0Caj^zUdFi*Uokh~J|e#q*bN z{|@dy#{J)M^Eh}lZC~D2X5HS~JIfmSwX!A4=UraXx?%aZ*yv@suUs5j(tscE+}ZlB zkj%5_I8T0UeQo*VqnpZOUuJ_ljd!l!f)~nvYjI6H(s%prXyu(J zgIms?j-04ly?k};>CSNEY)Hn7)b@QP5*h8Q4dM84C^)D7x#|}yq$tRG;o2vkKk@a4 zU%&6W`!57HR=*gZ+`O$;Fg6{YT(+&@)=1N-$z`|k`I3CbY8FaDtY%SF3;MCLTO+ZW zDvkS~z|ALa>EyDXLBv?i&66#$FVC-w+}m5T?xkDWW?AtsM^Cp-wKr~Sy*;v|fytHK zx$N~N5vlR2K-JmJq2Q{Tl^^N}Rj#V3Mkf=*8T`Pm0J>@%zKTUd>Gwd|G9Phk^+B;V_>$i4!QOZvR#p~|2V?QFZQqJ!hk_ODhnuQ*1-|K)f0*($?)7Z+@ak_xPgT8A z?h=eKNW3i2i}q9&j6-ldc-yz4$A^NI?WZX63qs1^LX?WWWH1tbSvvC^E_p~ z4Y!I(m=rKZ52soF*--B4nUQ`uv z%l1<_Qd0??<28#+v28+UAWgZiWGf+)f~%^Ixdl(Jbfo6`q2Qu;O_j?gT7H#V{`C+| z`5&x0rphn$DyoH1Kz|474MN`!`sw>Yx4au5it^U&9GG>k%5qhSX;prwDHOR7J{_4_ zRS~UxDqghWyOpnflM#eLPaLwCaAXbiYtqSIVD( z21|s_OZ{|S>ehJ)BvI#^9dSN3xJgunn@xFWZ>$P8yT#oENvOS{$$?3BU}%@oz^c&e zOGCkP@Qsltj?8)Txf3rw{MvnQ@2@;lM_*|Bwbug|f|ttPoE54J&HmWz)4fOPRy@)Z z3GY3&eDCtrTN=ZsYr<0E$L4nhH_xk8e(r0*z~Q&fVW{^+AG=c~(kGqWYXRl%tjV|> zSKH}L-e2=CQABHvknV2j1#@VwcPoBHh z64Er!OTD4abLCcN2=+UBa*Fmld-4SB7pe`J78G^He(%cZA78$9|MRJ@-|>3$ck3?% zzhAcHRi(?N;1^N10}&x6!En`$Bn_VqFzFf2>x)R3pe3vVn>E zHV~Xw^|kUZv|TrF?z^Ftd;e?oxdqlhFjRHUikwweI(jYYs}8iyCVBF=Yy?Wfh9~cL zW!ODFxez?w8wnmhZr9AotgfRhLsz}3#xKSOcV+{4N;5om)(R~}=y{p%rLx>zalT%` z_IdoRXyvKksfJqBhF^MX^StO%DdhP5hu=Cn3)3lh{ljmea>G4xFI|h49Z~wMz(j4C6}zx7QlpIfW)QfxFf1GyjYMlEFUBq?`wdm@Cu&pG zQ;1L}RT-)rh;|CZ7LB+wx_k0u>_U$YcSf@e@6qAr=wXJ(b$COlGSV4s3t5NXnLQW( z&}t69gPO|lH4G!C@30*sjI6$ctRjqBbNHRw`CdP0__$}DdNKCQg=lc{*k;v+hbkMQ zOPTgUopux%MA**Yhp5ZKP$fokFf6TmE{K1q{KB}0-!faNkruk|7h_fbc~&$C%RV;1 z86}$!Mq{C-;KmQtEqkagGWBw-q8h()y=+w%v^b_!Shs2(lz1g}p6?W;gFf&NwPl;jI|3gIbOoij^RZ|E)dHHMI}**+JvRP+@XfN0in{`rW}{as-&}q< zcI0K%AN*XXa&vi4>_}Z*anJHc!r|i9M+#eyjYn2kQZy>m{j;OrzGmP9ADh<|YO1K6 zFY%9^4TR<&h2oY64?i-WrhJDAy|ZHeyw~P+&3C-PDR@CCp>{rU%r52}KjXkB3xH*g z68CnmvVYZ`vA3_g6g-u$)~)YC@Kg|)RMp{Y_XnCT=_Jv8!w1sMSt6ZMe|&BI;$I>o#`5_$+NM6bnL|Bt+9=9&VNk&VC=+0 z!1tPXqfWsG+%MA_s$BHKW@mIT8(1bVOFqO$lMYX+nhX34tPzgq$YLW{%w zN9wlE+L8#rRIJ;w{G|u}T}xfd=eIOe$9lujr((TpomvW6A|H5Vyd-WvUi%Rc1#`7C*Grs_o$QR%}jF*V+!4!hT{|0Cr!+*RTPz`QT}2KUM{_zG5W39x+d0J z^SfKGpBGvjI#L_L*Iq*RN3#E=Yrfg`-pg2Aq!r??I-Rx`H%ij)jr{K9Zz81@rV~dx zp;_>S_L$$>uT9<`xi~*I&}ioiMLF3U8|X6-td}gA$#m?`=SP+`q9(pV`=KtfMlOp! zB5S0r%Y`7UaLxGM@acggbt@m)6A9mQ?1T3#zv*JlP;Yj~9%o<74zUWk>!fR~MU640 zmzU|yW(;|m8RbpJA`vtmQF4E~=*Ht05sZBnOTstCKKtJ`RDLk_+27f4?D~-1z62xJ zc`Jl0o0CJqqD+;kJKfOY@K~W8a@_F=8=KO zXTP-a5fM=9cmns|+&E>M3uTk)V-B?;;b*E@Q`O+L^2}5)^?|dgs*9=XFO^*=@BD|Y zpTACbn&+;ujz7CuIqbRTyF!}-_LS%=7vPvXtzh*B&Q@1ltiHbT%pOtyF2WzgE8Aly zth&Z?oaeM5u@7Aqb80&8jEt2-q{cNR_0VgSCFpp;2 zo_tF3WAaCPf~2QS*5t)_aC2xG z_|zUfe|Ka&ND;lZ0zDCY&3J7;`&Qo7SJ*s-kil6)sTO#-R^E^`-yNKo7&kZ%y z!7oIDPyWwdb5{@}H6-`h-$&I%jip=UphKlE@z4k9hH*FJ=KJ^fnKrTRZ;$IRz>myc zv8-}M!_uKes%l1dzsRw<)Cz$%R1iBbQ1f`areV+OS$j6k+Ouoco_{}U&(AOZ#pXlx zcU5n!SQXfFXx5%R<)Q0iHCa8C#Z*fS+q4bD;ND(0GwPREvsx4?uPr~l?8pm^kAxe- zTOVn+UC;M}ubl7EmFRo%(|?*CG>Lg_Ql(8n{gsyuW0+P{DPufP6hub=tuliv?+ ztmtS)FIR?5jP2pbZ!VVtP)9D_yz7se0`1G1lxaS;plf~zyE2mDQZRDz^y->b)m6VS zD|(o_-<2N{Ti@FvH)DCJA{?%NEEa598V-MFWy3P=$wzKptME?+6#jpa_deiJUFV(f z%$+|1boFOOV!&nuGe<(YgGV5)ur(r*Ee%)_7}+3fA-j+;gDr3h36`DO&f*rNL`m9l z*GMr*lSwlYw)g8(#WuK)`*o`%($LB#pJ=es5IYMEQBv3Gf)}gaY@CJo`@Q#^bMGBV zI8HX*=h1&wJkU{yXmpk{mqs{N5Izp7Bfk$kg-QEvUn|nLNYJdl*~L zI_=)q+#RSp-;QUkw>4RyHCOrZ#KJoh7TT1F5*3)9F8zR^iemK+E4f+D%-y_GRpR=+FG7HvNrkMt;vM4yHb3A zsW-OvN_i%x=%4WaOwqzTTgRH>^!MAE_c>#gninjn7jp&HrEgzcEk2ui;g}pjYvqzy za~|r6ewz-suZ0w$3*LG4$FINk*7z?@_{W=!HU23ju`HXoaVl}cbYkgDVo79NPZVEv z-+Sc2p`JuhW1eX8k7GmZ)c*vQx_7xl+xxbL9@#g(d);7_OKE}1pycyIhcVyFp`lhL z{-cA1%chv}FV#xRpE}O29%I>MEK%?>6YK&@_ySWQwM0+&`!R6tc*5T?9_&c?)S~xJ zoGE(m=uEiGdl$x8i6qY6Iu=>8??`vx#)$KYqJ2N^7+=~p)Eh4Tp~l;FMuF`W<8`E) ztwjFjn(d+Zc&R>KoJ5{Vp648MWMBBG)*Ragz0S7Sw)!=fqFq038)D;2Wg+MNZQD@l z+1Oz%Vd~vFFXd?ojkTRvweBOeU9Z*Md}}i7+k6ZE=JO{$^7$_u)e>zirgVgTe=N-; z_+a1BRh5ww+L~1tdc(og{~KF?Y8Mc8W?wj@4Rv=^#KyaRvi06(wY2G;nx=b-_3@?q z#&TMcu)lR_J`4L={X(Gy>V;+Z zU%sKVyzqYPL}0^$ws!(|yP5l&sbQ8m8>%?W>mdNdP9SC9JE2OEc1G!(@_hasrmbr` zp@)5%U`teg>>ak@n=QqTw(-$tvVT`bA}@Um?9#;NcP)8VBv;U)g@gR~$T zYi}4Iha9Nme3qAUbs9>?lno;R54P0;suDRuchQ5$9OQ6vW-GbBTGPKhtFWwn~ z%*vn7WlcRbSYv3wM+)TEVEsYp6u<`M5FCkhwy}{?4l&v#c~O&(Jgg*EWE0D$5@pkg z;7nrKWkpXcjwebw62-}c|5~1^o<4H=sGQ?0QQBA}*D00=oIb(Ap;!EFJzP=`952pa z`LeFGe9K7`wq`@cNl+MCJ5Wk?b+yMB8OCqo7$Xvb}Q+m83ToNB&r;pc|*^b3wfdoEH zz3_-O9(xVb>osGbkQ#ffKH6D^)|R4ZHZA~sL7ALtLy?QMBNC}Q!lA(J4i;4+o@4C_ z3y0Iwr+vwA=s}PfASt>V50~Hz2@kOT$1ZzWl;tJ&v2byvKglveY5+YO9oVOizS$L2 z-8)@lUdILHSlp!@QR@yAfHn|`kW+*uN}$;fijZy;4phrUEuwMvm@;9zUQXNe=<|SIJWF_cD7RPoKNQP1kvqLm12RH)+)1Uhk7TPQKTOB=WkFKtI7eT>4Cm>FYrO1xK^_g43N^&W`*B7GHB5w2y=w^rDvccf##R7j_h`kGg7Z4(WHUN4nAVKN4Mc6%Y{wypM{x6*S97 z=K`N~Y+Wg^wDWQe_3C8}Bbd}$#tC6MPga@iCtwxmSfd@mq-KPx}QKCv?Pu#saC3Q!sU9$#yJU@+JRh{1+s zuiBw{?j6#+ZGn58Pk55!QQ$QP52(n@!jU3${BzUGjG^Bucv}Vmu%ze z;$wZDI<`x#^)5%zp4i)8`pGUGcxI?|k3EccJMnG_+@>ZLqi`&5Y6+%NzhC?o_BO#V?HQwZO^=*#3=QtZlV4qiO+YoK{DAI++E^;yr5iE8!K{@bal}*>pHK6J9ouIs6s) zSNq3bR1ziGgnugGn@$wJ_YP#aBNyD4Jr5pzdnDE@ors-CLF=f5OR{1ARM|J;lN(#;JT7t)uqSpCM^l|(@2}sHfT~^*B~KKbIe%|AyZihKHT5B@0%*j zn@_kq#)~a};kAH%kWyot(NvUHIg}(C7MU9v?jXXy{8{DrKzfiG>GTR$2Ue zlhx(A4zA#?xqmQpd*5DnWxTv>N9oF#yRG6$&%Hj3Fo>3NV1c?)vh&@36}V>@X}K>7 zoIp%n5p*Y5|GiImYd$p?>g;>ebHjtO40WX`4R`w&V9cZpV1AAmrtgmUCtuQ)itgGK zvElSjkPtt0sj2DR=s&mKyc9}nW5_t(+Vp%9kCB~v10&kjt&aq6se9R}x|^CFfjMpR zr&}uO))lcSm)-&Oi^P5Lp%~L$P_vKxBZM$-yEn9x_xVB2=D9m6m=-|hhD0=r&#Tyr8{09Pljot24+y6FG)J_!}z@8`SjrB=kARv=RcsY^ z4g`=5{B8UzsN|KTTm2e5fYc|vSoCb!j`ftP165yx+v)LFrv388WQY311PGEtEi>wR z`UmVgR9d-F+B18TN(;mHK%WBtCD4037tk}j zt7Ztc$P4$X8E_MLzMgLpRyWFNC-hGP+JA}bJzR@`#(rEnt~+sk64&Q&y?~1pCSneb z__Hvt1>3f`XnO7x?oCM0U-)*-x?-eIEruHk$L;IQn?P2qZF46M*&DG^TeIi7^W$_F zGod$Zn+Z4Q8Hat`Fc+}N%$N&+a;V8oLYhnI{|}Dy@3Lr3;N)@*EADbl=(Q(@v0MiH zu*Nz93Y>z&=_xrNggmSa6Jv7Nm=|9)=EYYrvP}7E&_(m&6W5s+$2x8_vK`Yii>hAw zXWSd}|Eum&&(L7WCO_V=9 zw|ql6Zj~Q&AuFa&shmE&V)`)f(=>mcFy_x8SvAl-NYh~%{(xbm>9Lfam(cTKEFJMk>1y4=a-{Jnhi0A(yeo3`W z3Kg1bAIJ4HuCL*G3D&UPblB!HyD{;)Pvyy;(+uZx zFV$N=wQ1U5Pi(xo;nxwy+8H7>WWWze$AQYm9FEScho`@){7b^`IQG0FO~^nX?9nAR_WhB?(o4lZ%t%dyR%WzNVSCC zsB9ucebBB@Zyzj-w#{HHu{=w&ungOtN7u>7}QgLpZU%!v4-{Q z>Yzn`fAVd0Iq{4Ts~$1{?8txnxfM#w8}EY(>WMtGpBJn>1Z0IYVC1#&LUU|8Hrrri zTYUn|?xu%Ox-+(ol^?H5D&AJd52opF-b|rZo*I}L`pPe7T7cr%P?@=;ZTsa+yEE#N zwm1pl3yS9KoU*|;S$MYk#VgGBLpG-S#u0#iQZ1LpVrN{iX9*La8!kTLJG<+}EBE+* z_}Q^G-;?gmt(#lgD*m``{VlOtfb*o@^-x;^V-glBIMS-;zn$8WKiQAYsln%#D=p`- z$<%zD`?a+3GLP^|0IV z-16UReVQ2#b&>*IQ_{U5-STY}@>!7q$)c-87jF%*j8M{sn%<4?%s|CG6gPX8YlqxU z5b}SZT^&AZKvFCNK+%Z-Lec&KM^}_^kqvz%B=@c5;A6HtEQhW$&TROIeQdO&o>bKKe5e;6+vImU@>%*h#8~#=hoOpEa2Ufi4HjWpOHEqsIe`T9_C~8%C z%)hL*9!WJV20+kpp)%RJ(!tITw>17K{u)$>+s#Tz0I@i{s%ox z@eBy=)OPpuc28_E8o9W;l3Zy$P$N31!_%3IcN%T}-cw`M7)_(qL^C^d6DiL3YECTl z&?*q=Yys({^{WK{F>Yo%BhT?Efzbup>7)|S-<7$nF?5*+JUZL2kwh>C zFG8-7G0TLT)O=+Q{WfI|#8_&OW&UhcIai30z(DQq)foI^vrF+rNnDOFco%qLK1?#g zGtikj;+Z2X^NiflmObyJHx*pY;areOQ{f$VQez|8$vt}f&j8GY`1o)~=FhfDe=K84 zkvj7R@F?iHO=VydWsGt6;-a36BbgEFL_e*md5`-ZcdDHNSPxk;zs>gt`<0!vhiddB z&&L14N;op3iKNrtBrhAN5ya3NWbK>s2}WFe1HO~~%tk-(ilEiA+D1Hq8hFr$_RVRX zkze&b=zGw)`wv37E$8oyP9-w}FXc`X{*DUu!t&|O`H;(L!Za(EG+RASC{oWN3d?z? z2EdKx6vz2rXyCA~k{sDv2Dfeu?fqi0y0WcSFBi+Fv8K#kKWV>AJJj)N-hsT(1AR3+ z26x{Rdi3c<>PlV#tthj8s+s6>W(t?n<*rowI_a)sozQukR{cY^IHazLPbEmG35Fjd{3QZET5MIZ z@h*vg=_Dklu)~2JKGt8@Z1*3R-(WQ`Wi9Si!ktM{FqON?~&Ya4)VW5&yt&`=)!9?y2V4q#~~kK{Cjfn=r=V zsMjM{WN5aa4CtlrzytkmreBN!{Sr9np5E~_Cu91}PbW%e5+&D^GuRA!@A!kSJ^o{s zaYV5G2w#>9N?;f}p;N#e4AmGa>W%DD-THV)a>iJ?hGF6|>HDSqvG%TABuBspVy*V$ zNEn~MRp_zT_KnBGH?Xkja29yd+NJzva3L4~q0+8aP1pSCaOq6AggfZ-wp;UDN*KmC z1He#wB^_gmu}8s93xS#u30Y({?Bduhv>Ua=KSBa|A6nMzO1|kzbA+Ya<8HbN$efdMlPomm zrshx7i~Ri7EdA6?JX!K&Jgv}y~Zmw=}# zfYw4g!bDo0Oe4=wk*3JBTv}0w95>>+TU>GcmfN21!2N1m7y^U#q_T&gFfSnSn$}Ju z23@LGr0GdxUCY^TaEAL`fX5H$>pEXTFe3QNyB#v zZO*3hKDI?o|2GDQHeP^-esC zOf7(10aFVq+2X*hvPq_2d#948vbk;Qji_js(JE?$KOT07X8kCqS)aLbTgX;r=KxgA zwA-R1?39fv-g1!UUYo@BCBygukr5SEj)azDfP!X6jW8`4ND8x!X zq0$^~$#?W)&cp0FftVJgR-%0-WEX3$(ip|921)O zSELv;_iK<})quL-i3OoQ=zD74;KA<>brZ_{fB0Uqp3U7 z=FPYfZcI)66l}#pGu#Qh&vKv9a3kBhImuqMJttv8akP7?7jg=qD(M0A8T~?^g$V)A z)GvkiOSmvN{vVW1^h{p#EU%B^US2ZI{`(ocH~Kx&E2;&#y}?FqgG!6X5mlhih?)@{ zj0OaI<+>O}8D+TWoLZO-9P}(NnO=o7qaIZ#6vf9zTDxbLcfNFEEA3eBo^KA%O(3Jdw&j@Ca{`tNpZDr!AOPb|9qIlr&n z+i3Y!gf5IB-j=Ff>R{2XZhxpPs1I$08apg{p#@__5ZH_G>s(ctIiJKDvcIbhnc2`*snsBTl~qocbJacfIvLiZ{oAn#%LkTO$W4*(n`ksF zZ@$p>UPECf%=dw*g>AvEaML}#_xiS87`u-e+(`lHJ~yp&mxgGi>(ZQEzWa1rty)pc zx1L3cCg5{Qjp_>LuMAc6MiB9C)y=v2!bU!)Ln}fV_~f~=n-KZP@;IbzArQbxFNvQC zt}~{+;6hHAO9n8mHh!140`_oYJ>i$1n}0OezBI&dYZoTQ2!)Bpx#jzi6G3g{}J*a_|Oi7ZTe?{D;E8boTf1^A%6s>DP!vU z9L2Ab@57e&q4K5UV2aWkUfz(WpL$P)Q{N&Dl-L-*+_{$)(>blb9QUy7dq3Cng9-!! z8gIb;dNN>Ic{#oS*4We3#CqPQgPKJMSqktuA;X$s0w{6Pj)Cl;)a~%3_pw6Zm-M5_qF7qFao$2BfgS z&O4d1bSDA`n_IfbSE4drT$x|KxDw;UNbF-}eKclldfvtOZPK#K%@B4M%i@2{?i%5@jR__}VQKHb1dO<4>Os%u>^inw+?0Mjvz^5qwa+zJ~spivn zz&1bsJp7=!mLqdrfO-&XFt%r~<2$NKmHv>!2qI{D+>bEcts)M5Fjz(}#bYPf&bu&4 z)K3~z^` z!B0tF@h0Ibu6`*X^wwY}3I1MmmVPC>_P_RB$CR_fv$XPdU*!Wgbl)77SnTymi5twi z%Oqww6!nA05o^^4jeiGgJ^xu$p7bp3$n4m0Ot6t@2HzU+F1#HCuX$+a9Q%^k&Wd54 z3zylJs}IO~I!roHBXGph$_>jZ_pI)&Z3eF-?31Hu63szZ;Wuifj--NdO7%jBu~O41 zlB1B9?1tnmWLTI4O}1H>0K<9aj*Sn!AoLE&gmUneP@qnYXIz-c96lqxIYBi?;yK|o zJF^SXw6*GndMBEJwy#xd>z$YoXxdtJPd)fWp%aI;y(90?Po;vaGwaT^o?g=1!iZld zc*gU?h({vtuK(2B*+2{Ge6XR_gWlOM0}q8S z_sjyAu)>actWoeZ1=G6WX|~}Q`CxDOD%5&0F zb7{Sx$*~5O`TVMK4)P1iRX-Ajw#bA_@u}m%AD)-pZA+_WU@^6f;6b}(@fZ95b9{va zuL{un7c%zDj_KdmtEuHxeJc@$qC}R*4kV9t7S#iWg|`c zBG&TMKgd5O}wbhFRMulwhpLo1T_^g z_ObfWw#h6XN-R}`Te=Yo9})Ir!FqozT8~itR(2qpZ63@wuSbS8_Ifa_$Ncrd7^{y4 zro>9YRAvn#csb_E2H-Z zBxRn1#ul#7oDX!kUuFFZs9@8{8v52?RnYWimo;bwKWDFZ`}1YUJ!C7h)sth4tNEBm z^Q*}ODi1GP`}Th3Umrz`pB&MSd{;1QxW9mnuP17ODx14Y zSvy=!v4v6T7%!IH92qcos`ls6!ihO$rc7oLPY)4`r0>b=&4DKuyj2kR(*-86!7i2_ zuj*;5ZWQ!^(;8Deve6oZzO~aDlcxc#5!{Wrb_{UUH#@3O41XIp1iEM+aVIP>vJo@K#u#*vIyt zx-k?YoZ|Jy)hIWcz>>S07lrM21K9r{S1LBSk?mhh)~Tl1ZV49Nk&f;EKpODx2UDB= z@iJg@%^lEhO;sG4iMS;h1bQanY=bC}Y>Sg^!HtV;akDKRw#Cb~#C~khKX+j zGjYfjlKc1K=1cVcxWoIO9c*>=m!_4LzY#POky)}5pFwwDgGbRPktMXs9VtRlkuz#C zazQU>QpwiE+MB$8gK}3_zcQ^%`~_~71d^)|142o49GZs8*Gca})%bRL^%6{l8|STM z;;%tImh+;uTO(z%c<_CPzE{JFQH^#hJ5ZwC%F&V?@V!--{wK>HztV5YA!ggv&eiWt z9Hsj6;I95z+>{48!n`wKG>8{P-8IPo`ujA&j<*CKM9SFes>ro@+JmFisOTy{?jhV% z1UiDe=<=MR&DJOrf9Svn$&xFmWNqG(C+??${{`^eQB zA3-WsS3imZH&cOHPJ#BmccSlyWr1NTaMip8wlokft*&kbTWY<2Wy=CvVEWljb5Hb)4TWt$nb`KI~HF9Icoff0ZE zv1PUZ21Y!C563gkcPMB<0E`0CZ{QhxZb1u#^8zqU^lZ@dk+Q}Dv*JpBRIUbAZ?S+| z4_Lg~m;N@toGt@GWSGa1~_y+k*U4|1HNz>4WdhPGzM@G3YqG9gmWH-{WHifdG zQJt~<{3Z62l8XG>l}V+$7aPgGIRYj8fjWN$@t`~l|Ldil2E+@ajSzHsyxTA}#*E)< ztj9>=AHcrYYsnlKK$#Kk#_2OoDN)d+tAMEn0e+BMd{!f+KW_|l!UYcuz4!W7$Fp5AZiC9 z(bEUOjtk9;fv(rz_mCRa*<^Q-Fy)NLSvTMQn>72P5M>Fi`;+(l@ zwt)_pdppZov31mV+C)#A`G zx7eV^Sam3ZDNnyN_33xD_^lGZ75KH`V>Qa61Bg+IVZWzeY|k~G>HfF5R^q$swr`ba zN45A}BYsIlruMGH@BfDO5q+!<-6Sf*oCTh)wCI?Bi;1(g`Fag{Rm2LMK~U7{e@QM& z-L1JN&{xn4eT_JG4+gq5Atb5@dyC2K+U2@<_u$zLeLLJy2t6D6u%&bCV{6Cm8Qc0X zPhIKKy2XnjohWh+LJMI;zM0RCd!2SXI;$P4oCX!8c7*>O+Cgx-UBG6v17|^w-qXQ0 zKDT(C>gh;6URj$Le0oO-t(=Utv<_&7AO~l;%R~4-~)ngiGCDn~or-w1dg5sWr&IOA z=D4zw49w(0Zr88m*e$Qwd==nVBF-DbDMMd}dxWvle;em`u3L`@EQu>;N^$4G0& zmM`7^!^)rdyZ>zoebg*IZU#j7Gyk~RU{JmVHYznx$%-oDrBnp*ACa|i@t~}0@hN}i zpRV;f`Lo=g2*aG|u#&%eRdqJw$i^+}UFhwxpE*}uZlk>*a`wfX`Q@utBbSvBsvWC$ z;$%7@4zyway7f}zHgO>44E-CtblNFsxS5#0Ca1{I`$i7yV4wNl+gde$21GU%7&YJf zD|dxHL>rnvs0gDMADkh!)_ni|FW=7IDI%sRvtt%FVeCGQ>maT+TwBF`m-yX{-+j1@ zId>iVA1w*68L?D(o4%5YLKWOp`fJirU}VQ~-tjcIbam_{bb*X?q% zXK+V~TDi>7FTIl&+F|mflJAsxQ8r~WdErz%!v2KuvP``lbXAClpq8|IK=H?f7Ph*0 zt)Ms1Atg0+a#)_&7E#mFz^nop1qFvoQ6ReQ6Nc@!510)(31=YM?I@xy)a0sn*7?Ko z^oW=f5UiBY<6y2q^3wH+^zOJH9OAr zkM)G_g8Pi;!Pj~c@CYFmzU#+0O3NaBcRE_riWhh&>PPTaeLQ4Z>?7|SV}51`l1a*f?ebHMqjVafBW<}=SMG6%z5ym%ETM* zL*fMdZp5F+IIf3Scts?^!pkGu5WyR<{ldY>S_GQCH>{1rYvpLf*%L0__fFT5IHIqH zOSB)$UUj`Ta=Xk~#NG+#%gwKzD0?{0VG#v+}Y)kDI1K zn;tWPb~VYW%P6{@<}`P1s*Bq_jZUed1Zf9L-A_mGK^Q}j7&Mzwc+4_u7Kk+(>wb@> zr*$o8uD#Z1SgXFEFF8C#nsJCkf{^C?kp|d+u+XG;;w-s1e}J^r1myha8#(35e6#RI09UyG6bCDa z;Iv083zkWO;*CP=k8viEAZ8H-o$oP+_=k)BfNQ&&gTm3 zL@vmM%R~tYL-~vSpuNU?#y-sDxCzzlj=zv@J+2_8HKpsB$Es={1T!JG-h@qM(Z9ue)TS>LIGSm?rbe zI1cM_zgW3$Q8M$Zy`|L@Hq2q9ov18blrF8TXsle9hh;-8ZNXNNbx;JUZg`c)GxxVF z5*d@3YkNzVB{T2u{i0jl*pH1HnfpO&@t3Nppla^!E@{=-NU){umi6et?md}(-i#N! zrCT(Iy2o4PP&Z7h#Aa#uf2)Hn<7f|^<(Nxo!$U650z((Adcz=_z0@oC!mGi(~q`4+=90Ed7+6OgfobG z99k^(CBzq0PeJ@qzX#%qUAa)qQ5a^VflowsYJ54%++S6CW7Ec`YHDA+f=D?V@4LGh z65u@<&0{gV$o}`Z{sI>{15g}7QeRNoeAm~J{)~9{74iH0th_JbxdLTSdGxzp{LUc# zf8e@`%ZW6vNT<*UI9ACt zjkD-5!Ps_6GS^uQgHTf2&3FLAMm&Jw*)j&5E%-N*Apkri4Zhwl(O>&J(w4|Hx|i=L zjr1~qE!rW|KkViMM2bEihxT+_xVLn66t*=t7HZq1iN5Pn&Y=jU+9<~Z zM3d}a3A1867VlduW4J8-WZcy_0C@~nj@-+fYo*6 zmp98ObRT)2s_r^+MJ~iz^Q!l!CrhPd+jSmthIz=wWLDdWlT^(^DWpDFJ2L7Y75oJB zJK*V|-@%+!XwK5f>GV8T_7Tk8d{M3uf9E9P2hK=zp|MQIW7Dtf!68M|Y4(FX3lLA3 zVU?zL&}UA;(y@_00UvO-rBjb@l;0EXb;t+cp20&s;ht@O_@cUZ$-;J}I*$WfO25Bl zey;1k4Bw3lhW@P4ZBw7EiVy8mO}EGYuw`t^OB89QX+zl3v!@WCwI8jeP{p}AGNb*! zarpt&^P80aB*6zUY!2Vwhl9~}Zwx*9MfPaPibtO=4tm;^!BIyU=i~++`Z?rlf>-at)n-Fd= zLR7B241Bcjue4>fmkpfEoRj7vj+1kE0V<0wqIX7n!)T9^n#K=DQ6n^Fy=hc5Wl=g? z?lNF5-qG&XGjDfVp> zhlPXE?xHP&Ejt~pUs5J^!n~d0a6tb~1`zy2j^)hc(k<^c7MR-}$aJ{Z!ke@bh?dGO zsRa|;&=)qjFLETdlb07cTInweG??+Bk*CcOE36;t+IjB@Y!MGH;`x@beJ4WadbJ_! zP@F8d;B7BBi!F}L`-VQgl4ocu+}w`+a&`M2>O#;>b3wrV^XWhuRuY~I*7UWGw{~86 z+b0#ct5!pnB9>tcXQ(A2E|@Z-i_Fja!F)q!CMbMY;w_KF_*JVRt;Agp-Gvx6dAvaoRMzpPkN;OO(QgytGe@|ycW%cr1}S)7Au;oEkMf2eE49ix!%-;ba3j zT1vmm@kY>anKf;~28Ete*Uy{=H!*t$(mG9T9T1}zQAdW=<$N}2YRoTtl^*C`4(CkX zR45OGG6Aar%}d(v_yOwzG#>1AeY8==@$2@l(a#jKNn!Ty_OH~>g#IMT3-9&^VWisP z!x}xi9#d&yImOz>BQWEAT@MuGX-Zoercl$mr?Yl~EF+SArE^ zsre%T^slU5!7f`pu*b>Hh`kh7b(6{L_E&2K-K0FFCE|1T@u{!g)L*6rVs1C?(5OwIpi!sw&=nI<+V zP^a5}w|-_Tn-n};w|}#KW;dG@9qRTs>t_zK$)JR99d#f=A=7^a#5(jVnox&+1@;Kf zdGzcto-xF~!i2&zKE!+a0|J}7_|H#Ypv?^v>=%^zE$iQPhz z(}o2u*PlVUr0_ZNyDaBP&zu&mBFn%*!xnt_=0TA69bXLY7`&m&-?r4&%qfgEse1|6 zIh$+o6{4^IUS*#Shlx^M>gA&cdKz)1PpTzS(TTmF<5(`DfuWlQ8j2o^QIAd zh44%e;BNmyOQxb)jP^md>`(WmU((B+=~EmYpiBNB6vdc%bLoXq7||sT2%`+rJC2~8 zBk|5b0W&YWu6b$ax{eeT~PuG?@?D6^s{ILe!e4d zI`v+(b!x=q6)hQrpLJsF)R2nDSv(Byzim(1H6?p0ujbTCW2eG3H5Gw!M|RQ)OB$~Q z=h0@&rId3sXDwbP*jl#0Ttot^^W{pdsuK}t+yA4sB7IV(rF+AKdgq5D&K9UTV1@#W z>1P5FJqmF`k`wa*S;*`)+Do3@yaiYNdI5}NV}{o$ymD4m$1!>M8Pa5vDv;+wrKV6V zUfB*M)10ZKtl#o|PJK(JfeMj3$81&_v?2#So1FLhen&9+mU+fEc8@}}cs&?}IgG*_ zMqvq~unD7ZV9IlPZM$k7UD?Sz=x!VyvHf0$0kXp!WPphsf-zrrNpWl~Ox(W-Aj7F1 zlhX>=BIeEBZ!;H|e6C@R1mezkCRkS?cJp8{n0GF7+A%}E@f-m#uDP*E?0c!rxpP^m z`CbTU%M#|?2}~~t6nGI`41PV5^VsDy%$NeVj%D4Gx4!Pgu?1S;cb92wwWtF;BDs%ZiJQYSmKn3QV3tf#fb9Tt?4gGJ=nWsj=8Q~h z{!!6wVhM48j`ZBOacC_bhgN`1EfmPlPUj38)@&QYb>dEz#)7hFs6LF+sLOIWvRER% zZc@BVL5EWmw+5gRv{jNr$%DdVBRcSAM}Zb3ax4qxJe{O_oDPZcgTEvwK~-73RyI1& z?o^M9xzD5}9ni?C&)|#!0gn-VWWU9;ViX9M=IUW`XrL*>EnK_Ho$hV(r@xp!rIn;< z`!=sH-8-ukqpL`RY+zxXSf38K(*r2une_Ki#*FHbTmR-SWPW(@H7*nv^{1x6o#)OA z)8feI(M*?r#4}Q>m5g+Zd?r>pGPw12@$CqS8(4eLWazX_V9;|8vmp!2p>d?c;3M#$ zR)$!cmgo@By&N{FY?$cx{D-RtW|-#Q}o8HQX%$Je#`!JgnxyJQ5W5I>x($G|JOo(c)e z)DcL0Y6Lz_wL60@-iND6&56Beq9DR4NNm3woSLH-AQ{hW59usOTDt7+l(9e{)+6H9 z3ZgMZlb5?!v`A24!2FKMUv;mjH)UdAMWF*ReU?k~KlHu2ffd~=nC%-venW0G_FmHz z1s6c0GbeJ4z+d8B0s~%cK-$W+w6vUJ?9$pH4l`}P_!a5{ZHstr5Whl-ki3o*>txfc zk++yg!8?(>`ej}UZCUfMj4102&@Au`x5-+d|2|1_U1n;!$0~cIT2grA^*Y{2lU78t zNTisk}2BcusN9B{$ef7drkAlK;hZ;Y$E-Yd-8%6ttG|Yg$_;l>p=62 ze_BsE3AYHr!{?5<)lW%h`Ffh=6{ZHxG9TuRN$4dno0%1hH*%!@=%%4F2zZq`R~b;i z&Z&0=ha)Gv__k;!kO8UaiVDWJ>MJ7uGerd`Vs9YZ#v>-5H_pYc%avE!UKg7-g3vb z;FLIM5)2AzquYmO<_+U(u2=3SJx_Q?I@-N{m z`2r}o>etqXV~KjiD}JJ2m(sS4BKd`de&ad6p_sDPU@WV%gVade<9+kp;GFATiVqS~}uHd=&=I2{DB`d)($^Q1kXVcPVrzgB(YS&Cf^tQvA)J26Y0UZLDj= zYf;ENJd=Ko=p2rWqD6o(V=m`ObS|g;*IZ3M4F!}u#uh@oV+uAPgGr2wW6a?=Hlt`? zi#TOlcBvGgOY$J+dnAqN_WN182JJGf)fTU4Zkj^KE0d*S&w zo7)<4e2_1|qCv5f&g5|&2mIVGa;*#W)OSJrYWM6m)Eo!7ngh{z?r`iVQM{WSl~X}| zI8)~@sEjN9tqwN)g$Q{8v!Or7FIu*<7w&ATW^Fbkoz-m)xop7UO$wYW;SBT^vSHD~ zNO*Eu^94?do?!fMacJ8>3Vpo4>5i}=U=BpqVxAcyCT=F&4$X%ECw`M8*>KJb^Y5WD?Lh>n^zdVA_ochGk)*AOSI_w?B1H(2k>|iEn5KX38%Uz5V~=y9 zB~oUCG@o2gweZL=uLNuI^>EpaAL^Vb4O|AVtS;@9@{QCg&#^!7*t8csqk6mZj&?ah|&7~CpPny45#0mc6cRaynmeI1h;=P4gaju-DLg70LZr2TLDZ%lnsX4Fm~ zMhfp1zJawsJF;(JS3%neYg_1>{u^@g%ju2$H{ev}x`C>8C3Zp;j?+bzIlLmow3^b{m^JKJ{~gth@bPX11Ejm@j4=Xf^0X-Z*-3x)_z%6Y#QjqPkJ0skc>&kM@rWo^r> zYz4@+pR!36<^_{WyYwW2!~FX5J53qF3TDH3rh)hn)?$ebQqaxe=_z`_bos`31}9Sq zvfDXLt|&|?t&ICClgqpHPg!^g&eVDU|A-h-=9;mk2)_OLVBi4TG8j>-*-EBCPO+SS+%A@~iLV?eQTp0T3kJR3M5743rec*AEzc9?A)s)-MU z8dY-vW6@T~yx8R`Xgq?arTtbsDRjofF}o28b0l^AO->F?gmn#u8v1I+9+4@K9Yk1Sz!SDY>a*?JWw6zo zUt5xal)04f9og{asqiK=i%yl#S>G+YndN~qu%1=7u>CDt3fo~JI>?5C=BaH+$h=t7 zc$f|CG}A1+A>L=!Ql88A$n_x5<6~@N#2L8R%>#o8{$jERVYTB$K{nN*XM z4u;E!qbJtg&W-{#j&zWEcqYS#9r1mt-1i*%sU#eTt=*Hq3+FBAQB$TpchVFNyfl=0(Ka8rmsS)Uy5%ED(2Aj*c+R{i%cUh>mXV&mzU7oMLN>I(mTt5I7D2hk`k)9%!}gXGAFKT=obze5wyjLKZLtE&^G!i$6qXFNSg}J>rb`B4IGmCG84CfP>|Iz}e1hFmNfTr32H!__(T%FMxQ+ zfd^us1ZT7RIL}$mKuCoMEfqP!b4MNuOyAIU1S&b9Ac^?SO*yoO0=H*nqvSrEP z(+Za{0kI-5(IZ|7&WR;J__o4j=AMbR!bVl@aXg>2xY@dPvF! zF5_M>a0>Kr9>x~6+MUMizF=aGUB?cwR*RbFU&)1s?N?=(y_tjC zsE5p=(ccIizLG37I3DbA%n&CTEpsw(8dt}jhB~X@U zvMgu=juwfjT_tS|x>RYv&1fc2W?Gq$$7je60v9aXqa3J8e`R$c7%NDz1aDJaZ)i2> z+3M#kE-r_cAUX`|7J4`136ywQxeLcmGqpHZw{$lvD4raU;O+KrdcBeSR3`Uu9BNcX zPsx{1HeBtnfga&bqy`3XC!rcVEVYkRVW59_CjVQafB4JYIiya}rh6eCB%ZKs3oB9G z*xRzb@8Y__t*1h*AX>Kx7VrYbr-+pFUB2$yT|dN)=DafFTlT&b*D#(_1;i^$;A@4F z_YYN%Ez`Ba^$jxNoZ<}Z%s2akcHZPbxht8rT=VDn3$O_QLuG_oI^r>5zazMuEsiS} ze9JCSW)3P;(6)S4gC=}qsQ6Kj98<8Ll}^5{lim(u2H zeY&vCua#7l=9B)}@FT~sxz0)AA!xr1kDzkP^8Nvhas%_}@dbK(p&nnP$Ma8v{ zn(a^3+>^O@yKfr~-oCx9v^8B)uheXKs%9M><-7Uz*k9FCOuJ>Zvog9n*IhMdF2@l& z%?L1eOgUD9J%+)Ts%rJM*2W~3If%#tnGF3Iqdyn%XUIW+n&{7A{289*;lVOUb;N;{ z6}aek_O%*mbVd+ecZzETe(8eqf+L2jQ9M%_lt$msd;4=Oo@HK>)=_*m?CzQ^{j5hs zL_cky7;`u-D_7&Of|~NDYIJfULw{G5gH>T((_t(7ZBQG7603zkQ+ThUPIdVl z_bE&6CVLaL;4;odozseqt&3YgBcP`>Cq}owo;dbcgC;1}$TY$#V;?TGewST(<~umo z%?&u^&q7;HvHt|90}}g%doSzOZc>L5x}lW32->&w;ZR zQ>At}7L-(X4*zan;>1a4b96`7$ot;&prLa!e9T1*c$i{z2bwgX^sjZaKCQH@b!a!^ zX`;q~LrD5-9L$5UFOYl%)UOj!oV0r&Z&zM>9+|s@AK+!B)4wQIG#f)>`sT2JxMLadO$dl1ON zdFKKAwCCeUjBx`Jd!O)zKGj##Ie2hoXz#!}t#+?}-QLn$V(a#n)bW0d>dWFd6v)%) zX}YDa-Ib4{5^E}nt=-{YQSGJm85V{Q?+-RQrRk|&UNrdS2C3PWli6Zs=wz=*6z-qs zv@J5{96KpIUQwobPJ?Y{?{9B=#VUFdr)^a5c4CY0uv{O|<}F&VGMN`Fuk+uCU259S zk)$EjiE&4UonA;l+M(36u7Q`8OYlE@5`#?P6l&K-tbK)u-8B^G{6dfp+zrc6*~nwM;a`%4cHZIkKOqh zsUg*bKR__fTZ|B8S@}KkV#&11eZAqWpvZNr7Sx%`^q01KqPHwD!!<-yJK$+cCDc7u z_+Z_36p5W<5p_h*Tbms$yQxGZlfD{$SRolZD4=*^%IOm9_EcxFJo`$?pt|GO(t3B7 z#rR+W-@F05&&v6EpJ)E(EZzt7X&%|zXoImY+}(6{$hOE-v8b!nUpZ$zxk1AHO@FDy zK^jY$;L4%ukrryPmSL0!oSMR+BgxWyGuOzUO(;@aBG-G&emQokeT0F8VkSg_9{_KI z@td=jT~_Lk+9NTUOIiP|&;hz=Eo;P~Ovbt;W-YB-^*9Ka_X2{PBE)jxXn+9!MeiNK z+I|h{F>Fr6ba1>wQv&-4|7gKH>s{wb?-Nd}Rb36(2zb==cDy>xYe3(Vx?CG!gf($n z?MKhCZpsY^*j;0LN1U2!u5ohFBQB16=cw8d_^3**3(_^O?E~q^e9Il^piSNaJ%Rok z92fkj1Y;tCsSK=dUEIJ{0+&8w@BwyP{Ti(xR`yuK0jI$Wn#P#(CpG8!>~+^c?!YqV z1g;$V#(f7Mp{C-ma#>OB91-XOY@Bv$suZ!{Gbn^D?5GGr%J#zoFNQYlPhk(mrML-S z#k&Bmo4=fSuQ0uf0=?(3avc9HvTLV(IXW(AxW+HIiQ%nwkFD&hxxEjk4RlWB!#Z(E zfqGfTQA|BmuzcU-;HDiuMv)^wIH_Roczit6XsIjS#8y@uAQo*suY)K%Sy zRJr3VMO$8(Tu6&+)kF~JVOVjbO}5AT*hdc(bd5s^=H#_ZAh-dRneiIA#sSrnZj`Sn zT|F>IA1MxpB!*hp(?V_&01gO&myo`NX|>PddZ{K8gfcGPOo#0+^Q9(XArBttgDo)b-cV(2c{#P zK@uy}oXCd1oJ!gkN`Pn`1<;kb^VzygECs>KNB;6T>-*hiD&6?P;5-!kPw*dL0+gfoLw zN82CjVatAsDU@{rMPv_TQ`BHT5gLN28g)tHV|c{@6X+cmH0B_I0rUCji2-xlUSCB2 z0V%0#U0iR_l=?X|CHfw=!llPdTB3* zkO7EALz@o>Cw0>FHZW)xG@4vfMKs8yi`s2iJGw^BHIa&u6$;sF4e_Y-|=9$SB zO9kd-B@oB?C$L4cs1TiS6pUX9-0GI90WAN8aPnWz*54UND3ds}X-0couav)~6?}(9 z3etaW%M14^Sfhxr1HCcZ=U?+|?KdcUPaZj@+VsMI1P6?-@%cdnM;P(owA16ET@%(j z$V-8*yYXLk2`g_gcyiT$Q6D@sGsbE{Ydlr1y!RjvL1X9`Sz~4NdJTD+wtPZ=%zePG z*J=TCnAdqUyx_LS(sfI=9YEZq&@HsTF8}`B_lI_W($iVuzWQeO;-Xz{Qep5eKwajr zKOfUglUldGjCO@;B&(qr^Tx8m5|k^aVclh=4T5VXid)j)mcox-eIpzGY}KHbB-jav zIt&(11+snh4T2^^W(!<0RU24_H#*|gH|W)3;YY?u1FH^3MsaRv@=n;#U^f+??!>1l zi{B)_Hw5Ksh;8BTEB!09o%|M6?yO1^pCU02R33qhV!ZVcWTUKJ(h%981?PdsX%mvRMJO^a2{a? z(!cLPC=t^rm_*7sk2WycBf6@&ER{|i-PqXXj<_M6z8=K}Pt$5?4cwW6&gie8X**~H z()sn$wReXjEM>k6N(bO@Pn*ZwubISicb6B(8AlNiM(7mD(*Yp{}{0o3B<(#8i;xE9=ho;khTqEl-J7PB}Z&HW}Uh-YrxPRqxv``oC*P-z)3fg11cL7 z=t0~fUUuL|4il8dyc07@6P%b@$oM4vnbI<49|GBTSrBg|20FXez%@;*Pf5&o%+QFp zQ+FGfk7$LgTr^HqOmJ1LP;Cu~6q#-HSM!#_!g3M~;6Q_dDY=dThY`<`JsVq9$@7p> z9HB=E<+`%*XJeZ;=+BhOH8sUYwo%J8h5j6YpOqhm;Rk3kIy_mc!<71qQAQ`G|Wq96kix z<$k$-3Q8!zq`8CT^?uC_py=m3dbuAlBu?6}$^H`R*Kjd`_`kqzo{ zT1m+&LKYD+i;&iXtb_CnnQnOt-BlN2!TgGEj^a0mkG+i5wCUZ@$SFRq(8%{7zE_c6 zZPGs59)ffs>9>t~OxbZRr}=BkU;MvXK6IoiMVA9|oBDo3Z))tJ4Gf!#d${bLQyM%0pGjP5M{_{4@|Bd z#M|PChcy`opE%&uiY)P0b{5vQf7!c!7XMmp!QWde^%b%mpm$cI5gTqL2B<&cn5XU8 zJo$~;_5tryxbh8MuHR_4%_iYpN}4s_y~z$0FOVaa%KjA*lW)y>BZlO*B$4Ti0^5aQ?^;P zdzTyES#Y+G%M$poHRw?>k1OdATG?uZ;Ld@K|p({Y_#i>F)c{BOSP#nHO#&A#CC_E$2 zJyxDuY|EY)Yee6w!FBv^4@FZS#QgOdn?cH zS$RHU%Y%C>&rT~(gDns4c^=cAWZG~o{?)QNksN2xXZFk`K8}cOos_&M#v|80HOILr z*v7ibca-LBtr!DE20pr^?W!M7honEF%TV8TS*GbInDu8}b1%w?L?b=!h*) zh95{*>%cv`ygOY`)Q{ykt|`ZQ2=^1EV1S9Zm9lVYw|}WxhrL+NHk>CSXCegj501}k&ifnlKRJd$99GnR+8^|2a*>ga90~rhAB&W&U(1YU8Tee1w#@41MrZ@tZ-S;{l^vUl>I%bk(QdNbI z+k7$65x`*o^10{p&Qkr(F8{I%!RH%XRWB*t4Rl^e4a*pTb`Q<411)TIP*bpngssMz z25s<Z9oQt&Hyi19Abp*Yo)GCtBYh9jR~zYDM0&fCekam3BmFLszST(IhV=iR zy|;n0sygre&zucX6vP#)5WO5Y{DPP$S0JJLUtvhS-(zZ+w=-;SRB zHtpYz?;k0q0po#h`SA9jTkAilM^L%m^m6gD7Q5CJ*HbU0^){etonD&?_W|nfCB-#M zZ`atvO~=3W(D9}d6YDNJaCmfmD)pU%YwMSf?yP9Z^#4(CUyuG^G)>QC70>#fM@rZ1 zx=*)ckd^#>jlZqvJ;A!3)iE@6pm}tg?q;3QQaN+a2yM)s@#L8=On+sZ{*IU$8#VoK z;^&WMM!Y_v>8CSyr8{P)4!^-ur#?sTt*OYotM?}!|4myoZgqDWuL`kAQzNFU(bc04g9)XV&Y{@Yb`BS9YHN;wryNqw##L@#4R_tB($+Ons+7@A%g@ zPE|*Lh_v(dk56-+$;C(TwZ_mf&kXo8>MQ>%|A*9kU*NY&Wg&p#Z{BdH*>mFJxhOrPOVva$@15)YV+mo`wym< zkG}t3(sNGyD5@HES%;pgQoXbmn(vl?b_?Y%l+OSgpQLujt~ZCA-yq!avWJoEr-#MtXYj@6xYr#$R#s z#Uq-wy;y#+tH|$pt!_Sh;+q`aCe=LnV+A=+SuCq+xYbo&wIht}_ z^F!4$YtCwZ=$@IoE^5xqE)0Z)N;MAKwH@h~T(oeuCi!UHc%25~X3=tjGjj1!{?sa~^nQ&_@%+Lw>}R$+O^x-H=zrF{S8H4QuqG_h`c?nOP* zvi7y*M;ZCWyO-~eDq4 zVNz3djY zW2$n^%i7-{Q2m{?*}oa~>}aVudRKFL&YF3Zxy{30UUSW;Tzl_{+zuJKT&MXm_Md2} z>HW&oajuIduYB$yIepq)-=Vl>d`tVjYjSt(tr^*Q-^7M9TDG*#J8)&Bi7(ZnH|}f| z_~HJ^uMm6w9;-LM=w-k=JD$ql^Huz-*30n^lG{C@zLdVdM$g?J?Z1z7U2S{yv-?{z zy;~Y9b+gs}=AMfF-$M5vsmksD!DV_c(nDkY4yeX;`wzCX%_7UnLKa25j(bo4IsQ9K zZkwLi*`~Li4B=1G)%v+syk3~EgH9eLzrNqpeJ7~%^gQuu=A4Y~NMEu1uJuE@p7^&# zLl<}6)!L!=v=7Ur8!IR4X;60(jRRmX2XKFs`d8P2`|qmCEnK#vYSuQ;y5Jj*&nU)1 zpH`isXZP#EYwxT*Et!2^alJI@#*b$e{$QCrM&pUMFr)^~L&YQEJMR`m83i>z8qWW@ zg_rM|pIgL#>vT7MaMD>*Gc&h-*>MJB@dUD_Cim>ZZ!a2LOamUnO7$MpXqhl?m})ri zO{;!**3S@)?`*$iOvCb3x!se-H&(XXz4y#v%XiNlU!B{!I65%=<=pPj~T5RuQ zY2CT0U)z(1Jgpzv3+~I#&tA8?N41>L-jiE&T}{t*dorCpxm}YQblisM2}QTO-hY-K zO)ZOZ_vw~~`*MpqceQMuxqB3U$<@XVHu%H;j{Ke-Gj~UYJ+pR{Uf$jm)5L#x9DwcJBD&|OF#Rgx=1VOW9cWG4ym)NXdZ$+Fz>!?Kg~{`nt%Q^z4PcBrK@_*55=|SvGmj* zX7x9gLZ^R9UsLUh`+tRwL-az6I??+{{{wujuKL^g_vUAE6?+~kc+hpV z0oU2`XBw^J1}qa5OE9vG<}AE&z>T#^6##&rj~mmTT8_IUTw6W!ND-SeBfJKMXj=<2?*r+Zz<9S`c7SVaQr=%+XbUWqeUiuc|u2=N5K8%|lTgPpjRcwl|K{ z&(|p{^SGwoQNF9TR?mj?y`egJ+ImVqtNz>Gx}jRabuXyaan@f|7PQwdSTp8wjZRGx zLx*kqP<@n6wIBRx@K{mv!Jp@!E7B7Fx?Ml`PJRATNp$#sXO^n8N%e)!u1kJZ?cEEy zW)5v}94 ztG)H0MBZPzS}*a_p9PP1cXYHU%Dr_B34u_o+h?$+W{|FvD!`RX07?})lPG%)m#Y{~nD_)J44kzj_S7_8qFBt4ln{)H@{DLv_Rr=78H}qal)j&6MWc2pHLscmkpd*1> z9mMVh&!4X^Q+9PPXs%x{@vd}-DlN9P`uu#Aql7AJfg2v1zb~!uz^ZEcX|8XbJ$G!l zzKf_xRNp%3;zGQFKR9xvyY;1!3H8`{O!e^5d;a_(U41Eq8|j$q9m(~JbnK$9pI-3O ztM{L$+`Z1}s$cY(@%a~31pS37tEy|xtnK<6-Ds=WJX?jGX*^!*J7=Z4>O0!&ueiP{ zs=xBbX@%Kbzp%0Lcwb6Qf4p0r=BnP^y<1xw;>EVCd++Ig2f?17?3-fmidUDcv^L7m z{r-t8cBg&=)h|fbUw5#6*^&BdkJm3fQGbm_ap97*{v^b+7unT!O^qJ{eQ%f6YS*q^ z-hTU8w`h5%rNWNfBE%9udo_Ckj-gpMH`Q|iVpG)h@t}hPlIs2+5n)-`hrfUB3 zr89S(r~0Q7_@OF!+v}?Tw%2oQM^Chjp4GkQz6rz6F8*3-Y&)FRzV5~f&UGohh@xWV zV`uvtSuds8`$|Plw>ql_RNcS6VtvK(wnZa#-Ph-jW9e5aUTE9XlwZ6K=PNq>dkSoO z3A;}({Ft+*xvqC%%aYvR9<9+EIR@m)hx_ClZWlek?V?Y|w~MBC{>2-)w*GsW^c%nA z+_~$)#rbo=H3z%9j&v_M-o5xl_tp7pm2Wy*?)+qBd*296QN>dczu|trGC#Sy2BNBe zuhJ9yOFFQ()is29_SUSrX+)du=R7m=Elx$Cw>ImZmZJN;HM5%XW3lf6natMTZW=2a z&ukpmIK6RR<28*d8@IGS$SoaLF6b|Bg6=u&Oz9Zv9**DA{Tp?6GpEKEzzD95q4az- zy{qDj>xT?B4psm=n^SMDe#d0y!nRSFk-Y3H>U*Gvn{-}{n)_ax-O=9N*_BSIjOIQ~ z4xQ@J2bfTGI*k@oW|jtb?TvjyK@E#0e)+VQFTS_A?>!Sg|CN4UC;DD{_2)%L;YW(D z#>>cJ^A*9H+Ohw-+3Pyho_1(LrS5B)&bJ)T8`wNM>npvIdp%tUSkA&Fw%Ty#xs@4? zY0#`4wZ&tee_dfA>+9*dF$3&s4qsS3yjX%_sHsft`-Dr>3{YIPKVKu;j>^z>Xl3y3 zz|sJ!Uri6}XB_KUsk+@Nzu2MRW~5F$RdeHz_OFks+v0*J)YRsg=Du@^%{xK1`4e5+ z&E?uv?mDt1ZMe5)(}|~=-{k+yH~C*vb2&YytnwiX+7#()ML+o2t5#{=oZ z7w-J?;$JFs@6!HsYTuV#!A0qThmf{?G_cEP9$s+3t3Pj4RGok}f96~@y_*DU%Q%4{Fz?SXx0MA6;Oo77OLx>fR} zk)=svQv62@J1AQ2*WYUM!}#a+Iq72M>e6Vbtmtajx3bdh?fP7xe#AxHR~*7^egSz! z(L>aIrC5#isJnC7!Tu`k)T1uV8vL$1tEdIlbCmzZcWDK2^f}E8ul`HdNUE5b7xlf? z(|^ZbweC4j)owg3^HW*A+EDPntY@ghS6iu4ul|c;9@q}&_SARwu9;jNhvfh|bc11j zf-Gs0`USF|G@&@>6hg^P*j~u5-)EZ6UOiEWl*uh0YH@#Nsir^Ga&~jUZ`R+7)Fd}H zQk_pwz?HZBmvr^lHSu*8Z!*^Y{f{-*U!lKx{xmxHMxnHQyMj8ltByY_j?saYOz(V7 zZ5=PO)b!s!-rw|xj;Z;yXz%>_f~rhMPj{z^)zK@IpkI3Z9kSzZb&p|vrxuBYofSCNbBs<=%`#=-~H%nx##^OfytqJqty9mTBTYNyxv0!8%(PP5$|J7=X{ zyiiBy)t{B?dz!N)nV%N>$g&;b7?J;1Pm~!W1IpeqrdamX$z!CW=PkyF8ohs%l#b`p zF;bk4>N^-B9VhfVPrtS_M85Gx?RTp*9=;oohyBNc@zA6C6z8dd!{MA_eH2FVo$)*M zL2tEf?@Cus{h^&fmAmr}tyteY!6rA>u%h!0O$P2;`WTJ6RdBjJedoCqIv4T8PBeM) z?Z?v{x->PpzV@+U(d0?BUBjB57--L;J%1W6y41odLl%})%y3h$-QJbBtXisC6?2{V zZbj6$@?V=zQ!$!ICcbNb-i7MgLxUA2w#+=&t-WtZewfE2vgoE{9rb)om7eAJC#v$J za zr)TJr!Z)vrop4pL3PmuWF3;BtkI?KEjS+z9JAiLB~=VN+m&rAOw{hMH1n2n zzSGsq742D3_dNVu8=nvK?B1?1?fLVY9zh!ElAo^`UVGu0#df$NRj)fP(=9buv_&;l zvzA0lbYF?e(i@kWG(R1E>IWD5XvV9J2^u2@RR64Yr|QNP|4y-N^N^FoII8x$!;1B* z#&xmWTr_J*V|Uqdbfn7dV{R(^;wr>6_E=OuZ{j2AoqzL2|A}hv`BR$vYNDs&S*iAf zE^mi{mW-XfdY4ASfJ3ubW2uIEx{Qbm*b-R5{bfBBZJE+;7dyAJ8%LRvkJdqf6aSQq!E`@S06^tY}h*LUmN#drFn zGb(1+Fz)LAMd59}o;I>kUwDs;t|f){_(z1A&i!Gb|L7G75hxOKw$M)$ZQ*VeAAdN{5|pYA-C#=<HJdSdzaFe$Q<; zRdlwsEb+vVsci47$j;#T{iFBgug4bGlhMI{QO+^(&aZU7U+;n|?reE~cHDtr_g(ov zg}6UQ2Vd>q7eD*7ynFG*(-uek^>Jd=yA}=UpX*z?v-9wER%`wPHl24)+|j1Q`f8a zH1>83XT}6IZqp4j?S(@uW?iH1`k8pvSsqOrk}HXc<-NP7wTa6mnnO9>LPb$`s}8-n;svn56bwa zpW%BR`|;%E=PxGD4N<`&pNG?Bu|oZKR5GseG3gP>v|cFiSn)ED+D5D8#-_%)#8)`> z=i^&@?fRRX9xSekGIRH|>sHC4m)v2uwRY|A%B|bi+>+U&Cx~a(jP)Llf||YfWHsA* za(qYe7-jnB%HV+H=Y(Q=7VbILLw&tJ)R}2bbb8A-Jc4?4ceI!@TAnHnx#p%v_Eknr zUz&JkrgxXiiPn87YI>xw74@Z}b&nih_s9{EncUFhncmMekC-!IT$M(`to>(e`?K5% z6jjyhHvPi`Z&P*K_yQV61VM`m1e`O z)rz^K$=qfg>C}_Wg<>XWmPK!1mLGqGu^0T^QA>vk9gKo)V_WU6)AhSf7gqe|%k1&| zH_`gyKRc=U^$y~PUySYb7RTDA;zLu1MyF0Z{33tOE9}lcnB=9|O}XJ?^XJx@#>}%# zcCTJqp*w4M@q_+C9=Ff3^ef))mCNM(=XT$8d!Xt&;NFdu) z!DH2awO_N}%&8k6AL?Icw-3o1@K*lf?O(jd`@-VOZ1M|jt+V=9D_Z*%uX#RScfJ>5&CezICK(caIsQ$0{|;T1eQ0LQQ1#aQioL%0 zc(XpcI{f9@`6)4tRlT~Jn~GLzIT_vqoPV!IarNXU;&j;GbWbm@xm#bw-`^M9wW1;0 zs~0-z{n=mc%HOBk9z~Jw@hiPQ@QjwqmT}EJWooqz7aowv@;#|(|8Kb_vln=e^+2y%bnus zPirx=d*JmII;G?MZl^p9i{P14x0e$*)Jq1!& znZ4ZqW%cyVmQ>4zsIp?s@pSdf)b{p@`|nQa)jdszcwf05+nV_JP0_*a6QZflHxHRm zbJ@;|Qxlp;=`K3`jW?=HZ;vW6GY)ZH&NPf&dgVO5L@G6ZbhaT|;Kq+#aKklSLsHwX z9i1H?a}8skxN>@PWhy&8JF6l;`>43OmWpNHs483wiJvRVMAiCS_J;37&FR$C8Eu&{ z>Xmvsc)Zs;rp}0W6tDM;Jv{chMHw;}~Q?2jw)f~#-L@`ny7~6GPF3Lan*4U=ENS|ALkE|w$T|+e^P0rnz(_P%Y zYxy^RlDn}b-C6O^(|y-tRY%HOf#bxz3z zj=22zJCypJQ@oetsdVwT_nYS6=9Z?;=<@rf>4l2L^T>;vbxnBRiRLNw`##?_xv_o9 zq{}~fUPb=G;nB^9hNS9_>dKh@S3jsbs_~+2^^dxvK1;_h=FN}apuUWkWAXiw;fUe= z=AY&L=1*RB`JQvC`P7=A>6?@PPh)Gb%>^^PQ9SUz1H)7wMxlF!=_KY zdfL?a2U@QllBv#|m0fn%<@daBOHE}?y{s@X4w#2n&FHDp4d-b|Q>TY(zcV?1591-0 zTpu3N`hokh%kH~wXj*>)9`@SQHx6V@{Od#M>ba>!BWKU`Joswi4#7nub>bOSAD@)< zwZA-JBdt9LZttodxP3w|$CHD8`@(j=!yQ!v4E7(-Zx;9OFTR0(Zue-jo^l>f9&R{q z?3}TOhc)Tp*>q~zj-Tit_5VgFxuQm^?n(EqY(Ju3mR>C5mEyeX| zVXePUC*JH5;oZ|GWl>0PbUv$fZxn!ohM)M!-Q4<}APLx(i~ zu(sNxK9zr*sdRqVcSPHYGkp9&y>9!wGnH$*rKdfb5}%2EuTNw5MMwM>jm9OlT^B4G z?g4evNVTEH{}MIQ0gZ+3v3xCF?WGrMq;qZh+uor$sXhNwFM2M%lVak9XXWH1Ze6Xw zZq*&(Bh@0uMrOt+b{~TYifDOi>|}jIwoQK*qRW>&+d%dFDKqDx_>nH>%E`Qjq34__gwcOy)ZDnQ{SUXCDyqn zzSt=n{Y@sWbFOV@&-L~Cd7X}G(z7a}CFvKY=y5Cm!C+5%K%=awSu$34*6X&xVoYml zE*pDn>`$T*8Z@tk@#w*c8hxXxWr|z0WyH)~H9z><5}VUgd;YsV?|WQ_O-E3%<)4#F zSZ*htQ=@c6Jnnjf3(%CC%5JeP%{aPjNNph8}%&=*16=y_Ug!$wlwI zW&Dfm+NobKLo;U`QW)A&Ae;N%$edMOQAlt2s3rtmL_6oh`qWA7PfuH0S$l12b4RM@ zP(@d|;_zzy^{gYMySn$xs2-ZSXz2}IT1<9zq{glpJAbEoS*A)>*ERf;el9K=GVIzL z)@YK|J=qVk3{Chi&x}#YhI3-Z9iYUY--o#srSx*@9ocz z`EjoDV_IhUxi3h1!-Q3qwsru>dTVoF| z+w#WP=#T={R}?azpZNKI%w15-pu-g};B{=(mSNvrM=P_%DPAC!_u!w zpO7AwJ|lfj`m*#j>1jh#sWH;5v_U#UI$ye2xb6&bhq?j>EqHTq)$uxW9jZ$ zxoY*AE4w$OI#&0j7IkkIv#xi$6fjUPzOU%fJQ zR6eXf6VC7)jkF=qIl|VZ!q#=d*1LuGNxvt3MVi$(>6EUMJ|KNU`hs+f{;t|8T_x?6 zeocB*dYT@%oguwZx>b6w^kM0K=`+$7rKjl`(FW-p>2m2-X|ME)(kG0#-M z(otvXyP(p=(yh|n(#NIWlfEd;Xzpr~&X=x|-YxBu9+3Wn^fhVSS!y%sa_Jq?J<_j9 zk4md_-L*m5DcvN!SNb*SKS--|%Se-Ssq_wMpY%!T3(`?~<5r9GM(G{W-O_#1C#BCx zUz66It8%4FrCX)DrTe5$N?(xj!LF>dReGaztMp#!!_xiIXQVGmPtzr?2I(B>a_LrS zuk?%3C#26veEI0@YW# zSh`8NTe@F*RLaM~a?(!eCg}sx{nF>8nXJa4bh&i9v`_k^^kpf(si#U8N>@p@OZP}0 zmwr$BGifGLxzdHwRnqO!KIzw_&q!a9jv3dlO~Tgs!qyvwty_hyy~36a8*lF3v}xU~ zE4#Pex^ctJn>KIUx^d;kb*Y~2RX49(y?N`cYuL5=<}F*hx8Anp=FO|OY}&YC%j(o^ z8#b?Ax$%|_w|;2#s+%`-uU{>P^0j&OhSj%h+TJQY;Rn(y11FTb=|tvw{)+&c~kdhIo`S&n=qE!HoR}c#@jax;8x$U>DJAw zR}J7cul~Ts_ldi0!!`-R1-5XYIS=;@-)i z-?)C0nt{p$Jgu>L)y*4K%{A*b-k$dzbL+cTrWAuBT)mPI)+=-OEpoPU-Nr4eZ{DEh zTJu4?a-IZmIzAeJvGeN8;+X$|T>O2@=$R_Ot4H^pg-(wDV8 zKTa1beNEdp#_3w6T&3Hpbi1@yYH1Z%9&bD#zAv3heJ+k;kG4OmZ4~NZZU3$?%J!q$ z{)8~f_I_=jCXBLuSlbz4lQt(4yelRpl&Mo_YLvDwSBkQo({`s)l<>$6n`fltdrmr3`m&TZV9arx7;8njeBQj-+1$#_8@FuP zx^d&W$?v{A+rP2lmdVqmG&fI~I(gQ#$+t{fHS^L-X0$YBFPS1LA97ZH@V0#G>J3}E zZ@yx~nvJPzuUT+&Tl+OvFT8f?f}0m!v2;OK+rn$+PCcWo{ffEMXnP6aAWjJ%aaxY| z{@n%hH{~A{^Bh9NsqfG znSZOaG@rL!pSQ|yyV7{fYZaB3btUyJ_3Qklsr}4}^LNH+Hcso})c&3<+0K=*vwgYL z<$8bVwt1&5CFPddx5oS3zS(%YDNY@y{ka`Vx7`k<`)ya6x;*zcZw>{3h?X;Y~(t4J&pApyJ`?DqOYu;&TJGuN^i67gSOC6v6 zd0r^xyXQd#CnSnwE>teoM!_%lCf!x1ZAEWIONAmc;M; zx8Jq;czx24+PeVz2+1~r@*Z!QA_5 zrRCed+r!(=XaC-BetsN}%dwreU7r25me`xm#=N&(Py5*v@3()qqf?jD8QV3*Kf%m9 zb$*v)enpA@)_B|HJ9U2NGhdo|zvFW{wWJ)kqxU;?ewXLe<#_v4QaEX%{yM( zH5|Jec~1$Gx2YurB3nLOz@uLq5cVDYsnP4#v-np#4Mp zY`}-@6WWBh+_4Me&jmiiyl)qW^$p7n&k^NpLcUzNq0d!=h&i+`=QHHrZVX`?hQ}i0 zL;oQT%Nh(0^M>_$bP(+j<{bG^vt`;R^gkFJ`W%dXXcNX3;;BJw zArA9~IBdhvPiRvPpGy2;xuO4ZKEu8m)+_WA#$T?Fg=IAaZ58sNpO6n@2+Iv|xv>!X z3~fR_#9^NdV+hL%+bYZ(+J}BZo7OUQ5A&A8VcUi_As?38Fo?1?1vX*5aseNEWrfE&v=4FUKg=8AFt(8YRpT(u@VJEWl#4&K3ELs`(@>_}vH`y$z@g7DFW1uD z$HF!V%W4Vyg!Kyf&cG(DS6FVyFAVI%azh-}J@gaC5aM$7VO>K1Q-c`7c_u6?v@eIt z*@y9jF@${RGxQVMGzD>n_MHJAwr%Jq#H#}P!PHmgsj3|R7w)Cwc1Get@C)Wv#YoDX z`3OANJp0H8-yr4IN4Q2Q0&j6ySrOzRMUrfE=YHOX6iKpybJ^u=xCIj%r{qCvq{OKw z3GxC5rv2f$yB~qKIDWX&a^duJ#9QX&mR9nTBIE<>>4|*aoKgfH?0D!S2t3&QR7eTD z#c}GXmV8;H2sU8nEseqaSr|*O2b&N30Q(V_g>7k@Gzb&ZQQnhK-m5EkA)HZgI(^Ig>C<+FmV#c<5C2B zu*X z?Qacuu=x!E5BB)n9`Io7Bk4T>4|ctNH{ijZ)9w#=a7I38hlc_l?BmYu{s{4dJ?@?e zc(B|5$$$r&KOFF2^G^pn*l`{UcrfQw;(RIK!S=()px8y6Cj>aBV9(<+2t3&KJT`;C zgWaB^10L*h>jNHaKjQ-)Y`!tz!R99iJlOoSfCoFCONH4*oGk%A7g7Qbwtc&>+hJbJ zW7^4o670dYUlj0Q$Fn5h!RD_Gc(D2F10HPtrho^V?+$pd<5?rjZ7jrjYm6h|b;A0W z0&f6Fu(9}jnm@r%^JqSG5{CY?UJlOolAtmr&^M3>> zfd`xa7Ni6oZ2q4hCGcSLJUfrTgU#0mJUFNQG}9FU4|e-63V5)2-VA}@-{Ll8+nD2p ze^LZ{F!Kq=XtWf82cIs557&*_%!_?;-0?|D7~~}`&p8|~^PC?XGrx6^q?mmkA?0x* zVmR5_SWm9zV<62+v7akN@DFB=g1=IVB$Z1&sY_U2@EKC_Hb}__ZVK=WVYd}!@#q#d zodLfj;BO50)d9ar*#7SjM%V^(Jn;FuQUo6SZYliVOWn?_F}$YwsW5^)c)k?-nKHJ0 zi-6bj?-r&G*nB*&=?!c+*VyL22R8p8%yA{}E5a^oPFjS77{In!D*P^S*xx6tEO{Fq ze`8Go|A=r$jDH%~{4B5;uFiL9Y%@>Te&!3?&rQNUMr(u-;sGyJN?Cs%@L<>RUxn@S z6=C}vtRCxji_y#fD8VFY`y?LQ4E zfd`xaLt*>r6ZZV@pM(+YEj}(QL{Jw}1e+DoF;eQXRf@oaUDgL7CGcRk=SPGc!}fsR zDU4tbrcC^QRO&Vl>nl1hj+6PFJfsMIEVfx70vl2U8?ftgJ){I4?7F-MQUVV)zfzcf z4!=g~I<6D;x$KU3KXutIMX=v4wV!*05qPlY*!v+R@D|slO$2ozb$hnQ9A(Xy`rJp~ zMw0ww#p8z*!6qwp-?&H^Ny>Y!c=D1W*nmBskk_$so^qSC2qV~oUEeDpCGcR@&(wuu zfxv^^Zl%Y?^XkdQCNUB7$?7#ewjp)=6Jm~da?)W^@N_9cY!)A*sUj$g6u}1U_%DH! zz=O@thLpgA&2x@&Jgou0Kp4Ru?D5hCDS@{*Hue!4soS6aY|L18``;bl-2r}B7~izR zJ}JUB*fIYJqy!#p{?8yK@L=teT!uE4G;QvM#!5(b; z??X!9!RG&)u>Bkr9xbK5FG&&XEpFSa2-=p^ZOCyqZWZ=g?n+?qtq>cf5 z$9BFjl9ZP*NM2F|8?f`91u1!_^G=jc%5{qWMycDaN!aI~{8f5c{0e<0vdwbY9%|=pWdV+Rt2J&TWyjbRM8= z_+3(jc)%Vn4?s%b!8KCs|5%E^TO0%Zl^9CiDs%l2UF)iX`P_ z&Ll4>f(_VtM?gxF@?t|?QskGlq22I9ir@$A7{b`tkGS3FSL7u{l42N)&0y+sq5M-8 zsoOa#?BhN`nEk|%lM;6%ZI&WQv6VaS_Svp{Uc)blF+Mw`?*AuSKTnYzF_9v~0H#gw z!}`#5nGx`_gps6}-|iT9S>aq=@ZNtM!#IhTa;Hk2cQ9+wQlGzyIGGcOkF-`w8!nb2 z#0>VaTPEyd$NI-}>5amk_ihzNlG>T`A7!2FJV^Q2kdBR0<}M`3CvySz;hX?=J9Cah zlJYW_l9v?02JE~eASFq8%gs?9Bg~NqdBGn0v@w$8lXfN^QUn{Y+rPAq_R0AaN%Bb_ z#ivtjTBP>Ld5Zn;ty1b7N#89+eqBDp_H?;$J{Do!*^hY6yg-;bkRrqkcKc8t_QN+w z?XyuBfd|`uvash6k7Il=e(?i7*&H}2wsVUACTX3Nyq!`69_)C+H5=G`moVjGzf|gR zcbzZ-5B9lr4WtC#;=^j1*m+Mj#!n?LW0i89QZDOW`eGz)kRnMjXT_736u~Adb$>e9 z_@X}KbxK)hN|B_p=)2gHGG?%+uOdnIthuod*WO_FH`aqlQeNgV@;b$a`P}nfI0i-M z#eL8936B@p<ndzY*H@k& zypAC69O(!t@i1>7Nj}44>h`A(kPqcNg^(9a3g0S4*lv}cFNMEJN`C@xkRnOteoTB? zN{S@e&?m7WMUreN3mZ}d8}P5XKQk9lE~(pXuw(G-I4`O5GN;imqga(B*0ZUObsG|At2C0nUy9%#>@jk?u<_88eIj3mV~PdqV@I`4d8ju~a$C}lr+ z-y`+;?tQ|xUnlG~DUFRjgrB>mNKy>V;wgg^!3IpbkoQ_C0uOds;hX~=EybSLkfgFE ziKi@51RJpX=L|>*JlH-trk)3Sgz4Xu^+73uJ=n4RHlzd|Y(JlXl)ziuA2@!*R(c#= z7J1#~_X_*C-yi40=K}%%xq$Br_`SlFQtbaI#?)n>lyew(ztnx;d&2HZ$Aw*&p9(vk zp9$lSyst?Sw!!ABFpjsuZmZJ+9&DbE=CO0ObY2BUo78yG4T45j4^#RYlTl!asO~C#9cLJM_ z3cLM(Pgwu*@!T8pY~Rm+65<5Atj`ELhCRYQ_dgcc=QHX*AD1b@>?X}gBk3|J9R8O} z9S`%N`4s`bCg9fw{Dy$vBM^Q)D*j+8qx=5JGqU=OBE z@Dr8=c3XW!*nYOhJofiU5&VE{|1n4jJlN-jPeDrHEv^gW6rZF>k`3b*8`62wNXlF{ zF~(n2>Nvk9%(%e*AEgLB!5-KDQ@A+Zg)fz2pOcfEQvCB36pkzSi^2$gz&_Sr61JZ| z5vKjIFTFSQ?3n*q;0Nq$O(Q8>f`72>CkWGq_?#|Gc5G${`y6_Cz;oZG=jRo|&dc~h z$P4zm{UgHmxm}p{iKL}tYHiHFA{zuhVCFQa(`f_=JlOSW5OxgH0voW8-SU73)Bo|= zBTS0VRl?Ml?b`!;Fl`0@dx8DE!t_b_PYPeHG?G3ijNlWTRSI9FiO%QodL}&yHejDe zE)jP7%oBFI%@^jk8)aQ3OcCULx9~+V|3P5{9^9pra{pS`ehv%!JbN^-2YY<|W59!5 z_g91+X9i;lWr0a4YmBhZLE{4(u*}c z{+_@dY(M`Y;KAlU8Sr59pAC4h`7Z=K*zx>vz=O?yS=eztDr`S|8VO+=?0M$9!tS?6 zgnfMfLD*yYe+whz1*eswuM2zZoX0?rU;}PZ%5mumc(CKVPS|lS7p4g8-y@7~{HzH0 zH37di=CRu#Y(E=?@ej|ZoDlqg@elu@fCoFCj|4o}e)t>|f*-K`d@SI>_VbB=2iwo? zfCn>I6VJYY*JfUPew?5!Y)BDe08f@i(rcuy`%+=12zbt2o_kjd`+RYSFoGY8%OVWQ zBDGKKTrd0~NqK$Ehtzp9!p_TFf+Xeb5l^|K2sYreq>=P?seKYZ9Qx@1?-xeM3+5PM zb5M%FgB{PegzfW5VV8AG7{T81@7+G9a$HU&FMTO3B}J0jWH2`KlovmwZu9xVo;SLM z5&VOF?kHVrPezC^Bc%AJJv}F1A_VHbZkS)Jcdu|izNBv z{De#um)q(ta>L%h@z*2XT@TLnLLKGJe3@q&{As z6h??2>^A>1NC`aH$MG+OD`I}X(wr2Z&q*m0`{!c}|AMq#3ZA5l^er&Y5ocq(MwmGW z{y|{`Kj4{4;kj;xz=MfDE#(G7C z@WTUpuVf#5J;Li{2!M2YA9&CQ1u>Ir$esW+BwtaKJgU!zrwx7X11MBu_ zS6+|bs{{Y+M?B|;IGiisX=gZ(BaSlyZ?T`jjLjL!L@1>8`L5VelFx8#VwPkRjw5g+ zT_tUZ@kf<<96czE;0Mfk2z#!ZxzF?MYvYN+{GARP#)A1CVdif5EyDVj_qkPIM9l9H z=KO@s-v&0{3v7-HbB@PmSi0X2&t-e;ls;$ezA;HQ2z3FQzc}zSHQ+A^?7_C59q?fD zT+df{dH<~ezaX#&+y2Uc2b-tw+0WvDFMXcc_BRB6z~*lb{HzH0)qy?O_U{dNu=$O` zj%QQA-xk<|ZU3Qw2b(Xw#%TVYz#eS=V*w8~{|RBo!*zc1pA7859xr_X&+$h*21880 z#gx?kv%hS zmvLnNW5NjbU>~E;KuVJ0+#{Z{N$vBq!e5jU!vc}N8RI_T2V%?`&-Sx~J%=wBrj5wE zRv4jNu8@>wn(c;dO3jFP0hW5p8>De}wO@H+)Rq)3tjQ)F<2i~HNh*uE zm$FFR&N*Sv`O}1vq`cUXmlVMUJea)WWJg|7m)j8JJz3uvOuYuvhK+Fyr0$cK345)@ zITxW`V9(F*ft0|5Jr-_-l)zg&f0i4w%w>_3@rNYkrEk+#q@E`kN60&2&zysQQY6VI zzYDN&O3dNhrOmv!zU;%^DfX<FsoZI?jZ@;Bjytoosy5^;@_1yVI-;C zr1=5P<({k^JO)USB>#i4VV)#@QUpI>AB&UKeUj|ROX~V^-N18En=q0T+o_D5f3Li> z3H5av35R1}n|X2HVEki$s`J2L{Jc{(VcQZrb@cIbDyldh;jklhpE=oj`|a9$T#+K= z2fM73owLHaI4>#UW8`B=is0X38^$AbbV{2rS0L|%eYyF^bv#*no=RTU4b+SDGAZ@i zBSoke*mKc?kP>)strYvON|B^?7);xSYm#z)LL1M|%#+Mh#Be?tB}p-a?NiPsryaBd zsp}iA{lK2nPIi8r75gD2K4M!WMTiY-|6Pz0c(D2Fgk49UZ}D@3)G@3UM#yV%U;Y0> z4Ah18Bt??q9E{DW9QRYndyZlzeo}<^!R~MMkdmZ&h2`1?&UsI^W()JW4-B@Sztb@j zJK}y7#s)vwx?_tZ`FXo_Op0N!ZF?&1!`hVoK(>d?aP;Bk&f_jcgka=KSdE8cy+l zvg;f4XX-%ewIz9xq<9*|V^2yy$NyaE#2BwqIw{7#7pK@fDn;-K#s~akQjP)m@1zJe zVCoD111SOzcHX1Hp7&l6W=)3ucnxsIGnjiY?Eh9_u9L#wEzB_nKPH@w@eyI$|BJBg zN2UAgHCx!%I(UD3Wt{g$VaIbvVE<5H|MkHBiGcs1u;U*khdwV%7PkMX0`|X9nBy8r z--CgK_5r)yRtl>Md7kHn%-BiMsI2mTqP1m5B{VcVE- zK|M(k?7@@^A4w5-uzBVu1RiX@2~q+NcKlo?MBu^ZFNKuAgNdJV-z7!hEsmLOW9Cfk zNs%Ob)+N}GB1tyyl%MciIhb|Sc*R3(q)1Y1ZWB@j8?gKTa7al~-oey;z48(RDaS05 z{(+R^0sgMkeeY@E+L(V{DeGWtnq*KP?sucg*r3m)hr5P!FuM~j?yZyfgDS-#O9sUYZ0uOe*z9H;-JrVHV7DliK z+y1{oO5nl7OgtQ4x5IxIMzFEC9nKa(9#WS}U$cMa5QMy7`YZk?NRj{Nv(OH1Pu3o^ zC#lCZ;|z|rI$7J=zFu}nQrnUrUnle9J~mEvKBf)AK6aCZktF}&yk{FY_XpN@_L&X% z@xll`!7hunB$8CtDDl*V6u}1UyyrqnlJa6hUZ;^T^E8rVKSDhAPO%Tm)n;CN98V>- zun*vrc;G0Ta4kv3X`W!Z-2!6nB zhv~vDcSgW-Js80r?0DuwN|NG%qb%__aA z^B3`uBIE@-Z)x8!f3mTL4L(Vcq`D9jHeqaF`@cXKNy^K*lf0xpE;(TzFXpQ#)~f@X z#lk*ccMBs){s%K>x(`n)xXJqgJBCXG9_+Dmvi0r1SGn^PAMNRsHd!Eb8{QJ{hrc!8 zKQ8R{?-llWWS204J=pVDpD>ct=KkG8iX_>b${c$td6z04+J_V&Hn5NN^}=q48-y>D z(smC>5$wUV4}Lx;Mc~2q^La=KJeWR){a2;F7W9w82sU8neI8N*52hW7;TKW_-r})8 zP6Yl*9e;zck0WKWpS;Z5{8qlTfm*b8k^_i^rUpDW>ab8mQ zx2eLMW9U~40=^^Qe>32@KI6J~3nRn{Hopc^0uMI-K4F(T*!9C;=A~uwOPi1)lnZu0 zERA!y_EF#eEJd&fJI=p?l)!_{e?!>uKOsz+_&FqXS$`vpkQY2!ip_B;0uQ#&9|_y% z3jzODryO0RH#dAVhgq3|sHiKzr)&}??MUwou98%=p+h)6BAQsXK zq>+?4A0ald+xGLqJ{AuPlMnm7(%~`wic%!0Uh~A0hZMmE%)Ee~+oT9Q*nMWZFap0_ z>Ui!EM&QBbKPK!rKQ2s}=zoyNA6*#55&M(_i+|8Q<(KjOCi zb+#41>(WwE$2?uwb(taTaY~!m=DNU!`P=+W!U**RdrYl`lq9t$b0#s6BG`aw2imr@ zf0{p6`;a7`gPA|68|9L6ZH}^*ND+L3U9a$Xfz6kmiz~GcKQ~L=hAV_eO5rz3k))VE zBA$3iop-x1*B0SFB{ly*%)x(J>UGZN1Dl71i4&VYk|LA~rhVc6T#6*ci~& z*vE8%FoGYj$Lz`G1bpGY)MvFg%Ic6J_yn6@2q}RFQwQw%-Gn67CF!`pxgBVKguHL} zSmZP6KhH(PNxeuBe1ct8cr4hDIPXwl@{+op$?v=wVI--JVP4z7IWO}Hl9YFvc*-S3 zumQ8qrfpY95%?8SANSS52t3%weKVvasjP|ODT~x~%n1`Ge3R6EW(gzs0lVDGASLi% z+g}AKNh+6l2LGfkmog_ysbgu~-EQ=Mb$kW zi=^aTDMj8YuWj(-^HElKv=l#sX)D^zZ5SR$(Rp#7Kb7$^Q=X`=Q|d)oJ~wgRpO5iQ7W4#FSl5#AGXSNhc zvM)DZ&67QOuOp)*DKEc=DT@@r2JGW_vfuR_SMrt~-~XHDfm3N)&d0P5DdUi1ahnvO zoxzM5_>W1kh3}P`e^3~K2WO?&e_dK3g+D0uIrp$IeHEJ@N^L`*bUb-d+vEk4Vt-nI zd9MP(KCpfAo*Z_;=L9%sllMcyj7{)%3?$fq>BDL19|$u~Ve=<}4Y)Dpe;~{*^8Pmg z=jC0~j-mAZIk`A5@03Q!3m&DEvgQjr?{5m*KlgpP+|qZsI4|#GamE|3hKdr7z&W5ZHrl|HlCjHveT|`*}3r|1_`%+y2i39&G-<2;0wrfd6K|9};E_ zK^wj#jL@cFuLoWYc(DDyA#DGgq|6TyM(_jn++G{-c?13Dxt(1c@7N@tx73FIgAFNb zGGeA5A(UmY&(NNI*uc47oZk?5FlFPjUWz37WIiDVQUn{Y^PcRt0QszfiT;TLo6^|a zwo$yFavP-P>Ej4I*!&b>{J~ER_)CNlc#GSOyyPK8ep#FFx3K$3x!((glKT4t$CnsL zotHS=&L>;LmpeDPO_)0o{DDuG(yl0yRA0&^9#SO9#&dG$zhK>8udq$Z`C%TTEK($? zERH=kq`pqlE{tFgc6~1wb{lpEJnLBmd$8>}ci|g;sg$;kq${Kdyv2Qn7|28FHB#6o zOYNBxuqQ?E38sB1i}@ab2b(`x+ukWVe3ByM1=B|O{DKsL2m9K{_>i zf3V}61}T9Do9Fri0uMG{+Q-au{R+VzZ2neA2|U>R?T`|9u=#r+CGcSL_d!bF!EI9N z^*yPN*R#S1HemDrAEX2x?0)hRqy*mLckHX)DGX^&~~87ntKt-6u-jCOKix z+p~lb?7>5%*k2|^;K3e8?T`|9u=x&12|O4+Exl5Tz=Po;>B0cNTNuH{;_-MYZE}H} zQ6A}F&evSKz@8LIiifp0Hl%J()-d)To>N5U#dT@c7I{gT<09$JQu|pU?Dk(Rj1U9Z z{CgoK@L>1n4?;?kVm_7YW~Y+3Rq;??QiRxA;}pJAiokxqi&OY7 zN)dRl=dsf3jqH!4Pe>8A!5*`J2PuIElj8rF6k!`oil2XyB5Z@tmBRm#G5uH_(3`J8T<|62_Di!4KHK zai|{xZ*gAFOQcAW%^BkHPs;vCT5erRAHf$k=Sh*b@_8yY)REYnQZ923l2k6X)^axF z!^ZhZQP=Baze5Mpp6`^6>p_Y*Ua*hvJ7vSz#1|=&RMtCHuOaeJS)@o(S%a}5AAX#l z6dlZQoD=6I^>|z)jNk*zxge5WBV}mA^V`|{4Z<$}Mqz%ZU>}~dw3!zlukf764t&B< zU-HhBx~!IfpDT=D54L?fqy!$Emf~l=)bm4FFVT5%JQK7<9#Y0Uc`4Uza)mI0e{fcc z&8<=d9_)BFKuX}j=C=sDURwh`JdcBI|J%X{e!xEO{|873yv23dCW5*+bzaZ^pNjXx z|ABOhl)8LNiok;#r11Yk>X=^?o*eVMdl|tVOw5#fLBNCQH}LNdc(CjEfq(~_|1Dv5 z;eT7e-w7#!2iub8?a+w&5tDc57*VUfpcBzASL7lpDv}W@lqtoC&z`DNs(XH z=AD|O+zy?Ea1!I8PQ*-V`;#3PuTe?qf8@&sc#`miQh4SoB&i)J(^}5vqS%JieV|F$ z$7mWECHM!MzZ6me4>r%=m+faxz|&_C?7=?PS3*jX;(w=(^~>fRDM^aq*Ll3&ZdtSqZ5y7;s0ZTn z9c_Z0Q|yOIk)--^F2LR?_N)PsBzx9W*pnjIfL&fVroiUM3M1Hq&1Z!X_^j0Ycwqz{ zY@WFhfd`upum6C}hkYJwKBSBkP>*X`9+Wtc(C~{NC`aH{B@8L zc(C~!Atmr&^WBgVc(8fa6$m`o{QDp!@L=RA3;js!REgNDS-!@{|cl89$X`(eZDD0;KA4v|97MaJQ#cUqf!JO%<+al zAw}T9F85y{CGcSLuR%)S!R9MCDM;YK=Boo9Y@YA(AlQS=mtI3Ne^y`*HqW@X%T<&q+_kHt2OXKYHxwZ}NVjn@j#mJ;VfQUsr1pX(oilq8kK zd6BY6sSY-%>zENnlJXJ*c}Wp$z|PCqMUwIkrX2=jbGrN!11UmTV8_6k3;9*XFqk<1 z4|{I{Z&y{`{X>`p83X|Z1wtUqQ$i938Is)G43LT31Q~?G&AlhdC3oTufgqDiB94fn zC@3OmQE@`6)LNuSEe=)dYpqplskKg3>rm(F|My*IKj*CdoVE73O569-|Lc>iyMDiC zJ^NY1UVH7e_t|^x|BW`ZtA+n9ZD{2s{{K^%pUQFizp?NAzg*_a)N$#*#5N|62`^Qc zq3~x42xA)9&V7%dl%NM6p@99j6wJ@Jh0Xr^k^Tq5%N4Na{J39%`4*mSyH>!q_2){{ zUyQMYGJs9bH{(b`-yi8&Clf&rHv8d74>tX{FiF_+JyX+fMJYiKHvKh`9=wmzspIXD zUNnfEe>vw(Q;5%fVEQE6`rq$NAD;(h7NnC;{Ngh{SAxkO{r(Ytt}sF!P0ar;Qm_p% zf(_WpR&_o5`_vcTh~@iK&cBDr4`n81e51a{Dj=yk{=W7r~4InR6s{ws}*)D z@I{J|RKEXJez+zlZ(=LY3BuL~P7}6vh_AJ!4q|P-Q4BxC2xSJ_JoZN6JrtV}`;x3JCUKJFlIKQi2|A=j#z+>+{^pB2NPI2aZ8} z-k^Y_$~l#GzE|7g(_;MGr+{z5UnwBy!L$qd?!PZuCUELeuses8xtG5rc1###0WOi70eI5tj`=NjHLWf9=0JyQZ}Spcq%sC zg&$%hmDeok$%`1l27I8x424w+2zs#9(f4!egZ+gHG$ZyeP_Xm(fH0CO!(8bp1F>y8 zPk6clKBtmn>81wTQVJq`ngppL4ZIw2*z^wxo1YIv`iF%P?7?RL7bqp@!KQyq*!+Av(mx@LU=Q9?f%^V~0)pPe z#+j*%^Ru)OZAgsZ2W;ix*g?>PP49mn-&tvtr&|F@mFIslucayj^&&=s% zHvJlu67*oJ7h@5E-o)A&zyDKtom}Kayt@Kz9*-NML9A>X%an~6q5NR0?|vvH=)qQB z{35CP{&)DKE|ilPAz$$J3Y29p1q40V^!uWepa+|tYicA_etwrFFJe2^nB!TS94w5m zE!gyjp_HHpTU#BEQj*Gx-_FR3*z#iDXFj=JLD&{-=fp!%O3;I?UPqvmpa+}&7?cw9 zVAFH$iJ&*JzA;@2%0`S}GhM;THd7cu4>tW#C?)8@rl%dOj^t~4&cz7!VAG$9Qi2|A z?b(G=g5Jc+oZEMdb@Y>`S_b<)rMt*DRfd^Lquq$DzVwGf6ez@QWYHn~|CK@YaNzZ|6mJ=pZG zK`B8Gwl=vNr35|rPzCDpr~-l>yoUn%&nY12!RQD-R_uyg!wgsF1ut*QKw&Hk4Qh71XQZ`}) zo2s$b@}lh!?7^1T(I_RUyv~xIyoeEOz}Eg3p_HHpTVCr?O3;IC47mxV1U=a7Z$&9V z4>tWPg=u#59ABn?tuTTfZ2C8#l%NNjp64jc&ppD{$KDg^-z!XA3GY`hn@5Eae45yP zXWYl07{LZ?ZF>ev33{-Vhw;G5!|`YOWx@#d;N28vD4eT+q{=WyddfhIU;{Rvr=XOe z2b<5uC?zSMzwi0o>KpgxhIft4M>Nm@iYO;BLcU-tC-p?ogYBGkEJ{hLoZCx}Phuox z!*wP$#Mb72$n~a`^TNo_3xrMID~wPEu<19Tl%NM&`;ViPq{__kLYavXY{2I82$T}^ zVAIEK1vdR`VFY`y=}!{2HaS_?_TvI!1bY+PkBr-tjTpfOY(9@fDM1f5{c$KI=)tBx zQP|2*)o-nA3uTX_%Jx4w4j-;E&y zF0`llTqlgME!gxIpp>8oo4zJ&elCghbzua1u-RXVQi2}5n*wchxdMXT#M*~*G-W16 zQZ}Sp$k{NaV-t_<;Jp=QD4eQ*;2%tW=vOEp=)ngopdVI1(1Wdx?>=s7QgH3-H zN(p+foqyM%l%(?7UV8E(Mp8ChM_@y2J`WeRdL1EbWjIzC!4KH%IX59G|MWxr6C>Dw zZQFx{ZS0yMZ2jRxVJpKNVJm~5FQLaj^EU+lV6*QMHb0AmZ9G{ajHJrEkM#H?Mz8^! z&;3zK(1XqAAt)s&pR^Y~eH*ep^=1qw4LqTM;0J8}uSO|B54QgNfUwo^9m4n^d|Cm) z9&F|RJW2_Au<8E}r35|L^j{G+|6dj6o)`Xqtbkx|V*Pxc6w?%l5p2Nb^LfJN^R!66 zKp4RuZ1#&$O3;I?|D1zTk}AVY=_vy-f(@AYGvy~=<~m@;Z3G*z^WA<*qphmuMM@5SUar{uyc(qh|6t4ab;4Gj*9%h@%EK{> zr0T*Lhm9ZWW=codE>_sBz?&7D|3P6Z&t<|0{=qh9yG|HM<;%Q>e2Eckz{KRcQNi-s zBy7jgwZa_R*nCg{VH@ys70`cP0YMMmSpoe&C?M#;*0;ZjQi2}5Kmq&1D1Zb#*yb~* zM0&8b!x@ntZ2B%?lJK)gfO8)HH%IzGVYC0Act=~=hw|JU<@?g8JTDX8vnc1?!U*Lz zv15V#GEIRPN!e7*nb~$-*s`%L*xKQONDs!Ac6)(>?F+_CB$e+)(z6XQf(@8+JbrFd zplawjj*eGA|EL0j9(;@f`tK{4{SSmWe(}GPl%{9R7ArsZU=jR)O}|&92b=y`!X#nO zS}vwP0Hp*y*z_|ZJ=pZD6^vjH-bXRz=RFYwy@~C|9x12`F=p7TRlq0u^A!;EV9Sf~ z0YMMOmb@-euzfTxjHL2CL3*|!evSg$o~>YIST1aNog<9k2WE*9&G)545cJh&hwdl&c`#WwCSRwMZ7G;ZU^kK0zxyKy4H57_kg zqLiQqoBr*>R^LB~^bZOn*n`df{U{~q!MiC?o<|fA^d{C%sQWYpVjEZ4Z%E4iOzE*F zMz8@}UhH4e(XUjX&rybZ6%h1bE3>bo?YoCDmZZvXko4qXF*XM)JX?XhPEoLSJ5|{B z!y5L?|>30uBZ_Ylm!%0I^%{)v%P85mo!nd*3JZC=wh z+Z8@3!;uR3d8vYx|7F7Ti5UuSQb1B=;Fx4ve{5QtGsi$u+nyvn+Y(#8Cku1#Az#`P zVOy|`d(6$Ar-03y6>QskgsBVqClnC21#eJ5f4q#%{saMQ6W+^1u(x;gu=nrinf;lO zpZSrW?#K_=?9YnyU>i#>iuB}<*s(d4K0u$Jra+8Pez4_x07?mZu<5BAf*!nc5g)A> zL2qK^Sttd05hK`uZCgLioBj{!pEL{pFHx{E*M$-EU^|Y+P)br|#)dKzTY2^sMpE{> zOOL(9*gQkQw%tz{K@T?l43rY|VD$K@YR~vwNgixBUjf0-d4=r>zr!bON;xg2JjW`K7v(%nVW$FjDMtR# zHesA0FJfyG{O_nhUJDfv{DZBpE)h2SrI9|~kKkPu@DrbdM1xoxT3;ka$O~-k&p3^w z>ewg!GzDTSPrtC0b3hnjTd?VeQA*H*cT=F8FH}HMdC@1xEAA)QB375FjA@M3_#x)} zO}_UiAmn?GLbn1o-&8=*gAZ1~en%=RK@Y|rJ-_vngnqfenTqk_ua)K$`j5$mbnO39 zcvhkRiLm|$J>S%@e!iWIO~1YH4zih{urp31_yL=K_ec*m{WFEl&)$)KzsMepJ*opE zJs3)uu0M9(oQpz28BA=y(4R>rMz8@}AKL|`O`K`hTK25CM&XR&{ zh*v4F?VSn;_Tc>$&_ASLW%z)wmF;0+1bZ+s_KzwcaPT|@^gmZHKfe&RzWuvMj{)N( z_OmdS;0J8^&WrS5(?3s`B<#7rVfqCqCFsGXUmWSddn%oLpC9Q(gIK#w6SF`9K26Mq zV+|W(1RL=73iv-l0YMKo{V^yd=)tBx0i^`JiRCqw^QM)T7)kk=D?RDN2sU6FSGi|` zpacdMf7&`XuEfM(_`2pQ1lV0YMKoJ?)R62b=y#loIq{(;tUY zf*x%86H!XggH3-jN(p+f=}$)~K@T?lLX;BpVB6P=QA*H*P0w+Ppa+|NB}xf;u=(#n zDM4>yeFkp$LSfpCm~M|f`xiem6nYg9^kCC(Kq)~FHvMK{^D`)H$JEurNUA){i75jy zeVu&S7Qr5D{x3r*K@T?l7L*e7VAC__wDMdP>0cy_U=Ox(z8a+jy@|EeA}J^*vHADs zWz(nj3-w~ZSb5e)e$J2d7YLIN_UsFrKMx2asj{6SJ=+i?*nq7(XP}gz2b;c2*veB? zFFUR&Gm0SL z#OEqdo)0KIx4@rMY~!0hH(9>_DH{a;VAD^dkP`G@)Bktf|EC_5e}Cn*Pl34~g{10! zw)AX6j2Sk|6|9`+2qWmhrl*|{^kCCJ)$w6x`J((I3P`HV^cl)be5wNWRpS_G*jL%i zENqDFIGQbtPzJEwGh8NYZN(UCeS>iZNtKyxC<8Hq4R|{R%1@gk=)qQo^HEAtKKGU$ zpTtPYhI0cp#5U(25Js>E@2fx=I2T*Jt`oL>dXq4MJ=pZOqLiQqo4#r;YWA-cuw(N+ zl#*2W86PRXA1AGE_bJWF+%Ifp@O3o3A5SO){;SSA-GvRYN+lwc3Gc8k}h3kLdQ=OD%|>P3vOE!fVR zzQ5T#jW$HE2itf)f>MIs#PWKk6y!yWq-^F$j}7rN6sYea1q6Gr)tBP}K@T>)?*pdi zxVCm%D{N)12_vcU94|fPAx1jcn19;O#(^cmre7*-bIZ-t*z=)WK7e;~~9&i315EWr<$@}u8b*!=MR z%K_5ipWlT|e}sV5_gIt?{D4hAJJN$q@86d({ppcC*pBfvkv?RkKi2o?HntDwrn0~7;f*x%8YfwtigZEURJg-zh(3@EKXh5nn05$wT~lkLB&fS?Ck`F|*Ee*Qhu|A#Pw zJ=pAjg;IhZZ2I4!l%NM&zE#JL*>fD(*!WxuBf*b}wc9Ews0*=`dA0CN1=?j&0byG( zG5V_gxJO}gn_?uDFXIvU5?j8ECHpJjpZ<@qE%;~!^lwsNJM{M`9ISx;Q3dNKj6VoA zU@Om)C?)8@$0*<{_1p`3o^?U62U7<0eyp(lvM{m-V>?4(k+7A)ueHLq*qk423pV}5 zksi!G#Xf%KN;HV=)1_kMO>E~2&PTYSE|(~n|GF@O9&GwcQA*H*O+O-Renum`?_^(3J7}eb_(d*7-0|I zPXV9)9+d5Cj#I1S%Y?1W@z@SF{T;#x{=ueyqp>+Y!U#4dR`>Z*unn>0yFeHpguY1MFKp%Xa~snS%LXAYu<6Hz&HqHCXKsdI4}Q7= z`QE62q{=*3`e_Qp2sYrE3T%6U0)ig=JO%WxRY1^#ZT|C^u$ArO!pAFM|C31nQ{f{N z$TyxRfDe@p`}sJL;2*rJV)XpJjGzZwo17Er!RYaSt}rq7=Ly@szED{IgZ>2q=BF2B zp$D6OL!<|rezP!1_#YIo`RZ1b67(k4PZmf)nTYpMpkC)H>{Q^36mx8#|9b@lKj3Q= zf_>zlI-(<75$VB47W%hDdhqiL{V#+`!v8M?))x8|(^~qK!qW@=urO_i{bj;t|9E8o zSCRd{3M1HqIe*VkI9E>0&-nt(mC=7un6VQ4V_|I)w*9H_wS|6s`<8xE_&({e+fO^i z`r#5`tJhND1%=H^BAX9IHXjydjK$9r!U$ysGdHC?`)N>Z`WJ5c7ha}xw!JN~c|;f; zejXKOt_k0t9W6l*COh;837gO9k$z@m55|6m!cmbPZ2IGc&Cdyuer{wBHv3Z}J(#lK z|1@E)oxy7&8_^)vpP37>4e`zj*mo&d85Rj!UbGWJ-NB|`iBf_dZ09@XkO+E{|J(WQ zt%6WrVkA|z71Covj9>${@xhO))(+Iy+U*iy)7OO&{D4jG=gj8+a*QRZvdx#CvJqQe z3xsDBp-(ZwwqVO^6G{nsu<3_TO3;H%@8>Y4r)-w*6~cC&x{K;DZ>X)O3<5F8&0L)a;)Nq zn0YqkU#oCXfth=dj{ix8Llv;0{jEH25VkS=L&9eNu&~wli^2$gz^4BZN(p+f>A7Au z|GNu3M``4HBuWYPVA_rR=0$q2?Tcl?Hb%ww*}$|dK6%bT|ASBF45q&bWuXU~eto0| zn|`A(NtA7qz@CcnUo|)28iVr3*BapM71(xn1q7cawtvZ&Z7s&W7`Bu4_`u#`?Bjez zgP8w6maWkq)?OC>vE3T|s8fHlera(hduv~d|Jcq`YiDaOi~nD3x0yOzrzsF4w15X6btFboHnbx)#8$^y!br;g_iZ;j|6bg1ne@rNrwqgh`GReJbtXy)da&uAk5Ymj zZ2A$D67*oxzZj(iJ=pYbMkzrLHa+tw1U=aFpG7G_4>tX`P)g8)P5(QT67*ox^Ik22 z9=w-g+QHAS4w7z$!qUhdJXYxcEYgGNOZa(2m?ZpvOu&wp&!Ci`2V39!+ei;KKVK3i z3H!enV4vduJ18aSP3#zl8|MBM_QdArG~ojjs29hG-M4(5u-Uv`*vjVnzv=Il4MG{f z*54jNDM^(r9)HXRoy~7g61Fm&EX=V%IqAdfBQW<=jx6wtWEN(p)} z^`Z>dDJs4t6wqI-VCS-1g{_Q?1LTLzBMP?d$Aqo@9~VZ* z3vBvNqLiQqoBp%H=7({>^!{FomFJ&jgQV(9IW6RDrn2v*VnaE}ix^3j=Vq{=fDKT|n}PQ_1b zWBY}DLb+&v`r38{euiSoj-I&*k}5yvQ|yQlY{2Bjw(MIZwXNkrj9>$1AF(a-CMzfN zC@cSTVFdf>3YOQQ!U%e>>5o7uK@T=PeG)-$V&hM|@2m{ZmXVe15Mk4km(B6cjP&z` z@l9QpDj;yM9Y-rrO3;Jt7+Hf-f*x#R_=PAX=uNE5Q#p@ZuZ^ZD5bvr$*3;q(*KFDwdaGv2!6n(e?LkIda%v&A44fYZ({9yiWHQY7{LZ?{pxg-67*ox zFF+|t`NRgF#7N3!o%GlcBiMkgE`H8zdVjt%eH|wf{D4h=DM|@?u<1vHt<6Ux{iHC0 zJ$N?-_R;kU2znE1!=+MC7h=XY>|dZ@{rtbHY*v>ml@~(Uz^1=e*y?y)q`yfR!5(aN zd^Ji5dK0T-ZhW);K)n&R1)H9621)rmL3-Ma7{La-lLBpcl7f|=Igjz2FYXsc@MB{8Vx|<+6o}1!c43sVXCGi6?+dVv4@XAZf^BZOTG-lQgRu2&`k3io zB}|?(6ez#d%a3(72L7pRY~K60Fp?_s1=3SyVgwtom3gzUwHy1(^1VzL!5(b-Ehr`E z!KQzqu=%-4*vj@&VI)Yp9@&a2s(^d$2@Jt2# ze?`Ia{i?9}c~Tg`9&Gx5MJYiKHvRX6&CkC@`X31+*n`dfXDB7;!FwuDo}F+aL2qJx zbt>oaQ?=1F1!4q0;C&U)(+`Q!uTeNmfqbt}u<~ye#vc7EBR&1o%KzF(e}^#bjNf-C zAovGcU*)`M`93augaZD*uVDS;H^SzB+o&DD=-HmUgm5 zA;q>lQ^gP#nM1fxRYdyDcsIci52p=OKGZcn|XBGHO!U+Ds=Krn2R+sxC{R5Fb*zDgO>A^e7A9;Ns z(u1x4exa=+kRP$ZHN*4fTpg%V92|lRM^Xx83*sl;+ zu9))NDa^G8m}gTFY`~V+e+rX?{BL>5u8J7d~1#{5%-x-z|JuVSkWzD8~Rc zR|zjE@MFT}=i|bb?-RlZ`GWUSEO*;{C9?mj@Uhb2b7ys0^RtWa*24aVNPnX+b42X# z5=QV3UZoiQ_k_tB{SSoK75Xj}%=C+enNwmvB5e7N3fnyAM&W5n$Is2eGYk87M*0VZ zdkQ@Vj``VEcwV7Di33W4A29P#^8Kvva|--jVJqABg%2=MCmnv~%h2*#Ak16`{R<=gRl>Hv9uP)|z{L1} zU!(`)gYX4mtK;7Z+y0u#$w5o7YY-jzexBF#rXM&u$A+t!mFjjZV?B&1beWJ z73(8CSi3CPZxlBF1Hz1b@cScsaF=xC`)%PR1wLMbA%4)$VPKSyFL=IU{7eX2IVXh= zmk#^8gkM_V!*^}9$x*`Cuf8R@~Me@&zZo1Z%)J=pBu6zRdHf2**S|Gr57 zKx7X#|L>0UVDs~ku=)8wq<=WF2b-V2i1c9d^O&&t`FLdiL}U+UAJP7w7Pc|-Um_bN z1+jA$=QZq!5%vq%%ENv}(1Wc!XP}gz2djIBezHt4g5JdPS}p~75hK`urz^}*7*s&e zgDo%4MF@JZx>K;fMlq7g>k;Y6i`d%jW5S$|$m?$vkkqzwrDt1W+m`WZsRG-^`GV0A z?omMSd5?mX|9)WvJ=pZ`5GEh=?^4hyAozK|Vgx^~%I<@vDio(kmqgaU%SiM2WB zZt@^TumK;Tz_vFjAn3sdE1-Xy0)ifVx&r!dC|DW(McC$DzZ6EWH?cC%ZzzNBOUFuw z&kYI)+ky{JK!1aR<;D1+p*Z+?g<=GIFk=q(vq%i7lb?oj3HIO} z6;D&(*=b_*tfxVYpJzw*V6#6^*!*+tY5sZU2Vr}#?MLQv2zoHv;(xX9xmxnax3wqVOEE^}ehEZc)pP&Q)gGoKXZyh%HJN5S&iK?SzC$68_b z9X1yTPcQJ5!e-BV1m@?1k^b|-`xf@!64w7v-){@pb;PeD{cnV=j@we$!X9k;9V0#1 z^iLNy|GNs?v377|-|*PlU$g_s#J25$!bd2~P*|*hu#do&*V)2mzdX{jj}Yv^wqNL1 zNNQhiFFj=-CXlb$Su9m^KgNAyr^5a;3?wQ0qov0`v6cB4VcRbYh0PD=BeOY6_(TQD zbF~73f3UT~^(ZCi!FwoRf13i5Di3{Tnga3u3fRw6KvMSXN9>9BRKWf)1v`E@rVcLj zw7Hdkjqt7tYK*tj<$yltT$Rcv|1`$*~_HZH~WvOYPhut}9|h0@5I z7{LZids4RZ6>MKnP6QjU^^H_H@mW<)_9-^R2tL8qSEmajsWQjMQO@R2CE%af+Hj`u zNea{}K2E{tuxH+akT00_B<(&08)qICMz8@}`+O3mBvoe4U-&1s@?0T2T><~ES3uYn zY;AitN(p+f>F-4;K@T?l+fho;gH8V~loIq{)4va;1U=a5@|P$j=uNDT<@O!>g}M~e z>g2Z5l|D^@7{UK^1uM@?VFW#xyzqIv0+K2Z`QnopN!g&ohM0g)j$_N0eT$^FwQE3P zBxS>~hJRutWiyp>PQ@l3CoL~@Ru{%vBvl5+f67U0{SZ6yrA;{Qk<_*aNYA#!2sU8L zm+g_%wv4N6ON?Lxwryjdq$Aefo=TaY%C_6Z+tBJx zyV*P$KX%@+>rK*6Q9$qsw*7TFN=Yg&`ZsM(j9>${a_)yxlG=8i^lVFvU<0-?Uw~4A z9&GxWu=T4;g!fXQ{9_78Dz7u7CohY!nXf>fW?Nr|y$k(-Vg!4z>90m9K@T?lZ73z^ z!FJxi52XY>n0-XPk18PO!KW&q|FweE@i)SDUfvm{1beWx3D->sda&uADNGXjy#;LS zorzL{-o%cD*-}hXAV#nOKTCnKEmJ_ygO@6x_jR|t?o}FsJ@`Nc>_4V}p#PYHmHBaD z1U=aF@wpFd`p*hm9X}^*`93L(;K#)3h;EvKr4bXX&&OjF*z|EfmpX{~%$>6sgQzb7 zu{^=HZMQJxAx5wPTOH3rDM1gmI$nrUlJa?}^!Ox3umPJ-Kc_PNB*qf#!KS|wr35|L z^w$bo`(Gzap49bv1siALz9DrGt2^^`wu$HMU^{l`W9FZ_oB!p)D;3D=4GIWl16yBx zA4&;&ux9s{+j}V4cO}SBa{;KVAKB$r35|L^!}JN{k9Zdf<1Uo#pJtJq!$fh zZNfZ&vJxX~YhpHx=hzTi`_NDA_#zL4ZNb)unQtN~pNvcRBu20Se@X!#-&R1-gRPF= zM=3!MHvNxLO3;H%|8rq0^DiR(e+nbmgUx9lhx^MH!h!OmQ%|GW8BvsDo(z7kG-G@0-*vdIy*xIUF7{L$N&QohpN>cvmpZF)H zf71?r?y+N`Ctn0VU>i?3?va%Ly`;xKF@g=)>b@^Z33{;U=_3ewu<0o$lFI8)>B)=O z%66i#wbdM9Ypb}9QU|ep%2muGB0bphT^H$t zL;bOR_f+Qp^mAMjBa{0U8d$8HR38e%*cn<~qKd6AD>e40sGzDVIYmqQxCEHSd zgl)mQE1vcejhTD zpa)yO+Aq?BO@Bb74;$)_^*8#@GzDVJ@OexTlh+&t1U=Z=X8}qHda#WT7oe1&2V1+< zgw6jYk>2l9>sJ%9LGWW@WoAE8=J+@QTYc$A2-|{9AD=r&N6aV38a|1woSd(1yggVL zNtFk^`S~NJ1sd|lHu+!P4#$me9h&G}zs+&u6Jw2dlcBNtVDE8*0~7VJ-ofLR_Kt7r z8Q3^nAKT`*Qo`jUgByB!me;z^U0vH)pQsJ>Z`0g}wA#3oBcl@oBg5lv(-kAb6PtP_ zyvLD&{@KF=a#P9&-^0B_^@UrPkMy~;HTCg{k+FJDeSBQmxWo+ugM$kvH*9d~HTCtA z1B3mGCkF>t%I$)FpP^N3tlryS8yHqI4EGK?C(DKhCd_Wlc&|%cQlD5d67RU~H^+Yhq8G zt-)$(?{L5N=;pe{)RD=tzItxg<0xh9cmKNade`7UeR!g0Qb$V8TUUKdJz%(ZV|@(A znOa6xE9;l%J8s#ov$J)>gCo8DT?=xhvq80SY^~qQc_`x*(}DH@&YGVgK?B)}f#GxO zV~LZM*-gbp2TeyOX@doW^vbQt^SQisEpU|!x`kUgPr4MHHruRMkBz9?jBCe_b#3Y$ z$o0g;X~1evD`|AB*uf10SC}GWPWElnlp-w@C~45lyVVobcmo@@R$BLMs_TqAIySJS zccNa~T;J-7WL`NZ*7{Q?T(g)Quh;sN_rQjMKKaV{aaOejJu7ErOnbU}dX}wP*_f2| zj_dqfQNF=}^<%wbTRU}K&OV(_FjKPHGW*0@UlnW7DWSMqY>+S2SkLC(AT;Dh{F_7;qU4!-B;mJ|wT1Rs+ z9c>KE*<_bsJ$0ix!FY0ts8K6D(X~zK8R<>UBDkOdmo0MHYpAJq-Z&QfM}{=!gi8hI zz_OqaqvM;c_x1G-4zBNQo6&mfVrO-*X5``+#s5IR&UynATWgw#=l0<5V~cOjQ#G}Y z#--Z&)Hr9wj!uEg!?~?;81t_C7`KZIY8ytzhI(@qunI>*SBHWXEws8ZW@<`4HTyV& zr&hdp>r5A6x5OD%HZ{gmtxegsBKOE)#TbvfH9ZTaZX8!CZinif?3*LrGE;|QN~IIp zxOQ=FVny%iH2Lc7@2}|)RoFP9i>*yVIcKXz>%+{r+c&5Uk7#7~cL3~AVLWIIvzlXv z!PL)T!?3k!a-x6a^4x5OnqZc`(_vYe6}v&1>7GTV`M5OLP<>!vGG1Fhkh{chxELSz z_bjX|jqS&EEnm+a+)QQ{Zq=-P?TB__rl{1KI|8~msdX3~CpIzf)WBHbYCxBg)gv<3 zI-G;TWl_dc;~W)E#ACXm85yduD`p{P=XQR*H&byXFcMcx;#Vx1o4VOyJAmYMqy72Q zHwKFb+V47n0o zTOY5@ntgJuZ@s^@+Gcgi>?v5WH>Ti=9NTXHCUfj)6>{uoMIGyXy4zjd5~^coD{`#1 zVi0QHGRO{k?4$Z{Uu{@-qALp474E%OTr}gSVbswJ7lO6H`tZhyO%=A?!+m30M|DHB z?RIUviz2J+7J<=dW76n0Z%WH#E}kXEkOKTBWhy5>|1q zDtv7i?A@4~?%{0p+1=-dF3@4m76WBp@_IPVw=nGBu97=W~y+gR67H#{-s3I~p}I%$jMwT`SjjvTBOgD&3SakL#Q* zg8drXFzz@GgqxDVD&G_6z?ojjY<#RfG_s{`S5L`vD~F!{q1O()@u^)}6*rD_`M`a; ziTV|}%a(At*0@2{*|>Byp`Xo$>orZu{ZF}8)NmiSVsr@UD;KQju8j=Wah7Sd#{J;g z1DWLh*#k99GRa}KN@E)Er}IecP>ZtDA0F1^dy-@!YhaX)@w( zDz-Tp8Lj&5(;Rhb%5c9czG+c;Cx$yEwN(qx>h4yPpJ&UUTyu>+RC>3<0X5n2F5jGn4)cHC*57sZ%>0$*aY+5 zNj-+5O}6URP<3Ij9-j=)094tAgQ92cnq@1O@atcu>0_&kBO*5AN`8tSb?V6ETXe|& z`gq^iKzN)fW2oBB>hL2+|Mc4tI8(<&<*AWv9wSy(QB!;hwM z8Hc<7Q?b*o?tGu0v0cOPSZ}TIa|uUjuHCzPxCO-BmI{mh#toDT3;JN;r{cH%1UneW(X2rB?*#+H;!oIHPJmFEn@p?UX+cKo5f8e$=VK7u*b_f4*FOw( z;)%#A1Jx^^tj8@giPpj@UAVC8Py?O(UFjkRx)W5HsDmgsL00zKx;8YKyKyRmExm)2 zb*{$pndqu0x%;C+29tq_Tt`wq1LM`1^bJ+iV*T*!_1Ood%SXm4s>zwA+Ct5&K`)=j zpq`oDP*J_H4(SZ})g_QcK6~wg(XoM{dj39)b~PQoIuF${e_bUH%oWsD`EroOz%ZA1 zxr0W}98?|hB)5-RwyR6i2c7K~uFMn#H;Mbr=BIfBcq%sPwz-3sY(^*74-RxXg*7v* zK34~S#S?+m=j^7#YO~m3=d3r@^^%6>$>B$y?DaK1W6R22uyHuwC2=&a+fW$?RFPYo zRktB=(U_c8I5{_5>vVEc?8naSxuib4AbTu^`}G_q6*sk)4)yl&W=BPl`7uEjHQuSn z-gTpa?B@xLvwO@LCh~2+_q?Iv>49b?E5_YmQ`HFkut9ph*uh2Rz3O05wPS-p=ihD^ z|NFz;Z2i1n`EzUd{YEF0Sv)+IXvpvsk$w`_kJGh*+ynl_{^&6H6t@iqwp9P#x@vXz zN^-5337W}}o{njI1Iot4)!i#<;dKH%e>zltG%Qok?yed?qH%iF$*03(%!Tn329DTm zV{F}=eS%1~t5@l=Q@29(q-4d(ONL96#ma{!`zWfBm3j zsi{c*m~Om^RMYK|Y^#Ttm1_BWwaTo~DESj<(}a@uZqUK5rxr(4Fdg-}n5ivUoSSks zx6DtSn(pdS4U58eYE+fJ>U>@ttsPq;j1=n@>cGuq*f{K~OBK9ys$6LF@XJoc(AP4` zADAth{9sLQWd}3B6_b)>D;KZIR1#|)#GCZEZuTtK%C&pt+BKD9yf>XnRT@qk_xu?@ zJN)7m+A-X79iAA=4TY_8G%ayGk$sdvKPJ~Smz+Ja{?h!x6B%Wi6AQVRozJN1>7bXE+__TdQCwywA`D#n02;T z(Y<1o4!I657Z+Al?-z%kB31atMT4HMsJi2V@sQpP=BK*aXm9q{L+pk-lnt8>CKbu8 zQJS)3dOU*|K0uJI+8zHV_%2XVzU#=^p4Z9$hHyo~nl!ctDVaBWiw;yFPaz}UpX?-(>F1? zqVcZ62pO^h)~w^^#2ee7&ovXrVDlZS;Ci&TKVAwc=)&=`y18&r(BXw!^W06+OE*QK z%{OQ2w$oH|yKrB&{H#exb4zCh9rxkQYj;=chCoOxFRC@xsBu{t?5HLWT*k|671pVw zu#IIZgXOvhxjcTcC>S(G5gx+PqcGMbLrQYxu8`uE?JBG@Yj%ZHD@HhqOqT#{SJE2K6aK#f-M3fj^VUJbj{`duN#N^bp(hx4MvyV`6T zx5eVZhi+b4lOb%BT(c{r*n=I5b-SB`F?MFf36HkWEODX^!|YOB!Ltn7*Xgp9^deoY zRP|bW$0g3xO2j;&eR;01dBP-~L6>Y8nxpAXDXle=DXDYjx&zx-86s6&4gZZPYjee} zl24KwQ{{YmI)y{A(e2{XO3Ar1X^rn0tI}9&jfoS#zE^m?qs>XWoc$VV-FSy8jB1)w z*#K_Yg*5VPq_yX?M15=Jl2lVGC0=E$R6cfhRr-qVwM$nm@+QgLQ>&Df@**F08nXcCB zl)kjyYcsu4k)l=FO8RJtwvxVB>Y;rvZ&d$_mlh~(#Q?~Nj6=2V7FM4F0~(`WGd0YWM%y0WjVK2 zHZtnq#xIsq@?_J8#+jkC#zC9iKsc?J)aAR5r6gK}vz6{LOpfZ&g7I;!)R#PCOwFno z3)+^!D`nak0`=Taw8TcqK>MhiT1-^!bkdey+FI_*TZh!t(s&_(4q?xVv=pU9@fr^L zTPxxPMP@m?kY*+IlPuHIPMVNpPToao++|Wr;KilrVqvF+@xoE1azuT)d$@P~V7+V2 z^4NW|T&+I4XkdJ5hH7lTnqGC@tGaqtPc8E)ST?GIVb4VGsBX>J{r6lMih7l|C>e7z z-%W1VBMo)?_|>=w(#5uW#-`*mTo*SUVoFs#{Yy{DgENU&2rStZhv3?wQT;NyXlZwT z9@5byv(R8EyYy;=<%gn58&Ez5lP#g!q#C0-RfjjdxodsbgspGe<{z5{U3xaXloIYC z#^=!FK$loCvE;?dZ*ML4^{NB#^lti0QPj4>q@F65OiEccr_Yn)EXFiEG91=yaMf#0 zz^kmbXqA_EamGaZx2>s|9;H&NH^!xIrB5Y~gpIw?S|qu1KzT*SIAhzcSk5s{QteY~ zGnP%VD?L`4r7BQbhf_AhYZ$c~CyVmBd8IN&6C57k=~_@R7jjPHMGwo%C6;q2 zYS^cfPqCJ7Re1{Q)*av}7{{)kLaE|SQ~QeMkF(MbbFFoiOLfL_N;N1O<}!_3@#90z ztn_njcAn#F5!bq6H&$(yDo}d8%Tg=RODnJ6cqS>i(q+lb6qdOx**8Xp@y1QJ#w;Xy zW<6m#QM+t%fbp}uEKA9fv97aKBWsO{jj4ow5sE%bQ1Zt;6|5OUymiUYT=v&D^iB@i z^iU6@Ol(S?v2eJ#zO`-fs*=;fDCvNjmRARDKb`6(FxS)ixp{a%uX+@}V;yH_8!Pj~ z&}eOJT<-&y*S9Pch3u*t-Wn^+orudeWTZk#dx7Ns9Ou0 zmK<0^R9l5>pwbVq{DeBDhr^1gTKf)2Y?8f&m$TLT(4)=u@JhvYTd<3Y6HRj|!IC{U z0b7f=wk5HB^Y0Jq|gZ~JgWlf zZa~dBn0St(@gr`V@5aJ7ZR#-hObx8oXY7C)ncXUv1*LAw z;`cJHEDyKl;+1quh2`a97T3#;KbhrqOHTaSx}`*RX#2vtB@=E6(+Jt)hQwmJXiMd` zABY$g<9F7mwW4lZfcE8d<5ayOS6WNAEv@v1SzBuS?m#J#C2(^$-$={5CAG?JY2{p> zr&~6+J-Ny=3y)TmndHi1W03W4_mG<}(zU+%Q7R>NdTlXUB)2WOwL)%NQnWm7DlI(j z+?G(hC0UhaVZzBcb?g>}W^l;-%o|yhANH`5D+cYW<+hbIn3R^vO`5PPTI=K{O~SIg z&F6U1CS+7?5;CebDX)#2&8W5HZPJ8{Don!o5SCAk-_dmUJZR&zVOy4Z9Xeh(w=KPR z(}6u+)hQyg@_VN34*fE`?G~+tX*KbzxWh>`ql_7&r?5fDzv$eFcI%4M+shVG+q20! zYBz23SuB#08QKF(jD_zAl6|SQ8tiIZcS~YEG%LNx6eY0C~-2kJV?Z;$>oy2cVHu~F5fX3OOR6@Kk#Y`lzRYekc+Kqznq;W4V$);*y*%!Y< zwJ$|oDiMBDmL;QxOWn&2)8p`qa^qfZ$*OcIAC|OE>{z|rp1;;__mJI*l!V7M}v~NiO=HbDiI!JqK(XrRK-k_LsuiPO4Kh(>=0v zJbqlccaw|Lr^}dFnZDgH?B1|Eg@&!k=40D(zGu~It}!&Upb`mPUV?MmL%^3me^r6iu@)eQX`-eKI+={fUxgOcxHTYT1l>V>ZwWG$k`%w(JXLPFMIw8lWY zP3waMgCirGo2ws}3~jBB)c&{Yn%q+Wq_=%Oq2%3tJ0X>}dSUoxLMs2zw(eOBULojU z8+w^$%^l2g167o3W{8R`=z^&u%bD0Ud-0@DsU0FyhHkA0Rh$$$l%E+#?(SLS6SL0s zz^c(8xw2u=yy24RywNe^4*yUfz0VQu9k7;#-N$Or&aAj#uC{7qH-%i<>oP)Cpg9sk)~7+*N0HFKVnl(4L!Bt}t`0JotePTeX#OVA#Q$AXFW#IT#oj_DAT%$b>!} z+2^s)_TYEDpn~+9fRR{&@jEJk7;?YQZjYXOXPTH+|5=uZ5uG6 zZ1P6!o(B4Tz1khMY}~zQtruf6sYFU+Xk(?pP@8Z_r~oI_Cf4gwy@8GTzI~juVEK|& z;fbshVl5>OTiVi7Enf`{qx%U=b9*&aZELpT?K53M6^R40C*oU3g*LQ)aTxN@YX7FF z?**sL{X>DGmmZ4wWLqN^d$jRrM7ZJBDtKe`2=g*cA$unhoy&SeWBX!E4jvc;!lsm{ z@jW1A-rnsfXK`-S`x$z2*tJe$)X|-Fd*PqP0~;z8k!BW+V^@1a&@Q@Cjz zOl?#7uya&eyN5Of(@o(E2IgCX5c;f3IIYVjLQHeDSebIzmL zm`v&jA4_~lDUqEY8^Z9?-XCyGpRjv~onOzxdTKxTOwFno!bV1WFVhEVM#nbjjK_~M zc3IRI7~4zE=bMV3##0@g`Q;09Gck=aVQ6Y^4yD9{j@`Oy z9@I2d7zx`h#qB`FLe~Il3RjPkkK)(cHX|+(qf<(1$8sgu!Nl$mQ__l`O}$wvH#>XT zg;G~?{?)j-5x(J7+IK%rm~R99KA-A-a;g-a6_QKA6sfIm8+fnbSdKo| z<R7zASqmPC8r1sB=c?(ss{4FtWz-ZX|keE*`eMQVCwiZbADbaUqd=mLZ zAIw{)KvGh4HpIG{qm`^NyNX#cP->E39k~4>dnq4Qt`1@hrH3v(ZCQ{IG#s<>dU}ob=>E2556|pwI`lwe} zYgE_f;y4yl;iHCYrUrv-ecQhZ z*6!WzE4QB`gYWDf3#rT~hSR^M&vHG5U{*3OKI@{rpu1lFLt|OXu#Q=> z$*R7FmUUO$R^w$E-%VQnI^|g&M^kw*i|HL7o)v!X>QwqpZPE6{HJ@X{pntOY-CA$Z z_!L`aQmXwDf2u9L?Nln%@WQ2Y>SJzcza0N<-+jxQ_QxN6bNA+(^}uJzFz+w^G@P?) zeDzJ2^Xc8^KMLozZu=r!I-R0cehx0ZS>}34El_-xEZY+r>A7RRI7G9_HWKFy!Z1w- zNY6nmIn|=}^LX25-^wjuB_NaXH{Z&3{)2Cs)G77UqD^%o8_Q0An@z8oefxLbT<(dF zyk#shGwQ|%)XJZCOL*|#b}O0C;Qm8wB?Hb$@yit1^E|h_rs%11irD@!w^DgpryIU$ zllX{R#+s8;C+p@Mq3V_8(0!XL+`jz1xRMRcr0MBu|E;m4k^3lH$%Z-Za{rmQ zl11~LpU$(H`@xA1#FbpoJt%EeLCmJIMp0=~$9=QqG!(`kg)0@N7?-Lm9Y&D&GcOe` zQY8u7S5}3qcHW=RiwWT!3f9O^KVZWwtw*=&!n)DA9!an5Ry{bYaSJfw<-pXQ8y)p}utFp+ahtV%Q z2ArFxv@9|w*p@+N(#*+7BUa`cjir$%JQLzR&{#5PW!Cm}#!9=6WzTGYV$H8OwpFV13CFfnzCzjj(oS=QGV?m9+i-20s0lKgG;hO{w&AL7 zOXJbq>Ls~C2n_!Swg}G#;pBHM)b?Qnf zJZZxB5TfsZ74KH&cXm82D>dBrOBma%qY`~}WZwXo@s-2Uy& zHV=spZ?@UcLR>|RvMf(qs-9=4Y$Wzfa}l}hEk0_K`e0{UcI*!gK6nj7&{$m$r8GbK z)@DA8QSzQ6Ifm5S4#I$~bLqLX)8R;`fRJFc2V+Sve-!~ zlh6p+PjrwU^nOvbKjT(@vY!&UJxsJmnHO)HwXL45NDO#N=4=7cl#F zXJ%Gr$?#Y*%(9Qohohbx zb)wJB1!9}VTYIJ65|Y{N&ACE*#}77P;@0?qEmg6i&S8R6^_*FwX~OJ;r;O`;{iRPg z+Asa)&XzXGFRzXzO)!?}x0Zf+MS9``s-;H4$H1`ur5RD>j*H`-fsnW>GKf>rGWI%oWO?ku5n0>FICCw%dg{2ghdqP2kqt1iQ+&itR0^ z#&4$nbF`)02WIy*-f$>?ptxicnxgc*+V*71q^sJ>rC6{T*X`2igSN%Z4n5KqzI}S= ztdr-Ra#GRSMVgve*Ocq)gCw4$@fo|OQLD^-gCpv9T3CtK z&&`L5%K^g+^M}rwd&)^VT*85Bih1+O2D6Ie$*X&U_H*XZrCQ$S z%srvB@tirQ6wWnqQMoCBbhAs_%sF{ZHiHxA&ZTzIam(b2@uP9mP1BhTdd-d!FtJ%O zII_NXFnnnh)y5W$T@2|i&3etx8(ZlM+ZuVey$|mSYp`_j-cUnf@7WAZYG`e!dKweC z$cUfqcwdA?guA;IHq1;pORF5WD`%hFu4MDBwQJfpZ&zybHf7j+q1NA{B603rZAvyr z88=JueXeHHg!MvdQN3y5HT4Z$jdeuS^M`atbDQJzT>kKQuiBqI5gh8H=Y!2zrijL? z(QP`&cH8`ByVzvAZGP+c?;PKD`?CEs$G3BQ2gi4Ed}qg>?)a{b@9y|B9N)|Fy&d1z z@n<`}zvIt!{6NR2J3hnlLmfZN@gp2R%JE|yKhE(J9G~s@9LMK5ezN1II)0ktXE;9J z@r8~ra(uDlOC3MU@#T)MbbPhrYaCze__>as=lBJVzrgW}9lyl!^^W&DUUz(h~^V_^9J!j!!tg#qlc~ztZum9KXi#>m0w{@f#h#+3{N(zt!=VIsOXAU*-6# z9e<7EcR2of$KT-iU5>xW@p~M<*YW!tf1Bff;`lopf0yI$cKp4Lzu)l>IR2-Of7tPd z9sh{qA9ef@#~*e4F~=Ww{1c8p;rOQ<|BU0Gb^P;=f5GuDI{qcczwG!|9RHf*Uw8aT z$G_qDHy!_$REvmM{x@#i{zfa3=_ez4<*I6l+y!yP}; z@uM9-#_{7EKf&?Yj?Zy?p5rGweyZcAIev!Y^BrH{c$eedjxTY1nd4_WzQXZUj-TUr zkK^kcf4<}AJAR?#7dc*Yyw~wQ$Lo%7bbP?^&5jQ_KH~Ugj*mM&>G&4MuWn zIQ~}0?|1y|jz8e|I~{+}@%K3XUdP|(_(P6=(D4sB{;=a8as1C6{|m=I=J;Pa{&C0u z%JIK;{F9D<+VQ_}{Bw@~t>gd4@xOEY?;ZaK$G__MKRW(Tj{mdc|Kj++I{t0Pzw7wF zIsOC3f9Uv+9RG>q|Ka%09si}{zjpjT9six<+wNGNk8J1o4vz2S_|A?$-SOQV-^1}e z9e<|d`#AnA$MyB@9e8BO|jt@CL;`n8bk2^l;_~njob^L{nU+ws{j=#w98yvsU@tYlgvE#Qm{u0M; zb^N7{zufUxI)0nuw>$nC$6xFC9ge@=@i#dBM#t}R{BFnJ?D$(8f2-s7JN|aZA8`Dg zjz8%5dmMkC;}1FhLB~Jj_`{BW#PN?h{)pp`I{ujBk30Se$DeTgQ;vVe@y|N`dB?xt z_!k}jlH*@?{2v_us^kCY_&+)Rq~qUk{F{z{%kl3x{yoRP@AwZK|98iK?D$U||C!^z zaQs(}|Hkp(I=;iF)CKg0389N*jVeI0+cGR= z?D#E?-|G0w9Djx5uXOx2$8UH1wT|E6`0E_M)A2Vr{zk{|a{O+`-{kn49lyu%w>W;U z<8O8RKF9BO{B4fE-SIzh`~k<`;rKfpf0yI$cKkh#zt{2iIsSgfA9DNyj(^bcKXv>= zj(^zkhaLYj$N${%zi|9xj{l|OA9wt(9RF*_Kk4|V9se80Kj--0I{pR6|BvHebo@(> zf7$V`IQ~_~zvlQqI{tOXpLF~ij(^kfZ#n)Q$G_|N_Z$A94XzdQb8$A9Yh&m8}S zIlhbIyE?wRFUR+Gd|$_(?fCwVKiBaC z9iQ&_495>~e5T`vJAS0&M>~G3NM$4_?rRL4(q{0ztEJHF8IMUF3a ze5vEh96#If6^^fR{2a&EIKI~La~(g=@e3S(f#VlDeu?Aj9q)I1gX5bVztr(T$A=vs zb$rb63CFiMeud*#I)0Vo*EoKiiGSRzuoZ%9Dk?d4?6yC$KUJt`y7AB@eexwr;dNv@jr9? zBaVO6@kbng)bYn0f86m;IR1p=pK|;&j(^ti&pZAF$G_iF)CKg0389N*jVeI0+c&-h5>KhN>= z9lyZw3mt!f;}iA~I2OS@Be8lll z$1ihy%<*x@Cmp}s@hcqP>i7#Czsm8e9lyr$YaPGN@fSIMz2i4Hexu_zIexR_FLwME z$8UA~rH*eKpDwo9PXA)rZky8Mph_)0o*`bk92PIR7vD8@C%(Jm&v1M%$M<%8U&o*A z`2LPR*YN`#pYHe!#}9S-Qr z@gc`Y9KX!*amObezufVyj=#|Hs~x}A@fSIMgX1?j{$j^p;`mD)f4SqYbo@5QZ+HB) zj=#?FI~{+c<99p$X2;*+_*)&n-|@FQ{($4}bo@cb-{biE9Dm614?6xK#~*h5BaVO6 z@kbng)bYn0f86m;IR1p=pK|;&j(^ti&pZAF$G_NXL(M{8-12cYK!P zCptdY@sk`s#qsAke!AmlI=;a1F2}naU*h;O$Io_rh2yInKgaPN$JaUje8i7#CzuNI@9e-g&&ztizII)1m~Z+84Gj=$CM`yGF~;}1CgPRAc~{5_7p z&+&&G|DfX^a{OV(KjQdD9e>2}M;(96@y8wigyT;*{{OM}=J9n^Rr~k}+_5cCE@cJ@ zP@qVKj!?8fhlI8?Z9|hnnY>Mt+a{1EAwvfSsf?AeAR@{|1RLa5BMJg{-=OH6YysP{(Qh+4EW0de>ps2K>E% ze-Q8w1O9Qq|0m!z8zk2U8wNZb@NB^I0UsXljRL+&z&8!}W&z(k;9CZK>ws??@a+S> zL%??o_|5^}CE&XSeD{Fw5%A9ie6N6y5BS7@PY(D#0pB;^UkLbq0Y4z%(*r&;;PnBY z74SI$pBwOb0bdaCg9F|a@I?VXG~kB?{D^=b74TxfTLRu1@KV5+2fQQT#{_&uz`Fx} zY{2^hJ`nI#0bdjF;{$$Tz)uSJmjixEz)uVK83F%Fz|RW!IRQT};O7VYs{#L7z`q{w zZv_03fL|8yD*}F1z^@7Tbpii&z;6injRC(o;NJ`Q_XB=wz;6%u9Ra^9;CBc7-hlr& z;6DlY&jS8Hz#j_uBLROj;ExCVmjQnw;J*p@lL3D!;C~4Cp920&z@H8H^8tS`;4cUK zm4Lq%@HYbfX2Aaz@V^KA?SQ`<@b?1#LBKx@_{RbNpMckF7@YqDo(_06;Q4?L5BNp_ z-z4Ch27I%CZyxY11HN^@w+;CA0pB6uI|h8`fbSCU-2%RQ!1oCF=K{W0z{dxCV!$T{ ze4l{t8}Kg#e7}Gn5b)^%pBeD_fX@o}oPf^__`HBG2>8JPZwmOLfFBz0!vcOpz>f-e zG2kr$Zw+`U;L8Kv5%6OIz9Qh=0Y5h2eE}Z`_^N=f3Hb2=KQZ7Z1^mkaKPBL&1^kSF ze>ne1pLN;-yHDo z1^oK~zct{u2mFqJ-xct?1AcG7e;n|i1pH?Ke<0uw1^khKKN|4I1OCf^KN0ZX1pLW> zKNavl1pH3{e^#e+&5E1O9fv-wpVC0skQ2{|fkr z0Y5u&gMY*5oPeJj@b!ref86aK?iLK-{*FKR)Z7hZ6kiK>s@d_jlx=|6q{r?@%HA)gb+YfcrZx(BH`Iz<_Ta@a+S>YrsDr@Yw-B zBH$h5coL%!9h5pQNI#u?o~AdXE(p@U8Styg@#ID!nxBeyIJZ~cn2L88H&?ze74PU7 zZ%)0={OAXT=#W&rgM}v>3en=!rf!9b_|yh`BKdgLKRh)*Nbe>`yB4A&Q~rt;_Tnql zxtjjP)VG5C{t5{C@f8oAgegQzQoo}h}u%|irjc9wFyTc238?j zmii2NT6ueFQi30ynon-|k4YUvjweeBQD^E@@+Re7sc(`Cjo@#5hT2!tds6X?jweqF zQEw`qA@QV1A?i=XGm53JOl^XK<>-*VLbN)yJvn5szbm=*r{hu+$@f$J6H@UP)HhZB zrPRSpw|K2h#a{^DLeo!99nW;wE<~rM&Lf|%{Pa}(MQY>gQa3Q&+T+aB9po0Dvs3XG zmGR_GA-W(Hf05YyxiA%f0oeFOsT>+Yj?wa0h%Qd;NDdi%ioXzR<$p63e^GTa)xR|L zMe2`JetF7&K@|DpFMi_5rb2XO>JsW>UMxgcr+yTa_XN4c=i1bpK~-~ zKS;%2bm~%mTj~X-pQ-$Zskg~djY4#1YQwAmIjnwnrFJ5>`rVz{kKE#OZz}#`%1)A} z5dAn6e_^Cv`A<^u7dcK>{y@rq0R#T~FH(T}FFb(zFDQV=Uo<#Xa3Ojq<-a(9^!SSb z$7uQ^srZWkc=DwXJ(`N&&_6)ti9+;v>P^;1k~RJx2R!Q@!GnGOhB^55LHg$c?%%kE zzJFsH{GdR;Dd0ztABVD|CsO{6VB}xL^sj6BZ&LmZS)|8ruv-6kGW9L$_Hf1?k4L|*>K1ALo+?;ddfh8Ohx8(HA~4JvT|#uK=IBM98Tfdl>> zmba1MLiDFp{Dy|jFVCdnHyH4wN+EhSmBv8jf&B3k^OpblRQv?F<$p2NOnpm#Idxou zzmmF&9MfPSdM)+c1b;pCWAY0${f*Qg$l(IYe>vdqlTTLtH&Y|H;IsMfZ>iDbHsAj} zH9f)KP8~&V=aY9+1LOy*z4uZVlAFIDq<%zh_WzZ7f_#zcf0TNO9Mec4`giIBa{S2J zGrbW`1ajcCT!=PEk0H19$%g6u$ZIt{onAtYb!8#SrcWRjs_{6Jd`C^sr>`bAe}|`k zN^a$iNWYLs-zfbray$QSoZbQr#{==+g?wAVg=l2@^W-*u3h9OfAC)eVFVOj9i}V0F zOv2vD0Y5L`R|Nc~fZr4FUkCivfPWD1%*OD<*7b#GoAkEi7O(Bn6Uh${okFyIdI7oB zcZYO4`ITC~9n-7GVH5ScAmCRA{LX;?BH%9v`~!0HXP5NwO;A!4*?8M6y#x7$A}d6@ zr}rX<4*Z!;ZtcHEdNH}JZ^x!P6MWC~spL(v?k&h_;%nrwy{pJuHGM+*CURR(PfFiM z-Yppl(cbAt$#I=kh^C~UCC8JIh3NC?x5>}bcur0KoBT9Q-#@(-Dj|oRkEf-_k)zud zqUq^o^4ZE~ru!4=_34Wf>9f*zl3V@fq<=?l?K?O9H*%X#=A}19pye?83(|X$e@!GQhoG3l+aP?V!X{tD5G^f+=`-*l%B zB)9qM*mO&R_odGwxA8QPzL6YZEkrBRKPN}AvR+TWOm6e#ap@Eskpt6uK~|%?k(<3Q zr5ngC9w()jkxx+jKOLaHGGP4kUKfPyy-C4FP(EN9$ZzG3Q^tp!v{v^4Te|P#7a&*H&bWb{kj?F{+EV<2Z|CJt1ZvNhv zo=QGN@)V+jw*+(7k-uAf*dmVyA!#MuV1Gp2I>2gTlv3D9~`8Ak=*S6F5MHPpFnQ$ z{(bt~1pj0D>I8o}eLK08_viE@k;l=~?-I2UYa3Ojr zy+8SZ%KtmPkQ~FT5WSjSn&7Xe`x5*w>C?$=y!=C%ZH$^4xBN=qb{nV*u!<^78M zvub}$=FJ2@J~Lt`Xv)5e{1u`TGo#6^ekWxPAm6YC>0iz?kRuQ3a~Sysn*Wr{vE-Kj z)XbTI{^jJ>UZ-b%K)!+IKO^(A1YehVI>En^c`L!s%#1)smE%_VD@12ywjqZM{_RZu zQ%yf7Gbu>lpWOP_d6_Sg+kAL_rjOkG{c2`if?t@qjC=#N|Fz70oSj%3)T2MOK$V&w=-{%zm-!-jt@7_@ z`pE5kaBF5AIoE@kE68pBx+8Ntd9UWbEAw;mxytX({F!{R@_REMB>0arn_!}q<1qOv zL_f)lA#YXwv&??v`zn7Ra|F5h_fTdP`M)&%k<6v!pI829=63Q!l|P>O9r+iO|1$Ge za`XR*%&^@gK@Ri(HEv6a;O|qJ!^wpT|3hXa`IgH6m|0JbVO)rw&Rj=s z?epi%J>=GZp36KzZt;3P^D=o_^S_w+Ai-bGY>EpbIqZD;N@fDNwbyHzdE`5ZP9b_D zQzAEi-^`pwZvFGGnTyG-f4-Huh1~4_Bl8<_l!@{B8u=2zg-HIrfZYY~K>DTu-;o?Y zh3KD|3FKD(`Z8B>Tp%A7%N_4{|`+vIO*dX#;Hyk2=K`$~f6vLi6D z%3<*zk=>Kr>}{MqD8WZ&+sMz5JcX!`JvG5cWv@=?Z;`!^e7@>$m3=XhzD+i@2TG4L zOoeE>>~`d~fAN{@WO7VHg{U^WkbI5uow7%h4^uumdrE@un!TJHPl6VrG1XI~^gTKPfQcgW`{Z^-8N6d=br@+bGdv$f=q!Jjd&I=@5teHAv!esSMmnshh@{~ zh;m?>mi1V6CvuD5QQ27u{>5wu`E1oMW=|tG`z_fk$>(T#YxW*;^S6}!6Zt`!zAXC= zxs}(R9W_o8`WD8Wz2 zK9k@lW>XVTQlww*C`4b%?n0gwSs_}Rok_m2@{_ZNliPf9YIY5|jh}Vdi^*HG|DBor z0lE2iZuU{~o7LWV*=NaZe4L+so7~P9U(MzxilQ8r|7+RLCiq3!S>zjuP9gewwk?tV zjqHgD{>|*A34TfT?gYOy`-cR-Ec;%9U!EO~hLpqnxgxt;f?t`PN^bq zf?tzeo#5AI&r9&@vR9Csy>DgjPNaW3`*ea|pZ#Zo-;f=Ng+STg?_|f4o4p&e)5$IV zH)W4V=zllcm*C&ao}J*gWN%3D?`I!M@E>H~Nbp;;BXQwV_UE?jt_gm7_J9QcVfKgw zza!h1;CE)vN$|U}*O7l!``?eU50a0PGG)Io`zkrM84A&VWryzrZ{qX$ec4^fG4^DC zFgu;x`q%y0mE<;lAIzRf4jagGc_RJc><@zU2g#38`#;aVkl>GH|4lwq(|?iOVu}Dc zzAAr(=vUc2$*ui>)GtdLHY&cwqE#W_BwKl_xstq68wYgf?_b$x$c3uEuLt}eoVT;;pu zo+3B@cgwv=9{c|xIhNsae>u1Den_zc_1l{KCxQ#n9=Sb&^nJ+>(e%&dW|Ld{?3G(g zj>}%z56yLw+k7}Nx0c-MGdXtwd7tXX7nRX1)$BC6E%HCu02RUmVA|_*X2$j zxAAsh?jmv<@3V6^l7CJ0=j47$E>z?582L$>J~#Ia`Dx1M<=zbRKO|qI=?ijOU?Y(S z>c4%!cO|#>IykpKIi~qSv@o}Te4g^=T#4M~*F$p0lmA207w0Y_7pnf>On$JYAD(-V z{B-3<=3WT&|3z-s17FN-Hcb@exL5w<`PkfE)4=RNefFD1B0t~_6T%=la}L34VU=zsR>zdl%$>o!}SdUMIKt`=Z>(iToGm zHba6Ohsj?d`bKUy@`Cb9agSAJQpL~iTJD{{w?Tm7%folib_1K7JJcRRUc*LXb| z@IMCpRdQQDU6;$&A!odQ^6lJ?<@o8ZL91O0Vpa-@w+qE zmeBuE?iBKqRR8YWx5zCX_vRiXZ_@N1=UyN`QTfkuACn8!`VGg4OO6ZVuMjy$s5yOw+}jmP7;yMp`=1^h{Jn?HV;dp$`1klgC` zL~herQVv{5O%Gr}}T^?hn%cNd65?|6A^@Abo>5k|4)+YX9%KTJrNnR*2rt z?M)6H_*)vO6?NtAx+{On9 zki*8qzjHg0Z!a>Lv+`dcxAWx&`9zD22l>J*{27+d&P7RfpuDXEzB{?~j}iG93BGauNOJ4HBlA7vw!SLl&m=!ZY!{+Y z`D@8Fn=cGCzG2$ zlk!dE=KtRL&IF&5KQod4^Z6?i`KRW8n9$!p|3pH6TK=_!{)~LheDlZ3tIKaqZvGvZ z-;><@o1LGT&_5`DL_)tI-;>avpFfR!7b&I?HRdlRN2zGP8_0Ll^o98!2kDQI@2Ba_ z`4`A-zBwen!2(I(0ef4K|4^_ze~{mkd@tpP=jW1-SAJxEIr$fre=&a!Ilkm1>(~4Z zgtt`M!t zzZs-|KyLQeyLBu*C*1~=kFo6{&0T&iA4HW^DmGWwEPS6?~~hjyeOYU=A?)%V)`YI5se*X6%Xeu3uycK-Y1wqCy>|0MY| zO}{b!D*1KFZ_fXV`~l_P&kt`FAcyt8Tk|`SXLbDCo}Ws-ndlUvJMxE<+xh*j{4wNs zbG#7UonK3C>w|mqUnO6l_I{GTjvQrBh3HV#&*8d;K zr*Yvf$Cu!FDRdTcce*W9! zo2&i@`G?83RsLcAS#p~%KF)uf$p1h2EpVce!|X-F_9D0a&6;7e$w!DzA=+?Q8~IMk z)5E?@zPZLbTbi zG31b8{OnD>i;l0&hb zPhQaSb{v*ETnx!!@!omZ=H$DItPt%oY%;lx|J{ZyBu5_j&_izV-+kCQpG;!GH$oEw~dDsl{MLItB z8CE2>_TG2c3FJ1ve_`0y$#2&D`whE?e0z<@0mGgo@7MI{!(JmVD4#iO0}OmQc9g$D zR6i^#76(>zxAk>Qj8>FZwDzotRcDF{$dP}8fRd?sIrlyACtWy8HmemVOt=+wC zO&!OTB7vojm8H6t{uboxEA>aKT8j1&tL>N=K}`uepf3XwRkZ8FjUrE^V#vYVBRq zqh*_*uH*&vtxJ;{B8W8(l=>~6JZ@hYo72_Nzp!h0w4$fjArQZ<-4cpYYim)e)(0Kn zj=ti`md=j0Vn^HRXhut4Y41rzvDe*JikTEAtT?}WerHlt4&}_|#YK%R96)Sm_Di@J z=dRMK2+oK+VtP4EGsTMHNnfdVWvREEEPfVyOD%21WfDi4gKSlAM}H|4I-TXB)7sI~ zUg|A&cJ%c}68xD;=eMjV^##-#gw}(cMKpVLQkR&KsP>n7yIML2QRqXb=t9TynfuyX zdP{9|OyWP3-Igxte;wAN5KQ>wD%aNES;-87<}CJq-(r~5T-tNjcfTX3f)Z1Tdm+su%Tj^J; zT4bh4IIR+^YFxwmg$vDKQMzS^%n4GldKA!PbSS-Ir4P<6m3pT4_O`64bUln^iX4n> zA;avJt~TlP$CMV9`nm^tTV?3Q$;dHC@(|)U7vjIDuQXF9*roxQ1S%GXl1tOfYiVtg zITZ7GvX{@4kj|6gw%m;!CxbUOWpym?D)lzEEbWw5YAr&}Q$lR7VrYJ8mChPA1AmfQ z#hXg*MO~fUEp0QWSL#)NNTbdGHlHnBgSn@i6Nx&z#}(_5K86;KIU?34y=QrE_dt)F zl62%%jDJE>WrQ74>h0_3uJi@zJu+59sl+)HiDE38C%r(=j!_vE$2&a1P7&6m(>u|l z*EDI=^%O3rS+PHJy8VB~8qDL-^fn2U=Ckuv8=5X^Z0VIA0)&!i11;vD*GE#Fw0~o1 zMRPZR6x38YcA(VNDn($~0AcII3H{v@CY9rg6Pl8lI9Kb*ww#8@$w?2rfakr$`H;y` zV{f;Nh`t#E%a)=0wH6J@WG3$E3gEzQ88e5Mdb`W#bDQgIEg}*A&e&o_ z#9SZ5D-G1pW<#XwIbXbICzUC8Fe}jN!=i{emWhqX!q(g^<*}s3fu)@tn6oX3Hj#O` zbh_>ineVJb(AEJtxvN!KEOf7s1xF=hl@UxVZ&gFbsc@5kSd+6W7!%8wA>FC zmO5MdWnDLzJu7U%%%;Y{Qd!zi$(77a{VhG6iD6f%k26xG)+$TKO2N`?5`xzDQtL6r z9&6*`F%op`P94h|kD0j?ft?A3O6!#^VF_4l)755KHqcipwu)CB%Q{;9$tI8&r#HM_sR@5{so8*qXIwZ8d97GpUZ@T9N%tvsb$2b538%6gDKGB^PhUA9 zyx6eHuADG2nc(N5dAu&EsM?i^4&G20*PzN`oFEq!U0t$>EKhY!9TFidvTPid+LYKS zdv;0Y(|F=rSnBCqV~MU`BBv?KtWv+awY{ZFmWnE^XxTtFsVZ2=RdAr35Bu7s*f_>? zPPQ+FHT|o7pI$=gjHjxNJN|dW1UGq}MhUf}lP! zG4v1gIjv8q`$C+Xq-(*1Gg;T&Rq2>rrRClI9e$XL6SMoE<3_~H&QeR)fUQsMH0C9^ z@>te6(AOT1fXaA5Z|?6{QR*H@R@%$;EUF{NS~F_sUM0)GX354=tR|L&h7$ybnp92B zz{zBoj+5g!s~WBs=hR^>5N5IIv#onYOGj5Rv1)>`*6tNOy+I-Iknia`CLTVmvT?Aq z#f?bh{iJkngS}-)8$+cd7AQkTQdfUR{~B5KcU2-Crj|p9qA{Hho%NGbkzZ#?n_`Pg zxiX2nwTwS5mK$`9$`fte9AS1Dx)OLZQe4*EyP~C1huBqjMye`~wW*xnhSKmx{?kIe zemRigIWY(Xl85#xnVPWaG9^y4$g;3$`X?oS+B$}=4_ZH7WJr7V$wX5b*JzdM3y_w! zHo5rhl)vTOvhUKqqLN{OTy9{Vs8*3vnasP(%GHNyj9>Ymj6FS-+VV2)T$2I%8 z75QZerl)7FjOjX4DyneSP6=|ot&?zN)m;vVY<9_sN;Y=F(^c$Eziim`_O(c`2AP4X z0u)!VyQg0kD-~a2YlF#KW&ZCihAHsA*KId}uW~#t2|ZHk*WFt=?Zkx*lB7%0rsf3; z>np7>(A$fBQfQaMGKgMsD`Y5zVw;?TD+|a#4VB=m)>>H-&X}{HxGbDiAk;eR9wVo( zL|;{n;?fSeEMpfiLw$Xf#k}eC$y(0sIzU+Jt_%uQ63?nKip)hEYUpILCtYmA=Cm)i zN6yd*fu6I=lDJ9YzTMN(*SAXcAeZ7y(VMU~q-w$#9H}z)f7hrk4qF#9*2oS{`FfI< zt);d(UCX*>+3tJejJb6Oj(4lDV%NY5IZL%3Q|aSqEl99}u8fve-BZNIy<771x9fJY zyYfV4+5E2LW0PXf40UDiYb`bobav{d*?eATW3kj*mQ>t9E}q$YWdp2xML9Z1;T)7q zDYcY$^aP@(CN^B=)lKFO12>i0CYNm@ZBdUjqzps7nGh4!1L?9P#x}Jk6En4G_Vk41 zruItjLRxH0g4x~@6PLGaS(2+Pk56ukh`sS;gB2U&WA`ee36u8@y%JHm%3=r_u{-LU z2x6YJ<2@9mq?7U9nq4aovbQ#`uGqh(r!vDK!wMIDaM|IkTrpGN-GxZ(V0cy8q8w*} za`l`(Zk@z~-HBIJE^Z)gDfJb{PnaTux;3G#@_pqJaS%BIIG9}R^jCJC%l2Vs5V_hJ zL=HP8H`RJOgUMkhls!Ig6FYmE7@O(b9@-=lG;U zh_gfm%9uCix-m^v6;Uoc?2hFGgbM5B!D^&RZMLhP+~q4*OePfF$*-C?5DnY9OY~JW zDKpf#V!PC}oYXjXX4B-Nu39D(XV05Hvxw6k!eFwpViQ)*^{ed`vYT8m)$qo$lfq4V ze4u(1>pm~UVV}hfk1F*;bVt?1)=nNv={oDV7O`RnwPi`(VpYCD1~W_zA~rK|g1Hv6 zDzih_@D2@`caVXvAym1KA({^@r=8iBP_ZMjIJA+Myg0$4vA49M8@D;)E5B+PjVzo# zzfRR;=P#ZGRVF>IEI@7y22sSF+lnT7M0vo`BDr3zmsTgQ71Ukbq{XFC*?###65EN> zaf`W}gsCgut;gURYR4}ze<2gj+X*2in?Z#z8(&Q5!n~#3-+zxMDQ^7fI=x#4$Lflc zu3+*oFD@ihEv~=RiYbowjG8E|4qiec zRbo@Ffx537seack*hItzU~$2WgX(8CS2>fgT;;9L>CcAZuulr(7pKjvZ!U_>vbRCD zL=3bh+TEo;p)y8gwSm{?Wk*W`lk0cl;qy4J&!1h?8;5}gzq*2 z-9=`(!TSdE(Xga{m`!y#6mPYb9VqAP=<6Gh*{`}3)U7rO9R7qQt{%Mq3c?Ci|8P!T6Nh8l{?U_-2?7UPckqaU2SqwA1pFzpniVy!o&1Dm)OdQnKG2KhjLLL6U)F)=zc`uA zTrjV(c$~~WNr^lQoD}GQsoZP~ZaC{!bK4qu>PsH=kaA@ouX-;Me#SbcIM_XbSVIEZ z-`g#HDOA$#B-5unBcscc#M2OEr)|C3(kG8R*dm9|494|VD-8=4%v}^;DOS$iKCL=p zKDAvQd6tXJ!LugfthwyY0Ycf?-F*!2S)*|}CbT8jK=Gm|u|E$XuFS?yFtJ>X8PmR9 zW;PC5ai*g}IV#k*7Q%dbp!AWMvRt;uJjy0w1$Giy5g>6tw^N zb-Bx&7`RUEhpZD<_xB(%UW+GheK{peWHJNs>@b+Ss85IA&UCqvHiT*S%*&3MvodgY2uOO_V~ z$_tD{{&)?#u>Oz*bL;D{*iPDxeWpS=G0d1;^Xh~>XMS`2EZG?Ku}>saM_$iZy6m5C ztNx~vEGZJtXsLzfIdbhHD?m;Xvr7GV!lNnqTydf-yfP8bC5Z$nvYZff8h8_4&^no2 zFjN``Z!*M11eVZl$!m7>E=W7%rc?EtiP>$rDS&^el{p^o4CKbUzSWmB%*A2 z%>e7Kw$jpp<;9lX$^*vI{V)&P*-#%u{I9t-aFTFhJZ^md7RvbZ}Ki$<~)Eg}@0;vhu8yJR4CS0Or4JtPJw(n?C2k zE5M;L6qk47-KcmirDIU6#n+94r}CkSN;j=czh!@73!kXe-r;&;CF@do&}z^G-8fq2 zZ#R`Qt&l4o_ZC7~&fT&~EXygWr*QrY46e|M}BQ~yu(BxUW+*eRHoeA7kMm$!K zCTDcHjaxR9$j6OnmyE@-n-I&{u-+X^9#5w5fc?3gCrm3R#ItI=NR*Ff#PzhRtCHL0 zQ3;m&$sGd~^Cdrj&870v^2)@af|>FCTw9gnrN=~xOYxKmx|qEECa=!rH3Jt? zNxh!F(m-3ctZ$(%uaL%fDBYVG?8*8X4u4w_$x zQIuFSQG=>@-M85zEFxJW(mp?sk`G2$ZZ;VcacPMY^kDxdLOkT=9W8H&YOsXL}VIO3SAE9M7Lfks%(qG zL%i@S9ocR$_=4NqMK)rASBG78SX?D9PJ0=qiBKjJGm3FJC4M4=SG_H59jmQfHJZx3 zYG+@2$1<&e^rzy4L}9(9Tp?gdwS(-*J}E@$BqN(|NkT#ocTZJ(%j~lI2#P4i15S?8x)M$)OH`&Le!)TVD+; z7m~QLl8!oKKHh7aBWEe8oz4JdRTz@Dxb(e28JP)rV$hZEl@Bh}!5D`LMtk(-u*!K> z-%YbO#yF26+HsDub)M(T32KTjLGe7VlX>~|H|e~3>wYj}@Xs5&oOXRrXtIdZy<5;+~X?yb)=pzqov0}Lr{kK-n#hNEqA4CPr52jy80 zW6Xp)#gC2PEETk!ODb2UTzadYi&U!qs8?_%nFDFwyk-bCeN>hVk%}--!Y9Qr%eCnP z1JzHZ=|dqhHIB#Q{AD-FJzKJlFV+p2BJbGY;?fTYc`?3udUO3?vSLI1{IVR6`pM&Y z#g5855g^89fOX1+4-kT+ODm%yKK;rgb*+Rv^q0`$+%l&#ckyn-@@*IJj-*nBDTus!^ zY{WVk_Y2U|@P@K1UAyHK1`VHFKvr%=#JX}>6zg`Z7*dzv_Dg#4%Gv-mYFV~S9xIUr zl(;7k5y`bhan^yAEzq(qm&~{hC<^W`mo3CE1j-q-ZLBH+hw28_Sfa147Q+>%6 zmC>#fSwgB3G@_fSV_CVc#y3u;m;rr7qO~ZaxBPN_b9XZu2K!R7;pl9YCrOkcllWi* zF^DldhxU-&${Jyi>z#58Wrf$GTfYdqp25&FtV@Jx<-sa5c(G~DtRQMLV{y_;Nado^ zPUzMQz(u_Q=IgKdMYD2FhbzXav=Qj~xJ15}Uq4gc(S~asmFr(b)jt%MJjY=_pkhV( zkeu%DG^k!S*aM26XtR1zBGzV0S6?BUL!3%kW&89^pMHhIH+$ubAe}{=@h1cZyrP1W zMpC7qPPcFJ#Vi))=z)2ChiVnzc@ZqAvD4HiN@oU_{#^8EdShR5PF;V z)dX7=%Be~f<*ZePw5P0vkQWmjNAoA(>_F1emj z?KbBuJ*Bj;F?P=j?scS3E;b&A6fC%Drzv$#r>D^?!EGVcXTAUnhPTDzjTs~#6B zqZ31$%4O?1xl|lU%p`NV@bH}PSh#k>b9nL;oZakB-eAQlwn@H%qrFGgyY3yKgxGz@ zN`hEXck+rUjE5>iDs<{*CX`l;*m}Ln48>K3s^t|^vILh8PT8k#sthI)tIQ6SO5@VG zgUSX8_%cPZ$T&-~s6nI^OM`_%GE`StVmhe2VoENys@#FB%9}t~u^{8J$^v9n76PFT zV0}VI&!-2<@&%&#{xd!m9h^LH#qtR%eocnCQ3jj6!eX~|=FC5E0S3BM1XsoOHeF*2 zb`|0QhFo%{!Lzn*TBqU79XhQeWqcO}EbhI5PPshz^i)68<-}Z|u=M>BKA(M;~U{LxBZ)Dp{+t@8%uvxRf zJ+c))v5$6;ao}ead-V+AWum^fRJjsCcL`p>E<1sn2)Z)Ges^Mp8@t?Bx#owcuWJHc zdveg%5%oc`)W<&KCb9782v%p(pj2P8c(w2n7t8pS_KeUVZ`1})nu!noj!vZ+(I=Bl zEPI`m;{HL3c0H?gC#8CeWp?AGVA<Z7I7B!K(1n zV6ibdPbR+^hJ?Xna0yGW9{0W0(82NQrXlfixL%vPFbLf2fcYOi`&YJ+n5Qp6u5#;Sk6$DQk=eMaXA$w zN;oQacfEQ-t1I~_K4dgW5gWe#4LBVGvdtiSw0&LryUac#Dc{YQC0|78SZ?PGTT%1s zb@je`Pb`;*rKwu+Rn(o}PkWcrijPB$O0f+kJboNiwqeSJCzS_ZJNqal>~S%eNdGh@ z>~V}i{Vh9&kZXTRNYKB~ndNDs3zW?M}_*u(i+6Z8yc`@7|W=&+tLs_uhZW%LAqhj~h^ZI$ma#2Mpv z!h-J&AsPPn`VJ5aSA{~X*y0arCR~%7qu9Pk$i(b8@hSNcC9R;HW!t;u6H+s=N}nw# zu^8=`&|;4(@v*_O-OAZ9`J_r;)ROo%VthVKKEKskxv{K%l;pcioyk2Em5b-&i`}h# zl`S&ow!U6a89bU&dG1fM+8YREr&Yz@%#?*l{1Pr-U>WS$3-Lj>D*N~~8Jl#`Sn(FB zxGryJB-U|p#aHzC4^gn^>x45{!eF@)57dM?6N%-WcG>86w`^mhEuB4GvUlCx-(5LZ zxp=l#KKG#KiT;-56XYSVa`aTlFzLC$FNP~;7Q`jEXOK)x48Tf~+?cdI@=n<_X~WPe zm)tQy9tpxbQeiJt?`1LQAD~egoRF1k;>#K3gg&`6*SFhn5uqOom;cqs_sMbKJLxrd z;9twIqvi_vhZp2fc|{!6oM3XK)ogJ5W>fs%j+#3wnG={|Zy*0wK@H{jPI`>- zJ@*)oav0xokLCDxmttJ&@Mwp}I6M~kE-P#tF#Vk5@Dzvf?u-|O(zuK)a($#c%;2;d(({hOTrjfPeKJBC&NTZTs>?{$W?KU`~A`@?-^Q~LvP zE%b>;J3PkWu?`C?_a&_(-Bf>w)gNN@hgki|z=HgnMDiDxtN#4Nlxm&)Q~UE%7J$5j zpXeLQQr}p2^^Lg7x1Txt_(u)oQ2X~g`2&Vk&UpiRH4i%ZLxwe04;$84Jz`k(f9~{s zzq-uYQSD!DSnWLO@;>JBKJMhBVVOP?YhGgYfmmZgtT7?hm=J4w5yNf`amrzDUv+-r zeEX$g)xkenA&2(?yyjQVf6hf}{|T4(*M>DO=P32x$L+VKqj_mZ%l)0p`;=iV*W*9B zynk{!e|GX`o&0$xf5yoN(N`bX57qw{o&L+t4s}%jzfJDztM%fXqyGQR<^8*}`JTgD zLeq{KkN@d(KB&f8Rt*QRWUrxqm7G~so^kqV!zw4%dinFat_gcNV%U|5cL`#AI|Ms7Uk+E z=Xte5x!U2Juj7$&9gjDdKef*OXyEHjKE}z%0)N}& zm)XEuTRa;aZgjZW;l&Og>F^SV+Z=9pSYT8m|Mp9KBydM86`h^TA8pf}4Qrf78`e1Q zVi>t*_Tcm_CdFX1UrQ_B1=%ANDe={ek04`@=YsOV+67W9xiXK94sYjqL=(>hnay>N9;) zpC_5T%ID9TTzzJ_>NEXOpD9z|4C;u%F*PZ~7uG`;!7@AIJf-T}A-Y&PZVTJj&s%fE&!_cEI$Z7MONM1JjPc zvK=kA+45?+%&X&mb=LGwOq>8<_`G39W}m=9XiT;nBb= z4UYj{Wq2&`YQy7zX>$^=Uu$)nj);@}WT^Tc@ANN2E?#S}URuX5nNC$5>4VnsB-7D4 zvR+!pwI;6>yER`ntaUuuu-5Su!&*n$)H<^6T1VD>3hYp4DzLBniDpOJ$j8CY+dLO& zy?Bn$dU4Lzw&R?y^%`Y1wO+(puQN<8E<`ncPv9y$*Qot#+#KF- ze4=$Eu9ZCTx;bCLS&=Qls+d+e_< zJ?@7G9J7AT#6PeZ%lEZ7YixN9rR82`a_tXXpCC`oP&U2&q43qNeTUMy&gl$=ecl_K zKF>`WPhzbXvHHK2)A#3#n@w&pH>`E%dO-UL*8tj2I0vdt{DY`GY8XS%ns3?|SNsi! zFLwCr4*PSEKWA}oN_~6E`SyFm>YG0o|H8I$IqIM#_Bnz@B5p_ye3tf|Lyc& zb@+9M|Kjjp9e&HqAK5xICDMzN3E|C>E_ zwy&NS*mkuji+y7>@TTU&7~q28u}(+N3)Gq9bo9JHJ5!yVX-=mOm^!naPJ@#-I(f5` zFLv@Hom^m4^BEWa2d$DCf9`2({JE#C@#mhl#^28mwa(7Auxv-oNY^f(2K%wFvCF%O zVeKb=uJbnW4_C{fI`mEJvZKkhE|hCsb}*Y-7wTwVqE6Ksfc9anhOTK@%&TSLe{%S; zz-xANb@?>d$I#<3&W^`ECVQEV`ZnIM`ZmF^`Zm$9#$l3SjRUXo)#q_0uZlU_NOkgPK)@2Q`ZYkR$Ha&0flYo*{Ce}0+f{22=Wr~a_4 zDu2FUWvM@PhSi^X!=vHb-iF5jdw*uzI1;h!133JO)lu7m=Sq#$Ki#=tw%N424$n2L zdA-hjXW!%3Tvdh?eQRMEsZDT>YHDK;UAFaQN!yU zZ9B$C^U{8md=G0Qwb@`;eP&+unf228t}y?#zDFCbm9pbKpV7cRo}HhfzAOt>NaUp* z_1W8Gxn8byq+ILb^A5GIHPO|V@zMIyAFVIrqxEHcYT+k!w7!gw_A$n1EOh9P_OZRJ ztVynpQ-J-ohWFXmcdf;+s=k!_`ijZ2Z>m4Yx>0rhx9p#6zG?hVGpznlu6>DejVud!uaYT-ZiHMX>)v87yNOS#6Da*ZwJ8e7Vz!Y1X@oc%f{pY7xgPTuI`&A{|| zF))2T(&;R5SYTA+ulqjDyhk0)>oM;It9-rd59b?J`SXK*IePSpWnRxP;&ZKH5P^% zYu|BkV_((0)K@=!eZ3Dp&cv!utnne%_z>&3Al7j~tmA^XRvMs&c(lV~9M*9`9UT|M zIxdKHToCKH_@2dfnzK{q@N9>5TrjVW3t}A??1wroxTmD!f-zhIJCwHpQ{E1Iw#B^D z>GU|AekWh;`!S|>l%$=5mg*-pOR$uD&Bi=F&ZC%@9kuXXb4o%|*z7Z}x?YvW7t z*WA9!g%026`rB8X`~rvjh8TCg@BPxsN}*hT&V9t?rA`hyKR5XZ;71LQbaH{^Hd33z zAc-Q)OMf&k$Aad4-0X}Jy&CFl1i=pQAdz-(ua@Ecp*QU&?a&PA;r_a1vF4qHU{{+*~ z7}6h&q4#ZWby;f1&!yC_s@KbAU*+^o%l&Ux?yH8iT;G>oH@Vj9eCvm5XT4#ybDm-K z|6Idr=N!Y@2hKLEec&v^+6T@wTq_0Ce8uo+;B|(_0H0x4`@rdjwGW(TSo^@KhNnRP z6vI=2Pc}Ra_{)atfY%zH4SbT}2H-ClZUlbaoooK#;_#-)H4elYhZ8NYWQ}ULud6zK zzuk{t?nP@}_FIi1Fg`%t{RUv> zZFE>*R5Mik>n*S99Ph@(K_=H&%{7ew$M!W=EKBp!|EkzhNA(drIW)F>-c@5e$NA9U z%H?ygTCUgG&mPj%vWQiO7-iJ>XIAH#P1V`o@~S^x|Nmms>#P6Nx4vgKwQo?aeZ$-L z{x_OG>gPg-n;kyH;p41bw7!fFQfn5Qj{4^9AMWxV>2T5Er4CbH?YEg6|F7|Oe7h`j zI=JNd?rof z#`sj_rM}Nw)uzd{ShaWY&;Qzc|bAVeLuXlO*3?B4q&Ubl->KnAFKGTl+%zCNM>@(UoE;O4q zCmXIsS-vh`b>(`WX&!$PUiI@5ldGS8&EwmJK5O1S)7QM0xxCZt zT=R+j-}l>I%d0loPt@j_&gP|t)#g_WYuu-Ndto7paQDdB3>qVVUtk+O=xyIGS_e0-r>6;WA)%f>}uD87Se+}0m z+BYcI`ckg-_2ZiBTeZpiUmE8doz0sJtIeAYt4+44+9cK(`s;}AnEt1+sXj2T>hr!E zEYzG}<3)A8Yc>^o`v==Kj_Qv$tUgm;eP;aCXWlcdDwjT}9oko&H2%*ykXUtywJhFe z)Ut@REMkohgN+?Q_JNwskXb%>-+z2OkeZzeF4qu`wZi$KJ$7_edcvsRiB}b`b?cM;$K`B z_?p1}I-2FG&b6+-UWexw_4#S@Uw!uH4#q^|^Jmjho6i|mIj_@I&T>`G`l@{&Pqu~X zd;79q+SmqnAuyeWw4~M#LKDmrY0G%z9~@iEE{R8t?xrrmy9`W?1XOz6wd= znu2mI*Vl{BrfOcwtMa~T_BHSC46Dx@p>)2x?QOC@SK0iE<<&U6?ri$JL$wRnz?%0B z%ZsvW{^GE|_whHAdS8rHh7EUgP|YW)4VgZf$*>Z?uat4*&zl>dyC>QhI3 zU>wv3_Cxa_gX-Bk9n`NCUPJxSz|{r#ZR6yPwZLvb!vfcYC)r%8d3lYXc~Mb0G%wfr8k3LBrpDw$!x|GG^BOBaedC<3_9<8U zl&k#>=#Z3`*gK_I^ZIoQeb&4jQ|cRiR^ND?rM`V&e%8W%WJasn%RiUsW1e=t`85@F z)Hm)SXuW)2%2{6ZjcuyF{r_t!X$fhIyo)W@sM=@P)*4&JQ)A0Ds0_%ly`7EC zewCd~O#X>>_`aw5v#GPgJrFI6zNwC18+f1TXH{Q4)B2?L2kK~F9cg9NB0fA1YG0+! z7|1!tjs>QC9PnnAcaoD&0p_`2Dlpf3)0|G7)6u$Y?&`aRVU0hr)`fNS@vo{2eXDh4 zX%!-Sv@U#hPV2&F=d><-7EbHJdy!ffK07xJ_Nk+Fq0Vf`dEdOj`OxTav%`xW zJ`$KVmjJKI%KxLN4Vd=ZfoZ=JnDy;(xZmN`4xixgT8B>sW_;E;`PslMYrT_S2+SB> z49pl_3d|T@3Cvhs3(R_54@{qL0;c_2fLX`eoc^6o{~lnjsqO=&{{6tT^Dr>&KL&hO zPW~T7zXIm?`YkZW!ta4;=V@Ttc@Fpu%li^AZN3W3@$wg7=6ws8dEWtM-uHo-_ak8L zlgmj#t_N)$l>(-n95C&S0H&Rhz_c?8nD20H1zdz+6|0JLNc} zfLSlpI-UnUwGQ)E>2K}EHFZWf`y(CJysVe{!?{KM@z;!OQ`Je#lNL|4{~xTSw}TJt z54FII`DkGJJjTh#0<#^*0ka(^0n_Ixz>M=$VEQu+m}9LDm}Sid=DMN*nDcF;(`g3Y z*5bL?$&Uo~ZAu*xM>RW`zQ&4WX*}tV#)@)n3qQwFz7_1yxBo}6VqG*=w5hS$-h9(o zQLeEfR{y`?{AV9lIsMdn?PoeF=Xz2x&yT9ZeIc#;G^fvRL8uP(HSdi!_o{rTa=rdc z=jTn9SIfHDu-bgr*1c+T3rM(6!q{qC5LdMY<;YWWsk=Y!>&3l0wNq#QsGWMlqmXxo ztGl-i4)m&VhN7jK99YKJz}4*Q0;qyE#5#=(#Ge)CQ35L?}y|ErzI)30;-vz>l} z!;QfFzF#viW4_qoBOMkf&uv;AwcUN(_&q?C^Lv0AH`ZO_=EuVBu*UCZ>|y;=6~ zZI=b6Q!78QZ;;gdr)@-iZ6jhWi&)Dd*0PATjfl04h_#J~wT+0ijfl04h_#J~r#b(% zjVRYPBGxt{);1#6HX_zGBGxt{UgGSxIo$4Wr^7uC_dC4W;S(HQ>+q=#uXFfphu1rN zp~DwDe5u1%I()6e*E@WZ!?!qmo5OcHe2>HT0k5?_e80mF1NYnf^O%$W3iuS$|1B`r z2ETVYPXqT_-shbBC1B=#6_|Pd;&k3}_#LPJKJckl?nh3p*H)D4wH0mZwH527*H)LC zKYDFNxn5hHW;XTOih1?giaL62MXc9Wmzf>CwmQb}SX^gOXPmqKngmRnQ=HCJr!&pr zI;S(+;Rc5rfnT?Bn;l*Z%(9Mj`b!*cbNcNLcLFnSkJIl5<~vrafmz=ZoX%Qc&XcDC z)6P1lbGFl2@9>3A=VFI11wJb$tsF&H0&i+Cf+hdC&1_VEXVJFuzUo5-@GP3QT|g z0?Zh`1x%ao0Mobkfobz2ha z2Ih6p7+}_SEHHf=2h6f20kfc2je@^~tqPekw5QxDJ>;oDIyj zSPx8pE(E4O7X#CuOMz+UN?`hSEii3f@9<5)oC9wGW?8oZv#dLTS=K$kEbBgCmUX|w z4+FET$AD?)SHQIMTVUGxy~9sCo#z~W37B+0T1`kG1nlKQQZsOXb+k z3BX@w{|BbcQ-Rqo>wuZ}Y+(AZ-r);@8UKr&{-waQeu+K}Zd67vD%}afsca)^XcD8bOJBMo>9_{cLhsQcR&f!T8 z3zYMt#b4{lwo^a(jFbAw_*eN!x!U0#yV@D*z8LrD)Xq@PaZyL>8=pJiC(F|MQb+5{ zajNyDj@I`~tC!Z7`s$~@&h_>6*XF*y)X{d~b(XdZb<|J#Pzyh4NByLZ`bn&Q(x&=J zx%$a-;uP57w;iSev!6@@rhc8n0_9y%>Bw?u{6AxL*LLKd64GkUac%8m;`4G}qAKrD z{h4y@C&b#m92XilVvQT$|Eg+VUfXKiSYM4BvBr&9<3_A;Bi6VPSH+ETjT`Z7#DwwG z_;}1VQaRg2W6N(PX?)lpwC;Ximv&U&+x)!+NabI5ZA2ZlL##3Un(1f^y`76)JAT92 z`LVl~ai3webCI({to33Y)gSt=^`cz;@%oRNP1V1|Y^t5xY;N@Oq3ozX950&J+xLC! z3Rf>)JE%YOP3;i-_-G%aeeGkcSFIEl-}4#`%)PHMPCgdc`{Unl<$PFGFUr*)wvqb7 zKBoRquJO6n#f|lqV&%K^PCj5`S>@d>=KOZ6%Kba|yqBu>c`sG{yxnYS-1ag%n%Bn} zCuccSpFXQTvDS-N^ZGt>r)wj=o3D9&U-dYVw^I3dU1a^oooD@XKE$eXk1LlpwOqzQ zeP$fAEyh^gwJmlxtbKzqsg;Vw^T23e+SI<`$F=|dfR7=u#*kS3Ay$8g)gNN@hgkg~ zR)5%s)t~z;LH!{f3qOg+IXubXDGuv=Nd0L}UI+XWi>Jo+XQ)N;9us)YPfe~m51PKp z>9flFT)*{lVvSF)>3m{*9x?kGAD%ljK5Um-_``M?4a_y6#)o}XW$P-}2RV@!#5Y_l8Ev^*`*PMS$^Y8%75(;;Q%-YcJs8a=nBDCPs-IwtiedzHYF46<8y(KLm!_Kz$c>dxntZm07kz+7a1i(AOBnn`~Zer%Mws47`ook8Xe|l_`D56aDK`Nb<_ z0xVALBC%*EzD0glJA9$T-*$L{#1(cBhZBLt&S~=d17hqOA;gfQOpS@)-9?DFKt4@= z5j)^9@{3Qy1H-SKh(9O#dk~{vk0;(oe$oF`Uvv&4{*L_4BR)ZXn}`pS-$RI>kza7+ z?Udgl@e}e}BL2Pn;-61|&P(z;K>V8go+r+oaFZLm! zgMNX}7y&O5{X2-Uk9aRJ`pj>L{~*7=BR)*@pCLX2mD&f&8iUhnXQ4qxo>r4C=|@U;$K@9<3y-{SCX4&UkUJr3XJ@cj-y z?C@g_|H|RtI{bTwpLX~;hhK8|RfqrL@LLYQFV)+P%M>>r2 zZLG7E!`nGr>oDf2SbvPeV;vsn@Fa()I6T$iX%5#pJlo+0hZ`Mkc6hPFM>@R3;Wmfc z9qx3v$Kig5S37)y!)qNr)!}sxpY8B^hc9&aVuvqv_)3Sbb@+ORZ*uq+hi`NEPKWPt z_&$g4clcq4bJE{N-EQlUJ%L9?(NsxqaQJA4*E#$xhcUk5ye~K$iLF?U^IwcHy#u3s zU6Tl&Bk9wrGf#eT)QB8MO8#PuJTV^OFjQmtD2KOlcsqw{9Ukql`X-AsEX(mJw^4#O zm0xgR_={td2(ZS3Z@?%M{s2RUtIkm(gdC@zQ9rae0}tnV`}2^?!twz5#hMa$Kl# zNx+hKw)`GNIpU2z4>|hp_bEqRpQijD@~h`^v4eKlSAqzAtX0~8MUFV&9uwr($?v_C zqkV911@g4GipNTzk9ti57WpFiZ6*Gx{Ni2!bZSKhp@Ggl^7|{w(Vp*6o|lU4Ab-#w zBl0?6(O)dT{lv%1uePtqu@=TZ3jv+c^1CbXSozg4BJxRsvG#=y+G`r|Z26r_e6ajB z6CWwRy1o^CtZmyV?~&g=;;+cBu2)58wcz!Ti_a(*csQ@!E`}UB;`0^6Z_6*%uaN&< zet!WhdB+jQedYzq;XiOJ#~K%T@u}*a*``zEcTZrkGey#YV|}b&A)hL8;8>119Cogj z-<8CeBTohv{b`~P9P3|1d7a3CV>#wS*m+-me@^_I{OVd%>>$p-vHoA6Bk~531IKb* zbBdkj4Wei_`Gd`=@;eb&^czJVIM$yQ)ij{K0v&w^vS1yMSr#E z1IPL=Q0IO5{VR1&5FOxHXG6)4ylX`c9Lq;RF8(Z$-`#*k=Ty-Fj&&wLE;_U1cYk2f zStmNcvCcxu&lWjwEME$_dJ{P$;d{ujBJj(~^r-@l$FIJPe^8nu->SITAv&PT%`M*|TL=YGzPkl$@` zjL#S!1T2#q`Xu^&j1P5K=RMKEwfktu#SVM}9?tzAJs*h<>b^I1a>Q{waXv%d5%LQ> zocl!@H_3ar$Z#GUg-KhEorqDE+7vl#&Y>K3kO%rB<+qb~l>D9uESoo1%kRk!pW*P? z4qxE#*B!ppVVu`tbFKVJx6pE>2^0^%FD=NeSq>KoX!%5bu5Su`o4|@Vr^@&gLVXt<0dX@S!?B2*Eynt zHU*CBg1W&Uj9u*~f)5is1#;1cJ>Xb>f5=7Wi}Kq5EIMdY;8;gvD>}b#y{;8SNB*;ZD>|^L{dNNZa_GDvlQCj7M*c<#M!mJI zi4SygZC{Zu5t+6xG1?w^VMqNDytQEUK`>&k?I?Jx;GN`e6c)+E!}7-I|uW11KY29r}_k`RL_ zLXuRHG$9F-%2s@4oKy{T$xs zebx8X+`jyjU>?f9ZS;ZMNh)I3n?C3lq5ZHV1++Wt{5 z_|xzt{phWuT=g*@(b!he=I}l6p6tds7#nkhwDzN1)6PlF7qIh^kHsD)qaT}G^^5cq z^8xH}$xE>($>?48?d1nc z85YX~w*60R__Yn&msN9i!{;{~btldeeD=5cQ?Rinz^B6-=_g<7B6r_hng0g{Hf2|T z7BIWhNUQ(u#&0!DdkglJ$#-C*?)c^D`oCJr zCf9oujxE!E8td4S?YEel=xtlM%kLsBg4Ha;+6Tt8J>@Q+?oQ zxn6_#o|=2G*U4zsPOirnd$!-Q+-uX|1nZ+h+s)=uNkYjK=!P-SdqKWcPYOV*rUdq`u8gQUz zBATaL&qN1@Qo5P#@?eP-xzzTkMg6jj#2&}6^-fp?aDkR z%Tcy${WqI(K34Rx{@^!`-2JrpV=fSfYL@dHn15xBno^GY<9XdDzc|_P8+mzCFu8l8 z#C!>_)sMqQzL|Do{pc-&-2J5JWBk+km*9(a26l~kJ9`hiPQR<+b>wfCeC00dXny*Q zFV{Lw)lZzOu=~kq91n6mS3gug8prjKG8)H&-2J?iGuB2lXW_e44eXjaO(v7wvG%>} z*o$(0rzvOt?W8Ct{?T&gb=I(H@mn^z%fBVWPzb-}k?R};2l^e#y^CNb#p(iEPou6< zaG?KgDZ{$@A1)kyLE*Q;x0(KAYbp<6qb~47czyk(wajw8#}aj?;|JihlIwC3pW(^ih5?alA)b*uD+_NEyT7haJP=-?Ow?_+gr> z_*qaL^Wlfp@6X=vRqo*&((q97Tx_%znpeXy2jQJzLJaiZe-Zx|?*3HDY`fH$u?Bk6 zjxE+e5B_YuI~8}Hv0M)Hj}(pEr3M`6XO_=Eg7+!c1i@so8sOf;jyt!0-!cXq2eRX5 zdwF)bF5ji$Xn*|E@NJU*5p0y_hfR6@Sn3sVm_U1>i8#p-2Of49k+5fSZ1JeK+UVLo5>X9U@XINlWh8` zzIFBgxRgikvM-{|(M-hWZhT{GE2FnOaxIU2qsH+(Rt8KL``6~*!2L8zRkaE5j z^W`U{3@8EiANWB z&r4o%w{9s<^cQ~HF#5>{_}F5OXIj^t9*yOd>-n4OT7P6Y$BZ$V9A$g5a~A`j5u3IYmwW4XkMMUo>sLUP(LIw2R8|XQzf^ zOyZx4FWT^_l2)$w+oOHZI7f%rdo-3=u5B1)#y?u-yx$&e{>%T3*&kijB9Ae$?H6r` z#+cSkKSQWoV~>n_)OdXw~%b{f_;kv$Gim(kk~a*e}s6Mn~%T;t5s zPg=UZTra>QaE$GzOI>0d!j^em_8zvJjz!tBZJKPpag4xkUfZVMcD1bPO&4{Chv1p% zAI5Tc2#swVWkX|KJ-(XOzC9*+D)xkAW1p66-@QJ01bbfc46Nlg&aC8a!!l-UJNudFkuyWO(nEu6Bx%$sa{}QZR z{op{4*mcIOKd!7T_D6qwvtGgW%j)`nRr*)uJ=DurUVU4d569&;0Lr_y_&3 ziyzrQPr)4T(ax}aVVU&Xer|)X+e++})mL^rRkr+^b>E$5#4(OAZL$y2eev-)k<*CcO=jeaMN z^_6S+V?5)y9pB~beeydSeqX~kHvDYzTFmV~C$9thEVXguRT_?Gs?-0@^!vQC&(!tL zmUf6|KhO+};hcfpIFqr%4R6)(hMDiC_~IOZIJQ-s1LQL{(MQCYh$hxmG`2&mtNERv z5#!*uf8}n{D*T`KyGU#M#5jbV%hAs1k9LNy#P58t%-3KqNM3<`Yw}01#!_<+_O6CM zoBSNs_tZR${ZhjZHvH}6zhTv>{~7jCnYy^P$=!rfm&f&^@fk67@{8f8Wb{2&?zS%a z-=)TWjOYE(55t?Xo7O(sGIC72+c$^@k~*kJN+~@mibRInn`HnZktlyF}$aLGJd(s z?|;R!aKv8+pU=CinTkfP=dSVGJN{|-``&8@2Hu8se8`WG{}+=t zhF@dZ@cVr0dy@TLz{8b^6XRbEyqG=o*b^IGo_sy_vWDN;@HGvOw+#PL=AhjDw@2qP z7mPm>-iuwnl5}&E=VK2^emDMw$;V)iO1=(1OMj%j5KD7JUd~gwp3lEQKk+X?|Ka3+ z$9_(xY|dG^%kMsaML+sKU>}pwIDh4CO6k)l^`m(P`^RM4`R_7%=ZM_p@9C|Y?W|^f z8IAKou4C2rjA_4Ym3#_zdl|iBUheX5mCjDTV_vRtj@C~c`#R~s1_`xrL9_W?VuzLfs&V87DvLo)H5BXS+Xrm1m$lzbhU$CH=PFTY53 zJpVfR&)ENziRqk@YuQ#sr{6gx*LGe@zjepPI*-OVCD-V$N44K`1_=P zSNw8~f1v)1e`IP#(8x9Z8L7Dtdsf5e%H%Zzye>OHtr1pJSN;~0lt zf6PJHHGc-XapXAGB*%P7j$;jMT7Q~W{Yeyi6?S^8|hySk73U;M{*X!_M3)$r2f zbFr5tzn1vk4l^c)-GMdeeB)pSHj(k~fE`Jmi=EZ*naTe2<%7wV`G?6r$3E8Z?`7gU zPF_s68GjyjLm9tgV|?SE((ulWX0OJ7V)`93XQcmXtRKS||Nqg&-Y%@XXTwJ{d`!b9 zH0)0U)Uh^T}_gonOjs**3-=m~8vc zYuKNISEK*fhW%-z>h~vvD*My+mHo-`$`>?zal@B4{EmjVq(AIa=c!!Jg<{>q@7$ET zztK@_d$XI@{@8<)U58`t<3E_#$EDwO-L+Ny0{ou;n3wCPT-TPkenhhfjn{!{hOlzI zx4B$Dnk%vIOuid?yNrG~xt=fGrysrNOW&2zOiZrlOFvA_6WHgIU0b|nP(KNuT#vJ3 z^%GOgOH(r$ja-kjL#dgFbyx3q3*!3-$@}Oh{#4S+9mj6B_znV^FXEf8CV64Q$H=6e zhF-31cv5O^!M--x@4K9v?0R^GOj^$$x3~(8!$!A~wGQXUta<=gX$8>kuWBP8%2Vf78sms;Gl)D)v=EBr0!5)*E zYtYEGeSFWDXS*gR|2N6cX!zXZzv918Ca>#=BiDAjEH%rC^S;!qKqGf~uj%IW--KW8 z_AceTT|Z@b2z#eY{9Dk-^jc@ciUx?}s?LEYtUW@*DOrsgK}*QM<%cPi6hs~H8$gQ z&%*0*$77y+6n47&M;46aZf7!L^H{599@cX*+2fk&ow%k=eB>${(M`=sU= z?3~nCPPrZjlaR<7l|O+PU|h5fip%;Dr(PTy1WAl9v?ajdUf|HjfU!CbtL z`p+pmqJ|UX3$aHwd~U-pNnVD1x%_3 zTaPZ*s#C6aO~& zqHKR{%9e9B>Vn2L_TB!%^1KF1Y_M&zdb0Cot>o>njz9I*FZ>tr8Xl(~woNukRv+!K zysQ(u>rdXR;VyYsY{W;iCmdr2o(T`9<`vke@82wW;d<@k>;5feEcmXxKGt2f-cfgW zN7!BezF4>Z;&Q(*(!!1bcm1|QtRb-Fbk~0n)~&y!dJS!9aqX3ef0MdQ?CB8>LW_2OU=tM(X*I24x|0in3r5XTi;9#Uh|T> zlS*Fx-w&$hyokN?4R70UTuWvguODl^do&zXin zv@`J?nEpet2PgkGngz+{Vvm%GZ-2_&>q`6+^b^O=15Zg-zdYG~yExg;3Ev|VXKk$9 zc{0hig55Z4p!rzxr?L0S=p8?DcSg~FSwDKO-5*MJJbb6&AIPM2J&?OHlm>p1ny0Y8 zOTGvDx8yO@{qM;e5Pt(+o0p&EZXy$NW8Rm$rKLPuq~>Ml{j690Ozh4w`XTgk_xhsW zOFx?N=;tLLk3CFAKa5`P&Mf+4Q!^2Ld=`dgA{x2#<|W%Xso5G$d|r%Z5`MWmt7zVt znki^*l+n00%e8H9Pt7zmaX*K0`gz*@>GyN6uQwc@g`wFE{S)b*4nHLme=70i_L1*14qrJy^$3C^0Kex?!3~c^HXEm!;?qQADz56d_wXi*pp=9IM(F4 z-Y(To8D^vB6hBz~mC24B4!7Z-i{?g|IL;w?bdIOyP&9WZe-Qg+8NKsN?#?ge|CWC8 z_1@%T$-l?`Tt@F)lVJXZj_rf#Gk z{SX?tyP)WY^`kiv{ghoxgIaTf&K&KxZ&E~uU_J;o9wGN zw@<(2teTNVGbh=0J*@GcF0bJ8UhEqhKEL7R4M)9Jl+X90UgT^4$o08}Xa_Xs;@h6x z_#@c8Wc0?6>oW}d>R(arC&W1<8v9o6@_P-QQ>wA-@k}5Z`&_P?V_`K*u*2G z(&ne?Us1l32oCf&l;=AblEJo*TYqEYhxH$#KTrM^C)@tfRyURNySF#~Pb8c6;f7<4 zO8wf-BiMB))}oBRZTe?mr#2jG5qkZ5H2yee!2dGx8E0Ow>)B?>o~KMmo`&CRGwWjC z$@M#lyQbehlDi@PW1GRQ-hPqmZ%xnDPhPtbbAD><7rBmyg{hg2Cfc7k_KRHeJv%j? zBQH-LJ?AIBpMO4}pR_|*xjv)&kbX2{(0oHiGmMqH%S*riJvFxRO6=;_$HqB1>^XQG zBjDv|<2;-=6O-#$-N`uIY@2~SN*=os|Fdo<`|3&=&BnyMv+;ksVe6yDzO@`xKcVq& z-EfS7%q#kxwDWl1abQ|`cEblY{PHZ%=GgJc_Jyxa>pEmTlf`kgrY6Z4qVIIiS6HkRl|b1<5iN5prG$#rbFHmR{auTH)e`<~=i z;QyjbTF0JT$Hs%Hah`oGHI6;Gj*Y*hW-^*p*o`xUPwp%X+dBFw!#J$vkjGKTrN}IafTa;TU`Aw@uY7z;2j4 z32QlwVjH_|fFKYO_hTqfh-3_lfrlhsZJILg<0K0$sjp^%JPS2awcn;|~apl)G z9M@T?S>JNP&Z!uC@DjAX);}Km@?@Vu*hZ!i=u{hp=+>Z)kf`hP|<|_L6p(_vNZN zA=`W+e!0%0*Xbwi3hZSK`&z$kANNV%JMnp+QNOBTGek1u#BEDSn{i_=Mlkv;l z5Ww~#((9j^T-&qLpZWT1apl8P@4T1m+I4hl-h@4l_xjt)vF@~nhmx0KCnP)PUeU1S z?$>d&P>r8_E)UEu*c}N*n8NyI9^`A#FuOQUjL^`Uq$=C z&XG0szqIJ(ZYlq<4YBL@9l3rcHCO+q%YBIX4aYqb{PXa|dFcivrrf=Z|JXD=e&3Nh zKX_-0@k82I!&|beaSX`y`@+!<`0aPO^8=| zyW#hpXt(_AEZS#Wqi_8iz0eNA6j7BoW1|Iq92#6KGx?=i(an!AvO19pCp@Sq#a-Ma@9vU zH!J?OoKfH5;*a`%q?9MF=~#dl5#w<7J~_rVyZ~Rc3G7-DV<|c6xOs^gb(~yc#yW#$ zcl6sE6OAglem=gZel$m7W6YpgExBr9&fZ`0j4=Z{j#fAAgp#k^ZBX*{|K1>qBTJHkyx?w2tHcfo2VPu*^kc^smUmcii-D8e?v-Cx*OUW@8k|(6z^2(hLy0Ezh8Q(UO>oaNgK~Gxy@h};U z`N;K|vE$Rf0amW}R6%}IsI*D6IqbU9>EE){CB`#cUg7^v`Tj(t{cgEtk1_Lb8RIdo zVCxrid8?9A?hKq;|2<+=ex!V!8*TE#a&EFI@AdGO*kO56i6hrF3LNMkZTjd(4ga{| zpEP~Cb%_&cw`q9Wh9?&uWBi{tah@#ojkLcgyq21$%6tv~ugbZ3@G}knx=H(+!tXWh zZ_B;j>l>aRZ&%77*W>awsksijQ)*Pn_4DPJYor~WYn$*U+gx_@az4g!1dU@%?tDm! z&G*z?f?Xz~alFahBSqtTYOcm!A)~P$<@(%<@2UA9)>QqJQWv@VQHc}tef#1!kN(+m z?H1z@9vvG~i^g%#|Dim);aKW@aFR{#ep+I#538Aojj;r84afXKZ;Ck9JYMv()&FOi zD+e|_ui=;rX!ge!G2w$@^QdXfLv{{spZrSfba}^8PPv{tMZV89`6frc$&oKSnlC(> zZ)zf6cr;&lG~bb=%*Eb@GA>P`~Ru5zb(`6T>NtPRB5YNKhgB~LjQcD-=)z% z-RRM%k8_njmpKyk+O_EA?wO*G>vuF8)cAiX>3p~M!B{rA^I<) z>TIF^U86@cTAsf(<=LYt&$C4zdG}bHDu9-!% zj&*#|U|i$uki0Y2y+@;JxAZT-nuq??lIu0ag!Eevx&C&_B>lvnhMkh^e2qCm9NQ-5 z$QN80%I|&{-*z~Fy~ddb8|Mh@VaX%dHDrHapDo&%8<6G`a|Cu?#QK0nm0Zg_9yYCY zk!xNt$4NUG-&8fQ<%zXxR>{jWJ?tyF`%7u((Cpi2;D4%_-Du$dtBLh+zoL=rIv@Ty zjX!@MAo_9jG6pPbk4BZ;#hs$UJsr>o#fe|I@Vd zo3zQ1wr|qn|G#Nt4S7{bJ7k^L8;o;`S2R4e;aEdbGpq3*)NrhUXy)OIb%yxnAa^hF z>Lx#P!S9^gjJ;c___u+3{Kk;Gm5V>lm+-qb#QBmBakItxgWtA|^=I|s-;dYEabCz> zSN!0>AZ2s2OqDH1W%I6VewEFmvT-YWUQv0d;o*iseoL*ib1)yO7(1AoXXa^p^?rec z?V~a`(qHqUe9j6!1^z+$e~kU5jNTMWsgi6x;UXElDmD_iv!Hhgizmp6P>!!Mk7CbHz5?s6{|@Yp zGHHjCyO)&lc3W!h#NL-|-#sX!pP1bF}!+%3ww@C zUeib`*K%IaXg-+ieO-6U`5o++Wzz0STDg|$5MWRpWCZ@(oyb`3u;)Wzx zHthOn{A;iqCBGl*JlB5%Hjb6>E%46iw@>$yDYK=P>)*>bB>mP)u75A%X#K=liak*# z?bzh{_cG2&|Jqo&{=JM#(%)m{daY_38Pns5+aT;_nJQb3%H~(uJSrQvvTag%%C^uPvutaZ zV?>t43A^u`3?9@bjRuJ z`sFK zhhh&-z8U|5Z=uIKlIevX=p2FTLqj7A?-KPA< zb_csLt?#FkzlD83MsL5#HRkWq?^u?*mzO^MqkiK24a@DGVB3FHcH=lkSfw;YUftNnPd zPkvLwZ*BNf4S&Aj`x=gR%Q#q*r2q^8Uh^^~pWK^~7S zZvE837$Xs9hb9g@8t3GH5ogCzuQA4fZQD2=O)JN&sC#mh4YqBfY_N4%-L$8a_;USx z#JSzSaxmuQZVk_BcuDf9*k~*C#*e-@wZxRWZA;zlOJh#LM*E{tC3o8ujqj-$!ET$p zA9hOe$=ID_(mHMBZc0fzJ^hwN?zS)f{nKxI%H7oBUyy$1qFjG-CXV|%H^=?gmbw_X zn_SXHJEvxS{i-s7O%}~E;i=U^m2Y{{rluNUL?o3g*}gru?joK?F;pe zsb~|}cAcRA^iqDguG^6pHvp#Li@cH}ujI%J9?c6L%?lpQ3m(nuj2GrL-ZCsL{t9?&eY5Z?*INF&wm*bnLpZKsUTF5lw{vP7^K$o`y>{ae%8$CmRo*!YYUjdhp1UzD_`sljhq(8e~K|-U+tM}o5y`!9(Y~|&)1*) zuH>h&?`wEP!;dxm^M+%*5oZWrtb6c{aP%Ez_@{k`W*(YY-_TgESl{k*WDbQ*S^7zPJvRCg%}{c;chOvu8r$UN ziW4{}v5fPyNP^wFsUBM?1f< z^sn3z$8CtcpWVbsjyUjW9C$R&*)NO}^KQSgZbaWD$GVXm>o#njYnm_Y+W(Sd*NVvZ zoDyH|ez^+&XF2iv&JcT-pU;}U$G;j@?)-5VwwNz-n(+^hj{kE@d|SSoRoXxF`!{-c zRR5+I>W4_%A21l7CC0HJIgZ82mPySpcHLx;1?$V_m6&q3UnxVhA$sSZY1F8aYdK?% z95`6+d8>hku+i7&mzZ)#9JkQVZS?RE{?IRbq25034;qYXh3O41XgJor)EwLRmoyxG zie|FD^v}dbzW7~3Hqn1UDTCbos`Q=pwG2mNr=~`g+~w!*JL^YtJa)EB9NSy&o-c9c z>PK@jR!@In$xH4IC~dx}{)>t~jtj7_c1yo850MXP*8Jp8r~d(LTpQw-?`!$&JE`j@Z7 z|M|>`Km5rSVx^b5QU9>;DO_QGx^Q%>7f?v5yRbWEuE5O$a3Td@ZvTmI-5(%SxV{d;G}q~^`o zCCRVHMqd!qv}dPZb~i7_=2bE=?Jv1Itd!>({b)XgT|+*iTz7!{9jJ268*9-q<$mLI z{mJVj+rJZ%N3gF*-WxkbzW9Ipw4UdW=s$KaJ`bPSaKyxK%+1q313NK!Uu?v@7IWdm!MKkb zb3ECy_Q@XeDm%7h$DM86Ushtu^?Oo7`q8+yN8MrDE$WVbwC;J$8|{zAeAJnC5q1w5 zz4egm7&uV>q;3u+NNn6Ly-6X0%_n zvh~Vue(AUU_hGNUOSV63+GSY#OpR?O*Z486vdoK8?o zsd22y-HAoBJpDshx&FS{rTR&0`&=PYw&CP@9PvFhAHf=}f7?p@U${HD#P@Z7N||db zCtHTqlZUWw{i%cD+f{yTvkoMC?xcSN8+`#g_hTJ^cYx!(^omjjxsHK|dD>unMzI(E zKG}I*IpX6V!58OC@Ju+yA?&<~vG?{8U#{^%enY-IcNBGm?Tcs=*!sHle1KC%1bjww zuZD+N)W%ri!-5lF=WU;SOvA>~zX%)UgtvpY*MDUxn_S0FoEM=v4&ShvGs`v3j>#j~ zI7Z-?TXXHs`f^$3@f;jVigu+&MMtW8-*--f=ZuKYG^BM-loK9;w_xvK+cL@q+cs|fxn)dFmHBYVygaAruP$}GJN@@!zm@z5 z_KDp2-dG4I7<%~8#vo^kH zle?XL`I#f}pM+x`!M}o!WjChlr(EaAN&3-z9~-hOm`ln&#+Ws%re_k0&F|OcE@x^#cj=2fH41b(gzpIQHxyHAiHBOAf zjJcJ5^rn!jKIZuOWgbPo@NC|nl(T9 z81>1q=EIBd*$4WagGc-B+LHDKeTQbW@6f1vLEoVn?K^k`P4pf5f7*AM?+kQ3 zn*ZB(r|VxnIPjyvyncjzj_dmL%l9U)N`W3veh~kEC$C1@HQ0^A5?y|$1y;|L3%~l0 zCF}n|!p47Viq^MLGRB z-1W0BoF9(K{(T6O>l~b*AH4(X;N%6^LzADx`dZEFv4|FR$@&LRxyYZcOaxKFK`iVagyK!pPMkCiUcuUu`&Ud+fhWKjzq;;+xm6{FE$lXPy z{KqvKE(;@$V?(ZMdptu${2}~u&DXfbx4bML!EeRJGdB2FP~Xeb{~`G8$?wIwTjpV6 z%C){9OwA{-H>bw6POkYrmYOHAPbA+;{9h*D0Y8)c9M;{uCJ{%jdHpRlqrbg|#^cTa zW2oj8zs*Qp{4LFRrWgJc@qKOGXJFlp?|Fh;T zU6+mjTkJPeGY^ei$ME-3voaI-(bOzJBiAwfv-B^-FW30|iP^|^5q`P)JuB`R$j-IZ z3fJ#ehvxmoALm^cm(PjR^|0r7t{1X#-1K6Y+0q;`;}- z*y8@x)r0YO17`5LPoCZIfekxu`VakY9QD)j**E%qNA9jE@uTi&hVjL*GI>+=uybLH zw2H}@xD$AZVyo*y@Q0DD97hq0e%{Bev+&F35ceGNxDps`J&9pJm*32HuE z$}e~CEA@(VT{NG?7j1$@RkTUopWMZ?Xzsk+c{vIpWYl`di6Z1n@xBi-Pk3GgbY}>o_9IR@a_qUY#Mjfv$pX0bj z_sKC1lUr?X>_V(n5v7eMFv!#~n z{p9Ft(yFmd)mTTlwi`Gwh{nzImDN?Y4=UU4mHUP*YxQs3@KD3U4Nq)%Qp1xQp4#xV zhV6@**GR)N8lKhgoQCH%Jg;HTXM8pa5sNbjB(nd*G+a^^f;~FvfC!|=GZOe+e*L4bxp9$YK*h6;iDQ}B9qqCa$PHi^xxE! z4IV8UJX$t*v~2Kb+2GN#-Tp7imT{tN$x*iCC>v@2Z`mjs$NJKSaes*miuE({Ac}sIlN26*3 zHUH0&5uy@ z_^07tuhGZ-maOl~8vl@te=_<*lSg2tQ}}1VzfPV7Z#|~?9e42^UeeBmZ`4m2Zo!V{ zwQLAxTQ0g9juKJVGzZkz<_2;I4 z34Xcr4oWF+e#l$1hiX{Cy()_OD#^+o%3&{BqS#PrqY8uKM^pw#2y( zzg+dlq<#f{x$6DBSIct~e!1!|O21=IuKKIfe>;A;>UlXZ$T)Ocso~Wc9^3HR4fhRi z(D23$4>dg8@EUM`NArv>Y-~qMf2SqM=PRyQCD{M^JInVwd{a-B-qHr2TZ0_A?ECsid84+WX7%QF9x9Rl~M}n*Fik<-1E9 zxjUoewPk9Yr*Tb+epfiw6ZEE#>oGAt4??pL-*k3k+E;QtCT^?$-?`6;o!W4uO@G{n zNshjN&Bu1^KU>Nvci$}SKQ7};!$!T(?*?zCAH6B$`aDeB2Sa1Iwo;RM&6FP)99V`u zzTuM^KCNNTHLL!dhT}Y$IIqDM=T4t1WsY;FuavgkB=x6aH%*>^jq;#3gQSQE0G>4|&t*##yAFIOk#2^+_!a@z{-$U29Kmm`89zqyMai&ujRihPTW3p2x-bAwG}yl=C{+ zevdYRc?_o9)BAjBf5%l_a}F>Le&3NhCoJ21cFXMX;Yb;cZ7bJ#aYAY?Kyz~PCh#&D zz3nX5d2xw;V!ju9g^b2_mbx#6Mu4Y_l;E{p07)dW8?VL*ynQ1OI`n!a$Y@G{_0>{J4QbyAKv&EH5_XT zntAwQZGm46ua}x5u^T139$3%*9!E?*3%dO(!Q1eE&DZr&jVig;J=SFWjwQMNZTcm! zX-~n%J@BuUd!bRbzR2BoO20=Pzh16k zH&m0na8m zoZCH`A#C(D8dY+A2Fd)?Y>6F~(b(p4cW%iy`UQ>c9sQE*+*5B~$aTy_AE6n+7wv|| za>-Q_{r+$nR}nKgj#)$I)b*J*<|!Ig?L3Wkdwekd?$hb&lRNo=5>xJeQTjB_H_*HuU&M!J!7-lEn?kPh zdJEW?wrz}OG>#Lwd#c2ouLi&4LGGR|{u9&h7?A7wW~}~+@|^!J4UaTDv*Bo4^smGh zYb@-zh(3a6z%iD-T4mKDYj<^2}=RF9+j(npPTw>$rKceYj<^WskK5y>mLs0}sL0$C$&|80WC_W3Ti(&g~mD&a?fK zjd5`DG;Ex!qjAhHO#cY>=w#dH_+;aqlspH!G}&6dNd8s1_6G+BVK?8aZ2c=+|H{_C zvh}ZQ{VQAl%0mrX|LV8?m92ke>tEUWSGN9@t$*c_hOK|~TmQ<|zw+FM=QX^bVcWLq z7d5=N;Ux{9-0*1)+vYXSSq-1t@Un)NH+)IMmp6Q6!&f(aO~cnUyrSWo8os6B+Z(>4 z;kz2XyWx8pzOUi?8-B3ihZ_D?!w)z7NW(vF`0<9HZ20Mhf79@@4L{fL^9}#4;Q@wz z?IW*YDzDb?*oN0`xNq2ddNu9F4G%Ru-0;MPCpA2|;i(NzYk1d&M;e~d@T`XCG(5NA zc?~aUcwxhf8eZJ+l7>%i__T(XHhfmYUPsloTGsILhA(OO@`kT$`09qQY52N^S2TQ6 z!?!eid&74$d{@JFH+)aS_ceTf!w)w6P{ZG9_~C{hY52ztKi+U0v%aztqc^`F`iFAt zTa(xQZ^~ySaokVdBK@8(cy6l3YyIiT=VSM2cuvD{+(EDAHI4tZ4SQ~3Of_dWe5w4^ zQqK3Je^=_^x};wIV8b^zd|Sh=MOFXBdaSuPsxlZGMX~P>gylKM|8s4hm$qnz+@PRUAUX60OS)Nzpi@t_EH;Hp#*mD!l z3Dr!(4kvrhW=ir1c8BEISnr9bKMT8a^4{1Zli!40oP09YzEuBJ?8V9dj&;q~zYS&k zw`BX#^<2Me_LIrO`1fGfe+1TT5O%X~DqH8uV;f$(;lAMw8s50!p@waf8gpX9wpaB} zZg^_L(;D8j;gN=CG(4-}IStQkcwWN`8eZ7&qJ|eYyrg0Krk4M-hL<*MA6Lz}4KHhW zdBc}9e0jrHHv9p&|9$x$WsF1k27GJj|Jq9YU%38F7W+uO?Y(KkzScj2jq#c6YyGy9 z=kAq#E!zf1H2iLve9c+@hrbKnt>`AtRY~CN{1$@E?hPR{A|I#5zD6BgyseRV_}X*Y9^$?J8;ySRqW2iqzido=t{ocq0DN2O|7Ow4 z^*+o<`h7>PzYFagsBt3ZCQVFuH0HPdMNItvG-k%JFMB>v-4z>ck{oT4?ATIc|4xv< zUGkFa?<((@e&3Pn?jOT&%_oB~(d;E?cxsGR3^}}Q09Hx`MTgo8U{sQ^CZ)5)V z`_~i7`W(j**c5Re2HsRLThEW6m)QwVYM2KiM*aN3Ovk&g`-e-ua<>`(u|?UwSNxW{ zhkfuImmT=i*`VN8oo`~&DXNa-PcMV4eLka`QTQ`=D&OLLD(5GXBikI(WM=NRll8NKVRTTBwk({G>3^>49Vsh@mr!d{i^wPswG5yw82Yk%FQ2EY9%ciCT`)K8oTu%Ax; z32{Czqj!$THO_a_KZKRLJxjm;LO*eSg?&yY?Qn9fV@F*56Y|784f{hW7N`t4u2w*Pef#GHqXV=nv*JX=5InTB4j@fW0jSNwAA zi^b_5!7tZ*FHHXo{BreQlm1!w!nxQsY>YYZ-h`&C}RBlApoeDO2XT z=;f-9b?=9cy!>1V_SMVS`<=$b=O?Q-?E2HAu|#sWcPU#O*U%5)bL$^1F*|t|&U3J_ zX2Q0=NkD=<5Et!j*TckXDt}%O!XFmUf$>pDzwh!$uw9CGdju%eI9YIo6zHk0bi6 zqlZa(M{Jb;C#6lI{pXatqHWPw$2h*AQ6+a@FJ+E$qB$DhOm<@)kKIp3ZzQ>vKjQ3O z*37-sB+qKtbG7P^I;JMZ9=s>-$Jm3-({bBBR?07Tl)){=FdD~2^cNaca@9-AA5<6#x+&08v9$#SFo$d zPuL21ZkB7vHu|TR^Vsbhc1@{%^Ojw=HcGb5hUK4?m~uDQR?F)(^t-|lf3GHfa>P%L z`0!|acr^acoA?Je@zEH6Z}y%qNzcR1ZaB`(((m=HnpxPbll|N^#sGeK7yVC`yyR|P z$;^kV#Cpfsc|g! zGt04H&D5A$?s5&^u+h9cHRddL3rZO_Z#2<cBF*X@_6*=J0Qh4mZuD4^f+zBt)D zJNcKTE^>ER$t&W_YT_hE9C$PiJR0ZeCeFeVhmiahak=WYEqL80tE)Vv;hh?edZ8b}7xjWShofKMEn(Lw<2Wa5 zyZ)I{U%5M`)Hm7?jrVk;j_}TK`1dd6jPfK$d6J_%$x#N_yw+gvVPi%+z_x#s;nz(W za?JQ%kKcFXZgDAFv=3=5PxJ>G-;wKh3(Wzg{b%Cu;YHZ}8lKzm{Du#2ILs*U5hGt)U6Ep1r*k~X8^WbP7(wbWCjxTkY23xjQW37*TBzAWhy(+oR$2g|* zBM^R;b*7r%mY8vjz`p|DTl6Qtt>Je!{9c)~ZaQd*GAt9v za?16bdE4}l#mdzmeLoxR&GI1Q6ay`$F>uWS#FCLZ}=bv0P#xl-@*f`F@ zZ-r0QPfW+GT<@hU)sN;%>^aG{$BN`1V{ev8>$sEay_DPallBShH)S+K$+b_vrytEz z*k_WT!~RZ2Z#&8Lev9v^{~zr0GMb6WwT`~0#(p2euEy~tS536TLFHcb+3J5+#>Pc5 z{+qCuHvEo;uWk7KGHKoJl}T%xe7)f)1OAtgf80w?9&6c><9;~oz42J|@D)z{VIL z&QNk4SO1fmwTKh?1z|Hjd*;t{U5- zKe#!bCdctKdF9kt_gM4sZwjxK{t4K1|@M%V+L-(x^Bpeu}3xR+EFzZH+*@+S2g^ehOcY* z_T)RUalH7CQnol=TN8c8=NyJ!wrX*LzAkr{7x2-D^vINA#1{ zHEpkC=gpktBd`a^#2lMkk6-gsa||}t5aPTGK3P9{=a<|aSMoYtKbmW?OOsb%&z8|U z*W`N4vfb6&CO6Ay>_@qdu_^iw9TUgrT^b%~cxJ=aLH+Jn%O}skt|R}Uw7FdCI4(6F zbB1Izs^of4V}gF-?10@;Mq`cTT9@tg&mR-l5IZ*PxYs`w8}s5nOBv)E{}riurPlpb z%{gRpjC0ubSzXO@C5~Lr+oQf{9RE=-e#CAVj`@-ta|9lpBmY(6#2k5b>BpEOXvULv z7JGkKxpx%fBstdD(HZ7CD-+T zl73%hV?u3{V}Z)Mu#$qmQYOMjFH zjy6k;V=c;qe;YW;16vR8rS#92^2pser96%m^KyJT{`w=DH9tAVc5;kW*m}fxgRRG! zru}n?FL!S$@q7Jfte<7=k1XfR(dNm~=E>3K$bdo*chG#uqYV_!shVEZDD5wLv` z;}f>cqfOx5;Pu!o&va~z)xVVT$5=hTlz%8S`(TaL|Fw)&)AvU;_ivM94xn*6KQ&ik zmp6QA!%+s(UWhNs0AB*fye5vNkn6mN;{}>4@I@PAS2gUKQvJs?d_u!9 zW=K0%U-}QlMj!omDMO5tc1=Tn7@CRd(WsJZ-$lQmS%hyIyBcdC*EP*!n`Ju=JCb}N zc7}}JzLsm-uA={cN_pgZ?29?OxXguns!0)_{ zweIhw46)Yb{isb+?-+?TLBBI>KUs#Q*qHmIHMLxix$4yHkBzk*ej_|xKYH6uuKGA; z;kSL{?h+MwpO&=e!7;YsM*1z0T=Uu{{gzp-{#fVHo2Oj;F*fi!9_8wv2^-&eCs+Rg>36M`tABp_ zhp=+>NBa=R`pVURJZyaXQ0|;?Y$vn#*;X-r&`iQ7*Sg1=dHk3-H;nknj_E%6wGBHa zs^50$2VLRwcmMKSI_4v3Pr)B;j%KvYQ!}3TjN^Ho^^sklV(g)}FXUQIb>?NBa;@V? z`t1w3yR3|>Xmes7jc*pa@m+7`$i%UXa*ZEr5t_5`Mf;<%zoPx~?^ee#<%Dt`72`bF zV^5zP$9H%H-$we!l=hLkx0SMaJXXIqc4BI5AGv;Z5dA`0Q^?&FC9P|bX=h`j-Ci>$ z=4G^7a?BCfcx$SM9b>U3yr`5%?l$K?wpgFhcwF9uy+>nto@e;d26jDBo#ZD-eK{mv=59v=_aPulNekCf5acXBm6O!M6J-Ol28;=AK?>W``$Q~A?mVP$ycuZ`^wa~u1CGltdv~)^hh=MEvekSr<8fIe&W9#8^?Nn z+{knJsrr+5ZaCTpziZOE>9<{@zAr9ile>49_!Cp(+If+DTKNq3l7_En_?-=3)A02T z-`Mai4R4nG7VImMFULl|kncO-s3ZJtIOYyK1CF_~dMW=4<_?$+nZoV)wUXe^i9T~{;*=}%3JNi?>J+`YAE7OBB+JIFQP z7`JDXI@)J_@}0?73=Rx@NnWGW>l^9+9rgze|E%F($mrcRBfT+wrhdnUcWHQ};U&rD zduqe+do{$-e^%r78GYmHzo_9$8lGTz&`iR{`T(EI`@5!pI@YyMjlXH*Yk3xS@5b+I z{Y$V1Bp-#1_Q(G!cwYMbu1TCf<3Asti|D8I9vzuJip1 z`pNfE?1Rbn|Fg-jB>rDz(hgzeZiTJDcjS4`w7X;DGfj8`9N+suKa3{6_mOMn#;Koy zjpt6$OhgmUo#x*^nw6S^v2$cJ_Pboy2cJDP--X!ushNyMu5~{$HJ4)-rDiG`xoTGD zb-!jA=W_RfQm;AsUtjK#x^`7|d{o{rc`o+l@>(U1T>p0M=BaUxZkc>2c6%AU>x|sl zDQvNZkndseOm;PvNbWvZ%I16hnPUcCK|QW$_}+$}X?P{;o_aqstL*1qmHUR{IpNg5 zyzvh=9OpJ@EW7P)9Q!}kw8OToOg27T%UgDm)zY{`r;=2 zVU;cD9VhUXr^T zOMlJMf7Y0|M|D8MhcvvPVPjSOddYLJG53k%abu(OTi2H*FT_T@(Ab7s=wGMQQLe|1 zm`7-i#y2H3)=RGEpVQNC4dgoZF4h0W^2}tMA0}Vj_^)mF0}aQxP5rHn|KkmJ$(~O- zXUyv=Y_tP>4IKRlzaNe@5WWF+ysEziyQREtsk>aC)3#mId=$G&YOK55-BS81)(SNC zNsKGv_>SD=GmX(-Ximg;47+)aO|Ef#&%DmVo|zi!B-c30(%)m{dfz721k&D#&sy|n zmuKY6qwh<-Mgt6eYE(GO~36U*YByFk$&4puKo+tzX4XR z{*CpYJ0_mtjj|=rZ2a>ZUMqQ1t^4|=P2}#@Qnq-HI6LDTRs+w*#{7a^A7ZT_t?eM! zcGw*@rjg_>+acBg{I-K!+hGpezp0!PMq4FEy+`+1Jz`RDoX*~hW7K6CE#`~GrW``Xvu+1lz^*0rC*Ge~Y;PZeM@(CX!`oW@;h1~Pu2W|?^wMwgQ|B`0eO{G5 z+3vsdsa==e|4JvHG9O%L->*q0pSiGf&QD)TJWPLwzE9%vyB6*rne@?#k4jwjTlpKM zmE()oVHd9h{R~$OWFCTs_5X z(DiL}>JKytex2-!q51@>=k8=46$4VZ&V$RV@pVV8P zaJ8OZ_47CBtZRJLKTSVGT)WBYT-q*flD32Ev}u>byTLnH{%~BY5$gX1v-*^FiCJGf zYPTd^j9&V1wp}aU3XgL+&lIz!OaJd^WtINlf}FiSrPCJrHs&pTTKkmw%N!HqDd!Sm z`iVJRyVZ_mWzIN{N&48t8#^=SOW!J=0nV{+l=>?l#=VS@Jb2;o>?Ee#X2o*6mWO^Q z$7|omSciCyRV;mYn|)8A%!i@YuF`K}+Qqp|O-#F5;m&le)%pCSQyzZm563-$^{!KA zIO@DJy7HN#SkAkYmUM8WE$6Y)S+nIl*4r{lf0OoH#nPYhFu&kPI{}aMdPO+OorJEm z7b?=~+U;q*>}35w|HS*RvTy8cIvnq>IY+PE*}GSLZ+{QyT(04W*~7}U7uRR$@9=*o z@tVZFlvjBAC9V<=OuSX%?Gl%!h zeJDO#I{OiR<^~+^xmwZP!})F0zYUh3T;X{Cb(!nT6FB80Pobi7dR$0s+IL2;~d-|!5pG~|JmY;bASNkgyJ(lZ99o|y>h4VIg=`~n><`^9L zuXep&5sta{f$KvR;m`*#*2}4hoi5`xsd8PPTJn& zDds$(+|w>U;}1tY%XyLaZTXEX=h38;H1yPibdMI}4AvUGY3v z`83H7M?SoU=SszC?inKw9G)5OVH~ebe7*ad<%h%1b#3zOQoO@GjC7+4%!;#NY*V$v>cn|xk>#fq^IHtUY zuKd?3zV7_C;!0TcWN(Bce_q2+9o}_Mn>=uM$P3R9dDgjSsyuLb^r!xx$Mm};Uoz(X zTJ0`-uU)R;I5Y3jIZxlgnd39_yVl@yRUDt8FptsuD#BH}&7b|ymCpplvbW2_D`jur zMWDwhJ);gs!txAIgd=~U{!c@z^ZxLzR#rLY-fh3DQ_?yg?H7D;vXd5%=s~*^FqaP9-=yYQ#{1=Zz+BXR$J&3IObtF50t-0S~V1D#`Tlw-Pd>I+vtv9T-HE0p#|X_x9r zJ})a?3Cqu33P(Qp@N_EP49mkjg5z@sUc+;b;v86>dgsVzuItP-xH_!2{`LRsQ)wB; z3-qkrYuC^&Nql+Y8Huk?%<(1C&Q5$s;&Se%{M)5%;W~Zr31`~9opXm`StIf{ika56 z-E55DihuOjLr==RL9v|Ai<`s;pv%wNfvcVMj~?Y*S|0lENIgm0qSy?}&nUsw&uqMS z4Ns@ycvv3h3>@Ft|17#ZcPTPI@Cae7`#mNx;~V;f#M?S^UcvPTJjW^S=*(Ow_21j-30Etv z4$MjXrzo=CVCq=LT7K#b$8W`qau4IUKRiEu|IWE7>7^~MZ{#|C!#LIUvHHNVC$R3w z^H9aoE_tW}9D8`Zn6$J2j$>;By3$hr-JI!@GMD71960tg=2q>|-sLm%^AooxX8gia z@64Rq$(cFD`o%L%vGkjB=_@hgb`+j{t-Wx}lVj24xk8a~!b5xE>S7zCvc9DA7aTfs zr8eC1d@%7^_%YoZT-U4D-xL2UG1q>>vq|D|4&Z5PNiTgXo&MY1^I4}@=8tsdLRkyq ze~Qc85VJ3&`l>QOZ?y|xxiwO{J?wNy88yk^QD^2~@OW5$`VFq$wf-sd zS$Wcy$?l;K;TYf2_9yK)cr+g8GQJ0<@qN~qe#C>f9+rpp!g1Uw?UGI{;JClKjF-~V zjzje%Ep>*gKU$qPLO;mLf~(c0vrcMX?_I8s&PaTH;+qoBPJBn=vc8m0hqNux54N)4 z_&*}cILdQ_vy8DEUomjJhT_C-ZRf}V)E%! zJOP%6zK7#je+s%h=PH&lm8a$${l@W?w2TiN*XS-oSK2Qr9s@sR=c28NOW(TA{vV#L zoTn)646WdIgSll|GS9zm+~& zY~_yD-?eY_F87?4wmUzR^lv9#m-wT^WsM(Vd6qra>si*g@?0kz0Ivizni19PFaGWMNFIVk5fF&nQ>vHYKK|5a2(f0p+9Zs z4@V|0>(up@q?fixA0w^2e-Tsn(k?N5%kjO|WM#o|?zcC(JgmDi59OgPaP@(;h5p4e zUU6gi8T;Pxrtm1s6OQBcR<4r|96D`|wDqvkQUV;u9p+GNar$1rbD96nrO!uOxuws2 zZEoRdn-y6PHF>B59CM={UHLF3Lt%NS16+M*?JeUaeSkDL(lY-@%QF2S1y>7vMbIJqq?cLFsG6@1i?1cVRwH<8!{?^4XbmKJVJib$GAD!xJBrco)xq z55?V_8}xcDnj_bW+(A{&C^FB(;T*prz!m+NIL-@H4 zTGo_2^dTJIH7M6_<+(uG6!+6-*E;il>o!ag~cY%A} zS9}6iKFm$HT4$c8(UlM5QjQn$)H}y_c%OIAD~d0{@-UC!m=C{ly+ILme_@9fMN?&^H5;$F@dDwb;|%9D9?F!~r<*Ko|SQRwnaQ!MjG zp1#i2dK<4(+;fFu*<&*Sx0d7k+rw@*-_k$w)8}xd z`%8JyU-&00mVI0NU*fY|pP_gmthDqx9N(>AE|T`|iXF~hRJ_4?q2ise(lT~%d}#YUa`#cqpY9ds?IukM?BK$PdGk*X>^@hz~LY1I{g5LzZ@@A zZi}=sMq=u7ik{RHE^Ah04Ro%0TOFplhjsiJ__^NYJ6r9EZ-JYw{`V&Rr_N*4hi^Eu zAC~KQ$_Kq%$8#>nQ0H==iF1p5QSOAq<^Qgdr&Zce&!2f+j=$2!OXnC&+LIO8qv1mp z%N~d>&lq&opMHj8o-@DkcPoC@`E!cQ`XTCG{wDT*9OPrrq`~j?d7%w>9Z~hWp<^ERjH_jZF-ht(3p2M+5-g6JvF#q8m z<~bbSaVz(vDNn|W>wVZz@@%-@PrR{SFZ+pjQ!#x}8*BXl|J(h3^3>!h zdyANLQ1%x2=@U5mtyN5&@to;QpR~d9_g93g!)*>+<~r*Ij`Q1V(3KBqZ*mW70j~O6 z|KH}GZpAsy_`eLREY<=X=VOc9!!h&O#7klMSr_oX-S4M5yd~`yc*NT%|JPvoStD@d zzuNVBML6!?`@nVPDI7ZQNyw)`8XS7L-%t85>Hp(?Kk1FqhvN75Ys1J#bsMKx?)MY3 z*OvD$@-zN$)RX%XqHoJSEI<7=8eM+&Q8@e)U1z?)|8~Eh($1E479KJ8^qmJQpCWv>Z!4~Z<)0!y9PQ$@7{_2NOS> z_|e4m&i5GSJLMuejxGY&a)M_b{?v@9ek|yCmj8`gL~+c2KV%Jt~Rx?ZgkJ>ishKA zeCS&^`u1S=+@&}MmWRHDtIaH*ap-Cb{d&AJ?I_1$>9nJai_+51aP-^7V$#k~d=1r*FS@n-q*R>-1_HO{Y{;xDV9Ewhkh>SCrzwq|Lqrft`P5|XKktdE?Ma}@rBw0 z?rxgU`4nZXyg7Mx|j8^d+HV8 z_#AT~x;#%Se#7}}m9-dFSwj`!C~K*Eexmpz=c)4l3YNb?5squ}|LLB$6o2o$R*}Cc zmwECothCH`ILi9F>y3(VwWYPIm(q}Suwpr97W1B^{64?(87?mz`IPsS(nm;#%CO2ywNeL$c8&gVqf%lcE|b}fR? zx%?NrDDg|q%M`h#0ME86cS+){^>?HloOs8?yCfc#c%Q@vBxXFwbChCPcj5_Rp6I;) zp6bkcy2!a+d2~A8rC5$}^6w;_zezh+@or~y&JXBwb%*_a$R})$J?@?ria&Kvf9Gl| z^OX6iw5m>3_kyiFtdDu7L@bDV>un(90R-Sr!;P6l$9zlcY1i2k;ObO$h#o(3o%Ie^yK6$}QO;?V59=MS#+m**{3`2jitoVku*TtP zFZ2A#b=Ei>|M&Dqt~00L>H@0+?{CTTV#Q5h<=G?;9C>cxI_nyaJhye7xd~S@EYD%+ z%5#L`UWxaCmH#;T;poFA_pq))eThu5gX*@~_1nJ5n& z9?HXWoZ>Y1Op*tVwqNUdt8}=!+}d~py3(>Q-Rzzz^1#tQcevgr9ghB)hpw~>6(33b z7_9cPrs1fkKK3jAm5TakVFT+@Z1K0t4~PFp?s--5C+?Xh4;&s|qYiHoC!?Av6 zxZWilj`e$s>vN^Uv3?(Ly<0jQYw)Y+s^?n8$K5ke9ysRVv+j9OaY^FmV6}a|{BYD6 zA9?;l@n!cckOz*ozv22q>2S>34_#j*9gaGDOyfkJjMql6%3UlE9OZt(J^QIYw|CDH zdEmHjYESoEsyNa;J@UX&hhyFIS;Z6G^P)U()c-7W)#o6U)#je1^1xA_*{&~>4##ge z&p}t(AL^L?qJ^Xj_wD(nc;5bL+zfvO~UE1x%e|Ldrg*2TETadhQR-JWpII(guzTaWAOrNi;t=_}Bc_6^0~ zIIq$n>}^KxKPzqqE1&-Iz|oc+T^}GFjmNO)peyb3itVt{axMc$-L7-b?TRUNLo z_0r*}+c(g?Zcn>ss624g?RTy>NQdLz*Cy4k_OgA>b!6gW64#u^C~gIRTAk_~^Lz-p z@;O>@7g!!m@xn3R%4Y}i93;KGcb2EWbG*;uHS#%5u?g0}sztHX&AHUgxztU(p>8Mq zZ|Ww`hPuh~zpR@)8|o&{|FUlKP&Z8j{l8RJ794FHi~eK#UP-wo;5;emlM|nlc!2XM zikrdXEq^%rd29EyDh_t$y2Z}0{ImRhhX$a9{w(e9xx zaE#0Gt`Ag%LoaD{;y@i*^{k1nRHVFM@(sQy@wCLW5zm=K=QhP%oi9)V!6hmJcm2SeB*uyJj{npVR;xUIQC(V z8R#R)58dyz<`@uZcXm&cJaF{+p6)qRkw5z<&mEJ79ywByJuLswa$e(M2 zyhkPNIO%X)o8mn$o(mKwyN5j)j{HC8`grMZwVmxhSD-8HU5eMZhdBjD+FM*_kA$O7 zHqzgrO+3nZqSEpj9{Q6p3mywA&%TOq^dUZU)-oLPhdw3k zXO(B!Tg8`3YeScxH4aBUWv`RYx`tzpu};b79>rT>d1}s)_953<*Kn-svQCwj&xgN` zNBn2S=V0Z-8i!+zm$fMm*9Bj8PrY-L^&8jeZ#dTYZ_$-@f3^2*_cSQNk@f@ES>tfb z^N-M#mUY=%PwK{cha>Hlt`C0Le#Ec|o*AEQN;t~cw9JCE8glINGn^Q+|1oA^!4-mCWO?} zC(nN*k1h^u$mc(kM;8V*)a|#)|GVVZh1do(_Z#W{)D3-F-t>U@VH^BcWO@vy|lIiIX}hV#{mWk3I{ z)gP{Sv!%yndXf(wp74E&H^TDME;!mtD{6mE_y3FOr!8IIFxID8S!Jvr=g8vc(w??n zf7j$8e>mntg?_rFg=0RH{B?1QaoE;9q=lnyW6=Ma#?g6e^j6Cgt`4`cD4)T}vtfMY zAy3Mv7FeD4^|Xv5Tz$>-a!gTL#<9$kGc5lyE^B+2y=OdWou?+AnRssEMTwUselzj< z#N~X(^DoC)=OeV2Q7+f5%RL_A?~9kX{(|Dm&Uk*B_|?RW9r@6{ZJasompxW`kGPy~ ztL^j~T#-nRvd7BvV`(jVlFzpk&xYlvKjAojb-2#{0f&B@>jS03F(1l#yYhTR+WqdS z$pc4P+DW<1inJeIp~$07%!7IdQ>S3+5lq>^lo8A^IG8>Pu1`EPaYN!^i5n9SPt36` z@*J7CDe;)Z&56e)Zb>{o@x;WF61OIvlDIAL)Wq$HrzM`Act+xm#4{7mN<2GpXW}`D zyAsb$+?{w{;`xaeBwm2Un^BjZc{?D-R%M=GA`%zn-oQJ(?M)fn3Yr@M!9$?M%S z(78IoJd6ctYl?6++Vrv~d}!Bm%3gY=wS72#>4z)cV9>rWkEAOXV zKfrZ7BNMYH_Z7bZ z%TJ%fQHSrkK1dOcz3wNj(#|n;UR-l;wF6`rqt(E9IJ%_$F!7T>qZpRf#{J z_zQ{4I#Sws(wKuegUZbNoQ(OB6@LXIcH>YMj--%s1u9 z8aft_xI^&-=Tj7?z)IWKxjNR;PIb>h#ZLDy-{2VQvR5e2hon8`9_APveY-FE*;cnw z2WQHz{k?a&AK~=Gr9Q5ooAgp2Ps_cndX=`z^Z#!<^{DAX-fI*;mzcR2`c^O>H0c3XjaG*;|E1GLxZ2nBJ;bEFOz~h? z9@+>;pC5%TPpe{?Z{iu^-st*Znf0_Oe6E#S=BM)~+|!_VkTWhyubpRpxSC*nz8`w8 zKE0Y0i{H6i#}=3Ql{`Db=UYB-HPP~+Jn~`Q?d2ZY4p&rG5B7!H$NJd0zw=PV(uY$m z&(ep!ca?Va>r?J8n}lC{wc<_A&nPZ&{*~ejiGPrIS>jg`f84o8k@-RX-&Y*uJVdeV zY0_U7*Sk)i>Rpi~pOeHXFx{&@V9^uFf-EsQ=TX zPcQn6`3lqI(ud+Gp|(|@GS~D{uiDmq%HGC2fa?{>4JIv5m^o19t=Q&~^g(^f`CdI9 z=aGqzNIW+2@rkJuX`2;Gxnjn)tewwUjp1rL>#H)>@=zb1q-Fi>>dZc|hjWwSK8eYp zHqG*ct9I+RThO=d)2mytGx1%C?@hcVe5vIFR~K78WvrFY_Ra3Z=qcPmbI590|(KIfs! zbBW?qSYA?lb`~D-OvTa<^3#WKobS;uc%D+c z(i#73Sbq8wj{e*XeQ=*LhGkC>A0mx9)rRyb{~t&>-*YbYaV}%zd`|K+7Lm5p$32zn zpHbZ0`4pmat74gx^3zuKO7fw7WloBz<4&%_%+cEAHZE|?fqh)3|KaHWay(K#?b43K zBfeCz=+iA9)@RMRv~l}B<@iwA=v><9T-xY-Icc3|B)&dzS!?pp#xlpmw6U~BOx?#=06odSS@AGf^`wn(HO}w-F8>{hrGLcqP1$qAjOSVIfyCJSJN#| z&MRu4>Qm+;dng{p0*>`njzL5Fl!^?UF;Z|lrHQ}U5MNIcB-7Ddj1@WbV} z?_9?BDyth@F^TlRhyQFv)?08ZEI;*xE7hL|K0M5^^Ak^lomG)I0`0#fsmhpAI z8D0JXig0zD{?P*;{-+i1bf#|?CjA@EyDFAFXQw{pyKHUf;%gKyO#HdT(-RMLW*oPK zXITHhv2T~-vhuuGTG?mhp-gIR#WxcFKJlu= z?S<==<;+aj&uIAV(Dl3>3=x-bFzC_U+u6w^f?@#B{9b2`HDU1jsC?6JDBx2p5^bYiaaT#8@Zp*Y(a{f@+sIImaiai%UGIpZ()Ym zWgiwd$h(vK>!kBHo;?+JckU;h_Y&xg?QrM26i33`Ea@C;a}2utjNt@W9_9)BZ|6nw zbV@tZJdGtg@a_>`we};>QzzJ@J9GQE3lTEOSPDzg{oLHSwv^C%R{z zbpFPFh9c__M(1z%9K|Wlk4nE1R{fa+a9p47K$rh6#am!`YR=Wwwg&HX&n1fZ@IR>d zsPkIIpF4kDvCIeM!#shbtTH#07XOEOlF#NEi?RmgXP&^ZPjU|~9>$kz@$eYMyl5Dy%g>sI!;g=)JfV22^CHDNVEHG>4~Kt${aw?SUC8Ie#G5%^tys=;VfC8iWfNFuE^ej{v}1`Ty6J0 z<=P2l1edx=XTEKZew~d4TwQB>(Jskf>MT!RX>iQFa^9;i`g~GrWGsI1RK>}O&q+Mn zd7BqmS@VXSjOBJg1|} zbDrXb&h*=~#Fr(W0V^Mlad7NKGu<;wk-jER+I0^s{{ZJ$%MZDSV=g}YwD&n!{(;Wb zt^z%H4bMu&pC(=b%U@H3D~%(Mm3rd;K=G}_@5AyBQiLmA&*6a&KmGrY#2-0xuGLph zJRJYa`GE2ntk>b{c!3_n+{5R$<#-|g4$_CaeyC!(?@l^A0$usk%LB*yD(7{dw|+iC zuhqo#A!7;CKV@9RwEdUpdszSc#(CMMehwoK?JaE)Q|I!zr2OktW+QcwUN61e`zL*t zw8^dymHxOh$Ds1vXL;r*|G%S)DXWgXQTYs$hhqcWC_ck^xcC~_{f{O7R`TmB0VVAS z`G4y?QhWq^k@9R3Kjl0|+yg7mA1c1&Onp`)?x%?##fpv){>*#DdHwrb>=5l_$URYT(%zg(tcV; zu>5WE&v$*i^nWIQAN`GIsyy2};~x$yAN+^8-Y)$e*C}iBjm!fd2`isz^6)Wy)aP#J zW97NuJ=5iRGkN~z`V8rH{VgB*r>`^pvyn6X!%xFU{)fBXDt&s=A5P4F-HpFXTk*Hu z-zNWZ*STc0qn?rHF0l6rx3xtd^3fL_{AamNpR946e)zba_&cNzbe<{R(s`D66s&yk zx41rA`suF!P;+mJGxM;+J)QE*ai&ima?h_7pLKnX^mWc%;=OfYm$Jxb9IU#{mEP*y zExy=2uP8q0`aJ2I3^4zE@laU#OjSHC@oDa9l;=X%DeDT?7fAo2v#?jEd%6_ACIajQ>7EdPs&aQIu?GeNPO*D397 z^0RL7FI9xAXrB zJXr%#E_I^Z*A?OF5~~|!;NjR<-Y1GV-o1k^|4KzT@_Y|np1&%tamN3F^B!W(14#R( zG&t(Nnd_^h!%_bsuCJC3M_J{4rOM(sybB&Nzn4(X4U|9S!{IOYeaSOg+F|aeZs)`D zuazH;`jmS|rLU7-?j4x z@~n}ExVpjGJJ|I>(&4D*?yhq^2af#9dt2pyfVAOw#P=)zL)~95KOFus?%};{xo#u> zJo(G}U)6_khO7ImjVIxk-XI;W&NuyR*ExTLBmb%B%JX`~i=3w^UhMp+%DN0zo}9>tm$DQSSHAmG(!9OPv>~te?Xwt66?H{J(Y&@8e&0eo^Or@4)hplOGPhzCKa% z*KO*(bX$L6{QrXG=e}&Xde_ER zvN>TQSJ`tO1q2VQ0Es_)*jCLDmFUL zRhRDX%QvPt{f3$m!R~+Yz|0G!cx$?vDeO`Xsg8JaO$UWWi!10@P z{6+?znTl7sXP!K8e0TLG*XK)zE8d9c@kMl{ovV1Kdltw8N7`?>zEC1TS_Sex>*87UTbI%fa;3(@KuJ=fX<9f~jfB*HObU1#ydkcU6b)@1D_binM zj`|$u`ZDQo{Ju9|E2YnuONZn7Nh`YQ$?aZeyXRGT;Hal=F)3+RNQdM9a=j5%3O+eOURdmLHCF@uBN$q{GqPO_d)1TIq0%%bu>UlMY9_j&pszbU5^LT<3;NIL=|N zLRUSnQ@qBRzMSd&Ma7$7)uFG_!cpf=_xx0Gu6z2+14kb|lswP4hw~RW`tW8rH*HW z*6c~Hw@ZhkZfCmAIV~LXa4NdWnxS}!d#1|+M_D(yK0`WO-RSRe(3SR4#XH>7ArBmB z?{yF3((Rs^^1w0fUw04xh2qQZnI#V#efS&KXG@1;?f({Cb@;5R#D5vZxOd6}M?d%0 zYv^;N!_m+DBsyt#Qsk$2@pQ=pNBy^U5B29(7(8?3fusKWxZW)tjx-qs z(LXEDJ^we{vqT;^`sW?@&_D0Gr$-(*`sYLU)XDP?_q-?%9G>m;8uec)9gaTvloFjyxx!E6;Nkr#fGvc#-pP zT?@Q4@l}a$gw?K<$`g(}XS?SP#oL_sQa<;<^1mrR9CPUf*H=l0qkopWzFImQbLMq) z)p?cTTh3oq{1>eJ*T@e?KAWm+^tICA$Y*QU*GY$?|95tMy>vL*H4I(l(kBNvAEJ1W z^ToP0*_8Om#3#V2Loc20!;$Ai_nfA9sx#MD&xYmiD?c24HQjYSH-@9m9q6jtT*X`5 zGe90V%DUY>UsjysOj%FEDr=zpaP-^vT(3!oqu*AbtE@{E-*As^n=c&o`J?NDrNdE& zKcg!x<$mCvdU@cuzQKo7)Mu!4INs}R=6Zv4IP&}iy7Jsjaga0l4}q1BJ|-(1>k%LR z6BPGyPoq3=)c;`D`CJ{2vPPkM+A+?Q)eNhw5%R-P7G>a{q&UGnBjtg^bEfM}(%~rU zTy&*nUQKg;N%0z3WsQ*^4*yK|^eEo!%=PsLVfmZohhuynbA6n2INJV<>n+mZ$p1U& zstYnlPz;XTUSFTT#4oBMmKv&w|E3S0r+WXtE>NZJ!IIg*^bG=nM9ChyJ*XO55 zhojD0y51%oj&ip_SGn6O4tA#8ot$@9Y)CqPQ=h5I2aa=zeUoRjd)noJtBZA_q(`%R z_$=ZWXUb}UmFG11;TZSJ+;f-W&F+~l4;<~i*Yz3F;p#daSoC-hUF}-0_?UY-)I)bk}+^_(R?9QFK*>$9c9QMXN%27jk?IP@W|&yfztzOgI1 z%H2zGm@|FA-{=P_?h7l=E~SN|4!nlve8ti3nJW(*ebSsfC%UIw9yt1Bvg`At!_g;g z=*pjdxWqm4<$=R9-93CJRX$ta)4oHuzs95Hd~o8eoQEq8cIN(+o#B}}7C1-#!_bw_ zp^7|fH<;&Wc&|Raj#E6>`E!aFCNBBQGgaEB(3Mt~AqrQ2u=%;G`^PCB?jD_L6^`Re zi|bl)<-Vfmx6@o7s0c@$r=Y7`KA$O{6Y=I(k8;n9m^$2|XU%yDtj+d&iaR?``+%Ugi8P#rqOJl=zXv zPbMz;D<9I`d>QpdJOtaHl}cOi|s$-(B=86BDbyJVXWcUGfzU7XMy6`usn<@ z9RFv~RCIZ+QM}0cDMjWt{sGRh56pC(v4*2hW}_>gF2y@wrL8$fT3*AmSn(8iAG_E6 z`ov#JyfSgQr)!q=L%FBR|DW_--1DX)bFwB6{Q$@RDO2XBblP6#=d+d%>zO)mzZvtB zw6qtF-`6_Rb=nKZ|21S!Ge&!?`^?A;9<|G_*hA|^8Wi5x5w%$4Vq09|=Zk7Hv z9`TcG>2%jeNQbMv`-wEq(LL>~#GQ$|V3o_9f@A-r zJkrire8@db^1x9yUc>X0BA>O8&lq{&@a(IUT+;`$lvC1*Cx}bh+5eli%QH%zJv{Ax zihCzM7*<-!g5&#Zhr3RD;b`yC=*sicipM7YI{Zbe!+Xx;S^h64>Ev?_<11#bc-9%u zoA3dB$~_nBoHy;Q>;H-S=x;pe{S%kHPC9*9+9>98mL~m;pD`?L5py4C8DBB;p|r*I zGQO(YK<5=>}e|NYtrVrr`|d4 zdFD0h{IX&>ekmWuAC5J}Yk2;k_$n+i}<@zS`z2M_xO9Gcz6xZDn&legZpXR-*+A$UIVKw%}NW$KC`X#WQfXMCZT zdE)xUt}~}Lb!IJY?#vuxY)DJrmbrSX%_}&{rN8j7rg+p2>{Hg`M(}Oshhr{%99>_? zU@e#Y54PiGncL1+;&HwHx>_qV$7w)-POb zPYwNhSkn7D$MO11{Y|;oE4IV(3~-J-OMmJ@7VEgQQA~Zy{wZdyZJ}rFcB>B@eYhjK zr`^Rp)C~?#sq-QBJ<_%gk|DSk0~DrLZo*C(BKR;-8buyWyQg>mVB_m}aNhjPpK zewk9dKjoP!<{X~Tu(5?yI&BV65OZKO}osUsZv zx#&uJg<|Ok=ZllhYk0n(I3w|Oi5bh9Zj8D_@tnjZPuI&Fo@0Gj&H?=W+ScyJ%id9w zhrWelT^xa~d>9|*1RnYmjy<8w2YJqr#yJ5V`VfxxmU+(2`+C6DkF0OY*h!~cxVqQ+ zt?Y-ofV{J`Qm(!rMjc8Uol6^?S*tbid5YzI%3W4gd7rXqBdLB(MmlBfq-T`HnkOy! z?+?pE8{ufgIlbrFMG9g_Ch%N?IJOL>JG>J zycAt|UZZ#;EKj|2{C_U@x;|79j_&WqI^1~-RvI5 z7ml>NMp<81RN)T?%%>6^jF*|EFm$6G!{*N08iz3`{){GoVG zFi+tVjknPsweh;wQL(hqnNrYqQlw5W^M6bDeyamqUDQwi`Zam!^aH-?YSVeG_8B|I zRnFwe7@$+ny_|L8~4jqp5R<-*mimVep*PtyH7(oVwTJSlOhv-HnM zD{btyeBk)M*c$Omr~YvKUu1y|p+acOp)ISj}DgLWLc(zYrd3{SM* zSSWQC*XsOQuJ{7Iex-Y^Q@qug^-1F3B{6^3#5KiD;jdU*;K&~z9?myL!;|b9#Zig3 za6Uq@oHx$1eBkJl?cFn0aW_~V>IKJf{2cVp+Iz97i7!cfdE(Mn?xzj4uUffq++R`3 zl}=f3oWl&que9eWmbEW#7ne55&$z(xn>^GT|D}p$jd;1^UB6zj>}k^3Cr(FKKJ+mh z`J9C=Plw{Z@M(QYer0Zp`)KZ$F%{3%>&$69-%wl%KWuIMMdClWhqUh}{%hj0&v^dq zHROqZN9P8`ot#%I@;9D670cct{K;^!Kx2^3s*~QZa1OJPoLp~_g6dtmY=?b zV{V*+F3$&wZLmD_8yx%pWv&lYgk%3Nb3kdoF75Mp#P=xP1}h)t0$erp)4zU=OCI|3 zVLkB-a;|nY&o^BktO&>P;@jv-`;uZ0thDvcv0iu$&w9ll!SW1sj`sfCJ$35;*W5#Y z!*TA)8mv8HV-3gtAk_auVe6WD!}R}l&Wz`_@EP`9x$<6MzU9MQuZi(r>C9N%>`b5E z<4iw4=1d=!wks`VzU(^v^A@bK4pm#;b>?{Wr^IU$|2^@)68BXa@*(XeiT8JIQam{E z-k$aV#o^8kdi_x6F^Z#{50pL@R{iT0;n;J^I+e~Cm37)!<2jTVS54@OgH9Y_9W> z>hOo0A5nZ1mY;eqb*2S_7%!!rpvY%_c+k&roqVPy?o51_^Sz4Qu+lQVPrCkl#c~Z? z`atRYh8Ja#=XQDq4@QHm8erRLF znn7ng;rQHy`HenU5stlj9J=z{Px+tdo_a+%_Ug&54^@QY-mvNDO3QiNRnC{FKlmHH zTk%F%<_Z+8qj5B`b8ELtX;AH2s6#2jI(Bacz z<;l8)qh0hDo;ix;^BQ@Ygw&Z^OKo_)oCvJYM<0QRiMN z1AU@&IPx!_Ir_NpyJM8KjpF8s%Wvo@?Ib0IBTwp$|1iZJoyRB+h2?LR9}d6%)NkY4 zxkq8$INDE8*2o1mpU=nhHQS@g{CB;~dFg%i`Ym`|?@WAG;(HU9YYy_?Dy>`(5i|E$ ztK_qzV!bnaIO~u)u&2SXmRU3S?^fIwmS=!-tmT8O`JgKlqCC z_Y@a7vk&w*L^bx-Hh6wCRTJZFi^aaKH4%y^KN z{yf@wn&Nn8`j~p-*+ylRxgnk-t-KEsKPcvjXR%^=k1u{${JQJEReZyFnIdh#|6gME z*4jn(TZ^ThV(N9M>qjV_lsv4H@R$Dgv}GQOPtoff*YUI}GOjRf9|AvN^B=CBGp4`r zj8ZIpA|5U-@1w=c&ExSXZC~f=yOvge>i;#c_u#w+Z%X8OvHhMiPMErs*PgVraQy!i z!d`WrCHVxiPJ&qv!OZ($$_l28VAf!8ePY@hI{hC^JA)e&(-)zSNIWueQ{pj+n-h;q z%$$on$0wecn6VB|YvL)1+Y(Pr+@5$^;^~Qn8}k2ueNJ!Kb&~&^eLh2FME)I#XC|JN zcy{8>#B&mNC7zqOJMp~4^Aj&fyfE>i#ETOzN!*k8#l%Y!FH5{U@ruN+CtjKO&BUt` zuTH!s@!G`e60c9(OM7qhKj)Ca?8(6c67wE1bgn4}^FAebaN_#JLlZY79+tQ<@$keW z5|2#Wlz2?y=EUO?wJTLM5#0wHHOuQ)Z;>1f5_auHX@zTW05-(5uYT^}%Ur)R;@tcWPC0?C) zP2#nQ*Ck$`nDg@(yS|AzR}Y>0y@CfOt|cCncyQwS#GIc;J`IU^e;qpSjf00L9+8;$ z+Tm$RJSK5-;&F*v5|2+jG4Z6tt%;{3Zc98haeLxviKi!?k+>uA%*3-2&raN#cuwN3 z#B&pOC!Uvhe&Pj*7baemcyZz-iF*>in0RU8Wr>$3el_um#IGk_nfT4bs}iqHye9G5 z#Oo5TPt1qtF_-!#?w@!-;(>{4i3cSfoVY&m(8LXihb3-IJUsD;#JWXqL!Fxvk4fB| zcwFL^#QGS1Lq7Tla|7#Rvkk0E_8WLgVqGHKpzE#m2G;5R2A-C9dg2+0I}*=KJS*|+ z#GQ%fB<@N)H*t63d5PyIUXXZU;zfxUCti}cC-IAkmnL48czNPi6R$}8dg7Id-%PAi zm<|2hH*x>O0}>BRTuVGC@!-V5|Eu}er~HQ|Zb&>Vabx1)iAN+JnYbzOn8eMA$0cq_ zJU;Qn#FG-|zRmrX>zwP8%gXsoO?l2pJUj8+#0wHHNxUra>xowcv#|* ziN__Llz3|58Hr~no|||<;w6cfC4N2e>cs044@i6X;Kaick4!u+@ub946VFIIJMrAa z3lc9$ye#qSiB~7i>vTXGi@YBHPdtND+Prp#B|Wc^kx9>ML2|D;HatDbzVUVAvR6E1 zT=s`=7}v{J$EK)9S*PDLE^G5?aEtj*U}~vhJQWE^F;u#$|nd+qhM}IyP55 z+TiaPx5LjFPlvy2+yS!z>oE&{-nbKf!MF?lo^dzKCauSO`1{5S;g^gT!#^YdaQzfY`g~kiSau4r^daQ&m0i+=nwzQcp&_W@gVr; z#`Q1<4Lus*Ul=#Szcd~J|H`-t=D?yyGyH4g7Wg&eiSTcXTVW19dbGj+VcZVCVLToF zPvZ`l1C$=K;NKc|!oM@_f`4z^4Ra9FV?O+r@k01*-=+5d2r;dU&mI1N>jcjqnG?Bj68> zo8WcE&G6rhTj0MNPlW$r+zPKZZiD}6+zx+aJRSa*aR*$kz^eb@I(83zw;k?n+y(bB z?uPps&xb!|yb$I`^z~Q_Z)Ds9_cvY&Z*06A=0`F0SOHhYE8zjgtKg3tuYvioOg+}Y zn;G{~GwKE!_lGw(9tdw?JP6*>xE|(5IQ3|NKVjSm^TYpojDWW`Zh{9HH^bW)x4_#P zPlWlwPCZ)T!NzUyCym?TA;#0;?TtI&dgEE}4#u7Ej>cW^r;NMdp~my!os1X4I~y;C zcQNjP8;qC2yBaTtcQalA?{2&j9%j4>=0`^LSOf2Aybj*Wn5k38kB{oXFxTyE%#hUW zV@&te@gt>r(A2u&##F0rKV!0}oRv`QcMN z+TcTs+hP7Q2R)|4hZ%Rk6r#s0c$9G`JlePmKHRt)9%DQoKEik*e5CPW_$cEZn2PJM z6z0cP^;iy%HC_Q9W4sdPM_Bb(1s`j?20qSs9elhoH(S)T825)iZ9EV@!FUjSqH#Su z-naq&jBz78!FUAB55DTr1Wz<>hEFzbflo1>2%l=)3Qsa_gZZ&oJ=)>ZjHkn=8+X91 z#;cJYi!`B*jz#Yc3;OmS#;p>gN;LjU(!!wQN z!#5Z&gl{xn4Buqj1J5#E3V*?PIefG63iuY|mGEriRqz*$*TA0kAS~y+yr+SH^X-ux4`!p^LwOq_ZqjtbB){J z`;6P+`;Di=4;XjA-Nv)v2aP-7hm5=6uNZg3^Ni=iUo~C`KWw}he#E#3o^QMqe$;q5 z{Fw0y_;KTv@B-si@Yjsjz)u*jgP%0!q`z*Vaew&h#slG}j0eHrFs_Fe88^V+G;V~S zHXZ>#W84HUHg1NWHEw~wWjqo7ws9-G#JCOqj&VEuoH758Ox<^lJK!GUS@845o$w3B zUGVpeyWtm&=fmGOUI@Qrycqt0aSy!Icq#lt;Wvz@!~bdA0k1Tk1^?E#6aJlX7yNtUZum{(`S4rD3*ono7sKxu z_rR-+m%@KAUJk!&yaN8C@k)5L@hbQ|<2CU6#_Qle8S_Pfx;4iA;XfPme*@M1#dr|> zSL1qkt#JeVU&f8_2gW1d4~?7Pb;ix`-;7(}zZ*}4|6$w;uQzUk|7qL~e`Guz{+DqF z+)D>EJ!ZjvA-faqZF(2n$G98rYdjzRnDIimpYdXNBjX;pzwuIdW8>xUCdMn^%6KI_ zz<3q>apN`crpD{w&5XIhv~Hkre|U4_f$$c_gWxTV>*1Pl1N;f&MtCdZ5%AW=P4FP& zW_TOp7I<6ZiSTyDt?*#uHu#gq?eGxe>G1Z(9dNzzEO-awPIyP-F8EW%-SAN3`S4E0 z3*nuO7sI<4_rMLtOW|FOm&3amuYh+qUI`B~UIp)AyawLWcpbc#F*lUeH5&Ja_ck5~ z?_ZiWvuZh;Rno(Lao+zO90Zi5doZif#w zo(>;o+yOTk&w@u8cfzBMyWqo(yWug$^Wh_m7s5vxFNTjY?tz<)m%>LIFNen(uYiv+ zUI~vgUIia(yaqnbcpZGaaWCDZRo7zNAO5uQK==gXLGX#j_3(IOejBsyGscbZ1mh9# zNybg^L}Pvfv+iVLe(SRC6yu5Tsm87FB;z*tv&QZ4X~xsx(~UdeR^wUl8OELPWaBRQ zOyh2Nit&8-EaQdn*~W|EbBuf7Hshu6xyH-k^Nd%(=Nqqtry8$o<9t3~RxE`Kn+yGx{+z4N0JOaMlxCx$a%x_@UU18h;UuirMzRI{2 zo?*=IUe;Z0+zwx3%x_)RU2EI{cNoutuQTq1uQ%?3KX2R(&orJ7-(b8DzR`Fwe3Nkx zJj-|~`~~CX@Xf|6;9HDW!n2K6!Cy391K(=A4!+H}*Jk2Qf zj2qxD88^ar8IOR!Y}^EQ88^ds8@Iss7*B-nHExCH8n?ms8Mnjt8&8KHFz$f6jc36R z8h64E8F#^7G46)v8PA8mYP=AB*myDgh;a`*-*_qfsPS_6G2<2Rx>zZIPe zT6#={{rdlO*suT3g#G$|C+ye%=fZyde?IKj{};i2{l5q1BAFh`V88xfuF3oL|2NV7 z`hU3&@7Mp=qx<#${#+CG>;E;_um9J>TzJ!C80^>oN5Fple+=x`|65?c{yz!!>;G-A zU;m#5`}O}0n2ULO%!d8?e;4f6|I0l~e*M2(C->|B<+C%t{$H+*`}O~FPmy2$Ur9b( zAk?FLj^@|@%QbMn{@<7Dv3~u3Ane!w2g82-zXA5^|HEOw{@(<1(NT|auwVb52>bQ_ zDX?GvZ-@Q*{|wl#|IdQ``u`l*um5+$T*%a;eD3Dg|I0OMzy4qDIq~cN<+`+A|1Y1x z`St&DE!waDmwQ6u`oFS{>;D5_zy3c6_Ur#cVZZ+02>bQ_k+5I?Z~p(7x*za$-|_zA zeaVCnLM&UeSO_5&LdZ0lg%H0GLI@#*5JCtc#6k!m#6q*s2qA27^L>6h z?&r0`aXgO8>pZXPzTbc9zCQC#eChdrTzu*Ie@ZL|uBVX|UwZyu5MO%!Ulw0_{$CSc zdj8)OUwZ!E5np=#FF$_g^MCo)KcD~0x83>tU%uq$^MASB=kx!Ib6~SRJIFHU^MA`} z>U{oh7hhg8F0uTVr{NV}K^+iZQ5_avNgWeg)k*P{)fw?s)Oqn$)g`e_T@_zV-4I`0 z-4E`TTz%zOk-57T-iY6U!IsG?wC+vdzAy84Qjf$TwS11!`TYOlO!6)|zn1yCsxQtVNKdS@cd#JiPV?B$gkV)2NE?t!{|#qi&1utG+lV zjH`z-e?Rrb+2H-vbD4jDdL>S%x8et?FU|lTq?XTdKA->F#PWlC8cy+p)gJLf)PC_p z)gf_89Th)Joe)1ZQy-UVU*E_XPD`=AWoG$yrcNZ52OB?GQg%?G`^p?GxwKLGe@75%JU1 zaq-jDDRDua6+c5=5I<907C%c}6BpG@@w3$zXJyY(_htUM>WlNSl6orh&r@HVi9KJv zmiZT`FV4Zr>Z8oRP;HSjnHQ<;;uou3;)>cUeu+9DeyLhM^X7d19}`z~UOvC(eEy#i zze4Bp;#aCm;+k4Mo92A}-w?lA=iB1fs4vc`>gu7)zgB&5HuXC7T;^Y|zBrF+sJAlz z2KB`m)Em`iIS=_awN2bqJH>BOd&F;6%V*4-&;LW>md?xPcc0Jy6XLh&d|Lc=bxtfV zXs1yWze8OSzf&!r|8hS6zc?@I=zLe^->tqlBYKZ|Ec5SGUz`hd)k~RwpZek~=>6)w z%zr>_lCy}O+A98_+9CdsT0UF+eE#nf_jNuf{;)bC{)jp*{-`=79;oHBSkCAF1@Xsp zUOpS;eEwe(4|TpN{cZNLl)|-%zs;baR%}owOO9WzpJ*1mujc@ zduosP`)a@V2kMY`rH+a(J^xRLf2i|m@&BlE; zW&RTN#hJim)N7f)toq^{K;H14#!==kr?%Km{wuXze0jA?Y*Bl~S5ODUS5$|^S5n8s zR&`Q*Wpze;6?I;GRdq=$Z@N#TD!!V!A-=l0Exv}jC$_7H;%llW;%lkr;%lo{VuyMw zzK;4JzOLGQwUhr^Z4=8I|I=`auc!8i|3>W>|E)SCcB!M{zf&i~*H@>-f3MDo-Rh$F z2I`9VhU&WbAJi?eJbau+S9~M&Kzw8MSbP)pOzc%J#Wz)N#5Ys##Wz>W|1kJ`{%;lE zLgyXgTdLjSTd93wc>p?%p!nA6i1;?@xcDE{DRDrZ72j4}5Z_K+7T;c769?5z@g3A1 z@g3ED@txEou{?yG##DS~^+J3X^;&#a^-dgCAH{c5TTXvR;e7sY7vEjyUE+w^EBqFU5~nZ^Tbf@5N74 z%O9&gpZ{CMPttjZ_{nOw_$g|iIIj+hpQ?_CpQetBpRP`c3+k-+8R~-gnd-9m()0hC zxTy0@@w3$(@pIID@pIK9aY;QDKTo|7KVQ8Tzd*ecm(@q{3)Pm>ANx6<|J%hc)_Iq> zqV|ekq7H~(st$`^rjCiL>ZJJP>Wugm>b&@s>XNvou8Lo!Zirv4Zi`=|?uqN_q4>4x ziTHKux%ltp`TXA|ZtA>K{3f+W{ARUZ{1$ac+)_uyZ&fG6 zZ&RnmZ&&BUZFN!n4s}I*>G^+M{4Skui9719_}%J(_&w^e_`T|xxT{`@->2S)->=?_ zKcJR_e)+p@GOVxzcEdh62uI*JoPx9B(|N9p0$he`;?udLj3(TH`(l0jV;aFzcp*NW z@5orgJNO7&u4ClwunYEzPiH7H0&p0P!AUqHKAk(r$ipSL3OC?3+=GYk1fGje&-OA_ z@D@J6=F=bdI_GV$6ZXJxD40eCftGh@Ccs53wRCh;3I5t z8u!5tyI?OIfWvSMPQn>D50~I7+<@C~4<5o3cn+`NEqs8@r#}RE{vNQwPS^wc;Sd~! z6L1>N!9}3%x55tC4g26A9D(C-3eLg>xD40eCftGh z@Ccs53wRCh;3I4~{h_GyeXzqW*b4{XFdT!Ea0br9CAbPV;5OWYhwucR!z*|TA7Hb~ zxON-tggvky4#8140jJ>{T!brd9d5y0cmR*#8N7ry@E(>A?>T?nt*`@j!#+3&N8mV| zg0pY|F2gnP>0Cxe6YhvlXBIO0@Ccs53wRCh;3I6gzR}+fyI?OIfWvSMPQn>D50~I7 z+<@C~4<5o3cn+`Nt@w2IA>$xEJ^#xv|Gi-w?1VkA9}dA$@#(o*MgmU5Ik*T{;5ytA zpPpA`bm0L!hG*i_bDfMOyn*+y$!+AVutR)$Mv~!%eQ*$tz;QSQXW;@|hHG#W?!bL` z1W(}wyoPu15w_gGxL!N#g1vA64#P1x31{FuT!O1`18&1TcnDA6IlO|m@Bud8(71LR z?1VkA9}dA$I02{O99)Dea2;;JUGeGJRmK1w!!vjZZ{R&FA5?PgX%(NI31v87H|&Fh z;?r}Kj0hZuQ*c&%diIb}fXi?VZo(b750Bs}ybzz>-^*CTJNO7&JVxFQyI?OIfWvSM zPQn>D50~I7+<@ES)BAN9J$MLD;5od4x9|Zr-^l21gPpJk_QN4KDn7lpmXUzda87)B z-zlRASKvC_g1hhl9>X(u32)#%EPsUhydNvzs@&e1OefBV&V|um|?TAvg*r;53|ri{jJkkc8OG z1~1_ayocpOGS7Rk!VcIC``{oPf#Yxr&cX$_4A2%f?V@#%F=#v0ziN7!;R zBX5UYuon)%VK@dS;S8LIOK=r#h)=IiGTLwt9>NoN4zJ)Xe1Oe2H`cPjPS^wc;Sd~! z6L4C5dcBd6gNtwluEQG!paEt`pFo=6L=1<;H~&{%`y(K`Ig4K4R*pF*e^cS%Lu_yI02{O z99)De;?sX*)ZrG~g$M8$p216aBfgdP-^22U_0RKG*a5p?9~^`ua2!s-S+QUDP=L#D z4Q|36@vXJC50Bs}ynxr@+i2|$KEjsMzRnpt>=OT@)_UOp92N&O6N8g*Mtob%o8r&2|wPy$J!y|YKFU0?% zwQG0>A7RVs_v<-thh4B24!~hJ1}EW+_+Gl7JY0gSa070`J$MLD;5od4x9|ZrpI$dE z`B&YW4R*pF*bj%`D4c-Pa1JiQ6>&`WP={M^7aoZ3t@$xLgO~6I-iz;}wekU0XIo(h z?1p{f`)X|vj=*s^1!u)^tu4T1xCS@jj`)6B+lNQ+6kdq$ulY5+gO9M~^qPOk12k`k zU9cApz+rJhYh!Q{&cJ!NBz~aQR^bNRhI{Z({2;BJz;k#7Z{dUZ|7orH^xoub8|;KV zupbV=Q8)po#YtT&2N&TAT!&lY2WxE?9>8PqLo_pkm+%JO!}8&W=UOZ55I3R2jT{hSWdtg5tf}?N( zPQy942v^`b+=9FC03M5T`gNJXOLznCVfmx{=UOZ5fZebU4#E*QE`E~kCk1EW0$he` za1-vpeRu><;RU>gckmImoX!}|d$z+a@ssshyl?;xi=U#I7@UMNa2_tfRk#7S;T}AM zC-59z!CUwMo9|)l-v&Ej5A26Sa1>6!X*dTL;R;-bTW}X1z+-p@FX0WmhfSw5oAcMs z3Oiso?1O`F1dhWgI13lxGF*e3a0l+gBX|lg;5EF1kFe!*&UC&HcGv}b;Q$1#jU4Y(AZnov+;nJ7Ev(heL1_PQYn62N&TAT!&k57aqW4 zcm^-w4ZMd<_cE^C3Oiso?1O`F1dhWgI13lxGF*e3a0l+gBX|lg;5EF1kFe!*{&)T! zu){9c3kTpZ9D|c^2F}AJxC%GmHr#`U@C2U2D|ibZVDstR@qFzz*a>@JKO7S0^|dbw zC*U-kgNtwluEQ<3D}Ji3HGs$P3|_(;@zb<+51USBsONbr?10_kr)#Yb4#E*Q4yWKO zT!71P4Q|36xDSuuskor~T)=C12OnX}={)$7XK1Y*cEMga0EflT)Y=%Fgfnm+E{UI| zwNNiJz-$72yh8 zhg)!0T+-SBJceiR65hajSU%YP+|vp>#Lv^U+^`Q0!Vx$Qr{Jvk`P#Dpm*E=RggbB_ z9>G(10k7d5d=$Sx_hUKz+rrs)*adsx033#6a8g{>{uwwAm*6VgfZK2n9>NoNE`Fh| zyMnjyLHr`knD1}c20LL7?1w{e6i$d=to_q)4lcqKxDL1AE<6xdwEq~M!Ap1}eu?Jy zu<7(~KIeHW>=3_H^KRG&2gNVbOazX@DL5;xYQ6xM;Tqh8JK~pXZ66-NQ+NTd;T?R0 zEvJ9Ky5tqw-wwNAulSXk3BX}ECa!5F31{HE_*I%I!Bw~+ezj)Wa1S2B6Y*;_KZjTF z7CwmUnm3>R{q1ZU>=eINGalFvhs3YbOcYMQX*dTL;R;-bTW}X1z+-p@FX0WmhfNPM z_HTt9up9QlK{x`(;S`*O3vd~(!A-aW_u&ydg%|J|-oZ!Ma{9N>^ViW1yI?OIfWvSM zPQn>D50~I7+<@C~4<5o3@#`=B{uejYD|ibZVDstUX3u$>_zha?ggvld{6@`$;3%Ac z)8c>Ad=4(c6>(EDb+`q0;Q>5`XYdlnc$yI~(3gd=bqPQh8Y0GHt! z+=M%DA0EL|cmc2B9eji>4>9h89d^N9H~@#?7@UMNa2_tfRk#7S;T}AMC-59z!CUwM zn;&XiyA5{29@r0u;3%Ac({K(h!WFnKev|$zw8U>#ci{m%hG*~+-iY6#efF>^Wz1V) z2kaKNOc%ok2jK`Dhf{DCF2H5D1~=gj+=oZ-RQy)c#aO^=cqe|_MZ|Q3Ee|v1?XU~> z!U6HywNDt1!AUp+=i!pLt$nI+18&1TcnDA6IlO|m@BubI+}MK+cETRm4~O6=oDjc5 zuPY7b;38as>u?M1!UK2=&)_Azf%mZK5yn2Pumg6(J~#+R;5eLuvv5KDPQ5>6xCS@j z4%`>NOKV5)6kfn*eLvR#Mz-c%K7vTzAhg)zL9>8OG1~1_ayoXJXI$h&? z^%||P19rncI0#4JxVWo5Q*ah8h~KA~GF*e3a7X-p&G+FEJcSqH4`_Z3@8BbBdGsmY z)4Uya!Cp8Z{-EZ=a12hu88{D@;HvmT+Oq+-;T}AMC-59ziT_=DZs7xL&KMaR>=gI4 z)&u+D5FCXQa2n3RMYtmVu&z~yTW}X1z+>@8v~~tB;SIcpO^-2Zt*}G*Ob716Bk_M~W(qIhwRotR9eji>k3D5Rt{FS*g1zET zXeI!M;TW8RGvZHbZ5}ScRk#7S#Uril!9#cg&*7E$zqED>A7Jz2PMJ?>#s)iKkNDG? z@xviF3Mb$+oP&#S1+I(7x>gJB!UK2=&%~e6+9kY!_pp2@*Cn6TycKr9ZrCUOoaTdY z1dfX*nn}S~xB!>MpVxd1Zo(b7FaCn&NAMJ0z-#drHNS(8u;uYa#tys0Q?2#F0XQuF zl4fFX63)PRxFr6v)>h#L+=hGb5T3wu@mI9x3f{s8*!+Z3ex`XF?1VkA9}dA$I3fP3 z_DsV$xG4UbW-4$UZoysg*EK(Y$M6hZ!W;2iYxl6}iN?GYcEE1&H?-CV2jK`Dhg0Hj zYHb!Sz-95bG*g3{a7Vn*OdlS>Q+NTd#oyN29eji>IU{3-UE=R(trrf!VK@dS#oyK1 z44j8ca20Ndms;C~d+-pRz;p5Uv~~q=;R9@b(kcIa&D&rn>=FM!Gk!P(N5w16B;Yih z6aTknif{$4i+`w@7Tkpg;{Vai7@omPcq3kGeh-_TY|L9>hxmUr?}mMF5RQm{r1?0U zg0pY|E{lJxwKcd2cf=db^x+Xa75_vt3wRCh;G_7bnzuZ~upM^6Uh&T~AArMf3{Jus z@m6c|a0#x$4Y)1-xz_gJAv}TS@Cx3-2iTlH_5VNZZ-bq%NBj%T_~8&774I~YfYWde zF2WV@FSWJ~x8Sb$SDG2XV|WHH;SIbO|62Q)o@&?%J772LgM)Acj>9Q93m3$D-9s6! z!A-aW_u&ydg%|J|-oZ!lZ*&iqrx~`xF7al@}S-2p!X}%2C;3nJ=UrqCU zcmz-3h4|{4U&A~22wRG${53Rhhh4B24v6K0vQHxn$KWKK5nogDdAI~u;Rf7>d+-pR zz;k#7Z{Y)MezvhU8|;KVuwQ&Fy_S&p+Uh8rfYV}!W^!;5uE2Hibu{0CyYK)Wi?6Hs z8N7ry@E$fj$EdZ!4%iL*;2<1<<8TVj!Uebt*Wf1Hf&1_Xp27=w4e#J1Y!U6H$Tyk+w!s5SG$KWKKf%9+)uEGtt4fo(7Jb~x% z3f{s8u}k-Ce!k!cETRm z4~O6=oPg7C4lassqW7T!*Wni2g$M8$o{7EMa|v(YJ#2chk+;GQ*e$-P_VmF)I0DDv z6r6<%;+tvDGF*e3a0l+gBX}ylx%OPZYj_7AVN1oRwZkshEB0ys033#6a1zeIdAI~u z#kbJ@4Y&>W;2}JL=kN;N!Uyp!buIHt4BKEQ?1BB_TWM_wj=~8zE%s|Z2N&TATo>P3 z^DVdw58yF86W>N_m+%JO!={%Sc`NLI-Qs`Lo<2ATN5lcm#Nia2g$r;QuE9<5ZMA0y z?!zN^3NPR_yn~OhcNcGv}b#kbS_1mG|n6W?AlNjL-N;SyYh8*m%$!9#IS*P6g{ zcm;3agZK_wYpxo$!A{r%`{58A72i>NCg3!jgNtwluEQ8O9NHa5d32)#% zY|N$_%7N%3m4!rT!Wi%2kyfocnUAXchz;*@D4u0mRA^g zJM4nJZ~zX&F>zSeO~M&C50~I7+<@C~4<5o3crL!1?qLOQ;e+^}G-H0HVH@m(J+NPV zcdZScEE1f2M6JZ_@DK<;&2Mi z!Uebt*Wjl39@?`5_u&ydg%|J|-ihz2J&&;ERmQv>cEMga0EgiioD@fOtqh!pOK=r# zi2p@v+i(va!V`EdzL(an;4OTB&964{HrNS!U_TrZ|EsPQg%fZZ&cQ`-OlvD}9d5y0 zcp$#F){fyByo5LK9yYzk=wpQ)up9QlK{x`(;S`(|-$(acfXi@Ad|%Bp;SSt~NAMJ0 zz-xF1A7M+~Sl14_U@shi!*C2v!WlRZm*6VgfZK3S9M}6ZgeUM^d_T>s;4OR*-(NH4 z*BZ9LPVoaYgckmImywT`m7e7XOx?nFH5I8qUE*@#8g9f$MM! z?!p6j4A0;tyb(V^*V@CTrZI1Y9k5&cM6LC~K{x`(;S`*O3vgMS)BZKM33uQ=Jc6h2 z0$#&A@so6|BW!t-F>i-muon)%VK@dS#ZT6?GH@O)!Bw~+eu~z%;T}AMC-7XH*V+}l zg%7a#%|_lPeyY|wVGrzwLvR#Mz-c%K7sXH0wJLBOZoyr60FU7ryo5LKUi@@j*Yp;{ zR@ec%VILfXBjSSgjKe873m4!rT!Wk9XK2q3+=oZ-6kdp*skLi(2OnWe%gEcs&(c~K z?1ckx7>>b7I0NV55?mD*b=?NshI{Z3o`|2VwR3m{Z{Y)MeydSygPpJk_QN4K3Mb$+ zoD)Ci5|fM~T!HIwOZ?nRF7jP?0FU7rycCx%xv1U1d)V|gBV⁡^%3t8}`9LI0DDv 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

^> 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

p8dzo(&hL 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

ph+1I6asaxI0H@c{9c>l z#TjUl7iXYJJX4bqXP`-5oPj3sGEGLDfhPG)8ZXX3le{8E6voRS6YGaR!>?#TjT4=V>zhHl30eXP`+LaR!>i;tVv2muT|h z3^d7$GteY{Sd-bVVQ~hUlo4m3Ni5Dllekxt7iXYJUYvm@@jIH#c@2v*(4>qw15ILa z2AafvD3>a};tVv&i!;z97H6PIT(8NCGteY2&Onn`oPj3sW=&q4fhKuz2Aag;3^a-P zZEO`DaR!>?#TjT4i!;z9KBdWvGteY2&Onn`oPj2>I0H>$aR!>iK}@=-=ZZ7XBtKK* z#TjUl7iXYJEY3iaSe$_-u{Z-w;zu=q#2ILk@78#62Abr>8E6uVGteX!XP`+e&Onox z-|SZ57iXYJo?lQ^yf_0*^5P6MiSslWaR!>?#TjT4^V^EbA8`hnAJDKk15L{Fd+N#`aR!>?`HfDsW-ZP@gU(0u9(jrR4bM1sE`Q>G zKO`_bqv|Bg6#VD7Mj7RGHVERG@c`wbCKcpNS<1vY6 z@(0YOTd{^C{X_E@_m6Amdib8bKJhLp?^EI9JcJ&;jw-A#fn)ek)#CpB1epHu8qMFr zKjx(}yhh8lb_6GG((&R%B>u~h;m>zrDX&Zo@=1YIqUqOg;D;|)w0Q0HqlxC zMsX19T=b9eVqWY1b)X&TEM*VG#O;_`4){436%^bP0FzFV$RFyW4T7g*0B=7XLS z{LNfS7`J%aJMsII5Zg%RpK1%(mg+|3Z2%;(dis^*@*$(QRacS=N&i%xq}=7|hZ4~WI_y0$NDjNJT%o2ST9 z|5=&8%!~C*u#YjHm3b#|SiWfgZ!hz!mZ{S27v{4v|5=&;kKWE>a|^z##Sfo-x-(hI zrbMPVwd0e|r+DW^RC;u*P8tS{K>Uj#PP_1b<9}b@(W{<&W#5}S-re%S+5%Tu#_Y-G zl2!&TjUk-$%@|JyzD@(KUe?X+^1u8$8`Oxh5mxN-zo?NL8rF>P#~1 zgY&)U$l+A6ueT3wtHK-3R`PR)_Z{DHX3P6)eSO9F!pzV(WRwLMhl}3(U3$27dWMI~ z+vutrJtACzNQMf-5mTYPMG6&JUXuaoM0iGq1n)fd^} z$)uI@?vKgzEJu1CbyCx3dUK8Hz5E}nt=?&N+Qx;!mWIL1y3vtE=O_7{3jbi1?+Mfie97-?2c(=|KAXzxDOii#YDww`6-p zuNk|uKeq5#?2gm11s7uTPnt*E(O7Lmtgb0``^8Zcs?DlRMr|U~`fsoUcQ-fPSdbAi z3ta7i+nWM)4T0J^YeuTdgCnN*79$L)`2nlx}?}u++%TZR$&(w$So6%`)aJZb&llvv9&qB@Iy{yK(@dPIsOA$9c!IbE6Pj zV0ogmjGKNcWTH{S@)cYr9I4^H^hAIs+<1#+J7U&WJz5mA1NS%ut#EKajBc_%N>jJm z2Ok``#pwDlYhqeF%&1$X#)QwAof8aESM9!Z=YBLJ7wo{Iy-k+4A#hK~Gb2sAl?3AuO5rU|~-DwiBN(vZ^?kfARB5hH<#s zP`}V(iTd)OtS{SSd3q4_1=m>I9y9}Y_6HUo3*2!!u;4;qJ_^z|GX9T!B8yWPG{fCY zhZb8l)OA+*kHfr2$y92X_o(g2Y%0u^T{42mTlqXjF{{&WHJF4+-0Q32jKd$jV*Z5N!{|k*j z1MG%nIDZYR{O2%R#r+~M4gFU}rR_r?_-wi~lpzkn($8AEbsj? zEDd?$@v!7shH1zX`(eqy3QI$txD}Q>x79G56h6mmJgw z6Fw%~Lq#qdXeAO4&(IK$xI8qt>T)8i|E6DTV8y^9lxEyRX7G94r(NZ5)x9~iTg(I$4QmUV`-@ zJ@h+R3H`9j@b^vX2VDM+4EsHM*zX0ye%~d3e+8}&KCB&feXIO^QC#0bvZZz{>TwqvD8O~F1M16_I)-9iW^A}KkaEb~g>Z5Zjt0oVTRh0)<<26P} zhQ&QNT4r+Cxz(szgAdK$EsoU^Dd1vD3`1SpC5t&5MHhQB7?wO27nxv~ZZ2v)FcfuZ z#qLx2Ba7k3`jaEPcfupXCc?ws21bNOK3Di7tLn#wN8T&^k@pIJWT6-STq!Po@mSGO zxULk2fFmQqAThmD>BA@~>?fA#oJTCvIjG?fu}rICVwwI^h-Ek<#5VrHOovtcObven znD0|R54T&xTpv;VK@Ib{&ytvVl!>tz4Y7(B^N8|nuR_F-VZ4Y{yrz(cOcUIh#E@aUh*i95$V29C zxDCXRVZ4Y_WL__lJmW>I;zfUX??$-I#JHF7B3AJd@kO`u8*u-PG7|S{ctFF08vdz< z|CfgUUc+ZJTqrTiCYG1QvwjGdzxmvo;g(4J65NQyx5DK*A7wZgnM=%sf+0>}!o$pi zrOZ*d3ne}d_a0)%GyREG9xWvg`BQKoB!&#VB~Fobb{l!fJO-DFHSrm^e@qNv<^{1z z&##k*%y;2FO$-_43vr4M|6q8HGH2l)B8Cj}g;@E+a>jSMe*(8h!_R0~)IllpeU1O` z8h%N`hc!G=;%~v7Eb#%j%mY4`VYx-(7vRn$mg)wvO2ZoRkne@Nlo&GjDX>bzFOmoO z5ZqM~Gc4`IkWZFa#r;cCW)Ix2Ng1Xyaf)nvd5wM!!uXBZa4Z6Jm`^N2XbkAE;rU@7xuxDOCR zhWSFQ^6^pfkYPT2RbmbjMP7h^72JQ3{C>Dk62l+n9kI$6rZxTf3%HyfrVR6rI3)l8 zlR_Rc%)6V2A;UUCtYr9X%5Z>otCSfB8DjM;-cK10PPraW%z;}2G5loHL9FB{N13H? zmq^S3<`;<}?}t3GYQxu&hdj%}Mu|D#?Ieag^Nm=w=TAyL2%cE+yr2HCEd8a#92CDm z41bun#H!6dD*0mY#Hx?u{q%=}<+mi}9>$*&!ylFlVijNUEe7yxYl%~A0GQuX9{z9; z{gK2R*qX5PXF6nvl|Si{p9!8=@%S0vx5o118b!v*Zx;y|=9x>jEq-G7uZ-IB#xkVt z74q_4rmwn}X`$|A_*@7#O%1HV3pBh$!>t~oX&bxr1!hQ&TNDf7O@dyr--E-Y6Hv+Yw@>~r%tac7&U-VL3p;aUxg zeQr{InZ~zic$0?3J~t`9TjRSm%=aeMbHzS4DgUy@AJy;)4U2tlQvN-S$ACNTr`YF) z`bZ=8xk)Vcxk)Vcxk)Vcxk)VcxkzbcVZhrEAKSWR^ z#H1yq*@m+XR0duOla2qxGsQ1_^CsPC`}nE=@8>nPqgC>^7cNaL?B)C`2e140j^-b- zHtwHjJMmljx9kf3tr+HCC?gR*CXWgq^$R_|oA5gmRvF6Cd<9kyUkChSyU+Ntn^FEf z3#|LM9ltAKl~MlvB?#TWXW<{)ZTiRVN%{99VBNph@mn{%M)NnY#7rxiE6KfvYwXTG zN$!6^X83bo0;i0M#~UE@cx>_^{ct1WktVOP9DD?;`^R>jX{wC!?*kCJf7>y3XCFrY zP$c5%62Sesf7CrM;<_@*Kfb`B``3cZ<+JG@f*SX4=5YUzKyNG0q#S?p`(L_$oMvUe zNB>xEc#ZM>!Z82XuGAxp%21Am`o8X8CFTj(4$?n(9rtgo^sksV!8D=*aLl9(E{pVd z06?le;?ge2MU;?~;ZM=WYW&|oE~x#ce>9H(=;1qjU839r#>4ktAgAu(eZPZ$r&J{I zTV2~d%s&qr63Q{YIk3Ei>4)kNFQb6QPg5{9Ri5Ctf^@ZHH8x@urWk}Dyvkpe8`ddR z<^hdou;hJ#KpN#A-j`h(e_7V=_kZ^8;Aig+PEmzqSXl|-H_MHxla#w$otz3@uaj%= z`*L-1c$xn;$`Np_%{0c0OEOc5@^`$xnV?wwNCoL}%lqVG!Rs+!L>^mo8mmSBD9#Z|F^h zp#ClYu@7Z`%08X#)Mw`3KLuv~`#bdp_e|oL}mNZrT-25kFb9S z`#)g61p5z{4FA9UF`wP}?~?-5NjN^OfnD$kk6eQ5EwF8{9k3f=H^V**+XcH9_5kej zu>aA`i-_RMu!FF#!=8YB2lg!Nd$1qEdZ0vEupH-deEI*1LFIM&p8r<@{8>0ZOM!ob z6kyl&ukj{=I=%q54VLpJT!(lW_8nNR8F21tChQ{Ejj)`ze-ZW+>{;0NVTYR>5FY4= z$*`Pn|CgG7&AtE9XENTyz-Q*O6!qdcV^8GV^@|t9CcYXiAMJ=xIYi~x3`Znn#bOF z(;ai7QIFA_nR9nTG|8|`>zbM4chNieA^hub{1cA6KS$l4KQ?}U=G_f;lA(oT$bIbx zAH3gVEts9ub+h$wwAq;8OK)!QS;z8sWn$l2l4XkLJ;?AkJI@0~7I#%PbSF0~GaB{{ z+_^K=iWa!Lp3gB0JiGy$qf*a{JMo^vg5o>U>nnQ)k74)cwB`3UMXQYLJF3tDBvp_9 z&753%*1m6G!_I50oduqNVHCLGSrWYRCZ3JwH8#}DzccTTsvq;VL^oEf$lqA~*yxSX zmWmZ$Pj0f^?YZt1`75g*yT+l?HilbDR(yR_i`|}UuE<|d{aChhA=9~#y3uaQUGa5q zi*MtY75Qb=k4KqKR@xY@DXD&JN~2wqTm9JNMqkaC>c=Jq&4@cc_a+9%@?FM~ zA8sLsx%j^GS52;S&oGNT=skMT@lE#ir9-+hT4C4~BIoN&E86K1?}$wcA1%o++%snu z?-(peu^0Ay1W%&hd4EpS%Cg*x-7^<%t4nJ5&U<$^)Ze^qW{H3BsqlAxH_iToJ*vnn zgN0xqt*m5gZ2cqKQtoTJ&)@c?q_&Ozg}+QCS-f#qTU$rU!H*OMVoSRqpIBhm(wHwr#rn{>)~d z8GgxMx+gcKa&x1c?er0i3Vz)KzO=iM=`R-SQ76Uo_9TvwWi#zLYfG zv_EH9*LPyMX@(Www0QJ$laE&R&iq1><*~;2D|Xda`nz_&bz8K*7#Vi#h^y<6fBIIn zNAR5agHW3FR1rr-$lD`kr)gLgQ>YJFkh*ZuKfQIy;$v9Yu@^dd?cvz*d1uPsM`s$DhPD&X!PPPEAo{hGjdCTiEYAp1Sa%kGyHd@$c%_ee$|5!@2IIhZA3^302!^ z;gHLo$hTXNzFFb)!`8yk2Zz@zJaLuf^UjdZO_>l~IKgLj`VDM!KK|t1C%DxWTU3V! z;Gzlt|Kua&`0?-V{h>9cth`EvGF;@gyXEfQ0vE(qeKcT+U>x4t9u{HA9UI}O7vb0& zwlZf=#sl!2$zHbspC%*IL1Mf8VXKq6tyz#!FuA~0P=3)Y2rO*`5M7IMMm_R%m1y6m8Tifj2Wwnid0pG}Ik5yQ0nw*@I7aolBm4IB+~e zG+YS5u(DA$?_5&QT~L10v7b%dRCt>;zM;bSVz~6y4VLwaD}AzmW}XZQ8VKXnfNdIs zVfb46yXM;TxBd>*qt1ww-||z-hs;162i(S6x4l}9eh(E64a#8lNo&m0wJytzuM|YP zUB8@RM!SvbZEx1hi+Hk2rd>kyded{04d1!Boq2Y!V|WrF%-VMmj+hsbM#nwbMFp;- zxtkFpC$4_G`+PVfXiW>3SvQ>wx(YAZqvfTDRhU~~y_q)hTLoy}McR3fjB4t!R%G5) zeRD=rPtuCaTbg>3S7c6|@ZMMyxTc=3tjH{A>iN?ZnUSWRM^|Kys>)zw(~Y_$=iwi2 z4flMdEH%enW>uxc*|YYdZ6GVkER+Z(I(RI+@5!>%5JXWT?1STm=Z^}L`$*E>-`Bb8 zr^*~q4Hdd0`Sk`-qRgT9*SD`(TD0K)w&h66Y5pmpS+`d-+*Q9|7Qbg&IcsjwY#z!h zt{KMF;O5V&s1HxQxnVLm;*!V|f!o?wu3C-@_u<02e;R(!~ z*lIuBs^v|>t&6n_x4g}9>tgqd-*eVGa&y+VI@i~)5bpftZNmNB(hlL?zUDsRVw;a} z$A_2s#}|i}O^g5Yk6-4mu3KQBSEPx~s-AtjzhYLyg4tEGE6Nwl60CD=*6o!euMD}b zacXgyzoMbmxk>rS`-WW+0?xB$Rru>0W-r8}{BvjBCGQjt@4M{PAUp~@<`2Cl? zI^_QPJEFC-D=zo!5m$!ZH$2esXO4`Hp0@GgI5O1Ie-Uq0Xh%ww&zfH}IUFgfKm#Li zSvZbSTm=px?eR*5!PjI(xSX`E{MfX*>{Ygxn*QOmJy{D_=1neBobx)OGV8=jTry`xW=oW5?d_DH;XEMviMR zxM9NvN3c?lwz8baNgaAfKXe2-%ItD}o8{uDpgTKUI(0*tt1yJNy*a!-+UJ?!ibruz zzc-Tc^q4h4S9a5i8Eu8N=xeNNtmKE1AD_2<{jQmf+ctc;=?@Ptey@qe5F@7IDlk>>V+fz!)GFGMq%e$gQ?nrroJL^VI6zZfokj8LVvFz9fSD_`R z+fl{$aLDt02)cY1592`e?YKJN;{Pi4e#1Mic-c8(p7dDWm9B@pi`{d}(XBd3ads=Z zsp(LiqbJSqg7q~S&3V@p4%(J$vz>A5r0Fm5hZnDh4k7#&+NYy=N`H@-)+l^z!+x^P z74GSn7PjrZj=v|OHLlrE@JiGM?C-;@^Iwbx1y_DJI7m@ysrg${G ztyg{%=ANL1{3yMru;{dDlv(yq-bE7r!JfZ(RGq7LxT$m-m{E`#aiQ~d@@tcqQ+)8- zi&UcPR0f$KLXWb>4lARwFMii`&OGTp;#rln*i+{YD_wI>yC-5jJ?5rhYT@lDhG&;O zom-G?7o-NQ6uZEB+Gpd!Z|pQ77&OM7t9XLOF2hl4>VZc|$s=@DvY8qC|L(n8)lVE>jryw7XFZkJ`O8$fwyZ zW-xxI*eH=j?v(IC^U~}bRaDEY2nvTNs{@zKBTWxvnLQ`t??gUP7Q;!wjI8z~=+5!) zTA_SKf1c#`dwT7R#)n&fS3EV{pX)DpIOzKEq0kV)3$F0bO}paE>7OS>z7{em^);cx zGXoJS)T594<`wFCJX{ws>KEA}$C!KiM=wrAdxjQ3HPw5}(QE{wZX?{?U7Bfj-Uz+9 zz_mDa$bI2dO=$N*C87JXH68pvdyOZlGC-Pc@B-iH~5ffN?5Ds;+B zNG#n87u8?5PW|r~QvW-KCG@a1t8Csyng3FGsEuQnm@+u%rhFxzsj1UZr$lU<2p6i8_amM|CNj!IjTIuZ>izq zN;$zmwj2-_Odq_E^`b}RBfiDueblH4%nto(hEqc#(}RJ+Tuu=h!EY8=uY5Cz&zbp4 zddrY}@fwtc7li-sS4bf;~4ZKH5v;S6Xwq2HkjRQZjo(=y)t&J(=({r8XAzrbc_T7d$9kN&d57zHqHuhtj#{P9RcYuCo6x#aN=iKfjCn`Pz z?Zuo|JZy4;OEmgJ>YAgUv9B4p*;t(RH>@wJNsC?$RV-YVQ5d>l;@Vfs=T27Fe&I8# za*gvxr=-lVe3$_EK`!PR{g?!y9FyQkwxpub&QIh?)iucPNXE434igL%Ogi>CD^iX*jnN;tgOi=A1`UoG#PNWWQI6}h zJ=@SBi~OxJk%7NFWDX1~{E*k_ zp{H|~Xm5P3dWbH;1Hu!RjBwARrM^IZZd$k}xzv{z?y*XJxt&*m|4ONEe7NUNOMS_# zzX1%V&WnFTuudB-?pyBLFx8*E@ZPOkla1zJ_D#*sO3F3k?rpNYMuF#kchJMN1uS2P ze@ydr94a7f5&jl;HaxiT-uA7djP~yC4UbzlHLsL$>0~J_@Hlm7lN>?d{U5hA>VD5n zxGj?1c`s(3jphj@f4sFR+4#f4;(H%?Uq1z9ZuSUaVi}zss{KIeSA&=fe9w za)N^}sI{0x$h10n5+jo%o}j0|#r`-x(fnbP>Mzdj zLnGz!y~(Wwp3dhbZUBBxVywe-e%Hxde}0LRxwnYSE$@8B$=pnlxz`QsPuw!FPs2}Y z_|GJ6M+Q7DF&;gD9sl7TZ>bM{eHkGe*rDC?HSM0S8cHYkegzRaRO-7fyl>^SZ&`jxw00fpUgxbs_O5XE*GqjVwSQ0l%M9;mQU8$j@NQsg!kdAxh9_w_q~QV$ zPtb5KvT--V6_6y$&kct4)6$*moq`6U>N;fI_e*_a!~0$-^<5v{x36^Po$;#!zQnBq zqcva8_XyyDu@MLPy0Lt^Dv(exp~waz;j4ZW3i3L*a!W13VQ#A z4Ig3tVRViiDbF91|J8CkWH=GqyAuk_yy{)4{;=N;FfNE~SJXb(T7_?urg;&!f3fay z+BhC~5 z8SGzu07KyvMA}iTsG(qR+{sWQM?^k#$b3r7vkV(9C(6LP<>$;JVhl$;iouKbuzPl< z;eiwF))%4gxBd_<9AfY-F?kl32_I}N-D!G5#-0l)!3;K}t7Jo3o?kML4QX(|77gh} z(U6WpL%Q?9sw^XX!i>7lT0V>p?TWJlQ2!NWJCyetMMR|xb$@x=Rw;wVP56_;Q6~Mt z{Gh{N)<7`m{T)IKL?L2_{yG~oAAgN>gP!>+^vt1!`AoSio=79Dd|osyPrv;a$Lv4n zH@_3JbI=EV#C1$pI2Fp|Qy807y=0uT7F%M@G+uu9oSwAUVvSIW$)4~el!N zh+DtjWLE8TZnb;lt?8kRE8l8fKk$fi>$jWC&Q5vjetD}g;#NCg#3#z$2w&UzpmXz& z@!SW71^Lv+1$pZ=Rr0y{cJApB;Mhrm?(vNU-};2kvri-+*T~$~bp#c2c_gGQmzn*}Qt7&bjvy+*>Q}-6zv) z`^VlJ^$wIf_g0@aJ7*fD$meny_^r;vdoSZbJe#8?#+i->KSR8y8ko&-iU_B3&`x%R zQ0mJQtq?|SRdttwp+I!oH>CdRa`mfz*`6OM@)1LaLn0;NdfZwviYEaOVuh3+Y&@TZM?Kkm)OeR*1X{Y3hM zVdJOv=St6W!`~roF?EG=&=rn&hiVJ)wzb{8%4#gHOT#>fYCDga!Hgdty2fcf8&d16 z#I+MqstIC2fTaRuTNJOhkJSM<_kGcGE-9-7%{uPrg}!8>`K@!!u;LGGPqBRV8XK&2 zbcSEene5qm_2RVNT0bcJf6A$~Jv~)UR|vioD#9gAIiIyUY?Y%D8J zG&ZIomeCaRA-r1(_7%Kc@Y_A#ziF{M+7}G>`BfPA9LrfXI%j;eFHa}KIl(Q3MeY3` zrPw%rpf42dn-WHfjWT3`x^P|ax#p%Ri$@RhEPUPhHU5U~lwsa&z1Hs89oa#>so5BQ z6J{@QYC~|}nJtCC;k9BdAV^emT&+9UhiUH4FBs|&4?C8g)jzhTFS4b0#%3o-LHxkr zV+(zVz=wpMb?BPlmR}ya&S?~E9|fjskJuB=$$`Dr!p(>Mq>H9lOxZS1tR-+2+GFSTHbE#iw4re0jMHloX6tT%AjGT;Rup`^n2su z5QnWO-0bzoafkPM4da6y>Q*m0;yBKf82xaZ!~BSq){j$Bu;vf9W8iA(CQH|A;Hv0{ zaTWcrf#0&t1+W9@Sq-u%B~G6>TU)a)97vuvBc5W>fG@I76;#oW&#%IpCYBkou<+rBP2wbS8+Zxh5}g#z4d#iEGKSm zkC%CzNMk!?o`SN_t3`)B$I^$E`EdHkm?AP;RhjRc#xg%Wp1Z2d2e)7rA31;_&xF&a zx8yPjhEA7x#7gkyh)Pg5IvnuXfefb(oHIL7@KZ0Qp2ngJ%e{cj&_5-Kk-J1y*$NGe zQwW1rUhT|O1UpO%o^8W?8{Lk9ROzNj_bLNdp?~t4m;Xh%r^|9r7al)T zJ@}g%)ctAGRkEJhSA-LIE?2&_aVqr^>P9&4X~df(C|kE+tVtCmp45B7Y2x*gzc#BP zSo32_+bf65T(B_Q)b44wg4Qp?Ccf4!^{LTAt}kr2_*%^3w6t375U06u7*Qj?_iuiJndShkS?Z=X$f%L9CykO#q%Y=V9UTQKkr}!}~ zpbm0cU!Cm>cwA8r{eq9C}C4%n$uH%Nj_IpKVlUCh}siCtw)< z!DoXx1E|#5gZveG_KdkO?IM;ihrUzPZN|p-$Fh#at~njcybv3M!@&9mx7kkx3qu7v zI-wBm_Yej927AJTE6ZNHFj&I@l)Y~yX#AQI4m}YKJy~6Xw$QXgd*z&MI^R8$%dc

H3)DY|@BxwwW4g%z`1 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

L%OvGIbb(0O15SX)jZ6w!KbMZrjV$m2EGs!=$}< z-jVj=xklP6MvlV(!bEa~!?k4FUc3&J_F71`?bS@S?bS-Q?bSxM?X`t$+v`cPZLghV zYz(^nn6 zw=3SR_*un!6dzE0MDgq7OsDMcDE4HelHUB zUZMB_#TyiFRlH5{F2x;+yA>Z+d_r-L;?s)zqi)21en(!OAq^@nQ5;h|QE{!}nTi*Z zvz+>GR@|z%P4O1RPb%K2c(>wxieFHCOz}y@rxa)QOZk?qc$nfs#pR0QimMgZDW0pi zQE`jnb&5ADZdbfr@w1BeC_bS0h~n23zoXcLHj#D-C?2A?KygIzc*RwUrz@^k+@N@c z;s+FOP`p*~HpROXcPQ>wd|2@b@_A0*>rs4KaewR=9ezJoIH|2UpYN2nT5+A? zxr!SVwt9Xy%1B#C*eqHf9iur{|@jsw=h~fgp5yj&bS1F#ZxL$FC z;uVS?AYb6r;ReN96>n3#OL2$dZpDWcpHSRGw)f>uEAEfui=5vl6%HycQ5;h|k<7&- zLapMNiWe$wR@|z%P4O1RPb%I?9^f2nx8i+@Ur>BZ@kzy}6lbD7#AdeQVTubCmn)7d zu2x(}zR>Y=uHr_;EsEDE-mJJ?@pke+$L6z&_b5I<&USQ;D1Ke>JBoP|Nc01Whmdm| zI|Yg(ipMLiQaoL8z2XMND-=JVc!T1tinl4=rMQF4n|uh}iVrJ3p}0r!Y4RW^Z-4YD zVSe9JIHMKdE@9;@yh(DSkomF~uhppHiHOek$e7 zRy<5`q2hAIamCe&>lDvb+^D!k@jAtu6}KziuJ~ESdlVla=Q(Y9MDgp2-%-pjp^AP$ z@esuYiX)20E3Q&JU2(nQ2E{8BKcIMn;;o9eDc+^HLvgp_!-`KR?jc{~)X!wxieFHCOz}y@rxa&mo|E!s zD;}n}P;t59xZ-NXb&BUIZX^$O>c2(tI>npG7dtxbinl9%mdu+p2zwMCP<(`ZiKFwn z;&&AD0}}70j!r=F5XA-Lp^i>O@p#2mil-~CCl7P-HYi@9_yNTm6mM0$P4Oa{Ab#>Yal%2xC5mH;Cn~O0JX7&P#m$Oa6}OQ;<lDvb+^D!k@jAtu6}OW^ zj-T5VKdX3;;sc70D1Ke>JBmG+3&nmw@esuYiX)20E3Q&JU2(nQ2E{8BKcIL6IqZ~o ztKw~ncPZ{r+^zVq;uDH{6rWbyA9Io%H&1a;af#xX;)#lD70*<>P;s;3R&u^m-ZsTs z6hBEWaCCMm-mQ3_;ujPjQ+!hKDaDzXYsG%H;$eyl6_+cHE3Q^tr+BX7M#U|P*D2nt zxLxsf#m_3Vfd;O<+JOz-^9_8GaZvi%KuNrAoM>0^4VKz2$92-Lk z>{TJAJ=THPPYBV`FH8 zy;fwTJzSb6?QI8Zdnb|Z&A)HkJaNPff$1s#0!WL0KLKld?;wrSK{AMcU65%13Sf^P z579qdJ|ykE1lIQWIZ^~N31aU>2(-O=*xLXZ?O`dJwD&$(+vDd9Y5Gwf}Job|_Yi+@ef!(Y-KKS!hg62#tOm%Z#6srKb^ zSnTon3~g__&F8kq&+eEfZg*6}9_yd}v3|tf_gwb)c^>}B#Z zNu*^yc%ct_eBTuF#IZ3vtL#OQ7JGabi?+w_+K5lgC(O@ywY@#c9_J&mXFlgeTKwZ@ z%)QMo*SYK+fIW_L_Lnir-XfQOJ$?8$*JUqoTdKdrl)VRC_V`)1lo4u4UhA?qMA;js z?Co^fJJpB1@4D<2D0?io)Zc!Wz0`8mXmAz~j*8L@jd_nA&ApY@vZsfS#u@&~}!St^Z8~1TOyb7T0#jPLMWdijW zq5yK7353(C{w5;LeYE#EfVMXg_F5sAKs|;T0CJoOg#Mp{9x~FuN!YlL_L>0N-X7S~ zf%_O%SUuU@m)`x*<9g*>dh2>QE^bRD19qFR20)HGNzb~OsddR`AmcukqaC2j!S6rZ zX!9_l9>X^P7AL>M`sEkmF1sl-%Jw?@4>O#7NqE$z`t|6H+NN*dX>^blE#HE7eb@ zL6>^;ug7JNpTm!nMznf}Jb!T68($A0bm$lIiWd z@JpAyAxl&93$L}s-Wx7^{4C_3tZ$6OKYq`K9H$T=0(-nRVErw^Cib%6nD*~5?EQ)v zY!G|=ZjQFMyV3dHAMK%OlJ99{ckIm%VP-d$*VN zjk)Y?gFSv9jQ*kMN&i0QvbP8KpZOjI2~yq}E_)~M!7~fCzbsSs?snO$y$E9vdJ@E5 zqs!iwm3ZdF+FP#dZFbq)da=hdT8vpeCLea$Yi&vOm%FVV>+c6Hd%Q1qH4WGx{{4%~ z-WFx=^U$Rp?Y-i%$9r|7tSv@j?sOMATUvRB=Tdylp~9#r-&#iEnh(Opg0KFoQ~vrU@gk}rZDeTXxG z(1Avk_I(Ix@$VX!z1KhG{HB-5WcA2nUH011sM5XtZ<`#U|z0;j))efHq+T+93A6A&iw2yehv*kyL-#D>t|I|PP@7Kmg(2es=i_R^;0XVr%i}lP*Hiqgfc9* zJtLQ|T-=qu792lIJwuy=d;prK6hsYtk*IU4 z=iK*g-l@k04Q>WFby$e+Z4LE&ZRP6Q9{a+cLtXO#H=;&ajUhGjFIUY$yuF zTE;Gm<;3$NRiR)(B-S=A9C)T`Rj{BH_oO;-*L7L(+kqzvE1c9DzN(y_f=F;=B(@cb zuT(87F0gu`;^(24SM6Y;cQCZ-LQodLc)<5vY$|9wa;HXG! zH}sw>9_h%dyu~M=HNZ(7h1RkBNU$^#>xR}e?6pTN9#!PUQOoR6%VOTh$VgQgk9!1~ zYl=rXdx}4RwF@17!x!`Rz#7VM5<1I^`I1=pQdL&`0&MZq2&7C2V%}hWBz78Fk6^DH zvyT!)OR^*3)@ZvwIMUXgQ;GwnLC0jO7}1g(*nIxulp|V_3)NT7UXW9r zAROX-#k8_SOY)#Nhc#qBRQqfc)OB!F zHroX?UR-(*AOA1^P1q>{tG{T9ZXWiTDZ%_~r)!d_8^9LQ-3 zS3EMXM%3wkQ3Cd-ILAXLfoh~G5iBqsZH0X=>_0CV(DUey^gJ&$l|!c4ibn;WN$R85 zm^R6B4uFb=_olDXA$CRh^T>g)Z5JLb-65x2Cs=@yC;+OGPN%BK?NJP>5tcgJ>BhTp zgi+Dfhy!t9GI#=*93RSzf3Aq`Yy}4#pd5=Xr7G9Nh;~gY7@hNe=hS)$&d( z5h*ZpX3%s!PKfM475Fx%9R$TM>Go=QyUH8qtQa&M8q)+lf_gmJhsugy2|S^uftGg; zaPkhC4q=MSaTS=Ok1@*3&vxc5n$q(2F{hUXO?z+xW;LlCXbQ~yGP{1@LrKa|67dVI z%-V^zU#Rm;p=YVl<8q9BdkXWMukxVAc;@KKGgHUx-~&{iv--wUnCT>M>l|nE%ycU_ z7I;PFIEPb`YLOA=NMXL zl+(M+1Xz_|9rsK3ET8k*v61$C@CKR_Cw#Vj&`dk%_@>UD)44G7@;oeO^`qWcMuo5M5x3*EvO%Nq0^QS;Ot|DtZuioK3+5hvoDq^7#L=OfF6G4T-w{JGaF}RbG9!Hq?KTbSwDNd zsTG^_B+fdfhMrR;cCVvb-iBSwxy~v9t;W@a(nk$o#+CA7UVq0fhd8X+^UjzFi+`Io zLmT@egLX9I9N_Xk-^|W-jm@(F?86^(E;H+0Q>V|QwZU0^LOUCu*lf~|`t->xY~j?J zH2WBRXYndIn?J9PaMpS_WuTs3 z(M3LcHJO<&*?7_tXZPu(^@+_PInLq}Mrdyx3hVLYklvW=P+ZnJr!Usi9CZZvWX@j6 zUj7))Lm{4rDuM;USPn-X$LT6NxWzMEOc*u3R4GMTIJvXy5(cWr{r~7 zk@X1~%s}66eR^9R$M{rX%bHz0xI}UW#({n0IpY&e25`T;5=0WOGi(h-K5JbyoU=HI(X1T;Jr#`i2Xl5VAavL!`z;McVo% z#8p?wS#_B+eT7{RCCA=be8K=SKIx9(Za3wTSwGPsT|qJ9Pih&c9Wq@H3i;_h<18K> z>7$m^nKegwWX>0+j@XY}b<~$nIA<82(n{U8Pv%ZQvYJxIaL)s2ZgJh%driq2z9_w- zxNc-c(W%ri`u2+RfN?6V|DDw*F3IWB+q%c5^`;Me=uJWA77>PARfT)*4fC` zLcd(Cmo||XEi>1<^eb4kjO#Fz#?)3?*-dT9tjWngR>A9PoGzT(rDse~I78vuLe65G z`gz3%&&-(*qlvd`)A~BDUDN8TpLco~3FGj;fWU@r&nJ>lfw` zQ^#rTZdx%}W9fc5YeQDqD>z89Z=KUK-hmlqhI%s3Sv@oN2aIda>*Kgu)9oAjz3FDt zbe?ng#&soJV{xRHrF+KqH|rAAnQ4D#p5XL*7T;LYPJ6Qb+w6d3hU8I}q5tQo{*S(S z0KLnsW6-GP_PJTcELXYGMnDBd06z@i2yl7;F6U5~wDMz^vY+L6%?S9whbsuVc9Qev z+c-d~T`+TKzuxfSjN_a~oSX1wYT+TIB({cA_y5_0o%4wEApl%jqxDB}p_KB-j78_% zhPuM&!qw0-TECS3NRPzLUY0fK(QfFMrnR5rkBltb$k+bJGAX_P8jr#uuh&*mnoG{a zGBR!TT6|WY(B6NGPh97sj^^kxpRJCZ<$`m`m~6MRd&FK|ns%;rYAGDbbjo~2H91}B zk&o{aP6=qZ=aAuJ`h+*dFEA?K6ldLqJ;LceFbVGcSmR1I|#j(^4%v34NdM_|1 zy)Akz2Tpr|Y3C|O8Uc8XX%b9vR)y8m;sc2F9-$@yxL5fx(+Q0vXcU?*&8~o&=!t zKyV^ZalHkIMaCKd<_TAalw+0LEo?3ldxcYOEx{7G^ z%t-v*snxefVs}?o-w~~z)lp(^y$_rC^YKz%Ioe)Z&Sm=&ho`(=ajGo0Gl+8jA9x}T zjs)#9XL(?TY$r;-6pj1YFbvcYrk*gKRZTL`lUd0Bjx9d0MP0^WY`NGN`a6;NFZwY& zR7yR@487^_AvNkS=JBb+!?75&Uy6;Px4hiPyjq8RGdAXJ!N$P6}Wtoe{L597tysQ)}R@%aU?*m)JqVClvA*j(v{&md3e>=6QYXowR64qQNurjOQVZElNjL z%$-|3Z^?q@h1P@-DrZufy}4twd-o-MmvyAq=P;d;!57qp^#X~;rlpNeJ@)ZG!{ble zlkvaUdmHemuIpTQG$RRYkI)Z7#)jB41BMX+Jb%*6IAAj)X%HzmvP@)=fM*IY1 z2PY)OhG4f*9D*I&O}UBexGqg;a2zM~ZAl|!Mn5~?_~rQESBb-4>hPC4{CMeulHtF7lV46|m4^Sm zlN~B2o*^BFk6K=pI|<~m-Xxi$Jbc-&5|67&`KXVVG$`@7t{XBeISi!+*zGIu^7!kF zKD%;-tK3y>{5(*fdLs14jE7ye!Zp_VKCC|P+O(mwBeQnPs+F#x&F^gUb!*qV)~#B% zV&i>O%y!Len}glFsuPj=;OuWWC>&JS`i+ulrjX*9PYIh)7(b`B`8f*LE8M8?e1)47 zUZ`-Z!iyDNrtnII+ZFCmc%#BBzvO?5!Zb_5Z&R3NN%)5p?oxP{!jCHagu;6i?pF9| zh4(7FPvK`3eqP}h6h5GEkHRl0d`RJbg%2xyRN>bY9#r_a!fz;iO5xKApH=v6h0iN| zL17LqsdHW}3FbRg1#>wfxJ=hg%2t`UEz?zF@^aKRtY;x;W-M| zE6jJIivE0s`8$5$7b@JUu=UMAGai>Iex<_g3U?^HQDMF#L(4;TIG>pm2}EFDZOT;eLe=D|}Sp*AyO9__)Gv zD11uc(+Zze_-%#HD||s=u5YA`3Kbr$uvcNeH%s&@73Moyh3ETK1^X19tZ-1_=?aGw zjwzf_c$UI*6s}jeQQ`RtHz~YO;Z}tgE4)nMl?t~j+@bJBg*z4AqVQIQw<)|s;fECN zQh1lbk1G6x!h00%R`_X!_bR+k;b#?oUf~xMKA>=q!Y?U&Na22k4=a3B;nx%%RQR~U zZzz09;nNDARrqa%&ntXEVg5Eo`f8!VqZPKk$!Y9inc^!Iw!YPAbS5g^r|@Kjg9=Yq zIHYh);e^7o6rQ7Sy~2$O&sVrf;e`sfD!f?XWeTrUxLx56g*PhPsqhwsw<^3%;T;M; zq;QwQyA*y@;U^T{qj0yvPb<7v;e84}tMKy*zo75|g?ki!N#R2Z_bYr@;iC$_rtqM` z#}$4<;Zq8qR`{&KZ!3IW;R_1$g)4UdSJ?U%tLe{P#ar*DHN5qWR)fbYorwzj6z2O& zC9R;s);C>EJR!x$6iz5SOW`>R^PPVZf1|?l6>d^^p~9^STi=W|`B|p;l?t~j+@bJB zg*z3t-d$_r+^YC(3hz+(A%(jX-lg!P3O}Ln9)-IVep=zZ3hz_+S%sfh_yvUzDBPp) zO9~%SxL@JJ3LjPYHH8NiKCbW^3ZGK=w8Cc)?^}rkxly>T*LIuHbEJ6Ogv0R z;vY|J_UX7|QHl7e%elMKY+<~JJQFjWa|%xdC;TFXKcnzLh5uRMsd!nG9aiB_EBtMR z-%|J{6jH+euEL*F_(g?(WiSq|0JdEimiU7T?^O6N75;_7*W<-v683i#{)EDRq3|(< z$6zx?!rrRzW`)0`@GAy zdWFBN@DCOCU`$BZsKFdJs}+7+;lEY*Hwsr{8>`E#P~mSW{HDTw1d_1L3U62V z8w$U!@U_@Jl(6#*=2-u@!e3MPb%n=atC3-;KTqM0EBsZ3Pbypmdm~}ruka@neoo=n z6}}D$+F=#`n86c~pTAJ}n8GF4++1xHpoEPmyh7p6E8M5>ZxpV^ zOZp_94=Fqgc_Qz_k@y<)Gs^qn$WJy{_?3na;z%s~Cc{t1ky!XH!-sGr7XAx{kKsrx z{Bwp+;7BZdkKvg|V&Q*c_&GQd3xCS+^*9m>&ztHjS0gxL;rSRN`T5|9g`Z;hCh)|< z#|*y^JhAY%8@?4hvG9uxzZg8R@LLSO3_P*$4;r3zOf39UhHnQ?EIjvonEwv&#KM2y z@EgGs3;!d-cY-Gto_jBhXA5{@;az6V-3p#q_=$$!2AWv-_Zof&cw*t}4gU~$V&U&J zJo^Z-@aqk~3p}y#TMhpxcw*rnH~bUeiG}~N;rD;+FOya(4K=&L z!ygAvEc`;lzX6_D_O@`;1m{|Bn4L=?{ zvG7kBej<2c;SU+!2cB5?qlTXho>=(vh7W=#7Jd}!fb}pPJhAZ84IcteEc`8or|l#b z{%*r3z!MAKVfb0#iG|;7_&MN-h3__eJ$Pc_`wZU*o>=&!hMy0fSonW6d=q$L;YXV_ z|3dJ@!cRARD|lkzZ!tV=Ke6z48-5vhV&OXszY;vL@VgA(4xU)}FB-lBJhAXE8Ga*p zV&RV%z7ssL@V_=Z=OSX^3rA<$cPn^e;inmX8+c;j-)Hz8;E9D_X84D|6AQo5@Lk}E zg@4@eyTB6*|7F8J3Z7W_Lxz6>JhAXc4ZjCGvG8vjz8gHT@P+2u>S^%A!Uqk%7d)}> zal`KePb~b04F4>6V&U5j|2%kN;kyj~0(fHKzhL+S;E9DlVE7*J#KM2y@GpTU7XD4c z9|BJ-`~}1JgC`c=XRZ?ugC`b#rs0o*Cl=%wb3J<=JhAWr!(RYTEPTD;xh5hO zexczD!4nI=#qguS6AQn?@Lur5!ar^JGVsL0KWF$#@WjF&HT-z+#KNC6JlAN%!WVk8 z=%bhTjLCSolvH{#o$E z!ar{K=fM*T|Cfe;0X(tre{1*y;E9DlZTKGW#KQlZ;a>tzEc}gS+3|h|JhAZaHGDsK zV&Uf-{xEoA;TIeJD0pJww;BF5@WjGDZ1_R&#KM2w@W;Uu3;%7yzX6_D_@5g76nJ9c ze`Wa7;E9E=H2Y>}!4nG~F#Ox#iG`nQ`19b2g}>AA7r+w>zuE9ETmumczuoYK;E9Fb zYxvRNiG}}5!+XIK3;*|qF9T03{Lc+v37%N^(G}VD9S@#Z_$tFs1Wzn{!tg%u#KJck zelmDs;X4c;1Wzpd#|%FmJhAY53?BkdEc{mt9|KP;e81rn;E9F*iQ#8~Cl>yK;pc!S z7XBKuS6L69SooQSZv;;){4B%I2Tv^g-G*-hPb_?g;TM7@7JirETfq|x|0TmO22U(} zui=-0Cl>y&;a7qu7XEF+w}U4Z-cy-v_YUyH!cQ^$M)1VK#|+;Io>=%+!*2mkEc|N2 zZv{^*{6mJ{2A){>#|^&&JhAY9W%!4{6AORH@Lk}Eg+FEZUEqm@KX3R)!4nHV(d-pJ z0iIa+pyBs`Cl>y8!*_!x7Jjkep9W7X{5Hey1y3yeF2nBwPb~a54gV~7V&Pvh{PW<6 zg+FEZ7r+w>|7*h^08cFZ^=5y&2RyOxLBqcUo>=(X4SxtcvG9ux-w&Qx_-%$i44zo{ zhYf!eJhAZ48~!!$#KQL)eh@sd@TUxa96Yh`zc&0E;E9EwX!hh!fhQJzn&D4_Cl=%749^>o#KQL(z7RaI@TUwv8a%P^=MC=# zPb~Zm=%M!;c3~Ed1Sup9r2<_-%&wfhQJzm*FRaCl>xW!w10= z3(s#&S^GcWiG@FD_z-wv;m;aA2A){>3Ulux0iIZRpW$bLCl)?!_&MN-g>N!^J$Pc_ zI}P6mo>=(phMy0fSomiQ-vpjm_~#A35InK)KQw$Rcw*t-F#KZh#KIR}pRKoL;E9E= zH2g~N#KI>G-wvKw_>AE@z!MAKZupJhiG}~D;XA<-3;zYfZvjs%{9eOv1y3w|zu~um zCl>xEhTj36SojNue+WFW@Yk4oQeEJQg`a8oUEqm@pJn(*!4nI=%xSP8o>=&A8-5>nV&Pvi{IlSRh5wo1p9fDY{BI5a0(fHK z$4t!jlLO$1g%29O2RyOxwT6EQJhAXihCc+JSop<;?*~sT{1(F>22U*f4#OV>Pb~Z% z!@mZeSop6Peh@sd@V$mV4xU)}BZhwiJhAYn4SxzevG5lRe;Pco@Z<5lLE5FW;E9Ew zZ1}gq6AM4b@aMr33qRlR7r+w>ztZr028USq&4%Ya0b=1lZFoMLLoECs8=lYU5DWiJ z!}FOPV&Pvhd?k2d;eTp)KFdQa{4Wj9=X!{R$K{Nx68pRq9*9vy>lqGWY>DF6I9VRs zCDt!}$m0^rl1j{nL7-`Hl?d30<9!A{h$B8*Y4OBZu3C62jsb&r;8;t{gdoJ%U_D1^ zgd@-V5MP6J59LE}lGZX}=-|&qd<_c(`8_!D%ro&d*terFe+)YV$HT;^k00UaGk6M) zlMFtJ<4j`ghf;_oo(wRI+)(VwjJL&T;& zXDQsM@Ir-`5u0}DPifgDhTE>&1wDa&1ceQXj5!_5h07`kc4zk z!$0i%OvHiVsmHdB8o$K15OJ|ziAa1O0HM=uhaUTni0Hi^1o0emqC1)WZZOj&PseoE z!Rh$6AU^7dNPO)ebbN;qANvw@nP-XbQ@}dDM-iVEo}+vkj@Wc9>z*ii5z+e`2zK?$ z>HRTuoaw4zXXTG^KL)4EG5MBkJ+K_uez(iP}Uj*O40Q+QgUjA?_(Imrp!6ir!=Zoxi4~xqeUcFZru=#OFtR zof3(PFYJhK8{(rL%X^)Qk98@16wvkgsV>)TdEz5wOfJ=2M}sccHjtS5?e^e!<`kgg zTL`UC|M_Sd{F_kEXWI2!R;a{2GOEHnczW+fU#d8;J(A;+#j5Z@v2 zTHhkr<8E}%{c_o3V+(>2U$i^O_eb!IxQc^kuL^rSsjK)3fqL3VFPei!%@hKNLUU?b~YXvH+3rE zBzR`d-L^lNe(qXby=drAR7W2Qyg`03n zF8>aLBBjmn(owUtXNYy@dFlLeo|ZEw9;kL$To3|OP+qkrI!=|>CYqz)n?^(Zj?V9zgRxVw>cKy=LYd^M%WaowLhVV;# zY+o%*o5DR0V$%dxpCvCMddont-(61c_n^ZtI^C<`7m;$T0-?)sLDdV>k#c+rSjWe5 z`QSt(zHK0Me4~+p$>3NoOkd*r0e)O_?`#W@jV2; zOzVJ_9*_GCo1|<822z4m0 z!wIH;9Xz^U$vIw+>GGad<>hik@^=jI>Om_+_MgOu@5HxlT9^A${N=7YYLm6r zRfo@a`Rfj=K9Ikdm1GckLS_Cpy#4GFE6QOD!@R3DRd4y=@U@k0A=(PD7TM6l-xr0( z`F99yDccXVX-T$zjRyy5Tff1Q`bc_Hp+{SDIlbv7J{gmYFW;EtysyXP2Ke)hNoSw` zQ|P7PM5G)%>KZ)_|1vn{nRUQ1l&{avM?i@KDmGrVV#U(c8*|^yzFeQL35Bk>&kr&o zRHXFzQU7gyzI}7&rp~tIc`knbBYm9365;+D>-BQ|kL^pn%k?YT!Yk>26HR=V>wh;v z?@Icg&KrWb*#9B~Mx^hoSl6~9*IVBG#`=Gx|GaA>vz>~4itc~9ja;`fqPx8BayIha zb%8M&>hNx#&sN6&D}5g8f`3<^4~L`Sq_qow`L%H94^azhT@Wn@v0C1hcWdC?8hEz` z-mQUmYvA1)c((@Lt%3gsY5*VA2xPxkfoCAT>-Y8gs-7zhxF?TVJ~}X+H;;O7TiZMN z+U28ye4H)oi^Dg|_RWQl+f&(dcfrR8+2HfK1M?@34j=McPgLMO=fSh?Hc$4PdCX$y z_dBW!E_&vbXTOwjHnP3h?`o2dWfaeJ1-i?!VUM}10@qCB8+nk(8F&A=s&8E_k5&Zs zZ||Gt@{U?JYRRYtqkIvc{SA)+_nxP^K4E*S{$Z4S2V{n~_y*jm>TN8aT`KVmxcmDj z7A6WrhyL7?9bN9N7erGuy4DNY_Zj<~cPBP)@T^B4cSV^u?jP}3fUkb+1fJm?_UVwJ z-wrv0Z-)#NUMx!N2zE~WdMLPZLfyQso+v(06j;ZrZ&blxFIvd=j_=(3$$b1IFvIZX z<0LK42Tg`N+j7Q@`Yv8le7t#kXv!l^0pFSmci$A(Yo1`q)Ef%XgbODBq9jl<8D9*I zhUUCj))Vl78r4zZ9k-z5cV-7~&F0~vJA(!I;4lXiK8GKl{stpBplLhvFF2lW3)F%^j z4=>j)ciV*Cw(F0yU3ao={JFMkkD=l|{rZA2vrSJ%E1q01rYx*`MN5Cd+1ql&6nDvj zk|F(|0~Oj|(Yyb_`IBatcxHIr{t3PQ>yP-aJLw;P&VOyi!Hp$nuer17PG8f~qB$Fi z)_m&j`8UOHy1TVvO3_kp(V~h)>Eh9@XDY`x-LtFdqus~Xlz#-z8n0=uTJz}Woy91V zE55gK!Uu<*eW>kvi-OWshug;+%LKNQuZ@S3%p+YJ2x%v zvcN!Nbt*70zS0rU?iZb>-`Lx-98+|>v zpwX?V)AL2IG{~pedR(rYo}&8uBi#i7f03wMm>(?P*Xs>bmzeO0@?82DTTDk&>}KAI z>XHLpk{wA-KKm}gF$#;=p^CBb&VH5cU)#~YFf!jdbmFyFPaQn}wTgptP`g9wwz~YH zXHmggf3{v*%bOzG&q~eqz3B=T%-!wAF=wU(9piw*r+|*8)_vCY}t=o=~v3;g_~dTElRbVbfI(GAA^H=?;lKr8_NSP z8C!}GaXOJ|_7?=c!1zM=0v#UXZH#>VbHF|54bJH5T~GoY^A$ekalsgrLzSO#+Fp*?F+=l+I7_5X zB#%SmLw(wo1*u*-KBPai{x7HB7|vG*X7Xblgoo6@KGdi=DY=y%3;({^CCZm=54&zo zcLhtHskkOMJLn#D@+y3ossN^u_OW7h#TZyqzdgRQF{xVUZw$lIIa|^mm`JyDSRI;g zxiOauN|9^Zk9NBm?N*9%+1!=s49x}N+0fPNs2}EZ%q4Ql^Ch|S`Qnh0Ncp?g3EKCt zea_6+EoQ!M$v0m+tb)VlR+lFWU~|K3{r9DmZD=j9moht-!x+yl!~!Q2>RdMY5udMf z?pSx<-39z6*phd#csn7}geS z=k*1y7H>N8N?9_Te#JNM4lK(`o%XG@Jn)^IeY-F;bFhIei$}K>1V2@Eaulpyb@^<2 zEMX0pO86yb**-pGEzobB*ZmuIMyiJT&hY4$g*rZ-S7VtY+tf(D&{(;kF_a}{?o54I zxnt@hh9C6O3St$lYa?F{^Nk#TZZyIAmJGF)STjZZZrglXYo;Ofh7b|I$5ycHtKaqx z*M}`}%mGZb?zq`FZEtoC(6y6q&hU?{e|kPT`Sv|0)BYlKZ&iA$PYkK$ zI~-P%ZK_(qv3_*cIIXJcLBo2~7>Csz-sVHDQXD-Fv8( z#?kYxNC)$S>aA8zwVyWI_S-gF^*qdNAK={f`}yX!#xVMzYNsJ{sEj#@KWAO`*>)fH zZWI=MEm#5aaD}#h$oD4C*w?GdB)f~(xOxYC_}Zgmr0lsal^eEW<%mRDOm?*Hn^}gr1U_n

r6XYrWr+ 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 z¸`8+w^hBz?+Pu|eCptGSrRo{z7t6^|l6|KxeLUu`}>A8K>^VSK^{41XPYo2*W zhWC9qJM-$1;fs%EkC>tI(U5NnRl z`AYZgLC=DA+|8UT#D>&U1YrTs!r(b~i^uyOd3Af;tbGew)8bjw5^`I!Y-F$(|LO#} z&w0Tb_-gZg9Bm^w6VD2q8E{v8?0Sm#1gyecu+I*;0es!_U%TA~D`b1T4)1ky{EBx! zRaykQacC``io8a{E}3t)8^<=8wrAPU6*RKQ^>TK}Ou@Ja^=^hf< z17>;$Z0vfb_wb83CceTw5yEJA+$qBj6~YRAp28Q8n(03?N>Y3tZ@{xyB`!dYLvCa1 zes3DOFW@QMD#y@^Inyy@4_}@&mS@-=HXiL6+Rh&#Il5~3$+W=f9f8mSR{mL>ng)OE zd%^}aczOryl|NjQKeX2_K7P-Y+bX$5a~EXs_ZjA2&rIiBkZIjc6JZ#Y-Qp?CJ7hF3 zl=_BUHBOW@p2^_s>9)^#^?En@ZefiBm{Xr^4xICV!rQ703Omgb!^TGmXIyv0asxkBzgyQMxSE$|;>VIEGwi z(c!3=S{%Ypw~zgW(b#mm_i&?md-_qBo|OqRcyW%IzT2?XQ4gK-B7XE^5Z^}^$2~O| zpp@u?sTWVWqdM9<3N5{O%pBWil*loLea(A}!SRXW;}`z{)p1`gtz}t5`CiL5R}G$2 zEusEl1>RQQ$?3~;vKE!6Exfi6bDric84)E2$Om6%4{C)j;uQ7OZVrAgKW!Kp^-OphCS2QcyhY^gnjG)Ch|gm zu1LK5(0l_!iy8Ao#>!(yQc z`HC1r?jITQY;_IiW1g)T!gNIl>k`0L;{rhKQc7ku_NF`cD)4#(a`kZMi9JukR?p!GXdbfgzlEx? ze^}xAQFh6!y8X{rjBFU$dbs1n?kAn`^X&tMzxs!>r@{Ees_m~{IsRht^VaOTb2vOi zZ>g_%a<6%2%e!hkSPPs9x+{*Bq=eG8XX?k z^546tj_zJeU z*e1{Nd8P-?WkuAv;&ttx!j#Cn4gcXGJj!=+9fC1b zLTOvolkJ(8@Nk`rsq5l>at`COcUim1g;_bTEIF$Baq@Tnlk2fDPLGK^iScQzGq3>- zlv!!PfN%UDv5&ay)>iDxf`Rhotr@;y{8(2xw(Gt?MWDrbRywUUyTv{p9ImQwbhn&& zZ}Z(*!ItBfQUqFhf$O8G*e&gJDJQEXHe~%|Kw;a#R-=!*{ar(R&O&%lDqV zG-03E;^-JJNSxvi2iYYl{KYp(MHik@&%B+-N=HlG1NzOjsKbo1`^*g~*nTW_6Gt2(TVRl~6OxZ9IEII7p-z)Yq# zIH`YgCHmuJD6=sqlWDEdoOu&^l^P?wB=ikWLwfWG%51?~1buoU-JU^lM?uEarq$ut zm1#(@&F(K8c$FL<14rHXP$9PB#hD|i2IeJ*-Fqz^uV-Sxv2v#UY!h1fH{V~Ugy3Rq z7LR?0GVxFoH@x7*%FI3{<*(-_C?z_oOYXTHBvgL`W*eq_p7*~D ze*yj<;C}|sM@viL*TVP0bApmKYNagC@r>f>MSexGczUs&d(aVVBl9bKXTDonk>%T7 zQHkXt$@3fj?i>uvU7C7Ni#hg?ap{|O@zTLjuQ_1P~0JdEW4MmV9G zPo$j$#F%VoyD}zt28$@ zq`EnMJ80D6Gegz|aM>o>bcO8CkR9PS5$bI_KqI!k4{DqZx6p>IpQ$qDaC4w#LmBCI zVj1}Dx{ojm39F2ei8Y-5IPe)6|35PPXM~)BZFv5;2>%b_F8B|^pM?Jg zytL^HCVq=%@3nirAANp_hTPLSJ*q3+mIn{47+p6ZmMjiNu?|Q%9t;HDXj?gXKTAgh zC5-UHqr^x!Z)U7Qu)@S2ulemGh9z&T<1W7!4OM{MC9+zxN6#E{KXWijz`J+uXO23F zzB9AjtFUyBp`r58qnOm$ey&NQffGM3tvKjwc~{)}8l%sNqsKkNSy9awgSMK%v}KJ8 zW;%<)*qugxpfc4dyl69TWU{K|robw9$e7gAysmq2{JO)4R@zDfp>~lmQj&cR|37)$ zn{O33?5~^Wt&DLiXJqtauUyW4IWz_v`bF_pf9UxFxtQR|x4ZP`Zuh^sC$73nhDW}c zU0OLZf>(hihN}(ZuFD_1ZeM8kSF5Yuae48NU+}tpWyNyeTQdG718?=<6}1Z{ra@~K z{uss&-+J7dc((7Qb5AC^D(dHE){P5Yjo!D!-{G089Ua&*o#)MbC-tIT-=%rzi2YU8=sz5#x?8@hqA>P5suFDlu+v!{6S$j{O#Y z%nld0uM~(oYG2y&rCTlQYkyvd7glCQf9ntLdfFwKu}i4Y8`w``*jYKRjpqlVKhNc^ z`g!2KC+rh%!)vng-P42@3>y;PIE}L>yk7-F!c4Qg)f@{MU;DmU+iduY?Gqn%9-BvyC?ro_Z)y==S+I(a9V!0SB zH-;DA_~1{lto_@STkDGL7mDy3dH89&z;LM}2Xn0mv9mEI78l^zIA;LbBuerq4PrvAb2%?FGm-OX zf@R0q5%=eO`Ku&#M7=Z(<9qBbySOm+JBI4%;dT77@dA5P?!8|}tZ*n&nWyVjs8injdsWT8{f# z{vu%e`aYf3_mS9p6`yt;SLg7#K5y%N>Cu-eraviOqL4D@O(pa3-$CZ!5wAUX#5a7L zZ$$BhD0--N@TA`kJTuoaOAF;&i`x1--Va5r@581Qzwg->7~YT07!iH7{;HJ|U4EnM z^{KO7`_$-oD}ORJ2iu3h@Nv8h6V2zPh4P607NJ`7xtxsTD@CGD+vm(`8BU7~%dy0> zuQhFtYfrY-=#;L0NtE@}-o4I|2U^_o`oMjbSY50E;Jg^j|xeNI}28i##JKXB+DxZ40%GS=l)p#E= z$G~5_XFxnl;7oyWI|Wj3_}BLwUFhUR)Hi$`@45trZ{U?v$k~klwzBN#2C=V0Y6;5Y z_q{sd3*d|3`M#dV+2%#VA@NR`c|ZO~iqGsS74_xN3yfA-De~${*uhW)Z%E`tTzIw8 z#!qjj-0u=&4O38ToJc(}Kk`KHG8|5|!iw=5O;gn97=3!wwp*PX|9|T;C5Hr8UylogA2|69+BYJlMjw=&2EBQsJEoo|PI5Kf^F! z+YFgX+S_H?U&%CvDy>SUosww`Ra&)7`>af3sL}#5?X*l|sM2a=+8LR~P^GPwX`hp6 z44G#9xBk>64pqWoVigVsC|s5d6YIwe1`{HgLQ zzQlZq^-+9N$x-}?p~}avfY7aXZ3RP|7CRe#bka|p*Y zg;|cmx$!4~y$7}6!<;g?y- z!;mf+4{56Gsd(6r=G159yW#1Q$(#*3Wiq5o#zPt8VW|4+4q&=u{0l%QKSMh5 z5c9)dl(7C{y=Jo!WLbjj*~8+1_zhN{2VcXY}4 zD?m5l8LDzu0Mn75n6g+d&ZWX7lf$}E4ntKg=T5q0{IftOKSR|<+JdTs{8(DjyyRnE zhIEww`^dWp<*-~8vRsZ+To4HTa6aZ+6*fE`!3dYE?J7S*I`R;!wo?ur>BLI^dcQE8 zPK^~Heu{Z7obv5ow)Fdg#}b1aemC_EkM#Od&) z^9!4lNBZONIq;-^2A(ci9cn;l9)@(}A*S6hFXsfhWO=Di=4D8ijE6Mxs5BLlU+MPE z@Vr&ZVMv!u4#z&rVo3M9@=%|Y!;p@0h}GP33yE;aEGch$-KO z=j{buvU>gz=*-Jd*)8{U%9aAa9CysSMqxORVVpAC+{;WUBh9kUakr>*+RI@XO?>3=4PaHK1z#{PdM?=%QwxeS#Jvkb=B_QbVM zjo+KKm-?hkhIEuitn_S=2uC`xl9@#!T(UND4WLYhs-6|VN+$b=>CDS9NPV&X+^f+2 zzGU{JEY^des^c>66bgU1tqVs>P(2-88=m&w7oQHuao9#LT&weNVGkCgWZJerq zm3*$-bjk8A1fAunkUU;^mA3?#j&x$xkDNDDoqfQn&g?IRZ#JK>4DvBlGWGciWZ{(k z(-z6kkdF0H?ziF5*8(*^7f3EZDc(eV3Y7av?<|S6;;sr6` zl9l_PsWa`Eb!Mn+hUF?eliW0@Ed{rx$dV#gL9X#A>Xu|LI64R&?Fw zi50yPn2!9!ioP0H)oqPNUk^-2eq!?5@D1>Eq!TZLXFcBsPe(d2=SO9pPOPgVR zI6o_y9J8t|oG0lhlUVVWkO)UQv7+mCMXcx?Lv-XPR`L_~8;V{{W;pT_D>-XOgd<%! zHI5ipcp)&`r9$$1;n~O36Kzbjm-VTFCw&(@9r=ls9sV(};@=Cb*0uiyOqZ-a?*N^3 zV5stPo?)M{tTuQ$<|Sr7lD`L@_D7!g!qX*_&o+>sAsu;$nUB5^o{n^4rQ3G`tNLsQ zR%LYq(hnHeRiER)bjj+| z3p(q=Q046dR(baW(=jix>c_;g6g_bcSM+1ZtInRR4>8*{1fM1GDTEyJq<4{^Uc1XHj7BOk`d*L(TZTR=Y z(`nM8j6dIa~x zq(21AHH-K-8Q{o6d>ca2KM%|#(m5`a4f8D)I?{<%-M*vIiDx36a%lgmfBzMDo22uX zn($A^sRvND-AJOO6RUabof@53(VI0ov7(1HIf-cP|RoqPe9>6G(Dc-8j5)951_eN3aD*XS>3^oziG z@GR?x@N~)Q`8en-o1v=DCxGe5Pn-@;L z@(|C5XIT%zE17$MD( z4uH85?;{b8d6iRk#kq;e3`6kDo7fke-^o*mg1nMvJ@7nbp4^7DUfFdxf( z1o$?||4EHbU8y-|1Xzvh3&3>DORUDrD;k|xwegq0DsLJKg=1b~HP76t(TSCNleGpjb^Ao^yluv9SwBgSJb5BA%s__sj8y?g6Co~>nWqbUk7COo&=3W}r zHNFqbko5lxyd5FSs-|!_(uq|aHfwZZ_B-?QmsixBzgOcSrVPq_7&u$vKi7DO)j0i2 zV5PTVjsHoFpP2fm%r62nr2me_L#%ZBbKp|RQ^-LF$2t+KeyP^z#H!z$H9E24e~(5d zR&(G%U{(KzHTnmDOVqy>Uh0>58LB;AEimg%IXBZ!A<~(bAzd>0RiKlHA^Vszx53kqpST#F zJbwyLM>=skJo*10{Qt+^`^Q;bRqNyD&7h%&45wp~VU382iZm)JD%l`|jtV$3XlT^T zFmrH5hnaC^Ku{_)QYtjAQc-ccq-0oBXp~mmBqc>fB|{^_Bqbx`8Wk0{_|)fl_Fn6p zbr$b4dSBnq_rJUKu%ET|v!A{8kN1B6I6r2X;J0A?>wbPbu-*qXo8yA`OyPeXm_^j& z58v<_iEZ)Thlze-&MVvczVQ?5+T#yDGLcWL{zrgWL_ePosQ+;~k?1E@|I@}#tp1+? zvxxky#{UaCk?1E@{;!OmSpBa6vxxki#{WAyk?1E@{_Dn1%(3A(>;cwe=U;|{qLB2s zqoH^-FzYkd^>a2b6Wi6Ke4TgZ%IEbvnR$+~vDF#>mBxP+u(r$laqb0-KM#C?;BOfI z8erAu4~F3X5I@%#by#-;@Ckx{YdE~`*7aOLG7|evtn^I2D*FO^4UatgAUWJU42b zTq8_rb;rZcy3F5?*KoWR;-%w!6R=)OECSYeZUbgY)1;oh%5m67a+qsdJnv}CJl`^< z>HmMJdn+{AE^}>nF);Ut;dt%Di;3+LYdpULWyYOP7pIGDJUc^K{vBuAMw7&@e$C^4e zHe%(!gJdM?5Hkky`D1e0uM-UiMImXwc-_D{_WFTX*AMTXn5eHw>#~om%Uq8IUgtBV z@oigg0f%vNZ(~a1PlccQ%yn;^56nb9v7XaE223vfH{oTE1&!@a_?gn$`V#!C&z!?W z&I-J)!;5k9TAk-1;+uiBtwq3`3)-Iq*6S<2PobQz0Bby}fHfX_eS+#C>DacxVtwXJ zjE9&x{oQz}4*Sl;GEJ(Zu`y>#x!NZX^;ida?J1|pPoaNRnk5lS!4Kk(Gtj9}#_o{DZPN_$I zZCi7=3fEdZ_mIP!i5z0?`Sc%)7Zd%&>gRYe(NC=Y_tJ?(Ke77Hpc9FHV)}>UbuM0d zEQ|x@Jq-PA#?SHR95J2_ymWlHKQmENlkUm16~CGN`OR?3&9%nEeSj$~9$teoe&$SR z9J}UqOsc@u{oy!PL}FdyL-68Q@jj6$O_Q;)UFJ+_9PX9mFlS2R*uIzJj6eZ(m@_`c zb`f4o)FjrvOraBreqz=mzaB5`m)#HH4oT-U?L0^y`$-+1cbL-p!Wh_|=H&BQiRu3Z zpIX#suJcG;jjg{mpfPFwzp?%AxV_OD_}}%0g9}NI8O{Iy95=S7d(j)>(Y^C$_chPV zjK-hMi+P)(o_t61=#KWjd{1-7=(^_KwubhrJM%r6(Io{_^SymtJ^6-wZ*O~7rz^a^ zt78`a5MN_YzPYury%SQM%^i+&VZN_6pYNW~)jdC5q-AzvcYDjVjkEK8ZC$Odc8Dvr z?b-9ukxsl^4UK8SwCRnrdh+=)#hv-<%ars}sW;!(ILn8q4PK4HmiF$pd{1LXdv9ME zb;oMV&wE2+Z$FIQw&tFEtF#NE&Zh>2(VyHr@6tJa-E;aH+HWW~8lb%)=lUM3l`^4p z=kwQ=DdO5FQ`DR9ELYT%Z<$-JR@uyO z0<59&Jw46yQ%3g^EbO}G&Q{FAwRs#VU2}R`^5v$BLTO|_WtaEnCv>#uJNp{uV8FfF z_>PXQmf8ajQ;Hwx)iIfn@4+(YY`!|*Lt>dBF{~;1>&vgqQr;VjUEbNz)!aH^yzfdO zIvlADSf}lsSLA#8*=61g2MhTPMbZi5JGfHkr*48!oiN^YH2BV+Kc#uLAJ6fv=&WOF zUoYxxFSj#r!@{oA&$vf|Q?Ad?p4Qd>)V~4clKlKKjQXA~tmj^=$esyp&F%gWk>c~i zpJ?@A#j2rNDnUoYtR_rM`>gr>vOC&m_B8j*$H}JOapXq*#(VLbW3_a3cII2k&6<=p zw%`zRL!douZfVJPmn-bdU)|N$-duKPoq)fG+c~G(Nn`QJ$uw>iWs6;bhIBQ?r#JPq zii0fuG_6%RXz5jz5hQx%=6f!xbk}<9$MN2gXr$Pwy`B_ zl#MOT9UU{9Tgsh+l#OMKsNRUp<8V%IKIpf%Vjphro8Q=ms~guDjpcvBr8YOiM#O=o z-WdP7aT#HAWK0ShXun5>hRuc8KC8V2OX>~erJwaZ?Q=oKF7W2~wt*Jz3R0~Rf1`PJ zbGcDU3(wXrGX@-7+hD%~M)I5OjTg4D^xu>IYL@ARoB=U2y%^^H&V%M$>8}gIG28#O z4=Gq#{hULwe-;_O1yk7AR`$Yl!bSCU6Q?$^t$vPB7RMd9%$O7jZzwYdhpmwM^7F95 zTATZtGoxqr>PXT%8rx3s5~42O(anpbP%;@;XCLV5X}zGQYc_8vB%)AeZ+wE|qTbrR zj@~IU6XKLI`bM_y2Km5k_ucQ{gqFiIIZr|T2D!BIPLzjq%F4N zZ$L{345lF*y%SqncphrFA#Jt22})6EYH#x!DfLUSce^FQnp@oxzq!vX@gwTm{M?K5 zMz^F)!tJ*lqxVMTb@^t!KrE3r_tzzUb8}td?=3yMl$P}suTe`1uEvrL_uFYx#=_sIx#KU1(sK&8`z0*i&+EPZfoq+& z&gDz{eHKvC3U$&R1RU5R*T?0lj{`~s-vkA#XmWE)L%yXauUBY6!aYvtiDT`&fytBgg{;=`emBKC&+@YOwC zbGq?VvbPt{O;XPuZ;mAgdGXpLE#$bjT~TuFRuUD)x3pBIN>337l$X?od}-}an)b*e z6mT;22}aRT@~|Tcm?s^)Au+YNOMDX(t_;26ib_0Bi731L29(mrQf@aWEi92v zd04UA3t}xJ)N*ZXWT=Kju)IQ*0 zS&3%Kld_U>w%O7(ySqo9@|Be8qAmXnt%OdoRB8#!il#qmE1|3Co1k*k*?!vNxDriI zOq)W6Ij5iJdnJNznn=~MPxeYA&0e4KSg({Sp|)UyOMRx7$}aZ^ER}4f%RdAAA5~2o zbdIBKs^mFdi8`5Yss~>3O-A2ewY137pWT&&%(*ugng{N1c!b+pt zSqe8`CHk^=;86>LFIyQWQ1jr=?c7u^C6u&ap8Tbafhjf*21^v!K+Bw-9y~ACGgmL) zzjWu^18HgP9q@>;q^X994GkAvI;HUd)`0^bnhWpAr!`Y7wT~c6+LCw+&mRwL0&~l! zGPun}$8nrChIN?M9G409dOYLcn~dq_LQ|f8IdfrAAe~TbC0-!**N!mKgv)XQ?|5o?+1C0e6kB0) z?yo=P%Zp9a=KF1e#r-v*<#-A|I$lLh;FWK9EI(Rztl4vLG)0$O9~n|h*BopXhQd8^ zYJS!P`ZJ?(^)ef~NoMrCzIY?k zsos}>t=-h;qauL*YAe0)dhAPZ@u=`X)Qp?c2(TfH{e zX?jmd9b_SGH+uSw6ps6Acv(HJHQO)6zj6M(roa3)kH&Wh#H?N)%F^a{AV{hW3O;U~ zgikngKJ=S0tjAvzuzCyOv-K3e+v$yf9_v$&pR(5Y&U1Q;P?k1+XFI)W=<$>2)Z;fE zR8N25N{_cCW%T$52Q^kuGId6e-+EEKn_PU$%IGa{dQC=;pEy^&uRFaJC`&s&zUuVm zK~Iklek(%tHaopFW%M3%daI2dzX_pw{3bX4FYH(Ar3_g}ZwPB0 z*4t*rr3$vTd#=;lBxT4#QjIg6-X7@bx*86q>V3fJZI-gAR*Y$?)7x+KMi{*wr?;hy z-fX8g2!GUF<2&By-RAVRmeE`6^m0aTq|saL^tP4JyW8ni8NHK?-Xl(LJIZo+Y0~-l zk<%LmJv}Z*fvofKveVmxvb6Q`qSLE2di(~6>K%fUm|cJSP{wiAr11>|Pch48KyL(c z?i)OwRPQvW=l4U^IK}BLG~;)g(VOD*1|eA00Ih&;biBc3cynF5OH8}`rjhpJZl}jz zgGp=mamUMnmo|PIUAxQ8_>DE~?r?fl&`X=&Upl?@(9`vDj?w$8(;HbPzCSv>ttP&4 zMsFAf0TP9MZ48Vdur=uz9SNYAW&5DVb;9++Z`84j<5UY^^=e_*dWzohTvN(&nSp>5YNj2-IhM=Nr9cPH$S7_&($GrknU`jox~vH@%GB15U5i z=v`p+b~ru$`UPBtr1+OkuiNO=8NCD-p^zxdZxf8P`Q7jI7C=wu_hO?r-05|f(K{ME zjg`T#F?y4X-g!=MVHv%%o!)k%$8V6aEv}2HPH!pn($>plr#JZ2;(Dn!dL2%01@w6Q zXwp7j?ewalw;Cj_KYqJj<6G$Twn48-#e_%mMyIz8dQI?CZyIvd`;yb!2fbk^*QD`% z&gqRkEeSf*dF*dbc^fz0lL+V;0EdQGbKe<1aI+1~nD` z(CMu>s~BIK@Tm8S)7uU``ZcNEubkd$=#2o0^KlJw@>uV!xCyuGWmlQ_27#yAsFvAm z;_HB|dZ#qM@4mpMJ2-&KQ}iYGa}wz0+W>o$6QPOl0A zY4h9V^!lKu^V?(e{>|x4hu$CtCQ0L4;`D~$MwiDW``d?{JkG~`POk|CRq$(4y){m6 z4D^~nqTXEOs`rf3TZn>DDkeOdPdL40&|3sQ_2vnW@xAW!)M<)9;+#&~uWY zLp?q_B9D4+!C=|-w-p7df#L!l0G{( z9_yX&^md{^HK?iheNJzkiEp9ssMqTBc0phW{F+p+(dlh~9*-mT_h#heQSTO~w+{tr z>-i?9w+DKwMQ@SO`wypAjq^@gd|z~W%g-&wcZ<<`%<0v*^O*McVW+nVdh8$jyV&Uc z#p%_S(c9znwi>-p8NFli(9o{Gx-xq222W!}^~?^Vx5Vf*IK4?_^rkqy-A3vKC!inlqv#YXSTM(+?j1h>b>qB42|!BcHi&nz=~ zD~;X+r?5>?@t2-8CeRA_SB|$5JjSO<>-@sCyB+OzfW&^>i(LD`&e(a|Sf<^7IK8^} z6_3kr7`>yN-lj5o6C7`I8Qyu|X`k4~X{Oz8nReTq-WKSk?SHLKuL*j(|E)E8pK^NJ z%Eb2xr#H{UcfZkF>-4rmFYSE!4X3vVdezY3yz%}==WUDA+YLRNIHyd{3lEpqA(i88 z2an_RM!Z*3+C5RUndw~p8a&1HuR}jZAZI_mFFa6iV^O;PhT?vtihfC|G0gGCg2(qg zG%4>$@D#Ibn;F0Luvx}-PjPzFpqI8@E_S>bW!jzS+8u;9vPPgC_V*#vZmZLq2fZeg zYtq;oo!%(ub$~>@A0yX(e8TB%gWfeNCOn!8o!)Zj@qACcM})_5x!dX0;`*HL&uP;5 zzU=fyzQ1@J{RCuGTHI6zBIzqj%6@rR#Y=^e)iggcnTkG*;Tx(3^*x{e23# z#y8CA)nbuyztW@{M>@ULCcbAtR=qJ!ZwB=EeyJwad#}^m3_XrNQ0F&gd<5daIzvUq;lV{r$Al+XKC6AhEwcN3Q+-y3^YZ zJ$?p5lj?od>D7)e-go~3WYv4h=?%s8@98QgJer%F-YTQ_OW|>T{_ON7LGSAnkfiaw z?(_zppJX$q$~cu<1H@3d%^LRfQSDJ zN%fusPcaL}O(-63zlF^*&hH6yNeH}S@)LZWKs&Ku^_YXCx z-knZwvx#pH$g1~{)0+XkGgVA@G=Jdqb{f4u36Jr;?DUqEiSI?Hx8LaPHF}5OLpXMR zx0H!*Ab8q$RL|t_#-z^2Uya@er;XnUPHzY&5<*k|-6I=x!xrJYx6oL--a z@9#$MLr!mc8NKOFZ;8>{Z}jFky$xi3VNW1{{9oWu9tsvdJD?vEpd8l zjUFdd_3m?eOUm?jjni9i`a8hr{nY8LgdUb!A!&a%JH4$&Z=liJy> z9dp|2%(xt3`tc8^m&5sU3M)ubjlVj*ozUw5hvR&t(K`k=LyS|ehgzWrS0Sn1FgO*n zupWQ@gY!FqH6J=W;` z!|4qjlKy<{uTF0t^z?r9IHUJ295gTs>t!7D?n>$JJHXSqVeuGz;AaDJu9p*x-g`w4 z?vQpskLy5_YMkWs_CjwdNYvwBZ6J^9aiWWF2=?n5_%*3sjni9nQSpA}WTQ9T>D5CI zmv)7udJRr*C-n6Az(1~Cc9&h+aML}Z+#cqt#^7&(BtQxHL1oW zPOsbO;jPDl-dv}*0D5Wr&~;940rYr$a9r>RyrB0br?&!n!!*_hDH+WKUAHpqoA-=!6_;`N0H6^~k zIK4XPZ2*tshfBAD-cW4XFbnHy74$xqqW5<2bSzmsXmauWWSn9PdZ#+Q5$Npf6unVS zZ!PrJfyemx8A+Xw^PS!@=zSqY?|n|MbxKhWhg3oDN~c$iar!$4K$7-xn$sJ4DUNeI zRA+n`%7WfCPHz;xWN?FuAy>V;)2p7EWJW=UdI+_kceB%54ZTmM=zYZL&1fj<)f>H) zPHzl0tF-m^C8xI-A1u{<4WSm|`=QgT14;i{HpA5Ze$VNxgx(AkvcLM7RUU88h#uS_ zZNWuOjbLV~_k`2iKfSn~^*bNb`;Cil2;N+HHAQcS(_4RKlF7+@K)TT1gE0Ou3&+Pk z=sl65$3Ll}v9fr}RY`{TG3+m3L2rc9+c+$fS*V>yJ=J)R)7$nzJjayvH^b=FIK5i@ z83z3;tc*kT&UJdD8j}p)i)MTuHhNb&y=BLxujgq_Z+m<3Ict;A>v4KRj!(be`l91i zftPmP`mAfW`kLZ-tHreYh|?PbJzgJb(sB8b(;El9ffy5xOWx@H&go4*A-x}!I3C!{ z!O~D0cxnB3D|i|MsWlzNezci(&vJST%Cy_!cuUIgKI?cZz&k@?Wu`GLb@5F?e0u%` z3_Koh4>-N8(7P-}?|!GZ!02@vz2}_X$dSddwDE0mdTY%1bsN3EIK67<;SpOQX@B=P zy$7KOS6BxoN-*M10hi_s0&TzaM@Y3$zs=?D37}OTi?i|zZ~Rv zLGNEE*Q9!zoZdX>jgWovBSvqR=;>VTIw}3R$}3K91s2mHG|K(pV@B^FOeVw8<2-kA z`uj(mbd8m=P@?-xDo@2XSMKgWHJ z)0>1vw;AnG?-NGvgD$>Z&^wiZNz(YPaC$@M7N6_gYV_tgy zM(^`ZuNr!{X>iCjzB`;=2lVtj{b{53O{cd3dODVrRlR2%ZzFiPq%0)mJ>lBz!@;Qi zxZSk-y3^ZUM(=k{Z=um!YV;1r^$N_wI^7Gs!|9Nu@eKw~F^iT!Z!LHn=R1tvDNb(? zP6{Wc=#6xGG(ygK-eT zEX+q6^mx2!QoRH`#VlI^Jv}bJY4lEadds1gHgBVy-e%}EL6__5+eUAO)7t?(oRSJj zWBP#88?~@_KDy87-Qx6yoSFXltDBr&AM{pBeBUv8_c^@<(8HlnNE+W7r#B221-eeZ zYxG`nddth`z2Nl57`+FK-e5d*gISp0b+}{Fz5g_NUv+x?@DOg53rYL9(&;TTdJh@Br=4C^8NJ7y z-WsF#W21Kvf`M6>j~eKujUR*7SQ-3AqxXo>JHzQsgI;@~w?&O=r?(w?OTpvu_7kHw z-RW(B9=cXY8dHPQ>$thNA3SFC<~zL|(8DE7A*o)U(^~;O-LD=udjIb9_Cqi2cw6rD zRvW!1joyP!Z|K;+cvawa7kW_~=jU9z>(K6g@Hoy-n|A+O^xzI@DfH6T!Ct4g z78n2HL~o1HJF2R5U9Ey%+WGeg@N~@C@NVeoI6rIj&USih%IJ-8di#vtR--q=>8*p_ zP_(Z}WBNc+WLFQ>CH2GyNup% zoZiMV@$GPWi;UiDMlUqhS~r?;a_ ze3P8sYNNNu=zYZL?JA=;&*`l*dVex{_c*;hW%~OSr?ON{E1X`==nXJ> z8=c;`GI|d=y(*)}_ct`YoldW|On+Z;dZUcq!A5W3h|={^UnahPIlZw)Z;;VD!Rbve zqc*AVXMb-P2(|hn!cwZMhUgz+)?bsIg zp~LagIRnf*{1II9qOK;@V{XFE4EYJ7mQU#BS1t9d8(19Rc7dZ3j} z72z9o#o~(04~qs+MP|LTf8^|koc&{GKjQ44IQubYKkn=&o&A)vpKRbM|Y_{=KtzJNtEK?{W5@oW0lC ze|7dgXaC*VyaO$!ip)QY1`v*ql4VzsYDvnM%winHsT zJ=NLMoPC9}`AMH*stBLdvGxpC{$Xb~IeVtFTb!MD_SMdAbM`gPzSh}zbKj(jOsBKE zo!#T?K4-lI{OZ1FLO5ESuCcC@XnyM`OaQ3Rb*B;`^(N=>Fm3leYdk$ zIr|=Gf6du^N2r)8GT(4E-;pV%itvt#wfT-nF;!&vjz%$6WcZFmF;!&vjzTfv`o-CN zqF+oE89tFOriu)os25X3=Eu%{#MwV__G8ZG6X9a2$UN!nr=0z?v$r_=S!Zu`HlI8e zQ$=Q*vwz|2Upjlcvw!969nOB)**l&6s(1We>_0hs zue13iqL?Z&e3DR16(ygv<@s*EEB~jnOD?^^=bdmdRfJFKS(|sF#Z-~uon$fL`or10 zlPji*%wf)co3n>F`*3ITSFww!B2&^G#Bc97*nj&Zp0>TSqRqRCVyY*uAMMKVri4iqnJQzEKit{oh6^PXnd4pg zNN3|iTP9VMd^3*q?Gt?3_D-BOJ{)0EMfj@?MF*~ziUv?c25%ynR8exL%W~Y*np6?q zfhjsF!Y>P3yQXLWRfJ#mExIa7erc2C7ZeKvpYJ>rQ$@))HOZe;ECi}3`Gy?rdRIQx z+0&eTg|nwS`zmM8aQ26t-Q?_<&Te(~EN8bl`x<9=IJ?u?-OlcDcAvB7I(we8Z*cYk zXMfb$3!Qzlvllu07H2PZ_NSb^#M!qyd#SVUaP~51f6m#c;>~A>xo6i20v)4NNerK<9_V=9qfU_TT_S*+oM@5FeMqEtTf1Q2g0DHz5 z0&2EM56_t@o&64H4|n!^oqe9O?GerPTBN)gd1dDDlJD-Y+#VscZxntm@Sn`s707a3 zG2F>2@ryWihFNZBjP`f%(nMRIfDHw%%si9XB!xV4RpJ+HUMR7D7Jf^Du2}wDra}gk zJ9#C30j5%Hyv+jp7nzgHfU~``ovnAErw9HoGxm;+{KdlmdMJOfiae-rz#(B3~Yca_+gtT0kbFjLm?3`tt~*l=UX^(M^<`JS+S%U}JFe$b68HR=R?;Rm-%qH_j7@G8n^(@2nRAl6 z#E#=RE?F=3@KAnU@~qesgI$ySM(kUIU7PF^8)g`<0p=Eg@gC;vqnv%5*dGge7bN_> zZl>9IRpOhLXN&!XU|*a}6r1naR^pqEmx#?eZ1024&O5u?**7}-(_-Hc+MALrcjaFb z`;(!(KKX$we^l%^KU0(EUHPw_{hG7?+t~+mW0l1I9pUWZ&aQU$IA>qt?CH*){vh_TVSVS5 zw{atp#Qq&4cC3GO@_w;n{kG)8CFR#7{9Q4o$iFt>@AfkBPO>u7kvuH+Wx?)Do)epg zb!DbIc};9y=T&BUl7EVg>4e>vyi+a!OlC$q&y^>Do2D0bYB zZ%pnK`(L5|A4%?Z{I$;B;OwWI{i3t~?Ce7ZGm@A%zDGIx1hM1w*iFeevH9JnN<1IF z#PL7q?CYF;tFyoC?EA$&6|q!iZcR3d9q0Fx$u_ZX3+10qcDee07dy_+ZOP%Bc%*o} zd3$nPiM=#=pV)_o@xCLOA~x%AJgyS^#8AF0$%`GYw?3E57du{WEl(DS%_lLHnJ*^G z#lADxE0Q&0^T}-`zS;4B*m3_~nfz4jc>cO8;qPWLaoJU7?oQsy3n!#Hyee_^dWzVw z{GNor6Uh|Izm{AlcI^MX$!EmoeM%*sKd%m~Nq)gm4Uw_SuZxsus)x1_I79Q7Ms&piMyGs+@SI_TbbFJj3}{RP0kTJ#=k4! z?_x1U{%gs#CHC&*<0bsplP{H&?@88|*ndi1DB+9CKtx#oyP3ym^E!u z!`xFFPit)HXy+f+o}KS&>uP1K$*pJ9HTSk*>TRgI7nsGc+{2J99lMH#AIY zF2Fy*fxqdig`N59GqamJI=Wgi7vWFuqF8AKN~o)R{Hg2Se9zo`PocOM zfAza3-`v_b3sFgv^j+VBKmF~Uh7&%As8}bEp zSF;g+URWD8MV*krpIqkrumC?@Mo@5>m2A0t1Z)z?`(|+l`KSzQE}Y4N^Rq{ z`MDPr9n$K7PV_R>S(k4v9%Q{}xuD&XZ<$*#dfVpowRT1k$-#x@)wT|LF6dVMptf|C9OPaFkZkrSs*je?C>=~#(~pl>1@XozMx zUSnq=!b|e`?(sc6&GU;3mb-|!3{)*vsB7+Q#c_0PermqAYfeuKj%F=pjg;atZmq?s zxx6|;8fWJ83 z)tYbREM)4Nd$1;m*o0K(;2UW9Iz$}!FkTaS=6Cmnc_a!asOq~?`1tXT#HjHnqpL)?1p{!uUvWXLlMT%p| zR9mZH#IpL!&u_eB;*~*Av6P^lVv!os)|A*-p?sos)aPeU>*B$2esgdB%rT8|2s6{V zru8(pw)bISnA0hTzfeI37+ZG1hgH&$ziv*xvn8KtIsLT0uG7Y3>U+AdC-j~_XVxqp zS@BSiEuH7`mPQ!$J?(R`J3>nWi0+ARLJTL z*AuZuIP_y9)4I@JaWNDRyosGWx;d}fNwX2uw)gf^iX)cQp6m5-?3K zHg@TRhWfNpX{}swv2sISb9YC{-can15jl{CMb3R(LW&E=JBMMyOn;29VElxc zg}U6eN=`+^9jT*zW>0g^{4j3?K94iD*NbI>1=rZp+|rhB#C5b8FQLd)S-6B`v*99b z5-%uqrYK}t>Tl`l?8FsPI4{TP$+re0o@eUvIBDowotp3Nm>&z#;r3bWEj)AcawC$l zY$ncYX>0DprBCn{S#kcOHxOco!EpgrYi}Exbul%zpnk#G+|rWoj&U}GYwsAEYX|e# zH>WqqMpi#DP30kpA)aM1)#N|;KsH=-h z23JCk8fW<}Cmb|- zkD~jKZoEBtgi_p|$i>8#TpeNq@6XrR=5NpE^z`sShHS|P-bA;Q5DML$a8Z5T#Hr!V zx8y)kf>zp5KJGeUGg{s+0jniCnURb0WZ&4(kUk;EFx2Y0^ z4)hnL8p6Ymc+YfzU`gQtvgJxe9M@?_(NNKLlG(Tz17rhi8%NLhnQ`g=4&O%wWe-Okc^r#N1<-F;q(~&UgMu@{PH!C zP}g$oyo+Yw%#U?Lf9Dv@c?Qe+4E>U}LS4H)i}Xxl@#NSq{+oO}76hF|5eJ=5L>ywc zrC2$U&-VnrJw{}02fmHrf6BN05>4B$(5{_}Pn$TGL>$(}tr7Emszko_!uN=DAK?38 zimQkv&Jn~C!$@N3%P3;`x=c0kXQKWXVwuyi#MebXU?%xb{wr%z_Lk6>_0b>3>fcPv zGVdW~!69aeC&X;W*6J^fIzeCJ3HmZtVNC9foS=V7#6jP#$vdK-5hnZ)5K&D zMI7`$A92uM9&ynBLc~E|z6KQH|5Ef zE72du{H}<{QS0^jT`q*zgS3v+N#3Sv7cqGmmlxaM*#Nw|b{#0ytlJVCYJk8+g28T5xI!*LT zUs{R388zF8zZG!@@wX%HCSDtHAF;$dkNCdmUqF0+#0!bP6Y(PAbrCN%{w2o0)Zk^r z65DcO*;iK(e>du^B>qgqtB56@)yBWZ_}3EO68V6cWR1bn)Ka2bjo5T}hldt)O*q)1=5Zm(+S3x)VdBh<$(G0Ok%po?3IgGz>!uZ>m zpN%>knv(eKxo*M7xd-6Bj`&EL0|Y)kV{6H@sY1FhVilIcY8k~?S?)|TOkH%E5smeg&3r*5QDT8 zVvx2%4E#_HQkWy#?yt?53qQ1LJ{y|65;?4&ykz*|4}6Is#3_4z;Fs%{jC0^iA49*S zkD*`E$Ivg)4E+*Z#drjVe%Y}V|0r@qznWO|#}M0bkbNMmy^~`fL%*sc4sqK1qg%|F zSZp~K&p?AnL4S>@%SP0{%(N@_0-@bMMt>L|xn^LUl0DXHTKpH&mi3pz|84lPPllKU zhcOWxVz|-p?R}Zxz!x0)A~^I#aF}bsVXg&-xfWc-{(gZi#*~PkR#IbP;14<>g_sX2 z-kj@wG0U`W;K^J?nhwu+l;K;f?5q53^z431@<J_Xxf4@g>h;js)gsv4qUM#97&+ zcX8WjGs7rX5<9T%J}=F;TRDd;(Q!L za``$t^7#?M9Q@QF&dReg9>Y1*Jpp-GGr){9j3J080f)8(A3{Db=RdUd1c2bIJaglC zkwd)@KRAW>{EzmGl1Z% z?8)J{gP(B{YYZIg9Q=%pSof&0;vbBhSoaFROb!EkF!HcxK1EMVxvDsCq3$v9^Vnf; z5gg(K9tV0D&!=O(FrJshbutvLobcZzn0-8r7<|T0oShu`nC46l9jZni>H?nu9Q?s`bQW(aDk75l4B5bfXPRe$sM1`oR0itgE4Kv&vh8~J#ZL982@Jg1ZNv!oMCU- z68&Ls;Q%59|4)lJD}H)%IIy_hnQ}M~3K)TKzWCzbco{+hQVzkhI$y+`JI0hdCGP8I z864t-e++!#xC7?A@Hospi+_-avr}XIL1(nl5gc@Y3p&6Bou37nsB?ML31hW2`oo+8 zb51YBD+kOzO%_alH}QMpaXQ!F8x3A)aM&Nf|0sN6y#eEy(K)zKR%e4naSbX9;FqrW^*3{bGM|SX5(>hj|Ac2}~{e zF$Lj#N6fKdd^rGeLcg8^Kni|rFkGjhF8tIc&bG#J4s(hLuYoTd3&1@8yaTV?^Y{me zINK8W;XEb$5%7~kO=9Kn7@(hhAuiby#>Vs1LFC}%cp~yJ{({4p{~S)FFy`|7pIW(X z!5#j|ofE&e66)fFdnCL;6F3JP#_bo8PnFGLRi&Al&b28@ZV0tg)7 zw*qJJ$^o-3ZDNjXh(Ykt^#2n7Acb{;jqL-#VN3)g^h{3hc!Mu8xZdDT2)+~frwu+r z@M7dg37&*}1~Fpbyb$a4Ml1bjcPa8~h{0k1h_l^segQKHI83asm^{T?SBklo6m#4a zb6ga2jVZ1&m}^G;BMs)bsXvT428nxb7-zw6hn)kiLLU0Q9YAolCkgm?{7ViFlei~? z!#-gv%w)}Tq}=&&FAT@dgm@fMpR?t)kshj#&o@rR##Q6>F5@DCEP-aCYt!D0WZ@FIsX z6YIEznBgzPZ0_ZAbumuRGdUatTt{JiFbIX?8kqh=$@w+@K_bq^ZiTYkCGqbjgna;* zaUF(N?q&RgL|npuCAh;sIZO)I7~>-zhn&Yb@d)Hh2{04;rkH%igAHc<>gPU|n-b3z zT#Jf(1TR27&)_iT;Lm|C#1A|YIK%_YI5{rVVcoF)cLE5`emo8e>*U~Pyu{f>(a-wy zGj`(aC!+rv@v|SqS$R%UNB^bxTbsz61oeh(hk_rE$L@Y{)B z#Xm^I8t1!!$+-e~=odJQIUK(d^GM;$Kz=SUIECZ2Mp$~?kVRL!M{g74E3qQei7^bIf8y@?gEE>Acyf2XFm-m(s_8%&$%GZ zE{Xoh^h^Ag3+_h#LE~>0d=v6^!Hbdi3SNr*M!{b|&M~6q8suLw_#T7r6}%2%kVpPc zkl$zU_Y8i>;D-hO0Cic1b+;mak{Ep)A~<_12uMH0iyV$Qd5T{k2A_K@arU;ze_1#` zhWUHJe?h)a@ImmOgcs{_za`e|J>Ejo&-o!%e=YrpfwyK&!l?p>SdT|uj<7E0lUUa_ zPs6Nx7jkY-w-ATN=TdOhyL@(w-7_0$1ky- z$G3@pEd0b-dA@oO?A-704-&_MnCmm_|GxX0L2d4@7@x7Yy zVPA=Lj?SVVoNnZo5QD=tK&*50Hu_(~KS(?;y zaJt0Lz)aKRkIcL?Sf9&Py3 z1@{fW8WIlce$M#U3Vs3kBL@H6aH>(C?XvHe5F=)4@;4|HPdE5O2G2D3YJ)orJ`TFn z;XFJ@jJ9e8XSvxUJ%JZFRWP3s{A=W|2a#!iS^mz z>B8Y7;xh$b0X`q&vhEDz;hZA)BJqC^oDU1W0eP#z3yIOzB(z1WeOWA=FCgb-0ri`p z!;eOhUk^U9#`aa=aE`tqnCI~a1@qkUBZD^y&O>v%U|y^ILGWLYSD=jTUW1&!;>vcX zpu)*9%)X#OVnCo6K*SF#-gL!PLpU1Z1Q3i8gP(RnY;;{ygGx$5eISk0pkpIx& zM+|<_;L`*@i2Mw}=OU**bv7UmdnPci6E7D3CgfZbx&OjHNW^+A3Tmjk1v$?pZOjAMg(narR1xA&th1 zb-B-+C791}&JjEd{u;rc#rsO=aGWo|OXuQJ;amy+V!_`+eit$L9CKowm;335;Pc2I zCI*LNPMrOEj4hli!Qq(f5)Q|iSofkm^b6;o!r_<`>s+utIULVQ!Q7AEMT~Zbf=is` zCW;jHdHA_!5Ub8*O1wXNl=Wppp zyVU%faH_!})^P~u1>uBq0d&TIL#+BEfvG8gPhptiBC9_d(1fs&ih6#~vJiV^lH6U2zx_aE^nupoV^BLQxWx_MZVbJ&l009kEy%Ge?Rhv1V4)W8Nu6- zKPQ;+>=0ZHd>#a}k5dFUAa5jwK99lq;(rkNC&ka>?hfPUZ(~x2oUaYj8?;R}12svT@1g9DtV%-zMUW#}|z{eM3n}qx%gKLRVmwN?q z7RNXfdE{S%{8GU@Jv9)6&pm`#k9S^k)6ac_Soa*(r%oSo?$PAbfJ3ZxuNMyYS6-Ks z&&N$4BL=?~d}7rM`!oD?@Q3~RQz%3Vdot?ofcY)f1%3*7*q?zn0RMn~)SU!Av1*b> zKKGfQ38x+$V&#PAjo@%keO34e0smg`KIDHQhW<3vCDyv+sXosKl)4r=UU|4$Em~ps+So2R`7|l z-$dX@3xsns@{b8V2>Q1ZgWm=Yah8LPv`jcFk>4#G9$Um&o-~o}70$!R?-Tq3W*Sf8imkI7`4GR-L87xd%C4)a1F0FJhj{9w$beOHr3t z>vCMk`6>4D7Y%+*@E+v+U1{a~nHW0DphK){Z@+K`48(j1J_F;=-<&3YIrzl-O#Vpm zuYjL8``tJuN7IjZ#v|wNQM2w!aESGp?P%eQL4K-W&h?qZ;I9IoSl0u!sCgN3o|}o= zkY8nRx8Oy{dj&5*K3DKc?YY)Xy^F7m#lf%yTzw`iXyU z@P5JLF)st;JUa;aL4qGdPMdW{Ab+dD?-2YEtN%aaTe&pqUGpPww4`#I~= ze-d)0+=t^mRJg~4;1E<_MZe&Uf_cw%D9Y47oc=%IA0%Quj;Kq{Tfq(Y=D?@JS1tZc z$j1?*E|y5ZTDMj>JjGumnDI;@27eH8VjaU9#XlH1v0lS`oPM;+Yn;Wzs5?Zkp0mQW z5I8)p?+{K-u)$@+J;xH(vCQ60B>F&o1fbcoS=X|3N=A`Tp0xgfj*?vBm?K$u-CI z5O8b!+|XO;2Yx4VzKD-O&KEJ;V#?*?=aG&Od?Iqb=pT!mFJi7orrfN!1_Hi1eim#X z{erRlGdW&tA`$C*CA4$b#Pz^6LCpDm8}YTW)`<7wALe-J8mpoW&IQQBS_Ow~66V({|@|I%PyYiiwaO(<=JYeK14df{}D{SzeZexyiPF3=@P*k!TBIDbU4n$*(ah7mQ<)q*;|Ff zW1Kk40YF-c7xkZpd8goek$=J9FB3zbYlE2QZ>DeK#k!wB{*d6GAb(ge=jE4ze~coWo*lw@ z9XX#(k>8B`X2HvmFERMv1#_(KHh48L^tmq)+s`p3&}8B?DCXQN<{T^LoGIqGE9RIg z=6ETtGMN2WKl`cp5a1kcs7E6|iuiB%2Z=b#H#(5U;FasfnjH|Ix90W*cYMDO{6`0DjJmYGz<74)hx;$_zsLAT z7<`h!?=^Ug!DkyB?%hOlg7F_N<8UN%!F-=5*x-+akK@n2aIUKiKF;8<{|oW*Jujpmbr&PQUGN;_ zUm^ydYmGR|8)&3ec#%I8n)eHS1o;ER;13b3$NmQT!9N=Orv-Cw_!%+y95do9HwUEc zc#%IG{MQ6?Z}+#3!t_%LD+IS<5Ho&=DN6b|1{J5KPK z$WI~$zX}}U?9cHJ(&_X=|1|K&3(g}C`w93wp2B`2dvDlJz~^(6nZmC_9-fnc&tr~Q z_o#)!83+B_iNWETA=W+W^TOft1HRS7cz7Q97BTqM;1lcoJ|LV8$iw*&d|vu;I$3uY z^6duymtY=ie>RxUM5xc>p15Scf({ecXd;;FOmWz+#6QINIrqvLYB1+X{Z$5YeAUmf zQ_L|^Tx~F8RsUFn#~EB>@L|BYo_Ou{cH;lWKS;#cXVGaS#zqd?A5IJo`%SESBVZ=i z8;_m05dWPXUnLk>{JfBG#*3evO9gW*n*`Gz-Y@HmpC1hSkKnN9K!@W^te@LC znsvds3HcboY^RnOe9j56euiff{h~QlI636R`nl*9@pImY)sNFg(BwD~XL*q&DK|H^ zMKgy@i0xiR%mW+=m%IV9kBf-s#m{bh#`y0O%rW`3;k+t%4|2X#lhV}5APmMz{7>ZJ zIt_RP@G;^ihx5w197AILKGa#_XUxP|o+OdN{tQ0HC+yGs-~&>)euF;y7xrgh>Q6&P z{h`Q-b&h7x56(>Fje^PVBnF@3Nv!cK7S2xO4-tb?C0IWT%4;=hK9Bq{VsO}B;_QwX zC-+`*IA*+tBc}GBiNWU>5bN3)L;w7Ez1l>)AO9fTfEV#VjK0H}N~*KSl7_$az0Q{Xv3t9>W~L z&v_@-?+9N-K6ILpe@HOn3F{wxu7|Mxd4Y;_Enehbhdj(3F!>*+AAGJ8Vx7lT^n-(; z&TJqCXQ*JE$4BW0XBYBK!Wkx5=W(lW614S_aH^0KXAiw3-8DLU z$1EIQ!mp+u?J|C1JzmC&pX;AkkC$5drS8ST;oK4HURN)iub|zV1g}7T2Qk{>dLh=a zx<~wsky!m3#9xJ+SpD4Zs51gNv97%x^dmMtbK7SyZTdN8VV?nB1pH3%6OST>=19~d z*0#RgHZBw}z_ zg;>8A7RCX7&K+^~kFjnYF!>yBV*R{U=ofFEkcc(@;6L<0e;C7T^b;$eTX}A9^b=?Q zQsm@#z#&!@NM1Ro#?}$Huy16^!`8v!y@Q2_FaRQ$R9L8Dj zyUFLp0}`=52M)&(IOoB4I$q>({E3wl&I{l)!FMrUDYv(NN%4TOG) z|Gna8jHeNcKb(KTXPje=e;l#+FA>Z=`6|Ifk#nq-lP4CVIL42<_owA z{xDy_#{q{u=g6o-tiQ1k`o)VqB;xGA0Rc0%9Q=%(ILilGNP*9jj9~r!iZEY%h=Ftg zUb(w6nR?`5%mp7J{)>=@V-tMphhvrx$&lDL)*XR7^il9J;-@D2OwJVKVLbrTANCDs za*V^iAwS?!13L#l`$3$wzt3}b94ELlxmEG{G2pKnd{4ag4*sth|7wHpHJq;-|2GU? zV>sV5{%;xlZNph>{P!7rzu|nx_}3ZyUBmgF@jqbjgGEmABla%Z$wLtjL6&TYcqs9Y zBd#KTIO37Sk3?KeyfNaj#6O9+hWOEl>xdtVm~)nFig-Hl;}JIzKM`>o@skmE6K{@q z9`REVFC>0C;>Eq@DFGh?@?M(8kh;e$$BriqGQ$?~PVjiN&uOqG^ zemUZi#IHnLO}sPWvBbZLxQ6)Ei0g=d8*x1`14Nom{JV&oh+m7ijrjKwcN6c9cpmY8 zMZA#s^@tY}{~_X~#OyTEa^gQmyps4&5w9lxbHrXK;Hxd6W;w{7+ zNThAV{~hrT;=f0{i})WA?;+kF@jl}J6EUCLC;yC?&!&@qMLdKU|1t5|ae`}UrYd5& zUga~~M6M^RiRBt{EU{es)ey^d8lO=nat&5bJSb{TCzflNCStj6X(N_vm2P6WKAA@> z*CY#xmlMl1!%AW~kFO?{^YvO{oGY0gB$ji~24Xn}Z6cQQ$QI(E zk-v>t&I>z;fSPxcmw`H;$E+NOEvMs^v3&H-COEl>)tYrSoW4CV%b|d zh-Gh?N6dp2X%Sw!w=5-=y=4Wl>@BN_WpBYYTG(4Q5X;`eV%=M|5pTgiNIc|pZ{c#+ zy@g9n_ZCjG?kyZ*-CL@NWp5cpEPKmXVm5+QODua!J+bU9d`7Q(OB=E5Eq%nYw=5)< zy@mH^y0#SamlV3U z3?Y`iWf-ySEhC9{$9DOCmhLSz#Im>Wv){V6Oef}GBefFC-qKAhdka59sC!E|E@W@v zX9aa{3CDu$EoTXMv*w^R|!-ZF|< z_Li~4vbWR{%idB?EPKlg;y8riGjodjjDMlQOAKCa@G67X8ob_Mel9M-yfSSyc!$Be ziP2}KeFhIasOTR;j54NS29Gp&3^86zH3m;Ic)G!@#0N)yx4{bxUTiQwKd1ba2JgQ+plD9-ne&$W_7K67NyvyLd2J?nN>kcL!6g7t$%+J27pWjhx`EUrS&EP(R7aF{T_^`-dZtyCD*BZRu;7!DDi*>geyu;w#2JbU?Am%(7 z66+2zc$mQ>4IX1~4e{Zz?j(b!8{BGex4{bxUQApWb(R^t(%>})KWOkqgSQyGo%roh zbCNSY>;A(@%8C+-ZG=rOnkByog2G28ik-vnZYX! zUSsfs25%%D6*adQyxrhk2JbbP4~w<#V1tJepAt1k7+h`eID_j9o@Q{9!5ze-qvkw= z7a6?N;1ve1Hh7)E8;IW8b4Vvc`x@f$5kF|~MuWE)yq);`$lqn~UW54oBjpS>cqs9NSa*cM)dr6vu8o{JgQpqX zWN?SU^9)`@JTdAlHF$-=tBEg&oOK3oFnF`U+YH`m@E(Kr6JHoL2jQMTan9f>;=0Hg zW$;*oYYnb9cn0xBv2L5eeFiTyc!|Nwi7$?IR~fw4;PnP?GI%TTC9&=fgLfOe&)|W$ z*HQiu;z_aYFoQ=LJjURf|I6O{z(sYP`TuwB41Ww4g#n3)B$>G&4ra!TS5&l+3?o5I zAVowasa6J&Uu!-)*0i`K#P8PZ;;ylF zYxigRrLNnWes%NxJonx+^Kc!a-Cw(ZdtRJ5@AI7JJolV)&pr2?bMG*W%NSQPu4CNH zxQ+34#=97Y86RMLl<^71LySilUu1lRxZJ2Cy?A1K#9)Q-6vo+%{frA3molzmT*J7L z@g~OGh(BzUp^I@3J=QA#5TtU3V zIMzzW4UAhEw=?c!yqobp#)lanV|D~1;}OOe8DC*cU$zrS<7J=QA#5 zT)}uH;|9j9#LJBGv@`BxyqkErp|g+iVaCT8pJaTR@j1qq7++=Vz}}BIRtn=x#vaCb zj023z7*{i{W8BQRjq!HIyBLQVA7Ffx@d?I5j7Jz>WPF7&y`U!Qt}vd$IGeGbaRK8} z##M}K7&kKB#CRLyF2+5K_cK1ixR3E5<1>seFdk)mjd3FO?L<4I6R$A(o{PBJU@zl* z#>I>)7_Vg9z_^uhJL68qyBY6ee3CT(_yXfm#@84pV&7MkC!Mj2v6pc^ z<6_1Yj8`&lVBE^MopC4Q-Hi7!KFs(Sh*uf*k1{^Nc!>C;hRz7%i;S-@rk9n4zCyg($UB8`He)~I0>-6` zs~FcXZe+ZP@ixX?jC&aGXMBXX#wceW<3Yw}h(m_X1;(R{uQ5)<^CF?2PF!o`busob z&L>`D=oB-qV7!vJ&d_OK+{(C}aVO*5jQ24|vZo{J5bXU|hzynsFU*gQ4HdxQ+34;&q13F2-TT2Z*0AbdEAU!FY)A2;+;y zA2ae^VN74_5psp`6vo-ajYeKS;{wK|#7%}y72_Jljf^)j-p06#aS!ADjE^wxV?45N^By^Ql27c;J4ypnMP<5tG)j5`_cX1tH_VaCT8pJaTR z@j1qq7++=VxG!4w6vmm1J;WQ#{!iRu_J77@jH?;fF>WT_Xyk2Uyq)nb#$m<>h+B=k zM;V`BJj8f}@kPd07}FQ9Z67ymDvYNv&L)1!(D5@aU|h<$ig69`(?;G##+w*#W8B5K zhj^2bcR%AJjQbc5GCsrj0^?D}*BB?xiXMx8D^(oV#n?;yj8UF^#>I>)7_Vg9z_^uh zJL68qyBY6ee3?Ph} z=;SjlW?VtM)zDeVxPfsi@is%JopC4Q-Nb)l=+RmP4v zQF#jEOvWDK&lq|07zY@aF|KA@N4(w0+swF)@pi_$7>5}jV0@JE3C2UjpEZs(!uTTN zD~#!%Yzlpa_&Fo*6vo+%{frA3molzmTtoah!)7DnO^mk@cN#ifjC&aGCw|`0Il{P) z@gVW%4V^QLFEAb@{!>He8so%yQF%IXm!acg>}8x!yu;8bW?aE|CGk!}r-5-R<96b1 zL#LDRZpQljJzJkd5i;$%NSP^f6>TW z$GDks8}XM6o$ZWwF%A>&Hgpa!KFat6;~~Z)j4v|2!kGS1ny{}hp29erv7d1P<5I>| zjB6M-GTubI$Eepf;uj3=V%)=cKk=6hog<9<7!MNn7&>PdUtm1S_!{HH1<3oNk(Yii zU9gL>m-r<^C!cXK;|j(r88;V_Z%ARpVH7jGGy^G2YI27x6wLZ7P;wRv1rVoXyxz{AWhq0>-6`s~Fc1?>F=t8E;~|jd2(8*A4w1 z#`_r`Vcf@fkoX%$-ZP9ZFdk)mjrf~}eqv#i(;2%Mdx;Mi`uU8D8CNh~$+&^|TSnei z#_fzd8Sf@OXz1@_e3+0**w#;0ApG$YM=4f;C=FFcxYmUn`%kQ7XKIhKObGhcu zMS|{XZu|6uWhLUf(qzqsUsbmmX7$e@`m`JWFHDj=(ggYf>Y{}U7q~oYTGnse*t&jw zqwkSLu30lR|4e_bD{p50Oifad$pufAs$17SxiPeQ@ssuIrDaPWTwN4g`r)!=RS&K% zTU_;EWl`DELjP?=!NrBMZiDj7jn6c-hH4SEwisc9pw_jUTBVtFq1KQzvv%V~Y37>s zO-*Z`glv<3gqiE;2)F8{LXk>`+UO3;i!n~Lfg4g{G=c8M)5D_~{r}|LOb=U`x;<=V z=#K2ECR0GiB9AG*lmIW>asZ}55l1@YQsKohDNfVrAc5(G9)+?HBFsmm24NyRwSfaZ z1%3iNx3?R5!UmGYFvVjzyG6@B=E!89AA#a@^r*8-arh@fYg!s3J(@b}AA5DQg~p>l z_G;-rd9Pl-W@9t&)_?5PYI+$dGj=50^+*)45W`b0&W<_ zo!5iA;vaYh@&}r6B%vB~C%xH>gYM|0C+?Bs%{Xp{4&A+Prk82jyV;Cm8uV^u#=*;m zEc%QC8}tz;W(%#28-J%hq20rR_A`VtwLE(yqwy{|J9|>C4RsmJ<;;S zww;O66MwQLQELCJf6F3iYW=*q7n4WvOJ;9rYS(;+rtX-!w6b=`{Pdu@W8RS*2&c~0 zYP*t0HFYN?cT;jVC3nv|k^mtk?@S(b9zQIH()vTr;ZW-NP|AD1%H43vzS#X}>bfP* zgw(JL*GeCLb5V}qby@AD|I!5MSy@R_HlIOU#`ukbJ# z8gHmBdMrCXRUE}r^jkHz$Z}jcjs%f|?sQE3CH?xKVxM1BZm-^~I4gqPi+g|Je%Jn9 z>eX5Kwt0UkcMQFM(S0?wBvGQEBVG^Cl_(aEaY+whkwS4sd=o`UeUmhC>QO&&zS)V5 zoYu~!NNz>{r(`&-vOBHc?HqQeo_D8Q{gv~01v;wpcvueI-XF>s4oyBEO1~UR%RN4S z!{XjYH?Mo;nI%)Fx!gs$A+=Y^56yd39{89Pbl>sNqF`u(8g5_os@$qS&Kn4{qW`*Ft%FsAT4~Yp zBaY6_&PE^oZ#10c&gY|b9ItbGiZUuwQS`rqYuZcD86wP0< zIP~a-b(_y7Tz22Cx-&9{6IA!)89&Ea{W(KY~>+uyXH<0y6NA` z_2Hs$zWiaFa>?ayt^Dy-T!_w!>~6p6QWm=Yx%)kv>YkE|7P}*tS_9XA^@b+pS#!8L zD<4zDS?|C$1IDIYWSC4DrsTRQ*DR5%VY6|#v$8LF06P$&QEmGanbC>ug8r`DOeP;;u|A|pB*`3wzR)^j0^KRE=_dPiN3#qsc|Fe|CdHmdj z4R3@_ITXiY+v3!qx+mdEVoH&DPCd3l^Xl`YK3rf_C~?Edkn^}pA4^6j%zDH9cIq!| zr{uHtcO90?dij=wjK5FtO!Us4{_VE>0yTVTM%GZFX`15OU0LngDf&OD=rH1pAKRji z*i`uiCGE9Jn_^e{sq@e%?$2}i{jJ_$PdD=Rmd(g2G*3yPJo3+8xdWZt8_b=k$R*e$ zQV%Wdpj|8q_0PmvC*5aKFWQ{PQ|Nwu<2ZO$o`3wh0~X94Mg2PgH>17+SMa!5=y!1s zi}OvIh0{y_8Wg1lz9UJlpLXZ_)ZXvS$jW{5>Si$#YiDhh_7_TD)O=rm!}eZkuKUqh zi*a>%jw`R1zF830G_fUY-qYTdqu0A{;(%Um4Bt0it|<4YqNzo);#7<5TB^(sqfz zI{D6-H!mK)`ik>-z&PLN=f6vRPRSlsFY86;8PzB#%1g!m!17Kiu$NClG8e z>oR6)h6&cFZ`;b^*G0SG=KLL{z0?h#jm)fAODg(h6LSvHGmJB>;Rq=fTc88omq0R=;|z^%St59UpoQ{sdqSjn)lj)li41Dxa{q|U zhg*Glr9!{ui2>r2eCaYIWK*Gk->ZuT&y!Nwxkt2(I;Wawwrc6t9Nqf7I&Md+0w*gVZG$RP!UIA_F(ZkO{LC z*-%PE%V0$OFJY%PM!hf)mf3wuq;e9C?YCIJnD%6~O#bg_FQeb=3u8Kl-hhg=*0I{~ zV{4yrt=-fddUE5s^-rRmn?f5~*S5Geu3gizwiWS>Yg?W|ynfx2>ozv5t&`R?uESHe zXnbMWBUOLECxR$JBRshp{nPmE9l{hdE<$?hNKVAFjcDZQQo1EB^l68T9POr&6Zu3s zCLX%`_l`H>sJJ$CSA$Q%Qy5cSg`6{$HI|&}CgfBv!PGW_xt!Y(JBd)$+e+wjn_Pc9 zJO7#GR5yo*K8@e?pxGv^yvR}iAie`$g})n~oai^iBCi`vc_}1EI>dLuQ(nB%pr;cD z;K{|ZvjlRoLm|EfpyzEzNRIT|;i(*C=OuV@Bqx3Xp5*jz%c*Y=)8$WfARAMhbl{yiqA|7D+J%FmNB9O)C&E;8Bq1(OpC`6!bU3;A!rltgyu|J@7u z`%F%aL4Azu)6dQHqtai&f?j zB;4|RK<}cyN#VW&R zAg8<(lKZ#nP#-2c6pCwv`W?AgHrGN<`V@NMshm6DMZM@XUV4{-biT~wJz&xPd(CvR zPi-aS-vE;%IkD(V^g0+e74>78ujj-p+gG4N$E8q|Ck&=1HdIdYm7hqPi2;)UDXBK@PG{;Usvn zDc<6VRi0j?lRkyyNQYST)emZ0-X>&&^19*e@O0d4c#;#-bwe&z89oI$>4}hZ+Tlf; zP~RgLD=)Pj<)v^UJRR$0c+s!u)j3M1y!4uzDBDr6sN-LQ$;Gmt3pwSdke)b_{XBSb zvGi%2A$n>KkZl&)3lWkJJq4uOuwC4kQYsT&;x6+=J zU5pPml-PSY$U!Ru`{rS@+c1s>Y2E zuYCqD6^=2nx;*qTN-EcvL`#ho(O8ugEhxj%2bWlK20y;8u?{&)Lr>OiY=D*08w)6O zO2o=)tmUWIH`Xs*TK0hj{Gh^%{5P+|%{7FrCe&p0+EDXqEE=tiC3KdqZKaAgh1M*7 z^2xO=mWHV+Te`XdX%;bMM$%KWRvXL9)lF+#8`jsYUc2em6vx&29SmAj$2F4NAOq(@_3 z-$u&#*QK6r8G3Y?7*k@6J7W~0gN`oN4@K9X(H1i!@zpmW%!9+V-`~u zz1YSq1JAg|EP7UBvBsPjwqmJSO?}|FWU1nq>o~R{%P}NJL|PQ^J^SV1&ag z3OQ&#g-CPD`et*AcME|FIyQJ(Ig_KAVxvyRhr?uggI6$#(jPW{g^|9jO8F^`c6I1m z58PfD@fvvHgbhCgf+?*UTQ)9aBzv@C6808@xjl+ZflN4IqZk6gl(wnd_(gQGN4qA% z-bcXP9_^;l&YEz-#&QS*Q(7PFQJKje?P>{oo50+jXB>MQ%{&NnH_GfyfJE36J00SD zM=$?y zdu@o&szx|rJKb`eOR!e}C9+4mjl$j>i@h#OK4H&qk$XNIE#G8jZ?(nVF2rM<-^VQW z@?bC9EZ^+Hh(Jt|rl{a+B(Q&xF z1F%QeCD{{W1=Z_E7JDZUr+Nq{Yz$cJoq#>jUuZW`l#h0&@fR7dXqPrt`<=De^H)UM zk9LuSJ^Dd(ZtsdEpD15E^aNAct6-0gOZ9cb3wyIH_GlM8R{6XZdo`?lS)(9Gkb?D_R=l+MESm9kso2@qunXdem}9; zn}T?(@(o+;^|A8Z%k0^3GvVhq+mcU|@0vw^ftAn4?0GEq=vR7Ul`ji=!Zxx?qpW=Q zF?&la_VO&{5H`vz_R{e=m=}&0+R_Xt7s1PWgUdu~)&$H;>u-7mGc5S|r*GY7wSi;pOsHRzBKcq%>-$y8yhu zRF6}>DbVBg+FAKN#Oy7y*sB|-d_jx7eXM+i%-%YSy$0Chj>=AMy{U(4>ux-~k3)~f z_nYZ`I>vG7Nsn+y*4-xnf=O@~^$_=kAmWrp?YtAf+j%?c5rAAcVdHs#U`jj5+PN5U zN+WyU0&sgLVNX0QL~_K&e&|si;V!`*{mL?3M_cOcy;68#Z^&XVfJx*pMJ7{^qCc|OJM$=>CPGg39)cJ4{=s6;kCP~#;6W`? zroXk=JN;PnzF)@dy=SpUzxEo--W7{I4<^)N9)T%Tq_+_UPAD#giu_M{F#% z*gLW^YLDtI?5(xf8-+bL88V$H)5k4(>6om?())}>FCTj1Ng$aN_Fl5+(XXIpiGwn| zJ{Wj>T0WSL*n8h%uMGCqBV9OAzTaBxHN&3hr>mh%dejf@#zKqt(_;|E>IZi~PuQko zoq)YTgjC-Uys-Cx#UB0gXb#ea6E+rD>~*0~*-#>TYv6^wk6P^Yz@B(INj8POM=kb_ zz#ff1WN)phNA=xovFD#CNq-HwaKc`j#ojg8bD^Qg-sAA1d|$BGqs3jGFlOpelzwGg z*rs?U8cm#!b%+al-?P}ugS~XhU^-#rHH*Dw*c11ek3m=1`+JK$`qj`_<$K#=Z#yer z6SGI(obo+l zu~%9fZ9lPBLH%Wu#UB02Db1IJ6Ls8Zu~!3o;{1Lb%Hn){#bS?s`83w~eZgYy2rJ*y z%--u3dmh+}RldKp*c)W!dxqKjg~eXoIOV%wvFE}?EBfCjnLP#fQQluRjZ?k^=!v#O zb}1kBMEgC2z#B-!zqb4VK2v`*E5dZ ze2X6aqOGt&Mg^CedVcdrhoPrNj%t*N%C!V~==u>i488nF%+RCg8q=Ogy3L6<0!0KN z*&_E*=!r5=ysb`>T9HWinJ#!rqj9L&Vo$~<9sP>DaKhflEcQlm^CLa7NB2!(55EIPKI$on3$W#^dv%5s-b%ot@$zvZNPU;u!3h zvr7RMqx?md_~$M0KefbZM2|W(7#DQaq8JljMwxWj2!i3r}U^a!;I6K--(qxJ%1FA z>K7cNze@V38DEbyC&up*eR`({;wtdHuL69b37-;f7Of|`c2XUW75}4kB&*-AU!oEeWTQ6 z#%Yf1#Q1+;O#0K(55}ZFBb^(Q{z>WTnDl3*$>tovDBq{0`^>muf3rmU{^X4Gtx~-i zrz_Km@qf#h^v_7r>eU~wTldt)b+d_@*4Gg=g&G^zuaW9o)~=PFUbEVGvk&hKn2a}P z@am+9Eo;VW3=uuNWfW?Zn$|rjHLY!0(;U$%AzLNuTh^?7Y;DVWO5BL=nys0wwXP3I zvEO0B(aP)Q&|5t8CM9A^8$u$scw4$X}t5HnaSFmxk5wOjJ)=Q|0?<9nxs!|9FOUlDSg$R`k_r8$G4C&-bd77Dj2xQ3yCgDL zUszf*Yc4e&TEKX}Qs^OXd1#IK?kWk5HoD<8%f(NwYsH%>tIPElFZDym&}4GUdr0)6 zOVqq2k)>GPI2xPHlBj2k^>UHO6)TM$Ys{-ZB9Bq4F-a^-jQ5Iot;Wk{c{6D2u`G$a zR%7gmTrpn|(ywFjE7i1a5RBzSglVlKehHe!H^FrM3#N6b_{DR&ABtbob`dYb2V6G1 z_;p&o(nv;e+lAElzp~-q1nj9b_W9D&Fn4NTDYE;wN=q3%PxAS;**p%O9PIqrv-@F&<`q)n=rCU|pxyV7)GD45m+;ImOm(dJMU)Kf_>MpZAT`hFq`vT7#z`u$lJtzG2qU zMRMNGViS(!rcM30W?uccrjCAGbNR{J99bpWD;7>1SGQxzbvsW84a>2{J1;aLgVT>? zmPfCnSr@&Iye@PQIQ_US2Ggg_TmtKIb8OMe(`@MI^=dU(KbAS6){kY53Hq^2*4vXh zFPsZrj1Lqa(}wjVG5f<)2Gghb0?=rr^_!{Ff*d={Bu8WRqE~kl;%)UV) zl2iXB7V^2Kocar~ke8DjHfe9~!zQ;Qq&UfG*eBD1saunMx(l!O`Vqz9w3GeU1!8eR9Lv9@Fb^ejyTEO z-WxIHE`-EM=5>96f}R*SRCsS zQ)d(*y?;qI+Y#0iqx=QXCr&cwIZv7L0OZ6;<{0~&DKCbcSjc-!c`4+?qHOy}j$_d~ zfZsHA%Ai9m%Jywjhc=o2x5<27op$Oseul$=x>xpIst?WOr1LD5DOhjBb|p3(tBc5HX5dg zh0bpfPj?vKkRPEsn*3A7{~zOjW=ywm(x-kx`#i+wkp3Z)ixAS-L~?pBbdkw)O+REZ z^#N+fbn1|B#Nyhgb|E>kOTbs%{nLSiA`Xv!6Y#6nI(Jn5$(Bo^{7kQ~MjBK#WT zKV$q&lYfhl^hp1^2oEzpLJa%q2#H18k{;;~AUwvnj~Mz>5E2W0(j)z0geMsf5<@=| zA+gXWJ<|Vsgr^ywA%?ySA+gXu2PS>`&j=Syz6Sm!G4!($5(|AALrCs{j5x`hW7EI7 zBRT#gVj-vTh2(z7iN*EkH|2Sd6AO8PDbI(TSjfvvc>(0aLf&Y~1CSFZp>LCGB{}M~ zA7PiNQw%w=(Amv&_L@4S&>>EOCrA0o&Z`Iy5Th<-kQ0kGp)}GthVV60hx#nB(4jQa z89>-)>Qq68Sm;n1=?o$Kp{Y|19b%y~Z0h_i!qcV>T?fQMCyY3~v-LxSgC_qS!nYV_ znY<6-Oq1zc%rbchA;r__B8DRt*9e^hvQPb}m>4=Jw$9?b==Wd96Co!SavByXZwTS% ziJ_yIEY8apO&u!#3#Lwr$)b+^raT=XaS{~(t{$F#sh6ByFMLoEu_%K+7C}H|BNpMR_VrIhB(*$<$v?@>HY0JZ9=p znTeC0zz5t*@aayY-|FX@Iw{-@=NdY_kfXUJ`Xx&`7O}YY7n*XiPb}nBrkvV=IEfkz zPG2v;4%MAl)a5xa*-uAEEYAB*lA{bg2){@S9qKd0qTPT}dYZA0yUpZmglKMEPW(w? z7~hJJ;>7I;^|qo8YjP4*1a2dII^+(MlUhh>&Q&HGYYrFU>EJ&{cpve6e83SWZO~Dl zf0LZ-6p(zGAumQid5e{4yBO}+0pw6bf{kti@E)N(t+HCkXX#ysjT#i zkK~BO^+n}K&oKV;3j$q-+Jrc%9v^U7@RXO@fjH?Ye85q+PNy3V9C6aeb=2*rQ=`J& za4b|R7jper(1{%Dab4Xw7UVIHMS~@reymLf>-D-n%46zvCp#8&BFAbl^!0i{9`jfa z7&`i~J`uH_9*FXoW8p;5y;QFkbYdP0@|edeGHmL{YBN}`7Y)pCH?-m1>{!r=9E+bX z$YUOBpV?if!tj7&~y$vCcd8`Kw9sOAC2J6QviSn3Zsq9$L zi5#oJ(ASRzdCX%iGIaD~ZHd}XFOBk;V`Uq2z}t~bI&>`JB=cBE*5!08;xT=GF$8e> zv9=jZpSF7qraU&U!88`wFefBO*Rzc}37iYwMgtO@2j1q_QNMTFFlQi_4{xJE9WDTG zGw-3L#CiCDtAMx7(NQ0ZY;z5+Avwlmat-h{G6vTSZ^QUNjxHgaIVQ9do7eJoVqAmd zy5Mc*b+?-s*9*BYyv@8u_7ey20e2YQX7=Z!#OR0Q`rvJ5-#bZMj1RaWc$?Wz&Jde@ z;~cShPA?Ld;sb6J-e$Hx#YLM_zY=Xeh1hI!I(MSY{lsRQQ}slflWEcBRm5hS*ASa+ z-bie=`6gns&FS=uHt!-f+q{Q3A0Kf0;YFJtAvW8*kJxPUL1MGb^>#4Z`~u0%HrMNJ zw)r)Z2k-%xXak#Vo=$AGxr^9rb1$*k=J~{Cn->$CZC*iaw)sk8v&|cb%{HfXs12T6 zJL68qvzq-FtKdprS+rWlZ zQpQz`Ylt02J2x`k#CRLyF2+5K_cK1ixR3E5<1>seFsAQQit=1zoQN_CIqf&t;*2u8 z7}NLdggl>dG2;rxD;YO1Ze`rgxRdd2;&`JB`xqZ)e2kcGAaExcpJsfHIML9##P}*> z2kI(xQivxQ`k9RB`)NX+$2h>ajBz#NI>yb6+Zb1;}OOe ziIa@HR~SoZVg1xKXJ05Q^2^CaTW1IL#KvuBjZiPlMJ10jOqJELf*r8 zKjS0BDMsEt#)FK{5M!N4?gHac#@84pq956?79*F=*u~h(IG=Gbahj30g7Hem4UAhE zw=?b}PB-lAX1tH_VaCT8pCrb*hTLh!=NMmNe3h{S*N4cP!Z?$$hnObjaQb&yOb#%4 z8RKeVnhe6#F>Yo|-zBlpL<4R+<6Vryj1LgsVd&HMTm_$CJVcB&3%L=-7a3n+Os_WE zrW*PR<0*`@i8BoyKjQ+%`u8wQohp*wW$4#1Ze+ZP7;6x6+ZcB-?qR&2_#Q+52;)A+ zgTyXF=M3Wuj7J$?BX%45i5OP|(_WNd7qM#Scp208ZiT#-t3oQ zwY<4=^YLrmu3PvG&8tsiqJ{gcG41t8g)%*PBS!&lLU4yoiM}YKam@uEfNzJFkYCqL zB#{dd(@|b@WYf8fNK_ya{s)95#s32;`Nt~$L0aJb_uv0l`0Mb$dH?-SBY6M+{5}u# z{{JD9|N8##)8>C8TY>*Zb@@G2McfR2Pv-tWX0Fj5O5hJ<{NHN!1IuIFYh#+Gd@f1C zMM~Ex=mT`2@L$A*|1*`7rpA8wQuu24R`~7kVfbV4r{OQbJ22gG!I#3&gFgm;4&H$^WhOkWlZ)Y3!neYA z!qa;8Fg&eOFTqP#gV9=()|CNxS}!)k?}9%8KLSrvJX({{nyU)F6}|_a);zS1$;2E! zAHEu%zH7Y;p4JDK;8QTi&4aIj-wuBip60`e*avXIm%%r{cfucrKLdXSJ_UOK+3@-B zt?*s&2jDNkD_Hw`;j7@=;E%wM!n?5EuY&J{KMX$tPtSzu|8~&-+Sm_I|I^|Ed@Og3 z%P|K|G}rgBbV;TlJr8~*{5JRl@TcLg!DnOLUk2X{zYG2t`~~<#tna<>74WU_yWo$& zkHBArr{}DG_%iqg_-*j};7`C`gjcXO_rvGISHo|D-wl5hehB^&yn;2j7rqR>0lpLd z0Q?E~i|`88&3^bQ_*VE`@JHcC;OXH>HhdX;D|`?93HVWXaKU^?}Ec+A#5uxe5dfO8x9qXyDg?i*3jca_WS4uCpBYP1fYmd`)}3 zN~@ibxlpUU7kMb&fVkIg#0%w>TXM2))9tFgFX@Jr$%>=N;aa=Z|KQe|V%PEu@%TyT zz=MtzyYhm=wxHuHJ;g!w<%|n)dcpT*?2YpjU)x)fAqCa1Wo$E~J2HZhUJ7>L{xWjH z$ktg^dVVCkBvlFy%Rxt1M!F-YezgSm7e{B^V!I+!Mb(2RP!Z#|V+|&ODb~~2$Lml% zh!3<+&s&<>HQ%ABJEktJtlcp`J*e)OcO(bGsk61(uH;co-AT#al-y0p-SdtlKuF0u z>9%gY{-<-F9O#Ahk`EK0KW`{lYuq?G*F1bz8yn9HL zv|Wymw+Qe$Y}@4ys@h+S{Q>HED0ewL-9`)G*T9pkGCa7#DaWgTudhf8%$svp z=7THJD(1~e$egnxt!QAXl(}q0T1jPi|BAFbOQt~Wn=8^5ub7=#89uNgZGL6=TgX-7 z#C?5vv135C)o0%y|0BdQ9Dx+ymVyXnpB^i)A3g%-**3sT~p%+r268?13$of zqQw(Set=Io9-ry*zzH0ok4p5QRQdX~ikjAz@HZd-j$G0wt%?s}sbDXAk%8aSluxTS%EWd3x5UZ>?%38)T^-ti5ozHVI! zKJ(;w;#K%WHPij|b(J0aDa$^`z%eAqB`-ti{&;+5=MQ`hpIQff$|d;B%ZbNlu}lAy z2lk;Y(mU{(J+TCz#fkCsDGz*A!dclV$A497ITZLri;|(lJs;QH(fw@VmP2{ZZE0V- z_2~||q*uzE`}j_|Qb8q41PweQ zsH9BLz+y6&?PTWASIwsE2vTBI3eI-?{Ss3tDWHTC6DeUnPl%t3gn>MKbj-#_iG~mK zRmkom*-Vo8Nan@Z71uF?;<>=d1Jm)*kwfum_=wLYnMyJ@$y_A6hh%q=ER$qYNp>g6 zrjQJ?X2dfno=)*JeCStld@9K%k!&K#uzW#0iQ>0Wd;&h=6G;|NGF**uB@TSVW6g-T z4IebpPWIvc@=J^{bh~{C{s7X+{|utvz>7GA-$(p!EVAz){?`^6&vP^W1dd6*-SjmG z$pTIG0Meldjq4$DBo_iRR zjQ*EAg+Yt_XJ(x0m<#_AOZp;9S?Pbdi(~vphV*_DKmPYEah~@3;+wSvwLd=xzw2>l zpl!+Lnf_+^#qqv`uPD`0I|!RzI^XAExWdDrz{q&Om*?D$w`tl7hpP*X^_GDnEfr16MKI;O8jX8p)-(*dcCLPuo=a z%WD5Mm#g(PEm6&WApytzh=kTqGl?R zpm2;zR-AV5=}5Jy>F2e`9dl9eJ$`@OVD~D$C8yD8RZwsHDPN(-lNF%*-q^(n`+;!_Wwq)E9vO;{wx=@ zf%Eve2^-!By}jfYMeofzE5B>UwnD$-Mb)vV-Z}m9T|e~M3n!skeV8G%Odb5qF?saI zF4eckHPi9iYpx%6V^R!Pucq|h^`jx5%h3E>f$Q~dTm^qQK|T1{0i+{H+;B2A=s*io8n3O!~3MYvUzHGhKEKu%SlCzjgExXFPFB=Z zq14VAt-Hw{Xs)6KRI|2K{lNnjm0zvMaaW#rAn@Q<110V!)CI)>weN;{os!Qw-i^l& ziRyT2s){RCEq?0Pl`B2T_XZcuT{*ROUGj{D_yLc5)!gJKW~+8dZCrNU5o}zZ8&{v5 z#CIY*af5q#+@~mZqs|B9{AAVpg&A4X?@!N7?r=z#4=$s1!sSD4CD72pH_6%x)c&Il zj@RZ?Ke2IVf^AEJw6n-|Z~Zz)dpkA+{`KkIi@Lg6_a3r+dNP{!yiS`s}P(=+8{;RMvJ?*}Enln=lhL0{v(=scA;Wrnh z%_vEbGPU5|#6@ZMWVQtNPF$3Bd*;qy_^n0VSXX6kiC)@ti93%EO?c&v-nV!BV)J_& zPRX>r=Z(v?Dff(C_Iolj&MOOo=N*n=N1W>2XGoQ_o_@1O%}#M+5S`tJ?wyW3!$P?O?Wfp%_QY3C_MX{s zar4y;&f|VGzPYb<%I-<)+}jy64avEgv=wHa*Ku_`-Z6Q+x0I(~OrC<6d9udncs-e8 z;+dYC*eH~-A&Nnx?yk}-wfBV?*}?F|hh_)E=9prPT3gW=7(mc-_4+l*2b{s66#U<| z7Ds1G5O>w*gF!hsZBN3L+x)I8ADU}4jhRJ^b*CJPW3g>hA-V&Jk{()P@NbIU%1okKWg#| zIZnAFPg0M&@_T~buN!6x<>lYL8zRm9K+tWL5SPGl7cSnQoBoqZAO8AXq!PZcU{)}k zI97IP!7Rl*qN(N%l$*nQpXyp(IT=|CZAPZ$=hJWPScSGoX~@XsR6SdfX=MvV4aRu% z5Js2w8E(xxf!AtjDx@iDyQN~`_B&N;)kvmSPT3Z%n~^zu$v>+-7&ZrFs-Ujy4vc=- zEC3Zxo}iZ?WtJ&h-jet`9UK|QR9BAE?P+dN;YtStE_ZvR&dC^Ve_W!_sQY7VEEypl z_vrC>Gjy1tF-HFwmp-&*_rv|}hlbsY&$~-6yBDDkzJSLM=*Mgfd{>^II;`#)8j4ef zm8C;jThGc$8E!eFgQLZ<ID`KdFq)F)Mi zMl1Eu)^WzFw^QjJoYS4)t(=~AC-&HU4&!*fWY)nu;>VGb>7~X-KOf(=JD$sWc>8A^ zpP84g$&&VF6>r%hMLU_Vs5G7&EgvU(KkLgjTNCql_7-6i;T)-u$-Ctr3kj z3}rC~*)emcQ}T7k*|>M(aYstHd{?Q%7x&O?#T@!QlRl#6PWq6qaH3&UOSY*aSU+@5 z?@rQ^Wu2d&o~GdjvjWrV5j?uu_?nib?sMVR;MY>7cN@Z%*MbwFlhBf@p;Lu3rgu+Q z@21=D^w~KoB>k6^*|?YYk6?18mOZM-CGqG+-yJ~bLO|0Igx{nVLiolFlM#%ma>!mg zY^#mmU0<)LYPwO}0bT#3XiD_Ib~$uUf9USv&|T+4nU_OT&&t>B?>cc-uE`kCL(NF?H}K-e1OU1^vF3qh|f17MJ5p z>PVGxg41(a@=7L2K6@a~Rq>$NhVghm2Xk{rd7N>M=yz?##Bs8DT%0`Je&_307^w0K zWoBkG(Ruu^97^jCIfp~3=R+y){pz|rf5$1kS3k4)p=ndq=`Y{A<-XL4f9&&3DzugE zST(UJp(SkVOT@`8-SJO(<;g}_FmlDy+%J&Rm!wwjm@zHjZ=Gu1+79%?f{}gbqkRpV zmD`bh=>9&k;LmFxDmUv#Hs~21wEJel%#hlb+iT>j?lrUJZpKVX5l1bQeUrq^%xA0K zQQG^^9FaD-7xt<*S4`V#^ks~!Y5i{Jusij-n>uAKC_&iO@e%i-e+)Y`_;*J&b)c?_|;dO#{))x8FL@LZf7;uW+HaU zmDN5}X!dB-R4tu}(&$xXCA_3pG*WlebP!sR3Ci!gu3|kOyRJ9hzb#_|&hchC$90i& zyjMTR+yCw7*t^ZJb;CJU;;rZS{0E(5X2&?k#Syz`B- z!@Ksgj$>OiTCee|XeagA}U1H=J3F^_vxMtjZ#boB9&797_{+R2C z`ckBY^}e+Icj`+XQP2Osedz<*^Z;GQ;yAI|(|W<&Fu$OOlDOLS>+9fvxJ8M!#?nSE z>kQ^N6`IB<#WEj za13_so|RA87u&AKy_>Ku_2Jo>bC2W_-TM2#1;8>wUZ_*qQo6nn7OoCChCD3c%czHv4vD$seh)a$#T6jQ7tP_%jTC26 z#zLRju(>^*dw+3E*{PQKjk){5J;sEeUn9mGUiQe58NBB}XRVl>tAn&Viw>m@n%B8H zXck}fPB4-p9Rx)kQ{Ul!hv>sS{rLr`)Aa5|qOTnr6x4xroX4A_=6bOsakuNI-H~0- zp3e&%VW+cENXFI#Of>Pp?V`FcSb4;p{OgbN83MZ z!9*=MK?~ld1(UQOHYK%SvKE|#uu{@0ZCWLE&Tyr~tw_5a9ZGqya-m!_%>Qgisq-c)CQYWi?$hQF&-vDeR^P;0Z5+m*DMysb(+ zqCxb_j9=&3l=uwi6!h$%qhk5C+m*YO3EPjCPiTK+YoNV#=%wzi-6@KrtExNvNOzz# zAI=Ievd6edQ*meGt9K{~ z&)}LUOmNNJ+V^<3zuxuq7lThvUZm}n7R`PL>pXMj`?51I{lz=;Z9T91A}b&5U=uyi z!{%s5A_n6oS_>l3tAKrz5`Eo|5M@BZp*G_VWR%2g3!^29dlDOZQU1*>?g`Wev?*n- zA|toN@#_CZ=y|l~Zh2?!!k%2u4zy=4+B0#}W_&X}o*L6^%Xq9AJvV8~=Vh{Uf6oMq zodGPP^)>IR_y&5hsSn?EFk4jAL*6cL@jTFTRNcF6hIiABXKcBtD2Thy>uPZ)qE4(R ztKw_-ZhNB9urt^n^!928U&Bq;n4%qgEpm!utPAIFUcBSoxa;v}6R?;o@?ftd(0LvQ z(T7^ zvlt{EzI1M;IgMJb-RJR6#XVEp?B7VvSJd9l8NQ%h((E?u;cG#gmN`>BD{GY%nsTKy{O9wPpj{3G9EXcjD}8&kL;v8PlM^DnW-GDK$v> z=KB@1O|hn6qO+k=Sx`~oXkTUv`u1QU=r2yGD0T&#_S7mLs;O}_*VBKi^5>=0=$2}g z0thSW>E~H0mZsD!b5)Y&daf`S!Fu-7HERROUk5SDf1TFBNN20`;!i zraeJr7GzN8hPvU0sf@J*is`eY$;HO4oMR781^euzgQz?ZNkJ8dAFS z>|2z)_I5|}_SE3F-Vc<~&=%!>C=P8;t##(rJf6~y+?9DP z$^*^Kj=rZ;D@szDk+m|fQVF2m;bp04GpclDo~KN0y3eyxZJO{AmY>%cccF&)M3-B(@w+642hi$d)#O6(6PYiox zXkY)jIR8iD{EOoJF|sI=8#X^{>fzq|NC8+TTC4l(yyc5MR4P_(d9uF&4kB4?7g1YI+puMtTc>eb|lhUCL(ya7TuxdkLS3p&RQ`YReR|xlzn(B zt^hY$YG^Y~N5Ezc+mbJoFa6X!?ilIFR!FG;Oll0A*eDT;Fx1f;myP!eXg^I~RqQ=s z9N+U7xjpJ&wc0pEsZ<-MYJ;s><2`Dl+IA(__*k&qm{HdbTYHj1P6cFi!CHOrsG1mu$0O5TiDlW1Zi1XsQ4Udc?m$K&-l zGt}GAibAG}ew&+_;iT;WeA~g$E|kq3MC`)Jo$4WZ#%z4`#OV)imGV-9##bJ)Q|LXa z#yy_KYn7R@d6dQsXB;ME@_grfb-soc2s-mHHSp)@7hoeh2{>VR_hR}>)5OWfLlr!i zp$>?EE-gKTT^+2eQS)ANN-kA1^5S}as)jGl@M^s;EXeaZjIwyVblu9|#ZwC`JE-=Z z{i64IFxQ*!ge)>u)Frq_$(m?9Jb;e&RsQ%n(pMeg%QD@44|Xq##}k?ZEjitZ-l|1u z$^a^0lmpWlvp@m((Z|7={GH+)n=S6xjbys5i z?O4C=F2UDHw-~l_m5j@doEIl}m(IH@y#wD3mDrx+b$WkgOuX|DJ=-r=jLg1C1Jw3Q z>He!83Ut^hf){FW9y&;})YABowpUe8=lN)*)JBimn5%kcbY6}u1@VBVafaG>FQydN zf`j?S0msxmEQfCI4`mF8CZ7+bUk;_6!pl92k7Jh_Z--!ghz)|=qTD69n{#(~9J!&~ z4cHkD+IxaU*-Cb>XqsmKa{U^4pj67)`o!?T=W-Ux9o^Dv)2dxF+qL87?vf{jH)cZl z8}O=*nwmai_Pht?YvFdIC}-t-FUEX~51|G3i;0KF`?tetxNF8)l)iid^5lnRWaWmG zCJ81JdH*?#??+_Bs?Rhu80F;m4?wlsO5%69KtZ-@N%x2tw@4xIbu7i+83#=TR0 zxuL)P`{88i?ROsbP5-_e|A;N<{n|*KPw_4d?%fqAi88Pb}aX;@VrUg!$?>qdr%0?JrOny$#VG-PbmML1*kOT!S2b9l1Jz|LfL;kP3|bO zK|glmxMsJ{Ljj9%!;2K^rVXT}rlSaGpwbPC-wbGd56{MdV5UTiw$Sjwz0^oPy^$8& zA8n&|zIZ-yYT!~J+_5 zN1f17jW677kq4IJamxz{cm;F0?pgc(zebqvNW!X+|{noe{YMv+1BM8((D!DqFD# z$bAQ=ntHbOx=c;pC+R)k#SI``?bA|I7SK@!{+Cq!=H(v*eCC!YF4~NK-{r>KQm=QC z*8A9kyvS<^s@GHM{jI9?equqMcwz;a+8@x|3FzoSx4BiQ*|L?LcxlS>j&aztxajXS za1~wu8JfrQj^_0Qy}3>OuYjy4&mQ}uo&BbbABR^|4QmXh5#4|-(p z;NFfe;#53`p=kKfCzr39PUj*E1H+he;iYpikfWcA_-W!?c&oBYDQ< z_{bgKb=j41*@@9u4JDuV-W%yfSanUxfAicUW*5;?Q>S;kFBTn`iTkus+Hx6p2eW%% zsfk12W-xs4H97+aU+Y{in({#TzKJ3dYaRNz z64mx8ku|euZC|qNzP;a_G3=gv-kpBgo#s4VV?1vg@1CaNo+hgc#XSvov)o>+$%{N^ z9B*%adk3ByEJPC-t=IGFukVvfJ|q1tjn%>9xrWrU8TYcy@e}BJ>2c~;NPFi_WGu?1 zDTladIyHPRxG0wv?HC*GosFTP<0*-TeRJ#Cu!B?@85DhFC~20^dGOMGe6xfJth~2p z7^lme#*0#Q?nFb_%o}UuO2oCR#%Y-E+S_s4N?ROERcdXyEjG^<@7&7&$KJbuM_HX~ z!!wfu0uvwsBZr_fZy=e32?-OF34)RdgdhjW1VW%7%!C92Igtbpt#)&;=_$4n)K;Z6 ziPpBehy~kft9B>B#_AVDVt1|m$+snKch!wQJEC~MzJ%YFvj-A zF2g%3gBUBp2`YvihdZG0a@CB>8SX2f)J!4Ns}mF8%-6=z1DloLSTmiHyT?R^(8+;O zk(%Er+ZWx zd-}OsWI3T{jLjSH7pEVb;>qXYz3=#9sVhF^4n+>`)cgc?0Flr>FGfCj_M)5J>+iz* z@DktRCN!HUIp zrZvB`HiC^q2W6coKF*ewhDePbF-El1 zVXq1Y+24!|vIkanpapB28R%#kQhl%Cof`?2_d05qfO)F`iYBJ;KJ$_M87yNhEcOp zXGHp0>9NO3CM`XXL@GVLIg}n9Yz#`t1#&30SZ3gNB+2;uy6EY~y_KG0cb+KS zH>zi*ZToXU?=?Oz21z;B?g@J1I&sFrzS!53Hr{zWJ@tw^pPHAHj!&g+cfK|+X^ij4 zPw)Kw(xiswDZ`Fe@Ez$byb4X+utpL*PJew~S9m{$K`BN%_>cC-?H(SiAL|AGA|w)7s#6I%bJ=s z9%F24^~Ff2$KKYg$wq=+VbRC0tZ%uqyZ2AsD|exZK_pi08myV@u^Tnh@S|qxK+TkR zw*8#FqlR$)K5`qt@bGi0J!niZjH#}Rogdi^@3eD9=egH9&-q*r?2mtZdd=${9#4E;>@U;z$)!1RK1jMYJ!?Lm z%=h`Kr?~n%|CswLyh0y?^~Gl}ph0+HvoEujf$+Q6jL(th&G;PoQk3|he|jLs5j2c| z;aaq|(-}MO$5)!|gAZL_tgGNrjoyapA?uv8Wx_?pW{`$2p z=cwDRbo5+n+m`BR_Sl+pY}3NnGk5#g4e2tMW1lyYB8>aR)2$=uȌs{Wq?}9>ZX)ZNuvW3HCSNR0`jF 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

$X@&&C|#~ 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 Tya0Yn#*5&|883z3n(_YvKN{A( diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/asn1.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/asn1.h new file mode 100644 index 00000000..f0a36538 --- /dev/null +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/asn1.h @@ -0,0 +1,50 @@ +/* asn1.h + * + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. + * + * This file is part of wolfSSL. + * + * Contact licensing@wolfssl.com with any questions or comments. + * + * https://www.wolfssl.com + */ + + +/* asn1.h for openssl */ + +#ifndef WOLFSSL_ASN1_H_ +#define WOLFSSL_ASN1_H_ + +#include + +#define ASN1_STRING_new wolfSSL_ASN1_STRING_type_new +#define ASN1_STRING_type_new wolfSSL_ASN1_STRING_type_new +#define ASN1_STRING_set wolfSSL_ASN1_STRING_set +#define ASN1_STRING_free wolfSSL_ASN1_STRING_free + +#define V_ASN1_OCTET_STRING 0x04 /* tag for ASN1_OCTET_STRING */ +#define V_ASN1_NEG 0x100 +#define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) +#define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) + +/* Type for ASN1_print_ex */ +# define ASN1_STRFLGS_ESC_2253 1 +# define ASN1_STRFLGS_ESC_CTRL 2 +# define ASN1_STRFLGS_ESC_MSB 4 +# define ASN1_STRFLGS_ESC_QUOTE 8 +# define ASN1_STRFLGS_UTF8_CONVERT 0x10 +# define ASN1_STRFLGS_IGNORE_TYPE 0x20 +# define ASN1_STRFLGS_SHOW_TYPE 0x40 +# define ASN1_STRFLGS_DUMP_ALL 0x80 +# define ASN1_STRFLGS_DUMP_UNKNOWN 0x100 +# define ASN1_STRFLGS_DUMP_DER 0x200 +# define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \ + ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + ASN1_STRFLGS_UTF8_CONVERT | \ + ASN1_STRFLGS_DUMP_UNKNOWN | \ + ASN1_STRFLGS_DUMP_DER) + +#define MBSTRING_UTF8 0x1000 + +#endif /* WOLFSSL_ASN1_H_ */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/bn.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/bn.h index e360df77..7521c3e5 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/bn.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/bn.h @@ -1,17 +1,22 @@ /* bn.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ /* bn.h for openssl */ +/*! + \file wolfssl/openssl/bn.h + \brief bn.h for openssl +*/ + #ifndef WOLFSSL_BN_H_ #define WOLFSSL_BN_H_ @@ -96,7 +101,7 @@ WOLFSSL_API int wolfSSL_BN_is_prime_ex(const WOLFSSL_BIGNUM*, int, WOLFSSL_API WOLFSSL_BN_ULONG wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG); #if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) - WOLFSSL_API int wolfSSL_BN_print_fp(FILE*, const WOLFSSL_BIGNUM*); + WOLFSSL_API int wolfSSL_BN_print_fp(XFILE, const WOLFSSL_BIGNUM*); #endif WOLFSSL_API int wolfSSL_BN_rshift(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, int); WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_BN_CTX_get(WOLFSSL_BN_CTX *ctx); diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/crypto.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/crypto.h new file mode 100644 index 00000000..4e987e5a --- /dev/null +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/crypto.h @@ -0,0 +1,71 @@ +/* crypto.h + * + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. + * + * This file is part of wolfSSL. + * + * Contact licensing@wolfssl.com with any questions or comments. + * + * https://www.wolfssl.com + */ + + +/* crypto.h for openSSL */ + +#ifndef WOLFSSL_CRYPTO_H_ +#define WOLFSSL_CRYPTO_H_ + +#include + +#include + +#ifdef WOLFSSL_PREFIX +#include "prefix_crypto.h" +#endif + + +WOLFSSL_API const char* wolfSSLeay_version(int type); +WOLFSSL_API unsigned long wolfSSLeay(void); + +#ifdef OPENSSL_EXTRA +WOLFSSL_API void wolfSSL_OPENSSL_free(void*); +WOLFSSL_API void *wolfSSL_OPENSSL_malloc(size_t a); +#endif + +#define CRYPTO_THREADID void + +#define SSLeay_version wolfSSLeay_version +#define SSLeay wolfSSLeay + + +#define SSLEAY_VERSION 0x0090600fL +#define SSLEAY_VERSION_NUMBER SSLEAY_VERSION +#define CRYPTO_lock wc_LockMutex_ex + +/* this function was used to set the default malloc, free, and realloc */ +#define CRYPTO_malloc_init() /* CRYPTO_malloc_init is not needed */ + +#define OPENSSL_free wolfSSL_OPENSSL_free +#define OPENSSL_malloc wolfSSL_OPENSSL_malloc + +#if defined(OPENSSL_ALL) || defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || \ + defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA) +#define CRYPTO_set_mem_ex_functions wolfSSL_CRYPTO_set_mem_ex_functions +#define FIPS_mode wolfSSL_FIPS_mode +#define FIPS_mode_set wolfSSL_FIPS_mode_set +typedef struct CRYPTO_EX_DATA CRYPTO_EX_DATA; +typedef void (CRYPTO_free_func)(void*parent, void*ptr, CRYPTO_EX_DATA *ad, int idx, + long argl, void* argp); +#define CRYPTO_THREADID_set_callback wolfSSL_THREADID_set_callback +#define CRYPTO_THREADID_set_numeric wolfSSL_THREADID_set_numeric + +#define CRYPTO_r_lock wc_LockMutex_ex +#define CRYPTO_unlock wc_LockMutex_ex + +#define CRYPTO_THREAD_lock wc_LockMutex +#define CRYPTO_THREAD_r_lock wc_LockMutex +#define CRYPTO_THREAD_unlock wc_UnLockMutex + +#endif /* OPENSSL_ALL || HAVE_STUNNEL || WOLFSSL_NGINX || WOLFSSL_HAPROXY */ + +#endif /* header */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/dsa.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/dsa.h index bdcde8e0..978e8ecf 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/dsa.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/dsa.h @@ -1,12 +1,12 @@ /* dsa.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ec.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ec.h index 24e0e3ad..832ea3d6 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ec.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ec.h @@ -1,12 +1,12 @@ /* ec.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -24,6 +24,7 @@ extern "C" { /* Map OpenSSL NID value */ enum { + POINT_CONVERSION_COMPRESSED = 2, POINT_CONVERSION_UNCOMPRESSED = 4, #ifdef HAVE_ECC @@ -92,6 +93,10 @@ struct WOLFSSL_EC_KEY { char exSet; /* external set from internal ? */ }; + +#define WOLFSSL_EC_KEY_LOAD_PRIVATE 1 +#define WOLFSSL_EC_KEY_LOAD_PUBLIC 2 + WOLFSSL_API int wolfSSL_ECPoint_i2d(const WOLFSSL_EC_GROUP *curve, const WOLFSSL_EC_POINT *p, @@ -103,6 +108,9 @@ WOLFSSL_API int wolfSSL_EC_KEY_LoadDer(WOLFSSL_EC_KEY* key, const unsigned char* der, int derSz); WOLFSSL_API +int wolfSSL_EC_KEY_LoadDer_ex(WOLFSSL_EC_KEY* key, + const unsigned char* der, int derSz, int opt); +WOLFSSL_API void wolfSSL_EC_KEY_free(WOLFSSL_EC_KEY *key); WOLFSSL_API WOLFSSL_EC_POINT *wolfSSL_EC_KEY_get0_public_key(const WOLFSSL_EC_KEY *key); @@ -167,36 +175,47 @@ WOLFSSL_API int wolfSSL_EC_POINT_is_at_infinity(const WOLFSSL_EC_GROUP *group, const WOLFSSL_EC_POINT *a); -#define EC_KEY_free wolfSSL_EC_KEY_free -#define EC_KEY_get0_public_key wolfSSL_EC_KEY_get0_public_key -#define EC_KEY_get0_group wolfSSL_EC_KEY_get0_group -#define EC_KEY_set_private_key wolfSSL_EC_KEY_set_private_key -#define EC_KEY_get0_private_key wolfSSL_EC_KEY_get0_private_key -#define EC_KEY_new_by_curve_name wolfSSL_EC_KEY_new_by_curve_name -#define EC_KEY_set_group wolfSSL_EC_KEY_set_group -#define EC_KEY_generate_key wolfSSL_EC_KEY_generate_key -#define EC_KEY_set_asn1_flag wolfSSL_EC_KEY_set_asn1_flag -#define EC_KEY_set_public_key wolfSSL_EC_KEY_set_public_key -#define EC_KEY_new wolfSSL_EC_KEY_new +#ifndef HAVE_SELFTEST +WOLFSSL_API +char* wolfSSL_EC_POINT_point2hex(const WOLFSSL_EC_GROUP* group, + const WOLFSSL_EC_POINT* point, int form, + WOLFSSL_BN_CTX* ctx); +#endif -#define EC_GROUP_set_asn1_flag wolfSSL_EC_GROUP_set_asn1_flag -#define EC_GROUP_new_by_curve_name wolfSSL_EC_GROUP_new_by_curve_name -#define EC_GROUP_cmp wolfSSL_EC_GROUP_cmp -#define EC_GROUP_get_curve_name wolfSSL_EC_GROUP_get_curve_name -#define EC_GROUP_get_degree wolfSSL_EC_GROUP_get_degree -#define EC_GROUP_get_order wolfSSL_EC_GROUP_get_order -#define EC_GROUP_free wolfSSL_EC_GROUP_free +#define EC_KEY_new wolfSSL_EC_KEY_new +#define EC_KEY_free wolfSSL_EC_KEY_free +#define EC_KEY_get0_public_key wolfSSL_EC_KEY_get0_public_key +#define EC_KEY_get0_group wolfSSL_EC_KEY_get0_group +#define EC_KEY_set_private_key wolfSSL_EC_KEY_set_private_key +#define EC_KEY_get0_private_key wolfSSL_EC_KEY_get0_private_key +#define EC_KEY_new_by_curve_name wolfSSL_EC_KEY_new_by_curve_name +#define EC_KEY_set_group wolfSSL_EC_KEY_set_group +#define EC_KEY_generate_key wolfSSL_EC_KEY_generate_key +#define EC_KEY_set_asn1_flag wolfSSL_EC_KEY_set_asn1_flag +#define EC_KEY_set_public_key wolfSSL_EC_KEY_set_public_key -#define EC_POINT_new wolfSSL_EC_POINT_new +#define EC_GROUP_free wolfSSL_EC_GROUP_free +#define EC_GROUP_set_asn1_flag wolfSSL_EC_GROUP_set_asn1_flag +#define EC_GROUP_new_by_curve_name wolfSSL_EC_GROUP_new_by_curve_name +#define EC_GROUP_cmp wolfSSL_EC_GROUP_cmp +#define EC_GROUP_get_curve_name wolfSSL_EC_GROUP_get_curve_name +#define EC_GROUP_get_degree wolfSSL_EC_GROUP_get_degree +#define EC_GROUP_get_order wolfSSL_EC_GROUP_get_order + +#define EC_POINT_new wolfSSL_EC_POINT_new +#define EC_POINT_free wolfSSL_EC_POINT_free #define EC_POINT_get_affine_coordinates_GFp \ - wolfSSL_EC_POINT_get_affine_coordinates_GFp -#define EC_POINT_mul wolfSSL_EC_POINT_mul -#define EC_POINT_clear_free wolfSSL_EC_POINT_clear_free -#define EC_POINT_cmp wolfSSL_EC_POINT_cmp -#define EC_POINT_free wolfSSL_EC_POINT_free -#define EC_POINT_is_at_infinity wolfSSL_EC_POINT_is_at_infinity + wolfSSL_EC_POINT_get_affine_coordinates_GFp +#define EC_POINT_mul wolfSSL_EC_POINT_mul +#define EC_POINT_clear_free wolfSSL_EC_POINT_clear_free +#define EC_POINT_cmp wolfSSL_EC_POINT_cmp +#define EC_POINT_is_at_infinity wolfSSL_EC_POINT_is_at_infinity -#define EC_POINT_dump wolfSSL_EC_POINT_dump +#ifndef HAVE_SELFTEST + #define EC_POINT_point2hex wolfSSL_EC_POINT_point2hex +#endif + +#define EC_POINT_dump wolfSSL_EC_POINT_dump #ifdef __cplusplus } /* extern "C" */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/evp.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/evp.h index 0f9f4035..a4fa59e4 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/evp.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/evp.h @@ -1,19 +1,20 @@ /* evp.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ -/* evp.h defines mini evp openssl compatibility layer - * +/*! + \file wolfssl/openssl/evp.h + \brief evp.h defines mini evp openssl compatibility layer */ @@ -51,6 +52,7 @@ extern "C" { #endif + typedef char WOLFSSL_EVP_CIPHER; #ifndef WOLFSSL_EVP_TYPE_DEFINED /* guard on redeclaration */ typedef char WOLFSSL_EVP_MD; @@ -58,6 +60,9 @@ typedef struct WOLFSSL_EVP_PKEY WOLFSSL_EVP_PKEY; #define WOLFSSL_EVP_TYPE_DEFINED #endif +typedef WOLFSSL_EVP_PKEY EVP_PKEY; +typedef WOLFSSL_EVP_PKEY PKCS8_PRIV_KEY_INFO; + #ifndef NO_MD4 WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_md4(void); #endif @@ -75,8 +80,10 @@ WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ecb(void); WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ecb(void); WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ecb(void); WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cbc(void); +#if !defined(NO_AES) && defined(HAVE_AES_CBC) WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cbc(void); WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cbc(void); +#endif WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ctr(void); WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ctr(void); WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ctr(void); @@ -112,6 +119,7 @@ typedef union { #endif } WOLFSSL_Hasher; +typedef struct WOLFSSL_EVP_PKEY_CTX WOLFSSL_EVP_PKEY_CTX; typedef struct WOLFSSL_EVP_MD_CTX { union { @@ -119,6 +127,7 @@ typedef struct WOLFSSL_EVP_MD_CTX { Hmac hmac; } hash; unsigned char macType; + WOLFSSL_EVP_PKEY_CTX *pctx; } WOLFSSL_EVP_MD_CTX; @@ -205,11 +214,11 @@ typedef struct WOLFSSL_EVP_CIPHER_CTX { int lastUsed; } WOLFSSL_EVP_CIPHER_CTX; -typedef struct WOLFSSL_EVP_PKEY_CTX { +struct WOLFSSL_EVP_PKEY_CTX { WOLFSSL_EVP_PKEY *pkey; int op; /* operation */ int padding; -} WOLFSSL_EVP_PKEY_CTX; +}; typedef int WOLFSSL_ENGINE ; typedef WOLFSSL_ENGINE ENGINE; @@ -255,12 +264,22 @@ WOLFSSL_API int wolfSSL_EVP_DigestSignUpdate(WOLFSSL_EVP_MD_CTX *ctx, WOLFSSL_API int wolfSSL_EVP_DigestSignFinal(WOLFSSL_EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen); -#ifndef NO_MD5 +WOLFSSL_API int wolfSSL_EVP_DigestVerifyInit(WOLFSSL_EVP_MD_CTX *ctx, + WOLFSSL_EVP_PKEY_CTX **pctx, + const WOLFSSL_EVP_MD *type, + WOLFSSL_ENGINE *e, + WOLFSSL_EVP_PKEY *pkey); +WOLFSSL_API int wolfSSL_EVP_DigestVerifyUpdate(WOLFSSL_EVP_MD_CTX *ctx, + const void *d, size_t cnt); +WOLFSSL_API int wolfSSL_EVP_DigestVerifyFinal(WOLFSSL_EVP_MD_CTX *ctx, + const unsigned char *sig, + size_t siglen); + + WOLFSSL_API int wolfSSL_EVP_BytesToKey(const WOLFSSL_EVP_CIPHER*, const WOLFSSL_EVP_MD*, const unsigned char*, const unsigned char*, int, int, unsigned char*, unsigned char*); -#endif WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_init(WOLFSSL_EVP_CIPHER_CTX* ctx); WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_cleanup(WOLFSSL_EVP_CIPHER_CTX* ctx); @@ -327,6 +346,10 @@ WOLFSSL_API int wolfSSL_EVP_Cipher(WOLFSSL_EVP_CIPHER_CTX* ctx, WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_get_cipherbynid(int); WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_get_digestbynid(int); +WOLFSSL_API int wolfSSL_EVP_PKEY_assign_RSA(WOLFSSL_EVP_PKEY* pkey, + WOLFSSL_RSA* key); +WOLFSSL_API int wolfSSL_EVP_PKEY_assign_EC_KEY(WOLFSSL_EVP_PKEY* pkey, + WOLFSSL_EC_KEY* key); WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get1_RSA(WOLFSSL_EVP_PKEY*); WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get1_DSA(WOLFSSL_EVP_PKEY*); WOLFSSL_API WOLFSSL_EC_KEY *wolfSSL_EVP_PKEY_get1_EC_KEY(WOLFSSL_EVP_PKEY *key); @@ -349,7 +372,11 @@ WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt(WOLFSSL_EVP_PKEY_CTX *ctx, const unsigned char *in, size_t inlen); WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt_init(WOLFSSL_EVP_PKEY_CTX *ctx); WOLFSSL_API WOLFSSL_EVP_PKEY *wolfSSL_EVP_PKEY_new(void); +WOLFSSL_API void wolfSSL_EVP_PKEY_free(WOLFSSL_EVP_PKEY*); WOLFSSL_API int wolfSSL_EVP_PKEY_size(WOLFSSL_EVP_PKEY *pkey); +WOLFSSL_API int wolfSSL_EVP_PKEY_type(int type); +WOLFSSL_API int wolfSSL_EVP_PKEY_id(const EVP_PKEY *pkey); +WOLFSSL_API int wolfSSL_EVP_PKEY_base_id(const EVP_PKEY *pkey); WOLFSSL_API int wolfSSL_EVP_SignFinal(WOLFSSL_EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen, WOLFSSL_EVP_PKEY *pkey); WOLFSSL_API int wolfSSL_EVP_SignInit(WOLFSSL_EVP_MD_CTX *ctx, const WOLFSSL_EVP_MD *type); @@ -378,11 +405,14 @@ WOLFSSL_API unsigned long WOLFSSL_EVP_CIPHER_mode(const WOLFSSL_EVP_CIPHER *ciph WOLFSSL_API unsigned long WOLFSSL_CIPHER_mode(const WOLFSSL_EVP_CIPHER *cipher); WOLFSSL_API unsigned long wolfSSL_EVP_CIPHER_flags(const WOLFSSL_EVP_CIPHER *cipher); WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_set_flags(WOLFSSL_EVP_CIPHER_CTX *ctx, int flags); +WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_clear_flags(WOLFSSL_EVP_CIPHER_CTX *ctx, int flags); WOLFSSL_API unsigned long wolfSSL_EVP_CIPHER_CTX_mode(const WOLFSSL_EVP_CIPHER_CTX *ctx); WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_padding(WOLFSSL_EVP_CIPHER_CTX *c, int pad); WOLFSSL_API int wolfSSL_EVP_add_digest(const WOLFSSL_EVP_MD *digest); WOLFSSL_API int wolfSSL_EVP_add_cipher(const WOLFSSL_EVP_CIPHER *cipher); - +WOLFSSL_API void wolfSSL_EVP_cleanup(void); +WOLFSSL_API int wolfSSL_add_all_algorithms(void); +WOLFSSL_API int wolfSSL_OpenSSL_add_all_algorithms_noconf(void); WOLFSSL_API int wolfSSL_PKCS5_PBKDF2_HMAC_SHA1(const char * pass, int passlen, const unsigned char * salt, @@ -459,15 +489,18 @@ typedef WOLFSSL_EVP_CIPHER_CTX EVP_CIPHER_CTX; #define EVP_MD_CTX_type wolfSSL_EVP_MD_CTX_type #define EVP_MD_type wolfSSL_EVP_MD_type -#define EVP_DigestInit wolfSSL_EVP_DigestInit -#define EVP_DigestInit_ex wolfSSL_EVP_DigestInit_ex -#define EVP_DigestUpdate wolfSSL_EVP_DigestUpdate -#define EVP_DigestFinal wolfSSL_EVP_DigestFinal -#define EVP_DigestFinal_ex wolfSSL_EVP_DigestFinal_ex -#define EVP_DigestSignInit wolfSSL_EVP_DigestSignInit -#define EVP_DigestSignUpdate wolfSSL_EVP_DigestSignUpdate -#define EVP_DigestSignFinal wolfSSL_EVP_DigestSignFinal -#define EVP_BytesToKey wolfSSL_EVP_BytesToKey +#define EVP_DigestInit wolfSSL_EVP_DigestInit +#define EVP_DigestInit_ex wolfSSL_EVP_DigestInit_ex +#define EVP_DigestUpdate wolfSSL_EVP_DigestUpdate +#define EVP_DigestFinal wolfSSL_EVP_DigestFinal +#define EVP_DigestFinal_ex wolfSSL_EVP_DigestFinal_ex +#define EVP_DigestSignInit wolfSSL_EVP_DigestSignInit +#define EVP_DigestSignUpdate wolfSSL_EVP_DigestSignUpdate +#define EVP_DigestSignFinal wolfSSL_EVP_DigestSignFinal +#define EVP_DigestVerifyInit wolfSSL_EVP_DigestVerifyInit +#define EVP_DigestVerifyUpdate wolfSSL_EVP_DigestVerifyUpdate +#define EVP_DigestVerifyFinal wolfSSL_EVP_DigestVerifyFinal +#define EVP_BytesToKey wolfSSL_EVP_BytesToKey #define EVP_get_cipherbyname wolfSSL_EVP_get_cipherbyname #define EVP_get_digestbyname wolfSSL_EVP_get_digestbyname @@ -508,40 +541,54 @@ typedef WOLFSSL_EVP_CIPHER_CTX EVP_CIPHER_CTX; #define EVP_get_cipherbyname wolfSSL_EVP_get_cipherbyname #define EVP_get_digestbyname wolfSSL_EVP_get_digestbyname -#define EVP_PKEY_get1_RSA wolfSSL_EVP_PKEY_get1_RSA -#define EVP_PKEY_get1_DSA wolfSSL_EVP_PKEY_get1_DSA -#define EVP_PKEY_set1_RSA wolfSSL_EVP_PKEY_set1_RSA -#define EVP_PKEY_get1_EC_KEY wolfSSL_EVP_PKEY_get1_EC_KEY -#define EVP_PKEY_get0_hmac wolfSSL_EVP_PKEY_get0_hmac -#define EVP_PKEY_new_mac_key wolfSSL_EVP_PKEY_new_mac_key -#define EVP_MD_CTX_copy wolfSSL_EVP_MD_CTX_copy -#define EVP_MD_CTX_copy_ex wolfSSL_EVP_MD_CTX_copy_ex -#define EVP_PKEY_bits wolfSSL_EVP_PKEY_bits -#define EVP_PKEY_CTX_free wolfSSL_EVP_PKEY_CTX_free -#define EVP_PKEY_CTX_new wolfSSL_EVP_PKEY_CTX_new -#define EVP_PKEY_CTX_set_rsa_padding wolfSSL_EVP_PKEY_CTX_set_rsa_padding -#define EVP_PKEY_decrypt wolfSSL_EVP_PKEY_decrypt -#define EVP_PKEY_decrypt_init wolfSSL_EVP_PKEY_decrypt_init -#define EVP_PKEY_encrypt wolfSSL_EVP_PKEY_encrypt -#define EVP_PKEY_encrypt_init wolfSSL_EVP_PKEY_encrypt_init -#define EVP_PKEY_new wolfSSL_PKEY_new -#define EVP_PKEY_free wolfSSL_EVP_PKEY_free -#define EVP_PKEY_size wolfSSL_EVP_PKEY_size -#define EVP_SignFinal wolfSSL_EVP_SignFinal -#define EVP_SignInit wolfSSL_EVP_SignInit -#define EVP_SignUpdate wolfSSL_EVP_SignUpdate -#define EVP_VerifyFinal wolfSSL_EVP_VerifyFinal -#define EVP_VerifyInit wolfSSL_EVP_VerifyInit -#define EVP_VerifyUpdate wolfSSL_EVP_VerifyUpdate +#define EVP_PKEY_asign_RSA wolfSSL_EVP_PKEY_assign_RSA +#define EVP_PKEY_asign_EC_KEY wolfSSL_EVP_PKEY_assign_EC_KEY +#define EVP_PKEY_get1_DSA wolfSSL_EVP_PKEY_get1_DSA +#define EVP_PKEY_get1_RSA wolfSSL_EVP_PKEY_get1_RSA +#define EVP_PKEY_get1_DSA wolfSSL_EVP_PKEY_get1_DSA +#define EVP_PKEY_set1_RSA wolfSSL_EVP_PKEY_set1_RSA +#define EVP_PKEY_get1_EC_KEY wolfSSL_EVP_PKEY_get1_EC_KEY +#define EVP_PKEY_get0_hmac wolfSSL_EVP_PKEY_get0_hmac +#define EVP_PKEY_new_mac_key wolfSSL_EVP_PKEY_new_mac_key +#define EVP_MD_CTX_copy wolfSSL_EVP_MD_CTX_copy +#define EVP_MD_CTX_copy_ex wolfSSL_EVP_MD_CTX_copy_ex +#define EVP_PKEY_bits wolfSSL_EVP_PKEY_bits +#define EVP_PKEY_CTX_free wolfSSL_EVP_PKEY_CTX_free +#define EVP_PKEY_CTX_new wolfSSL_EVP_PKEY_CTX_new +#define EVP_PKEY_CTX_set_rsa_padding wolfSSL_EVP_PKEY_CTX_set_rsa_padding +#define EVP_PKEY_decrypt wolfSSL_EVP_PKEY_decrypt +#define EVP_PKEY_decrypt_init wolfSSL_EVP_PKEY_decrypt_init +#define EVP_PKEY_encrypt wolfSSL_EVP_PKEY_encrypt +#define EVP_PKEY_encrypt_init wolfSSL_EVP_PKEY_encrypt_init +#define EVP_PKEY_new wolfSSL_PKEY_new +#define EVP_PKEY_free wolfSSL_EVP_PKEY_free +#define EVP_PKEY_size wolfSSL_EVP_PKEY_size +#define EVP_PKEY_type wolfSSL_EVP_PKEY_type +#define EVP_PKEY_base_id wolfSSL_EVP_PKEY_base_id +#define EVP_PKEY_id wolfSSL_EVP_PKEY_id +#define EVP_SignFinal wolfSSL_EVP_SignFinal +#define EVP_SignInit wolfSSL_EVP_SignInit +#define EVP_SignUpdate wolfSSL_EVP_SignUpdate +#define EVP_VerifyFinal wolfSSL_EVP_VerifyFinal +#define EVP_VerifyInit wolfSSL_EVP_VerifyInit +#define EVP_VerifyUpdate wolfSSL_EVP_VerifyUpdate #define EVP_CIPHER_CTX_block_size wolfSSL_EVP_CIPHER_CTX_block_size #define EVP_CIPHER_block_size wolfSSL_EVP_CIPHER_block_size #define EVP_CIPHER_flags wolfSSL_EVP_CIPHER_flags #define EVP_CIPHER_CTX_set_flags wolfSSL_EVP_CIPHER_CTX_set_flags +#define EVP_CIPHER_CTX_clear_flags wolfSSL_EVP_CIPHER_CTX_clear_flags #define EVP_CIPHER_CTX_set_padding wolfSSL_EVP_CIPHER_CTX_set_padding #define EVP_CIPHER_CTX_flags wolfSSL_EVP_CIPHER_CTX_flags #define EVP_add_digest wolfSSL_EVP_add_digest #define EVP_add_cipher wolfSSL_EVP_add_cipher +#define EVP_cleanup wolfSSL_EVP_cleanup + +#define OpenSSL_add_all_digests() wolfCrypt_Init() +#define OpenSSL_add_all_ciphers() wolfCrypt_Init() +#define OpenSSL_add_all_algorithms wolfSSL_add_all_algorithms +#define OpenSSL_add_all_algorithms_noconf wolfSSL_OpenSSL_add_all_algorithms_noconf +#define wolfSSL_OPENSSL_add_all_algorithms_noconf wolfSSL_OpenSSL_add_all_algorithms_noconf #define PKCS5_PBKDF2_HMAC_SHA1 wolfSSL_PKCS5_PBKDF2_HMAC_SHA1 diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/hmac.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/hmac.h new file mode 100644 index 00000000..da32fed4 --- /dev/null +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/hmac.h @@ -0,0 +1,84 @@ +/* hmac.h + * + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. + * + * This file is part of wolfSSL. + * + * Contact licensing@wolfssl.com with any questions or comments. + * + * https://www.wolfssl.com + */ + + + + +/* hmac.h defines mini hamc openssl compatibility layer + * + */ + + +#ifndef WOLFSSL_HMAC_H_ +#define WOLFSSL_HMAC_H_ + +#include + +#ifdef WOLFSSL_PREFIX +#include "prefix_hmac.h" +#endif + +#include +#include +#include + +#ifdef __cplusplus + extern "C" { +#endif + + +WOLFSSL_API unsigned char* wolfSSL_HMAC(const WOLFSSL_EVP_MD* evp_md, + const void* key, int key_len, + const unsigned char* d, int n, unsigned char* md, + unsigned int* md_len); + + +typedef struct WOLFSSL_HMAC_CTX { + Hmac hmac; + int type; + word32 save_ipad[WC_HMAC_BLOCK_SIZE / sizeof(word32)]; /* same block size all*/ + word32 save_opad[WC_HMAC_BLOCK_SIZE / sizeof(word32)]; +} WOLFSSL_HMAC_CTX; + + +WOLFSSL_API int wolfSSL_HMAC_CTX_Init(WOLFSSL_HMAC_CTX* ctx); +WOLFSSL_API int wolfSSL_HMAC_CTX_copy(WOLFSSL_HMAC_CTX* des, + WOLFSSL_HMAC_CTX* src); +WOLFSSL_LOCAL int wolfSSL_HmacCopy(Hmac* des, Hmac* src); +WOLFSSL_API int wolfSSL_HMAC_Init(WOLFSSL_HMAC_CTX* ctx, const void* key, + int keylen, const EVP_MD* type); +WOLFSSL_API int wolfSSL_HMAC_Init_ex(WOLFSSL_HMAC_CTX* ctx, const void* key, + int keylen, const EVP_MD* type, WOLFSSL_ENGINE* e); +WOLFSSL_API int wolfSSL_HMAC_Update(WOLFSSL_HMAC_CTX* ctx, + const unsigned char* data, int len); +WOLFSSL_API int wolfSSL_HMAC_Final(WOLFSSL_HMAC_CTX* ctx, unsigned char* hash, + unsigned int* len); +WOLFSSL_API int wolfSSL_HMAC_cleanup(WOLFSSL_HMAC_CTX* ctx); + +typedef struct WOLFSSL_HMAC_CTX HMAC_CTX; + +#define HMAC(a,b,c,d,e,f,g) wolfSSL_HMAC((a),(b),(c),(d),(e),(f),(g)) + +#define HMAC_CTX_init wolfSSL_HMAC_CTX_Init +#define HMAC_CTX_copy wolfSSL_HMAC_CTX_copy +#define HMAC_Init_ex wolfSSL_HMAC_Init_ex +#define HMAC_Init wolfSSL_HMAC_Init +#define HMAC_Update wolfSSL_HMAC_Update +#define HMAC_Final wolfSSL_HMAC_Final +#define HMAC_cleanup wolfSSL_HMAC_cleanup + + +#ifdef __cplusplus + } /* extern "C" */ +#endif + + +#endif /* WOLFSSL_HMAC_H_ */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/md5.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/md5.h index 00217c4e..80e58df9 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/md5.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/md5.h @@ -1,12 +1,12 @@ /* md5.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/opensslv.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/opensslv.h index a48fede1..15cbe51f 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/opensslv.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/opensslv.h @@ -1,12 +1,12 @@ /* opensslv.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -17,7 +17,8 @@ /* api version compatibility */ -#if defined(HAVE_STUNNEL) || defined(HAVE_LIGHTY) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) || defined(WOLFSSL_SIGNAL) +#if defined(OPENSSL_ALL) || defined(HAVE_STUNNEL) || defined(HAVE_LIGHTY) || \ + defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) /* version number can be increased for Lighty after compatibility for ECDH is added */ #define OPENSSL_VERSION_NUMBER 0x10001000L diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ripemd.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ripemd.h index a8ba0845..3b5422e0 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ripemd.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ripemd.h @@ -1,12 +1,12 @@ /* ripemd.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/rsa.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/rsa.h index c3e22b00..a135fc06 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/rsa.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/rsa.h @@ -1,12 +1,12 @@ /* rsa.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -23,21 +23,9 @@ extern "C" { #endif -#if !defined(NO_RSA) && !defined(HAVE_USER_RSA) -#if defined(HAVE_FIPS) || \ - (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION < 2)) - /* - choice of padding added after fips, so not available when using fips RSA - */ - - /* Padding types */ - #define RSA_PKCS1_PADDING 0 - #define RSA_PKCS1_OAEP_PADDING 1 -#else - #define RSA_PKCS1_PADDING WC_RSA_PKCSV15_PAD - #define RSA_PKCS1_OAEP_PADDING WC_RSA_OAEP_PAD -#endif /* HAVE_FIPS */ -#endif +/* Padding types */ +#define RSA_PKCS1_PADDING 0 +#define RSA_PKCS1_OAEP_PADDING 1 #ifndef WOLFSSL_RSA_TYPE_DEFINED /* guard on redeclaration */ typedef struct WOLFSSL_RSA WOLFSSL_RSA; @@ -98,6 +86,7 @@ WOLFSSL_API int wolfSSL_RSA_LoadDer_ex(WOLFSSL_RSA*, const unsigned char*, int s #define WOLFSSL_RSA_LOAD_PRIVATE 1 #define WOLFSSL_RSA_LOAD_PUBLIC 2 +#define WOLFSSL_RSA_F4 0x10001L #define RSA_new wolfSSL_RSA_new #define RSA_free wolfSSL_RSA_free @@ -114,6 +103,7 @@ WOLFSSL_API int wolfSSL_RSA_LoadDer_ex(WOLFSSL_RSA*, const unsigned char*, int s #define RSA_verify wolfSSL_RSA_verify #define RSA_public_decrypt wolfSSL_RSA_public_decrypt +#define RSA_F4 WOLFSSL_RSA_F4 #ifdef __cplusplus } /* extern "C" */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/sha.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/sha.h index 550a6df9..6712585e 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/sha.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/sha.h @@ -1,12 +1,12 @@ /* sha.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -110,7 +110,7 @@ typedef WOLFSSL_SHA256_CTX SHA256_CTX; #define SHA256_Init wolfSSL_SHA256_Init #define SHA256_Update wolfSSL_SHA256_Update #define SHA256_Final wolfSSL_SHA256_Final -#if defined(NO_OLD_SHA256_NAMES) && !defined(HAVE_FIPS) +#if defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST) /* SHA256 is only available in non-fips mode because of SHA256 enum in FIPS * build. */ #define SHA256 wolfSSL_SHA256 @@ -139,7 +139,11 @@ typedef WOLFSSL_SHA384_CTX SHA384_CTX; #define SHA384_Init wolfSSL_SHA384_Init #define SHA384_Update wolfSSL_SHA384_Update #define SHA384_Final wolfSSL_SHA384_Final - +#if defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST) + /* SHA384 is only available in non-fips mode because of SHA384 enum in FIPS + * build. */ + #define SHA384 wolfSSL_SHA384 +#endif #endif /* WOLFSSL_SHA384 */ #ifdef WOLFSSL_SHA512 @@ -164,7 +168,11 @@ typedef WOLFSSL_SHA512_CTX SHA512_CTX; #define SHA512_Init wolfSSL_SHA512_Init #define SHA512_Update wolfSSL_SHA512_Update #define SHA512_Final wolfSSL_SHA512_Final - +#if defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST) + /* SHA512 is only available in non-fips mode because of SHA512 enum in FIPS + * build. */ + #define SHA512 wolfSSL_SHA512 +#endif #endif /* WOLFSSL_SHA512 */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ssl.h b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ssl.h index 0a094a70..b3da6dac 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ssl.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/openssl/ssl.h @@ -1,12 +1,12 @@ /* ssl.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -27,6 +27,13 @@ #endif /* OPENSSL_EXTRA_SSL_GUARD */ #include +#ifdef OPENSSL_EXTRA +#include +#endif + +#if defined(WOLFSSL_ASIO) || defined(WOLFSSL_HAPROXY) +#include +#endif #ifdef __cplusplus extern "C" { @@ -53,13 +60,12 @@ typedef WOLFSSL_X509 X509_REQ; typedef WOLFSSL_X509_NAME X509_NAME; typedef WOLFSSL_X509_CHAIN X509_CHAIN; +typedef WOLFSSL_STACK EXTENDED_KEY_USAGE; + /* redeclare guard */ #define WOLFSSL_TYPES_DEFINED - -typedef WOLFSSL_EVP_PKEY EVP_PKEY; -typedef WOLFSSL_EVP_PKEY PKCS8_PRIV_KEY_INFO; typedef WOLFSSL_BIO BIO; typedef WOLFSSL_BIO_METHOD BIO_METHOD; typedef WOLFSSL_CIPHER SSL_CIPHER; @@ -88,14 +94,34 @@ typedef WOLFSSL_X509_OBJECT X509_OBJECT; typedef WOLFSSL_X509_STORE X509_STORE; typedef WOLFSSL_X509_STORE_CTX X509_STORE_CTX; -#define CRYPTO_free XFREE -#define CRYPTO_malloc XMALLOC -#define CRYPTO_EX_new WOLFSSL_CRYPTO_EX_new -#define CRYPTO_EX_dup WOLFSSL_CRYPTO_EX_dup -#define CRYPTO_EX_free WOLFSSL_CRYPTO_EX_free +#define EVP_CIPHER_INFO EncryptedInfo #define STACK_OF(x) WOLFSSL_STACK +#define CRYPTO_free XFREE +#define CRYPTO_malloc XMALLOC +#define CRYPTO_EX_new WOLFSSL_CRYPTO_EX_new +#define CRYPTO_EX_dup WOLFSSL_CRYPTO_EX_dup +#define CRYPTO_EX_free WOLFSSL_CRYPTO_EX_free + +/* depreciated */ +#define CRYPTO_thread_id wolfSSL_thread_id +#define CRYPTO_set_id_callback wolfSSL_set_id_callback + +#define CRYPTO_LOCK 0x01 +#define CRYPTO_UNLOCK 0x02 +#define CRYPTO_READ 0x04 +#define CRYPTO_WRITE 0x08 + +#define CRYPTO_set_locking_callback wolfSSL_set_locking_callback +#define CRYPTO_set_dynlock_create_callback wolfSSL_set_dynlock_create_callback +#define CRYPTO_set_dynlock_lock_callback wolfSSL_set_dynlock_lock_callback +#define CRYPTO_set_dynlock_destroy_callback wolfSSL_set_dynlock_destroy_callback +#define CRYPTO_num_locks wolfSSL_num_locks +#define CRYPTO_dynlock_value WOLFSSL_dynlock_value + +#define CRYPTO_cleanup_all_ex_data wolfSSL_cleanup_all_ex_data + /* this function was used to set the default malloc, free, and realloc */ #define CRYPTO_malloc_init() /* CRYPTO_malloc_init is not needed */ @@ -106,335 +132,412 @@ typedef WOLFSSL_X509_STORE_CTX X509_STORE_CTX; #define SSL_get_shared_ciphers(ctx,buf,len) \ wolfSSL_get_shared_ciphers((ctx),(buf),(len)) -#define ERR_print_errors_fp(file) wolfSSL_ERR_dump_errors_fp((file)) - /* at the moment only returns ok */ -#define SSL_get_verify_result wolfSSL_get_verify_result -#define SSL_get_verify_mode wolfSSL_SSL_get_mode -#define SSL_get_verify_depth wolfSSL_get_verify_depth -#define SSL_CTX_get_verify_mode wolfSSL_CTX_get_verify_mode -#define SSL_CTX_get_verify_depth wolfSSL_CTX_get_verify_depth -#define SSL_get_certificate wolfSSL_get_certificate -#define SSL_use_certificate wolfSSL_use_certificate -#define SSL_use_certificate_ASN1 wolfSSL_use_certificate_ASN1 -#define d2i_PKCS8_PRIV_KEY_INFO_bio wolfSSL_d2i_PKCS8_PKEY_bio -#define PKCS8_PRIV_KEY_INFO_free wolfSSL_EVP_PKEY_free +#define SSL_get_verify_result wolfSSL_get_verify_result +#define SSL_get_verify_mode wolfSSL_SSL_get_mode +#define SSL_get_verify_depth wolfSSL_get_verify_depth +#define SSL_CTX_get_verify_mode wolfSSL_CTX_get_verify_mode +#define SSL_CTX_get_verify_depth wolfSSL_CTX_get_verify_depth +#define SSL_get_certificate wolfSSL_get_certificate +#define SSL_use_certificate wolfSSL_use_certificate +#define SSL_use_certificate_ASN1 wolfSSL_use_certificate_ASN1 +#define d2i_PKCS8_PRIV_KEY_INFO_bio wolfSSL_d2i_PKCS8_PKEY_bio +#define d2i_PKCS8PrivateKey_bio wolfSSL_d2i_PKCS8PrivateKey_bio +#define PKCS8_PRIV_KEY_INFO_free wolfSSL_EVP_PKEY_free +#define d2i_PKCS12_fp wolfSSL_d2i_PKCS12_fp -#define d2i_PUBKEY_bio wolfSSL_d2i_PUBKEY_bio -#define d2i_PrivateKey wolfSSL_d2i_PrivateKey -#define SSL_use_PrivateKey wolfSSL_use_PrivateKey -#define SSL_use_PrivateKey_ASN1 wolfSSL_use_PrivateKey_ASN1 -#define SSL_use_RSAPrivateKey_ASN1 wolfSSL_use_RSAPrivateKey_ASN1 -#define SSL_get_privatekey wolfSSL_get_privatekey +#define d2i_PUBKEY wolfSSL_d2i_PUBKEY +#define d2i_PUBKEY_bio wolfSSL_d2i_PUBKEY_bio +#define d2i_PrivateKey wolfSSL_d2i_PrivateKey +#define d2i_AutoPrivateKey wolfSSL_d2i_AutoPrivateKey +#define SSL_use_PrivateKey wolfSSL_use_PrivateKey +#define SSL_use_PrivateKey_ASN1 wolfSSL_use_PrivateKey_ASN1 +#define SSL_use_RSAPrivateKey_ASN1 wolfSSL_use_RSAPrivateKey_ASN1 +#define SSL_get_privatekey wolfSSL_get_privatekey -#define SSLv23_method wolfSSLv23_method -#define SSLv3_server_method wolfSSLv3_server_method -#define SSLv3_client_method wolfSSLv3_client_method -#define TLSv1_method wolfTLSv1_method -#define TLSv1_server_method wolfTLSv1_server_method -#define TLSv1_client_method wolfTLSv1_client_method -#define TLSv1_1_server_method wolfTLSv1_1_server_method -#define TLSv1_1_client_method wolfTLSv1_1_client_method -#define TLSv1_2_server_method wolfTLSv1_2_server_method -#define TLSv1_2_client_method wolfTLSv1_2_client_method +#define SSLv23_method wolfSSLv23_method +#define SSLv23_client_method wolfSSLv23_client_method +#define SSLv2_client_method wolfSSLv2_client_method +#define SSLv2_server_method wolfSSLv2_server_method +#define SSLv3_server_method wolfSSLv3_server_method +#define SSLv3_client_method wolfSSLv3_client_method +#define TLSv1_method wolfTLSv1_method +#define TLSv1_server_method wolfTLSv1_server_method +#define TLSv1_client_method wolfTLSv1_client_method +#define TLSv1_1_method wolfTLSv1_1_method +#define TLSv1_1_server_method wolfTLSv1_1_server_method +#define TLSv1_1_client_method wolfTLSv1_1_client_method +#define TLSv1_2_method wolfTLSv1_2_method +#define TLSv1_2_server_method wolfTLSv1_2_server_method +#define TLSv1_2_client_method wolfTLSv1_2_client_method +#define TLSv1_3_method wolfTLSv1_3_method +#define TLSv1_3_server_method wolfTLSv1_3_server_method +#define TLSv1_3_client_method wolfTLSv1_3_client_method #define X509_FILETYPE_ASN1 SSL_FILETYPE_ASN1 #ifdef WOLFSSL_DTLS - #define DTLSv1_client_method wolfDTLSv1_client_method - #define DTLSv1_server_method wolfDTLSv1_server_method - #define DTLSv1_2_client_method wolfDTLSv1_2_client_method - #define DTLSv1_2_server_method wolfDTLSv1_2_server_method + #define DTLSv1_client_method wolfDTLSv1_client_method + #define DTLSv1_server_method wolfDTLSv1_server_method + #define DTLSv1_2_client_method wolfDTLSv1_2_client_method + #define DTLSv1_2_server_method wolfDTLSv1_2_server_method #endif #ifndef NO_FILESYSTEM - #define SSL_CTX_use_certificate_file wolfSSL_CTX_use_certificate_file - #define SSL_CTX_use_PrivateKey_file wolfSSL_CTX_use_PrivateKey_file - #define SSL_CTX_load_verify_locations wolfSSL_CTX_load_verify_locations + #define SSL_CTX_use_certificate_file wolfSSL_CTX_use_certificate_file + #define SSL_CTX_use_PrivateKey_file wolfSSL_CTX_use_PrivateKey_file + #define SSL_CTX_load_verify_locations wolfSSL_CTX_load_verify_locations #define SSL_CTX_use_certificate_chain_file wolfSSL_CTX_use_certificate_chain_file - #define SSL_CTX_use_RSAPrivateKey_file wolfSSL_CTX_use_RSAPrivateKey_file + #define SSL_CTX_use_RSAPrivateKey_file wolfSSL_CTX_use_RSAPrivateKey_file - #define SSL_use_certificate_file wolfSSL_use_certificate_file - #define SSL_use_PrivateKey_file wolfSSL_use_PrivateKey_file - #define SSL_use_certificate_chain_file wolfSSL_use_certificate_chain_file - #define SSL_use_RSAPrivateKey_file wolfSSL_use_RSAPrivateKey_file + #define SSL_use_certificate_file wolfSSL_use_certificate_file + #define SSL_use_PrivateKey_file wolfSSL_use_PrivateKey_file + #define SSL_use_certificate_chain_file wolfSSL_use_certificate_chain_file + #define SSL_use_RSAPrivateKey_file wolfSSL_use_RSAPrivateKey_file #endif -#define SSL_CTX_new wolfSSL_CTX_new -#define SSL_new wolfSSL_new -#define SSL_set_fd wolfSSL_set_fd -#define SSL_get_fd wolfSSL_get_fd -#define SSL_connect wolfSSL_connect -#define SSL_clear wolfSSL_clear -#define SSL_state wolfSSL_state +#define SSL_CTX_new wolfSSL_CTX_new +#define SSL_new wolfSSL_new +#define SSL_set_fd wolfSSL_set_fd +#define SSL_get_fd wolfSSL_get_fd +#define SSL_connect wolfSSL_connect +#define SSL_clear wolfSSL_clear +#define SSL_state wolfSSL_state -#define SSL_write wolfSSL_write -#define SSL_read wolfSSL_read -#define SSL_peek wolfSSL_peek -#define SSL_accept wolfSSL_accept -#define SSL_CTX_free wolfSSL_CTX_free -#define SSL_free wolfSSL_free -#define SSL_shutdown wolfSSL_shutdown +#define SSL_write wolfSSL_write +#define SSL_read wolfSSL_read +#define SSL_peek wolfSSL_peek +#define SSL_accept wolfSSL_accept +#define SSL_CTX_free wolfSSL_CTX_free +#define SSL_free wolfSSL_free +#define SSL_shutdown wolfSSL_shutdown -#define SSL_CTX_set_quiet_shutdown wolfSSL_CTX_set_quiet_shutdown -#define SSL_set_quiet_shutdown wolfSSL_set_quiet_shutdown -#define SSL_get_error wolfSSL_get_error -#define SSL_set_session wolfSSL_set_session -#define SSL_get_session wolfSSL_get_session -#define SSL_flush_sessions wolfSSL_flush_sessions +#define SSL_CTX_set_quiet_shutdown wolfSSL_CTX_set_quiet_shutdown +#define SSL_set_quiet_shutdown wolfSSL_set_quiet_shutdown +#define SSL_get_error wolfSSL_get_error +#define SSL_set_session wolfSSL_set_session +#define SSL_get_session wolfSSL_get_session +#define SSL_flush_sessions wolfSSL_flush_sessions /* assume unlimited temporarily */ #define SSL_CTX_get_session_cache_mode(ctx) 0 -#define SSL_CTX_set_verify wolfSSL_CTX_set_verify -#define SSL_set_verify wolfSSL_set_verify -#define SSL_pending wolfSSL_pending -#define SSL_load_error_strings wolfSSL_load_error_strings -#define SSL_library_init wolfSSL_library_init -#define SSL_CTX_set_session_cache_mode wolfSSL_CTX_set_session_cache_mode -#define SSL_CTX_set_cipher_list wolfSSL_CTX_set_cipher_list -#define SSL_set_cipher_list wolfSSL_set_cipher_list +#define SSL_CTX_set_verify wolfSSL_CTX_set_verify +#define SSL_set_verify wolfSSL_set_verify +#define SSL_pending wolfSSL_pending +#define SSL_load_error_strings wolfSSL_load_error_strings +#define SSL_library_init wolfSSL_library_init +#define SSL_CTX_set_session_cache_mode wolfSSL_CTX_set_session_cache_mode +#define SSL_CTX_set_cipher_list wolfSSL_CTX_set_cipher_list +#define SSL_set_cipher_list wolfSSL_set_cipher_list -#define ERR_error_string wolfSSL_ERR_error_string -#define ERR_error_string_n wolfSSL_ERR_error_string_n -#define ERR_reason_error_string wolfSSL_ERR_reason_error_string - -#define SSL_set_ex_data wolfSSL_set_ex_data -#define SSL_get_shutdown wolfSSL_get_shutdown -#define SSL_set_rfd wolfSSL_set_rfd -#define SSL_set_wfd wolfSSL_set_wfd -#define SSL_set_shutdown wolfSSL_set_shutdown -#define SSL_set_session_id_context wolfSSL_set_session_id_context -#define SSL_set_connect_state wolfSSL_set_connect_state -#define SSL_set_accept_state wolfSSL_set_accept_state -#define SSL_session_reused wolfSSL_session_reused -#define SSL_SESSION_free wolfSSL_SESSION_free -#define SSL_is_init_finished wolfSSL_is_init_finished - -#define SSL_get_version wolfSSL_get_version -#define SSL_get_current_cipher wolfSSL_get_current_cipher +#define SSL_set_ex_data wolfSSL_set_ex_data +#define SSL_get_shutdown wolfSSL_get_shutdown +#define SSL_set_rfd wolfSSL_set_rfd +#define SSL_set_wfd wolfSSL_set_wfd +#define SSL_set_shutdown wolfSSL_set_shutdown +#define SSL_set_session_id_context wolfSSL_set_session_id_context +#define SSL_set_connect_state wolfSSL_set_connect_state +#define SSL_set_accept_state wolfSSL_set_accept_state +#define SSL_session_reused wolfSSL_session_reused +#define SSL_SESSION_free wolfSSL_SESSION_free +#define SSL_is_init_finished wolfSSL_is_init_finished + +#define SSL_get_version wolfSSL_get_version +#define SSL_get_current_cipher wolfSSL_get_current_cipher /* use wolfSSL_get_cipher_name for its return format */ -#define SSL_get_cipher wolfSSL_get_cipher_name -#define SSL_CIPHER_description wolfSSL_CIPHER_description -#define SSL_CIPHER_get_name wolfSSL_CIPHER_get_name -#define SSL_get1_session wolfSSL_get1_session +#define SSL_get_cipher wolfSSL_get_cipher_name +#define SSL_CIPHER_description wolfSSL_CIPHER_description +#define SSL_CIPHER_get_name wolfSSL_CIPHER_get_name +#define SSL_get1_session wolfSSL_get1_session -#define SSL_get_keyblock_size wolfSSL_get_keyblock_size -#define SSL_get_keys wolfSSL_get_keys -#define SSL_SESSION_get_master_key wolfSSL_SESSION_get_master_key +#define SSL_get_keyblock_size wolfSSL_get_keyblock_size +#define SSL_get_keys wolfSSL_get_keys +#define SSL_SESSION_get_master_key wolfSSL_SESSION_get_master_key #define SSL_SESSION_get_master_key_length wolfSSL_SESSION_get_master_key_length -#define DSA_dup_DH wolfSSL_DSA_dup_DH +#define DSA_dup_DH wolfSSL_DSA_dup_DH + +#define i2d_X509_bio wolfSSL_i2d_X509_bio +#define d2i_X509_bio wolfSSL_d2i_X509_bio +#define d2i_X509_fp wolfSSL_d2i_X509_fp +#define i2d_X509 wolfSSL_i2d_X509 +#define d2i_X509 wolfSSL_d2i_X509 +#define PEM_read_bio_X509 wolfSSL_PEM_read_bio_X509 +#define PEM_read_bio_X509_AUX wolfSSL_PEM_read_bio_X509_AUX +#define PEM_read_X509 wolfSSL_PEM_read_X509 +#define PEM_write_bio_X509 wolfSSL_PEM_write_bio_X509 +#define PEM_write_bio_X509_AUX wolfSSL_PEM_write_bio_X509_AUX -#define X509_load_certificate_file wolfSSL_X509_load_certificate_file -#define X509_NAME_get_text_by_NID wolfSSL_X509_NAME_get_text_by_NID -#define X509_get_ext_d2i wolfSSL_X509_get_ext_d2i -#define X509_digest wolfSSL_X509_digest -#define X509_free wolfSSL_X509_free -#define X509_new wolfSSL_X509_new -#define OPENSSL_free wolfSSL_OPENSSL_free -#define OPENSSL_malloc wolfSSL_OPENSSL_malloc +#define i2d_X509_REQ wolfSSL_i2d_X509_REQ +#define X509_REQ_new wolfSSL_X509_REQ_new +#define X509_REQ_free wolfSSL_X509_REQ_free +#define X509_REQ_sign wolfSSL_X509_REQ_sign +#define X509_REQ_set_subject_name wolfSSL_X509_REQ_set_subject_name +#define X509_REQ_set_pubkey wolfSSL_X509_REQ_set_pubkey +#define PEM_write_bio_X509_REQ wolfSSL_PEM_write_bio_X509_REQ -#define OCSP_parse_url wolfSSL_OCSP_parse_url -#define SSLv23_client_method wolfSSLv23_client_method -#define SSLv2_client_method wolfSSLv2_client_method -#define SSLv2_server_method wolfSSLv2_server_method +#define X509_new wolfSSL_X509_new +#define X509_free wolfSSL_X509_free +#define X509_load_certificate_file wolfSSL_X509_load_certificate_file +#define X509_digest wolfSSL_X509_digest +#define X509_get_ext_d2i wolfSSL_X509_get_ext_d2i +#define X509_get_issuer_name wolfSSL_X509_get_issuer_name +#define X509_get_subject_name wolfSSL_X509_get_subject_name +#define X509_get_pubkey wolfSSL_X509_get_pubkey +#define X509_get_notBefore(cert) (ASN1_TIME*)wolfSSL_X509_notBefore((cert)) +#define X509_get_notAfter(cert) (ASN1_TIME*)wolfSSL_X509_notAfter((cert)) +#define X509_get_serialNumber wolfSSL_X509_get_serialNumber +#define X509_get0_pubkey_bitstr wolfSSL_X509_get0_pubkey_bitstr +#define X509_get_ex_new_index wolfSSL_X509_get_ex_new_index +#define X509_get_ex_data wolfSSL_X509_get_ex_data +#define X509_set_ex_data wolfSSL_X509_set_ex_data +#define X509_get1_ocsp wolfSSL_X509_get1_ocsp +#ifndef WOLFSSL_HAPROXY +#define X509_get_version wolfSSL_X509_get_version +#endif +#define X509_get_signature_nid wolfSSL_X509_get_signature_nid +#define X509_set_subject_name wolfSSL_X509_set_subject_name +#define X509_set_pubkey wolfSSL_X509_set_pubkey +#define X509_print wolfSSL_X509_print +#define X509_verify_cert_error_string wolfSSL_X509_verify_cert_error_string +#define X509_verify_cert wolfSSL_X509_verify_cert +#define X509_check_private_key wolfSSL_X509_check_private_key +#define X509_check_ca wolfSSL_X509_check_ca +#define X509_check_host wolfSSL_X509_check_host +#define X509_email_free wolfSSL_X509_email_free +#define X509_check_issued wolfSSL_X509_check_issued +#define X509_dup wolfSSL_X509_dup + +#define sk_X509_new wolfSSL_sk_X509_new +#define sk_X509_num wolfSSL_sk_X509_num +#define sk_X509_value wolfSSL_sk_X509_value +#define sk_X509_push wolfSSL_sk_X509_push +#define sk_X509_pop wolfSSL_sk_X509_pop +#define sk_X509_pop_free wolfSSL_sk_X509_pop_free +#define sk_X509_free wolfSSL_sk_X509_free -#define MD4_Init wolfSSL_MD4_Init -#define MD4_Update wolfSSL_MD4_Update -#define MD4_Final wolfSSL_MD4_Final +#define i2d_X509_NAME wolfSSL_i2d_X509_NAME +#define X509_NAME_new wolfSSL_X509_NAME_new +#define X509_NAME_free wolfSSL_X509_NAME_free +#define X509_NAME_get_text_by_NID wolfSSL_X509_NAME_get_text_by_NID +#define X509_NAME_cmp wolfSSL_X509_NAME_cmp +#define X509_NAME_ENTRY_free wolfSSL_X509_NAME_ENTRY_free +#define X509_NAME_ENTRY_create_by_NID wolfSSL_X509_NAME_ENTRY_create_by_NID +#define X509_NAME_add_entry wolfSSL_X509_NAME_add_entry +#define X509_NAME_add_entry_by_txt wolfSSL_X509_NAME_add_entry_by_txt +#define X509_NAME_oneline wolfSSL_X509_NAME_oneline +#define X509_NAME_get_index_by_NID wolfSSL_X509_NAME_get_index_by_NID +#define X509_NAME_print_ex wolfSSL_X509_NAME_print_ex +#define X509_NAME_digest wolfSSL_X509_NAME_digest +#define X509_cmp_current_time wolfSSL_X509_cmp_current_time -#define BIO_new wolfSSL_BIO_new -#define BIO_free wolfSSL_BIO_free -#define BIO_free_all wolfSSL_BIO_free_all -#define BIO_nread0 wolfSSL_BIO_nread0 -#define BIO_nread wolfSSL_BIO_nread -#define BIO_read wolfSSL_BIO_read -#define BIO_nwrite0 wolfSSL_BIO_nwrite0 -#define BIO_nwrite wolfSSL_BIO_nwrite -#define BIO_write wolfSSL_BIO_write -#define BIO_push wolfSSL_BIO_push -#define BIO_pop wolfSSL_BIO_pop -#define BIO_flush wolfSSL_BIO_flush -#define BIO_pending wolfSSL_BIO_pending +#define sk_X509_NAME_pop_free wolfSSL_sk_X509_NAME_pop_free +#define sk_X509_NAME_num wolfSSL_sk_X509_NAME_num +#define sk_X509_NAME_value wolfSSL_sk_X509_NAME_value -#define BIO_get_mem_data wolfSSL_BIO_get_mem_data -#define BIO_new_mem_buf wolfSSL_BIO_new_mem_buf + typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY; -#define BIO_f_buffer wolfSSL_BIO_f_buffer -#define BIO_set_write_buffer_size wolfSSL_BIO_set_write_buffer_size -#define BIO_f_ssl wolfSSL_BIO_f_ssl -#define BIO_new_socket wolfSSL_BIO_new_socket -#define SSL_set_bio wolfSSL_set_bio -#define BIO_eof wolfSSL_BIO_eof -#define BIO_set_ss wolfSSL_BIO_set_ss +#define X509_NAME_entry_count wolfSSL_X509_NAME_entry_count +#define X509_NAME_ENTRY_get_object wolfSSL_X509_NAME_ENTRY_get_object +#define X509_NAME_get_entry wolfSSL_X509_NAME_get_entry +#define X509_NAME_ENTRY_get_data wolfSSL_X509_NAME_ENTRY_get_data +#define X509_NAME_ENTRY_get_object wolfSSL_X509_NAME_ENTRY_get_object -#define BIO_s_mem wolfSSL_BIO_s_mem -#define BIO_f_base64 wolfSSL_BIO_f_base64 -#define BIO_set_flags wolfSSL_BIO_set_flags +#define X509_V_FLAG_CRL_CHECK WOLFSSL_CRL_CHECK +#define X509_V_FLAG_CRL_CHECK_ALL WOLFSSL_CRL_CHECKALL -#define OpenSSL_add_all_digests() wolfCrypt_Init() -#define OpenSSL_add_all_ciphers() wolfCrypt_Init() -#define OpenSSL_add_all_algorithms wolfSSL_add_all_algorithms -#define SSLeay_add_ssl_algorithms wolfSSL_add_all_algorithms -#define SSLeay_add_all_algorithms wolfSSL_add_all_algorithms +#define X509_V_FLAG_USE_CHECK_TIME WOLFSSL_USE_CHECK_TIME +#define X509_V_FLAG_NO_CHECK_TIME WOLFSSL_NO_CHECK_TIME +#define X509_CHECK_FLAG_NO_WILDCARDS WOLFSSL_NO_WILDCARDS -#define RAND_screen wolfSSL_RAND_screen -#define RAND_file_name wolfSSL_RAND_file_name -#define RAND_write_file wolfSSL_RAND_write_file -#define RAND_load_file wolfSSL_RAND_load_file -#define RAND_egd wolfSSL_RAND_egd -#define RAND_seed wolfSSL_RAND_seed -#define RAND_cleanup wolfSSL_RAND_Cleanup -#define RAND_add wolfSSL_RAND_add +#define X509_STORE_CTX_get_current_cert wolfSSL_X509_STORE_CTX_get_current_cert +#define X509_STORE_CTX_set_verify_cb wolfSSL_X509_STORE_CTX_set_verify_cb +#define X509_STORE_CTX_new wolfSSL_X509_STORE_CTX_new +#define X509_STORE_CTX_free wolfSSL_X509_STORE_CTX_free +#define X509_STORE_CTX_get_chain wolfSSL_X509_STORE_CTX_get_chain +#define X509_STORE_CTX_get_error wolfSSL_X509_STORE_CTX_get_error +#define X509_STORE_CTX_get_error_depth wolfSSL_X509_STORE_CTX_get_error_depth +#define X509_STORE_CTX_init wolfSSL_X509_STORE_CTX_init +#define X509_STORE_CTX_cleanup wolfSSL_X509_STORE_CTX_cleanup +#define X509_STORE_CTX_set_error wolfSSL_X509_STORE_CTX_set_error +#define X509_STORE_CTX_get_ex_data wolfSSL_X509_STORE_CTX_get_ex_data + +#define X509_STORE_new wolfSSL_X509_STORE_new +#define X509_STORE_free wolfSSL_X509_STORE_free +#define X509_STORE_add_lookup wolfSSL_X509_STORE_add_lookup +#define X509_STORE_add_cert wolfSSL_X509_STORE_add_cert +#define X509_STORE_add_crl wolfSSL_X509_STORE_add_crl +#define X509_STORE_set_flags wolfSSL_X509_STORE_set_flags +#define X509_STORE_get1_certs wolfSSL_X509_STORE_get1_certs +#define X509_STORE_get_by_subject wolfSSL_X509_STORE_get_by_subject +#define X509_STORE_CTX_get1_issuer wolfSSL_X509_STORE_CTX_get1_issuer +#define X509_STORE_CTX_set_time wolfSSL_X509_STORE_CTX_set_time + +#define X509_LOOKUP_add_dir wolfSSL_X509_LOOKUP_add_dir +#define X509_LOOKUP_load_file wolfSSL_X509_LOOKUP_load_file +#define X509_LOOKUP_hash_dir wolfSSL_X509_LOOKUP_hash_dir +#define X509_LOOKUP_file wolfSSL_X509_LOOKUP_file + +#define d2i_X509_CRL wolfSSL_d2i_X509_CRL +#define d2i_X509_CRL_fp wolfSSL_d2i_X509_CRL_fp +#define PEM_read_X509_CRL wolfSSL_PEM_read_X509_CRL + +#define X509_CRL_free wolfSSL_X509_CRL_free +#define X509_CRL_get_lastUpdate wolfSSL_X509_CRL_get_lastUpdate +#define X509_CRL_get_nextUpdate wolfSSL_X509_CRL_get_nextUpdate +#define X509_CRL_verify wolfSSL_X509_CRL_verify +#define X509_CRL_get_REVOKED wolfSSL_X509_CRL_get_REVOKED + +#define sk_X509_REVOKED_num wolfSSL_sk_X509_REVOKED_num +#define sk_X509_REVOKED_value wolfSSL_sk_X509_REVOKED_value + +#define X509_OBJECT_free_contents wolfSSL_X509_OBJECT_free_contents + +#define OCSP_parse_url wolfSSL_OCSP_parse_url + +#define MD4_Init wolfSSL_MD4_Init +#define MD4_Update wolfSSL_MD4_Update +#define MD4_Final wolfSSL_MD4_Final + +#define BIO_new wolfSSL_BIO_new +#define BIO_free wolfSSL_BIO_free +#define BIO_free_all wolfSSL_BIO_free_all +#define BIO_nread0 wolfSSL_BIO_nread0 +#define BIO_nread wolfSSL_BIO_nread +#define BIO_read wolfSSL_BIO_read +#define BIO_nwrite0 wolfSSL_BIO_nwrite0 +#define BIO_nwrite wolfSSL_BIO_nwrite +#define BIO_write wolfSSL_BIO_write +#define BIO_push wolfSSL_BIO_push +#define BIO_pop wolfSSL_BIO_pop +#define BIO_flush wolfSSL_BIO_flush +#define BIO_pending wolfSSL_BIO_pending + +#define BIO_get_mem_data wolfSSL_BIO_get_mem_data +#define BIO_new_mem_buf wolfSSL_BIO_new_mem_buf + +#define BIO_f_buffer wolfSSL_BIO_f_buffer +#define BIO_set_write_buffer_size wolfSSL_BIO_set_write_buffer_size +#define BIO_f_ssl wolfSSL_BIO_f_ssl +#define BIO_new_socket wolfSSL_BIO_new_socket +#define SSL_set_bio wolfSSL_set_bio +#define BIO_eof wolfSSL_BIO_eof +#define BIO_set_ss wolfSSL_BIO_set_ss + +#define BIO_s_mem wolfSSL_BIO_s_mem +#define BIO_f_base64 wolfSSL_BIO_f_base64 +#define BIO_set_flags wolfSSL_BIO_set_flags + +#define SSLeay_add_ssl_algorithms wolfSSL_add_all_algorithms +#define SSLeay_add_all_algorithms wolfSSL_add_all_algorithms + +#define RAND_screen wolfSSL_RAND_screen +#define RAND_file_name wolfSSL_RAND_file_name +#define RAND_write_file wolfSSL_RAND_write_file +#define RAND_load_file wolfSSL_RAND_load_file +#define RAND_egd wolfSSL_RAND_egd +#define RAND_seed wolfSSL_RAND_seed +#define RAND_cleanup wolfSSL_RAND_Cleanup +#define RAND_add wolfSSL_RAND_add +#define RAND_poll wolfSSL_RAND_poll +#define RAND_status wolfSSL_RAND_status +#define RAND_bytes wolfSSL_RAND_bytes +#define RAND_pseudo_bytes wolfSSL_RAND_pseudo_bytes #define COMP_zlib wolfSSL_COMP_zlib #define COMP_rle wolfSSL_COMP_rle #define SSL_COMP_add_compression_method wolfSSL_COMP_add_compression_method -#define SSL_get_ex_new_index wolfSSL_get_ex_new_index - -/* depreciated */ -#define CRYPTO_thread_id wolfSSL_thread_id -#define CRYPTO_set_id_callback wolfSSL_set_id_callback - -#define CRYPTO_set_locking_callback wolfSSL_set_locking_callback -#define CRYPTO_set_dynlock_create_callback wolfSSL_set_dynlock_create_callback -#define CRYPTO_set_dynlock_lock_callback wolfSSL_set_dynlock_lock_callback -#define CRYPTO_set_dynlock_destroy_callback wolfSSL_set_dynlock_destroy_callback -#define CRYPTO_num_locks wolfSSL_num_locks +#define SSL_get_ex_new_index wolfSSL_get_ex_new_index -#define CRYPTO_LOCK 1 -#define CRYPTO_UNLOCK 2 -#define CRYPTO_READ 4 -#define CRYPTO_WRITE 8 +typedef WOLFSSL_ASN1_BIT_STRING ASN1_BIT_STRING; -#define X509_STORE_CTX_get_current_cert wolfSSL_X509_STORE_CTX_get_current_cert -#define X509_STORE_add_cert wolfSSL_X509_STORE_add_cert -#define X509_STORE_set_flags wolfSSL_X509_STORE_set_flags -#define X509_STORE_CTX_set_verify_cb wolfSSL_X509_STORE_CTX_set_verify_cb -#define X509_STORE_CTX_free wolfSSL_X509_STORE_CTX_free -#define X509_STORE_CTX_new wolfSSL_X509_STORE_CTX_new -#define X509_STORE_CTX_get_chain wolfSSL_X509_STORE_CTX_get_chain -#define X509_STORE_CTX_get_error wolfSSL_X509_STORE_CTX_get_error -#define X509_STORE_CTX_get_error_depth wolfSSL_X509_STORE_CTX_get_error_depth +#define ASN1_TIME_adj wolfSSL_ASN1_TIME_adj +#define ASN1_TIME_print wolfSSL_ASN1_TIME_print +#define ASN1_TIME_to_generalizedtime wolfSSL_ASN1_TIME_to_generalizedtime +#define ASN1_GENERALIZEDTIME_print wolfSSL_ASN1_GENERALIZEDTIME_print +#define ASN1_GENERALIZEDTIME_free wolfSSL_ASN1_GENERALIZEDTIME_free -#define X509_print wolfSSL_X509_print -#define X509_NAME_cmp wolfSSL_X509_NAME_cmp -#define i2d_X509_NAME wolfSSL_i2d_X509_NAME -#define X509_NAME_ENTRY_free wolfSSL_X509_NAME_ENTRY_free -#define X509_NAME_ENTRY_create_by_NID wolfSSL_X509_NAME_ENTRY_create_by_NID -#define X509_NAME_add_entry wolfSSL_X509_NAME_add_entry -#define X509_NAME_oneline wolfSSL_X509_NAME_oneline -#define X509_get_issuer_name wolfSSL_X509_get_issuer_name -#define X509_get_subject_name wolfSSL_X509_get_subject_name -#define X509_verify_cert_error_string wolfSSL_X509_verify_cert_error_string -#define X509_verify_cert wolfSSL_X509_verify_cert +#define ASN1_tag2str wolfSSL_ASN1_tag2str -#define X509_LOOKUP_add_dir wolfSSL_X509_LOOKUP_add_dir -#define X509_LOOKUP_load_file wolfSSL_X509_LOOKUP_load_file -#define X509_LOOKUP_hash_dir wolfSSL_X509_LOOKUP_hash_dir -#define X509_LOOKUP_file wolfSSL_X509_LOOKUP_file +#define i2a_ASN1_INTEGER wolfSSL_i2a_ASN1_INTEGER +#define i2c_ASN1_INTEGER wolfSSL_i2c_ASN1_INTEGER +#define ASN1_INTEGER_new wolfSSL_ASN1_INTEGER_new +#define ASN1_INTEGER_free wolfSSL_ASN1_INTEGER_free +#define ASN1_INTEGER_cmp wolfSSL_ASN1_INTEGER_cmp +#define ASN1_INTEGER_get wolfSSL_ASN1_INTEGER_get +#define ASN1_INTEGER_to_BN wolfSSL_ASN1_INTEGER_to_BN -#define X509_STORE_add_lookup wolfSSL_X509_STORE_add_lookup -#define X509_STORE_new wolfSSL_X509_STORE_new -#define X509_STORE_get_by_subject wolfSSL_X509_STORE_get_by_subject -#define X509_STORE_CTX_init wolfSSL_X509_STORE_CTX_init -#define X509_STORE_CTX_cleanup wolfSSL_X509_STORE_CTX_cleanup +#define ASN1_STRING_data wolfSSL_ASN1_STRING_data +#define ASN1_STRING_get0_data wolfSSL_ASN1_STRING_data +#define ASN1_STRING_length wolfSSL_ASN1_STRING_length +#define ASN1_STRING_to_UTF8 wolfSSL_ASN1_STRING_to_UTF8 +#define ASN1_STRING_print_ex wolfSSL_ASN1_STRING_print_ex -#define X509_CRL_get_lastUpdate wolfSSL_X509_CRL_get_lastUpdate -#define X509_CRL_get_nextUpdate wolfSSL_X509_CRL_get_nextUpdate +#define ASN1_UTCTIME_pr wolfSSL_ASN1_UTCTIME_pr -#define X509_get_pubkey wolfSSL_X509_get_pubkey -#define X509_CRL_verify wolfSSL_X509_CRL_verify -#define X509_STORE_CTX_set_error wolfSSL_X509_STORE_CTX_set_error -#define X509_OBJECT_free_contents wolfSSL_X509_OBJECT_free_contents -#define EVP_PKEY_new wolfSSL_PKEY_new -#define EVP_PKEY_free wolfSSL_EVP_PKEY_free -#define EVP_PKEY_type wolfSSL_EVP_PKEY_type -#define EVP_PKEY_base_id wolfSSL_EVP_PKEY_base_id -#define d2i_PUBKEY wolfSSL_d2i_PUBKEY -#define X509_cmp_current_time wolfSSL_X509_cmp_current_time -#define sk_X509_REVOKED_num wolfSSL_sk_X509_REVOKED_num -#define X509_CRL_get_REVOKED wolfSSL_X509_CRL_get_REVOKED -#define sk_X509_REVOKED_value wolfSSL_sk_X509_REVOKED_value -#define X509_get_notBefore(cert) (ASN1_TIME*)wolfSSL_X509_notBefore((cert)) -#define X509_get_notAfter(cert) (ASN1_TIME*)wolfSSL_X509_notAfter((cert)) +#define ASN1_IA5STRING WOLFSSL_ASN1_STRING +#define ASN1_OCTET_STRING WOLFSSL_ASN1_STRING -#define X509_get_serialNumber wolfSSL_X509_get_serialNumber +#define SSL_load_client_CA_file wolfSSL_load_client_CA_file -#define ASN1_TIME_print wolfSSL_ASN1_TIME_print -#define ASN1_GENERALIZEDTIME_print wolfSSL_ASN1_GENERALIZEDTIME_print -#define ASN1_TIME_adj wolfSSL_ASN1_TIME_adj - -#define ASN1_INTEGER_cmp wolfSSL_ASN1_INTEGER_cmp -#define ASN1_INTEGER_get wolfSSL_ASN1_INTEGER_get -#define ASN1_INTEGER_to_BN wolfSSL_ASN1_INTEGER_to_BN -#define ASN1_STRING_to_UTF8 wolfSSL_ASN1_STRING_to_UTF8 - -#define SSL_load_client_CA_file wolfSSL_load_client_CA_file - -#define SSL_CTX_get_client_CA_list wolfSSL_SSL_CTX_get_client_CA_list -#define SSL_CTX_set_client_CA_list wolfSSL_CTX_set_client_CA_list -#define SSL_CTX_set_cert_store wolfSSL_CTX_set_cert_store -#define SSL_CTX_get_cert_store wolfSSL_CTX_get_cert_store -#define X509_STORE_CTX_get_ex_data wolfSSL_X509_STORE_CTX_get_ex_data +#define SSL_CTX_get_client_CA_list wolfSSL_SSL_CTX_get_client_CA_list +#define SSL_CTX_set_client_CA_list wolfSSL_CTX_set_client_CA_list +#define SSL_CTX_set_cert_store wolfSSL_CTX_set_cert_store +#define SSL_CTX_get_cert_store wolfSSL_CTX_get_cert_store #define SSL_get_ex_data_X509_STORE_CTX_idx wolfSSL_get_ex_data_X509_STORE_CTX_idx -#define SSL_get_ex_data wolfSSL_get_ex_data +#define SSL_get_ex_data wolfSSL_get_ex_data #define SSL_CTX_set_default_passwd_cb_userdata wolfSSL_CTX_set_default_passwd_cb_userdata -#define SSL_CTX_set_default_passwd_cb wolfSSL_CTX_set_default_passwd_cb +#define SSL_CTX_set_default_passwd_cb wolfSSL_CTX_set_default_passwd_cb -#define SSL_CTX_set_timeout(ctx, to) wolfSSL_CTX_set_timeout(ctx, (unsigned int) to) -#define SSL_CTX_set_info_callback wolfSSL_CTX_set_info_callback -#define SSL_CTX_set_alpn_protos wolfSSL_CTX_set_alpn_protos -#define ERR_peek_error wolfSSL_ERR_peek_error -#define ERR_peek_last_error_line wolfSSL_ERR_peek_last_error_line -#define ERR_peek_errors_fp wolfSSL_ERR_peek_errors_fp -#define ERR_GET_REASON wolfSSL_ERR_GET_REASON +#define SSL_CTX_set_timeout(ctx, to) \ + wolfSSL_CTX_set_timeout(ctx, (unsigned int) to) +#define SSL_CTX_set_info_callback wolfSSL_CTX_set_info_callback +#define SSL_CTX_set_alpn_protos wolfSSL_CTX_set_alpn_protos -#define SSL_alert_type_string wolfSSL_alert_type_string -#define SSL_alert_desc_string wolfSSL_alert_desc_string -#define SSL_state_string wolfSSL_state_string +#define SSL_alert_type_string wolfSSL_alert_type_string +#define SSL_alert_desc_string wolfSSL_alert_desc_string +#define SSL_state_string wolfSSL_state_string -#define RSA_free wolfSSL_RSA_free -#define RSA_generate_key wolfSSL_RSA_generate_key -#define SSL_CTX_set_tmp_rsa_callback wolfSSL_CTX_set_tmp_rsa_callback +#define RSA_free wolfSSL_RSA_free +#define RSA_generate_key wolfSSL_RSA_generate_key +#define SSL_CTX_set_tmp_rsa_callback wolfSSL_CTX_set_tmp_rsa_callback + +#define PEM_def_callback wolfSSL_PEM_def_callback -#define PEM_def_callback wolfSSL_PEM_def_callback - -#define SSL_CTX_sess_accept wolfSSL_CTX_sess_accept -#define SSL_CTX_sess_connect wolfSSL_CTX_sess_connect -#define SSL_CTX_sess_accept_good wolfSSL_CTX_sess_accept_good -#define SSL_CTX_sess_connect_good wolfSSL_CTX_sess_connect_good +#define SSL_CTX_sess_accept wolfSSL_CTX_sess_accept +#define SSL_CTX_sess_connect wolfSSL_CTX_sess_connect +#define SSL_CTX_sess_accept_good wolfSSL_CTX_sess_accept_good +#define SSL_CTX_sess_connect_good wolfSSL_CTX_sess_connect_good #define SSL_CTX_sess_accept_renegotiate wolfSSL_CTX_sess_accept_renegotiate #define SSL_CTX_sess_connect_renegotiate wolfSSL_CTX_sess_connect_renegotiate -#define SSL_CTX_sess_hits wolfSSL_CTX_sess_hits -#define SSL_CTX_sess_cb_hits wolfSSL_CTX_sess_cb_hits -#define SSL_CTX_sess_cache_full wolfSSL_CTX_sess_cache_full -#define SSL_CTX_sess_misses wolfSSL_CTX_sess_misses -#define SSL_CTX_sess_timeouts wolfSSL_CTX_sess_timeouts -#define SSL_CTX_sess_number wolfSSL_CTX_sess_number -#define SSL_CTX_sess_get_cache_size wolfSSL_CTX_sess_get_cache_size +#define SSL_CTX_sess_hits wolfSSL_CTX_sess_hits +#define SSL_CTX_sess_cb_hits wolfSSL_CTX_sess_cb_hits +#define SSL_CTX_sess_cache_full wolfSSL_CTX_sess_cache_full +#define SSL_CTX_sess_misses wolfSSL_CTX_sess_misses +#define SSL_CTX_sess_timeouts wolfSSL_CTX_sess_timeouts +#define SSL_CTX_sess_number wolfSSL_CTX_sess_number +#define SSL_CTX_sess_get_cache_size wolfSSL_CTX_sess_get_cache_size #define SSL_DEFAULT_CIPHER_LIST WOLFSSL_DEFAULT_CIPHER_LIST -#define RSA_F4 WOLFSSL_RSA_F4 #define SSL_CTX_set_psk_client_callback wolfSSL_CTX_set_psk_client_callback -#define SSL_set_psk_client_callback wolfSSL_set_psk_client_callback +#define SSL_set_psk_client_callback wolfSSL_set_psk_client_callback -#define SSL_get_psk_identity_hint wolfSSL_get_psk_identity_hint -#define SSL_get_psk_identity wolfSSL_get_psk_identity +#define SSL_get_psk_identity_hint wolfSSL_get_psk_identity_hint +#define SSL_get_psk_identity wolfSSL_get_psk_identity -#define SSL_CTX_use_psk_identity_hint wolfSSL_CTX_use_psk_identity_hint -#define SSL_use_psk_identity_hint wolfSSL_use_psk_identity_hint +#define SSL_CTX_use_psk_identity_hint wolfSSL_CTX_use_psk_identity_hint +#define SSL_use_psk_identity_hint wolfSSL_use_psk_identity_hint #define SSL_CTX_set_psk_server_callback wolfSSL_CTX_set_psk_server_callback -#define SSL_set_psk_server_callback wolfSSL_set_psk_server_callback +#define SSL_set_psk_server_callback wolfSSL_set_psk_server_callback /* system file ints for ERR_put_error */ #define SYS_F_ACCEPT WOLFSSL_SYS_ACCEPT @@ -454,127 +557,107 @@ typedef WOLFSSL_X509_STORE_CTX X509_STORE_CTX; #define SYS_F_IOCTLSOCKET WOLFSSL_SYS_IOCTLSOCKET #define SYS_F_LISTEN WOLFSSL_SYS_LISTEN -#define ERR_put_error wolfSSL_ERR_put_error -#define ERR_get_error_line wolfSSL_ERR_get_error_line -#define ERR_get_error_line_data wolfSSL_ERR_get_error_line_data +#define ERR_GET_REASON wolfSSL_ERR_GET_REASON -#define ERR_get_error wolfSSL_ERR_get_error -#define ERR_clear_error wolfSSL_ERR_clear_error +#define ERR_put_error wolfSSL_ERR_put_error +#define ERR_peek_error wolfSSL_ERR_peek_error +#define ERR_peek_errors_fp wolfSSL_ERR_peek_errors_fp +#define ERR_peek_error_line_data wolfSSL_ERR_peek_error_line_data +#define ERR_peek_last_error wolfSSL_ERR_peek_last_error +#define ERR_peek_last_error_line wolfSSL_ERR_peek_last_error_line +#define ERR_get_error_line wolfSSL_ERR_get_error_line +#define ERR_get_error_line_data wolfSSL_ERR_get_error_line_data +#define ERR_get_error wolfSSL_ERR_get_error +#define ERR_print_errors_fp(file) wolfSSL_ERR_dump_errors_fp((file)) +#define ERR_clear_error wolfSSL_ERR_clear_error +#define ERR_free_strings wolfSSL_ERR_free_strings +#define ERR_remove_state wolfSSL_ERR_remove_state +#define ERR_remove_thread_state wolfSSL_ERR_remove_thread_state +#define ERR_error_string wolfSSL_ERR_error_string +#define ERR_error_string_n wolfSSL_ERR_error_string_n +#define ERR_reason_error_string wolfSSL_ERR_reason_error_string +#define ERR_load_BIO_strings wolfSSL_ERR_load_BIO_strings -#define RAND_status wolfSSL_RAND_status -#define RAND_bytes wolfSSL_RAND_bytes -#define RAND_pseudo_bytes wolfSSL_RAND_pseudo_bytes -#define SSLv23_server_method wolfSSLv23_server_method -#define SSL_CTX_set_options wolfSSL_CTX_set_options -#define SSL_CTX_get_options wolfSSL_CTX_get_options -#define SSL_CTX_clear_options wolfSSL_CTX_clear_options +#define SSLv23_server_method wolfSSLv23_server_method +#define SSL_CTX_set_options wolfSSL_CTX_set_options +#define SSL_CTX_get_options wolfSSL_CTX_get_options +#define SSL_CTX_clear_options wolfSSL_CTX_clear_options -#define SSL_CTX_check_private_key wolfSSL_CTX_check_private_key -#define SSL_check_private_key wolfSSL_check_private_key +#define SSL_CTX_check_private_key wolfSSL_CTX_check_private_key +#define SSL_check_private_key wolfSSL_check_private_key -#define ERR_free_strings wolfSSL_ERR_free_strings -#define ERR_remove_state wolfSSL_ERR_remove_state -#define EVP_cleanup wolfSSL_EVP_cleanup +#define SSL_CTX_set_mode wolfSSL_CTX_set_mode +#define SSL_CTX_get_mode wolfSSL_CTX_get_mode +#define SSL_CTX_set_default_read_ahead wolfSSL_CTX_set_default_read_ahead -#define CRYPTO_cleanup_all_ex_data wolfSSL_cleanup_all_ex_data -#define SSL_CTX_set_mode wolfSSL_CTX_set_mode -#define SSL_CTX_get_mode wolfSSL_CTX_get_mode -#define SSL_CTX_set_default_read_ahead wolfSSL_CTX_set_default_read_ahead - -#define SSL_CTX_sess_set_cache_size wolfSSL_CTX_sess_set_cache_size +#define SSL_CTX_sess_set_cache_size wolfSSL_CTX_sess_set_cache_size #define SSL_CTX_set_default_verify_paths wolfSSL_CTX_set_default_verify_paths -#define SSL_CTX_set_session_id_context wolfSSL_CTX_set_session_id_context -#define SSL_get_peer_certificate wolfSSL_get_peer_certificate -#define SSL_get_peer_cert_chain wolfSSL_get_peer_cert_chain +#define SSL_CTX_set_session_id_context wolfSSL_CTX_set_session_id_context +#define SSL_get_peer_certificate wolfSSL_get_peer_certificate +#define SSL_get_peer_cert_chain wolfSSL_get_peer_cert_chain -#define SSL_want_read wolfSSL_want_read -#define SSL_want_write wolfSSL_want_write +#define SSL_want_read wolfSSL_want_read +#define SSL_want_write wolfSSL_want_write -#define BIO_prf wolfSSL_BIO_prf -#define ASN1_UTCTIME_pr wolfSSL_ASN1_UTCTIME_pr +#define BIO_prf wolfSSL_BIO_prf + +#define sk_num wolfSSL_sk_num +#define sk_value wolfSSL_sk_value -#define sk_num wolfSSL_sk_num -#define sk_value wolfSSL_sk_value -#define sk_X509_pop wolfSSL_sk_X509_pop -#define sk_X509_free wolfSSL_sk_X509_free -#define i2d_X509_bio wolfSSL_i2d_X509_bio -#define d2i_X509_bio wolfSSL_d2i_X509_bio -#define i2d_X509 wolfSSL_i2d_X509 -#define d2i_X509 wolfSSL_d2i_X509 +#define d2i_PKCS12_bio wolfSSL_d2i_PKCS12_bio +#define d2i_PKCS12_fp wolfSSL_d2i_PKCS12_fp -#define SSL_CTX_get_ex_data wolfSSL_CTX_get_ex_data -#define SSL_CTX_set_ex_data wolfSSL_CTX_set_ex_data -#define SSL_CTX_sess_set_get_cb wolfSSL_CTX_sess_set_get_cb -#define SSL_CTX_sess_set_new_cb wolfSSL_CTX_sess_set_new_cb -#define SSL_CTX_sess_set_remove_cb wolfSSL_CTX_sess_set_remove_cb +#define d2i_RSAPublicKey wolfSSL_d2i_RSAPublicKey +#define d2i_RSAPrivateKey wolfSSL_d2i_RSAPrivateKey +#define i2d_RSAPrivateKey wolfSSL_i2d_RSAPrivateKey +#define i2d_RSAPublicKey wolfSSL_i2d_RSAPublicKey -#define i2d_SSL_SESSION wolfSSL_i2d_SSL_SESSION -#define d2i_SSL_SESSION wolfSSL_d2i_SSL_SESSION -#define SSL_SESSION_set_timeout wolfSSL_SSL_SESSION_set_timeout -#define SSL_SESSION_get_timeout wolfSSL_SESSION_get_timeout -#define SSL_SESSION_get_time wolfSSL_SESSION_get_time -#define SSL_CTX_get_ex_new_index wolfSSL_CTX_get_ex_new_index -#define PEM_read_bio_X509 wolfSSL_PEM_read_bio_X509 -#define PEM_read_bio_X509_AUX wolfSSL_PEM_read_bio_X509_AUX +#define SSL_CTX_get_ex_data wolfSSL_CTX_get_ex_data +#define SSL_CTX_set_ex_data wolfSSL_CTX_set_ex_data +#define SSL_CTX_sess_set_get_cb wolfSSL_CTX_sess_set_get_cb +#define SSL_CTX_sess_set_new_cb wolfSSL_CTX_sess_set_new_cb +#define SSL_CTX_sess_set_remove_cb wolfSSL_CTX_sess_set_remove_cb + +#define i2d_SSL_SESSION wolfSSL_i2d_SSL_SESSION +#define d2i_SSL_SESSION wolfSSL_d2i_SSL_SESSION +#define SSL_SESSION_set_timeout wolfSSL_SSL_SESSION_set_timeout +#define SSL_SESSION_get_timeout wolfSSL_SESSION_get_timeout +#define SSL_SESSION_get_time wolfSSL_SESSION_get_time +#define SSL_CTX_get_ex_new_index wolfSSL_CTX_get_ex_new_index +#define PEM_read wolfSSL_PEM_read +#define PEM_write wolfSSL_PEM_write +#define PEM_get_EVP_CIPHER_INFO wolfSSL_PEM_get_EVP_CIPHER_INFO +#define PEM_do_header wolfSSL_PEM_do_header /*#if OPENSSL_API_COMPAT < 0x10100000L*/ #define CONF_modules_free() #define ENGINE_cleanup() -#define HMAC_CTX_cleanup wolfSSL_HMAC_cleanup -#define SSL_CTX_need_tmp_RSA(ctx) 0 -#define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 -#define SSL_need_tmp_RSA(ssl) 0 -#define SSL_set_tmp_rsa(ssl,rsa) 1 +#define HMAC_CTX_cleanup wolfSSL_HMAC_cleanup +#define SSL_CTX_need_tmp_RSA(ctx) 0 +#define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 +#define SSL_need_tmp_RSA(ssl) 0 +#define SSL_set_tmp_rsa(ssl,rsa) 1 /*#endif*/ #define CONF_modules_unload(a) -#define SSL_get_hit wolfSSL_session_reused +#define SSL_get_hit wolfSSL_session_reused /* yassl had set the default to be 500 */ -#define SSL_get_default_timeout(ctx) 500 +#define SSL_get_default_timeout(ctx) 500 -#define X509_NAME_free wolfSSL_X509_NAME_free -#define X509_NAME_new wolfSSL_X509_NAME_new +#define SSL_CTX_use_certificate wolfSSL_CTX_use_certificate +#define SSL_CTX_use_PrivateKey wolfSSL_CTX_use_PrivateKey +#define BIO_read_filename wolfSSL_BIO_read_filename +#define BIO_s_file wolfSSL_BIO_s_file +#define SSL_CTX_set_verify_depth wolfSSL_CTX_set_verify_depth +#define SSL_set_verify_depth wolfSSL_set_verify_depth +#define SSL_get_app_data wolfSSL_get_app_data +#define SSL_set_app_data wolfSSL_set_app_data +#define SHA1 wolfSSL_SHA1 -typedef WOLFSSL_X509_NAME_ENTRY X509_NAME_ENTRY; - -#define SSL_CTX_use_certificate wolfSSL_CTX_use_certificate -#define SSL_CTX_use_PrivateKey wolfSSL_CTX_use_PrivateKey -#define BIO_read_filename wolfSSL_BIO_read_filename -#define BIO_s_file wolfSSL_BIO_s_file -#define SSL_CTX_set_verify_depth wolfSSL_CTX_set_verify_depth -#define SSL_set_verify_depth wolfSSL_set_verify_depth -#define SSL_get_app_data wolfSSL_get_app_data -#define SSL_set_app_data wolfSSL_set_app_data -#define X509_NAME_entry_count wolfSSL_X509_NAME_entry_count -#define X509_NAME_ENTRY_get_object wolfSSL_X509_NAME_ENTRY_get_object -#define X509_NAME_get_entry wolfSSL_X509_NAME_get_entry -#define ASN1_STRING_data wolfSSL_ASN1_STRING_data -#define ASN1_STRING_length wolfSSL_ASN1_STRING_length -#define X509_NAME_get_index_by_NID wolfSSL_X509_NAME_get_index_by_NID -#define X509_NAME_ENTRY_get_data wolfSSL_X509_NAME_ENTRY_get_data -#define sk_X509_NAME_pop_free wolfSSL_sk_X509_NAME_pop_free -#define SHA1 wolfSSL_SHA1 -#define X509_check_private_key wolfSSL_X509_check_private_key -#define SSL_dup_CA_list wolfSSL_dup_CA_list - - - - -/* NIDs */ -enum { - NID_des = 66, - NID_des3 = 67, - NID_sha256 = 672, - NID_sha384 = 673, - NID_sha512 = 674, - NID_hw_name_oid = 73, - NID_id_pkix_OCSP_basic = 74, - NID_any_policy = 75, - NID_anyExtendedKeyUsage = 76, -}; +#define SSL_dup_CA_list wolfSSL_dup_CA_list enum { GEN_DNS = 0x02, /* ASN_DNS_TYPE */ @@ -582,76 +665,104 @@ enum { GEN_URI = 0x06 /* ASN_URI_TYPE */ }; -#define PEM_write_bio_X509_REQ wolfSSL_PEM_write_bio_X509_REQ -#define PEM_write_bio_X509_AUX wolfSSL_PEM_write_bio_X509_AUX +#define PEM_read_bio_DHparams wolfSSL_PEM_read_bio_DHparams +#define PEM_read_bio_DSAparams wolfSSL_PEM_read_bio_DSAparams -#define PEM_read_bio_DHparams wolfSSL_PEM_read_bio_DHparams -#define PEM_read_bio_DSAparams wolfSSL_PEM_read_bio_DSAparams -#define PEM_write_bio_X509 wolfSSL_PEM_write_bio_X509 -#define PEM_write_bio_X509_REQ wolfSSL_PEM_write_bio_X509_REQ -#define PEM_write_bio_X509_AUX wolfSSL_PEM_write_bio_X509_AUX +#if defined(OPENSSL_ALL) || defined(WOLFSSL_HAPROXY) +#define SSL_get_rbio wolfSSL_SSL_get_rbio +#define SSL_get_wbio wolfSSL_SSL_get_wbio +#define SSL_do_handshake wolfSSL_SSL_do_handshake +#define SSL_get_ciphers(x) wolfSSL_get_ciphers_compat(x) +#define SSL_SESSION_get_id wolfSSL_SESSION_get_id +#define SSL_get_cipher_bits(s,np) \ + wolfSSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) +#define sk_SSL_CIPHER_num wolfSSL_sk_SSL_CIPHER_num +#define sk_SSL_COMP_zero wolfSSL_sk_SSL_COMP_zero +#define sk_SSL_CIPHER_value wolfSSL_sk_SSL_CIPHER_value +#endif /* OPENSSL_ALL || WOLFSSL_HAPROXY */ -#ifdef WOLFSSL_HAPROXY -#define SSL_get_rbio wolfSSL_SSL_get_rbio -#define SSL_get_wbio wolfSSL_SSL_get_wbio -#define SSL_do_handshake wolfSSL_SSL_do_handshake -#define SSL_get_ciphers(x) wolfSSL_get_ciphers_compat(x) -#define SSL_SESSION_get_id wolfSSL_SESSION_get_id -#define ASN1_STRING_get0_data wolfSSL_ASN1_STRING_data -#define SSL_get_cipher_bits(s,np) wolfSSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) -#define sk_SSL_CIPHER_num wolfSSL_sk_SSL_CIPHER_num -#define sk_SSL_COMP_zero wolfSSL_sk_SSL_COMP_zero -#define sk_SSL_CIPHER_value wolfSSL_sk_SSL_CIPHER_value -#endif /* WOLFSSL_HAPROXY */ +#if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) +#include -#define SSL_CTX_set_tmp_dh wolfSSL_CTX_set_tmp_dh +typedef STACK_OF(WOLFSSL_ASN1_OBJECT) GENERAL_NAMES; +#define SSL_CTRL_CHAIN 88 +#define BIO_CTRL_WPENDING 13 +#define GEN_IPADD 7 +#define ERR_LIB_SSL 20 +#define SSL_R_SHORT_READ 10 +#define ERR_R_PEM_LIB 9 +#define V_ASN1_IA5STRING 22 +#define SSL_CTRL_MODE 33 -#define BIO_new_file wolfSSL_BIO_new_file -#define BIO_ctrl wolfSSL_BIO_ctrl -#define BIO_ctrl_pending wolfSSL_BIO_ctrl_pending -#define BIO_get_mem_ptr wolfSSL_BIO_get_mem_ptr -#define BIO_int_ctrl wolfSSL_BIO_int_ctrl -#define BIO_reset wolfSSL_BIO_reset -#define BIO_s_file wolfSSL_BIO_s_file -#define BIO_s_bio wolfSSL_BIO_s_bio -#define BIO_s_socket wolfSSL_BIO_s_socket -#define BIO_set_fd wolfSSL_BIO_set_fd -#define BIO_ctrl_reset_read_request wolfSSL_BIO_ctrl_reset_read_request +#define SSL_CTX_clear_chain_certs(ctx) SSL_CTX_set0_chain(ctx,NULL) +#define d2i_RSAPrivateKey_bio wolfSSL_d2i_RSAPrivateKey_bio +#define SSL_CTX_use_RSAPrivateKey wolfSSL_CTX_use_RSAPrivateKey +#define d2i_PrivateKey_bio wolfSSL_d2i_PrivateKey_bio +#define BIO_new_bio_pair wolfSSL_BIO_new_bio_pair +#define SSL_get_verify_callback wolfSSL_get_verify_callback +#define GENERAL_NAMES_free(GENERAL_NAMES)NULL -#define BIO_set_write_buf_size wolfSSL_BIO_set_write_buf_size -#define BIO_make_bio_pair wolfSSL_BIO_make_bio_pair +#define SSL_set_mode(ssl,op) wolfSSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) -#define BIO_set_fp wolfSSL_BIO_set_fp -#define BIO_get_fp wolfSSL_BIO_get_fp -#define BIO_seek wolfSSL_BIO_seek -#define BIO_write_filename wolfSSL_BIO_write_filename -#define BIO_set_mem_eof_return wolfSSL_BIO_set_mem_eof_return +#define SSL_CTX_use_certificate_ASN1 wolfSSL_CTX_use_certificate_ASN1 +#define SSL_CTX_set0_chain(ctx,sk) \ + wolfSSL_CTX_ctrl(ctx,SSL_CTRL_CHAIN,0,(char *)(sk)) +#define SSL_CTX_get_app_data(ctx) wolfSSL_CTX_get_ex_data(ctx,0) +#define SSL_CTX_set_app_data(ctx,arg) wolfSSL_CTX_set_ex_data(ctx,0, \ + (char *)(arg)) +#endif /* OPENSSL_ALL || WOLFSSL_ASIO */ + +#define SSL_CTX_set_tmp_dh wolfSSL_CTX_set_tmp_dh + +#define BIO_new_file wolfSSL_BIO_new_file +#define BIO_ctrl wolfSSL_BIO_ctrl +#define BIO_ctrl_pending wolfSSL_BIO_ctrl_pending +#define BIO_wpending wolfSSL_BIO_wpending +#define BIO_get_mem_ptr wolfSSL_BIO_get_mem_ptr +#define BIO_int_ctrl wolfSSL_BIO_int_ctrl +#define BIO_reset wolfSSL_BIO_reset +#define BIO_s_file wolfSSL_BIO_s_file +#define BIO_s_bio wolfSSL_BIO_s_bio +#define BIO_s_socket wolfSSL_BIO_s_socket +#define BIO_set_fd wolfSSL_BIO_set_fd +#define BIO_ctrl_reset_read_request wolfSSL_BIO_ctrl_reset_read_request + +#define BIO_set_write_buf_size wolfSSL_BIO_set_write_buf_size +#define BIO_make_bio_pair wolfSSL_BIO_make_bio_pair + +#define BIO_set_fp wolfSSL_BIO_set_fp +#define BIO_get_fp wolfSSL_BIO_get_fp +#define BIO_seek wolfSSL_BIO_seek +#define BIO_write_filename wolfSSL_BIO_write_filename +#define BIO_set_mem_eof_return wolfSSL_BIO_set_mem_eof_return #define TLSEXT_STATUSTYPE_ocsp 1 -#define SSL_set_options wolfSSL_set_options -#define SSL_get_options wolfSSL_get_options -#define SSL_clear_options wolfSSL_clear_options -#define SSL_set_tmp_dh wolfSSL_set_tmp_dh +#define SSL_set_options wolfSSL_set_options +#define SSL_get_options wolfSSL_get_options +#define SSL_clear_options wolfSSL_clear_options +#define SSL_set_tmp_dh wolfSSL_set_tmp_dh #define SSL_clear_num_renegotiations wolfSSL_clear_num_renegotiations -#define SSL_total_renegotiations wolfSSL_total_renegotiations +#define SSL_total_renegotiations wolfSSL_total_renegotiations #define SSL_set_tlsext_debug_arg wolfSSL_set_tlsext_debug_arg #define SSL_set_tlsext_status_type wolfSSL_set_tlsext_status_type #define SSL_set_tlsext_status_exts wolfSSL_set_tlsext_status_exts #define SSL_get_tlsext_status_ids wolfSSL_get_tlsext_status_ids #define SSL_set_tlsext_status_ids wolfSSL_set_tlsext_status_ids -#define SSL_get_tlsext_status_ocsp_resp wolfSSL_get_tlsext_status_ocsp_resp -#define SSL_set_tlsext_status_ocsp_resp wolfSSL_set_tlsext_status_ocsp_resp - -#define SSL_CTX_add_extra_chain_cert wolfSSL_CTX_add_extra_chain_cert -#define SSL_CTX_get_read_ahead wolfSSL_CTX_get_read_ahead -#define SSL_CTX_set_read_ahead wolfSSL_CTX_set_read_ahead -#define SSL_CTX_set_tlsext_status_arg wolfSSL_CTX_set_tlsext_status_arg +#define SSL_get_tlsext_status_ocsp_res wolfSSL_get_tlsext_status_ocsp_resp +#define SSL_set_tlsext_status_ocsp_res wolfSSL_set_tlsext_status_ocsp_resp +#define SSL_set_tlsext_status_ocsp_resp wolfSSL_set_tlsext_status_ocsp_resp +#define SSL_get_tlsext_status_ocsp_resp wolfSSL_get_tlsext_status_ocsp_resp + +#define SSL_CTX_add_extra_chain_cert wolfSSL_CTX_add_extra_chain_cert +#define SSL_CTX_get_read_ahead wolfSSL_CTX_get_read_ahead +#define SSL_CTX_set_read_ahead wolfSSL_CTX_set_read_ahead +#define SSL_CTX_set_tlsext_status_arg wolfSSL_CTX_set_tlsext_status_arg #define SSL_CTX_set_tlsext_opaque_prf_input_callback_arg \ - wolfSSL_CTX_set_tlsext_opaque_prf_input_callback_arg -#define SSL_get_server_random wolfSSL_get_server_random + wolfSSL_CTX_set_tlsext_opaque_prf_input_callback_arg +#define SSL_get_server_random wolfSSL_get_server_random -#define SSL_get_tlsext_status_exts wolfSSL_get_tlsext_status_exts +#define SSL_get_tlsext_status_exts wolfSSL_get_tlsext_status_exts #define BIO_C_SET_FILE_PTR 106 #define BIO_C_GET_FILE_PTR 107 @@ -691,17 +802,12 @@ enum { #define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 -#define SSL_ctrl wolfSSL_ctrl -#define SSL_CTX_ctrl wolfSSL_CTX_ctrl +#define SSL_ctrl wolfSSL_ctrl +#define SSL_CTX_ctrl wolfSSL_CTX_ctrl -#define X509_V_FLAG_CRL_CHECK WOLFSSL_CRL_CHECK -#define X509_V_FLAG_CRL_CHECK_ALL WOLFSSL_CRL_CHECKALL - -#define X509_V_FLAG_USE_CHECK_TIME WOLFSSL_USE_CHECK_TIME -#define X509_V_FLAG_NO_CHECK_TIME WOLFSSL_NO_CHECK_TIME - -#define SSL3_RANDOM_SIZE 32 /* same as RAN_LEN in internal.h */ -#if defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || defined(OPENSSL_EXTRA) +#define SSL3_RANDOM_SIZE 32 /* same as RAN_LEN in internal.h */ +#if defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || defined(OPENSSL_EXTRA) \ + || defined(OPENSSL_ALL) #include #define SSL2_VERSION 0x0002 @@ -712,93 +818,50 @@ enum { #define SSL3_ST_SR_CLNT_HELLO_A (0x110|0x2000) #define ASN1_STRFLGS_ESC_MSB 4 -#define SSL_MAX_MASTER_KEY_LENGTH WOLFSSL_MAX_MASTER_KEY_LENGTH +#define SSL_MAX_MASTER_KEY_LENGTH WOLFSSL_MAX_MASTER_KEY_LENGTH -#define SSL_alert_desc_string_long wolfSSL_alert_desc_string_long -#define SSL_alert_type_string_long wolfSSL_alert_type_string_long -#define SSL_CIPHER_get_bits wolfSSL_CIPHER_get_bits -#define sk_X509_NAME_num wolfSSL_sk_X509_NAME_num -#define sk_GENERAL_NAME_num wolfSSL_sk_GENERAL_NAME_num -#define sk_X509_num wolfSSL_sk_X509_num -#define X509_NAME_print_ex wolfSSL_X509_NAME_print_ex -#define X509_get0_pubkey_bitstr wolfSSL_X509_get0_pubkey_bitstr -#define SSL_CTX_get_options wolfSSL_CTX_get_options +#define SSL_alert_desc_string_long wolfSSL_alert_desc_string_long +#define SSL_alert_type_string_long wolfSSL_alert_type_string_long +#define SSL_CIPHER_get_bits wolfSSL_CIPHER_get_bits +#define sk_GENERAL_NAME_num wolfSSL_sk_GENERAL_NAME_num +#define SSL_CTX_get_options wolfSSL_CTX_get_options -#define SSL_CTX_flush_sessions wolfSSL_flush_sessions -#define SSL_CTX_add_session wolfSSL_CTX_add_session -#define SSL_get_SSL_CTX wolfSSL_get_SSL_CTX -#define SSL_version wolfSSL_version -#define SSL_get_state wolfSSL_get_state -#define SSL_state_string_long wolfSSL_state_string_long +#define SSL_CTX_flush_sessions wolfSSL_flush_sessions +#define SSL_CTX_add_session wolfSSL_CTX_add_session +#define SSL_version wolfSSL_version +#define SSL_get_state wolfSSL_get_state +#define SSL_state_string_long wolfSSL_state_string_long -#define sk_X509_NAME_value wolfSSL_sk_X509_NAME_value -#define sk_X509_value wolfSSL_sk_X509_value -#define sk_GENERAL_NAME_value wolfSSL_sk_GENERAL_NAME_value -#define SSL_SESSION_get_ex_data wolfSSL_SESSION_get_ex_data -#define SSL_SESSION_set_ex_data wolfSSL_SESSION_set_ex_data -#define SSL_SESSION_get_ex_new_index wolfSSL_SESSION_get_ex_new_index -#define SSL_SESSION_get_id wolfSSL_SESSION_get_id -#define CRYPTO_dynlock_value WOLFSSL_dynlock_value -typedef WOLFSSL_ASN1_BIT_STRING ASN1_BIT_STRING; -#define X509_STORE_get1_certs wolfSSL_X509_STORE_get1_certs -#define sk_X509_pop_free wolfSSL_sk_X509_pop_free -#define sk_GENERAL_NAME_pop_free wolfSSL_sk_GENERAL_NAME_pop_free -#define GENERAL_NAME_free NULL +#define sk_GENERAL_NAME_value wolfSSL_sk_GENERAL_NAME_value +#define SSL_SESSION_get_ex_data wolfSSL_SESSION_get_ex_data +#define SSL_SESSION_set_ex_data wolfSSL_SESSION_set_ex_data +#define SSL_SESSION_get_ex_new_index wolfSSL_SESSION_get_ex_new_index +#define SSL_SESSION_get_id wolfSSL_SESSION_get_id +#define sk_GENERAL_NAME_pop_free wolfSSL_sk_GENERAL_NAME_pop_free +#define GENERAL_NAME_free NULL -#define SSL3_AL_FATAL 2 -#define SSL_TLSEXT_ERR_OK 0 -#define SSL_TLSEXT_ERR_ALERT_FATAL alert_fatal -#define SSL_TLSEXT_ERR_NOACK alert_warning -#define TLSEXT_NAMETYPE_host_name WOLFSSL_SNI_HOST_NAME +#define SSL3_AL_FATAL 2 +#define SSL_TLSEXT_ERR_OK 0 +#define SSL_TLSEXT_ERR_ALERT_FATAL alert_fatal +#define SSL_TLSEXT_ERR_NOACK alert_warning +#define TLSEXT_NAMETYPE_host_name WOLFSSL_SNI_HOST_NAME -#define SSL_set_tlsext_host_name wolfSSL_set_tlsext_host_name -#define SSL_get_servername wolfSSL_get_servername -#define SSL_set_SSL_CTX wolfSSL_set_SSL_CTX -#define SSL_CTX_get_verify_callback wolfSSL_CTX_get_verify_callback +#define SSL_set_tlsext_host_name wolfSSL_set_tlsext_host_name +#define SSL_get_servername wolfSSL_get_servername +#define SSL_set_SSL_CTX wolfSSL_set_SSL_CTX +#define SSL_CTX_get_verify_callback wolfSSL_CTX_get_verify_callback #define SSL_CTX_set_tlsext_servername_callback wolfSSL_CTX_set_tlsext_servername_callback -#define SSL_CTX_set_tlsext_servername_arg wolfSSL_CTX_set_servername_arg +#define SSL_CTX_set_tlsext_servername_arg wolfSSL_CTX_set_servername_arg -#define PSK_MAX_PSK_LEN 256 -#define PSK_MAX_IDENTITY_LEN 128 -#define ERR_remove_thread_state WOLFSSL_ERR_remove_thread_state -#define SSL_CTX_clear_options wolfSSL_CTX_clear_options +#define PSK_MAX_PSK_LEN 256 +#define PSK_MAX_IDENTITY_LEN 128 +#define SSL_CTX_clear_options wolfSSL_CTX_clear_options #endif /* HAVE_STUNNEL || WOLFSSL_NGINX */ -#define SSL_CTX_get_default_passwd_cb wolfSSL_CTX_get_default_passwd_cb +#define SSL_CTX_get_default_passwd_cb wolfSSL_CTX_get_default_passwd_cb #define SSL_CTX_get_default_passwd_cb_userdata wolfSSL_CTX_get_default_passwd_cb_userdata -/* certificate extension NIDs */ -#define NID_basic_constraints 133 -#define NID_key_usage 129 /* 2.5.29.15 */ -#define NID_ext_key_usage 151 /* 2.5.29.37 */ -#define NID_subject_key_identifier 128 -#define NID_authority_key_identifier 149 -#define NID_private_key_usage_period 130 /* 2.5.29.16 */ -#define NID_subject_alt_name 131 -#define NID_issuer_alt_name 132 -#define NID_info_access 69 -#define NID_sinfo_access 79 /* id-pe 11 */ -#define NID_name_constraints 144 /* 2.5.29.30 */ -#define NID_certificate_policies 146 -#define NID_policy_mappings 147 -#define NID_policy_constraints 150 -#define NID_inhibit_any_policy 168 /* 2.5.29.54 */ -#define NID_tlsfeature 92 /* id-pe 24 */ -#define NID_commonName 0x03 /* matchs ASN_COMMON_NAME in asn.h */ -#define NID_domainComponent 0x19 - /* matchs ASN_DOMAIN_COMPONENT in asn.h */ - - /* matchs ASN_..._NAME in asn.h */ -#define NID_surname 0x04, /* SN */ -#define NID_serialNumber 0x05, /* serialNumber */ -#define NID_countryName 0x06, /* C */ -#define NID_localityName 0x07, /* L */ -#define NID_stateOrProvinceName 0x08, /* ST */ -#define NID_organizationName 0x0a, /* O */ -#define NID_organizationalUnitName 0x0b, /* OU */ - - #define SSL_CTX_set_msg_callback wolfSSL_CTX_set_msg_callback #define SSL_set_msg_callback wolfSSL_set_msg_callback #define SSL_CTX_set_msg_callback_arg wolfSSL_CTX_set_msg_callback_arg @@ -815,7 +878,8 @@ typedef WOLFSSL_ASN1_BIT_STRING ASN1_BIT_STRING; #define ERR_LIB_X509 10 #if defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) || \ - defined(WOLFSSL_MYSQL_COMPATIBLE) + defined(WOLFSSL_MYSQL_COMPATIBLE) || defined(OPENSSL_ALL) || \ + defined(HAVE_LIGHTY) #include @@ -844,60 +908,63 @@ typedef WOLFSSL_ASN1_BIT_STRING ASN1_BIT_STRING; #define SSL_R_UNKNOWN_PROTOCOL VERSION_ERROR #define SSL_R_WRONG_VERSION_NUMBER VERSION_ERROR #define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC ENCRYPT_ERROR +#define SSL_R_HTTPS_PROXY_REQUEST PARSE_ERROR +#define SSL_R_HTTP_REQUEST PARSE_ERROR +#define SSL_R_UNSUPPORTED_PROTOCOL VERSION_ERROR + #ifdef HAVE_SESSION_TICKET #define SSL_OP_NO_TICKET SSL_OP_NO_TICKET #define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 #endif -#define OPENSSL_config wolfSSL_OPENSSL_config -#define OPENSSL_memdup wolfSSL_OPENSSL_memdup -#define X509_get_ex_new_index wolfSSL_X509_get_ex_new_index -#define X509_get_ex_data wolfSSL_X509_get_ex_data -#define X509_set_ex_data wolfSSL_X509_set_ex_data -#define X509_NAME_digest wolfSSL_X509_NAME_digest -#define SSL_CTX_get_timeout wolfSSL_SSL_CTX_get_timeout -#define SSL_CTX_set_tmp_ecdh wolfSSL_SSL_CTX_set_tmp_ecdh -#define SSL_CTX_remove_session wolfSSL_SSL_CTX_remove_session -#define SSL_get_rbio wolfSSL_SSL_get_rbio -#define SSL_get_wbio wolfSSL_SSL_get_wbio -#define SSL_do_handshake wolfSSL_SSL_do_handshake -#define SSL_in_init wolfSSL_SSL_in_init -#define SSL_get0_session wolfSSL_SSL_get0_session -#define X509_check_host wolfSSL_X509_check_host -#define i2a_ASN1_INTEGER wolfSSL_i2a_ASN1_INTEGER -#define ERR_peek_error_line_data wolfSSL_ERR_peek_error_line_data -#define ERR_load_BIO_strings wolfSSL_ERR_load_BIO_strings -#define SSL_CTX_set_tlsext_ticket_key_cb wolfSSL_CTX_set_tlsext_ticket_key_cb -#define X509_email_free wolfSSL_X509_email_free -#define X509_get1_ocsp wolfSSL_X509_get1_ocsp -#define SSL_CTX_set_tlsext_status_cb wolfSSL_CTX_set_tlsext_status_cb -#define X509_check_issued wolfSSL_X509_check_issued -#define X509_dup wolfSSL_X509_dup -#define X509_STORE_CTX_new wolfSSL_X509_STORE_CTX_new -#define X509_STORE_CTX_free wolfSSL_X509_STORE_CTX_free -#define SSL_CTX_get_extra_chain_certs wolfSSL_CTX_get_extra_chain_certs -#define X509_STORE_CTX_get1_issuer wolfSSL_X509_STORE_CTX_get1_issuer -#define sk_OPENSSL_STRING_value wolfSSL_sk_WOLFSSL_STRING_value -#define SSL_get0_alpn_selected wolfSSL_get0_alpn_selected -#define SSL_select_next_proto wolfSSL_select_next_proto -#define SSL_CTX_set_alpn_select_cb wolfSSL_CTX_set_alpn_select_cb -#define SSL_CTX_set_next_protos_advertised_cb wolfSSL_CTX_set_next_protos_advertised_cb -#define SSL_CTX_set_next_proto_select_cb wolfSSL_CTX_set_next_proto_select_cb -#define SSL_get0_next_proto_negotiated wolfSSL_get0_next_proto_negotiated -#define SSL_is_server wolfSSL_is_server -#define SSL_CTX_set1_curves_list wolfSSL_CTX_set1_curves_list +#define OPENSSL_config wolfSSL_OPENSSL_config +#define OPENSSL_memdup wolfSSL_OPENSSL_memdup +#define SSL_CTX_get_timeout wolfSSL_SSL_CTX_get_timeout +#define SSL_CTX_set_tmp_ecdh wolfSSL_SSL_CTX_set_tmp_ecdh +#define SSL_CTX_remove_session wolfSSL_SSL_CTX_remove_session +#define SSL_get_rbio wolfSSL_SSL_get_rbio +#define SSL_get_wbio wolfSSL_SSL_get_wbio +#define SSL_do_handshake wolfSSL_SSL_do_handshake +#define SSL_in_init wolfSSL_SSL_in_init +#define SSL_get0_session wolfSSL_SSL_get0_session +#define SSL_CTX_set_tlsext_ticket_key_cb wolfSSL_CTX_set_tlsext_ticket_key_cb +#define SSL_CTX_set_tlsext_status_cb wolfSSL_CTX_set_tlsext_status_cb +#define SSL_CTX_get_extra_chain_certs wolfSSL_CTX_get_extra_chain_certs +#define sk_OPENSSL_STRING_value wolfSSL_sk_WOLFSSL_STRING_value +#define SSL_get0_alpn_selected wolfSSL_get0_alpn_selected +#define SSL_select_next_proto wolfSSL_select_next_proto +#define SSL_CTX_set_alpn_select_cb wolfSSL_CTX_set_alpn_select_cb +#define SSL_CTX_set_next_protos_advertised_cb wolfSSL_CTX_set_next_protos_advertised_cb +#define SSL_CTX_set_next_proto_select_cb wolfSSL_CTX_set_next_proto_select_cb +#define SSL_get0_next_proto_negotiated wolfSSL_get0_next_proto_negotiated +#define SSL_is_server wolfSSL_is_server +#define SSL_CTX_set1_curves_list wolfSSL_CTX_set1_curves_list -#endif /* WOLFSSL_NGINX || WOLFSSL_HAPROXY */ +#endif /* WOLFSSL_NGINX || WOLFSSL_HAPROXY || WOLFSSL_MYSQL_COMPATIBLE || + OPENSSL_ALL || HAVE_LIGHTY */ -#define X509_STORE_CTX_set_time wolfSSL_X509_STORE_CTX_set_time -#define SSL_CTX_add_client_CA wolfSSL_CTX_add_client_CA -#define SSL_CTX_set_srp_password wolfSSL_CTX_set_srp_password -#define SSL_CTX_set_srp_username wolfSSL_CTX_set_srp_username +#ifdef OPENSSL_EXTRA +#define SSL_CTX_add_client_CA wolfSSL_CTX_add_client_CA +#define SSL_CTX_set_srp_password wolfSSL_CTX_set_srp_password +#define SSL_CTX_set_srp_username wolfSSL_CTX_set_srp_username +#define SSL_get_SSL_CTX wolfSSL_get_SSL_CTX + +#define ERR_NUM_ERRORS 16 +#define EVP_PKEY_RSA 6 +#define EVP_PKEY_RSA2 19 +#define SN_pkcs9_emailAddress "Email" +#define LN_pkcs9_emailAddress "emailAddress" +#define NID_pkcs9_emailAddress 48 +#define OBJ_pkcs9_emailAddress 1L,2L,840L,113539L,1L,9L,1L + +#define SSL_get_rbio wolfSSL_SSL_get_rbio +#define SSL_get_wbio wolfSSL_SSL_get_wbio +#define SSL_do_handshake wolfSSL_SSL_do_handshake +#endif /* OPENSSL_EXTRA */ #ifdef __cplusplus } /* extern "C" */ #endif - #endif /* wolfSSL_openssl_h__ */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/ssl.h b/components/ssl/wolfssl/wolfssl/wolfssl/ssl.h index 8f0dfe41..8dc69351 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/ssl.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/ssl.h @@ -1,16 +1,18 @@ /* ssl.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ - - +/*! + \file ../wolfssl/ssl.h + \brief Header file containing key wolfSSL API +*/ /* wolfSSL API */ @@ -22,6 +24,7 @@ #include #include #include +#include #ifdef HAVE_WOLF_EVENT #include @@ -109,6 +112,7 @@ typedef struct WOLFSSL_X509 WOLFSSL_X509; typedef struct WOLFSSL_X509_NAME WOLFSSL_X509_NAME; typedef struct WOLFSSL_X509_NAME_ENTRY WOLFSSL_X509_NAME_ENTRY; typedef struct WOLFSSL_X509_CHAIN WOLFSSL_X509_CHAIN; +typedef struct WC_PKCS12 WOLFSSL_X509_PKCS12; typedef struct WOLFSSL_CERT_MANAGER WOLFSSL_CERT_MANAGER; typedef struct WOLFSSL_SOCKADDR WOLFSSL_SOCKADDR; @@ -152,7 +156,7 @@ typedef struct WOLFSSL_ECDSA_SIG WOLFSSL_ECDSA_SIG; typedef struct WOLFSSL_CIPHER WOLFSSL_CIPHER; typedef struct WOLFSSL_X509_LOOKUP WOLFSSL_X509_LOOKUP; typedef struct WOLFSSL_X509_LOOKUP_METHOD WOLFSSL_X509_LOOKUP_METHOD; -typedef struct WOLFSSL_X509_CRL WOLFSSL_X509_CRL; +typedef struct WOLFSSL_CRL WOLFSSL_X509_CRL; typedef struct WOLFSSL_X509_STORE WOLFSSL_X509_STORE; typedef struct WOLFSSL_X509_VERIFY_PARAM WOLFSSL_X509_VERIFY_PARAM; typedef struct WOLFSSL_BIO WOLFSSL_BIO; @@ -170,11 +174,17 @@ typedef struct WOLFSSL_ASN1_BIT_STRING WOLFSSL_ASN1_BIT_STRING; #define WOLFSSL_ASN1_UTCTIME WOLFSSL_ASN1_TIME #define WOLFSSL_ASN1_GENERALIZEDTIME WOLFSSL_ASN1_TIME +#define WOLFSSL_ASN1_INTEGER_MAX 20 struct WOLFSSL_ASN1_INTEGER { /* size can be increased set at 20 for tag, length then to hold at least 16 * byte type */ - unsigned char data[20]; + unsigned char intData[WOLFSSL_ASN1_INTEGER_MAX]; /* ASN_INTEGER | LENGTH | hex of number */ + unsigned char negative; /* negative number flag */ + + unsigned char* data; + unsigned int dataMax; /* max size of data buffer */ + unsigned int isDynamic:1; /* flag for if data pointer dynamic (1 is yes 0 is no) */ }; struct WOLFSSL_ASN1_TIME { @@ -193,16 +203,21 @@ struct WOLFSSL_ASN1_STRING { #define WOLFSSL_MAX_SNAME 40 struct WOLFSSL_ASN1_OBJECT { void* heap; - unsigned char* obj; + const unsigned char* obj; /* sName is short name i.e sha256 rather than oid (null terminated) */ char sName[WOLFSSL_MAX_SNAME]; int type; /* oid */ int grp; /* type of OID, i.e. oidCertPolicyType */ + int nid; unsigned int objSz; unsigned char dynamic; /* if 1 then obj was dynamiclly created, 0 otherwise */ + #define WOLFSSL_ASN1_DYNAMIC 0x1 + #define WOLFSSL_ASN1_DYNAMIC_DATA 0x2 struct d { /* derefrenced */ WOLFSSL_ASN1_STRING ia5_internal; WOLFSSL_ASN1_STRING* ia5; /* points to ia5_internal */ + WOLFSSL_ASN1_STRING* dNSName; + WOLFSSL_ASN1_STRING* iPAddress; } d; }; @@ -283,11 +298,15 @@ struct WOLFSSL_X509_STORE { #ifdef OPENSSL_EXTRA int isDynamic; #endif +#if defined(OPENSSL_EXTRA) && defined(HAVE_CRL) + WOLFSSL_X509_CRL *crl; +#endif }; #ifdef OPENSSL_EXTRA #define WOLFSSL_USE_CHECK_TIME 0x2 #define WOLFSSL_NO_CHECK_TIME 0x200000 +#define WOLFSSL_NO_WILDCARDS 0x4 struct WOLFSSL_X509_VERIFY_PARAM { time_t check_time; unsigned long flags; @@ -324,7 +343,10 @@ typedef struct WOLFSSL_BUFFER_INFO { typedef struct WOLFSSL_X509_STORE_CTX { WOLFSSL_X509_STORE* store; /* Store full of a CA cert chain */ - WOLFSSL_X509* current_cert; /* stunnel dereference */ + WOLFSSL_X509* current_cert; /* current X509 (OPENSSL_EXTRA) */ +#ifdef WOLFSSL_ASIO + WOLFSSL_X509* current_issuer; /* asio dereference */ +#endif WOLFSSL_X509_CHAIN* sesChain; /* pointer to WOLFSSL_SESSION peer chain */ WOLFSSL_STACK* chain; #ifdef OPENSSL_EXTRA @@ -372,6 +394,7 @@ enum AlertDescription { unsupported_extension = 110, /**< RFC 5246, section 7.2.2 */ unrecognized_name = 112, /**< RFC 6066, section 3 */ bad_certificate_status_response = 113, /**< RFC 6066, section 8 */ + unknown_psk_identity = 115, /**< RFC 4279, section 2 */ no_application_protocol = 120 }; @@ -383,37 +406,56 @@ enum AlertLevel { /* Maximum master key length (SECRET_LEN) */ #define WOLFSSL_MAX_MASTER_KEY_LENGTH 48 +/* Maximum number of groups that can be set */ +#define WOLFSSL_MAX_GROUP_COUNT 10 typedef WOLFSSL_METHOD* (*wolfSSL_method_func)(void* heap); + +/* CTX Method EX Constructor Functions */ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv3_server_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfSSLv3_client_method_ex(void* heap); +WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_server_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_client_method_ex(void* heap); +WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_server_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_client_method_ex(void* heap); +WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_server_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_client_method_ex(void* heap); #ifdef WOLFSSL_TLS13 + WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_3_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_3_server_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_3_client_method_ex(void* heap); #endif + +WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_server_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_client_method_ex(void* heap); #ifdef WOLFSSL_DTLS + WOLFSSL_API WOLFSSL_METHOD *wolfDTLS_method_ex(void* heap); + WOLFSSL_API WOLFSSL_METHOD *wolfDTLS_client_method_ex(void* heap); + WOLFSSL_API WOLFSSL_METHOD *wolfDTLS_server_method_ex(void* heap); + WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_client_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_server_method_ex(void* heap); + WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_client_method_ex(void* heap); WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_server_method_ex(void* heap); #endif + +/* CTX Method Constructor Functions */ WOLFSSL_API WOLFSSL_METHOD *wolfSSLv23_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfSSLv3_server_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfSSLv3_client_method(void); -WOLFSSL_API WOLFSSL_METHOD* wolfTLSv1_method(void); +WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_server_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_client_method(void); +WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_server_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_1_client_method(void); +WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_server_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_client_method(void); #ifdef WOLFSSL_TLS13 @@ -422,8 +464,13 @@ WOLFSSL_API WOLFSSL_METHOD *wolfTLSv1_2_client_method(void); #endif #ifdef WOLFSSL_DTLS + WOLFSSL_API WOLFSSL_METHOD *wolfDTLS_method(void); + WOLFSSL_API WOLFSSL_METHOD *wolfDTLS_server_method(void); + WOLFSSL_API WOLFSSL_METHOD *wolfDTLS_client_method(void); + WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_client_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_server_method(void); + WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_client_method(void); WOLFSSL_API WOLFSSL_METHOD *wolfDTLSv1_2_server_method(void); #endif @@ -471,6 +518,13 @@ WOLFSSL_API int wolfSSL_is_static_memory(WOLFSSL* ssl, WOLFSSL_API int wolfSSL_CTX_use_certificate_file(WOLFSSL_CTX*, const char*, int); WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_file(WOLFSSL_CTX*, const char*, int); + +#define WOLFSSL_LOAD_FLAG_NONE 0x00000000 +#define WOLFSSL_LOAD_FLAG_IGNORE_ERR 0x00000001 +#define WOLFSSL_LOAD_FLAG_DATE_ERR_OKAY 0x00000002 +#define WOLFSSL_LOAD_FLAG_PEM_CA_ONLY 0x00000004 +WOLFSSL_API int wolfSSL_CTX_load_verify_locations_ex(WOLFSSL_CTX*, const char*, + const char*, unsigned int); WOLFSSL_API int wolfSSL_CTX_load_verify_locations(WOLFSSL_CTX*, const char*, const char*); #ifdef WOLFSSL_TRUST_PEER_CERT @@ -478,6 +532,8 @@ WOLFSSL_API int wolfSSL_CTX_trust_peer_cert(WOLFSSL_CTX*, const char*, int); #endif WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file(WOLFSSL_CTX *, const char *file); +WOLFSSL_API int wolfSSL_CTX_use_certificate_chain_file_format(WOLFSSL_CTX *, + const char *file, int format); WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey_file(WOLFSSL_CTX*, const char*, int); WOLFSSL_API long wolfSSL_get_verify_depth(WOLFSSL* ssl); @@ -486,6 +542,8 @@ WOLFSSL_API void wolfSSL_CTX_set_verify_depth(WOLFSSL_CTX *ctx,int depth); WOLFSSL_API int wolfSSL_use_certificate_file(WOLFSSL*, const char*, int); WOLFSSL_API int wolfSSL_use_PrivateKey_file(WOLFSSL*, const char*, int); WOLFSSL_API int wolfSSL_use_certificate_chain_file(WOLFSSL*, const char *file); +WOLFSSL_API int wolfSSL_use_certificate_chain_file_format(WOLFSSL*, + const char *file, int format); WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int); #ifdef WOLFSSL_DER_LOAD @@ -498,15 +556,11 @@ WOLFSSL_API int wolfSSL_use_RSAPrivateKey_file(WOLFSSL*, const char*, int); /* load NTRU private key blob */ #endif -#ifndef WOLFSSL_PEMCERT_TODER_DEFINED - WOLFSSL_API int wolfSSL_PemCertToDer(const char*, unsigned char*, int); - #define WOLFSSL_PEMCERT_TODER_DEFINED -#endif - #endif /* !NO_FILESYSTEM && !NO_CERTS */ WOLFSSL_API WOLFSSL_CTX* wolfSSL_CTX_new(WOLFSSL_METHOD*); WOLFSSL_API WOLFSSL* wolfSSL_new(WOLFSSL_CTX*); +WOLFSSL_API WOLFSSL_CTX* wolfSSL_get_SSL_CTX(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_is_server(WOLFSSL*); WOLFSSL_API WOLFSSL* wolfSSL_write_dup(WOLFSSL*); WOLFSSL_API int wolfSSL_set_fd (WOLFSSL*, int); @@ -516,12 +570,12 @@ WOLFSSL_API char* wolfSSL_get_cipher_list(int priority); WOLFSSL_API char* wolfSSL_get_cipher_list_ex(WOLFSSL* ssl, int priority); WOLFSSL_API int wolfSSL_get_ciphers(char*, int); WOLFSSL_API const char* wolfSSL_get_cipher_name(WOLFSSL* ssl); +WOLFSSL_API const char* wolfSSL_get_cipher_name_from_suite(const unsigned char, + const unsigned char); WOLFSSL_API const char* wolfSSL_get_shared_ciphers(WOLFSSL* ssl, char* buf, int len); WOLFSSL_API const char* wolfSSL_get_curve_name(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_get_fd(const WOLFSSL*); -WOLFSSL_API void wolfSSL_set_using_nonblock(WOLFSSL*, int); -WOLFSSL_API int wolfSSL_get_using_nonblock(WOLFSSL*); /* please see note at top of README if you get an error from connect */ WOLFSSL_API int wolfSSL_connect(WOLFSSL*); WOLFSSL_API int wolfSSL_write(WOLFSSL*, const void*, int); @@ -540,6 +594,11 @@ WOLFSSL_API int wolfSSL_CTX_allow_post_handshake_auth(WOLFSSL_CTX* ctx); WOLFSSL_API int wolfSSL_allow_post_handshake_auth(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_request_certificate(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_preferred_group(WOLFSSL* ssl); +WOLFSSL_API int wolfSSL_CTX_set_groups(WOLFSSL_CTX* ctx, int* groups, + int count); +WOLFSSL_API int wolfSSL_set_groups(WOLFSSL* ssl, int* groups, int count); + WOLFSSL_API int wolfSSL_connect_TLSv13(WOLFSSL*); WOLFSSL_API int wolfSSL_accept_TLSv13(WOLFSSL*); @@ -563,12 +622,22 @@ WOLFSSL_API void wolfSSL_set_quiet_shutdown(WOLFSSL*, int); WOLFSSL_API int wolfSSL_get_error(WOLFSSL*, int); WOLFSSL_API int wolfSSL_get_alert_history(WOLFSSL*, WOLFSSL_ALERT_HISTORY *); -WOLFSSL_API int wolfSSL_set_session(WOLFSSL* ssl,WOLFSSL_SESSION* session); -WOLFSSL_API long wolfSSL_SSL_SESSION_set_timeout(WOLFSSL_SESSION* session, long t); -WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL* ssl); -WOLFSSL_API void wolfSSL_flush_sessions(WOLFSSL_CTX *ctx, long tm); -WOLFSSL_API int wolfSSL_SetServerID(WOLFSSL* ssl, const unsigned char*, - int, int); +WOLFSSL_API int wolfSSL_set_session(WOLFSSL*, WOLFSSL_SESSION*); +WOLFSSL_API long wolfSSL_SSL_SESSION_set_timeout(WOLFSSL_SESSION*, long); +WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get_session(WOLFSSL*); +WOLFSSL_API void wolfSSL_flush_sessions(WOLFSSL_CTX*, long); +WOLFSSL_API int wolfSSL_SetServerID(WOLFSSL*, const unsigned char*, int, int); + +#if defined(OPENSSL_ALL) || defined(WOLFSSL_ASIO) +WOLFSSL_API int wolfSSL_BIO_new_bio_pair(WOLFSSL_BIO**, size_t, + WOLFSSL_BIO**, size_t); + +WOLFSSL_API WOLFSSL_RSA* wolfSSL_d2i_RSAPrivateKey_bio(WOLFSSL_BIO*, WOLFSSL_RSA**); +WOLFSSL_API int wolfSSL_CTX_use_certificate_ASN1(WOLFSSL_CTX*, + int, const unsigned char*); +WOLFSSL_API int wolfSSL_CTX_use_RSAPrivateKey(WOLFSSL_CTX*, WOLFSSL_RSA*); +WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PrivateKey_bio(WOLFSSL_BIO*, WOLFSSL_EVP_PKEY**); +#endif /* OPENSSL_ALL || WOLFSSL_ASIO */ #ifdef SESSION_INDEX WOLFSSL_API int wolfSSL_GetSessionIndex(WOLFSSL* ssl); @@ -581,7 +650,6 @@ WOLFSSL_API #endif /* SESSION_INDEX && SESSION_CERTS */ typedef int (*VerifyCallback)(int, WOLFSSL_X509_STORE_CTX*); -typedef int (pem_password_cb)(char*, int, int, void*); #ifdef OPENSSL_EXTRA typedef void (CallbackInfoState)(const WOLFSSL*, int, int); @@ -637,6 +705,11 @@ WOLFSSL_API int wolfSSL_CTX_set_cipher_list(WOLFSSL_CTX*, const char*); WOLFSSL_API int wolfSSL_set_cipher_list(WOLFSSL*, const char*); /* Nonblocking DTLS helper functions */ +WOLFSSL_API void wolfSSL_dtls_set_using_nonblock(WOLFSSL*, int); +WOLFSSL_API int wolfSSL_dtls_get_using_nonblock(WOLFSSL*); +#define wolfSSL_set_using_nonblock wolfSSL_dtls_set_using_nonblock +#define wolfSSL_get_using_nonblock wolfSSL_dtls_get_using_nonblock + /* The old names are deprecated. */ WOLFSSL_API int wolfSSL_dtls_get_current_timeout(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_dtls_set_timeout_init(WOLFSSL* ssl, int); WOLFSSL_API int wolfSSL_dtls_set_timeout_max(WOLFSSL* ssl, int); @@ -730,11 +803,6 @@ WOLFSSL_API WOLFSSL_SESSION* wolfSSL_get1_session(WOLFSSL* ssl); WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_new(void); -#ifdef OPENSSL_EXTRA -WOLFSSL_API void wolfSSL_OPENSSL_free(void*); -WOLFSSL_API void *wolfSSL_OPENSSL_malloc(size_t a); -#endif - WOLFSSL_API int wolfSSL_OCSP_parse_url(char* url, char** host, char** port, char** path, int* ssl); @@ -772,7 +840,6 @@ WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_mem_buf(void* buf, int len); WOLFSSL_API long wolfSSL_BIO_set_ssl(WOLFSSL_BIO*, WOLFSSL*, int flag); WOLFSSL_API long wolfSSL_BIO_set_fd(WOLFSSL_BIO* b, int fd, int flag); WOLFSSL_API void wolfSSL_set_bio(WOLFSSL*, WOLFSSL_BIO* rd, WOLFSSL_BIO* wr); -WOLFSSL_API int wolfSSL_add_all_algorithms(void); #ifndef NO_FILESYSTEM WOLFSSL_API WOLFSSL_BIO_METHOD *wolfSSL_BIO_s_file(void); @@ -805,6 +872,7 @@ WOLFSSL_API int wolfSSL_RAND_egd(const char*); WOLFSSL_API int wolfSSL_RAND_seed(const void*, int); WOLFSSL_API void wolfSSL_RAND_Cleanup(void); WOLFSSL_API void wolfSSL_RAND_add(const void*, int, double); +WOLFSSL_API int wolfSSL_RAND_poll(void); WOLFSSL_API WOLFSSL_COMP_METHOD* wolfSSL_COMP_zlib(void); WOLFSSL_API WOLFSSL_COMP_METHOD* wolfSSL_COMP_rle(void); @@ -845,12 +913,18 @@ WOLFSSL_API unsigned char* wolfSSL_X509_get_authorityKeyID( WOLFSSL_X509*, unsigned char*, int*); WOLFSSL_API unsigned char* wolfSSL_X509_get_subjectKeyID( WOLFSSL_X509*, unsigned char*, int*); + +WOLFSSL_API int wolfSSL_X509_set_subject_name(WOLFSSL_X509*, + WOLFSSL_X509_NAME*); +WOLFSSL_API int wolfSSL_X509_set_pubkey(WOLFSSL_X509*, WOLFSSL_EVP_PKEY*); + WOLFSSL_API int wolfSSL_X509_NAME_entry_count(WOLFSSL_X509_NAME*); WOLFSSL_API int wolfSSL_X509_NAME_get_text_by_NID( WOLFSSL_X509_NAME*, int, char*, int); WOLFSSL_API int wolfSSL_X509_NAME_get_index_by_NID( WOLFSSL_X509_NAME*, int, int); WOLFSSL_API WOLFSSL_ASN1_STRING* wolfSSL_X509_NAME_ENTRY_get_data(WOLFSSL_X509_NAME_ENTRY*); + WOLFSSL_API WOLFSSL_ASN1_STRING* wolfSSL_ASN1_STRING_new(void); WOLFSSL_API WOLFSSL_ASN1_STRING* wolfSSL_ASN1_STRING_type_new(int type); WOLFSSL_API void wolfSSL_ASN1_STRING_free(WOLFSSL_ASN1_STRING* asn1); @@ -902,9 +976,10 @@ WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PUBKEY(WOLFSSL_EVP_PKEY** key, unsigned char** in, long inSz); WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PrivateKey(int type, WOLFSSL_EVP_PKEY** out, const unsigned char **in, long inSz); +WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PrivateKey_EVP(WOLFSSL_EVP_PKEY** key, + unsigned char** in, long inSz); WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_PKEY_new_ex(void* heap); WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_PKEY_new(void); -WOLFSSL_API void wolfSSL_EVP_PKEY_free(WOLFSSL_EVP_PKEY*); WOLFSSL_API int wolfSSL_X509_cmp_current_time(const WOLFSSL_ASN1_TIME*); WOLFSSL_API int wolfSSL_sk_X509_REVOKED_num(WOLFSSL_X509_REVOKED*); #ifdef OPENSSL_EXTRA @@ -916,6 +991,8 @@ WOLFSSL_API WOLFSSL_X509_REVOKED* wolfSSL_X509_CRL_get_REVOKED(WOLFSSL_X509_CRL* WOLFSSL_API WOLFSSL_X509_REVOKED* wolfSSL_sk_X509_REVOKED_value( WOLFSSL_X509_REVOKED*,int); WOLFSSL_API WOLFSSL_ASN1_INTEGER* wolfSSL_X509_get_serialNumber(WOLFSSL_X509*); +WOLFSSL_API void wolfSSL_ASN1_INTEGER_free(WOLFSSL_ASN1_INTEGER*); +WOLFSSL_API WOLFSSL_ASN1_INTEGER* wolfSSL_ASN1_INTEGER_new(void); WOLFSSL_API int wolfSSL_ASN1_TIME_print(WOLFSSL_BIO*, const WOLFSSL_ASN1_TIME*); @@ -928,11 +1005,11 @@ WOLFSSL_API long wolfSSL_ASN1_INTEGER_get(const WOLFSSL_ASN1_INTEGER*); #ifdef OPENSSL_EXTRA WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_ASN1_INTEGER_to_BN(const WOLFSSL_ASN1_INTEGER *ai, WOLFSSL_BIGNUM *bn); -WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME)* wolfSSL_load_client_CA_file(const char*); WOLFSSL_API WOLFSSL_ASN1_TIME* wolfSSL_ASN1_TIME_adj(WOLFSSL_ASN1_TIME*, time_t, int, long); #endif +WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME)* wolfSSL_load_client_CA_file(const char*); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME)* wolfSSL_SSL_CTX_get_client_CA_list( const WOLFSSL_CTX *s); WOLFSSL_API void wolfSSL_CTX_set_client_CA_list(WOLFSSL_CTX*, @@ -947,7 +1024,8 @@ WOLFSSL_API void wolfSSL_CTX_set_default_passwd_cb_userdata(WOLFSSL_CTX*, void* userdata); WOLFSSL_API void wolfSSL_CTX_set_default_passwd_cb(WOLFSSL_CTX*, pem_password_cb*); - +WOLFSSL_API pem_password_cb* wolfSSL_CTX_get_default_passwd_cb(WOLFSSL_CTX *ctx); +WOLFSSL_API void *wolfSSL_CTX_get_default_passwd_cb_userdata(WOLFSSL_CTX *ctx); WOLFSSL_API void wolfSSL_CTX_set_info_callback(WOLFSSL_CTX*, void (*)(const WOLFSSL* ssl, int type, int val)); @@ -961,8 +1039,14 @@ WOLFSSL_API const char* wolfSSL_state_string_long(const WOLFSSL*); WOLFSSL_API WOLFSSL_RSA* wolfSSL_RSA_generate_key(int, unsigned long, void(*)(int, int, void*), void*); -WOLFSSL_API void wolfSSL_CTX_set_tmp_rsa_callback(WOLFSSL_CTX*, - WOLFSSL_RSA*(*)(WOLFSSL*, int, int)); +WOLFSSL_API WOLFSSL_RSA *wolfSSL_d2i_RSAPublicKey(WOLFSSL_RSA **r, + const unsigned char **pp, long len); +WOLFSSL_API WOLFSSL_RSA *wolfSSL_d2i_RSAPrivateKey(WOLFSSL_RSA**, + const unsigned char**, long); +WOLFSSL_API int wolfSSL_i2d_RSAPublicKey(WOLFSSL_RSA *r, const unsigned char **pp); +WOLFSSL_API int wolfSSL_i2d_RSAPrivateKey(WOLFSSL_RSA *r, unsigned char **pp); +WOLFSSL_API void wolfSSL_CTX_set_tmp_rsa_callback(WOLFSSL_CTX *, + WOLFSSL_RSA *(*)(WOLFSSL *, int, int)); WOLFSSL_API int wolfSSL_PEM_def_callback(char*, int num, int w, void* key); @@ -1012,7 +1096,6 @@ WOLFSSL_API long wolfSSL_get_tlsext_status_exts(WOLFSSL *s, void *arg); WOLFSSL_API long wolfSSL_get_verify_result(const WOLFSSL *ssl); #define WOLFSSL_DEFAULT_CIPHER_LIST "" /* default all */ -#define WOLFSSL_RSA_F4 0x10001L enum { WOLFSSL_OCSP_URL_OVERRIDE = 1, @@ -1023,7 +1106,7 @@ enum { WOLFSSL_CRL_CHECK = 27, }; -#ifdef OPENSSL_EXTRA +#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER) /* seperated out from other enums because of size */ enum { SSL_OP_MICROSOFT_SESS_ID_BUG = 0x00000001, @@ -1112,8 +1195,6 @@ enum { BIO_CLOSE = 1, BIO_NOCLOSE = 0, - NID_undef = 0, - X509_FILETYPE_PEM = 8, X509_LU_X509 = 9, X509_LU_CRL = 12, @@ -1184,9 +1265,9 @@ enum { /* wolfSSL extension, provide last error from SSL_get_error since not using thread storage error queue */ #include -WOLFSSL_API void wolfSSL_ERR_print_errors_fp(FILE*, int err); +WOLFSSL_API void wolfSSL_ERR_print_errors_fp(XFILE, int err); #if defined(OPENSSL_EXTRA) || defined(DEBUG_WOLFSSL_VERBOSE) -WOLFSSL_API void wolfSSL_ERR_dump_errors_fp(FILE* fp); +WOLFSSL_API void wolfSSL_ERR_dump_errors_fp(XFILE fp); #endif #endif @@ -1314,6 +1395,14 @@ enum { /* ssl Constants */ wc_psk_client_callback); WOLFSSL_API void wolfSSL_set_psk_client_callback(WOLFSSL*, wc_psk_client_callback); +#ifdef WOLFSSL_TLS13 + typedef unsigned int (*wc_psk_client_tls13_callback)(WOLFSSL*, const char*, + char*, unsigned int, unsigned char*, unsigned int, const char**); + WOLFSSL_API void wolfSSL_CTX_set_psk_client_tls13_callback(WOLFSSL_CTX*, + wc_psk_client_tls13_callback); + WOLFSSL_API void wolfSSL_set_psk_client_tls13_callback(WOLFSSL*, + wc_psk_client_tls13_callback); +#endif WOLFSSL_API const char* wolfSSL_get_psk_identity_hint(const WOLFSSL*); WOLFSSL_API const char* wolfSSL_get_psk_identity(const WOLFSSL*); @@ -1327,6 +1416,14 @@ enum { /* ssl Constants */ wc_psk_server_callback); WOLFSSL_API void wolfSSL_set_psk_server_callback(WOLFSSL*, wc_psk_server_callback); +#ifdef WOLFSSL_TLS13 + typedef unsigned int (*wc_psk_server_tls13_callback)(WOLFSSL*, const char*, + unsigned char*, unsigned int, const char**); + WOLFSSL_API void wolfSSL_CTX_set_psk_server_tls13_callback(WOLFSSL_CTX*, + wc_psk_server_tls13_callback); + WOLFSSL_API void wolfSSL_set_psk_server_tls13_callback(WOLFSSL*, + wc_psk_server_tls13_callback); +#endif #define PSK_TYPES_DEFINED #endif /* NO_PSK */ @@ -1349,7 +1446,6 @@ enum { WOLFSSL_BIO_UNSET = -2, WOLFSSL_BIO_SIZE = 17000 /* default BIO write size if not set */ }; - #endif WOLFSSL_API void wolfSSL_ERR_put_error(int lib, int fun, int err, @@ -1376,7 +1472,6 @@ WOLFSSL_API long wolfSSL_CTX_clear_options(WOLFSSL_CTX*, long); WOLFSSL_API void wolfSSL_ERR_free_strings(void); WOLFSSL_API void wolfSSL_ERR_remove_state(unsigned long); -WOLFSSL_API void wolfSSL_EVP_cleanup(void); WOLFSSL_API int wolfSSL_clear(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_state(WOLFSSL* ssl); @@ -1401,8 +1496,9 @@ WOLFSSL_API int wolfSSL_ASN1_UTCTIME_print(WOLFSSL_BIO*, const WOLFSSL_ASN1_UTCTIME*); WOLFSSL_API int wolfSSL_ASN1_GENERALIZEDTIME_print(WOLFSSL_BIO*, const WOLFSSL_ASN1_GENERALIZEDTIME*); -WOLFSSL_API int wolfSSL_sk_num(WOLFSSL_X509_REVOKED*); -WOLFSSL_API void* wolfSSL_sk_value(WOLFSSL_X509_REVOKED*, int); +WOLFSSL_API void wolfSSL_ASN1_GENERALIZEDTIME_free(WOLFSSL_ASN1_GENERALIZEDTIME*); +WOLFSSL_API int wolfSSL_sk_num(WOLF_STACK_OF(WOLFSSL_ASN1_OBJECT)*); +WOLFSSL_API void* wolfSSL_sk_value(WOLF_STACK_OF(WOLFSSL_ASN1_OBJECT)*, int); /* stunnel 4.28 needs */ WOLFSSL_API void* wolfSSL_CTX_get_ex_data(const WOLFSSL_CTX*, int); @@ -1487,10 +1583,17 @@ WOLFSSL_API WOLFSSL_X509* wolfSSL_d2i_X509(WOLFSSL_X509** x509, WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_d2i(WOLFSSL_X509** x509, const unsigned char* in, int len); WOLFSSL_API int wolfSSL_i2d_X509(WOLFSSL_X509* x509, unsigned char** out); +WOLFSSL_API WOLFSSL_X509_CRL *wolfSSL_d2i_X509_CRL(WOLFSSL_X509_CRL **crl, + const unsigned char *in, int len); +#ifndef NO_FILESYSTEM +WOLFSSL_API WOLFSSL_X509_CRL *wolfSSL_d2i_X509_CRL_fp(XFILE file, WOLFSSL_X509_CRL **crl); +#endif +WOLFSSL_API void wolfSSL_X509_CRL_free(WOLFSSL_X509_CRL *crl); + #ifndef NO_FILESYSTEM #ifndef NO_STDIO_FILESYSTEM WOLFSSL_API WOLFSSL_X509* - wolfSSL_X509_d2i_fp(WOLFSSL_X509** x509, FILE* file); + wolfSSL_X509_d2i_fp(WOLFSSL_X509** x509, XFILE file); #endif WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_load_certificate_file(const char* fname, int format); @@ -1516,6 +1619,10 @@ WOLFSSL_API int wolfSSL_connect_cert(WOLFSSL* ssl); typedef struct WC_PKCS12 WC_PKCS12; WOLFSSL_API WC_PKCS12* wolfSSL_d2i_PKCS12_bio(WOLFSSL_BIO* bio, WC_PKCS12** pkcs12); +#ifndef NO_FILESYSTEM +WOLFSSL_API WOLFSSL_X509_PKCS12* wolfSSL_d2i_PKCS12_fp(XFILE fp, + WOLFSSL_X509_PKCS12** pkcs12); +#endif WOLFSSL_API int wolfSSL_PKCS12_parse(WC_PKCS12* pkcs12, const char* psw, WOLFSSL_EVP_PKEY** pkey, WOLFSSL_X509** cert, WOLF_STACK_OF(WOLFSSL_X509)** ca); @@ -1533,6 +1640,7 @@ WOLFSSL_API int wolfSSL_SetTmpDH(WOLFSSL*, const unsigned char* p, int pSz, const unsigned char* g, int gSz); WOLFSSL_API int wolfSSL_SetTmpDH_buffer(WOLFSSL*, const unsigned char* b, long sz, int format); +WOLFSSL_API int wolfSSL_SetEnableDhKeyTest(WOLFSSL*, int); #ifndef NO_FILESYSTEM WOLFSSL_API int wolfSSL_SetTmpDH_file(WOLFSSL*, const char* f, int format); #endif @@ -1550,6 +1658,8 @@ WOLFSSL_API int wolfSSL_CTX_SetTmpDH_buffer(WOLFSSL_CTX*, const unsigned char* WOLFSSL_API int wolfSSL_CTX_SetMinDhKey_Sz(WOLFSSL_CTX*, unsigned short); WOLFSSL_API int wolfSSL_SetMinDhKey_Sz(WOLFSSL*, unsigned short); +WOLFSSL_API int wolfSSL_CTX_SetMaxDhKey_Sz(WOLFSSL_CTX*, unsigned short); +WOLFSSL_API int wolfSSL_SetMaxDhKey_Sz(WOLFSSL*, unsigned short); WOLFSSL_API int wolfSSL_GetDhKey_Sz(WOLFSSL*); #endif /* NO_DH */ @@ -1586,7 +1696,7 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, #elif !defined(WOLFSSL_MDK_ARM) && !defined(WOLFSSL_IAR_ARM) && \ !defined(WOLFSSL_PICOTCP) && !defined(WOLFSSL_ROWLEY_ARM) && \ !defined(WOLFSSL_EMBOS) && !defined(WOLFSSL_FROSTED) && \ - !defined(WOLFSSL_CHIBIOS) + !defined(WOLFSSL_CHIBIOS) && !defined(WOLFSSL_CONTIKI) #include #endif /* allow writev style writing */ @@ -1606,6 +1716,8 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, #endif WOLFSSL_API int wolfSSL_CTX_load_verify_buffer(WOLFSSL_CTX*, const unsigned char*, long, int); + WOLFSSL_API int wolfSSL_CTX_load_verify_chain_buffer_format(WOLFSSL_CTX*, + const unsigned char*, long, int); WOLFSSL_API int wolfSSL_CTX_use_certificate_buffer(WOLFSSL_CTX*, const unsigned char*, long, int); WOLFSSL_API int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX*, @@ -1618,6 +1730,8 @@ WOLFSSL_API int wolfSSL_make_eap_keys(WOLFSSL*, void* key, unsigned int len, /* SSL versions */ WOLFSSL_API int wolfSSL_use_certificate_buffer(WOLFSSL*, const unsigned char*, long, int); + WOLFSSL_API int wolfSSL_use_certificate_ASN1(WOLFSSL* ssl, unsigned char* der, + int derSz); WOLFSSL_API int wolfSSL_use_PrivateKey_buffer(WOLFSSL*, const unsigned char*, long, int); WOLFSSL_API int wolfSSL_use_certificate_chain_buffer_format(WOLFSSL*, @@ -1690,21 +1804,14 @@ WOLFSSL_API int wolfSSL_GetOutputSize(WOLFSSL*, int); WOLFSSL_API int wolfSSL_GetMaxOutputSize(WOLFSSL*); WOLFSSL_API int wolfSSL_GetVersion(WOLFSSL* ssl); WOLFSSL_API int wolfSSL_SetVersion(WOLFSSL* ssl, int version); -WOLFSSL_API int wolfSSL_KeyPemToDer(const unsigned char*, int, - unsigned char*, int, const char*); -WOLFSSL_API int wolfSSL_CertPemToDer(const unsigned char*, int, - unsigned char*, int, int); -#if defined(WOLFSSL_CERT_EXT) || defined(WOLFSSL_PUB_PEM_TO_DER) - #ifndef WOLFSSL_PEMPUBKEY_TODER_DEFINED - #ifndef NO_FILESYSTEM - WOLFSSL_API int wolfSSL_PemPubKeyToDer(const char* fileName, - unsigned char* derBuf, int derSz); - #endif - WOLFSSL_API int wolfSSL_PubKeyPemToDer(const unsigned char*, int, - unsigned char*, int); - #define WOLFSSL_PEMPUBKEY_TODER_DEFINED - #endif /* WOLFSSL_PEMPUBKEY_TODER_DEFINED */ -#endif /* WOLFSSL_CERT_EXT || WOLFSSL_PUB_PEM_TO_DER*/ + +/* moved to asn.c, old names kept for backwards compatability */ +#define wolfSSL_KeyPemToDer wc_KeyPemToDer +#define wolfSSL_CertPemToDer wc_CertPemToDer +#define wolfSSL_PemPubKeyToDer wc_PemPubKeyToDer +#define wolfSSL_PubKeyPemToDer wc_PubKeyPemToDer +#define wolfSSL_PemCertToDer wc_PemCertToDer + typedef void (*CallbackCACache)(unsigned char* der, int sz, int type); typedef void (*CbMissingCRL)(const char* url); @@ -1793,6 +1900,17 @@ enum KDF_MacAlgorithm { /* Public Key Callback support */ +#ifdef HAVE_PK_CALLBACKS +#ifdef HAVE_ECC + +struct ecc_key; + +typedef int (*CallbackEccKeyGen)(WOLFSSL* ssl, struct ecc_key* key, + unsigned int keySz, int ecc_curve, void* ctx); +WOLFSSL_API void wolfSSL_CTX_SetEccKeyGenCb(WOLFSSL_CTX*, CallbackEccKeyGen); +WOLFSSL_API void wolfSSL_SetEccKeyGenCtx(WOLFSSL* ssl, void *ctx); +WOLFSSL_API void* wolfSSL_GetEccKeyGenCtx(WOLFSSL* ssl); + typedef int (*CallbackEccSign)(WOLFSSL* ssl, const unsigned char* in, unsigned int inSz, unsigned char* out, unsigned int* outSz, @@ -1811,7 +1929,6 @@ WOLFSSL_API void wolfSSL_CTX_SetEccVerifyCb(WOLFSSL_CTX*, CallbackEccVerify); WOLFSSL_API void wolfSSL_SetEccVerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEccVerifyCtx(WOLFSSL* ssl); -struct ecc_key; typedef int (*CallbackEccSharedSecret)(WOLFSSL* ssl, struct ecc_key* otherKey, unsigned char* pubKeyDer, unsigned int* pubKeySz, unsigned char* out, unsigned int* outlen, @@ -1819,6 +1936,7 @@ typedef int (*CallbackEccSharedSecret)(WOLFSSL* ssl, struct ecc_key* otherKey, WOLFSSL_API void wolfSSL_CTX_SetEccSharedSecretCb(WOLFSSL_CTX*, CallbackEccSharedSecret); WOLFSSL_API void wolfSSL_SetEccSharedSecretCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEccSharedSecretCtx(WOLFSSL* ssl); +#endif #ifndef NO_DH /* Public DH Key Callback support */ @@ -1833,6 +1951,7 @@ WOLFSSL_API void wolfSSL_SetDhAgreeCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl); #endif /* !NO_DH */ +#ifdef HAVE_ED25519 struct ed25519_key; typedef int (*CallbackEd25519Sign)(WOLFSSL* ssl, const unsigned char* in, unsigned int inSz, @@ -1853,8 +1972,17 @@ WOLFSSL_API void wolfSSL_CTX_SetEd25519VerifyCb(WOLFSSL_CTX*, CallbackEd25519Verify); WOLFSSL_API void wolfSSL_SetEd25519VerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetEd25519VerifyCtx(WOLFSSL* ssl); +#endif +#ifdef HAVE_CURVE25519 struct curve25519_key; + +typedef int (*CallbackX25519KeyGen)(WOLFSSL* ssl, struct curve25519_key* key, + unsigned int keySz, void* ctx); +WOLFSSL_API void wolfSSL_CTX_SetX25519KeyGenCb(WOLFSSL_CTX*, CallbackX25519KeyGen); +WOLFSSL_API void wolfSSL_SetX25519KeyGenCtx(WOLFSSL* ssl, void *ctx); +WOLFSSL_API void* wolfSSL_GetX25519KeyGenCtx(WOLFSSL* ssl); + typedef int (*CallbackX25519SharedSecret)(WOLFSSL* ssl, struct curve25519_key* otherKey, unsigned char* pubKeyDer, unsigned int* pubKeySz, @@ -1865,7 +1993,9 @@ WOLFSSL_API void wolfSSL_CTX_SetX25519SharedSecretCb(WOLFSSL_CTX*, CallbackX25519SharedSecret); WOLFSSL_API void wolfSSL_SetX25519SharedSecretCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetX25519SharedSecretCtx(WOLFSSL* ssl); +#endif +#ifndef NO_RSA typedef int (*CallbackRsaSign)(WOLFSSL* ssl, const unsigned char* in, unsigned int inSz, unsigned char* out, unsigned int* outSz, @@ -1881,6 +2011,7 @@ typedef int (*CallbackRsaVerify)(WOLFSSL* ssl, const unsigned char* keyDer, unsigned int keySz, void* ctx); WOLFSSL_API void wolfSSL_CTX_SetRsaVerifyCb(WOLFSSL_CTX*, CallbackRsaVerify); +WOLFSSL_API void wolfSSL_CTX_SetRsaSignCheckCb(WOLFSSL_CTX*, CallbackRsaVerify); WOLFSSL_API void wolfSSL_SetRsaVerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetRsaVerifyCtx(WOLFSSL* ssl); @@ -1903,6 +2034,8 @@ typedef int (*CallbackRsaPssVerify)(WOLFSSL* ssl, void* ctx); WOLFSSL_API void wolfSSL_CTX_SetRsaPssVerifyCb(WOLFSSL_CTX*, CallbackRsaPssVerify); +WOLFSSL_API void wolfSSL_CTX_SetRsaPssSignCheckCb(WOLFSSL_CTX*, + CallbackRsaPssVerify); WOLFSSL_API void wolfSSL_SetRsaPssVerifyCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetRsaPssVerifyCtx(WOLFSSL* ssl); #endif @@ -1926,7 +2059,8 @@ typedef int (*CallbackRsaDec)(WOLFSSL* ssl, WOLFSSL_API void wolfSSL_CTX_SetRsaDecCb(WOLFSSL_CTX*, CallbackRsaDec); WOLFSSL_API void wolfSSL_SetRsaDecCtx(WOLFSSL* ssl, void *ctx); WOLFSSL_API void* wolfSSL_GetRsaDecCtx(WOLFSSL* ssl); - +#endif +#endif /* HAVE_PK_CALLBACKS */ #ifndef NO_CERTS WOLFSSL_API void wolfSSL_CTX_SetCACb(WOLFSSL_CTX*, CallbackCACache); @@ -2112,7 +2246,7 @@ enum { WOLFSSL_MAX_ALPN_NUMBER = 257 }; -#if defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) +#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) typedef int (*CallbackALPNSelect)(WOLFSSL* ssl, const unsigned char** out, unsigned char* outLen, const unsigned char* in, unsigned int inLen, void *arg); @@ -2139,7 +2273,10 @@ enum { WOLFSSL_MFL_2_10 = 2, /* 1024 bytes */ WOLFSSL_MFL_2_11 = 3, /* 2048 bytes */ WOLFSSL_MFL_2_12 = 4, /* 4096 bytes */ - WOLFSSL_MFL_2_13 = 5 /* 8192 bytes *//* wolfSSL ONLY!!! */ + WOLFSSL_MFL_2_13 = 5, /* 8192 bytes *//* wolfSSL ONLY!!! */ + WOLFSSL_MFL_2_8 = 6, /* 256 bytes *//* wolfSSL ONLY!!! */ + WOLFSSL_MFL_MIN = WOLFSSL_MFL_2_9, + WOLFSSL_MFL_MAX = WOLFSSL_MFL_2_8, }; #ifndef NO_WOLFSSL_CLIENT @@ -2148,7 +2285,7 @@ WOLFSSL_API int wolfSSL_UseMaxFragment(WOLFSSL* ssl, unsigned char mfl); WOLFSSL_API int wolfSSL_CTX_UseMaxFragment(WOLFSSL_CTX* ctx, unsigned char mfl); #endif -#endif +#endif /* HAVE_MAX_FRAGMENT */ /* Truncated HMAC */ #ifdef HAVE_TRUNCATED_HMAC @@ -2297,7 +2434,6 @@ WOLFSSL_API int wolfSSL_set_SessionTicket_cb(WOLFSSL*, CallbackSessionTicket, void*); #endif /* NO_WOLFSSL_CLIENT */ -#ifndef NO_WOLFSSL_SERVER #define WOLFSSL_TICKET_NAME_SZ 16 #define WOLFSSL_TICKET_IV_SZ 16 @@ -2310,6 +2446,8 @@ enum TicketEncRet { WOLFSSL_TICKET_RET_CREATE /* existing ticket ok and create new one */ }; +#ifndef NO_WOLFSSL_SERVER + typedef int (*SessionTicketEncCb)(WOLFSSL*, unsigned char key_name[WOLFSSL_TICKET_NAME_SZ], unsigned char iv[WOLFSSL_TICKET_IV_SZ], @@ -2412,22 +2550,23 @@ WOLFSSL_API int wolfSSL_accept_ex(WOLFSSL*, HandShakeCallBack, TimeoutCallBack, WOLFSSL_API void wolfSSL_cert_service(void); #endif -#if (defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)) +#if defined(OPENSSL_ALL) || defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) /* Smaller subset of X509 compatibility functions. Avoid increasing the size of * this subset and its memory usage */ #include struct WOLFSSL_X509_NAME_ENTRY { - WOLFSSL_ASN1_OBJECT* object; /* not defined yet */ + WOLFSSL_ASN1_OBJECT object; /* static object just for keeping grp, type */ WOLFSSL_ASN1_STRING data; WOLFSSL_ASN1_STRING* value; /* points to data, for lighttpd port */ int nid; /* i.e. ASN_COMMON_NAME */ int set; int size; }; -#endif /* OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL */ +#endif /* OPENSSL_ALL || OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL */ -#ifdef OPENSSL_EXTRA + +#if defined(OPENSSL_EXTRA) || defined(OPENSSL_ALL) enum { WOLFSSL_SYS_ACCEPT = 0, @@ -2457,16 +2596,12 @@ WOLFSSL_API char* wolfSSL_OBJ_nid2ln(int n); WOLFSSL_API int wolfSSL_OBJ_txt2nid(const char *sn); WOLFSSL_API WOLFSSL_ASN1_OBJECT* wolfSSL_OBJ_nid2obj(int n); +WOLFSSL_LOCAL WOLFSSL_ASN1_OBJECT* wolfSSL_OBJ_nid2obj_ex(int n, WOLFSSL_ASN1_OBJECT *arg_obj); WOLFSSL_API int wolfSSL_OBJ_obj2txt(char *buf, int buf_len, WOLFSSL_ASN1_OBJECT *a, int no_name); WOLFSSL_API void wolfSSL_OBJ_cleanup(void); /* end of object functions */ -#ifndef NO_FILESYSTEM -WOLFSSL_API long wolfSSL_BIO_set_fp(WOLFSSL_BIO *bio, XFILE fp, int c); -WOLFSSL_API long wolfSSL_BIO_get_fp(WOLFSSL_BIO *bio, XFILE* fp); -#endif - WOLFSSL_API unsigned long wolfSSL_ERR_peek_last_error_line(const char **file, int *line); WOLFSSL_API long wolfSSL_ctrl(WOLFSSL* ssl, int cmd, long opt, void* pt); WOLFSSL_API long wolfSSL_CTX_ctrl(WOLFSSL_CTX* ctx, int cmd, long opt,void* pt); @@ -2477,6 +2612,9 @@ WOLFSSL_API WOLFSSL_X509_NAME_ENTRY* wolfSSL_X509_NAME_ENTRY_create_by_NID( unsigned char* data, int dataSz); WOLFSSL_API int wolfSSL_X509_NAME_add_entry(WOLFSSL_X509_NAME* name, WOLFSSL_X509_NAME_ENTRY* entry, int idx, int set); +WOLFSSL_API int wolfSSL_X509_NAME_add_entry_by_txt(WOLFSSL_X509_NAME *name, + const char *field, int type, const unsigned char *bytes, int len, int loc, + int set); WOLFSSL_API int wolfSSL_X509_NAME_cmp(const WOLFSSL_X509_NAME* x, const WOLFSSL_X509_NAME* y); WOLFSSL_API WOLFSSL_X509_NAME* wolfSSL_X509_NAME_new(void); @@ -2486,8 +2624,6 @@ WOLFSSL_API void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, WOLFSSL_API int wolfSSL_X509_digest(const WOLFSSL_X509* x509, const WOLFSSL_EVP_MD* digest, unsigned char* buf, unsigned int* len); WOLFSSL_API int wolfSSL_use_certificate(WOLFSSL* ssl, WOLFSSL_X509* x509); -WOLFSSL_API int wolfSSL_use_certificate_ASN1(WOLFSSL* ssl, unsigned char* der, - int derSz); WOLFSSL_API int wolfSSL_use_PrivateKey(WOLFSSL* ssl, WOLFSSL_EVP_PKEY* pkey); WOLFSSL_API int wolfSSL_use_PrivateKey_ASN1(int pri, WOLFSSL* ssl, unsigned char* der, long derSz); @@ -2507,21 +2643,33 @@ WOLFSSL_API int wolfSSL_SESSION_get_master_key_length(const WOLFSSL_SESSION* ses WOLFSSL_API void wolfSSL_CTX_set_cert_store(WOLFSSL_CTX* ctx, WOLFSSL_X509_STORE* str); WOLFSSL_API int wolfSSL_i2d_X509_bio(WOLFSSL_BIO* bio, WOLFSSL_X509* x509); +#if !defined(NO_FILESYSTEM) +WOLFSSL_API WOLFSSL_X509* wolfSSL_d2i_X509_fp(XFILE fp, + WOLFSSL_X509** x509); +#endif WOLFSSL_API WOLFSSL_X509* wolfSSL_d2i_X509_bio(WOLFSSL_BIO* bio, WOLFSSL_X509** x509); WOLFSSL_API WOLFSSL_X509_STORE* wolfSSL_CTX_get_cert_store(WOLFSSL_CTX* ctx); +WOLFSSL_API size_t wolfSSL_BIO_wpending(const WOLFSSL_BIO *bio); WOLFSSL_API size_t wolfSSL_BIO_ctrl_pending(WOLFSSL_BIO *b); WOLFSSL_API size_t wolfSSL_get_server_random(const WOLFSSL *ssl, unsigned char *out, size_t outlen); WOLFSSL_API size_t wolfSSL_get_client_random(const WOLFSSL* ssl, unsigned char* out, size_t outSz); -WOLFSSL_API pem_password_cb* wolfSSL_CTX_get_default_passwd_cb(WOLFSSL_CTX *ctx); -WOLFSSL_API void *wolfSSL_CTX_get_default_passwd_cb_userdata(WOLFSSL_CTX *ctx); WOLFSSL_API int wolfSSL_CTX_use_PrivateKey(WOLFSSL_CTX *ctx, WOLFSSL_EVP_PKEY *pkey); WOLFSSL_API WOLFSSL_X509 *wolfSSL_PEM_read_bio_X509(WOLFSSL_BIO *bp, WOLFSSL_X509 **x, pem_password_cb *cb, void *u); WOLFSSL_API WOLFSSL_X509 *wolfSSL_PEM_read_bio_X509_AUX (WOLFSSL_BIO *bp, WOLFSSL_X509 **x, pem_password_cb *cb, void *u); +#ifndef NO_FILESYSTEM +WOLFSSL_API WOLFSSL_X509_CRL *wolfSSL_PEM_read_X509_CRL(XFILE fp, + WOLFSSL_X509_CRL **x, pem_password_cb *cb, void *u); +#endif +WOLFSSL_API int wolfSSL_PEM_get_EVP_CIPHER_INFO(char* header, + EncryptedInfo* cipher); +WOLFSSL_API int wolfSSL_PEM_do_header(EncryptedInfo* cipher, + unsigned char* data, long* len, + pem_password_cb* callback, void* ctx); /*lighttp compatibility */ @@ -2533,11 +2681,13 @@ struct WOLFSSL_ASN1_BIT_STRING { }; -#if defined(HAVE_LIGHTY) || defined(WOLFSSL_MYSQL_COMPATIBLE) \ - || defined(HAVE_STUNNEL) \ - || defined(WOLFSSL_NGINX) \ - || defined(WOLFSSL_HAPROXY) \ - || defined(OPENSSL_EXTRA) +#if defined(OPENSSL_EXTRA) \ + || defined(OPENSSL_ALL) \ + || defined(HAVE_LIGHTY) \ + || defined(WOLFSSL_MYSQL_COMPATIBLE) \ + || defined(HAVE_STUNNEL) \ + || defined(WOLFSSL_NGINX) \ + || defined(WOLFSSL_HAPROXY) WOLFSSL_API void wolfSSL_X509_NAME_ENTRY_free(WOLFSSL_X509_NAME_ENTRY* ne); WOLFSSL_API WOLFSSL_X509_NAME_ENTRY* wolfSSL_X509_NAME_ENTRY_new(void); WOLFSSL_API void wolfSSL_X509_NAME_free(WOLFSSL_X509_NAME* name); @@ -2552,17 +2702,28 @@ WOLFSSL_API WOLFSSL_X509_NAME_ENTRY *wolfSSL_X509_NAME_get_entry(WOLFSSL_X509_NA WOLFSSL_API void wolfSSL_sk_X509_NAME_pop_free(WOLF_STACK_OF(WOLFSSL_X509_NAME)* sk, void f (WOLFSSL_X509_NAME*)); WOLFSSL_API unsigned char *wolfSSL_SHA1(const unsigned char *d, size_t n, unsigned char *md); WOLFSSL_API unsigned char *wolfSSL_SHA256(const unsigned char *d, size_t n, unsigned char *md); +WOLFSSL_API unsigned char *wolfSSL_SHA384(const unsigned char *d, size_t n, unsigned char *md); +WOLFSSL_API unsigned char *wolfSSL_SHA512(const unsigned char *d, size_t n, unsigned char *md); WOLFSSL_API int wolfSSL_X509_check_private_key(WOLFSSL_X509*, WOLFSSL_EVP_PKEY*); WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_NAME) *wolfSSL_dup_CA_list( WOLF_STACK_OF(WOLFSSL_X509_NAME) *sk ); +WOLFSSL_API int wolfSSL_X509_check_ca(WOLFSSL_X509 *x509); -/* end lighttpd*/ -#endif +#ifndef NO_FILESYSTEM +WOLFSSL_API long wolfSSL_BIO_set_fp(WOLFSSL_BIO *bio, XFILE fp, int c); +WOLFSSL_API long wolfSSL_BIO_get_fp(WOLFSSL_BIO *bio, XFILE* fp); #endif -#if defined(HAVE_STUNNEL) || defined(HAVE_LIGHTY) \ - || defined(WOLFSSL_MYSQL_COMPATIBLE) \ - || defined(WOLFSSL_HAPROXY) \ - || defined(OPENSSL_EXTRA) +#endif /* OPENSSL_EXTRA || OPENSSL_ALL || HAVE_LIGHTY || WOLFSSL_MYSQL_COMPATIBLE || HAVE_STUNNEL || WOLFSSL_NGINX || WOLFSSL_HAPROXY */ + +#endif /* OPENSSL_EXTRA || OPENSSL_ALL */ + + +#if defined(OPENSSL_ALL) \ + || defined(HAVE_STUNNEL) \ + || defined(HAVE_LIGHTY) \ + || defined(WOLFSSL_MYSQL_COMPATIBLE) \ + || defined(WOLFSSL_HAPROXY) \ + || defined(OPENSSL_EXTRA) WOLFSSL_API WOLFSSL_BIO* wolfSSL_BIO_new_file(const char *filename, const char *mode); WOLFSSL_API long wolfSSL_CTX_set_tmp_dh(WOLFSSL_CTX*, WOLFSSL_DH*); @@ -2576,9 +2737,25 @@ WOLFSSL_API int wolfSSL_PEM_write_bio_X509(WOLFSSL_BIO *bp, WOLFSSL_X509 *x); #endif /* HAVE_STUNNEL || HAVE_LIGHTY */ +#ifdef OPENSSL_ALL +WOLFSSL_API int wolfSSL_i2d_X509_REQ(WOLFSSL_X509* req, unsigned char** out); +WOLFSSL_API WOLFSSL_X509* wolfSSL_X509_REQ_new(void); +WOLFSSL_API void wolfSSL_X509_REQ_free(WOLFSSL_X509* req); +WOLFSSL_API int wolfSSL_X509_REQ_sign(WOLFSSL_X509 *req, WOLFSSL_EVP_PKEY *pkey, + const WOLFSSL_EVP_MD *md); +WOLFSSL_API int wolfSSL_X509_REQ_set_subject_name(WOLFSSL_X509 *req, + WOLFSSL_X509_NAME *name); +WOLFSSL_API int wolfSSL_X509_REQ_set_pubkey(WOLFSSL_X509 *req, + WOLFSSL_EVP_PKEY *pkey); +#endif -#if defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || \ - defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA) + +#if defined(OPENSSL_ALL) \ + || defined(HAVE_STUNNEL) \ + || defined(WOLFSSL_NGINX) \ + || defined(WOLFSSL_HAPROXY) \ + || defined(OPENSSL_EXTRA) \ + || defined(HAVE_LIGHTY) #include @@ -2611,6 +2788,7 @@ WOLFSSL_API int wolfSSL_CIPHER_get_bits(const WOLFSSL_CIPHER *c, int *alg_bits); WOLFSSL_API int wolfSSL_sk_X509_NAME_num(const WOLF_STACK_OF(WOLFSSL_X509_NAME) *s); +WOLFSSL_API WOLFSSL_STACK* wolfSSL_sk_X509_new(void); WOLFSSL_API int wolfSSL_sk_X509_num(const WOLF_STACK_OF(WOLFSSL_X509) *s); WOLFSSL_API int wolfSSL_X509_NAME_print_ex(WOLFSSL_BIO*,WOLFSSL_X509_NAME*,int, @@ -2621,8 +2799,6 @@ WOLFSSL_API WOLFSSL_ASN1_BIT_STRING* wolfSSL_X509_get0_pubkey_bitstr( WOLFSSL_API int wolfSSL_CTX_add_session(WOLFSSL_CTX*, WOLFSSL_SESSION*); -WOLFSSL_API WOLFSSL_CTX* wolfSSL_get_SSL_CTX(WOLFSSL* ssl); - WOLFSSL_API int wolfSSL_version(WOLFSSL*); WOLFSSL_API int wolfSSL_get_state(const WOLFSSL*); @@ -2652,6 +2828,8 @@ WOLFSSL_API WOLFSSL_CTX* wolfSSL_set_SSL_CTX(WOLFSSL*,WOLFSSL_CTX*); WOLFSSL_API VerifyCallback wolfSSL_CTX_get_verify_callback(WOLFSSL_CTX*); +WOLFSSL_API VerifyCallback wolfSSL_get_verify_callback(WOLFSSL*); + WOLFSSL_API void wolfSSL_CTX_set_servername_callback(WOLFSSL_CTX *, CallbackSniRecv); WOLFSSL_API int wolfSSL_CTX_set_tlsext_servername_callback(WOLFSSL_CTX *, @@ -2659,10 +2837,13 @@ WOLFSSL_API int wolfSSL_CTX_set_tlsext_servername_callback(WOLFSSL_CTX *, WOLFSSL_API void wolfSSL_CTX_set_servername_arg(WOLFSSL_CTX *, void*); -WOLFSSL_API void WOLFSSL_ERR_remove_thread_state(void*); +WOLFSSL_API void wolfSSL_ERR_remove_thread_state(void*); + +/* support for depricated old name */ +#define WOLFSSL_ERR_remove_thread_state wolfSSL_ERR_remove_thread_state #ifndef NO_FILESYSTEM -WOLFSSL_API void wolfSSL_print_all_errors_fp(XFILE *fp); +WOLFSSL_API void wolfSSL_print_all_errors_fp(XFILE fp); #endif WOLFSSL_API void wolfSSL_THREADID_set_callback(void (*threadid_func)(void*)); @@ -2673,10 +2854,11 @@ WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_X509_STORE_get1_certs( WOLFSSL_X509_STORE_CTX*, WOLFSSL_X509_NAME*); WOLFSSL_API void wolfSSL_sk_X509_pop_free(WOLF_STACK_OF(WOLFSSL_X509)* sk, void f (WOLFSSL_X509*)); -#endif /* HAVE_STUNNEL || WOLFSSL_NGINX || WOLFSSL_HAPROXY */ +#endif /* OPENSSL_ALL || HAVE_STUNNEL || WOLFSSL_NGINX || WOLFSSL_HAPROXY || HAVE_LIGHTY */ -#if defined(HAVE_STUNNEL) || defined(WOLFSSL_MYSQL_COMPATIBLE) \ - || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) +#if defined(OPENSSL_ALL) || \ + defined(HAVE_STUNNEL) || defined(WOLFSSL_MYSQL_COMPATIBLE) || \ + defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) WOLFSSL_API int wolfSSL_CTX_get_verify_mode(WOLFSSL_CTX* ctx); @@ -2713,19 +2895,24 @@ WOLFSSL_API void *wolfSSL_OPENSSL_memdup(const void *data, WOLFSSL_API void wolfSSL_ERR_load_BIO_strings(void); #endif -#if defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) || \ - defined(OPENSSL_EXTRA) +#if defined(OPENSSL_ALL) \ + || defined(WOLFSSL_NGINX) \ + || defined(WOLFSSL_HAPROXY) \ + || defined(OPENSSL_EXTRA) WOLFSSL_API void wolfSSL_OPENSSL_config(char *config_name); #endif -#if defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) +#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) /* Not an OpenSSL API. */ WOLFSSL_LOCAL int wolfSSL_get_ocsp_response(WOLFSSL* ssl, byte** response); /* Not an OpenSSL API. */ WOLFSSL_LOCAL char* wolfSSL_get_ocsp_url(WOLFSSL* ssl); /* Not an OpenSSL API. */ WOLFSSL_API int wolfSSL_set_ocsp_url(WOLFSSL* ssl, char* url); +#endif +#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) \ + || defined(OPENSSL_EXTRA) || defined(HAVE_LIGHTY) WOLFSSL_API WOLF_STACK_OF(WOLFSSL_CIPHER) *wolfSSL_get_ciphers_compat(const WOLFSSL *ssl); WOLFSSL_API int wolfSSL_X509_get_ex_new_index(int idx, void *arg, void *a, void *b, void *c); @@ -2761,7 +2948,8 @@ WOLFSSL_API int wolfSSL_CTX_set_tlsext_ticket_key_cb(WOLFSSL_CTX *, int (*)( WOLFSSL_EVP_CIPHER_CTX *ectx, WOLFSSL_HMAC_CTX *hctx, int enc)); #endif -#ifdef HAVE_OCSP +#if defined(HAVE_OCSP) || defined(OPENSSL_EXTRA) || defined(OPENSSL_ALL) || \ + defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) WOLFSSL_API int wolfSSL_CTX_get_extra_chain_certs(WOLFSSL_CTX* ctx, WOLF_STACK_OF(X509)** chain); WOLFSSL_API int wolfSSL_CTX_set_tlsext_status_cb(WOLFSSL_CTX* ctx, @@ -2785,7 +2973,8 @@ WOLFSSL_API char* wolfSSL_sk_WOLFSSL_STRING_value( WOLFSSL_API int PEM_write_bio_WOLFSSL_X509(WOLFSSL_BIO *bio, WOLFSSL_X509 *cert); -#endif /* WOLFSSL_NGINX */ +#endif /* OPENSSL_ALL || WOLFSSL_NGINX || WOLFSSL_HAPROXY || + OPENSSL_EXTRA || HAVE_LIGHTY*/ WOLFSSL_API void wolfSSL_get0_alpn_selected(const WOLFSSL *ssl, const unsigned char **data, unsigned int *len); @@ -2818,7 +3007,7 @@ WOLFSSL_API void wolfSSL_get0_next_proto_negotiated(const WOLFSSL *s, const unsi #ifdef OPENSSL_EXTRA -#if defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) +#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) WOLFSSL_API const unsigned char *SSL_SESSION_get0_id_context( const WOLFSSL_SESSION *sess, unsigned int *sid_ctx_length); WOLFSSL_API size_t SSL_get_finished(const WOLFSSL *s, void *buf, size_t count); @@ -2835,14 +3024,38 @@ WOLFSSL_API int i2t_ASN1_OBJECT(char *buf, int buf_len, WOLFSSL_ASN1_OBJECT *a); WOLFSSL_API void SSL_CTX_set_tmp_dh_callback(WOLFSSL_CTX *ctx, WOLFSSL_DH *(*dh) (WOLFSSL *ssl, int is_export, int keylength)); WOLFSSL_API WOLF_STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); WOLFSSL_API int X509_STORE_load_locations(WOLFSSL_X509_STORE *ctx, const char *file, const char *dir); +WOLFSSL_API int wolfSSL_X509_STORE_add_crl(WOLFSSL_X509_STORE *ctx, WOLFSSL_X509_CRL *x); WOLFSSL_API int wolfSSL_sk_SSL_CIPHER_num(const void * p); WOLFSSL_API int wolfSSL_sk_SSL_COMP_zero(WOLFSSL_STACK* st); WOLFSSL_API WOLFSSL_CIPHER* wolfSSL_sk_SSL_CIPHER_value(void *ciphers, int idx); WOLFSSL_API void ERR_load_SSL_strings(void); WOLFSSL_API void wolfSSL_EC_POINT_dump(const char *msg, const WOLFSSL_EC_POINT *p); +WOLFSSL_API const char *wolfSSL_ASN1_tag2str(int tag); +WOLFSSL_API int wolfSSL_ASN1_STRING_print_ex(WOLFSSL_BIO *out, WOLFSSL_ASN1_STRING *str, unsigned long flags); +WOLFSSL_API int wolfSSL_ASN1_TIME_get_length(WOLFSSL_ASN1_TIME *t); +WOLFSSL_API unsigned char* wolfSSL_ASN1_TIME_get_data(WOLFSSL_ASN1_TIME *t); +WOLFSSL_API WOLFSSL_ASN1_TIME *wolfSSL_ASN1_TIME_to_generalizedtime(WOLFSSL_ASN1_TIME *t, + WOLFSSL_ASN1_TIME **out); +WOLFSSL_API int wolfSSL_i2c_ASN1_INTEGER(WOLFSSL_ASN1_INTEGER *a, unsigned char **pp); +WOLFSSL_API int wolfSSL_X509_CA_num(WOLFSSL_X509_STORE *store); +WOLFSSL_API long wolfSSL_X509_get_version(const WOLFSSL_X509 *x); +WOLFSSL_API int wolfSSL_X509_get_signature_nid(const WOLFSSL_X509* x); + +WOLFSSL_API int wolfSSL_PEM_write_bio_PKCS8PrivateKey(WOLFSSL_BIO* bio, + WOLFSSL_EVP_PKEY* pkey, const WOLFSSL_EVP_CIPHER* enc, char* passwd, + int passwdSz, pem_password_cb* cb, void* ctx); +WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_PKCS8PrivateKey_bio(WOLFSSL_BIO* bio, + WOLFSSL_EVP_PKEY** pkey, pem_password_cb* cb, void* u); +WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_d2i_AutoPrivateKey( + WOLFSSL_EVP_PKEY** pkey, const unsigned char** data, long length); + #endif /* OPENSSL_EXTRA */ +#ifdef HAVE_PK_CALLBACKS +WOLFSSL_API int wolfSSL_CTX_IsPrivatePkSet(WOLFSSL_CTX* ctx); +#endif + #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/version.h b/components/ssl/wolfssl/wolfssl/wolfssl/version.h index 66cc4388..3f636b3f 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/version.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/version.h @@ -1,12 +1,12 @@ /* wolfssl_version.h.in * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -19,8 +19,8 @@ extern "C" { #endif -#define LIBWOLFSSL_VERSION_STRING "3.14.0" -#define LIBWOLFSSL_VERSION_HEX 0x03014000 +#define LIBWOLFSSL_VERSION_STRING "3.15.7" +#define LIBWOLFSSL_VERSION_HEX 0x03015007 #ifdef __cplusplus } diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/aes.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/aes.h index adc67846..0361beab 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/aes.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/aes.h @@ -1,15 +1,19 @@ /* aes.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/aes.h +*/ + #ifndef WOLF_CRYPT_AES_H #define WOLF_CRYPT_AES_H @@ -18,8 +22,14 @@ #ifndef NO_AES +#if defined(HAVE_FIPS) && \ + defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2) + #include +#endif /* HAVE_FIPS_VERSION >= 2 */ + /* included for fips @wc_fips */ -#ifdef HAVE_FIPS +#if defined(HAVE_FIPS) && \ + (!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2)) #include #if defined(CYASSL_AES_COUNTER) && !defined(WOLFSSL_AES_COUNTER) #define WOLFSSL_AES_COUNTER @@ -29,7 +39,12 @@ #endif #endif -#ifndef HAVE_FIPS /* to avoid redefinition of macros */ +#ifndef WC_NO_RNG + #include +#endif +#ifdef STM32_CRYPTO + #include +#endif #ifdef WOLFSSL_AESNI @@ -39,28 +54,67 @@ #endif /* WOLFSSL_AESNI */ + #ifdef WOLFSSL_XILINX_CRYPT #include "xsecure_aes.h" #endif -#endif /* HAVE_FIPS */ +#ifdef WOLFSSL_AFALG +/* included for struct msghdr */ +#include +#endif + +#if defined(WOLFSSL_DEVCRYPTO_AES) || defined(WOLFSSL_DEVCRYPTO_CBC) +#include +#endif + +#if defined(HAVE_AESGCM) && !defined(WC_NO_RNG) + #include +#endif + #ifdef __cplusplus extern "C" { #endif -#ifndef HAVE_FIPS /* to avoid redefinition of structures */ +/* these are required for FIPS and non-FIPS */ +enum { + AES_128_KEY_SIZE = 16, /* for 128 bit */ + AES_192_KEY_SIZE = 24, /* for 192 bit */ + AES_256_KEY_SIZE = 32, /* for 256 bit */ + + AES_IV_SIZE = 16, /* always block size */ +}; + + +/* avoid redefinition of structs */ +#if !defined(HAVE_FIPS) || \ + (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)) #ifdef WOLFSSL_ASYNC_CRYPT #include #endif enum { - AES_ENC_TYPE = 1, /* cipher unique type */ + AES_ENC_TYPE = WC_CIPHER_AES, /* cipher unique type */ AES_ENCRYPTION = 0, AES_DECRYPTION = 1, - KEYWRAP_BLOCK_SIZE = 8, - AES_BLOCK_SIZE = 16 + + AES_BLOCK_SIZE = 16, + + KEYWRAP_BLOCK_SIZE = 8, + + GCM_NONCE_MAX_SZ = 16, /* wolfCrypt's maximum nonce size allowed. */ + GCM_NONCE_MID_SZ = 12, /* The usual default nonce size for AES-GCM. */ + GCM_NONCE_MIN_SZ = 8, /* wolfCrypt's minimum nonce size allowed. */ + CCM_NONCE_MIN_SZ = 7, + CCM_NONCE_MAX_SZ = 13, + CTR_SZ = 4, + AES_IV_FIXED_SZ = 4, + +#ifdef HAVE_PKCS11 + AES_MAX_ID_LEN = 32, +#endif }; @@ -73,6 +127,10 @@ typedef struct Aes { ALIGN16 word32 reg[AES_BLOCK_SIZE / sizeof(word32)]; /* for CBC mode */ ALIGN16 word32 tmp[AES_BLOCK_SIZE / sizeof(word32)]; /* same */ +#if defined(HAVE_AESGCM) || defined(HAVE_AESCCM) + word32 invokeCtr[2]; + word32 nonceSz; +#endif #ifdef HAVE_AESGCM ALIGN16 byte H[AES_BLOCK_SIZE]; #ifdef GCM_TABLE @@ -83,6 +141,13 @@ typedef struct Aes { #ifdef WOLFSSL_AESNI byte use_aesni; #endif /* WOLFSSL_AESNI */ +#ifdef WOLF_CRYPTO_DEV + int devId; +#endif +#ifdef HAVE_PKCS11 + byte id[AES_MAX_ID_LEN]; + int idLen; +#endif #ifdef WOLFSSL_ASYNC_CRYPT word32 asyncKey[AES_MAX_KEY_SIZE/8/sizeof(word32)]; /* raw key */ word32 asyncIv[AES_BLOCK_SIZE/sizeof(word32)]; /* raw IV */ @@ -96,6 +161,17 @@ typedef struct Aes { XCsuDma dma; word32 key_init[8]; word32 kup; +#endif +#ifdef WOLFSSL_AFALG + int alFd; /* server socket to bind to */ + int rdFd; /* socket to read from */ + struct msghdr msg; + int dir; /* flag for encrpyt or decrypt */ +#endif +#if defined(WOLFSSL_DEVCRYPTO) && \ + (defined(WOLFSSL_DEVCRYPTO_AES) || defined(WOLFSSL_DEVCRYPTO_CBC)) + word32 devKey[AES_MAX_KEY_SIZE/WOLFSSL_BIT_SIZE/sizeof(word32)]; /* raw key */ + WC_CRYPTODEV ctx; #endif void* heap; /* memory hint to use */ } Aes; @@ -131,10 +207,13 @@ typedef int (*wc_AesAuthDecryptFunc)(Aes* aes, byte* out, WOLFSSL_API int wc_AesSetKey(Aes* aes, const byte* key, word32 len, const byte* iv, int dir); WOLFSSL_API int wc_AesSetIV(Aes* aes, const byte* iv); + +#ifdef HAVE_AES_CBC WOLFSSL_API int wc_AesCbcEncrypt(Aes* aes, byte* out, const byte* in, word32 sz); WOLFSSL_API int wc_AesCbcDecrypt(Aes* aes, byte* out, const byte* in, word32 sz); +#endif #ifdef WOLFSSL_AES_CFB WOLFSSL_API int wc_AesCfbEncrypt(Aes* aes, byte* out, @@ -164,6 +243,7 @@ WOLFSSL_API int wc_AesEcbDecrypt(Aes* aes, byte* out, WOLFSSL_API int wc_AesSetKeyDirect(Aes* aes, const byte* key, word32 len, const byte* iv, int dir); #endif + #ifdef HAVE_AESGCM #ifdef WOLFSSL_XILINX_CRYPT WOLFSSL_API int wc_AesGcmSetKey_ex(Aes* aes, const byte* key, word32 len, @@ -181,10 +261,31 @@ WOLFSSL_API int wc_AesEcbDecrypt(Aes* aes, byte* out, const byte* authTag, word32 authTagSz, const byte* authIn, word32 authInSz); +#ifndef WC_NO_RNG + WOLFSSL_API int wc_AesGcmSetExtIV(Aes* aes, const byte* iv, word32 ivSz); + WOLFSSL_API int wc_AesGcmSetIV(Aes* aes, word32 ivSz, + const byte* ivFixed, word32 ivFixedSz, + WC_RNG* rng); + WOLFSSL_API int wc_AesGcmEncrypt_ex(Aes* aes, byte* out, + const byte* in, word32 sz, + byte* ivOut, word32 ivOutSz, + byte* authTag, word32 authTagSz, + const byte* authIn, word32 authInSz); +#endif /* WC_NO_RNG */ + WOLFSSL_API int wc_GmacSetKey(Gmac* gmac, const byte* key, word32 len); WOLFSSL_API int wc_GmacUpdate(Gmac* gmac, const byte* iv, word32 ivSz, const byte* authIn, word32 authInSz, byte* authTag, word32 authTagSz); +#ifndef WC_NO_RNG + WOLFSSL_API int wc_Gmac(const byte* key, word32 keySz, byte* iv, word32 ivSz, + const byte* authIn, word32 authInSz, + byte* authTag, word32 authTagSz, WC_RNG* rng); + WOLFSSL_API int wc_GmacVerify(const byte* key, word32 keySz, + const byte* iv, word32 ivSz, + const byte* authIn, word32 authInSz, + const byte* authTag, word32 authTagSz); +#endif /* WC_NO_RNG */ WOLFSSL_LOCAL void GHASH(Aes* aes, const byte* a, word32 aSz, const byte* c, word32 cSz, byte* s, word32 sSz); #endif /* HAVE_AESGCM */ @@ -200,6 +301,13 @@ WOLFSSL_API int wc_AesEcbDecrypt(Aes* aes, byte* out, const byte* nonce, word32 nonceSz, const byte* authTag, word32 authTagSz, const byte* authIn, word32 authInSz); + WOLFSSL_API int wc_AesCcmSetNonce(Aes* aes, + const byte* nonce, word32 nonceSz); + WOLFSSL_API int wc_AesCcmEncrypt_ex(Aes* aes, byte* out, + const byte* in, word32 sz, + byte* ivOut, word32 ivOutSz, + byte* authTag, word32 authTagSz, + const byte* authIn, word32 authInSz); #endif /* HAVE_AESCCM */ #ifdef HAVE_AES_KEYWRAP WOLFSSL_API int wc_AesKeyWrap(const byte* key, word32 keySz, @@ -213,233 +321,33 @@ WOLFSSL_API int wc_AesEcbDecrypt(Aes* aes, byte* out, #endif /* HAVE_AES_KEYWRAP */ #ifdef WOLFSSL_AES_XTS -/*! - \ingroup AES - \brief This is to help with setting keys to correct encrypt or decrypt type. - - \note Is up to user to call wc_AesXtsFree on aes key when done. - - \return 0 Success - - \param aes AES keys for encrypt/decrypt process - \param key buffer holding aes key | tweak key - \param len length of key buffer in bytes. Should be twice that of key size. - i.e. 32 for a 16 byte key. - \param dir direction, either AES_ENCRYPTION or AES_DECRYPTION - \param heap heap hint to use for memory. Can be NULL - \param devId id to use with async crypto. Can be 0 - - _Example_ - \code - XtsAes aes; - - if(wc_AesXtsSetKey(&aes, key, sizeof(key), AES_ENCRYPTION, NULL, 0) != 0) - { - // Handle error - } - wc_AesXtsFree(&aes); - \endcode - - \sa wc_AesXtsEncrypt - \sa wc_AesXtsDecrypt - \sa wc_AesXtsFree -*/ WOLFSSL_API int wc_AesXtsSetKey(XtsAes* aes, const byte* key, word32 len, int dir, void* heap, int devId); - -/*! - \ingroup AES - - \brief Same process as wc_AesXtsEncrypt but uses a word64 type as the tweak - value instead of a byte array. This just converts the word64 to a - byte array and calls wc_AesXtsEncrypt. - - \return 0 Success - - \param aes AES keys to use for block encrypt/decrypt - \param out output buffer to hold cipher text - \param in input plain text buffer to encrypt - \param sz size of both out and in buffers - \param sector value to use for tweak - - _Example_ - \code - XtsAes aes; - unsigned char plain[SIZE]; - unsigned char cipher[SIZE]; - word64 s = VALUE; - - //set up keys with AES_ENCRYPTION as dir - - if(wc_AesXtsEncryptSector(&aes, cipher, plain, SIZE, s) != 0) - { - // Handle error - } - wc_AesXtsFree(&aes); - \endcode - - \sa wc_AesXtsEncrypt - \sa wc_AesXtsDecrypt - \sa wc_AesXtsSetKey - \sa wc_AesXtsFree -*/ WOLFSSL_API int wc_AesXtsEncryptSector(XtsAes* aes, byte* out, const byte* in, word32 sz, word64 sector); - -/*! - \ingroup AES - - \brief Same process as wc_AesXtsDecrypt but uses a word64 type as the tweak - value instead of a byte array. This just converts the word64 to a - byte array. - - \return 0 Success - - \param aes AES keys to use for block encrypt/decrypt - \param out output buffer to hold plain text - \param in input cipher text buffer to decrypt - \param sz size of both out and in buffers - \param sector value to use for tweak - - _Example_ - \code - XtsAes aes; - unsigned char plain[SIZE]; - unsigned char cipher[SIZE]; - word64 s = VALUE; - - //set up aes key with AES_DECRYPTION as dir and tweak with AES_ENCRYPTION - - if(wc_AesXtsDecryptSector(&aes, plain, cipher, SIZE, s) != 0) - { - // Handle error - } - wc_AesXtsFree(&aes); - \endcode - - \sa wc_AesXtsEncrypt - \sa wc_AesXtsDecrypt - \sa wc_AesXtsSetKey - \sa wc_AesXtsFree -*/ WOLFSSL_API int wc_AesXtsDecryptSector(XtsAes* aes, byte* out, const byte* in, word32 sz, word64 sector); - -/*! - \ingroup AES - - \brief AES with XTS mode. (XTS) XEX encryption with Tweak and cipher text - Stealing. - - \return 0 Success - - \param aes AES keys to use for block encrypt/decrypt - \param out output buffer to hold cipher text - \param in input plain text buffer to encrypt - \param sz size of both out and in buffers - \param i value to use for tweak - \param iSz size of i buffer, should always be AES_BLOCK_SIZE but having - this input adds a sanity check on how the user calls the - function. - - _Example_ - \code - XtsAes aes; - unsigned char plain[SIZE]; - unsigned char cipher[SIZE]; - unsigned char i[AES_BLOCK_SIZE]; - - //set up key with AES_ENCRYPTION as dir - - if(wc_AesXtsEncrypt(&aes, cipher, plain, SIZE, i, sizeof(i)) != 0) - { - // Handle error - } - wc_AesXtsFree(&aes); - \endcode - - \sa wc_AesXtsDecrypt - \sa wc_AesXtsSetKey - \sa wc_AesXtsFree -*/ WOLFSSL_API int wc_AesXtsEncrypt(XtsAes* aes, byte* out, const byte* in, word32 sz, const byte* i, word32 iSz); - -/*! - \ingroup AES - - \brief Same process as encryption but Aes key is AES_DECRYPTION type. - - \return 0 Success - - \param aes AES keys to use for block encrypt/decrypt - \param out output buffer to hold plain text - \param in input cipher text buffer to decrypt - \param sz size of both out and in buffers - \param i value to use for tweak - \param iSz size of i buffer, should always be AES_BLOCK_SIZE but having - this input adds a sanity check on how the user calls the - function. - _Example_ - \code - XtsAes aes; - unsigned char plain[SIZE]; - unsigned char cipher[SIZE]; - unsigned char i[AES_BLOCK_SIZE]; - - //set up key with AES_DECRYPTION as dir and tweak with AES_ENCRYPTION - - if(wc_AesXtsDecrypt(&aes, plain, cipher, SIZE, i, sizeof(i)) != 0) - { - // Handle error - } - wc_AesXtsFree(&aes); - \endcode - - \sa wc_AesXtsEncrypt - \sa wc_AesXtsSetKey - \sa wc_AesXtsFree -*/ WOLFSSL_API int wc_AesXtsDecrypt(XtsAes* aes, byte* out, const byte* in, word32 sz, const byte* i, word32 iSz); - -/*! - \ingroup AES - - \brief This is to free up any resources used by the XtsAes structure - - \return 0 Success - - \param aes AES keys to free - - _Example_ - \code - XtsAes aes; - - if(wc_AesXtsSetKey(&aes, key, sizeof(key), AES_ENCRYPTION, NULL, 0) != 0) - { - // Handle error - } - wc_AesXtsFree(&aes); - \endcode - - \sa wc_AesXtsEncrypt - \sa wc_AesXtsDecrypt - \sa wc_AesXtsSetKey -*/ WOLFSSL_API int wc_AesXtsFree(XtsAes* aes); #endif WOLFSSL_API int wc_AesGetKeySize(Aes* aes, word32* keySize); -WOLFSSL_API int wc_AesInit(Aes*, void*, int); -WOLFSSL_API void wc_AesFree(Aes*); +WOLFSSL_API int wc_AesInit(Aes* aes, void* heap, int devId); +#ifdef HAVE_PKCS11 +WOLFSSL_API int wc_AesInit_Id(Aes* aes, unsigned char* id, int len, void* heap, + int devId); +#endif +WOLFSSL_API void wc_AesFree(Aes* aes); #ifdef __cplusplus } /* extern "C" */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/arc4.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/arc4.h index f14216d3..df9a6180 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/arc4.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/arc4.h @@ -1,16 +1,18 @@ /* arc4.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ - +/*! + \file wolfssl/wolfcrypt/arc4.h +*/ #ifndef WOLF_CRYPT_ARC4_H #define WOLF_CRYPT_ARC4_H @@ -27,7 +29,8 @@ enum { ARC4_ENC_TYPE = 4, /* cipher unique type */ - ARC4_STATE_SIZE = 256 + ARC4_STATE_SIZE = 256, + RC4_KEY_SIZE = 16, /* always 128bit */ }; /* ARC4 encryption and decryption */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/asn_public.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/asn_public.h new file mode 100644 index 00000000..b1971f7c --- /dev/null +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/asn_public.h @@ -0,0 +1,507 @@ +/* asn_public.h + * + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. + * + * This file is part of wolfSSL. + * + * Contact licensing@wolfssl.com with any questions or comments. + * + * https://www.wolfssl.com + */ + + +/*! + \file wolfssl/wolfcrypt/asn_public.h +*/ + +#ifndef WOLF_CRYPT_ASN_PUBLIC_H +#define WOLF_CRYPT_ASN_PUBLIC_H + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/* guard on redeclaration */ +#ifndef WC_ECCKEY_TYPE_DEFINED + typedef struct ecc_key ecc_key; + #define WC_ECCKEY_TYPE_DEFINED +#endif +#ifndef WC_ED25519KEY_TYPE_DEFINED + typedef struct ed25519_key ed25519_key; + #define WC_ED25519KEY_TYPE_DEFINED +#endif +#ifndef WC_RSAKEY_TYPE_DEFINED + typedef struct RsaKey RsaKey; + #define WC_RSAKEY_TYPE_DEFINED +#endif +#ifndef WC_RNG_TYPE_DEFINED + typedef struct WC_RNG WC_RNG; + #define WC_RNG_TYPE_DEFINED +#endif + + +/* Certificate file Type */ +enum CertType { + CERT_TYPE = 0, + PRIVATEKEY_TYPE, + DH_PARAM_TYPE, + DSA_PARAM_TYPE, + CRL_TYPE, + CA_TYPE, + ECC_PRIVATEKEY_TYPE, + DSA_PRIVATEKEY_TYPE, + CERTREQ_TYPE, + DSA_TYPE, + ECC_TYPE, + RSA_TYPE, + PUBLICKEY_TYPE, + RSA_PUBLICKEY_TYPE, + ECC_PUBLICKEY_TYPE, + TRUSTED_PEER_TYPE, + EDDSA_PRIVATEKEY_TYPE, + ED25519_TYPE, + PKCS12_TYPE, + PKCS8_PRIVATEKEY_TYPE, + PKCS8_ENC_PRIVATEKEY_TYPE +}; + + +/* Signature type, by OID sum */ +enum Ctc_SigType { + CTC_SHAwDSA = 517, + CTC_MD2wRSA = 646, + CTC_MD5wRSA = 648, + CTC_SHAwRSA = 649, + CTC_SHAwECDSA = 520, + CTC_SHA224wRSA = 658, + CTC_SHA224wECDSA = 523, + CTC_SHA256wRSA = 655, + CTC_SHA256wECDSA = 524, + CTC_SHA384wRSA = 656, + CTC_SHA384wECDSA = 525, + CTC_SHA512wRSA = 657, + CTC_SHA512wECDSA = 526, + CTC_ED25519 = 256 +}; + +enum Ctc_Encoding { + CTC_UTF8 = 0x0c, /* utf8 */ + CTC_PRINTABLE = 0x13 /* printable */ +}; + +#ifndef WC_CTC_NAME_SIZE + #define WC_CTC_NAME_SIZE 64 +#endif +#ifndef WC_CTC_MAX_ALT_SIZE + #define WC_CTC_MAX_ALT_SIZE 16384 +#endif + +enum Ctc_Misc { + CTC_COUNTRY_SIZE = 2, + CTC_NAME_SIZE = WC_CTC_NAME_SIZE, + CTC_DATE_SIZE = 32, + CTC_MAX_ALT_SIZE = WC_CTC_MAX_ALT_SIZE, /* may be huge, default: 16384 */ + CTC_SERIAL_SIZE = 16, +#ifdef WOLFSSL_CERT_EXT + /* AKID could contains: hash + (Option) AuthCertIssuer,AuthCertSerialNum + * We support only hash */ + CTC_MAX_SKID_SIZE = 32, /* SHA256_DIGEST_SIZE */ + CTC_MAX_AKID_SIZE = 32, /* SHA256_DIGEST_SIZE */ + CTC_MAX_CERTPOL_SZ = 64, + CTC_MAX_CERTPOL_NB = 2 /* Max number of Certificate Policy */ +#endif /* WOLFSSL_CERT_EXT */ +}; + +/* DER buffer */ +typedef struct DerBuffer { + byte* buffer; + void* heap; + word32 length; + int type; /* enum CertType */ + int dynType; /* DYNAMIC_TYPE_* */ +} DerBuffer; + +enum { + IV_SZ = 32, /* max iv sz */ + NAME_SZ = 80, /* max one line */ + + PEM_PASS_READ = 0, + PEM_PASS_WRITE = 1, +}; + + +typedef int (pem_password_cb)(char* passwd, int sz, int rw, void* userdata); + +typedef struct EncryptedInfo { + pem_password_cb* passwd_cb; + void* passwd_userdata; + + long consumed; /* tracks PEM bytes consumed */ + + int cipherType; + word32 keySz; + word32 ivSz; /* salt or encrypted IV size */ + + char name[NAME_SZ]; /* cipher name, such as "DES-CBC" */ + byte iv[IV_SZ]; /* salt or encrypted IV */ + + word16 set:1; /* if encryption set */ +} EncryptedInfo; + + +#if defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_CERT_EXT) +#ifdef WOLFSSL_EKU_OID + #ifndef CTC_MAX_EKU_NB + #define CTC_MAX_EKU_NB 1 + #endif + #ifndef CTC_MAX_EKU_OID_SZ + #define CTC_MAX_EKU_OID_SZ 30 + #endif +#else + #undef CTC_MAX_EKU_OID_SZ + #define CTC_MAX_EKU_OID_SZ 0 +#endif +#endif /* WOLFSSL_CERT_GEN || WOLFSSL_CERT_EXT */ + +#ifdef WOLFSSL_CERT_GEN + +#ifdef WOLFSSL_MULTI_ATTRIB +#ifndef CTC_MAX_ATTRIB + #define CTC_MAX_ATTRIB 4 +#endif + +/* ASN Encoded Name field */ +typedef struct NameAttrib { + int sz; /* actual string value length */ + int id; /* id of name */ + int type; /* enc of name */ + char value[CTC_NAME_SIZE]; /* name */ +} NameAttrib; +#endif /* WOLFSSL_MULTI_ATTRIB */ + + +typedef struct CertName { + char country[CTC_NAME_SIZE]; + char countryEnc; + char state[CTC_NAME_SIZE]; + char stateEnc; + char locality[CTC_NAME_SIZE]; + char localityEnc; + char sur[CTC_NAME_SIZE]; + char surEnc; + char org[CTC_NAME_SIZE]; + char orgEnc; + char unit[CTC_NAME_SIZE]; + char unitEnc; + char commonName[CTC_NAME_SIZE]; + char commonNameEnc; + char serialDev[CTC_NAME_SIZE]; + char serialDevEnc; +#ifdef WOLFSSL_CERT_EXT + char busCat[CTC_NAME_SIZE]; + char busCatEnc; + char joiC[CTC_NAME_SIZE]; + char joiCEnc; + char joiSt[CTC_NAME_SIZE]; + char joiStEnc; +#endif + char email[CTC_NAME_SIZE]; /* !!!! email has to be last !!!! */ +#ifdef WOLFSSL_MULTI_ATTRIB + NameAttrib name[CTC_MAX_ATTRIB]; +#endif +} CertName; + + +/* for user to fill for certificate generation */ +typedef struct Cert { + int version; /* x509 version */ + byte serial[CTC_SERIAL_SIZE]; /* serial number */ + int serialSz; /* serial size */ + int sigType; /* signature algo type */ + CertName issuer; /* issuer info */ + int daysValid; /* validity days */ + int selfSigned; /* self signed flag */ + CertName subject; /* subject info */ + int isCA; /* is this going to be a CA */ + /* internal use only */ + int bodySz; /* pre sign total size */ + int keyType; /* public key type of subject */ +#ifdef WOLFSSL_ALT_NAMES + byte altNames[CTC_MAX_ALT_SIZE]; /* altNames copy */ + int altNamesSz; /* altNames size in bytes */ + byte beforeDate[CTC_DATE_SIZE]; /* before date copy */ + int beforeDateSz; /* size of copy */ + byte afterDate[CTC_DATE_SIZE]; /* after date copy */ + int afterDateSz; /* size of copy */ +#endif +#ifdef WOLFSSL_CERT_EXT + byte skid[CTC_MAX_SKID_SIZE]; /* Subject Key Identifier */ + int skidSz; /* SKID size in bytes */ + byte akid[CTC_MAX_AKID_SIZE]; /* Authority Key Identifier */ + int akidSz; /* AKID size in bytes */ + word16 keyUsage; /* Key Usage */ + byte extKeyUsage; /* Extended Key Usage */ +#ifdef WOLFSSL_EKU_OID + /* Extended Key Usage OIDs */ + byte extKeyUsageOID[CTC_MAX_EKU_NB][CTC_MAX_EKU_OID_SZ]; + byte extKeyUsageOIDSz[CTC_MAX_EKU_NB]; +#endif + char certPolicies[CTC_MAX_CERTPOL_NB][CTC_MAX_CERTPOL_SZ]; + word16 certPoliciesNb; /* Number of Cert Policy */ + byte issRaw[sizeof(CertName)]; /* raw issuer info */ + byte sbjRaw[sizeof(CertName)]; /* raw subject info */ +#endif +#ifdef WOLFSSL_CERT_REQ + char challengePw[CTC_NAME_SIZE]; +#endif + void* heap; /* heap hint */ +} Cert; + + + +/* Initialize and Set Certificate defaults: + version = 3 (0x2) + serial = 0 (Will be randomly generated) + sigType = SHA_WITH_RSA + issuer = blank + daysValid = 500 + selfSigned = 1 (true) use subject as issuer + subject = blank + isCA = 0 (false) + keyType = RSA_KEY (default) +*/ +WOLFSSL_API int wc_InitCert(Cert*); +WOLFSSL_API int wc_MakeCert_ex(Cert* cert, byte* derBuffer, word32 derSz, + int keyType, void* key, WC_RNG* rng); +WOLFSSL_API int wc_MakeCert(Cert*, byte* derBuffer, word32 derSz, RsaKey*, + ecc_key*, WC_RNG*); +#ifdef WOLFSSL_CERT_REQ + WOLFSSL_API int wc_MakeCertReq_ex(Cert*, byte* derBuffer, word32 derSz, + int, void*); + WOLFSSL_API int wc_MakeCertReq(Cert*, byte* derBuffer, word32 derSz, + RsaKey*, ecc_key*); +#endif +WOLFSSL_API int wc_SignCert_ex(int requestSz, int sType, byte* buffer, + word32 buffSz, int keyType, void* key, + WC_RNG* rng); +WOLFSSL_API int wc_SignCert(int requestSz, int sigType, byte* derBuffer, + word32 derSz, RsaKey*, ecc_key*, WC_RNG*); +WOLFSSL_API int wc_MakeSelfCert(Cert*, byte* derBuffer, word32 derSz, RsaKey*, + WC_RNG*); +WOLFSSL_API int wc_SetIssuer(Cert*, const char*); +WOLFSSL_API int wc_SetSubject(Cert*, const char*); +#ifdef WOLFSSL_ALT_NAMES + WOLFSSL_API int wc_SetAltNames(Cert*, const char*); +#endif +WOLFSSL_API int wc_SetIssuerBuffer(Cert*, const byte*, int); +WOLFSSL_API int wc_SetSubjectBuffer(Cert*, const byte*, int); +WOLFSSL_API int wc_SetAltNamesBuffer(Cert*, const byte*, int); +WOLFSSL_API int wc_SetDatesBuffer(Cert*, const byte*, int); + +#ifndef NO_ASN_TIME +WOLFSSL_API int wc_GetCertDates(Cert* cert, struct tm* before, + struct tm* after); +#endif + +#ifdef WOLFSSL_CERT_EXT +WOLFSSL_API int wc_SetAuthKeyIdFromPublicKey_ex(Cert *cert, int keyType, + void* key); +WOLFSSL_API int wc_SetAuthKeyIdFromPublicKey(Cert *cert, RsaKey *rsakey, + ecc_key *eckey); +WOLFSSL_API int wc_SetAuthKeyIdFromCert(Cert *cert, const byte *der, int derSz); +WOLFSSL_API int wc_SetAuthKeyId(Cert *cert, const char* file); +WOLFSSL_API int wc_SetSubjectKeyIdFromPublicKey_ex(Cert *cert, int keyType, + void* key); +WOLFSSL_API int wc_SetSubjectKeyIdFromPublicKey(Cert *cert, RsaKey *rsakey, + ecc_key *eckey); +WOLFSSL_API int wc_SetSubjectKeyId(Cert *cert, const char* file); +WOLFSSL_API int wc_GetSubjectRaw(byte **subjectRaw, Cert *cert); +WOLFSSL_API int wc_SetSubjectRaw(Cert* cert, const byte* der, int derSz); +WOLFSSL_API int wc_SetIssuerRaw(Cert* cert, const byte* der, int derSz); + +#ifdef HAVE_NTRU +WOLFSSL_API int wc_SetSubjectKeyIdFromNtruPublicKey(Cert *cert, byte *ntruKey, + word16 ntruKeySz); +#endif + +/* Set the KeyUsage. + * Value is a string separated tokens with ','. Accepted tokens are : + * digitalSignature,nonRepudiation,contentCommitment,keyCertSign,cRLSign, + * dataEncipherment,keyAgreement,keyEncipherment,encipherOnly and decipherOnly. + * + * nonRepudiation and contentCommitment are for the same usage. + */ +WOLFSSL_API int wc_SetKeyUsage(Cert *cert, const char *value); + +/* Set ExtendedKeyUsage + * Value is a string separated tokens with ','. Accepted tokens are : + * any,serverAuth,clientAuth,codeSigning,emailProtection,timeStamping,OCSPSigning + */ +WOLFSSL_API int wc_SetExtKeyUsage(Cert *cert, const char *value); + + +#ifdef WOLFSSL_EKU_OID +/* Set ExtendedKeyUsage with unique OID + * oid is expected to be in byte representation + */ +WOLFSSL_API int wc_SetExtKeyUsageOID(Cert *cert, const char *oid, word32 sz, + byte idx, void* heap); +#endif /* WOLFSSL_EKU_OID */ +#endif /* WOLFSSL_CERT_EXT */ + + #ifdef HAVE_NTRU + WOLFSSL_API int wc_MakeNtruCert(Cert*, byte* derBuffer, word32 derSz, + const byte* ntruKey, word16 keySz, + WC_RNG*); + #endif + +#endif /* WOLFSSL_CERT_GEN */ + +WOLFSSL_API int wc_GetDateInfo(const byte* certDate, int certDateSz, + const byte** date, byte* format, int* length); +#ifndef NO_ASN_TIME +WOLFSSL_API int wc_GetDateAsCalendarTime(const byte* date, int length, + byte format, struct tm* time); +#endif + +#if defined(WOLFSSL_PEM_TO_DER) || defined(WOLFSSL_DER_TO_PEM) + + WOLFSSL_API int wc_PemGetHeaderFooter(int type, const char** header, + const char** footer); + +#endif + +WOLFSSL_API int wc_AllocDer(DerBuffer** pDer, word32 length, int type, void* heap); +WOLFSSL_API void wc_FreeDer(DerBuffer** pDer); + +#ifdef WOLFSSL_PEM_TO_DER + WOLFSSL_API int wc_PemToDer(const unsigned char* buff, long longSz, int type, + DerBuffer** pDer, void* heap, EncryptedInfo* info, int* eccKey); + + WOLFSSL_API int wc_KeyPemToDer(const unsigned char*, int, + unsigned char*, int, const char*); + WOLFSSL_API int wc_CertPemToDer(const unsigned char*, int, + unsigned char*, int, int); +#endif /* WOLFSSL_PEM_TO_DER */ + +#if defined(WOLFSSL_CERT_EXT) || defined(WOLFSSL_PUB_PEM_TO_DER) + #ifndef NO_FILESYSTEM + WOLFSSL_API int wc_PemPubKeyToDer(const char* fileName, + unsigned char* derBuf, int derSz); + #endif + + WOLFSSL_API int wc_PubKeyPemToDer(const unsigned char*, int, + unsigned char*, int); +#endif /* WOLFSSL_CERT_EXT || WOLFSSL_PUB_PEM_TO_DER */ + +#ifdef WOLFSSL_CERT_GEN + #ifndef NO_FILESYSTEM + WOLFSSL_API int wc_PemCertToDer(const char* fileName, + unsigned char* derBuf, int derSz); + #endif +#endif /* WOLFSSL_CERT_GEN */ + +#ifdef WOLFSSL_DER_TO_PEM + WOLFSSL_API int wc_DerToPem(const byte* der, word32 derSz, byte* output, + word32 outputSz, int type); + WOLFSSL_API int wc_DerToPemEx(const byte* der, word32 derSz, byte* output, + word32 outputSz, byte *cipherIno, int type); +#endif + +#if !defined(NO_RSA) && !defined(HAVE_USER_RSA) + WOLFSSL_API int wc_RsaPublicKeyDecode_ex(const byte* input, word32* inOutIdx, + word32 inSz, const byte** n, word32* nSz, const byte** e, word32* eSz); +#endif + +#ifdef HAVE_ECC + /* private key helpers */ + WOLFSSL_API int wc_EccPrivateKeyDecode(const byte*, word32*, + ecc_key*, word32); + WOLFSSL_API int wc_EccKeyToDer(ecc_key*, byte* output, word32 inLen); + WOLFSSL_API int wc_EccPrivateKeyToDer(ecc_key* key, byte* output, + word32 inLen); + WOLFSSL_API int wc_EccPrivateKeyToPKCS8(ecc_key* key, byte* output, + word32* outLen); + + /* public key helper */ + WOLFSSL_API int wc_EccPublicKeyDecode(const byte*, word32*, + ecc_key*, word32); + WOLFSSL_API int wc_EccPublicKeyToDer(ecc_key*, byte* output, + word32 inLen, int with_AlgCurve); +#endif + +#ifdef HAVE_ED25519 + /* private key helpers */ + WOLFSSL_API int wc_Ed25519PrivateKeyDecode(const byte*, word32*, + ed25519_key*, word32); + WOLFSSL_API int wc_Ed25519KeyToDer(ed25519_key* key, byte* output, + word32 inLen); + WOLFSSL_API int wc_Ed25519PrivateKeyToDer(ed25519_key* key, byte* output, + word32 inLen); + + /* public key helper */ + WOLFSSL_API int wc_Ed25519PublicKeyDecode(const byte*, word32*, + ed25519_key*, word32); + #if (defined(WOLFSSL_CERT_GEN) || defined(WOLFSSL_KEY_GEN)) + WOLFSSL_API int wc_Ed25519PublicKeyToDer(ed25519_key*, byte* output, + word32 inLen, int with_AlgCurve); + #endif +#endif + +/* DER encode signature */ +WOLFSSL_API word32 wc_EncodeSignature(byte* out, const byte* digest, + word32 digSz, int hashOID); +WOLFSSL_API int wc_GetCTC_HashOID(int type); + +WOLFSSL_API int wc_GetPkcs8TraditionalOffset(byte* input, + word32* inOutIdx, word32 sz); +WOLFSSL_API int wc_CreatePKCS8Key(byte* out, word32* outSz, + byte* key, word32 keySz, int algoID, const byte* curveOID, word32 oidSz); + +#ifndef NO_ASN_TIME +/* Time */ +/* Returns seconds (Epoch/UTC) + * timePtr: is "time_t", which is typically "long" + * Example: + long lTime; + rc = wc_GetTime(&lTime, (word32)sizeof(lTime)); +*/ +WOLFSSL_API int wc_GetTime(void* timePtr, word32 timeSize); +#endif + +#ifdef WOLFSSL_ENCRYPTED_KEYS + WOLFSSL_API int wc_EncryptedInfoGet(EncryptedInfo* info, + const char* cipherInfo); +#endif + + +#ifdef WOLFSSL_CERT_PIV + +typedef struct _wc_CertPIV { + const byte* cert; + word32 certSz; + const byte* certErrDet; + word32 certErrDetSz; + const byte* nonce; /* Identiv Only */ + word32 nonceSz; /* Identiv Only */ + const byte* signedNonce; /* Identiv Only */ + word32 signedNonceSz; /* Identiv Only */ + + /* flags */ + word16 compression:2; + word16 isX509:1; + word16 isIdentiv:1; +} wc_CertPIV; + +WOLFSSL_API int wc_ParseCertPIV(wc_CertPIV* cert, const byte* buf, word32 totalSz); +#endif /* WOLFSSL_CERT_PIV */ + + +#ifdef __cplusplus + } /* extern "C" */ +#endif + +#endif /* WOLF_CRYPT_ASN_PUBLIC_H */ + diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/des3.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/des3.h index 2ba69280..e125c71d 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/des3.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/des3.h @@ -1,15 +1,18 @@ /* des3.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/des3.h +*/ #ifndef WOLF_CRYPT_DES3_H #define WOLF_CRYPT_DES3_H @@ -18,7 +21,13 @@ #ifndef NO_DES3 -#ifdef HAVE_FIPS +#if defined(HAVE_FIPS) && \ + defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2) + #include +#endif /* HAVE_FIPS_VERSION >= 2 */ + +#if defined(HAVE_FIPS) && \ + (!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2)) /* included for fips @wc_fips */ #include #endif @@ -27,17 +36,28 @@ extern "C" { #endif -#ifndef HAVE_FIPS /* to avoid redefinition of macros */ +/* these are required for FIPS and non-FIPS */ +enum { + DES_KEY_SIZE = 8, /* des */ + DES3_KEY_SIZE = 24, /* 3 des ede */ + DES_IV_SIZE = 8, /* should be the same as DES_BLOCK_SIZE */ +}; + + +/* avoid redefinition of structs */ +#if !defined(HAVE_FIPS) || \ + (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)) #ifdef WOLFSSL_ASYNC_CRYPT #include #endif enum { - DES_ENC_TYPE = 2, /* cipher unique type */ - DES3_ENC_TYPE = 3, /* cipher unique type */ + DES_ENC_TYPE = WC_CIPHER_DES, /* cipher unique type */ + DES3_ENC_TYPE = WC_CIPHER_DES3, /* cipher unique type */ + DES_BLOCK_SIZE = 8, - DES_KS_SIZE = 32, + DES_KS_SIZE = 32, /* internal DES key buffer size */ DES_ENCRYPTION = 0, DES_DECRYPTION = 1 diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/ecc.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/ecc.h index 1b26ca60..9dbf0e02 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/ecc.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/ecc.h @@ -1,15 +1,19 @@ /* ecc.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/ecc.h +*/ + #ifndef WOLF_CRYPT_ECC_H #define WOLF_CRYPT_ECC_H @@ -67,12 +71,12 @@ #define MAX_ECC_BITS 384 #elif defined(HAVE_ECC320) #define MAX_ECC_BITS 320 +#elif !defined(NO_ECC256) + #define MAX_ECC_BITS 256 #elif defined(HAVE_ECC239) #define MAX_ECC_BITS 239 #elif defined(HAVE_ECC224) #define MAX_ECC_BITS 224 -#elif !defined(NO_ECC256) - #define MAX_ECC_BITS 256 #elif defined(HAVE_ECC192) #define MAX_ECC_BITS 192 #elif defined(HAVE_ECC160) @@ -109,9 +113,22 @@ enum { /* max crypto hardware size */ #ifdef WOLFSSL_ATECC508A ECC_MAX_CRYPTO_HW_SIZE = ATECC_KEY_SIZE, /* from port/atmel/atmel.h */ + ECC_MAX_CRYPTO_HW_PUBKEY_SIZE = (ATECC_KEY_SIZE*2), #elif defined(PLUTON_CRYPTO_ECC) ECC_MAX_CRYPTO_HW_SIZE = 32, #endif + + /* point compression type */ + ECC_POINT_COMP_EVEN = 0x02, + ECC_POINT_COMP_ODD = 0x03, + ECC_POINT_UNCOMP = 0x04, + + /* Shamir's dual add constants */ + SHAMIR_PRECOMP_SZ = 16, + +#ifdef HAVE_PKCS11 + ECC_MAX_ID_LEN = 32, +#endif }; /* Curve Types */ @@ -177,6 +194,7 @@ typedef byte ecc_oid_t; #endif /* ECC set type defined a GF(p) curve */ +#ifndef USE_WINDOWS_API typedef struct ecc_set_type { int size; /* The size of the curve in octets */ int id; /* id of this curve */ @@ -192,6 +210,31 @@ typedef struct ecc_set_type { word32 oidSum; /* sum of encoded OID bytes */ int cofactor; } ecc_set_type; +#else +/* MSC does something different with the pointers to the arrays than GCC, + * and it causes the FIPS checksum to fail. In the case of windows builds, + * store everything as arrays instead of pointers to strings. */ + +#define MAX_ECC_NAME 16 +#define MAX_ECC_STRING ((MAX_ECC_BYTES * 2) + 1) + /* The values are stored as text strings. */ + +typedef struct ecc_set_type { + int size; /* The size of the curve in octets */ + int id; /* id of this curve */ + const char name[MAX_ECC_NAME]; /* name of this curve */ + const char prime[MAX_ECC_STRING]; /* prime that defines the field, curve is in (hex) */ + const char Af[MAX_ECC_STRING]; /* fields A param (hex) */ + const char Bf[MAX_ECC_STRING]; /* fields B param (hex) */ + const char order[MAX_ECC_STRING]; /* order of the curve (hex) */ + const char Gx[MAX_ECC_STRING]; /* x coordinate of the base point on curve (hex) */ + const char Gy[MAX_ECC_STRING]; /* y coordinate of the base point on curve (hex) */ + const ecc_oid_t oid[10]; + word32 oidSz; + word32 oidSum; /* sum of encoded OID bytes */ + int cofactor; +} ecc_set_type; +#endif #ifdef ALT_ECC_SIZE @@ -248,10 +291,15 @@ typedef struct ecc_set_type { * fp_digit array will be shorter. */ typedef struct alt_fp_int { int used, sign, size; - fp_digit dp[FP_SIZE_ECC]; + mp_digit dp[FP_SIZE_ECC]; } alt_fp_int; #endif /* ALT_ECC_SIZE */ +#ifndef WC_ECCKEY_TYPE_DEFINED + typedef struct ecc_key ecc_key; + #define WC_ECCKEY_TYPE_DEFINED +#endif + /* A point on an ECC curve, stored in Jacbobian format such that (x,y,z) => (x/z^2, y/z^3, 1) when interpreted as affine */ @@ -266,6 +314,9 @@ typedef struct { mp_int* z; /* The z coordinate */ alt_fp_int xyz[3]; #endif +#ifdef WOLFSSL_SMALL_STACK_CACHE + ecc_key* key; +#endif } ecc_point; /* ECC Flags */ @@ -294,25 +345,37 @@ struct ecc_key { mp_int k; /* private key */ #ifdef WOLFSSL_ATECC508A int slot; /* Key Slot Number (-1 unknown) */ - byte pubkey_raw[PUB_KEY_SIZE]; + byte pubkey_raw[ECC_MAX_CRYPTO_HW_PUBKEY_SIZE]; #endif -#ifdef PLUTON_CRYPTO_ECC +#if defined(PLUTON_CRYPTO_ECC) || defined(WOLF_CRYPTO_DEV) int devId; #endif #ifdef WOLFSSL_ASYNC_CRYPT mp_int* r; /* sign/verify temps */ mp_int* s; WC_ASYNC_DEV asyncDev; + #ifdef HAVE_CAVIUM_V + mp_int* e; /* Sign, Verify and Shared Secret */ + mp_int* signK; + #endif #ifdef WOLFSSL_CERT_GEN CertSignCtx certSignCtx; /* context info for cert sign (MakeSignature) */ #endif #endif /* WOLFSSL_ASYNC_CRYPT */ -}; - -#ifndef WC_ECCKEY_TYPE_DEFINED - typedef struct ecc_key ecc_key; - #define WC_ECCKEY_TYPE_DEFINED +#ifdef HAVE_PKCS11 + byte id[ECC_MAX_ID_LEN]; + int idLen; #endif +#ifdef WOLFSSL_SMALL_STACK_CACHE + mp_int* t1; + mp_int* t2; +#ifdef ALT_ECC_SIZE + mp_int* x; + mp_int* y; + mp_int* z; +#endif +#endif +}; /* ECC predefined curve sets */ @@ -388,6 +451,11 @@ WOLFSSL_API int wc_ecc_init(ecc_key* key); WOLFSSL_API int wc_ecc_init_ex(ecc_key* key, void* heap, int devId); +#ifdef HAVE_PKCS11 +WOLFSSL_API +int wc_ecc_init_id(ecc_key* key, unsigned char* id, int len, void* heap, + int devId); +#endif #ifdef WOLFSSL_CUSTOM_CURVES WOLFSSL_LOCAL void wc_ecc_free_curve(const ecc_set_type* curve, void* heap); @@ -424,6 +492,8 @@ int wc_ecc_get_curve_id_from_params(int fieldSize, const byte* Bf, word32 BfSz, const byte* order, word32 orderSz, const byte* Gx, word32 GxSz, const byte* Gy, word32 GySz, int cofactor); +WOLFSSL_API +int wc_ecc_get_curve_id_from_oid(const byte* oid, word32 len); WOLFSSL_API ecc_point* wc_ecc_new_point(void); @@ -474,6 +544,9 @@ int wc_ecc_import_private_key_ex(const byte* priv, word32 privSz, WOLFSSL_API int wc_ecc_rs_to_sig(const char* r, const char* s, byte* out, word32* outlen); WOLFSSL_API +int wc_ecc_rs_raw_to_sig(const byte* r, word32 rSz, const byte* s, word32 sSz, + byte* out, word32* outlen); +WOLFSSL_API int wc_ecc_sig_to_rs(const byte* sig, word32 sigLen, byte* r, word32* rLen, byte* s, word32* sLen); WOLFSSL_API @@ -482,17 +555,24 @@ int wc_ecc_import_raw(ecc_key* key, const char* qx, const char* qy, WOLFSSL_API int wc_ecc_import_raw_ex(ecc_key* key, const char* qx, const char* qy, const char* d, int curve_id); +WOLFSSL_API +int wc_ecc_import_unsigned(ecc_key* key, byte* qx, byte* qy, + byte* d, int curve_id); #endif /* HAVE_ECC_KEY_IMPORT */ #ifdef HAVE_ECC_KEY_EXPORT WOLFSSL_API +int wc_ecc_export_ex(ecc_key* key, byte* qx, word32* qxLen, + byte* qy, word32* qyLen, byte* d, word32* dLen, + int encType); +WOLFSSL_API int wc_ecc_export_private_only(ecc_key* key, byte* out, word32* outLen); WOLFSSL_API int wc_ecc_export_public_raw(ecc_key* key, byte* qx, word32* qxLen, byte* qy, word32* qyLen); WOLFSSL_API int wc_ecc_export_private_raw(ecc_key* key, byte* qx, word32* qxLen, - byte* qy, word32* qyLen, byte* d, word32* dLen); + byte* qy, word32* qyLen, byte* d, word32* dLen); #endif /* HAVE_ECC_KEY_EXPORT */ #ifdef HAVE_ECC_KEY_EXPORT @@ -513,6 +593,8 @@ int wc_ecc_import_point_der(byte* in, word32 inLen, const int curve_idx, WOLFSSL_API int wc_ecc_size(ecc_key* key); WOLFSSL_API +int wc_ecc_sig_size_calc(int sz); +WOLFSSL_API int wc_ecc_sig_size(ecc_key* key); WOLFSSL_API diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/hash.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/hash.h index 6c561fb5..43760ca5 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/hash.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/hash.h @@ -1,15 +1,18 @@ /* hash.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/hash.h +*/ #ifndef WOLF_CRYPT_HASH_H #define WOLF_CRYPT_HASH_H @@ -34,6 +37,13 @@ #ifdef WOLFSSL_SHA3 #include #endif +#ifndef NO_MD4 + #include +#endif +#ifdef WOLFSSL_MD2 + #include +#endif + #ifdef __cplusplus extern "C" { @@ -44,20 +54,6 @@ #endif -/* Hash types */ -enum wc_HashType { - WC_HASH_TYPE_NONE = 0, - WC_HASH_TYPE_MD2 = 1, - WC_HASH_TYPE_MD4 = 2, - WC_HASH_TYPE_MD5 = 3, - WC_HASH_TYPE_SHA = 4, /* SHA-1 (not old SHA-0) */ - WC_HASH_TYPE_SHA224 = 9, - WC_HASH_TYPE_SHA256 = 5, - WC_HASH_TYPE_SHA384 = 6, - WC_HASH_TYPE_SHA512 = 7, - WC_HASH_TYPE_MD5_SHA = 8, -}; - typedef union { #ifndef NO_MD5 wc_Md5 md5; @@ -83,29 +79,42 @@ typedef union { Note if this gets up to the size of 80 or over check smallstack build */ #if defined(WOLFSSL_SHA3) #define WC_MAX_DIGEST_SIZE WC_SHA3_512_DIGEST_SIZE + #define WC_MAX_BLOCK_SIZE WC_SHA3_224_BLOCK_SIZE /* 224 is the largest block size */ #elif defined(WOLFSSL_SHA512) #define WC_MAX_DIGEST_SIZE WC_SHA512_DIGEST_SIZE + #define WC_MAX_BLOCK_SIZE WC_SHA512_BLOCK_SIZE #elif defined(HAVE_BLAKE2) #define WC_MAX_DIGEST_SIZE BLAKE2B_OUTBYTES + #define WC_MAX_BLOCK_SIZE BLAKE2B_BLOCKBYTES #elif defined(WOLFSSL_SHA384) #define WC_MAX_DIGEST_SIZE WC_SHA384_DIGEST_SIZE + #define WC_MAX_BLOCK_SIZE WC_SHA384_BLOCK_SIZE #elif !defined(NO_SHA256) #define WC_MAX_DIGEST_SIZE WC_SHA256_DIGEST_SIZE + #define WC_MAX_BLOCK_SIZE WC_SHA256_BLOCK_SIZE #elif defined(WOLFSSL_SHA224) #define WC_MAX_DIGEST_SIZE WC_SHA224_DIGEST_SIZE + #define WC_MAX_BLOCK_SIZE WC_SHA224_BLOCK_SIZE #elif !defined(NO_SHA) #define WC_MAX_DIGEST_SIZE WC_SHA_DIGEST_SIZE + #define WC_MAX_BLOCK_SIZE WC_SHA_BLOCK_SIZE #elif !defined(NO_MD5) #define WC_MAX_DIGEST_SIZE WC_MD5_DIGEST_SIZE + #define WC_MAX_BLOCK_SIZE WC_MD5_BLOCK_SIZE #else #define WC_MAX_DIGEST_SIZE 64 /* default to max size of 64 */ + #define WC_MAX_BLOCK_SIZE 128 #endif #if !defined(NO_ASN) || !defined(NO_DH) || defined(HAVE_ECC) WOLFSSL_API int wc_HashGetOID(enum wc_HashType hash_type); +WOLFSSL_API enum wc_HashType wc_OidGetHash(int oid); #endif +WOLFSSL_API enum wc_HashType wc_HashTypeConvert(int hashType); + WOLFSSL_API int wc_HashGetDigestSize(enum wc_HashType hash_type); +WOLFSSL_API int wc_HashGetBlockSize(enum wc_HashType hash_type); WOLFSSL_API int wc_Hash(enum wc_HashType hash_type, const byte* data, word32 data_len, byte* hash, word32 hash_len); @@ -116,7 +125,7 @@ WOLFSSL_API int wc_HashUpdate(wc_HashAlg* hash, enum wc_HashType type, const byte* data, word32 dataSz); WOLFSSL_API int wc_HashFinal(wc_HashAlg* hash, enum wc_HashType type, byte* out); - +WOLFSSL_API int wc_HashFree(wc_HashAlg* hash, enum wc_HashType type); #ifndef NO_MD5 #include @@ -128,22 +137,24 @@ WOLFSSL_API int wc_Md5Hash(const byte* data, word32 len, byte* hash); WOLFSSL_API int wc_ShaHash(const byte*, word32, byte*); #endif +#ifdef WOLFSSL_SHA224 +#include +WOLFSSL_API int wc_Sha224Hash(const byte*, word32, byte*); +#endif /* defined(WOLFSSL_SHA224) */ + #ifndef NO_SHA256 #include WOLFSSL_API int wc_Sha256Hash(const byte*, word32, byte*); - - #if defined(WOLFSSL_SHA224) - WOLFSSL_API int wc_Sha224Hash(const byte*, word32, byte*); - #endif /* defined(WOLFSSL_SHA224) */ #endif +#ifdef WOLFSSL_SHA384 +#include +WOLFSSL_API int wc_Sha384Hash(const byte*, word32, byte*); +#endif /* defined(WOLFSSL_SHA384) */ + #ifdef WOLFSSL_SHA512 #include WOLFSSL_API int wc_Sha512Hash(const byte*, word32, byte*); - - #if defined(WOLFSSL_SHA384) - WOLFSSL_API int wc_Sha384Hash(const byte*, word32, byte*); - #endif /* defined(WOLFSSL_SHA384) */ #endif /* WOLFSSL_SHA512 */ #ifdef __cplusplus diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/hmac.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/hmac.h index d3f8b236..6272da31 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/hmac.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/hmac.h @@ -1,16 +1,18 @@ /* hmac.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ - +/*! + \file wolfssl/wolfcrypt/hmac.h +*/ #ifndef NO_HMAC @@ -19,17 +21,26 @@ #include -#ifdef HAVE_FIPS -/* for fips */ +#if defined(HAVE_FIPS) && \ + (!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2)) +/* for fips @wc_fips */ #include #define WC_HMAC_BLOCK_SIZE HMAC_BLOCK_SIZE #endif +#if defined(HAVE_FIPS) && \ + defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2) + #include +#endif + #ifdef __cplusplus extern "C" { #endif -#ifndef HAVE_FIPS + +/* avoid redefinition of structs */ +#if !defined(HAVE_FIPS) || \ + (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)) #ifdef WOLFSSL_ASYNC_CRYPT #include @@ -47,63 +58,43 @@ enum { /* If any hash is not enabled, add the ID here. */ #ifdef NO_MD5 - WC_MD5 = 0, + WC_MD5 = WC_HASH_TYPE_MD5, #endif #ifdef NO_SHA - WC_SHA = 1, + WC_SHA = WC_HASH_TYPE_SHA, #endif #ifdef NO_SHA256 - WC_SHA256 = 2, + WC_SHA256 = WC_HASH_TYPE_SHA256, #endif #ifndef WOLFSSL_SHA512 - WC_SHA512 = 4, + WC_SHA512 = WC_HASH_TYPE_SHA512, #endif #ifndef WOLFSSL_SHA384 - WC_SHA384 = 5, + WC_SHA384 = WC_HASH_TYPE_SHA384, #endif #ifndef HAVE_BLAKE2 - BLAKE2B_ID = 7, + BLAKE2B_ID = WC_HASH_TYPE_BLAKE2B, #endif #ifndef WOLFSSL_SHA224 - WC_SHA224 = 8, + WC_SHA224 = WC_HASH_TYPE_SHA224, #endif #ifndef WOLFSSL_SHA3 - WC_SHA3_224 = 10, - WC_SHA3_256 = 11, - WC_SHA3_384 = 12, - WC_SHA3_512 = 13, -#else - /* These values are used for HMAC, not SHA-3 directly. - * They come from from FIPS PUB 202. */ - WC_SHA3_224_BLOCK_SIZE = 144, - WC_SHA3_256_BLOCK_SIZE = 136, - WC_SHA3_384_BLOCK_SIZE = 104, - WC_SHA3_512_BLOCK_SIZE = 72, -#endif - -/* Select the largest available hash for the buffer size. */ -#if defined(WOLFSSL_SHA3) - WC_HMAC_BLOCK_SIZE = WC_SHA3_224_BLOCK_SIZE - /* SHA3-224 has the largest block size */ -#elif defined(WOLFSSL_SHA512) - WC_HMAC_BLOCK_SIZE = WC_SHA512_BLOCK_SIZE, -#elif defined(HAVE_BLAKE2) - WC_HMAC_BLOCK_SIZE = BLAKE2B_BLOCKBYTES, -#elif defined(WOLFSSL_SHA384) - WC_HMAC_BLOCK_SIZE = WC_SHA384_BLOCK_SIZE -#elif !defined(NO_SHA256) - WC_HMAC_BLOCK_SIZE = WC_SHA256_BLOCK_SIZE -#elif defined(WOLFSSL_SHA224) - WC_HMAC_BLOCK_SIZE = WC_SHA224_BLOCK_SIZE -#elif !defined(NO_SHA) - WC_HMAC_BLOCK_SIZE = WC_SHA_BLOCK_SIZE, -#elif !defined(NO_MD5) - WC_HMAC_BLOCK_SIZE = WC_MD5_BLOCK_SIZE, -#else - #error "You have to have some kind of hash if you want to use HMAC." + WC_SHA3_224 = WC_HASH_TYPE_SHA3_224, + WC_SHA3_256 = WC_HASH_TYPE_SHA3_256, + WC_SHA3_384 = WC_HASH_TYPE_SHA3_384, + WC_SHA3_512 = WC_HASH_TYPE_SHA3_512, #endif }; +/* Select the largest available hash for the buffer size. */ +#define WC_HMAC_BLOCK_SIZE WC_MAX_BLOCK_SIZE + +#if !defined(WOLFSSL_SHA3) && !defined(WOLFSSL_SHA512) && !defined(HAVE_BLAKE2) && \ + !defined(WOLFSSL_SHA384) && defined(NO_SHA256) && defined(WOLFSSL_SHA224) && \ + defined(NO_SHA) && defined(NO_MD5) + #error "You have to have some kind of hash if you want to use HMAC." +#endif + /* hash union */ typedef union { @@ -119,17 +110,17 @@ typedef union { #ifndef NO_SHA256 wc_Sha256 sha256; #endif -#ifdef WOLFSSL_SHA512 #ifdef WOLFSSL_SHA384 wc_Sha384 sha384; #endif +#ifdef WOLFSSL_SHA512 wc_Sha512 sha512; #endif #ifdef HAVE_BLAKE2 Blake2b blake2b; #endif #ifdef WOLFSSL_SHA3 - Sha3 sha3; + wc_Sha3 sha3; #endif } Hash; @@ -146,10 +137,6 @@ typedef struct Hmac { #ifdef WOLFSSL_ASYNC_CRYPT WC_ASYNC_DEV asyncDev; word16 keyLen; /* hmac key length (key in ipad) */ - #ifdef HAVE_CAVIUM - byte* data; /* buffered input data for one call */ - word16 dataLen; - #endif /* HAVE_CAVIUM */ #endif /* WOLFSSL_ASYNC_CRYPT */ } Hmac; diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/integer.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/integer.h index 2ab1db1f..e5330de8 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/integer.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/integer.h @@ -1,12 +1,12 @@ /* integer.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -62,6 +62,11 @@ extern "C" { /* C++ compilers don't like assigning void * to mp_digit * */ #define OPT_CAST(x) (x *) +#elif defined(_SH3) + +/* SuperH SH3 compiler doesn't like assigning voi* to mp_digit* */ +#define OPT_CAST(x) (x *) + #else /* C on the other hand doesn't care */ @@ -268,6 +273,7 @@ MP_API int mp_unsigned_bin_size(mp_int * a); MP_API int mp_read_unsigned_bin (mp_int * a, const unsigned char *b, int c); MP_API int mp_to_unsigned_bin_at_pos(int x, mp_int *t, unsigned char *b); MP_API int mp_to_unsigned_bin (mp_int * a, unsigned char *b); +MP_API int mp_to_unsigned_bin_len(mp_int * a, unsigned char *b, int c); MP_API int mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y); /* end functions needed by Rsa */ @@ -354,15 +360,19 @@ MP_API int mp_radix_size (mp_int * a, int radix, int *size); #define mp_dump(desc, a, verbose) #endif -#if defined(HAVE_ECC) || defined(WOLFSSL_KEY_GEN) +#if defined(HAVE_ECC) || defined(WOLFSSL_KEY_GEN) || !defined(NO_RSA) || \ + !defined(NO_DSA) || !defined(NO_DH) MP_API int mp_sqrmod(mp_int* a, mp_int* b, mp_int* c); #endif #if !defined(NO_DSA) || defined(HAVE_ECC) MP_API int mp_read_radix(mp_int* a, const char* str, int radix); #endif -#ifdef WOLFSSL_KEY_GEN +#if defined(WOLFSSL_KEY_GEN) || !defined(NO_RSA) || !defined(NO_DSA) || !defined(NO_DH) MP_API int mp_prime_is_prime (mp_int * a, int t, int *result); + MP_API int mp_prime_is_prime_ex (mp_int * a, int t, int *result, WC_RNG*); +#endif /* WOLFSSL_KEY_GEN NO_RSA NO_DSA NO_DH */ +#ifdef WOLFSSL_KEY_GEN MP_API int mp_gcd (mp_int * a, mp_int * b, mp_int * c); MP_API int mp_lcm (mp_int * a, mp_int * b, mp_int * c); MP_API int mp_rand_prime(mp_int* N, int len, WC_RNG* rng, void* heap); diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/logging.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/logging.h index 8be8f141..acfafed7 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/logging.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/logging.h @@ -1,15 +1,19 @@ /* logging.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/logging.h +*/ + /* submitted by eof */ @@ -32,6 +36,50 @@ enum wc_LogLevels { OTHER_LOG }; +#ifdef WOLFSSL_FUNC_TIME +/* WARNING: This code is only to be used for debugging performance. + * The code is not thread-safe. + * Do not use WOLFSSL_FUNC_TIME in production code. + */ +enum wc_FuncNum { + WC_FUNC_HELLO_REQUEST_SEND = 0, + WC_FUNC_HELLO_REQUEST_DO, + WC_FUNC_CLIENT_HELLO_SEND, + WC_FUNC_CLIENT_HELLO_DO, + WC_FUNC_SERVER_HELLO_SEND, + WC_FUNC_SERVER_HELLO_DO, + WC_FUNC_ENCRYPTED_EXTENSIONS_SEND, + WC_FUNC_ENCRYPTED_EXTENSIONS_DO, + WC_FUNC_CERTIFICATE_REQUEST_SEND, + WC_FUNC_CERTIFICATE_REQUEST_DO, + WC_FUNC_CERTIFICATE_SEND, + WC_FUNC_CERTIFICATE_DO, + WC_FUNC_CERTIFICATE_VERIFY_SEND, + WC_FUNC_CERTIFICATE_VERIFY_DO, + WC_FUNC_FINISHED_SEND, + WC_FUNC_FINISHED_DO, + WC_FUNC_KEY_UPDATE_SEND, + WC_FUNC_KEY_UPDATE_DO, + WC_FUNC_EARLY_DATA_SEND, + WC_FUNC_EARLY_DATA_DO, + WC_FUNC_NEW_SESSION_TICKET_SEND, + WC_FUNC_NEW_SESSION_TICKET_DO, + WC_FUNC_SERVER_HELLO_DONE_SEND, + WC_FUNC_SERVER_HELLO_DONE_DO, + WC_FUNC_TICKET_SEND, + WC_FUNC_TICKET_DO, + WC_FUNC_CLIENT_KEY_EXCHANGE_SEND, + WC_FUNC_CLIENT_KEY_EXCHANGE_DO, + WC_FUNC_CERTIFICATE_STATUS_SEND, + WC_FUNC_CERTIFICATE_STATUS_DO, + WC_FUNC_SERVER_KEY_EXCHANGE_SEND, + WC_FUNC_SERVER_KEY_EXCHANGE_DO, + WC_FUNC_END_OF_EARLY_DATA_SEND, + WC_FUNC_END_OF_EARLY_DATA_DO, + WC_FUNC_COUNT +}; +#endif + typedef void (*wolfSSL_Logging_cb)(const int logLevel, const char *const logMessage); @@ -57,10 +105,23 @@ WOLFSSL_API void wolfSSL_Debugging_OFF(void); WOLFSSL_API int wc_SetLoggingHeap(void* h); WOLFSSL_API int wc_ERR_remove_state(void); #if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) - WOLFSSL_API void wc_ERR_print_errors_fp(FILE* fp); + WOLFSSL_API void wc_ERR_print_errors_fp(XFILE fp); #endif #endif /* OPENSSL_EXTRA || DEBUG_WOLFSSL_VERBOSE */ +#ifdef WOLFSSL_FUNC_TIME + /* WARNING: This code is only to be used for debugging performance. + * The code is not thread-safe. + * Do not use WOLFSSL_FUNC_TIME in production code. + */ + WOLFSSL_API void WOLFSSL_START(int funcNum); + WOLFSSL_API void WOLFSSL_END(int funcNum); + WOLFSSL_API void WOLFSSL_TIME(int count); +#else + #define WOLFSSL_START(n) + #define WOLFSSL_END(n) + #define WOLFSSL_TIME(n) +#endif #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_DEBUG_ERRORS_ONLY) #if defined(_WIN32) @@ -93,7 +154,7 @@ WOLFSSL_API void wolfSSL_Debugging_OFF(void); #endif /* DEBUG_WOLFSSL && !WOLFSSL_DEBUG_ERRORS_ONLY */ -#if defined(DEBUG_WOLFSSL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) +#if defined(DEBUG_WOLFSSL) || defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) #if defined(OPENSSL_EXTRA) || defined(DEBUG_WOLFSSL_VERBOSE) WOLFSSL_API void WOLFSSL_ERROR_LINE(int err, const char* func, unsigned int line, diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/md5.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/md5.h index 67e077dc..d43a89bd 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/md5.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/md5.h @@ -1,15 +1,19 @@ /* md5.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/md5.h +*/ + #ifndef WOLF_CRYPT_MD5_H #define WOLF_CRYPT_MD5_H @@ -39,12 +43,13 @@ /* in bytes */ enum { - WC_MD5 = 0, /* hash type unique */ + WC_MD5 = WC_HASH_TYPE_MD5, WC_MD5_BLOCK_SIZE = 64, WC_MD5_DIGEST_SIZE = 16, WC_MD5_PAD_SIZE = 56 }; + #ifdef WOLFSSL_MICROCHIP_PIC32MZ #include #endif diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_class.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_class.h index d612969d..6f1c4379 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_class.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_class.h @@ -1,12 +1,12 @@ /* mpi_class.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_superclass.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_superclass.h index 3f61dfaf..173ce0e3 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_superclass.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/mpi_superclass.h @@ -1,12 +1,12 @@ /* mpi_superclass.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/pwdbased.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/pwdbased.h index 5c187afe..26982335 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/pwdbased.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/pwdbased.h @@ -1,15 +1,18 @@ /* pwdbased.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/pwdbased.h +*/ #ifndef WOLF_CRYPT_PWDBASED_H #define WOLF_CRYPT_PWDBASED_H @@ -18,11 +21,6 @@ #ifndef NO_PWDBASED -#ifndef NO_MD5 - #include /* for hash type */ -#endif - -#include #ifdef __cplusplus extern "C" { @@ -32,6 +30,10 @@ * hashType renamed to typeH to avoid shadowing global declaration here: * wolfssl/wolfcrypt/asn.h line 173 in enum Oid_Types */ +WOLFSSL_API int wc_PBKDF1_ex(byte* key, int keyLen, byte* iv, int ivLen, + const byte* passwd, int passwdLen, + const byte* salt, int saltLen, int iterations, + int hashType, void* heap); WOLFSSL_API int wc_PBKDF1(byte* output, const byte* passwd, int pLen, const byte* salt, int sLen, int iterations, int kLen, int typeH); @@ -51,12 +53,6 @@ WOLFSSL_API int wc_scrypt(byte* output, const byte* passwd, int passLen, int blockSize, int parallel, int dkLen); #endif -/* helper functions */ -WOLFSSL_LOCAL int GetDigestSize(int typeH); -WOLFSSL_LOCAL int GetPKCS12HashSizes(int typeH, word32* v, word32* u); -WOLFSSL_LOCAL int DoPKCS12Hash(int typeH, byte* buffer, word32 totalLen, - byte* Ai, word32 u, int iterations); - #ifdef __cplusplus } /* extern "C" */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/random.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/random.h index 17bcf7bd..513317f0 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/random.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/random.h @@ -1,15 +1,19 @@ /* random.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/random.h +*/ + #ifndef WOLF_CRYPT_RANDOM_H @@ -17,8 +21,14 @@ #include -#ifdef HAVE_FIPS -/* for fips @wc_fips */ +#if defined(HAVE_FIPS) && \ + defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2) + #include +#endif /* HAVE_FIPS_VERSION >= 2 */ + +/* included for fips @wc_fips */ +#if defined(HAVE_FIPS) && \ + (!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2)) #include #endif @@ -47,8 +57,8 @@ #endif /* make sure Hash DRBG is enabled, unless WC_NO_HASHDRBG is defined - or CUSTOM_RAND_GENERATE_BLOCK is defined*/ -#if !defined(WC_NO_HASHDRBG) || !defined(CUSTOM_RAND_GENERATE_BLOCK) + or CUSTOM_RAND_GENERATE_BLOCK is defined */ +#if !defined(WC_NO_HASHDRBG) && !defined(CUSTOM_RAND_GENERATE_BLOCK) #undef HAVE_HASHDRBG #define HAVE_HASHDRBG #ifndef WC_RESEED_INTERVAL @@ -57,7 +67,9 @@ #endif -#ifndef HAVE_FIPS /* avoid redefining structs and macros */ +/* avoid redefinition of structs */ +#if !defined(HAVE_FIPS) || \ + (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)) /* RNG supports the following sources (in order): * 1. CUSTOM_RAND_GENERATE_BLOCK: Defines name of function as RNG source and @@ -85,7 +97,9 @@ #include #elif defined(HAVE_WNR) /* allow whitewood as direct RNG source using wc_GenerateSeed directly */ -#else +#elif defined(HAVE_INTEL_RDRAND) + /* Intel RDRAND or RDSEED */ +#elif !defined(WC_NO_RNG) #error No RNG source defined! #endif @@ -138,7 +152,7 @@ struct WC_RNG { #endif }; -#endif /* HAVE_FIPS */ +#endif /* NO FIPS or have FIPS v2*/ /* NO_OLD_RNGNAME removes RNG struct name to prevent possible type conflicts, * can't be used with CTaoCrypt FIPS */ @@ -157,21 +171,42 @@ int wc_GenerateSeed(OS_Seed* os, byte* seed, word32 sz); WOLFSSL_API int wc_FreeNetRandom(void); #endif /* HAVE_WNR */ - +#ifndef WC_NO_RNG WOLFSSL_API int wc_InitRng(WC_RNG*); WOLFSSL_API int wc_InitRng_ex(WC_RNG* rng, void* heap, int devId); +WOLFSSL_API int wc_InitRngNonce(WC_RNG* rng, byte* nonce, word32 nonceSz); +WOLFSSL_API int wc_InitRngNonce_ex(WC_RNG* rng, byte* nonce, word32 nonceSz, + void* heap, int devId); WOLFSSL_API int wc_RNG_GenerateBlock(WC_RNG*, byte*, word32 sz); WOLFSSL_API int wc_RNG_GenerateByte(WC_RNG*, byte*); WOLFSSL_API int wc_FreeRng(WC_RNG*); +#else +#include +#define wc_InitRng(rng) NOT_COMPILED_IN +#define wc_InitRng_ex(rng, h, d) NOT_COMPILED_IN +#define wc_InitRngNonce(rng, n, s) NOT_COMPILED_IN +#define wc_InitRngNonce_ex(rng, n, s, h, d) NOT_COMPILED_IN +#define wc_RNG_GenerateBlock(rng, b, s) NOT_COMPILED_IN +#define wc_RNG_GenerateByte(rng, b) NOT_COMPILED_IN +#define wc_FreeRng(rng) (void)NOT_COMPILED_IN +#endif + #ifdef HAVE_HASHDRBG WOLFSSL_LOCAL int wc_RNG_DRBG_Reseed(WC_RNG* rng, const byte* entropy, word32 entropySz); + WOLFSSL_API int wc_RNG_TestSeed(const byte* seed, word32 seedSz); WOLFSSL_API int wc_RNG_HealthTest(int reseed, const byte* entropyA, word32 entropyASz, const byte* entropyB, word32 entropyBSz, byte* output, word32 outputSz); + WOLFSSL_API int wc_RNG_HealthTest_ex(int reseed, + const byte* nonce, word32 nonceSz, + const byte* entropyA, word32 entropyASz, + const byte* entropyB, word32 entropyBSz, + byte* output, word32 outputSz, + void* heap, int devId); #endif /* HAVE_HASHDRBG */ #ifdef __cplusplus diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/settings.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/settings.h index 5a22416b..7f7a1167 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/settings.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/settings.h @@ -1,12 +1,12 @@ /* settings.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -67,6 +67,9 @@ /* Uncomment next line if building wolfSSL for LSR */ /* #define WOLFSSL_LSR */ +/* Uncomment next line if building for Freescale Classic MQX version 4.0 */ +/* #define FREESCALE_MQX_4_0 */ + /* Uncomment next line if building for Freescale Classic MQX/RTCS/MFS */ /* #define FREESCALE_MQX */ @@ -76,7 +79,8 @@ /* Uncomment next line if building for Freescale KSDK Bare Metal */ /* #define FREESCALE_KSDK_BM */ -/* Uncomment next line if building for Freescale KSDK FreeRTOS (old name FREESCALE_FREE_RTOS) */ +/* Uncomment next line if building for Freescale KSDK FreeRTOS, */ +/* (old name FREESCALE_FREE_RTOS) */ /* #define FREESCALE_KSDK_FREERTOS */ /* Uncomment next line if using STM32F2 */ @@ -85,6 +89,9 @@ /* Uncomment next line if using STM32F4 */ /* #define WOLFSSL_STM32F4 */ +/* Uncomment next line if using STM32FL */ +/* #define WOLFSSL_STM32FL */ + /* Uncomment next line if using STM32F7 */ /* #define WOLFSSL_STM32F7 */ @@ -153,6 +160,18 @@ /* Uncomment next line if building for using XILINX */ /* #define WOLFSSL_XILINX */ +/* Uncomment next line if building for Nucleus 1.2 */ +/* #define WOLFSSL_NUCLEUS_1_2 */ + +/* Uncomment next line if building for using Apache mynewt */ +/* #define WOLFSSL_APACHE_MYNEWT */ + +/* Uncomment next line if building for using ESP-IDF */ +/* #define WOLFSSL_ESPIDF */ + +/* Uncomment next line if using Espressif ESP32-WROOM-32 */ +/* #define WOLFSSL_ESPWROOM32 */ + #include #ifdef WOLFSSL_USER_SETTINGS @@ -194,6 +213,22 @@ #include #endif +#if defined(WOLFSSL_ESPIDF) + #define FREERTOS + #define WOLFSSL_LWIP + #define NO_WRITEV + #define SIZEOF_LONG_LONG 8 + #define NO_WOLFSSL_DIR + #define WOLFSSL_NO_CURRDIR + + #define TFM_TIMING_RESISTANT + #define ECC_TIMING_RESISTANT + #define WC_RSA_BLINDING +#if !defined(WOLFSSL_USER_SETTINGS) + #define HAVE_ECC +#endif /* !WOLFSSL_USER_SETTINGS */ +#endif /* WOLFSSL_ESPIDF */ + #if defined(HAVE_LWIP_NATIVE) /* using LwIP native TCP socket */ #define WOLFSSL_LWIP #define NO_WRITEV @@ -202,6 +237,22 @@ #define NO_FILESYSTEM #endif +#if defined(WOLFSSL_CONTIKI) + #include + #define WOLFSSL_UIP + #define NO_WOLFSSL_MEMORY + #define NO_WRITEV + #define SINGLE_THREADED + #define WOLFSSL_USER_IO + #define NO_FILESYSTEM + #define CUSTOM_RAND_TYPE uint16_t + #define CUSTOM_RAND_GENERATE random_rand + static inline unsigned int LowResTimer(void) + { + return clock_seconds(); + } +#endif + #if defined(WOLFSSL_IAR_ARM) || defined(WOLFSSL_ROWLEY_ARM) #define NO_MAIN_DRIVER #define SINGLE_THREADED @@ -231,9 +282,15 @@ #endif #ifdef WOLFSSL_MICROCHIP_PIC32MZ - #define WOLFSSL_PIC32MZ_CRYPT - #define WOLFSSL_PIC32MZ_RNG - #define WOLFSSL_PIC32MZ_HASH + #ifndef NO_PIC32MZ_CRYPT + #define WOLFSSL_PIC32MZ_CRYPT + #endif + #ifndef NO_PIC32MZ_RNG + #define WOLFSSL_PIC32MZ_RNG + #endif + #ifndef NO_PIC32MZ_HASH + #define WOLFSSL_PIC32MZ_HASH + #endif #endif #ifdef MICROCHIP_TCPIP_V5 @@ -332,7 +389,8 @@ #ifdef VXWORKS_SIM #define TFM_NO_ASM #endif - #define WOLFSSL_PTHREADS + /* For VxWorks pthreads wrappers for mutexes uncomment the next line. */ + /* #define WOLFSSL_PTHREADS */ #define WOLFSSL_HAVE_MIN #define WOLFSSL_HAVE_MAX #define USE_FAST_MATH @@ -438,6 +496,32 @@ #include "wolfssl_chibios.h" #endif +#ifdef WOLFSSL_PB + /* PB is using older 1.2 version of Nucleus */ + #undef WOLFSSL_NUCLEUS + #define WOLFSSL_NUCLEUS_1_2 +#endif + +#ifdef WOLFSSL_NUCLEUS_1_2 + #define NO_WRITEV + #define NO_WOLFSSL_DIR + + #if !defined(NO_ASN_TIME) && !defined(USER_TIME) + #error User must define XTIME, see manual + #endif + + #if !defined(XMALLOC_OVERRIDE) && !defined(XMALLOC_USER) + extern void* nucleus_malloc(unsigned long size, void* heap, int type); + extern void* nucleus_realloc(void* ptr, unsigned long size, void* heap, + int type); + extern void nucleus_free(void* ptr, void* heap, int type); + + #define XMALLOC(s, h, type) nucleus_malloc((s), (h), (type)) + #define XREALLOC(p, n, h, t) nucleus_realloc((p), (n), (h), (t)) + #define XFREE(p, h, type) nucleus_free((p), (h), (type)) + #endif +#endif + #ifdef WOLFSSL_NRF5x #define SIZEOF_LONG 4 #define SIZEOF_LONG_LONG 8 @@ -494,7 +578,7 @@ extern void uITRON4_free(void *p) ; #include "tm/tmonitor.h" /* static char* gets(char *buff); */ - static char* fgets(char *buff, int sz, FILE *fp) { + static char* fgets(char *buff, int sz, XFILE fp) { char * p = buff; *p = '\0'; while (1) { @@ -539,7 +623,9 @@ extern void uITRON4_free(void *p) ; #define XMALLOC(s, h, type) pvPortMalloc((s)) #define XFREE(p, h, type) vPortFree((p)) #endif - + #if defined(HAVE_ED25519) || defined(WOLFSSL_ESPIDF) + #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n)) + #endif #ifndef NO_WRITEV #define NO_WRITEV #endif @@ -700,6 +786,11 @@ extern void uITRON4_free(void *p) ; #define TFM_TIMING_RESISTANT #endif +#ifdef FREESCALE_MQX_4_0 + /* use normal Freescale MQX port, but with minor changes for 4.0 */ + #define FREESCALE_MQX +#endif + #ifdef FREESCALE_MQX #define FREESCALE_COMMON #include "mqx.h" @@ -716,10 +807,12 @@ extern void uITRON4_free(void *p) ; #include "mutex.h" #endif - #define XMALLOC_OVERRIDE - #define XMALLOC(s, h, t) (void *)_mem_alloc_system((s)) - #define XFREE(p, h, t) {void* xp = (p); if ((xp)) _mem_free((xp));} - /* Note: MQX has no realloc, using fastmath above */ + #if !defined(XMALLOC_OVERRIDE) && !defined(XMALLOC_USER) + #define XMALLOC_OVERRIDE + #define XMALLOC(s, h, t) (void *)_mem_alloc_system((s)) + #define XFREE(p, h, t) {void* xp = (p); if ((xp)) _mem_free((xp));} + /* Note: MQX has no realloc, using fastmath above */ + #endif #endif #ifdef FREESCALE_KSDK_MQX @@ -946,14 +1039,6 @@ extern void uITRON4_free(void *p) ; #undef NO_ECC256 #define HAVE_ECC384 #endif - - /* enable features */ - #undef HAVE_CURVE25519 - #define HAVE_CURVE25519 - #undef HAVE_ED25519 - #define HAVE_ED25519 - #undef WOLFSSL_SHA512 - #define WOLFSSL_SHA512 #endif #endif #endif @@ -977,7 +1062,8 @@ extern void uITRON4_free(void *p) ; #endif #if defined(WOLFSSL_STM32F2) || defined(WOLFSSL_STM32F4) || \ - defined(WOLFSSL_STM32F7) + defined(WOLFSSL_STM32F7) || defined(WOLFSSL_STM32F1) || \ + defined(WOLFSSL_STM32L4) #define SIZEOF_LONG_LONG 8 #define NO_DEV_RANDOM @@ -987,10 +1073,17 @@ extern void uITRON4_free(void *p) ; #ifndef NO_STM32_RNG #undef STM32_RNG #define STM32_RNG + #ifdef WOLFSSL_STM32F427_RNG + #include "stm32f427xx.h" + #endif #endif #ifndef NO_STM32_CRYPTO #undef STM32_CRYPTO #define STM32_CRYPTO + + #ifdef WOLFSSL_STM32L4 + #define NO_AES_192 /* hardware does not support 192-bit */ + #endif #endif #ifndef NO_STM32_HASH #undef STM32_HASH @@ -1003,10 +1096,14 @@ extern void uITRON4_free(void *p) ; #ifdef WOLFSSL_STM32_CUBEMX #if defined(WOLFSSL_STM32F2) #include "stm32f2xx_hal.h" + #elif defined(WOLFSSL_STM32L4) + #include "stm32l4xx_hal.h" #elif defined(WOLFSSL_STM32F4) #include "stm32f4xx_hal.h" #elif defined(WOLFSSL_STM32F7) #include "stm32f7xx_hal.h" + #elif defined(WOLFSSL_STM32F1) + #include "stm32f1xx_hal.h" #endif #ifndef STM32_HAL_TIMEOUT @@ -1029,11 +1126,21 @@ extern void uITRON4_free(void *p) ; #ifdef STM32_HASH #include "stm32f4xx_hash.h" #endif + #elif defined(WOLFSSL_STM32L4) + #include "stm32l4xx.h" + #ifdef STM32_CRYPTO + #include "stm32l4xx_cryp.h" + #endif + #ifdef STM32_HASH + #include "stm32l4xx_hash.h" + #endif #elif defined(WOLFSSL_STM32F7) #include "stm32f7xx.h" + #elif defined(WOLFSSL_STM32F1) + #include "stm32f1xx.h" #endif #endif /* WOLFSSL_STM32_CUBEMX */ -#endif /* WOLFSSL_STM32F2 || WOLFSSL_STM32F4 || WOLFSSL_STM32F7 */ +#endif /* WOLFSSL_STM32F2 || WOLFSSL_STM32F4 || WOLFSSL_STM32L4 || WOLFSSL_STM32F7 */ #ifdef MICRIUM #include @@ -1070,12 +1177,6 @@ extern void uITRON4_free(void *p) ; #define CUSTOM_RAND_TYPE RAND_NBR #define CUSTOM_RAND_GENERATE Math_Rand #endif - - #define WOLFSSL_TYPES - typedef CPU_INT08U byte; - typedef CPU_INT16U word16; - typedef CPU_INT32U word32; - #define STRING_USER #define XSTRLEN(pstr) ((CPU_SIZE_T)Str_Len((CPU_CHAR *)(pstr))) #define XSTRNCPY(pstr_dest, pstr_src, len_max) \ @@ -1172,6 +1273,41 @@ extern void uITRON4_free(void *p) ; #endif #endif /*(WOLFSSL_XILINX_CRYPT)*/ +#if defined(WOLFSSL_APACHE_MYNEWT) + #include "os/os_malloc.h" + #if !defined(WOLFSSL_LWIP) + #include + #endif + + #if !defined(SIZEOF_LONG) + #define SIZEOF_LONG 4 + #endif + #if !defined(SIZEOF_LONG_LONG) + #define SIZEOF_LONG_LONG 8 + #endif + #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) + #define BIG_ENDIAN_ORDER + #else + #undef BIG_ENDIAN_ORDER + #define LITTLE_ENDIAN_ORDER + #endif + #define NO_WRITEV + #define WOLFSSL_USER_IO + #define SINGLE_THREADED + #define NO_DEV_RANDOM + #define NO_DH + #define NO_WOLFSSL_DIR + #define NO_ERROR_STRINGS + #define HAVE_ECC + #define NO_SESSION_CACHE + #define NO_ERROR_STRINGS + #define XMALLOC_USER + #define XMALLOC(sz, heap, type) os_malloc(sz) + #define XREALLOC(p, sz, heap, type) os_realloc(p, sz) + #define XFREE(p, heap, type) os_free(p) + +#endif /*(WOLFSSL_APACHE_MYNEWT)*/ + #ifdef WOLFSSL_IMX6 #ifndef SIZEOF_LONG_LONG #define SIZEOF_LONG_LONG 8 @@ -1232,7 +1368,6 @@ extern void uITRON4_free(void *p) ; #else #define TFM_TIMING_RESISTANT #define NO_WOLFSSL_DIR - #define NO_FILESYSTEM #define NO_WRITEV #define NO_MAIN_DRIVER #define WOLFSSL_LOG_PRINTF @@ -1240,9 +1375,6 @@ extern void uITRON4_free(void *p) ; #endif #else #define HAVE_ECC - #define ECC_TIMING_RESISTANT - #define TFM_TIMING_RESISTANT - #define NO_FILESYSTEM #define NO_WRITEV #define NO_MAIN_DRIVER #define USER_TICKS @@ -1252,6 +1384,10 @@ extern void uITRON4_free(void *p) ; #if !defined(HAVE_FIPS) && !defined(NO_RSA) #define WC_RSA_BLINDING #endif + + #define NO_FILESYSTEM + #define ECC_TIMING_RESISTANT + #define TFM_TIMING_RESISTANT #define SINGLE_THREADED #define NO_ASN_TIME /* can not use headers such as windows.h */ #define HAVE_AESGCM @@ -1414,10 +1550,6 @@ extern void uITRON4_free(void *p) ; #ifndef NO_AES_CBC #undef HAVE_AES_CBC #define HAVE_AES_CBC - #else - #ifndef WOLFCRYPT_ONLY - #error "AES CBC is required for TLS and can only be disabled for WOLFCRYPT_ONLY builds" - #endif #endif #ifdef WOLFSSL_AES_XTS /* AES-XTS makes calls to AES direct functions */ @@ -1433,6 +1565,13 @@ extern void uITRON4_free(void *p) ; #endif #endif +#if (defined(WOLFSSL_TLS13) && defined(WOLFSSL_NO_TLS12)) || \ + (!defined(HAVE_AES_CBC) && defined(NO_DES3) && defined(NO_RC4) && \ + !defined(HAVE_CAMELLIA) && !defined(HAVE_IDEA) && \ + !defined(HAVE_NULL_CIPHER) && !defined(HAVE_HC128)) + #define WOLFSSL_AEAD_ONLY +#endif + /* if desktop type system and fastmath increase default max bits */ #ifdef WOLFSSL_X86_64_BUILD #ifdef USE_FAST_MATH @@ -1499,9 +1638,9 @@ extern void uITRON4_free(void *p) ; #define HAVE_WOLF_EVENT #ifdef WOLFSSL_ASYNC_CRYPT_TEST - #define WC_ASYNC_DEV_SIZE 320+24 + #define WC_ASYNC_DEV_SIZE 328+24 #else - #define WC_ASYNC_DEV_SIZE 320 + #define WC_ASYNC_DEV_SIZE 328 #endif #if !defined(HAVE_CAVIUM) && !defined(HAVE_INTEL_QA) && \ @@ -1551,7 +1690,7 @@ extern void uITRON4_free(void *p) ; #ifndef HAVE_AES_KEYWRAP #error PKCS7 requires AES key wrap please define HAVE_AES_KEYWRAP #endif - #ifndef HAVE_X963_KDF + #if defined(HAVE_ECC) && !defined(HAVE_X963_KDF) #error PKCS7 requires X963 KDF please define HAVE_X963_KDF #endif #endif @@ -1574,7 +1713,7 @@ extern void uITRON4_free(void *p) ; #undef HAVE_GMTIME_R /* don't trust macro with windows */ #endif /* WOLFSSL_MYSQL_COMPATIBLE */ -#if defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) +#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) #define SSL_OP_NO_COMPRESSION SSL_OP_NO_COMPRESSION #define OPENSSL_NO_ENGINE #define X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT @@ -1614,7 +1753,8 @@ extern void uITRON4_free(void *p) ; #ifndef WC_NO_HARDEN #if (defined(USE_FAST_MATH) && !defined(TFM_TIMING_RESISTANT)) || \ (defined(HAVE_ECC) && !defined(ECC_TIMING_RESISTANT)) || \ - (!defined(NO_RSA) && !defined(WC_RSA_BLINDING) && !defined(HAVE_FIPS)) + (!defined(NO_RSA) && !defined(WC_RSA_BLINDING) && !defined(HAVE_FIPS) && \ + !defined(WC_NO_RNG)) #ifndef _MSC_VER #warning "For timing resistance / side-channel attack prevention consider using harden options" @@ -1626,8 +1766,8 @@ extern void uITRON4_free(void *p) ; #if defined(NO_OLD_WC_NAMES) || defined(OPENSSL_EXTRA) /* added to have compatibility with SHA256() */ - #if !defined(NO_OLD_SHA256_NAMES) && !defined(HAVE_FIPS) - #define NO_OLD_SHA256_NAMES + #if !defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) + #define NO_OLD_SHA_NAMES #endif #endif @@ -1637,7 +1777,77 @@ extern void uITRON4_free(void *p) ; #undef OPENSSL_EXTRA_X509_SMALL #define OPENSSL_EXTRA_X509_SMALL #endif /* OPENSSL_EXTRA */ - + +/* support for converting DER to PEM */ +#if defined(WOLFSSL_KEY_GEN) || defined(WOLFSSL_CERT_GEN) || \ + defined(OPENSSL_EXTRA) + #undef WOLFSSL_DER_TO_PEM + #define WOLFSSL_DER_TO_PEM +#endif + +/* keep backwards compatibility enabling encrypted private key */ +#ifndef WOLFSSL_ENCRYPTED_KEYS + #if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \ + defined(HAVE_WEBSERVER) + #define WOLFSSL_ENCRYPTED_KEYS + #endif +#endif + +/* support for disabling PEM to DER */ +#if !defined(WOLFSSL_NO_PEM) + #undef WOLFSSL_PEM_TO_DER + #define WOLFSSL_PEM_TO_DER +#endif + +/* Parts of the openssl compatibility layer require peer certs */ +#if defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) + #undef KEEP_PEER_CERT + #define KEEP_PEER_CERT +#endif + +/* RAW hash function APIs are not implemented with ARMv8 hardware acceleration*/ +#ifdef WOLFSSL_ARMASM + #undef WOLFSSL_NO_HASH_RAW + #define WOLFSSL_NO_HASH_RAW +#endif + +#if !defined(WOLFSSL_SHA384) && !defined(WOLFSSL_SHA512) && defined(NO_AES) && \ + !defined(WOLFSSL_SHA3) + #undef WOLFSSL_NO_WORD64_OPS + #define WOLFSSL_NO_WORD64_OPS +#endif + +#if defined(NO_AES) && defined(NO_DES3) && !defined(HAVE_CAMELLIA) && \ + defined(NO_PWDBASED) && !defined(HAVE_IDEA) + #undef WOLFSSL_NO_XOR_OPS + #define WOLFSSL_NO_XOR_OPS +#endif + +#if defined(NO_ASN) && defined(WOLFCRYPT_ONLY) + #undef WOLFSSL_NO_INT_ENCODE + #define WOLFSSL_NO_INT_ENCODE + #undef WOLFSSL_NO_INT_DECODE + #define WOLFSSL_NO_INT_DECODE +#endif + +#if defined(WOLFCRYPT_ONLY) && defined(WOLFSSL_RSA_VERIFY_ONLY) && \ + defined(WC_NO_RSA_OAEP) + #undef WOLFSSL_NO_CT_OPS + #define WOLFSSL_NO_CT_OPS +#endif + +#if defined(WOLFCRYPT_ONLY) && defined(NO_AES) && !defined(HAVE_CURVE25519) && \ + defined(WC_NO_RNG) && defined(WC_NO_RSA_OAEP) + #undef WOLFSSL_NO_CONST_CMP + #define WOLFSSL_NO_CONST_CMP +#endif + +#if defined(WOLFCRYPT_ONLY) && defined(NO_AES) && !defined(WOLFSSL_SHA384) && \ + !defined(WOLFSSL_SHA512) && defined(WC_NO_RNG) && \ + defined(WOLFSSL_SP_MATH) && defined(WOLFSSL_RSA_PUBLIC_ONLY) + #undef WOLFSSL_NO_FORCE_ZERO + #define WOLFSSL_NO_FORCE_ZERO +#endif #ifdef __cplusplus } /* extern "C" */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/sha.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/sha.h index 416ec626..9d506570 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/sha.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/sha.h @@ -1,15 +1,19 @@ /* sha.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/sha.h +*/ + #ifndef WOLF_CRYPT_SHA_H #define WOLF_CRYPT_SHA_H @@ -18,7 +22,13 @@ #ifndef NO_SHA -#ifdef HAVE_FIPS +#if defined(HAVE_FIPS) && \ + defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2) + #include +#endif /* HAVE_FIPS_VERSION >= 2 */ + +#if defined(HAVE_FIPS) && \ + (!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2)) #define wc_Sha Sha #define WC_SHA SHA #define WC_SHA_BLOCK_SIZE SHA_BLOCK_SIZE @@ -37,7 +47,9 @@ extern "C" { #endif -#ifndef HAVE_FIPS /* avoid redefining structs */ +/* avoid redefinition of structs */ +#if !defined(HAVE_FIPS) || \ + (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)) #ifdef WOLFSSL_MICROCHIP_PIC32MZ #include @@ -49,9 +61,12 @@ #include #endif +#if !defined(NO_OLD_SHA_NAMES) + #define SHA WC_SHA +#endif + #ifndef NO_OLD_WC_NAMES #define Sha wc_Sha - #define SHA WC_SHA #define SHA_BLOCK_SIZE WC_SHA_BLOCK_SIZE #define SHA_DIGEST_SIZE WC_SHA_DIGEST_SIZE #define SHA_PAD_SIZE WC_SHA_PAD_SIZE @@ -59,7 +74,7 @@ /* in bytes */ enum { - WC_SHA = 1, /* hash type unique */ + WC_SHA = WC_HASH_TYPE_SHA, WC_SHA_BLOCK_SIZE = 64, WC_SHA_DIGEST_SIZE = 20, WC_SHA_PAD_SIZE = 56 @@ -107,6 +122,7 @@ typedef struct wc_Sha { WOLFSSL_API int wc_InitSha(wc_Sha*); WOLFSSL_API int wc_InitSha_ex(wc_Sha* sha, void* heap, int devId); WOLFSSL_API int wc_ShaUpdate(wc_Sha*, const byte*, word32); +WOLFSSL_API int wc_ShaFinalRaw(wc_Sha*, byte*); WOLFSSL_API int wc_ShaFinal(wc_Sha*, byte*); WOLFSSL_API void wc_ShaFree(wc_Sha*); diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/sha256.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/sha256.h index 2a84253a..73c9578d 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/sha256.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/sha256.h @@ -1,15 +1,19 @@ /* sha256.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfcrypt/sha256.h +*/ + /* code submitted by raphael.huck@efixo.com */ @@ -20,7 +24,13 @@ #ifndef NO_SHA256 -#ifdef HAVE_FIPS +#if defined(HAVE_FIPS) && \ + defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2) + #include +#endif /* HAVE_FIPS_VERSION >= 2 */ + +#if defined(HAVE_FIPS) && \ + (!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2)) #define wc_Sha256 Sha256 #define WC_SHA256 SHA256 #define WC_SHA256_BLOCK_SIZE SHA256_BLOCK_SIZE @@ -48,7 +58,9 @@ extern "C" { #endif -#ifndef HAVE_FIPS /* avoid redefinition of structs */ +/* avoid redefinition of structs */ +#if !defined(HAVE_FIPS) || \ + (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)) #ifdef WOLFSSL_MICROCHIP_PIC32MZ #include @@ -59,6 +71,9 @@ #ifdef WOLFSSL_ASYNC_CRYPT #include #endif +#if defined(WOLFSSL_DEVCRYPTO) && defined(WOLFSSL_DEVCRYPTO_HASH) + #include +#endif #if defined(_MSC_VER) #define SHA256_NOINLINE __declspec(noinline) @@ -68,9 +83,10 @@ #define SHA256_NOINLINE #endif -#ifndef NO_OLD_SHA256_NAMES +#if !defined(NO_OLD_SHA_NAMES) #define SHA256 WC_SHA256 #endif + #ifndef NO_OLD_WC_NAMES #define Sha256 wc_Sha256 #define SHA256_BLOCK_SIZE WC_SHA256_BLOCK_SIZE @@ -80,16 +96,19 @@ /* in bytes */ enum { - WC_SHA256 = 2, /* hash type unique */ + WC_SHA256 = WC_HASH_TYPE_SHA256, WC_SHA256_BLOCK_SIZE = 64, WC_SHA256_DIGEST_SIZE = 32, WC_SHA256_PAD_SIZE = 56 }; + #ifdef WOLFSSL_TI_HASH #include "wolfssl/wolfcrypt/port/ti/ti-hash.h" #elif defined(WOLFSSL_IMX6_CAAM) #include "wolfssl/wolfcrypt/port/caam/wolfcaam_sha.h" +#elif defined(WOLFSSL_AFALG_HASH) + #include "wolfssl/wolfcrypt/port/af_alg/afalg_hash.h" #else /* wc_Sha256 digest */ typedef struct wc_Sha256 { @@ -114,6 +133,15 @@ typedef struct wc_Sha256 { #ifdef WOLFSSL_ASYNC_CRYPT WC_ASYNC_DEV asyncDev; #endif /* WOLFSSL_ASYNC_CRYPT */ +#ifdef WOLFSSL_SMALL_STACK_CACHE + word32* W; +#endif +#ifdef WOLFSSL_DEVCRYPTO_HASH + WC_CRYPTODEV ctx; + byte* msg; + word32 used; + word32 len; +#endif #endif } wc_Sha256; @@ -124,6 +152,7 @@ typedef struct wc_Sha256 { WOLFSSL_API int wc_InitSha256(wc_Sha256*); WOLFSSL_API int wc_InitSha256_ex(wc_Sha256*, void*, int); WOLFSSL_API int wc_Sha256Update(wc_Sha256*, const byte*, word32); +WOLFSSL_API int wc_Sha256FinalRaw(wc_Sha256*, byte*); WOLFSSL_API int wc_Sha256Final(wc_Sha256*, byte*); WOLFSSL_API void wc_Sha256Free(wc_Sha256*); @@ -135,7 +164,9 @@ WOLFSSL_API void wc_Sha256SizeSet(wc_Sha256*, word32); #endif #ifdef WOLFSSL_SHA224 -#ifndef HAVE_FIPS /* avoid redefinition of structs */ +/* avoid redefinition of structs */ +#if !defined(HAVE_FIPS) || \ + (defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)) #ifndef NO_OLD_WC_NAMES #define Sha224 wc_Sha224 @@ -147,12 +178,13 @@ WOLFSSL_API void wc_Sha256SizeSet(wc_Sha256*, word32); /* in bytes */ enum { - WC_SHA224 = 8, /* hash type unique */ + WC_SHA224 = WC_HASH_TYPE_SHA224, WC_SHA224_BLOCK_SIZE = WC_SHA256_BLOCK_SIZE, WC_SHA224_DIGEST_SIZE = 28, WC_SHA224_PAD_SIZE = WC_SHA256_PAD_SIZE }; + typedef wc_Sha256 wc_Sha224; #endif /* HAVE_FIPS */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/types.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/types.h index e9584f8e..f49161a4 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/types.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/types.h @@ -1,106 +1,108 @@ /* types.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ - +/*! + \file wolfssl/wolfcrypt/types.h +*/ #ifndef WOLF_CRYPT_TYPES_H #define WOLF_CRYPT_TYPES_H - #include - #include + #include + #include - #ifdef __cplusplus - extern "C" { - #endif + #ifdef __cplusplus + extern "C" { + #endif - #if defined(WORDS_BIGENDIAN) - #define BIG_ENDIAN_ORDER - #endif + #if defined(WORDS_BIGENDIAN) + #define BIG_ENDIAN_ORDER + #endif - #ifndef BIG_ENDIAN_ORDER - #define LITTLE_ENDIAN_ORDER - #endif + #ifndef BIG_ENDIAN_ORDER + #define LITTLE_ENDIAN_ORDER + #endif - #ifndef WOLFSSL_TYPES - #ifndef byte - typedef unsigned char byte; - #endif - typedef unsigned short word16; - typedef unsigned int word32; - typedef byte word24[3]; - #endif + #ifndef WOLFSSL_TYPES + #ifndef byte + typedef unsigned char byte; + #endif + typedef unsigned short word16; + typedef unsigned int word32; + typedef byte word24[3]; + #endif - /* try to set SIZEOF_LONG or LONG_LONG if user didn't */ - #if !defined(_MSC_VER) && !defined(__BCPLUSPLUS__) && !defined(__EMSCRIPTEN__) - #if !defined(SIZEOF_LONG_LONG) && !defined(SIZEOF_LONG) - #if (defined(__alpha__) || defined(__ia64__) || \ - defined(_ARCH_PPC64) || defined(__mips64) || \ - defined(__x86_64__) || \ - ((defined(sun) || defined(__sun)) && \ - (defined(LP64) || defined(_LP64)))) - /* long should be 64bit */ - #define SIZEOF_LONG 8 - #elif defined(__i386__) || defined(__CORTEX_M3__) - /* long long should be 64bit */ - #define SIZEOF_LONG_LONG 8 - #endif - #endif - #endif + /* try to set SIZEOF_LONG or LONG_LONG if user didn't */ + #if !defined(_MSC_VER) && !defined(__BCPLUSPLUS__) && !defined(__EMSCRIPTEN__) + #if !defined(SIZEOF_LONG_LONG) && !defined(SIZEOF_LONG) + #if (defined(__alpha__) || defined(__ia64__) || \ + defined(_ARCH_PPC64) || defined(__mips64) || \ + defined(__x86_64__) || \ + ((defined(sun) || defined(__sun)) && \ + (defined(LP64) || defined(_LP64)))) + /* long should be 64bit */ + #define SIZEOF_LONG 8 + #elif defined(__i386__) || defined(__CORTEX_M3__) + /* long long should be 64bit */ + #define SIZEOF_LONG_LONG 8 + #endif + #endif + #endif - #if defined(_MSC_VER) || defined(__BCPLUSPLUS__) - #define WORD64_AVAILABLE - #define W64LIT(x) x##ui64 - typedef unsigned __int64 word64; - #elif defined(__EMSCRIPTEN__) - #define WORD64_AVAILABLE - #define W64LIT(x) x##ull - typedef unsigned long long word64; - #elif defined(SIZEOF_LONG) && SIZEOF_LONG == 8 - #define WORD64_AVAILABLE - #define W64LIT(x) x##LL - typedef unsigned long word64; - #elif defined(SIZEOF_LONG_LONG) && SIZEOF_LONG_LONG == 8 - #define WORD64_AVAILABLE - #define W64LIT(x) x##LL - typedef unsigned long long word64; - #elif defined(__SIZEOF_LONG_LONG__) && __SIZEOF_LONG_LONG__ == 8 - #define WORD64_AVAILABLE - #define W64LIT(x) x##LL - typedef unsigned long long word64; - #endif + #if defined(_MSC_VER) || defined(__BCPLUSPLUS__) + #define WORD64_AVAILABLE + #define W64LIT(x) x##ui64 + typedef unsigned __int64 word64; + #elif defined(__EMSCRIPTEN__) + #define WORD64_AVAILABLE + #define W64LIT(x) x##ull + typedef unsigned long long word64; + #elif defined(SIZEOF_LONG) && SIZEOF_LONG == 8 + #define WORD64_AVAILABLE + #define W64LIT(x) x##LL + typedef unsigned long word64; + #elif defined(SIZEOF_LONG_LONG) && SIZEOF_LONG_LONG == 8 + #define WORD64_AVAILABLE + #define W64LIT(x) x##LL + typedef unsigned long long word64; + #elif defined(__SIZEOF_LONG_LONG__) && __SIZEOF_LONG_LONG__ == 8 + #define WORD64_AVAILABLE + #define W64LIT(x) x##LL + typedef unsigned long long word64; + #endif #if !defined(NO_64BIT) && defined(WORD64_AVAILABLE) - /* These platforms have 64-bit CPU registers. */ - #if (defined(__alpha__) || defined(__ia64__) || defined(_ARCH_PPC64) || \ - defined(__mips64) || defined(__x86_64__) || defined(_M_X64)) || \ + /* These platforms have 64-bit CPU registers. */ + #if (defined(__alpha__) || defined(__ia64__) || defined(_ARCH_PPC64) || \ + defined(__mips64) || defined(__x86_64__) || defined(_M_X64)) || \ defined(__aarch64__) || defined(__sparc64__) - typedef word64 wolfssl_word; + typedef word64 wolfssl_word; #define WC_64BIT_CPU - #elif (defined(sun) || defined(__sun)) && \ + #elif (defined(sun) || defined(__sun)) && \ (defined(LP64) || defined(_LP64)) /* LP64 with GNU GCC compiler is reserved for when long int is 64 bits * and int uses 32 bits. When using Solaris Studio sparc and __sparc are - * avialable for 32 bit detection but __sparc64__ could be missed. This + * available for 32 bit detection but __sparc64__ could be missed. This * uses LP64 for checking 64 bit CPU arch. */ - typedef word64 wolfssl_word; + typedef word64 wolfssl_word; #define WC_64BIT_CPU #else - typedef word32 wolfssl_word; - #ifdef WORD64_AVAILABLE - #define WOLFCRYPT_SLOW_WORD64 - #endif - #endif + typedef word32 wolfssl_word; + #ifdef WORD64_AVAILABLE + #define WOLFCRYPT_SLOW_WORD64 + #endif + #endif #else #undef WORD64_AVAILABLE typedef word32 wolfssl_word; @@ -108,36 +110,40 @@ mp_digit, no 64 bit type so make mp_digit 16 bit */ #endif - enum { - WOLFSSL_WORD_SIZE = sizeof(wolfssl_word), - WOLFSSL_BIT_SIZE = 8, - WOLFSSL_WORD_BITS = WOLFSSL_WORD_SIZE * WOLFSSL_BIT_SIZE - }; + enum { + WOLFSSL_WORD_SIZE = sizeof(wolfssl_word), + WOLFSSL_BIT_SIZE = 8, + WOLFSSL_WORD_BITS = WOLFSSL_WORD_SIZE * WOLFSSL_BIT_SIZE + }; - #define WOLFSSL_MAX_16BIT 0xffffU + #define WOLFSSL_MAX_16BIT 0xffffU - /* use inlining if compiler allows */ - #ifndef INLINE - #ifndef NO_INLINE - #ifdef _MSC_VER - #define INLINE __inline - #elif defined(__GNUC__) + /* use inlining if compiler allows */ + #ifndef WC_INLINE + #ifndef NO_INLINE + #ifdef _MSC_VER + #define WC_INLINE __inline + #elif defined(__GNUC__) #ifdef WOLFSSL_VXWORKS - #define INLINE __inline__ + #define WC_INLINE __inline__ #else - #define INLINE inline + #define WC_INLINE inline #endif - #elif defined(__IAR_SYSTEMS_ICC__) - #define INLINE inline - #elif defined(THREADX) - #define INLINE _Inline - #else - #define INLINE - #endif - #else - #define INLINE - #endif - #endif + #elif defined(__IAR_SYSTEMS_ICC__) + #define WC_INLINE inline + #elif defined(THREADX) + #define WC_INLINE _Inline + #else + #define WC_INLINE + #endif + #else + #define WC_INLINE + #endif + #endif + + #if defined(HAVE_FIPS) || defined(HAVE_SELFTEST) + #define INLINE WC_INLINE + #endif /* set up rotate style */ @@ -155,47 +161,47 @@ #endif - /* set up thread local storage if available */ - #ifdef HAVE_THREAD_LS - #if defined(_MSC_VER) - #define THREAD_LS_T __declspec(thread) - /* Thread local storage only in FreeRTOS v8.2.1 and higher */ - #elif defined(FREERTOS) - #define THREAD_LS_T - #else - #define THREAD_LS_T __thread - #endif - #else - #define THREAD_LS_T - #endif + /* set up thread local storage if available */ + #ifdef HAVE_THREAD_LS + #if defined(_MSC_VER) + #define THREAD_LS_T __declspec(thread) + /* Thread local storage only in FreeRTOS v8.2.1 and higher */ + #elif defined(FREERTOS) || defined(FREERTOS_TCP) + #define THREAD_LS_T + #else + #define THREAD_LS_T __thread + #endif + #else + #define THREAD_LS_T + #endif /* GCC 7 has new switch() fall-through detection */ #if defined(__GNUC__) #if ((__GNUC__ > 7) || ((__GNUC__ == 7) && (__GNUC_MINOR__ >= 1))) - #define FALL_THROUGH __attribute__ ((fallthrough)); + #define FALL_THROUGH __attribute__ ((fallthrough)) #endif #endif #ifndef FALL_THROUGH #define FALL_THROUGH #endif - /* Micrium will use Visual Studio for compilation but not the Win32 API */ - #if defined(_WIN32) && !defined(MICRIUM) && !defined(FREERTOS) && \ - !defined(FREERTOS_TCP) && !defined(EBSNET) && \ + /* Micrium will use Visual Studio for compilation but not the Win32 API */ + #if defined(_WIN32) && !defined(MICRIUM) && !defined(FREERTOS) && \ + !defined(FREERTOS_TCP) && !defined(EBSNET) && \ !defined(WOLFSSL_UTASKER) && !defined(INTIME_RTOS) - #define USE_WINDOWS_API - #endif + #define USE_WINDOWS_API + #endif - /* idea to add global alloc override by Moises Guimaraes */ - /* default to libc stuff */ - /* XREALLOC is used once in normal math lib, not in fast math lib */ - /* XFREE on some embeded systems doesn't like free(0) so test */ - #if defined(HAVE_IO_POOL) - WOLFSSL_API void* XMALLOC(size_t n, void* heap, int type); - WOLFSSL_API void* XREALLOC(void *p, size_t n, void* heap, int type); - WOLFSSL_API void XFREE(void *p, void* heap, int type); - #elif defined(WOLFSSL_ASYNC_CRYPT) && defined(HAVE_INTEL_QA) + /* idea to add global alloc override by Moises Guimaraes */ + /* default to libc stuff */ + /* XREALLOC is used once in normal math lib, not in fast math lib */ + /* XFREE on some embedded systems doesn't like free(0) so test */ + #if defined(HAVE_IO_POOL) + WOLFSSL_API void* XMALLOC(size_t n, void* heap, int type); + WOLFSSL_API void* XREALLOC(void *p, size_t n, void* heap, int type); + WOLFSSL_API void XFREE(void *p, void* heap, int type); + #elif defined(WOLFSSL_ASYNC_CRYPT) && defined(HAVE_INTEL_QA) #include #undef USE_WOLFSSL_MEMORY #ifdef WOLFSSL_DEBUG_MEMORY @@ -208,55 +214,69 @@ #define XREALLOC(p, n, h, t) IntelQaRealloc((p), (n), (h), (t)) #endif /* WOLFSSL_DEBUG_MEMORY */ #elif defined(XMALLOC_USER) - /* prototypes for user heap override functions */ - #include /* for size_t */ - extern void *XMALLOC(size_t n, void* heap, int type); - extern void *XREALLOC(void *p, size_t n, void* heap, int type); - extern void XFREE(void *p, void* heap, int type); + /* prototypes for user heap override functions */ + #include /* for size_t */ + extern void *XMALLOC(size_t n, void* heap, int type); + extern void *XREALLOC(void *p, size_t n, void* heap, int type); + extern void XFREE(void *p, void* heap, int type); + #elif defined(WOLFSSL_MEMORY_LOG) + #define XMALLOC(n, h, t) xmalloc(n, h, t, __func__, __FILE__, __LINE__) + #define XREALLOC(p, n, h, t) xrealloc(p, n, h, t, __func__, __FILE__, __LINE__) + #define XFREE(p, h, t) xfree(p, h, t, __func__, __FILE__, __LINE__) + + /* prototypes for user heap override functions */ + #include /* for size_t */ + #include + extern void *xmalloc(size_t n, void* heap, int type, const char* func, + const char* file, unsigned int line); + extern void *xrealloc(void *p, size_t n, void* heap, int type, + const char* func, const char* file, unsigned int line); + extern void xfree(void *p, void* heap, int type, const char* func, + const char* file, unsigned int line); #elif defined(XMALLOC_OVERRIDE) /* override the XMALLOC, XFREE and XREALLOC macros */ - #elif defined(NO_WOLFSSL_MEMORY) - /* just use plain C stdlib stuff if desired */ - #include - #define XMALLOC(s, h, t) ((void)h, (void)t, malloc((s))) - #define XFREE(p, h, t) {void* xp = (p); if((xp)) free((xp));} - #define XREALLOC(p, n, h, t) realloc((p), (n)) - #elif !defined(MICRIUM_MALLOC) && !defined(EBSNET) \ - && !defined(WOLFSSL_SAFERTOS) && !defined(FREESCALE_MQX) \ - && !defined(FREESCALE_KSDK_MQX) && !defined(FREESCALE_FREE_RTOS) \ + #elif defined(NO_WOLFSSL_MEMORY) + /* just use plain C stdlib stuff if desired */ + #include + #define XMALLOC(s, h, t) ((void)h, (void)t, malloc((s))) + #define XFREE(p, h, t) {void* xp = (p); if((xp)) free((xp));} + #define XREALLOC(p, n, h, t) realloc((p), (n)) + #elif !defined(MICRIUM_MALLOC) && !defined(EBSNET) \ + && !defined(WOLFSSL_SAFERTOS) && !defined(FREESCALE_MQX) \ + && !defined(FREESCALE_KSDK_MQX) && !defined(FREESCALE_FREE_RTOS) \ && !defined(WOLFSSL_LEANPSK) && !defined(WOLFSSL_uITRON4) - /* default C runtime, can install different routines at runtime via cbs */ - #include + /* default C runtime, can install different routines at runtime via cbs */ + #include #ifdef WOLFSSL_STATIC_MEMORY #ifdef WOLFSSL_DEBUG_MEMORY - #define XMALLOC(s, h, t) wolfSSL_Malloc((s), (h), (t), __func__, __LINE__) - #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), (h), (t), __func__, __LINE__);} - #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n), (h), (t), __func__, __LINE__) + #define XMALLOC(s, h, t) wolfSSL_Malloc((s), (h), (t), __func__, __LINE__) + #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), (h), (t), __func__, __LINE__);} + #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n), (h), (t), __func__, __LINE__) #else - #define XMALLOC(s, h, t) wolfSSL_Malloc((s), (h), (t)) - #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), (h), (t));} - #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n), (h), (t)) + #define XMALLOC(s, h, t) wolfSSL_Malloc((s), (h), (t)) + #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), (h), (t));} + #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n), (h), (t)) #endif /* WOLFSSL_DEBUG_MEMORY */ #elif !defined(FREERTOS) && !defined(FREERTOS_TCP) #ifdef WOLFSSL_DEBUG_MEMORY - #define XMALLOC(s, h, t) ((void)h, (void)t, wolfSSL_Malloc((s), __func__, __LINE__)) - #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), __func__, __LINE__);} - #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n), __func__, __LINE__) + #define XMALLOC(s, h, t) ((void)h, (void)t, wolfSSL_Malloc((s), __func__, __LINE__)) + #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp), __func__, __LINE__);} + #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n), __func__, __LINE__) #else - #define XMALLOC(s, h, t) ((void)h, (void)t, wolfSSL_Malloc((s))) - #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp));} - #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n)) + #define XMALLOC(s, h, t) ((void)h, (void)t, wolfSSL_Malloc((s))) + #define XFREE(p, h, t) {void* xp = (p); if((xp)) wolfSSL_Free((xp));} + #define XREALLOC(p, n, h, t) wolfSSL_Realloc((p), (n)) #endif /* WOLFSSL_DEBUG_MEMORY */ #endif /* WOLFSSL_STATIC_MEMORY */ - #endif + #endif /* declare/free variable handling for async */ #ifdef WOLFSSL_ASYNC_CRYPT #define DECLARE_VAR(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP) \ - VAR_TYPE* VAR_NAME = (VAR_TYPE*)XMALLOC(sizeof(VAR_TYPE) * VAR_SIZE, HEAP, DYNAMIC_TYPE_WOLF_BIGINT); + VAR_TYPE* VAR_NAME = (VAR_TYPE*)XMALLOC(sizeof(VAR_TYPE) * VAR_SIZE, (HEAP), DYNAMIC_TYPE_WOLF_BIGINT); #define DECLARE_VAR_INIT(VAR_NAME, VAR_TYPE, VAR_SIZE, INIT_VALUE, HEAP) \ VAR_TYPE* VAR_NAME = ({ \ - VAR_TYPE* ptr = (VAR_TYPE*)XMALLOC(sizeof(VAR_TYPE) * VAR_SIZE, HEAP, DYNAMIC_TYPE_WOLF_BIGINT); \ + VAR_TYPE* ptr = (VAR_TYPE*)XMALLOC(sizeof(VAR_TYPE) * VAR_SIZE, (HEAP), DYNAMIC_TYPE_WOLF_BIGINT); \ if (ptr && INIT_VALUE) { \ XMEMCPY(ptr, INIT_VALUE, sizeof(VAR_TYPE) * VAR_SIZE); \ } \ @@ -266,13 +286,13 @@ VAR_TYPE* VAR_NAME[VAR_ITEMS]; \ int idx##VAR_NAME; \ for (idx##VAR_NAME=0; idx##VAR_NAME - #define XMEMCPY(d,s,l) memcpy((d),(s),(l)) - #define XMEMSET(b,c,l) memset((b),(c),(l)) - #define XMEMCMP(s1,s2,n) memcmp((s1),(s2),(n)) - #define XMEMMOVE(d,s,l) memmove((d),(s),(l)) + #ifndef STRING_USER + #include + #define XMEMCPY(d,s,l) memcpy((d),(s),(l)) + #define XMEMSET(b,c,l) memset((b),(c),(l)) + #define XMEMCMP(s1,s2,n) memcmp((s1),(s2),(n)) + #define XMEMMOVE(d,s,l) memmove((d),(s),(l)) - #define XSTRLEN(s1) strlen((s1)) - #define XSTRNCPY(s1,s2,n) strncpy((s1),(s2),(n)) - /* strstr, strncmp, and strncat only used by wolfSSL proper, + #define XSTRLEN(s1) strlen((s1)) + #define XSTRNCPY(s1,s2,n) strncpy((s1),(s2),(n)) + /* strstr, strncmp, and strncat only used by wolfSSL proper, * not required for wolfCrypt only */ - #define XSTRSTR(s1,s2) strstr((s1),(s2)) - #define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n)) - #define XSTRNCMP(s1,s2,n) strncmp((s1),(s2),(n)) - #define XSTRNCAT(s1,s2,n) strncat((s1),(s2),(n)) + #define XSTRSTR(s1,s2) strstr((s1),(s2)) + #define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n)) + #define XSTRNCMP(s1,s2,n) strncmp((s1),(s2),(n)) + #define XSTRNCAT(s1,s2,n) strncat((s1),(s2),(n)) + + #ifdef USE_WOLF_STRSEP + #define XSTRSEP(s1,d) wc_strsep((s1),(d)) + #else + #define XSTRSEP(s1,d) strsep((s1),(d)) + #endif #if defined(MICROCHIP_PIC32) || defined(WOLFSSL_TIRTOS) /* XC32 does not support strncasecmp, so use case sensitive one */ #define XSTRNCASECMP(s1,s2,n) strncmp((s1),(s2),(n)) - #elif defined(USE_WINDOWS_API) - #define XSTRNCASECMP(s1,s2,n) _strnicmp((s1),(s2),(n)) + #elif defined(USE_WINDOWS_API) || defined(FREERTOS_TCP_WINSIM) + #define XSTRNCASECMP(s1,s2,n) _strnicmp((s1),(s2),(n)) #else - #define XSTRNCASECMP(s1,s2,n) strncasecmp((s1),(s2),(n)) - #endif + #if defined(HAVE_STRINGS_H) && defined(WOLF_C99) && \ + !defined(WOLFSSL_SGX) + #include + #endif + #define XSTRNCASECMP(s1,s2,n) strncasecmp((s1),(s2),(n)) + #endif /* snprintf is used in asn.c for GetTimeString, PKCS7 test, and when debugging is turned on */ #ifndef USE_WINDOWS_API - #if defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \ - !defined(NO_STDIO_FILESYSTEM) + #if defined(NO_FILESYSTEM) && (defined(OPENSSL_EXTRA) || \ + defined(HAVE_PKCS7)) && !defined(NO_STDIO_FILESYSTEM) /* case where stdio is not included else where but is needed for * snprintf */ #include @@ -330,19 +365,22 @@ #if defined(WOLFSSL_CERT_EXT) || defined(HAVE_ALPN) /* use only Thread Safe version of strtok */ - #if defined(__MINGW32__) || defined(WOLFSSL_TIRTOS) || \ - defined(USE_WOLF_STRTOK) - #ifndef USE_WOLF_STRTOK - #define USE_WOLF_STRTOK - #endif - #define XSTRTOK wc_strtok + #if defined(USE_WOLF_STRTOK) + #define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr)) #elif defined(USE_WINDOWS_API) || defined(INTIME_RTOS) - #define XSTRTOK strtok_s + #define XSTRTOK(s1,d,ptr) strtok_s((s1),(d),(ptr)) #else - #define XSTRTOK strtok_r + #define XSTRTOK(s1,d,ptr) strtok_r((s1),(d),(ptr)) #endif #endif - #endif + #endif + + #ifdef USE_WOLF_STRTOK + WOLFSSL_API char* wc_strtok(char *str, const char *delim, char **nextp); + #endif + #ifdef USE_WOLF_STRSEP + WOLFSSL_API char* wc_strsep(char **stringp, const char *delim); + #endif #if !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) && \ !defined(NO_STDIO_FILESYSTEM) @@ -352,20 +390,20 @@ #endif #endif /* OPENSSL_EXTRA */ - #ifndef CTYPE_USER - #include - #if defined(HAVE_ECC) || defined(HAVE_OCSP) || \ + #ifndef CTYPE_USER + #include + #if defined(HAVE_ECC) || defined(HAVE_OCSP) || \ defined(WOLFSSL_KEY_GEN) || !defined(NO_DSA) - #define XTOUPPER(c) toupper((c)) - #define XISALPHA(c) isalpha((c)) - #endif - /* needed by wolfSSL_check_domain_name() */ - #define XTOLOWER(c) tolower((c)) - #endif + #define XTOUPPER(c) toupper((c)) + #define XISALPHA(c) isalpha((c)) + #endif + /* needed by wolfSSL_check_domain_name() */ + #define XTOLOWER(c) tolower((c)) + #endif - /* memory allocation types for user hints */ - enum { + /* memory allocation types for user hints */ + enum { DYNAMIC_TYPE_CA = 1, DYNAMIC_TYPE_CERT = 2, DYNAMIC_TYPE_KEY = 3, @@ -449,60 +487,147 @@ DYNAMIC_TYPE_DIRCTX = 81, DYNAMIC_TYPE_HASHCTX = 82, DYNAMIC_TYPE_SEED = 83, - DYNAMIC_TYPE_SYMETRIC_KEY = 84, + DYNAMIC_TYPE_SYMMETRIC_KEY= 84, DYNAMIC_TYPE_ECC_BUFFER = 85, DYNAMIC_TYPE_QSH = 86, DYNAMIC_TYPE_SALT = 87, DYNAMIC_TYPE_HASH_TMP = 88, DYNAMIC_TYPE_BLOB = 89, DYNAMIC_TYPE_NAME_ENTRY = 90, - }; + }; - /* max error buffer string size */ + /* max error buffer string size */ #ifndef WOLFSSL_MAX_ERROR_SZ - #define WOLFSSL_MAX_ERROR_SZ 80 + #define WOLFSSL_MAX_ERROR_SZ 80 #endif - /* stack protection */ - enum { - MIN_STACK_BUFFER = 8 - }; + /* stack protection */ + enum { + MIN_STACK_BUFFER = 8 + }; + /* Algorithm Types */ + enum wc_AlgoType { + WC_ALGO_TYPE_NONE = 0, + WC_ALGO_TYPE_HASH = 1, + WC_ALGO_TYPE_CIPHER = 2, + WC_ALGO_TYPE_PK = 3, - /* settings detection for compile vs runtime math incompatibilities */ - enum { - #if !defined(USE_FAST_MATH) && !defined(SIZEOF_LONG) && !defined(SIZEOF_LONG_LONG) - CTC_SETTINGS = 0x0 - #elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG) && (SIZEOF_LONG == 8) - CTC_SETTINGS = 0x1 - #elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8) - CTC_SETTINGS = 0x2 - #elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 4) - CTC_SETTINGS = 0x4 - #elif defined(USE_FAST_MATH) && !defined(SIZEOF_LONG) && !defined(SIZEOF_LONG_LONG) - CTC_SETTINGS = 0x8 - #elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG) && (SIZEOF_LONG == 8) - CTC_SETTINGS = 0x10 - #elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8) - CTC_SETTINGS = 0x20 - #elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 4) - CTC_SETTINGS = 0x40 - #else - #error "bad math long / long long settings" - #endif - }; + WC_ALGO_TYPE_MAX = WC_ALGO_TYPE_PK + }; + + /* hash types */ + enum wc_HashType { + #if defined(HAVE_SELFTEST) || defined(HAVE_FIPS) + /* In selftest build, WC_* types are not mapped to WC_HASH_TYPE types. + * Values here are based on old selftest hmac.h enum, with additions */ + WC_HASH_TYPE_NONE = 15, + WC_HASH_TYPE_MD2 = 16, + WC_HASH_TYPE_MD4 = 17, + WC_HASH_TYPE_MD5 = 0, + WC_HASH_TYPE_SHA = 1, /* SHA-1 (not old SHA-0) */ + WC_HASH_TYPE_SHA224 = 8, + WC_HASH_TYPE_SHA256 = 2, + WC_HASH_TYPE_SHA384 = 5, + WC_HASH_TYPE_SHA512 = 4, + WC_HASH_TYPE_MD5_SHA = 18, + WC_HASH_TYPE_SHA3_224 = 10, + WC_HASH_TYPE_SHA3_256 = 11, + WC_HASH_TYPE_SHA3_384 = 12, + WC_HASH_TYPE_SHA3_512 = 13, + WC_HASH_TYPE_BLAKE2B = 14, + + WC_HASH_TYPE_MAX = WC_HASH_TYPE_MD5_SHA + #else + WC_HASH_TYPE_NONE = 0, + WC_HASH_TYPE_MD2 = 1, + WC_HASH_TYPE_MD4 = 2, + WC_HASH_TYPE_MD5 = 3, + WC_HASH_TYPE_SHA = 4, /* SHA-1 (not old SHA-0) */ + WC_HASH_TYPE_SHA224 = 5, + WC_HASH_TYPE_SHA256 = 6, + WC_HASH_TYPE_SHA384 = 7, + WC_HASH_TYPE_SHA512 = 8, + WC_HASH_TYPE_MD5_SHA = 9, + WC_HASH_TYPE_SHA3_224 = 10, + WC_HASH_TYPE_SHA3_256 = 11, + WC_HASH_TYPE_SHA3_384 = 12, + WC_HASH_TYPE_SHA3_512 = 13, + WC_HASH_TYPE_BLAKE2B = 14, + + WC_HASH_TYPE_MAX = WC_HASH_TYPE_BLAKE2B + #endif /* HAVE_SELFTEST */ + }; + + /* cipher types */ + enum wc_CipherType { + WC_CIPHER_NONE = 0, + WC_CIPHER_AES = 1, + WC_CIPHER_AES_CBC = 2, + WC_CIPHER_AES_GCM = 3, + WC_CIPHER_AES_CTR = 4, + WC_CIPHER_AES_XTS = 5, + WC_CIPHER_AES_CFB = 6, + WC_CIPHER_DES3 = 7, + WC_CIPHER_DES = 8, + WC_CIPHER_CHACHA = 9, + WC_CIPHER_HC128 = 10, + WC_CIPHER_IDEA = 11, + + WC_CIPHER_MAX = WC_CIPHER_HC128 + }; + + /* PK=public key (asymmetric) based algorithms */ + enum wc_PkType { + WC_PK_TYPE_NONE = 0, + WC_PK_TYPE_RSA = 1, + WC_PK_TYPE_DH = 2, + WC_PK_TYPE_ECDH = 3, + WC_PK_TYPE_ECDSA_SIGN = 4, + WC_PK_TYPE_ECDSA_VERIFY = 5, + WC_PK_TYPE_ED25519 = 6, + WC_PK_TYPE_CURVE25519 = 7, + WC_PK_TYPE_RSA_KEYGEN = 8, + WC_PK_TYPE_EC_KEYGEN = 9, + + WC_PK_TYPE_MAX = WC_PK_TYPE_EC_KEYGEN + }; - WOLFSSL_API word32 CheckRunTimeSettings(void); + /* settings detection for compile vs runtime math incompatibilities */ + enum { + #if !defined(USE_FAST_MATH) && !defined(SIZEOF_LONG) && !defined(SIZEOF_LONG_LONG) + CTC_SETTINGS = 0x0 + #elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG) && (SIZEOF_LONG == 8) + CTC_SETTINGS = 0x1 + #elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8) + CTC_SETTINGS = 0x2 + #elif !defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 4) + CTC_SETTINGS = 0x4 + #elif defined(USE_FAST_MATH) && !defined(SIZEOF_LONG) && !defined(SIZEOF_LONG_LONG) + CTC_SETTINGS = 0x8 + #elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG) && (SIZEOF_LONG == 8) + CTC_SETTINGS = 0x10 + #elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 8) + CTC_SETTINGS = 0x20 + #elif defined(USE_FAST_MATH) && defined(SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG == 4) + CTC_SETTINGS = 0x40 + #else + #error "bad math long / long long settings" + #endif + }; - /* If user uses RSA, DH, DSA, or ECC math lib directly then fast math and long - types need to match at compile time and run time, CheckCtcSettings will - return 1 if a match otherwise 0 */ - #define CheckCtcSettings() (CTC_SETTINGS == CheckRunTimeSettings()) - /* invalid device id */ - #define INVALID_DEVID -2 + WOLFSSL_API word32 CheckRunTimeSettings(void); + + /* If user uses RSA, DH, DSA, or ECC math lib directly then fast math and long + types need to match at compile time and run time, CheckCtcSettings will + return 1 if a match otherwise 0 */ + #define CheckCtcSettings() (CTC_SETTINGS == CheckRunTimeSettings()) + + /* invalid device id */ + #define INVALID_DEVID -2 /* AESNI requires alignment and ARMASM gains some performance from it */ @@ -617,9 +742,16 @@ #define WC_NORETURN #endif + #if defined(WOLFSSL_KEY_GEN) || defined(HAVE_COMP_KEY) || \ + defined(WOLFSSL_DEBUG_MATH) || defined(DEBUG_WOLFSSL) || \ + defined(WOLFSSL_PUBLIC_MP) || defined(OPENSSL_EXTRA) || \ + (defined(HAVE_ECC) && defined(HAVE_ECC_KEY_EXPORT)) + #undef WC_MP_TO_RADIX + #define WC_MP_TO_RADIX + #endif - #ifdef __cplusplus - } /* extern "C" */ - #endif + #ifdef __cplusplus + } /* extern "C" */ + #endif #endif /* WOLF_CRYPT_TYPES_H */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/visibility.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/visibility.h index 9fa91c25..9cf925a0 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/visibility.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/visibility.h @@ -1,12 +1,12 @@ /* visibility.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -18,7 +18,10 @@ /* for compatibility and so that fips is using same name of macro @wc_fips */ -#ifdef HAVE_FIPS +/* The following visibility wrappers are for old FIPS. New FIPS should use + * the same as a non-FIPS build. */ +#if defined(HAVE_FIPS) && \ + (!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2)) #include #define WOLFSSL_API CYASSL_API #define WOLFSSL_LOCAL CYASSL_LOCAL @@ -31,19 +34,19 @@ */ #if defined(BUILDING_WOLFSSL) - #if defined(HAVE_VISIBILITY) && HAVE_VISIBILITY - #define WOLFSSL_API __attribute__ ((visibility("default"))) - #define WOLFSSL_LOCAL __attribute__ ((visibility("hidden"))) - #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) - #define WOLFSSL_API __global - #define WOLFSSL_LOCAL __hidden - #elif defined(_MSC_VER) || defined(__MINGW32__) + #if defined(_MSC_VER) || defined(__MINGW32__) #if defined(WOLFSSL_DLL) #define WOLFSSL_API __declspec(dllexport) #else #define WOLFSSL_API #endif #define WOLFSSL_LOCAL + #elif defined(HAVE_VISIBILITY) && HAVE_VISIBILITY + #define WOLFSSL_API __attribute__ ((visibility("default"))) + #define WOLFSSL_LOCAL __attribute__ ((visibility("hidden"))) + #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) + #define WOLFSSL_API __global + #define WOLFSSL_LOCAL __hidden #else #define WOLFSSL_API #define WOLFSSL_LOCAL diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_port.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_port.h old mode 100644 new mode 100755 index 7e1b71de..8492fccf --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_port.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/wc_port.h @@ -1,16 +1,18 @@ /* wc_port.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ - +/*! + \file wolfssl/wolfcrypt/wc_port.h +*/ #ifndef WOLF_CRYPT_PORT_H #define WOLF_CRYPT_PORT_H @@ -22,6 +24,14 @@ extern "C" { #endif +/* Detect if compiler supports C99. "NO_WOLF_C99" can be defined in + * user_settings.h to disable checking for C99 support. */ +#if !defined(WOLF_C99) && defined(__STDC_VERSION__) && \ + !defined(WOLFSSL_ARDUINO) && !defined(NO_WOLF_C99) + #if __STDC_VERSION__ >= 199901L + #define WOLF_C99 + #endif +#endif #ifdef USE_WINDOWS_API #ifdef WOLFSSL_GAME_BUILD @@ -55,6 +65,8 @@ /* do nothing */ #elif defined(FREESCALE_FREE_RTOS) #include "fsl_os_abstraction.h" +#elif defined(WOLFSSL_VXWORKS) + #include #elif defined(WOLFSSL_uITRON4) #include "stddef.h" #include "kernel.h" @@ -78,6 +90,13 @@ #elif defined(INTIME_RTOS) #include #include +#elif defined(WOLFSSL_NUCLEUS_1_2) + /* NU_DEBUG needed struct access in nucleus_realloc */ + #define NU_DEBUG + #include "plus/nucleus.h" + #include "nucleus.h" +#elif defined(WOLFSSL_APACHE_MYNEWT) + /* do nothing */ #else #ifndef SINGLE_THREADED #define WOLFSSL_PTHREADS @@ -125,6 +144,8 @@ typedef MUTEX_STRUCT wolfSSL_Mutex; #elif defined(FREESCALE_FREE_RTOS) typedef mutex_t wolfSSL_Mutex; + #elif defined(WOLFSSL_VXWORKS) + typedef SEM_ID wolfSSL_Mutex; #elif defined(WOLFSSL_uITRON4) typedef struct wolfSSL_Mutex { T_CSEM sem ; @@ -149,6 +170,8 @@ typedef mutex_t * wolfSSL_Mutex; #elif defined(INTIME_RTOS) typedef RTHANDLE wolfSSL_Mutex; + #elif defined(WOLFSSL_NUCLEUS_1_2) + typedef NU_SEMAPHORE wolfSSL_Mutex; #else #error Need a mutex type in multithreaded mode #endif /* USE_WINDOWS_API */ @@ -254,6 +277,34 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #define XSEEK_END FS_SEEK_END #define XBADFILE NULL #define XFGETS(b,s,f) -2 /* Not ported yet */ +#elif defined(WOLFSSL_NUCLEUS_1_2) + #include "fal/inc/fal.h" + #define XFILE FILE* + #define XFOPEN fopen + #define XFSEEK fseek + #define XFTELL ftell + #define XREWIND rewind + #define XFREAD fread + #define XFWRITE fwrite + #define XFCLOSE fclose + #define XSEEK_END PSEEK_END + #define XBADFILE NULL +#elif defined(WOLFSSL_APACHE_MYNEWT) + #include + #define XFILE struct fs_file* + + #define XFOPEN mynewt_fopen + #define XFSEEK mynewt_fseek + #define XFTELL mynewt_ftell + #define XREWIND mynewt_rewind + #define XFREAD mynewt_fread + #define XFWRITE mynewt_fwrite + #define XFCLOSE mynewt_fclose + #define XSEEK_END 2 + #define XBADFILE NULL + #define XFGETS(b,s,f) -2 /* Not ported yet */ +#elif defined(WOLFSSL_USER_FILESYSTEM) + /* To be defined in user_settings.h */ #else /* stdio, default case */ #include @@ -274,7 +325,8 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #define XBADFILE NULL #define XFGETS fgets - #if !defined(USE_WINDOWS_API) && !defined(NO_WOLFSSL_DIR) + #if !defined(USE_WINDOWS_API) && !defined(NO_WOLFSSL_DIR)\ + && !defined(WOLFSSL_NUCLEUS) && !defined(WOLFSSL_NUCLEUS_1_2) #include #include #include @@ -288,7 +340,8 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #define MAX_PATH 256 #endif -#if !defined(NO_WOLFSSL_DIR) +#if !defined(NO_WOLFSSL_DIR) && !defined(WOLFSSL_NUCLEUS) && \ + !defined(WOLFSSL_NUCLEUS_1_2) typedef struct ReadDirCtx { #ifdef USE_WINDOWS_API WIN32_FIND_DATAA FindFileData; @@ -301,6 +354,8 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); char name[MAX_FILENAME_SZ]; } ReadDirCtx; + #define WC_READDIR_NOFILE -1 + WOLFSSL_API int wc_ReadDirFirst(ReadDirCtx* ctx, const char* path, char** name); WOLFSSL_API int wc_ReadDirNext(ReadDirCtx* ctx, const char* path, char** name); WOLFSSL_API void wc_ReadDirClose(ReadDirCtx* ctx); @@ -308,10 +363,6 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #endif /* !NO_FILESYSTEM */ -#ifdef USE_WOLF_STRTOK - WOLFSSL_LOCAL char* wc_strtok(char *str, const char *delim, char **nextp); -#endif - /* Windows API defines its own min() macro. */ #if defined(USE_WINDOWS_API) #if defined(min) || defined(WOLFSSL_MYSQL_COMPATIBLE) @@ -367,8 +418,13 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #define XGMTIME(c, t) gmtime((c)) #elif defined(FREESCALE_MQX) || defined(FREESCALE_KSDK_MQX) + #ifdef FREESCALE_MQX_4_0 + #include + extern time_t mqx_time(time_t* timer); + #else + #define HAVE_GMTIME_R + #endif #define XTIME(t1) mqx_time((t1)) - #define HAVE_GMTIME_R #elif defined(FREESCALE_KSDK_BM) || defined(FREESCALE_FREE_RTOS) || defined(FREESCALE_KSDK_FREERTOS) #include @@ -378,7 +434,7 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #endif #define XGMTIME(c, t) gmtime((c)) -#elif defined(WOLFSSL_ATMEL) +#elif defined(WOLFSSL_ATMEL) && defined(WOLFSSL_ATMEL_TIME) #define XTIME(t1) atmel_get_curr_time_and_date((t1)) #define WOLFSSL_GMTIME #define USE_WOLF_TM @@ -396,24 +452,46 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #define XTIME(t1) windows_time((t1)) #define WOLFSSL_GMTIME +#elif defined(WOLFSSL_APACHE_MYNEWT) + #include "os/os_time.h" + #define XTIME(t1) mynewt_time((t1)) + #define WOLFSSL_GMTIME + #define USE_WOLF_TM + #define USE_WOLF_TIME_T #else /* default */ /* uses complete facility */ #include + #if defined(HAVE_SYS_TIME_H) + #include + #endif /* PowerPC time_t is int */ #ifdef __PPC__ - #define TIME_T_NOT_LONG + #define TIME_T_NOT_64BIT #endif #endif +#ifdef SIZEOF_TIME_T + /* check if size of time_t from autoconf is less than 8 bytes (64bits) */ + #if SIZEOF_TIME_T < 8 + #undef TIME_T_NOT_64BIT + #define TIME_T_NOT_64BIT + #endif +#endif +#ifdef TIME_T_NOT_LONG + /* one old reference to TIME_T_NOT_LONG in GCC-ARM example README + * this keeps support for the old macro name */ + #undef TIME_T_NOT_64BIT + #define TIME_T_NOT_64BIT +#endif /* Map default time functions */ #if !defined(XTIME) && !defined(TIME_OVERRIDES) && !defined(USER_TIME) #define XTIME(tl) time((tl)) #endif #if !defined(XGMTIME) && !defined(TIME_OVERRIDES) - #if defined(WOLFSSL_GMTIME) || !defined(HAVE_GMTIME_R) + #if defined(WOLFSSL_GMTIME) || !defined(HAVE_GMTIME_R) || defined(WOLF_C99) #define XGMTIME(c, t) gmtime((c)) #else #define XGMTIME(c, t) gmtime_r((c), (t)) @@ -444,8 +522,18 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #if defined(USE_WOLF_TIME_T) typedef long time_t; #endif +#if defined(USE_WOLF_SUSECONDS_T) + typedef long suseconds_t; +#endif +#if defined(USE_WOLF_TIMEVAL_T) + struct timeval + { + time_t tv_sec; + suseconds_t tv_usec; + }; +#endif -/* forward declarations */ + /* forward declarations */ #if defined(USER_TIME) struct tm* gmtime(const time_t* timer); extern time_t XTIME(time_t * timer); @@ -465,6 +553,16 @@ WOLFSSL_API int wolfCrypt_Cleanup(void); #endif #endif /* NO_ASN_TIME */ +#ifndef WOLFSSL_LEANPSK + char* mystrnstr(const char* s1, const char* s2, unsigned int n); +#endif + +#ifndef FILE_BUFFER_SIZE + #define FILE_BUFFER_SIZE 1024 /* default static file buffer size for input, + will use dynamic buffer if not big enough */ +#endif + + #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/wolfmath.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/wolfmath.h index a72818b4..8be26bc6 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/wolfmath.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfcrypt/wolfmath.h @@ -1,12 +1,12 @@ /* wolfmath.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ @@ -42,6 +42,14 @@ int get_rand_digit(WC_RNG* rng, mp_digit* d); int mp_rand(mp_int* a, int digits, WC_RNG* rng); + enum { + /* format type */ + WC_TYPE_HEX_STR = 1, + WC_TYPE_UNSIGNED_BIN = 2, + }; + + WOLFSSL_API int wc_export_int(mp_int* mp, byte* buf, word32* len, + word32 keySz, int encType); #ifdef HAVE_WOLF_BIGINT void wc_bigint_init(WC_BIGINT* a); @@ -52,6 +60,7 @@ void wc_bigint_free(WC_BIGINT* a); int wc_mp_to_bigint(mp_int* src, WC_BIGINT* dst); + int wc_mp_to_bigint_sz(mp_int* src, WC_BIGINT* dst, word32 sz); int wc_bigint_to_mp(WC_BIGINT* src, mp_int* dst); #endif /* HAVE_WOLF_BIGINT */ diff --git a/components/ssl/wolfssl/wolfssl/wolfssl/wolfio.h b/components/ssl/wolfssl/wolfssl/wolfssl/wolfio.h index a224483d..322225df 100644 --- a/components/ssl/wolfssl/wolfssl/wolfssl/wolfio.h +++ b/components/ssl/wolfssl/wolfssl/wolfssl/wolfio.h @@ -1,15 +1,18 @@ /* io.h * - * Copyright (C) 2006-2017 wolfSSL Inc. All rights reserved. + * Copyright (C) 2006-2018 wolfSSL Inc. All rights reserved. * * This file is part of wolfSSL. * * Contact licensing@wolfssl.com with any questions or comments. * - * http://www.wolfssl.com + * https://www.wolfssl.com */ +/*! + \file wolfssl/wolfio.h +*/ #ifndef WOLFSSL_IO_H #define WOLFSSL_IO_H @@ -18,16 +21,19 @@ extern "C" { #endif -/* OCSP and CRL_IO require HTTP client */ -#if defined(HAVE_OCSP) || defined(HAVE_CRL_IO) - #ifndef HAVE_HTTP_CLIENT - #define HAVE_HTTP_CLIENT +/* Micrium uses NetSock I/O callbacks in wolfio.c */ +#if !defined(WOLFSSL_USER_IO) + /* OCSP and CRL_IO require HTTP client */ + #if defined(HAVE_OCSP) || defined(HAVE_CRL_IO) + #ifndef HAVE_HTTP_CLIENT + #define HAVE_HTTP_CLIENT + #endif #endif #endif #if !defined(WOLFSSL_USER_IO) /* Micrium uses NetSock I/O callbacks in wolfio.c */ - #if !defined(USE_WOLFSSL_IO) && !defined(MICRIUM) + #if !defined(USE_WOLFSSL_IO) && !defined(MICRIUM) && !defined(WOLFSSL_CONTIKI) #define USE_WOLFSSL_IO #endif #endif @@ -40,7 +46,7 @@ #endif #ifndef USE_WINDOWS_API - #ifdef WOLFSSL_LWIP + #if defined(WOLFSSL_LWIP) && !defined(WOLFSSL_APACHE_MYNEWT) /* lwIP needs to be configured to use sockets API in this mode */ /* LWIP_SOCKET 1 in lwip/opt.h or in build */ #include "lwip/sockets.h" @@ -68,6 +74,9 @@ #elif defined(WOLFSSL_VXWORKS) #include #include + #elif defined(WOLFSSL_NUCLEUS_1_2) + #include + #include #elif defined(WOLFSSL_ATMEL) #include "socket/include/socket.h" #elif defined(INTIME_RTOS) @@ -92,6 +101,8 @@ #include #elif defined(WOLFSSL_SGX) #include + #elif defined(WOLFSSL_APACHE_MYNEWT) && !defined(WOLFSSL_LWIP) + #include #elif !defined(WOLFSSL_NO_SOCK) #include #include @@ -105,7 +116,7 @@ #elif defined(EBSNET) #include "rtipapi.h" /* errno */ #include "socket.h" - #elif !defined(DEVKITPRO) && !defined(WOLFSSL_PICOTCP) + #elif !defined(DEVKITPRO) && !defined(WOLFSSL_PICOTCP) && !defined(WOLFSSL_CONTIKI) #include #include #include @@ -135,7 +146,6 @@ #define SOCKET_EPIPE WSAEPIPE #define SOCKET_ECONNREFUSED WSAENOTCONN #define SOCKET_ECONNABORTED WSAECONNABORTED - #define close(s) closesocket(s) #elif defined(__PPU) #define SOCKET_EWOULDBLOCK SYS_NET_EWOULDBLOCK #define SOCKET_EAGAIN SYS_NET_EAGAIN @@ -187,6 +197,14 @@ #define SOCKET_EPIPE FREERTOS_SOCKET_ERROR #define SOCKET_ECONNREFUSED FREERTOS_SOCKET_ERROR #define SOCKET_ECONNABORTED FREERTOS_SOCKET_ERROR +#elif defined(WOLFSSL_NUCLEUS_1_2) + #define SOCKET_EWOULDBLOCK NU_WOULD_BLOCK + #define SOCKET_EAGAIN NU_WOULD_BLOCK + #define SOCKET_ECONNRESET NU_NOT_CONNECTED + #define SOCKET_EINTR NU_NOT_CONNECTED + #define SOCKET_EPIPE NU_NOT_CONNECTED + #define SOCKET_ECONNREFUSED NU_CONNECTION_REFUSED + #define SOCKET_ECONNABORTED NU_NOT_CONNECTED #else #define SOCKET_EWOULDBLOCK EWOULDBLOCK #define SOCKET_EAGAIN EAGAIN @@ -198,13 +216,15 @@ #endif /* USE_WINDOWS_API */ + + #ifdef DEVKITPRO /* from network.h */ int net_send(int, const void*, int, unsigned int); int net_recv(int, void*, int, unsigned int); #define SEND_FUNCTION net_send #define RECV_FUNCTION net_recv -#elif defined(WOLFSSL_LWIP) +#elif defined(WOLFSSL_LWIP) && !defined(WOLFSSL_APACHE_MYNEWT) #define SEND_FUNCTION lwip_send #define RECV_FUNCTION lwip_recv #elif defined(WOLFSSL_PICOTCP) @@ -216,6 +236,9 @@ #elif defined(WOLFSSL_VXWORKS) #define SEND_FUNCTION send #define RECV_FUNCTION recv +#elif defined(WOLFSSL_NUCLEUS_1_2) + #define SEND_FUNCTION NU_Send + #define RECV_FUNCTION NU_Recv #else #define SEND_FUNCTION send #define RECV_FUNCTION recv @@ -250,6 +273,11 @@ typedef struct hostent HOSTENT; #endif /* HAVE_SOCKADDR */ + /* use gethostbyname for c99 */ + #ifdef WOLF_C99 + #undef HAVE_GETADDRINFO + #endif + #ifdef HAVE_GETADDRINFO typedef struct addrinfo ADDRINFO; #endif @@ -259,7 +287,7 @@ /* IO API's */ #ifdef HAVE_IO_TIMEOUT WOLFSSL_API int wolfIO_SetBlockingMode(SOCKET_T sockfd, int non_blocking); - WOLFSSL_API void wolfIO_SetTimeout(int to_sec);; + WOLFSSL_API void wolfIO_SetTimeout(int to_sec); WOLFSSL_API int wolfIO_Select(SOCKET_T sockfd, int to_sec); #endif WOLFSSL_API int wolfIO_TcpConnect(SOCKET_T* sockfd, const char* ip, @@ -270,6 +298,28 @@ WOLFSSL_API int wolfIO_Recv(SOCKET_T sd, char *buf, int sz, int rdFlags); #endif /* USE_WOLFSSL_IO || HAVE_HTTP_CLIENT */ +#ifdef USE_WINDOWS_API + #ifndef CloseSocket + #define CloseSocket(s) closesocket(s) + #endif + #define StartTCP() { WSADATA wsd; WSAStartup(0x0002, &wsd); } +#elif defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET) + #ifndef CloseSocket + extern int closesocket(int); + #define CloseSocket(s) closesocket(s) + #endif + #define StartTCP() +#else + #ifndef CloseSocket + #define CloseSocket(s) close(s) + #endif + #define StartTCP() + #ifdef FREERTOS_TCP_WINSIM + extern int close(int); + #endif +#endif + + WOLFSSL_API int BioSend(WOLFSSL* ssl, char *buf, int sz, void *ctx); WOLFSSL_API int BioReceive(WOLFSSL* ssl, char* buf, int sz, void* ctx); #if defined(USE_WOLFSSL_IO) @@ -334,8 +384,11 @@ WOLFSSL_API int BioReceive(WOLFSSL* ssl, char* buf, int sz, void* ctx); /* I/O callbacks */ typedef int (*CallbackIORecv)(WOLFSSL *ssl, char *buf, int sz, void *ctx); typedef int (*CallbackIOSend)(WOLFSSL *ssl, char *buf, int sz, void *ctx); -WOLFSSL_API void wolfSSL_SetIORecv(WOLFSSL_CTX*, CallbackIORecv); -WOLFSSL_API void wolfSSL_SetIOSend(WOLFSSL_CTX*, CallbackIOSend); +WOLFSSL_API void wolfSSL_CTX_SetIORecv(WOLFSSL_CTX*, CallbackIORecv); +WOLFSSL_API void wolfSSL_CTX_SetIOSend(WOLFSSL_CTX*, CallbackIOSend); +/* deprecated old name */ +#define wolfSSL_SetIORecv wolfSSL_CTX_SetIORecv +#define wolfSSL_SetIOSend wolfSSL_CTX_SetIOSend WOLFSSL_API void wolfSSL_SetIOReadCtx( WOLFSSL* ssl, void *ctx); WOLFSSL_API void wolfSSL_SetIOWriteCtx(WOLFSSL* ssl, void *ctx); @@ -364,6 +417,46 @@ WOLFSSL_API void wolfSSL_SetIOWriteFlags(WOLFSSL* ssl, int flags); WOLFSSL_LOCAL int MicriumSendTo(WOLFSSL* ssl, char* buf, int sz, void* ctx); #endif /* MICRIUM */ +#if defined(WOLFSSL_APACHE_MYNEWT) && !defined(WOLFSSL_LWIP) + WOLFSSL_LOCAL int Mynewt_Receive(WOLFSSL *ssl, char *buf, int sz, void *ctx); + WOLFSSL_LOCAL int Mynewt_Send(WOLFSSL* ssl, char *buf, int sz, void *ctx); + WOLFSSL_API void wolfSSL_SetIO_Mynewt(WOLFSSL* ssl, struct mn_socket* mnSocket, + struct mn_sockaddr_in* mnSockAddrIn); +#endif /* defined(WOLFSSL_APACHE_MYNEWT) && !defined(WOLFSSL_LWIP) */ + +#ifdef WOLFSSL_UIP + + struct uip_wolfssl_ctx { + union socket_connector { + struct tcp_socket tcp; + struct udp_socket udp; + } conn; + WOLFSSL_CTX *ctx; + WOLFSSL *ssl; + uint8_t *input_databuf; + uint8_t *output_databuf; + uint8_t *ssl_rx_databuf; + int ssl_rb_len; + int ssl_rb_off; + struct process *process; + tcp_socket_data_callback_t input_callback; + tcp_socket_event_callback_t event_callback; + int closing; + uip_ipaddr_t peer_addr; + uint16_t peer_port; + }; + + typedef struct uip_wolfssl_ctx uip_wolfssl_ctx; + + WOLFSSL_LOCAL int uIPSend(WOLFSSL* ssl, char* buf, int sz, void* ctx); + WOLFSSL_LOCAL int uIPReceive(WOLFSSL* ssl, char* buf, int sz, + void* ctx); + WOLFSSL_LOCAL int uIPReceiveFrom(WOLFSSL* ssl, char* buf, int sz, + void* ctx); + WOLFSSL_LOCAL int uIPSendTo(WOLFSSL* ssl, char* buf, int sz, void* ctx); + +#endif + #ifdef WOLFSSL_DTLS typedef int (*CallbackGenCookie)(WOLFSSL* ssl, unsigned char* buf, int sz, void* ctx);