From 1554117f9929987b7610c030c7364a158438d3a6 Mon Sep 17 00:00:00 2001 From: Rik Veenboer Date: Wed, 31 Jul 2013 12:09:09 +0200 Subject: [PATCH] migrated sound branch to gradle project structure --- cpp/pipe/.cproject | 6 +- cpp/pipe/.project | 27 + cpp/pipe/Release/pipe.dll | Bin 87941 -> 87941 bytes cpp/pipe/Release/src/pipe.o | Bin 0 -> 44988 bytes cpp/pipe/include/strsafe.h | 6611 +++++++++++++++++ java/pipe.dll | Bin 0 -> 87941 bytes java/settings.gradle | 2 +- java/sound/.classpath | 9 +- java/sound/.project | 6 +- java/sound/build.gradle | 11 + java/sound/lib/commons-cli-1.2.jar | Bin 41123 -> 0 bytes java/sound/lib/commons-io-2.4.jar | Bin 185140 -> 0 bytes java/sound/lib/jid3lib-0.5.4.jar | Bin 192186 -> 0 bytes java/sound/lib/jl1.0.1.jar | Bin 105363 -> 0 bytes java/sound/lib/ostermillerutils-1.08.01.jar | Bin 277648 -> 0 bytes .../src/{ => main/java}/old/Converter.java | 30 +- java/sound/src/{ => main/java}/old/List.java | 22 +- java/sound/src/{ => main/java}/old/Mp3.java | 8 +- java/sound/src/{ => main/java}/old/Utils.java | 0 java/sound/src/main/java/pipe/Client.java | 22 + java/sound/src/main/java/pipe/Pipe.java | 40 + java/sound/src/main/java/pipe/TestPipe.java | 85 + .../src/{ => main/java}/sound/Consumer.java | 0 .../src/{ => main/java}/sound/Format.java | 0 .../java}/sound/GreedyInputStream.java | 10 +- .../sound/src/{ => main/java}/sound/Port.java | 36 +- .../src/{ => main/java}/sound/Producer.java | 0 .../src/{ => main/java}/sound/Source.java | 16 +- .../src/{ => main/java}/sound/SoxBuilder.java | 0 .../src/{ => main/java}/sound/Stream.java | 12 +- .../src/{ => main/java}/sound/Target.java | 12 +- .../sound/src/{ => main/java}/sound/Test.java | 0 .../sound/src/{ => main/java}/sound/Tool.java | 14 +- .../src/{ => main/java}/sound/Transducer.java | 0 .../src/{ => main/java}/test/SoundAudit.java | 0 .../src/{ => main/java}/test/lines/Main.java | 0 .../java}/test/lines/SourceLine.java | 0 .../java}/test/lines/TargetLine.java | 0 38 files changed, 6890 insertions(+), 89 deletions(-) create mode 100644 cpp/pipe/.project create mode 100644 cpp/pipe/Release/src/pipe.o create mode 100644 cpp/pipe/include/strsafe.h create mode 100644 java/pipe.dll create mode 100644 java/sound/build.gradle delete mode 100644 java/sound/lib/commons-cli-1.2.jar delete mode 100644 java/sound/lib/commons-io-2.4.jar delete mode 100644 java/sound/lib/jid3lib-0.5.4.jar delete mode 100644 java/sound/lib/jl1.0.1.jar delete mode 100644 java/sound/lib/ostermillerutils-1.08.01.jar rename java/sound/src/{ => main/java}/old/Converter.java (87%) rename java/sound/src/{ => main/java}/old/List.java (93%) rename java/sound/src/{ => main/java}/old/Mp3.java (94%) rename java/sound/src/{ => main/java}/old/Utils.java (100%) create mode 100644 java/sound/src/main/java/pipe/Client.java create mode 100644 java/sound/src/main/java/pipe/Pipe.java create mode 100644 java/sound/src/main/java/pipe/TestPipe.java rename java/sound/src/{ => main/java}/sound/Consumer.java (100%) rename java/sound/src/{ => main/java}/sound/Format.java (100%) rename java/sound/src/{ => main/java}/sound/GreedyInputStream.java (85%) rename java/sound/src/{ => main/java}/sound/Port.java (85%) rename java/sound/src/{ => main/java}/sound/Producer.java (100%) rename java/sound/src/{ => main/java}/sound/Source.java (92%) rename java/sound/src/{ => main/java}/sound/SoxBuilder.java (100%) rename java/sound/src/{ => main/java}/sound/Stream.java (96%) rename java/sound/src/{ => main/java}/sound/Target.java (85%) rename java/sound/src/{ => main/java}/sound/Test.java (100%) rename java/sound/src/{ => main/java}/sound/Tool.java (93%) rename java/sound/src/{ => main/java}/sound/Transducer.java (100%) rename java/sound/src/{ => main/java}/test/SoundAudit.java (100%) rename java/sound/src/{ => main/java}/test/lines/Main.java (100%) rename java/sound/src/{ => main/java}/test/lines/SourceLine.java (100%) rename java/sound/src/{ => main/java}/test/lines/TargetLine.java (100%) diff --git a/cpp/pipe/.cproject b/cpp/pipe/.cproject index 3c96735..08a0136 100644 --- a/cpp/pipe/.cproject +++ b/cpp/pipe/.cproject @@ -1,7 +1,5 @@ - - - + @@ -92,7 +90,7 @@ - + diff --git a/cpp/pipe/.project b/cpp/pipe/.project new file mode 100644 index 0000000..bd45a4b --- /dev/null +++ b/cpp/pipe/.project @@ -0,0 +1,27 @@ + + + pipe library + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/cpp/pipe/Release/pipe.dll b/cpp/pipe/Release/pipe.dll index ee7f760fb84d8d63a104ab0d805f96a38511520d..f0ee87e96230e0d99b488f4002d96bec77663f84 100644 GIT binary patch delta 31 lcmZo&&)T}4bwUTT;-eoEyM38ff8TgZYdMIwnSDjwdI0O%4}Smv delta 31 lcmZo&&)T}4bwUTT&#0ZfSHA1o8#hQ?S5d$Kk(24>A5tItT4x&;EO`_Sv zv}wngalYD?acIX{Yn`cWZL2MUf_N)X+p1XWy&Qsym*Sm#zyDf$@3Z$gC$aW(I`cix z@QCN#?^^3!m-o7^H02F+^yj5p9H-4d1$iUfxyxJw+y8Z3?KlN_j;3tSEjtXM=8gG|AqAbcES)#9>HN)YX`(+3$>J@kmc4q0n|72&+p#wP ztp3_@{?rT3>s*j5g+y8VtBHQM_k#H|bU0YogVY@BMaFaT|5r426yZy3Wh1o!HW|VN9>{E2?yUp^`mcgEuQi zIxWXmZ-t}f?VH>|A}`p>14_29bqDg5^oDzzFT8lhMe9l(Wl+oSfQo7|lv1_5y}ixd ziJ#JOb;3)%bvtFxXF%FcCkYxQUDJp6ZWv&zPgR)wrf2ZBMau2kf)JuCr zv-P9AgSWo3b>$0^pVUL(Y!6c}1JeGkiM@2r`@<@#e(Uz0pPDwAymye{7X~^5n$_DZ z{7+yF&s?8pyAvI^GbCL_C#Tug3Br8w>&^<;b`oEfZHEEDwlfXeUiH~F+>|hE`!Ve| zUt-&S?YrH5HEhirLDS8Ear0oJcvVY=8t*Rw-(3>+)OI=1*vOrFr9+ zJ&to9Rr~C_p}7_2jevR6VcxbF^I#h6w9Kmxna6k`t0iK~TF98Ok|d-~G5iSmXSg@N zeRrbmWD+d*uH4hSae!Zc>M)bvbW!{pZ<1_xQVUGlJ>Z?x9~kZCZu&RKj{dLtZhbGx z(I0}beNR0M*xl81+#b3dGW5G@v*gTh@@r(VkR&MJ>D6F;JuG3M%V=oOpQSUkY(ryAQ(E{>#5$279Epj<-K$xWaa*_x)co^v|%ixhXi>&RtXbr z-QZ!4f<0EfE~T@iRqqaYJ&=Budll_lTbiYy z@cJuYl3rD`4c;GnHXELLuWLvQS1%=7sTBCL&=lM?eXq1$?r(S(@^zf_@{c_pb=!Wr z-$)I$ZLvBkeMCnYl_*bd2W$JCx*xDRLq~6?TZWt6BwA=4P{7S=fSbF;&vSjlT8;*m zZQ0?KBxzZtwXC;UZdN+t=EWMY$sspKTW&T+xLN5K#l&)oo0X0fbN|i)S-8Q?8{wwY zS(8k2^Z#h@H(waoypklWJjvwfDZp3#HqcSo=TJu{209usu`8sb?m=o_KCKEEI>(H& z;b&lG#Xa$JF)~(xjIDqx;?PuA@Q}+@U_hF^=i|ZMBAZaYf-Xm z`UI=5rY)($fUlK~^z{O(uYXJ}H+Y}7*QfU36JA^0{e|HJ9rtzjR=(kMS(MXX1!smO z^*up;i<=gODqM+8{zky>E65XY`4V6}r)z@=N|vDIXzj9w_HD~*k>}A^v}0G{!`!1f z4(hrf?=1Jg+Pr7GN4@Emt|}$k*uP`gnA)>iULS8_gr2>;H@mCXD(1L&U9n@MgtzGn zbxffSH(AUm+B$YGyMQ_-W0fXS$LE?m^O_NZlbgN#)^+*bu15DTf{)?PHg}KO<(B(V zNhwhYsU|Af-nt{-R*EcCueISxq}J}gN52$yOrcY*@z*B&*z%e?+1t3~b@vRv(Wlr( zt4rnT(jLa+6ZL6EIFxTieI_GWj&ta^QF?}*ZR0nsnYRXC{JL{!q=|W&__DV4WFXmE zd7|oV;yj}-=jrR{D^VS_&J+7DOZ1kC_)*U_-m@NGJ(KAZoNPd178z-|Ox~j7fO_vQ z6WpP-17Ldhs7KuCChY?7wG&!i@4CEqLw&FFOIl)mX{rUu?^Y~y4kmUv1{EXk3uV$9 z0LcnOWuSh&6MYj~hA&rL&E2N$=vAWqdI+ke*0JAB+id?5ZL%n8zBT9tM(>OcD|+zW zFgkp(JZ>II64kB+)xB~vrje;0)TP_n+_iw%+&xh}Tw`$7mR@9NcTEW6B6Kh%4`RnJ zwc6x0Z827O8Q;~f+Oi8wns|Ky8OmsUIc-T|zB+y&w!!Rw@j7d_ULFm{>1#+H{|J^&A#5DjakdQ`}Fv+Z4E z^#169>6xo|cN$G<`wB>Fk=<)dIq!hh_4(dw6WzlJoxB~xANID4dfc7k=b4VhCY_{- zE!(@6U?=OTKOzj%HG+z*CL#aX9haeVriT98Tn`eQN7#Js|C*V z&BzBGFN5J7KNg#j5y^@f2orcc7<}>TUaM|h1!M(d77&6l*Q-pL$SWcfLxN&PCK$Ui zIcq=iDx-ie6K#KFI4MlX{8J#tB}n*pKE2H|eEu|dV~fhDtPxvrv9Sl!I?i{xF3O{? zWfR?lYV%Uq{72kIlQu@SVj{NUyk10I<|6IZQd!7!RGGB=tRYPly`Hoz z+)4%$OCeB9ROpBTxC%M^MEe94SdgrQg~C=UhzlCsUA?>Kkreils1bp8vc5H5apwQ=hr-|P_za`~f>6?K0&7L@)PwX<$ zO=1biA}ay^A9tttnVMpD;=DcHlw^Um6%k38CP`3?w^%*V%wBD`l5na9P+=v!GyO1j z;TN>dkH3sGRQl3TX~MrH*nq0`-bCAJDvbRNL%=G9fay*_6WO?r!7k|ext)907}+S7 z`AD?2QjH%IZh&2i37aPD@tV{JT4@F34pN%C?YOz^sf~O>*V+}=q@gbrmdDf0chICr zj8}uK97}684=9gXm18KO{?o+N7+^CpMu5us+Sri9_6HI)1PmdK7Go5v;a6MtILi-m zOT1kxMmg><@8O=kR-Ed%$B$`jdB=oz1bRhIx3^{00mO*Oj{UmM&8rXBp7In27CFt` z!#Cu;p&Tv5bF3e|l3m9k?q|GR&8<{&IF;-}|C?K>=v2bJ#+J9!RT1}ZY3@9Lxw$){ z*`vCAoJe|&iZL}+QhxY`t|BB&SzCT5KCSKfQ+B=oWqo5YOXKHlARsLDyLKpD8~9(* zFU1P2JBtv*au}CHJaCtZj!}rZ5qaYQ{xkSukleXalxi@FcJAZXdvnE?2%g&33QqM5 z>W1NoHu>Ya@hxv*bbcwBkxai1u6DSvYN{+UBZw%j(m!cr4 zH7j0z3#Bbg59XAhdHg2Y*3cDnTVc@GK~!(kIDH970oV;TQA%IEwsW+i+CxlJi|N?` z2y%i3;Vrz)kWen$zeKyjO>Z5{Ebt1FsXy{1--CUzk!qstK`3j8pCGAg%1OpW<~zTj zUMHmhwL9!X^|n+U2vlLZVb|+?_;zV8vIBZlV;Gm3iWQ;%hTo~1$=K}2yn7qCdaLhr z6#Q;`=eH|gG{)qGk5u1p)rH^m?4|Mh&8osS21Ikrjzrfvd9`P^^oUIx>Uy1f)J9v~ z4$=)_);M4Q$*ME3>CSRFgX*Rc-r`}A)FWH?hj`;unsxRr7lb-ZfUw?|r^ekk-z%cW`w zG{j$wi7MNP(vIS^vPl(+tg>B5jVN28nSvX2D@1F$%?tx48t5CIlQFD;{N2(ht8W2C z$qV|n<@v6%{R5>NX_c-hJ;W=6hVq+e`w`tT>Xc|(2f`}doj_8$Zz$2IQz1$x)pQRt zO_tIfh|=wcq}jD#U+oG5wfhsCH)>ZXwNsRD*3?HDzg}Sdy4D57+6N^{Q(E>AoSN=i z-TRTs*#4N#pnXS!Vhwg{%N)zgXZh|dORA}-(PS(3g;paJ@-=r`F>E*GY%H(?A=Nr= z%Z#)RqEAuL{xw-NmN7kS?ksGUX&Nh99;&EW*V!$vpo}oBj%im!9XFH7SMWgZE`zAm z(BA_EO*I;-X>3G8*N`63#eY=6N4z)D($A7Hk}^~oH>ETRwr`CM^G7aaOU1#dCmh0-3TQodi@NrQ}`y;XvO&R#>J)!D!=E*3$bc#Ggv zkM)b1FvVzFW%UE_L#WxbJyh1vFA_t3U_9dqQCB9DO99_AHc(ThXCx-m3XnqJv~NT* z+f^5~uZlU*57F6A>LaHIP3713k@9|tHmzP*bv5f5=s?^@8g>2ad}OGs#z#t7GkoM@ zVgS6HDXr?Jqr}kL8GjjQllvt!JeQ@ zn^N-1aj!W6jP4+ghejynSzSSUao52oe4nsaF3^gh#64 zM__^~6dF^-AnPxGMVSoxyWI-YP_s@p2I}TZDp-ti6q!{aZ--Zt40Uh}ODo&lbHnd5 zV-9pdR41>bcIjl=f%@?(i&1Hv#DCJg|6mMjsInM^tuV9FNffQ|@}uOty_9@u-W&K~ z^wxKza@qdCd-Q;Wiq_}zx<;QHuprTP7dBnyM5_c*ms;rb=~BZ; z_FjY`9m(Fwmz^t*^xjc3tWVt`R>7Emm3U3LBEzS4N}eM9!lw>2bkNsnme&vS?JI1Z zI%uP5>r=-YpK5)LycmA;)s}f_U1hr`>Ue%Y7Uab0=z?UC_n3`o9}9fxsjAzX;B-x} z&h%wXtKkizkl|3bk~71hPJp_Rmefyxf_54;zLngFQQ&%8Nw;eJT_Dud7x-42fIVPcUPR|xQBU9_Y^X2S|dnA)(EtPF??g*2LyjLtM+51V1(Iy zZFGm$GaAl_LFpW#qKAWjU<)jT#D8WURV8`dZAvki9|cfv_MhD%7k4! zIFcE5VKcEc4cI@nb|5mWL$D@5NP4Efgm4B+2xz*uZajN4>+^@dtG29jE1Ek`Y^JT{ z&0aOhq>OLb-kP%eO=jVSKv?u>)2{z1W8!b#X-v$bL$IEbjIO8jH74v=eVSvEV?Ba) znYq*97`wC~(#k_%er)V@Fc{;n`Stwp=n=tT?Dg;Hb}T+3_WFadQFcw@8SIF0;M(nx zLD8Hb9($c1AwJC#x3SkhQzS;)u1WY4rH@E8t(D==xh7GWj=b25uqy@ycA7MtdRTqN zS{Hg{_=&#fN54eI{rQny-YC<0dN`LS)wk%8+2^J7F&M~1n~uKuc3j6VtQ|KSh1=X~ zNeI><4x&hbvEM~Zi3&+!{l?oI%!Kx!^4>bHD4BX2h&Cv;VjdK%KWx_k<6N~tk{MfR zO(GUsoex5`+OVdV4}6K{x<}JMDz;{Nc69CGE;0pc4~H2zZLedo)%%#OZUvUF&>$O0 zNeJ)-9fRw=EoXT!!mX$sFgnTVvFy{R4-#z`LvfWkoiznW`wVBb{8`)~w9!UGWKQ%O zGT5+d4>hT=##aAS==Ac$W|`#l^2Gi6+>|qWB8iSV?T4T`cC>iH>s-yYyN`tzD}~+Q6&Utp1y| ziZNspD^FCg6|7a9q>uDk#lvvQkBcJ9fggem)+**w!206vNi@*Ct)yDr3)U(WiTP_4 zzXW7lqiYr4rd&oHcKTCm*DCgh9zt8|gwr3p`C!=NPk)Y=5|;Se4h)o55d7)SDpjr% zR4}>-HAEJS9*#_}Q;an06r(Z!_rQhGcAX-i=Idc>ouW3qIOq?rM8`Ce-$a|{bI6Ql z;C}&OmGOBX1y!qTVxW-PxwHY*5EOC{#f-ZNRkH0oTdw^TWI&60R$ru-wbAv7Ba{tx zYC@E~KJiPi8S4`#fQqh9h`z6&%b+EhH)qt&i>yu9y(}AONCmYvk!Y9gN$Y9G`otq- zV+^IM$3ZrTrp){bqv#FB*II=wa!=N_@s{E5dB1^&#bQ|ZsP~x;sHOgjhOr8!5P8S9 zJV&PDuCx8U#yiDAexxl!<6}3uzHOZdM_?wDER4WxI{R z{*B^xXbuFz@EsFh+IUBG(WkDa{ljfxgXMiQiQuz_UTH;u#-=$7J zzIF%FjzIZA|6{=y18;rpAz&mWJNfl|U;Db?(AWNmyfJ@>!5*Me{yN7?FgxaJSCSa_ zwO2=oFSo?4ul){XW3*$7l3JEFZ4VVad!6H$zP;_))RgwNIee|wH};_p?4{Nue}b-m zQlGmpXd=HcpQ{;@RdcNeG7bC$K6kgo&PbzC|wDG2{(Y}p zob|oqfco{l8_8hx^fjsqwNrD*h<2_e&1y<2gtW{O(b#Y4b5rU#3P!NUTI?fW<6c-! z)_Q0ykYxGe)ux=S@(41ZoW>tt13vAK?Vf@0#rWn*v-aWph*3D9z(?4%kEw{PT;@c1 zU4QN4T*1+`j~#H%_m7dak75<|*FFZ2!}{R=^hM>5q*|Q});@j*CaB^`!QtA6_Qf;k z+qDnh|LWYBX|~j|ueFcQnYE7z;o3)i%pu33;(w<0z#&KC;;2mNP~d$#_x?oo8E$3Az!0)KtduE_5so7LYZf#jzB^~tE4 zwsCVGZd!+$Wnq4eXyB%g!E0I{t@RF$f+_GlNO|D*56P3g-to_1qy2%({-BJH_SZYK zvfwN9)zAtR`U2ylt@C-s$RpKc`Q^&!ionmvhQ4okJ<)b5qyqmsLS*B9xiIRN7vPs+ zXZNW05^YJfuCt<9T`Cpq9g8!^FQ0{9CSxwYEG^FP%g50YyEbBW4~!+e8eFLP%P8Ze zS4b`*&8p#-fza$=g``2Bn^LdGv5#Bt{C$Yn0Xh^26IrbT@#!r>2P~3Sgrwo53%i;o zg-%-0`1r6=V`O|Mt@YKw4h#cs<_v1<&JrZIoK=%#>j%#Aac;xel3)+o{8sQ==uKyX zwgpFFxMgw|cFKVOeE>FB=LD<@`c`U{0j@NAT&V+rzLAe`<9$Z!EYN zH3)0Xtkb63T6He!zrC+pdffVt8{A_U+@sy1bgx(|%GJ-FKlymuzb%>lS?eQwT%R7#_1(hTn*I>yANABz&lw+AkL_1jPpnVtqw=!;e@4IH z)yMWJW9)MFsprL5e{{~r#>16pT`gMIfaz&M)23jJJLY1}F!+<~B>0=b7r$v2GoWzaICo4Z?1hkkIrO)CsK3RbC!CS#0~T1K4Zo+C;hkQkH`4RaLD zRBd(;bZ^Uil~VPcF!=Tj10C!@nez60t2=KG-{veV>qI&V-N^h@#}XSoZN_zY7e%V3 zO_K!f$z3w)t<$O z2J1K466d@$ySwRoWdC4rIJSdTCg^_ZMbOkA9ePXeT9ZHT9dD7+@AG{n*}5t}lV<$`Aj}uP?&rj?r9hVTGl5`zMYMkQ+|LO3uIM(-_e6UKIK^D< z1)`-jihh{?Ychw-|31wBuH8Ng*#A$>-CZ@;r4Jf27UqazBSY`YfP`9p)@9(3iYBi# z-J*|?h3BbVvhWnY?ms84*IDkansE_f_=a}eyDqT%?UII--GMBa6Z*7Av5e%w-Y}dm zc~FSc)o}41$wTu-h-w5F2q#snl%@U|)pdr4*7fQZp!CM|@0DF=zLAH0B@gjChnJYN zP)4+&lv73~n|xiPual58Z`?cG4l5>houeNc@m<=S7L;wl7r*XBV(zzqtf1TggrJ-m z6%?3JhOm5|wgvK1ssd|uF#2XjgP8bzEu`3$pETDr4pxq2L#C>x&rq-*F?tkgffyy) zZskjC(3-bw$&+eTY8e9=wI$w@NKzBl#NJA5^s06A`7&~0RR(xtBZA%iF>)mNksNK| z*ZpSVdfifv*_40CuqmyKiH67Tf4dfqWnWU4TlolNDq>>}QA!gwhP@^hrbCI^3%qY* z>{%H*QCnzuAGa~*85}aD8y#sIvmSI#`8mzx@59C@Rt#;-bo`6&Tj)l^me|LB<<%Sp;b|Dmzrho;dGTr^}{!qX39BT&+s&8 z$`?89j9CigCMr`pq7PRL-D?8iB4f-A^h>;$4R{){#x7g zc|de>cVL@zdJqjw7*8m|b0t^d+OV6!i`PZ_vt^tFB1 zDJ^3J>j-Io_IHV8)|F{3;lCx8p=#M3rdC!W z4~gr)&Tl-P`D#Wylez}uz&#{CzD<2GYAa$f%@In;8Pn)0FFJ1Z+TPK%cH^r?uhTKj zQuB@fF+M9E(|p0CVJA%3pVDbG*$qZH7;#H~yvf&hOmmD$&y<<@wT*BIX{zpMo!b zZA|m8KvrNnf&Pk^MuFYO#xxOm3S%0**${M29nBD@%@J`*w3$6b`82SfModG47~hYP zr&wG=e4G{6d@UZ=nA_V?AM_I3Fma9lUO9|JgjX7oL6qCP?xMrAW1oHFW9@j{2{)fjkG_jkwCd*I#Z(Q?9;+itzXFbiq z{@b!^xlOXPfi3JqPoFJLwFv)!EsBz~Gd#yg;6-RME?se9JBCv@z6=0vi) z$A#Ihe%kYgzUN8zD6^8*`aqdE0Z=HNAN7%YI4cHPh6}LTO|(mHzcVXwJ&zmA(agy$6m+{!rqtQ6gjz;&VH5S(Xl%Z2KOe{LIW^-p5~n-SrrEjLQoZ{=P4{h!%>xT&Bdz6hQ-PNM4kWDxs{7LODo#8~A-vzN{K%Z- z?^^khB+_kx&{A5X+BA+`(~HAbWqQ6UJ)lM0j>EUyC$g!7 znYpp*Pn1AYP))!QWbvp z4GA;nO0Uhz$1rC`|8u1)s(cRjr(**t^2u~e^AM|JV-U26jOx%`>I-%vrfaOPSZ!;y+Q!oe3|94S`_=OGo|TH>GW5+D z9IGa)r5suMwkp&&z2{{0Z4i*HE73L_xaSu59oIjzz96kKgMRR4O!)_TXsWPg%dTr`+D$e_g><`o4B3N3C{2$r+ zp0oT=w~Qm*1-0Yd66RGc?`X0)e2X`@daYi1w0pyXIGnEY?3pw^D;h_*<+_WmQ*-V? zn(eo|4VeSeWc)qDe(02m&QSM2&FzlUv3u$goTwciybWOQ{%?VDVbDApwY_>%&(5H4 zI@4zRc9^$?w;>KTOAjZ8XVxLOzd76IzX1SA>KQJYgSI>$q53jZcf{VcY+uV;l1K5D zq`6t}$=}5^Gj3liq(9*mFwTAJ2n%oo4zbnV~hr3yRo)}9d)?{V3$ zr9C7;7Yzjq`y&v%UX%Uyox3P}5Q*`@80p#O;w{_ zq{85dG`S?wO#Q~M%IsmOtG7!2lg1?T>*?t$9#ml;O(Lv=4Z$0D_Ut+@`c-f3c~o|k z_tK00{)3-0smG2n`=qtL0lT612?>3$J=$g!?)}7 z_UgyJUH3HidCZj~4&B(9SzmA0{a3wNCppxcUs5OC+|#8)|CaK72%Guh*PShPXT9Gv z!Q(Q5Ud~kL<6jrv1K-V;tj7V6?d$y}E&F<#FE(@La@knqQSUTO(YbZ)F|9IpB@_cj z-)kD?zt@y#TjA$%ud#17_2hiB>0(&itT*25`y3fZE(bE<{M z!0M*)^4ePR54~ALqbc7H@1M`&z0R&!$I%W1n?l|nm*&0fQ^e%7nR`o@i547085r zw5wcpHZBw6Y+z`l;wM>eHMvUyx!5Ge8M)x4CjSD4m5d*eBEM&zgNp1%Nn0%O%m3q%ofuR2`6Si%reU#~tAolvy-({kX z;9jMo#o%7$r~D?95Y{tgm$!D3b+{oGGBK4 z6KxL*e5z+Kc12IB{D!>dUO`!MWAt?^g(q(rZQ+tQ3(PyAjUh^(otO?C>r`uyWqN;z zUx9hH=&9gMq<^PePWs#2qfJ{)2ymcPzR~8Q(h!IZl1Xwom{sP#ndcs_X^wpX#atHD zVPyZFQW;IrdL+74#Hp?VDS%9(u72;+Szz8I;-1oS=E}X?Q=*#)2RE0Z6zPMxGx!uj zEE>=nz2cR(0Cf}GAK(jvX7X$G8-pvgUk<`rnCpR9Eokec-<`C>f5Yfd)7oPAqENR0 zhg(EZj%lbh-ebWr4_zeUOptnzdK%cgr83&np1gk!T1#c(=;NezHJsS%nb(lSIx2Qj zKNA7H#T4|TdTXj09Nj74;I4ho$Sgip>WR#@-L{$5rJRFdU>vON9zdz)?m#Ad6_X_V zk#cseO=AiZzgo;szteGtG(ix2QxG-M&$;O7zNs)vi;z5nMfkC52DgiY~Gh71_Jn zcJD8%o^7t}hEXsrpqXwI8WFS+EipDhsK}<(%q;Q+7il?eA?f$;;MT!n z(`GRCJtw3~LVGO;t8MmFS)xtn@~pN=AKhW5(bBeJY>70@UJTro)-*j3=53Ik{T9f7 zvq*a8zpwBIQ6#PuyLA3Za92b99`wyDN?ISMlkt-Kbf3^SZ4j~+GTm}iYTRjGaw$~T z0#`i=v1QK2m^vxFI->J3R8RALT}!m<%`POHw-(ZpeIGd4Dwm}WbnP9ZYeB@(L|rE0 zIA2!@&S`nsPJkjRrx}LN@YGI7sW~Rjx}O9KeE^zXNH5Y-n;L7erL>y9of4mT$dB8e zECgb%!jNzc;M_f3=i7skx(1*tzP5%jWD3;pEMWShWq^#g5)k==>_Z8MqEvh1ul|1T zBp@{h`;R0XfivIx@A^hU4j+#Rs6nRv{T<)W+Y8AtKmV2tgZ1+t3H%iN{MVq9)6cK4 z75Hx-evF^@FGTr%-d;%lSU+FxV1SC~x9{iAp~h@KZAs-AY8$^yaGOUA0j^FPHGC`1t~3!iG~N4f$03yylfUNMt?yHaj{U`+1Lz zWiSiI6EYRKhu7x4=ly}VX&+0p=`@AStLubB17mB?X?ca$zBi1Gg#*7JH3$cEQ^*8D zMak69fz@_nr*sV7LQlvdZA$5kGIlBmRBYPOHce;hZ5VJaP-c*zsY6z1peF*VH(4s5 zRR+4G9>Lz!V$!fxRzLNoN(Hi3iD#&R%t$!jVB>JTi($SPbl05su0wL=xsJr&daqe0 zezf4H&D(~G6@E|VEFX^ZdEW>Nk9BY>O%Lf=uOgXLoN#}royYS=59`!E@gGY$pVk{q zqJ2BLvuN7@yg^%aiS{J5m?kSe7y_k1cK-JoLuJyovUULHg-6>2X}7K>j-}O(ZmOP2TOY~wc0zBlN)A#;W_bL42F@q)L6iKKbGD`2qNX09A>O%&Bz$d5M|!rH;2~@}( zC3cSmV|C|vAQrcd^q#GLm4nXFJ6(5RRiwK1kWjgFl8y3~Mzc)tOW#0!ner-YJddfw z*qb#Zo3B#r&7Cr#thRlRNk0~~#(TEsoA3bns+kDUCSz=L_fygtIW?xGuTdKkUwMb$ zMB8`y|I#zNY6ghJ@COZbW0lsDP`#CP$Y5KXUr$3&E2T3pp3C`GMEjy92YWD9-$$B# z7_EoW)I{4EsHfmAcR(-4Ew$k6n48PNK8$vdsgoloOi0SD;Qheh@}3O}AlUx7M^t%a zRI*n}p3P9Ceh1jCe;dQUa>n6&${kPrj8U4Fb?sU%HN$P3<=Lh_TlZuG_bCH<6Y8&& zfzMHIU?TgH0qdo7KVIUbeW4se@NXoCLhwU7vbx`;NvRcsn?F_t_J*`%K(dgQf%-mW zAUK9(Wx%+hzgY&f1aD=ap8cGG!M`-7vkKNK^(_NkHA~VZV5k0drG8}K_mTkx8D<}7 zet6-`%7RvX;Yp096^Dr`mzD>uq6T*=^p=G7m6@qQ*zPOy?63Dw&)(1))5w1Lslk5v z{lV68j{Wj@`6DT>_vkUajoK@RgxxC-N%(d!vRCfQq>%(;kM57k;@|1~T7x|a6+OQe zh>A|E4Z~_GVj0MI)ke>+mFoQ3R)jA&yJoGco}$!05M;tDbAGMCY)OC8^J}H}4b2T2 zaBe!kW~`9^V6!!vfAje@WXGOgW8J}$I@+9lk$*^yvZ5UxpE0M_ILx8bZB|axXKhRY zo$;5lnh#w`WISYp%y*BGwZQgpL?k#xbDcPCPtk;YexAXkikiHo%>lu`_DqfT+l~2P zS&G-FFudBd9c?z;G4|#vR;^u=vQDeio@2B8Gb&?_5>+|u3fe<#*Qo>kF}9&Fp@uj% z0r4ucqNE0TkN5%djcEsB=u-8_=uIqh=H()W2K}%j-g1!gaCBmbt(${Psd_S4i+w(j ze=aV{efJDoIMFtX3^b*N@2alpjnO^j@k#=nUaPVO;Sk{iHtF_p@XzGvpLe2NW_zKE zKI;HiW9I;-Rm=#m-U=JblD*w)aH%{J?QLKki ze#P2J{1)=t#BX@rx^-uH=K*;2LZ3WomA&7%%~nC?%GL*}bPl+}xrgTU_U!6z-Kom- zB18ed6<&coTFgJ;LL5TuL({gay(~JK^TalPm~XOj>EGC}vN)Pf>Ri`!x>;$uNrXX= zT?=f<>@4)wlgNagLzlMVBGcgMrUBE^4Jd()hlF(eDCJz8L>+CmiHn`iy)hn@1TzKR zXhu?dGPK)!uyb#P+8j4+u+7?~VRAuRdcWZd9%5HdUnbF)Qom0n{5JBfA#C8ch~HX%3;7+*ugd$}ENgwB za$QofxRIwf{5F=y>a567=Vzd0Sr^jsC60NS4$32YflR?1gULWQ!#sPG!)u$sTXUK+v#T6pfa_HTPcheIW8B zo$Kws#mZbDlSNkFwVhZ_lPf+(-$(fE(5(YApq&E{u?p%n{H1dR4pP4IJj5-EuA%E(fmboXG}8xTRi^?x3>C(Bl^rSZsFoD&T=QrU9x1>rE~kuId#^2cjBxs z&YdI5wbdv0O|yRS+*$72akRbm#D20h%wIBl;T2c#uUALN_Se(}ElcK!>X?@1=DCZP z^xxXW^Zh2AP}O%!C(oTV$F#HG?krfiWNzcEE9TIj{)Y0*xo*>}CGJ=;s&-`GmDXo< zx}QO^W0@YHnyMol$7lz9&%0)_lefGu?=wXO1swziW#IHz@?6hfr*24LYyOpkh7_zH zH<(YQjplD7f6wHvO<$(;`XGHeXbE3m<(HH8L@eD6%Z~(q3x7*#%ia7H{r3F2Aw@R~ zs2fszeL>xjlGeTQUl}x{csV}l&uNX9>gq~&e zCf^e}gRnZ8gzml2n}WZZ1+4M8UgOg`Ab-lBA%)N>*g!_*Q@!_)Z%IbJ=8Sy$w_Gas z>7SlFbq)Et$+yU-cZ2G^UVLdS$e%T6ND-A6!jgiG^@GKWIplY+E_x9zCm#n4%F7&3 z^-=P*nzB2A_3tF*EX&vpIELam22W%E9Oa6JIL<-+l+V9C#~_a#oPS3SstvS7bVuTK z<-lwEqFXf|RHup_8Y1ANxw&zdFQ6GXR{a6d#6-V$FSmPVjMFb$KidP{7MF>tI z2C5*?F9*Bi9O*bWR&Az9Ou2h=~fKbw-5O`GdE$icM)_;Frwe+n{Ijj`?=dY zJ~vq-Uk^d|w&NXVU;&jN2U)(den`cDA*Q`q-b4-~%Y4G$21u3TH|{zy%Xgr)*CHKM zWE{=7!Ds0!G)!o2_%&{@=*)u-Cw-k3;D}wzqJwINCF=)g)42;ew?HSumu1oEuRZcf z??R{eB*&Sb)gEG)uwP>b$J^tWF{#1#EvM|IS!I_;%GSlkq%PK%F=kAbL+2&veDP!G z#M=-Z6HDg-=uA2J|E)b5lOlZdz0jGP)t=~>)Mbr{pFk!{exci$gKnMgzu$#!<7tj_T7Pt}&p`mXx!n2~ zpY9}n+qisvS$}k|%T4!|9Nh@U;Wp^*I^)wHU#E!ps?Kpn^w-``Fun>(BoEV|TZZDF z(I4GUFun?0ME5S}P9OK_k8k0=#88dIo7B;V{jAELk%K|w1~=v8CS+vyWnenO6JDeQ8}`MV6dyUt~(fHhvN`3s4z3K|BFvr}N@ zxrID6lO1Plm}jx_jE&}5OP=NAQ5P+p#UdcbMb`Sk<)B|8&!gl~e{7x>Qy z&Cr{6KD_U1-1D!_q=zJZEhoJs^tMB}S4MebbLHawnBS1^@{D{JNAhVL zN0RS3^67+7PI=dy{!2OJf?j{O55W-KZsxyRvZx6{o9~hIn!~z)HmJo z0fl|U<9$pdWgoQid&g{aNN~pdiHU96GS?5zIe*d|x?+x9=gKUlaJSv(4969d)znOicdO^Rg73wf?ZyaE7pw0h+|{1uWY%>E}-lh%FYMY zSot!D8;qBY$Gg^U-A37B0_FVv?6{eLXIL5J%9!^YdZF=m4rD&I&~b)*ige2%I}N(Y zD;>wY!(;6G5itfA6 z?Ox(I|Jonj8*m(*vF3Xp)8YWnIQXDOM&dv=Uxh=<7tY7Wz4{iJuP-WuX>$XrW{2nT7sxZ~$!? z7C`s07iLqx#LAk5PCq<=Dvk)CH;xXVhd&!YUq2>*?l?Apyb%Gk;P?OMfNVcbIW;KpAdtm< z83DIt55%lk+{VuZ`DPKiS=>9dLB2251-QNIgM9x2Wb;iWu(b4E1+uvBoEhXB#casp zo&&-}!rx(MInH9!-!B1KTnCV(w#3;L;*Mb^VDohX*?czv*?h^f1KbyYY`%{WZkw-g zLXfY6pw{Ak1!VKNlLFjwAWQGnDM3rWe?b6UO$;^PwE16%dMtF(i~#yDg#PuC0C)N9 z06K()9a~}m9@IkjUlu?wULHV~;LGgzJq%>!;CJ{ai)*K=Z4UuA*8b^Hg!P=-5o+7hS11;f_y7N=%ElQ9u%ZDh0vN1`Y?p1 z3=Z<$5kdt;0d9H--5o+jSb2YhLg0Q2G8rz9}JeM+g-h5TrJQP+JH+6GAm5LB2&H zbVmpk92lfd51|zyv?hc;4529p1to3_p*10NZwNgRLM20k64OJ-4WS!D=(Z4gD1-`1 zgR&!QOp=H4W~sh=Yv^6B$saU zJTN=Yh+R~W9#V~Jxxg&;2VB^b)Qqy%+fmsm4oU1%U ztv1gHckVKm2I>z+&>4`|P8vfT`7>h9EO(awjrkx?B+&;)T(X3*vVTy#+<6wK2_eMf z8Sa-z|BRTkm~)Ry=L&;}kmt1=wXtJHFZ2hNkf)&(e(E#!$My3Fsdi(ZLJYp!U~Y_I zX3QW6xTK}oBst16$S(w%sX2v3&r1b~PjF`^SjhH)cM)P9M#5yz1bIEXN z{p@-53m08o$2rjq)YK^IlB`Sy6U$>Mja^n(dqPbHt+C6dMvduGly@M8ylHRGP4K~%VDTw zjEIkmjfe_nWV5JPE>ki-9u^fF4;74OGMHE%TP$N70%U9)OxcW#J}#DT_Ph%w8OhAx zs*jD;eo3yZ0Wy|z_B@|xgs&DeHN;$!nZ-w>a|BfAMp!D1OXu?oMze*ebgr8?Z*rbZJ`^X#Sv$XLsz*FoM$!_(+kyV2YrbEMfJHr8se zY0{BKNAS@$2Z|W9J2bPgglG+ZLas_OlA`ta5)o7r4rUY|9U)&P1Kx%%CW>c_z-L@3 z$-a<~ohAE%LslN@iCmV*O0JLHxyVY6+}p@Xn;NPAka_VYD}%AG((p)>F=PH07tNS4WB$TRoEbBgF1ccnjY // for _vsnprintf, _vsnwprintf, getc, getwc +#include // for memset +#include // for va_start, etc. + + +#ifndef _SIZE_T_DEFINED +#ifdef _WIN64 +typedef unsigned __int64 size_t; +#else +typedef __w64 unsigned int size_t; +#endif // !_WIN64 +#define _SIZE_T_DEFINED +#endif // !_SIZE_T_DEFINED + +#if !defined(_WCHAR_T_DEFINED) && !defined(_NATIVE_WCHAR_T_DEFINED) +typedef unsigned short wchar_t; +#define _WCHAR_T_DEFINED +#endif + +#ifndef _HRESULT_DEFINED +#define _HRESULT_DEFINED +typedef long HRESULT; +#endif // !_HRESULT_DEFINED + +#ifndef SUCCEEDED +#define SUCCEEDED(hr) ((HRESULT)(hr) >= 0) +#endif + +#ifndef FAILED +#define FAILED(hr) ((HRESULT)(hr) < 0) +#endif + +#ifndef S_OK +#define S_OK ((HRESULT)0x00000000L) +#endif + +#ifdef __cplusplus +#define _STRSAFE_EXTERN_C extern "C" +#else +#define _STRSAFE_EXTERN_C extern +#endif + +// If you do not want to use these functions inline (and instead want to link w/ strsafe.lib), then +// #define STRSAFE_LIB before including this header file. +#if defined(STRSAFE_LIB) +#define STRSAFEAPI _STRSAFE_EXTERN_C HRESULT __stdcall +#pragma comment(lib, "strsafe.lib") +#elif defined(STRSAFE_LIB_IMPL) +#define STRSAFEAPI _STRSAFE_EXTERN_C HRESULT __stdcall +#else +#define STRSAFEAPI __inline HRESULT __stdcall +#define STRSAFE_INLINE +#endif + +// Some functions always run inline because they use stdin and we want to avoid building multiple +// versions of strsafe lib depending on if you use msvcrt, libcmt, etc. +#define STRSAFE_INLINE_API __inline HRESULT __stdcall + +// The user can request no "Cb" or no "Cch" fuctions, but not both! +#if defined(STRSAFE_NO_CB_FUNCTIONS) && defined(STRSAFE_NO_CCH_FUNCTIONS) +#error cannot specify both STRSAFE_NO_CB_FUNCTIONS and STRSAFE_NO_CCH_FUNCTIONS !! +#endif + +// This should only be defined when we are building strsafe.lib +#ifdef STRSAFE_LIB_IMPL +#define STRSAFE_INLINE +#endif + + +// If both strsafe.h and ntstrsafe.h are included, only use definitions from one. +#ifndef _NTSTRSAFE_H_INCLUDED_ + +#define STRSAFE_MAX_CCH 2147483647 // max # of characters we support (same as INT_MAX) + +// Flags for controling the Ex functions +// +// STRSAFE_FILL_BYTE(0xFF) 0x000000FF // bottom byte specifies fill pattern +#define STRSAFE_IGNORE_NULLS 0x00000100 // treat null as TEXT("") -- don't fault on NULL buffers +#define STRSAFE_FILL_BEHIND_NULL 0x00000200 // fill in extra space behind the null terminator +#define STRSAFE_FILL_ON_FAILURE 0x00000400 // on failure, overwrite pszDest with fill pattern and null terminate it +#define STRSAFE_NULL_ON_FAILURE 0x00000800 // on failure, set *pszDest = TEXT('\0') +#define STRSAFE_NO_TRUNCATION 0x00001000 // instead of returning a truncated result, copy/append nothing to pszDest and null terminate it + +#define STRSAFE_VALID_FLAGS (0x000000FF | STRSAFE_IGNORE_NULLS | STRSAFE_FILL_BEHIND_NULL | STRSAFE_FILL_ON_FAILURE | STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION) + +// helper macro to set the fill character and specify buffer filling +#define STRSAFE_FILL_BYTE(x) ((unsigned long)((x & 0x000000FF) | STRSAFE_FILL_BEHIND_NULL)) +#define STRSAFE_FAILURE_BYTE(x) ((unsigned long)((x & 0x000000FF) | STRSAFE_FILL_ON_FAILURE)) + +#define STRSAFE_GET_FILL_PATTERN(dwFlags) ((int)(dwFlags & 0x000000FF)) + +#endif // _NTSTRSAFE_H_INCLUDED_ + +// STRSAFE error return codes +// +#define STRSAFE_E_INSUFFICIENT_BUFFER ((HRESULT)0x8007007AL) // 0x7A = 122L = ERROR_INSUFFICIENT_BUFFER +#define STRSAFE_E_INVALID_PARAMETER ((HRESULT)0x80070057L) // 0x57 = 87L = ERROR_INVALID_PARAMETER +#define STRSAFE_E_END_OF_FILE ((HRESULT)0x80070026L) // 0x26 = 38L = ERROR_HANDLE_EOF + +// prototypes for the worker functions +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCopyWorkerA(char* pszDest, size_t cchDest, const char* pszSrc); +STRSAFEAPI StringCopyWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc); +STRSAFEAPI StringCopyExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCopyExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCopyNWorkerA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc); +STRSAFEAPI StringCopyNWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchSrc); +STRSAFEAPI StringCopyNExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, size_t cchSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCopyNExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, const wchar_t* pszSrc, size_t cchSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCatWorkerA(char* pszDest, size_t cchDest, const char* pszSrc); +STRSAFEAPI StringCatWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc); +STRSAFEAPI StringCatExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCatExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCatNWorkerA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend); +STRSAFEAPI StringCatNWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchMaxAppend); +STRSAFEAPI StringCatNExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, size_t cchMaxAppend, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCatNExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, const wchar_t* pszSrc, size_t cchMaxAppend, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringVPrintfWorkerA(char* pszDest, size_t cchDest, const char* pszFormat, va_list argList); +STRSAFEAPI StringVPrintfWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszFormat, va_list argList); +STRSAFEAPI StringVPrintfExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const char* pszFormat, va_list argList); +STRSAFEAPI StringVPrintfExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const wchar_t* pszFormat, va_list argList); +STRSAFEAPI StringLengthWorkerA(const char* psz, size_t cchMax, size_t* pcch); +STRSAFEAPI StringLengthWorkerW(const wchar_t* psz, size_t cchMax, size_t* pcch); +#endif // STRSAFE_INLINE + +#ifndef STRSAFE_LIB_IMPL +// these functions are always inline +STRSAFE_INLINE_API StringGetsExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFE_INLINE_API StringGetsExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +#endif + +#ifdef _NTSTRSAFE_H_INCLUDED_ +#pragma warning(push) +#pragma warning(disable : 4995) +#endif // _NTSTRSAFE_H_INCLUDED_ + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchCopy( + OUT LPTSTR pszDest, + IN size_t cchDest, + IN LPCTSTR pszSrc + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strcpy'. + The size of the destination buffer (in characters) is a parameter and + this function will not write past the end of this buffer and it will + ALWAYS null terminate the destination buffer (unless it is zero length). + + This routine is not a replacement for strncpy. That function will pad the + destination string with extra null termination characters if the count is + greater than the length of the source string, and it will fail to null + terminate the destination string if the source string length is greater + than or equal to the count. You can not blindly use this instead of strncpy: + it is common for code to use it to "patch" strings and you would introduce + errors if the code started null terminating in the middle of the string. + + This function returns a hresult, and not a pointer. It returns + S_OK if the string was copied without truncation and null terminated, + otherwise it will return a failure code. In failure cases as much of + pszSrc will be copied to pszDest as possible, and pszDest will be null + terminated. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters. + length must be = (_tcslen(src) + 1) to hold all of the + source including the null terminator + + pszSrc - source string which must be null terminated + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL. See StringCchCopyEx if you require + the handling of NULL values. + +Return Value: + + S_OK - if there was source data and it was all copied and the + resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the copy + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +STRSAFEAPI StringCchCopyA(char* pszDest, size_t cchDest, const char* pszSrc); +STRSAFEAPI StringCchCopyW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc); +#ifdef UNICODE +#define StringCchCopy StringCchCopyW +#else +#define StringCchCopy StringCchCopyA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchCopyA(char* pszDest, size_t cchDest, const char* pszSrc) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyWorkerA(pszDest, cchDest, pszSrc); + } + + return hr; +} + +STRSAFEAPI StringCchCopyW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyWorkerW(pszDest, cchDest, pszSrc); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbCopy( + OUT LPTSTR pszDest, + IN size_t cbDest, + IN LPCTSTR pszSrc + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strcpy'. + The size of the destination buffer (in bytes) is a parameter and this + function will not write past the end of this buffer and it will ALWAYS + null terminate the destination buffer (unless it is zero length). + + This routine is not a replacement for strncpy. That function will pad the + destination string with extra null termination characters if the count is + greater than the length of the source string, and it will fail to null + terminate the destination string if the source string length is greater + than or equal to the count. You can not blindly use this instead of strncpy: + it is common for code to use it to "patch" strings and you would introduce + errors if the code started null terminating in the middle of the string. + + This function returns a hresult, and not a pointer. It returns + S_OK if the string was copied without truncation and null terminated, + otherwise it will return a failure code. In failure cases as much of pszSrc + will be copied to pszDest as possible, and pszDest will be null terminated. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes. + length must be = ((_tcslen(src) + 1) * sizeof(TCHAR)) to + hold all of the source including the null terminator + + pszSrc - source string which must be null terminated + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL. See StringCbCopyEx if you require + the handling of NULL values. + +Return Value: + + S_OK - if there was source data and it was all copied and the + resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the copy + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +STRSAFEAPI StringCbCopyA(char* pszDest, size_t cbDest, const char* pszSrc); +STRSAFEAPI StringCbCopyW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc); +#ifdef UNICODE +#define StringCbCopy StringCbCopyW +#else +#define StringCbCopy StringCbCopyA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbCopyA(char* pszDest, size_t cbDest, const char* pszSrc) +{ + HRESULT hr; + size_t cchDest; + + // convert to count of characters + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyWorkerA(pszDest, cchDest, pszSrc); + } + + return hr; +} + +STRSAFEAPI StringCbCopyW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc) +{ + HRESULT hr; + size_t cchDest; + + // convert to count of characters + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyWorkerW(pszDest, cchDest, pszSrc); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchCopyEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cchDest, + IN LPCTSTR pszSrc OPTIONAL, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcchRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strcpy' with + some additional parameters. In addition to functionality provided by + StringCchCopy, this routine also returns a pointer to the end of the + destination string and the number of characters left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters. + length must be = (_tcslen(pszSrc) + 1) to hold all of + the source including the null terminator + + pszSrc - source string which must be null terminated + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function copied any data, the result will point to the + null termination character + + pcchRemaining - if pcchRemaining is non-null, the function will return the + number of characters left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")). + this flag is useful for emulating functions like lstrcpy + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any truncated + string returned when the failure is + STRSAFE_E_INSUFFICIENT_BUFFER + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any truncated string + returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag + is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc + may be NULL. An error may still be returned even though NULLS are ignored + due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all copied and the + resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the copy + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchCopyExA(char* pszDest, size_t cchDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCchCopyExW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCchCopyEx StringCchCopyExW +#else +#define StringCchCopyEx StringCchCopyExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchCopyExA(char* pszDest, size_t cchDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 + cbDest = cchDest * sizeof(char); + + hr = StringCopyExWorkerA(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} + +STRSAFEAPI StringCchCopyExW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(wchar_t) since cchDest < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + cbDest = cchDest * sizeof(wchar_t); + + hr = StringCopyExWorkerW(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbCopyEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cbDest, + IN LPCTSTR pszSrc OPTIONAL, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcbRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strcpy' with + some additional parameters. In addition to functionality provided by + StringCbCopy, this routine also returns a pointer to the end of the + destination string and the number of bytes left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes. + length must be ((_tcslen(pszSrc) + 1) * sizeof(TCHAR)) to + hold all of the source including the null terminator + + pszSrc - source string which must be null terminated + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function copied any data, the result will point to the + null termination character + + pcbRemaining - pcbRemaining is non-null,the function will return the + number of bytes left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")). + this flag is useful for emulating functions like lstrcpy + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any truncated + string returned when the failure is + STRSAFE_E_INSUFFICIENT_BUFFER + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any truncated string + returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag + is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc + may be NULL. An error may still be returned even though NULLS are ignored + due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all copied and the + resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the copy + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbCopyExA(char* pszDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); +STRSAFEAPI StringCbCopyExW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCbCopyEx StringCbCopyExW +#else +#define StringCbCopyEx StringCbCopyExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbCopyExA(char* pszDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyExWorkerA(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(char) since cchRemaining < STRSAFE_MAX_CCH and sizeof(char) is 1 + *pcbRemaining = (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)); + } + } + + return hr; +} + +STRSAFEAPI StringCbCopyExW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyExWorkerW(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(wchar_t) since cchRemaining < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + *pcbRemaining = (cchRemaining * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t)); + } + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchCopyN( + OUT LPTSTR pszDest, + IN size_t cchDest, + IN LPCTSTR pszSrc, + IN size_t cchSrc + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strncpy'. + The size of the destination buffer (in characters) is a parameter and + this function will not write past the end of this buffer and it will + ALWAYS null terminate the destination buffer (unless it is zero length). + + This routine is meant as a replacement for strncpy, but it does behave + differently. This function will not pad the destination buffer with extra + null termination characters if cchSrc is greater than the length of pszSrc. + + This function returns a hresult, and not a pointer. It returns + S_OK if the entire string or the first cchSrc characters were copied + without truncation and the resultant destination string was null terminated, + otherwise it will return a failure code. In failure cases as much of pszSrc + will be copied to pszDest as possible, and pszDest will be null terminated. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters. + length must be = (_tcslen(src) + 1) to hold all of the + source including the null terminator + + pszSrc - source string + + cchSrc - maximum number of characters to copy from source string, + not including the null terminator. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL. See StringCchCopyNEx if you require + the handling of NULL values. + +Return Value: + + S_OK - if there was source data and it was all copied and the + resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the copy + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +STRSAFEAPI StringCchCopyNA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc); +STRSAFEAPI StringCchCopyNW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchSrc); +#ifdef UNICODE +#define StringCchCopyN StringCchCopyNW +#else +#define StringCchCopyN StringCchCopyNA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchCopyNA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc) +{ + HRESULT hr; + + if ((cchDest > STRSAFE_MAX_CCH) || + (cchSrc > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyNWorkerA(pszDest, cchDest, pszSrc, cchSrc); + } + + return hr; +} + +STRSAFEAPI StringCchCopyNW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchSrc) +{ + HRESULT hr; + + if ((cchDest > STRSAFE_MAX_CCH) || + (cchSrc > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyNWorkerW(pszDest, cchDest, pszSrc, cchSrc); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbCopyN( + OUT LPTSTR pszDest, + IN size_t cbDest, + IN LPCTSTR pszSrc, + IN size_t cbSrc + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strncpy'. + The size of the destination buffer (in bytes) is a parameter and this + function will not write past the end of this buffer and it will ALWAYS + null terminate the destination buffer (unless it is zero length). + + This routine is meant as a replacement for strncpy, but it does behave + differently. This function will not pad the destination buffer with extra + null termination characters if cbSrc is greater than the size of pszSrc. + + This function returns a hresult, and not a pointer. It returns + S_OK if the entire string or the first cbSrc characters were + copied without truncation and the resultant destination string was null + terminated, otherwise it will return a failure code. In failure cases as + much of pszSrc will be copied to pszDest as possible, and pszDest will be + null terminated. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes. + length must be = ((_tcslen(src) + 1) * sizeof(TCHAR)) to + hold all of the source including the null terminator + + pszSrc - source string + + cbSrc - maximum number of bytes to copy from source string, + not including the null terminator. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL. See StringCbCopyEx if you require + the handling of NULL values. + +Return Value: + + S_OK - if there was source data and it was all copied and the + resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the copy + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +STRSAFEAPI StringCbCopyNA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbSrc); +STRSAFEAPI StringCbCopyNW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, size_t cbSrc); +#ifdef UNICODE +#define StringCbCopyN StringCbCopyNW +#else +#define StringCbCopyN StringCbCopyNA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbCopyNA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbSrc) +{ + HRESULT hr; + size_t cchDest; + size_t cchSrc; + + // convert to count of characters + cchDest = cbDest / sizeof(char); + cchSrc = cbSrc / sizeof(char); + + if ((cchDest > STRSAFE_MAX_CCH) || + (cchSrc > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyNWorkerA(pszDest, cchDest, pszSrc, cchSrc); + } + + return hr; +} + +STRSAFEAPI StringCbCopyNW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, size_t cbSrc) +{ + HRESULT hr; + size_t cchDest; + size_t cchSrc; + + // convert to count of characters + cchDest = cbDest / sizeof(wchar_t); + cchSrc = cbSrc / sizeof(wchar_t); + + if ((cchDest > STRSAFE_MAX_CCH) || + (cchSrc > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyNWorkerW(pszDest, cchDest, pszSrc, cchSrc); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchCopyNEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cchDest, + IN LPCTSTR pszSrc OPTIONAL, + IN size_t cchSrc, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcchRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strncpy' with + some additional parameters. In addition to functionality provided by + StringCchCopyN, this routine also returns a pointer to the end of the + destination string and the number of characters left in the destination + string including the null terminator. The flags parameter allows + additional controls. + + This routine is meant as a replacement for strncpy, but it does behave + differently. This function will not pad the destination buffer with extra + null termination characters if cchSrc is greater than the length of pszSrc. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters. + length must be = (_tcslen(pszSrc) + 1) to hold all of + the source including the null terminator + + pszSrc - source string + + cchSrc - maximum number of characters to copy from the source + string + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function copied any data, the result will point to the + null termination character + + pcchRemaining - if pcchRemaining is non-null, the function will return the + number of characters left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")). + this flag is useful for emulating functions like lstrcpy + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any truncated + string returned when the failure is + STRSAFE_E_INSUFFICIENT_BUFFER + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any truncated string + returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag + is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc + may be NULL. An error may still be returned even though NULLS are ignored + due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all copied and the + resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the copy + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchCopyNExA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCchCopyNExW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCchCopyNEx StringCchCopyNExW +#else +#define StringCchCopyNEx StringCchCopyNExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchCopyNExA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if ((cchDest > STRSAFE_MAX_CCH) || + (cchSrc > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 + cbDest = cchDest * sizeof(char); + + hr = StringCopyNExWorkerA(pszDest, cchDest, cbDest, pszSrc, cchSrc, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} + +STRSAFEAPI StringCchCopyNExW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if ((cchDest > STRSAFE_MAX_CCH) || + (cchSrc > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(wchar_t) since cchDest < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + cbDest = cchDest * sizeof(wchar_t); + + hr = StringCopyNExWorkerW(pszDest, cchDest, cbDest, pszSrc, cchSrc, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbCopyNEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cbDest, + IN LPCTSTR pszSrc OPTIONAL, + IN size_t cbSrc, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcbRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strncpy' with + some additional parameters. In addition to functionality provided by + StringCbCopyN, this routine also returns a pointer to the end of the + destination string and the number of bytes left in the destination string + including the null terminator. The flags parameter allows additional controls. + + This routine is meant as a replacement for strncpy, but it does behave + differently. This function will not pad the destination buffer with extra + null termination characters if cbSrc is greater than the size of pszSrc. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes. + length must be ((_tcslen(pszSrc) + 1) * sizeof(TCHAR)) to + hold all of the source including the null terminator + + pszSrc - source string + + cbSrc - maximum number of bytes to copy from source string + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function copied any data, the result will point to the + null termination character + + pcbRemaining - pcbRemaining is non-null,the function will return the + number of bytes left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")). + this flag is useful for emulating functions like lstrcpy + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any truncated + string returned when the failure is + STRSAFE_E_INSUFFICIENT_BUFFER + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any truncated string + returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag + is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc + may be NULL. An error may still be returned even though NULLS are ignored + due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all copied and the + resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the copy + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbCopyNExA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbSrc, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); +STRSAFEAPI StringCbCopyNExW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, size_t cbSrc, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCbCopyNEx StringCbCopyNExW +#else +#define StringCbCopyNEx StringCbCopyNExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbCopyNExA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbSrc, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchSrc; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(char); + cchSrc = cbSrc / sizeof(char); + + if ((cchDest > STRSAFE_MAX_CCH) || + (cchSrc > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyNExWorkerA(pszDest, cchDest, cbDest, pszSrc, cchSrc, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(char) since cchRemaining < STRSAFE_MAX_CCH and sizeof(char) is 1 + *pcbRemaining = (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)); + } + } + + return hr; +} + +STRSAFEAPI StringCbCopyNExW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, size_t cbSrc, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchSrc; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(wchar_t); + cchSrc = cbSrc / sizeof(wchar_t); + + if ((cchDest > STRSAFE_MAX_CCH) || + (cchSrc > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCopyNExWorkerW(pszDest, cchDest, cbDest, pszSrc, cchSrc, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(wchar_t) since cchRemaining < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + *pcbRemaining = (cchRemaining * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t)); + } + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchCat( + IN OUT LPTSTR pszDest, + IN size_t cchDest, + IN LPCTSTR pszSrc + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strcat'. + The size of the destination buffer (in characters) is a parameter and this + function will not write past the end of this buffer and it will ALWAYS + null terminate the destination buffer (unless it is zero length). + + This function returns a hresult, and not a pointer. It returns + S_OK if the string was concatenated without truncation and null terminated, + otherwise it will return a failure code. In failure cases as much of pszSrc + will be appended to pszDest as possible, and pszDest will be null + terminated. + +Arguments: + + pszDest - destination string which must be null terminated + + cchDest - size of destination buffer in characters. + length must be = (_tcslen(pszDest) + _tcslen(pszSrc) + 1) + to hold all of the combine string plus the null + terminator + + pszSrc - source string which must be null terminated + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL. See StringCchCatEx if you require + the handling of NULL values. + +Return Value: + + S_OK - if there was source data and it was all concatenated and + the resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the operation + failed due to insufficient space. When this error occurs, + the destination buffer is modified to contain a truncated + version of the ideal result and is null terminated. This + is useful for situations where truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchCatA(char* pszDest, size_t cchDest, const char* pszSrc); +STRSAFEAPI StringCchCatW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc); +#ifdef UNICODE +#define StringCchCat StringCchCatW +#else +#define StringCchCat StringCchCatA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchCatA(char* pszDest, size_t cchDest, const char* pszSrc) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCatWorkerA(pszDest, cchDest, pszSrc); + } + + return hr; +} + +STRSAFEAPI StringCchCatW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCatWorkerW(pszDest, cchDest, pszSrc); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbCat( + IN OUT LPTSTR pszDest, + IN size_t cbDest, + IN LPCTSTR pszSrc + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strcat'. + The size of the destination buffer (in bytes) is a parameter and this + function will not write past the end of this buffer and it will ALWAYS + null terminate the destination buffer (unless it is zero length). + + This function returns a hresult, and not a pointer. It returns + S_OK if the string was concatenated without truncation and null terminated, + otherwise it will return a failure code. In failure cases as much of pszSrc + will be appended to pszDest as possible, and pszDest will be null + terminated. + +Arguments: + + pszDest - destination string which must be null terminated + + cbDest - size of destination buffer in bytes. + length must be = ((_tcslen(pszDest) + _tcslen(pszSrc) + 1) * sizeof(TCHAR) + to hold all of the combine string plus the null + terminator + + pszSrc - source string which must be null terminated + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL. See StringCbCatEx if you require + the handling of NULL values. + +Return Value: + + S_OK - if there was source data and it was all concatenated and + the resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the operation + failed due to insufficient space. When this error occurs, + the destination buffer is modified to contain a truncated + version of the ideal result and is null terminated. This + is useful for situations where truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbCatA(char* pszDest, size_t cbDest, const char* pszSrc); +STRSAFEAPI StringCbCatW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc); +#ifdef UNICODE +#define StringCbCat StringCbCatW +#else +#define StringCbCat StringCbCatA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbCatA(char* pszDest, size_t cbDest, const char* pszSrc) +{ + HRESULT hr; + size_t cchDest; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCatWorkerA(pszDest, cchDest, pszSrc); + } + + return hr; +} + +STRSAFEAPI StringCbCatW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc) +{ + HRESULT hr; + size_t cchDest; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCatWorkerW(pszDest, cchDest, pszSrc); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchCatEx( + IN OUT LPTSTR pszDest OPTIONAL, + IN size_t cchDest, + IN LPCTSTR pszSrc OPTIONAL, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcchRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strcat' with + some additional parameters. In addition to functionality provided by + StringCchCat, this routine also returns a pointer to the end of the + destination string and the number of characters left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string which must be null terminated + + cchDest - size of destination buffer in characters + length must be (_tcslen(pszDest) + _tcslen(pszSrc) + 1) + to hold all of the combine string plus the null + terminator. + + pszSrc - source string which must be null terminated + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function appended any data, the result will point to the + null termination character + + pcchRemaining - if pcchRemaining is non-null, the function will return the + number of characters left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")). + this flag is useful for emulating functions like lstrcat + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any pre-existing + or truncated string + + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any pre-existing or + truncated string + + STRSAFE_NO_TRUNCATION + if the function returns STRSAFE_E_INSUFFICIENT_BUFFER, pszDest + will not contain a truncated string, it will remain unchanged. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag + is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc + may be NULL. An error may still be returned even though NULLS are ignored + due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all concatenated and + the resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the operation + failed due to insufficient space. When this error + occurs, the destination buffer is modified to contain + a truncated version of the ideal result and is null + terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchCatExA(char* pszDest, size_t cchDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCchCatExW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCchCatEx StringCchCatExW +#else +#define StringCchCatEx StringCchCatExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchCatExA(char* pszDest, size_t cchDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 + cbDest = cchDest * sizeof(char); + + hr = StringCatExWorkerA(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} + +STRSAFEAPI StringCchCatExW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(wchar_t) since cchDest < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + cbDest = cchDest * sizeof(wchar_t); + + hr = StringCatExWorkerW(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbCatEx( + IN OUT LPTSTR pszDest OPTIONAL, + IN size_t cbDest, + IN LPCTSTR pszSrc OPTIONAL, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcbRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strcat' with + some additional parameters. In addition to functionality provided by + StringCbCat, this routine also returns a pointer to the end of the + destination string and the number of bytes left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string which must be null terminated + + cbDest - size of destination buffer in bytes. + length must be ((_tcslen(pszDest) + _tcslen(pszSrc) + 1) * sizeof(TCHAR) + to hold all of the combine string plus the null + terminator. + + pszSrc - source string which must be null terminated + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function appended any data, the result will point to the + null termination character + + pcbRemaining - if pcbRemaining is non-null, the function will return + the number of bytes left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")). + this flag is useful for emulating functions like lstrcat + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any pre-existing + or truncated string + + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any pre-existing or + truncated string + + STRSAFE_NO_TRUNCATION + if the function returns STRSAFE_E_INSUFFICIENT_BUFFER, pszDest + will not contain a truncated string, it will remain unchanged. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag + is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc + may be NULL. An error may still be returned even though NULLS are ignored + due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all concatenated + and the resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the operation + failed due to insufficient space. When this error + occurs, the destination buffer is modified to contain + a truncated version of the ideal result and is null + terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbCatExA(char* pszDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); +STRSAFEAPI StringCbCatExW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCbCatEx StringCbCatExW +#else +#define StringCbCatEx StringCbCatExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbCatExA(char* pszDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCatExWorkerA(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(char) since cchRemaining < STRSAFE_MAX_CCH and sizeof(char) is 1 + *pcbRemaining = (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)); + } + } + + return hr; +} + +STRSAFEAPI StringCbCatExW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCatExWorkerW(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(wchar_t) since cchRemaining < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + *pcbRemaining = (cchRemaining * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t)); + } + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchCatN( + IN OUT LPTSTR pszDest, + IN size_t cchDest, + IN LPCTSTR pszSrc, + IN size_t cchMaxAppend + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strncat'. + The size of the destination buffer (in characters) is a parameter as well as + the maximum number of characters to append, excluding the null terminator. + This function will not write past the end of the destination buffer and it will + ALWAYS null terminate pszDest (unless it is zero length). + + This function returns a hresult, and not a pointer. It returns + S_OK if all of pszSrc or the first cchMaxAppend characters were appended + to the destination string and it was null terminated, otherwise it will + return a failure code. In failure cases as much of pszSrc will be appended + to pszDest as possible, and pszDest will be null terminated. + +Arguments: + + pszDest - destination string which must be null terminated + + cchDest - size of destination buffer in characters. + length must be (_tcslen(pszDest) + min(cchMaxAppend, _tcslen(pszSrc)) + 1) + to hold all of the combine string plus the null + terminator. + + pszSrc - source string + + cchMaxAppend - maximum number of characters to append + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL. See StringCchCatNEx if you require + the handling of NULL values. + +Return Value: + + S_OK - if all of pszSrc or the first cchMaxAppend characters + were concatenated to pszDest and the resultant dest + string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the operation + failed due to insufficient space. When this error + occurs, the destination buffer is modified to contain + a truncated version of the ideal result and is null + terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchCatNA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend); +STRSAFEAPI StringCchCatNW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchMaxAppend); +#ifdef UNICODE +#define StringCchCatN StringCchCatNW +#else +#define StringCchCatN StringCchCatNA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchCatNA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCatNWorkerA(pszDest, cchDest, pszSrc, cchMaxAppend); + } + + return hr; +} + +STRSAFEAPI StringCchCatNW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchMaxAppend) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringCatNWorkerW(pszDest, cchDest, pszSrc, cchMaxAppend); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbCatN( + IN OUT LPTSTR pszDest, + IN size_t cbDest, + IN LPCTSTR pszSrc, + IN size_t cbMaxAppend + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strncat'. + The size of the destination buffer (in bytes) is a parameter as well as + the maximum number of bytes to append, excluding the null terminator. + This function will not write past the end of the destination buffer and it will + ALWAYS null terminate pszDest (unless it is zero length). + + This function returns a hresult, and not a pointer. It returns + S_OK if all of pszSrc or the first cbMaxAppend bytes were appended + to the destination string and it was null terminated, otherwise it will + return a failure code. In failure cases as much of pszSrc will be appended + to pszDest as possible, and pszDest will be null terminated. + +Arguments: + + pszDest - destination string which must be null terminated + + cbDest - size of destination buffer in bytes. + length must be ((_tcslen(pszDest) + min(cbMaxAppend / sizeof(TCHAR), _tcslen(pszSrc)) + 1) * sizeof(TCHAR) + to hold all of the combine string plus the null + terminator. + + pszSrc - source string + + cbMaxAppend - maximum number of bytes to append + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL. See StringCbCatNEx if you require + the handling of NULL values. + +Return Value: + + S_OK - if all of pszSrc or the first cbMaxAppend bytes were + concatenated to pszDest and the resultant dest string + was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the operation + failed due to insufficient space. When this error + occurs, the destination buffer is modified to contain + a truncated version of the ideal result and is null + terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbCatNA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbMaxAppend); +STRSAFEAPI StringCbCatNW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, size_t cbMaxAppend); +#ifdef UNICODE +#define StringCbCatN StringCbCatNW +#else +#define StringCbCatN StringCbCatNA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbCatNA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbMaxAppend) +{ + HRESULT hr; + size_t cchDest; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cchMaxAppend; + + cchMaxAppend = cbMaxAppend / sizeof(char); + + hr = StringCatNWorkerA(pszDest, cchDest, pszSrc, cchMaxAppend); + } + + return hr; +} + +STRSAFEAPI StringCbCatNW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, size_t cbMaxAppend) +{ + HRESULT hr; + size_t cchDest; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cchMaxAppend; + + cchMaxAppend = cbMaxAppend / sizeof(wchar_t); + + hr = StringCatNWorkerW(pszDest, cchDest, pszSrc, cchMaxAppend); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchCatNEx( + IN OUT LPTSTR pszDest OPTIONAL, + IN size_t cchDest, + IN LPCTSTR pszSrc OPTIONAL, + IN size_t cchMaxAppend, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcchRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strncat', with + some additional parameters. In addition to functionality provided by + StringCchCatN, this routine also returns a pointer to the end of the + destination string and the number of characters left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string which must be null terminated + + cchDest - size of destination buffer in characters. + length must be (_tcslen(pszDest) + min(cchMaxAppend, _tcslen(pszSrc)) + 1) + to hold all of the combine string plus the null + terminator. + + pszSrc - source string + + cchMaxAppend - maximum number of characters to append + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function appended any data, the result will point to the + null termination character + + pcchRemaining - if pcchRemaining is non-null, the function will return the + number of characters left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")) + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any pre-existing + or truncated string + + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any pre-existing or + truncated string + + STRSAFE_NO_TRUNCATION + if the function returns STRSAFE_E_INSUFFICIENT_BUFFER, pszDest + will not contain a truncated string, it will remain unchanged. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag + is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc + may be NULL. An error may still be returned even though NULLS are ignored + due to insufficient space. + +Return Value: + + S_OK - if all of pszSrc or the first cchMaxAppend characters + were concatenated to pszDest and the resultant dest + string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the operation + failed due to insufficient space. When this error + occurs, the destination buffer is modified to contain + a truncated version of the ideal result and is null + terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchCatNExA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFEAPI StringCchCatNExW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchMaxAppend, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCchCatNEx StringCchCatNExW +#else +#define StringCchCatNEx StringCchCatNExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchCatNExA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 + cbDest = cchDest * sizeof(char); + + hr = StringCatNExWorkerA(pszDest, cchDest, cbDest, pszSrc, cchMaxAppend, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} + +STRSAFEAPI StringCchCatNExW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchMaxAppend, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(wchar_t) since cchDest < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + cbDest = cchDest * sizeof(wchar_t); + + hr = StringCatNExWorkerW(pszDest, cchDest, cbDest, pszSrc, cchMaxAppend, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbCatNEx( + IN OUT LPTSTR pszDest OPTIONAL, + IN size_t cbDest, + IN LPCTSTR pszSrc OPTIONAL, + IN size_t cbMaxAppend, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcchRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strncat', with + some additional parameters. In addition to functionality provided by + StringCbCatN, this routine also returns a pointer to the end of the + destination string and the number of bytes left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string which must be null terminated + + cbDest - size of destination buffer in bytes. + length must be ((_tcslen(pszDest) + min(cbMaxAppend / sizeof(TCHAR), _tcslen(pszSrc)) + 1) * sizeof(TCHAR) + to hold all of the combine string plus the null + terminator. + + pszSrc - source string + + cbMaxAppend - maximum number of bytes to append + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function appended any data, the result will point to the + null termination character + + pcbRemaining - if pcbRemaining is non-null, the function will return the + number of bytes left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")) + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any pre-existing + or truncated string + + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any pre-existing or + truncated string + + STRSAFE_NO_TRUNCATION + if the function returns STRSAFE_E_INSUFFICIENT_BUFFER, pszDest + will not contain a truncated string, it will remain unchanged. + +Notes: + Behavior is undefined if source and destination strings overlap. + + pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag + is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc + may be NULL. An error may still be returned even though NULLS are ignored + due to insufficient space. + +Return Value: + + S_OK - if all of pszSrc or the first cbMaxAppend bytes were + concatenated to pszDest and the resultant dest string + was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the operation + failed due to insufficient space. When this error + occurs, the destination buffer is modified to contain + a truncated version of the ideal result and is null + terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbCatNExA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbMaxAppend, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); +STRSAFEAPI StringCbCatNExW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, size_t cbMaxAppend, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCbCatNEx StringCbCatNExW +#else +#define StringCbCatNEx StringCbCatNExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbCatNExA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbMaxAppend, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cchMaxAppend; + + cchMaxAppend = cbMaxAppend / sizeof(char); + + hr = StringCatNExWorkerA(pszDest, cchDest, cbDest, pszSrc, cchMaxAppend, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(char) since cchRemaining < STRSAFE_MAX_CCH and sizeof(char) is 1 + *pcbRemaining = (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)); + } + } + + return hr; +} + +STRSAFEAPI StringCbCatNExW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszSrc, size_t cbMaxAppend, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cchMaxAppend; + + cchMaxAppend = cbMaxAppend / sizeof(wchar_t); + + hr = StringCatNExWorkerW(pszDest, cchDest, cbDest, pszSrc, cchMaxAppend, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(wchar_t) since cchRemaining < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + *pcbRemaining = (cchRemaining * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t)); + } + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchVPrintf( + OUT LPTSTR pszDest, + IN size_t cchDest, + IN LPCTSTR pszFormat, + IN va_list argList + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'vsprintf'. + The size of the destination buffer (in characters) is a parameter and + this function will not write past the end of this buffer and it will + ALWAYS null terminate the destination buffer (unless it is zero length). + + This function returns a hresult, and not a pointer. It returns + S_OK if the string was printed without truncation and null terminated, + otherwise it will return a failure code. In failure cases it will return + a truncated version of the ideal result. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters + length must be sufficient to hold the resulting formatted + string, including the null terminator. + + pszFormat - format string which must be null terminated + + argList - va_list from the variable arguments according to the + stdarg.h convention + +Notes: + Behavior is undefined if destination, format strings or any arguments + strings overlap. + + pszDest and pszFormat should not be NULL. See StringCchVPrintfEx if you + require the handling of NULL values. + +Return Value: + + S_OK - if there was sufficient space in the dest buffer for + the resultant string and it was null terminated. + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the print + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchVPrintfA(char* pszDest, size_t cchDest, const char* pszFormat, va_list argList); +STRSAFEAPI StringCchVPrintfW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszFormat, va_list argList); +#ifdef UNICODE +#define StringCchVPrintf StringCchVPrintfW +#else +#define StringCchVPrintf StringCchVPrintfA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchVPrintfA(char* pszDest, size_t cchDest, const char* pszFormat, va_list argList) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringVPrintfWorkerA(pszDest, cchDest, pszFormat, argList); + } + + return hr; +} + +STRSAFEAPI StringCchVPrintfW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszFormat, va_list argList) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringVPrintfWorkerW(pszDest, cchDest, pszFormat, argList); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbVPrintf( + OUT LPTSTR pszDest, + IN size_t cbDest, + IN LPCTSTR pszFormat, + IN va_list argList + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'vsprintf'. + The size of the destination buffer (in bytes) is a parameter and + this function will not write past the end of this buffer and it will + ALWAYS null terminate the destination buffer (unless it is zero length). + + This function returns a hresult, and not a pointer. It returns + S_OK if the string was printed without truncation and null terminated, + otherwise it will return a failure code. In failure cases it will return + a truncated version of the ideal result. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes + length must be sufficient to hold the resulting formatted + string, including the null terminator. + + pszFormat - format string which must be null terminated + + argList - va_list from the variable arguments according to the + stdarg.h convention + +Notes: + Behavior is undefined if destination, format strings or any arguments + strings overlap. + + pszDest and pszFormat should not be NULL. See StringCbVPrintfEx if you + require the handling of NULL values. + + +Return Value: + + S_OK - if there was sufficient space in the dest buffer for + the resultant string and it was null terminated. + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the print + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbVPrintfA(char* pszDest, size_t cbDest, const char* pszFormat, va_list argList); +STRSAFEAPI StringCbVPrintfW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszFormat, va_list argList); +#ifdef UNICODE +#define StringCbVPrintf StringCbVPrintfW +#else +#define StringCbVPrintf StringCbVPrintfA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbVPrintfA(char* pszDest, size_t cbDest, const char* pszFormat, va_list argList) +{ + HRESULT hr; + size_t cchDest; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringVPrintfWorkerA(pszDest, cchDest, pszFormat, argList); + } + + return hr; +} + +STRSAFEAPI StringCbVPrintfW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszFormat, va_list argList) +{ + HRESULT hr; + size_t cchDest; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringVPrintfWorkerW(pszDest, cchDest, pszFormat, argList); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchPrintf( + OUT LPTSTR pszDest, + IN size_t cchDest, + IN LPCTSTR pszFormat, + ... + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'sprintf'. + The size of the destination buffer (in characters) is a parameter and + this function will not write past the end of this buffer and it will + ALWAYS null terminate the destination buffer (unless it is zero length). + + This function returns a hresult, and not a pointer. It returns + S_OK if the string was printed without truncation and null terminated, + otherwise it will return a failure code. In failure cases it will return + a truncated version of the ideal result. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters + length must be sufficient to hold the resulting formatted + string, including the null terminator. + + pszFormat - format string which must be null terminated + + ... - additional parameters to be formatted according to + the format string + +Notes: + Behavior is undefined if destination, format strings or any arguments + strings overlap. + + pszDest and pszFormat should not be NULL. See StringCchPrintfEx if you + require the handling of NULL values. + +Return Value: + + S_OK - if there was sufficient space in the dest buffer for + the resultant string and it was null terminated. + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the print + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchPrintfA(char* pszDest, size_t cchDest, const char* pszFormat, ...); +STRSAFEAPI StringCchPrintfW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszFormat, ...); +#ifdef UNICODE +#define StringCchPrintf StringCchPrintfW +#else +#define StringCchPrintf StringCchPrintfA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchPrintfA(char* pszDest, size_t cchDest, const char* pszFormat, ...) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + va_list argList; + + va_start(argList, pszFormat); + + hr = StringVPrintfWorkerA(pszDest, cchDest, pszFormat, argList); + + va_end(argList); + } + + return hr; +} + +STRSAFEAPI StringCchPrintfW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszFormat, ...) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + va_list argList; + + va_start(argList, pszFormat); + + hr = StringVPrintfWorkerW(pszDest, cchDest, pszFormat, argList); + + va_end(argList); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbPrintf( + OUT LPTSTR pszDest, + IN size_t cbDest, + IN LPCTSTR pszFormat, + ... + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'sprintf'. + The size of the destination buffer (in bytes) is a parameter and + this function will not write past the end of this buffer and it will + ALWAYS null terminate the destination buffer (unless it is zero length). + + This function returns a hresult, and not a pointer. It returns + S_OK if the string was printed without truncation and null terminated, + otherwise it will return a failure code. In failure cases it will return + a truncated version of the ideal result. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes + length must be sufficient to hold the resulting formatted + string, including the null terminator. + + pszFormat - format string which must be null terminated + + ... - additional parameters to be formatted according to + the format string + +Notes: + Behavior is undefined if destination, format strings or any arguments + strings overlap. + + pszDest and pszFormat should not be NULL. See StringCbPrintfEx if you + require the handling of NULL values. + + +Return Value: + + S_OK - if there was sufficient space in the dest buffer for + the resultant string and it was null terminated. + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the print + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbPrintfA(char* pszDest, size_t cbDest, const char* pszFormat, ...); +STRSAFEAPI StringCbPrintfW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszFormat, ...); +#ifdef UNICODE +#define StringCbPrintf StringCbPrintfW +#else +#define StringCbPrintf StringCbPrintfA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbPrintfA(char* pszDest, size_t cbDest, const char* pszFormat, ...) +{ + HRESULT hr; + size_t cchDest; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + va_list argList; + + va_start(argList, pszFormat); + + hr = StringVPrintfWorkerA(pszDest, cchDest, pszFormat, argList); + + va_end(argList); + } + + return hr; +} + +STRSAFEAPI StringCbPrintfW(wchar_t* pszDest, size_t cbDest, const wchar_t* pszFormat, ...) +{ + HRESULT hr; + size_t cchDest; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + va_list argList; + + va_start(argList, pszFormat); + + hr = StringVPrintfWorkerW(pszDest, cchDest, pszFormat, argList); + + va_end(argList); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchPrintfEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cchDest, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcchRemaining OPTIONAL, + IN DWORD dwFlags, + IN LPCTSTR pszFormat OPTIONAL, + ... + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'sprintf' with + some additional parameters. In addition to functionality provided by + StringCchPrintf, this routine also returns a pointer to the end of the + destination string and the number of characters left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters. + length must be sufficient to contain the resulting + formatted string plus the null terminator. + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function printed any data, the result will point to the + null termination character + + pcchRemaining - if pcchRemaining is non-null, the function will return + the number of characters left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")) + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any truncated + string returned when the failure is + STRSAFE_E_INSUFFICIENT_BUFFER + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any truncated string + returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. + + pszFormat - format string which must be null terminated + + ... - additional parameters to be formatted according to + the format string + +Notes: + Behavior is undefined if destination, format strings or any arguments + strings overlap. + + pszDest and pszFormat should not be NULL unless the STRSAFE_IGNORE_NULLS + flag is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and + pszFormat may be NULL. An error may still be returned even though NULLS + are ignored due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all concatenated and + the resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the print + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchPrintfExA(char* pszDest, size_t cchDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const char* pszFormat, ...); +STRSAFEAPI StringCchPrintfExW(wchar_t* pszDest, size_t cchDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const wchar_t* pszFormat, ...); +#ifdef UNICODE +#define StringCchPrintfEx StringCchPrintfExW +#else +#define StringCchPrintfEx StringCchPrintfExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchPrintfExA(char* pszDest, size_t cchDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const char* pszFormat, ...) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + va_list argList; + + // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 + cbDest = cchDest * sizeof(char); + va_start(argList, pszFormat); + + hr = StringVPrintfExWorkerA(pszDest, cchDest, cbDest, ppszDestEnd, pcchRemaining, dwFlags, pszFormat, argList); + + va_end(argList); + } + + return hr; +} + +STRSAFEAPI StringCchPrintfExW(wchar_t* pszDest, size_t cchDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const wchar_t* pszFormat, ...) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + va_list argList; + + // safe to multiply cchDest * sizeof(wchar_t) since cchDest < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + cbDest = cchDest * sizeof(wchar_t); + va_start(argList, pszFormat); + + hr = StringVPrintfExWorkerW(pszDest, cchDest, cbDest, ppszDestEnd, pcchRemaining, dwFlags, pszFormat, argList); + + va_end(argList); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbPrintfEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cbDest, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcbRemaining OPTIONAL, + IN DWORD dwFlags, + IN LPCTSTR pszFormat OPTIONAL, + ... + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'sprintf' with + some additional parameters. In addition to functionality provided by + StringCbPrintf, this routine also returns a pointer to the end of the + destination string and the number of bytes left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes. + length must be sufficient to contain the resulting + formatted string plus the null terminator. + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function printed any data, the result will point to the + null termination character + + pcbRemaining - if pcbRemaining is non-null, the function will return + the number of bytes left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")) + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any truncated + string returned when the failure is + STRSAFE_E_INSUFFICIENT_BUFFER + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any truncated string + returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. + + pszFormat - format string which must be null terminated + + ... - additional parameters to be formatted according to + the format string + +Notes: + Behavior is undefined if destination, format strings or any arguments + strings overlap. + + pszDest and pszFormat should not be NULL unless the STRSAFE_IGNORE_NULLS + flag is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and + pszFormat may be NULL. An error may still be returned even though NULLS + are ignored due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all concatenated and + the resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the print + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbPrintfExA(char* pszDest, size_t cbDest, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags, const char* pszFormat, ...); +STRSAFEAPI StringCbPrintfExW(wchar_t* pszDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags, const wchar_t* pszFormat, ...); +#ifdef UNICODE +#define StringCbPrintfEx StringCbPrintfExW +#else +#define StringCbPrintfEx StringCbPrintfExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbPrintfExA(char* pszDest, size_t cbDest, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags, const char* pszFormat, ...) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + va_list argList; + + va_start(argList, pszFormat); + + hr = StringVPrintfExWorkerA(pszDest, cchDest, cbDest, ppszDestEnd, &cchRemaining, dwFlags, pszFormat, argList); + + va_end(argList); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(char) since cchRemaining < STRSAFE_MAX_CCH and sizeof(char) is 1 + *pcbRemaining = (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)); + } + } + + return hr; +} + +STRSAFEAPI StringCbPrintfExW(wchar_t* pszDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags, const wchar_t* pszFormat, ...) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + va_list argList; + + va_start(argList, pszFormat); + + hr = StringVPrintfExWorkerW(pszDest, cchDest, cbDest, ppszDestEnd, &cchRemaining, dwFlags, pszFormat, argList); + + va_end(argList); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(wchar_t) since cchRemaining < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + *pcbRemaining = (cchRemaining * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t)); + } + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchVPrintfEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cchDest, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcchRemaining OPTIONAL, + IN DWORD dwFlags, + IN LPCTSTR pszFormat OPTIONAL, + IN va_list argList + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'vsprintf' with + some additional parameters. In addition to functionality provided by + StringCchVPrintf, this routine also returns a pointer to the end of the + destination string and the number of characters left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters. + length must be sufficient to contain the resulting + formatted string plus the null terminator. + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function printed any data, the result will point to the + null termination character + + pcchRemaining - if pcchRemaining is non-null, the function will return + the number of characters left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")) + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any truncated + string returned when the failure is + STRSAFE_E_INSUFFICIENT_BUFFER + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any truncated string + returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. + + pszFormat - format string which must be null terminated + + argList - va_list from the variable arguments according to the + stdarg.h convention + +Notes: + Behavior is undefined if destination, format strings or any arguments + strings overlap. + + pszDest and pszFormat should not be NULL unless the STRSAFE_IGNORE_NULLS + flag is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and + pszFormat may be NULL. An error may still be returned even though NULLS + are ignored due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all concatenated and + the resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the print + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCchVPrintfExA(char* pszDest, size_t cchDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const char* pszFormat, va_list argList); +STRSAFEAPI StringCchVPrintfExW(wchar_t* pszDest, size_t cchDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const wchar_t* pszFormat, va_list argList); +#ifdef UNICODE +#define StringCchVPrintfEx StringCchVPrintfExW +#else +#define StringCchVPrintfEx StringCchVPrintfExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchVPrintfExA(char* pszDest, size_t cchDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const char* pszFormat, va_list argList) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 + cbDest = cchDest * sizeof(char); + + hr = StringVPrintfExWorkerA(pszDest, cchDest, cbDest, ppszDestEnd, pcchRemaining, dwFlags, pszFormat, argList); + } + + return hr; +} + +STRSAFEAPI StringCchVPrintfExW(wchar_t* pszDest, size_t cchDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const wchar_t* pszFormat, va_list argList) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(wchar_t) since cchDest < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + cbDest = cchDest * sizeof(wchar_t); + + hr = StringVPrintfExWorkerW(pszDest, cchDest, cbDest, ppszDestEnd, pcchRemaining, dwFlags, pszFormat, argList); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbVPrintfEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cbDest, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcbRemaining OPTIONAL, + IN DWORD dwFlags, + IN LPCTSTR pszFormat OPTIONAL, + IN va_list argList + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'vsprintf' with + some additional parameters. In addition to functionality provided by + StringCbVPrintf, this routine also returns a pointer to the end of the + destination string and the number of characters left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes. + length must be sufficient to contain the resulting + formatted string plus the null terminator. + + ppszDestEnd - if ppszDestEnd is non-null, the function will return + a pointer to the end of the destination string. If the + function printed any data, the result will point to the + null termination character + + pcbRemaining - if pcbRemaining is non-null, the function will return + the number of bytes left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")) + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. This will overwrite any truncated + string returned when the failure is + STRSAFE_E_INSUFFICIENT_BUFFER + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. This will overwrite any truncated string + returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. + + pszFormat - format string which must be null terminated + + argList - va_list from the variable arguments according to the + stdarg.h convention + +Notes: + Behavior is undefined if destination, format strings or any arguments + strings overlap. + + pszDest and pszFormat should not be NULL unless the STRSAFE_IGNORE_NULLS + flag is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and + pszFormat may be NULL. An error may still be returned even though NULLS + are ignored due to insufficient space. + +Return Value: + + S_OK - if there was source data and it was all concatenated and + the resultant dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that the print + operation failed due to insufficient space. When this + error occurs, the destination buffer is modified to + contain a truncated version of the ideal result and is + null terminated. This is useful for situations where + truncation is ok. + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function + +--*/ + +STRSAFEAPI StringCbVPrintfExA(char* pszDest, size_t cbDest, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags, const char* pszFormat, va_list argList); +STRSAFEAPI StringCbVPrintfExW(wchar_t* pszDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags, const wchar_t* pszFormat, va_list argList); +#ifdef UNICODE +#define StringCbVPrintfEx StringCbVPrintfExW +#else +#define StringCbVPrintfEx StringCbVPrintfExA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbVPrintfExA(char* pszDest, size_t cbDest, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags, const char* pszFormat, va_list argList) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringVPrintfExWorkerA(pszDest, cchDest, cbDest, ppszDestEnd, &cchRemaining, dwFlags, pszFormat, argList); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(char) since cchRemaining < STRSAFE_MAX_CCH and sizeof(char) is 1 + *pcbRemaining = (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)); + } + } + + return hr; +} + +STRSAFEAPI StringCbVPrintfExW(wchar_t* pszDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags, const wchar_t* pszFormat, va_list argList) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringVPrintfExWorkerW(pszDest, cchDest, cbDest, ppszDestEnd, &cchRemaining, dwFlags, pszFormat, argList); + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(wchar_t) since cchRemaining < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + *pcbRemaining = (cchRemaining * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t)); + } + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchGets( + OUT LPTSTR pszDest, + IN size_t cchDest + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'gets'. + The size of the destination buffer (in characters) is a parameter and + this function will not write past the end of this buffer and it will + ALWAYS null terminate the destination buffer (unless it is zero length). + + This routine is not a replacement for fgets. That function does not replace + newline characters with a null terminator. + + This function returns a hresult, and not a pointer. It returns + S_OK if any characters were read from stdin and copied to pszDest and + pszDest was null terminated, otherwise it will return a failure code. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters. + +Notes: + pszDest should not be NULL. See StringCchGetsEx if you require the handling + of NULL values. + + cchDest must be > 1 for this function to succeed. + +Return Value: + + S_OK - data was read from stdin and copied, and the resultant + dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_END_OF_FILE / + HRESULT_CODE(hr) == ERROR_HANDLE_EOF + - this return value indicates an error or end-of-file + condition, use feof or ferror to determine which one has + occured. + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that there was + insufficient space in the destination buffer to copy any + data + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +#ifndef STRSAFE_LIB_IMPL +STRSAFE_INLINE_API StringCchGetsA(char* pszDest, size_t cchDest); +STRSAFE_INLINE_API StringCchGetsW(wchar_t* pszDest, size_t cchDest); +#ifdef UNICODE +#define StringCchGets StringCchGetsW +#else +#define StringCchGets StringCchGetsA +#endif // !UNICODE + +STRSAFE_INLINE_API StringCchGetsA(char* pszDest, size_t cchDest) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 + cbDest = cchDest * sizeof(char); + + hr = StringGetsExWorkerA(pszDest, cchDest, cbDest, NULL, NULL, 0); + } + + return hr; +} + +STRSAFE_INLINE_API StringCchGetsW(wchar_t* pszDest, size_t cchDest) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(wchar_t) since cchDest < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + cbDest = cchDest * sizeof(wchar_t); + + hr = StringGetsExWorkerW(pszDest, cchDest, cbDest, NULL, NULL, 0); + } + + return hr; +} +#endif // !STRSAFE_NO_CCH_FUNCTIONS +#endif // !STRSAFE_LIB_IMPL + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbGets( + OUT LPTSTR pszDest, + IN size_t cbDest + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'gets'. + The size of the destination buffer (in bytes) is a parameter and + this function will not write past the end of this buffer and it will + ALWAYS null terminate the destination buffer (unless it is zero length). + + This routine is not a replacement for fgets. That function does not replace + newline characters with a null terminator. + + This function returns a hresult, and not a pointer. It returns + S_OK if any characters were read from stdin and copied to pszDest + and pszDest was null terminated, otherwise it will return a failure code. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes. + +Notes: + pszDest should not be NULL. See StringCbGetsEx if you require the handling + of NULL values. + + cbDest must be > sizeof(TCHAR) for this function to succeed. + +Return Value: + + S_OK - data was read from stdin and copied, and the resultant + dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_END_OF_FILE / + HRESULT_CODE(hr) == ERROR_HANDLE_EOF + - this return value indicates an error or end-of-file + condition, use feof or ferror to determine which one has + occured. + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that there was + insufficient space in the destination buffer to copy any + data + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +#ifndef STRSAFE_LIB_IMPL +STRSAFE_INLINE_API StringCbGetsA(char* pszDest, size_t cbDest); +STRSAFE_INLINE_API StringCbGetsW(wchar_t* pszDest, size_t cbDest); +#ifdef UNICODE +#define StringCbGets StringCbGetsW +#else +#define StringCbGets StringCbGetsA +#endif // !UNICODE + +STRSAFE_INLINE_API StringCbGetsA(char* pszDest, size_t cbDest) +{ + HRESULT hr; + size_t cchDest; + + // convert to count of characters + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringGetsExWorkerA(pszDest, cchDest, cbDest, NULL, NULL, 0); + } + + return hr; +} + +STRSAFE_INLINE_API StringCbGetsW(wchar_t* pszDest, size_t cbDest) +{ + HRESULT hr; + size_t cchDest; + + // convert to count of characters + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringGetsExWorkerW(pszDest, cchDest, cbDest, NULL, NULL, 0); + } + + return hr; +} +#endif // !STRSAFE_NO_CB_FUNCTIONS +#endif // !STRSAFE_LIB_IMPL + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchGetsEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cchDest, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcchRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'gets' with + some additional parameters. In addition to functionality provided by + StringCchGets, this routine also returns a pointer to the end of the + destination string and the number of characters left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string + + cchDest - size of destination buffer in characters. + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function copied any data, the result will point to the + null termination character + + pcchRemaining - if pcchRemaining is non-null, the function will return the + number of characters left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")). + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. + +Notes: + pszDest should not be NULL unless the STRSAFE_IGNORE_NULLS flag is specified. + If STRSAFE_IGNORE_NULLS is passed and pszDest is NULL, an error may still be + returned even though NULLS are ignored + + cchDest must be > 1 for this function to succeed. + +Return Value: + + S_OK - data was read from stdin and copied, and the resultant + dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_END_OF_FILE / + HRESULT_CODE(hr) == ERROR_HANDLE_EOF + - this return value indicates an error or end-of-file + condition, use feof or ferror to determine which one has + occured. + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that there was + insufficient space in the destination buffer to copy any + data + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +#ifndef STRSAFE_LIB_IMPL +STRSAFE_INLINE_API StringCchGetsExA(char* pszDest, size_t cchDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +STRSAFE_INLINE_API StringCchGetsExW(wchar_t* pszDest, size_t cchDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCchGetsEx StringCchGetsExW +#else +#define StringCchGetsEx StringCchGetsExA +#endif // !UNICODE + +STRSAFE_INLINE_API StringCchGetsExA(char* pszDest, size_t cchDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 + cbDest = cchDest * sizeof(char); + + hr = StringGetsExWorkerA(pszDest, cchDest, cbDest, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} + +STRSAFE_INLINE_API StringCchGetsExW(wchar_t* pszDest, size_t cchDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr; + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cbDest; + + // safe to multiply cchDest * sizeof(wchar_t) since cchDest < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + cbDest = cchDest * sizeof(wchar_t); + + hr = StringGetsExWorkerW(pszDest, cchDest, cbDest, ppszDestEnd, pcchRemaining, dwFlags); + } + + return hr; +} +#endif // !STRSAFE_NO_CCH_FUNCTIONS +#endif // !STRSAFE_LIB_IMPL + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbGetsEx( + OUT LPTSTR pszDest OPTIONAL, + IN size_t cbDest, + OUT LPTSTR* ppszDestEnd OPTIONAL, + OUT size_t* pcbRemaining OPTIONAL, + IN DWORD dwFlags + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'gets' with + some additional parameters. In addition to functionality provided by + StringCbGets, this routine also returns a pointer to the end of the + destination string and the number of characters left in the destination string + including the null terminator. The flags parameter allows additional controls. + +Arguments: + + pszDest - destination string + + cbDest - size of destination buffer in bytes. + + ppszDestEnd - if ppszDestEnd is non-null, the function will return a + pointer to the end of the destination string. If the + function copied any data, the result will point to the + null termination character + + pcbRemaining - if pbRemaining is non-null, the function will return the + number of bytes left in the destination string, + including the null terminator + + dwFlags - controls some details of the string copy: + + STRSAFE_FILL_BEHIND_NULL + if the function succeeds, the low byte of dwFlags will be + used to fill the uninitialize part of destination buffer + behind the null terminator + + STRSAFE_IGNORE_NULLS + treat NULL string pointers like empty strings (TEXT("")). + + STRSAFE_FILL_ON_FAILURE + if the function fails, the low byte of dwFlags will be + used to fill all of the destination buffer, and it will + be null terminated. + + STRSAFE_NO_TRUNCATION / + STRSAFE_NULL_ON_FAILURE + if the function fails, the destination buffer will be set + to the empty string. + +Notes: + pszDest should not be NULL unless the STRSAFE_IGNORE_NULLS flag is specified. + If STRSAFE_IGNORE_NULLS is passed and pszDest is NULL, an error may still be + returned even though NULLS are ignored + + cbDest must be > sizeof(TCHAR) for this function to succeed + +Return Value: + + S_OK - data was read from stdin and copied, and the resultant + dest string was null terminated + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + STRSAFE_E_END_OF_FILE / + HRESULT_CODE(hr) == ERROR_HANDLE_EOF + - this return value indicates an error or end-of-file + condition, use feof or ferror to determine which one has + occured. + + STRSAFE_E_INSUFFICIENT_BUFFER / + HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER + - this return value is an indication that there was + insufficient space in the destination buffer to copy any + data + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +#ifndef STRSAFE_LIB_IMPL +STRSAFE_INLINE_API StringCbGetsExA(char* pszDest, size_t cbDest, char** ppszDestEnd, size_t* pbRemaining, unsigned long dwFlags); +STRSAFE_INLINE_API StringCbGetsExW(wchar_t* pszDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); +#ifdef UNICODE +#define StringCbGetsEx StringCbGetsExW +#else +#define StringCbGetsEx StringCbGetsExA +#endif // !UNICODE + +STRSAFE_INLINE_API StringCbGetsExA(char* pszDest, size_t cbDest, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(char); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringGetsExWorkerA(pszDest, cchDest, cbDest, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || + (hr == STRSAFE_E_INSUFFICIENT_BUFFER) || + (hr == STRSAFE_E_END_OF_FILE)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(char) since cchRemaining < STRSAFE_MAX_CCH and sizeof(char) is 1 + *pcbRemaining = (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)); + } + } + + return hr; +} + +STRSAFE_INLINE_API StringCbGetsExW(wchar_t* pszDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) +{ + HRESULT hr; + size_t cchDest; + size_t cchRemaining = 0; + + cchDest = cbDest / sizeof(wchar_t); + + if (cchDest > STRSAFE_MAX_CCH) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringGetsExWorkerW(pszDest, cchDest, cbDest, ppszDestEnd, &cchRemaining, dwFlags); + } + + if (SUCCEEDED(hr) || + (hr == STRSAFE_E_INSUFFICIENT_BUFFER) || + (hr == STRSAFE_E_END_OF_FILE)) + { + if (pcbRemaining) + { + // safe to multiply cchRemaining * sizeof(wchar_t) since cchRemaining < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + *pcbRemaining = (cchRemaining * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t)); + } + } + + return hr; +} +#endif // !STRSAFE_NO_CB_FUNCTIONS +#endif // !STRSAFE_LIB_IMPL + +#ifndef STRSAFE_NO_CCH_FUNCTIONS +/*++ + +STDAPI +StringCchLength( + IN LPCTSTR psz, + IN size_t cchMax, + OUT size_t* pcch OPTIONAL + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strlen'. + It is used to make sure a string is not larger than a given length, and + it optionally returns the current length in characters not including + the null terminator. + + This function returns a hresult, and not a pointer. It returns + S_OK if the string is non-null and the length including the null + terminator is less than or equal to cchMax characters. + +Arguments: + + psz - string to check the length of + + cchMax - maximum number of characters including the null terminator + that psz is allowed to contain + + pcch - if the function succeeds and pcch is non-null, the current length + in characters of psz excluding the null terminator will be returned. + This out parameter is equivalent to the return value of strlen(psz) + +Notes: + psz can be null but the function will fail + + cchMax should be greater than zero or the function will fail + +Return Value: + + S_OK - psz is non-null and the length including the null + terminator is less than or equal to cchMax characters + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +STRSAFEAPI StringCchLengthA(const char* psz, size_t cchMax, size_t* pcch); +STRSAFEAPI StringCchLengthW(const wchar_t* psz, size_t cchMax, size_t* pcch); +#ifdef UNICODE +#define StringCchLength StringCchLengthW +#else +#define StringCchLength StringCchLengthA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCchLengthA(const char* psz, size_t cchMax, size_t* pcch) +{ + HRESULT hr; + + if ((psz == NULL) || (cchMax > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringLengthWorkerA(psz, cchMax, pcch); + } + + return hr; +} + +STRSAFEAPI StringCchLengthW(const wchar_t* psz, size_t cchMax, size_t* pcch) +{ + HRESULT hr; + + if ((psz == NULL) || (cchMax > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringLengthWorkerW(psz, cchMax, pcch); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CCH_FUNCTIONS + + +#ifndef STRSAFE_NO_CB_FUNCTIONS +/*++ + +STDAPI +StringCbLength( + IN LPCTSTR psz, + IN size_t cbMax, + OUT size_t* pcb OPTIONAL + ); + +Routine Description: + + This routine is a safer version of the C built-in function 'strlen'. + It is used to make sure a string is not larger than a given length, and + it optionally returns the current length in bytes not including + the null terminator. + + This function returns a hresult, and not a pointer. It returns + S_OK if the string is non-null and the length including the null + terminator is less than or equal to cbMax bytes. + +Arguments: + + psz - string to check the length of + + cbMax - maximum number of bytes including the null terminator + that psz is allowed to contain + + pcb - if the function succeeds and pcb is non-null, the current length + in bytes of psz excluding the null terminator will be returned. + This out parameter is equivalent to the return value of strlen(psz) * sizeof(TCHAR) + +Notes: + psz can be null but the function will fail + + cbMax should be greater than or equal to sizeof(TCHAR) or the function will fail + +Return Value: + + S_OK - psz is non-null and the length including the null + terminator is less than or equal to cbMax bytes + + failure - you can use the macro HRESULT_CODE() to get a win32 + error code for all hresult failure cases + + It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the + return value of this function. + +--*/ + +STRSAFEAPI StringCbLengthA(const char* psz, size_t cchMax, size_t* pcch); +STRSAFEAPI StringCbLengthW(const wchar_t* psz, size_t cchMax, size_t* pcch); +#ifdef UNICODE +#define StringCbLength StringCbLengthW +#else +#define StringCbLength StringCbLengthA +#endif // !UNICODE + +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCbLengthA(const char* psz, size_t cbMax, size_t* pcb) +{ + HRESULT hr; + size_t cchMax; + size_t cch = 0; + + cchMax = cbMax / sizeof(char); + + if ((psz == NULL) || (cchMax > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringLengthWorkerA(psz, cchMax, &cch); + } + + if (SUCCEEDED(hr) && pcb) + { + // safe to multiply cch * sizeof(char) since cch < STRSAFE_MAX_CCH and sizeof(char) is 1 + *pcb = cch * sizeof(char); + } + + return hr; +} + +STRSAFEAPI StringCbLengthW(const wchar_t* psz, size_t cbMax, size_t* pcb) +{ + HRESULT hr; + size_t cchMax; + size_t cch = 0; + + cchMax = cbMax / sizeof(wchar_t); + + if ((psz == NULL) || (cchMax > STRSAFE_MAX_CCH)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = StringLengthWorkerW(psz, cchMax, &cch); + } + + if (SUCCEEDED(hr) && pcb) + { + // safe to multiply cch * sizeof(wchar_t) since cch < STRSAFE_MAX_CCH and sizeof(wchar_t) is 2 + *pcb = cch * sizeof(wchar_t); + } + + return hr; +} +#endif // STRSAFE_INLINE +#endif // !STRSAFE_NO_CB_FUNCTIONS + + +// these are the worker functions that actually do the work +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCopyWorkerA(char* pszDest, size_t cchDest, const char* pszSrc) +{ + HRESULT hr = S_OK; + + if (cchDest == 0) + { + // can not null terminate a zero-byte dest buffer + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + while (cchDest && (*pszSrc != '\0')) + { + *pszDest++ = *pszSrc++; + cchDest--; + } + + if (cchDest == 0) + { + // we are going to truncate pszDest + pszDest--; + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + + *pszDest= '\0'; + } + + return hr; +} + +STRSAFEAPI StringCopyWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc) +{ + HRESULT hr = S_OK; + + if (cchDest == 0) + { + // can not null terminate a zero-byte dest buffer + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + while (cchDest && (*pszSrc != L'\0')) + { + *pszDest++ = *pszSrc++; + cchDest--; + } + + if (cchDest == 0) + { + // we are going to truncate pszDest + pszDest--; + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + + *pszDest= L'\0'; + } + + return hr; +} + +STRSAFEAPI StringCopyExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + char* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(char)) || + // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest != 0) || (cbDest != 0)) + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + + if (pszSrc == NULL) + { + pszSrc = ""; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + pszDestEnd = pszDest; + cchRemaining = 0; + + // only fail if there was actually src data to copy + if (*pszSrc != '\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + while (cchRemaining && (*pszSrc != '\0')) + { + *pszDestEnd++= *pszSrc++; + cchRemaining--; + } + + if (cchRemaining > 0) + { + if (dwFlags & STRSAFE_FILL_BEHIND_NULL) + { + memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(char)) + (cbDest % sizeof(char))); + } + } + else + { + // we are going to truncate pszDest + pszDestEnd--; + cchRemaining++; + + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + + *pszDestEnd = '\0'; + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = '\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = '\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringCopyExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + wchar_t* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(wchar_t)) || + // cbDest == (cchDest * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest != 0) || (cbDest != 0)) + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + + if (pszSrc == NULL) + { + pszSrc = L""; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + pszDestEnd = pszDest; + cchRemaining = 0; + + // only fail if there was actually src data to copy + if (*pszSrc != L'\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + while (cchRemaining && (*pszSrc != L'\0')) + { + *pszDestEnd++= *pszSrc++; + cchRemaining--; + } + + if (cchRemaining > 0) + { + if (dwFlags & STRSAFE_FILL_BEHIND_NULL) + { + memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t))); + } + } + else + { + // we are going to truncate pszDest + pszDestEnd--; + cchRemaining++; + + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + + *pszDestEnd = L'\0'; + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = L'\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = L'\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringCopyNWorkerA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc) +{ + HRESULT hr = S_OK; + + if (cchDest == 0) + { + // can not null terminate a zero-byte dest buffer + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + while (cchDest && cchSrc && (*pszSrc != '\0')) + { + *pszDest++= *pszSrc++; + cchDest--; + cchSrc--; + } + + if (cchDest == 0) + { + // we are going to truncate pszDest + pszDest--; + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + + *pszDest= '\0'; + } + + return hr; +} + +STRSAFEAPI StringCopyNWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchSrc) +{ + HRESULT hr = S_OK; + + if (cchDest == 0) + { + // can not null terminate a zero-byte dest buffer + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + while (cchDest && cchSrc && (*pszSrc != L'\0')) + { + *pszDest++= *pszSrc++; + cchDest--; + cchSrc--; + } + + if (cchDest == 0) + { + // we are going to truncate pszDest + pszDest--; + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + + *pszDest= L'\0'; + } + + return hr; +} + +STRSAFEAPI StringCopyNExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, size_t cchSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + char* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(char)) || + // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest != 0) || (cbDest != 0)) + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + + if (pszSrc == NULL) + { + pszSrc = ""; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + pszDestEnd = pszDest; + cchRemaining = 0; + + // only fail if there was actually src data to copy + if (*pszSrc != '\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + while (cchRemaining && cchSrc && (*pszSrc != '\0')) + { + *pszDestEnd++= *pszSrc++; + cchRemaining--; + cchSrc--; + } + + if (cchRemaining > 0) + { + if (dwFlags & STRSAFE_FILL_BEHIND_NULL) + { + memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(char)) + (cbDest % sizeof(char))); + } + } + else + { + // we are going to truncate pszDest + pszDestEnd--; + cchRemaining++; + + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + + *pszDestEnd = '\0'; + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = '\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = '\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringCopyNExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, const wchar_t* pszSrc, size_t cchSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + wchar_t* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(wchar_t)) || + // cbDest == (cchDest * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest != 0) || (cbDest != 0)) + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + + if (pszSrc == NULL) + { + pszSrc = L""; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + pszDestEnd = pszDest; + cchRemaining = 0; + + // only fail if there was actually src data to copy + if (*pszSrc != L'\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + while (cchRemaining && cchSrc && (*pszSrc != L'\0')) + { + *pszDestEnd++= *pszSrc++; + cchRemaining--; + cchSrc--; + } + + if (cchRemaining > 0) + { + if (dwFlags & STRSAFE_FILL_BEHIND_NULL) + { + memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t))); + } + } + else + { + // we are going to truncate pszDest + pszDestEnd--; + cchRemaining++; + + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + + *pszDestEnd = L'\0'; + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = L'\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = L'\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringCatWorkerA(char* pszDest, size_t cchDest, const char* pszSrc) +{ + HRESULT hr; + size_t cchDestCurrent; + + hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + hr = StringCopyWorkerA(pszDest + cchDestCurrent, + cchDest - cchDestCurrent, + pszSrc); + } + + return hr; +} + +STRSAFEAPI StringCatWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc) +{ + HRESULT hr; + size_t cchDestCurrent; + + hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + hr = StringCopyWorkerW(pszDest + cchDestCurrent, + cchDest - cchDestCurrent, + pszSrc); + } + + return hr; +} + +STRSAFEAPI StringCatExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + char* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(char)) || + // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cchDestCurrent; + + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest == 0) && (cbDest == 0)) + { + cchDestCurrent = 0; + } + else + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + else + { + hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + pszDestEnd = pszDest + cchDestCurrent; + cchRemaining = cchDest - cchDestCurrent; + } + } + + if (pszSrc == NULL) + { + pszSrc = ""; + } + } + else + { + hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + pszDestEnd = pszDest + cchDestCurrent; + cchRemaining = cchDest - cchDestCurrent; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + // only fail if there was actually src data to append + if (*pszSrc != '\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + // we handle the STRSAFE_FILL_ON_FAILURE and STRSAFE_NULL_ON_FAILURE cases below, so do not pass + // those flags through + hr = StringCopyExWorkerA(pszDestEnd, + cchRemaining, + (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)), + pszSrc, + &pszDestEnd, + &cchRemaining, + dwFlags & (~(STRSAFE_FILL_ON_FAILURE | STRSAFE_NULL_ON_FAILURE))); + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + // STRSAFE_NO_TRUNCATION is taken care of by StringCopyExWorkerA() + + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else + if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = '\0'; + } + } + + if (dwFlags & STRSAFE_NULL_ON_FAILURE) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = '\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringCatExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, const wchar_t* pszSrc, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + wchar_t* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(wchar_t)) || + // cbDest == (cchDest * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + size_t cchDestCurrent; + + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest == 0) && (cbDest == 0)) + { + cchDestCurrent = 0; + } + else + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + else + { + hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + pszDestEnd = pszDest + cchDestCurrent; + cchRemaining = cchDest - cchDestCurrent; + } + } + + if (pszSrc == NULL) + { + pszSrc = L""; + } + } + else + { + hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + pszDestEnd = pszDest + cchDestCurrent; + cchRemaining = cchDest - cchDestCurrent; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + // only fail if there was actually src data to append + if (*pszSrc != L'\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + // we handle the STRSAFE_FILL_ON_FAILURE and STRSAFE_NULL_ON_FAILURE cases below, so do not pass + // those flags through + hr = StringCopyExWorkerW(pszDestEnd, + cchRemaining, + (cchRemaining * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t)), + pszSrc, + &pszDestEnd, + &cchRemaining, + dwFlags & (~(STRSAFE_FILL_ON_FAILURE | STRSAFE_NULL_ON_FAILURE))); + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + // STRSAFE_NO_TRUNCATION is taken care of by StringCopyExWorkerW() + + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = L'\0'; + } + } + + if (dwFlags & STRSAFE_NULL_ON_FAILURE) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = L'\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringCatNWorkerA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend) +{ + HRESULT hr; + size_t cchDestCurrent; + + hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + hr = StringCopyNWorkerA(pszDest + cchDestCurrent, + cchDest - cchDestCurrent, + pszSrc, + cchMaxAppend); + } + + return hr; +} + +STRSAFEAPI StringCatNWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszSrc, size_t cchMaxAppend) +{ + HRESULT hr; + size_t cchDestCurrent; + + hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + hr = StringCopyNWorkerW(pszDest + cchDestCurrent, + cchDest - cchDestCurrent, + pszSrc, + cchMaxAppend); + } + + return hr; +} + +STRSAFEAPI StringCatNExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, size_t cchMaxAppend, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + char* pszDestEnd = pszDest; + size_t cchRemaining = 0; + size_t cchDestCurrent = 0; + + // ASSERT(cbDest == (cchDest * sizeof(char)) || + // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest == 0) && (cbDest == 0)) + { + cchDestCurrent = 0; + } + else + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + else + { + hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + pszDestEnd = pszDest + cchDestCurrent; + cchRemaining = cchDest - cchDestCurrent; + } + } + + if (pszSrc == NULL) + { + pszSrc = ""; + } + } + else + { + hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + pszDestEnd = pszDest + cchDestCurrent; + cchRemaining = cchDest - cchDestCurrent; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + // only fail if there was actually src data to append + if (*pszSrc != '\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + // we handle the STRSAFE_FILL_ON_FAILURE and STRSAFE_NULL_ON_FAILURE cases below, so do not pass + // those flags through + hr = StringCopyNExWorkerA(pszDestEnd, + cchRemaining, + (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)), + pszSrc, + cchMaxAppend, + &pszDestEnd, + &cchRemaining, + dwFlags & (~(STRSAFE_FILL_ON_FAILURE | STRSAFE_NULL_ON_FAILURE))); + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + // STRSAFE_NO_TRUNCATION is taken care of by StringCopyNExWorkerA() + + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = '\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = '\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringCatNExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, const wchar_t* pszSrc, size_t cchMaxAppend, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + wchar_t* pszDestEnd = pszDest; + size_t cchRemaining = 0; + size_t cchDestCurrent = 0; + + + // ASSERT(cbDest == (cchDest * sizeof(wchar_t)) || + // cbDest == (cchDest * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest == 0) && (cbDest == 0)) + { + cchDestCurrent = 0; + } + else + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + else + { + hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + pszDestEnd = pszDest + cchDestCurrent; + cchRemaining = cchDest - cchDestCurrent; + } + } + + if (pszSrc == NULL) + { + pszSrc = L""; + } + } + else + { + hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); + + if (SUCCEEDED(hr)) + { + pszDestEnd = pszDest + cchDestCurrent; + cchRemaining = cchDest - cchDestCurrent; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + // only fail if there was actually src data to append + if (*pszSrc != L'\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + // we handle the STRSAFE_FILL_ON_FAILURE and STRSAFE_NULL_ON_FAILURE cases below, so do not pass + // those flags through + hr = StringCopyNExWorkerW(pszDestEnd, + cchRemaining, + (cchRemaining * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t)), + pszSrc, + cchMaxAppend, + &pszDestEnd, + &cchRemaining, + dwFlags & (~(STRSAFE_FILL_ON_FAILURE | STRSAFE_NULL_ON_FAILURE))); + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + // STRSAFE_NO_TRUNCATION is taken care of by StringCopyNExWorkerW() + + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = L'\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = L'\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringVPrintfWorkerA(char* pszDest, size_t cchDest, const char* pszFormat, va_list argList) +{ + HRESULT hr = S_OK; + + if (cchDest == 0) + { + // can not null terminate a zero-byte dest buffer + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + int iRet; + size_t cchMax; + + // leave the last space for the null terminator + cchMax = cchDest - 1; + + iRet = _vsnprintf(pszDest, cchMax, pszFormat, argList); + // ASSERT((iRet < 0) || (((size_t)iRet) <= cchMax)); + + if ((iRet < 0) || (((size_t)iRet) > cchMax)) + { + // need to null terminate the string + pszDest += cchMax; + *pszDest = '\0'; + + // we have truncated pszDest + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + else if (((size_t)iRet) == cchMax) + { + // need to null terminate the string + pszDest += cchMax; + *pszDest = '\0'; + } + } + + return hr; +} + +STRSAFEAPI StringVPrintfWorkerW(wchar_t* pszDest, size_t cchDest, const wchar_t* pszFormat, va_list argList) +{ + HRESULT hr = S_OK; + + if (cchDest == 0) + { + // can not null terminate a zero-byte dest buffer + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + int iRet; + size_t cchMax; + + // leave the last space for the null terminator + cchMax = cchDest - 1; + + iRet = _vsnwprintf(pszDest, cchMax, pszFormat, argList); + // ASSERT((iRet < 0) || (((size_t)iRet) <= cchMax)); + + if ((iRet < 0) || (((size_t)iRet) > cchMax)) + { + // need to null terminate the string + pszDest += cchMax; + *pszDest = L'\0'; + + // we have truncated pszDest + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + else if (((size_t)iRet) == cchMax) + { + // need to null terminate the string + pszDest += cchMax; + *pszDest = L'\0'; + } + } + + return hr; +} + +STRSAFEAPI StringVPrintfExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const char* pszFormat, va_list argList) +{ + HRESULT hr = S_OK; + char* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(char)) || + // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest != 0) || (cbDest != 0)) + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + + if (pszFormat == NULL) + { + pszFormat = ""; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + pszDestEnd = pszDest; + cchRemaining = 0; + + // only fail if there was actually a non-empty format string + if (*pszFormat != '\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + int iRet; + size_t cchMax; + + // leave the last space for the null terminator + cchMax = cchDest - 1; + + iRet = _vsnprintf(pszDest, cchMax, pszFormat, argList); + // ASSERT((iRet < 0) || (((size_t)iRet) <= cchMax)); + + if ((iRet < 0) || (((size_t)iRet) > cchMax)) + { + // we have truncated pszDest + pszDestEnd = pszDest + cchMax; + cchRemaining = 1; + + // need to null terminate the string + *pszDestEnd = '\0'; + + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + else if (((size_t)iRet) == cchMax) + { + // string fit perfectly + pszDestEnd = pszDest + cchMax; + cchRemaining = 1; + + // need to null terminate the string + *pszDestEnd = '\0'; + } + else if (((size_t)iRet) < cchMax) + { + // there is extra room + pszDestEnd = pszDest + iRet; + cchRemaining = cchDest - iRet; + + if (dwFlags & STRSAFE_FILL_BEHIND_NULL) + { + memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(char)) + (cbDest % sizeof(char))); + } + } + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = '\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = '\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringVPrintfExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags, const wchar_t* pszFormat, va_list argList) +{ + HRESULT hr = S_OK; + wchar_t* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(wchar_t)) || + // cbDest == (cchDest * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest != 0) || (cbDest != 0)) + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + + if (pszFormat == NULL) + { + pszFormat = L""; + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest == 0) + { + pszDestEnd = pszDest; + cchRemaining = 0; + + // only fail if there was actually a non-empty format string + if (*pszFormat != L'\0') + { + if (pszDest == NULL) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + } + } + else + { + int iRet; + size_t cchMax; + + // leave the last space for the null terminator + cchMax = cchDest - 1; + + iRet = _vsnwprintf(pszDest, cchMax, pszFormat, argList); + // ASSERT((iRet < 0) || (((size_t)iRet) <= cchMax)); + + if ((iRet < 0) || (((size_t)iRet) > cchMax)) + { + // we have truncated pszDest + pszDestEnd = pszDest + cchMax; + cchRemaining = 1; + + // need to null terminate the string + *pszDestEnd = L'\0'; + + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + else if (((size_t)iRet) == cchMax) + { + // string fit perfectly + pszDestEnd = pszDest + cchMax; + cchRemaining = 1; + + // need to null terminate the string + *pszDestEnd = L'\0'; + } + else if (((size_t)iRet) < cchMax) + { + // there is extra room + pszDestEnd = pszDest + iRet; + cchRemaining = cchDest - iRet; + + if (dwFlags & STRSAFE_FILL_BEHIND_NULL) + { + memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t))); + } + } + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = L'\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = L'\0'; + } + } + } + } + + if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFEAPI StringLengthWorkerA(const char* psz, size_t cchMax, size_t* pcch) +{ + HRESULT hr = S_OK; + size_t cchMaxPrev = cchMax; + + while (cchMax && (*psz != '\0')) + { + psz++; + cchMax--; + } + + if (cchMax == 0) + { + // the string is longer than cchMax + hr = STRSAFE_E_INVALID_PARAMETER; + } + + if (SUCCEEDED(hr) && pcch) + { + *pcch = cchMaxPrev - cchMax; + } + + return hr; +} + +STRSAFEAPI StringLengthWorkerW(const wchar_t* psz, size_t cchMax, size_t* pcch) +{ + HRESULT hr = S_OK; + size_t cchMaxPrev = cchMax; + + while (cchMax && (*psz != L'\0')) + { + psz++; + cchMax--; + } + + if (cchMax == 0) + { + // the string is longer than cchMax + hr = STRSAFE_E_INVALID_PARAMETER; + } + + if (SUCCEEDED(hr) && pcch) + { + *pcch = cchMaxPrev - cchMax; + } + + return hr; +} +#endif // STRSAFE_INLINE + +#ifndef STRSAFE_LIB_IMPL +STRSAFE_INLINE_API StringGetsExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + char* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(char)) || + // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest != 0) || (cbDest != 0)) + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest <= 1) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + if (cchDest == 1) + { + *pszDestEnd = '\0'; + } + + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + else + { + char ch; + + pszDestEnd = pszDest; + cchRemaining = cchDest; + + while ((cchRemaining > 1) && (ch = (char)getc(stdin)) != '\n') + { + if (ch == EOF) + { + if (pszDestEnd == pszDest) + { + // we failed to read anything from stdin + hr = STRSAFE_E_END_OF_FILE; + } + break; + } + + *pszDestEnd = ch; + + pszDestEnd++; + cchRemaining--; + } + + if (cchRemaining > 0) + { + // there is extra room + if (dwFlags & STRSAFE_FILL_BEHIND_NULL) + { + memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(char)) + (cbDest % sizeof(char))); + } + } + + *pszDestEnd = '\0'; + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = '\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = '\0'; + } + } + } + } + + if (SUCCEEDED(hr) || + (hr == STRSAFE_E_INSUFFICIENT_BUFFER) || + (hr == STRSAFE_E_END_OF_FILE)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} + +STRSAFE_INLINE_API StringGetsExWorkerW(wchar_t* pszDest, size_t cchDest, size_t cbDest, wchar_t** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +{ + HRESULT hr = S_OK; + wchar_t* pszDestEnd = pszDest; + size_t cchRemaining = 0; + + // ASSERT(cbDest == (cchDest * sizeof(char)) || + // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); + + // only accept valid flags + if (dwFlags & (~STRSAFE_VALID_FLAGS)) + { + hr = STRSAFE_E_INVALID_PARAMETER; + } + else + { + if (dwFlags & STRSAFE_IGNORE_NULLS) + { + if (pszDest == NULL) + { + if ((cchDest != 0) || (cbDest != 0)) + { + // NULL pszDest and non-zero cchDest/cbDest is invalid + hr = STRSAFE_E_INVALID_PARAMETER; + } + } + } + + if (SUCCEEDED(hr)) + { + if (cchDest <= 1) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + if (cchDest == 1) + { + *pszDestEnd = L'\0'; + } + + hr = STRSAFE_E_INSUFFICIENT_BUFFER; + } + else + { + wchar_t ch; + + pszDestEnd = pszDest; + cchRemaining = cchDest; + + while ((cchRemaining > 1) && (ch = (wchar_t)getwc(stdin)) != L'\n') + { + if (ch == EOF) + { + if (pszDestEnd == pszDest) + { + // we failed to read anything from stdin + hr = STRSAFE_E_END_OF_FILE; + } + break; + } + + *pszDestEnd = ch; + + pszDestEnd++; + cchRemaining--; + } + + if (cchRemaining > 0) + { + // there is extra room + if (dwFlags & STRSAFE_FILL_BEHIND_NULL) + { + memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(wchar_t)) + (cbDest % sizeof(wchar_t))); + } + } + + *pszDestEnd = L'\0'; + } + } + } + + if (FAILED(hr)) + { + if (pszDest) + { + if (dwFlags & STRSAFE_FILL_ON_FAILURE) + { + memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); + + if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + } + else if (cchDest > 0) + { + pszDestEnd = pszDest + cchDest - 1; + cchRemaining = 1; + + // null terminate the end of the string + *pszDestEnd = L'\0'; + } + } + + if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) + { + if (cchDest > 0) + { + pszDestEnd = pszDest; + cchRemaining = cchDest; + + // null terminate the beginning of the string + *pszDestEnd = L'\0'; + } + } + } + } + + if (SUCCEEDED(hr) || + (hr == STRSAFE_E_INSUFFICIENT_BUFFER) || + (hr == STRSAFE_E_END_OF_FILE)) + { + if (ppszDestEnd) + { + *ppszDestEnd = pszDestEnd; + } + + if (pcchRemaining) + { + *pcchRemaining = cchRemaining; + } + } + + return hr; +} +#endif // !STRSAFE_LIB_IMPL + + +// Do not call these functions, they are worker functions for internal use within this file +#ifdef DEPRECATE_SUPPORTED +#pragma deprecated(StringCopyWorkerA) +#pragma deprecated(StringCopyWorkerW) +#pragma deprecated(StringCopyExWorkerA) +#pragma deprecated(StringCopyExWorkerW) +#pragma deprecated(StringCatWorkerA) +#pragma deprecated(StringCatWorkerW) +#pragma deprecated(StringCatExWorkerA) +#pragma deprecated(StringCatExWorkerW) +#pragma deprecated(StringCatNWorkerA) +#pragma deprecated(StringCatNWorkerW) +#pragma deprecated(StringCatNExWorkerA) +#pragma deprecated(StringCatNExWorkerW) +#pragma deprecated(StringVPrintfWorkerA) +#pragma deprecated(StringVPrintfWorkerW) +#pragma deprecated(StringVPrintfExWorkerA) +#pragma deprecated(StringVPrintfExWorkerW) +#pragma deprecated(StringLengthWorkerA) +#pragma deprecated(StringLengthWorkerW) +#else +#define StringCopyWorkerA StringCopyWorkerA_instead_use_StringCchCopyA_or_StringCchCopyExA; +#define StringCopyWorkerW StringCopyWorkerW_instead_use_StringCchCopyW_or_StringCchCopyExW; +#define StringCopyExWorkerA StringCopyExWorkerA_instead_use_StringCchCopyA_or_StringCchCopyExA; +#define StringCopyExWorkerW StringCopyExWorkerW_instead_use_StringCchCopyW_or_StringCchCopyExW; +#define StringCatWorkerA StringCatWorkerA_instead_use_StringCchCatA_or_StringCchCatExA; +#define StringCatWorkerW StringCatWorkerW_instead_use_StringCchCatW_or_StringCchCatExW; +#define StringCatExWorkerA StringCatExWorkerA_instead_use_StringCchCatA_or_StringCchCatExA; +#define StringCatExWorkerW StringCatExWorkerW_instead_use_StringCchCatW_or_StringCchCatExW; +#define StringCatNWorkerA StringCatNWorkerA_instead_use_StringCchCatNA_or_StrincCbCatNA; +#define StringCatNWorkerW StringCatNWorkerW_instead_use_StringCchCatNW_or_StringCbCatNW; +#define StringCatNExWorkerA StringCatNExWorkerA_instead_use_StringCchCatNExA_or_StringCbCatNExA; +#define StringCatNExWorkerW StringCatNExWorkerW_instead_use_StringCchCatNExW_or_StringCbCatNExW; +#define StringVPrintfWorkerA StringVPrintfWorkerA_instead_use_StringCchVPrintfA_or_StringCchVPrintfExA; +#define StringVPrintfWorkerW StringVPrintfWorkerW_instead_use_StringCchVPrintfW_or_StringCchVPrintfExW; +#define StringVPrintfExWorkerA StringVPrintfExWorkerA_instead_use_StringCchVPrintfA_or_StringCchVPrintfExA; +#define StringVPrintfExWorkerW StringVPrintfExWorkerW_instead_use_StringCchVPrintfW_or_StringCchVPrintfExW; +#define StringLengthWorkerA StringLengthWorkerA_instead_use_StringCchLengthA_or_StringCbLengthA; +#define StringLengthWorkerW StringLengthWorkerW_instead_use_StringCchLengthW_or_StringCbLengthW; +#endif // !DEPRECATE_SUPPORTED + + +#ifndef STRSAFE_NO_DEPRECATE +// Deprecate all of the unsafe functions to generate compiletime errors. If you do not want +// this then you can #define STRSAFE_NO_DEPRECATE before including this file. +#ifdef DEPRECATE_SUPPORTED + +// First all the names that are a/w variants (or shouldn't be #defined by now anyway). +#pragma deprecated(lstrcpyA) +#pragma deprecated(lstrcpyW) +#pragma deprecated(lstrcatA) +#pragma deprecated(lstrcatW) +#pragma deprecated(wsprintfA) +#pragma deprecated(wsprintfW) + +#pragma deprecated(StrCpyW) +#pragma deprecated(StrCatW) +#pragma deprecated(StrNCatA) +#pragma deprecated(StrNCatW) +#pragma deprecated(StrCatNA) +#pragma deprecated(StrCatNW) +#pragma deprecated(wvsprintfA) +#pragma deprecated(wvsprintfW) + +#pragma deprecated(strcpy) +#pragma deprecated(wcscpy) +#pragma deprecated(strcat) +#pragma deprecated(wcscat) +#pragma deprecated(sprintf) +#pragma deprecated(swprintf) +#pragma deprecated(vsprintf) +#pragma deprecated(vswprintf) +#pragma deprecated(_snprintf) +#pragma deprecated(_snwprintf) +#pragma deprecated(_vsnprintf) +#pragma deprecated(_vsnwprintf) +#pragma deprecated(gets) +#pragma deprecated(_getws) + +// Then all the windows.h names - we need to undef and redef based on UNICODE setting +#undef lstrcpy +#undef lstrcat +#undef wsprintf +#undef wvsprintf +#pragma deprecated(lstrcpy) +#pragma deprecated(lstrcat) +#pragma deprecated(wsprintf) +#pragma deprecated(wvsprintf) +#ifdef UNICODE +#define lstrcpy lstrcpyW +#define lstrcat lstrcatW +#define wsprintf wsprintfW +#define wvsprintf wvsprintfW +#else +#define lstrcpy lstrcpyA +#define lstrcat lstrcatA +#define wsprintf wsprintfA +#define wvsprintf wvsprintfA +#endif + +// Then the shlwapi names - they key off UNICODE also. +#undef StrCpyA +#undef StrCpy +#undef StrCatA +#undef StrCat +#undef StrNCat +#undef StrCatN +#pragma deprecated(StrCpyA) +#pragma deprecated(StrCatA) +#pragma deprecated(StrCatN) +#pragma deprecated(StrCpy) +#pragma deprecated(StrCat) +#pragma deprecated(StrNCat) +#define StrCpyA lstrcpyA +#define StrCatA lstrcatA +#define StrCatN StrNCat +#ifdef UNICODE +#define StrCpy StrCpyW +#define StrCat StrCatW +#define StrNCat StrNCatW +#else +#define StrCpy lstrcpyA +#define StrCat lstrcatA +#define StrNCat StrNCatA +#endif + +// Then all the CRT names - we need to undef/redef based on _UNICODE value. +#undef _tcscpy +#undef _ftcscpy +#undef _tcscat +#undef _ftcscat +#undef _stprintf +#undef _sntprintf +#undef _vstprintf +#undef _vsntprintf +#undef _getts +#pragma deprecated(_tcscpy) +#pragma deprecated(_ftcscpy) +#pragma deprecated(_tcscat) +#pragma deprecated(_ftcscat) +#pragma deprecated(_stprintf) +#pragma deprecated(_sntprintf) +#pragma deprecated(_vstprintf) +#pragma deprecated(_vsntprintf) +#pragma deprecated(_getts) +#ifdef _UNICODE +#define _tcscpy wcscpy +#define _ftcscpy wcscpy +#define _tcscat wcscat +#define _ftcscat wcscat +#define _stprintf swprintf +#define _sntprintf _snwprintf +#define _vstprintf vswprintf +#define _vsntprintf _vsnwprintf +#define _getts _getws +#else +#define _tcscpy strcpy +#define _ftcscpy strcpy +#define _tcscat strcat +#define _ftcscat strcat +#define _stprintf sprintf +#define _sntprintf _snprintf +#define _vstprintf vsprintf +#define _vsntprintf _vsnprintf +#define _getts gets +#endif + +#else // DEPRECATE_SUPPORTED + +#undef strcpy +#define strcpy strcpy_instead_use_StringCbCopyA_or_StringCchCopyA; + +#undef wcscpy +#define wcscpy wcscpy_instead_use_StringCbCopyW_or_StringCchCopyW; + +#undef strcat +#define strcat strcat_instead_use_StringCbCatA_or_StringCchCatA; + +#undef wcscat +#define wcscat wcscat_instead_use_StringCbCatW_or_StringCchCatW; + +#undef sprintf +#define sprintf sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA; + +#undef swprintf +#define swprintf swprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW; + +#undef vsprintf +#define vsprintf vsprintf_instead_use_StringCbVPrintfA_or_StringCchVPrintfA; + +#undef vswprintf +#define vswprintf vswprintf_instead_use_StringCbVPrintfW_or_StringCchVPrintfW; + +#undef _snprintf +#define _snprintf _snprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA; + +#undef _snwprintf +#define _snwprintf _snwprintf_instead_use_StringCbPrintfW_or_StringCchPrintfW; + +#undef _vsnprintf +#define _vsnprintf _vsnprintf_instead_use_StringCbVPrintfA_or_StringCchVPrintfA; + +#undef _vsnwprintf +#define _vsnwprintf _vsnwprintf_instead_use_StringCbVPrintfW_or_StringCchVPrintfW; + +#undef strcpyA +#define strcpyA strcpyA_instead_use_StringCbCopyA_or_StringCchCopyA; + +#undef strcpyW +#define strcpyW strcpyW_instead_use_StringCbCopyW_or_StringCchCopyW; + +#undef lstrcpy +#define lstrcpy lstrcpy_instead_use_StringCbCopy_or_StringCchCopy; + +#undef lstrcpyA +#define lstrcpyA lstrcpyA_instead_use_StringCbCopyA_or_StringCchCopyA; + +#undef lstrcpyW +#define lstrcpyW lstrcpyW_instead_use_StringCbCopyW_or_StringCchCopyW; + +#undef StrCpy +#define StrCpy StrCpy_instead_use_StringCbCopy_or_StringCchCopy; + +#undef StrCpyA +#define StrCpyA StrCpyA_instead_use_StringCbCopyA_or_StringCchCopyA; + +#undef StrCpyW +#define StrCpyW StrCpyW_instead_use_StringCbCopyW_or_StringCchCopyW; + +#undef _tcscpy +#define _tcscpy _tcscpy_instead_use_StringCbCopy_or_StringCchCopy; + +#undef _ftcscpy +#define _ftcscpy _ftcscpy_instead_use_StringCbCopy_or_StringCchCopy; + +#undef lstrcat +#define lstrcat lstrcat_instead_use_StringCbCat_or_StringCchCat; + +#undef lstrcatA +#define lstrcatA lstrcatA_instead_use_StringCbCatA_or_StringCchCatA; + +#undef lstrcatW +#define lstrcatW lstrcatW_instead_use_StringCbCatW_or_StringCchCatW; + +#undef StrCat +#define StrCat StrCat_instead_use_StringCbCat_or_StringCchCat; + +#undef StrCatA +#define StrCatA StrCatA_instead_use_StringCbCatA_or_StringCchCatA; + +#undef StrCatW +#define StrCatW StrCatW_instead_use_StringCbCatW_or_StringCchCatW; + +#undef StrNCat +#define StrNCat StrNCat_instead_use_StringCbCatN_or_StringCchCatN; + +#undef StrNCatA +#define StrNCatA StrNCatA_instead_use_StringCbCatNA_or_StringCchCatNA; + +#undef StrNCatW +#define StrNCatW StrNCatW_instead_use_StringCbCatNW_or_StringCchCatNW; + +#undef StrCatN +#define StrCatN StrCatN_instead_use_StringCbCatN_or_StringCchCatN; + +#undef StrCatNA +#define StrCatNA StrCatNA_instead_use_StringCbCatNA_or_StringCchCatNA; + +#undef StrCatNW +#define StrCatNW StrCatNW_instead_use_StringCbCatNW_or_StringCchCatNW; + +#undef _tcscat +#define _tcscat _tcscat_instead_use_StringCbCat_or_StringCchCat; + +#undef _ftcscat +#define _ftcscat _ftcscat_instead_use_StringCbCat_or_StringCchCat; + +#undef wsprintf +#define wsprintf wsprintf_instead_use_StringCbPrintf_or_StringCchPrintf; + +#undef wsprintfA +#define wsprintfA wsprintfA_instead_use_StringCbPrintfA_or_StringCchPrintfA; + +#undef wsprintfW +#define wsprintfW wsprintfW_instead_use_StringCbPrintfW_or_StringCchPrintfW; + +#undef wvsprintf +#define wvsprintf wvsprintf_instead_use_StringCbVPrintf_or_StringCchVPrintf; + +#undef wvsprintfA +#define wvsprintfA wvsprintfA_instead_use_StringCbVPrintfA_or_StringCchVPrintfA; + +#undef wvsprintfW +#define wvsprintfW wvsprintfW_instead_use_StringCbVPrintfW_or_StringCchVPrintfW; + +#undef _vstprintf +#define _vstprintf _vstprintf_instead_use_StringCbVPrintf_or_StringCchVPrintf; + +#undef _vsntprintf +#define _vsntprintf _vsntprintf_instead_use_StringCbVPrintf_or_StringCchVPrintf; + +#undef _stprintf +#define _stprintf _stprintf_instead_use_StringCbPrintf_or_StringCchPrintf; + +#undef _sntprintf +#define _sntprintf _sntprintf_instead_use_StringCbPrintf_or_StringCchPrintf; + +#undef _getts +#define _getts _getts_instead_use_StringCbGets_or_StringCchGets; + +#undef gets +#define gets _gets_instead_use_StringCbGetsA_or_StringCchGetsA; + +#undef _getws +#define _getws _getws_instead_use_StringCbGetsW_or_StringCchGetsW; + +#endif // !DEPRECATE_SUPPORTED +#endif // !STRSAFE_NO_DEPRECATE + +#ifdef _NTSTRSAFE_H_INCLUDED_ +#pragma warning(pop) +#endif // _NTSTRSAFE_H_INCLUDED_ + +#endif // _STRSAFE_H_INCLUDED_ diff --git a/java/pipe.dll b/java/pipe.dll new file mode 100644 index 0000000000000000000000000000000000000000..f0ee87e96230e0d99b488f4002d96bec77663f84 GIT binary patch literal 87941 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
  • 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 literal 0 HcmV?d00001 diff --git a/java/settings.gradle b/java/settings.gradle index 8e94dd2..aaa56c2 100644 --- a/java/settings.gradle +++ b/java/settings.gradle @@ -1 +1 @@ -include "mimis", "wiiusej", "wiigee", "itunescontroller" \ No newline at end of file +include "mimis", "wiiusej", "wiigee", "itunescontroller", "sound" \ No newline at end of file diff --git a/java/sound/.classpath b/java/sound/.classpath index 4bd9c90..124c087 100644 --- a/java/sound/.classpath +++ b/java/sound/.classpath @@ -1,11 +1,8 @@ - + - - - - - + + diff --git a/java/sound/.project b/java/sound/.project index 65916d7..3126bcb 100644 --- a/java/sound/.project +++ b/java/sound/.project @@ -1,6 +1,6 @@ - Sound + sound @@ -12,6 +12,10 @@ + org.springsource.ide.eclipse.gradle.core.nature org.eclipse.jdt.core.javanature + + + diff --git a/java/sound/build.gradle b/java/sound/build.gradle new file mode 100644 index 0000000..5ee69b3 --- /dev/null +++ b/java/sound/build.gradle @@ -0,0 +1,11 @@ +dependencies { + compile project(':mimis') + + compile 'commons-io:commons-io:2.+' + compile 'commons-cli:commons-cli:1.+' + compile 'org.slf4j:slf4j-api:1.+' + compile 'org.slf4j:slf4j-log4j12:1.7.5' + compile 'org.ostermiller:utils:1.+' + compile 'com.googlecode.soundlibs:jlayer:1.+' + compile 'net.sf.javamusictag:jid3lib:0.+' +} \ No newline at end of file diff --git a/java/sound/lib/commons-cli-1.2.jar b/java/sound/lib/commons-cli-1.2.jar deleted file mode 100644 index ce4b9fffe40c41669797cd806ac989471b2acd84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41123 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%0D2u^7bcx|ezvBT@`6 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 CNzF?D diff --git a/java/sound/lib/commons-io-2.4.jar b/java/sound/lib/commons-io-2.4.jar deleted file mode 100644 index 90035a4fe068e65d42edf621a0ffc78b4b020cdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185140 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�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

    ={!!P~zd?>j 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

    *W!7($pTaZ9 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�@ZH0k;SUA1$StIZbV2nX-04hAGY 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 ZvW7Ay80J7~Ir!(ZFbYa_Eg1Vz{ts;DW2*oF diff --git a/java/sound/lib/jl1.0.1.jar b/java/sound/lib/jl1.0.1.jar deleted file mode 100644 index bd5fb8b8eb28746e4a3d7cfee2b54c4fd54f5043..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105363 zcma&N1CXW7vM$`7=Cp0w=CqAz+qP}nwrzXbwr$(i-}~&n&pqE4ci;1`h+I(-D{Dno zR=&@Zm09m^31ARNfPZ}S5^UK2Yw)ix2mlZODIoUrIl6hq?E|}U0R&qr zQOQYBMSw6s;t9UlNuknE;!^T9=|sGTA~&#`prST0FcL_NoR0y)>fVcBWPi%66vT%lvI;ZER;~Z!c+T z?_g+UXh)-Op=)p7sHiEAsfgzFljz*2o)=oj*GEcynh0sutWsQ!Dqy-uj`t6rc{>pl z)rQ65228`VEbTks<|>qN$7!HeiGE*1=FN}ie5|ebjer9Iw;eXg&FZ_1C(lXttM>PY zCtPo!mN07&Nr)EgUhI8hrkyH~plBkEeut0>ca8DuWh(7V#OvAsx+0-*`_Arxybxme zF#@HQ=22U7gvDBlT}1fouol`~MtE33u6+QZey|~=7BahB@#X#`A4@2 zAYdn(&tqbKYVj2Xxh_6n4Ja5QC6c_(wHRb_~L0vqZ!VfDzt z_=mugst42(jTfd9P6`5zB@UZ-nG48kN|r(Dp&oTgx?LJHh0ga5xfbVTD3(&jXN%qF z5TRmt>NI80)T~Sb_Je3{2*q-fq{--l6Im5EMV1P#nYo>^HX~FNKV=ezkIc7gN>!TF zGU^f#0{24S;q!zVc^xb7u@&(XcQE-;R&X?&md-9G>YcOOSlVS**6-y+Fq!P5p~_B7 z4E=N0I7_S0)K3O1%R7oKj?G9~X|~}74u5G-3Jj4ulkq0Y`r+?+CbT~LK*UhU)2%7*}04fjS_{pVs&8H*jA<136x zM4Xl@*OEBskO8+{-(TFhih>v;db7{gCi=9p;;zX|+J-#EBUl=HAupxK3<*8xqw?U7 zHi;|2J~z4IN%_>x$ylDelK^yPXgn{!L#9$p%fsi}JeK~+pZ-)T|3?3~&3Vd4mM<^^ z*T^XOq7aTLhbvifF13aPKQ}h(p+8h3h8j6nS3<9vem*$RIx*+0FU=^{vDw!zVz=@< z-XZT}Jl-kq@Y&f#xRJ^eMG%D41Od)AnQ&LJs3K6Ryhjo>jmaizZ!i@;w zF15^5+cSzAA!92#ES^N}2vk={7jGNl4rb{tQ*yhshE<_^zb=vY*$|G|Ye)zcU^pCu z+++3Vb(lTHazBhVe|C*>8!O`s1t`C8mSGWnSaL6EW|=c>%PgMBEFzj1-0ACCW&Yu4 zKHDT0J{H8rLMtS7?ena>s|_)5+Zh%`wx!iDP97*2vg$TZvD&2jg~zc^KAkRwf`HK1ipSCeFMBp!6W;UM242hJCxfp{&W6}Vu{MWinP!yw0JYA&%1h9pEHEgTT(Gp9>NmMW0KMyq6)Ww{KVB4|~8S za)v=&_FuPVgpAau8x#Pb?3-$d|M#u=C#`fUpV=cSB7JQTrAsBHqo@H{)HZd*7vbZf zF&z*Giq{k-qRAQWIuAAw4UOAI*jh}enIYb@+imi^M`EOjq&@*MV|FD9KUKCJS%R7 zJYT{$A|I0LSg8hvn;}c7+g8%#J}g%T4GUF5u|Cu~5Eb`eQz|9u8=TjffhIBwIDfI!Kmq9brM6AU_o7 zkzsO^fszPD21#_+phj+^!5Zl_bO~1XagEjayO&AH%~_ZYgKb-X19zpdqlXUYaNU;= z@yiW#Lj4Ov8!$goG>wbagh@P7`@s~exRE5@qZ*bXp}Mr#sC%`5WUF>>p%jYXN#X}t z%6LYyx_;o)70M&~*4SYi7CGPf3DLLvxxtqkgqR2*p^g01Rq!2+=V+VDTG10Ry@3cU zsO%Z&=}?gV8}uAj#k-?8dP*YMHeWg z#(ftg*{Go!thAE(+nnL)N8S3&esW65^oQ6F9VMx>}|wPKd4bjC0&+8sk* zd*3}|je@qUN2eS*wvu!=GihG_D}(-9OcIJjZV!cn+SS zvl%P0h`Fp{d~*$9Q;nh?b@ZKk^4`bdAdM=WS$Bo~Su%NdjB>r(IB%EGT3nJTNGL9VvQp{c{4 zGXLN+IxArgpFaM4z<6EJqFkV6+5F_?dIsp!;rm=g+1w4-$DA3T>kOQk!Fmx}aeb1P zM=d7;Pjeu$E0!l}WE>t6kxvt9Z3Dh(sgyH)g`M^|jN_4pN64m(1C>Xz(l!#j8a1d- z?Z6&_-}T*O4I^h2%iUF757nTkhqw zfIxU4rE4PCZQ|M?Sv$q(j@hVWh6VCLU%@#^ zYked5k)vouIk7?jB}rq6oVki4GJdHX{3S$1gcz|4g5IHGp%|I7RU9d8T1{45D(?87 zI&Y`McUn?c3J+AABWfy6j8~X<4i^Y6__ToPIrv2I+Cz*}fhYnq(04m`Q=#R9Pnv=XTK#IQs%<3Oad|xS-ehX>{QA9DcS{Y@yE`fBiHgqfQbaA+i&%H1 zJPRMd9>f(A^Of2CL7YwM3!a#mns6NHByeFjH9o7mIsRjhR}ru8f6PnjM+kF#MnPSZ zJ1z9eWE{VuzV@0v# zL<#=Q&bi;h^dBie&eX_A*wn(1=pO?C6Gtm^QA6GD)6zc~A@H}9MBi_?49nGmNEysV zFB~ErSZ2SO`dwlIFc7{TcS-FFi8)kJJ=hOroUrX4-0f(Drw0lJ6eHtgUE}4e>?v9R zRJQY+z$z%rEZualCaim`bNI9qqCfb*C2QtJ;?pEZ9#j-R?ESp6iR%rtkml&d`WmJg zRTt}^aTiP+%I#c7Rw)Y=J*C)i-br~}joM4l!~s#wfq>qCey##xH(+DIO)6<0Vy_kJ74w=7HZ zt8_nbNbeCf`d>7x)CB;IZQZsfbP?nVQRa%at0p8it$L|q{x#0dXlyh&o^dta`gzgieM1RwWK)eUi^O%@3mu>5yJA$*^8IV59Ao4i zP8=1Ts=;HBZ(XQ3V~2{~Ejh3vjycIG7Y(KQzFH3oVjfldNIkV-xWV|QUfpa2s!h6a zw$W`~6R~&4h;d3q8k_lUN2nH}O!_gS?Tp}fzwyd#lPqT(ri`@7W zQaRA3L90f^AnIMCS}lo|)kPn`((X>i$~AO7DH;W`4fKC%CoLfgv4^&NWLK8ah@kF>Z2V zBw#9P^2qwoTA6~i?Fh9UD)DwguTiVQ$=)zXB7A_dO^HWfmU%;X_`>su*XAJmt32696|#;@?F~&Ef+pDHjNww)dW0} zZi)X#rnG^*6Fdk|uEEjf>hJEp!~-*~Nl5o(&Uh^iz*t?6<#3Qmhz!>Typ>NVt$zA` zV)37_?y*C6S{(uQS{|_@NW!2|AFO!bOp4aE@wBcth8}^ZCnhBFp^5yqp=T!p%6#Nd zs~3hI6XDf+m|7n3BhA;Az|}4{*y|6w?ax`LTSE<~ zh(IxQ%@+8xG;%nY)XP#^#TzGWY7(R*lBnYQ4L*8MPaikX*JC67Q99|8tAC2x0|l#@ z>x5@ucW5QJ&?KI%LrNmlh@85UZ2SP*C(6n(!YI6)^<&8>tfIXJywpF&|Lh3w;`OKw z|H8YGX@7==-#XfT3++1IrG>|}znOybc3tuUZhypFuhmA}i*F|pSjT|4Vrq)}*^_+? zZu>!m%H$NhUq4=ock8(th*T;eAKY{j&d&jMI~HF=rk6^ zBqzIgaEms0VR++gay|WQPCN+tq!Ywyi??_~SPSprzhA8`+h;dpG$n*6w38Y2tiIX9 z2RUxcL-#h%qPT;%88qa4KA>b#`6td&UQuMG6X-k4Oc(@nw=}c*)0m!InxYS z9=f4KEya@sAhm1ej8L!!QQl4+Tw3~5W<71Wfj}@YpfsmSW%ae!xyj#om%k%;EW1CHtd@5yM32hF(Pau^E;0LBEtzv- zH?Yr~+Ik_;(%C+*`{!DM{36Wr0GH^n$w|HDPZd}sVP#fE=-*FniY~9>o#Lf~^Q|gW zY9c7;fedZbGFu&@32JEM-7ETnc1irItv;l*lj-Vvr)?mM3){(yv%`kSpg$u%g6(1v z-Tg67wKb$}TQa(aI9*s~dcd*HR_CzVAMXdNxGQVTjg8N5*)y%y!mDRsFs;TlKj_yQ z^ZC>?Yb03s+6$+-ap!2Oc1naiISbaTW!^Z5aeA+=e^88yy~AJ4JR6IDR@aH*4m4D} z$SVL@QG2Z|>?JShMB(;?j*)IQgciZ?W01^C3H2dNJi#?LzQi zz;c_5VBqk4n&50U&-sVRY{$>`nYyM;bpqpU(zn&R18c34g!5^UxLJ<` zw|5bC)19H@L0UgYffyMoZNOB425*QM8*&FAgmEQPaPuy>e`Zg9>;dGUzA~+h(g+ZC z{p+uEfB7i?@cd2le&2}{VwjU%2UGSpn^gNrK2O&s4?u<< zr(bj;8lYR18q5rAE#Gy0XdTFvm*g=^dy@5sNhq_>aD?;oxQ}Mhe`~mo#=?kh-amFn)ifg` z%FHzp5u9Z(472wq1aj+xrqMZmw1)@QOld|~Q96;Fis~91zU(ogKt;<9o z=G-G|VRVStJ81df-g4-VuZZ|DPqY5jk?W5N(H7seqUP^fIP?EcM_Sui>N;ruS7Q3F zL`q@JYK|9fB*-MVT8nXcX`;BuucNh4XtiK{&+(*3p*3Rkhe0=3*yvqCi{S~{LpeYY+s1c2Xu6WxG8o>(u zu*gpVTDKrDK6G0NT5LUP_R$Z3Tijh0FdXO-Tm`{Kxu?z#Imjk69r=K z9ndB7)Xz0M9mbsGFMKpXsGj^;QRefdN+*V~7&boM{wlSogKGNmiEN~d)gnKb=3aE+ z=2l}x=Vqz3GL=snf2M4TvXmZTtIza~0(qm2R+G3TRzRNEd>2pj+ry@@W0(sGNWht8{58@6W29F|TRV)7A5v zO17exVEk5ngP-9Ax+v?|Q*>xWU~c|u;(v_U8#T&AHOX1S)1f2AZCX|99?8g0(H!Gx z>ZFuY5|6VuF*DV?mX0n^*C}rpq}Iq&E1w>(1UGMiX}8gLr8k|%CScae*hQx$(sNkJ zeM4>I2Kprdq!3vH-r@C36atio8SxN-D+(ArYwiJsXSeV=C$V@h2?d>0mc?;n9bj{B zj#2wxL!i{>UVr}r?tzEUz=rh7$q&q-)pHB^L9W?>&pO+O{z51mY*Z3n>FYWSomBg( zvv8``f2n7+o%um%)KWa0jVDpgXorgLs=bPOKA}K$F%swU??XN;QJaVM45;+*Un9})k(p1fK~T^mV$-?!*&bc8&v?HD$sPj zEN6b5kAFVDTyXmQXj$S##H8V}sB0c*891i1Vr)X^M7cicCayl)uJZrm^L9x$R$S*n zJ_JO7Vv<4@J4mJpPL--6J=H*=Rl=o2*hYt>!tz#sv+eo9y2b>Y87ckb$ibq)Bsz9l zQHETSD5mCc1?7+>wJ+&4TxZHQvqQ$nn3zlft38s+A=&6A>6~3aLY)nHe*fv*>P@60 zvO@11!eAda3(&Yp7xgBBQ?;8G%nX84r8CmU&^HtojG~{|$FfJVh(3q){ltEjHlX{HSEDXX|%Bj;#6> z0L0vo@%@gYw~X)Bo%HkGRkk;<4d9lGEf}raHBwQkMm*hKAmWm0O5$}KD#D?PXiMz< z>`Ptn_?;vQmqGi^0Dzo@OW=sqV&~|(ISxa|q()k+x+D_HmJUsyL2T$~8fRZ1+u3~RGP#S6ivm^glIYePinlk9Ht)_B#ZHF91DKQ|=m=zLK zSZWk?;sY{-5a7^RqkdQ^xJf5UYphntcyzITd~9m!%}D?NK1~j}(J`_7%!Dhkwh}f| zGZ1mLUmyht))Rdabg=nQHe~ahG=rd$uyS+VOmwHGANs$=N(W6 zy?$)4lc(ZBX?tLvQQR_mLs;-#SQZrNcwW&_&|at@Ze*{1tHRI$0k*N~(B27q!Nkt^%0l$SxC^eKF*?e!U>u^VFaWI7@|kAC+<75Txr7SXxGu~^x` zv&@~2@>!t|j>#7LO7Ro(tX!@r=5wO?z_P8U@DXlVWyFYmnZ_w?t>o1{5 zY$a=T6$Xr9OqfaF4#rD zg2CiR>=5U8{!&qWuC*2M2~&eyit7ZW!DjLCt^}mqY}dM=Ed7lM)FTD06ni@3%(qmr z7Nc)dhVB%mE=}!bK#kgId8vl+V6r(}A$Y4Mebmh%8ouJ!D9j~GTwhm~l1eOmGyi3R zO=>!loeN5t2XzDoM$NC)d@r!jjaKK>RT+;bRh;YraVRJvnpU($>N`0z%@Pn} z3-HuOnV_Qkpqd zIJg&zBcEZ-mTdLd8yTzmoh(t7(|G!5S(27Faa6Uv9Agqbk%3rs38+Ng7bIi_?d% zC5Rb(L-2XXokJ}Q)(IN^7vkib$sPerBY$+X!7q~(w#KClt!45hGtSWc{gTvbomrOboU7h1sD{AT9~5k2+4A@7ntaw1$xgS@ zWni2OELra}EWsgJd4OOi6Hl>JGb=J}fE-h^CqzWhKwp0=DbDcCp{jnf-w`kX0OkM6 zfHHcHMn?axBznqO%FO*n^158DIy-joL39YoAt($(wte>FClH_Q_Zf+!20^UY^CK?I z)C{K0{`m0@-1WTD&qpBqEA3fc@*V25b%R3+B>6nUebP0{KHJ`{>*M_yy&K8OICcmW zW{AFMR}XAYRg_MU3qOK<{5v12pI)sIvuz`YARbplmZzwqFUV$LWpNpfQKM!oxhR>8 zDdo2J$aaSTGm^(Q5mqz~W{lukw{yx^;;XT=bXB6hc6LF#nMPO;TH34c-|%v*o@4eL zde|_D((SIfNHKMd>M~8tpMGF9CZ&MB<*$+UoRjXH{BQ&ts2L-u?gHNksV06k=tEI0 zJOqXDlMs$5bzO&OPtoufF^?oGskU^PEQ*pxTc8i&3EKIkOv}uDCAdEmM$nMJ@?0rAYA+5(d zoSq#=VgGe)@r%9;BL6$so(Dz*ies8ZY~E47!mzzP?zjSvDRlu!7lAW?X`#$!@a@3) z0^aP2lOl6CwLt-TD<0}r-qt%nBk$41C}wKs+e06hPg7mA1r)c!X)4y}(TK6rQ_j@z zl|DMO0NY%v7ZwAzcaCUI!?7Y2jH2FG3z3VA6D5QxnlWdAD*?pB+^nXl^m<%O;Vh1w zeJu;$r}E}g!3sEa)kXzxR_u~sJ~vi5NsPUwC{5H!cETjCVz2dINm-B89jE-8l+nSz z+tU9rLd`7niN1x;&e;B+yzHp3_TBkJ`^q$$+b9a>#nU-(;_YTC46RhF;Vl#l>p>}7 zCcsO&IAmIBTY+g$FBoXw{dgS5x~F)98T7UZ{o#MF`2%|?PykdZtK z3KJjKMKW?0ry;owBUzeq*-P9}x?=~VY@!`4>Fbe-wGIb-@K?5DoAgg8+1@j)s0cyw~OJ?oy78v6}Rv7hh zbfayzfOh_tMpAv~biy(AF_b7-{ImV%4p~;arkw;kRNyH)@gekvME6db4%K9W20u%) z@}?4~^xV6E1C<_d0jdqoiJW}_1?L5Oshzictr6qp*gvl(F@T*!gHv~bB zSOQ8ST|`sgVT+eFXR9DC;NqJr($;#?mbl)LNeLP6=i1s~{1f_Q7=H`^drCq_#9MU$ z1{=o%o6to}#3zlb>Z~L`S06B(!)jL(`Rc?47nkl_UF^oAl7X^=eyJR-Clyp)0eH+& z!J}l4&|}=DWP2WFjpFv0+T|HVmFGZSw?hFf7^gLA>L!p#Tkgrt(Ic?h5QYg>AijxixW5{5E=_$us82of;9}BN zp9T&GcGT}lxfL_1Mtg|$Icb$qIOh(*A&#+NQr2j1kRbQ2N`P6cT{oyR<7ugyMq}?n zyIq4FLX}~CVCf@ocH|7NPnQNbxOAF!bn?2jhx87yLw8;%#T-1thP#K_c=DjCZ;bCZ z_T&LZq;S*5Wd$J+@)rHMHaCC~r@Gv@|Gjl&`fFDKDwc?g>)N#^-)T}JibhH%s!`2h z$pUhkiEX~oGKfs!&=O{V{F-SJjCDdpqC+n0RLnJSAJn^q(r+!}2D5q2Qc7Zo9Mxjl zma*!ISJ`f))|F$z^)@>t8z9-Z`aDILDbxZU5;ewkc?%DJ4ooStbW{fNK)K^8=bN%luK&cO`LVyojY%2 zdOcxnbe&er6{*lRYO5k9L*_bmjWPZEP2lX7sWEeT5bT!GF|b1KCJx?I{X?R8%tH5U zrk=-m5X;G}ut_Hx!XhM15h+CCBs~jGX7UN6w4ww-Jh9#!O5_Uly5@1WMNg-v^J5Ql zh=SRE+G8yYyGRZR-=CTE+nTcDkBEgz+ZGUSBMq5iUmS;SN9-FDvy+baMBSn7w{+Xa z`cAPg`utMYp$pPbe)f-2B?Cw3E4EnrIY}3=+v$v!z-O%nHSV~i_v&8U2Mp~ zI9}h^y1o8nlM~EImvx93IN3HZ*OWRSLzXQlbM|`t&TfRA)YSE|;~ID;UdK^+j-D<+ z7g#w~_qZY&N5hrT24)E+LMH+L1J>e+>;QiK!O{))p;J{G2@<^>4xA!W_pEJkQJlRg z`5oAB8_a67ZiuMWaGRwB%9*$|_zl|qYus2(WnSJ7*bsT?&lv_wW z0_7C~VV^BBnQOrxtAM6!ez=z((t-<+em)YiKocb;jCc{3c?grup_<7K@_(2q zNKtk2nQJR3k|4@HTrb-vQolbd1*K^UvK0=_|3P>*w>cmrFf=Jxkl#sp1%#=d#%rww zAfBHZGZ{~+rGLXoPY_}fdLc-Yk5vI(B@i>GlH*?k;*ei;x1h<-)UY%SO`L|G6JJ*A zZ9-@YCL84({h-&{CeBM>&lJqV2A@IS@}&_xt}$ohmr2UHsd+^F>$6vIkJI#zZ1~{& z`TKhT;NN$S`Ar?<4DAi=oc>h^_LLj5n)?mMz2tNr(_*Q&*(eW5ZAm9L7Y3SM;HRVz z1}A7HRM<-pJ!p!>@26J`LlsBWwg(jh$8S-m>n|7>0EgR6TeBkpZjU|W5=cEY-pXiy znJVV>`SJ+d4W^_Yq9+Ry#P$PpskOCd0)cf5(uzVw_jgm)`T0RMkB*LOQ0j%#nC%#~ zbJzO08gyAUHBVdDQ%nn(K3J<}IeU_X@0t@O3#eJ4I;E0UtI|x>BbuNebT8v>xI6k< zCeePyM%{)~ndsK4aZJ;iVw*rIXOuZ}`X>E@;F$=@kz)x#Cag3|M|r~QSk>9h9ad~V z=VIta8BZ2diM*g57BZ@htPnz4m})+g(=xiCJePmJQ~>4+<8z-4y7GG!k?STheHY&Ch>SL| zSo}SNpy+;f`j3Pq2|=R65`|646Jn|75abWuGNUd1p%^!Ie+Io%1p{;ITv0;NT{>2b zuSbcb&%}UR^3nvXh`03o8(Kyogve5G?&%h30+8FWEb!3qZ7PjHwZ(m_UcQajhBe;N zD=z`y>0hwG6bUU(Gi=ByS^YKI;J`HCJE_*5ca%@o}vC4 zn#0sIx>w(IsUidb0K&h~!v6?Odj~s1UCVz_gOa6-yfOM8nMrnbQ#Wy$SiRgcrmY?u(;hr>yn*f-@Z5ZI&3<}m$&QZy^>tL~46q*g%e5A2szC=}>h=~? zD@)#2O)5~X{N~0LSo^+LKKT`aR-5G-xk&rqz`Vm_qnnlMxd;{IkKr~bEyuMb?M;{d zcDq)^;FHR+(4oft?%OlqmDcVCER2Sp+e&u^>e)46l2>ZA_RfJK%ey}CuNytY(Te@z z@lW)6@5!Mhm)72BuO8H{{R3sQNIiMky+9?D)=|{Ej*iK)O`XkjvkPk?xwmF=K?)Cb zMf3ZJ2Th|*KVNOk=SbgXq?DW3=iF!iKK&nvgaVKWe4v#-V6j7BvEwoxdqf`3S3Gs7 zc=$7(V>gHpm8V$}#!$jWEN*P<%m(p;6I|U~sIoJhNQ|Pe?QbD9M8v9uY9LcdGY8IU zL+gc#yO%6ZC26vG62}a}-+LKj$&Knvjgy)J>sOGpDXyhCMjGOAITQ1h%OO+GZ^(_Q znAuq}CF11{LV)}?rAVPjkz1fzQ$50#cXkj*=0-LptDL_ib?pdJInbxF(#UbB4m0=f zee;2t z;Ymq-Ki%%ma*#n`M8*wrWn1im=PG=vI=4~3%LwXbMxk7?Mk1oNyqVRur+GU;4QQsn z18>|!hTC9}{8-7jLZYapD~JP>+RMl9WI~edTsQF1${(aj0@t?3ErKTE#+pKoa+=Ws zqH8iMmg%rBgm;#)lL?*&-{=R7o%p?1xs~%*UZBi6B@U_u|J$GS)Bff{_k4lM1>@!wi@| zEjlqiKd(wLahdOL>l?ZKb8&67o{^c@Y@)xI-c*lvmxL!!7xArjt)DOEJ+pbTB(%?E zzF!|rY1(y6oHe!^9#KT~Vvmj2unuGg+_kxDb4E(c*0An;ni;fb009fhzE_MjkszE) zmmrihZC}YmC#l_P7Y>I$cA&twS*pYTj)WwJ!4^0kk^>`=XVs>!zuhIxtz`$0?@@;* zo2y;&!JQpSd4;NR&0D01}LvXZhUNsf-gwpR=p*`lMf@5O^= z%5#2W9smRgMuk3_Lm7u5?vFu?cw7vlXB$}`>J(9O`` zn)J)Z>CHfy7?8&JWqBvi!bt>&Y_4cg4vG^mG4fQwk9BW9xf4k74U%JhIoOB99Fc<; z+ncI*kDSRI#|Y`K0BP3ltqV}HCYjW(%gS!UxAiOSCxx6DUme?I_*!MISgk;&McINJBt#3KetZ8FtvuVz`7o1OQywz!Ix2h>Nfmr<>`RrD|UP z^yB=h&ya)4U1=rU^JakniGr}-=$OKz;L-C>fU9p!V^E&$o247zn*7DsyKqWE!~GPA z$vp=R)7O>*vtQb_w`;-`@G{uw1U&N3S5pPiX%y?v z_$(*OpD2V?N;k4Jdyfo{=iy4VE5*n5%e@PD24lzAD-_GCh7`1$R)+0{6`?e>u9$`_ ztyg(p_~N4^;sUsOg6SW2HwnpJwg@ZkxG%K>%p#7RK31#l)m{KRUQ7$T`SE@`B9>Gp zbF)f9Q}1;@Ad4_z9}%K=+LH||>*^v+0*;NE+#t@-6v6x?tR;|V7$gC$k<~%l%xeM( zRHJA-p$vHh7$C=-6v5flEVKy1CldO|Pez2?DiJ-CHmnpQK`qWu+j-0{D!Q8c-OEVL z7rm8FfN)F7xavRK&we;(b4c{%JLvMdt(OG_w7)t@MVjU=1$0*CZJ&Ml^=j+*qs)!Y zU+>^`wiQEC8~`xa^Y^)=3?AK1^Z0i_Pte9ev|Q*QKWW7RB3rpv-~3SCtWKJCuhx|( zD52WcSH@&0PB)kjl5D^S&giKCxpakCZ{@JD0*Vr_(GC(zokgnRf+zrx0cs7%-0Y^2 zTnEe@tc=B|R26FZSr5|ctK@yGcR{-Y+r+dd*hORjO&gPazGa^gyab=#cbfC{C+>@< z%#=TCPF`4M+S{9)E4V5L_A2Sv`X+9itA+?|nr1gD=Yac&M%H6u{d+`sIdG7N-9Miu zR4odSohP^e*g!n2Y1Tz;#@*s`@!@n042r3SLjbsWoTp6AOFM(QkXfOF%R1&$gW`oQ zQ%bKH*}9ODJIG~LLHynCKly30%BI;Q>^g_a2$c56W%1-Z7lbBj!@&wav1*$!48dk; z4PR$i3Eahi0+^bBH6L&Sja1Zp>UO`*HPpie$fHTNNSWLT=e4?Q-70pQ%{k@+fos=w zS?vq5sowU`s(vwe?#RR#q&e~RA|U1$KUl?s{WX;QctfMD8%Eo#%i)p)z2%8fXjeYc z959ART|Uw@^%<6!)-kNAb8PD8?>;!!SgldO-@UFUozz3#$=LS`PKgvPLt0vV$Xs-^ zT@&||N=D<^^d#48Q((wzvYWUc6Qcw|1O-y zY)JRgp#^nWbt3`FzK0HJb?*`*k&QU~D!@Emk;|p0(U)j5B}g9hMco!E)lMbizR8iw zF1~srzF2y?LRRRH6IAsnnD z>EAjfCyiKC4eqOzVI%Bs6ySv7+e2U=W6vVC%w#wtsh-aJ6k{O?)vnc2@P{?i7UTS= zv6k~Ot}91oPjC$vs5#XIb**l_MfI}kpiD#JAWHkJOi9inMXs<69NKYoLg;2!cq&z6 z;S1?%=4Dr)tY~>grom=qyBnq z^E2pQ)9~s+Ble6Tm3T+_l#4g1?EE<`YLX=Tp}w>SS*}3 zY#$!9ANYo57ea(+3DQQn_6fA5seRvmY9byVSYjhHiM^(DZhNOm>&eu+Y*$ZrH^7<@ zS43z5atGaI1(NEC7+=3oHsLt5g}szeTck!-U7cCpk!~dXfk5znuitwhWe5loSyv;5 zewLOvZN*h{HXm*E#DPakl-P`GKM2_DpD;S)Hu3wF)FFZ@PqV?x?OTh?J#%EsE6NJj z;&DO2ft4EH>uCgN8K6z?>7WTjhCM};q&tKopnO9hlKk352Bsdvpczw`b?6gf z^=s%wQf6Ff{I`eME!dc=*mpc=v^ckpq)tFTakqog)*NVCjsYaTjOW|gtsJX~#9Agu zp3DORwHrRk1(x*#V_qN?Jx9(o;MxpoCa2aoNDQZ)>KAFl^!PX6!1$YA3Di^_qxD9W z`6<_mKW{_IP(|15?_lvb1zH65!Cq%HyoZtbtA=Q}2+F2YG>-x5(ZKmKQ|8f{t>IhE z0_9)X`fS851cL3SLauo5W{lSfQ@sVnVV>x!)uFC`{&lC*#7xO*zjyfhTk!wGPJh4H z>tJVX@z3p*is1g~#|sy@MHcqFTUhqg6<`M7|jz&JSfP1}9IrJW-I$nJ}HNClSNM-7dopS@!HX*yc({HSbuK)4hZ zCVVd$^JlkSr{Pk9b0X=NR?YgtT)5=cLwxIR)hYx;dp+?+!y}1Fh&v9&R;SWcZ3e_Q z9^Yv`Pu<@zga8zeYLD-(8b!VnbiIUHkn2fZ~-NC1w=vp z;@{l{e*S&xTrGNT({=aYaddQd_5sWby2c_mT&$au1B@uzV5&DJ7~Atlbob0_HvB!s zml@rG9uB(HY(83;Sq=8544Ml!1V7jqte+Dp1`K+Hzpwy95*yUO%XM9`w3xM`P({N} ziwgDxBX&An`g5lb$}bWzH!apjzuz$j-Q}=?2O;>B?6i+>#hbRpm|^e_EF~;Cu`naZ z;^iYf1w^6}l?BKr@aCiu@+-HCqd+UZ*U3!)xwM<8K7t;>SC?IgF`Q!FyMS2rC3tGp>ygQh76c^e%@mQ^xa9k;4 zK!o9PqNHxusDz(iuOkg4@Cr5Y7b*7$e3eFo);ZiqeH$C7wd`P#?gzDgG?eZtvR`T^ zNRe`F5StaHORg?(JceG1K}s8gV4u|bEL|izho2UsU7Y}D)Ux@!SrnxU`&Vnfd9Q;- zkjj+h7|MDhx$2VRI?q^^4f%;hU&CnJKCu?PixQ%odnJB&hNNS>ZX0UdTup`MP(sYn zat9L`N)IS(%Lt!}+reo*}TQR9(FsHT|vK%1zvMC~l7Un8eq;}Twj-s;+gaR5%8i0t6E z@&b;|I6>v=K~c17&&lLOMrY_SNsU5OvC=!a1ziwMZlg>3F_`xeg(&w5&i($2ASIZ5Q4~s_P zNlHvDa9V&E`oJ_+KM`(9(0m+6; z^hFRyDtnZ9S5tF3^3~!lkvnG$TrL8=>F0Cm=d?l(O##kC9hBWX6{n|?8a}(0v=h7cIU%zjIaKj%EFcNs~l>9-Gie-)i+ca~UzZOEu`a+^-Fd^yZENVKV z(GfJ@gX>H1;1LNab0%8hh)w_WJqw_eD?2ch>|P5B?2spkwvt{jfQUiyfRd;iujaHv z*Ov9mQV#mHafO#+eXK>J2pG+q~kB=JwKfD-f`~u?ikOr zYyY`xSFKg6=3Hy8ygZ1iaH~7@Bi46lOV=k2ImeLXy%WbL`Q_y>+-xfX{+f}arJFEy z;`gtxs=v;48{6F|Aal?Jjhq=n5a7t=2BZqh6aASNe@);z1=5)pdF_0 zuGxVD$JmH`A=g#Brhr6`+D!|tMF;Vdh{C|Z3){2rd@+y=n!}{C zG5Or>-+|E};zhl_E4sg+Jxaaf${XE5xBxgfvpje$mzcO07h;RDcaA7SfZ)`+1SVUu z{JCF^`l3UP8mZi6MUx8yx2sqIdK zx_QLAw?ACNu<>UQeU}z}G`cx_)RDTN{8{rkqgAMVK@#=Ob9I&#mDCo`vAATGl;mge zD_TbOvtKuJN^j2xpNc0%rtqrhL5#2&s>P&6wh3!zhAm_77+L$Pz_fr5dGj1smVdUQ z;zVX(&t-&roV*m8UB3d{Jbgx-`D8HrSIVL>&is|YCRe#tyVF87;ku-Y+2sPKIAC%x z7WB`}e$wFc9ioLto%`TJ1 z1<#gd@?EKNM?>g=l#1pO5+TZV@`LT2F7tFgf0W45)D0siFXiWC5cOjc7x=_BlQ=`b zxD1UJ4Vh+6N6HnDl31zNc+GmNH>x|1` zf+pEtBqF6Z#+VPcg`XpfnquBVuk97~A|?lwAS>oWh=gYgG>{M6ZHvl|D#Qh{Qgt&a ziN@k47#cKpg(7I@&%EdprRSO$w#D@7Vqja}wL^|A5x+Tvlv0F->cglz0+oEYdANdI z>)#`!hs77r(i-mWALsn|d9-?iJu5y!3?oAmXK;?uF_?@^0;vaQ8TE&``E9gC$Q(Eo zOKlVk(M(dt$m_q?)6YsEMbiXOqONA-N%p^r8seF>OUWv3V2B6C1)s0rI(U4K_@ibi z?uO|q1-_p=rC-t389C9TQ`KtVFP0*{4pi`6Lai8Wqmo)ov05j+EO6A`Tn18&KNvcg zMEjsr!z8J%+h8dINQc-PHuP*|^OmP>VHVo}ytFk;PL<&KlY`Z4vQXT1{n9AgZ)6vz zmuo}6Nl%Jg?2+*OK>j@f;*v^1U;K=G&_9FEzbE(nckuaNr^&zGQTcw`tq4FuLW)BA zxXT#hMgZBTEIw#|w`yjEpR8&QS?)FOH4P%}{L3jf`xsu?#M3BNYXP z#|yL2)zjD03JPin(n$(ZaPSCHG)rwmh;(9N9AaUxu|oSVo*a`O6`#LQnH5u}GP6>f zEF3|g-$_>m15Cj>urI!v6DOG(8W}<~tYHf&m_yz2#Qn(<62L;u#gk(FS3#(Ms2?%1 zC)HpF^N!rU=9`LE(=L_b1VFGZBlo8&E8*|w)IUOTUdnC!l&*A)dCv4;pmmG^%pg{j4< zp$xmDqd8`&vV70VI>eBpOH*Q&4RiPmpF~T?VN@x_)EU-qm!Uh`XU{| zjS5dDg*M+C|C_B+|F8!97`j}Zk4B zq_@f0V-zpva5eZzf3@XWZL*Tc@V(dDk*aj6=Q}n^jNtFQN?M3N3;N)v-aqR@oFB>W*7o@r=wh{-oO zeZgG&xDR6(6%zz|#)-?R9ehTT%ZX)ZsA6YIg%JP5Gex{Idxm~_EnC(?}_44#yWZ0B;Aab%sB!ZMYbF3T(9Ug zYxX76=E2DRmodDeQm9+9R%$$U^&EjS9fB@VbM1yPdqnB*?@A62zQd&e>*c?Nn3NXU z%Y2^} z2YZIeStYBMBZR}DQXzJeIs||bBSH^Ch!Ycw`;TY)1-4zo`FqqPet{y6KYE&a=}EUc zihg@~d9nQx8u#0XE5;pVP>CqrWCQ>B2%L+`2YNSYf5i63O*s5xwrlp#^h~IOTpP<+ zw|N*1*L0ghN?$775m!@#(i{h5ejdPzK}GG%rFoioT5iT%w$UlFIP$Lj`^E(+*aRCm zYlk`)`jn<}1s-iZqXH9s66Va50qtP~Jk)e84Ofy*M^BD^Wr@aOLr=l-eET_`OtYhG zbu=5d#|8wfdR-!Cc%O;}LSaF*vcfv6nZ3MfQv}P9;WzSBYuhhc`jg**jla&rYPTSQC392fgQlJaW!P`0i-NiKQyJhgpj zqqbHpwzqW-RP|k#GUvT^_Df>d@DDrRvp%tQD|LpQFXSLf7g)$6U$|I6L^rqsl|X3V z;n)!ifpTzZ!XYHjD+S;e;zW9sP{oxIEg3nT4J9ekMtgqiQfkhtSm^t-&HEX?iCiR^ z^5)X=apsAXNIoYLNZ6hLi=fblq^z9BIl+wwNlW!|0Z+t)*l~*WZ=C|XCQXnB49r?d z0v%iZ593*eh=iG0KAa2nU6cv85qc&5#eIO!>;@`o;{2wvqcACALlGUT=q*|4?)*8f~+ zUl*wvvSZ$Eczv;`LP5La4^gok6xn)--GTMMs}K2oD5JvlaYEZWc=sT!lo26zDx-{& zejE|Su}cU1`6szZU;9GzSJB%b2Zy%wTQuVz6SplA`_|&Qpn+dU4;io^A5h>-c1A1K zVbw9N>Dww2Z}7&k122Eefcf#DE$sj4ivEFsQT_*)B=LzvnEl%w?|;u@MpsBzS4cz& z$jhX~gV!Y0)`GzeRS8IQgehhTNXC_jgT=sv$=5DpS4ag3$nRBy4TBZ0uextl_&#CJ zq&{_sSkR&I!e5HS1gTh<^tJ_Q=s4PgiGPfOHsuCDj9Nh4 z3bEsXf&DF~9emxjIt2O47o<;_B;x-thkupC_@(9LuDaroTi6}jSP56fm>^6X;2wz~ zVo3oG2`?q$Z$kn?7lgG(PxmVjyi(7@4FVNOYZ$yP+++kY$`sVmMzWr49aN_uW|i_A zUo5A>&ywoICcw`kph~B7W=nZy#$=Y))fs8+lZ~IjI~)<8#dJE)U1mDlaed`g*JHBA zm%JoB=e|Zc4gEKcFu(CLg-DN8!z|`eN?t9_36e`n(nM9xH3-~^LmSv;6+P~>5iNn{ z1xr(22M959d(Om0t-)zZ*3dyGJxe>nbXsztfCC|^xELlf4P`@|6imFhm`u2PcoGT? zl~-hVB{7|B7(K-|J6GM8Y}e$Di7`}~H zSGst-H83Fdf4la4Bm#RDAI#(^J2bQRrtXJFx88EGFn>2M-oN=FVFNf-q-~it%tV?{1 zr}HO>GB(fYvDCqr_*`P8S25pUqbs#FfoWcz^F13u3n*^B(KV9k4xY};M#AaK-3w-m zM@QG-#%~U;NsT611jiQw)0f8=;1;<@7a-FD18YH9{DW&2Y7ceeghp}gY=k|PWcao~ z1S)Lq7Q0%rosGJB^K34~W1R_qBR^di`V1+^!ZC(EDaln~y1pM2NtlV4(WcCCfTASc zsDM4|sx{q(A3~kY`7J#xac4E{-3^S2-8~IGJtZ-H?gqAR9UZvV{*-*!rnRP6g5Gs~T#7ENk=XgA7%IdBEBbB2KK-L^iukhFj;R4MTF zpJcoK$<2(;EfmPVEUjTj!0NLD#3WTzm~s166@bF*MvQA1Qse_S_Vlyp=V2ktF)2b$ zRo!%39hDG$Yn*cCvcw^q%a+Wf@Rzm`PzlwxyFz>!n>a`L=qF z?SeL>s!?1}5NH!QYSbm|O*kN|xXLoRg;Jxy|VU(@= zfWGnmCJ?n|N|dkoHab0TkRWI^l_iZl8wzT{AlDCuUs1M{n{hPq?7c9?mQ+3RahC4t#n!UMi@0*8nS3(aGJ$zTk6!tLL5-`Y_TO8_|ou{(en0I>Lt+ZW{bLYi~c#l z^{sp1%#>Qon6UoEo#X3R+*h2}_HhNP3-nj1pkC5jl{Wvo5p{F5k?HJRZUy7g`j&I* zY0zl?@oCGb0Vb9v(0Dq0Jg8oB;o9M0GN=!j-XU;IF%!*5i1ORnGzlw(`9Ba2J{K$q zJusiD8Yw;sK`U`Vm0~?I2i9Ue3I{r3J;Dd;Vm)BnOFLd-`lXi~?m9t4iOEh;fQzr^ zE35n1=r3RSs_Utk4IjwkOBG@L;OwlfSFX9>9R=-?02gpJUshfaCJ>&{q&?Gjmj?Zi1t~}(_<{JYALK?I z-W$+*nx$8{s}!E@%nZ}nY&oGM>pcH*UdR#H!f_PXsum*Q*B4R-Uzc(a$S+R;gWwDK z;a{wB#IV}vE67@m0ZGQhp{=jqQ@3cCt$)=o9*MA}rrlv5zj8r+Skkb^&^oF4;9W3% zS`uS)gGF9-nGs_M4#$KY9YW@;QrH-Oec~^&;^R>Mgi8H@8TJ@x?u^OE*@5GHX;CV8 zLRCUg3?~JISEKGO5=?6)JJJ*`-U?Hv865 zr_?yUx^WP=W1b08yTUnQ{Rlx|XNB;+U(y``E>`vroqvudNlJ5|Dqou6vh?u)Ur@EH((@3-sF4AN(m0@@|W6f zL-6S1qI7W<_xY-5+oF03!gVa0h~S|{C_5YP9kb{N>l=X$akzLBGtbEohW9vGrkM6a zMcANgdV#xRAx46N(ZhaZ-5+-7Sf|$DUH)%awr@rkv8&IibszKCZ%ncAerA)e6D{u; z7rkH2-|0+_dObH^;XA%Te5f_PWvuyb+VmQ=Y_qT1rT?-vf9Y8BUAMWp#rX9&iMfqh z@Yb{DH?a5;u=YM{bHjfywLmNfT7mR{|AN*K-Jn)R)hM7(EzwCPv z3y8?cJ}zKs+jKGo9nA!;F!i-{kovqr%dKi3;DEFm-qTms!VT*&gQAHGW9~^cz#-9e!P*0wV65v2V5jRpt8W9}zMr70k$vn0grIp;T zhb(!!E%(I*QkE1(=wQMpjj#plI@igL_fdbTz=v`3I>ct9{5jILgm2~{LXZ+6%9$6@hBNT1QTCbd(!ovCdODW|V* zmTR~@qEDCsx5{gU6=)^`tvC6@+{98w17GVIs#qDyEc1WV`3GnyyV4;DLRfg79TDMK za)2TTEwetcR{cIdcRZA>dspjrO_w`Wpy1SKvA|T=q;3Rid>^g2oikA{isf*iP$0%^><1Fcv z=Bndnf_O-P!a;gB^Ys2mp~g>Pu)(qH!QJl-Mqg??8+J%0Vwed!0_wZ;QH%-ou}bFN z07|onIpH982lOQ%u^x(!Zp&YGfQU*)_km|WqQ*%$$h&UzYfs6is+uzPL^gLN(%g{t7;Jvq*5`@D# z-}S{L<;f^k9lMC}Wa4eUV(R$$xMtrq7^&FsD{tq7=BVh0tiK^1M(nwr=x{z!_?%Pr zR&Cdh9j8VK3nBmu`+jj#m*P~>;p%MwB6HZ@64Q;Jxo|{_h&g5!QT_}nIiF2$rle%F zNU&8Cdz`Jc4x+

    (H>r|Sz$es;n6q4t!9osGU^)b#AiEhi^s}TD` zs@)g6T%{MQTvjlUUF8E^Sza*0Im;LR)cuWn9tQDKqb&C;b2nCe8EE|ZBTN_==w6)v z2_~`|To@sUL##hHJ@F+5vLrq9Q!JuzsnWBli%NqhwN@z1QJ6mutzisI+CJ!!FNl-K z4{z-sUx^I`$P5YPQmbN{uqA`v3j5z#j6T}x{6tp$i1kX~UmoM%z)U}o*RC)hJ|C~( zx6fywWk`Vbf(Y#)7Vd>g8IbUyszTIJqVMlHxh!f-`ws1ymwRtC zukgeSDD{DUEQ{Tl{sUdJB5Cg<5a=~2X>Z{J{>Vermwkt_;X%~*n=Cs|@Dfd{k;FR( zIfpoy3T78Y#9f9s3mv)?ydMy7T_(g$hU^I;k}KpcN1P>3GU{goZbDQdzYGB76&3OU zcUJ$BjV5#qq1gN7Iq(ZEvXB9~&^Nd|3-H-g0b(s8GoESKU?Mm1=M~T5pD)#LJVjNaFJS}lSYO=JOTFl#P@K)0duBfeicM(nNR%x?{)eAO^iqb?OmKz{wnxTv2$@W`R{@xC7sXg5cGEixApw*qLcz-zHp@OW`|{v{uC~6|4DE zOp&f6*ro!mG(CI*AN>(QEZ zA{FE4A@k?2vIMP->R<3tczv+ge?#EbK5RBKKWEVT`TnQm(|@1Ee`PlP z?=*m)Ki?ISQ3BGJY9?+cj#xu-`+s>o2}u3p*RH*U!LEe5!K`^zb4bWMX0Y1G%EsPE zYh*DJ#W)!1vaDpy6wTz^+{)bK!rX+6tlR|cqN~3MIXMPL2HJ5ZT60t6FXi(y(vz|) zkKe{+ z@ZT9am;aH+r$Gk+iQFa)53rhdA9iQahlfH7d&J<>1edWY+#|ZBl_0skqo|qC zoMQj&81Y{Di3n*-0H&QIm8<3)(Qfv&i)*A|>W=0JdW%900T-2(oMRAKqpsQr3IYMg z6yxF(hF?vbLTcIMSSM(t!EH)3$x*5vhw8ua7@tIVs-W493BuEGK6MG+pCr7Atu$b5 z>{iVCrgS=k4LVPoP3lbff}VPkQZh*$8qKnboTdn1LDDa2@wZ`p7=fO=NeVp=hNKyx zYIC@b*g>L^pYpTlBK~vGm!AHe9w5bS^_7fW#GTv3lwV@bDPJ}q_Ox!4%=nf!kk$6b z-vsLz>fKaAKX+yB=lh=s=l@wZDLXssznj-5x~=XC$teN3d%u{Fx48E@UvQv0viGS- zy*Q{V0V$7=`)O8UZ&`y~&OUjD=K3AYlw#Cu2HR}4c}?I2iy864DCD~TVOQRc&dhx7 zNuji(+@$0TUC^fV_<(Q_aBMAXoHQIwA-TU<8Lh(+;rwUnAT8|w4_~3?46ym{^g%T( zm34LWcT-Fll0YyL7#bK-_HeAI%oIwR*`{F1?}I`a)h->dFUDe~WAUb-P4XSJA9+ma zr*c%a@_a#nbQ-%UIX~6XW0?k&VY&K|$8n3NOScrS`LspD>9FA zf=8afsd#`JI6IT}GCxRAI)$y4PGgm^=a|&7*7P_VpHH$Wj&1UqiYYr~o{KJ*%VU9m ziRLTflR`qW|HD_Ov})^+9*GYL6GBz(*7*hV@{28J+Y*cs@BIAq@ApOdJky$A$G{=@063d40$T*y%Lb&BtTUuxhZF0p*@IVQxp}P9;D{YRc`{C;2!1B+` zje5&$^TjAypQe&GL%_iVbFAl#E|WAW7V3Q#$DL?Y^%REoUMlRkJXH6y?7aonU7$zs z?9y~V=G~{SJ;nN<^)c;@*PU8yuvZv1ozwLySzVN;?c1s=cfK-)QPXJ-2UQe?_R7Ib zyp%)p#I#jXlxV|Ql_`3taS>>+ImvM_q|({C_ExPIjowti!-bt3tn0{jh2p{nsAwtG zMR0&v>B(C#JVvN--jSe=oNIcza&!mA-oP9N<5amvuEKJ+Bkyv5cSzZ_55}$jjc|RdoII@}NxJE2Ly0!Zg#mX(u zq7L}vXyB!RP?=ZgcR`gCnR5l^O-oR;LTb0Nlr_70#d4b#!`ZphAH~s8Z2EJL&<+`% z-{_Ll(y`)xzRX_%!HkzXN7(nr0Dgw&jMkb-v%z?Owqd@5c!p*dV=*6QK0@-3-OB}q zEIZv_5&r`H#Sjh~T)LCXDWHCWFttQxS-^xWDTNxD{30-Mo_I)>0RNgld9_l%Yr zxyD!?*ixNuz#pt}vLaXaM!0P0?-CxD0U%OPtv8Kn4u7C0s4-1AKS}clJh`CcZ7g>Y zqvIY$DHl2+s{(TwbruIb;1IzCa9PuLayuFvSiHCLt-F*3=2Q;*#?KvX9l79F zvtAuewjZooepW=?rV72{V?Bx!7IHNQ^f*=XSNp_*EjiT4{EGRlrVEeVt59e<0kpEigWz{7*bWbk zGyf4yT^%mSj4yly!`l&`gHu3kFiP&D0b_T0!ut+Du{z%STmAqHm^2aOXZ}FZXZ`@w zr=Pd_m%e2G9XtOOKS}==iAk>FVr*;#H2tTqFP@imT2RLxzIj9*a>WhLSWpIslc-->#u=K{ECAa~;?E6?{oy=^6S52TqfwozuTDkJCL6L3|wppb5 zb6{l&4EP==eRd;c4DL;jx!2{*Zup*|1sCkP zFe-NX%Y4F6Xq)Y$^lclSfV{w#)q#SM&xudwOvf0L(MI?RuhMP1#rp?2Fy29DZinFD zAf)Q(prfh?VkL3_a}_%0``d3kqUj^9TpL@6&6fE4QYB#bI>HN`67mSimP1ZtQbFE} z)9K~1>#9uDB$CeKenhT*aQqq*&~9pHzawO3YLxwhLxSe@8o8|@WR5%ra%Aqi;7}K; zZ<<6;d}dqQG#Y;IP_j+~OWeAng?$&@V;&CRy)(`upnc=`@%1({NwA^yRHvi#H1Pi2-3NcvrOqMAX_5#1m(VrP(1dO<-Uzj^4kf_eNm2>g)?OK zl9sc=@vMp`Z1#%BeN&Fa%n8nYRgO5Ewos(D7?v{#f9dh;ohM;;9@cE6Ckg`qrn~49 z^Vbt&IybwI&=;;fQ*)M1Rn)Oi^XF{lA*jUv~CcGWL%icg0ED|7b=u(wn(q z+M3BAtpQ;ozCJILpe)k7*dh(490pE@8?j`Y?3`$`J~&lEsRKe_n`VUX^LvWQLtS4L zG^V$JN#M`7KSa>6lcRaZK+a}X;WQSuryQrtoEM(Qk+rv9mu`X}*du(bd+y~>P%JZt zW;mrcu#fr}@yWX*I5=?J6O#J-4WoxHjCS^OZS)RWN4F(Wt@bel;XXGMvOXC&Ml`4U z-&QXUg~O*ji-c3U4vgr-hbdAl@d*rJ;H7LzP;TpRq(C!)%yj_wA0@b;nvp8n6Ula3 z6VLmY*4ZC7l-AvTcNWXfJ2UH5zjqCi8k)s-)gyC&Z@!@im_(gZhlr`2$n~TJ#6tDI zy8s93zXSEEVXo;*TSqD?D_sUKXLYtGk6k|bDfL^(LueeC^7CYbg%kL(4uCpbhhBv? zDCqA%ATB{c+}3o-D~Fe!e=kA8g7mGM)l(uxrD>^UYP_6t{G@KPRCr%TK9&<-q-Fe5 z!+XuUezSIX>XiE&wW2YDZCjOAsQC!Fl4O?7P6zv zhqY|^he{@vrCq5HtoY_K1Ux@9j$Q!(FVl6Jm2tIw8YCyiv}0PQ&2sHrqFeP_s@#h& zUJqAzYFq-uLN|yVc}JNcW-0pDP#B0%7LtC&&p-nrF%6k{Biggewly}6Y*{=BJ?W+; z5D>!~>;M5HN8_I2C4HH`;g#dXmWHaNWSCEDEGpEclkV|Wpfu4o6oU1W;0!)SWn>GD z4rhYZ%Be)Z7SFkOE))_LxwX6d!$a8F**YY9LS+M}?)f2?p|JpDL zcUMU|;m*eWP-ji0C+l{+3gF6d*blZ&jQK5^7a|o;m|vDFU`5!_w~7E=|4#Xp#SU$& z_J<#6%pQd2B-#v$e>^`L9!6~t1II2LL@n_j{#WhX5wZ>cRooYham@={?<5k37aR%W zjfP}OPh$hoqrQAf&;z=f?e!X$Nv(n%dOO6C%|nE_wA71B&g$5sU$_WQ01$SzRjosq zqRm&p_|ZC!^>L_i;laJ)v!pz1ll652hIR*6k#7Fbb#_DLRwd(+c-BV1&0Emg_SFl% z=t1ZS5q0AIk#yi8jjJIN*^Co`PgQh$TptbAU8Iw-5F7eyU#$n2R&=?Q`dxXfDM#ne^6k>@PV1kq!Wgvfr>L`45 z``=Lzjiiyg*w34_Gg8LK32ZEg+_aFh<)$2oHCklWPt76#Ayv?DNMG@VCp;*mBs9mLR_Ahq}&> z`e@Rj))Y3$csdsR*q-!WClc)Sfr{&s0oTJ;Hf}@6##SQ$2$UAVYf zYt4f#8T)u`6SI2RzOd(eA5j`?R#dkh9_uLLj64G;;tXhbsx94QcQvcY!ZZVo?lpkT z=N!7$V7r&f7P1fLqekg)1T_9On?2Z?jI_S0aIZ8r`|Uxn$xO{36lj|=Vl0Mx`SX~` z?nQ$pleq52#xPo76VB385;ZscN@ENwRjbbm`9C&|m(s`DmD_q49+zPvudyMgkurIV zl_<{bx3L67pNU3ToU`gprg*`dN3w{0*-_&Up{2mMprs~cjc<3_W5TT^4+N z5vd@|Z9+aBL`{hjyS*FPtUFu(`0qFs#Sw!)oh3D6XpSbh^u*0jj_YzatO`F4(5 z1JzwJx+3F6|AbL}#gg<2%CJ;TM9S_W1cu8{C=lNE2QOg}9eF?J^9g_Yj@ceBY z?^T;XgHmWCT$=3M-~g)LzzFOjPvv? zYmR&)d+ELNSox7iqV==Nn+Innp$?ldAh{sAeN}U~#pY+1fGVeV_I#P{)2ch;(t_Zi zxDVQlvQ^Nzrv3&x^g(6nhWEYSxD&#$#B`zbc?+Zc?Kc{}W9gQ908_?Ux}JB1O1_xZ z=6wpFmX^+Bh%KahJNprMmX*pKgQhPhv(cY4Xv;2(FWiXbMt-@MGsy0BxgRhHABfsG zNyuuwD}>i*0`G*MX5pHYk7g9EZjRzCO>aLgi5hz|7%3jm<5-%x*s99tuvGuElq*qs zQ|>sMf5BNhxj2R4JQ?P!VxuizC#3=0_#;jCNAC!bDYb72GgCb8cPo=(o~QU)q;x~} zdr9BzuglXTpY?*#e( z>BSyuAb~$J>`FJBDG3{lqaj`jd4KUcxwoWZ8ZpRENcs_JKlp-!v0g@x%IU+Bw)`DW!$xM$&!lWJ`kM1~>IZa|gKSZc^Q;RG8dNyhxyuA4kKJ1wfYk^ z>~`&jflwXy(ea{?!5m;+R^s+G0I%#F=HE{qCU=R_&d)&i`4dz7Px#=!-5vjVxKyie zeztE$|IkBiK<4xxN{SW2qgG#4CZ%3P`qAQ@MBTDXEmK*N`Prk^Mqm=C{o^WKfM@^D z5q!_;X^;TlLNE^B^I6nK5SzfseJ}FN+9r5exgrCb*L3&e>om{fr$91H@B8olnJ>fF z=|n+cocrMV@z)hZgcgm12ON}G>AIg_XX1o!R{(bHR?;=*otc0~rpDEu@G9o^{sUUL zt-~cRxvf;>$3nD~KbpyL*M(3ka zMZlAx`m|!K-(CLrQ-}9^RrwhuK-l|BFmb1p95%LP2@HZ&D$KZzZvUC4h>i>l?w+QK zEk&-oCmYkHFme}$+{MWFJDdrSF0t9Bnt2?aN;tiy;^0JOoPmbTuWDG>>!VtL&B-)4 zPN0TKmN&UfIr_^ zc}DXBYPOSW5D+*TE=gwvn%}|OC~j+$(8!uRW>$p*iiE(lfMNcN?hm_6hIr&v2;%5@ z@8PZD>C07~6=$LM4d$_Pewq2{&-W)6c_z(t@989=rMa^~v`VvvvUWQ*rsdq!7GBs1{1LSdt_Q+s}CjNlu!rl{EX63}O zpomWCl~!mKhhjjls5DNLmT+hy?a5d}P|n_6VTIl5}Ronpfb2WxB%dg?on|>)~PP>u##F(ZzO)X3zatsiPAFI-ZtZ%$JtF z3SO?3palRP6%srp4R?qWv(j2b#v+dIT_)5p+PKkuyum{Bvbez&iKW(NWgz7f-GwJQ zTJyOOR$>cyi$YRSO12k-XJ=qvuW#w|wjG&b!7>-b>Ymaj0F0|y5yrP}H&#^+tNVMz75!8jk?NBr0oLxM^{mHx?;TW8;i>}H{-n$4=f6&jhYs(oF#_NI@#A$b4aX#~_kZ6y) z)k#-zI3s1#<=Z+B0by?5rhOzl?DngINCh|DW=}!Au(2Ke{n{ibb+wo#o^{DMuzs^& z@wNWGEptg^QQ+&@AIsQd(Q(MKBr^yitKCVf{&*2A)GHImt6PvWSQ`7DVVOjjnhn30 zb${We+~+{mRB>r6|0w&D1NCEr?J(Vy$YPl76v2}~R?mj!q*-1KIj7^0g3s>~B-jna z_fudzgZ3o1C7`#RY6^pv0@OPwMqs;D6%yPr)~nU^GNi?|rvh_+0UuhgBGhxAT+M;$ zhGZ{$Ff<%0jBcx>_iw!OZ2+iT*=NyBjPC#00Q%oA`hN${{_={f|8$4VSy1j6OUoh0 zS>-fwiNxJ*&;%mV)cK-i^DxA5!C!=-)4+>pVM)sjKlwNe2pe`f!=aGw$1Sg`=b85{ zv<&wvpZAxKuiut`o@b|b_p-6^SgSt}629Ek@TZtHH}=Rk!B$zLRe7KDZqu^Adzx_K zI0dnA;WnTjo1bHv06C602U>6%H`54)FWAjfSz7U&LRs8!ol;rc@SI{< zI-}Q2CO`X;avTYmTyhDYs#t1VXrQY^7xr% z5#_O*c04&fL#556$;9imz-8yqAZo(db#Ot@@Bw2n^FDjeOvwj76_T3W4ROwz&3}bs zqRnqAmqySs$ym$1whQCzNzXOh)RC#~ws2;yy(w2&32@=4re7Fmt(IFDXRl@~SsH3; z;KEZoK4f=o(5ThlH?6HA;$AC-{GENFQV^5a?fpcPf2zgA{<|Mx!enk1JbspYw|=5< zSS+eOB~yW{WWl~tK&fo4RsXKKl~jEQhr;Q2hK@FerP#z*NeeI-p>W|x{R>{6=gZIL z@AxVyse+yMGWx!qG!Rau7}JdOIZB)h_&I3x6$BgVzFAW4Y5a5dM0{-n_g#Sv?Gz|< zr*ZFyktO0)xQ9wFh&X=dH~w)Cp)lbDgMN4gZ$_d`T%!0V#RGF*r`M1Ay!gwqp#z>{ z+@4H0epeLxb^5GwOvz!eB?QaTOJMh-Y;lf;vL09AP+r{Z&@VNLyn=#)weH$CuRKrR zcXQ&e9Vw2ca`;<`YpX1Q4ug)ea3!gj;#CLpfn96gomUw*YCm?%-gb>b>rzFB)VbwM z25%9)fwt5{{O#;^(_PnT?k8v=L^P;pF~N@AK=C1QGyZ*I##_t-h8#XOg-or+bvZir1eu@k^pkLUD@VJM)vUEe_WJtLyXX=b%BVnC zHHoUDkK5U-tnfFgjNEq#u?QZk@q8+V#}mm%L_d}B{_JDtH;rr}7oFUMK-cV!j5#aI zCei8NN%Pn2Sj_g1A4@-=_+kmxJODN>(Dl`~A(MkB(Q9b6Kv@CXTgRH&1{se)>I~iFx zS)cRFYqzspKK_E4YmE<~%3;B6{aqj&tgMX7aVQq^t4|FwWnn^BLqCo9&;l%0$TpJG z{hQ*8!4_~g+OS7()Z{3V;-c(X@I5Ek>sUS$b9>!3rSK|WwD(11<65u{Y#=BiVv1ki z*Q;~txw01W<9$Q2>iOeASNnHARb1fpSbnZyq7Cw1|zT96S+87$5nqEtoMEOvT_L?k4LFAq~mj;sSbpu+v?aEewo z02D=~>u9dp;e6Fa>-4gsA-$6~0Wt$d7qc^#^%F9#oSH$R2Kio=w4UeHnhbtH7~Gp& zT3h2MSIt?!)fFc;4U3De>QJ+yQ_k&vw`91|D+Oez^_R3RsqGL9hCAS6A^UO=6VEe7 zp^9v;!f()o#b&AVK!+;W^Fo+k>^zPObGwTi661H9tmdkCWhN_EzLlNDbTg=~xr(`P z*%U2X@ppA#an8fv3`i8$)sOwOLvO=F!uODSicg-1ty1vt=OY8aJz|{e6`GNWB*3F zOtD;ibH2jb1H|cfevI3%sjG=1dhEbBX)EQqbZ9(2V&1a3nX#!Pc!!7e zix|k|I9;#8WH8oW^;pkVpBN}m4;8QG(t=?r>3xXvF}LOWHg5Q7J6{#Kg_S#Pg7Fw0{mPn^U9{gB!t&D1 zw{A{f$?X2p9JK{KJB*B)f!x6sJ$!+q0rkU*5}Z}ryD4e-k+~9bzry4K1_sf(u?jm) zdg{<>@Wdq`L5ogB^5%WS)-j17Gg}y^bT?UHPm_%7e zrLvQ*a7F(}OG{lAXaZ%C3bZk9)1jB1GF_-LloKDK;Uza0su0Ssq1ZK9tg+!#M=7IK zl>c?sz#(QezWiB6I}##@FMJ?g>oea+<_H}}OeA3RvaxK{Ay6ixIx{v;i%d6SG`H+(iaD|} zPpeEfsxePsG!Oafp>kqbQb>?jIJaRe{fS|wVro)Sc^zne66m@J@v96j!{PcL-==0E zeigy}RKj8x#cFC~EF)1L!i@Uo! z6nA$D9IUwe!D(?X#qFK`^47ZldiSmS-dZ!6NhaBo?0iY~p2<#nxw%;jzlj!?Kxu2b zXxxr-VasZl8)yb;HPyBn6Sl5bEqG9zOYu`3cM;606{di|C5kk!+WweSN3m(%9doZL zpig{{bxb`_ihaa5t3vz-7oUt>^_*x;j3UG$Vie_5#-Mpb3{mwR{KBcm#zE_e#5`wLYrcd&jOH+zP`KU4%@nK~ai+*8zd8HwpfFbdWs!y4H5`Vr0ija{> z+Zhp5^ir-}_Dw9Gm`jv56IY?4NiV;l2`~zPxO7Ny-mYUFb*7$VVOwDCA+i>zY1c_! zxlAuvzNZDDojt8lyAW6%Se^r^Ub|$k4brVXtqIpa;na42-|IN_F;`tOq*V3hK$feJH}ArkkE7`+EB(>sK*hbJ7`CG!?Ka7 zNnebIz9Wm=F=&&)gHXag!~u7`A58%JEV(D|+>@?DnyD&&l{P52vu9c1!=et#a+eO=fV-}Gg>deeaWgu>=ox3exnus9v`<5%N;=CJG_tF znZ=s6Xgz~hoWD^-5BVKUzkWyi@Rn($r^}_w;&bdZM0 zZJAK6*j`P-bU^AzY78oySlK2W7#*o_S@P&zb$rUW3XBUpVy&#g4|NQ61aA$V2| z{P+OEagxEI@WJ>`tl}P2)>t92ID}AyF@&_-`D7X7G!4&^J5)b-QF!rrr6QEV_WOTF zeQ;g~4C^=s;!ASimq%LTTzLJ+QsRWuu5mfQm>kR#HKvv7{V>ib7r%C;ipcB;VO@cPu_8%-L$CD#@Lefg=lfTAXxN zcjtGr-)>mgTL=NP)VizeTU$uHuf`Wcw9CLrWQe?ywYuX$*H$)3PZ)RsnK(97L2**q zkynCDvj${_0R6}oEF0>eS}Aa!mInMs>ytGJmz7CUZpx$n76ZxxWmC_8D#-zDTKGho zE10Mx8Btu1)PEH6w>Y`3&LQb*`ty)hIZ}V&{W3oP6a3CT(CIa!LV|IY_shw*e?-J* z7xyTEB`UqMMj)bO*D}w&BV|cuWEVS+YD$reR{*Ed7V^hu{RFs?{4Mo?$~jy1+o&5t zE;+kKi7db>iim|>pZg8MGTXJ3_;o1TK&{)KJom?E+(`RJ#4^6UKKUFPQOqXd@Vdgg?l@>Y$Y! z?)iyU$(3)f-a9lq$ku)69rztE=lVfBkWT4$`X=oIj-MADfagGBNdcGc!1m%-l$|_a z_pCq970Hg{1_{clf*T9y5^4+87vdZhKnl2!cpe1G1n#3+fGybXieC|SQh?=&zd5h) zcbX+xp8|OTor+$WcGiKOvv15-LOaj%Z;)pat1{N_ zcn=6y8Z7~^FGLS8Prd(YkQ?p5OXuyM{-S>pItl_sFkgf3jDz|h17w~_fg(Wx^h&yB zyFar`!RH)FV-U)0+Fc~vpP--?8H~UvAXQX66%-=`BStCOuybVxrvdc_+dPSI34K*? zHN*L?M0U|h2f@5iN+C`iH|P{?X?RJ($FB&sBi!0aauII@`dle0dpEmSh}aa|EL~~? zYokDD;IFb!Z8AP^Ca?{~EuO*d;qGESG^~iL*yo#pn?XXe`N(GoXJL0+Kw)67^<_l( z8xXQ12uM^UM#O{13(cEqjpxYA`j!hzh(H*2HwR<`Hd>Ry5ur{>Jwxw+n`8?qTrN^> z@LeSVGirJQBU+BMYUJ-@GY%7u<4Re3oHH+&W{bnX=p-R+dy+F~&5X#jfpIh;V|&Om zNlq3leQ5pIU({~hSRF{77+2;+`;o#hUJTAKRoVa*sJeNG@nYa97GL+c4h= zEBb^aJqGW9cSWy8JAT0Dq~8!%VmlI&&(5e&q+-v-z>z@n?ot0XAxK}0d#o#)BCFZA zk5_yuzl_x<;oCjwR-te7$W(cf^=6{ zdYjh%8S4T6%5?)5$P(2n{=5Qo3fz_#7-Rk|bOzV*4*!DizyS(?eEaZ%eBKB34)GRs z)CXOhZo(;!l?JLnrdpRW%!T{o0?8Ugrv@sP1DY3RHOR(kg_Z)%=1Hj6q!t3xN`$jTwY3+ZN+7atkg~kx-QP z?x@F{@cb6;GU_tvIaDCHi?=3)CPE?#29t5abLIslz{EquOFq*f^AJck#l&M1!VxA+ zVCRUkCgsya5yR!whz6uYD#PrP3mDfxa3e2;nJt)dpb2Tzz;h!`$-B+1HSo#OEJz&! zR8`5hZsV;Di= z4uW&LqkSZ@HD>v?7=xvI(V4s8gB-kymyfWYz;vn(tv4cWZ zYUqZ0<*`F7>A80S*owRJ3G5E?neEMRxCe}R%smICdd$JOphDiG3&nag8U9h*`8@x| zYcFz!&?181`{98TQ~)WASke+BjOq*dKryG#kr7m1m^aV-M4&$Ep(fvblml$%4V-6| zx54$pl>s{iM^HAjYf>V?ez6|l$K}A8S!EmCSHJ@`i2l6D7z*rw-+39B`j6BJz=BA+ z^P)b8vAsOzvn`k1Z#N#|!ClHjy(2C#LMbtx^LG-PXQS=KWY6l-gn zvs-zQ=2lk4dFECrXJ=d1mlBd~&ClO@`obyK)}WH|DW&V0$K3DG*wpis46RUcDHqnB zp1XzAJ+Q1fn?@qz!r~-uy&4Txp(RzYa-aoJzzDj-TGgaVIX?3>fy^$4L=5`H?*p4y zG|fCP1t3u=X`0T5Vho?6&W;d()Cs;)Hvyw-92Y_bnpyIRV#jO;qlKk3!vdHxtK8O{ z0X61vS1Bql;6r`Exx-MjQ0m8Jj~qKcEe!6loSEkMH`aizv;NFif;*4aeGp#cR}?MA zlaLt@EK<)Fz=%=Th-Aj-BiUqYyZ);z&2?oLRuyVMWWp5@G_WgG50=>r6a6j~U% zq@|e@Rv6%$dc?Nz6ZmQ!04P7Uc&0BAL0 zvR+UA?4DVcan7UmilewNaVHSzk9(JoN1gWy9{SiA_@6&(`cvG|_gi($4EKuu&SWaGV7y!L|rW~3y^F29L0w|m|H<5fb}Jw zQkwWsb%d{1M^qI5kSaQ9m8gnW=2NbQS~|sa6uoSkc?7|9C6z}kl>il2d9=~T=(LCjy_WTuL!RfM&Fm_DK zuwxFU=R+XMEX@P+NO#FEv^rLe%(By(iPY=Z!<$%c8RtPe_Ao*gW2VYZFjXtLy-ly? zX??kn6~q;y#}oLWI#VP9<3`h}Ew;Z`)qa18m#Rw6DE_q{D^5Q)0rvl(a3@k6n;4Ti zh0aXQkN`&rq5sNPHJ@8qC^J_If7z<8tP!FpjhvI87qPUD5&|?_`%$UUtu9?oR zby(feCPI!Ot4p%Iux)CwYutzY+=eV|2xB}zN38YOUrY_PW+ikHSo;+ut}Q!boyaXp z{T@`8fj0dq&4^>|gDrbw-*8+rEnQm<#yTTRc$8!EiD=exeO&J6o?or~As)!C$R#hK zgpsKD_!0o5P`1Y@5{_RghH`0LR3HmzykU1|00mIO3BPdzSpbzox!~>$qH^dj3GfJs z))VD}_`nU?hU`W3MLoZS5`kcl1DoQ3ldCwJ(;spa&CI>QTq*2mTfY-LAYbXX1i-zJ zJV1d0Bv(~L8Q3D^xDT~=oFw~xzJZ6xyFO?`h1pMSUy4~7*jD;GMH5CdJTiRuX&^95 zHizO`skT}MS=v)4EaeVD6M1<@U<4H1jDs*XahV(N@|)pDizMBD^MS(M|HZp zfW2Tz%eoxHl@OA!IB#;F8-`m#AT2Wo#XjgRouCdomXEtVPDfuyAk~gIbsbU~|G+kU z>Kt0*;!F3adT6I^N1fRwd{=Q-gbsHNZBZ-q_&M@vh~+*@J86wb@|ekmD3Pn(1zAyl z2YDokJSP$l(b5P;9FRV#bF#LRiro{*@ngK=LA;C?GkWD@UgU2%$zSZA?DOSlNmCnw zEr$z;$CDNwQ`7~Wzc@T$K~?}c>x+*qq^MNIo#WPyY_al_r5LVRrmhN+@=@c?H$jNA z{uIvS&gdXqs4R2Wj3PgLIM%TP_OSzIIIxo+?ZKWiL6ze}0MdrcvT#iUZE%4ZnSo7x zp({$WW&pmG;|3r121Pf{icOukg|Fgd3i2Bq0)!x=GAe$pa&ss}8L&DHXzr*?q5H{y|GjK9>WsV~lf z0<-?KSIj$`)>d*+-Gmk9hskFfKBiOx;G8h0Wj>R|gL5QIp_STEL+3&Y1Fk4=W}bsI z&6rc{nHA&>Xx28YoWY=zc)kIGL09xjy)yySE_wa5YR8(Kr_khDIkM62>;$zYa_D`ox~W;(g$@!ZT_EDL5PVR%BsW z&y4Zrhi}S%;6U%tZ`4P+^A}RkJ#>lG)cKUiBnt9^Om>R5z9tYQ{5P5AH_3rxlGx7J zLG;qyxFMwjvK~g%WZ2o-_}VZ!X|nb3rQTEm^{@>zAUjAqsMA72sqB$xj09}z{AkX4 z@LtB;DpJ`i(9%fiGCH)JjB{TN zO|rm}($^ZQ>#lEqRq(`4u6o)A+yFMqOoa4@#l{e$$314=dO{X9$N-2Ge04k^0b5R)XCPSKPOL7u75Qba3Tlc zLXLTCVb~ad(1)d5`$`K{xhGh~n;^&S1T!aJ1pXHlSYGVMl_snE!6wfCDfA5)_1}AeR8=D5RDAi+Yg;y)pYa7Ea!UIf51VUGR?=>{MAgHhKRU6#?1my+5 z{JT^kOR?__i-CVqE8c83MVU`tYfAqn<{KSlaN=E_|vUrna{h_yzp&$7~8d zyI41B+6mGw%A7rKn_v}oYSB%YQO;K@`2ow_9~KO>f~x6DBu(8zjpaw(hC0bbcYjZC zIm#Pu=+9n^co_uxP}Ph}G(eBw&p@-niAG-nL%;&njjr4ts?;;Y_Q%56f_YAAx4(%ewY)^i-e(mQ*22&f6?Wo zS$kQNbanO~9xhN2ZMxA_+si;pI`d7=o1w~4X}VDvVj4<1dl|Mi7MEzxjaCNK#5NFSiloe&?uI4giv2R$k_Kh8iF(3;6b%_L*I zQ@1pi3>`W^8gn?j*|8eoTy2XAfGK|exYGw#^YUgU0K#L_0i?1vhXIk#@T2R1H`>3* zo&n#0H^KSG&EJBD=KLk5561JuHWb(X0T}e}2zMMHFq_~1YN|DK*Y6O?V0Igd+Tcn$ zf22pSr|79oCpdDL28J{iQNa&km_(_QP(?N7Qx(=Ba$e$;0RKAUWkC#b9)+HKA>$1U z>cpDZ)v%OvFy0Deg(Zl#yQxRP{Lt=6ie-o=P+#T9tl{mU&8g*Pp-1JD3-PPKN<|RE zDd1o$SgT=K(!tpw=p1c}WEE1j36URAc@{j)YlH#M9@X?$DRP7Qoh&NahS(G&Gza!J zBvYAC%Yn1{2g;U)xv&Khc7X02Am44m>I{!w3SRdGOyi#cRPpo7cuJhG=b!mZh!QiP z0brUm5VS>k_P7m2RGG1N^uS6{r3skF1^^zTe6aYA8(0qn4jHIIQ?0>_{G>Y%=Ib!q zF(~?KEfQ1#tsQ;GUi8=jV|{256i7|oPXWemFg5Sg49o<)tVjQtwXw2f6QYh9MhzLo z8Vpr;AbnS$Id095+Wsv2_RaD5;Rn*{FL@?jb*IQPw=cV${;Mcvrf4^2rg%4>$s=JJ zLuYA*FeGyD6h1hpf8=W!Yy9x77Off&6y2CQTQ+1i*slM{tZ_3v&rU{qpMSjurTEKc z!+w~E{{v>I2pi^*B9=y`iDD6(+z%?SfnH|xj}l2~hxT}c+mnFFarb%eY#vjeEby7b zWBQy4K2MZZ{k<{U`nE!e3wcc8z+R#r1cA}-2szw3^#dq#)eRE23}+2jzM8@%@4IF1 zpOxMz72he9-isICt#3u7UlTsP|6F|cx-F=Fqpf(4ItfUA5@9~;J9&?J8#@V*UkzyO z%e!&V%6QP-wzPP!pYgdJyu@_X_S${j&B-BWZI8q~625jTc<53AY|OB`=VcB{>Zj#I@>1UTX`$SdVNY^@9pxg;^WppMWH0mn z&Q|7nCAE8+;do6@eWzS{r@Ix=dreS#|Gf0hdn;n}dRX<209R*IOL==QSlD+MP`z!i z0BYP3;lDpHSVq2oRhcQ}<8en>d*99@ywN=+UVHC*sFC*Zdv}^IZT=R3l_jkT^-kwK zIU4s;jAS2f?VGBo{?-Z)V!Z5k;Rwm3VSsa59in42iCnWZnUOC$Xqm z$5%z4Csrebm$Tl~;t$W@l+3JON2gymU8gU7&xH6q3tk?t&;#l1OPz7**%b4EWYP3Z zX*$`KUP56!&RJ_bx=bA3hp)H?kuaM-8k%N)&b0E1*fk7?36~15M!IDCSb8N~M|~v* zSbdSh5O%^O4Hx2H`ncLB?R%MKSar2pR z7aL}SnO%Z|QZr9WdPX&S*=;t^Vf8QN11c%^o;0|b&mva4xne#BepV~oc3tI&vBE6- z4+LT77hkbQUX~FhU>wa`>s%P0wI2kbn2-_)nRI2gA$e; z`z(3(`Z|Cdwi}xN(RtpQ&g8Yr{9=Ke3;iC03(qQd7@OEMs&d`QgpK!P*geE~sB3e&SS&%r!k=WHOdC}PI6XUZg58k5m z)#hGo*BsLiB;`?fCK|TgHQa1d<^k+x9O&z(&0_Nz6vb4Z`+1NBfmsOKKh!a|QRzJ! z(QxERv2FLnQ$_qz`w+gS-q~3caTbl4-#)T#@l3M}rry)bL;li|3#@SRbKl+9LVx90wNrlh~%|HFMK{tITkvA1j z9IB;t1r14V6B-~Vu{Xq|ByW=pa2Nv_#a8Ne->E0b_ek|2y0~D54@wmLgl{sJR|B zd+{CybMupM3L}H1OIoR&A_kIkUMZnsvZAobZ}P+G#(PRFrzW?U(uAx@jz`I1fbi{Z zJZcOezH|j?g8c@QQCiqome8Zl1OY7>5P#+~e!TQWS+rr=XXC&>-keZl2(VaZ==R-zLLrUfkf(mroce z?>Lex*E8H^v^e2B$H{+F3A5V?l6HpVcrVBO;Z{G=vlVMf2!J()!`Cfp*(>WY%hGSl zVA!$bUE_4x?X{@S+Be`!npm%8ZeXKpDj|W9uRxUe$$j{o)+D&JTB=eu$RK zpX27#p?grpLUX!Xb^YPjoT_N#zO)-Qr8(Zf9`9}z^u&tDd8<^bmweF1nZq+~k$XE=knk@TJwU_)39sPUb>xV91S6W4Rb+g!2QoV-(s)*)8_n%FtcxzXy=_jq zsEN*F(n+EwN?j?{eLt)Td7u7)b_eN);OGPz0v2z1!Wj@Z6%*6|>8F1wn~Qcz7;hu3E+dPMmP9SVB7P4+?CBtA|!z-WOuJ+77rU z+82}~Qg1hNT$zotZN4{L+B<{|(h;QDtYVFln~*mo!?{3lDYJEWqS<(o*)B%eQ}=Z0 z57v`~nF`(#s_nQs{mv4#;k?YF#8nvRNy>!8>6Je}FU21>@4LT5Z*>CPe^P*>LEcYVHiI~Rp zAN`TdTK&4_aKHoYqmw$U6YUh+K)gcOTQIlp1u(DJ;RGu%Ro4}t7l}G^e$6Jp$MWl4 zq9|)w@7<*pYWhviM0zZEhdC2^9zQ)tvh=_I$LcTk(WD{zV7o#>uwCJQx4P0ltvmiL z;rw$xbDE}t3Z@#?8?&FH01|vrV2iB2*m`ujRwe4Vgk7Z4Di<3YbN2Bcf`}H5vB^c~ z<+>NhIt0QM8fXlqSiASID1>)$Ax|TOG94TC!^!i z#Evd0Vm5fN?I(syZJkqz!cew&C_MI?YlyR-ttOGKvmKA7VI`=Hz53B=bBL!|>vRp= zI})gub@@HBvqAgoRR@_`DW07NM`hnkV4FW&?9>G(qcL`jG&EKBe!5p`)&`xY^BYjA zSN{sP=gj{)GRzSLpZ)wnOD*k6v|mEdtimXjs>0=_C_cbluK#lleTAuEKP)%?mq7&l zro#|%MN2fxb#))XP)VN)Xq^xmyFWfm0=Z%oUTF=(WRKXaANxS~1pF1Aae!ZhX7krP zoNDN-LbK1EcGM3Wk6Ph2LPrJ@9{MY`Ietl)4w%?z?ZluQlEDEWo{IYjlxk+Ar43SL zP)Ap3S~UfBV;f{`*Er=p zV`+XZLC9z5>lia;&VWKhA@L`_Yk10QD09kItR88UMiqwar{L9zMTEU6&se_~KL*t~ zDEqH;$9Pc^lMlcWh;fpua+Ri&b?GprYq)6wf{yam7JWMv8#=_g|UsJrIWGSzYwdYq%bIo=C@E%7B{!Ne2I$or;raXT1JHV z7K6?U4f-0bZA!1bB_}yF_>Hk&UG)##L-EjBwAYn7%jFcI<@VX6uW#>nC~K1uDTG^g zqK||+E)AAmn_+QXA;@t0q2r=-#KRQ0YWf~&G^(;!;gtkY2GR~`R-xjD`8x++SQXX3 zsgJ>YTV{8-lS-Fkw%%y-Hlrd*F-QCJB=%82?&CrsHHkSv`0jA~*1J0|`D7kL?Qhp$ zcV{o9h8%;vZ_(7K79Au9yZoy(M6WYzArT*Tz0$Rbq_d(eO8yvP?0=6F$*Q_WcoO#v zneb5Y;BDmz;qv&pKrI{s!~WA*(z1yD2CiJuQtt;rHHYwrtma3|M5j14R+GnJp4HD- zuU1&K+N(U6lZN=F?~$}7wr!(25)FK+P4AgRfK=?|GzP`2xql~5$32Ui2CI@dE(yA(7sZS{=SsOD&4}Vd-iYTTh z&rEeyKpWI7_vTE4N0)0Mr{YHg_zmb<=14+N)b;`4Dv2Xu>uO(XWTsF{|agXEkXujF!SEQ zC)@v&ftGHjX7>MD(J)T6U;ZCVER!S9j?-&BDK!b@u9cjL&hXX+gW3C--a%VQRzo(p zFkt^1JcWNCDRu8BwS>;^S-M-3(-+Sp6NG^pM4YM-hXVuQmO0+`YpZQ@6sq#9Ka%Cd z8pgXju2kS<2C2FdNN{7mW|r(KD&caZMGPK^?W>PZIQjhuzu}FUKol?67@H$TpM=y9 z@5}!DaimEA!?}@ytbx{K5ZxNs*r;;!Y4obzY1}&bcitTfCi{e@uxxRW>Wj0=NT^Nf zX1I2Wq>_SoZSe$&)~HO5$l_joU67lAWeFl6zuc#p`$5tq?T~=6ptXPXgSUd}6%wVh z(I&NRP-(v}pqCwbIe^Gviw8d^Aij4?Nk zFGWFel*sZ>6(S77y+~e~NUllpfNx$@ zW>c&MVd7&!@Lw}ye^gFR#@}%+znYIX+vG;zHpV}QMn#TSP`!-aR5zMi$L*;!%}kX3 z?#_r2mCKi-9?bpr#Zix^Nlx{G{+UZ1e>h5*^PGmiFU#|NlGru8N$=*sd^phb+v@yl zyWF`$&CeHN33sP=sKH6O`3#ba&m)6?3$G4^mMAH+C>HavqK+M8jKU{$kD{A5*GQ!llUZ zQGGVmyl{noJ+6|LzKKddiZb*OZYf|x_doJnzQX3B)htjcjB^C{Zg)}O5&Q3&Axtpa zHo&yO!@ZBY?V2Rb=9gEd{#-W*i%Nz*WLd0s6hUrY?d!lFtDriYMvo-!E!gR{EwuHk ztI)GL(0q+Gps4V3`=IA-DS8;O`v zXNM2x8P@hc`aahm#5<>89!r6F&GrAx>wlTk#ifHx4&^~~6y$%)G^Xv9+dw(?OA zE@$;4ya#vXvU!pKvuBeh{8Rl$anYgaAEem6gp2|?JRDbBIa!xe&$NLGu~Zmmf98hk z0+BL5oFNjSS5QfE43>}&H3O67jP}pDCT?PU#I5vLat9#f#R|)3Bd~aBjs}F+SGtT& ziWU)h4!P=`&SP$VWabzPId1;0yyL#Vh-Q5#POW4(EH8B+7&)-^JU%}cVL(2f?Di1GtM}~&*4_!_tNah< zJLkYH)c-ni6kfu1g@Fb2OVj^;9npWu>;D#q{yFR}`6BpgE-gLu++65e9#|Yq<$PD9 zK@62jhZKirjVDJ0NU3p3R}iQ*E0eKNWkNek)mDOrt7`yJD7^^!t>=2*#baqX{PLtn&vzu3tjyAc%yn#_+#0w{0Ufu)p~Y`4`?G`yaiq zLgbMizl=a~=e$Gnv5-H|2N#e(@C6%_dExgn!uv<}~}7AP*2b3xIm5e{rIFq6uzCBf4uQAcdM7F%6x8 z`yvbzBw9!@i*^K$1nmzE3Edw!^JkwN9>&+SAgqc4-d;px6IUwn^6=CTB^UtB1|0^! z2Oo`wMM)>78g23+xDtLGO;LiCSSe@Min=!oJ{~f`w>goUa4HjO0txBu)3!lm5lhhY zq{M}<17FH}OV^=+`PYmR7+*x+eYzGjF_>VfiW-c@;UdS%2Vye?w2xBK>WlrXYMvKc zxRRR%T73*BL!atn_>KP9sNp^U+a)(!I1Zz`7PRXy-3Ph!hkw_)&fvJyj$}l3?cw&) zopjant1S8-@WfYipV?jFw4S`)$8_=3ZBw4))AuSa3O^CiJwV#N>5uUhUF4tUqq!q0 zX!oaPOkuizonXdvr)HeSa#wN<@^HP3F?$TkSuVC2i3Xux3#j?PWNLL|v2ixR+HlEM zi|HZHS0!o1wb+(`KM>*1r<4D~sr_K{Nw!*C4|_gd0^}kqfMPR3&J@;yHLotKKz^=M zLLAfbImzSWe6p+p1yfWD)qFaI1O2}oG6#hD^uG=cr32eP9fl;Ws22H>PZSR5^El-H zaB2ZI*s|54dNA`i0OZeE^Ivl+1YDPLit4Ubc_hyf1DCdf@#bxlv_e`4N|wlKVQrRV ztEKh0z?p4BvYD_xduF)6ai6Q#jM^7sdDG(*?EM|+^`TJ$Z&kv2jQm%8@zx8Ku_AW=q6ULYk%(k!Jcr{W9ARZ@V_~QZZ=7%xOD5wc+_W zuJa5Z^|pkXd6li0M+9on zk(Wz_Xuy!u+x<%vUe9l*SJn~tS)s?05VMwtDVCU!f}R^}mszi`&AbnFxC3S_XRW4e z-o>y3+t0W7d$asf*b&0tIcQLNpdE$Wf2Ju6Ybe=WVn?KJ_I!%PX-%ipAw#JR@K5Ir zeZEoMS*{*BI{gHEg*{uF3t1N~zaezrcIm2@zi0ZXXuQHUI}ge`m^4^eNV(8o+nnDn zxH$aCo4ED8w7tHxnZkPw9mDstns-8fZGAyxcAmpoTH#(RlWAjnc|PyL+Q!ay6Ev4}@pG~r5;l{Or*wVV zxZV9GN;E7U_r5GHBC7cv7C7h_$D@ z{cw*HW$_8_X`U&EFQ==m+CqO~xThxv*TbE~UZwrEt^66M?uaN6&_D$$b5jt|(@fU* zBe}OX@9yS-TJntJ;-RSA?~Z$mWG{d3c~?)<*@)hdpMB_VGyUy08CgPnoyWb+!Pa(t z5ioZg9(LP0P|-A&%PX{5aIu~q9@P7$Je_`!s=xk4tqT>d$e*WhtIKg&u7BZ&h zF53VZ<0nAwH;bF}3%Bp*& z+LG{q!an~~;P@63S@~_NeMC#JYU{1zIX)2n_;k6}&~-ff_CqcQw}-ZQmqlXY7ZO=M z*-yw{&^$07mbM#QO<*p3`dy+Ddb{TirYZr%b-% zSr455k|S3^nfMjc_x`#m*Q--J?c%(nGYyiE7q?~vT7 zXSh3bTOHHi3D*LO{@k{!Ljp=$!!tZzdA99;lR)?Q#*DE5VZP&Oo0T5x@B3tovA{$- zahc(gdjQNbiWgC!Gp=3va(>^f1dcuPhWcNNxFCR67IETwWDOniq?q;6-7rp7?@XLdn2U^+LK1<@`cA6<7msv}OJ(*oIcDFb$M2!CbQ8&qXFYIs*FU6g(Sc zvaYc^$~gC1rtk|5DpkA zYIpc!vJ`h?b#omwzuD3VgUg>>DYov-BjK`yih;uH$AaaxE&vDOcE7W?KRI$-i?nT! zw;|}TM*I~6)2`oTh{MdhT>{lvDYB{L^RYg_uG)N}vM><@U-@ZHGR(NFZ}jw(wMP?c z98U_~;FYS$`nx~xwk~{1JH6koXqQY`trMnm*`ZN$O;6a;%EJf9bZ>_X-%*lqfe-KR zJ>^h}PlXwSsmR|NC5}>YkfO!0%lWOAsyeH6U_`R&EpiJ6k|zhANv@@t+&IJ(*jYH;!?E=IU=r5wc>W%05_$X3^W%9 zs8!Cx9DR})Jsa1J_S!PK&Mh3f2OU^E*BK22>Pwb?=)oG7n(|4U7q0iNIMjQr+il$G z5sWkdzumpo^`a)eQM`#+Z{Ge~5qp==eLek#s*Sbd^4&5LHVppOGdZ8vNOEyY@f3GN z0e<_BX_oktQ>j0?k=#&U-Y;Gp^2LZ#6p(M>#&870)|AN#TU?rWH@QpTwWRP(9BY!Q zbY^zLc>bbv=0TgccmO-=Ky0WN`)mc>E#;(0IP8zv9Xwkair#%*x&$;;40#>yw%t%J zOnpSFXu%)$XgXoZbD_3rx_4H(!mPPx%0cCn>8g;=9~q$)e(HLuiAy05BixcP;+vL6 z`PFEC4Nl`EG0|8yl`-dEB{bE*On)b1Bs5*9$>i)*)6w%Qw#~YY%eGkIIngrpD>hZC zbZX(WqY>TAMxAX)hIn265D0n787NkbUuc62F&Wc@%2mOwpGYOt0 z=tsOW5q6w&>SV&zVWA5}F9avdj;ddpW0+uyTg#|ujAF~Ebj*jbBK9UaF`UxTqLk4h zj~2QC*trsTA05yiO~173_{TL`cO%AEqGW$zrdMC7Ctb2vLAj^LHy8hO^Orw;Jq1#_ zIG+-wTFvKd%;#v14_oJF{P0Df-u!=}X*b=<`(M zGZJ%Jf6>6w&+rrWw0M`KXe-c0jLO|1@yRiVq*%<4ag53dr@F8^snd?-1DdQptZ_t~ z=_a?HosQ)*AOCE{CzW{5O+c8}mE*4-8^IhKX&xN`hhxu=td}Mf&yN_(lHQai(8`h4 zk3QfD6Oby5=IffPP_H!$GPZ)o@`>?rYXhib<5dzusvk36)zOo;=fD$UXNtsYt&Q`>?S>($vx>FE`6FmgN|4$p^u&Gu;YP-}Z`oebu3=QA)L-&_oUTf6Xr`*^kp&M|!Tc`on46`OX>KW;iW;TN# zx6iA(vrNT|>82>pbjX-t$LVLae1m&0g{NO>3|y`&ud)&xD8A(i4X9I|b(nGsB%x&~ zqw9GZ0Lqk+C8Dy?HIj#w8~KOg)sm@|5lWWO@X;At#v9NPbxw#C*=ME{~OLa6PMv#g1%rTUj1i7|5PTQoI0 zl}$0p_F=L)_SJshzs;5v0<$-E@%79QR4O+p#pEaRd5XEI9>gvWx^G^xLLngPiXkc{ z&hGL%3%x55nS)O?gI}N+2@t?c;FlgUy9Wx&!nF{m0NfzD3i6H~E(4niG?T^OcXtQt z8C!MwScvzu8RT~1k?zravIBlD~&i%A+=w2NrPY(t;rLiN4axNJ{jXBne zYq3pOYEk{bjaU1;80L+cWz?#pPtxlMGS&;UOIq;;m9@UP+y<5HZ-NyN-;pG6(9y=> zqa$C>HrcydW7Z7hl)xoG=x#roC*XA*EcEol<2{(UK<&o1;XmUT|G@sFZ$)l?gtS?LE+dU{w+t)~elQF6Mq z(YQ&Jx@KR}`RS{VwaOS!NyNhP8cZk}AGP=so2=8>20-Du{m@k?iwGqzQRASU3L8?( z_U{}M^F_)71TjwQNl00%=Rfhs*P+>j@QXjQ|B#+M=F#vn{LaVHd>gx=uR_##yLhcX zbMJg7I9}o-mgUAmmvRy2@_AY)Ips449UpfH`(7Y0?CbSX`MB!m)lNAF)b$cge!Z{iaEfS_WT)Q^&FI_E5ZFkQ4h+v? zR3mkMpyj}Hl@%2!f7h&*gQ;YU$Sx(h93R|X64fL$qp#9|$U2QX4i=|4Wc?^-RM3;?>*sI%Qvx!M5H)ZF<=7_W>8<=zP;LoIO$bU&%+Avq$o2jM3 z)typ;r4IUc5XR)cgUZ+)ojtTmFB+UIm&skz)q7)(soR?r*vqBjkr%T*E4UrV{+=eX zSlBg zCdNtc2gQtI&=^B>BSpD(aOM0mu{BVm`TL>`HN<35{i`}s9*ME@9plVIjTz#u2*X!x zRUPR{pGu{9K$h^5?Pyi$db`9YrJ;7Epm>BdCW9#(R+K8(*+0+Z-n)QoQM+#bvZ-@# zf<{Iz{Ote5*E;~o7Ia&K)%I=Mwr$(CZCkf(+wQ(?o40M-)@|E8{pQU-G4Dlu6Hyg$ zs zsA>DW7>4hmr?>$H9Q~PRRAMesM{-3S-Ly#?{`#=PSd=&BH}fL zRgt!*eQ}p^gPp>{RwJX=>%knn?R$a$j7eZUAdP4-h`^shkps~Adb&Mx^gsd9VXg{^ zg5+&suH0fJMe1AucZ4nR#kV{R`To=kDTeb3mr8&7W?u{tTzq3$@NVv22kEF06BJ2G;sLG?Hc~#(PU2t6CS%ySjz_zoR`koW;7P zS-6PxfH`}G_JP(wO^wIRre0EZMyBm*awGx~ROE^cIqE8SmYHsb&Lak7n$5^=Hy(=F zCR^lD?2)JHHliaApUm>#al0@aP~*UqX8u_8hUul7DJLF?;1uzc#}dCxoDHFxo)1d0 zg~Noc8q3WphOI90R=E@Pic;2ALBlq3AA}SS=pv#Nu;aoGaAZfD%(3Os?rZN}A zaJ}VEQz9Kbu6+WY3RFpJH4`(%)44Dn;PB;+)9s2>mtpTo53^)svgQd}7JQA}x8^bs zvkgKy3%=dVz)LbpZHBRP7_DAzUJX`w?<4?KzWkjA3f~(ZMQ2yEuAtozZn%BY9c`;~ z|H8)Z_KiN&hUe_fHET(U=UG;{xO%pqoW7Gj5T9+`u&%^`Y>jWLVS7C&m8hhrz(qib z25dy@SL>r>-8H>6^d(K}Ezr``Okh&vaL&d9lG%@neB!c|PA3fzhm(6d_WC7QQ`OX< z!063Kr8z7h2!P481l`!8oHm71G>eUYgKmg-&oZu4&V`+&Jhvgf zR`KWAiu#`DB+azg^L#V9&B0MFY#GE)i)SAaTK}5AXF(Pxss?LGkZQxi7j1Mty+799od|?`^5CpjL zHNkN%VRjE;VvdZbQe>LY=+Zhjbl=nR_j8Y2TXcHH>A3o3cAkHLx-aQt``>AZz1n$+ zrf9n1E-%d)tg&ji*=}ZlbY0}CZOgH0paCJHg`Qtx)Tqa$TZN~XDDUF^wkpmL@@LSV z!yq=6WZO_QEW8Cp7}kubI-BtyVI6kHz9xG?qyHOprG)Ms%&gO2j!>21UXM&5;?-&F zLVi1#sU^g2oR4H9&>joJ2!?1KQYh42$7$Jq<{&qO=N6IW=ej*A$C5L+(5V6G{H&DE z;?1S7fj9v1sZ!GQ8azofNzP@8hMyrr$Q3Fim%d&PCtUtQdabbf4;T6a#sT_oK_9#v z4+;|m(Dk!YgZ0NNnzPHS^huTuJst^=^)W&g44h`Exvde#?z%GJh_Chl^1wLu{=~=- zQjOfV2Qc``&aa_d{6H9q@M)SU#hgBb_jqKdMYA6++agwS*>(y;jbsK{+qp$D8CzAZ zy-08aPyw&m!|QAkl9l{YSo|J?SwQdj2%6Oa9$V0+gF#+scDxEQR+$*Sa!}>n#p-F1 z_V7t}-PHjxQ`K--ep5q%ue?wXroFP2R8<3^F<|F$?GCd{pq!?l)$SLeOT9#<#k7K` zGny`L(E__Iv`1H3PhaK)g!Z{OP+R2l5ExAjUv)G->B) zp=&RiyJvFZNhB_YzkN)k02TbQqP~iD~JZAB4B?U*0mf zTlFQAL8jaMxho@(gFCq_k8ulRIm{8Hso45*%nJT3#;bhuUmsGa{mZfr(xMJ0bZBlY z=?8I=aD2o0jvfm9JU%bjL0En8T!??@4V}n+;Qf-I)(Q;IdYlUhzlh;(TUXk!`|G9H zSjis~xmPosIB(hzT@*B5o?7*kCTKt9*mlM?hO&dD19TSQ>n1|aCXoA{>u~A98mwm_ z*!Tc(k^^C#4RCe9M+fpI)Ed9aTw=Vnq`k?Yqo4mWIeXXf9SGuS#V(VX~ezb8XXg zxbi3ZJCH=?@v@V;d$53d$G!_1TW9H$C@cpdKmY&^peg!>(U%KM#80Fl+MewrkjIFF(mk4)%LKOa=I0{>6|oxnlvRnt=z7aB;1!wtvI*7 z5MQkmsoFM4r$zYDp1D%b;PG!n&$eO5`*NTMs96$W9g06zsieJj9_Ly$Q?hp6&U9Zf zP5GinJIV_QXhN=HU^4t=ya2C?c4&nh-9)deIaw>g3?hy?9G+n6;Q{1GS#(@JTrmM! zLTa)%Om{ClvPQ!Io`!$`7fuNjD)GRbvl{N9;$N)b5FVdT_sI^>4F3_?%?$iyGxCS> z7=w&>iMk*91oURDf$&SATlluZ{7RGTiyyTb7%I>5h(hfibzq(GAnS-j9Z3<>y{U|0 z6=e1N=LN5ELrpSHV#3zQzN(jwGRcS%)xMWw332jqLbcAFm zswm?Us;2hGlh?C$0Ow5YnUBw2ZCklx=&`h~#1xFLQSaYwr=3f=HpC{Ni=QTcgNlqPk2W zkUYz71bBl8NTRw>p`bj=X#{wqNKm4>RADK(l~K{r^WeJuU(YnqYC4*Uf>ei4VH%abs_Md_f@mJ6 z=_pr8j!st2Xk27v9Zo@f9-&_JpIzH-*I`=xL-=W-Z|H#qDYMg%Y^6pq<$=S=3+dzb zGNRbZZpKve=?z%Qd&4S!7*kf#nXr`!&@5zLv6aP)rQ|J3&h1Q(eMnas^!vm^;=u7e zgfi{>M*3qzc%wT0E9ol;N*2fiN(gEQiWUe7j4g;F$OjA|2o#7BClrTNkK&(zs60JjD_=Rmc=s_`SraT?OQwAbRB!2f9(l0IF6I2$dt7k)% z$ISx?OzR026(K_

    h%LLTacaP(#tWLZh(8KwK&gb!5Mq5-uw?nb786e@N^I>?Bv>oAkGUeV_;kM0lx9kSC^x zaMIEC#jaJJx{)slb!skyo#1L!!|MwxS=2z-Q(-R%Xz#v2o!ALO?oKX?Rq>AS*a2nH zMAxK=^)o9_#7(7BUPdkEbuDGmHkl{!PNjQ8(u=H4qkC<~giCD)n?L>AU{=xrA%nk) zUGi^GP9VnGxj9@GTm5=K0JVQG{{oJ95 zoS;erU^C7~JnxwZfTbC9e-)A5bV?&6NHYjG*g0u(>&CQ!GCO){De#}WHt!J&onye_ zbG0BCg;v(pp$^cf6Vj*~qSeK(2B2t#tWm)Jd>a&OiQ4akdQ4!g9_rdy388LiSH+;V zo>>tt8#QIsY=0?58>u>owpR`!D^7(LHBw68?PcRejVD8=op$jPf;LnQ=7Yyg>#e4% zp(fl8{V9arW;S+}zTTmiX%{{m&9RmtNg$cADkve`#SUSg_0bLr&>I}8Vc8V}J;VcS zq}+j_ZW6-WH$1Luo{6>vS-A64zuu=|xk=Xccx~8wfb(hx`#1K50>Uz1iOhhg5LAs3 z1yn_v)8YPv{=tg^j)WJukI~@E2QN%Ta|X0Z49**atr8MWgb&pb4}H`%DIg-@g`)!S z2zW4@0q{t6!*@XJP%}}YKr_TVD2+hyhNq8w(ov z8;ZSGM&uix{u~Vihp?MK4Zsa>zcC~KE@MB8G5Bss@Q5+ju48|c5!S9~F#3=5g$LAF zGJ>9zu{2bk5LX!jU&?W&ln3UTg4hd7gDuwH!r1Xy@C<>z8GtUT4De-()jB?~57ldw zgGgyCZ$&iN=0 zQ*tDkKruw0c!~`vi*3}18&F$xd)8>sb9|bGQ{9eX#r1l5O@Ed$6veW1>SJG_Sc?VM zXH1jfm*f>cWurnf@qWbe^5G@4sd-IR89&LA=2D*j|G_ zE49`r#?Xf8&<$9Sr;%j{5Jg^59ZH05L947w(L#g$TAv+1R645h6C#U$^2I<`8~^+h zM^IqGLOdjdB!n!|f)NBYuSXO?JS3h{Jb!MGu0E2tiiupCrMQ^D#!`K+2o;;^sVq=z z4a35Md%prtU+96zx7&f4t-A&}Z4Cngzjy}%zl;N6xs(S?HsS*?8h-SZTkwG`*5E;+ zSMxwEHsS!$>v6!7tEk7hsU^iP2~Dt_+aA7y(LMmj`4U z@k2RO_#zl&@IpIe`aq}Fz5JJcFq}_O9a-450Gj8lYp=3t6}RMc0S*?hUa1;eDxU^q;Lu)4juZ-_vtrG&zYQ z;GSTre_lB$2<7}{4yiIP{K@sq9h_-%BHHMB1nIrI-DDvScH*RpR) z;py9v?(g=$pe@*6pmPE2vjIDSAY|*`icR1CqhC7-pS|So-vUqH2^ZhUYv1Ng{1V5# zg2&%zQ|yHE+%zC58~%cq-%;z|krVgqD&J%k{!xqgVvmZ`27{Ej%QC!B6a=y`dfj@D)ahTvrgp? z9DUhWN$+&FIoR?X#*0|uVXM`~hVqoL2Ip!p|qkssnpY$Y`L8^kiyx90N@}NDS zn#u$NbUIZ8Pzfq)XlH0{ z>h#|=jIOc0(ES3i!@a9kw#|i&QFcp54r-u|s+*fL+lpE>yc9!!Tb+<_d;s`TUH9_j za3p&Z^sl3zj@>}%1?YW(Bf=}f5*D=cMAfOFI)j4~H~A2yj&@-2_eV|_HCG6T>35*~B84spfc(LwVq>^&@O z>~3zE+H8^%3?x4VvFuvrvlUU^uw8qtq~%1A#VcmBm8sPall*_t!UCv;rT%E`Ot$qo zb^;Yx(XGP{OZH-qEq^JN5x+|{tHfTl`AO))jieNQV@(A!S%oCvH*wW)Fx-GAfkS&( z6NK>y*OSK%m0#m8d)sx>;%Zgt@Ay(qS6FPJZUb5Jo{4nH=qD+O8=@KCwx6wL5$wFo z%qS$68$Osxjv-`eb(4RU48{~J+f$9E>OchxRaT!0_7S_yMOSi!MJlZ{oGv(i2X4%FA)3#Gsd;H&aNJr?@}xdhFC zr$8-XRU?{gW}Je07JN@+u?U!sr83eGZwq*BSL4h=bfb(BY^&*LaXe^`<&+#(?l5zz zGSv#jjw*QG)5n51$#6-2FEH@fhGG_3T8i~aw}PhfbF({5xhykAkho#a46NOS>e$IoSZHE%UW8b!<&bgUt_tCJKE`?tE`3IQ zmYBjNnbyo&`$TH^M@wQ!r2!VZZv=)xnl93{!^!&w@`Vl=?H9(6Tf*?m7f!QK;l#zA zmF2A!ji*gSxnT==Ir~pP;fJ*nCM`aphKpulkZ2hxm!^w$p~*Le-~YNq#v0C61b!}& zz8^>q*?*Y$l?`njY)pmzKQo}KqOA1~MD4UGlQi>~LOk~d0oi3_oP?UYGO@RSYNw?#s7xF7``Q41HJSu&t+xhyZRQ=w` zKgahSXqWG5F#jMmmO@Qb19`6nlC#~(5B!xJ49*jdEvSRthRrjNu%UA*A52v~SvAzc zcgIn88d`EZAK$6?208PHr3J zxjlDS_pe$Vnz{0J%=3x%E(e6X7Ch(Hqsyekg@2B%d(^ftC9nC2HpJFeH67ZBzi%6M zo;+;rJLcF+7rD29o_)hJyu!FY&n7>9dp8HHTrOqemYEVnpn@An(-aIg5@JaftOP3#%B3IhevNQ;aC(CZ=-nO}zpQRR`6?5i!%>KA|s+ zI$~U#sl}5N)GQSKuzS?ZhNi&u`{%G6ca*_tr59jcfxlVzgs5a*CKv_+SiK@dJT-5I z;x$JvUS2H)F@DMq9kT;aov;RHDfpp|rRO^`)sWYaZMJ1A#i=@<6*N_p&Ntx0OBWH9 zR4lHyl?!47!UcA4YA1x|q$apiYn8Eb{GXpSm4~d`@TkDq3${VW=Wpos4X~VHM91EG3$?%Y+P?fR3WwK2YsinE*c17=2^0LM7_@hFGX8(yJ-qR< zasvzqAv;Z$z#&2fACPkKH8eE}Dsw2w63O^bXrr=KiHn02jzEtVG#r31U^2yE_Ppb6 zb8oXAf4*Ko_TK71K$vj<^b$u`TL#ZoXqur5K9YshX--yG6H}|ZQmx8KD<^1~0u!Of z*8v4&C{O|SSNKw;Ea&xJxP4EVmcFw^v1}Jf)8`&Y*}PNfqSACTQJdBg%)5^FN1AcU za&#gHtiM)7S%y!NwXvQ^sc4~5(jTG8$%^pT06$Y`+WV03zl+0cOthowN66+#<>q!c>pl*XZPHZPqUDXgnPedpReKJe^e{QtRh;iDnX>O=(q z9)DyxDgTq_JndX8Or0&A#Vl=p6lec?`F5G*?V~f~I&$K5ZS8)2r6;Wwx14ATwLxG_ z>O=a<$kt+NEZy>v%z!`-PEy@8ygr&pG)7cxo9HLC@v!iKY>}DDLQ)be;%RIH`wRS_ z_%MehIGE%RtiV%HZ#sy?7Vjb3^CCxD#Cnte4c_r7`#y`C+5MQ?`S@y!BJXPe#2k{) zcK8akJ>`Qz&W?~@=>7mSJum;2a@^U%FZB4t!Y|-B%_3L$p1SJUnx)rq)W74f7l}mJ zFG}4n?D*N@>-VuI1Gu1ZenuEs=&*=!LH!(ug$|1&3lxha3tlElCQBwP7XFkEi>gJ% z++zM%q2}+w0ujUMqpXy zOrFft;5jRu$T=w%!A%S1b=@Lj!zv~4lUE-;udLKHMk^aRao=AL%w^_r>p458dj7|aBk~(LJKKJj zWqx-gKO&RV_WG^|H@a>o&pQu~?mXW=tXr=a-LALn(fro#UoVv_GVe3pb5}gi>s$O= zpR=}ZCo`XOopz+eZYT6tKE`{u)ef~MYQ6+X@6u7~94{H}3x$E?a+FsX|f|C)Lu8SXL`^<#DPP)y8lO-aBW|!45TSe5%v* zUajJ_S;k|thR<>h2C?~fZJ{o#I(IJB)Phufkbq-FdI335r>O0}fwfc;sit1o%+uh> zOBVPGwdrx-PqbmsU}(M41wqZ9ZbK6r6EEZ@yYn-?)$V<(pmgn#FzGrx<&v`+z8l%X z)l3>es3vQnqnKz}oSZ9kn3$9f?>deW^ntgs(BU`%!E*l}Asf5&SHvxTKInmRMN?#9 zag~Wa0yx>ui6G{nT1g84&JkJfgrmMPs$K6l5F&7sO; zIz3+Z+syW;m1*6{pAY8o7di`2dc|FrqT?I-#a#!YYvPi_+d6w(bM76gv@kuNbe< z;@fiD7YT8NufJYv#Cybht`q!;<2(+p>o4$UH$#uB5A%5LW)5xf+HsG_$I5u_EblOb zbb_4!_D&P#S6x;r!=#WGh!2eG(xhvlcSFH9A8A)V@atQV zS2wyXy@3SJp9A!f71?g=u(X0rwF88RC!_yUh}EUtv^=~%ACn4^w)Ew-bM zeJ!@*jzKK=!jFY5uEd;Sr+6)5i(Y{}CyDh%?nznVie8yAYx7^JGRbFs;HFmQd_bny z=X_wMk}PtC?rrbVja|Hk&5WbO`Qk?Nh7%`vjj40{rWXtLq|2m|V&{(j8g}Elfk1FE z^)#60i8*+Nw=1oKe2bNegNuvnDQ8|}X5-|E40H3`f!swKKX?qw8K()RPN!_W+hb+% z>11MMoa15U(ESbShkxHur%4Ol1&l`q38Gx(<>Fv=2IPUeeh)YTkit5Z%ca7(7Arx z;+aYJ{lbZ4*2w0PWeTDC_G9`sT%ym;Z`k1-4E024AZ;o5HS9)SFgsliacCtD{ zqif&De{A@zH36qKuNGb;iD~lWb?qb%@$z_2lWd(dH%Kk4k3Wf~E)-Z>$sh{GMloOs zT|+m3mZnZ8U?F8#Okan)M3$UAG%^ch+X}cJHWM-e> z8nlDLDl8pd-OnzdPpgjEj2}m1?4z~`VLuO#R`|-OuC=0*tmxC&hHdqap zLFL~iP#d^5o4(~hZ3G7JSa2KMw)NlD5NR;0rn_k1HXv;szimO)@#|!F(ZH&ZH}`+r zg13?wXrGF@NGIsZrOi)?wxrM%<%qV#(3NFHRz>N_u%l_RcL&>1G+Z`C=&6}-pF(%^ zjCxrx>#Cb@Tjn+pZHQ{0t`lv@YM*5iZ3xqsR7Tm*>q@GluJK{b#uEK2v2E%eeLFpB zsvWJ#*S54zxGdW^?IG$+beroIbwj-@^^Ux->d3jGYfzuXbx}{i&F6J7Pe85PDmW-E zoviuWf?zgrLC_NBAef;WJT-*1mFIqeNI>7ozO&=WG0k>b&bQj=CprZqhrU2hhYP#zPhbw{yaR#_+ zOMN1a`*->{3Q`l{_q6XiH^Wy&{B}0vRfvDMK>A`M%$L6_B#en62o)S-I$bXAupW>t z5WxjeC$dO6n=^Wc)d8c4CqjCz6Gd7$?dn2bGxX?!Un9y-rDzV27QsDi#DD!Alo&Oh zJ*PSfnN4w4_yaPqb15|8=KZbWo{vmAdO~mqL@pIS=lWmGYr?hSR^D?FiM}p?@~1*% zQr{+s#8f+ap~&ez6HT}+Mv(imtuPJV%b=!EOJSjd7AFgQj#ZJ6E6jBG%EE4D2GMlB zK8iXb8{8Iw)JtAa?m*g7(ePCvuUA;>eC^gbIu2B`-`tf$JOP9>v{5<%4w{;WFu@ZO zMCJrtZ8Ue_{nFz^?gTbeQ6B*gqMC;Y!BeIQ;t0nRL}>&zlu)RtNBTbiFo?&ML5RU2R;Uz%a#VFA?;0>p8g=r=h6!a#c z=HRUR-m$p`&rhc@X(}IFUI|-3EB=;<-gMPy@x!)w$x^c8Or(ORJ{^Vn;s=^yun5%Q z1Ob4pjG8csVT$ykZKA;$oES3uMnf$4Jb6PM@wNjE1H;@6(hv6-VR`X#hZu$i#2IDo zZzy4zd3eGK;t0F$lfgY8LT6yiJvRIPMW(~E(Hik>CWpWN=0&_GBp028$U&&bXbyj^ z(?z^@X%(Fmw~I)J-$G%G^=*fAyqGY1i)ZzN@nQD~3$c%Gya7XBd@~&L6$>c4 zNA=WF71Y-i)K?bFtIpR~5R?~wXeNBq3HLJ$@1YaX$1l`JDb&X))K?Oe#};~$7J7&h zzKasNc_e)9KzQ$u_o55d!)7WYyaOY=wSnv+JJi+vJLL$q*{9$O=BMHdCa3y$A_8W6 zm_1;t=R3a}VoJ|{42#*iC#Lvb6S=20>jvx%{UfSs4QV2yp1{1{z1K)TDuY=TB}!3) zb3v#cG9-uD7Uhv5JNqpEkMQ2H4Em4|3g68V~Xj9ZQ%kX)M6X%QoilBLjH7x50Fon>9H6x+);aRJC z0vSV#)>Q;A3@+MV!IH3BXz2Z*p*?WQAc!aZ0TBTX?GC0VAB0d`bk}`($@$24Y#)wL zT$I;Cc^Ub?3JlSvNTS9>GI2 zVPK2%i>u3iJ1?)bE?YV`q^pd@K5fV#RQb5Fe+60(!ejpLqv)F}e9Xjz^Wr{MKWSZo z+1nlCs${+eUP}<}F0Fy~qop{>cYiH@(uZ}gpUNHm_nYIGKF|YkQZMA`2$?@_I9|?2 zGl7@S-Ad3Y;C;U_T5U@X~MWZap4G+e@-}F^+z+2SJ&N2R9f8X zf4{!th?l3{$GY;y51NMB&%&LRaq{T!()J-kk~rw5721L)aC2+?wozu8?p%fz7NT() zR6Vg{rMGjCa}UnXfpsb|djh+{Ys0t#9S@qqg?mHCiO~Pu{2E--r=BsYz7kSB496X| z*D+wz(~ibA6U#k*`!wpZ(qc3--#|kk$UQS2rI6mzM+*I2<;TO2%Q>Bk%#bAHjzIRNtFfrNu4##o+M8@ z*do*<@jMM!Gk4_^+R#7;*10Rzadvf6oWhNeLxcB2g$G7Bgcb@26F}QRVMYXU3xyW$ zYJksEZeVL04=-zI z!hA!-=;M*QEnDedHw`u%3jj9ACM@fI;Y&m6+9aS1o%f*j91>9akBA6^>CcBs zkWh8YMP$V*IMiEIpj0Z1kU}a>3KW)DP$;_2n-s=m>RVkT1xgBY~j)_E!u3<2TY}fpvrM#(rBUDm4;aLS_nuy*MJi$ zPD8qE0wh$W!@6wX5`x0B`NbYe(qc!U5i_s~)8#0Nkfr_wD{&Fh3sGPaCWj+LibJ*| z3dPF(>7Q8eEOF7Z%vt%4J-vl4#36_bl6MrTmxZ+CC5o)BZ)8*Q`bD{xZViw=$|Mz1 zw$ZChv}8owNK8j1)6#-eM`~;mxi412w6u&!ji;hZ&@?OrVxpd85ikoWKc1+EmZ~t) zB52f$x4x0(wN`GuHk;^O1DAmcIh&yOCFk6eYiQ0fvE&|GWK)va5y$k!FCl)XKwT5p zGr=eQIYL|$za8a^EY8FqW93h@x$?X&uI+LWu?ruaLs-Kik`^|x3OC{^kO@}c5~4sQ zJQRf_B@RYH6uN~h_*wrZ=-kinul2mmBbIL`Bvdjwv52({kIrLcU=?YADv||K;0h*3 z65J7mCnAbOKo)v{CSVI5X0sQP(*Y7vEqijUYKBMWFxIe$rHxI_qm2+nG9U|GKozM1 zN23UKe{!uJtHPVy}DI{_kErLSHUuU<9nSj6JSCf3n3ISJ*=k)jBuMB(#@BIS@o z^nnzZg2~|ok$LQewfcaOpnfCu5l4doBw|uaNdQ;>j@ODgheDTp1g=i>LTKZn~-biN3!%G zQPa*vEN*V{?|(Sp$AWSgf#hX`5*Lx&Sc-CDsnhU%u0n~@*94V&;&wF8w3x1Ov27FD z|Kqg(8j=1RJkhy2Laf9Wq>)vY`WF$AKj_?!67DDI(%g>XQdH)frSOczV_~V^W_VcN zp?79Q8f?H=E6XFc1QjTm{`}z#*U4?r=mIq2D^$cSe}pfVzor*{uM8hK&RAa=Iv>Of zJ^;5?@R`bs4q0(#&^lho} zkl~HB(FE|huIU8e%_8kSU71S6JzbeeoI0h?B8B}7)kMnQ;gHUpwa+AlJLNW)qH}+pYhK&xnrRIFplwjPN+VYcl<75dZs?i!*plgk#8}~qWhrUv2yO4>3Sk5 zx66Hp=aWmMx|EMUc$9o4A1(ZmF45;P`K~0{2t6qFR$p@aa6VNw8M*qlZTZKt zrutj^+7II#Igu1*RBn6VdGwi@SK}tGFM4J%#;(dg{9zY-I`aqo3RbPz$Z5TdTf;5- zbkVyOOvtn0B@?>`afrD#K(;3At@|l(pV9eyDx+gB=CKtShU_+9_pAo1vvL4#ape82 z{$hf3rlPku{RAnC_(Qie^rD)uyKEG-7N_?JRFmq#uOto1H)Vbz#4ltX9Y$B-4XFU0 zYK!E-RjL-DL;uXI03u}?hPT)yYL>J_JETYOOgaQl(W_*(R)q`UEqvZqD2{rI?x8Zd z2GL9EtZG&~MUUViMoPKBUa3RvlwXmH{2`CBTj6wtQupVGT9^JopQ2mhv{%Kee%8PG z0jc0y>gg_q60tDt$X`9*TVq-00IO8LO~-TV__2!Q&BT9 zb8!m^OUWvzYUmo6TG%_dd-(qf4Tubhk4TP5PsmQm&nV6*FQ_hQtZ1$2Z0Kzn>=^AH z?j7wPADkSX9-SSZpZq($IJ-Q*`geVCb9sApfBkUNbjy0%e8+aza?gI>_Q3Jb{>b^* z@x=Ai`ON*?^}_R#^Ro4d`>OYv`?~#x_on}r_qOwn|8DS}|GxV{@L~9o@KOIU_i_7) z_{sFC^y&1O_}TC||9SU?^u_$8{N?-=^_BHi`PKO~@wM^w@9X^=<{Rgm=9}kR=3D36 z=G*5x{5$?T{X75r&v)H-+jrmh==bdR>i6#V>G#d|3jp8;@ceLnaeT17w)|&$VtAmt zqq(lStT-<_EjcDSB>0!Fho_6HouielnWd4bo}remnx>NK4@D_iF-aj&K0z)%4jwix z77ivh1{OLd8U`vl3K}vh5(*+R0unqT90Dx7%&&=G(s1K&Qm|vN5-_7M;?N_|Vo<|S zqL4$7A`pWR#t_8d2jGR^M&LwX`(OoNhG2xCd!YHC2A~8WyC8WW_8{^g^dRuS*TB=j zHNdgJcEEDLbiluWu7IY1s)1sFT!Bo1RDnc+Sb<1^P=UYzkAOqKB47~E1Ske11A+k_ z00)2tzyP2DPyk2(1OOZWh99n30ssa80q{et|39+}86td77&JdLY<~d&(*F=!7C%`* zV|x?RA40_c&MX||KxC^9J&v3-T-MV#plcw+S2UGe(b24yL<}~#2of~(%@;$`7{FMG z6h(B4U7)gBp@VBTgW_F&) zy5G*Y&VGMDci*v(E@!e&&J3E0n3Cmg{QJc@_QkpO^_u(XEESPq-CCBKd7Xv7+P!d* zw{V%qe38d|nb&xc*9a3E2b-GdJlXy<n*-p})(>8->X3%bzy*3$s`DbJ~H>k>14e)z3j8as7`-WmgmGFnU!6;B1C^k&q8 zeH}+ME3qUhZAN#qjf-JuZoA=)n7FYL3r(atNzNd1Dms&1MCqn2yCGU7RO*n42Vd)>p{ql=wrdxMq%)7&%sLT${h`C@tWN?{F` zth4#nu36;|A`ELnh*=aC$b$26fb{vwGJdzwP{Uv8)L*$f4E94Gp{haX)tYsESE6a= zai@i%D|T0zr%tHX?H;fD!`;NqJ;iJumY;VaLFDW;T3tSScn6og8Be_#2P4l}Xu30V z2_bz=EyJlx^!$^U@RI?)y-jl&HkLlqkws|ia#k8!byl_mc%Ow?$@Mu6<8!+Itg)vr zIPEE2n$@yC-ohW1(eQ={dvxunTv%(=*>s>1@Oq7adS}ZyMMr zHgD+)bh5g+6JGvm?u@c1=j$hr0aL+8MTR1=-n|?B?FsIbqRiCDGKG?Os{9 zh1#W!dx`hAlXdP&Y8w~pvSxqFaPG=#yE?`V+tb~{{oNh(^9O@cjVI(^d1}x4SzXY( zyokluXh`y>q}L=r6ILZD0E9ccNgdm87U5iWlw}K5ir;Q=I&Ouvv_l**}&Pm&}&P(W4-hNy4j!UXm-OH93yUtW7?Diy%q{+QQ3(6!*-0ri-2>mZDy;ht@i#RjbI0 zy#4WALFI-e6RLOgO~cF$t4|oqvit^r#7h*ltFEPFHMcb@EfqBsJ66*aR8ei&iSfw& z>QYtH5hUw!c z{y|$wvu6}>i}BL+j>5)7jZdAZXS$(I8UM{*KhA3DE&?s3vJeC-F@cV&o>DPk zv&+(+``EW_ENU<_oI*Vgv?wE}>fz}SaU)N(!NABF&)+YCSy^$VY3dYpTglzY7wTmH z{j|ISM}y&#V0qA?&s9gjW!Hq2(3F#uDjKFXk5O)X^ab`=?eH5l_cVAUervcx*35J< zsUb>c#X?z&gTKNv#B!n6U^zclv}O0#f|;D1bK!EK!xumad$$tqW>F^ywS>JL+rNu5 zz~0A@d|^BiTHBV*7N0$&HH7z?`LZRwWzO&~Z|PPv8!FgbubE)oS`&TSf=fCMDvHuy zIZ@G?d}ED$smMRY%8vEaXE>>yiAGdwoOEYMX~_zbD{UEeYi3L;v)#pms1J~x?TPW# zkI_+X2}EqI)*3iwS?8#+6KD-%+X}1V&{@ic`V<%BAtfprm}dRa)ED@8X|y(iAt3n< z`6#K1dju3XG$FL*4iXrj&LOHte_L!Usi~@C>1Ab~=7X!tO@21hAl>m&*0z?0gekwm z=AEc;4W*+Z2Ncj-3--5c933?pd_A?PcD7Q}f~#BU?ZuD0gKZ4*E~!-%LU_xCN;hpb zdc?dd>d}`dXz524i$IoEv#gqEu2YMK7^ZENs?@p;s`bTCv1+^!Ucqs2KBC%oTQ#h{xEe7-#E* zUs}18VZEad%a41!);;7m*h{Vf=?woOGVaO3C2v{GLZV)0YQEuf-i;0{^p-Y9L0O!l zp!t*4HPi$zEuw`Y3GZTNp}E7Qz^Zf8zB9(Yy4s!6Joxg^Bb>M9rm{6ID(cb@qI_!^@A`1%iegCh zsVzx=Q!}#i@^;$K5uI{-2+uv`0Lwebdl&9kR5y1v?^ZEl8NubRg9H2xxKDWLKX~D| zULQjqcf5AQ&m45AC%qC^b(;fhU%2-Fs9TlUON6!to_gFM^u5U+eOy$Y8D7z@6TPCM zoVWIL`yKV4#WncIBc9Xn!@m2(HSG9zc22jw4zhTD71-n2Ib`8}!H($KUt15Dw@Gd7 zwK#LT|RV@Yt5?U{f8G13*Y==kAX7RBFJ?wp1OyUvRyDLk-s}n`OVZ?jXk>0zjY-g$4 z=d!!x3B$W94hO#RXP>i9?0c!G??X#0m~${o6` zDM!Nnd6n2v&Swuv9Qo3hNB@Ded#@KftI@+lSf1|3IyX!1C}3V44&!sNtZtrtML&ie zx#8+tzN!Yss%^DkS~)AB>KiR$*x{07Ci_=N_-FjOVCMu;Qg}h zU2$s~2A}zxvQLLu`g&dx;-i@5K-{mRF*O6YrrvH zBAFyZlXdhJy~e_cj0bbig)WZRds^*f#ge08DVV?y`3qsC@fDr?M9MEo&u9KcQWCYWH~gC z=aDIQ*3lbN!9)eW;H@QVr*+HsA46_*>a7TPXZNB(8b|((Md}BtY2r`+nK4iAsXX}) zY9Lb8ym;gz)R(tkKF600ZwE__U$i?PK!w|X@$gUGj|qC8{#xx;D;pnya+c1Fi@0Kw zy)Ki#FPHr(aIL_SE*rbm@%9O?<*P|YSxwz%x z)H9BYdyqe((0{im|G#K^3$V7LZCw-z65NXuAV{zVDDIx%4y8yaQc5XW3KVy@;8xt7 zmI6hCTY(}iw8be_T#A&!3;UjZ-`(e&{qB43d++b!y?&al2F9JuyBh92O_AP*4}qql{JmuP zrj{Ng*IV*6dD2@L6Hhukm%4FZi+6##a`U|A=Ps5$r>y>EBn$jLdHBTL&pOrH<#-d@ ze_x?X^oG8Ie5*E)*x``rN%e6pyaW07*+EdL_vxx*6zytGD2CFXSBDlg9bPWSOKn(0 z9s|BZ14kYOiXC1FQFf|+EtkIqcbOB6E?nh2%hqpxwRSJhdp9m=__efJxh{G1`wZ>k zLAbD&+KoHBep~{qe2d)6Q#M*d#a*t}1Xc2`4Lz%7ZoVM%yrRWjjwe<+O`W>C%w<$9Q z-(#;l+A*8M-0cp+ey^=;M%{NKDr@aOQ_?Pe$dkG)uI+kdJ_uUaFfZ)*u-5MJiKNHL zJwey9vDMkFey_bxyX!RlA&13Z;hjx}NS39!QJ+J$38{RmC6TqxpP{qgU8E&aziRun zcyBS~F>;eH^G{sL35q3+dFdE-wJZ9yDC6WFCIpJc>xw}Rt(H+fgUjOgz1>1;mtR)Ayh2YFK8s0=JM zyBxG;u4@-RoNqZyI=%hYw+T6QJz0RMqQ1pk+`8PJe3_8C9+o<{+@<+#tX-Wb+1wTI zYo+shsqZ2E@zUDf>FrKub*szq!3d>W@qmA<6w9tyy7W6ay^a>|3-YelYtrZ%$38>N ztd2_>xn6Y@SG32AYv0wXd>^UHT>C_R+KM`*iIkkECz)us%x&=#8UE^%k+YumXX5gp z{YNh7_DR>YjxLwjXBQXbGV{$DGv~pRt{Cv2!==$co#)6q=IWaZ>EmU$^96l#-rFZX z?yPrRNqRes)L3-jQ5PetCAsuc!ZdMd;W2 zak-420WWy_ueH~@uL>{gypPP~y8gsqC)SExH=_b4AKdXT`>nKG@Eot4^fUc@qVsCy zr+uimt58dK>rw0Nn~K16YDTW}9JQg(Tm1%6vNQ#5qVO(W9wxYJQQ%ea+e;f+>hKb;mig+iAwQL;3r|U&lN(r(nbvm+!^3+Y0@UZ-Vwe_ z0$+TL^G7{Kw@(qTgyELDTz`tDz2Wp08X*}f4G91_oSd!X4eGy!-Bt8HS|TTsnU~D) zr6l77Flw@3R0Ql}K=-#z=$cTlF%!@Yp!|y5FwrlS11?SLoY$XMcGQ~vjdwg}67=B) zE`=NGu#UJWG=+n^4O9ajs{RI{e5-o@=&y29_+g0FvyVi6+zQl{xhrnE;%aOQ0|esc zw4`i21o)C5_SUg@}Ha^l{1}^rSTgLnKnJjlKnnu zq;?BoTF3(2=~LelFN&vut%7WM;UBIfgUO49;bcLhecZ##G?|ty#*|E`maNR0Hv!KypaBx&_FnA?N@y4b|+M#qXy`Xv5q=Ft2sanSc zXGrqP2fs|ymZ~^rgM&JzkbwO(bv#|4Xs}czJ+wU#11MQZkca9I2QScpb70dd@k9zH z=lwW~sdER2b#mmHt_a4BOg5lBXjBEfU}UjjIjZb3zLr5cbbD)}e@LES| zMRMO{1mOL(IQ+E%=W7#A5U4Q~;2RRn0Bg$7Utn-_0*}aoe8Rzhb`xh{bBTJR+YZoU zN@N`72q{d+ct<{H4MY)#oyG-g>UMnHA%yAO(+C#F(Cko0Vy6)RcT?7V8HaqReIq^&IMfD?`lyH%t}unp_95hgq@=!P}7 zn>M!toC1`QeLr8dCnGAExiTO*V`-nL5vQt1gzoxNWDQ`%0{pnN2E(X93`lPjE`nGS zLDt}mq<|ln59P3*k1&?jU|G3BfeCul3E`@iTtH1jzevEZv{AQ$6Lw^UxEjbU;pjW~ zQlLUw1xe{SDaOsf6&?QtEdJQ&l6k%(3{19dsvTmGHhQ7((*`MDVgm(=Pm{k+^wj=3 zxkC4G>sb}vHs2hNs^k)AL;@s{2i{Vb`^}2-`AALu3ts?(A&_GvylRlNaPSZo@;RX# z-lVrB0k=_r#gaF8N>KbLu;pH~{UDcOsbaC@OjIWX1k(WrxbL6!kGac#XUcgnC)k zYwvJQiFCpo5eBzec(W`Jo=TC>1%m?JshHjQNq^e27j_Ax2)N3~?pQ|91) z>E3g2P|}ba*qhAhtpYOgjKj}VaR)aIhSVY8c7_ zuQsTS)1~4~ZfpFm*{zOw1E4*>lz>}ejQE4~+!9wfDvmMXmbfF&z*m)y7u0s^MpLc1 z;QHVVC1gk4tEC|Nik`NtMsR*gm<Bnjr;*!alvJ$68j^oUIgl@-r;jH zgGTb@Pk50xk9QDf>o`b108%b_!)ETlDvg*ZutSA{DDWl=oX?#XC?Ee4d}TOyN#uBw z4Cc8ZzoB%z$pQ1+k|S=`t-z?up$9Zs6{BfFm4oZtPrEI)<@l_+3M8K3YEW?78EPl7 zy`{Xy<&&$K`10_gUjDU$hcs{20~q-Ou7?hT=aEnS)l44!I*$xf1lP-fC$ONfHNH2O zeevv&5|^twhq9gdR7POG_1Sqm$3uCrGus74M5|;8Y`)pKDN=y~h_WWKZi}c89($qU zVNS#dwx;b>n2rlL39(<}ao;k(a-`bGsDGx74cX3|$HmiU%%0nFPm~WBQWoiN8r|27Ys@H5Mu|^VklDVCSB0uvaukDv6D$h2+4q+K{!!il9~o4 zYh<1rWq&r&ibAr;>j4aXGCE8U*uT~O&m3k6XciL&Q)E5Cg+zs6Bs~pS+<1=@rA&wc zQz!|GmF)-jvx&SF_?_3m4q2Pv2ua&(v={HqJ4t7W7{OQSThVb%3(lcw7+?@-?OO4lr)G+`e&RQj{QSt zUC|T?f=G`a08Z~O*Y>4Yj5zBIa=6rkV$O3WTcUrDoQzdDYE~TLzZ-?uPT^y-P?)$% z59O)jgc6K<{NUh0H?;zjGNb*Sh>+E|KmC9{x(nVkJo#{IqG%p*+CCg=$pJ}5LyY%Z zXG?^(q zrdS>nf%-g(`bR|X@${jmNpi5{pPbOto}S+2vjb$?&!)41eEYWh9ryG7S?Mk3S1PD0=i5RNd3OlthwQCxSbxa6KujWV`3 z3e$>yU^!)h%)!i3Mi1x{Pj=!G1UH5P0WRKd+Jt!p zssp!(Y8+?WWM7nTeSkz^dpeEES#bQU#c%fh_oMP@@^1a-n$?99&6{s+5S1Qd%jK!0;rgMph+&Qgg zVdVH5+_Z@MJrgIad0?H(5nP-UfDXPvZX|=wpb6A`KYIFt(Y8sw)|7G>)b_-TFjnZ~ z&YKPiC9B?gTzx2@@Jk$^!9ENXbE*&yj3hkc(8Pr>VihVfp;Q}2r19LT#+l8FUI~QL zYpR&zQj`e`d^LfoNMTX$<3qop5GoWfR>>yUeyvF>JRVImr|G|~mgnqr#ls;qWJibw z#aafSGcGkQzcVJ#0CR*RUd_fFq$h5?Be0G8 z4$n)2T2EkRBv!S13w+!1Sc^PQW5DjZ8Nl?>cRqx8x}mn*JkHAyh1lfPbxRK0#~ z+KEd5I8GXI8R{0VlQuV*Iyb2h>P8HJbb;XXFqAxA2-SB!VZpteB;O*TC%44IGUSs1 z0T$x`aDLQ_t&DTM>)-j_waPX7^*AWTBLD&h2rYZ*QSP5QmYVr4i#%pyma-qVq5X}~ zOC-=1OGs^C&Y($_f(>;{!0^kBzdGAT4!WmC_!KUcLJ?3De=^1p%CPz+%O zfZEe*pglM!3#7V+5OKI6&5Uks+<2cD2E!0i&_qugv~6AXX2pDk)!xXy+Tatfuc5j5 z!+|qBZS8M0DLUizIX}WW62lBPv}MU(JUni;uEk}gfcUUrW?eRQBsTiMm{njZOXC1x z^623(B_3#vJXM%kZZh&Z83YWp!{y8e0kG5UbOm?=jZ~vhfHA`oj(pH?@0bh<*8erz zmrcV+{sdUYqmR^qs<_e5&&wk@ZSxUPYkW|YCSZ_)HrPS^8aT+UKdl4h#@OM?Oul3( z&mU$ZYhvqTC3`*#z$OM>ah()$HmzVFD2Yh$MOPbw7|tq7OY;!|AdbHP1Fn_|0!1xx zPCObLsL5x51KXG**nl#D3^hPI?zo|$1tZ31g;po02KL?-jPtmWv6{0Gibs$c^gedQ zs=&_(Qbdw$570iRLth%OK~BaPRt-T$jzUFzW)W1ufI-#ZjBaRK48Zwm`wivER24>u znwGf|1rQ|Opg2HEG)PMO9=5_+GG~$oG!I9ahl2}T7sR0fJp}`kep_ElZYVV^5x2li zKK%+{1UR6Ur-PW2b}4Bk7@L3TGwGyBFlW;UI4B#jx$5tE!op3-5(2bm!^lD4vT@u2 z%42$ND2d>%8}jKP5{_87FPOxjJkAKiA3bBTC>UUn7+)2`DZ~e-xEEJ7oR}zrIEo!g zD+(e2p=~FJe0R8*IYva!kKKQSg)xKwhUK_S0Xj> zdOLPffu*??6?fzfgSR@#b5`Il&Tqf-iDC*C>3Y_fi(nnrZ1||dG(UMHWCn(C3GlvR z-#21sGGtF$MMkj~a5A>7TT{lBy)sr^3HMMw09Y7?*C9eySXMaA1&{~3?^Y{-;%T-{ zy}^+7DuSaAz%py-Uw{pl|Lo75YEAjQU^=8a6vd|zSQ@gxl_^ArPhqc&yW^oTB8Mtb zp%+7?0&P*Y_8Z;tTF}##hUlHf1YhCB_ohA8K$JI=IOg%G|JiV3y<}Q)l~r*80})*Q zRS0Xept>Dj1r&_A!$pgvEjL@V%AzIZq;(DA#=$1R|u zDG?Qs4FWgD3yy^%R)rWtimTJ~%qe;uaO?{Z`cG@8;cQ%{y(IuO2@EnRGfyx-HjWKh zt8AEc$oc4?+vwo2`|mg?NCH(6WX4L7i!b6m5r7TzR<(>oM}q@=!`41_F7FS24U>*E zTVuSuw*fkSHa($ST}D0Zx|oS8no}#!UE;itUJ0p6d+XEe00%Ynw}FFN$alJ}SuXfK zP`X~$L|4O_Ucp3HWj@%L0_rlF&@0X-{x%4~^CU@vJ~8^tc_Y@8Sw;{#~b4})WYxiYEb-9w&j zi~S<^jFqLM{*CY2h;Kv6^Q$Z)1Pu!wpiWnK4luWsUo$gevq)F_*B^ZI-$hpZWWyAA zuv+;ljLW--b`|(G-``a1G|EvGN45h@HI8XbL9j{u76XX=faju2P3MT{e5PvgSt@Q5 zrL@f*Bh0&tX-4UXIKGEy!R1+@^PzUSTHa3T@W8tLcMx1S0;?& zP4B9*%WkAmxSaIskaskX!t)Rx@oD0r{V5UJP-pBbF}ivmlRrZMcg47;m!T50X#q3r zT$yoh@>Zs#|a8IZ&wQ1>wt7T0#>R5-nz%wfiBvS!vof^5G}c`w+$;5voK z^T(%SbR?D4Xw?zq4Rx`mH{h1#}mNZ(TN{+sI ztoTadcg(Z8vmIy%i7S|^9N1F2d77dW%yBwAV`0(JyTPCSy!_g4v=Q*#)0~OMnam_P zCpU^gV?soM5oaSCl*%gcwf{ykKL>OjWJBV{*|Yb(Ze7r!?oHR$)h1>xh>Gp1mMO_8 zBmt-m3;0FTu`iiuPN|%UA+AtN*0G;WmQ207Gw~-pE6i>Km+R^NO&i+#LQCWsRk~dE z5!zU-z%?+1)i>0v3WXRZp{C9e%N3tE>kL2F8!hiP&dm2g=INSd73S$lj%=}Tc>#?< zu(naWC}xf;k(QEl5r)hK_17 zf5$uPb>y;gT%*zn804FPc%Ig?LDn?QOIS#)*3<_ql>{srIAvB)hn~Z$%bbtWkV?+X zgPthNJ_erWrKpm$+|O7xxVfKue`eD%@&48L6BhVO?SN2*&-t|dEw0v)xv%gxE-UNv z5l-(qrb?hTBKhu#lsO4e38(ml^2rmaAA7!Z6|Roa>AR=t;hf<4IWxL&96IT(d@L>3 z6QHID$|HY2RUKy*!2@Dl2s3}XVMw`POGRdja0O*$4Tk_Mfn~0YBA=zd(A9htR9*<9 z1=vW!w4h}M#fG3Q4khwF`S3#gi|fNmPl_wXI?1NK9ZqGO(0C{@Sd;xxcrM~S#t6_}dfIXkb)?W+ zErs}U3YA%!_`Lqoy%#vdJ8nP?NXH4!qhdL*?ICy-@e3kRetrvo%9^BrWoqo1??e1 z70j^=m^@q;B7dv0RFU0jn$-$;L@R}g!n5IY%!38}Qbr46UQlEAQrWv|L$x|%)#GNS z@j}FSsCC%;2VT(JAO+I5Y$iZa1N3RJfc9}>lkoJFWw?f{0svgJ6m3Rwj6%A?y zz08;qGPD>D^rEOFz*9;hm5Ls<-B_ti@19i3I6ZLpNA_59kQjpSIn6i)U$%uN7rQA-w5NGw09f@mN5WwTstWBDdS)=^>JMVacn}UGm4I; z)Z~gXC?!e1E07By8mMJ;{?({^NjDzR1ssHeC(HT-rjvk!0=6SjeF6ccX8sykJx-M4 zy0E=IL8{&OQp+ZwJ-6W=_R_c2Oai~>c$5^~U!8Ac=00DfX#qHC3wt=&<8&*;(s3OJ zqVP1Kipc=YhOj_0zmh{+gQW!&K8^srbr{=z9#fpI9|46bx2(bb=AQ|Ybf{vX`^#Og z*UHG3Al9&_%MDN7wsAFO3@6%wyXr#iQ*4{@KlyQ>yCfW&3jIoz%TBkKVZ@p%za*V( z`Oesxl6*oq-7xbD)^8|v<_m1x*MJ}KkLpN168NlB{+421qx}7%sE=!H7mZ2nvB`bz zU0Oc&4m|&3+C{)>z{_h_Z_z0^NiTr+}M zoQswL?|=1r>XA$oNvy2{u7v=90S8n z^xx-Pa}sv9b8)vtrz}A~xxWAHSwo%?UBv34MO3GlGC4b2R8$m*jjdmR=c!9${}Lg0 zl+5c!>q8tuW2bpN)-w{!>0iK|JZ8zI3$w#-Hz9QPYXyDQn_2$7L~@UQ`F!#0`peYj zJbzPw9r=k<>zh|>yvD`yNrTb_PoL{>d!%(M|6P~nH?QtuE*Gz(-QtAdKnqTi{rvAq z-%~(2DN;#mfvN{EQT7&gFE%euFRlwtFV+jt1*;dw1^9x)i~WM_Nz$L>+F?KwhY!dH z+9tP_<@6zE0K+qLkejz{Cb0YvZrRLYzcp>WT|PX@|)`+YdvSm$deJ@kr%_?hZQ!OH}*FWCz2;5C$cAR zPPES6Ej9SKL=@SIk+8UCLcL zvZ^HPav&BiD^5A|hgmCDIktST6-Q)>PI7%RONvfPeM)}PWRgo#K5`Q2g3M1=8fh6O z-|*P@zOl7&x*@gkU?XG0!JYGp`ie^;_9pu#HdiY^=~iokRSjt~{OII~JD)_xO@b!J zR`PPn`ta2T>4vvZ-c53@ynRyfaI`Jw6{SSrh1c-20(H$r4op9`M+Ktn*!C|8tr*4{*>Z^qS3;DX$XMdW*%*Q5wzkswQ zpbKCo`vG;pCr0sch4!SfLXiKw@L?__8~34$R6T`7plNoi^bkrMI}{|%j! zegm<>LmRd%%`!4k$b3{m2C5E+f&5Hpz8S$DVu{;M zW!tuEa6zd8I*ESs|HG&Yr=1FI)Pl%B8|9Gap0DKoyUm%Hcsa@*@RxYvc>|q7V4uh6 zy)X&MAwLt7E_YI$T0Y8c`nQS~|FEdTxwmMixwqIe`-jE9SD-kJs_cWCDHA zE(`}k=2;R!6(y;!M4+6kg|5a!l|`=)kI^Kq1gn%q80vpb#@dn82U(~Ql>CAPzhZ(U z)v@DDdzQ$5OrV1Ohmt^>144#Vj--kTF@O^&qbk8T(;}tvAIs2;*?HH{`)w-LPPRVC zAhHbdA3D?D$z}ih7Z0h)i{7b?LfBqLY~BCbWZjGZeWSfxZD{`Ly3Vlb%RKIYe)FIx zcY2k`2Zct%+D2j{z8k#(qsG>4CuQo`*a=m`|Ji+e-`#`XqyOxV)oSrrM8}l!>NURN z;7PAj9+*z6F#SkDtzlC1bVuEg?_ZTghE&m8hLzkDla=~<;I{^)MKI}db(Lgq?X(!S z<6ItUl{E>|17MNg#!_2GI8M zve%kGEf{JqIr|%gz1f=k#ft_z@*=soPWd_f8DUs%1tzi*vz<3P@bHx@; zppS;HFE6Xha~BtmlBAB#v?Rro-^Pjra0v)&cu8(*lA^x0I*b)k9<4-)bl3lfqHshh zC51vCHVOwqN+3!p|KxC?M@apr0{pWijOw2j|1#A74O+~|_qk_^|JUtkH2O(A#nFE- z|D}aLztV(BK=|{45U$dn!mK|_-urR(a~eHgU_f{G;@$PleygJOzQwtz>79Do>SIgX zT%~p{sVUP`(iTCEjRS`BY}B?3vW;~WsObNE+`Aw~Ub>Ql5E;EN>H zGKeXCq2BmP3r&R#OpAzkwkrH5sMJ(6&G2KF=~D9lgBK4qj?Iv{`Tx?qv&jkLq3up{ zccYG5R&Q%17<4H`6N;VwZDW`lq9@AZ+&g7kyfz=l!$3V`Z@5|^E?P{WHqgjqB+iqt zU(u`Q=A=fQ5Mv`%XM@R{@Ze4y4?j?qGH&ZKne zC!ecvrG?!5`|g?FW}%b)hA^p}uyDQ)ch2Lh@lgK?p`*jc3*#ftm`ClMWlwcQPfxNU zo3j345OQxovxzo%$9-?m_z!stEqf^3Q#HO3Ke2oFzOr!C{;`2l+NYDU2%a2jEn*{4 z-W>WWCu0#2!-X1W$BL%MGqbvO?>^iUE$)fe_eA1*;sa4M$9#5HckYdwfs)ZL4m4Ps zfd-o`zubd9DY{0#2006>zVK#;RhiX0QB*m0R>3Q(&Uf#@7ykfX-h*}b;58@f9FGb* zcp3St!s#&hLihSj?Uid9DE@fzEz93@X@(P2+;R}}~WdlsXY z@<+Y@=@pz0gx}tp!w1f`)Oj{HN1q$WtS=b4U%SZNZ?YvH`Nt7!Y3?eeadVy*s#B$0 z>vF`v{VOO2N@NYA-St_jlqD)jjf!%q(s=Z=W7N~Qxl~Hur=}F?n~lQtApAc|DpJ$k z^$pcEBp_9{nlS%);lLInmfz#cFXtjy@*4iefrMDnujLnwRzqgE3VtG{F z%Nn)sJJQS@(fZkCN`1PNNKT=&LUnV8{~wyvtWjMK%E&SzqoQ%c2p&Cqb?r26VUBY3 z)GVX{$EfB=CB?uN|JHKo+G+afp~5lK%w|{2;r#3GhR0ejTePT`-S$6Ju1R$*iW>QG zz5iYobJ%~c%bRu1;ps{-P>eZDO-)*p65%Mh)Ybq(x@PX7xO+$#4Na({p?CKX+PAOe zq*LhoZIy*lE&D)N2fPB*VaHlJXaXHt61%6{m!frh_e`{35AZNh9Cfi&hh2R_le%#r ztUp_z93?k2rD3Vdrf8U78`$V#gt+gaLqm7zJ%JBRNH0edVp5Y%o@Aj%sn$o2;)y2J z-jkZ|NdjonmwQqKn$&(jrT}`L-LdHRJ4D_?kM1G#-gJ-MPr(LlY>|u}%A^c!V}u^T z>wY|o`#FA1&~Rw|`4$MFMc1uB)5 zUH|7!wqa6{t`-kWPm?Y?goGvgf65h{)Fs@8DFpg5Rp@e-%yT6XhKY{)N>yqim8^5c z*|SNzdajPJb8c~wk~dVj^!hRc+QgO2&BeyEk>B)qca`=lsLu;u&&FKq+B&NEa|<;W z$x>yR>9NFU)>e?Jl%Z*C254GxWm;olv}P@OQIr{{rl7G=c=G+C7`|T=w)cxdsI)Y< zj6@5)TC&iJv%nKok3hnX0I77B;IA%2C;Ug(`=(tub*9%(R$@xK|Id!)KrhQLVXllv z%UJbKM_PKSP0`%XEjH@C49hs^x{T5xZ*UJ7YpVqJt);4&gDo`0zFq~9}GRaQK7 zxrtVq$q?((*Rxu>R9Er$S?8rb{~2FzIQvg6 z@1hxBo7#-W&W*-CysR<%@bbH<<%h#x?d5@_7p~~PZYx(>Z(Q7<$ok0~&|y?z0PC_0 z#+yIb-oZYr;}=lbjw|xGi$`)r$I0V~P61Tw#n~*MF1I&_pt5CGjd6*!(h1kCqwA2w zdfDKUuu)2gPK|8zNy%smM5j(R{3LbM0CGX0!=I}vUh68kde%!9CLHsOVuCMMMZDTo zbak(HsaK-kL&!tWL--VWDs(D%Doh9^6e1KP6pn?)3dJ_Y3Tr?$BsC;7q{hU@B*!Gi zqrCx}?m^OPadS2-1V1dqpTTbkt^eyUodT=&Tv{380@DIk8 z9)368AM`D#mu~HW-`7c6*$={`)&*L5e@8l#VJsHn0Tgw%aXJf0&%y(ySa5sfFR{B< zAKZko95HpFOfIqVS1J9%NROD8P*1!=t=6G81l|1)k34RO*LgpQ<+c%oFIM51J(IH?rr z-;09NAdhYj7LSJ>q#j}(4?MU$@I0hE7(94A2t9;7C_UJHv4z9hEWPuN%vKSrBE8k& zCeig&maHA--dRWbs~o+t0}p@?sVocpx=ws{w|Mf4{XU#L-hIZCU+DMo%BgdCHLi0a5GUfAoYqpp2hmsbv-gmZuSy%8c8cRf1~i>4(DI92uMGy z`do`nz|VlrFTn6`vIuzC+umP${As=p#&(QD-QQ;;1YX8mL}e{Tfru-;wxqXmpHtZD z0wb(d(p3l)HRAaAtP0&7cX@bNL(d}%5TL~$OIz*{ztzIibrq01Jy^w$q7{)Z%O@oy zXb<=O^0&OMEJ@yeo!|OeeUuJar^iDz<9D%O!NL8(?@xLo# zJUO}s?$<>~uj|z9qP2%&500@_KKm%{b98+!t6m$5>23BJxgoxF?MC`rj7kLny5%2h z6mIkuAon#=b=}d0Mwg$&y(Xz@>z!O_=bGKy47v-wPRuoEs#d%DR6M#QU3IqXl}1Dg z@yVjkZl~`4bQ(K1+h&!*bMs@({RVt7$&xA|#U03aBMIsD=ecCq-8r;SA7a!$(R_G` zNA05Pkvo0IT-p0j_r(p>--lR%?rArPvw;sz+dayfmeSM%osA{CltzT?=U+v&$9}%l z-d#4kFRq$rgpZK+!ol46S&mhzwsaZT9(UJB+Cb}Adbj@9Za}bA zU3%4Rd7B&yQm$Lop7*r-VeOrU#srC{hm7U(Rfqp@@gx|5wQmOv0V7&w#K{rn8y2ZW69H*TfIk7DCcrk3EKLUeJ%e^4xGn{t|z@INdn@q~* zX68skmU%r`y6+y940b&g|5%g$Es4hXax!bn@8FKsGH~Fg?A37oj?wL&ncb7^z#ZUq zH}{Ns;IdccF}ghPa!fM8a`~4*^6RXz8>fsl?IVM3U0T9B(OmrxJ{{9i5or^9CLQhE z-wK>-j+XTUrOsJOMOzumNO{L)OK(acqnA29`6m|rE)mc8CRGuRh(8j= zsK?~bBqu)nAaCV$eKxU3CsHzt)K4iDRf`rpPULkZaJBzw}&F6bCxD~beMj6a~R{k>`U6SFH57>rFE87rxwPY#Mt0*W!V z+*>nHD1bnj>oiIWTaDj5e#I#~vX4d}L(R;>bH{Ktr8GyklTp5VIcWt(|aT>z&jWOCde7 zs)d`_&#gg$_2m#VTdc0ShY$7fTRI=VN^J3!mR&i=oSZzq zjUzg;RZ!#&s>7t&Wgsq?-y2r0~CuJGRvVdAK)mv4=`OPECR*I0@ONa#XVk zRrjV?r}Mo#8ccclHty8cLVNS4-S6b!w|ttz%4(wYLet1J@~p?JBU4D7bj@?yYAzd@ z$2lo&K3Sc%4P3F5LJP^CBH}*SdU9o1to`R7bg<4x71z+-{XU03_&<4hS0`&9JNJhQ zp0>|jl&zj-jQC^lTb26C*kb8ye$8_`7TWHp~fEhl_;_{Gn25HSNfYdH*;-jkIf!C{3Pf^ zu0QOcT_k&BGO7MG-Yx9`Ed|ATd2LHd0!`TEb31x1vYmbDv3WAyUmeb#_7|`BS@8ds zI@?b$kT^ESxt_GQf4I`9=rVsW7=J!kK_<9@{ruDsQtnl1OuV|+9a!Jz-1|Gp)^v&sR+HaWlbR>H%6Z#gjF7ONp1PgG#Vm`?PA_>T_|Z^mzo z;7F24DaHe{)@P^|SF0Y)!Bv?29?&$jA)lz1J$P^eDh`z894VBG^C$kZC@n|DEfb@v z_uI7R=vzH(oo*G2-^H3vcz^5g&#HJVQqR%)2_m}vf@Db0Q>V|##7D4GW;4C$QD7P8 zM%{d3O6tc{qlp(WhY3Y-&@tb?O<&iGniS7=zF&&VfHZ$HzPsqFkz#tc)BHg4wXVu1 z1)K*=d^Q6p&sipOJ163=jE^qs!ppE9h+tmSd=V#+O`1(vS4e%;mr}tZOFVx|ka8nV zyZ@)%CBj;cvbC{Q8}Z`p$b+zbsMiO559}Lid~xone5aXmJ;YWjQ}1*7n2ha8?bd=0 zzCd}{Iu#B?+u9HNPPF1oh&*$f2ZAutMg*uDy^d17P@P(##OPPqBj;k*m zdg{7)i;>Q-x``-h;=|aq2g9TPG_~iRmF%!B;tBNlX-Clq#l2fZ&31{Ez+K= z^_Z-cY`MMp>jOkEbrA*wAEbD%twG){7-=EYSK4|A746uyZBEm5Pcq~vbNQJdiX!8w zj~q`yG3Os7tx#Z)3@FdgZ;Ov=oQh9C*j zSW`AlIX*>G@5}~vrQ&z&z1w$$0XNe|g{*uu2JF;LZjT$r8q}ji{yCdD#A^B9?>@5W3{U&+MKi~RS1m+Kg1Dsbj@`%}pz#Xl|Oqz2o z)l#N}TsK7%X;NCxaH(&-U#H4{P?B!%s1~BI@%hPk*7sJ54?i(f>2;s@_$j{X=dT*x zeWuoDm0HBl&c!;K3C~1wDO;;wJmVJ0&Gx`8*Q-klEc_AR|BctN`MT{DwGA!a?SJwg zxT}Fo_yBaFGW4DFzwsacaiaC@o;~+?_0JO?Z}iyUyD`yOU02(IJ z_u7zsl1|{~hdHM6!sqEi-`|wgR2wpTd^T1T zP7AT0IA-FX^tUz6JZSVD`BC}KxZ3Wdc-bK7vr%zo)|}Dz*M$~p1>o$K*4-n{0ip*_ ze1C+IFHOh|pEea|;g(i(59fuy8FYR^uQx=@=5`lm4J9&l=4llf5}S(&s7TxuOZ&QL z&f6Mh9nnRDqvuNQ!W*@Yg>$s&$J-iX4fLX}K^UR7ObuK~t+;2~O)Bg^5fDi0q%{l0 z_KyKA;)m%b7&pBK8XpyVcNXmcj2jXj(mhRa>x&b61Fc3G%8Iro{k|M2nFM zOW)=-1Zk%Pm)B=BG$iW`2r##ZMtI0wNoi zBys)9y%*kxCxOS-LuaN>M-#AtFLmexM@)Da}%|6AjF$XziE^WY%!R@_(dGbQ7q!Jr{@kgE1mes;;WK=p1mfq68d9nRn>5lNj z4_R^;6Ns6(B>yhTRFb|`zqo!#pf?3&>UtH4@!kKN6!Xo{t+F!ru8howNa2V2i6eV} zGC`&MM=KU$eebJwN?vaKanif7E_$&+3PLqQ9y`IQ}o$tWwWw*+sHOJzQ*a4o@ zReNONfn5M4r*>JT}lgGWV?@sFjXH|7V@5rpV=wpWjn_Le-5#3 z55q726=DJ&=JOtG7R`Z^g4^QB^#@11myp@4#g{-`vlHp81+S$npJ$tSSNpf;hYw9K zY6cToYt&o>zgV-RL}p1-u$@%I4Jpo(ropZ7F~N^>k)I#hfWjz1LLJWA2T z#~r8OrnPt1jo@JC?MqK4T+_uj5+5f?gwk2NKWe!8`e}uQfzgI*C`)=`jO%g-9`Gh+ zWF|n3yeqII;dFoHlQrig)F*vJkd8|+s!%LyD>G5Z=j{lg-|tuijy>ShX2$aKO;m z{K33i{&Sb8q(iau_G?}re6a)aqz~B;$>vAZ3pn;vs@}$5oh&6?^A@LF*ZKPmwe6kN zbG3hLi$N$dAZ~qAHMP%0a^{+_#$481nyAL+W2DtL8|?AJJ}|)@`#w0++cMZb&OIA> zF+FYgRaP&i}@P?4-Cgo>WM|CS+e_AX>DG25O~G&P}gyVoF_`ny6?m}JpooS1X? z98|L%wfD|w(ZO}7QQ;@OXi4YI1h;r>B9-5`%1zjagtic>gn^Xjk}4lEA1{D|&Iw5v z*SLp?W98mUSid=I_vEACRQk*eRbo%a>-{9{p<@xTGXom4sx}4mS9#eZVgwWGPe@jz zg44o*#N`r%T=@b5Q64|*9v)8D&G6|u7`!W?Dsq0|HKr(X6tRE(#)sgMy@;?Ap<&Xy zJPBX%XI`e?P`UPCwI7eY!k^$(_M2sM3I8BZy!d@mF*`9Efc0WA>s9q;f#MiHrh)wA z!7H+0-2bDpvjD4V=^8Mgq;yJ4cZX8a-O|mWn?pBBDA&LkBN{Ro* zd)3SN(R;t~*`5Or`(10+n%-+>7bQx>?!D5J1#L~ID$2c)di|Q+M8v@fncWxNBAJAs zf_(IlcEhhu(7F`Y&p3}2zX4VoiE<$z!6WJHO}`7`4jo1 zR7AEDwlSx~-sHQ6u>rES4)9IqbYUr}1z|h9M|q~r=TSUdNPMedBnBs ze*mMRAG(mUJ@!g)B2qkjp-jh?@7xuZuS3~q**#LUV{=M8K*#u$^DA7?E!VM=GiH!J zhPwme0c?-b*i78*fYnhb<;7F1e5|5(#YF`+R=&@dbybk9tJ+rxt43GKHJ#=8VbU9y zN?#$dWW1YImU)(N;gTyVW)B<=>*+%B?$w)NucLV$mwuNno-s$%6*OAAs4!S+dwV>R zy>UGh!Q)%tCc<(#9+oF!*6%-Q&N5b)$$XkRfoB0F2Zq>{5k9AFtx3)GOu* z8JCi83jC^|QEl^ScAIG}d0v(w*kJ{@vo0w%)O=8XdGa$48$02t*YK^ zHJ{*^B0=+7Xj|Cc3zgDJUO#jt8T+)HJlOq2Y7*~xj3gG0BhFWQQc)j&9YdJv42OB; zYTigLXCJpshd1|LKad4ify9cbDs26{p3gA&1*2lGakiOX2wv@$rUKt#ECQ2c9H49B z{O{e;l^ITisK`<&}8aP zxwoz_=Q~g$E}MG?xs98pI3Q;jeS60;AS+yp+fhRgb&ogo4x$??GYH!l)9m;ia{+#9 zVx4|oJL?1yb)i{tqbE_aqzyT0L%mg9*|wNj5YBXsWer}6x5{~P% zZSv*PB1@50DZ`R!vdd!-?X&`AaHR?y=V3s(L!Xv@9cHtml*-QY)iStG#WsGoPemCweY<000e+&IaWg^4jmI_krK z54ZBbu%D{}ik^Yf`U=6j86wl=FE_S}g~C-wb^KJtm$VuL9C;p-9fNZV@J1EM3f_)j zImhJ9Wkm~xF7D)Q(Jc$X1~}eZb9+BLYY84c>`R(nG`Cx*x3BP5ggx<{hRx6aB!k< zB+PJTa0;$)%&u^D5^&t9L#;!Yd=hYGD6d#0;BdFj<5VT!b`K|G9-Xfa#SESESH;nw z-MDpwfg<36x{;QVny+t#uliG8VFe>otLQcZONFP#mNI5-vQ}DVj`XhLQb=i-VJi68 z_(_k3p`fYZB%)@7Vo>_9ZjOfwrKnl+-B^>Tf{}o8g+ndkBvnm$;(?<16dK|r>c+Vs zQfpx5TLH{`Nw04dl)f)A{=LGXZmUA5hV9EdV+yKG5Gf53v4rZbLX_7r7_heXh@ISf zKwA!7&fHJUNUbHuJ$l-`1QNXGyLQWfS4C(i+{GEr{G8+B#(r9hAB;pwavJb{+7W@R z`K=76*cTTk8yZk|_r!X=8cTBtDULV^Oxb#j(z*kK6l^+t5xvNp9}9I4pKe#9=b0(-bmL+2II5P$Qu zq;n}Q(Ye>vPe@bY_u4O#BhyKhxEI>HH$p&B#~3EfFS zH`sLV7I{m}izVF?i1l4O&h{fof+;tTvcKbB+-bW!delCZ%bQA8z z)FRDH>ozU(c%1c}eamx*v_WjkGj9K!>mcNOqE%H?O%l@v1-ls_wRBf9*jf%EC&96|9RD1&)_-Xyf6Ial8assr~&K zst@KAMfVrDQl$`sMt0;XOt@kh64i^o(8V7He#3p1Ij{m=q7*g}Wl{g4qxGHh2g1%XVewc=@%IxOq~#T+ zSlx#{8RoyW(;Vd4wQ(Nxnw3{<2qxGSBbWjkOUo}%aB)RVPUbyWDteoWX#n5xRq7zp z!W9~tAX<=v+?6aNK#+7ogG{q9aIr*)sfI2OZ%A)4$sBDZJc6a$=e(+smE{eML>7+naQnT@+883B#S8_aj5rAmWZOLsAtf)nTt$ zF08DX7f)H!%h{MEL**4Od#{XdTr{F?qM{ zBDmf%vtYm>h1@wr1BP<;3s|i~y5wAsta-Of)|ooBxrlnvC*MYx3T918Y5wM}EXwJv zy(9$!vD!%{&6v}B)yH^O2QRcx8DUhwvu-=2|9@is-%mmQYNv$3z#Fxl|7xuw)Xpwj zs|#G1RA!y5Y$*(#aXb`hi?Z3-#95{GdTMk!)qS;w{)Axa7Pgtm2TLEnoJB5cfUUqL z66QN{>HCq6=fh@Lm;@4_&uP!iN7h=FnzlASKJ+~!Zf85sBlF)TMlhBTlj%AjFmurA zO6%EZ4JOf5-hYYO`WP04WyMrbKboa7)Lp(?ZLBgZHG4HB*f*~`Mj14)+RTW{g}fRZ zT1G1S$x|hq2g3s+0ZB((SQLH2x0S4!Hizc|XBFQZ61P~9FN(zDQTRAjSRgEUi7*w%`5Tw_&DNuSKIo-^fmJ>}F69i)^^V*x ztVZD_UBukwV?ok5sL0yQMq|MkplL!HuTc7kS}BUi@FGiItOa3-V10x}MUrKIH@DKg z^hHjt|FGJdm1pm}=(5)1JfB3e<)wR8#vo{9QRjYHiBw-!EX!gz;oxj@6Ib7!57ysY zSfO57SPS}?`#gddz3r9(`6s+*V4+GwbMl&Z*{cFuCmE{)l0Hd6%~&$*j-;Z5Z?%?d z?$$ijlTJu8>t{;{m+5ET=|G1;Rz~k_Or&0p-$9mqm#P77L$yq7I6?JO74486S=+4Y zUB4sPut1ZoigRe|*!&qvr?tOzdF?HDhJb2wq3dCkGfK$a(HH1XD%QxPJ6LXvC%0Hs z8jb|?yH|S(!Rr!^*7cQ70&m&QNLeC&1SLO~AxrMsTmq)^;tzwk*OENVV+eCvhH5PSrk|pvy zHU7_^z#V4OpN`Rc(&go(eoYX8Y-evpKZEH7+F5U4?UMES@gT^=6=Y{@YQiG?_m_VT z5aZR~t6*thf77c0N!K9VG(aG?lI?^G{|o|VzKY@$ca&_a>hxk@{mGq28{UF zq$V#&yWmj*YmK@hJz>LYG3A2mxGi}`-4G>V)!j@(3T_Z(t{LN`=$0^rC-cr|ZHnl= z$-EWjG;UN`wmbb~vRtH&PrX}R;mtU8c7yggUoxu#EnD?vL*Gwz=P|3dS(cIdM6+rW zh@55ZVZB|4c-ecB=%n8c#|q#n^4)gJQW-zX$s1;$qZ!H**N=^I0p23e|GuJKJNSN9 zdrg@oTZO5XGwkOrHK%XRV4;EF1L;{j%}jwo_EM8_Rqaj?=fQZ%3RK1ao^dld!6ew7KuevQ~KRBb@FGuK_NyM+QJgwy*G97-=( zw>yO3{>xqhUa(jvjg1Z;OXloN5K89$hpk3NrP`8sS)AgPTi*RJFLE{qddJPdH|oOC zP^yCr)zWA!OE-3>@0e{GR+la;C>dQK@#izYI@2H(mXdpIR@2 zTjcDUrTMv~MQWulcRr9SrMW8kBt%!c@9ydu9L!=pa%l;{T${nL6m?TXn^UTxeHIXG z;~JQM+W0)N;4aF&lqHf-ogsX%nj5UmSbwe<`JCsShv;c%T#F^=H7)R_I#FOWE%Pr3 zikq_>KG;cAs?&0)I_sHd-qgb^(FFGvd8TLs)Zk9SBcgn(XvKNx6OPi7PC>17)5x6zpX^q5{lvG%PU0OB6ru#6!zOq2@b;x!fUu6@=^*6_l`64 z-R8=~`+}9^mvCS4+@1EugkOk%M zYwKiDiCz)4oadNyc)X=NAoSu%4Zh6)$Vpu63GpdLcf3abGopH;4DI7Yly@bWl9FE; z>mRI=qYRMplIgw4qE}JMv*)p4(6~tRuk4Von)jK*{g}A=-af}0ZqBKwsFfLoCkO!_ zqeBZZk+3Dqod3hLrfbyNZKGQ+J3MYW2L;g4%5-R{#xUJ8r6oG7hnk;xtf`$%k{0|e z*l8((WUDRijs~as)Qdh}$6{vJ7=kutC#weC*LJXPvY2i`h9E()t(AlUArUMn2Pa}gE z0&RmwH`JC@O*2O~e>Y49Vt&bblynojfCPy3u@FW9A^jId{3!(5*;$}aZ1It8WXDfuNp8gBz;Q# zomoY17t+dmB=4l{!`o#3AvCv~U2-DK=3#IKAZ5%(aul|w|s_QYmX zDrywX$AMArBAX?mFtUKf*c4e{k8%K!^4sVMtY~v6wz{~_BFzL^j6oJH3j(Un9?I28 zm9=>DtzN*N41jOh|D#{!fba)XJK*R5V;hi@)33EI{mZqk%Y`miIFjG3bzS(Ubq(Zo zt?w+ybmhcMVoSgYpk$VH)pV7dpX+`tBl3yzwu<&OlF>5KceD!ig;ITPt!1VEgsYDd zItjy0=vFAl0~Pn%nzuFa@tq&D_0ZHdQgX4>Ay^T`8fXuHp%e_MS}R*~!+8Yt_P+MvcIfy`SR?AF+j5~;iP$$F*2IQT?=LR{ zCb9T^G}+HFkd+MxOv(0_G2$P{+fN9g`{)!p7$dt_c1l{3F~JfQ8j^PvBOs~?Xv$EE zDPznhxX1I}vmR`D@<_0&>A|?nosM+Upd=T1Pa*or7;`go^TqJRxy%=BzVM?xYXn5| zoMux=I;hN`R~@`|bB)HiD_Nl^@Z8+C^K}lH9ry>%42mZ-%B(hSaNa|L<}<8Bc`J;B zpWKH`6}wi#CYDW;mq10y`uQH&_?lgYskKpTqDNZfSYOk!KN#F(4^4qbj$dHJMOJ5v zG4YAjo{xRbsq$pUE$IG`5h0rHu|+f3VWu00v3W0COJqS}IVZ?A*p!1;u4yO4i`0w! zjkLt$Qu7%NisIPpW2fy^G7|i#D9}Ocb9lOuhFN4oFa@1>b*f{2pwZs&r~xUiKNfz( zLoy5}>V;RCtVQ@BP)tztkff&pR$o*SPoiY!lGozdsB|3evtfk;BN@1F2J)v#Fu@*~ z>zCO@YwJLx1EMl4Q(2En8$^(?o zbFbNO6_m~##85b6Q%W}atW6jipAt4oMvFEmAhzuhUadS`4bZtrz~huV!0IW-zf_*@ zr9|4!%>HWaiBPdt!~){QL>XH2G_;{%v7N)j8<)^=T8390`Q`mdL+c`Txd93mrg9F(kHiPu--yKhoObxCM-;_Z z!40oE3&56Py)Gj5p4l`Fx7By{_df9j?lTsH8cAk?hLJfrr%Nl%pQ&p~a3pB_R^#rfJUXgzZ2eGp?)FS`+T6rfW zlEt!Lm0X#zXs0oj;+`u0h#Y_KEff~{)|c<0Yw=;LS+Elaoy>?+2^Lu=dn}c$0z<|! z5@j$-OolLGH;FR~i>2_@E6IlhU3+#1I8;yQnqVBoXku2>HOza%(tI$*Vi^75OXB&T zic6&z9r3c2X+P($nZk>Cyut7#Lf9U$skG}|!Hl8iGs48~*QS$mMoD#&et}6%Sp;xQ z>ItL|n()+enRAZUl|{68Ga0RQJC*VZ;|n!4$IY|)oCzE83{B#HSkbS)c>Jq{nh-`soH7~XrTL6Ffv!9avDu4 zm5~vs-1H;&!Aa$wrKAe7ur`*NXux5{Ze}EMm5=q^R^0COw*3Unzmj(T=%Oeo83%05 zpTgqjWMH;C#P9TRsP@})?+X|q0vr^LDCPa^Uo70<3P8}l4G0jKs6Nl8iLn* zO`-1zdiH}tS-8?VQMh%?QzM|-ke1D$8oVEp5)oBh)Q488t#b}7KMl6@?i^?h^$%vf z1)5i@E(W3M@cWdm@<9ujtEHTze2|i@*Nc9QGErq~c`LkPsw~AxuN_Zs7DI_U#Z+3h zvq%eOVhsMId4E(YIap2JmhVG~+N)+WrU`dORvdv7&6blQN*#rA%NhE5HE$MHvu}&% z2N|}ibj<_6%L^p37SWWf3+$%kl3ns&q`ZP1}E-} z7jND@O=Z%^#9@u}+i%Xf^UiYH zQ>w0;)R8hgjG0eKl_vKoNQ#c7dq->%?=c*!*>^ffyij`MVUXd%Moj0OwWfhx968^k z84=}XQZ9mCK|e{P2VcmP-6~b@Gv~u^i6WrUEKT`y{!L%EX-HRDsZ48j#g=k&f7k za4u#<={TL#S=2MUT-nOlg&R8#ropu)50JvfRL&9&I=-45r+CG^?qUo5)Sn;g(IpvM z?|j_-Mj#MFDiigDx6^g_kVm36?abYGj%^mzXGhXvPch$@>SD}0A`el!IA|r(g)E~P z&e)xF>|)>c_$``==WROImBC(p+HcF=tv9+G(7s^}^%%Fsqe^7n(R2@PcZ4@4w($NO zClZL>0Yk zJ&e0}{sunq&QY(Jejc1NR{WgG137)u8Ed2hRo!-R{nlYzW;*wPh}Pm|CfH#AL8NhZ zc6wK%2Y!b4%kK<&2iG~unI-E+gG%0tWFU&0^jG0vt2(chAWMp)h05vTQ{f;E^(SdW zo2+m#vNkcV*&=3dN2k#-Qm{}49%&g51NAvxKHVifEna{U6ie}`UbbZ%7O|r>x|Y%= zQr{bU)+yt2w4B?HHQh%dxuc@p_+A&fV|@?q3A<7Y3%D{dA=wSrOF8JMH*O8T z%~j7{k4a(ugy|~Az*gYsT4EOfV?%yOPkSp^COOSVb!g+>MukP^`8(DS;2C)z2C|Gr zG3;~9_;5GQ)-XbLJ1cjzkJiUfq*liWq$(K^)`cLb00RAe3Z2mWl`B+AbOFz) zdgJz=1S{?*2ZMTio)Tj6J})_xloD`^7EUC;G2yF1WY(L9jOax{o-8kcAelj-_N8Bo zL(3u4#AiZ*keY$!Am}S*5BbH%7tYhBCOs~0dz}{oVw&Dy%x6$qR*!WSs$^;C{=DP~-DEpn&%Wu@n-}`K;vQ9DexRC&(-bdDd zbEZBpHRrV{e)^k++tH)SF1)%a8MsgTCb<~a+DfSv(Mh0O=Gfcb?A`F4+{4;xs8i3K zNHiCp)uZBVQF4Z@dnj~IwXQyXj$L@FY#|{5&Ir-bPoto2(^sR_{Yy)eQU~ESL+sOz zh7y6<(V)A?U0ft^9dBtX>njAb3Fud?`dP!?H|AnsWZfrAQl>><=oGbno;;OhN-Nu4 zS6ZQ+8wrExz&Z;~-)2n3SeAC-Pd%y1(CEB9E^+IKMbex7JK>kA!W!;sawE z#*FTmi-im~&U20m#AZUpdals8-TDCzr9>pxv5C6K#R-(d!jpBMvB%_X_++h*0yr)7 z^QNHsZ*=AQ`Ay%DGJf*n4$Z)H)#KOIUI^n`JvaB+xnbdXNrc*DJqbs{s|s;eJKpJp zy0<-gZAz;mi?F?~iT}>lChqXq{t+JZD>>2yVTKe}i>FK=C%I-cCfvqICO3hsEw<)1C2~}RL4dLdv4q^rpUsR_SYq`8k=-UF{W=77vc(3*uyQjK$EkUC{ zS3js&>&bZ6XO+j}B!#0*;Td%GwSh?rlDLIcm@3$6AKmTq=}Jz+1>167%n23}4@#Y$ z(xt1>#Vl5LSxpIuZ9myl(~)`!e@9Tr0N+bPw8if-a040!`v%ao0?8;2%=7)r-~S;( z0R!~!2_5Q#@Z}eIaaCa^X$1+Ei-F4*bN{#%0SW}%I%anlT^INxE8xPu{Oi9{p5NtW zke|283oA%Vh^weF%S-$sKtW}NLkj_6``wzqRNb#w-{jQvwOq{V(^`;u`Vf?;BM z`Bw6)1W5g{u4n;*6m7rND2lSNey9>xsLcRgR7Uj6b0B<)r&Z%JWOX`yEjOET9#Y9JS-Kqa8Ol9OuUe-m>(aZGpuPYY0b>+hX$KcIPj zdF1~_R5WriGy7dRF}mwTQVOVw4-{pZAJp$gmjKH8^%k+RF{T7AVMlYP>$Ocyd2t~K zXnGH*gO`zQKT@6_H~k-=*TeD-N$M}Nz5xKQ8nXu2;qgxme>9IGmd+1Mfs+?pe^b!< zn3zEy0oN2@LP1gd&<*&^^OFajyZ(j<>^w6C*

    W(94n+m(@89xah6`eR%%`DDLQJ z@Aw-tzAuT|%L0%GK<*i@V2Akr4eM@f3U;=%2Sy>6YsHYQLyEK|Z8bpL11_>F}YRuJ#JGFcwh-A`V6?P`n%x%Z*Y#rY~0twp7PN3*a12I3Y5yr*v}s+&yP&# zdYIT>-6EwD$Pr}w8(TVd>&T)3#c>M-GRIRQf23Zo`6c~Y#_&1s||(pA8~*3 zH#28kbvgk20OTI1CqGl3AHU3>p?~%^eue<^AV9+d*vvnvm*t&I?s~4cgA2&U($mzD zQe0WW#m@NmC5hTx`!yd>GqZpW@@ieWC;u<(>n+>%lU>h*s|M9D?t~>iW#je6v|d1&9s6 zb+vIi{ZG{2RHz)qO?*4R3K@VEt~O5drvIkwpNlI~wVO%^pzLJ;_|>`#acVut_owv?%mQkhV3n_!p>}v!%^%jDUDUniLKw{dqv?zkE9TBjx$I+g?xo?k(vb zEtZOlkrBwwH8o_YNTLDy^l$qz=Z2x#V>0@Kv1(~W13{se_|_;;VMUoS(v(ILJLu#g=v zA`|~57?pf!^x6apPaLUHYdO6%py{b3mX@NKXu4zX2E96*NNae?*%(gN%MRwX#Ln zM4bT8^gy|~I(Kt^_TTX4j(?fvHw_`Ffyo*HAYc->u1;u^>i?SnXH#3Sy(7rd@i&8Z zrykQ_MPN&K=aE` z53(!1MP0ofD-W^*ng4Fa7Khs^nF^qAfWm$ihqQJ*?vE2dT3f%31pvkN|7zs=`fqS9 z&cJX+)B2MXNPQ5^i+>#2XO42b+;s(P|+jc^Xw@A5RJJ6G%& z_U<>#KMc0+Gt#8C;6Ong0lm=GVNo|w%&v2`iie%Eg{hOJ6R@HI^l;ZZyW!OO-5ns~ zguq2|Maf=h=xebc7k1#F%FB}iA={f|vHPEI17j=B4#Qi~UngEcQXx+}`bB*q|8LYQJA)y?kVoqL0@o^D z3%>S%9Y`wV(Hg&~(5lx`Wqy0m1|%ACd-N}KlJye&wkP`%>WUo3JHgdkNgEM0iJ367xW3{UzcK*aUm1zg`JK*mS>V&ZsS%lsKFp(G0nOyi)SRDgfygiuhx J<3Ql2{{u2lHQE3G diff --git a/java/sound/lib/ostermillerutils-1.08.01.jar b/java/sound/lib/ostermillerutils-1.08.01.jar deleted file mode 100644 index a3d081c81364dabde6a4ff0f91cf3bbb22beaa6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277648 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 <5OoOao&S>|_G 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�`MZq53BPl3@KLxv26M)Tc{Z)4fxx4lb^oHIMEBS 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⋘U6sA7%=nWmg%Nha*mHq3q{1D8 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 z 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 targetRate ? "-B " + targetRate : "-F -b " + targetRate); - log.debug("Starting process: " + command); + logger.debug("Starting process: " + command); process = Runtime.getRuntime().exec(command); processInputStream = process.getInputStream(); processOutputStream = process.getOutputStream(); @@ -78,7 +78,7 @@ public class Converter extends Worker { bufferWorker.start(); convert = true; } catch (IOException e) { - log.error(e); + logger.error("", e); throw new ActivateException(); } } @@ -97,7 +97,7 @@ public class Converter extends Worker { } inputStream.close(); } catch (IOException e) { - log.error(e); + logger.error("", e); throw new DeactivateException(); } } @@ -109,30 +109,30 @@ public class Converter extends Worker { wait(); } } catch (InterruptedException e) { - log.error(e); + logger.error("", e); } return; } byte[] bytes = new byte[BYTES]; int read = 0; try { - log.debug("Writing input to process"); + logger.debug("Writing input to process"); while ((read = sourceInputStream.read(bytes)) > 0 && !deactivate) { /* Limit buffer size */ while (inputStream.available() > buffer) { int progress = (int) ((1 - (inputStream.available() - buffer) / (float) buffer) * 100); - log.trace("Waiting for buffer to empty: " + progress + "%"); + logger.trace("Waiting for buffer to empty: " + progress + "%"); sleep(BUFFERING); } processOutputStream.write(bytes, 0, read); } processOutputStream.close(); - log.debug("Stopped writing input to process"); + logger.debug("Stopped writing input to process"); process.waitFor(); - log.debug("Process finished"); + logger.debug("Process finished"); } catch (IOException e) { } catch (InterruptedException e) { - log.error(e); + logger.error("", e); } stop(); } @@ -145,7 +145,7 @@ public class Converter extends Worker { try { wait(); } catch (InterruptedException e) { - log.error(e); + logger.error("", e); } } return inputStream; @@ -161,11 +161,11 @@ public class Converter extends Worker { int read = 0; try { OutputStream bufferOutputStream = circularByteBuffer.getOutputStream(); - log.debug("Start buffering process output"); + logger.debug("Start buffering process output"); while ((read = processInputStream.read(bytes, 0, BYTES)) > 0) { bufferOutputStream.write(bytes, 0, read); } - log.debug("Finished buffering process output"); + logger.debug("Finished buffering process output"); bufferOutputStream.close(); } catch (IOException e) {} stop(); diff --git a/java/sound/src/old/List.java b/java/sound/src/main/java/old/List.java similarity index 93% rename from java/sound/src/old/List.java rename to java/sound/src/main/java/old/List.java index 3976268..5d2b44e 100644 --- a/java/sound/src/old/List.java +++ b/java/sound/src/main/java/old/List.java @@ -78,7 +78,7 @@ public class List extends Worker { return; } } catch (FileNotFoundException e) { - log.error(e); + logger.error("", e); } throw new ActivateException(); } @@ -113,7 +113,7 @@ public class List extends Worker { setNext(); swap(); } catch (IllegalStateException e) { - log.error(e); + logger.error("", e); } sleep(STEP); } @@ -124,21 +124,21 @@ public class List extends Worker { public synchronized void setNext() { if (nextMp3 == null) { - log.debug("Initialize next mp3"); + logger.debug("Initialize next mp3"); nextMp3 = new Mp3(getRandomFile(), rate); } else if (next) { - log.debug("Load next mp3"); + logger.debug("Load next mp3"); nextMp3.setFile(getRandomFile()); } } public synchronized void next() { - log.debug("Stop current mp3"); + logger.debug("Stop current mp3"); mp3.stop(); } public void swap() { - log.debug("Swap to next mp3"); + logger.debug("Swap to next mp3"); Mp3 swapMp3 = mp3; mp3 = nextMp3; nextMp3 = swapMp3; @@ -149,11 +149,11 @@ public class List extends Worker { try { circularStringBuffer.write(mp3.getTitle()); } catch (BufferOverflowException e) { - log.error(e); + logger.error("", e); } catch (IllegalStateException e) { - log.error(e); + logger.error("", e); } catch (InterruptedException e) { - log.error(e); + logger.error("", e); } } @@ -163,7 +163,7 @@ public class List extends Worker { try { wait(); } catch (InterruptedException e) { - log.error(e); + logger.error("", e); } } return circularByteBuffer.getInputStream(); @@ -175,7 +175,7 @@ public class List extends Worker { try { wait(); } catch (InterruptedException e) { - log.error(e); + logger.error("", e); } } return circularStringBuffer; diff --git a/java/sound/src/old/Mp3.java b/java/sound/src/main/java/old/Mp3.java similarity index 94% rename from java/sound/src/old/Mp3.java rename to java/sound/src/main/java/old/Mp3.java index 5089a9b..db398f1 100644 --- a/java/sound/src/old/Mp3.java +++ b/java/sound/src/main/java/old/Mp3.java @@ -29,7 +29,7 @@ public class Mp3 extends Converter { try { sourceInputStream = new FileInputStream(file); } catch (FileNotFoundException e) { - log.error(e); + logger.error("", e); throw new ActivateException(); } @@ -44,11 +44,11 @@ public class Mp3 extends Converter { } else { title = String.format("%s - %s {%s}", artist, track, album); } - log.debug("Title: " + title); + logger.debug("Title: " + title); } catch (IOException e) { - log.error(e); + logger.error("", e); } catch (TagException e) { - log.error(e); + logger.error("", e); } try { sourceInputStream.skip(100000); diff --git a/java/sound/src/old/Utils.java b/java/sound/src/main/java/old/Utils.java similarity index 100% rename from java/sound/src/old/Utils.java rename to java/sound/src/main/java/old/Utils.java diff --git a/java/sound/src/main/java/pipe/Client.java b/java/sound/src/main/java/pipe/Client.java new file mode 100644 index 0000000..0cc4494 --- /dev/null +++ b/java/sound/src/main/java/pipe/Client.java @@ -0,0 +1,22 @@ +package pipe; + +import java.io.RandomAccessFile; + +public class Client { + public static void main(String[] args) { + try { + // Connect to the pipe + RandomAccessFile pipe = new RandomAccessFile("\\\\.\\pipe\\detest", "rw"); + String echoText = "Hello word\n"; + // write to pipe + pipe.write(echoText.getBytes()); + // read response + String echoResponse = pipe.readLine(); + System.out.println(echoResponse); + pipe.close(); + } catch (Exception e) { + e.printStackTrace(); + } + + } +} diff --git a/java/sound/src/main/java/pipe/Pipe.java b/java/sound/src/main/java/pipe/Pipe.java new file mode 100644 index 0000000..dc65347 --- /dev/null +++ b/java/sound/src/main/java/pipe/Pipe.java @@ -0,0 +1,40 @@ +package pipe; +/** + * + * @author Vikram S Khatri vikram.khatri@us.ibm.com + * + */ +public class Pipe +{ + static final int ERROR_PIPE_CONNECTED = 535; + static final int ERROR_BROKEN_PIPE = 109; + static final int PIPE_ACCESS_DUPLEX = 0x00000003; + static final int PIPE_WAIT = 0x00000000; + static + { + System.loadLibrary("pipe"); + } + + public static final native int CreateNamedPipe(String pipeName, + int ppenMode, int pipeMode, int maxInstances, + int outBufferSize, int inBufferSize, int defaultTimeOut, + int securityAttributes); + + public static final native boolean ConnectNamedPipe(int namedPipeHandle, + int overlapped); + public static final native int GetLastError(); + public static final native boolean CloseHandle(int bbject); + public static final native byte[] ReadFile(int file, int numberOfBytesToRead); + public static final native int WriteFile(int file, byte[] buffer, + int numberOfBytesToWrite); + public static final native boolean FlushFileBuffers(int file); + public static final native boolean DisconnectNamedPipe(int namedPipeHandle); + public static final native int CreateFile(String fileName, + int desiredAccess, int shareMode, int securityAttributes, + int creationDisposition, int flagsAndAttributes, + int templateFile); + + public static final native boolean WaitNamedPipe(String namedPipeName, int timeOut); + public static final native String FormatMessage(int errorCode); + public static final native void Print(String message); +} diff --git a/java/sound/src/main/java/pipe/TestPipe.java b/java/sound/src/main/java/pipe/TestPipe.java new file mode 100644 index 0000000..9e328c3 --- /dev/null +++ b/java/sound/src/main/java/pipe/TestPipe.java @@ -0,0 +1,85 @@ +package pipe; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; + +public class TestPipe { + + private int namedPipeHandle; + private String pipeName, srcFile; + private int pipeBuffer = 131072, fileBuffer = 8192; + + public TestPipe(String pipeName, String srcFile) { + this.pipeName = pipeName; + this.srcFile = srcFile; + } + + private void log(String message) { + System.out.println(message); + } + + private boolean createPipe() { + namedPipeHandle = Pipe.CreateNamedPipe(pipeName, Pipe.PIPE_ACCESS_DUPLEX, + Pipe.PIPE_WAIT, 5, pipeBuffer, pipeBuffer, 0xffffffff, 0); + if (namedPipeHandle == -1) { + log("CreateNamedPipe failed for " + pipeName + " for error " + + " Message " + Pipe.FormatMessage(Pipe.GetLastError())); + } else { + log("Named Pipe " + pipeName + " created successfully Handle=" + + namedPipeHandle); + } + return namedPipeHandle != -1; + } + + private boolean connectToPipe() { + log("Waiting for a client to connect to pipe " + pipeName); + boolean connected = Pipe.ConnectNamedPipe(namedPipeHandle, 0); + if (!connected) { + int lastError = Pipe.GetLastError(); + if (lastError == Pipe.ERROR_PIPE_CONNECTED) + connected = true; + } + log((connected ? "Connected to the pipe " + : "Falied to connect to the pipe ") + pipeName); + return connected; + } + + public void runPipe() { + if (createPipe() && connectToPipe()) { + log("Client connected."); + try { + File f1 = new File(this.srcFile); + InputStream in = new FileInputStream(f1); + log("Sending data to the pipe"); + byte[] buf = new byte[fileBuffer]; + int len, bytesWritten; + while ((len = in.read(buf)) > 0) { + bytesWritten = Pipe.WriteFile(namedPipeHandle, buf, len); + log("Sent " + len + "/" + bytesWritten + + " bytes to the pipe"); + if (bytesWritten == -1) { + int errorNumber = Pipe.GetLastError(); + log("Error Writing to pipe " + + Pipe.FormatMessage(errorNumber)); + } + } + in.close(); + Pipe.FlushFileBuffers(namedPipeHandle); + Pipe.CloseHandle(namedPipeHandle); + Pipe.DisconnectNamedPipe(namedPipeHandle); + log("Writing to the pipe completed."); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + public static void main(String[] args) { + String pipeName = "\\\\.\\pipe\\detest"; + String fileName = "bla.txt"; + fileName = "C:\\Users\\Rik\\Music\\Artists\\+44\\When Your Heart Stops Beating\\+44 - 155.mp3"; + TestPipe testPipe = new TestPipe(pipeName, fileName); + testPipe.runPipe(); + } +} diff --git a/java/sound/src/sound/Consumer.java b/java/sound/src/main/java/sound/Consumer.java similarity index 100% rename from java/sound/src/sound/Consumer.java rename to java/sound/src/main/java/sound/Consumer.java diff --git a/java/sound/src/sound/Format.java b/java/sound/src/main/java/sound/Format.java similarity index 100% rename from java/sound/src/sound/Format.java rename to java/sound/src/main/java/sound/Format.java diff --git a/java/sound/src/sound/GreedyInputStream.java b/java/sound/src/main/java/sound/GreedyInputStream.java similarity index 85% rename from java/sound/src/sound/GreedyInputStream.java rename to java/sound/src/main/java/sound/GreedyInputStream.java index f9999cb..fdd6a14 100644 --- a/java/sound/src/sound/GreedyInputStream.java +++ b/java/sound/src/main/java/sound/GreedyInputStream.java @@ -4,11 +4,11 @@ import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class GreedyInputStream extends BufferedInputStream { - protected Log log = LogFactory.getLog(getClass()); + protected Logger logger = LoggerFactory.getLogger(getClass()); protected static final int SLEEP = 500; protected static final int BUFFER_SIZE = 30000; // in bytes @@ -54,10 +54,10 @@ public class GreedyInputStream extends BufferedInputStream { try { Thread.sleep(SLEEP); } catch (InterruptedException e) { - log.warn(e); + logger.warn("", e); } } while (available() < BUFFER_SIZE); - log.debug(String.format("Buffered %d bytes in %s milliseconds", BUFFER_SIZE - available, System.currentTimeMillis() - time)); + logger.debug(String.format("Buffered %d bytes in %s milliseconds", BUFFER_SIZE - available, System.currentTimeMillis() - time)); } } diff --git a/java/sound/src/sound/Port.java b/java/sound/src/main/java/sound/Port.java similarity index 85% rename from java/sound/src/sound/Port.java rename to java/sound/src/main/java/sound/Port.java index b123ec1..17941a2 100644 --- a/java/sound/src/sound/Port.java +++ b/java/sound/src/main/java/sound/Port.java @@ -9,18 +9,12 @@ import javax.sound.sampled.AudioFormat; import mimis.exception.worker.ActivateException; import mimis.exception.worker.DeactivateException; import mimis.worker.Worker; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - import sound.Format.Standard; import sound.SoxBuilder.File; -import sound.SoxBuilder.Option; import sound.SoxBuilder.File.Type; +import sound.SoxBuilder.Option; public class Port extends Worker implements Consumer { - protected Log log = LogFactory.getLog(getClass()); - protected static final int BUFFER_SIZE = 1024 * 4; // in bytes protected String device; @@ -55,7 +49,7 @@ public class Port extends Worker implements Consumer { .addFile(File.setType(Type.DEVICE)) .build(); - log.debug(String.format("Build process (\"%s\")", command)); + logger.debug(String.format("Build process (\"%s\")", command)); processBuilder = new ProcessBuilder(command.split(" ")); processBuilder.environment().put("AUDIODEV", device); @@ -68,7 +62,7 @@ public class Port extends Worker implements Consumer { try { process = processBuilder.start(); } catch (IOException e) { - log.error(e); + logger.error("", e); throw new ActivateException(); } processOutputStream = process.getOutputStream(); @@ -81,22 +75,22 @@ public class Port extends Worker implements Consumer { try { processOutputStream.flush(); } catch (IOException e) { - log.error(e); + logger.error("", e); throw new DeactivateException(); } } public void exit() { try { - log.debug("close process output stream"); + logger.debug("close process output stream"); processOutputStream.close(); - log.debug("wait for process to terminate"); + logger.debug("wait for process to terminate"); process.waitFor(); } catch (IOException e) { - log.error(e); + logger.error("", e); } catch (InterruptedException e) { - log.error(e); + logger.error("", e); } finally { process = null; } @@ -112,8 +106,20 @@ public class Port extends Worker implements Consumer { exit(); } } catch (IOException e) { - log.error(e); + logger.error("", e); exit(); } } + + @Override + public void start() { + // TODO Auto-generated method stub + + } + + @Override + public void stop() { + // TODO Auto-generated method stub + + } } diff --git a/java/sound/src/sound/Producer.java b/java/sound/src/main/java/sound/Producer.java similarity index 100% rename from java/sound/src/sound/Producer.java rename to java/sound/src/main/java/sound/Producer.java diff --git a/java/sound/src/sound/Source.java b/java/sound/src/main/java/sound/Source.java similarity index 92% rename from java/sound/src/sound/Source.java rename to java/sound/src/main/java/sound/Source.java index d5ef45d..5918ccc 100644 --- a/java/sound/src/sound/Source.java +++ b/java/sound/src/main/java/sound/Source.java @@ -13,11 +13,11 @@ import mimis.exception.worker.ActivateException; import mimis.exception.worker.DeactivateException; import mimis.worker.Worker; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class Source implements Consumer { - protected Log log = LogFactory.getLog(getClass()); + protected Logger logger = LoggerFactory.getLogger(getClass()); protected static final int BUFFER_SIZE = 1024 * 4; // in bytes protected static final int PLAY_FRAMES = 10; // count @@ -44,10 +44,10 @@ public class Source implements Consumer { worker.exit(); } if (producer instanceof Format.Standard) { - log.debug("Format.Standard"); + logger.debug("Format.Standard"); worker = new DefaultWorker((Format.Standard) producer); } else if (producer instanceof Format.Mp3) { - log.debug("Format.Mp3"); + logger.debug("Format.Mp3"); worker = new Mp3Worker((Format.Mp3) producer); } start(); @@ -83,7 +83,7 @@ public class Source implements Consumer { line.open(); } } catch (LineUnavailableException e) { - log.error(e); + logger.error("", e); throw new ActivateException(); } if (!line.isRunning()) { @@ -112,7 +112,7 @@ public class Source implements Consumer { exit(); } } catch (IOException e) { - log.error(e); + logger.error("", e); exit(); } } @@ -149,7 +149,7 @@ public class Source implements Consumer { } player.play(PLAY_FRAMES); } catch (JavaLayerException e) { - log.error(e); + logger.error("", e); } if (player.isComplete()) { stop(); diff --git a/java/sound/src/sound/SoxBuilder.java b/java/sound/src/main/java/sound/SoxBuilder.java similarity index 100% rename from java/sound/src/sound/SoxBuilder.java rename to java/sound/src/main/java/sound/SoxBuilder.java diff --git a/java/sound/src/sound/Stream.java b/java/sound/src/main/java/sound/Stream.java similarity index 96% rename from java/sound/src/sound/Stream.java rename to java/sound/src/main/java/sound/Stream.java index 14e62a8..f437338 100644 --- a/java/sound/src/sound/Stream.java +++ b/java/sound/src/main/java/sound/Stream.java @@ -116,7 +116,7 @@ public class Stream extends Worker implements Producer, Format.Mp3 { try { greedyInputStream.clear(); } catch (IOException e) { - log.error(e); + logger.error("", e); throw new DeactivateException(); } } @@ -148,7 +148,7 @@ public class Stream extends Worker implements Producer, Format.Mp3 { audioCircularByteBuffer.getOutputStream().write(bytes); } } catch (IOException e) { - log.error(e); + logger.error("", e); stop(); } } @@ -167,15 +167,15 @@ public class Stream extends Worker implements Producer, Format.Mp3 { if (!newMetaData.isEmpty() && !newMetaData.equals(metaData)) { metaData = newMetaData; metaCircularObjectBuffer.write(new String(data)); - log.debug("data: " + metaData); + logger.debug("data: " + metaData); } return; } catch (IOException e) { - log.error(e); + logger.error("", e); } catch (IllegalStateException e) { - log.error(e); + logger.error("", e); } catch (InterruptedException e) { - log.error(e); + logger.error("", e); } stop(); } diff --git a/java/sound/src/sound/Target.java b/java/sound/src/main/java/sound/Target.java similarity index 85% rename from java/sound/src/sound/Target.java rename to java/sound/src/main/java/sound/Target.java index 1a9f6c7..abf2757 100644 --- a/java/sound/src/sound/Target.java +++ b/java/sound/src/main/java/sound/Target.java @@ -7,11 +7,11 @@ import javax.sound.sampled.AudioFormat; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.TargetDataLine; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class Target implements Producer, Format.Standard { - protected Log log = LogFactory.getLog(getClass()); + protected Logger logger = LoggerFactory.getLogger(getClass()); protected Standard format; @@ -21,14 +21,14 @@ public class Target implements Producer, Format.Standard { protected AudioFormat audioFormat; public Target(String name) throws LineUnavailableException { - log.debug(String.format("Target \"%s\" without format", name)); + logger.debug(String.format("Target \"%s\" without format", name)); line = Tool.getTargetDataLine(name); audioFormat = line.getFormat(); targetInputStream = new TargetInputStream(); } public Target(String name, AudioFormat audioFormat) throws LineUnavailableException { - log.debug(String.format("Target \"%s\" with format: %s", name, audioFormat)); + logger.debug(String.format("Target \"%s\" with format: %s", name, audioFormat)); this.audioFormat = audioFormat; line = Tool.getTargetDataLine(name, audioFormat); targetInputStream = new TargetInputStream(); @@ -73,7 +73,7 @@ public class Target implements Producer, Format.Standard { try { line.open(); } catch (LineUnavailableException e) { - log.error(e); + logger.error("", e); } } if (!line.isRunning()) { diff --git a/java/sound/src/sound/Test.java b/java/sound/src/main/java/sound/Test.java similarity index 100% rename from java/sound/src/sound/Test.java rename to java/sound/src/main/java/sound/Test.java diff --git a/java/sound/src/sound/Tool.java b/java/sound/src/main/java/sound/Tool.java similarity index 93% rename from java/sound/src/sound/Tool.java rename to java/sound/src/main/java/sound/Tool.java index cb277a8..89bb155 100644 --- a/java/sound/src/sound/Tool.java +++ b/java/sound/src/main/java/sound/Tool.java @@ -14,11 +14,11 @@ import javax.sound.sampled.Port.Info; import javax.sound.sampled.SourceDataLine; import javax.sound.sampled.TargetDataLine; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class Tool { - protected static Log log = LogFactory.getLog(Tool.class); + protected static Logger logger = LoggerFactory.getLogger(Tool.class); protected static HashMap> targetMap; protected static HashMap> sourceMap; @@ -44,7 +44,7 @@ public class Tool { String lineClassName = lineInfo.getLineClass().getName(); if (lineClassName.equals("javax.sound.sampled.SourceDataLine")) { if (mixer.isLineSupported(lineInfo)) { - log.debug(" " + name); + logger.debug(" " + name); sourceMap.put(name, tool.new Device(mixer, lineInfo)); } } @@ -53,7 +53,7 @@ public class Tool { String lineClassName = lineInfo.getLineClass().getName(); if (lineClassName.equals("javax.sound.sampled.TargetDataLine")) { if (mixer.isLineSupported(lineInfo)) { - log.debug(" " + name); + logger.debug(" " + name); targetMap.put(name, tool.new Device(mixer, lineInfo)); } } else if (lineClassName.equals("javax.sound.sampled.Port")) { @@ -62,11 +62,11 @@ public class Tool { Port port = (Port) mixer.getLine(lineInfo); Port.Info portInfo = (Info) port.getLineInfo(); if (!targetMap.containsKey(name) || portInfo.equals(Port.Info.LINE_OUT) || portInfo.equals(Port.Info.SPEAKER)) { - log.debug(" " + name); + logger.debug(" " + name); portList.add(name); } } catch (LineUnavailableException e) { - log.error(e); + logger.error("", e); } } } diff --git a/java/sound/src/sound/Transducer.java b/java/sound/src/main/java/sound/Transducer.java similarity index 100% rename from java/sound/src/sound/Transducer.java rename to java/sound/src/main/java/sound/Transducer.java diff --git a/java/sound/src/test/SoundAudit.java b/java/sound/src/main/java/test/SoundAudit.java similarity index 100% rename from java/sound/src/test/SoundAudit.java rename to java/sound/src/main/java/test/SoundAudit.java diff --git a/java/sound/src/test/lines/Main.java b/java/sound/src/main/java/test/lines/Main.java similarity index 100% rename from java/sound/src/test/lines/Main.java rename to java/sound/src/main/java/test/lines/Main.java diff --git a/java/sound/src/test/lines/SourceLine.java b/java/sound/src/main/java/test/lines/SourceLine.java similarity index 100% rename from java/sound/src/test/lines/SourceLine.java rename to java/sound/src/main/java/test/lines/SourceLine.java diff --git a/java/sound/src/test/lines/TargetLine.java b/java/sound/src/main/java/test/lines/TargetLine.java similarity index 100% rename from java/sound/src/test/lines/TargetLine.java rename to java/sound/src/main/java/test/lines/TargetLine.java