From d592d5f3045f7a646043da572dc1fd310446e374 Mon Sep 17 00:00:00 2001 From: Amy DeGregorio Date: Mon, 14 Dec 2020 12:15:23 -0500 Subject: [PATCH] BAEL-4721 (#10272) * BAEL-4721 Examples * BAEL-4721 Requested edits * Fix formatting issues * Correct unit test name --- .../WriteByteArrayUnitTest.java | 77 ++++++++++++++++++ .../src/test/resources/example-image.jpg | Bin 0 -> 39665 bytes 2 files changed, 77 insertions(+) create mode 100644 core-java-modules/core-java-io-3/src/test/java/com/baeldung/writebytearray/WriteByteArrayUnitTest.java create mode 100644 core-java-modules/core-java-io-3/src/test/resources/example-image.jpg diff --git a/core-java-modules/core-java-io-3/src/test/java/com/baeldung/writebytearray/WriteByteArrayUnitTest.java b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/writebytearray/WriteByteArrayUnitTest.java new file mode 100644 index 0000000000..ef8c8e2470 --- /dev/null +++ b/core-java-modules/core-java-io-3/src/test/java/com/baeldung/writebytearray/WriteByteArrayUnitTest.java @@ -0,0 +1,77 @@ +package com.baeldung.writebytearray; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; + +import org.apache.commons.io.FileUtils; +import org.junit.BeforeClass; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +import com.google.common.io.ByteSink; +import com.google.common.io.MoreFiles; + +public class WriteByteArrayUnitTest { + private static byte[] dataForWriting; + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + + @BeforeClass + public static void setup() throws IOException { + dataForWriting = Files.readAllBytes(Paths.get("src/test/resources/example-image.jpg")); + } + + @Test + public void whenUsingFileOutputStream_thenByteArrayIsWritten() throws IOException { + File outputFile = tempFolder.newFile("example-fos.jpg"); + try (FileOutputStream outputStream = new FileOutputStream(outputFile)) { + outputStream.write(dataForWriting); + assertThat(outputFile).hasBinaryContent(dataForWriting); + } + } + + @Test + public void whenUsingNioFiles_thenByteArrayIsWritten() throws IOException { + File outputFile = tempFolder.newFile("example-nio-files.jpg"); + Files.write(outputFile.toPath(), dataForWriting); + assertThat(outputFile).hasBinaryContent(dataForWriting); + } + + @Test + public void whenUsingGuavaFiles_thenByteArrayIsWritten() throws IOException { + File outputFile = tempFolder.newFile("example-guava-files.jpg"); + com.google.common.io.Files.write(dataForWriting, outputFile); + assertThat(outputFile).hasBinaryContent(dataForWriting); + } + + @Test + public void whenUsingGuavaByteSink_thenByteArrayIsWritten() throws IOException { + File outputFile = tempFolder.newFile("example-guava-bs.jpg"); + ByteSink byteSink = com.google.common.io.Files.asByteSink(outputFile); + byteSink.write(dataForWriting); + assertThat(outputFile).hasBinaryContent(dataForWriting); + } + + @Test + public void whenUsingGuavaByteSinkMoreFiles_thenByteArrayIsWritten() throws IOException { + File outputFile = tempFolder.newFile("example-guava-bs.jpg"); + ByteSink byteSink = MoreFiles.asByteSink(outputFile.toPath(), StandardOpenOption.CREATE, StandardOpenOption.WRITE); + byteSink.write(dataForWriting); + assertThat(outputFile).hasBinaryContent(dataForWriting); + } + + @Test + public void whenUsingCommonsIo_thenByteArrayIsWritten() throws IOException { + File outputFile = tempFolder.newFile("example-file-utils.jpg"); + FileUtils.writeByteArrayToFile(outputFile, dataForWriting); + assertThat(outputFile).hasBinaryContent(dataForWriting); + } +} diff --git a/core-java-modules/core-java-io-3/src/test/resources/example-image.jpg b/core-java-modules/core-java-io-3/src/test/resources/example-image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..43b8962793fc7289bb9291fe2161e9b3c623f515 GIT binary patch literal 39665 zcmbTedt8%ex-Og$Axe=$Bo!E-@g+crM@|-y)SwBxqzEJ=LuE473ZBqCTY_ydPNyK_ zNFpL{AWT7;atK0Ti6fRSnATZ1E$1RAQPj3B3Wy4|l?v9Gc4qeVr1S0XpYM-v@2;N? zOG3!|JkNdK*LB_3{rv0pzb09pip1nZ7Msmx?Z*GH{`EEMfV|+~J{D`o4wjh3Vl8Ja zWBak3@f90?USa>@e}A3G7O^;ve|N$+!&&&7<%K_~_(T5NjX&gP9RGXdjf1~Ay5To_ zj|!qTL~IC;!f*P5wVmaJU(9Bczn#c`%Q)n3=Vi+{%UqmYTpWM6E0()(S8!cimcOuk zg)8|FU%9>D>PG$_@+Lq3sFO2?hl3C8j8BYLzk~0ymU%hz)`TaxtWv(g zrSiNZikSN4LEA1}<*Tkg5k~IOomk=e;%XmXzu=HiQJ6R?dh^RMv2ojF^28)MS&^aE z{4(>komtsAd-v@>a4CI14Ddp@|MqwC zTx=HS=f}d||DVt0h39f2d%z{n#ddlde>h&toY#cA@Dh~VH}Y0d5k$CLg4d$1G#S5Nl8AMF2quDdKZ4jY@t@nUUdJ(oJ=$~m@+ z&-91y@I)i@=||d%y}ZQ6^I>!0ce{l{2I@osUmPZxuR7cySLMpJ&)N@0Cd}2^jV_0( zR8I0;1vc(3^YG>@;ZI^|*Tc0{hr3LoAY=KFaBYQ%VaNM1NpEN`@8wZXOYO$kp7xy) z2JhW_ER6?xbvtS(xuPoC_bPv6bF@yb_1|X=*tE84Z&`X$w7Asueuc=K(%kme29TP4oA!BQsCS;Fnq?Wi(nj)>*Ikn4uz9troXnx*KGkeyV^yh<<~ z-A^&%6E0zM&FzP3QX1sS(i$eSOs-3=Gmfd%y@grmZ|QLo#GQ$4$k38 z>uJ5aUTuuX({}pGTAO2Sp8IR=pR+f}{rBVZ{LsF$QceKhwHyi zlZs_NlC?GR25EORwIQZGxr3qF3;5K<-D_(OcStvF64U*A@Y43*7ry0WRoq*^UR`P;BjotA(-Mkqbmt7oN?5)&_3q4d)v}V9Np)dfv9=@3 zL-U1-sy&MJY@mxv?S}H$_N>zShcP2`aW{WBa{I!P=YwLEsNd(}4;_bp+WeWZ`7LL< zk>k{z8^H)zZ#AEPYhvAuYWvvRHl6w6=wRNEn{+;H4pa^;e?V_%8BJxx)r z&s^7M@Y0E;FJL*m4J^SPtES(nd*AT(9?9H+K6htwn$nZ8$}4rBHzYh#i62yGO(K(3 zeRV`PV&=&QABttKCuncJAS=FM^>@QU=M=u>y{N(lMi??B;VNfN`P!kh~jRGs8k@oZVKNx$e#`E7KBRQ|^X0GXBaVVNR@JkuR}% z*A711f~Ap_G{;6$_^=%Yuj4fptOf055yR?tvZ_Y~6YEC2Hu>kLCX^kjN@+2PLTmJA z`i=L`h4Ieo*VEn>#MIGC6z7(uQL;lfQb}`TsHScCMF=OJVDM3zvTLe)KQ%>njYci0 z3b6WT`|Z0Hm#*oY-@Q_?)je4G-+YQwI^o|ZLBJIFPP)#Xiwfq{dZ`+UwH0BMoa>+Q z#|yeaGmoCQWb@+YKBzSQsv>dIk+7be31PLYkljnyz4!>fZIyTdadTzf)VSWAQ^T+y zl}@Z160#~(>zVv(__REcb{Y}zhSs#M{P?(?J(d|&O`Ey?c4M8+SvSxj zW%;}6+gIua&+zIbVwu##sXJ#_*dJ@-rmn4eXK1^9PZNhf9BMmI?zZ{sRC#|0BEmpz zaL?WCwAh~PEn(XQ-x>(PSS0+Glj;jffLPqsy#0A$2&n!7U{-#H4=T4BrZ=SLLz^W z?(R#rW&h$-7CC96{#+dgyC`ejB$h8D36GL5b3ZtbZT}5PHUrH*8Q13M*#tz!Nkpsd_Arib(=DLv;tm!7&z>FZP$d&`*w=k zk400ZICOWELTSD!Yz`UzvPfUnqi(^2sf3!Z(l~gXk}7>>Tg_m_s_P>*>cV+?r%q?#(|U>yC&7e=TQjP zmFFxqw?0Nb`wvBNsVlR(lVr$@Qdj-{^J~iv*FRi7pFut24@V5LI8Bn(|9v5U#~B{G zxF}6NK*C{_c-mO*c9cJe!n-Llt#m)59pB3n?|!PP>zToVqh4-#g#VTr=!A792$JtA`+6fd3BR4}O z+S2VP5%1@#HYEAr%j?gd8O5@Ifr~%1AO0zZiQCVo>gG@ZtdfL~Ciy6eUzSjbG?*TK zf~35;NLAe+KFnU8AoiMA<{R67@WoRtgR@P_+s6Bq#*#(OjV9LPNu1{GV{X&li~fj7 zv)!zI)8@@X0=qPs^Sxu8FRx>`x$lJq;r&&C#nF@vU!*T(l&UXX%*OfJ@EIz!v0&yY zIlXR2oN;Dd?^ibn6TaY6rL|;P9RGTH6h$6~Kgm5N8o$*Lj7t@ClZ4y0Jk+ePZFn0A7x)?wL zQQe3g%fu?*q0R3coP7HQN2&kYF}~Q%-8@V^ZduwD%ctC)AvXW=dt`I6j_p||c_LIl zjSp5SjE8eB)9T22A_VB-TI>U!0tZ;lipiQe=dD?Bimb8}6kqARM$F45vj*T8nw~`e8 z?$_GOVqvS*ULt8T$x)KW?Ysj1=w>Cg;oU!26N-D_xoYg=qCd#^qBXRGVQM`tqZ`#W{X zMPku>nlzkz(0VFIU9u_Cc%PA#uxISX?s$AjGhF1G!X*bf;pdN#RUvTGWe43>wnH~q z!xKM1dgz|X1l|djFYzglTzvnC|I>_(p-nn_7%%CTHMJVmph4yvKVF%ST=5ZdV90sR zXh`?I5iVY(@CF3g9CKE_^(gW|`_6B*$>qm03WW>gfUxxYni58IJ1QlKsp9lcjsTt3 z&v~S%3v=*n5mR)_iV@nI!7Cf&%N7u(#+eHLWUpg=xe2$rLxzPKzM%bBhk->|(>)aT ztCd2Ila<5a4~BW4YUz2TYR&Hf3b{^+`lG29iF5vrO4{4Ka&a4~P?e(iPg(i}fbYsz z!tYt7dXzD3az+#VKC%OlXK_!jB$G?hGcP!$@da(?3;sBhZF9i&EhcK=1`wNRZIzr- z`|A!qj3LP>XyLJonB?VuK1=@K)P+HBz0nlzAQ9r-Gj_uwk{(0-0V_B~fEGV3TP2>% z$CJqzu3leiIaIaR6zb1bH6Q@jG08zbwpGQ(>2o5zTdmz@`7434OxfbnvS;l(&0cej zO^U{l?!Dcz);gmpx(86KiY^X~X>Of)z#k6dgGAVED2NgLYNJam9;ksnZ81l%?;&7> zntoHWb(4DF(|#;sFta^uj`c{JFRF?jXcm`|(9`4% z^2MAn;2@HX!sZCS@zD5O6Kk|@qJ$chX^JD-+RP|paB0p_nVM|m zuQeK|Fz%blezn*oRj{&5E@3S?wrToXdkK3UiH`w3N#sTkqcU{kbVuGo0T-T)owX(a zj@QeKE}M{B+(?#}F;WR4)7PatWJs7=(0uV;`@tGsUF?V?^G!mCyz`A__B9;DJpZ_- zDiIPm66D1Y>+2~K>xN%?4$?JWbNEC0^v4$zT;1BLMxTdvzjF4CuGy@uFQw-^P4%z& z7wfq2cm52;CLr%5G5}Bfj4yr=4;&lVXuLPLCzLdTfZm%JA<&U}Rga=^S=B2Fd528Cuc zK_z}#q&4j|xn&D7?AbN5V4tf4kaeE7C;L&FWp3be;ecFzLJr4!iB$^j1PW3H0^>sg z_J7H^I7`%ivn@lx%Ax_=>X_MXLR@xdjQQ^)+1415tMNe;?Dddi#S#gOR;=c_SfwnW zzZyW0XsYm+-8t#cdlki@LOiiB;Y(xr%6^orOh#~(vTD8~Dacp{2D-YtJ^AuB8TSIp zXSY>lpf+~Wt!a)b7m>=gu?UQ!&53EC-CO|*i_BO(Q*(qXS!Zgl( z6{7KGoQP3*f?R;F-Kq;HNE+weYn8)Vzd z#Ig)5-Diw?8l)B=EK?<0_RMw!ILaz{u?gv9n5z18?6|t*FP%uYhHbzy1S#&VAMnsK zF2B=~Pd2oYuABZ1K26tIWl@cOV?GW|(83~4`asOcyH`54x*Mo>KUURkeP1_#vs2b7 zV1dH8>D`{H5`7TTRf;wvcsy29;%$-B)uYH}$vn!^xry^9KymV}H!N-UaAal1Mn1&? z@2@1UVj>Z|IVJA-DuD!$0h}kOQ<8+#4mj8_U8`n_ETlMpY!ZZCL2}QUZApK!!nZf2 zI39enp4xxIDj!9D;CuC~QuUEU!HC@t4gtO)%eeu`aN=EOs%6&~?pX}~*@;stIVKTH zBT?Uw!GM_mjn%#p%YNCfxDPle?Jrh|pXJVAhp$`)#;!nx{fxO7ApW`Psf3(A**rbt zGNUXfWx9*8y^0gvAtOQE;*Gh4i2`;l_i3&Z>_PAbb2v@O1c-|x%9jEjp-A$fEhJ}W zs9J&CJADrnEXz|hOyZ?OfyE!?N*m9UvoPnOe=i%c(s4=Ot}0$uE1gOZ3?15TR<*S!FIs_~t*oCfLL zOKDzLrg5NA?BzM5=F7P?_bb302WD$s3VL-Tf8@#iC)ESZj%B3WU(UFG3?fF=GhxOE z-Ga?&TzJHdiKZ^rIaGysv&(UHOXncfK)3bfrKTq(0M}6RUAZ~wE_vFUzT3yQ*d}wP zx`j&0%^&p;Ob3PCKhJ1(IR*gJQpTz%6iWfzJN%Q=^V9qn@Jts5J-vD*>0rNLN-liCv(-Z;ptz7|P<&AD@`lA2Q=7z~x=wl(u$6!OV-FvB1;@a6Jc?_~L zp2rvX;tJleH&Z`!H{eW|D1pW9X;*Q=92oy(nYhK6LB|zPi{%+(nZhETt9}DPN>RabN!UZH-|RV2rJJkn=m;qw zg`7HDkk+5%KILt7;qKi?5XwN?h@uVAz#RDLxE!*eD1e9x`@jCoc;zH=IzFT7Hlt^! zDjm{A1y$5b#}LZVK*$UCx1hPfnqI|e9szKIDiXh^DV3|3t=?{TJ8JVHJn%)jHO_9lf@}=|l9!*Bo=j+a1MR)k zt00(f2Uhy7#l?|^gVjN%Tp1S!+M908uPGRP1LwtbUMwTau?8&D*X9kTpQBCMSZ`Av z!&@?9H_O5KT5=eH?3*Mke?P2JhPs`Py@%R$yRV!}3Wtmk{DkTGD(a;ya<(})to^{g5rbaG z)l7R#^l(TN!6YShK$=yjnzs&F<%g&7uMyI^d{q&!)$K8z8x9(K7E%u*4x3jse80Bp zf2zv=(G8{LL`?JumYj`xnE|X3f|LI7!MPYP?hffEyX}T?EHy*9LukZGfJ;dr?UAx* zpg0rIX#nR$&_IRnD(<)Jq(l$pz+}Rz7p4>ngq(S$gDL+J7v~(fsukcFCPzeM;j+YbWPU?lb! zj(W<6DJ|h?$_l{1O1iEhO?eyVMVK(a7ir5-DWKBLr}@T{R4J5aU$yZe8(#z8*|ljU zSjbuuaS%7H%DX`9E2N>FlKek+=lq?|lkdt?Q56It6Un1+RWD=-8I$R+W?Hz>qYzA}^<8<2D(LPz%HRB@+bV6vhM>wElvMY8?YLNI zFdp$mBr630g*LBaz#w$PYgb(?E-_AIWzM|QDu;3d^}%K3R#fYK1|HiYMb3jB0A_sg z4OFLIf|?4aE7CN=r>N(=mVq8y(5U`?g;-d)zfdgqK_-dyro-=AH8{+xc`{X;+E`~X zquiRj|9H$iKPY15r7h1VFhQm*%XJVZBrEQ3)yD1z(L@sRU$muzf`jY}=FQL% zODCd+0vkh`@MdKx2pa4aJ09^t>&tT0z9g%kE;9oZpr*gJ#Cd*(ZUmZ?wR*hS+%k%9 zuMRj>n5JN){(JEG3~0oNflaWL4KnTb2YYx96ea%P;|%cw1l=8UfNBb~ZpN8&>pe>K zHD+#1`@u>>P=bnWA&f?rddKD+Xdc8~l-;(iwSYj_GK&CIp}<7i$0vN|u_K=qq(gB& zj?DYxiwbP41)>sgJ>6JVx%A6xglvGa#yT~fIr6()a07jN9As;KW)u#+Bv-A?6rL7p zf^5wVGc$hoEz^K0a|ajNk3pUot4?@$a1Oy8^4g+S-Gv7&(%PHj;hWs9PF`q9bbj-H{|qh zR|&oaeaRln`96#Yqj@znU!@p7(K5;(M1yNrq>(vB7NbGYR%Fz3P_^@f z2}NlMeRLlJ-xmBZS)ICf~RfcAhV!=v3wr-VoaJQs0N%K1hZCcL?Bfw z193Es0HakWLG1EX;t#&Xfyya~9JKKZrn>iO9B90?YzaWe3o4ZqOI&N5quVUuDuHlf zoiSLN1YnIL+cCC;mY6q*I8|_|+ak1YV6v)H(`73q-bEh(2|<2<2w%IOWD;tlFI8JC zX{$OsX8xr$!P3w*+f%+l?^iJ0nLi|NkpHb!mJVb;NJN2Bb!!ATq5Ld*i>i&O=E2Q7 zsWVVdj>Pf@H%G`*{xgd(m^*I;%Lkf^(Ed&7GO@Vi00RJ2(#Bj3v_2is0U9>bbwszL zjdI25Yb*1U%{+843w#LN*gob7!L-GpZHPmoo^(HQbY788h@O@M49Gslr_OW^Z$>)) zP9-kQLAZ&2dPmdGQlCEi^~E1PO8F`Nt*ekm(Qnv$jCb;JnudISNgTS3daPs?79I4| zH+pdM)(F{;os^9mJwgp;d^>(UZ?HWU3YEJqS4N<_Nf2T^>x0ao5-Q8k=vczyG8F3* zb;%ZFm0y{}mJgSFWAHw&J+VHsDaj&sq<1}r01Fgi_ImU~t9%*K!ceeOKYlYAO7EJ< zx3ZYk{?MakEfKk|_3#IS66VfD@#SLZp#?oZ}Zyi9n+hz6BQO&^$1SW!p(#MAllk z*evQLofhp=G|-W(537^a?7NoMI3l#H!SiX9x4QSv?i6O@qX&M~R)rj=MOOw#en@T- z1fd2#zl@j4n8egvFhfX}VLYmIpEb1`0XOLRc5@x{{!+6VtzOT#iKx?MpOxgJXEk^g ztns?I*?)Y@i}d?sE$)%%R_~AQk1+YOB|soV>Xa2F&srj(tWwv-XTJ0+-yaX^V|f0& zP&5+bw&-A(vAocsJYzNJ;z-1w&uT{X`Wa*hD7C69Xhuw-nLVh??-Q%RXifEb{w@Vh zR_Sq9(!;9r?S&o-c?4*0EaQ6KEi~c88)9tf?7KkC{Y4H4e;FN576Q0)I3x>N65uaT z7M~|eEwFjfgiN~R5)@(ry+%8D3l<$MF`!iR5>P8#%`Qn!-8m5&e|2$DZ~m(TV|s{& zl0)F0Dey!{GWjDU*+k^Ze2{jaK>1a>xU6W;Exi$Brei?=wiqEylx%@xfrzxIh~LX; z7PK=2>#7S-%JRXrltTC*5{T$ovh>o+=(p`6B?NVG${JWmAhI+ZasUb29AlS_zXgdq z>~O5Q#{43FMAm8zl+%sT!_=v|e)K%iU%~HzuzKkPItZJyP*^Q(B;{6p6nsWbw^aa< zAbtw<dZ+?NjanipidP3;NMk6PP((a} z6$O%N4Fc8uh;vFYH1We$r2bh8VJWb!_@IIQkL$#{U|wxkw^~WplfX*K*5{lL=B+%2 zb6db4Tw_9~fJq|M3(aQxV(QJo5N)#eel!oCkQ4BcQ1ck!`O(^%Mo8@ea@v>&)MNx2 z9nEEuu&Q@t#rLf32SI_b3SmKfyb;X~5~xeMAjqh;lWwp(Qo8%^z(;AyRjx;>WSzu>F-`3WCe`rAM;9r9f>YGe37dosGY(8ON$n`LD6 zo3LyyF5qF%SRkqr!$*VqrHyzW7+_T2{7xc5(>(FN`~K_Roy$+AfK5c<2kbl4?kvXeiZ% zeUa?wa5l_5P4htqG}J~ETSb8nR3>P@5H$<zKwU@u$ zNwJ{mx)ZHTFgT* zm%r*a2`L0EbLn5LjuJgYQuJO`B9Q|0&Gmr1eMq$Z4Hfs$BP0nV{mMXdU3=^wy@2$f zx1lEmAB+0*RmUo}Rtz+^AV4bV?x45CG8RGJ2Mp;>dFaJl`V2ay-Pr5{3Nh&Il&2EU zke-r(U(jRYzvE0;I@`(Nz_~-J8^oeAl3nD1r-2d6AqNF5JmNLUzghY26%+GZFVut< z=1PC=mU`(qDnY*+!mZ0hff3k3k;*$5!6Q{-R@Kbu+TC`edpJl4 zPgeImdKp*p>|$Z<(dL$(_JdW1AQliQ5+R_%3Fub(nd$=!YhHzFINPF(coLrW`p2XY z&o$am^oTJ`*0S7x{O0iq!dr>*ZA{7~iY&O8Z!dP8C-}~&FND;0dobM-WULW_?4_O; zZRMOkJdsR)@&$Cki%7+$3kG~~Fd%m)*Lb{sMb(^jzxLD{ICFw;NKrV|`pmYCfn=#o zP7nNW2`C&yt1lTO33z-+)^epco)?!XoKaH6<3H0>Q=iqXB9#+8h&E&$5);m>6}%nA z9=l>43Qiae`JfcF49#Gi<9-&g=9C|WywyWK+M2m8o0PR1>iGdvwCk~G>Zd+PqkjjD zbcUjb9aa=F|5p4@3HqbO0>n;8R&e?jwegb$?PWiqQ!P|bC|>!t_v(g*Jcv1=yrddP3;s538cF|L9@T7M14(Ao(zOB{lR*~bSR-go`5-H_2xcLySj)%?ua$K7NIq>Ycrga*Oy466@@D6A^XdxV!mbM|!agyl;6{Wq$> zRy}-`N3d4tk!Gar>Lf(p7YL~BF(Qdl!;-fV?+x3RvLX%q8lt8MLJRTzZPq5CIg1nm z`J>L}od-~jRv$A0xek(NJ^j;h4c45Mmhk#_hetoXPIMJd_=7_F4C);F=^|37CF~H= z10p}j{!T?9XmSd(iwI}TI%yIk6#z+ql=Bl&Fk)bm;ITilD*NE{*}L|v{6S46e0)(u z{>7XoMXfu^NR>gI*JE?S)`biSK@;_1j~ok-$rt$qtgT78G&tTw7w$LCv?#@4E*AJs zaKhg^5|>e)2bCIUz+<~ggnXMNluM8RD{gh?!X6dp$G8+AyN|2@K4BtAqE{!iKDeT& z2F!tW$$<;)2cqm4yaUNjpk8C6z)n&1*HzaoA(l#?LDjP=PT#Y%e)a?(#7eu6wj*E* z63enD&U7(puQjN(OU>*GgkY9%SB%qncp`UH#%9K=OSmZ@BnGNX2Vz5fHojtaJv|#e~gOt>Kk*PEU4IhEPRqdZ_iCANeiT>WwOd}L?O%EwSsgx zN~6V@=H{Y_tN(+)pE)xC3{+O0?VnK&u^%sNEVZ}R9dx(AJkcUrNas%dWsNxbr*@58+Io zApAL@?87DHt*#lRxP42;*h`Ap7IbMM?NA^f9-3$18~NF&1Xwcb;P(J~kO9&%ibn_x z_s)SYi)#X&Gi`_~LZbnl^z2~GAbRou+EEYB{+--5h zW}s`=t51LIKM{53I1hbFs-+J#vXn{MgQ5kUk92dKp=-OM1{u+Vk*u}APYc*w$J)>D zhjldo9T#R5NXelJTK25D z1vmi$Z~MD`3>%dqN1dF$`)G5WBThUyusNbyL7{HvDhhyDZi5Kgy!VmhiY#rzOL0!h z7XurtuK5nenCJoV2^5a{hOUE|I#c-Gpa!-|!4E{WxkMFNDwmca=j8=!o;k!4aHZ8J zN9gx~Yt{@!q?jpoUG}QrJ4RC@dk~K_^Y&?K4VK-z~^{$J`jixeBi_EK|YYd zwW~J9kp*pa2MHuaeS6QBd8&c~iwjrT?MAS~ zJHKAxwPhcUKf3%pxAB`tNVd!i1ZQgkNF3-gwN4(jaqF5mh3L+Jnb!_Zu0qU5s2{ThKVr`o!D4-?T2JNPI2SY%lu}b z;1^HaXiBl%gvzz*yNvm&#NQVeK@54ggVYc<9Nb(akw3|bYfRDj(epdSZc9-MP>fHb ztM0wn2X9vkD*uY9Ciy=I0-3VPzd?~}DU;^r_&fp&9`O?ROw|JUdfjGX zFcGD088@XfSbgnV4#y5ZktfVB$Ao{CBv1mee40`1wk8C=I zQwW30vK*L;NjXPj14nyQNzMq`3XIyzgeQQq+!?RSBUvutTCN7)g)rgbf&%cM2BOMu z;+^zr$6oE_g}_<19($z}7s~14BWReNS&{7n+UaN^1pU#nM2Q?;!;>(3pkgIgeiWRZ z2Y)F}qa9Al5|_LT!60cYCA+gKAaoGV{}i%6vd#j5?+K4pRA49Qzfkjyn6^(hp_2wx z2LwNq4=qOE<6{f*opvw<4yQ;J@>=G)6G0O%eVTUW7@j*~uyR!|X|coIIk(&=YH`;r zSk84Z`)-po^8(V7t|gQr`sw|18_-S4u(N?5x=hX-CQS+u4DZ$wU%XZih;{e^x9)-C zrRawS`1C3o(cK;{SqvDVKfXdJlq}iFlj zvQF_)tcOzI^EeHvF&rklU}Yz71-r-O(Pj#80S8lQK?8K!3WhYuOZ+ag!$bQ)Yw(M}&4JT4Ma;_SWS9XBac-2ULXX_cuxb8a8q+kzF1lWeOi4 zcA%Jqf2MQK%SfuldmR93tbneD2=_iEeqc09Q820uUN~4CjD%#Gz zbCBnf-k6I(kt3*<5uZ0_I2u|AM4nz7|6p_Jp{?X1P zUN`ECh#aC67a>n$k5d{zzTSC-v`5R*KP zumr`djEzLtokcY3yZdCtg7VFB{|9rYKI(JLTv5pn>=WOWH?8M-kM z=%u=Yd7?|TYli~!K18BQu%N$zE@g^U5@~^&dvgQ!aFilG)7P8gF#vJ@J!Arl zS;U%%s{Y;Y4Yz991W|>Iqco*83`d|;YnNjRY`~hrh9JmA4(wCJWfN(z6MB$_^_I;W zU}S_FngW-NgO#)<4B9-8Bamc6q`^S)FF1H$zN+vF#xFi3hVEDvKDp(jN%YMxt)*

{|wNqGFUU2mnMZ}vT@;YW;e94rGGA6OZs}o7> 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