From c385b247b3a7e614d8a9a735bf24e16f9b75540a Mon Sep 17 00:00:00 2001
From: faiface <faiface@ksp.sk>
Date: Tue, 30 May 2017 02:52:33 +0200
Subject: [PATCH] add 07 guide code

---
 .../intuitive.ttf                             | Bin 0 -> 49552 bytes
 .../07_typing_text_on_the_screen/main.go      |  78 ++++++++++++++++++
 2 files changed, 78 insertions(+)
 create mode 100644 examples/guide/07_typing_text_on_the_screen/intuitive.ttf
 create mode 100644 examples/guide/07_typing_text_on_the_screen/main.go

diff --git a/examples/guide/07_typing_text_on_the_screen/intuitive.ttf b/examples/guide/07_typing_text_on_the_screen/intuitive.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..9039d7b3e5e9bd7830b19102b1ba5d1c37599d0b
GIT binary patch
literal 49552
zcmeFacbH{IaW~w3&OJG&dv4BYa!xxtvpbuUc6VkrDj;d4RTf$V5?YcZlSMEY3rvmz
zjO7;$%K|nz*%)CA7!V-am|z=TFdzh&z2C3SosonPeEy!-&-4BBo}E*-Z{HKTs;jH2
ztEzh$XN>s(DOTBe@WAT)zI~T5_QB^fCJXxxt?s%rKJ{hBq$l92Zy#748J~K^k6y|c
ze>=Wka%9_i$FAOg>K}0JAzX9cW!GPN>gH!Y8Q&`xqV6S^-TZ_K3-OQj-G}Q_SDd=?
z`X_X(Nyb_~W=#0*mDioV;$=U3*$46acNn|%!mBR7{ub@6<NwB(iEF~nRVOdK{QmgH
zXX1T>xPSU8R7f8d@hpBhzBjJA{t36d`p21*c$UhTc-^%pZ+vXt%^qaz9S`9BZ@lh?
z%PyUCR`)P=*Jj*v=K4!-IVE&cGbld?_g5Z!>Gda{ytVa9#{S|@8B<fIZg~6?K7G&5
zCo=Yd*W;T1ICbO6Q>U1I1nv7rT(2^s6=z$XwBzpm7dsn&&a&e7QNuoaZsK$F`ML71
zhq{aBz9_y>d^x^qOrTmExKH>|R|W|_++FN0i7!l^)cdUmzme2@gZ(l3;Ui30`yG@M
zKqu63Ch~t0jxh-}9}@1sP0#Or@^7+n_A9z>{kV;>5tM;-@2KEln^~pi_u3%7oR3r(
z_vlytGvPz{sNnWj;M;dt%)iX?{2a>*Aq#{Ss|r&rD{Nq{AmaNGoHwuz`y6ZW*Ru?+
z@o`N_SYRdo&-g5`hQOJ|?`IYMB^C-NSWW0MRd^mN;+cxDjkWooGl%`0nfy*x<sayN
zj{g+zyQlj(L1Lr0rpSN50{$b`VBcVE_I*~vyPEXLZ(`T*_v1Z(%`$km!T*NY{BN1Z
zKY{PxWIBHu>!8l#pTfPL#64f=F5+D!KHa@vcoo|7O`IRXeV4F^zk(I`i-7N6cE7+s
z3Y>q*OyODG2XKwZ@9%z0sIx5l7dFIx&GPJ7XkQU+EwVIw70&md{81JOFJg7Vk!NuK
z-=Y4kECy{d;u5=&pJM0pIko}Mn8R;F!d;-j!%pDVOuiG1A9fO5duR8r*yp;R5+*=T
zA2fc%nb4PLynceVL|<_iGsH8@PkorF=*QC9S->atYe^hL9ntDxC;Mdg{)Aqi?0yjC
zkKwm`LMNit!%w2q!%xtOXodb86W+~s3NOd`W)`rYvn~7}>j<|q8MN4g@@CK?&!39^
zT}0n5G68)Q2oC6X1slaR*P!3}lJjylkCDBDe;c3QW*e#R@%vf)R>%D<oD<>_Pw`3C
zkFze!f{r&5uXMkK>z<1KxE6gdAUvIE`2I8E6X7LH1CMIp1%qgi(0vo$x59>ruW^ls
zYd!w2p!HR(jlO>&@dxoh!o%QMVF3O7A@DQ$A$cbCCF+D6c<x1P9OK3X|EKYs3#cEs
z#P*~7c$}MYUe6z3n}t5m;Q=-a-Y#IoeS`D8`}XeL%lC2|dwF&5-s(KQCSUgM-M03_
z`gdHpcYfal$1mIHCi<D~Ch#CkzR-87#IgR_`}SLK-`;(_x3AUqE*-%~^4EKM@>}xD
zS|wE^-`8HbelyikQ`Q=l2o^?7=gedesE`0m?fwSxPy^JN-u*9TFaywJCZLr-n_1mo
zLpIoeE^`1q=5~L@eC7cL%m>6+>Hd;MECfum2ry=8K#ale0~oUeb1VaxXW8yAK<OM{
zk>vqPtN>0gvm#)Hl>n=(3|M28?$24BRRJ5U2G|7r8Af6qu+18P9oFprl=ZO|U_WaE
z4zN!5KiMGb0~})gfWvG6aD)wZf5JxD5a3t>$JucA$83U)08X+|z$rG?{oibwjRVfG
z3BXx42{^~5x<7){m<F6@Gk_b}Z1;z3A%Tl*4&_a3L-#)*&F2A^*hauDYyog9TkQTj
z+r~BlZfBbTcd(`Izp<Tc3*auc6>vA;51<#e0q$kn0r#;T-S4yW*iOLxY!~1Gwj1yu
z+td9XTV{I!SJ*zlRd!zYyX+9#4|q6%N7#Yxzp|t3AmA~!40xQa0G`iQyWe3KutR_s
zvcrHEu_N7oVUJ-)0WW69054(3yZ_8CP2dT3KFXJ|3ji-?7k2-Non#jQUcnv%cqO~I
zdmp=sT>^MDyA<#mcB1=jb}hRM@H%!m;PrstVvl7f0dHVe0G?u30zQsi)%_;BkzEb=
zcy<lo6WF!gd)ZCwI>4LR^?*-gkL`Yg-NJ4FJe|NNu~R5NnLV!ib@mi?Bj8in;{l(>
zp3waoyOrGpcpJMJ@OJjZ?mx0WVz&T3ot*}J2740VGXcK}z42tgXS1gOK8HQE`xW+F
z_B6md*sXxiW4Cp`%%0C~2YdnhBfuB3r+5DW`u`b#FJjLGd~pI_!k*Rr5_>6oHsH(H
za{yn?p4<I<=<7QGU&)>a_$Tc7-7m5`*$V()#a;;bYWBx~f689ey@$Offv;sRM)`H@
zCEYKu*Rz)bzJa|A@Qv){-M?dRVy^&vGkYcATiBlfzLnkC{XBacdllf@*{cEX0{mO{
z4)&*j?_{q5d>4Cd_ixyrvDX2<o4p?J&)FNgpJR8kHv;|zdlTUQVs8d~4|_}Zv+TX>
zt$=@-!1uAYbw9)2&)yDrhTR4D0rrmWr`cKdPQVYccL9Eg{Tbkg*}J=+Vt>W{9PqE%
z-GCoqf6@IU`)C3`#{L(|A7}6Beu901y%+G4>@NX7#oh<_Y4-l^#~I!L_*wP=z|XO>
z-H)-qVIKtiTlOKq&jWsx{T=%-;1}3m0p7#@y899KMfMTEzh@r>{1W>Z;6JdBcmJAw
znSBEAE6|pI&A!S$1zr7*?9+f>OW@bpXSyGThW{+!z0l$xX5VCg1NbfWx7`o1Z?n$>
z-pBq9@Sk9#e31P!y9e-J*cSo6!~VW|mi=o2zstUa^7q(30Dhl+x%&b31NIfbe`8+-
z{CD<`-81Yz*w+Am$i5EvBWS_*v;WQR1^hAlCg4v1-^c!weGBlX?Aw4pWA_36oc&Yx
zFWLR<p8<ct{sr&>_MPr~*)Q3@0{)797x35Yd)@c2|6<<<{0;j7;JE~L*}rxF7X*Ba
z^FGbssg%?^WC0~PCCO4sQe;U=3HS+Bsg!_2O!W>iC7~?h_oRkykOYB?A{SC}N=yl|
zDvBuL5O5LwC<tqBNIq1}NS>q+q#t|FC5U&?Z6ZAaM@kaaR0^LdLB$6uB^f1I#)($R
zk|?E;V$w?7OKnZ5lAx+8UX=oZx|zHiPnGas;D&3ctSV?Y;g=lit)MT24)9ZwXW;_E
zK@fo-8mi!pz%L~Vl7d6PMLqlyMCl6-RX2N|1nJ4tsNR7Jx=mDo3J}68&`xTEpyC6S
zXrqeusVN0yRb)}d1=Jm=Lsy_vP*gz`;D=WNKf?lkL~B{bgHZxrz)w*XK)fKq7VQU0
z^aTen!kb0>jyB<Ex&fU>_(=(VibhTA;YZIU6zFsP&~z(#kVX&>PTrE#;7O9IC}N5p
zK~I-cxG2F-!-od^6hXtIaiaOaQI@EP59$+?h?z85)HDrmBm7JU?^b{toxl&D_$n)!
ziiYFOy+)z&34X~_2pteMc@{1}L80FXKNS=e6dgPzgM_Mx-+K7rkq;ia;Us09Al>*-
z=c0mcOR0DS;U%YV5g1VxbX<f=bgV8bstz&`kAY$ERRLlEL>od>mqlGiwT#Imvs}V2
zIq+a24SkbUT~*LnLXR+}!H|#$-$4U3DFp(7=J*+eApB@3$r?y0sD=dmKtfH_=)rVz
z@`5#Bm@Xb8%LW1Zkv@9|-bJ^iRE$vI2NL5VdW&e_1C_wf00|69L#s5x4_^sCpr)Xb
zn8{E?!!YnN!q4#qMIl;iDjtkmb$rtl&D2$DEUr?CW2hClfm%rDfFVEt!Va{=6_6^x
zPgHcgQP3=KwgM9BqE1hyo9T1?uxy{6qnHHfNBZm?co%L<Ng6m92q~&$p~;}SXaOHo
zqK%dU2A6e^RoB3a_^JXsjrs$xLyIgmWmy*9rT{-TAYntqR?!|s(}0(zDLUbY#$p^&
zv%qi(u4o0GfUlq%Q7pj^w*xs6GKzs)M7$kC9V9eT20fTi(C8^^hvfuGiJAaW1i7(}
z9=(fhlW2q{_@Vhg3^ZEDPfuAOfu$Ilq8h*t*y!jEG#pLE>u~KFet0GD^CHj|jnH*X
zH`egefvaU`)ERgoFki#3hb!t5{Ah#%UCqE134Z7$LzTclHt<tT94T`hKb;C|hwVm$
znQ9YA@S{R<;9Vy0lj#w_4=jX>68vm@*cgIF$_5GS1V2-kb;VBb13-V^b!eTfrEJ^A
z%Lu<9CSjxNhM^lK#<dQ-3|%uFQ>Vt_K46aa6YCQT;|UtZxhh-9vs6ttaRn3=M4_me
zpr~lNkZ2lM#7bGjrF64Fg|)-=V|tF}5TGA>olD>FF5D)`7DgxyFkNx+8gx#|#Rn?U
zMprXUSGB-jmLVG|zUpYDVL)V9263OOORnn@7QipcLf9Avh;5)f8VdMk=$306)L0E@
zqiv)W2s!Fy&;SEOv2`6xj|*&E0puV9Qko5lik6R|se^>JWG7q-6woUV9)6fjF!cx$
zeh+mn-bJ@57Dgzz79{rZ8Zcza$Jp{^*|a2I#{kxBkkvNPWB6*Im8Pi~s05a}Z%DrH
z8>XQHzf2MDHZ9AxP1^zATMoWhhU2>?H5OM9qk&mukcd#n!+;J5OB4fXOc%F9B`PpS
z4A)SMloM*IWPpUO<Wet^YO|?e(W6W=jEf1b0YUmP`IZ3uirZw>4KXe-7A-Br3(;Xx
zh>uWF(8kbkoKSZy-EeKy)<e^=fTC>~7Ah?u8k%w#h9=$y{PI-@8{2jq$96r*upQSz
z(Q+f-c1@*+xn+@7z@3CEJwcL9)wigpP1E))+mV$NhLU9ZmTIQFG=!T868f^A^deAj
zsIYd#xoU!Knjqn~hBqE=+g9NFisq#u0)UsTr@>I5x|GI8T2&oSPFtRrHhlDh?`n>L
zua4nZu4CG$bijpaTS=$WHn0GG#X1I~<G8Npc)n~pu4lWhWBcjA@hru(Y(m#2Nr^kD
zYi)dDfM|hDn4-S}&;*@F_*sFif`Kv+ZWc%w$|2~MD07zzYe%L~PcY38Br($KT*4Ob
z3WHG5gA7KLrdf`jL6?AM<&0$*8H_Do&e(pCF$34KLr?cie05FN_Rue8=z{C)jH6~U
z83$MZze-yIb{>fB2BB<uKJfBfC(K4JHP&_=4;({UkBE!+J0@C;(HA*{sSRQ1xIR>d
zrb)6LIT{!!Z|aHz5~h{3hl5nNPX&4sj(n+|V45RHKR(pC_%$7+RU^t{MCrQY8F_RG
z7*ftVrkTgs3YEMQMtKYT<)nSXxAJc2TfP(cV5GF~p^14{&FAy3@4CRR+L3^Q?+1Yw
zMv9Gsi?$Gc9`Hlg5V|g@L5xpgW6;SZ{L&7MRNL_)P-hK4Cr$W855teRl(bur;MW6%
zawowrPsoy(e5iBrt~kAhA3DtOOyEaj5?EOl@Czc8q9|{t3BSMy><964JXHD?=;vv`
z&+|RPuQ>$T24NUQK{{3(6#Njl#)V7}fxUrjfDu6!4aO&M^*|?2g>=dKG*VqJ$oN61
zY7i2#;$^@wa$L4e)yv{gv&5x@Uql5wn2vINC_%JD$dgV5rEyRl-j&T{H8WGjSTs#9
zw91}mS)ftbv+c5BM6p`-;!N4egszv3tjH<*ap;6z6uF_3jY7xw%Yj}lmxD0yfnWaw
zgiSgfXENz*PW4a-LBTLr$wwJq_X40DMG<KQ*AMXiAasL3gLEl`KG5}pC?7_#Zpfx7
zt3e?&10`37L<@>Iv?6gSY3>Xa=t(&0orwh78bMMqYk1?~__bIl=ytvi5ocLJ+NlQt
z#AT?~1J|uvRwk#_!(6`Z6=FXuX6%fIudx@0nK(#$#W?oDupSxpdOeDx2>1=pLfB+7
z*<3DDC~5%;>1-yB3iVQ)4~-y<qf8v5{h9&(rT3?OLN~O_F);OkTPYo9byK!1MU6_J
zs9J1!7@i<uSubOtLn>%mjtcZ79PPo`1luM-`Z1lLOQ_@5N~vr(r4~e-<3t&^g^qD?
zSu67WmTl*XdMhfHT0torrpq}u7qrraY><uexiAxyb6G!~ZpCJ+)rzw*P2k5D)J&Ys
z7YfB(sjNr&LNSxiW#V$Hnk%NwFrAHodDbv>GXVYZ{!9?3H6!g-GoT=PK3mCT^M<9^
zwyLG8u?+_5_gy2d;V^0#2pBcGUZ6srcs7^oA6+0c<32)JgBs{{E@6w`Yt@?RRr);_
z9Tw;O{y6siOh)gIgP`AW3T2}|E?4@aY9Srhie545&y@3FJ}ws0`KVUNhnY-&&g$>)
z&la*-;5WTR&1Lh&Qn_5H)QmI=xnd!ot@hOm<=9GR3fV#-mp7q3aVOrN$wk?WZp2<A
zn*qj|OunAWmrPr6997TMvrbm44TYYWZQ?MS#HFOUOH?Qlj)lU|#1=v{JD9@(GfMAu
zE@6w`n~kRB*N1#B^1N&z7|LdYAeS?SvQdO#TdtWy*;;)l-6+M`X4x;NhjP_Yx|A)K
zGR1VWR7~e`Lj`+iXeeLG=Yijb9a<q@ELW=4QoVt3U8xqzr9!?w*ecbsb|zQMmr8{q
zsXmNPygvsz<xMl|w+rBiIGZar3&o1%sGg_kxmMoI>y6O}V!MOG>JXPgZ<|#rlnKXD
zX>4W(A(|g4;2@i!K!_#>e($u}cF-IRd<er_IU3F9qX?Ic=F{m>->){T(R`yhnrT(C
z`A#*gW=0E*N~V&pRdVG_r&5j!h0&5TIyzdc6pO%b>#|-c*BZ@MtKR9i3n)|?wOYAv
zVzAaOLRHnu^;)&+xVD=umI~!^3C}56b}<^Nf|JqlwSh{l>3CWY=w@lK9Dsplvk+^;
zIGo`I4pQSSD&WC%%x+#zu$`{pAgx|0tsk{ob$D>djR$7qC>KSgdS<qaF<hzGv*lcF
zHi}yP&TP4VV74&WES87cajP&}?Q7<n<#w~wC=53n`ATKB=FQH|)|#~{@Y{QV(WtjO
zef<ONp%JIt=^JSD0oUOTW39o8U#>Rm?N+l%s-aM=m234{qgboiZY3UXRCA?LwbmMK
zwEDb2k0R5mjn$*NIkH%Yz4`<WcY=D6lwCg+IvDmiHtoCs@~vK9Ae5n0?M9UjLcP^$
zPK;0Z+0n&pT+C!@o%~`AW4O_97Hh@gVjK^QxQq3X(Z%vuU!^`VkR2#5Hir93ef7cq
zYNtHW-zha3i>+{Rak16cY63qTV((0CL<F0T0%}m=-(@nVn0W=h(2a;&Y=>|AJot5A
zj=060@L|6izUwwT*Dd(PbBN{?5XC7WdQ(BvriN%u15ujSvDd<reE?C6zriyVCL>O+
zBFdyAx@0n&qDY7#S%_`>cx#B*d4Ska8otX6Vny$SfBIeUPQM4SjXp$m1`y2|LF8r(
z@$?BqYNimOnL%V`4w0Q9L}lg?hgn4YWi#R~TM%z~J3QfcAx6Rw<v0r;^<xmXxCT*(
zn-FEV84-mi!k_(@h$B1+QG}-=Ztyfj4Q@xY;2DS&JQHz&XCWT&97F@22ha1Lz$<+Z
zyvrT<mcIrc_g}&PeF!lWhPcIN0pEs`!4v(J<g*7pgqQ$B%;Gcb2qH2cMfvl|4{w4O
z|Ibi5ib%}Wh<-c{KKAz^0<;tHpFQx;GsGKC0e%tw|2HOgd;uQ+gNXmU8xb7DXAqsa
zh@C)0=5j=6u0-sGAr^BTqAb^<w1UV{?>GZ*J{=!pDFGQ0piKqzFM)>hxbp_!`z}23
z)9|Q&4_@gmU*(tbTlmxXON37gUl;DJgq2*SRH;>3mC?$E%DcdVez%L~RL}<-LCaHU
z-@6e>_zWoXefDF%!Y{%7PsRP8O70IJISLr0bpPB#_an~55O1IZ84g|KVRT=Td}HSx
zKzW|A-+b#gH}q=Y!hZIBPrL7``zqhQ^II<i4=tkpe4KAbB!R)J&p6z`e3b7;6q~J|
zDB(Ll#E-2%W$p9-jgSB5`SlNT=HY~^z6ieg5_szZaMgzp=lLkO?QMu2y%HSu74X|z
z(2p+xFTEMDrxzjSbOfAp44iO&!q<-nXMY;KaYe!jSA)av21j0-@WW%#%U=b*J^?&`
zGx+@$aQtcT{MW(dPY0hr6FmNGaNK9W=g&<z{rRBj3lg5Bh|Q-!<rVM`@h9=-!Gufq
zV?2BTBjNvYRgbOyFIW9fauq_2Y;f-xrX4)?7o5NF_!-`P<{7rF_yOn*@#4n}ok6Nu
zrLz6%ZFloa@I@FzMSm3~aj>%EZn3#z<yifA<&Mf7yDz_^vZHd<rI+8GY9^of;p831
zM=E!-)niu!9y(UNd-L)9gT<4_k8i+pQuG|$g3IqXjwf8R_5^$;RU^N_MbhBj%H3k?
z;IZXnci*-xfA{8X$Me-{W&7P9Ie6^uk8I0Vj~~ZX@`Ei!i=TRRX06Q%+AR0uceVGF
z)nj*W&fm?B-*E>$bM;ugdiQO2+>yTnc&vRt!#?te3eFx`v3acml)y7UiS1|jZ3po%
zeAKIXs;F1%RkZW?HoRLK+`D>gJ6c+$mg;|)<i>-D;93*SHxiOt|3f6V|2rgi{#zt>
zA8hGwk=#R@T_U;v|0BtRhmo9t&-DTDI<l1TPef+Sm-tVF&%>UYg(bj(MWH0bC2n)2
zBr0&K%ENqmW|8A>SPV*ntSpM{VSJ1$Vo8j9Ut({5_kmp-{c@}}^4Z~%smYW3&Ofv>
z@Un(zNJtUnf@%fNN05<=+3gz}n$ntDEQ`F4Vi}S@J6_a{`p~p+Ml}S<EriWIJGYcF
zeUm$98p9>H6AjUdat0<xc6EC7w)dR7KR-4(-&EYn<UqOY3o7TM#qqI;Qpzt6S85H1
zj7wN|$nN2v5IzR0aFktg7G_+Vi33Y{*n@+x_6C9TAZ)ooSeAp(ZiCQegV0xl&`yKU
zgM-L)7=#8IggzQ%)<sJal;R+Q@Pkaa=nNZl(X02KVQqZo?in4MS(Ij!MPA}D5soW1
zf}vp=PANXj1Jn|!#5{s%9Kk<sEFHSAl^LjjHm!=cv}4ghOi(tXZ26eN#ro1%k@K-l
zi^kxsFL>eO_sbmav4X4T8>8jcj!2IJI7F7tJ2Zr-xhh;VesW4y!@f?X=>v1Z`zHzB
zBe0i_orRG+OL$Arzq7~^m__qJ1Pz5O&OV%TICtYbj`M1qr*S?P=bbq3!ubK5pT%hb
z?>z8bymxdgXw}*xA=mz0#6f~MZ3}IK$dMraO5}X$gkJhlDPTmIQnccwO^WWjS^Lw`
z!>PdAoS*wD;i^9>J!DL$<v*{q(uiYZT}k5oeDSww!jT_#j-L}g4vIYfEX;jOKzf`I
zfD;06LI6$(zzG33Apj=?;Di925P%Z`a6$l12*3%!Iwu6+gdpLB02Ha+gL4FfD>Z__
zg>!b~EM^+BEamxgV2+kQ)5PehCj<j&;`I1*IvHnej4<L7B~->yF+M#rjS(19O>J1H
z+Fs0G5a%S<@9f>bI+}zmtFsdmrL-%h-Q3dVX&Yfaq)PN}-L%*oY#3Y%%R9@pmBTCI
zkN9Pm8$zS6ieZOjhoQNJtiVyMHu7SM3tVa)9u;Mdz&wKMVJ(hQGUtfP!;nSR+x<da
z_!O-67o5e!s0DhRVKFdufvG!^a8nE1)LQ4J7PzTJsc_(?7PzSeZfb#>THvM@xTyth
zYJr<t;HDP1sg-b33r{TIi3O01%4L+xL`MetNq8K+whuq_UJJG>382t8_zGid7*w;x
zbZiT)_GD{jBcGmJ<Wn+c%5>4e_VuSOFWMR3;JTX|+&)C<BtW~+Y#=%WhV%|>cYGC5
zZQ)Z$0YQc0xqb!t3OqeDfAGdTuLv@#YA)O~Xr`-U=Uu-KMDyV*gojf=7U2(sittg)
zIY%*@#IOJYMVyrp^!9KfFNNutx-t=_Bn{fKQj?WddnUao4h!{?xWDe2Vaf{RpuF`N
zH(gS)Eiv%i$xYiUn<ga{JyEu1=O44REfu$2yN^32w{m;?MsB|4@yDjo%X5!eDxbHq
z(x^?eibkZP-?$i_u=ATQxa`FKv6-8nay#{-+x@Z77XB8qSB7RSiZRJ>xrK6jn54Wd
zl*I9#fbY@N7KVkF@0mCEoqo-+bXm9KVoeleA)c9=49b0hm>b!7(FWO)wL&3-c(Cfv
zAn|nj)XulQ;RP3!OKPLP-;yg48t*Db&dKaLbo}5_BO@t-tIL7qWu4|w#Jw`LE$IG=
zKY%>*5%$!xn1D;`W0L0L5f~)Gn2azcBaF!iV=}^+j4&o6jL8UNGQyaQFean*F&SY@
zM#-3rz%q64Qhfw-aEa#m;3El@Ix2m9MiAXOlylTytwmvqMEAsa+U7A)1yUR=gsu~Y
zd5vUwO|G|U!#s~v483x}<DRk0Rt1?azx@(b5vr48lhvy04bCo3)VahtQZ*FG%p=xi
zo_Oa^Uaj$z92JVlf8fJM$7r-l)q$*m?2=S-&)&UFj7dcOi5@={#-WSn@C8ju1VK-d
z)*%WW*>}*tiB{$VGB-R!?~IIi@EPJ^MrZ%hRnK3}<aRyo73V+LhmtsUXzN%(b^Etn
zvN@v$t)W4lv5L76DhUB}Np(xPk&}m}_uTZ-mp=VyzWlJRtfbm|F1+HReFMDM8ZFu~
zC;iHi>H2HopzuZbJ{VsV(j@Y6@)`^T48O^Q#gwoF@g}#xZIeKWE~5bvFY*ZpKv)%=
ze@cJ{&x~bXj^+Hou%TKCR|Vum&EK(!a=u!VH6)H8!fwOAXn9;mHjAmv-7v3F{>{5}
zUrFh=efjODn|5f(qUCyOXXn<X8j>F}JC9yEZVF0x;_0t={>?Q}6II)v-@dELIr1Co
zJGX93@Ms}V_8q_jYGGzrm;_bF)3HqLhG5w)x~8c#J5>>F5)Ga!<;3&ed-gr&A(2Da
z^{x+`J**)#lRPKW{V9K*@JV=w7@r(Y5lev(iA`XmXba%0geYzFE)B#8#Gwm7ghF{}
za<C|u`$k6wT`7}IBe_CQQlj6kX7}vfWN9k6#!4eZD+{fOaWm8<OBhC03|GUT5Qvth
z1imXEl(YAOE3Q1Ty4kZ0Ih(d2RGQV8i<+Hw%9T_$H+<dWZY0ka<bo)C8bW&*Ua_<A
zl97mqe1$e2M_WlUpwm*5(BITTvE3q3;X}jLM>aP1UAvSuhuguz)}?rOzV6BYo@wNK
zgw42-u4N~-wJjyv9N`xpc-;Q6f+eor{@OcltNT8ZZ>*sWTX$^#PqEM*3jN*ZU$TFK
z^WpuMU3J+$Eal<Izy4>z6}|=q!kXZv_OR4OThJMxU8@bj344Rbq&p$ULU53hjwh&`
zP*(|M*sVg!G)rMvD&z(?7wxiZOLbF!OdnX>Rs_LJ6<w#ILjB?7*`f00slhPFrjfTm
zqOn-5M9u!Rp$snU*fLf_{JhoIH@CInl{Mw6%XC$+Jk_0Ce(e*#pAIC|NsEJD-Cjq+
zS$e6qYiZm=exrc6drHm~is8_NnOEKM&53J_aC<-)67GRV@P}vE#ZVS2I4_1U%0m#5
z0txO-tkeGio5aKuO+1mTwF=4=dOFHYl$$;6y#npMvaY>Xzz8c)w<{1nD<J*~wD$_M
z_X@Q43bgkMwD$_M_X@Q43bgl1qP<t}#9a`iTkkmwx6lgP1!D&_sJ-M~=)^g^bP@8E
z%k>&~NkX5Ymt=G+2?UIRHq<r5MjVpCNRtc^oeOT8oSpy=LJ*gD6ykCce^U@25F%|`
z<Xe0st{Ey~Q&|Vr3k+(?_>{v;wnRyPT+21vrYdu}+&>f|{UjQ!2PvdgQnICy&-hp<
zLb;c!>eY(@(zH?n7xa3o%16_-s&vLCTb_<UQ-1!+)sd|OX@O_F)z`n~)%y`^M-H7W
zq)KyB6B*4nvYX~d4TyR?jU)NN-1elKZrM`aGF=mlOgwhtF-O}*WJIlYrzbB<-JkP&
zh0ns1dGIV$lC`eyeCRtL<Ijh_^P%s2=sO?!&WFD9q3?X?J0JSahraWn?{I5xHsV9y
z`RKyYv1SYA#V}OHu+S!>1EN?-laPU|<?orjV{>b%Eu~W&nQo<#S|CVVHRZ<f)$N{Z
ziy_D%xng0oxZ%z>zhR55R7P{#Pe1X=+a;vkNpigjZB1jd(fxP+YvBuQo}EuNbaB1?
z|Hu4FrgD)5iK&cHkA7C5Hy|z{g1`-}HMK!p0wZM_ssu~|9K|&MxoBnUzFcSy4)j$*
zE=xQmxaHA?qXNfFwQkv_l<RM`(kTsTqpGD%PGjI>nz7rf#mKmvUb*s`%g-C;+fQA0
z<IcuxUe4`%{Tp7tzgSQdnY+ruWycN=>wz}#*i+ZE^Ep-9bN#cPb1USh);-970lR7n
z-bu`{atH#f&9N3Rt`^qE)dI%V0>;$>#?=DG)dI%V0>;$>#?=DG)dI%V0>;$>#?=DG
z)j~3^au`9Ym}A8<Og4c=#;~|3VoanI>ew~Y1STbVyVk0=6ihy+hB58LA1PSzUD=$L
zGHqFP)PbdeKxr&py2a=p8}DRzs<C)p%dQN}wPVe#^>u8gkd1XNawR)d94H4cQjEsd
z883E_S!pSvCP&5Q8*QyL(9Uyislw(fZh!XemoM^g_`(-ow|LF!l&Tgzt)!Q#m7K@9
zo5>pjPk&Y(-n@6mygR-+o6*Evy<z27jvmarBb{8rOBKw=z9sw}IR3gbYzBfN!Z`!H
zr|-duvUG1U$A~~pGU<{TYXoXWpk@SWMxbT{YDS=D1Zqa0W&~<Rpk@SWMxZ7chIlfb
zT7#6DrCICbG&m@PJ|SjGC$0^Q8DgiBfFy-vCYBh0Bx{DncDvfwlDR;+)fm(9M36I(
zv5jF7%vWRy3M3_qZqX^l^#k?34WSj73K!ntn4;%yId%Q1EkUgqBBfV%=1Q}tPd{NY
zXB2myzGAhOKCcxGlsrd5UZYfPWfvA_ky*g8g6Ze{L&7HzO;I30XGnVXq$avLnO0Eq
zF~Cctm1m~W>(t6&k;EeucWTYV5MZ?Om|xoJH=NdNy?t!otO75JnlHqVm5`ZXeWI#E
z=V7*8i>074QuBOO@P?N+8-2q=6=ZoK=&!h~PTMOfEq--z=kA>whmb`#xUH|XFRL5e
zcDWSxHRM`ej+EF4+;U&F7^Lh>tKb*Xo|>QR&+(MzW$VZdP+d_$wx}`Q1dcT<AzpzT
z987R*1IJ(;wUQKv<I(6$kPLa^XNiP=dtP@^iLDwHpe-sf7v9i9-c8oa5B3k`Q%)Ko
zc1z2as;)3!-kHMy*VMjU+qdt>R0-n#_G2jxDa^AspMLU2wK+WAR~X!N;V98th0Xm#
z*xVDa{aOMkr5<Z6ii!C>xtMB`%}SoI)(GjXZ*RV?Bf5FS-^ENJlZ%VUc?cE1I^FN4
zv!R|6tF4+O>K?Ks;!H`u=>>XQd<$QBuLgTg)Rl=_pK<$SdAwaRWwHO_qq5sry5TK1
z`#$&l(hbjg@ogspTUYP@FGWDxirw!DH^LU$j%5{)1YlMPf}q#g(3_+)dt5-GQdEL8
zc@4m}qwOiENkzWe&zh3mKi|&SvRIlPMkNxnOeC5O&X0}PrF5a<*q&on^Nv!T=&w0H
z6eYb_F6#V~#^B^s;KrgE=gq~V^R-YFCs(#k#Zs=6mvvv`T6OoX9VK&caxNDSV1)(}
z3^y!qo+_RDuz^?T+=LMLuC=&lcZL#X5QXjjjNd1G4zp#Jbao=9dhG|n(>9hNlz6ZG
z#MnSG5MkeAzO7el`Eq$+wh<|?^&nw#eWL?KxG|v1D$No{#;)khY#0-6k_(0vsEXCM
zFgcRja(FzZg%yq;&TihiIO(;QmsdK-N{yn0S6(FN_AkRK<5;uz3t=qLY1FQE3q($O
z9&<khS^a1Wnnz|OxDZ4}yXb;pFebm$tVk&?iJB8RW7l7Q?TDcZ`_EkS`ROeUOAx|z
z5dr<8v2p7LP4g_3=a(<Oa?Bi=7<FoM!bXlX$2KwvAy*XLmQ2~PUUu#~r%h2d>TT1`
zVcA3q6G_+>f?@{tffqgd)<xv>3ZhC0ECSX+{(`?u(4aOa68jzIa?gH;2}I1$n`tD|
z4>TBV-C?1PO8k|08RsJZ;lRcg@Iq=ovQ_=r`PpD{+{5Y+q%954%wC}TvR>OXW*8ME
zFy+8#R)#7uW<c%5{VNA5R;^w^9wt{sZP%rb1+_Cl!4uCtCBJF&!dMjxU2LPeXW!mx
zQ4sVDwb#Uo$}b2eT(Cpn0BRj|bMhCDrzb$<$l+5EZM|7ndlL+onaP<bl#d~6N;Qzq
z04q%@MsU*@n1pj$aH49pMnN#sx^pe6$6V1X`?;-y@bTE5#1+ijF7vz}o0V$WFg?+W
zU-%iP`h2V~qUbI9zKRvc&*8s;A|Y8jN1g!m?d15><V>smkP_fCa-t^|Nk^<Jh>|c)
zEE38QSc7J_L|ph)Aci-28#Ydw@OL)iDdco|hRF>9D{2I!M&>39jcv_T&Fv2bN%V`Q
zMy_DkJmnTQ6z#knwxfI-Yk}lzixU$wHS$*VX9O;5@bP)7QNlX}9Sa@|QEYBHK2u#R
zV<`{j%d*;!B`pH_9qcGz_N?ZrvTaf>GvnRQbtOc|?}ueccqSeXSPoMy$To82qbnfx
zCT7<B*6{qVVTn0kPv?**oETpeTkStJvS~-jk4z5)mNYcK!Hq(A)l^ftY1iSlpeqGr
z5!sz-Kiz<8$?Q9NenXQy&6JQ6jf_n_w|mEwIk@mAn0}kGpGI<IHHTb2;F+^CMOWde
z(M?NfCo+w+8g4m!`Lt}xxv`4uNvbi}z^Vmshm!4|-MEkkPvyG`|2cSS8)DcmJ&WXv
zBkMNU5m*gJ)~$vkuo{lQYB&O`;RrhW2&{%9uo{lQYB&O`;RvjTBd{8dz-l-GtKmpu
zHEe;^a1qU7B6uPhY<BV>RZuCxK#^deP`T$~>Xmy_tFy>fsUXFGyuMAiDdl!uhTkZ$
z+lWJyI!rn+zA)MDhliKOB&ZAv7j=m+rvMD`Qi+SnFjmsz6Vvm_J>m?1V_#DW(bY(_
z#1bkj+QGy}PwznPzn600m{Clue>tN$NP-t_IN?gOGqYvcl-zc!5@70UhytI*;siyk
z9~{h%Ww5MGu@!DP7QdoU$-{>T|LEf4d<K%!OTkszwwlAGv`KDZh$AC*aYf(ZBS-qR
zK+V=oXX5<r{VV;d!|@K^OU>UfjVlGAxM^t<GPQ(+_nyvw1)^S<a9<6hEFQ;HZh|x!
zAHk%)H3L>82ONkn0Z4Neg%}g~V=zXcl7_?*m3nXN{T5dSxV|1v6%XwlQMsB$ULowU
z6&neJ@RZA7P02JiJ$cb}Qut|XW|USvKvW2Y&Zf#}R<s1O_-KrJP{4fgw(`W5nqAEJ
z<SQ?TMy)Qm10#bT#wk`?VagPhS`k;^S%=arTNv<$B$`EcY;kv|Z}8DLS0Lh$>=Cfu
z`zQQAF@LC#XSQjRUn6nPMi7S3hH;{IAYf=h*CHP`W^??9>iofr4)5@MN6Plk!*9qf
z(aX4k150A7sS4LyV%$nQ&01cw<IMC(`89pphJ1HseCm0B{On5xeGH#$XJ*&&=}?WQ
zJK5QCrd2Du@Dp{$rZPDxUqjO%7mMfqiT?}#KH_F1FCyx(M4co(M4XCm<Q<jD+~Kx(
zO3r2@Xa=QxU@jUc#=G`zYYUYlPdPeM$LzZGoa&CbX4iAX5GiEwrDrax?<q=B$|;XG
z;J(B9PN9C~JBBX4;&FI4_7Z`eaIf%F$mS{JQYG<7EaK`3Ug)qy`KG4fj{<j);V_;w
zN+kV;Q3K0(xp?64>ec~qaO$9DLi<O{mtKBgSQ7L7)5Wk}4Am5`Ba(?!&~{oj^66-}
zQ-#Ppzt9O&<xOMR*e|t(r%z3&#pylEtBpIXp{WhIazhWtS2k2;$NGF;8l0IPJ9m*k
zPz&T#p*=F#GBm$gP%YRb&9TY0XK0m9UxVg30&AT60sj{EFsZ=WWif_0&Dn-Ind?Bx
zh6E;~BN!GP4g+X<=E}wW;}vh~^#_LGQ`mIzwS&|1p+B<gf@|hXOAy1Z?AIncZ9N*>
z-uifHcH8mAj5&E|)T?-t`#L<GJMom~J^S>r0bRhFlN|qr*D6{{Zg@vctD!Az>=SU7
ze-HUjeW2_#dAI5H^e0S{^(ZHQGy!k5<z(u4QKQdQ;(CPO8x)x73*iwBK_V__f|qw(
z!4D<X&%6BdIk`PM9J%D&76h%`&Y!!>rima%q3D!CWUBi-$d@w)t-nNDYTf6vPoOOm
zWZi<HAQ_?XrwO7x^>i)qkxoM%;1`UBUOQo)K~&64r^QFK{u6qkps0c=8d&b=de9^g
zR~ols$V4~-@TZeI)iecDfDE(?nSA-=@8EW-|HKfkgX@6Sb4og-tC{m5N;s|Z<vRS0
zcFNVQlCEN@jmV39;&<@I_-TU9Z-Qb$D(=i9sS0XOk~I-ezv{OLiG?Rv`^PJBbo!BW
zLtkPEf`njHPoIN!&qIdP`(aBZlmqb+qV;H27Ji3VL>%4Zpo^zGM3&zr2%&G=T$fTh
zx^WHj-$fez$C2;#57<ZLsgz6iNKSg?@6eT>$SaRv4;t&G?!WQZVSki;a2{SlV;y1z
z2I+$t2V{rHB{;L9v=Y`699xr9WRtX8a+}bGf2ilMpCOtmJpo0djAC15o}P}=t#&&6
z#zLPxvtviv%W6p3Hto$P_l(Bel3+w)2`GGb$m@r(Pjh+E#)95dX=-w+gc%!_Oe%2s
z;zCaeX5(X!v0N<g+SulW(yoihJmV#~P|B%(L9pTYkX*H<)VHo2Zor&r<uKv3xZ`lg
zhBHZ3M63qm5|}F}szFIB)oZq4tEPq;HI^JH^=2;@ho&Tk6Qhw59D``&*yaiQmi#Aw
zH)P@_Xwf&FMN%h4uMr}B&=^U)#)siWJPa@5Vfa)I!`3^Ds}IAAco<&9!|);=h8OWL
zyoiV4MLY~I;^B2K;$e6Z55rhG!w%z#y$Ect+>2_TMbax{hZEl}U9tI|-mhEnxs_tI
zKCB^f-(+waWJQy90GCgvXU5a$mx(Eo)bOsrdl$-afucXj>>3h?i~s~ilg=f}D3-AR
z3D=RQAM}B{SV>oi5b)k=whd1!*8YhIdvFKql_81jiClfGQLuBK)wgM7#4Z?c?_pj}
z3*RN07Nn%&^iU&K%u3NM<<nSmB7A4^*>~JJgr{Pk0=SPATt$cCRd?;$Rke#w)Q9<g
zRE;_po_}B_V~A-ji<M2>G}E*5b7iCKiE2T~PA)D@*DZL3ZHq!a*tzEC{CS-AdVxky
zSQA{COmq?a?Flf_TU0|6Ga=2N>+U&zLAl(pVL~r0A1b@el9$pjE0Z8`{CcC|x7$dx
zck`9Lk~`4KUe}q)=-JGk)g#R<yUSb=kxlQzw@vGq1<5f4)!(*%U*1WRvolg0^c(oc
z2LHSk{4)u!(or&IcPIR_8-1yu4;6G9m9r>k*UIZLd8(g6{nT3h49YXq=T%fRaJF#{
zqt6qBTQn%;VG+pnJhhWk(=80mY4X?3z_fwKZ32T5Zhf(ZIo7a<E{17`D`r~L{LWOI
z%g9(JS+GZ!H}zR=9=ZKv_1pw}*pS)|#Yr*kPjLuv8_t325oFfYbiU*kE2a`RhNg>{
zkaH|P;JR*RwKQCIGY8JUu!EiiN&6zFXm5SlR`0?7#$blG6MXQSuZ_-Fwj2gleR^qe
zGOH9+%q59--np;yxAAYlF}p%zk0G)95o3??YL+qISYDrREMva03>CYK`NlG6y^Q(B
zGUgl0m~SjYEi7Zcv5fh~GUgl0m~Sj6^NnRtx(Mo05&@NaQJb?!I$utv6TR9+TtUAs
z;dANH#vWyvkh?-|VOok|RgXwoPSPA>y1fzM6Y3yR`)fUfj=|t0le>+s!d0*}G1Y^P
zooVscfi!Ry{?5RIUVm`h<z0-s<<W<YJA`9;<F37ZvdpWk^-=eOsb@X<s6(Ipp)nWF
zZde<0O>OSz%Ekvr9Q9A;+!y(~`QJk}9%6T$MJJJLOyuDT<lzeB;R@v83gqDm<lzeB
z;R@v83gqDm<lzeB;R@v83gjV$wBU07G7A5SljI@Ax7H(RR4#$)CG-!Kt0>bTASpbL
z^88voNyp7=<t-?0p<e2sVgTnb&MA_R2#)t;10t9t3t{7~iNY|F)6{=tjG?op;9O`S
z_kaY*6bZ<gL_Q)IFb!D(;V4(IMqGVp<czFf<aoJ<Mh<DU-x)eEiBb;@AB4WjlRH{8
zc<zhmHq6F<XaprP@=?an(5-ho>)Q2Uv~lI=oYqVRk%)c0e#t+{e+l2;0{W?rX!CT^
zO%GRLaQcIgb08S`VVboTX2+!adl7V!AfuoZCPc`{Ao)URiXjYDTU4NCAV^}q98Atk
z2BMMc<aMm*QXogcr*h<}Qn=&L@%{5rJm76#J+^z83(@G43+2!;C$1S6gF^Lf{D+8H
z40b9Swz`139{ytqNqUm(nS*0yG_n8k)7$ek!|B^OQEz&}-6;*r<{+XA)j;FGML;fu
z#BW6E)C|@Ny!kAqFY}3<m<Lh}NKr}{mD9ZlZxy^*1#ebCi7I%r3f`=OH>=>yDtNOB
z-mHQ*tKiKlc(c0Bn^o{8+*aVtDxS73FR0wWTj&jg_#9k&+X%`dYvpm2$JfeJ$X5(7
z1Hs70xKHwc<WdR~ZBR2J2?2XchFfTQW@-{420qmy0WOBqQ(-OI-d@<fbrK5@jlx(v
zkL=E{T26Z|mVugxBH`xtKut>d5Y{k{L<xHJ{JC9CAvfJZ9+qzlp4sUOQlf@D4frbD
zK$<%>*MFqn4|tr3b(rs|cp!b?H3u>yzxgjDrtuzqy>sXITOo(HVhzHRNDd#RaZa-L
zC}i)^b=i9qviB%t?@`F!qmaEvA$yNP_8x`oJqp=-6tedyWbaYP-lLGcM-$n56m)BW
zJ}tO<W>H7(n=_1Rx1p9kcj9v=F{TU;B`8EhBK?)f)rk^mI}A;-ypy@i@PAvvs-j?2
z%E3?+kH=V)7$HT?3iH?i0w#Z_UDI3v%Y4^uoc|B9Hn;Ma%a3k#G$cG==Hka$tn_XT
za4TKJP6v{uxwA`Ka=+Ki`F$dnV!#jZKNB8+m+MPs*naSn)XOH2&<oOfFG%PGO5T&u
z3le%kLN7?@1qr<%p%*0df`nd>&<hfJK}vdIKj=(cOlC#c8z&*gNr-V0Vw{8+Cn3g3
zh;b5PoP-!BA;w9FaS~#jgcv8``Zx(OPQqlIczB{mPsGzFP^KiX-G~P6KzRr1$-+56
zem;iol@bX%ERK*X6~0|cKA?^!Aq*GQWUCFs7TpYQ6r|B6q0HwIh>7687GwkuDeTU#
z%bALU8K)6?a??sj0b)WNyBg#)J(Fx%5+DtUd!;Nwt)k&oGDX`fAQ2_NTq4GXEjYMf
z<y1bn_wo%+wOlYcHYmZm>(2g;F)-4vtB7*j&cw`^dHN@}*?LMSDEX;PTk}uwnz$R@
zVVCo0Zp-#+aiNq&XeW_RP3%GVChULdU`5+aXR(YXpU9^?us1*nV<gd;9niZ2dUrtY
z4(Qzhy*r?H2lVcM-W|}p1A2Er?+)nQS*Ldg^zJ0|?%;`(tVy4P_d?dw{<ukI(R4b3
z#8!IFk03FS6QcvuwP`rhkq%|^Ybsf|3-V!BG_yOzFqc(~0G2;2wv^>ah%~y`6@?48
z3;96teUqosn3%cNZ(ijf8OIP@=kQw(`=FVH4N$7>{^0Q2;e%W}caHrTaG!#&;rg@S
z$)$DKu>`JNTIbp&aP1Pfb}6}HH$IQ!yc*|eoX^F1C(gTYegNlZaZ+@733#f&R|PN4
zp}doDo`x16oWUfC`2~A;9Y-j&-zPtU-=feglDibqhI9NO)J=pnwR-#aii_<JBj257
zYiKM!eD?Um=~27-^wVxQ9Q;19Al4s2*o1dV-Ctw=@BsJ#EB!D_?{Poj1S66X5-?cE
zVu9HL)Dm+N^04=($hCG2b9VfjEcJX%;z%#6=XVBHfaGVne{Ez~e#;FqQQDKSm4oJ}
z*^+`CXe^F>D-;cz8o{r_RivT%dN}MkY13&Mf`Q%F9EIC@+2B~;kKJW{XW)GVlWkM@
z^4gI3j2Ri&YQwW6M@L3Xxez1$+_Sk0Hxlg=hkSH+y#rkjwV)Vzo!GbF<xPnp(x$O<
zg~8n@lI7x~4$E^3@FIbJyn8=n<``n18`=C>gz0EFAPWn;(wkrR${p|!nTb?Cfbsy@
zjWnyKDOnk^DMqFTO!ujvH96gCQ`iPG>vT+6s$esUpdot!nj4d=aq<>}{^*UmE#3l&
zqGuvYRJd#jDc6+Jz5s8KfpkerwsdTzgUKT{NrRz}1<2TzA%&Tw-5KbkWE!k`=L6OA
z4(ur*n2)UjQV2oOWSpmLXZfwm{WmRPw=PmL$fzpUO62jQU8yVG?+LddHggSo-x+o-
zP&kJ3THv-WkJqgt4|VI~hsr%^gzHeY@4<=tsGLSQP0vC3;Js%d#*VRriJsntUv{ls
zb+V^7PC|~Igd97Gk$4hv>?GtEtyMe;Id&3q>?GvaNyxF2kYgty$4;)xv6GNvCm|3(
zZgA`jf)ezHnGv)*g??cZO^icTC%LP{;cNDLFXJllV$e_@CVL*5qa<MB2}^1k0c~P_
zSg)`jVARUWlw?5-fV~nI1S};g!TTl{YD%!Hih~&8Xhsn1fqZStOrL?ASTm)U3TXir
z0g^$ru-F>RA_k7opu%&NiU}9Is7Y4NE7u(vVgo(|Y}utcjv%GEQ?`dM7%~FGX*L_!
z83#)O(3*%A-1OH|Lb`+f6KhKomGh2WHU(cH_9K~|n+~FpzG5n0H;^a1apQa`k2Ks|
zC-*BO(8#shnA*HBZu#XxfgBA<pCflgfIsh7XV`h@5lR3&5B>Fj*5`?pHwQ^Qw=SvY
zAgSjdsppb^y8(~myc*|eoX^F1C(gTYegNlZagwAa>D&*^zitT=SMBWa%TDmiPVmc4
z@XJo{%TDmiPVmc4@XJo{%TDmiPVmc4@XJo{%g%Lv*$IBxndrTKJZ(SaZ2fom240}w
z;tr?@n35E~_-`}E#G$zY+>;OQe#~9$(nS0Bb^r3CcE4=*?cafn)rWWRo-4PvLs;&O
z*=?Jr);n0BotgP-_^+^*dzy0IB={!QZ18dP&iH!ojH7qP(L3Xy`#7w>arDkOdS@KH
zGmhRFNAHZIcgE2><LI67q<6?JqYN!*7ZPNkPtPX^y1*L&XBlZ3q#$FYEv8~bM>?J1
zSca3|3dbv@4dYEU%=y@YPAW{)wQPI(BF)yY#h;@KnW^DIJBvU77u?1s{vCgQ_ey_e
zQ@S!3!r!aOPPx`jH%^>bjU<ih7pB5YS~mN~CWb0<DnB^UmsaxgLlO8p>i!t3yYGkS
zx$Z2oH?d^_<ahz?*1=WEJ>*GCtSAfIWPzJ3(8&TfS>PrM++=~9EO3(rZnD5l7P!d*
zH(Bf4WPzKoEdh9yp4#)rfg))va=}E6W@cnHwJ>v=gtrDUB;<x+K_0{sAFKB*ZA7LT
zM`{Ew)RCFe+cz~RRC0Do#EuSPypjJ^x|B(m`YT9%9=mKd3_13|(4G9mq0OVmN9<5l
zvLg-n&NS}nz_)<)8PCDK<>z4m&{@ph2NHw_(6pYiqNc$EfsX1)w;FXDaWMW8{~y@~
zatoF9#IEkmk;pN+W(dG1wTV^^@F#l6tmmSaFS{wXUMXOI8v#3k6&)XYcVM3(sH?D^
z%TC9Y#Y#FOR_fuvK!1qIC3ckzXz5FCVWtDOu;AvFk00Ux=+&_QAU3kYmZ6x<YZ`Vr
zQ4JSapGIJroiH9BsKC;uDJr%JAla+xGWKS|26SXrm{w4)2JNtdu%8G0{RPBopCJlh
z;o-C3>z)U&4`k@g8G9bN{pf$14=tnqN|djJ$_`*3!DRuvsEj2AP|*lUP&5NG?GW)k
z2Oe&@E{9PXvr6za#WE4_g5R868+Dpsu2FV`CYEGFO_8e<)-tpZIa$&3=ZQhF=3xnx
zBHf4$F5$SKco(EU0(Qzv69t3xUOOLap6fwuBaBs%qWWOQZunstR7t^<LQXS(On^AI
zgaYUxt5p?S`5}i|5blyIWw^NeW545PX%IoNPy#jbjPR={STMuX%=QB-dpCvH)Dp{2
zL@yQO+ZpWLq^q%Ggi6qip1A4O&0KU5PeH?=>ToAAv(YZ_S={{(#5Xvm-nX2^tW95+
zDmtW!zAjaCNEIE_*CADONEIDYMMszDkSaQ)iVmrwL#pVIDmtW!o=6p%^<`l#l<?ea
zVl7ZjANr>cbNxYF6{41Us+W*P!iU5S#+w*V_cGGj=m^A}5{ZNr5!12gr!%T;V|51n
z8;B@%`uiL~42A|oOGnTVsR2sX_SymuhH_TR?w`m*8}qMNo}5zh2aaEWoo7tj%1PyZ
z<HW0vsbhl|pExn(ScQrl*dlTXR9B7rOl-erZ$5narN<N9Y9hAqL&#pl{DKx`&G!b`
zq7<hQsQ@=68H!*SM-1{sc>E$ShpouWLbW|STMgg_*raAkjaDZxU2XaZ|3sKm?a=8A
zWR{jT__;j?_iwBVY8HL3-t5nB+r4R2M-QF)7TK>4AV>1)h+%I{@&WQ-Y>@)7a9dKI
z0xcJbk(v10?GVW`M}i><@L-7}>>4?!APKQrwA0N9X-j@&=kn#&Frvc(pOF0wHe>Ql
zEE7Y-1DXxn3u><EH|rHjk1H(kx7r8}sX}96|H0ka`7JzZ49Dpm2UfO@$Wjhza;YZ=
z3p@91nKY4+p%uynO)V4)Dr{SQXyf)8tlc4a(#cmRcJJk15F9WOcJH9f%1OivF_hN+
zl0iorhq6ux!Nn8|Y9NC&1Ty#%?Syb7a6?8YKII4($(!AbrCK5)FJjaP{Z?3<sbSYe
zZuzm%G0XLahfEs@Nus%|sY=y_;!$iHoW?pH8yhFfSv&5lm$2VieP1uGSQW8hprMyc
z*ok2^3R}VGB|~z>He5^#RjD#OgQX>^l&@fcv|)D+555?C?_zya2DYK)Nm#}(?t9wA
zmFI)?a8N&f?A(v}kHAA0B4ZG)EeI>}d0;K#^bC3Y2~(s|jPM#}8EXN&xHSbDtdU`z
zKs`#4BpOfB^@s?`T5+go>|`fmlf~hYKFth`QjUk!zHmmsURpe*t9C`@PV8E8p`G`^
zlY(7CIvW~{03W3o=>axtjC2^r_`fm?2@<$IvUw1z=bHUf=YA|i*(~<12D%k@VR@!r
zZIzB%VOqtuzB)3WLa2dS#zR2J#}1)#s<yvwBHzHLjjA!d@kLX#f>?vV(gS1cnrpAQ
z{DQV9`=LfV4`s0)Di9R-Z>x#VVi-b*+$6(m&cI=ajo!2jT5mc*n<l-zRD2ThWUXMb
zON=DJ2MGQ^4iiFMBEP#n5Xerndu6%o1f}igE%(`ufB`#s`N?bM>>O60aydP8@bpoq
z<SjmF(Z@!TmFlreFXR8N%ejF<b@$F~1t*P7g}IL811YaMa8P4KSKx_SZsgF@E+By~
zrW&mx$KJPV`4vO>-x}U2oKE~b@Ok8c3Rx=;^Y@VNv;zrCZX1{_8VXsQeK_ZE?#6i>
z=hZk*<9sg8J8|BH^8+|Pi<7MCp1%h)qm6G9pNCAAi7-QJcMz{l1Zxu3l|#@(t`S)<
zsk-7JS4D0+JUvj*iKj<+$lD?E^uyc{*s;(OuJ{9f9{gW2H?w<%KStXB0Hh>VOmYli
zgi&Z-OjbFjagSEn5-99n#DYxhmmX@q2L2PTeY8scGqbP19r2)2I@F5VkW!N2#QnKP
zttDB*lQvzSwCT}X^r$cYJ?~-I2dRo^mnqzeU3c0{7uewG!KY&a(q_+CE7LV;{uYd;
zo0Dr^Cp5qG+%Mfq*YNCGdF>kZY+OV4u3xkEeD)GNpX%42Pckz?Li*jpi@_d<ZiBXo
zA2g8+q%ScbD0l#g2sjfC^RdxIC&2!xT&*<QPK<r|u(~s!H=Mj@8pT>Ga!Tcr?PcT4
zPtjBeg)oAS)Zze1PIj0^=8aQGTXLpmYlR3KNEh>7O3LQLCCru+8D8(+C|oPtfxU%Z
z2r^?rPO>@4AH*jZ4Lwg*GN~U-wu$ioB2t<V;b<{r7|bjfsEM?PAxbq5`zwjKhh%&&
zWcrXPmRy5K6Br6QuuWINbigC|G&cQpkvxLXkrG8d`BUT^^5;`(rJ7IK#s0<7u#DYb
zD>czH;+-3VMx|&vF*df9<l5$yl|Av;1eT>@gHu(70~4F1Tguo~Cys1x2qP0l%MS~N
zUi8hp<yJHmX#$2;t6TXc0df>U1P_dxFN?6CvmO%oX&-*LzXT*gx=wz2YAU~wUR;_F
zN9SsuVqi%;_Fz^$XX1`smCePC`vUAEiX9x0bM6=e8|#KyEo{7PdFG0~s4onw9&#ih
zj@was;mFlDoEpQ1!%}E_MJx{EJhaTTU0GS)jy*@u{X|R^irI;5gpARYweQFt?BN*~
zvHw@teJ^|iT{vy7z|Lbgv-{3sd$k#|^k_ehRm_-HF=JZAjA<1!rd7<CR&nJju3W{8
zX%#c3Rm_-HF=JZAjA?a!#<YqV(<%hmSvZ<z*lJ?oT?0|Q?nPQf`3S7NBT#n3n5B_t
zdIohdK4Ypwxi^{Vl{ccE?(fCddvzD0?!vWeFGiVGZqj`xP(Fb&z2kb6uZKl><60|d
z9=jGNN;sq!D?%u3W}19Q#G?tES`<+U^S-x$ha#NG+=*<b9%n*$!EcIce1#QCY)lIk
z<euXRGlI!9zjU&#jWzT<_BO`CIV=&*PYhJB6}xC*=h7ls^vE#6q8SwYcHB=ZeeCAa
z1dnoQ5!0=_nu60wOji7;KGKoIbn|UkI!1PbYnGG`D{(-X{;s5b2zvVJzKbt9RKWke
z0EJy^@<v<E)CaK}D3%3<0=)6KKOT&WE&P89!&?pwTjg{)SrC*N?JG#-l29tZlW0S`
zBhH<y48r#G{i{QM<C!vM?=w02zcy0F__?=rhQmE8ks4?La@%2ll6;E0Z%0nlY4Apy
z{VI`uJ6QWky%Ob=rMutfZxLuQ-FaXPL^`J7r(ff;X>i#zxNJK4w*&A9&MR=<jPqGI
zUxD+jINyi!Q#jW$0;a)b)5*M?g4FBLek$)qzwahb?I1dT$C}qau_iG$gClT~I+tt#
z{9(RFA~FdSB7RTO2kZGrDbkO>r8F_av-uke*kb@|&9rEszX5rW4NNJhdGPp%ye)ZA
z&M~p?y%N+1=Q_tO5Md7w4fk32FDtl_vmT~h5e|ZVaE+KRMe`fRbT^Z$<=sjlg2z_H
zf)ey%Q^poMvK;5~da;wyFIcTi4c1FJb9A8zQ7k?@+LCDDgY-m*;a-1W7q`>EeZ4=B
zlfm9BEc1To3Rq82xqm=cG>5_Q%TZ334UWY`Q&FXj(7je}ww$OLyKZM>st^wJ_Xn9;
zrOFS&>B!&7?H~Yes*w+ur{#xG7IqG4b8#6fz_3TUoXa6f6la44@((}<--t==CxpAv
zu7|BWq4^$E0j(;>aQe7e$zdz_MqIAu>vabk=!%7*z%Tm(I?2pASPdC9922`ki*e1B
zJ+GhkImWZkhxa1J`Z4Ss5MXWyO-O6=;Hr7R92jZ`2G+vGXf1ZI=AKYY#g%5Gq$7PG
zV<LF~NrNV6xIsv>U*H)#*(%2r<s-soJR0?Lh}peg_#@bG+t_!6Yd<2OZm7EgIa)*A
z0si-bk<_W(ZwRjwUoNz;-zCEwZ58`veg@b6c0Hbs-1E<TMA%Hv?)`SlgZHdJuRnCp
z@dxYoVn@HvK>s&+m!BuR3VUZ(f$21a8zl*oh)T9OdHC18<%T7NC9>}&!Em_u=|@%w
zf0U6M6aArscqlyC^?Fu#WW_^mJn>*#E`YA5HYR)dB=}M;J>k3mQR)d_{Xu+t_uPSJ
z_3rt9iaQf9xr*!F-+O!C_hovzXL|3Mo|*2RnVwae(Y~RPgoF@A0)vD`ixCnY4FVC2
zvBB6RSaB9(yd<%MAJ4`n0qlTH5*+h6WRYT%#1SOV$ukZwalo-12l(uKJoWpXx;=vw
zMtrvO<$H)*Q(gDga_d%|I_F=f&e?(QvcFp_>%?OE9{T!Qq>D|6msA}dvkv@gN!_ID
zp2c+P&}SFwXg$Tfpk)VTnR#}!X7G2_YCS_)-?zwnnCW|3pHgM1^VAkGlY<s5@3EP)
z08)pt&0zVkLJ-aOn_nVb-mkGxcRSB7EausPKep40Wl0@k7+>nhombYr#q>Q$_foey
zm#f}Sj3i0l9#|q>-us7(b(?wK&HI^ocC?<ygVjP=^4@0p9(G`*4s{k#)xnHZqyCk}
zvdnvuNA5W|*)yT?cv?TPM37y@ypW{V^{r}-&{vjI*s)l6Kdb&B?pqk&-?3bVO^-a|
z`iS=Mle}I-)&Y@v8c02j1*xZj)YE`eH7K}&)YCxfX(079AZiVyo(57+1F5Hh)YCxf
zX|O1WJk`+Fz->GU3T(!{q%~L%3akeOc!D*=cM#tpYeSl~p;N65rT`{t2*W%i!dR1d
zllV08MeQfkGLPav6$q%1K8piQW<QdO(s%+CkNmtwrSv<o3EiK|aNIBH3l2DZe(Tt_
zjax>HYQ1D}8#ZsGqv+*Gi$5`**4acg{tHH^o@9OVI;wl>p@0!}aeg$i{iDD3p-m7}
zn=M?v={@hhnlG80S~;CGbWdhtV)R_;`#-nYD#n)5DTkJdDJoq3YL|%#+Bc=k_<h=>
zwA@RJ9y;s8LY^HDnRybVKZeY+kiNOS=9zVTY%zULaj_2LKhSeCpO-N@qUu)qZ^mCR
zrjebbO}owKFHDy<y|~yW^WGzid3KyRKhMV&)AuOb5(azBKhnOyd#6})uYHoq<6*R;
zlFhKvo>imX!>IQxjCv2F-a{9881)`Ty@yfnVbpsV^&UpOhf(ig)O#599!9-K$@)@S
zgFTwDrIj}<7c77uy{P(z{^q5z<DzoC{<}*on)HRNNxbtb?RREBigjs$)6?Mea3;+q
znuhDSWEdRaI>B`}*L_?May`!V3|E`e)8O<d8eBv4IxS+?4>7MfDjatn+1A`(hjTz3
zj;Sd)$FyMle#=KuOSV~qF?**i;6rPT)84j-$I+3BuEb_hFcLDHkp$d;CsG;c>$v<g
zmq)6V9NQDVbayU{)(VGd@C_6(BKYi3tbsQfak1fBEM*huu>3wc+&<$V-*;HsFE$*_
zZ|pPWrzG#2<b9L8Z<6;-^1eylH_7`ZdEX@Oo8*0yyl;~CO)k7|lJ`xj_ccd~IbufM
z;v0)xq6Fm&8K{eY?Rzf9TD`?LzveBNE=%iazWYn?A}Mg5<^R2-T`V15Y_z{66Lj(Z
zc=$haLvLb_F5WRl^gr`SZ(^LFXPvEohDZDrXv8>!*{*H2^M`b`f2-(_tf9~$j4Zu5
zUFgtP7U__g=i`)R=GpOumlyMVM%7`aZ~pQ5WeI&U)AuCJbaRhKXrS2ArtX=g(xq+)
z-5(h%rCnwop@C+e9Z#K~N9r)s_oP(1iEpd-TTOzL^-l|BweLwDxo6k*K$?YrA4E6#
zEBGPD_p&}37j+r7Q<Us2K#vG<`Y)F_N|)QZbyM0<CmnH6l^7c858;!f&$!3vEw8)t
z&bv3D>nukcBk4fj%*?i0Z2iXN@(vqX-@=~NZ-B*hY8&*)>aEo~nWv}XVcOS)H_#K6
z4_59`&;6ZoSUs24uW9{l->rQ&FFv=JljkC;ysuGS2LI9z6=OyJ;&bPhw_4u@{(FpC
zI<@8c<@tB!Z&BZ^N54WZ86P2iLd)yBdp7k9(+?KS-uj7g9qGrhNq?6f`I7cNm=a-3
z-Ul6AKu88mn=DOMlIFrn(qtuRvXV3@u*pi&WF={`k~CRKnye&ER+1(wNt2bN$x6~x
zD@l`5C)k%;&hH6@+DOWlXGL%1Ni=Z4pjGMssW+2)Gc6JQjk`s=ZYvK6I$y#rxGZv8
zxnZ8lev&Uct8G<TMUko#$VdJzDC<kS_AD30Nqms_U^_0*&vN2Y+DYOkiEku+8}ZxN
zCqb%bNF>T#=1vJaK6%Hm+6xLm61g=rDoUXh!EgfnmYrOQi*!FM2&rfSDP6h55c|NQ
zz*RRPA{G}$nhd@6z+0hXnMPS<bcp6Vz-28K(c`hf4n0{wMIEO&E(9mt8nA*9ZddoL
zKK(W)n=JV9(DSJ#yL%QDx5Wb98+|d9<Kne}0nX`SgYAFD*?kTt*th*S45c}!@rC8S
zha*!qtNA++*pL}dhogqed*hcy-v14wBaPh^@iA&dd!k*-x+E3NFD|)5dVXy&7Pcf~
zw{xC<vZkV4t2$k}Cz@ja$L+!P)Ignm0WdChfvu6=js0rU#0uTnh_|y)?^ZucE3;@c
zP}4gO*oFn5VDDYV=q0Tm8CMx|+A^e=opQ!Xv}Oc8Q7Q#=w?GXhgeH<bhLS7^QW42P
zUQkSAKY{fc<vHQ6Mfw+Q1u~2oSGhBVN~IKx)>7VLxe^%cw+!~D%X(uXUF+*h*}===
z17lG?4qO6*Gkxe!8;)kQ6n58#`p$hM&>6!(0bBZgrI^FkVabMkrI@QXpGbN9xnkCl
zYQ)?=QJuQ{+P&rSmJQQ!kJa4~w)-9F<r71pKr)^PG&UEoSrc+?O^u{F^4XGpgVP=F
z@`O6=Y<^}-k^D#M8)`9|G0Fz8(3O??YCUh<!8}fD{rak&fgUWYklv~NZ%#DbMS4b?
z)Q=P%DSU$roHy5R(pMRuLVoXpPbyDyqFl7l7?HxvSQvt3K=VQD0u2le#^POip*p^)
zKRRaZ>gg-S?4{n`9!wP5JDa^}JWeHNW~OjoRG11S!nSz6r&9D<3qvE&(@5)T^rEk6
zpB<03l^|qjxA_GJ->l6+Sl;g{57a{TXh+Ij9rDGyvfHY`L~+Z;Wg$+|<CE8c6&<4w
zuU<BXKaQ`K>N`)~R2#mrKk7@b-nx6ZbV->LU7bS>UR~bZpza!VZ_qxfuQDk=H)s<E
zgdZ|Kj3)stVpj)m<bWuxm{y~JBlaqSEm@^aGuqzNtcWQUo)fG?q5Xc#<zbHg1^tC$
z-W#nZaK+deig!mje`j%ZB=IVX&pq9rFLZlDX)Gd?ww8Uid~a{e*3q{r=5*=KPzu!u
zhclDQ>4!W{e0JdvG{D1dUnb_UMTVl@Tt1ib8O}KF-qP8S6Td|GLXBqpv0}^@NZ?E=
z6?84H_&8r4u|zZLJALs;RNk?m-J(BlL=Z+#KFNY0I;M*2cS5V33$)q^t#(4IozQA0
zwAu-+c0#M2&}t{N+6k?8LaUw7YA3YXsc5wmB4`p#waX_vqo{0>7=bcIpppWH7vxBZ
zB7@8;rkHH|G3Qjr`WamIv4-?HH>ER~bAElZqFcR}Rx#mYiKh~HPBjV}iqU|*BWA<S
zPr8ZyD4U*0cW@-v=($vnC^}>F=*5|Sj*A4t12bjAt=l`(5s0BW&D%9yh{g3tthlmU
zcS*lAw13k#>#GHUFbTM@?hs`LK8<>tYC>kk<Y2eU<4dJFec2WNu4=)IwB4T0ab6co
z)RZK1=pEV*jjH|}y!HT`r*yMuM2X5uK=nz0eh~YzZu+E5++1};OA3pkA|&VqhF>16
zm&38Nff<)qqi~oZhfa^2`@$6H$6c9Rmm61(xpZ~YhE3H%cSn59yRKEKewQbkIWJZJ
zGw7t%77k%=25dBvjH49w*Gr^HU!c0AKLBPV2p*&{uBykN4>)yu$R|eq#$D;<t7ith
zwpcdMylU%oY~Ygh8>(tNZ@gt0DpP2^OmyUOy?Ko71gguM&3wGxoGPkOn%UVvi&gnp
zW<D;|w?X@@1+Grb$7Nbb@5jDGH#p9hlnw%41QJ1;Xora^LX(8|a;NQ`L*pX>SKm;L
zLur9jAiX9X_1hD<O4J*~HuiVDrM`NtH{h)|YpzgNNDt&URx_nkB!O|re6CaI!g}f(
zqrMH=r}Vi6x<I<L<4dHM@hBsh(x<e06&+bl`j<&R$n%HV&r9A{&dXcE)A|GY`wg+1
zs^J4&`WJuf`nUB-##)5;5*slx66EMtV3B_?6$Y3YY)gJejlTSFZKx0q>XC3^ur~Cv
z8huXAcsOkdwr8Lk4ta+Hx_BSgzo8w_K4G(u^^JAX-UnOvwZha}ZmrZe86O1Vf`?Un
z2BIp5yVSm?EPPnrv@qb9hpdpyLjE@;S2UHCVNJawmb9Rcg9}5p1yG7~<Z(=F>+0q_
zi#UmNcV=^z?%{Yfhd<^*9~(3toL1rk(#y^aU%oPF+^fgaDJY>MH!#wy;i?cX+?Lot
zW2iaO8BYb+SS)rredvkp+_D;Dj2wH%POAl1oHkdbzt@|e8c4}|4)ZR%c$W>@XY|_^
z`dedAwYKQj7|%n%_AjU!sGUP6v(c#t-Y9?9bM4|fz;%M_Zm#>d9^`tQ>lv=Lr0+!X
z6~btevIV0)Le>(Zg(~z5tJfF>R7}~J7$qGWr8g9%!oU(F#Nkar%|!9t8a5tN6zP-a
zp82G6dedqT&Yolb{KkzN3LnsYe4}dXF7^q25q1}(!UKQX-jnjseh=;UAh~;JzlZjF
zXupT{duYFh_Iqf*hxU7DzW^~1_P-(Wf4HRmJ+!%-HVZ1RG#%vlD5sL5aoO)y{17(v
z<nRrAYTm(8HZ7)fh4YCI{j>V;FdgVX=pG;p!<|Vd(ff;ZmrDgt1ocT9b^~!p%4u}t
z9`%v2rMKc;Yqos$8qu<W|AX9M;|is~SWLWZyZzTZ{>bNd;Q*JNM|14nr3ZQU4ch0J
z9qs)M_&Mxku&XC_GT6F(OIsO<i<{ASi(417u<^$ivApq(i=@AmMULQGSnGJJd(tmO
z>}T&|tP84>(RXI|W=}8@PW{+WDW^5BO4*>L^!v;>dkO!b`8br}K#nbHSw#Z`d^C{S
zPGGmBgMH7H3seBzQiy6i+O6~+OeGj*J_LbelMll3mk@(82$yU-JM4q{*L`W=Dpr$F
zxt!;#TDnKszf2_3p3p=A(+fTvCx(OQCxp`LGgf<M1*Vj{JKWh~Dfn4k|B1^HO}TY{
zXICyFl7XIHpZ50pZQ)pEB!i(oe?FVxOe1;_g_)AYnVsqifHpgv)!~uwLpptOJ@WWZ
zkjFP@r;O_2SkbjUecV`QJg%(Av38G%61c1v3Veg2nSy}%YS9~lnXttbMn$%UPBM0}
zEuo%)q0WE{t~)n9G05>9i@%cb;Bz<R)Ms26VhdXP*6&!~Z?SY2v$n+Kc+HEY;D8ZX
zf7ul!SJ+uzp9yp%VlJD`Tz0kM#;vU*(4tPYewh|9gx>oQUY+P4DLtqKZb)?Ng!r<y
zi$#k;MfG<*ctvDt#fVoC{wqH7w&>*Yk$*I4Kd0KnuArj+oMRJ(E?s-2wOM}@>@TO*
zOtHyiV;ZxEtZXNXlxd-SCN+*F<eLH(1~5p176#rrQR}dJy2^d<k4TZVs!_-W!$!En
zjbmI7Ua7^aE+(N;0j9GO<=pXz8&HMs;h|n^S}@-FXop?<;xF+>`at`haVvb)Tlc{N
z%Ow`Se!4y|xi9CEeIRuj)Y-{iv$?KD>2En~DjaDCWKb0GZTt;9d%>E^Zu?^W7Id!7
zPtZ3$G|?9sZuXlWp>O7rnf^+{Yyj$~^nCj(;F#Uwg<g5|bI4XNv%2TuZP*1>Mo!Ry
zWQmYf!U9t(c8k#lLJpBczDLNyNvp!nRhcOM>4S~op;BlCis}};$PZ7(e5J_}r~I%j
zZ=4FCkn8H~S>NYLU}w#iDi4n1NC4YC32Q3YSlMUGL!H_CSKr0lgLoNwK}+~9UwRvV
z_+I9|?)&&&r%4e0>S^s`r1$E>P>uIMS#0Q}ji;YUe}y>~(0%$;`s?YlDsN5S1f6~-
z>AldSU8OrqA6DtX)@Jb`L78%%jWO^|{?H#GZJlwAA;|Keb}juOYo_d~GZtk+vPH#t
z+KL!)QNo|7R$Iy#*kOE%pe_O-gs8oZ+?Ei{8~ZYwckC$LRrlizVEf$r*Yu2(l5QuG
zrvA>%bXRh))*mi(8X;^8b`9hvk6k(89NOe=OfHK?6YO6(tIe^f8+8c`7z_K(8MZ{y
zi)Un~(~a6h)Sd1K85_IvKC2^hTlw;y4ae4mlK#;(TS{GPRxM-Z*maaEb89zT(i1F~
zG7fKf%fZ9fo_jS_2s(nn`sjGFuO5X8dxJ5L59bN80J=qCwSRah#1R6hi_fNPHCZp{
zqh0t;{3(0M)~KK=i4?^dkFi1<(=dmbsfBE>%jx}TOQl&eevaO1X`BV@NQ&|YVuQU{
zZ^k;yhJi{&GBFUrWkM`?%**l}DW-!QCn@~w-Sq|im#wbY)Y`S<CHM!c&*{!}hjSjg
z%eJ#SWX0|Lhd!DdOj)e%Xe59=+4g#<Ke6O`$QsCaHrGS!m}%cPn)<h4qN=QSLID_!
zPypGoaY6xn%zmG6-uzxTq9Kgkg4#dpie>{NJWpbs6u_>K7x>6rQ`%x`MNDs$3fmOn
zoVjntiqUzO-2$4{fwOvHeNc!J2^BwA7W;ue(<hwzuP7Sozyc|g6;r^@BziT`3dcMU
zOf&1S^`WB|0}VZ8q;P)mW!CWk^E9DonY>B6U1C;%uRp37dB|1`qXL$P)bY(sHj#)%
z^BvKQ*BM5OK7)C%Sj_2mxnsula!S(~Pv@e^aW<1Wy0P!aS@Uqz$>CwU^s_qGV|<zU
zjMq!%^V7e@AJR=7Xh~mVrURc#y0S@)7El>US7^%9t*6wUyt19E(mUGeuW5g(bp8GX
zd#7Jj7W_8hGgRJA5Z4CRu#$w3?S%b=I`DsNLFALIHl;r!i>2@=6>O{8VOUx1(NY&6
zMz=8Paj4Z^Th9~ax4IHx%yz`w#ZJK(1erv=$sR(dF`im;&xzepH+F)3{>Jh(=egHu
z?%7Za1t+fC91L5!jxZIld#1kig_wZPk<JzTxU|V%duX=Tf#onPY1$nQPu3sKVE}ma
z>UH@oTQ}zl<NdieeDMULV>_<id->|X^4srtm;O;;Oq=!GD{6FH2rsBU{*3;4W0F3e
z0Bx{qr~dVKRo^f8=`i&hNDqphwVcJ<g0GS1*-_r49TKY*O1nXHDaVm0##tA}ktoKI
zD8`W}#<c@nC%EqBx{vEYuE)8a;c811<46?Z9E@{#OqLByB#lerrUj_Bk*5o2xA_HY
z7Z7iy^1YPo^s`#K`qzudT0g55ETi&PvYBD7nZ_T{g;Su)rt$@&PuM8g0z&X(9<r=O
z3$kLd!1;yY6h#b1F((l}<?X5r=MuT@LZ_)sv1Zq*@gjtQogx&~+zwBD-IXIDyT2<E
z?x~L+bNho4e_~l0uVps$BMhG-KDE5*Gu0zj-v8;(Zf7SMBM(*&kYRZH|M<;co%X_F
zyL_42di`K-yg8UO9G+NzqsdTU9genMXOHQ<P{U~q7il_zo-DD5|9EVXV;XF1sZ|&K
zv}q;~t1=BgABiwo$MaJRdl(-A;r_9;)!wp^9$vR)M+IvO36Fbh-Nw$*%O<iY42Rcj
z-+kG-bC;+Yb0LnAS|ZJehvPPHFc3AO9f?g>?Af+F8L6QCoy=Cs=+ZmKcU*VqK(#no
z@&(&$*o8RA2TlI?LTm&&+S9s1z5fdB4%rksZ!vh51;IR%Sz=a{m=z^vMTuEaVpf!x
z6(wdxiCIx%R+N|(C1yp5Sy5V;6(wdxNzDq`Fsf2wwY{`V5}$0xr-)Ap*lou;(Fz^b
z2RbFgL`d19Z5`7gpxUiK{+8~>q{v83|9fY54%_9a8DIC*_8IJjFJW7U;bbw&t9Oq&
zJvO7GP{me}92wt<6=3)fzklk=W+*&XTiV9X_4n)=igopP!)aT>nGd>>UU$Zl9L}u#
zb)h9g__EjnEeW(ydzZY30zkqEa4Ha^_V_p-I{mOYIjzo2(2u%<bHfs3a}gBzvrqou
ziu>=q>+Vy}EJ6L$7!E?uo>llx1OD@a|NR&be8Wm@9jon=Xw1CfXKuj&%}PGDspz}V
z7jFiGgwJ0B*R_<F#C8AhBGl{`eg?RAu|t<anf5IK`<^?wM5282c<U9T4>@}krXRIZ
z*^g~+?178CX65Jvn`Z?@|2PF1w=<NxlxnLWik1Sb{RPW!o<)F@$6b|`&7N$+Wea5R
zYwy5xeJDG$cK7%iJ7%9e{=BC$HP9`Jy9^eWHxf_xPFB4MpT+MBhEwrysaSl_971bX
zPL%u}U!hzCjqh=~B5}7n?u$jjk+{FI@8JH+mdBI5%Usd0$LWgprEzAks<WeBuXlJl
zu+{91aL%xkGYROgW7hh)_J9Kt>&$^ynP9$wUSZu>W84mRa<lN{kauW2)KO7)VLqVu
zv2<Iq<A<p!+z`1&ZPN0Dy=|ye7DSjc2mK)Yqx2RA_tjsKW`xlJXJr!!e^uXgkFHqe
zkHp*#hc}V%c`cE!JLq*=;t|ejaQGwQ3zUjBye<I6xdR>Ha9_P13x=@{8!Ut!oynjh
zoi)0Ps6EGh&VYkMBAgYL=@-TSLzuIl>5g>N5)K8z7CVk!)(u*sM!@TU{q}T)yqz4g
zw#SofSOsDo-b5|Si8~7?3q!?V_e40%Q5B!=?M%g-*gwIvN<5k3Kua?3^K}OBEPQE4
z5G`hh=t5&>(ra^g0_VQ!FdPAw-DkzjL=3BH$;Nb-o*D1yTEV)s;PauzJiAKmm|Tvf
zSDA5ZSgC|#e?#lhG%0#1Wb{&@KC<#E`A~fo>C2^DMEq<UE6SmS%NKO#`b)jtyRP;-
ze6l=W#GQoR{8{GZ8@?yDtY49O-#xCk_B?U!^b*tZb4#Q_8x3u1t6zJ>_$0VekCqoz
zQURDu_0fgxCQ&8rqVu|hy_TL+2k|ksD$9?I%l0`u8P+nfEjtx8!g7mP0>pu;3qwP;
zluBe-5f>kr!m&BL4=dIwzieWvl%7Nswi))^x@qInD!G3&vHVbtvEu4pD~ffr^>}Mm
z{{iR6hS0;%pd;ef1IoELufQ6oEh`k~Z*3p`7rMhfgiI|(SD1ui>>;3LkX24i7-jv8
zBhf!GG2~17`o==hfohRS14@F7Tyl2!-5r^3tOTU}(M{VnRGdBU3JwnUpZliDGw44*
zk2?{1BTqK?pYs^=@eaSk>Gj5{Wwr!ksazt$S=InYOgYaK$0)QnT#O8O0+m{GWTa!%
z>U9{e|9dR8R30k^oR-RC^Wfb@<iC}zRmLwHr=Y=!Cjkn?ORs6`rfb0-Sw!e=8#}DT
zMD`Irj?RKm7ex0&<_L`5;)(-1D!9x4jhCx~Yp$G9=wf0lV-*|5BBmxS5su>*I3H~B
z0Ds`(iG#DYFbJvN!KvHu=;(ke=BRBqPO(LUlw(&gB!gK$ciZ*{b|?|{>Mwrb3s*63
zCZlU_JNd44;bJi#K&!-=J96?w)gH+d<0JdFjq!drv>f0@y`rV1+C6O*mRd%q1w$v(
z=+VelFh7T5@)B}vPadfFd520`e<|6Qj~m#&W+MR`4{WygWjm6^{@!kTENpmOMlgak
zB72Y%z3EV*!)f)~LPKN2VSm88Z?^0Yuf2SE^O75`h)zxnrEIBlALz<BP(<<e9el^3
zeji%NUOl^M%l68v;fN86CL5_xuEPfsXF<R+_%<)<Uq>IRpRa>_HSorc%>bO_0G#9i
zoa6wU<N%!H0G#9ioa6wU<N%!H0G#9ioa6wU<iG+aIRGa)pg2j<YFgNFlDLzZ>s(;E
zI2fk<+p5pb+_j4#IzjL2M$M+|#<Myr*HsE-%iFIuXRXmWH8l|{#geOs!oAg=5F6rt
zXWZIhcd>(m<y_CzhJ#~#eKVCHR?!W2ad<@uard2SCU-CI5{ISbw_m<W*h-wGIjqU;
zWqhv09sSGKtr+$duH1d;=aY?kJ!!XuoW5WznC%hI9jdRw_;EeP-qt4V#wQW`MMXgE
z&W+GlBlOh>eKkT~jnG#k^wkJ`H9}vF&{re$)d+nxLSKz6^wkJ`HKO`z<h;I;_yWa~
z_-fhpk^v;3tNg{b8Wu-tth9FazJ&I*JIxC3AVw3^g3JV>R~I@?_RTw2uU(PoD*3#n
zl>_0yp+*Q&tmB(}vHRHKb2#?^59qd7uF%(=tynGPRl5f0z)h+H1It!U25doxE7Gy)
z((P;OAjYhq^rCm!+Epn3(vRa?uiU=Emsoe{&dt;3{w+B;*hoTV4Oehkc4mE`GYYVa
z4UE=={+Grcblev9#uM-tGAoqaEzAVORHi;YMPNRO`yrih=5V8J8mi_M$M5p;P(=FS
z*DGoE@kFNz3g&S}Lg|UoMv2MQofXW(Vq^x(DZ9NiwW&Moai^ocLN=}&9RBYPhy2|o
zTX)feF@GbOuvD-U=KGWMwkxmh4`xI8RjXFzW5c0z(vs|Hrb}x%V@QGFLeFqMzq%2_
zegT^bc0ee9x{}W&Y{i6gc)TtitM%IZX3l*s6~+RH%(pcDjQ$!wOoN=i(L@<QEd@a8
zLt`Txm=t!31p%BvRF#xm4h)0~T*X_7wJpwJ`D{L*#A4iCO87ehhD+BwmuFnPrKq>s
zIgkrkEF)XrzWb7h7grraTdo<<1MfDXnL;7!3F@&@rR)i1aBpYWgZMSFWP7Xrh`2G+
zEy-Y4$mi%x3=GVjINli9P;tbD%8Bt*b=^S3)xZASeTL8HF+#Df(f(|}=8yH1MMq2h
zcT{^xpU2+ZCyXEB!0#Drm-W5Y2d%H$HrgJyKaS;`PdJx5|I{_<y2JH#chh}``&*u-
z=XTGJyl?k4e1G6~`#1U@@xK;W9(XA5cfoXUI`~(i2SYy!e<*TobSV1i*v@z|{z_sl
z8BRXd(Vr@J#yjsz`_sRg{?*Lt%s0EjUAK0<)_qs^_p%4Fk7S?EzLb4E=gdWOSLK_9
zw-pW*v&Cw0uK3B~)5WhBpD%u=`2FJRC1)vG+FIIOI#8M~-BG%?bbsl=(qpBkN`GED
zTY9nd!_w<zXE|EVmuuz8^2YMc^0nn7l|z;J%6luPDj%ynSb41SROL+N`O1quZ}0hL
z@9y50dS9y=)nGMU?Ws1aE2~?pyQ>GP^VK`5k5s=_eZKm=>W}-Z{k!_V)&Jf8R|a|p
z4h+l<yjZ)jc3<tadaXWLpR3<q|Hb+z>JQexS^rLBV`FFIi-SXh(}Pb9K0o;4(8i&i
zLmwOZ=5TO0J-lo9zTs~Te|Pwmro9<%b~PUvSwFIS<f)PW7`2avN4rL=qhA|+cJy0g
z?;ZQj_`V5aV(rB1leaCaE&HqGJ<Fe(s!iQHouB^G6>C@g4&RN5X#Y)g4w81UUHKt?
zTageA^ejG4SZUo)*xNcwSZ_T+IMMnl;px^|cwTGk456*{FrkNMESgWHgjE<(VN``N
za>;pBd8U^#En1%n>na?kWD6xr`m}m}b?X7*kG4({o+huAT3#kx!IM_fe;XX!(PCkt
z#<PUw)_%fD>rTSn)=|Pf71mWaOkT{hs`#YJJ54z@);)QCHMQ6%^J&7<q}Z{2b%rq6
zdV%l`kS05KZ-GYL!Rqd$-ZO+{o_A8?Erh+a)=B?7Oel4saz^=1ZBnH?+Io)o>DHC(
zBTC6Ga-Ai-gMM~X@&lY!lRoru_uGVVyodSF2R}oY<Vmb+sd$BQe3Wwr2cizj_w(*A
zqvL4fy@I5iC3JB&NcyXUvDQZj<GgQ>a!wISuLiYs>Y4S_5>};gkOb|d2*0Xe-ZtJE
zE40)VrJb)5N{um9GA<@nyqCAe?t}{KDwOw)@$H@?Jl&dPCG2gzMA)aox(X*+KOp5a
z=K~Y8=L|b((vwL_K1JxG-X!SWSwa~hN&54*35RKCQuSw&@*g1nXzPQ7r}=6rDCw)B
zPe8w=I1TkQVK?QZIN2v*j<AzwzD?LgUv+Z#3_7GK($kzAI7^sebfvlbJ;H9@B2C_>
z33KXhUZod!uZ+r-A=eAU(<-Hl=QHFwOPHmcjLMb4XNjZ~D5s0`vxEi0Zc2EXu#;Tf
zlptY-_H<MG1B6*-TsI{=N0?_kbd&1|_Dj;_&8jD}JSkq3q{b{y%H0C($x-slglQGe
zsCZXv9Vzl;PPHLNnP-SgOY)R+7W_+|FA#r$T_zj-+)KEh&<S_b%lNsUFix&sZJD~e
zf?U1KnimLH)6QPLMTt=(=~YtBAoofMeJWR<%GIY$@q8b5UxvSI67Of^ZzOz_@<F3W
zsqy4l!l~9Dg7HfUb!tCND7DvBId$$nNBq&&Hn8gkcN@fyA$!@FvqQwML}S24Im0~v
z9HF?P9VY#&@MF@#QCj{4;c68=$|xOEwU04MUm#v*ERFO0S`<d54HLBC2|{VZ1i0aI
zgyW2*3DuqnZH>As<xHyQCz&-ziB}kzld9xNt)G%7Id>u91U)cG-ft5=%9G1@V-F$q
z5DJB%#q{$O?Kw+WSK$z~PcaLgBb-q2Ddx)*Z*h`PDC9J?A0v$M{0iD|C!x@#6_oZg
zxSx&ZR}z1Y@KMIqYEqscl($|@+s+a`$}?+J`B!WE`1<?Uy*<RWAAWVewwIF<C(-IU
ztKH7Gd%N~1{nX1IrHwv6%`84eD3sweCvzVrj8O7v=CZ_Nt?LNm%-Pe-dI|eg`hW^Y
zY1L`!Jxw@8%TF`M&l0X+?w{s+-J&>)PW=*Dr__J!TD0S$moe3j8&K!<?YM<mv85fi
z^2`nGxD5(-q8+!B{(*Mf3GMrpcHBk$)9tvM(w}I@y_ES%JMKe|Ali=mwUm)-$HSV-
zz!1KMKtUUCHDra9xUPkbr`mD+li(BGOt)w&jelsztr}Z$?YK=VTG-%HdF`a{Y{yx1
zEC<?g7x8=BakqA><*|0$tF5&5x8pt|Wj)f4`?aS1?ls45JUMsx;Gy~KXR||%!NKgl
zliAgCHyu5e-9MYX?AT4W?#<53{^PM)cGZz1S@q!Y?A+|}*|`(5`)iwy&fj!+{_u&}
z9kT~-I<j|8W!yijvdzpMo6IggFsTY({JCp(?)c$jN3(;qMq}{8TT4{FMACn$*@x!m
zZ=9^xZ@&5F+JPg7ue*M(cHOZX>ert<GJAaQ{IR*iZxr5hU9W0g|5AOD?Rg{1%7ZuT
zJ$yvUx$UCG_V)YSHy@rql-<$pzwG*BN9VI!_uep@U3Fl7Z_S6!^UgzukDKY29Xl|8
z^WM4HED5x7_UQ51{n?w2?w_5@&L862Y?{e#yK(lY`S6VSK!5g)o*kq-Ra!f<l(Y8)
zt=zls$ZS?MWN&u;s_ogm^OM<jmmI%t?(mKC$7{!Vmt%7W>)Y1PT>Q@B*Mv$O({6+s
z%%Mtu5E?Ph%=j$V5cGJEe_3e9Ny61Uag%nGr?XIyS;EVR-=y6NHOXQ%cUJpHe%FYv
z;>`LH{=QM-arJ8!sxwQfSTWwulba}Qo)Qid9#*M4xO0${Ba}IJUX4=U8?{MY$Dp~{
zB}$Ogg_gg${9WXnqZNnAf0QQ&X$5PKddrLF`sv>Mr+e!EUvJBoo##tWvgX#=H;{id
z(2OJW#&y_6pX1kc^vez0y`C?AguXh?cbF$lzT{FZ?;%I;c|G1w{HN=OERfVvwXEd(
z-$1R0sehq8xBVQg?S&ul!HwTcN%M^AEPKlrj=wDHi;Myp?^~(y2JXw)JwVD{>XzJc
z?IibMdgA=&Wh}~bH}mA2%4a@d_T?<4%1GZ&9+@#Rdgq8sJIr~riTRS%w(&LO+4D=D
zp|0yxs+1u8xzw1IaeHCgF047*Zt-4bmD!hjnZ@!&v*-1Q%-i+6@pk^ocb2(x;V3yy
zTjbl{$lc@ADKkgDi;ReajFWBTpZU4+2!_mmt>0s|F7@C4BC!OwH^Mj>gPRpi!75y5
zKOp1~Eoe~tAbgGJiA>P)WgNzwVy%zDd&NZ_L9a3;vI2a27w~jIdq3FBI@-H|FM1jL
z>LyN9ZKm~G`1;$hrMaCEB3|b#xKMc;M~il|%XSqzY)Gn%g5T4=2+H?__P1)6`H$ha
zzeb-u&#d?$-V%RXdzb@9f1>>kHeU9@=U`Pu`*ZCZ+8OOHw68N#{#tuh`%CS2>9ezV
z9{d}6>}Bou;kq6{K7R*&dOf4>i1tZri`_`i9%t0d^W|>FKHRO$#9u%^`Zn#|idTD&
z_C5A~!`iEGFRy9;ru`<etV{cm_V3!A@Sa{qg&&C!i2}*sDeWsz@`rRo`+@draCz5i
z*T7Y-)IJAR`6ca#@RO^Ut^dH+{DStF_V<j$>o`O58;sXq(tZ({;nUg+0Ga=+y{P?@
z_AlC};HmD?in;|3^1bL~zEAr@@XzmpgML8!i1x4A_tAxa$$#VQ+~H&US@7m(=Vtd?
z*WEOCOmS0gzCypIAK5#9l#;FT$<Z6q`J-PyJ11!-7bs|jj17F-Yr1W>dU84SeSkjx
zp7tO5xPFO#seUV#olohH=uhe|>M!Z9aEznJm^RkpZ~k86W5ypD{{&(cw=^s}EN`>y
zvmCOVvfOX^9m^kB{@n7S<@=T&Tiw>QwQ6lxcUW(+-fjK7^>ORhtbb*F(fX40ht}6X
zxX{A1`E9}z3U*?L2md@AIMNfmte_@>nFwMMR)~qn`hu1S$1F&R;3R^Q2u30ZiAcYK
zjtDj)$cW$~f{KXrF8sdWA%eQRtk4j_LIUvMXaSN}a1cR31OpKSMDPzmBn0~q<U?=|
zK|Mrz5X3|94l6Yyhr_cA)**6;PHdV{Eb_VF93o8!#vurYS=ti{+Yn?!a1DzpK~N3B
zG<3=kJVf485DmdI1kDgELy!!?F$7b9XQwrSVYqqrD8E2ONEh@%unR#h1h<g)7R*8r
z3%#9F5DUR81Q&XNQlF#LSJgddy9}gOS}hobAQXa62s$CygdjvOapxuOU}qmxLNE!P
zy3Q~s<edeP5IjQA2>BX<L<kOHmLgvPIffpzBSF8a&<DXD1bGnLK~M(^cfO5e{W7V7
z_z2=4c!Qt~f;9-zAUK1d41zHT!m#iZ*aW`>TM+48a0T-zBzAHbN}3lbUY>tip$UQ|
z2$CQ;f}jY3AqavX_<^)h>Xo}-4a5aE5Y)h_Py@jL1Thf2z^qSNbcQF+(kFrw2wwdH
zu^0F)D1nP`Ke?NHrTh6xXOuiF61E@%f(r;LU?`beFaeu-e&IPm0|X1OC@esb0KowS
z6?}nmkbA)Z>?(&K0B_`yQnyj6Nd6-C8$5F-u`AUWI7?oUkOh$tw9sq~QZDZ*61rKw
zNW3ED%LrYoM(BRt;R#iX$oC@M3(_Hyz2q|ARHS;5>7|7t&x<rKvivfh7CGL+`XZ)f
zV*I*=JR-x31TXTtNbe%ME6H7rWtn#;RqKyYx8R{7v70mOX?}^cF0#5v>N2{Ype(8L
zEGegGxs;@{YBUK&M%SUg4-$%uE+?<#tBH&*7RGy7$wWpM3EiYN4=dSRBy*9=MJgAW
zTqJUl$3+?!SzIJ>k;6p_7a81OuIbEDEXS~3xLGlRtQ}!iO&_afL6AcJbx~hG^HNsZ
y0;}#YtMDi*Z4cjNC8?`f{f1Z}ucqz$X!Qtd)k#`;JO3tF-5zCK790RQ-Twz<1Uk9^

literal 0
HcmV?d00001

diff --git a/examples/guide/07_typing_text_on_the_screen/main.go b/examples/guide/07_typing_text_on_the_screen/main.go
new file mode 100644
index 0000000..caaa0da
--- /dev/null
+++ b/examples/guide/07_typing_text_on_the_screen/main.go
@@ -0,0 +1,78 @@
+package main
+
+import (
+	"io/ioutil"
+	"os"
+	"time"
+
+	"github.com/faiface/pixel"
+	"github.com/faiface/pixel/pixelgl"
+	"github.com/faiface/pixel/text"
+	"github.com/golang/freetype/truetype"
+	"golang.org/x/image/colornames"
+	"golang.org/x/image/font"
+)
+
+func loadTTF(path string, size float64) (font.Face, error) {
+	file, err := os.Open(path)
+	if err != nil {
+		return nil, err
+	}
+	defer file.Close()
+
+	bytes, err := ioutil.ReadAll(file)
+	if err != nil {
+		return nil, err
+	}
+
+	font, err := truetype.Parse(bytes)
+	if err != nil {
+		return nil, err
+	}
+
+	return truetype.NewFace(font, &truetype.Options{
+		Size:              size,
+		GlyphCacheEntries: 1,
+	}), nil
+}
+
+func run() {
+	cfg := pixelgl.WindowConfig{
+		Title:  "Pixel Rocks!",
+		Bounds: pixel.R(0, 0, 1024, 768),
+	}
+	win, err := pixelgl.NewWindow(cfg)
+	if err != nil {
+		panic(err)
+	}
+	win.SetSmooth(true)
+
+	face, err := loadTTF("intuitive.ttf", 80)
+	if err != nil {
+		panic(err)
+	}
+
+	atlas := text.NewAtlas(face, text.ASCII)
+	txt := text.New(pixel.V(50, 500), atlas)
+
+	txt.Color = colornames.Lightgrey
+
+	fps := time.Tick(time.Second / 120)
+
+	for !win.Closed() {
+		txt.WriteString(win.Typed())
+		if win.JustPressed(pixelgl.KeyEnter) || win.Repeated(pixelgl.KeyEnter) {
+			txt.WriteRune('\n')
+		}
+
+		win.Clear(colornames.Darkcyan)
+		txt.Draw(win, pixel.IM.Moved(win.Bounds().Center().Sub(txt.Bounds().Center())))
+		win.Update()
+
+		<-fps
+	}
+}
+
+func main() {
+	pixelgl.Run(run)
+}
-- 
GitLab