#~npcp6
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
c?AA7#v+|r&d0id5oj>S;Pt#fX?jg{GMStVHz
z2(;V$>ZRX7pl$BJxJ+gna9tu<+5@+pL04TuK%hO%-yxNLdXF;ja4+VvGsZ5^8x!Up
z>;H(aPFkTzT~2X-iY_tm1Bwa7mv=qd2U&{Bca7CEgf^|l18%&
z;;I(vuuM=8=f)1wuG*$U&@usCQ9r{#iVfHM;A^^m7Ij#)ei
ze&X%s+ESdYYliLGu-U7+>`s$OH{P#B?dOVy>-F5sDwF>crIYyohxc=Jb#=?o=mNdr
z^bsjgH{mI6lq*t&j|`e^yO4cl+lA{}T~*sY^tG7;j~b>gvI5IT<9
zRS~Ii^T(9u`Z~ckW{AO$O4Q_@{8(-JSfYw^c**ymZC-x|&BWp5qfXxvc3(tgyBvfM
zystkwydS1wg0V5VPvh}8d@1>1+ozdJHqO_6YIvQxz1_9vH%=n!p8IcSY%&L=h1!!9
zKVI0R%x@o+?Y{cURlZcvPc`1s|4eGKz#~dYuep92WcShQ<^*U>9+mf)2LXwEPSxln
z#x#1Xfi}5yWo2dfWGPVDm9jypf1ry>kYiv8!rrwq+{1Ob(t^5{kUz3cJD|ERNEa8p
zHhj5Hmx<0Zk6)K`S-k>&89o{P2rBL~%)dhN1KMT!xrh>x{nI#FzhzVxLG
zKl;Gemu8D^$(2PKG4C2kzAH%_=_D^xnPXWWR|+y|;4)@ESPiM;+0FHNQs%68cXGW6
z5%v^mRF9uMlf~6n*$wGE4684!^In=?KG1$#v#4w*giN{RCi7yfw^lc2mQT&`NAon4
z&fVnqrY5uOT(s)WN8T4tC9)-p(xLRO49^{!SrI+21ddZHPNtg8%~pzGoObKZc7e0-
zQolbMyO1gA8DM2V*WK1#HVKQqxBLR+AQ;$D1qTL8&txU*3oUTbHvr8e`{Sp&GA+vv
zxw3+0StF$|{3;fW!1>5P!U!_%K-y4w66Tq^D#8H~wlU98%N6n@p)VJOgW$#$!O5P0&t$?Zi?@ax*`klk8)6Jq
z;rn&QjnTi!e17v0CILjR?lo+h#%96ym-8#S4dcbA60?!+|v%aZ0
zIIUqbLYYeAr`DMA)^D?Q{$P{hfHH&~Hq66)07zD#mi;qa*l8hQ_YaF^nJ32eUrRQa
znj_-jxXs(@LMKfglU(dBB7dsh^EAA?wn{^Lbxg!b&NHeH4fH_cxE)K!Mk1#9h);3!
z`)pY8IR8`X2=g5*CTLnHtxZ`P+N?aaHT8nIvbp_>0+6??!ktJ|*}u=z3Gf}7;hKwM1EZrS8{o66{CDrh2Xh@Mt=Y189a
ziP+K~5|by5XpA+V>Z`UUH&AQEc9O!nQ`H5J=wg;{e*K=jBvh40V2F(S)@sFR5pz0_
zpBn1}r~}-X=is%!Ww$)U69Icfs8txYRh5s=N;8{MCHq~xywp9%pnmx#9N~#-&@O4?
z|HbfoAJ-g3Qr^9!Zx47D~ViF(F@<5r6T@P!l8Do5n
z?;k~?AwzX56M#rK3&i}(VUFou2pB7LdKJ)Bx$(*ztLfmdEv11p6Z<)|C!m3doqnEj
ziuHMt28qe=Gh58gV-;j{oE+J3^spd#&=SNUVUdw7x>a!U4%Y3tLYMt!v0%p-F#N$}
zv4%25>}(NXhjzPvg%Dq$k5l1|HQvkJc#Ms=Bpc&q&A3_L#f|Fh$TF@v+WG74$MGkM
z>y*_OCw>D}M!hMl*mWT9>0>GJ_hgVvS(`#uS
zWF`L@mR6dHHu
z`1n{VDxOHx)GU0kd0OdQp?L5MupM+gbITSxDo|T1JUcCG3z7u(kIp{T_43?sw3vD#
zXz$8}O;t5&hb*^JH#l#N7Xj{%k5fMb8EH}u`Oqrb*mevKf)?wJ@o{j$d$i?Kn`qV_
z`+V_(-@faBjJ_kw26hfUw%S1;Fh-TowUptl4Jmht2?d#p$=9spIG-Liz32fvc(vx&
zZ%Q}Rb~2*f*;cRVc5_W<4XaGhu_maTNB|C6*&(H%lsBpW4)6&~VO*uh^PgLQ
Q{|=D(WvfeN@Eg(p1EK(E{r~^~
literal 0
HcmV?d00001
diff --git a/pictures/buffer_init.png b/pictures/buffer_init.png
new file mode 100644
index 0000000000000000000000000000000000000000..5cc71157f1698f56e13f2589c013a60714eaa559
GIT binary patch
literal 3681
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
ZOtHj!k)jJR;M+4qQC<~}dGPere*k8KtA_vp
literal 0
HcmV?d00001
diff --git a/pictures/java_nio.pptx b/pictures/java_nio.pptx
new file mode 100644
index 0000000000000000000000000000000000000000..b86e79dd4cf0453f47422b9035e06b936cfe98d5
GIT binary patch
literal 65274
zcmeFYWpJBK+NN!$7!xy7%*@Qpj+xnxDdw0lW@ct)Mwwz}rkG>4jIm|L)$`0u?d-nu
z?)UxQ)elvv)N1v8m-_0X&!eRx4-JC}0SAEq0RceVN
ze-N&H(cXQ5{FQ4@0}Evb@V~U~WL&UQlI&Of^tzza2hCK0%2kYNgqE0D|KjvI2RI~I?@NJaOvwou{vRSel2s44vkos
zB&<``{f;l8#=?AkqOL&$$1u`!h_OYVvL&c_Vw4=QbMhBrlf+NKWE?}dlm#}DL@hmWD2`SIV-FF_mRj1=
z_j+C*??G^2_b&fS8wY-%)5|l+E(4>cn;K-ql`g#U}Hz`tF3b>g}lG%I@OCG0lYq%Ze69r?VS
zgT!&p=o5q)TPMLLp-ky~Pj|s@6BEXu?#W4El5I*Ihr4f>m&uJNhJB5dqVX$z+S~LV
z-$=0ANZE?GdEk_hP?Jp-^bM=?zDh8Od)Bi?iCyXR{Up3Bp7bIO>p)8I0lJd$?mH`V
zN0)EcQ+HIJ5@h(XqX!W+YtefV7?<~J`?on51ghLsw&agxW
zW*ktB+tpWzY>nMh{P3p8Bsx#Z`I!T>>3OD$YshCYC;_rLAC>WebD9?jWx}$t3m={-dosb@sy)h@-}qfJWLO+wi^RR4++j0F{1#~8imwWjZ2mSEIGGUe*r!JWnz
z&ZCk<5qL%8wL}ZyaCLQ`ncQN)iPN=Rv;g6t=&m$m{U`BFXe6l%^Zhro2aC?{AElPR
zD#!ICo5|ntJMZf_&!&jWqjowQkEv>1=s9nsoKGgz+L__GT6mkbZ!f{OeycY;Zpb0L
z2#RW`A#lEJ{1sI%zy~DO+!%oVh4GtJFj_S^IO2_kSiZL0Zc-_z0slAY*BUkexn8N^
zu_5D9;M`dFanFz#N6k@)Bko+-c{@<>g=6&>mEDLVEEg<>vKb5+g5H3r#VBMJ&NVJs5wx@@eX^PP2)E7TT}dRMC!E}0<0&dfCvHu=Ts|D
zHY=z=`J=CK|0+g!>D_HlPa~Tukz2X(6YU1RQDoytax0~{TrG^84Oxno7~Kp{E+=Z+
z!Cd~;^w%JkWyI|VTpART_sJueondKl>jxMspa}W<`-7xm5WbJ_+p)&
z6Jisqkv`FW{yEA=>@)Y?ucLYQP!8C4A0HM@QHYP;1O}UEFO=Vpk>JCgU|;OBtT3~)
zZD0L^TzoO)u*lH6a;Kxq%^FAcc4O4=Hn2@Q#6XqrmqfL|dD!0#&yJKg
z;0E@a(pPu{e^ecCfGeFmgQZ=rV+2{V+?JKrJL!E|U{kGy_EJO;Mtn0uSZGzrIDq(F
zwylU$Cfo62s~`>S5F?ykc-M!SF`Y
z6elW9Pk@eT=PDG9@Au8C$xg#Xc98sk%B8A{k2OTb%#7g4mM=U7CQ&JVqV@0_%Uh{C`~d-z7wU
z%3;41s~6|^opdsXzxcs^kRTir3-cFcl-+!%CdIlKM`Goi*EviFmc6p1a!2vkxk5%2
z(sSCj!egVRtT#O0r*yQqkqd?|%$8->eT6jF2|jVX_kP9Yo|msxo)-qCx8(Fu3y7Y<
z)P}m02MqMn%G7zj_+*?{*oyj-yIlDpum>d^hJb2yeG2^h{kmC={?I
z{(Rt5f9pIR;D$gzrLaE59D|h2EE7;aLq6E