From 1d3e6231ec8df998824d3e400bca977f3f51c831 Mon Sep 17 00:00:00 2001 From: Jakub Melka Date: Wed, 31 Jul 2019 18:19:23 +0200 Subject: [PATCH] Dependencies moved to the another project --- FreeType/freetype.dll | Bin 827392 -> 0 bytes FreeType/freetype.lib | Bin 46362 -> 0 bytes FreeType/include/freetype/config/ftconfig.h | 575 -- FreeType/include/freetype/config/ftheader.h | 814 --- FreeType/include/freetype/config/ftmodule.h | 32 - FreeType/include/freetype/config/ftoption.h | 982 ---- FreeType/include/freetype/config/ftstdlib.h | 175 - FreeType/include/freetype/freetype.h | 4880 ----------------- FreeType/include/freetype/ftadvanc.h | 188 - FreeType/include/freetype/ftbbox.h | 102 - FreeType/include/freetype/ftbdf.h | 213 - FreeType/include/freetype/ftbitmap.h | 330 -- FreeType/include/freetype/ftbzip2.h | 102 - FreeType/include/freetype/ftcache.h | 1088 ---- FreeType/include/freetype/ftchapters.h | 145 - FreeType/include/freetype/ftcid.h | 168 - FreeType/include/freetype/ftcolor.h | 311 -- FreeType/include/freetype/ftdriver.h | 1232 ----- FreeType/include/freetype/fterrdef.h | 279 - FreeType/include/freetype/fterrors.h | 285 - FreeType/include/freetype/ftfntfmt.h | 94 - FreeType/include/freetype/ftgasp.h | 144 - FreeType/include/freetype/ftglyph.h | 665 --- FreeType/include/freetype/ftgxval.h | 355 -- FreeType/include/freetype/ftgzip.h | 151 - FreeType/include/freetype/ftimage.h | 1240 ----- FreeType/include/freetype/ftincrem.h | 344 -- FreeType/include/freetype/ftlcdfil.h | 328 -- FreeType/include/freetype/ftlist.h | 297 - FreeType/include/freetype/ftlzw.h | 100 - FreeType/include/freetype/ftmac.h | 290 - FreeType/include/freetype/ftmm.h | 753 --- FreeType/include/freetype/ftmodapi.h | 785 --- FreeType/include/freetype/ftmoderr.h | 203 - FreeType/include/freetype/ftotval.h | 207 - FreeType/include/freetype/ftoutln.h | 593 -- FreeType/include/freetype/ftparams.h | 204 - FreeType/include/freetype/ftpfr.h | 180 - FreeType/include/freetype/ftrender.h | 245 - FreeType/include/freetype/ftsizes.h | 160 - FreeType/include/freetype/ftsnames.h | 273 - FreeType/include/freetype/ftstroke.h | 772 --- FreeType/include/freetype/ftsynth.h | 84 - FreeType/include/freetype/ftsystem.h | 353 -- FreeType/include/freetype/fttrigon.h | 350 -- FreeType/include/freetype/fttypes.h | 615 --- FreeType/include/freetype/ftwinfnt.h | 277 - FreeType/include/freetype/internal/autohint.h | 232 - .../include/freetype/internal/cffotypes.h | 108 - FreeType/include/freetype/internal/cfftypes.h | 417 -- FreeType/include/freetype/internal/ftcalc.h | 510 -- FreeType/include/freetype/internal/ftdebug.h | 283 - FreeType/include/freetype/internal/ftdrv.h | 288 - FreeType/include/freetype/internal/ftgloadr.h | 149 - FreeType/include/freetype/internal/fthash.h | 136 - FreeType/include/freetype/internal/ftmemory.h | 392 -- FreeType/include/freetype/internal/ftobjs.h | 1236 ----- FreeType/include/freetype/internal/ftpsprop.h | 48 - FreeType/include/freetype/internal/ftrfork.h | 246 - FreeType/include/freetype/internal/ftserv.h | 521 -- FreeType/include/freetype/internal/ftstream.h | 561 -- FreeType/include/freetype/internal/fttrace.h | 156 - FreeType/include/freetype/internal/ftvalid.h | 159 - FreeType/include/freetype/internal/internal.h | 66 - FreeType/include/freetype/internal/psaux.h | 1439 ----- FreeType/include/freetype/internal/pshints.h | 700 --- .../freetype/internal/services/svbdf.h | 66 - .../freetype/internal/services/svcfftl.h | 90 - .../freetype/internal/services/svcid.h | 69 - .../freetype/internal/services/svfntfmt.h | 55 - .../freetype/internal/services/svgldict.h | 72 - .../freetype/internal/services/svgxval.h | 72 - .../freetype/internal/services/svkern.h | 51 - .../freetype/internal/services/svmetric.h | 125 - .../include/freetype/internal/services/svmm.h | 156 - .../freetype/internal/services/svotval.h | 55 - .../freetype/internal/services/svpfr.h | 66 - .../freetype/internal/services/svpostnm.h | 65 - .../freetype/internal/services/svprop.h | 66 - .../freetype/internal/services/svpscmap.h | 145 - .../freetype/internal/services/svpsinfo.h | 86 - .../freetype/internal/services/svsfnt.h | 88 - .../freetype/internal/services/svttcmap.h | 90 - .../freetype/internal/services/svtteng.h | 53 - .../freetype/internal/services/svttglyf.h | 56 - .../freetype/internal/services/svwinfnt.h | 50 - FreeType/include/freetype/internal/sfnt.h | 875 --- FreeType/include/freetype/internal/t1types.h | 260 - FreeType/include/freetype/internal/tttypes.h | 1854 ------- FreeType/include/freetype/t1tables.h | 774 --- FreeType/include/freetype/ttnameid.h | 1236 ----- FreeType/include/freetype/tttables.h | 856 --- FreeType/include/freetype/tttags.h | 123 - FreeType/include/ft2build.h | 44 - OpenJPEG/bin/openjp2.dll | Bin 383488 -> 0 bytes OpenJPEG/bin/openjp2.lib | Bin 12796 -> 0 bytes OpenJPEG/bin/openjp2.pdb | Bin 1200128 -> 0 bytes OpenJPEG/include/openjpeg-2.3/openjpeg.h | 1691 ------ OpenJPEG/include/openjpeg-2.3/opj_config.h | 10 - OpenJPEG/include/openjpeg-2.3/opj_stdint.h | 52 - OpenJPEG/lib/openjp2.lib | Bin 12796 -> 0 bytes .../lib/openjpeg-2.3/OpenJPEGConfig.cmake | 53 - .../OpenJPEGTargets-release.cmake | 46 - .../lib/openjpeg-2.3/OpenJPEGTargets.cmake | 98 - PdfForQtLib/PdfForQtLib.pro | 57 +- PdfForQtViewer/PdfForQtViewer.pro | 10 +- README.txt | 3 +- UnitTests/UnitTests.pro | 3 + libjpeg/README | 378 -- libjpeg/bin/jpeg.lib | Bin 4415622 -> 0 bytes libjpeg/bin/jpeg.pdb | Bin 143360 -> 0 bytes libjpeg/include/jconfig.h | 52 - libjpeg/include/jmorecfg.h | 446 -- libjpeg/include/jpeglib.h | 1180 ---- 114 files changed, 54 insertions(+), 41233 deletions(-) delete mode 100644 FreeType/freetype.dll delete mode 100644 FreeType/freetype.lib delete mode 100644 FreeType/include/freetype/config/ftconfig.h delete mode 100644 FreeType/include/freetype/config/ftheader.h delete mode 100644 FreeType/include/freetype/config/ftmodule.h delete mode 100644 FreeType/include/freetype/config/ftoption.h delete mode 100644 FreeType/include/freetype/config/ftstdlib.h delete mode 100644 FreeType/include/freetype/freetype.h delete mode 100644 FreeType/include/freetype/ftadvanc.h delete mode 100644 FreeType/include/freetype/ftbbox.h delete mode 100644 FreeType/include/freetype/ftbdf.h delete mode 100644 FreeType/include/freetype/ftbitmap.h delete mode 100644 FreeType/include/freetype/ftbzip2.h delete mode 100644 FreeType/include/freetype/ftcache.h delete mode 100644 FreeType/include/freetype/ftchapters.h delete mode 100644 FreeType/include/freetype/ftcid.h delete mode 100644 FreeType/include/freetype/ftcolor.h delete mode 100644 FreeType/include/freetype/ftdriver.h delete mode 100644 FreeType/include/freetype/fterrdef.h delete mode 100644 FreeType/include/freetype/fterrors.h delete mode 100644 FreeType/include/freetype/ftfntfmt.h delete mode 100644 FreeType/include/freetype/ftgasp.h delete mode 100644 FreeType/include/freetype/ftglyph.h delete mode 100644 FreeType/include/freetype/ftgxval.h delete mode 100644 FreeType/include/freetype/ftgzip.h delete mode 100644 FreeType/include/freetype/ftimage.h delete mode 100644 FreeType/include/freetype/ftincrem.h delete mode 100644 FreeType/include/freetype/ftlcdfil.h delete mode 100644 FreeType/include/freetype/ftlist.h delete mode 100644 FreeType/include/freetype/ftlzw.h delete mode 100644 FreeType/include/freetype/ftmac.h delete mode 100644 FreeType/include/freetype/ftmm.h delete mode 100644 FreeType/include/freetype/ftmodapi.h delete mode 100644 FreeType/include/freetype/ftmoderr.h delete mode 100644 FreeType/include/freetype/ftotval.h delete mode 100644 FreeType/include/freetype/ftoutln.h delete mode 100644 FreeType/include/freetype/ftparams.h delete mode 100644 FreeType/include/freetype/ftpfr.h delete mode 100644 FreeType/include/freetype/ftrender.h delete mode 100644 FreeType/include/freetype/ftsizes.h delete mode 100644 FreeType/include/freetype/ftsnames.h delete mode 100644 FreeType/include/freetype/ftstroke.h delete mode 100644 FreeType/include/freetype/ftsynth.h delete mode 100644 FreeType/include/freetype/ftsystem.h delete mode 100644 FreeType/include/freetype/fttrigon.h delete mode 100644 FreeType/include/freetype/fttypes.h delete mode 100644 FreeType/include/freetype/ftwinfnt.h delete mode 100644 FreeType/include/freetype/internal/autohint.h delete mode 100644 FreeType/include/freetype/internal/cffotypes.h delete mode 100644 FreeType/include/freetype/internal/cfftypes.h delete mode 100644 FreeType/include/freetype/internal/ftcalc.h delete mode 100644 FreeType/include/freetype/internal/ftdebug.h delete mode 100644 FreeType/include/freetype/internal/ftdrv.h delete mode 100644 FreeType/include/freetype/internal/ftgloadr.h delete mode 100644 FreeType/include/freetype/internal/fthash.h delete mode 100644 FreeType/include/freetype/internal/ftmemory.h delete mode 100644 FreeType/include/freetype/internal/ftobjs.h delete mode 100644 FreeType/include/freetype/internal/ftpsprop.h delete mode 100644 FreeType/include/freetype/internal/ftrfork.h delete mode 100644 FreeType/include/freetype/internal/ftserv.h delete mode 100644 FreeType/include/freetype/internal/ftstream.h delete mode 100644 FreeType/include/freetype/internal/fttrace.h delete mode 100644 FreeType/include/freetype/internal/ftvalid.h delete mode 100644 FreeType/include/freetype/internal/internal.h delete mode 100644 FreeType/include/freetype/internal/psaux.h delete mode 100644 FreeType/include/freetype/internal/pshints.h delete mode 100644 FreeType/include/freetype/internal/services/svbdf.h delete mode 100644 FreeType/include/freetype/internal/services/svcfftl.h delete mode 100644 FreeType/include/freetype/internal/services/svcid.h delete mode 100644 FreeType/include/freetype/internal/services/svfntfmt.h delete mode 100644 FreeType/include/freetype/internal/services/svgldict.h delete mode 100644 FreeType/include/freetype/internal/services/svgxval.h delete mode 100644 FreeType/include/freetype/internal/services/svkern.h delete mode 100644 FreeType/include/freetype/internal/services/svmetric.h delete mode 100644 FreeType/include/freetype/internal/services/svmm.h delete mode 100644 FreeType/include/freetype/internal/services/svotval.h delete mode 100644 FreeType/include/freetype/internal/services/svpfr.h delete mode 100644 FreeType/include/freetype/internal/services/svpostnm.h delete mode 100644 FreeType/include/freetype/internal/services/svprop.h delete mode 100644 FreeType/include/freetype/internal/services/svpscmap.h delete mode 100644 FreeType/include/freetype/internal/services/svpsinfo.h delete mode 100644 FreeType/include/freetype/internal/services/svsfnt.h delete mode 100644 FreeType/include/freetype/internal/services/svttcmap.h delete mode 100644 FreeType/include/freetype/internal/services/svtteng.h delete mode 100644 FreeType/include/freetype/internal/services/svttglyf.h delete mode 100644 FreeType/include/freetype/internal/services/svwinfnt.h delete mode 100644 FreeType/include/freetype/internal/sfnt.h delete mode 100644 FreeType/include/freetype/internal/t1types.h delete mode 100644 FreeType/include/freetype/internal/tttypes.h delete mode 100644 FreeType/include/freetype/t1tables.h delete mode 100644 FreeType/include/freetype/ttnameid.h delete mode 100644 FreeType/include/freetype/tttables.h delete mode 100644 FreeType/include/freetype/tttags.h delete mode 100644 FreeType/include/ft2build.h delete mode 100644 OpenJPEG/bin/openjp2.dll delete mode 100644 OpenJPEG/bin/openjp2.lib delete mode 100644 OpenJPEG/bin/openjp2.pdb delete mode 100644 OpenJPEG/include/openjpeg-2.3/openjpeg.h delete mode 100644 OpenJPEG/include/openjpeg-2.3/opj_config.h delete mode 100644 OpenJPEG/include/openjpeg-2.3/opj_stdint.h delete mode 100644 OpenJPEG/lib/openjp2.lib delete mode 100644 OpenJPEG/lib/openjpeg-2.3/OpenJPEGConfig.cmake delete mode 100644 OpenJPEG/lib/openjpeg-2.3/OpenJPEGTargets-release.cmake delete mode 100644 OpenJPEG/lib/openjpeg-2.3/OpenJPEGTargets.cmake delete mode 100644 libjpeg/README delete mode 100644 libjpeg/bin/jpeg.lib delete mode 100644 libjpeg/bin/jpeg.pdb delete mode 100644 libjpeg/include/jconfig.h delete mode 100644 libjpeg/include/jmorecfg.h delete mode 100644 libjpeg/include/jpeglib.h diff --git a/FreeType/freetype.dll b/FreeType/freetype.dll deleted file mode 100644 index 005cbcb89f50015cdbc31f182db219bfb6c559a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 827392 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 z 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�ew#Dv5qlM{c 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�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%0AfX(6qm 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 F_;=$6HP`?E diff --git a/FreeType/freetype.lib b/FreeType/freetype.lib deleted file mode 100644 index de77825c1680bf0264adfd9ad2e26d7dbf31fada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46362 zcmeHQYmi-4m0kozM8t>;Dk4V2sE8P1CxT{_q??97CuzHr@DRA%bl-H}`c!D09Yp6bth-v2uh93Sm zBBq`97N=&COmnz@jOsqwI(4M!0%HBko%ZO0R|0r_XT?O03T z-3FTczM)4(kRQ+l%E8n^ewbcHIhk&F(9qOsqJ&<<6IA`Pp-WI_Ob;Jy=t0zfLTBO$ zdT58C+g~SQTGui3XdC4RZ9T@&tuGNJG=L}Q3Z%#M#1n?@*ok%otzT}adNlAs+xsl- z!V`4ETtiR&mWXL`+|Ubah?v&AX=xpvpqGDX=%qgrC4@9zV%l!#MWo4e7Q+R^L|I1Jfb-*+Z%!H1_ z6LjrQ4Am}z95g-KQ2SP*grL&~&7jViHX(mZwoK zXATD+^z502cB8CJ&mxaZyT=VZvlV)vug|e`GoGMp(0`b&MIM>1A2IZ`MMMcbhbQRr zV+~z13;Li79sLHsLFex_biq+X2_fwZK$X>oE<|~m&ij?62A-hvfy4CG<(6K<6Lb;M zW2)dc(?uvV)6+wSuKP9m59sMVhQ2vSl+a6fzEr6!T{gU8WMyUGw9)>NrNb*%j8xXP zYqidnsTx%(%U2BzWi{vur(zUVp0R5AS(SmsD;Lw?%F1c&cB@?(?X>I72_#Y9FjWb; z2rsW~sti`g7{qF%94lQ`+t6xn$x)I5=&qQmH3Kcrf_!nOQyrVE4AvV0OftO=GF_`~ z@L952mJPj;+S*#X)*Pz^fB_$x1FdGLymESD%haS-6FjHEuz^CtvS=&Y z)#mitR$J64V|h08MrzIRT06v2Txgw+XlK>hP1U6&)9N7UvGw_yT4eQ;B371HH;6{y zWCh=94!5Q|(_`)WR3}G06e5moO0JF#)hS;|0YA|+4Hc+)rp~aq&*T(8q(~85iKc{rny!Y zkB?WDwZ>=E%gXa?I-v%qVtLRQ!JBhq%`wtKYBu!jAl-t=O7u>}m0AGtg-f-Vn_#*( zqpcpV>R*md1bu$nyI`6_$%Ibw!ptZsF0}ZSGEiGHGf_FC)mrai13omlmR7cBYAdn0 zshrlFsN)sQzkQrS4a8nn#gb+-clAzvs%hc!HlM5+Z>s9T{tbg=y3qN#hq$%zHdPj zWPWp^QNtXzcC8S49yIKnvZ`4ZJwP(O&Pc0+s`m+5Ez9FGSGiu`#-~i6K;7BWI_856xtyn5P;FpzGD}u9t81P+)V= zzpOe{8LBoXW~vid9t`+Qb3QUs8EX(L(W+>RG=ddCcevW9bub79s+}qq*r%S62yOF% z&gxpe(!{E&)visn`4xvwhy_Ysyc{iClED^QAg?4+V0F(q=_IHY=!ZhY8LDF$I9P9v z`z(2ulj8*yh?(Q0OPkYb#!KQ`rqeO+p&${L6qnCUe59WYQEYi*cnO^Xqj6$yRJt3LNmlbJ$?C)cb}!WCNmleIDN%5rHL zw$Mwu>XMdNM>*A0BD9kQPD53ZQ}-gF-`|=N^QcozxI!yu+2mBcNa&xoVNI(sUK3NQ zQ%@y1+UJ~`tu?0)nTRn`!^<_V&745!axE>Xcho1A%Z-qU80LMO&5Pv=O^&~!U9UAU zhpTm>1ds}d%W;wkF8Rpm$7CR;nml0`$7f7wbN!?Yo+VdSg$*Vn2}-e~u!kiQoA#1{ z!Q@+U8f6IQ-#{i}xb>pWIP0epXqz^|n?SxZCDZGuL1xso?!Obh&!u?AJuv(nJ zT#k>I6>V5oU^S_X&P+`;Y8%i?eZER*bAD~AOQ+E?m}W7tHnt=-iJq`n z&Oh)9mvg7!r5b*6OqcFP%?nc9qyp6_G^!~-)m+)i?>H4NfG+oou#kcW4fj2C`Z<-= zcrlKvw?>{&#~FmJ*mo$Qp9rAa->6Pc*T>j+mjjS14Pt2s8N*@lbb;qY_`3)9Py~BXQcxP?cic znCKZEG?L;h3sfW%I$Q#%4AiFU6HWBtR(l-FrH-`L6|30z$iiL|DA2LxD3JPLf?O8p z_%bB3YP1Mh4U3N&$jTIYu7)UoBs$k0XFjVUN}m-f_`>+Mam?4T`L^@@K2PXNoFB(_ zAte;~T)eqH4dYs7#^nqOnXMUK)Qsa*F^z9$X%OR#1v13o&6;FJ&(1$tk<`}{L#pd$ zg~ZO8tfbwvG>jhJlop3#72qU7WO-F{Dv4JcKcn94s2zx66~yN%9UdI1EQ6V%J|^aY zP#|=3_c%BaClI>1_D0rq0_ch*D4L@_UR#2ZE)6zC3OX*d_7YiZAU5{QTI;c~qn2rs zDRfZDqW9W}%oI8!wN2{7)Foy4LUS0#>zXZBHd!SVv6f)P)Wj|V`iL;FI20unu}*7_ z7se4X5n~7+oGZoVg+s7>p^4>YeJoGa38e1KngU%b5W47orWYii9im^ltb__8?rEE+ zT5TIWTenIoVj;l@mK6zolTK0kvRCkHEvuJsk)ByQnPPb@#SOH=;URUc%*9C7@99^9 zpSF2bsAVd~iZzWo_HTpin2!M~g8muR>B{h^EdWoMqM34JjKH(as4@3wLs~`>Xb-m& z!>`DZNXiL=IGCzc8AJ>tvifJ&n}f?yoLW`QI-Dgf8eG|rlwb(RGq{t+Fs%rL)bo;nc_J;t&3ctOxwg!cJ(k$BIG#BTjRCLs%E?9O~#5T(>3NW z&WrfO_9-hd$7921KinK@YQhcqTGQlRl+`CDpl?LOD;`28zYnrb$Ga2*BB3~ghldS>;^n1)Va3V>THK$)v7ayOYfX4_F&?VUX z*se{BK^_Wpx}qWBy9>Ws8?Y2b=X)Enp%zGSkG0z>96TdtcU5<~d*1pAkH* zRuTQ;Y@*rc61}pX=s#~Gntun;@9!j9GzO1D&|G-D&Z`rhu#@QD9)@=po(rFVm*Xu& ze}*U25l_O?5d3xU{@Z;O(H}R#bL?`WJ&zC_^eEEmz*7t~xDlRKmlDlt5gmr-7odCL z4AH~zmO5$!^3a4wCFmafJ{I}d4*LEi(FoExVgl(P-sH>h^1Oj)H9W3f1O2&*yuoAb zVBo*z?6&NW28xe;Xr4c|m`JnCu(Xb*mG25wi#m&>(|3W6aC=V zsMGDJw+B$~!&?xB?#~}1`V;!WwyWX&hTm_ZFKk8lP=uF1jxs~<9<;-2_oCW@@3(+p1-RGmyR1>I!hd`_*~y zb_6YgZ24D_HfZ-nctYNX=g`wAFY0Fxo`c^+zXCmU0P2SRg}zTepzqOl=%45{`Um?C(h+nw z-A4D*e7coBLLa8b=uz59uhQSq9(q6hHBC{AnzVxE&|lFP=mENy?xMe^bLemA6}p73 zrfcb2^ljQk*U(SsZ|O!_Lj5#AC(?OTp>yf0bRnHj7tniYHVxAv`XYUTK1pwQIQDm7>wO;C+i(kfa_3#g9{p@sB0dLO-; zj;9aMp>!C1kWQhSX$Rdw_t7`#J@h3yobI7J=__;^{h0oho}uUHdHN>prkCkOdVyY| zXX#1WMNiXHbUIy6*U@qsqGfazeTL4YpVH6h0Gjpx?el-QeGbGIf?WBC*ScTfn5}}G z~`2-`Vr(EiLK$hoV7&!Wgm@w?I>!Wu)%*sN?LA#H~mU5?@YdvFO!@B9= zH-8HXi2P?7-f^^%m@D@VS(Ep^iuR3IR{@N78QzIR*f zlE-CpZ5{6MOFiR8y-7blw<$i(Ki<72MHc4`{p4EFPOXv(q1ydWHy=JXzD0w|n*Id1UT4OYHYEwhEF zoeZt}BckW=&Cp0@F)fz9iB96YjFYtBhJ_a_mpbFKJ^FSj7@P-;ub5 zyFfZcY!> zOwru7M#hoK^)IL3UB8fzl*v|Q5ta)Kr{j3qCkY)^?X!qPAVOTRjiO~0=VIdkxbK?< zj?9W25mGboFLEMOql}$(Udr*6Qf>(@p@f;Zlp)(Cd?AGv76JUO)IN_aH%COa@SMV# zOv85P$GeRuCRu2Bj_5q5e~ZPaDWvag;dv=}mcXoU-1!;Kh2^-u$C>AGl6FSNz#H7C zv#UVre4Zr0oaDrZE0SFjanz!BtCi)?#8w!-YMGtgPGxRznu}TT^~GV;%FHNyOE_Uc z-cpZXENI}r%Qav;taHqrg2kpv*0sBRMH_69y)F^kes`s*x%%{GfJ&2z6$&9&clnyEUnwos&s#dZpaRf0V&)6@D zG@KPf%Y`jN3ot#${DGWZBaOuCHD}$(W4awUOvJ1jSUOY;W$#duT&qV$qsaD=QS8Eb zSlB^yGNCm@OTA4b!}pdEEy~zOlvr6ww4~^4bJ4k&9Eah=<5#6>zA2M0eZ_ay3B}A^ z^MxAduztqju7Fr-!KWhxCq$D7($1o^g|$WV^G|b2%Zt)yL2e196-LL{t4E5n$mB-D z%$RXA39K_JUb@ItTxF@rO0umOT5Ym%@{YhM3yz9{rIfJa1fm>kj?&np#1a(n%>rAD9L|>g4#;=r z^8WEbQhvef1%aI?735fpQkk|HrEF*D!5gIH!C7ZNDo7%=B4y;xmLvq$qNF*+N94qr z4s*CJ_gG)$vua|dv|FhJ^uj4MS?Oh9%FeCU))`}rRV&L@M^T)zw{T@5sLz|!`js8e zE-5F;JEMmIsw`g_Feo4$VgJh0Fjla9N#yvRo*7(rdCrh_u}rdPKRgrV!3n0c#AVoQk5f!xl?(V8+nkceS8J%pk_Tt<7jGOtu-PeeX}ME^ z?9zsl%ISN|&bQ^M^jIafF7Pw2vFrKB>N15AzK)@@Vsb1%+53Fj)*9%nepx}0pSzyQ zoY_s-0W(R(oy^0vgG&)}in0u5l7&K%uX~Z}znX>|kg^zNP>N1Npz-}EU>jl@Qg) zt1`0Nm^|Qszx+kUfiiLaW|1rPsYFSRCmkm#pFy%ZeXN5>@a?ml1)jtFkMe)^AEyp4 zUmN1bEO`Fm*2C-#g+1M2C`(+Xx6EJQF8t-*GArpVuO_+UJQC&gmT@CW{};XGbB@Wq z+S#gEmOD0AP4(z23yc)C$Kqu$25=B@ohYd9h;Q%ZP;SU*>8~zNHS1n z6r_V7K>P?055TOV5&4}b5vc3lvtU7f2|otBSr$)h@Yr3E-Y^%sfgY6cQ@}j12-9x2 z^oG1(etv1^0QqfMIuhQohULi5*h~CIhAVX=GMC)MEL~)VwLDTf~J0s7B7O0%6c#?# z`M&U;&|>d|BMq8$S4ehxG+5U?BQ~zzuh5()g(_Uvc(Hc-K!67i4Fx6xz4nn0Dy;pm zVkzkLbI|LLQdrJt{??W4Lkcf(Q;}7tfJ@b5WcD~(Vf8-m_Z7TRKY)7tu)%U(H9eJS z!RPX4U$!qCV{ybyRfBx3l>+R#=PxLz#g7B=BU!}M_SPF}U%}kPwuCtr70yKpLsi3;gED`*7&&zh z>6_Ib3xXI7S}`oNOVy=&GZ)IIr z&~xUYkA7Yw7x@mW49Gy4-t_r`btG@(oUHMqF3A$N`}&Vr)=v?+5U$P&PzK7BI`&=g zg#b_fodb!p52Y;Fx!~QIFA7xencX8^!FL_+KP}RD-s4+A%0Q`lE$Gc`?fz?lm~kYR zKx!S)xPcFzC2o#_Ul&R6a z$eVMq$4lJwW!l}3iP-n$5`mPs|0^gNC{w1G)vZ53GB-0wgncMk!C2rukpYkAeEAia z43sHb?EQ6`$I5l9lUVyu$^r`uThs>?GM3M3WOt9Xpx|qhcPLL+Sjz8D6;KAs)NIU7 zaE8D%XF+7@`%u2fJhoI|$ulNBB1Y!1Gd-d>yV4_G#Kv=$z)R1>C^#7?({`~{#gIpn zM{Oj8>aD%vEz@}WWz@&Yw_M}7`>%T|U!;Go5P0&ukpk@gJsTPE!&yXkj!A*aK&e)Y zteU=(#WcsGBuMxDCQ`}~ff$^+>IpOU6*=lLQ;%l_)_prhdd^CZrVfeqh!~k^Rt1R3 z;WGs%1Eu;*qy<;!py7BG|Ft0rqXMNcBXjrJ0j4>CqcTd)7U!dJc*cdU{C>fU%Le>ZuX@6sz>G%1L7cJZW;_KqKdzkC15lu*!<`stY}~K98v&WuQ!HW9!z6M+}d7N|>&Da?Eab zk;TlO9#xRt_u)v*Rzpm82fu=pfl@VF@b$s_yK6Ft{_lKAobG#2?3-XrpqfLpyA$ zuUCLFP^O$QJLi|jdNV|CNCk5y+l4m^r2XMv6`M7-2rPe`T2-71l&Qs-r`jb3Pv4KxQ%%N7 zcd0^4{($9FqgM~!f^ReSEWFI(ncF;6vAQ2$5uC53IDAV;k2nSE6ZQhR+~B~4*4#eQ zBT{5^UEz^(y1c|K(*t93)0G}6*P*amtXTiM%45kpSR{mMy;5b1wAWUTmvt%Zx(CL_ z@zn+?y&GmQJR>Ks#0UBS&BTKUnE4PAoGkZ~7r_ua1KMGO?dM)4e0V3a$Ez{qJ@)gX( z>^-qvqvao?=ziQ4jBvJf-jI)o+m3oGW$X;!jT#e{6m^S|0+xX?Z5gvD-;}}CmorJM z{oAfLXOPXMPdy?=+Vz$kM01%`kC>6(dutYRKUm0OJ?XYAqP+Y{6;%ex^rYB3|8|X= zITF+@R?O;nhsLs3bxDMM=&KPM*_|QY#v1;%u$~SidYQV6y^HVCc>Yox38LV8Mck2t zm|R%a8)9T++-(ruZD#|xASd|?01B}Cc|Ectd5=c4_p9}Wx3FNo;S&q@hIl#mw)KV{ zTZPpRbyTJ?=q=D6iX71(bm@ zqd(SH9&%{n7C)JO_p@mX?O}%|ZU^iUtzZ=L_w^$d&D}cK8&a%S?lefjZHB$!#ooA& zD!lB+s6;N)Ltjv$Rgns=`?pYmm6%VG zJt^@rS5Wqb8(Zl=<#FEvAKaK9$I}XVZ_X652FmoKm}kQ-g}nbfa$|eO&v?w>f=^kp z?q}4P4Q#i^loy98Kp7}gudx~YS&z5Byz?UO!sk5Nep(5~dh7EZjXj%1@ozPnxTshauzSo%KYca8+&tB4_x!aM>8F2}hqqt+sA6`oJsK4j zRdr#rs$Ll=(|=;No4?QC+IyfSNY_0!wu1c!jcBizR&ZVSpV;dBA2nX@mcB^e`Hsd? zw_*2I!dQ*|lSZ|-Z1;v2tI^jqUdDJLk<0YY*zG_6Y_RxJaG9(Ml);G2+26GoZR4Zv z{%T=wcm+G#eDdyJGI;xE_cAulUpJW9o6&nKWx<+>Zy@@fLL90!Cpwd=*;Js{HvGOq zOYd=i%S!hHg=epa?+qUt1 N*kIYa_Z7?`{{wa5`, and contains - * system-specific files that are always included first when building the - * library. - * - * This ANSI version should stay in `include/config/`. - * - */ - -#ifndef FTCONFIG_H_ -#define FTCONFIG_H_ - -#include -#include FT_CONFIG_OPTIONS_H -#include FT_CONFIG_STANDARD_LIBRARY_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * PLATFORM-SPECIFIC CONFIGURATION MACROS - * - * These macros can be toggled to suit a specific system. The current ones - * are defaults used to compile FreeType in an ANSI C environment (16bit - * compilers are also supported). Copy this file to your own - * `builds/` directory, and edit it to port the engine. - * - */ - - - /* There are systems (like the Texas Instruments 'C54x) where a `char` */ - /* has 16~bits. ANSI~C says that `sizeof(char)` is always~1. Since an */ - /* `int` has 16~bits also for this system, `sizeof(int)` gives~1 which */ - /* is probably unexpected. */ - /* */ - /* `CHAR_BIT` (defined in `limits.h`) gives the number of bits in a */ - /* `char` type. */ - -#ifndef FT_CHAR_BIT -#define FT_CHAR_BIT CHAR_BIT -#endif - - - /* The size of an `int` type. */ -#if FT_UINT_MAX == 0xFFFFUL -#define FT_SIZEOF_INT ( 16 / FT_CHAR_BIT ) -#elif FT_UINT_MAX == 0xFFFFFFFFUL -#define FT_SIZEOF_INT ( 32 / FT_CHAR_BIT ) -#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL -#define FT_SIZEOF_INT ( 64 / FT_CHAR_BIT ) -#else -#error "Unsupported size of `int' type!" -#endif - - /* The size of a `long` type. A five-byte `long` (as used e.g. on the */ - /* DM642) is recognized but avoided. */ -#if FT_ULONG_MAX == 0xFFFFFFFFUL -#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT ) -#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL -#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT ) -#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL -#define FT_SIZEOF_LONG ( 64 / FT_CHAR_BIT ) -#else -#error "Unsupported size of `long' type!" -#endif - - - /* `FT_UNUSED` indicates that a given parameter is not used -- */ - /* this is only used to get rid of unpleasant compiler warnings. */ -#ifndef FT_UNUSED -#define FT_UNUSED( arg ) ( (arg) = (arg) ) -#endif - - - /************************************************************************** - * - * AUTOMATIC CONFIGURATION MACROS - * - * These macros are computed from the ones defined above. Don't touch - * their definition, unless you know precisely what you are doing. No - * porter should need to mess with them. - * - */ - - - /************************************************************************** - * - * Mac support - * - * This is the only necessary change, so it is defined here instead - * providing a new configuration file. - */ -#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) ) - /* No Carbon frameworks for 64bit 10.4.x. */ - /* `AvailabilityMacros.h` is available since Mac OS X 10.2, */ - /* so guess the system version by maximum errno before inclusion. */ -#include -#ifdef ECANCELED /* defined since 10.2 */ -#include "AvailabilityMacros.h" -#endif -#if defined( __LP64__ ) && \ - ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 ) -#undef FT_MACINTOSH -#endif - -#elif defined( __SC__ ) || defined( __MRC__ ) - /* Classic MacOS compilers */ -#include "ConditionalMacros.h" -#if TARGET_OS_MAC -#define FT_MACINTOSH 1 -#endif - -#endif - - - /* Fix compiler warning with sgi compiler. */ -#if defined( __sgi ) && !defined( __GNUC__ ) -#if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 ) -#pragma set woff 3505 -#endif -#endif - - - /************************************************************************** - * - * @section: - * basic_types - * - */ - - - /************************************************************************** - * - * @type: - * FT_Int16 - * - * @description: - * A typedef for a 16bit signed integer type. - */ - typedef signed short FT_Int16; - - - /************************************************************************** - * - * @type: - * FT_UInt16 - * - * @description: - * A typedef for a 16bit unsigned integer type. - */ - typedef unsigned short FT_UInt16; - - /* */ - - - /* this #if 0 ... #endif clause is for documentation purposes */ -#if 0 - - /************************************************************************** - * - * @type: - * FT_Int32 - * - * @description: - * A typedef for a 32bit signed integer type. The size depends on the - * configuration. - */ - typedef signed XXX FT_Int32; - - - /************************************************************************** - * - * @type: - * FT_UInt32 - * - * A typedef for a 32bit unsigned integer type. The size depends on the - * configuration. - */ - typedef unsigned XXX FT_UInt32; - - - /************************************************************************** - * - * @type: - * FT_Int64 - * - * A typedef for a 64bit signed integer type. The size depends on the - * configuration. Only defined if there is real 64bit support; - * otherwise, it gets emulated with a structure (if necessary). - */ - typedef signed XXX FT_Int64; - - - /************************************************************************** - * - * @type: - * FT_UInt64 - * - * A typedef for a 64bit unsigned integer type. The size depends on the - * configuration. Only defined if there is real 64bit support; - * otherwise, it gets emulated with a structure (if necessary). - */ - typedef unsigned XXX FT_UInt64; - - /* */ - -#endif - -#if FT_SIZEOF_INT == ( 32 / FT_CHAR_BIT ) - - typedef signed int FT_Int32; - typedef unsigned int FT_UInt32; - -#elif FT_SIZEOF_LONG == ( 32 / FT_CHAR_BIT ) - - typedef signed long FT_Int32; - typedef unsigned long FT_UInt32; - -#else -#error "no 32bit type found -- please check your configuration files" -#endif - - - /* look up an integer type that is at least 32~bits */ -#if FT_SIZEOF_INT >= ( 32 / FT_CHAR_BIT ) - - typedef int FT_Fast; - typedef unsigned int FT_UFast; - -#elif FT_SIZEOF_LONG >= ( 32 / FT_CHAR_BIT ) - - typedef long FT_Fast; - typedef unsigned long FT_UFast; - -#endif - - - /* determine whether we have a 64-bit `int` type for platforms without */ - /* Autoconf */ -#if FT_SIZEOF_LONG == ( 64 / FT_CHAR_BIT ) - - /* `FT_LONG64` must be defined if a 64-bit type is available */ -#define FT_LONG64 -#define FT_INT64 long -#define FT_UINT64 unsigned long - - /************************************************************************** - * - * A 64-bit data type may create compilation problems if you compile in - * strict ANSI mode. To avoid them, we disable other 64-bit data types if - * `__STDC__` is defined. You can however ignore this rule by defining the - * `FT_CONFIG_OPTION_FORCE_INT64` configuration macro. - */ -#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 ) - -#if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L - -#define FT_LONG64 -#define FT_INT64 long long int -#define FT_UINT64 unsigned long long int - -#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ - - /* this compiler provides the `__int64` type */ -#define FT_LONG64 -#define FT_INT64 __int64 -#define FT_UINT64 unsigned __int64 - -#elif defined( __BORLANDC__ ) /* Borland C++ */ - - /* XXXX: We should probably check the value of `__BORLANDC__` in order */ - /* to test the compiler version. */ - - /* this compiler provides the `__int64` type */ -#define FT_LONG64 -#define FT_INT64 __int64 -#define FT_UINT64 unsigned __int64 - -#elif defined( __WATCOMC__ ) /* Watcom C++ */ - - /* Watcom doesn't provide 64-bit data types */ - -#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */ - -#define FT_LONG64 -#define FT_INT64 long long int -#define FT_UINT64 unsigned long long int - -#elif defined( __GNUC__ ) - - /* GCC provides the `long long` type */ -#define FT_LONG64 -#define FT_INT64 long long int -#define FT_UINT64 unsigned long long int - -#endif /* __STDC_VERSION__ >= 199901L */ - -#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */ - -#ifdef FT_LONG64 - typedef FT_INT64 FT_Int64; - typedef FT_UINT64 FT_UInt64; -#endif - - -#ifdef _WIN64 - /* only 64bit Windows uses the LLP64 data model, i.e., */ - /* 32bit integers, 64bit pointers */ -#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x) -#else -#define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x) -#endif - - - /************************************************************************** - * - * miscellaneous - * - */ - - -#define FT_BEGIN_STMNT do { -#define FT_END_STMNT } while ( 0 ) -#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT - - - /* `typeof` condition taken from gnulib's `intprops.h` header file */ -#if ( ( defined( __GNUC__ ) && __GNUC__ >= 2 ) || \ - ( defined( __IBMC__ ) && __IBMC__ >= 1210 && \ - defined( __IBM__TYPEOF__ ) ) || \ - ( defined( __SUNPRO_C ) && __SUNPRO_C >= 0x5110 && !__STDC__ ) ) -#define FT_TYPEOF( type ) ( __typeof__ ( type ) ) -#else -#define FT_TYPEOF( type ) /* empty */ -#endif - - - /* Use `FT_LOCAL` and `FT_LOCAL_DEF` to declare and define, */ - /* respectively, a function that gets used only within the scope of a */ - /* module. Normally, both the header and source code files for such a */ - /* function are within a single module directory. */ - /* */ - /* Intra-module arrays should be tagged with `FT_LOCAL_ARRAY` and */ - /* `FT_LOCAL_ARRAY_DEF`. */ - /* */ -#ifdef FT_MAKE_OPTION_SINGLE_OBJECT - -#define FT_LOCAL( x ) static x -#define FT_LOCAL_DEF( x ) static x - -#else - -#ifdef __cplusplus -#define FT_LOCAL( x ) extern "C" x -#define FT_LOCAL_DEF( x ) extern "C" x -#else -#define FT_LOCAL( x ) extern x -#define FT_LOCAL_DEF( x ) x -#endif - -#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */ - -#define FT_LOCAL_ARRAY( x ) extern const x -#define FT_LOCAL_ARRAY_DEF( x ) const x - - - /* Use `FT_BASE` and `FT_BASE_DEF` to declare and define, respectively, */ - /* functions that are used in more than a single module. In the */ - /* current setup this implies that the declaration is in a header file */ - /* in the `include/freetype/internal` directory, and the function body */ - /* is in a file in `src/base`. */ - /* */ -#ifndef FT_BASE - -#ifdef __cplusplus -#define FT_BASE( x ) extern "C" x -#else -#define FT_BASE( x ) extern x -#endif - -#endif /* !FT_BASE */ - - -#ifndef FT_BASE_DEF - -#ifdef __cplusplus -#define FT_BASE_DEF( x ) x -#else -#define FT_BASE_DEF( x ) x -#endif - -#endif /* !FT_BASE_DEF */ - - - /* When compiling FreeType as a DLL or DSO with hidden visibility */ - /* some systems/compilers need a special attribute in front OR after */ - /* the return type of function declarations. */ - /* */ - /* Two macros are used within the FreeType source code to define */ - /* exported library functions: `FT_EXPORT` and `FT_EXPORT_DEF`. */ - /* */ - /* - `FT_EXPORT( return_type )` */ - /* */ - /* is used in a function declaration, as in */ - /* */ - /* ``` */ - /* FT_EXPORT( FT_Error ) */ - /* FT_Init_FreeType( FT_Library* alibrary ); */ - /* ``` */ - /* */ - /* - `FT_EXPORT_DEF( return_type )` */ - /* */ - /* is used in a function definition, as in */ - /* */ - /* ``` */ - /* FT_EXPORT_DEF( FT_Error ) */ - /* FT_Init_FreeType( FT_Library* alibrary ) */ - /* { */ - /* ... some code ... */ - /* return FT_Err_Ok; */ - /* } */ - /* ``` */ - /* */ - /* You can provide your own implementation of `FT_EXPORT` and */ - /* `FT_EXPORT_DEF` here if you want. */ - /* */ - /* To export a variable, use `FT_EXPORT_VAR`. */ - /* */ -#ifndef FT_EXPORT - -#ifdef FT2_BUILD_LIBRARY - -#if defined( _WIN32 ) && defined( DLL_EXPORT ) -#define FT_EXPORT( x ) __declspec( dllexport ) x -#elif defined( __GNUC__ ) && __GNUC__ >= 4 -#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x -#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550 -#define FT_EXPORT( x ) __global x -#elif defined( __cplusplus ) -#define FT_EXPORT( x ) extern "C" x -#else -#define FT_EXPORT( x ) extern x -#endif - -#else - -#if defined( _WIN32 ) && defined( DLL_IMPORT ) -#define FT_EXPORT( x ) __declspec( dllimport ) x -#elif defined( __cplusplus ) -#define FT_EXPORT( x ) extern "C" x -#else -#define FT_EXPORT( x ) extern x -#endif - -#endif - -#endif /* !FT_EXPORT */ - - -#ifndef FT_EXPORT_DEF - -#ifdef __cplusplus -#define FT_EXPORT_DEF( x ) extern "C" x -#else -#define FT_EXPORT_DEF( x ) extern x -#endif - -#endif /* !FT_EXPORT_DEF */ - - -#ifndef FT_EXPORT_VAR - -#ifdef __cplusplus -#define FT_EXPORT_VAR( x ) extern "C" x -#else -#define FT_EXPORT_VAR( x ) extern x -#endif - -#endif /* !FT_EXPORT_VAR */ - - - /* The following macros are needed to compile the library with a */ - /* C++ compiler and with 16bit compilers. */ - /* */ - - /* This is special. Within C++, you must specify `extern "C"` for */ - /* functions which are used via function pointers, and you also */ - /* must do that for structures which contain function pointers to */ - /* assure C linkage -- it's not possible to have (local) anonymous */ - /* functions which are accessed by (global) function pointers. */ - /* */ - /* */ - /* FT_CALLBACK_DEF is used to _define_ a callback function, */ - /* located in the same source code file as the structure that uses */ - /* it. */ - /* */ - /* FT_BASE_CALLBACK and FT_BASE_CALLBACK_DEF are used to declare */ - /* and define a callback function, respectively, in a similar way */ - /* as FT_BASE and FT_BASE_DEF work. */ - /* */ - /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */ - /* contains pointers to callback functions. */ - /* */ - /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */ - /* that contains pointers to callback functions. */ - /* */ - /* */ - /* Some 16bit compilers have to redefine these macros to insert */ - /* the infamous `_cdecl` or `__fastcall` declarations. */ - /* */ -#ifndef FT_CALLBACK_DEF -#ifdef __cplusplus -#define FT_CALLBACK_DEF( x ) extern "C" x -#else -#define FT_CALLBACK_DEF( x ) static x -#endif -#endif /* FT_CALLBACK_DEF */ - -#ifndef FT_BASE_CALLBACK -#ifdef __cplusplus -#define FT_BASE_CALLBACK( x ) extern "C" x -#define FT_BASE_CALLBACK_DEF( x ) extern "C" x -#else -#define FT_BASE_CALLBACK( x ) extern x -#define FT_BASE_CALLBACK_DEF( x ) x -#endif -#endif /* FT_BASE_CALLBACK */ - -#ifndef FT_CALLBACK_TABLE -#ifdef __cplusplus -#define FT_CALLBACK_TABLE extern "C" -#define FT_CALLBACK_TABLE_DEF extern "C" -#else -#define FT_CALLBACK_TABLE extern -#define FT_CALLBACK_TABLE_DEF /* nothing */ -#endif -#endif /* FT_CALLBACK_TABLE */ - - -FT_END_HEADER - - -#endif /* FTCONFIG_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/config/ftheader.h b/FreeType/include/freetype/config/ftheader.h deleted file mode 100644 index 696d6ba..0000000 --- a/FreeType/include/freetype/config/ftheader.h +++ /dev/null @@ -1,814 +0,0 @@ -/**************************************************************************** - * - * ftheader.h - * - * Build macros of the FreeType 2 library. - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - -#ifndef FTHEADER_H_ -#define FTHEADER_H_ - - - /*@***********************************************************************/ - /* */ - /* */ - /* FT_BEGIN_HEADER */ - /* */ - /* */ - /* This macro is used in association with @FT_END_HEADER in header */ - /* files to ensure that the declarations within are properly */ - /* encapsulated in an `extern "C" { .. }` block when included from a */ - /* C++ compiler. */ - /* */ -#ifdef __cplusplus -#define FT_BEGIN_HEADER extern "C" { -#else -#define FT_BEGIN_HEADER /* nothing */ -#endif - - - /*@***********************************************************************/ - /* */ - /* */ - /* FT_END_HEADER */ - /* */ - /* */ - /* This macro is used in association with @FT_BEGIN_HEADER in header */ - /* files to ensure that the declarations within are properly */ - /* encapsulated in an `extern "C" { .. }` block when included from a */ - /* C++ compiler. */ - /* */ -#ifdef __cplusplus -#define FT_END_HEADER } -#else -#define FT_END_HEADER /* nothing */ -#endif - - - /************************************************************************** - * - * Aliases for the FreeType 2 public and configuration files. - * - */ - - /************************************************************************** - * - * @section: - * header_file_macros - * - * @title: - * Header File Macros - * - * @abstract: - * Macro definitions used to `#include` specific header files. - * - * @description: - * The following macros are defined to the name of specific FreeType~2 - * header files. They can be used directly in `#include` statements as - * in: - * - * ``` - * #include FT_FREETYPE_H - * #include FT_MULTIPLE_MASTERS_H - * #include FT_GLYPH_H - * ``` - * - * There are several reasons why we are now using macros to name public - * header files. The first one is that such macros are not limited to - * the infamous 8.3~naming rule required by DOS (and - * `FT_MULTIPLE_MASTERS_H` is a lot more meaningful than `ftmm.h`). - * - * The second reason is that it allows for more flexibility in the way - * FreeType~2 is installed on a given system. - * - */ - - - /* configuration files */ - - /************************************************************************** - * - * @macro: - * FT_CONFIG_CONFIG_H - * - * @description: - * A macro used in `#include` statements to name the file containing - * FreeType~2 configuration data. - * - */ -#ifndef FT_CONFIG_CONFIG_H -#define FT_CONFIG_CONFIG_H -#endif - - - /************************************************************************** - * - * @macro: - * FT_CONFIG_STANDARD_LIBRARY_H - * - * @description: - * A macro used in `#include` statements to name the file containing - * FreeType~2 interface to the standard C library functions. - * - */ -#ifndef FT_CONFIG_STANDARD_LIBRARY_H -#define FT_CONFIG_STANDARD_LIBRARY_H -#endif - - - /************************************************************************** - * - * @macro: - * FT_CONFIG_OPTIONS_H - * - * @description: - * A macro used in `#include` statements to name the file containing - * FreeType~2 project-specific configuration options. - * - */ -#ifndef FT_CONFIG_OPTIONS_H -#define FT_CONFIG_OPTIONS_H -#endif - - - /************************************************************************** - * - * @macro: - * FT_CONFIG_MODULES_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * list of FreeType~2 modules that are statically linked to new library - * instances in @FT_Init_FreeType. - * - */ -#ifndef FT_CONFIG_MODULES_H -#define FT_CONFIG_MODULES_H -#endif - - /* */ - - /* public headers */ - - /************************************************************************** - * - * @macro: - * FT_FREETYPE_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * base FreeType~2 API. - * - */ -#define FT_FREETYPE_H - - - /************************************************************************** - * - * @macro: - * FT_ERRORS_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * list of FreeType~2 error codes (and messages). - * - * It is included by @FT_FREETYPE_H. - * - */ -#define FT_ERRORS_H - - - /************************************************************************** - * - * @macro: - * FT_MODULE_ERRORS_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * list of FreeType~2 module error offsets (and messages). - * - */ -#define FT_MODULE_ERRORS_H - - - /************************************************************************** - * - * @macro: - * FT_SYSTEM_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 interface to low-level operations (i.e., memory management - * and stream i/o). - * - * It is included by @FT_FREETYPE_H. - * - */ -#define FT_SYSTEM_H - - - /************************************************************************** - * - * @macro: - * FT_IMAGE_H - * - * @description: - * A macro used in `#include` statements to name the file containing type - * definitions related to glyph images (i.e., bitmaps, outlines, - * scan-converter parameters). - * - * It is included by @FT_FREETYPE_H. - * - */ -#define FT_IMAGE_H - - - /************************************************************************** - * - * @macro: - * FT_TYPES_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * basic data types defined by FreeType~2. - * - * It is included by @FT_FREETYPE_H. - * - */ -#define FT_TYPES_H - - - /************************************************************************** - * - * @macro: - * FT_LIST_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * list management API of FreeType~2. - * - * (Most applications will never need to include this file.) - * - */ -#define FT_LIST_H - - - /************************************************************************** - * - * @macro: - * FT_OUTLINE_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * scalable outline management API of FreeType~2. - * - */ -#define FT_OUTLINE_H - - - /************************************************************************** - * - * @macro: - * FT_SIZES_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * API which manages multiple @FT_Size objects per face. - * - */ -#define FT_SIZES_H - - - /************************************************************************** - * - * @macro: - * FT_MODULE_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * module management API of FreeType~2. - * - */ -#define FT_MODULE_H - - - /************************************************************************** - * - * @macro: - * FT_RENDER_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * renderer module management API of FreeType~2. - * - */ -#define FT_RENDER_H - - - /************************************************************************** - * - * @macro: - * FT_DRIVER_H - * - * @description: - * A macro used in `#include` statements to name the file containing - * structures and macros related to the driver modules. - * - */ -#define FT_DRIVER_H - - - /************************************************************************** - * - * @macro: - * FT_AUTOHINTER_H - * - * @description: - * A macro used in `#include` statements to name the file containing - * structures and macros related to the auto-hinting module. - * - * Deprecated since version~2.9; use @FT_DRIVER_H instead. - * - */ -#define FT_AUTOHINTER_H FT_DRIVER_H - - - /************************************************************************** - * - * @macro: - * FT_CFF_DRIVER_H - * - * @description: - * A macro used in `#include` statements to name the file containing - * structures and macros related to the CFF driver module. - * - * Deprecated since version~2.9; use @FT_DRIVER_H instead. - * - */ -#define FT_CFF_DRIVER_H FT_DRIVER_H - - - /************************************************************************** - * - * @macro: - * FT_TRUETYPE_DRIVER_H - * - * @description: - * A macro used in `#include` statements to name the file containing - * structures and macros related to the TrueType driver module. - * - * Deprecated since version~2.9; use @FT_DRIVER_H instead. - * - */ -#define FT_TRUETYPE_DRIVER_H FT_DRIVER_H - - - /************************************************************************** - * - * @macro: - * FT_PCF_DRIVER_H - * - * @description: - * A macro used in `#include` statements to name the file containing - * structures and macros related to the PCF driver module. - * - * Deprecated since version~2.9; use @FT_DRIVER_H instead. - * - */ -#define FT_PCF_DRIVER_H FT_DRIVER_H - - - /************************************************************************** - * - * @macro: - * FT_TYPE1_TABLES_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * types and API specific to the Type~1 format. - * - */ -#define FT_TYPE1_TABLES_H - - - /************************************************************************** - * - * @macro: - * FT_TRUETYPE_IDS_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * enumeration values which identify name strings, languages, encodings, - * etc. This file really contains a _large_ set of constant macro - * definitions, taken from the TrueType and OpenType specifications. - * - */ -#define FT_TRUETYPE_IDS_H - - - /************************************************************************** - * - * @macro: - * FT_TRUETYPE_TABLES_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * types and API specific to the TrueType (as well as OpenType) format. - * - */ -#define FT_TRUETYPE_TABLES_H - - - /************************************************************************** - * - * @macro: - * FT_TRUETYPE_TAGS_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * definitions of TrueType four-byte 'tags' which identify blocks in - * SFNT-based font formats (i.e., TrueType and OpenType). - * - */ -#define FT_TRUETYPE_TAGS_H - - - /************************************************************************** - * - * @macro: - * FT_BDF_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * definitions of an API which accesses BDF-specific strings from a face. - * - */ -#define FT_BDF_H - - - /************************************************************************** - * - * @macro: - * FT_CID_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * definitions of an API which access CID font information from a face. - * - */ -#define FT_CID_H - - - /************************************************************************** - * - * @macro: - * FT_GZIP_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * definitions of an API which supports gzip-compressed files. - * - */ -#define FT_GZIP_H - - - /************************************************************************** - * - * @macro: - * FT_LZW_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * definitions of an API which supports LZW-compressed files. - * - */ -#define FT_LZW_H - - - /************************************************************************** - * - * @macro: - * FT_BZIP2_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * definitions of an API which supports bzip2-compressed files. - * - */ -#define FT_BZIP2_H - - - /************************************************************************** - * - * @macro: - * FT_WINFONTS_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * definitions of an API which supports Windows FNT files. - * - */ -#define FT_WINFONTS_H - - - /************************************************************************** - * - * @macro: - * FT_GLYPH_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * API of the optional glyph management component. - * - */ -#define FT_GLYPH_H - - - /************************************************************************** - * - * @macro: - * FT_BITMAP_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * API of the optional bitmap conversion component. - * - */ -#define FT_BITMAP_H - - - /************************************************************************** - * - * @macro: - * FT_BBOX_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * API of the optional exact bounding box computation routines. - * - */ -#define FT_BBOX_H - - - /************************************************************************** - * - * @macro: - * FT_CACHE_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * API of the optional FreeType~2 cache sub-system. - * - */ -#define FT_CACHE_H - - - /************************************************************************** - * - * @macro: - * FT_MAC_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * Macintosh-specific FreeType~2 API. The latter is used to access fonts - * embedded in resource forks. - * - * This header file must be explicitly included by client applications - * compiled on the Mac (note that the base API still works though). - * - */ -#define FT_MAC_H - - - /************************************************************************** - * - * @macro: - * FT_MULTIPLE_MASTERS_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * optional multiple-masters management API of FreeType~2. - * - */ -#define FT_MULTIPLE_MASTERS_H - - - /************************************************************************** - * - * @macro: - * FT_SFNT_NAMES_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * optional FreeType~2 API which accesses embedded 'name' strings in - * SFNT-based font formats (i.e., TrueType and OpenType). - * - */ -#define FT_SFNT_NAMES_H - - - /************************************************************************** - * - * @macro: - * FT_OPENTYPE_VALIDATE_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * optional FreeType~2 API which validates OpenType tables ('BASE', - * 'GDEF', 'GPOS', 'GSUB', 'JSTF'). - * - */ -#define FT_OPENTYPE_VALIDATE_H - - - /************************************************************************** - * - * @macro: - * FT_GX_VALIDATE_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * optional FreeType~2 API which validates TrueTypeGX/AAT tables ('feat', - * 'mort', 'morx', 'bsln', 'just', 'kern', 'opbd', 'trak', 'prop'). - * - */ -#define FT_GX_VALIDATE_H - - - /************************************************************************** - * - * @macro: - * FT_PFR_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which accesses PFR-specific data. - * - */ -#define FT_PFR_H - - - /************************************************************************** - * - * @macro: - * FT_STROKER_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which provides functions to stroke outline paths. - */ -#define FT_STROKER_H - - - /************************************************************************** - * - * @macro: - * FT_SYNTHESIS_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which performs artificial obliquing and emboldening. - */ -#define FT_SYNTHESIS_H - - - /************************************************************************** - * - * @macro: - * FT_FONT_FORMATS_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which provides functions specific to font formats. - */ -#define FT_FONT_FORMATS_H - - /* deprecated */ -#define FT_XFREE86_H FT_FONT_FORMATS_H - - - /************************************************************************** - * - * @macro: - * FT_TRIGONOMETRY_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which performs trigonometric computations (e.g., - * cosines and arc tangents). - */ -#define FT_TRIGONOMETRY_H - - - /************************************************************************** - * - * @macro: - * FT_LCD_FILTER_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which performs color filtering for subpixel rendering. - */ -#define FT_LCD_FILTER_H - - - /************************************************************************** - * - * @macro: - * FT_INCREMENTAL_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which performs incremental glyph loading. - */ -#define FT_INCREMENTAL_H - - - /************************************************************************** - * - * @macro: - * FT_GASP_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which returns entries from the TrueType GASP table. - */ -#define FT_GASP_H - - - /************************************************************************** - * - * @macro: - * FT_ADVANCES_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which returns individual and ranged glyph advances. - */ -#define FT_ADVANCES_H - - - /************************************************************************** - * - * @macro: - * FT_COLOR_H - * - * @description: - * A macro used in `#include` statements to name the file containing the - * FreeType~2 API which handles the OpenType 'CPAL' table. - */ -#define FT_COLOR_H - - - /* */ - - /* These header files don't need to be included by the user. */ -#define FT_ERROR_DEFINITIONS_H -#define FT_PARAMETER_TAGS_H - - /* Deprecated macros. */ -#define FT_UNPATENTED_HINTING_H -#define FT_TRUETYPE_UNPATENTED_H - - /* `FT_CACHE_H` is the only header file needed for the cache subsystem. */ -#define FT_CACHE_IMAGE_H FT_CACHE_H -#define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H -#define FT_CACHE_CHARMAP_H FT_CACHE_H - - /* The internals of the cache sub-system are no longer exposed. We */ - /* default to `FT_CACHE_H` at the moment just in case, but we know */ - /* of no rogue client that uses them. */ - /* */ -#define FT_CACHE_MANAGER_H FT_CACHE_H -#define FT_CACHE_INTERNAL_MRU_H FT_CACHE_H -#define FT_CACHE_INTERNAL_MANAGER_H FT_CACHE_H -#define FT_CACHE_INTERNAL_CACHE_H FT_CACHE_H -#define FT_CACHE_INTERNAL_GLYPH_H FT_CACHE_H -#define FT_CACHE_INTERNAL_IMAGE_H FT_CACHE_H -#define FT_CACHE_INTERNAL_SBITS_H FT_CACHE_H - - - /* - * Include internal headers definitions from `` only when - * building the library. - */ -#ifdef FT2_BUILD_LIBRARY -#define FT_INTERNAL_INTERNAL_H -#include FT_INTERNAL_INTERNAL_H -#endif /* FT2_BUILD_LIBRARY */ - - -#endif /* FTHEADER_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/config/ftmodule.h b/FreeType/include/freetype/config/ftmodule.h deleted file mode 100644 index 7c603e5..0000000 --- a/FreeType/include/freetype/config/ftmodule.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * This file registers the FreeType modules compiled into the library. - * - * If you use GNU make, this file IS NOT USED! Instead, it is created in - * the objects directory (normally `/objs/`) based on information - * from `/modules.cfg`. - * - * Please read `docs/INSTALL.ANY` and `docs/CUSTOMIZE` how to compile - * FreeType without GNU make. - * - */ - -FT_USE_MODULE( FT_Module_Class, autofit_module_class ) -FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) -FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) -FT_USE_MODULE( FT_Module_Class, psaux_module_class ) -FT_USE_MODULE( FT_Module_Class, psnames_module_class ) -FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) -FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) -FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) -FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) -FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class ) -FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class ) -FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) - -/* EOF */ diff --git a/FreeType/include/freetype/config/ftoption.h b/FreeType/include/freetype/config/ftoption.h deleted file mode 100644 index 7dc984b..0000000 --- a/FreeType/include/freetype/config/ftoption.h +++ /dev/null @@ -1,982 +0,0 @@ -/**************************************************************************** - * - * ftoption.h - * - * User-selectable configuration macros (specification only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTOPTION_H_ -#define FTOPTION_H_ - - -#include - - -FT_BEGIN_HEADER - - /************************************************************************** - * - * USER-SELECTABLE CONFIGURATION MACROS - * - * This file contains the default configuration macro definitions for a - * standard build of the FreeType library. There are three ways to use - * this file to build project-specific versions of the library: - * - * - You can modify this file by hand, but this is not recommended in - * cases where you would like to build several versions of the library - * from a single source directory. - * - * - You can put a copy of this file in your build directory, more - * precisely in `$BUILD/freetype/config/ftoption.h`, where `$BUILD` is - * the name of a directory that is included _before_ the FreeType include - * path during compilation. - * - * The default FreeType Makefiles and Jamfiles use the build directory - * `builds/` by default, but you can easily change that for your - * own projects. - * - * - Copy the file to `$BUILD/ft2build.h` and modify it - * slightly to pre-define the macro `FT_CONFIG_OPTIONS_H` used to locate - * this file during the build. For example, - * - * ``` - * #define FT_CONFIG_OPTIONS_H - * #include - * ``` - * - * will use `$BUILD/myftoptions.h` instead of this file for macro - * definitions. - * - * Note also that you can similarly pre-define the macro - * `FT_CONFIG_MODULES_H` used to locate the file listing of the modules - * that are statically linked to the library at compile time. By - * default, this file is ``. - * - * We highly recommend using the third method whenever possible. - * - */ - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - - /*#************************************************************************ - * - * If you enable this configuration option, FreeType recognizes an - * environment variable called `FREETYPE_PROPERTIES`, which can be used to - * control the various font drivers and modules. The controllable - * properties are listed in the section @properties. - * - * You have to undefine this configuration option on platforms that lack - * the concept of environment variables (and thus don't have the `getenv` - * function), for example Windows CE. - * - * `FREETYPE_PROPERTIES` has the following syntax form (broken here into - * multiple lines for better readability). - * - * ``` - * - * ':' - * '=' - * - * ':' - * '=' - * ... - * ``` - * - * Example: - * - * ``` - * FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ - * cff:no-stem-darkening=1 \ - * autofitter:warping=1 - * ``` - * - */ -#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES - - - /************************************************************************** - * - * Uncomment the line below if you want to activate LCD rendering - * technology similar to ClearType in this build of the library. This - * technology triples the resolution in the direction color subpixels. To - * mitigate color fringes inherent to this technology, you also need to - * explicitly set up LCD filtering. - * - * Note that this feature is covered by several Microsoft patents and - * should not be activated in any default build of the library. When this - * macro is not defined, FreeType offers alternative LCD rendering - * technology that produces excellent output without LCD filtering. - */ -/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ - - - /************************************************************************** - * - * Many compilers provide a non-ANSI 64-bit data type that can be used by - * FreeType to speed up some computations. However, this will create some - * problems when compiling the library in strict ANSI mode. - * - * For this reason, the use of 64-bit integers is normally disabled when - * the `__STDC__` macro is defined. You can however disable this by - * defining the macro `FT_CONFIG_OPTION_FORCE_INT64` here. - * - * For most compilers, this will only create compilation warnings when - * building the library. - * - * ObNote: The compiler-specific 64-bit integers are detected in the - * file `ftconfig.h` either statically or through the `configure` - * script on supported platforms. - */ -#undef FT_CONFIG_OPTION_FORCE_INT64 - - - /************************************************************************** - * - * If this macro is defined, do not try to use an assembler version of - * performance-critical functions (e.g., @FT_MulFix). You should only do - * that to verify that the assembler function works properly, or to execute - * benchmark tests of the various implementations. - */ -/* #define FT_CONFIG_OPTION_NO_ASSEMBLER */ - - - /************************************************************************** - * - * If this macro is defined, try to use an inlined assembler version of the - * @FT_MulFix function, which is a 'hotspot' when loading and hinting - * glyphs, and which should be executed as fast as possible. - * - * Note that if your compiler or CPU is not supported, this will default to - * the standard and portable implementation found in `ftcalc.c`. - */ -#define FT_CONFIG_OPTION_INLINE_MULFIX - - - /************************************************************************** - * - * LZW-compressed file support. - * - * FreeType now handles font files that have been compressed with the - * `compress` program. This is mostly used to parse many of the PCF - * files that come with various X11 distributions. The implementation - * uses NetBSD's `zopen` to partially uncompress the file on the fly (see - * `src/lzw/ftgzip.c`). - * - * Define this macro if you want to enable this 'feature'. - */ -#define FT_CONFIG_OPTION_USE_LZW - - - /************************************************************************** - * - * Gzip-compressed file support. - * - * FreeType now handles font files that have been compressed with the - * `gzip` program. This is mostly used to parse many of the PCF files - * that come with XFree86. The implementation uses 'zlib' to partially - * uncompress the file on the fly (see `src/gzip/ftgzip.c`). - * - * Define this macro if you want to enable this 'feature'. See also the - * macro `FT_CONFIG_OPTION_SYSTEM_ZLIB` below. - */ -#define FT_CONFIG_OPTION_USE_ZLIB - - - /************************************************************************** - * - * ZLib library selection - * - * This macro is only used when `FT_CONFIG_OPTION_USE_ZLIB` is defined. - * It allows FreeType's 'ftgzip' component to link to the system's - * installation of the ZLib library. This is useful on systems like - * Unix or VMS where it generally is already available. - * - * If you let it undefined, the component will use its own copy of the - * zlib sources instead. These have been modified to be included - * directly within the component and **not** export external function - * names. This allows you to link any program with FreeType _and_ ZLib - * without linking conflicts. - * - * Do not `#undef` this macro here since the build system might define - * it for certain configurations only. - * - * If you use a build system like cmake or the `configure` script, - * options set by those programs have precedence, overwriting the value - * here with the configured one. - */ -/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */ - - - /************************************************************************** - * - * Bzip2-compressed file support. - * - * FreeType now handles font files that have been compressed with the - * `bzip2` program. This is mostly used to parse many of the PCF files - * that come with XFree86. The implementation uses `libbz2` to partially - * uncompress the file on the fly (see `src/bzip2/ftbzip2.c`). Contrary - * to gzip, bzip2 currently is not included and need to use the system - * available bzip2 implementation. - * - * Define this macro if you want to enable this 'feature'. - * - * If you use a build system like cmake or the `configure` script, - * options set by those programs have precedence, overwriting the value - * here with the configured one. - */ -/* #define FT_CONFIG_OPTION_USE_BZIP2 */ - - - /************************************************************************** - * - * Define to disable the use of file stream functions and types, `FILE`, - * `fopen`, etc. Enables the use of smaller system libraries on embedded - * systems that have multiple system libraries, some with or without file - * stream support, in the cases where file stream support is not necessary - * such as memory loading of font files. - */ -/* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */ - - - /************************************************************************** - * - * PNG bitmap support. - * - * FreeType now handles loading color bitmap glyphs in the PNG format. - * This requires help from the external libpng library. Uncompressed - * color bitmaps do not need any external libraries and will be supported - * regardless of this configuration. - * - * Define this macro if you want to enable this 'feature'. - * - * If you use a build system like cmake or the `configure` script, - * options set by those programs have precedence, overwriting the value - * here with the configured one. - */ -/* #define FT_CONFIG_OPTION_USE_PNG */ - - - /************************************************************************** - * - * HarfBuzz support. - * - * FreeType uses the HarfBuzz library to improve auto-hinting of OpenType - * fonts. If available, many glyphs not directly addressable by a font's - * character map will be hinted also. - * - * Define this macro if you want to enable this 'feature'. - * - * If you use a build system like cmake or the `configure` script, - * options set by those programs have precedence, overwriting the value - * here with the configured one. - */ -/* #define FT_CONFIG_OPTION_USE_HARFBUZZ */ - - - /************************************************************************** - * - * Glyph Postscript Names handling - * - * By default, FreeType 2 is compiled with the 'psnames' module. This - * module is in charge of converting a glyph name string into a Unicode - * value, or return a Macintosh standard glyph name for the use with the - * TrueType 'post' table. - * - * Undefine this macro if you do not want 'psnames' compiled in your - * build of FreeType. This has the following effects: - * - * - The TrueType driver will provide its own set of glyph names, if you - * build it to support postscript names in the TrueType 'post' table, - * but will not synthesize a missing Unicode charmap. - * - * - The Type~1 driver will not be able to synthesize a Unicode charmap - * out of the glyphs found in the fonts. - * - * You would normally undefine this configuration macro when building a - * version of FreeType that doesn't contain a Type~1 or CFF driver. - */ -#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES - - - /************************************************************************** - * - * Postscript Names to Unicode Values support - * - * By default, FreeType~2 is built with the 'psnames' module compiled in. - * Among other things, the module is used to convert a glyph name into a - * Unicode value. This is especially useful in order to synthesize on - * the fly a Unicode charmap from the CFF/Type~1 driver through a big - * table named the 'Adobe Glyph List' (AGL). - * - * Undefine this macro if you do not want the Adobe Glyph List compiled - * in your 'psnames' module. The Type~1 driver will not be able to - * synthesize a Unicode charmap out of the glyphs found in the fonts. - */ -#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST - - - /************************************************************************** - * - * Support for Mac fonts - * - * Define this macro if you want support for outline fonts in Mac format - * (mac dfont, mac resource, macbinary containing a mac resource) on - * non-Mac platforms. - * - * Note that the 'FOND' resource isn't checked. - */ -#define FT_CONFIG_OPTION_MAC_FONTS - - - /************************************************************************** - * - * Guessing methods to access embedded resource forks - * - * Enable extra Mac fonts support on non-Mac platforms (e.g., GNU/Linux). - * - * Resource forks which include fonts data are stored sometimes in - * locations which users or developers don't expected. In some cases, - * resource forks start with some offset from the head of a file. In - * other cases, the actual resource fork is stored in file different from - * what the user specifies. If this option is activated, FreeType tries - * to guess whether such offsets or different file names must be used. - * - * Note that normal, direct access of resource forks is controlled via - * the `FT_CONFIG_OPTION_MAC_FONTS` option. - */ -#ifdef FT_CONFIG_OPTION_MAC_FONTS -#define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK -#endif - - - /************************************************************************** - * - * Allow the use of `FT_Incremental_Interface` to load typefaces that - * contain no glyph data, but supply it via a callback function. This is - * required by clients supporting document formats which supply font data - * incrementally as the document is parsed, such as the Ghostscript - * interpreter for the PostScript language. - */ -#define FT_CONFIG_OPTION_INCREMENTAL - - - /************************************************************************** - * - * The size in bytes of the render pool used by the scan-line converter to - * do all of its work. - */ -#define FT_RENDER_POOL_SIZE 16384L - - - /************************************************************************** - * - * FT_MAX_MODULES - * - * The maximum number of modules that can be registered in a single - * FreeType library object. 32~is the default. - */ -#define FT_MAX_MODULES 32 - - - /************************************************************************** - * - * Debug level - * - * FreeType can be compiled in debug or trace mode. In debug mode, - * errors are reported through the 'ftdebug' component. In trace mode, - * additional messages are sent to the standard output during execution. - * - * Define `FT_DEBUG_LEVEL_ERROR` to build the library in debug mode. - * Define `FT_DEBUG_LEVEL_TRACE` to build it in trace mode. - * - * Don't define any of these macros to compile in 'release' mode! - * - * Do not `#undef` these macros here since the build system might define - * them for certain configurations only. - */ -/* #define FT_DEBUG_LEVEL_ERROR */ -/* #define FT_DEBUG_LEVEL_TRACE */ - - - /************************************************************************** - * - * Autofitter debugging - * - * If `FT_DEBUG_AUTOFIT` is defined, FreeType provides some means to - * control the autofitter behaviour for debugging purposes with global - * boolean variables (consequently, you should **never** enable this - * while compiling in 'release' mode): - * - * ``` - * _af_debug_disable_horz_hints - * _af_debug_disable_vert_hints - * _af_debug_disable_blue_hints - * ``` - * - * Additionally, the following functions provide dumps of various - * internal autofit structures to stdout (using `printf`): - * - * ``` - * af_glyph_hints_dump_points - * af_glyph_hints_dump_segments - * af_glyph_hints_dump_edges - * af_glyph_hints_get_num_segments - * af_glyph_hints_get_segment_offset - * ``` - * - * As an argument, they use another global variable: - * - * ``` - * _af_debug_hints - * ``` - * - * Please have a look at the `ftgrid` demo program to see how those - * variables and macros should be used. - * - * Do not `#undef` these macros here since the build system might define - * them for certain configurations only. - */ -/* #define FT_DEBUG_AUTOFIT */ - - - /************************************************************************** - * - * Memory Debugging - * - * FreeType now comes with an integrated memory debugger that is capable - * of detecting simple errors like memory leaks or double deletes. To - * compile it within your build of the library, you should define - * `FT_DEBUG_MEMORY` here. - * - * Note that the memory debugger is only activated at runtime when when - * the _environment_ variable `FT2_DEBUG_MEMORY` is defined also! - * - * Do not `#undef` this macro here since the build system might define it - * for certain configurations only. - */ -/* #define FT_DEBUG_MEMORY */ - - - /************************************************************************** - * - * Module errors - * - * If this macro is set (which is _not_ the default), the higher byte of - * an error code gives the module in which the error has occurred, while - * the lower byte is the real error code. - * - * Setting this macro makes sense for debugging purposes only, since it - * would break source compatibility of certain programs that use - * FreeType~2. - * - * More details can be found in the files `ftmoderr.h` and `fterrors.h`. - */ -#undef FT_CONFIG_OPTION_USE_MODULE_ERRORS - - - /************************************************************************** - * - * Error Strings - * - * If this macro is set, `FT_Error_String` will return meaningful - * descriptions. This is not enabled by default to reduce the overall - * size of FreeType. - * - * More details can be found in the file `fterrors.h`. - */ -#define FT_CONFIG_OPTION_ERROR_STRINGS - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** S F N T D R I V E R C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * Define `TT_CONFIG_OPTION_EMBEDDED_BITMAPS` if you want to support - * embedded bitmaps in all formats using the 'sfnt' module (namely - * TrueType~& OpenType). - */ -#define TT_CONFIG_OPTION_EMBEDDED_BITMAPS - - - /************************************************************************** - * - * Define `TT_CONFIG_OPTION_COLOR_LAYERS` if you want to support coloured - * outlines (from the 'COLR'/'CPAL' tables) in all formats using the 'sfnt' - * module (namely TrueType~& OpenType). - */ -#define TT_CONFIG_OPTION_COLOR_LAYERS - - - /************************************************************************** - * - * Define `TT_CONFIG_OPTION_POSTSCRIPT_NAMES` if you want to be able to - * load and enumerate the glyph Postscript names in a TrueType or OpenType - * file. - * - * Note that when you do not compile the 'psnames' module by undefining the - * above `FT_CONFIG_OPTION_POSTSCRIPT_NAMES`, the 'sfnt' module will - * contain additional code used to read the PS Names table from a font. - * - * (By default, the module uses 'psnames' to extract glyph names.) - */ -#define TT_CONFIG_OPTION_POSTSCRIPT_NAMES - - - /************************************************************************** - * - * Define `TT_CONFIG_OPTION_SFNT_NAMES` if your applications need to access - * the internal name table in a SFNT-based format like TrueType or - * OpenType. The name table contains various strings used to describe the - * font, like family name, copyright, version, etc. It does not contain - * any glyph name though. - * - * Accessing SFNT names is done through the functions declared in - * `ftsnames.h`. - */ -#define TT_CONFIG_OPTION_SFNT_NAMES - - - /************************************************************************** - * - * TrueType CMap support - * - * Here you can fine-tune which TrueType CMap table format shall be - * supported. - */ -#define TT_CONFIG_CMAP_FORMAT_0 -#define TT_CONFIG_CMAP_FORMAT_2 -#define TT_CONFIG_CMAP_FORMAT_4 -#define TT_CONFIG_CMAP_FORMAT_6 -#define TT_CONFIG_CMAP_FORMAT_8 -#define TT_CONFIG_CMAP_FORMAT_10 -#define TT_CONFIG_CMAP_FORMAT_12 -#define TT_CONFIG_CMAP_FORMAT_13 -#define TT_CONFIG_CMAP_FORMAT_14 - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** T R U E T Y P E D R I V E R C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - /************************************************************************** - * - * Define `TT_CONFIG_OPTION_BYTECODE_INTERPRETER` if you want to compile a - * bytecode interpreter in the TrueType driver. - * - * By undefining this, you will only compile the code necessary to load - * TrueType glyphs without hinting. - * - * Do not `#undef` this macro here, since the build system might define it - * for certain configurations only. - */ -#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER - - - /************************************************************************** - * - * Define `TT_CONFIG_OPTION_SUBPIXEL_HINTING` if you want to compile - * subpixel hinting support into the TrueType driver. This modifies the - * TrueType hinting mechanism when anything but `FT_RENDER_MODE_MONO` is - * requested. - * - * In particular, it modifies the bytecode interpreter to interpret (or - * not) instructions in a certain way so that all TrueType fonts look like - * they do in a Windows ClearType (DirectWrite) environment. See [1] for a - * technical overview on what this means. See `ttinterp.h` for more - * details on the LEAN option. - * - * There are three possible values. - * - * Value 1: - * This value is associated with the 'Infinality' moniker, contributed by - * an individual nicknamed Infinality with the goal of making TrueType - * fonts render better than on Windows. A high amount of configurability - * and flexibility, down to rules for single glyphs in fonts, but also - * very slow. Its experimental and slow nature and the original - * developer losing interest meant that this option was never enabled in - * default builds. - * - * The corresponding interpreter version is v38. - * - * Value 2: - * The new default mode for the TrueType driver. The Infinality code - * base was stripped to the bare minimum and all configurability removed - * in the name of speed and simplicity. The configurability was mainly - * aimed at legacy fonts like 'Arial', 'Times New Roman', or 'Courier'. - * Legacy fonts are fonts that modify vertical stems to achieve clean - * black-and-white bitmaps. The new mode focuses on applying a minimal - * set of rules to all fonts indiscriminately so that modern and web - * fonts render well while legacy fonts render okay. - * - * The corresponding interpreter version is v40. - * - * Value 3: - * Compile both, making both v38 and v40 available (the latter is the - * default). - * - * By undefining these, you get rendering behavior like on Windows without - * ClearType, i.e., Windows XP without ClearType enabled and Win9x - * (interpreter version v35). Or not, depending on how much hinting blood - * and testing tears the font designer put into a given font. If you - * define one or both subpixel hinting options, you can switch between - * between v35 and the ones you define (using `FT_Property_Set`). - * - * This option requires `TT_CONFIG_OPTION_BYTECODE_INTERPRETER` to be - * defined. - * - * [1] - * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx - */ -/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */ -#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 -/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */ - - - /************************************************************************** - * - * Define `TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED` to compile the - * TrueType glyph loader to use Apple's definition of how to handle - * component offsets in composite glyphs. - * - * Apple and MS disagree on the default behavior of component offsets in - * composites. Apple says that they should be scaled by the scaling - * factors in the transformation matrix (roughly, it's more complex) while - * MS says they should not. OpenType defines two bits in the composite - * flags array which can be used to disambiguate, but old fonts will not - * have them. - * - * https://www.microsoft.com/typography/otspec/glyf.htm - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html - */ -#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED - - - /************************************************************************** - * - * Define `TT_CONFIG_OPTION_GX_VAR_SUPPORT` if you want to include support - * for Apple's distortable font technology ('fvar', 'gvar', 'cvar', and - * 'avar' tables). Tagged 'Font Variations', this is now part of OpenType - * also. This has many similarities to Type~1 Multiple Masters support. - */ -#define TT_CONFIG_OPTION_GX_VAR_SUPPORT - - - /************************************************************************** - * - * Define `TT_CONFIG_OPTION_BDF` if you want to include support for an - * embedded 'BDF~' table within SFNT-based bitmap formats. - */ -#define TT_CONFIG_OPTION_BDF - - - /************************************************************************** - * - * Option `TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES` controls the maximum - * number of bytecode instructions executed for a single run of the - * bytecode interpreter, needed to prevent infinite loops. You don't want - * to change this except for very special situations (e.g., making a - * library fuzzer spend less time to handle broken fonts). - * - * It is not expected that this value is ever modified by a configuring - * script; instead, it gets surrounded with `#ifndef ... #endif` so that - * the value can be set as a preprocessor option on the compiler's command - * line. - */ -#ifndef TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES -#define TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES 1000000L -#endif - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * `T1_MAX_DICT_DEPTH` is the maximum depth of nest dictionaries and arrays - * in the Type~1 stream (see `t1load.c`). A minimum of~4 is required. - */ -#define T1_MAX_DICT_DEPTH 5 - - - /************************************************************************** - * - * `T1_MAX_SUBRS_CALLS` details the maximum number of nested sub-routine - * calls during glyph loading. - */ -#define T1_MAX_SUBRS_CALLS 16 - - - /************************************************************************** - * - * `T1_MAX_CHARSTRING_OPERANDS` is the charstring stack's capacity. A - * minimum of~16 is required. - * - * The Chinese font 'MingTiEG-Medium' (covering the CNS 11643 character - * set) needs 256. - */ -#define T1_MAX_CHARSTRINGS_OPERANDS 256 - - - /************************************************************************** - * - * Define this configuration macro if you want to prevent the compilation - * of the 't1afm' module, which is in charge of reading Type~1 AFM files - * into an existing face. Note that if set, the Type~1 driver will be - * unable to produce kerning distances. - */ -#undef T1_CONFIG_OPTION_NO_AFM - - - /************************************************************************** - * - * Define this configuration macro if you want to prevent the compilation - * of the Multiple Masters font support in the Type~1 driver. - */ -#undef T1_CONFIG_OPTION_NO_MM_SUPPORT - - - /************************************************************************** - * - * `T1_CONFIG_OPTION_OLD_ENGINE` controls whether the pre-Adobe Type~1 - * engine gets compiled into FreeType. If defined, it is possible to - * switch between the two engines using the `hinting-engine` property of - * the 'type1' driver module. - */ -/* #define T1_CONFIG_OPTION_OLD_ENGINE */ - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** C F F D R I V E R C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * Using `CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}` it is - * possible to set up the default values of the four control points that - * define the stem darkening behaviour of the (new) CFF engine. For more - * details please read the documentation of the `darkening-parameters` - * property (file `ftdriver.h`), which allows the control at run-time. - * - * Do **not** undefine these macros! - */ -#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500 -#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400 - -#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000 -#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275 - -#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667 -#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275 - -#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333 -#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0 - - - /************************************************************************** - * - * `CFF_CONFIG_OPTION_OLD_ENGINE` controls whether the pre-Adobe CFF engine - * gets compiled into FreeType. If defined, it is possible to switch - * between the two engines using the `hinting-engine` property of the 'cff' - * driver module. - */ -/* #define CFF_CONFIG_OPTION_OLD_ENGINE */ - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** P C F D R I V E R C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * There are many PCF fonts just called 'Fixed' which look completely - * different, and which have nothing to do with each other. When selecting - * 'Fixed' in KDE or Gnome one gets results that appear rather random, the - * style changes often if one changes the size and one cannot select some - * fonts at all. This option makes the 'pcf' module prepend the foundry - * name (plus a space) to the family name. - * - * We also check whether we have 'wide' characters; all put together, we - * get family names like 'Sony Fixed' or 'Misc Fixed Wide'. - * - * If this option is activated, it can be controlled with the - * `no-long-family-names` property of the 'pcf' driver module. - */ -/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */ - - - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * Compile 'autofit' module with CJK (Chinese, Japanese, Korean) script - * support. - */ -#define AF_CONFIG_OPTION_CJK - - - /************************************************************************** - * - * Compile 'autofit' module with fallback Indic script support, covering - * some scripts that the 'latin' submodule of the 'autofit' module doesn't - * (yet) handle. - */ -#define AF_CONFIG_OPTION_INDIC - - - /************************************************************************** - * - * Compile 'autofit' module with warp hinting. The idea of the warping - * code is to slightly scale and shift a glyph within a single dimension so - * that as much of its segments are aligned (more or less) on the grid. To - * find out the optimal scaling and shifting value, various parameter - * combinations are tried and scored. - * - * You can switch warping on and off with the `warping` property of the - * auto-hinter (see file `ftdriver.h` for more information; by default it - * is switched off). - * - * This experimental option is not active if the rendering mode is - * `FT_RENDER_MODE_LIGHT`. - */ -#define AF_CONFIG_OPTION_USE_WARPER - - - /************************************************************************** - * - * Use TrueType-like size metrics for 'light' auto-hinting. - * - * It is strongly recommended to avoid this option, which exists only to - * help some legacy applications retain its appearance and behaviour with - * respect to auto-hinted TrueType fonts. - * - * The very reason this option exists at all are GNU/Linux distributions - * like Fedora that did not un-patch the following change (which was - * present in FreeType between versions 2.4.6 and 2.7.1, inclusive). - * - * ``` - * 2011-07-16 Steven Chu - * - * [truetype] Fix metrics on size request for scalable fonts. - * ``` - * - * This problematic commit is now reverted (more or less). - */ -/* #define AF_CONFIG_OPTION_TT_SIZE_METRICS */ - - /* */ - - - /* - * This macro is obsolete. Support has been removed in FreeType version - * 2.5. - */ -/* #define FT_CONFIG_OPTION_OLD_INTERNALS */ - - - /* - * The next three macros are defined if native TrueType hinting is - * requested by the definitions above. Don't change this. - */ -#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER -#define TT_USE_BYTECODE_INTERPRETER - -#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING -#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1 -#define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY -#endif - -#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2 -#define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL -#endif -#endif -#endif - - - /* - * Check CFF darkening parameters. The checks are the same as in function - * `cff_property_set` in file `cffdrivr.c`. - */ -#if CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 < 0 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 < 0 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 < 0 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 < 0 || \ - \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 < 0 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 < 0 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 < 0 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 < 0 || \ - \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 > \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 > \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 > \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 || \ - \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 > 500 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 > 500 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 > 500 || \ - CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 > 500 -#error "Invalid CFF darkening parameters!" -#endif - -FT_END_HEADER - - -#endif /* FTOPTION_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/config/ftstdlib.h b/FreeType/include/freetype/config/ftstdlib.h deleted file mode 100644 index 438b614..0000000 --- a/FreeType/include/freetype/config/ftstdlib.h +++ /dev/null @@ -1,175 +0,0 @@ -/**************************************************************************** - * - * ftstdlib.h - * - * ANSI-specific library and header configuration file (specification - * only). - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * This file is used to group all `#includes` to the ANSI~C library that - * FreeType normally requires. It also defines macros to rename the - * standard functions within the FreeType source code. - * - * Load a file which defines `FTSTDLIB_H_` before this one to override it. - * - */ - - -#ifndef FTSTDLIB_H_ -#define FTSTDLIB_H_ - - -#include - -#define ft_ptrdiff_t ptrdiff_t - - - /************************************************************************** - * - * integer limits - * - * `UINT_MAX` and `ULONG_MAX` are used to automatically compute the size of - * `int` and `long` in bytes at compile-time. So far, this works for all - * platforms the library has been tested on. - * - * Note that on the extremely rare platforms that do not provide integer - * types that are _exactly_ 16 and 32~bits wide (e.g., some old Crays where - * `int` is 36~bits), we do not make any guarantee about the correct - * behaviour of FreeType~2 with all fonts. - * - * In these cases, `ftconfig.h` will refuse to compile anyway with a - * message like 'couldn't find 32-bit type' or something similar. - * - */ - - -#include - -#define FT_CHAR_BIT CHAR_BIT -#define FT_USHORT_MAX USHRT_MAX -#define FT_INT_MAX INT_MAX -#define FT_INT_MIN INT_MIN -#define FT_UINT_MAX UINT_MAX -#define FT_LONG_MIN LONG_MIN -#define FT_LONG_MAX LONG_MAX -#define FT_ULONG_MAX ULONG_MAX - - - /************************************************************************** - * - * character and string processing - * - */ - - -#include - -#define ft_memchr memchr -#define ft_memcmp memcmp -#define ft_memcpy memcpy -#define ft_memmove memmove -#define ft_memset memset -#define ft_strcat strcat -#define ft_strcmp strcmp -#define ft_strcpy strcpy -#define ft_strlen strlen -#define ft_strncmp strncmp -#define ft_strncpy strncpy -#define ft_strrchr strrchr -#define ft_strstr strstr - - - /************************************************************************** - * - * file handling - * - */ - - -#include - -#define FT_FILE FILE -#define ft_fclose fclose -#define ft_fopen fopen -#define ft_fread fread -#define ft_fseek fseek -#define ft_ftell ftell -#define ft_sprintf sprintf - - - /************************************************************************** - * - * sorting - * - */ - - -#include - -#define ft_qsort qsort - - - /************************************************************************** - * - * memory allocation - * - */ - - -#define ft_scalloc calloc -#define ft_sfree free -#define ft_smalloc malloc -#define ft_srealloc realloc - - - /************************************************************************** - * - * miscellaneous - * - */ - - -#define ft_strtol strtol -#define ft_getenv getenv - - - /************************************************************************** - * - * execution control - * - */ - - -#include - -#define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */ - /* `jmp_buf` is defined as a macro */ - /* on certain platforms */ - -#define ft_longjmp longjmp -#define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */ - - - /* The following is only used for debugging purposes, i.e., if */ - /* `FT_DEBUG_LEVEL_ERROR` or `FT_DEBUG_LEVEL_TRACE` are defined. */ - -#include - - -#endif /* FTSTDLIB_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/freetype.h b/FreeType/include/freetype/freetype.h deleted file mode 100644 index f758ea1..0000000 --- a/FreeType/include/freetype/freetype.h +++ /dev/null @@ -1,4880 +0,0 @@ -/**************************************************************************** - * - * freetype.h - * - * FreeType high-level API and common types (specification only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FREETYPE_H_ -#define FREETYPE_H_ - - -#ifndef FT_FREETYPE_H -#error "`ft2build.h' hasn't been included yet!" -#error "Please always use macros to include FreeType header files." -#error "Example:" -#error " #include " -#error " #include FT_FREETYPE_H" -#endif - - -#include -#include FT_CONFIG_CONFIG_H -#include FT_TYPES_H -#include FT_ERRORS_H - - -FT_BEGIN_HEADER - - - - /************************************************************************** - * - * @section: - * header_inclusion - * - * @title: - * FreeType's header inclusion scheme - * - * @abstract: - * How client applications should include FreeType header files. - * - * @description: - * To be as flexible as possible (and for historical reasons), FreeType - * uses a very special inclusion scheme to load header files, for example - * - * ``` - * #include - * - * #include FT_FREETYPE_H - * #include FT_OUTLINE_H - * ``` - * - * A compiler and its preprocessor only needs an include path to find the - * file `ft2build.h`; the exact locations and names of the other FreeType - * header files are hidden by @header_file_macros, loaded by - * `ft2build.h`. The API documentation always gives the header macro - * name needed for a particular function. - * - */ - - - /************************************************************************** - * - * @section: - * user_allocation - * - * @title: - * User allocation - * - * @abstract: - * How client applications should allocate FreeType data structures. - * - * @description: - * FreeType assumes that structures allocated by the user and passed as - * arguments are zeroed out except for the actual data. In other words, - * it is recommended to use `calloc` (or variants of it) instead of - * `malloc` for allocation. - * - */ - - - - /*************************************************************************/ - /*************************************************************************/ - /* */ - /* B A S I C T Y P E S */ - /* */ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @section: - * base_interface - * - * @title: - * Base Interface - * - * @abstract: - * The FreeType~2 base font interface. - * - * @description: - * This section describes the most important public high-level API - * functions of FreeType~2. - * - * @order: - * FT_Library - * FT_Face - * FT_Size - * FT_GlyphSlot - * FT_CharMap - * FT_Encoding - * FT_ENC_TAG - * - * FT_FaceRec - * - * FT_FACE_FLAG_SCALABLE - * FT_FACE_FLAG_FIXED_SIZES - * FT_FACE_FLAG_FIXED_WIDTH - * FT_FACE_FLAG_HORIZONTAL - * FT_FACE_FLAG_VERTICAL - * FT_FACE_FLAG_COLOR - * FT_FACE_FLAG_SFNT - * FT_FACE_FLAG_CID_KEYED - * FT_FACE_FLAG_TRICKY - * FT_FACE_FLAG_KERNING - * FT_FACE_FLAG_MULTIPLE_MASTERS - * FT_FACE_FLAG_VARIATION - * FT_FACE_FLAG_GLYPH_NAMES - * FT_FACE_FLAG_EXTERNAL_STREAM - * FT_FACE_FLAG_HINTER - * - * FT_HAS_HORIZONTAL - * FT_HAS_VERTICAL - * FT_HAS_KERNING - * FT_HAS_FIXED_SIZES - * FT_HAS_GLYPH_NAMES - * FT_HAS_COLOR - * FT_HAS_MULTIPLE_MASTERS - * - * FT_IS_SFNT - * FT_IS_SCALABLE - * FT_IS_FIXED_WIDTH - * FT_IS_CID_KEYED - * FT_IS_TRICKY - * FT_IS_NAMED_INSTANCE - * FT_IS_VARIATION - * - * FT_STYLE_FLAG_BOLD - * FT_STYLE_FLAG_ITALIC - * - * FT_SizeRec - * FT_Size_Metrics - * - * FT_GlyphSlotRec - * FT_Glyph_Metrics - * FT_SubGlyph - * - * FT_Bitmap_Size - * - * FT_Init_FreeType - * FT_Done_FreeType - * - * FT_New_Face - * FT_Done_Face - * FT_Reference_Face - * FT_New_Memory_Face - * FT_Face_Properties - * FT_Open_Face - * FT_Open_Args - * FT_Parameter - * FT_Attach_File - * FT_Attach_Stream - * - * FT_Set_Char_Size - * FT_Set_Pixel_Sizes - * FT_Request_Size - * FT_Select_Size - * FT_Size_Request_Type - * FT_Size_RequestRec - * FT_Size_Request - * FT_Set_Transform - * FT_Load_Glyph - * FT_Get_Char_Index - * FT_Get_First_Char - * FT_Get_Next_Char - * FT_Get_Name_Index - * FT_Load_Char - * - * FT_OPEN_MEMORY - * FT_OPEN_STREAM - * FT_OPEN_PATHNAME - * FT_OPEN_DRIVER - * FT_OPEN_PARAMS - * - * FT_LOAD_DEFAULT - * FT_LOAD_RENDER - * FT_LOAD_MONOCHROME - * FT_LOAD_LINEAR_DESIGN - * FT_LOAD_NO_SCALE - * FT_LOAD_NO_HINTING - * FT_LOAD_NO_BITMAP - * FT_LOAD_NO_AUTOHINT - * FT_LOAD_COLOR - * - * FT_LOAD_VERTICAL_LAYOUT - * FT_LOAD_IGNORE_TRANSFORM - * FT_LOAD_FORCE_AUTOHINT - * FT_LOAD_NO_RECURSE - * FT_LOAD_PEDANTIC - * - * FT_LOAD_TARGET_NORMAL - * FT_LOAD_TARGET_LIGHT - * FT_LOAD_TARGET_MONO - * FT_LOAD_TARGET_LCD - * FT_LOAD_TARGET_LCD_V - * - * FT_LOAD_TARGET_MODE - * - * FT_Render_Glyph - * FT_Render_Mode - * FT_Get_Kerning - * FT_Kerning_Mode - * FT_Get_Track_Kerning - * FT_Get_Glyph_Name - * FT_Get_Postscript_Name - * - * FT_CharMapRec - * FT_Select_Charmap - * FT_Set_Charmap - * FT_Get_Charmap_Index - * - * FT_Get_FSType_Flags - * FT_Get_SubGlyph_Info - * - * FT_Face_Internal - * FT_Size_Internal - * FT_Slot_Internal - * - * FT_FACE_FLAG_XXX - * FT_STYLE_FLAG_XXX - * FT_OPEN_XXX - * FT_LOAD_XXX - * FT_LOAD_TARGET_XXX - * FT_SUBGLYPH_FLAG_XXX - * FT_FSTYPE_XXX - * - * FT_HAS_FAST_GLYPHS - * - */ - - - /************************************************************************** - * - * @struct: - * FT_Glyph_Metrics - * - * @description: - * A structure to model the metrics of a single glyph. The values are - * expressed in 26.6 fractional pixel format; if the flag - * @FT_LOAD_NO_SCALE has been used while loading the glyph, values are - * expressed in font units instead. - * - * @fields: - * width :: - * The glyph's width. - * - * height :: - * The glyph's height. - * - * horiBearingX :: - * Left side bearing for horizontal layout. - * - * horiBearingY :: - * Top side bearing for horizontal layout. - * - * horiAdvance :: - * Advance width for horizontal layout. - * - * vertBearingX :: - * Left side bearing for vertical layout. - * - * vertBearingY :: - * Top side bearing for vertical layout. Larger positive values mean - * further below the vertical glyph origin. - * - * vertAdvance :: - * Advance height for vertical layout. Positive values mean the glyph - * has a positive advance downward. - * - * @note: - * If not disabled with @FT_LOAD_NO_HINTING, the values represent - * dimensions of the hinted glyph (in case hinting is applicable). - * - * Stroking a glyph with an outside border does not increase - * `horiAdvance` or `vertAdvance`; you have to manually adjust these - * values to account for the added width and height. - * - * FreeType doesn't use the 'VORG' table data for CFF fonts because it - * doesn't have an interface to quickly retrieve the glyph height. The - * y~coordinate of the vertical origin can be simply computed as - * `vertBearingY + height` after loading a glyph. - */ - typedef struct FT_Glyph_Metrics_ - { - FT_Pos width; - FT_Pos height; - - FT_Pos horiBearingX; - FT_Pos horiBearingY; - FT_Pos horiAdvance; - - FT_Pos vertBearingX; - FT_Pos vertBearingY; - FT_Pos vertAdvance; - - } FT_Glyph_Metrics; - - - /************************************************************************** - * - * @struct: - * FT_Bitmap_Size - * - * @description: - * This structure models the metrics of a bitmap strike (i.e., a set of - * glyphs for a given point size and resolution) in a bitmap font. It is - * used for the `available_sizes` field of @FT_Face. - * - * @fields: - * height :: - * The vertical distance, in pixels, between two consecutive baselines. - * It is always positive. - * - * width :: - * The average width, in pixels, of all glyphs in the strike. - * - * size :: - * The nominal size of the strike in 26.6 fractional points. This - * field is not very useful. - * - * x_ppem :: - * The horizontal ppem (nominal width) in 26.6 fractional pixels. - * - * y_ppem :: - * The vertical ppem (nominal height) in 26.6 fractional pixels. - * - * @note: - * Windows FNT: - * The nominal size given in a FNT font is not reliable. If the driver - * finds it incorrect, it sets `size` to some calculated values, and - * `x_ppem` and `y_ppem` to the pixel width and height given in the - * font, respectively. - * - * TrueType embedded bitmaps: - * `size`, `width`, and `height` values are not contained in the bitmap - * strike itself. They are computed from the global font parameters. - */ - typedef struct FT_Bitmap_Size_ - { - FT_Short height; - FT_Short width; - - FT_Pos size; - - FT_Pos x_ppem; - FT_Pos y_ppem; - - } FT_Bitmap_Size; - - - /*************************************************************************/ - /*************************************************************************/ - /* */ - /* O B J E C T C L A S S E S */ - /* */ - /*************************************************************************/ - /*************************************************************************/ - - /************************************************************************** - * - * @type: - * FT_Library - * - * @description: - * A handle to a FreeType library instance. Each 'library' is completely - * independent from the others; it is the 'root' of a set of objects like - * fonts, faces, sizes, etc. - * - * It also embeds a memory manager (see @FT_Memory), as well as a - * scan-line converter object (see @FT_Raster). - * - * [Since 2.5.6] In multi-threaded applications it is easiest to use one - * `FT_Library` object per thread. In case this is too cumbersome, a - * single `FT_Library` object across threads is possible also, as long as - * a mutex lock is used around @FT_New_Face and @FT_Done_Face. - * - * @note: - * Library objects are normally created by @FT_Init_FreeType, and - * destroyed with @FT_Done_FreeType. If you need reference-counting - * (cf. @FT_Reference_Library), use @FT_New_Library and @FT_Done_Library. - */ - typedef struct FT_LibraryRec_ *FT_Library; - - - /************************************************************************** - * - * @section: - * module_management - * - */ - - /************************************************************************** - * - * @type: - * FT_Module - * - * @description: - * A handle to a given FreeType module object. A module can be a font - * driver, a renderer, or anything else that provides services to the - * former. - */ - typedef struct FT_ModuleRec_* FT_Module; - - - /************************************************************************** - * - * @type: - * FT_Driver - * - * @description: - * A handle to a given FreeType font driver object. A font driver is a - * module capable of creating faces from font files. - */ - typedef struct FT_DriverRec_* FT_Driver; - - - /************************************************************************** - * - * @type: - * FT_Renderer - * - * @description: - * A handle to a given FreeType renderer. A renderer is a module in - * charge of converting a glyph's outline image to a bitmap. It supports - * a single glyph image format, and one or more target surface depths. - */ - typedef struct FT_RendererRec_* FT_Renderer; - - - /************************************************************************** - * - * @section: - * base_interface - * - */ - - /************************************************************************** - * - * @type: - * FT_Face - * - * @description: - * A handle to a typographic face object. A face object models a given - * typeface, in a given style. - * - * @note: - * A face object also owns a single @FT_GlyphSlot object, as well as one - * or more @FT_Size objects. - * - * Use @FT_New_Face or @FT_Open_Face to create a new face object from a - * given filepath or a custom input stream. - * - * Use @FT_Done_Face to destroy it (along with its slot and sizes). - * - * An `FT_Face` object can only be safely used from one thread at a time. - * Similarly, creation and destruction of `FT_Face` with the same - * @FT_Library object can only be done from one thread at a time. On the - * other hand, functions like @FT_Load_Glyph and its siblings are - * thread-safe and do not need the lock to be held as long as the same - * `FT_Face` object is not used from multiple threads at the same time. - * - * @also: - * See @FT_FaceRec for the publicly accessible fields of a given face - * object. - */ - typedef struct FT_FaceRec_* FT_Face; - - - /************************************************************************** - * - * @type: - * FT_Size - * - * @description: - * A handle to an object that models a face scaled to a given character - * size. - * - * @note: - * An @FT_Face has one _active_ @FT_Size object that is used by functions - * like @FT_Load_Glyph to determine the scaling transformation that in - * turn is used to load and hint glyphs and metrics. - * - * You can use @FT_Set_Char_Size, @FT_Set_Pixel_Sizes, @FT_Request_Size - * or even @FT_Select_Size to change the content (i.e., the scaling - * values) of the active @FT_Size. - * - * You can use @FT_New_Size to create additional size objects for a given - * @FT_Face, but they won't be used by other functions until you activate - * it through @FT_Activate_Size. Only one size can be activated at any - * given time per face. - * - * @also: - * See @FT_SizeRec for the publicly accessible fields of a given size - * object. - */ - typedef struct FT_SizeRec_* FT_Size; - - - /************************************************************************** - * - * @type: - * FT_GlyphSlot - * - * @description: - * A handle to a given 'glyph slot'. A slot is a container that can hold - * any of the glyphs contained in its parent face. - * - * In other words, each time you call @FT_Load_Glyph or @FT_Load_Char, - * the slot's content is erased by the new glyph data, i.e., the glyph's - * metrics, its image (bitmap or outline), and other control information. - * - * @also: - * See @FT_GlyphSlotRec for the publicly accessible glyph fields. - */ - typedef struct FT_GlyphSlotRec_* FT_GlyphSlot; - - - /************************************************************************** - * - * @type: - * FT_CharMap - * - * @description: - * A handle to a character map (usually abbreviated to 'charmap'). A - * charmap is used to translate character codes in a given encoding into - * glyph indexes for its parent's face. Some font formats may provide - * several charmaps per font. - * - * Each face object owns zero or more charmaps, but only one of them can - * be 'active', providing the data used by @FT_Get_Char_Index or - * @FT_Load_Char. - * - * The list of available charmaps in a face is available through the - * `face->num_charmaps` and `face->charmaps` fields of @FT_FaceRec. - * - * The currently active charmap is available as `face->charmap`. You - * should call @FT_Set_Charmap to change it. - * - * @note: - * When a new face is created (either through @FT_New_Face or - * @FT_Open_Face), the library looks for a Unicode charmap within the - * list and automatically activates it. If there is no Unicode charmap, - * FreeType doesn't set an 'active' charmap. - * - * @also: - * See @FT_CharMapRec for the publicly accessible fields of a given - * character map. - */ - typedef struct FT_CharMapRec_* FT_CharMap; - - - /************************************************************************** - * - * @macro: - * FT_ENC_TAG - * - * @description: - * This macro converts four-letter tags into an unsigned long. It is - * used to define 'encoding' identifiers (see @FT_Encoding). - * - * @note: - * Since many 16-bit compilers don't like 32-bit enumerations, you should - * redefine this macro in case of problems to something like this: - * - * ``` - * #define FT_ENC_TAG( value, a, b, c, d ) value - * ``` - * - * to get a simple enumeration without assigning special numbers. - */ - -#ifndef FT_ENC_TAG -#define FT_ENC_TAG( value, a, b, c, d ) \ - value = ( ( (FT_UInt32)(a) << 24 ) | \ - ( (FT_UInt32)(b) << 16 ) | \ - ( (FT_UInt32)(c) << 8 ) | \ - (FT_UInt32)(d) ) - -#endif /* FT_ENC_TAG */ - - - /************************************************************************** - * - * @enum: - * FT_Encoding - * - * @description: - * An enumeration to specify character sets supported by charmaps. Used - * in the @FT_Select_Charmap API function. - * - * @note: - * Despite the name, this enumeration lists specific character - * repertories (i.e., charsets), and not text encoding methods (e.g., - * UTF-8, UTF-16, etc.). - * - * Other encodings might be defined in the future. - * - * @values: - * FT_ENCODING_NONE :: - * The encoding value~0 is reserved for all formats except BDF, PCF, - * and Windows FNT; see below for more information. - * - * FT_ENCODING_UNICODE :: - * The Unicode character set. This value covers all versions of the - * Unicode repertoire, including ASCII and Latin-1. Most fonts include - * a Unicode charmap, but not all of them. - * - * For example, if you want to access Unicode value U+1F028 (and the - * font contains it), use value 0x1F028 as the input value for - * @FT_Get_Char_Index. - * - * FT_ENCODING_MS_SYMBOL :: - * Microsoft Symbol encoding, used to encode mathematical symbols and - * wingdings. For more information, see - * 'https://www.microsoft.com/typography/otspec/recom.htm#non-standard-symbol-fonts', - * 'http://www.kostis.net/charsets/symbol.htm', and - * 'http://www.kostis.net/charsets/wingding.htm'. - * - * This encoding uses character codes from the PUA (Private Unicode - * Area) in the range U+F020-U+F0FF. - * - * FT_ENCODING_SJIS :: - * Shift JIS encoding for Japanese. More info at - * 'https://en.wikipedia.org/wiki/Shift_JIS'. See note on multi-byte - * encodings below. - * - * FT_ENCODING_PRC :: - * Corresponds to encoding systems mainly for Simplified Chinese as - * used in People's Republic of China (PRC). The encoding layout is - * based on GB~2312 and its supersets GBK and GB~18030. - * - * FT_ENCODING_BIG5 :: - * Corresponds to an encoding system for Traditional Chinese as used in - * Taiwan and Hong Kong. - * - * FT_ENCODING_WANSUNG :: - * Corresponds to the Korean encoding system known as Extended Wansung - * (MS Windows code page 949). For more information see - * 'https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit949.txt'. - * - * FT_ENCODING_JOHAB :: - * The Korean standard character set (KS~C 5601-1992), which - * corresponds to MS Windows code page 1361. This character set - * includes all possible Hangul character combinations. - * - * FT_ENCODING_ADOBE_LATIN_1 :: - * Corresponds to a Latin-1 encoding as defined in a Type~1 PostScript - * font. It is limited to 256 character codes. - * - * FT_ENCODING_ADOBE_STANDARD :: - * Adobe Standard encoding, as found in Type~1, CFF, and OpenType/CFF - * fonts. It is limited to 256 character codes. - * - * FT_ENCODING_ADOBE_EXPERT :: - * Adobe Expert encoding, as found in Type~1, CFF, and OpenType/CFF - * fonts. It is limited to 256 character codes. - * - * FT_ENCODING_ADOBE_CUSTOM :: - * Corresponds to a custom encoding, as found in Type~1, CFF, and - * OpenType/CFF fonts. It is limited to 256 character codes. - * - * FT_ENCODING_APPLE_ROMAN :: - * Apple roman encoding. Many TrueType and OpenType fonts contain a - * charmap for this 8-bit encoding, since older versions of Mac OS are - * able to use it. - * - * FT_ENCODING_OLD_LATIN_2 :: - * This value is deprecated and was neither used nor reported by - * FreeType. Don't use or test for it. - * - * FT_ENCODING_MS_SJIS :: - * Same as FT_ENCODING_SJIS. Deprecated. - * - * FT_ENCODING_MS_GB2312 :: - * Same as FT_ENCODING_PRC. Deprecated. - * - * FT_ENCODING_MS_BIG5 :: - * Same as FT_ENCODING_BIG5. Deprecated. - * - * FT_ENCODING_MS_WANSUNG :: - * Same as FT_ENCODING_WANSUNG. Deprecated. - * - * FT_ENCODING_MS_JOHAB :: - * Same as FT_ENCODING_JOHAB. Deprecated. - * - * @note: - * By default, FreeType enables a Unicode charmap and tags it with - * `FT_ENCODING_UNICODE` when it is either provided or can be generated - * from PostScript glyph name dictionaries in the font file. All other - * encodings are considered legacy and tagged only if explicitly defined - * in the font file. Otherwise, `FT_ENCODING_NONE` is used. - * - * `FT_ENCODING_NONE` is set by the BDF and PCF drivers if the charmap is - * neither Unicode nor ISO-8859-1 (otherwise it is set to - * `FT_ENCODING_UNICODE`). Use @FT_Get_BDF_Charset_ID to find out which - * encoding is really present. If, for example, the `cs_registry` field - * is 'KOI8' and the `cs_encoding` field is 'R', the font is encoded in - * KOI8-R. - * - * `FT_ENCODING_NONE` is always set (with a single exception) by the - * winfonts driver. Use @FT_Get_WinFNT_Header and examine the `charset` - * field of the @FT_WinFNT_HeaderRec structure to find out which encoding - * is really present. For example, @FT_WinFNT_ID_CP1251 (204) means - * Windows code page 1251 (for Russian). - * - * `FT_ENCODING_NONE` is set if `platform_id` is @TT_PLATFORM_MACINTOSH - * and `encoding_id` is not `TT_MAC_ID_ROMAN` (otherwise it is set to - * `FT_ENCODING_APPLE_ROMAN`). - * - * If `platform_id` is @TT_PLATFORM_MACINTOSH, use the function - * @FT_Get_CMap_Language_ID to query the Mac language ID that may be - * needed to be able to distinguish Apple encoding variants. See - * - * https://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt - * - * to get an idea how to do that. Basically, if the language ID is~0, - * don't use it, otherwise subtract 1 from the language ID. Then examine - * `encoding_id`. If, for example, `encoding_id` is `TT_MAC_ID_ROMAN` - * and the language ID (minus~1) is `TT_MAC_LANGID_GREEK`, it is the - * Greek encoding, not Roman. `TT_MAC_ID_ARABIC` with - * `TT_MAC_LANGID_FARSI` means the Farsi variant the Arabic encoding. - */ - typedef enum FT_Encoding_ - { - FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ), - - FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ), - FT_ENC_TAG( FT_ENCODING_UNICODE, 'u', 'n', 'i', 'c' ), - - FT_ENC_TAG( FT_ENCODING_SJIS, 's', 'j', 'i', 's' ), - FT_ENC_TAG( FT_ENCODING_PRC, 'g', 'b', ' ', ' ' ), - FT_ENC_TAG( FT_ENCODING_BIG5, 'b', 'i', 'g', '5' ), - FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ), - FT_ENC_TAG( FT_ENCODING_JOHAB, 'j', 'o', 'h', 'a' ), - - /* for backward compatibility */ - FT_ENCODING_GB2312 = FT_ENCODING_PRC, - FT_ENCODING_MS_SJIS = FT_ENCODING_SJIS, - FT_ENCODING_MS_GB2312 = FT_ENCODING_PRC, - FT_ENCODING_MS_BIG5 = FT_ENCODING_BIG5, - FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG, - FT_ENCODING_MS_JOHAB = FT_ENCODING_JOHAB, - - FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ), - FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT, 'A', 'D', 'B', 'E' ), - FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM, 'A', 'D', 'B', 'C' ), - FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1, 'l', 'a', 't', '1' ), - - FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2, 'l', 'a', 't', '2' ), - - FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN, 'a', 'r', 'm', 'n' ) - - } FT_Encoding; - - - /* these constants are deprecated; use the corresponding `FT_Encoding` */ - /* values instead */ -#define ft_encoding_none FT_ENCODING_NONE -#define ft_encoding_unicode FT_ENCODING_UNICODE -#define ft_encoding_symbol FT_ENCODING_MS_SYMBOL -#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1 -#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2 -#define ft_encoding_sjis FT_ENCODING_SJIS -#define ft_encoding_gb2312 FT_ENCODING_PRC -#define ft_encoding_big5 FT_ENCODING_BIG5 -#define ft_encoding_wansung FT_ENCODING_WANSUNG -#define ft_encoding_johab FT_ENCODING_JOHAB - -#define ft_encoding_adobe_standard FT_ENCODING_ADOBE_STANDARD -#define ft_encoding_adobe_expert FT_ENCODING_ADOBE_EXPERT -#define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM -#define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN - - - /************************************************************************** - * - * @struct: - * FT_CharMapRec - * - * @description: - * The base charmap structure. - * - * @fields: - * face :: - * A handle to the parent face object. - * - * encoding :: - * An @FT_Encoding tag identifying the charmap. Use this with - * @FT_Select_Charmap. - * - * platform_id :: - * An ID number describing the platform for the following encoding ID. - * This comes directly from the TrueType specification and gets - * emulated for other formats. - * - * encoding_id :: - * A platform-specific encoding number. This also comes from the - * TrueType specification and gets emulated similarly. - */ - typedef struct FT_CharMapRec_ - { - FT_Face face; - FT_Encoding encoding; - FT_UShort platform_id; - FT_UShort encoding_id; - - } FT_CharMapRec; - - - /*************************************************************************/ - /*************************************************************************/ - /* */ - /* B A S E O B J E C T C L A S S E S */ - /* */ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @type: - * FT_Face_Internal - * - * @description: - * An opaque handle to an `FT_Face_InternalRec` structure that models the - * private data of a given @FT_Face object. - * - * This structure might change between releases of FreeType~2 and is not - * generally available to client applications. - */ - typedef struct FT_Face_InternalRec_* FT_Face_Internal; - - - /************************************************************************** - * - * @struct: - * FT_FaceRec - * - * @description: - * FreeType root face class structure. A face object models a typeface - * in a font file. - * - * @fields: - * num_faces :: - * The number of faces in the font file. Some font formats can have - * multiple faces in a single font file. - * - * face_index :: - * This field holds two different values. Bits 0-15 are the index of - * the face in the font file (starting with value~0). They are set - * to~0 if there is only one face in the font file. - * - * [Since 2.6.1] Bits 16-30 are relevant to GX and OpenType variation - * fonts only, holding the named instance index for the current face - * index (starting with value~1; value~0 indicates font access without - * a named instance). For non-variation fonts, bits 16-30 are ignored. - * If we have the third named instance of face~4, say, `face_index` is - * set to 0x00030004. - * - * Bit 31 is always zero (this is, `face_index` is always a positive - * value). - * - * [Since 2.9] Changing the design coordinates with - * @FT_Set_Var_Design_Coordinates or @FT_Set_Var_Blend_Coordinates does - * not influence the named instance index value (only - * @FT_Set_Named_Instance does that). - * - * face_flags :: - * A set of bit flags that give important information about the face; - * see @FT_FACE_FLAG_XXX for the details. - * - * style_flags :: - * The lower 16~bits contain a set of bit flags indicating the style of - * the face; see @FT_STYLE_FLAG_XXX for the details. - * - * [Since 2.6.1] Bits 16-30 hold the number of named instances - * available for the current face if we have a GX or OpenType variation - * (sub)font. Bit 31 is always zero (this is, `style_flags` is always - * a positive value). Note that a variation font has always at least - * one named instance, namely the default instance. - * - * num_glyphs :: - * The number of glyphs in the face. If the face is scalable and has - * sbits (see `num_fixed_sizes`), it is set to the number of outline - * glyphs. - * - * For CID-keyed fonts (not in an SFNT wrapper) this value gives the - * highest CID used in the font. - * - * family_name :: - * The face's family name. This is an ASCII string, usually in - * English, that describes the typeface's family (like 'Times New - * Roman', 'Bodoni', 'Garamond', etc). This is a least common - * denominator used to list fonts. Some formats (TrueType & OpenType) - * provide localized and Unicode versions of this string. Applications - * should use the format-specific interface to access them. Can be - * `NULL` (e.g., in fonts embedded in a PDF file). - * - * In case the font doesn't provide a specific family name entry, - * FreeType tries to synthesize one, deriving it from other name - * entries. - * - * style_name :: - * The face's style name. This is an ASCII string, usually in English, - * that describes the typeface's style (like 'Italic', 'Bold', - * 'Condensed', etc). Not all font formats provide a style name, so - * this field is optional, and can be set to `NULL`. As for - * `family_name`, some formats provide localized and Unicode versions - * of this string. Applications should use the format-specific - * interface to access them. - * - * num_fixed_sizes :: - * The number of bitmap strikes in the face. Even if the face is - * scalable, there might still be bitmap strikes, which are called - * 'sbits' in that case. - * - * available_sizes :: - * An array of @FT_Bitmap_Size for all bitmap strikes in the face. It - * is set to `NULL` if there is no bitmap strike. - * - * Note that FreeType tries to sanitize the strike data since they are - * sometimes sloppy or incorrect, but this can easily fail. - * - * num_charmaps :: - * The number of charmaps in the face. - * - * charmaps :: - * An array of the charmaps of the face. - * - * generic :: - * A field reserved for client uses. See the @FT_Generic type - * description. - * - * bbox :: - * The font bounding box. Coordinates are expressed in font units (see - * `units_per_EM`). The box is large enough to contain any glyph from - * the font. Thus, `bbox.yMax` can be seen as the 'maximum ascender', - * and `bbox.yMin` as the 'minimum descender'. Only relevant for - * scalable formats. - * - * Note that the bounding box might be off by (at least) one pixel for - * hinted fonts. See @FT_Size_Metrics for further discussion. - * - * units_per_EM :: - * The number of font units per EM square for this face. This is - * typically 2048 for TrueType fonts, and 1000 for Type~1 fonts. Only - * relevant for scalable formats. - * - * ascender :: - * The typographic ascender of the face, expressed in font units. For - * font formats not having this information, it is set to `bbox.yMax`. - * Only relevant for scalable formats. - * - * descender :: - * The typographic descender of the face, expressed in font units. For - * font formats not having this information, it is set to `bbox.yMin`. - * Note that this field is negative for values below the baseline. - * Only relevant for scalable formats. - * - * height :: - * This value is the vertical distance between two consecutive - * baselines, expressed in font units. It is always positive. Only - * relevant for scalable formats. - * - * If you want the global glyph height, use `ascender - descender`. - * - * max_advance_width :: - * The maximum advance width, in font units, for all glyphs in this - * face. This can be used to make word wrapping computations faster. - * Only relevant for scalable formats. - * - * max_advance_height :: - * The maximum advance height, in font units, for all glyphs in this - * face. This is only relevant for vertical layouts, and is set to - * `height` for fonts that do not provide vertical metrics. Only - * relevant for scalable formats. - * - * underline_position :: - * The position, in font units, of the underline line for this face. - * It is the center of the underlining stem. Only relevant for - * scalable formats. - * - * underline_thickness :: - * The thickness, in font units, of the underline for this face. Only - * relevant for scalable formats. - * - * glyph :: - * The face's associated glyph slot(s). - * - * size :: - * The current active size for this face. - * - * charmap :: - * The current active charmap for this face. - * - * @note: - * Fields may be changed after a call to @FT_Attach_File or - * @FT_Attach_Stream. - * - * For an OpenType variation font, the values of the following fields can - * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if - * the font contains an 'MVAR' table: `ascender`, `descender`, `height`, - * `underline_position`, and `underline_thickness`. - * - * Especially for TrueType fonts see also the documentation for - * @FT_Size_Metrics. - */ - typedef struct FT_FaceRec_ - { - FT_Long num_faces; - FT_Long face_index; - - FT_Long face_flags; - FT_Long style_flags; - - FT_Long num_glyphs; - - FT_String* family_name; - FT_String* style_name; - - FT_Int num_fixed_sizes; - FT_Bitmap_Size* available_sizes; - - FT_Int num_charmaps; - FT_CharMap* charmaps; - - FT_Generic generic; - - /*# The following member variables (down to `underline_thickness`) */ - /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size */ - /*# for bitmap fonts. */ - FT_BBox bbox; - - FT_UShort units_per_EM; - FT_Short ascender; - FT_Short descender; - FT_Short height; - - FT_Short max_advance_width; - FT_Short max_advance_height; - - FT_Short underline_position; - FT_Short underline_thickness; - - FT_GlyphSlot glyph; - FT_Size size; - FT_CharMap charmap; - - /*@private begin */ - - FT_Driver driver; - FT_Memory memory; - FT_Stream stream; - - FT_ListRec sizes_list; - - FT_Generic autohint; /* face-specific auto-hinter data */ - void* extensions; /* unused */ - - FT_Face_Internal internal; - - /*@private end */ - - } FT_FaceRec; - - - /************************************************************************** - * - * @enum: - * FT_FACE_FLAG_XXX - * - * @description: - * A list of bit flags used in the `face_flags` field of the @FT_FaceRec - * structure. They inform client applications of properties of the - * corresponding face. - * - * @values: - * FT_FACE_FLAG_SCALABLE :: - * The face contains outline glyphs. Note that a face can contain - * bitmap strikes also, i.e., a face can have both this flag and - * @FT_FACE_FLAG_FIXED_SIZES set. - * - * FT_FACE_FLAG_FIXED_SIZES :: - * The face contains bitmap strikes. See also the `num_fixed_sizes` - * and `available_sizes` fields of @FT_FaceRec. - * - * FT_FACE_FLAG_FIXED_WIDTH :: - * The face contains fixed-width characters (like Courier, Lucida, - * MonoType, etc.). - * - * FT_FACE_FLAG_SFNT :: - * The face uses the SFNT storage scheme. For now, this means TrueType - * and OpenType. - * - * FT_FACE_FLAG_HORIZONTAL :: - * The face contains horizontal glyph metrics. This should be set for - * all common formats. - * - * FT_FACE_FLAG_VERTICAL :: - * The face contains vertical glyph metrics. This is only available in - * some formats, not all of them. - * - * FT_FACE_FLAG_KERNING :: - * The face contains kerning information. If set, the kerning distance - * can be retrieved using the function @FT_Get_Kerning. Otherwise the - * function always return the vector (0,0). Note that FreeType doesn't - * handle kerning data from the SFNT 'GPOS' table (as present in many - * OpenType fonts). - * - * FT_FACE_FLAG_FAST_GLYPHS :: - * THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT. - * - * FT_FACE_FLAG_MULTIPLE_MASTERS :: - * The face contains multiple masters and is capable of interpolating - * between them. Supported formats are Adobe MM, TrueType GX, and - * OpenType variation fonts. - * - * See section @multiple_masters for API details. - * - * FT_FACE_FLAG_GLYPH_NAMES :: - * The face contains glyph names, which can be retrieved using - * @FT_Get_Glyph_Name. Note that some TrueType fonts contain broken - * glyph name tables. Use the function @FT_Has_PS_Glyph_Names when - * needed. - * - * FT_FACE_FLAG_EXTERNAL_STREAM :: - * Used internally by FreeType to indicate that a face's stream was - * provided by the client application and should not be destroyed when - * @FT_Done_Face is called. Don't read or test this flag. - * - * FT_FACE_FLAG_HINTER :: - * The font driver has a hinting machine of its own. For example, with - * TrueType fonts, it makes sense to use data from the SFNT 'gasp' - * table only if the native TrueType hinting engine (with the bytecode - * interpreter) is available and active. - * - * FT_FACE_FLAG_CID_KEYED :: - * The face is CID-keyed. In that case, the face is not accessed by - * glyph indices but by CID values. For subsetted CID-keyed fonts this - * has the consequence that not all index values are a valid argument - * to @FT_Load_Glyph. Only the CID values for which corresponding - * glyphs in the subsetted font exist make `FT_Load_Glyph` return - * successfully; in all other cases you get an - * `FT_Err_Invalid_Argument` error. - * - * Note that CID-keyed fonts that are in an SFNT wrapper (this is, all - * OpenType/CFF fonts) don't have this flag set since the glyphs are - * accessed in the normal way (using contiguous indices); the - * 'CID-ness' isn't visible to the application. - * - * FT_FACE_FLAG_TRICKY :: - * The face is 'tricky', this is, it always needs the font format's - * native hinting engine to get a reasonable result. A typical example - * is the old Chinese font `mingli.ttf` (but not `mingliu.ttc`) that - * uses TrueType bytecode instructions to move and scale all of its - * subglyphs. - * - * It is not possible to auto-hint such fonts using - * @FT_LOAD_FORCE_AUTOHINT; it will also ignore @FT_LOAD_NO_HINTING. - * You have to set both @FT_LOAD_NO_HINTING and @FT_LOAD_NO_AUTOHINT to - * really disable hinting; however, you probably never want this except - * for demonstration purposes. - * - * Currently, there are about a dozen TrueType fonts in the list of - * tricky fonts; they are hard-coded in file `ttobjs.c`. - * - * FT_FACE_FLAG_COLOR :: - * [Since 2.5.1] The face has color glyph tables. See @FT_LOAD_COLOR - * for more information. - * - * FT_FACE_FLAG_VARIATION :: - * [Since 2.9] Set if the current face (or named instance) has been - * altered with @FT_Set_MM_Design_Coordinates, - * @FT_Set_Var_Design_Coordinates, or @FT_Set_Var_Blend_Coordinates. - * This flag is unset by a call to @FT_Set_Named_Instance. - */ -#define FT_FACE_FLAG_SCALABLE ( 1L << 0 ) -#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 ) -#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 ) -#define FT_FACE_FLAG_SFNT ( 1L << 3 ) -#define FT_FACE_FLAG_HORIZONTAL ( 1L << 4 ) -#define FT_FACE_FLAG_VERTICAL ( 1L << 5 ) -#define FT_FACE_FLAG_KERNING ( 1L << 6 ) -#define FT_FACE_FLAG_FAST_GLYPHS ( 1L << 7 ) -#define FT_FACE_FLAG_MULTIPLE_MASTERS ( 1L << 8 ) -#define FT_FACE_FLAG_GLYPH_NAMES ( 1L << 9 ) -#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 ) -#define FT_FACE_FLAG_HINTER ( 1L << 11 ) -#define FT_FACE_FLAG_CID_KEYED ( 1L << 12 ) -#define FT_FACE_FLAG_TRICKY ( 1L << 13 ) -#define FT_FACE_FLAG_COLOR ( 1L << 14 ) -#define FT_FACE_FLAG_VARIATION ( 1L << 15 ) - - - /************************************************************************** - * - * @macro: - * FT_HAS_HORIZONTAL - * - * @description: - * A macro that returns true whenever a face object contains horizontal - * metrics (this is true for all font formats though). - * - * @also: - * @FT_HAS_VERTICAL can be used to check for vertical metrics. - * - */ -#define FT_HAS_HORIZONTAL( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL ) - - - /************************************************************************** - * - * @macro: - * FT_HAS_VERTICAL - * - * @description: - * A macro that returns true whenever a face object contains real - * vertical metrics (and not only synthesized ones). - * - */ -#define FT_HAS_VERTICAL( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_VERTICAL ) - - - /************************************************************************** - * - * @macro: - * FT_HAS_KERNING - * - * @description: - * A macro that returns true whenever a face object contains kerning data - * that can be accessed with @FT_Get_Kerning. - * - */ -#define FT_HAS_KERNING( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_KERNING ) - - - /************************************************************************** - * - * @macro: - * FT_IS_SCALABLE - * - * @description: - * A macro that returns true whenever a face object contains a scalable - * font face (true for TrueType, Type~1, Type~42, CID, OpenType/CFF, and - * PFR font formats). - * - */ -#define FT_IS_SCALABLE( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_SCALABLE ) - - - /************************************************************************** - * - * @macro: - * FT_IS_SFNT - * - * @description: - * A macro that returns true whenever a face object contains a font whose - * format is based on the SFNT storage scheme. This usually means: - * TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap - * fonts. - * - * If this macro is true, all functions defined in @FT_SFNT_NAMES_H and - * @FT_TRUETYPE_TABLES_H are available. - * - */ -#define FT_IS_SFNT( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_SFNT ) - - - /************************************************************************** - * - * @macro: - * FT_IS_FIXED_WIDTH - * - * @description: - * A macro that returns true whenever a face object contains a font face - * that contains fixed-width (or 'monospace', 'fixed-pitch', etc.) - * glyphs. - * - */ -#define FT_IS_FIXED_WIDTH( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH ) - - - /************************************************************************** - * - * @macro: - * FT_HAS_FIXED_SIZES - * - * @description: - * A macro that returns true whenever a face object contains some - * embedded bitmaps. See the `available_sizes` field of the @FT_FaceRec - * structure. - * - */ -#define FT_HAS_FIXED_SIZES( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES ) - - - /************************************************************************** - * - * @macro: - * FT_HAS_FAST_GLYPHS - * - * @description: - * Deprecated. - * - */ -#define FT_HAS_FAST_GLYPHS( face ) 0 - - - /************************************************************************** - * - * @macro: - * FT_HAS_GLYPH_NAMES - * - * @description: - * A macro that returns true whenever a face object contains some glyph - * names that can be accessed through @FT_Get_Glyph_Name. - * - */ -#define FT_HAS_GLYPH_NAMES( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) - - - /************************************************************************** - * - * @macro: - * FT_HAS_MULTIPLE_MASTERS - * - * @description: - * A macro that returns true whenever a face object contains some - * multiple masters. The functions provided by @FT_MULTIPLE_MASTERS_H - * are then available to choose the exact design you want. - * - */ -#define FT_HAS_MULTIPLE_MASTERS( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) - - - /************************************************************************** - * - * @macro: - * FT_IS_NAMED_INSTANCE - * - * @description: - * A macro that returns true whenever a face object is a named instance - * of a GX or OpenType variation font. - * - * [Since 2.9] Changing the design coordinates with - * @FT_Set_Var_Design_Coordinates or @FT_Set_Var_Blend_Coordinates does - * not influence the return value of this macro (only - * @FT_Set_Named_Instance does that). - * - * @since: - * 2.7 - * - */ -#define FT_IS_NAMED_INSTANCE( face ) \ - ( (face)->face_index & 0x7FFF0000L ) - - - /************************************************************************** - * - * @macro: - * FT_IS_VARIATION - * - * @description: - * A macro that returns true whenever a face object has been altered by - * @FT_Set_MM_Design_Coordinates, @FT_Set_Var_Design_Coordinates, or - * @FT_Set_Var_Blend_Coordinates. - * - * @since: - * 2.9 - * - */ -#define FT_IS_VARIATION( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_VARIATION ) - - - /************************************************************************** - * - * @macro: - * FT_IS_CID_KEYED - * - * @description: - * A macro that returns true whenever a face object contains a CID-keyed - * font. See the discussion of @FT_FACE_FLAG_CID_KEYED for more details. - * - * If this macro is true, all functions defined in @FT_CID_H are - * available. - * - */ -#define FT_IS_CID_KEYED( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_CID_KEYED ) - - - /************************************************************************** - * - * @macro: - * FT_IS_TRICKY - * - * @description: - * A macro that returns true whenever a face represents a 'tricky' font. - * See the discussion of @FT_FACE_FLAG_TRICKY for more details. - * - */ -#define FT_IS_TRICKY( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_TRICKY ) - - - /************************************************************************** - * - * @macro: - * FT_HAS_COLOR - * - * @description: - * A macro that returns true whenever a face object contains tables for - * color glyphs. - * - * @since: - * 2.5.1 - * - */ -#define FT_HAS_COLOR( face ) \ - ( (face)->face_flags & FT_FACE_FLAG_COLOR ) - - - /************************************************************************** - * - * @enum: - * FT_STYLE_FLAG_XXX - * - * @description: - * A list of bit flags to indicate the style of a given face. These are - * used in the `style_flags` field of @FT_FaceRec. - * - * @values: - * FT_STYLE_FLAG_ITALIC :: - * The face style is italic or oblique. - * - * FT_STYLE_FLAG_BOLD :: - * The face is bold. - * - * @note: - * The style information as provided by FreeType is very basic. More - * details are beyond the scope and should be done on a higher level (for - * example, by analyzing various fields of the 'OS/2' table in SFNT based - * fonts). - */ -#define FT_STYLE_FLAG_ITALIC ( 1 << 0 ) -#define FT_STYLE_FLAG_BOLD ( 1 << 1 ) - - - /************************************************************************** - * - * @type: - * FT_Size_Internal - * - * @description: - * An opaque handle to an `FT_Size_InternalRec` structure, used to model - * private data of a given @FT_Size object. - */ - typedef struct FT_Size_InternalRec_* FT_Size_Internal; - - - /************************************************************************** - * - * @struct: - * FT_Size_Metrics - * - * @description: - * The size metrics structure gives the metrics of a size object. - * - * @fields: - * x_ppem :: - * The width of the scaled EM square in pixels, hence the term 'ppem' - * (pixels per EM). It is also referred to as 'nominal width'. - * - * y_ppem :: - * The height of the scaled EM square in pixels, hence the term 'ppem' - * (pixels per EM). It is also referred to as 'nominal height'. - * - * x_scale :: - * A 16.16 fractional scaling value to convert horizontal metrics from - * font units to 26.6 fractional pixels. Only relevant for scalable - * font formats. - * - * y_scale :: - * A 16.16 fractional scaling value to convert vertical metrics from - * font units to 26.6 fractional pixels. Only relevant for scalable - * font formats. - * - * ascender :: - * The ascender in 26.6 fractional pixels, rounded up to an integer - * value. See @FT_FaceRec for the details. - * - * descender :: - * The descender in 26.6 fractional pixels, rounded down to an integer - * value. See @FT_FaceRec for the details. - * - * height :: - * The height in 26.6 fractional pixels, rounded to an integer value. - * See @FT_FaceRec for the details. - * - * max_advance :: - * The maximum advance width in 26.6 fractional pixels, rounded to an - * integer value. See @FT_FaceRec for the details. - * - * @note: - * The scaling values, if relevant, are determined first during a size - * changing operation. The remaining fields are then set by the driver. - * For scalable formats, they are usually set to scaled values of the - * corresponding fields in @FT_FaceRec. Some values like ascender or - * descender are rounded for historical reasons; more precise values (for - * outline fonts) can be derived by scaling the corresponding @FT_FaceRec - * values manually, with code similar to the following. - * - * ``` - * scaled_ascender = FT_MulFix( face->ascender, - * size_metrics->y_scale ); - * ``` - * - * Note that due to glyph hinting and the selected rendering mode these - * values are usually not exact; consequently, they must be treated as - * unreliable with an error margin of at least one pixel! - * - * Indeed, the only way to get the exact metrics is to render _all_ - * glyphs. As this would be a definite performance hit, it is up to - * client applications to perform such computations. - * - * The `FT_Size_Metrics` structure is valid for bitmap fonts also. - * - * - * **TrueType fonts with native bytecode hinting** - * - * All applications that handle TrueType fonts with native hinting must - * be aware that TTFs expect different rounding of vertical font - * dimensions. The application has to cater for this, especially if it - * wants to rely on a TTF's vertical data (for example, to properly align - * box characters vertically). - * - * Only the application knows _in advance_ that it is going to use native - * hinting for TTFs! FreeType, on the other hand, selects the hinting - * mode not at the time of creating an @FT_Size object but much later, - * namely while calling @FT_Load_Glyph. - * - * Here is some pseudo code that illustrates a possible solution. - * - * ``` - * font_format = FT_Get_Font_Format( face ); - * - * if ( !strcmp( font_format, "TrueType" ) && - * do_native_bytecode_hinting ) - * { - * ascender = ROUND( FT_MulFix( face->ascender, - * size_metrics->y_scale ) ); - * descender = ROUND( FT_MulFix( face->descender, - * size_metrics->y_scale ) ); - * } - * else - * { - * ascender = size_metrics->ascender; - * descender = size_metrics->descender; - * } - * - * height = size_metrics->height; - * max_advance = size_metrics->max_advance; - * ``` - */ - typedef struct FT_Size_Metrics_ - { - FT_UShort x_ppem; /* horizontal pixels per EM */ - FT_UShort y_ppem; /* vertical pixels per EM */ - - FT_Fixed x_scale; /* scaling values used to convert font */ - FT_Fixed y_scale; /* units to 26.6 fractional pixels */ - - FT_Pos ascender; /* ascender in 26.6 frac. pixels */ - FT_Pos descender; /* descender in 26.6 frac. pixels */ - FT_Pos height; /* text height in 26.6 frac. pixels */ - FT_Pos max_advance; /* max horizontal advance, in 26.6 pixels */ - - } FT_Size_Metrics; - - - /************************************************************************** - * - * @struct: - * FT_SizeRec - * - * @description: - * FreeType root size class structure. A size object models a face - * object at a given size. - * - * @fields: - * face :: - * Handle to the parent face object. - * - * generic :: - * A typeless pointer, unused by the FreeType library or any of its - * drivers. It can be used by client applications to link their own - * data to each size object. - * - * metrics :: - * Metrics for this size object. This field is read-only. - */ - typedef struct FT_SizeRec_ - { - FT_Face face; /* parent face object */ - FT_Generic generic; /* generic pointer for client uses */ - FT_Size_Metrics metrics; /* size metrics */ - FT_Size_Internal internal; - - } FT_SizeRec; - - - /************************************************************************** - * - * @struct: - * FT_SubGlyph - * - * @description: - * The subglyph structure is an internal object used to describe - * subglyphs (for example, in the case of composites). - * - * @note: - * The subglyph implementation is not part of the high-level API, hence - * the forward structure declaration. - * - * You can however retrieve subglyph information with - * @FT_Get_SubGlyph_Info. - */ - typedef struct FT_SubGlyphRec_* FT_SubGlyph; - - - /************************************************************************** - * - * @type: - * FT_Slot_Internal - * - * @description: - * An opaque handle to an `FT_Slot_InternalRec` structure, used to model - * private data of a given @FT_GlyphSlot object. - */ - typedef struct FT_Slot_InternalRec_* FT_Slot_Internal; - - - /************************************************************************** - * - * @struct: - * FT_GlyphSlotRec - * - * @description: - * FreeType root glyph slot class structure. A glyph slot is a container - * where individual glyphs can be loaded, be they in outline or bitmap - * format. - * - * @fields: - * library :: - * A handle to the FreeType library instance this slot belongs to. - * - * face :: - * A handle to the parent face object. - * - * next :: - * In some cases (like some font tools), several glyph slots per face - * object can be a good thing. As this is rare, the glyph slots are - * listed through a direct, single-linked list using its `next` field. - * - * glyph_index :: - * [Since 2.10] The glyph index passed as an argument to @FT_Load_Glyph - * while initializing the glyph slot. - * - * generic :: - * A typeless pointer unused by the FreeType library or any of its - * drivers. It can be used by client applications to link their own - * data to each glyph slot object. - * - * metrics :: - * The metrics of the last loaded glyph in the slot. The returned - * values depend on the last load flags (see the @FT_Load_Glyph API - * function) and can be expressed either in 26.6 fractional pixels or - * font units. - * - * Note that even when the glyph image is transformed, the metrics are - * not. - * - * linearHoriAdvance :: - * The advance width of the unhinted glyph. Its value is expressed in - * 16.16 fractional pixels, unless @FT_LOAD_LINEAR_DESIGN is set when - * loading the glyph. This field can be important to perform correct - * WYSIWYG layout. Only relevant for outline glyphs. - * - * linearVertAdvance :: - * The advance height of the unhinted glyph. Its value is expressed in - * 16.16 fractional pixels, unless @FT_LOAD_LINEAR_DESIGN is set when - * loading the glyph. This field can be important to perform correct - * WYSIWYG layout. Only relevant for outline glyphs. - * - * advance :: - * This shorthand is, depending on @FT_LOAD_IGNORE_TRANSFORM, the - * transformed (hinted) advance width for the glyph, in 26.6 fractional - * pixel format. As specified with @FT_LOAD_VERTICAL_LAYOUT, it uses - * either the `horiAdvance` or the `vertAdvance` value of `metrics` - * field. - * - * format :: - * This field indicates the format of the image contained in the glyph - * slot. Typically @FT_GLYPH_FORMAT_BITMAP, @FT_GLYPH_FORMAT_OUTLINE, - * or @FT_GLYPH_FORMAT_COMPOSITE, but other values are possible. - * - * bitmap :: - * This field is used as a bitmap descriptor. Note that the address - * and content of the bitmap buffer can change between calls of - * @FT_Load_Glyph and a few other functions. - * - * bitmap_left :: - * The bitmap's left bearing expressed in integer pixels. - * - * bitmap_top :: - * The bitmap's top bearing expressed in integer pixels. This is the - * distance from the baseline to the top-most glyph scanline, upwards - * y~coordinates being **positive**. - * - * outline :: - * The outline descriptor for the current glyph image if its format is - * @FT_GLYPH_FORMAT_OUTLINE. Once a glyph is loaded, `outline` can be - * transformed, distorted, emboldened, etc. However, it must not be - * freed. - * - * num_subglyphs :: - * The number of subglyphs in a composite glyph. This field is only - * valid for the composite glyph format that should normally only be - * loaded with the @FT_LOAD_NO_RECURSE flag. - * - * subglyphs :: - * An array of subglyph descriptors for composite glyphs. There are - * `num_subglyphs` elements in there. Currently internal to FreeType. - * - * control_data :: - * Certain font drivers can also return the control data for a given - * glyph image (e.g. TrueType bytecode, Type~1 charstrings, etc.). - * This field is a pointer to such data; it is currently internal to - * FreeType. - * - * control_len :: - * This is the length in bytes of the control data. Currently internal - * to FreeType. - * - * other :: - * Reserved. - * - * lsb_delta :: - * The difference between hinted and unhinted left side bearing while - * auto-hinting is active. Zero otherwise. - * - * rsb_delta :: - * The difference between hinted and unhinted right side bearing while - * auto-hinting is active. Zero otherwise. - * - * @note: - * If @FT_Load_Glyph is called with default flags (see @FT_LOAD_DEFAULT) - * the glyph image is loaded in the glyph slot in its native format - * (e.g., an outline glyph for TrueType and Type~1 formats). [Since 2.9] - * The prospective bitmap metrics are calculated according to - * @FT_LOAD_TARGET_XXX and other flags even for the outline glyph, even - * if @FT_LOAD_RENDER is not set. - * - * This image can later be converted into a bitmap by calling - * @FT_Render_Glyph. This function searches the current renderer for the - * native image's format, then invokes it. - * - * The renderer is in charge of transforming the native image through the - * slot's face transformation fields, then converting it into a bitmap - * that is returned in `slot->bitmap`. - * - * Note that `slot->bitmap_left` and `slot->bitmap_top` are also used to - * specify the position of the bitmap relative to the current pen - * position (e.g., coordinates (0,0) on the baseline). Of course, - * `slot->format` is also changed to @FT_GLYPH_FORMAT_BITMAP. - * - * Here is a small pseudo code fragment that shows how to use `lsb_delta` - * and `rsb_delta` to do fractional positioning of glyphs: - * - * ``` - * FT_GlyphSlot slot = face->glyph; - * FT_Pos origin_x = 0; - * - * - * for all glyphs do - * - * - * FT_Outline_Translate( slot->outline, origin_x & 63, 0 ); - * - * - * - * - * - * origin_x += slot->advance.x; - * origin_x += slot->lsb_delta - slot->rsb_delta; - * endfor - * ``` - * - * Here is another small pseudo code fragment that shows how to use - * `lsb_delta` and `rsb_delta` to improve integer positioning of glyphs: - * - * ``` - * FT_GlyphSlot slot = face->glyph; - * FT_Pos origin_x = 0; - * FT_Pos prev_rsb_delta = 0; - * - * - * for all glyphs do - * - * - * - * - * if ( prev_rsb_delta - slot->lsb_delta > 32 ) - * origin_x -= 64; - * else if ( prev_rsb_delta - slot->lsb_delta < -31 ) - * origin_x += 64; - * - * prev_rsb_delta = slot->rsb_delta; - * - * - * - * origin_x += slot->advance.x; - * endfor - * ``` - * - * If you use strong auto-hinting, you **must** apply these delta values! - * Otherwise you will experience far too large inter-glyph spacing at - * small rendering sizes in most cases. Note that it doesn't harm to use - * the above code for other hinting modes also, since the delta values - * are zero then. - */ - typedef struct FT_GlyphSlotRec_ - { - FT_Library library; - FT_Face face; - FT_GlyphSlot next; - FT_UInt glyph_index; /* new in 2.10; was reserved previously */ - FT_Generic generic; - - FT_Glyph_Metrics metrics; - FT_Fixed linearHoriAdvance; - FT_Fixed linearVertAdvance; - FT_Vector advance; - - FT_Glyph_Format format; - - FT_Bitmap bitmap; - FT_Int bitmap_left; - FT_Int bitmap_top; - - FT_Outline outline; - - FT_UInt num_subglyphs; - FT_SubGlyph subglyphs; - - void* control_data; - long control_len; - - FT_Pos lsb_delta; - FT_Pos rsb_delta; - - void* other; - - FT_Slot_Internal internal; - - } FT_GlyphSlotRec; - - - /*************************************************************************/ - /*************************************************************************/ - /* */ - /* F U N C T I O N S */ - /* */ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @function: - * FT_Init_FreeType - * - * @description: - * Initialize a new FreeType library object. The set of modules that are - * registered by this function is determined at build time. - * - * @output: - * alibrary :: - * A handle to a new library object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * In case you want to provide your own memory allocating routines, use - * @FT_New_Library instead, followed by a call to @FT_Add_Default_Modules - * (or a series of calls to @FT_Add_Module) and - * @FT_Set_Default_Properties. - * - * See the documentation of @FT_Library and @FT_Face for multi-threading - * issues. - * - * If you need reference-counting (cf. @FT_Reference_Library), use - * @FT_New_Library and @FT_Done_Library. - * - * If compilation option `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES` is - * set, this function reads the `FREETYPE_PROPERTIES` environment - * variable to control driver properties. See section @properties for - * more. - */ - FT_EXPORT( FT_Error ) - FT_Init_FreeType( FT_Library *alibrary ); - - - /************************************************************************** - * - * @function: - * FT_Done_FreeType - * - * @description: - * Destroy a given FreeType library object and all of its children, - * including resources, drivers, faces, sizes, etc. - * - * @input: - * library :: - * A handle to the target library object. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Done_FreeType( FT_Library library ); - - - /************************************************************************** - * - * @enum: - * FT_OPEN_XXX - * - * @description: - * A list of bit field constants used within the `flags` field of the - * @FT_Open_Args structure. - * - * @values: - * FT_OPEN_MEMORY :: - * This is a memory-based stream. - * - * FT_OPEN_STREAM :: - * Copy the stream from the `stream` field. - * - * FT_OPEN_PATHNAME :: - * Create a new input stream from a C~path name. - * - * FT_OPEN_DRIVER :: - * Use the `driver` field. - * - * FT_OPEN_PARAMS :: - * Use the `num_params` and `params` fields. - * - * @note: - * The `FT_OPEN_MEMORY`, `FT_OPEN_STREAM`, and `FT_OPEN_PATHNAME` flags - * are mutually exclusive. - */ -#define FT_OPEN_MEMORY 0x1 -#define FT_OPEN_STREAM 0x2 -#define FT_OPEN_PATHNAME 0x4 -#define FT_OPEN_DRIVER 0x8 -#define FT_OPEN_PARAMS 0x10 - - - /* these constants are deprecated; use the corresponding `FT_OPEN_XXX` */ - /* values instead */ -#define ft_open_memory FT_OPEN_MEMORY -#define ft_open_stream FT_OPEN_STREAM -#define ft_open_pathname FT_OPEN_PATHNAME -#define ft_open_driver FT_OPEN_DRIVER -#define ft_open_params FT_OPEN_PARAMS - - - /************************************************************************** - * - * @struct: - * FT_Parameter - * - * @description: - * A simple structure to pass more or less generic parameters to - * @FT_Open_Face and @FT_Face_Properties. - * - * @fields: - * tag :: - * A four-byte identification tag. - * - * data :: - * A pointer to the parameter data. - * - * @note: - * The ID and function of parameters are driver-specific. See section - * @parameter_tags for more information. - */ - typedef struct FT_Parameter_ - { - FT_ULong tag; - FT_Pointer data; - - } FT_Parameter; - - - /************************************************************************** - * - * @struct: - * FT_Open_Args - * - * @description: - * A structure to indicate how to open a new font file or stream. A - * pointer to such a structure can be used as a parameter for the - * functions @FT_Open_Face and @FT_Attach_Stream. - * - * @fields: - * flags :: - * A set of bit flags indicating how to use the structure. - * - * memory_base :: - * The first byte of the file in memory. - * - * memory_size :: - * The size in bytes of the file in memory. - * - * pathname :: - * A pointer to an 8-bit file pathname. - * - * stream :: - * A handle to a source stream object. - * - * driver :: - * This field is exclusively used by @FT_Open_Face; it simply specifies - * the font driver to use for opening the face. If set to `NULL`, - * FreeType tries to load the face with each one of the drivers in its - * list. - * - * num_params :: - * The number of extra parameters. - * - * params :: - * Extra parameters passed to the font driver when opening a new face. - * - * @note: - * The stream type is determined by the contents of `flags` that are - * tested in the following order by @FT_Open_Face: - * - * If the @FT_OPEN_MEMORY bit is set, assume that this is a memory file - * of `memory_size` bytes, located at `memory_address`. The data are not - * copied, and the client is responsible for releasing and destroying - * them _after_ the corresponding call to @FT_Done_Face. - * - * Otherwise, if the @FT_OPEN_STREAM bit is set, assume that a custom - * input stream `stream` is used. - * - * Otherwise, if the @FT_OPEN_PATHNAME bit is set, assume that this is a - * normal file and use `pathname` to open it. - * - * If the @FT_OPEN_DRIVER bit is set, @FT_Open_Face only tries to open - * the file with the driver whose handler is in `driver`. - * - * If the @FT_OPEN_PARAMS bit is set, the parameters given by - * `num_params` and `params` is used. They are ignored otherwise. - * - * Ideally, both the `pathname` and `params` fields should be tagged as - * 'const'; this is missing for API backward compatibility. In other - * words, applications should treat them as read-only. - */ - typedef struct FT_Open_Args_ - { - FT_UInt flags; - const FT_Byte* memory_base; - FT_Long memory_size; - FT_String* pathname; - FT_Stream stream; - FT_Module driver; - FT_Int num_params; - FT_Parameter* params; - - } FT_Open_Args; - - - /************************************************************************** - * - * @function: - * FT_New_Face - * - * @description: - * Call @FT_Open_Face to open a font by its pathname. - * - * @inout: - * library :: - * A handle to the library resource. - * - * @input: - * pathname :: - * A path to the font file. - * - * face_index :: - * See @FT_Open_Face for a detailed description of this parameter. - * - * @output: - * aface :: - * A handle to a new face object. If `face_index` is greater than or - * equal to zero, it must be non-`NULL`. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Use @FT_Done_Face to destroy the created @FT_Face object (along with - * its slot and sizes). - */ - FT_EXPORT( FT_Error ) - FT_New_Face( FT_Library library, - const char* filepathname, - FT_Long face_index, - FT_Face *aface ); - - - /************************************************************************** - * - * @function: - * FT_New_Memory_Face - * - * @description: - * Call @FT_Open_Face to open a font that has been loaded into memory. - * - * @inout: - * library :: - * A handle to the library resource. - * - * @input: - * file_base :: - * A pointer to the beginning of the font data. - * - * file_size :: - * The size of the memory chunk used by the font data. - * - * face_index :: - * See @FT_Open_Face for a detailed description of this parameter. - * - * @output: - * aface :: - * A handle to a new face object. If `face_index` is greater than or - * equal to zero, it must be non-`NULL`. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * You must not deallocate the memory before calling @FT_Done_Face. - */ - FT_EXPORT( FT_Error ) - FT_New_Memory_Face( FT_Library library, - const FT_Byte* file_base, - FT_Long file_size, - FT_Long face_index, - FT_Face *aface ); - - - /************************************************************************** - * - * @function: - * FT_Open_Face - * - * @description: - * Create a face object from a given resource described by @FT_Open_Args. - * - * @inout: - * library :: - * A handle to the library resource. - * - * @input: - * args :: - * A pointer to an `FT_Open_Args` structure that must be filled by the - * caller. - * - * face_index :: - * This field holds two different values. Bits 0-15 are the index of - * the face in the font file (starting with value~0). Set it to~0 if - * there is only one face in the font file. - * - * [Since 2.6.1] Bits 16-30 are relevant to GX and OpenType variation - * fonts only, specifying the named instance index for the current face - * index (starting with value~1; value~0 makes FreeType ignore named - * instances). For non-variation fonts, bits 16-30 are ignored. - * Assuming that you want to access the third named instance in face~4, - * `face_index` should be set to 0x00030004. If you want to access - * face~4 without variation handling, simply set `face_index` to - * value~4. - * - * `FT_Open_Face` and its siblings can be used to quickly check whether - * the font format of a given font resource is supported by FreeType. - * In general, if the `face_index` argument is negative, the function's - * return value is~0 if the font format is recognized, or non-zero - * otherwise. The function allocates a more or less empty face handle - * in `*aface` (if `aface` isn't `NULL`); the only two useful fields in - * this special case are `face->num_faces` and `face->style_flags`. - * For any negative value of `face_index`, `face->num_faces` gives the - * number of faces within the font file. For the negative value - * '-(N+1)' (with 'N' a non-negative 16-bit value), bits 16-30 in - * `face->style_flags` give the number of named instances in face 'N' - * if we have a variation font (or zero otherwise). After examination, - * the returned @FT_Face structure should be deallocated with a call to - * @FT_Done_Face. - * - * @output: - * aface :: - * A handle to a new face object. If `face_index` is greater than or - * equal to zero, it must be non-`NULL`. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Unlike FreeType 1.x, this function automatically creates a glyph slot - * for the face object that can be accessed directly through - * `face->glyph`. - * - * Each new face object created with this function also owns a default - * @FT_Size object, accessible as `face->size`. - * - * One @FT_Library instance can have multiple face objects, this is, - * @FT_Open_Face and its siblings can be called multiple times using the - * same `library` argument. - * - * See the discussion of reference counters in the description of - * @FT_Reference_Face. - * - * @example: - * To loop over all faces, use code similar to the following snippet - * (omitting the error handling). - * - * ``` - * ... - * FT_Face face; - * FT_Long i, num_faces; - * - * - * error = FT_Open_Face( library, args, -1, &face ); - * if ( error ) { ... } - * - * num_faces = face->num_faces; - * FT_Done_Face( face ); - * - * for ( i = 0; i < num_faces; i++ ) - * { - * ... - * error = FT_Open_Face( library, args, i, &face ); - * ... - * FT_Done_Face( face ); - * ... - * } - * ``` - * - * To loop over all valid values for `face_index`, use something similar - * to the following snippet, again without error handling. The code - * accesses all faces immediately (thus only a single call of - * `FT_Open_Face` within the do-loop), with and without named instances. - * - * ``` - * ... - * FT_Face face; - * - * FT_Long num_faces = 0; - * FT_Long num_instances = 0; - * - * FT_Long face_idx = 0; - * FT_Long instance_idx = 0; - * - * - * do - * { - * FT_Long id = ( instance_idx << 16 ) + face_idx; - * - * - * error = FT_Open_Face( library, args, id, &face ); - * if ( error ) { ... } - * - * num_faces = face->num_faces; - * num_instances = face->style_flags >> 16; - * - * ... - * - * FT_Done_Face( face ); - * - * if ( instance_idx < num_instances ) - * instance_idx++; - * else - * { - * face_idx++; - * instance_idx = 0; - * } - * - * } while ( face_idx < num_faces ) - * ``` - */ - FT_EXPORT( FT_Error ) - FT_Open_Face( FT_Library library, - const FT_Open_Args* args, - FT_Long face_index, - FT_Face *aface ); - - - /************************************************************************** - * - * @function: - * FT_Attach_File - * - * @description: - * Call @FT_Attach_Stream to attach a file. - * - * @inout: - * face :: - * The target face object. - * - * @input: - * filepathname :: - * The pathname. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Attach_File( FT_Face face, - const char* filepathname ); - - - /************************************************************************** - * - * @function: - * FT_Attach_Stream - * - * @description: - * 'Attach' data to a face object. Normally, this is used to read - * additional information for the face object. For example, you can - * attach an AFM file that comes with a Type~1 font to get the kerning - * values and other metrics. - * - * @inout: - * face :: - * The target face object. - * - * @input: - * parameters :: - * A pointer to @FT_Open_Args that must be filled by the caller. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The meaning of the 'attach' (i.e., what really happens when the new - * file is read) is not fixed by FreeType itself. It really depends on - * the font format (and thus the font driver). - * - * Client applications are expected to know what they are doing when - * invoking this function. Most drivers simply do not implement file or - * stream attachments. - */ - FT_EXPORT( FT_Error ) - FT_Attach_Stream( FT_Face face, - FT_Open_Args* parameters ); - - - /************************************************************************** - * - * @function: - * FT_Reference_Face - * - * @description: - * A counter gets initialized to~1 at the time an @FT_Face structure is - * created. This function increments the counter. @FT_Done_Face then - * only destroys a face if the counter is~1, otherwise it simply - * decrements the counter. - * - * This function helps in managing life-cycles of structures that - * reference @FT_Face objects. - * - * @input: - * face :: - * A handle to a target face object. - * - * @return: - * FreeType error code. 0~means success. - * - * @since: - * 2.4.2 - */ - FT_EXPORT( FT_Error ) - FT_Reference_Face( FT_Face face ); - - - /************************************************************************** - * - * @function: - * FT_Done_Face - * - * @description: - * Discard a given face object, as well as all of its child slots and - * sizes. - * - * @input: - * face :: - * A handle to a target face object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * See the discussion of reference counters in the description of - * @FT_Reference_Face. - */ - FT_EXPORT( FT_Error ) - FT_Done_Face( FT_Face face ); - - - /************************************************************************** - * - * @function: - * FT_Select_Size - * - * @description: - * Select a bitmap strike. To be more precise, this function sets the - * scaling factors of the active @FT_Size object in a face so that - * bitmaps from this particular strike are taken by @FT_Load_Glyph and - * friends. - * - * @inout: - * face :: - * A handle to a target face object. - * - * @input: - * strike_index :: - * The index of the bitmap strike in the `available_sizes` field of - * @FT_FaceRec structure. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * For bitmaps embedded in outline fonts it is common that only a subset - * of the available glyphs at a given ppem value is available. FreeType - * silently uses outlines if there is no bitmap for a given glyph index. - * - * For GX and OpenType variation fonts, a bitmap strike makes sense only - * if the default instance is active (this is, no glyph variation takes - * place); otherwise, FreeType simply ignores bitmap strikes. The same - * is true for all named instances that are different from the default - * instance. - * - * Don't use this function if you are using the FreeType cache API. - */ - FT_EXPORT( FT_Error ) - FT_Select_Size( FT_Face face, - FT_Int strike_index ); - - - /************************************************************************** - * - * @enum: - * FT_Size_Request_Type - * - * @description: - * An enumeration type that lists the supported size request types, i.e., - * what input size (in font units) maps to the requested output size (in - * pixels, as computed from the arguments of @FT_Size_Request). - * - * @values: - * FT_SIZE_REQUEST_TYPE_NOMINAL :: - * The nominal size. The `units_per_EM` field of @FT_FaceRec is used - * to determine both scaling values. - * - * This is the standard scaling found in most applications. In - * particular, use this size request type for TrueType fonts if they - * provide optical scaling or something similar. Note, however, that - * `units_per_EM` is a rather abstract value which bears no relation to - * the actual size of the glyphs in a font. - * - * FT_SIZE_REQUEST_TYPE_REAL_DIM :: - * The real dimension. The sum of the `ascender` and (minus of) the - * `descender` fields of @FT_FaceRec is used to determine both scaling - * values. - * - * FT_SIZE_REQUEST_TYPE_BBOX :: - * The font bounding box. The width and height of the `bbox` field of - * @FT_FaceRec are used to determine the horizontal and vertical - * scaling value, respectively. - * - * FT_SIZE_REQUEST_TYPE_CELL :: - * The `max_advance_width` field of @FT_FaceRec is used to determine - * the horizontal scaling value; the vertical scaling value is - * determined the same way as @FT_SIZE_REQUEST_TYPE_REAL_DIM does. - * Finally, both scaling values are set to the smaller one. This type - * is useful if you want to specify the font size for, say, a window of - * a given dimension and 80x24 cells. - * - * FT_SIZE_REQUEST_TYPE_SCALES :: - * Specify the scaling values directly. - * - * @note: - * The above descriptions only apply to scalable formats. For bitmap - * formats, the behaviour is up to the driver. - * - * See the note section of @FT_Size_Metrics if you wonder how size - * requesting relates to scaling values. - */ - typedef enum FT_Size_Request_Type_ - { - FT_SIZE_REQUEST_TYPE_NOMINAL, - FT_SIZE_REQUEST_TYPE_REAL_DIM, - FT_SIZE_REQUEST_TYPE_BBOX, - FT_SIZE_REQUEST_TYPE_CELL, - FT_SIZE_REQUEST_TYPE_SCALES, - - FT_SIZE_REQUEST_TYPE_MAX - - } FT_Size_Request_Type; - - - /************************************************************************** - * - * @struct: - * FT_Size_RequestRec - * - * @description: - * A structure to model a size request. - * - * @fields: - * type :: - * See @FT_Size_Request_Type. - * - * width :: - * The desired width, given as a 26.6 fractional point value (with 72pt - * = 1in). - * - * height :: - * The desired height, given as a 26.6 fractional point value (with - * 72pt = 1in). - * - * horiResolution :: - * The horizontal resolution (dpi, i.e., pixels per inch). If set to - * zero, `width` is treated as a 26.6 fractional **pixel** value, which - * gets internally rounded to an integer. - * - * vertResolution :: - * The vertical resolution (dpi, i.e., pixels per inch). If set to - * zero, `height` is treated as a 26.6 fractional **pixel** value, - * which gets internally rounded to an integer. - * - * @note: - * If `width` is zero, the horizontal scaling value is set equal to the - * vertical scaling value, and vice versa. - * - * If `type` is `FT_SIZE_REQUEST_TYPE_SCALES`, `width` and `height` are - * interpreted directly as 16.16 fractional scaling values, without any - * further modification, and both `horiResolution` and `vertResolution` - * are ignored. - */ - typedef struct FT_Size_RequestRec_ - { - FT_Size_Request_Type type; - FT_Long width; - FT_Long height; - FT_UInt horiResolution; - FT_UInt vertResolution; - - } FT_Size_RequestRec; - - - /************************************************************************** - * - * @struct: - * FT_Size_Request - * - * @description: - * A handle to a size request structure. - */ - typedef struct FT_Size_RequestRec_ *FT_Size_Request; - - - /************************************************************************** - * - * @function: - * FT_Request_Size - * - * @description: - * Resize the scale of the active @FT_Size object in a face. - * - * @inout: - * face :: - * A handle to a target face object. - * - * @input: - * req :: - * A pointer to a @FT_Size_RequestRec. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Although drivers may select the bitmap strike matching the request, - * you should not rely on this if you intend to select a particular - * bitmap strike. Use @FT_Select_Size instead in that case. - * - * The relation between the requested size and the resulting glyph size - * is dependent entirely on how the size is defined in the source face. - * The font designer chooses the final size of each glyph relative to - * this size. For more information refer to - * 'https://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html'. - * - * Contrary to @FT_Set_Char_Size, this function doesn't have special code - * to normalize zero-valued widths, heights, or resolutions (which lead - * to errors in most cases). - * - * Don't use this function if you are using the FreeType cache API. - */ - FT_EXPORT( FT_Error ) - FT_Request_Size( FT_Face face, - FT_Size_Request req ); - - - /************************************************************************** - * - * @function: - * FT_Set_Char_Size - * - * @description: - * Call @FT_Request_Size to request the nominal size (in points). - * - * @inout: - * face :: - * A handle to a target face object. - * - * @input: - * char_width :: - * The nominal width, in 26.6 fractional points. - * - * char_height :: - * The nominal height, in 26.6 fractional points. - * - * horz_resolution :: - * The horizontal resolution in dpi. - * - * vert_resolution :: - * The vertical resolution in dpi. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * While this function allows fractional points as input values, the - * resulting ppem value for the given resolution is always rounded to the - * nearest integer. - * - * If either the character width or height is zero, it is set equal to - * the other value. - * - * If either the horizontal or vertical resolution is zero, it is set - * equal to the other value. - * - * A character width or height smaller than 1pt is set to 1pt; if both - * resolution values are zero, they are set to 72dpi. - * - * Don't use this function if you are using the FreeType cache API. - */ - FT_EXPORT( FT_Error ) - FT_Set_Char_Size( FT_Face face, - FT_F26Dot6 char_width, - FT_F26Dot6 char_height, - FT_UInt horz_resolution, - FT_UInt vert_resolution ); - - - /************************************************************************** - * - * @function: - * FT_Set_Pixel_Sizes - * - * @description: - * Call @FT_Request_Size to request the nominal size (in pixels). - * - * @inout: - * face :: - * A handle to the target face object. - * - * @input: - * pixel_width :: - * The nominal width, in pixels. - * - * pixel_height :: - * The nominal height, in pixels. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * You should not rely on the resulting glyphs matching or being - * constrained to this pixel size. Refer to @FT_Request_Size to - * understand how requested sizes relate to actual sizes. - * - * Don't use this function if you are using the FreeType cache API. - */ - FT_EXPORT( FT_Error ) - FT_Set_Pixel_Sizes( FT_Face face, - FT_UInt pixel_width, - FT_UInt pixel_height ); - - - /************************************************************************** - * - * @function: - * FT_Load_Glyph - * - * @description: - * Load a glyph into the glyph slot of a face object. - * - * @inout: - * face :: - * A handle to the target face object where the glyph is loaded. - * - * @input: - * glyph_index :: - * The index of the glyph in the font file. For CID-keyed fonts - * (either in PS or in CFF format) this argument specifies the CID - * value. - * - * load_flags :: - * A flag indicating what to load for this glyph. The @FT_LOAD_XXX - * constants can be used to control the glyph loading process (e.g., - * whether the outline should be scaled, whether to load bitmaps or - * not, whether to hint the outline, etc). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The loaded glyph may be transformed. See @FT_Set_Transform for the - * details. - * - * For subsetted CID-keyed fonts, `FT_Err_Invalid_Argument` is returned - * for invalid CID values (this is, for CID values that don't have a - * corresponding glyph in the font). See the discussion of the - * @FT_FACE_FLAG_CID_KEYED flag for more details. - * - * If you receive `FT_Err_Glyph_Too_Big`, try getting the glyph outline - * at EM size, then scale it manually and fill it as a graphics - * operation. - */ - FT_EXPORT( FT_Error ) - FT_Load_Glyph( FT_Face face, - FT_UInt glyph_index, - FT_Int32 load_flags ); - - - /************************************************************************** - * - * @function: - * FT_Load_Char - * - * @description: - * Load a glyph into the glyph slot of a face object, accessed by its - * character code. - * - * @inout: - * face :: - * A handle to a target face object where the glyph is loaded. - * - * @input: - * char_code :: - * The glyph's character code, according to the current charmap used in - * the face. - * - * load_flags :: - * A flag indicating what to load for this glyph. The @FT_LOAD_XXX - * constants can be used to control the glyph loading process (e.g., - * whether the outline should be scaled, whether to load bitmaps or - * not, whether to hint the outline, etc). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function simply calls @FT_Get_Char_Index and @FT_Load_Glyph. - * - * Many fonts contain glyphs that can't be loaded by this function since - * its glyph indices are not listed in any of the font's charmaps. - * - * If no active cmap is set up (i.e., `face->charmap` is zero), the call - * to @FT_Get_Char_Index is omitted, and the function behaves identically - * to @FT_Load_Glyph. - */ - FT_EXPORT( FT_Error ) - FT_Load_Char( FT_Face face, - FT_ULong char_code, - FT_Int32 load_flags ); - - - /************************************************************************** - * - * @enum: - * FT_LOAD_XXX - * - * @description: - * A list of bit field constants for @FT_Load_Glyph to indicate what kind - * of operations to perform during glyph loading. - * - * @values: - * FT_LOAD_DEFAULT :: - * Corresponding to~0, this value is used as the default glyph load - * operation. In this case, the following happens: - * - * 1. FreeType looks for a bitmap for the glyph corresponding to the - * face's current size. If one is found, the function returns. The - * bitmap data can be accessed from the glyph slot (see note below). - * - * 2. If no embedded bitmap is searched for or found, FreeType looks - * for a scalable outline. If one is found, it is loaded from the font - * file, scaled to device pixels, then 'hinted' to the pixel grid in - * order to optimize it. The outline data can be accessed from the - * glyph slot (see note below). - * - * Note that by default the glyph loader doesn't render outlines into - * bitmaps. The following flags are used to modify this default - * behaviour to more specific and useful cases. - * - * FT_LOAD_NO_SCALE :: - * Don't scale the loaded outline glyph but keep it in font units. - * - * This flag implies @FT_LOAD_NO_HINTING and @FT_LOAD_NO_BITMAP, and - * unsets @FT_LOAD_RENDER. - * - * If the font is 'tricky' (see @FT_FACE_FLAG_TRICKY for more), using - * `FT_LOAD_NO_SCALE` usually yields meaningless outlines because the - * subglyphs must be scaled and positioned with hinting instructions. - * This can be solved by loading the font without `FT_LOAD_NO_SCALE` - * and setting the character size to `font->units_per_EM`. - * - * FT_LOAD_NO_HINTING :: - * Disable hinting. This generally generates 'blurrier' bitmap glyphs - * when the glyph are rendered in any of the anti-aliased modes. See - * also the note below. - * - * This flag is implied by @FT_LOAD_NO_SCALE. - * - * FT_LOAD_RENDER :: - * Call @FT_Render_Glyph after the glyph is loaded. By default, the - * glyph is rendered in @FT_RENDER_MODE_NORMAL mode. This can be - * overridden by @FT_LOAD_TARGET_XXX or @FT_LOAD_MONOCHROME. - * - * This flag is unset by @FT_LOAD_NO_SCALE. - * - * FT_LOAD_NO_BITMAP :: - * Ignore bitmap strikes when loading. Bitmap-only fonts ignore this - * flag. - * - * @FT_LOAD_NO_SCALE always sets this flag. - * - * FT_LOAD_VERTICAL_LAYOUT :: - * Load the glyph for vertical text layout. In particular, the - * `advance` value in the @FT_GlyphSlotRec structure is set to the - * `vertAdvance` value of the `metrics` field. - * - * In case @FT_HAS_VERTICAL doesn't return true, you shouldn't use this - * flag currently. Reason is that in this case vertical metrics get - * synthesized, and those values are not always consistent across - * various font formats. - * - * FT_LOAD_FORCE_AUTOHINT :: - * Prefer the auto-hinter over the font's native hinter. See also the - * note below. - * - * FT_LOAD_PEDANTIC :: - * Make the font driver perform pedantic verifications during glyph - * loading and hinting. This is mostly used to detect broken glyphs in - * fonts. By default, FreeType tries to handle broken fonts also. - * - * In particular, errors from the TrueType bytecode engine are not - * passed to the application if this flag is not set; this might result - * in partially hinted or distorted glyphs in case a glyph's bytecode - * is buggy. - * - * FT_LOAD_NO_RECURSE :: - * Don't load composite glyphs recursively. Instead, the font driver - * fills the `num_subglyph` and `subglyphs` values of the glyph slot; - * it also sets `glyph->format` to @FT_GLYPH_FORMAT_COMPOSITE. The - * description of subglyphs can then be accessed with - * @FT_Get_SubGlyph_Info. - * - * Don't use this flag for retrieving metrics information since some - * font drivers only return rudimentary data. - * - * This flag implies @FT_LOAD_NO_SCALE and @FT_LOAD_IGNORE_TRANSFORM. - * - * FT_LOAD_IGNORE_TRANSFORM :: - * Ignore the transform matrix set by @FT_Set_Transform. - * - * FT_LOAD_MONOCHROME :: - * This flag is used with @FT_LOAD_RENDER to indicate that you want to - * render an outline glyph to a 1-bit monochrome bitmap glyph, with - * 8~pixels packed into each byte of the bitmap data. - * - * Note that this has no effect on the hinting algorithm used. You - * should rather use @FT_LOAD_TARGET_MONO so that the - * monochrome-optimized hinting algorithm is used. - * - * FT_LOAD_LINEAR_DESIGN :: - * Keep `linearHoriAdvance` and `linearVertAdvance` fields of - * @FT_GlyphSlotRec in font units. See @FT_GlyphSlotRec for details. - * - * FT_LOAD_NO_AUTOHINT :: - * Disable the auto-hinter. See also the note below. - * - * FT_LOAD_COLOR :: - * Load colored glyphs. There are slight differences depending on the - * font format. - * - * [Since 2.5] Load embedded color bitmap images. The resulting color - * bitmaps, if available, will have the @FT_PIXEL_MODE_BGRA format, - * with pre-multiplied color channels. If the flag is not set and - * color bitmaps are found, they are converted to 256-level gray - * bitmaps, using the @FT_PIXEL_MODE_GRAY format. - * - * [Since 2.10, experimental] If the glyph index contains an entry in - * the face's 'COLR' table with a 'CPAL' palette table (as defined in - * the OpenType specification), make @FT_Render_Glyph provide a default - * blending of the color glyph layers associated with the glyph index, - * using the same bitmap format as embedded color bitmap images. This - * is mainly for convenience; for full control of color layers use - * @FT_Get_Color_Glyph_Layer and FreeType's color functions like - * @FT_Palette_Select instead of setting @FT_LOAD_COLOR for rendering - * so that the client application can handle blending by itself. - * - * FT_LOAD_COMPUTE_METRICS :: - * [Since 2.6.1] Compute glyph metrics from the glyph data, without the - * use of bundled metrics tables (for example, the 'hdmx' table in - * TrueType fonts). This flag is mainly used by font validating or - * font editing applications, which need to ignore, verify, or edit - * those tables. - * - * Currently, this flag is only implemented for TrueType fonts. - * - * FT_LOAD_BITMAP_METRICS_ONLY :: - * [Since 2.7.1] Request loading of the metrics and bitmap image - * information of a (possibly embedded) bitmap glyph without allocating - * or copying the bitmap image data itself. No effect if the target - * glyph is not a bitmap image. - * - * This flag unsets @FT_LOAD_RENDER. - * - * FT_LOAD_CROP_BITMAP :: - * Ignored. Deprecated. - * - * FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH :: - * Ignored. Deprecated. - * - * @note: - * By default, hinting is enabled and the font's native hinter (see - * @FT_FACE_FLAG_HINTER) is preferred over the auto-hinter. You can - * disable hinting by setting @FT_LOAD_NO_HINTING or change the - * precedence by setting @FT_LOAD_FORCE_AUTOHINT. You can also set - * @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be used - * at all. - * - * See the description of @FT_FACE_FLAG_TRICKY for a special exception - * (affecting only a handful of Asian fonts). - * - * Besides deciding which hinter to use, you can also decide which - * hinting algorithm to use. See @FT_LOAD_TARGET_XXX for details. - * - * Note that the auto-hinter needs a valid Unicode cmap (either a native - * one or synthesized by FreeType) for producing correct results. If a - * font provides an incorrect mapping (for example, assigning the - * character code U+005A, LATIN CAPITAL LETTER~Z, to a glyph depicting a - * mathematical integral sign), the auto-hinter might produce useless - * results. - * - */ -#define FT_LOAD_DEFAULT 0x0 -#define FT_LOAD_NO_SCALE ( 1L << 0 ) -#define FT_LOAD_NO_HINTING ( 1L << 1 ) -#define FT_LOAD_RENDER ( 1L << 2 ) -#define FT_LOAD_NO_BITMAP ( 1L << 3 ) -#define FT_LOAD_VERTICAL_LAYOUT ( 1L << 4 ) -#define FT_LOAD_FORCE_AUTOHINT ( 1L << 5 ) -#define FT_LOAD_CROP_BITMAP ( 1L << 6 ) -#define FT_LOAD_PEDANTIC ( 1L << 7 ) -#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ( 1L << 9 ) -#define FT_LOAD_NO_RECURSE ( 1L << 10 ) -#define FT_LOAD_IGNORE_TRANSFORM ( 1L << 11 ) -#define FT_LOAD_MONOCHROME ( 1L << 12 ) -#define FT_LOAD_LINEAR_DESIGN ( 1L << 13 ) -#define FT_LOAD_NO_AUTOHINT ( 1L << 15 ) - /* Bits 16-19 are used by `FT_LOAD_TARGET_` */ -#define FT_LOAD_COLOR ( 1L << 20 ) -#define FT_LOAD_COMPUTE_METRICS ( 1L << 21 ) -#define FT_LOAD_BITMAP_METRICS_ONLY ( 1L << 22 ) - - /* */ - - /* used internally only by certain font drivers */ -#define FT_LOAD_ADVANCE_ONLY ( 1L << 8 ) -#define FT_LOAD_SBITS_ONLY ( 1L << 14 ) - - - /************************************************************************** - * - * @enum: - * FT_LOAD_TARGET_XXX - * - * @description: - * A list of values to select a specific hinting algorithm for the - * hinter. You should OR one of these values to your `load_flags` when - * calling @FT_Load_Glyph. - * - * Note that a font's native hinters may ignore the hinting algorithm you - * have specified (e.g., the TrueType bytecode interpreter). You can set - * @FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used. - * - * @values: - * FT_LOAD_TARGET_NORMAL :: - * The default hinting algorithm, optimized for standard gray-level - * rendering. For monochrome output, use @FT_LOAD_TARGET_MONO instead. - * - * FT_LOAD_TARGET_LIGHT :: - * A lighter hinting algorithm for gray-level modes. Many generated - * glyphs are fuzzier but better resemble their original shape. This - * is achieved by snapping glyphs to the pixel grid only vertically - * (Y-axis), as is done by FreeType's new CFF engine or Microsoft's - * ClearType font renderer. This preserves inter-glyph spacing in - * horizontal text. The snapping is done either by the native font - * driver, if the driver itself and the font support it, or by the - * auto-hinter. - * - * Advance widths are rounded to integer values; however, using the - * `lsb_delta` and `rsb_delta` fields of @FT_GlyphSlotRec, it is - * possible to get fractional advance widths for subpixel positioning - * (which is recommended to use). - * - * If configuration option `AF_CONFIG_OPTION_TT_SIZE_METRICS` is - * active, TrueType-like metrics are used to make this mode behave - * similarly as in unpatched FreeType versions between 2.4.6 and 2.7.1 - * (inclusive). - * - * FT_LOAD_TARGET_MONO :: - * Strong hinting algorithm that should only be used for monochrome - * output. The result is probably unpleasant if the glyph is rendered - * in non-monochrome modes. - * - * Note that for outline fonts only the TrueType font driver has proper - * monochrome hinting support, provided the TTFs contain hints for B/W - * rendering (which most fonts no longer provide). If these conditions - * are not met it is very likely that you get ugly results at smaller - * sizes. - * - * FT_LOAD_TARGET_LCD :: - * A variant of @FT_LOAD_TARGET_LIGHT optimized for horizontally - * decimated LCD displays. - * - * FT_LOAD_TARGET_LCD_V :: - * A variant of @FT_LOAD_TARGET_NORMAL optimized for vertically - * decimated LCD displays. - * - * @note: - * You should use only _one_ of the `FT_LOAD_TARGET_XXX` values in your - * `load_flags`. They can't be ORed. - * - * If @FT_LOAD_RENDER is also set, the glyph is rendered in the - * corresponding mode (i.e., the mode that matches the used algorithm - * best). An exception is `FT_LOAD_TARGET_MONO` since it implies - * @FT_LOAD_MONOCHROME. - * - * You can use a hinting algorithm that doesn't correspond to the same - * rendering mode. As an example, it is possible to use the 'light' - * hinting algorithm and have the results rendered in horizontal LCD - * pixel mode, with code like - * - * ``` - * FT_Load_Glyph( face, glyph_index, - * load_flags | FT_LOAD_TARGET_LIGHT ); - * - * FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD ); - * ``` - * - * In general, you should stick with one rendering mode. For example, - * switching between @FT_LOAD_TARGET_NORMAL and @FT_LOAD_TARGET_MONO - * enforces a lot of recomputation for TrueType fonts, which is slow. - * Another reason is caching: Selecting a different mode usually causes - * changes in both the outlines and the rasterized bitmaps; it is thus - * necessary to empty the cache after a mode switch to avoid false hits. - * - */ -#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 ) - -#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL ) -#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT ) -#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO ) -#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD ) -#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V ) - - - /************************************************************************** - * - * @macro: - * FT_LOAD_TARGET_MODE - * - * @description: - * Return the @FT_Render_Mode corresponding to a given - * @FT_LOAD_TARGET_XXX value. - * - */ -#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) ) - - - /************************************************************************** - * - * @function: - * FT_Set_Transform - * - * @description: - * Set the transformation that is applied to glyph images when they are - * loaded into a glyph slot through @FT_Load_Glyph. - * - * @inout: - * face :: - * A handle to the source face object. - * - * @input: - * matrix :: - * A pointer to the transformation's 2x2 matrix. Use `NULL` for the - * identity matrix. - * delta :: - * A pointer to the translation vector. Use `NULL` for the null vector. - * - * @note: - * The transformation is only applied to scalable image formats after the - * glyph has been loaded. It means that hinting is unaltered by the - * transformation and is performed on the character size given in the - * last call to @FT_Set_Char_Size or @FT_Set_Pixel_Sizes. - * - * Note that this also transforms the `face.glyph.advance` field, but - * **not** the values in `face.glyph.metrics`. - */ - FT_EXPORT( void ) - FT_Set_Transform( FT_Face face, - FT_Matrix* matrix, - FT_Vector* delta ); - - - /************************************************************************** - * - * @enum: - * FT_Render_Mode - * - * @description: - * Render modes supported by FreeType~2. Each mode corresponds to a - * specific type of scanline conversion performed on the outline. - * - * For bitmap fonts and embedded bitmaps the `bitmap->pixel_mode` field - * in the @FT_GlyphSlotRec structure gives the format of the returned - * bitmap. - * - * All modes except @FT_RENDER_MODE_MONO use 256 levels of opacity, - * indicating pixel coverage. Use linear alpha blending and gamma - * correction to correctly render non-monochrome glyph bitmaps onto a - * surface; see @FT_Render_Glyph. - * - * @values: - * FT_RENDER_MODE_NORMAL :: - * Default render mode; it corresponds to 8-bit anti-aliased bitmaps. - * - * FT_RENDER_MODE_LIGHT :: - * This is equivalent to @FT_RENDER_MODE_NORMAL. It is only defined as - * a separate value because render modes are also used indirectly to - * define hinting algorithm selectors. See @FT_LOAD_TARGET_XXX for - * details. - * - * FT_RENDER_MODE_MONO :: - * This mode corresponds to 1-bit bitmaps (with 2~levels of opacity). - * - * FT_RENDER_MODE_LCD :: - * This mode corresponds to horizontal RGB and BGR subpixel displays - * like LCD screens. It produces 8-bit bitmaps that are 3~times the - * width of the original glyph outline in pixels, and which use the - * @FT_PIXEL_MODE_LCD mode. - * - * FT_RENDER_MODE_LCD_V :: - * This mode corresponds to vertical RGB and BGR subpixel displays - * (like PDA screens, rotated LCD displays, etc.). It produces 8-bit - * bitmaps that are 3~times the height of the original glyph outline in - * pixels and use the @FT_PIXEL_MODE_LCD_V mode. - * - * @note: - * Should you define `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` in your - * `ftoption.h`, which enables patented ClearType-style rendering, the - * LCD-optimized glyph bitmaps should be filtered to reduce color fringes - * inherent to this technology. You can either set up LCD filtering with - * @FT_Library_SetLcdFilter or @FT_Face_Properties, or do the filtering - * yourself. The default FreeType LCD rendering technology does not - * require filtering. - * - * The selected render mode only affects vector glyphs of a font. - * Embedded bitmaps often have a different pixel mode like - * @FT_PIXEL_MODE_MONO. You can use @FT_Bitmap_Convert to transform them - * into 8-bit pixmaps. - */ - typedef enum FT_Render_Mode_ - { - FT_RENDER_MODE_NORMAL = 0, - FT_RENDER_MODE_LIGHT, - FT_RENDER_MODE_MONO, - FT_RENDER_MODE_LCD, - FT_RENDER_MODE_LCD_V, - - FT_RENDER_MODE_MAX - - } FT_Render_Mode; - - - /* these constants are deprecated; use the corresponding */ - /* `FT_Render_Mode` values instead */ -#define ft_render_mode_normal FT_RENDER_MODE_NORMAL -#define ft_render_mode_mono FT_RENDER_MODE_MONO - - - /************************************************************************** - * - * @function: - * FT_Render_Glyph - * - * @description: - * Convert a given glyph image to a bitmap. It does so by inspecting the - * glyph image format, finding the relevant renderer, and invoking it. - * - * @inout: - * slot :: - * A handle to the glyph slot containing the image to convert. - * - * @input: - * render_mode :: - * The render mode used to render the glyph image into a bitmap. See - * @FT_Render_Mode for a list of possible values. - * - * If @FT_RENDER_MODE_NORMAL is used, a previous call of @FT_Load_Glyph - * with flag @FT_LOAD_COLOR makes FT_Render_Glyph provide a default - * blending of colored glyph layers associated with the current glyph - * slot (provided the font contains such layers) instead of rendering - * the glyph slot's outline. This is an experimental feature; see - * @FT_LOAD_COLOR for more information. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * To get meaningful results, font scaling values must be set with - * functions like @FT_Set_Char_Size before calling `FT_Render_Glyph`. - * - * When FreeType outputs a bitmap of a glyph, it really outputs an alpha - * coverage map. If a pixel is completely covered by a filled-in - * outline, the bitmap contains 0xFF at that pixel, meaning that - * 0xFF/0xFF fraction of that pixel is covered, meaning the pixel is 100% - * black (or 0% bright). If a pixel is only 50% covered (value 0x80), - * the pixel is made 50% black (50% bright or a middle shade of grey). - * 0% covered means 0% black (100% bright or white). - * - * On high-DPI screens like on smartphones and tablets, the pixels are so - * small that their chance of being completely covered and therefore - * completely black are fairly good. On the low-DPI screens, however, - * the situation is different. The pixels are too large for most of the - * details of a glyph and shades of gray are the norm rather than the - * exception. - * - * This is relevant because all our screens have a second problem: they - * are not linear. 1~+~1 is not~2. Twice the value does not result in - * twice the brightness. When a pixel is only 50% covered, the coverage - * map says 50% black, and this translates to a pixel value of 128 when - * you use 8~bits per channel (0-255). However, this does not translate - * to 50% brightness for that pixel on our sRGB and gamma~2.2 screens. - * Due to their non-linearity, they dwell longer in the darks and only a - * pixel value of about 186 results in 50% brightness -- 128 ends up too - * dark on both bright and dark backgrounds. The net result is that dark - * text looks burnt-out, pixely and blotchy on bright background, bright - * text too frail on dark backgrounds, and colored text on colored - * background (for example, red on green) seems to have dark halos or - * 'dirt' around it. The situation is especially ugly for diagonal stems - * like in 'w' glyph shapes where the quality of FreeType's anti-aliasing - * depends on the correct display of grays. On high-DPI screens where - * smaller, fully black pixels reign supreme, this doesn't matter, but on - * our low-DPI screens with all the gray shades, it does. 0% and 100% - * brightness are the same things in linear and non-linear space, just - * all the shades in-between aren't. - * - * The blending function for placing text over a background is - * - * ``` - * dst = alpha * src + (1 - alpha) * dst , - * ``` - * - * which is known as the OVER operator. - * - * To correctly composite an antialiased pixel of a glyph onto a surface, - * - * 1. take the foreground and background colors (e.g., in sRGB space) - * and apply gamma to get them in a linear space, - * - * 2. use OVER to blend the two linear colors using the glyph pixel - * as the alpha value (remember, the glyph bitmap is an alpha coverage - * bitmap), and - * - * 3. apply inverse gamma to the blended pixel and write it back to - * the image. - * - * Internal testing at Adobe found that a target inverse gamma of~1.8 for - * step~3 gives good results across a wide range of displays with an sRGB - * gamma curve or a similar one. - * - * This process can cost performance. There is an approximation that - * does not need to know about the background color; see - * https://bel.fi/alankila/lcd/ and - * https://bel.fi/alankila/lcd/alpcor.html for details. - * - * **ATTENTION**: Linear blending is even more important when dealing - * with subpixel-rendered glyphs to prevent color-fringing! A - * subpixel-rendered glyph must first be filtered with a filter that - * gives equal weight to the three color primaries and does not exceed a - * sum of 0x100, see section @lcd_rendering. Then the only difference to - * gray linear blending is that subpixel-rendered linear blending is done - * 3~times per pixel: red foreground subpixel to red background subpixel - * and so on for green and blue. - */ - FT_EXPORT( FT_Error ) - FT_Render_Glyph( FT_GlyphSlot slot, - FT_Render_Mode render_mode ); - - - /************************************************************************** - * - * @enum: - * FT_Kerning_Mode - * - * @description: - * An enumeration to specify the format of kerning values returned by - * @FT_Get_Kerning. - * - * @values: - * FT_KERNING_DEFAULT :: - * Return grid-fitted kerning distances in 26.6 fractional pixels. - * - * FT_KERNING_UNFITTED :: - * Return un-grid-fitted kerning distances in 26.6 fractional pixels. - * - * FT_KERNING_UNSCALED :: - * Return the kerning vector in original font units. - * - * @note: - * `FT_KERNING_DEFAULT` returns full pixel values; it also makes FreeType - * heuristically scale down kerning distances at small ppem values so - * that they don't become too big. - * - * Both `FT_KERNING_DEFAULT` and `FT_KERNING_UNFITTED` use the current - * horizontal scaling factor (as set e.g. with @FT_Set_Char_Size) to - * convert font units to pixels. - */ - typedef enum FT_Kerning_Mode_ - { - FT_KERNING_DEFAULT = 0, - FT_KERNING_UNFITTED, - FT_KERNING_UNSCALED - - } FT_Kerning_Mode; - - - /* these constants are deprecated; use the corresponding */ - /* `FT_Kerning_Mode` values instead */ -#define ft_kerning_default FT_KERNING_DEFAULT -#define ft_kerning_unfitted FT_KERNING_UNFITTED -#define ft_kerning_unscaled FT_KERNING_UNSCALED - - - /************************************************************************** - * - * @function: - * FT_Get_Kerning - * - * @description: - * Return the kerning vector between two glyphs of the same face. - * - * @input: - * face :: - * A handle to a source face object. - * - * left_glyph :: - * The index of the left glyph in the kern pair. - * - * right_glyph :: - * The index of the right glyph in the kern pair. - * - * kern_mode :: - * See @FT_Kerning_Mode for more information. Determines the scale and - * dimension of the returned kerning vector. - * - * @output: - * akerning :: - * The kerning vector. This is either in font units, fractional pixels - * (26.6 format), or pixels for scalable formats, and in pixels for - * fixed-sizes formats. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Only horizontal layouts (left-to-right & right-to-left) are supported - * by this method. Other layouts, or more sophisticated kernings, are - * out of the scope of this API function -- they can be implemented - * through format-specific interfaces. - * - * Kerning for OpenType fonts implemented in a 'GPOS' table is not - * supported; use @FT_HAS_KERNING to find out whether a font has data - * that can be extracted with `FT_Get_Kerning`. - */ - FT_EXPORT( FT_Error ) - FT_Get_Kerning( FT_Face face, - FT_UInt left_glyph, - FT_UInt right_glyph, - FT_UInt kern_mode, - FT_Vector *akerning ); - - - /************************************************************************** - * - * @function: - * FT_Get_Track_Kerning - * - * @description: - * Return the track kerning for a given face object at a given size. - * - * @input: - * face :: - * A handle to a source face object. - * - * point_size :: - * The point size in 16.16 fractional points. - * - * degree :: - * The degree of tightness. Increasingly negative values represent - * tighter track kerning, while increasingly positive values represent - * looser track kerning. Value zero means no track kerning. - * - * @output: - * akerning :: - * The kerning in 16.16 fractional points, to be uniformly applied - * between all glyphs. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Currently, only the Type~1 font driver supports track kerning, using - * data from AFM files (if attached with @FT_Attach_File or - * @FT_Attach_Stream). - * - * Only very few AFM files come with track kerning data; please refer to - * Adobe's AFM specification for more details. - */ - FT_EXPORT( FT_Error ) - FT_Get_Track_Kerning( FT_Face face, - FT_Fixed point_size, - FT_Int degree, - FT_Fixed* akerning ); - - - /************************************************************************** - * - * @function: - * FT_Get_Glyph_Name - * - * @description: - * Retrieve the ASCII name of a given glyph in a face. This only works - * for those faces where @FT_HAS_GLYPH_NAMES(face) returns~1. - * - * @input: - * face :: - * A handle to a source face object. - * - * glyph_index :: - * The glyph index. - * - * buffer_max :: - * The maximum number of bytes available in the buffer. - * - * @output: - * buffer :: - * A pointer to a target buffer where the name is copied to. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * An error is returned if the face doesn't provide glyph names or if the - * glyph index is invalid. In all cases of failure, the first byte of - * `buffer` is set to~0 to indicate an empty name. - * - * The glyph name is truncated to fit within the buffer if it is too - * long. The returned string is always zero-terminated. - * - * Be aware that FreeType reorders glyph indices internally so that glyph - * index~0 always corresponds to the 'missing glyph' (called '.notdef'). - * - * This function always returns an error if the config macro - * `FT_CONFIG_OPTION_NO_GLYPH_NAMES` is not defined in `ftoption.h`. - */ - FT_EXPORT( FT_Error ) - FT_Get_Glyph_Name( FT_Face face, - FT_UInt glyph_index, - FT_Pointer buffer, - FT_UInt buffer_max ); - - - /************************************************************************** - * - * @function: - * FT_Get_Postscript_Name - * - * @description: - * Retrieve the ASCII PostScript name of a given face, if available. - * This only works with PostScript, TrueType, and OpenType fonts. - * - * @input: - * face :: - * A handle to the source face object. - * - * @return: - * A pointer to the face's PostScript name. `NULL` if unavailable. - * - * @note: - * The returned pointer is owned by the face and is destroyed with it. - * - * For variation fonts, this string changes if you select a different - * instance, and you have to call `FT_Get_PostScript_Name` again to - * retrieve it. FreeType follows Adobe TechNote #5902, 'Generating - * PostScript Names for Fonts Using OpenType Font Variations'. - * - * https://download.macromedia.com/pub/developer/opentype/tech-notes/5902.AdobePSNameGeneration.html - * - * [Since 2.9] Special PostScript names for named instances are only - * returned if the named instance is set with @FT_Set_Named_Instance (and - * the font has corresponding entries in its 'fvar' table). If - * @FT_IS_VARIATION returns true, the algorithmically derived PostScript - * name is provided, not looking up special entries for named instances. - */ - FT_EXPORT( const char* ) - FT_Get_Postscript_Name( FT_Face face ); - - - /************************************************************************** - * - * @function: - * FT_Select_Charmap - * - * @description: - * Select a given charmap by its encoding tag (as listed in - * `freetype.h`). - * - * @inout: - * face :: - * A handle to the source face object. - * - * @input: - * encoding :: - * A handle to the selected encoding. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function returns an error if no charmap in the face corresponds - * to the encoding queried here. - * - * Because many fonts contain more than a single cmap for Unicode - * encoding, this function has some special code to select the one that - * covers Unicode best ('best' in the sense that a UCS-4 cmap is - * preferred to a UCS-2 cmap). It is thus preferable to @FT_Set_Charmap - * in this case. - */ - FT_EXPORT( FT_Error ) - FT_Select_Charmap( FT_Face face, - FT_Encoding encoding ); - - - /************************************************************************** - * - * @function: - * FT_Set_Charmap - * - * @description: - * Select a given charmap for character code to glyph index mapping. - * - * @inout: - * face :: - * A handle to the source face object. - * - * @input: - * charmap :: - * A handle to the selected charmap. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function returns an error if the charmap is not part of the face - * (i.e., if it is not listed in the `face->charmaps` table). - * - * It also fails if an OpenType type~14 charmap is selected (which - * doesn't map character codes to glyph indices at all). - */ - FT_EXPORT( FT_Error ) - FT_Set_Charmap( FT_Face face, - FT_CharMap charmap ); - - - /************************************************************************** - * - * @function: - * FT_Get_Charmap_Index - * - * @description: - * Retrieve index of a given charmap. - * - * @input: - * charmap :: - * A handle to a charmap. - * - * @return: - * The index into the array of character maps within the face to which - * `charmap` belongs. If an error occurs, -1 is returned. - * - */ - FT_EXPORT( FT_Int ) - FT_Get_Charmap_Index( FT_CharMap charmap ); - - - /************************************************************************** - * - * @function: - * FT_Get_Char_Index - * - * @description: - * Return the glyph index of a given character code. This function uses - * the currently selected charmap to do the mapping. - * - * @input: - * face :: - * A handle to the source face object. - * - * charcode :: - * The character code. - * - * @return: - * The glyph index. 0~means 'undefined character code'. - * - * @note: - * If you use FreeType to manipulate the contents of font files directly, - * be aware that the glyph index returned by this function doesn't always - * correspond to the internal indices used within the file. This is done - * to ensure that value~0 always corresponds to the 'missing glyph'. If - * the first glyph is not named '.notdef', then for Type~1 and Type~42 - * fonts, '.notdef' will be moved into the glyph ID~0 position, and - * whatever was there will be moved to the position '.notdef' had. For - * Type~1 fonts, if there is no '.notdef' glyph at all, then one will be - * created at index~0 and whatever was there will be moved to the last - * index -- Type~42 fonts are considered invalid under this condition. - */ - FT_EXPORT( FT_UInt ) - FT_Get_Char_Index( FT_Face face, - FT_ULong charcode ); - - - /************************************************************************** - * - * @function: - * FT_Get_First_Char - * - * @description: - * Return the first character code in the current charmap of a given - * face, together with its corresponding glyph index. - * - * @input: - * face :: - * A handle to the source face object. - * - * @output: - * agindex :: - * Glyph index of first character code. 0~if charmap is empty. - * - * @return: - * The charmap's first character code. - * - * @note: - * You should use this function together with @FT_Get_Next_Char to parse - * all character codes available in a given charmap. The code should - * look like this: - * - * ``` - * FT_ULong charcode; - * FT_UInt gindex; - * - * - * charcode = FT_Get_First_Char( face, &gindex ); - * while ( gindex != 0 ) - * { - * ... do something with (charcode,gindex) pair ... - * - * charcode = FT_Get_Next_Char( face, charcode, &gindex ); - * } - * ``` - * - * Be aware that character codes can have values up to 0xFFFFFFFF; this - * might happen for non-Unicode or malformed cmaps. However, even with - * regular Unicode encoding, so-called 'last resort fonts' (using SFNT - * cmap format 13, see function @FT_Get_CMap_Format) normally have - * entries for all Unicode characters up to 0x1FFFFF, which can cause *a - * lot* of iterations. - * - * Note that `*agindex` is set to~0 if the charmap is empty. The result - * itself can be~0 in two cases: if the charmap is empty or if the - * value~0 is the first valid character code. - */ - FT_EXPORT( FT_ULong ) - FT_Get_First_Char( FT_Face face, - FT_UInt *agindex ); - - - /************************************************************************** - * - * @function: - * FT_Get_Next_Char - * - * @description: - * Return the next character code in the current charmap of a given face - * following the value `char_code`, as well as the corresponding glyph - * index. - * - * @input: - * face :: - * A handle to the source face object. - * - * char_code :: - * The starting character code. - * - * @output: - * agindex :: - * Glyph index of next character code. 0~if charmap is empty. - * - * @return: - * The charmap's next character code. - * - * @note: - * You should use this function with @FT_Get_First_Char to walk over all - * character codes available in a given charmap. See the note for that - * function for a simple code example. - * - * Note that `*agindex` is set to~0 when there are no more codes in the - * charmap. - */ - FT_EXPORT( FT_ULong ) - FT_Get_Next_Char( FT_Face face, - FT_ULong char_code, - FT_UInt *agindex ); - - - /************************************************************************** - * - * @function: - * FT_Face_Properties - * - * @description: - * Set or override certain (library or module-wide) properties on a - * face-by-face basis. Useful for finer-grained control and avoiding - * locks on shared structures (threads can modify their own faces as they - * see fit). - * - * Contrary to @FT_Property_Set, this function uses @FT_Parameter so that - * you can pass multiple properties to the target face in one call. Note - * that only a subset of the available properties can be controlled. - * - * * @FT_PARAM_TAG_STEM_DARKENING (stem darkening, corresponding to the - * property `no-stem-darkening` provided by the 'autofit', 'cff', - * 'type1', and 't1cid' modules; see @no-stem-darkening). - * - * * @FT_PARAM_TAG_LCD_FILTER_WEIGHTS (LCD filter weights, corresponding - * to function @FT_Library_SetLcdFilterWeights). - * - * * @FT_PARAM_TAG_RANDOM_SEED (seed value for the CFF, Type~1, and CID - * 'random' operator, corresponding to the `random-seed` property - * provided by the 'cff', 'type1', and 't1cid' modules; see - * @random-seed). - * - * Pass `NULL` as `data` in @FT_Parameter for a given tag to reset the - * option and use the library or module default again. - * - * @input: - * face :: - * A handle to the source face object. - * - * num_properties :: - * The number of properties that follow. - * - * properties :: - * A handle to an @FT_Parameter array with `num_properties` elements. - * - * @return: - * FreeType error code. 0~means success. - * - * @example: - * Here is an example that sets three properties. You must define - * `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` to make the LCD filter examples - * work. - * - * ``` - * FT_Parameter property1; - * FT_Bool darken_stems = 1; - * - * FT_Parameter property2; - * FT_LcdFiveTapFilter custom_weight = - * { 0x11, 0x44, 0x56, 0x44, 0x11 }; - * - * FT_Parameter property3; - * FT_Int32 random_seed = 314159265; - * - * FT_Parameter properties[3] = { property1, - * property2, - * property3 }; - * - * - * property1.tag = FT_PARAM_TAG_STEM_DARKENING; - * property1.data = &darken_stems; - * - * property2.tag = FT_PARAM_TAG_LCD_FILTER_WEIGHTS; - * property2.data = custom_weight; - * - * property3.tag = FT_PARAM_TAG_RANDOM_SEED; - * property3.data = &random_seed; - * - * FT_Face_Properties( face, 3, properties ); - * ``` - * - * The next example resets a single property to its default value. - * - * ``` - * FT_Parameter property; - * - * - * property.tag = FT_PARAM_TAG_LCD_FILTER_WEIGHTS; - * property.data = NULL; - * - * FT_Face_Properties( face, 1, &property ); - * ``` - * - * @since: - * 2.8 - * - */ - FT_EXPORT( FT_Error ) - FT_Face_Properties( FT_Face face, - FT_UInt num_properties, - FT_Parameter* properties ); - - - /************************************************************************** - * - * @function: - * FT_Get_Name_Index - * - * @description: - * Return the glyph index of a given glyph name. - * - * @input: - * face :: - * A handle to the source face object. - * - * glyph_name :: - * The glyph name. - * - * @return: - * The glyph index. 0~means 'undefined character code'. - */ - FT_EXPORT( FT_UInt ) - FT_Get_Name_Index( FT_Face face, - const FT_String* glyph_name ); - - - /************************************************************************** - * - * @enum: - * FT_SUBGLYPH_FLAG_XXX - * - * @description: - * A list of constants describing subglyphs. Please refer to the 'glyf' - * table description in the OpenType specification for the meaning of the - * various flags (which get synthesized for non-OpenType subglyphs). - * - * https://docs.microsoft.com/en-us/typography/opentype/spec/glyf#composite-glyph-description - * - * @values: - * FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS :: - * FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES :: - * FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID :: - * FT_SUBGLYPH_FLAG_SCALE :: - * FT_SUBGLYPH_FLAG_XY_SCALE :: - * FT_SUBGLYPH_FLAG_2X2 :: - * FT_SUBGLYPH_FLAG_USE_MY_METRICS :: - * - */ -#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS 1 -#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES 2 -#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID 4 -#define FT_SUBGLYPH_FLAG_SCALE 8 -#define FT_SUBGLYPH_FLAG_XY_SCALE 0x40 -#define FT_SUBGLYPH_FLAG_2X2 0x80 -#define FT_SUBGLYPH_FLAG_USE_MY_METRICS 0x200 - - - /************************************************************************** - * - * @function: - * FT_Get_SubGlyph_Info - * - * @description: - * Retrieve a description of a given subglyph. Only use it if - * `glyph->format` is @FT_GLYPH_FORMAT_COMPOSITE; an error is returned - * otherwise. - * - * @input: - * glyph :: - * The source glyph slot. - * - * sub_index :: - * The index of the subglyph. Must be less than - * `glyph->num_subglyphs`. - * - * @output: - * p_index :: - * The glyph index of the subglyph. - * - * p_flags :: - * The subglyph flags, see @FT_SUBGLYPH_FLAG_XXX. - * - * p_arg1 :: - * The subglyph's first argument (if any). - * - * p_arg2 :: - * The subglyph's second argument (if any). - * - * p_transform :: - * The subglyph transformation (if any). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The values of `*p_arg1`, `*p_arg2`, and `*p_transform` must be - * interpreted depending on the flags returned in `*p_flags`. See the - * OpenType specification for details. - * - * https://docs.microsoft.com/en-us/typography/opentype/spec/glyf#composite-glyph-description - * - */ - FT_EXPORT( FT_Error ) - FT_Get_SubGlyph_Info( FT_GlyphSlot glyph, - FT_UInt sub_index, - FT_Int *p_index, - FT_UInt *p_flags, - FT_Int *p_arg1, - FT_Int *p_arg2, - FT_Matrix *p_transform ); - - - /************************************************************************** - * - * @section: - * layer_management - * - * @title: - * Glyph Layer Management - * - * @abstract: - * Retrieving and manipulating OpenType's 'COLR' table data. - * - * @description: - * The functions described here allow access of colored glyph layer data - * in OpenType's 'COLR' tables. - */ - - - /************************************************************************** - * - * @struct: - * FT_LayerIterator - * - * @description: - * This iterator object is needed for @FT_Get_Color_Glyph_Layer. - * - * @fields: - * num_layers :: - * The number of glyph layers for the requested glyph index. Will be - * set by @FT_Get_Color_Glyph_Layer. - * - * layer :: - * The current layer. Will be set by @FT_Get_Color_Glyph_Layer. - * - * p :: - * An opaque pointer into 'COLR' table data. The caller must set this - * to `NULL` before the first call of @FT_Get_Color_Glyph_Layer. - */ - typedef struct FT_LayerIterator_ - { - FT_UInt num_layers; - FT_UInt layer; - FT_Byte* p; - - } FT_LayerIterator; - - - /************************************************************************** - * - * @function: - * FT_Get_Color_Glyph_Layer - * - * @description: - * This is an interface to the 'COLR' table in OpenType fonts to - * iteratively retrieve the colored glyph layers associated with the - * current glyph slot. - * - * https://docs.microsoft.com/en-us/typography/opentype/spec/colr - * - * The glyph layer data for a given glyph index, if present, provides an - * alternative, multi-colour glyph representation: Instead of rendering - * the outline or bitmap with the given glyph index, glyphs with the - * indices and colors returned by this function are rendered layer by - * layer. - * - * The returned elements are ordered in the z~direction from bottom to - * top; the 'n'th element should be rendered with the associated palette - * color and blended on top of the already rendered layers (elements 0, - * 1, ..., n-1). - * - * @input: - * face :: - * A handle to the parent face object. - * - * base_glyph :: - * The glyph index the colored glyph layers are associated with. - * - * @inout: - * iterator :: - * An @FT_LayerIterator object. For the first call you should set - * `iterator->p` to `NULL`. For all following calls, simply use the - * same object again. - * - * @output: - * aglyph_index :: - * The glyph index of the current layer. - * - * acolor_index :: - * The color index into the font face's color palette of the current - * layer. The value 0xFFFF is special; it doesn't reference a palette - * entry but indicates that the text foreground color should be used - * instead (to be set up by the application outside of FreeType). - * - * The color palette can be retrieved with @FT_Palette_Select. - * - * @return: - * Value~1 if everything is OK. If there are no more layers (or if there - * are no layers at all), value~0 gets returned. In case of an error, - * value~0 is returned also. - * - * @note: - * This function is necessary if you want to handle glyph layers by - * yourself. In particular, functions that operate with @FT_GlyphRec - * objects (like @FT_Get_Glyph or @FT_Glyph_To_Bitmap) don't have access - * to this information. - * - * Note that @FT_Render_Glyph is able to handle colored glyph layers - * automatically if the @FT_LOAD_COLOR flag is passed to a previous call - * to @FT_Load_Glyph. [This is an experimental feature.] - * - * @example: - * ``` - * FT_Color* palette; - * FT_LayerIterator iterator; - * - * FT_Bool have_layers; - * FT_UInt layer_glyph_index; - * FT_UInt layer_color_index; - * - * - * error = FT_Palette_Select( face, palette_index, &palette ); - * if ( error ) - * palette = NULL; - * - * iterator.p = NULL; - * have_layers = FT_Get_Color_Glyph_Layer( face, - * glyph_index, - * &layer_glyph_index, - * &layer_color_index, - * &iterator ); - * - * if ( palette && have_layers ) - * { - * do - * { - * FT_Color layer_color; - * - * - * if ( layer_color_index == 0xFFFF ) - * layer_color = text_foreground_color; - * else - * layer_color = palette[layer_color_index]; - * - * // Load and render glyph `layer_glyph_index', then - * // blend resulting pixmap (using color `layer_color') - * // with previously created pixmaps. - * - * } while ( FT_Get_Color_Glyph_Layer( face, - * glyph_index, - * &layer_glyph_index, - * &layer_color_index, - * &iterator ) ); - * } - * ``` - */ - FT_EXPORT( FT_Bool ) - FT_Get_Color_Glyph_Layer( FT_Face face, - FT_UInt base_glyph, - FT_UInt *aglyph_index, - FT_UInt *acolor_index, - FT_LayerIterator* iterator ); - - - /************************************************************************** - * - * @section: - * base_interface - * - */ - - /************************************************************************** - * - * @enum: - * FT_FSTYPE_XXX - * - * @description: - * A list of bit flags used in the `fsType` field of the OS/2 table in a - * TrueType or OpenType font and the `FSType` entry in a PostScript font. - * These bit flags are returned by @FT_Get_FSType_Flags; they inform - * client applications of embedding and subsetting restrictions - * associated with a font. - * - * See - * https://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/FontPolicies.pdf - * for more details. - * - * @values: - * FT_FSTYPE_INSTALLABLE_EMBEDDING :: - * Fonts with no fsType bit set may be embedded and permanently - * installed on the remote system by an application. - * - * FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING :: - * Fonts that have only this bit set must not be modified, embedded or - * exchanged in any manner without first obtaining permission of the - * font software copyright owner. - * - * FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING :: - * The font may be embedded and temporarily loaded on the remote - * system. Documents containing Preview & Print fonts must be opened - * 'read-only'; no edits can be applied to the document. - * - * FT_FSTYPE_EDITABLE_EMBEDDING :: - * The font may be embedded but must only be installed temporarily on - * other systems. In contrast to Preview & Print fonts, documents - * containing editable fonts may be opened for reading, editing is - * permitted, and changes may be saved. - * - * FT_FSTYPE_NO_SUBSETTING :: - * The font may not be subsetted prior to embedding. - * - * FT_FSTYPE_BITMAP_EMBEDDING_ONLY :: - * Only bitmaps contained in the font may be embedded; no outline data - * may be embedded. If there are no bitmaps available in the font, - * then the font is unembeddable. - * - * @note: - * The flags are ORed together, thus more than a single value can be - * returned. - * - * While the `fsType` flags can indicate that a font may be embedded, a - * license with the font vendor may be separately required to use the - * font in this way. - */ -#define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000 -#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002 -#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING 0x0004 -#define FT_FSTYPE_EDITABLE_EMBEDDING 0x0008 -#define FT_FSTYPE_NO_SUBSETTING 0x0100 -#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY 0x0200 - - - /************************************************************************** - * - * @function: - * FT_Get_FSType_Flags - * - * @description: - * Return the `fsType` flags for a font. - * - * @input: - * face :: - * A handle to the source face object. - * - * @return: - * The `fsType` flags, see @FT_FSTYPE_XXX. - * - * @note: - * Use this function rather than directly reading the `fs_type` field in - * the @PS_FontInfoRec structure, which is only guaranteed to return the - * correct results for Type~1 fonts. - * - * @since: - * 2.3.8 - */ - FT_EXPORT( FT_UShort ) - FT_Get_FSType_Flags( FT_Face face ); - - - /************************************************************************** - * - * @section: - * glyph_variants - * - * @title: - * Unicode Variation Sequences - * - * @abstract: - * The FreeType~2 interface to Unicode Variation Sequences (UVS), using - * the SFNT cmap format~14. - * - * @description: - * Many characters, especially for CJK scripts, have variant forms. They - * are a sort of grey area somewhere between being totally irrelevant and - * semantically distinct; for this reason, the Unicode consortium decided - * to introduce Variation Sequences (VS), consisting of a Unicode base - * character and a variation selector instead of further extending the - * already huge number of characters. - * - * Unicode maintains two different sets, namely 'Standardized Variation - * Sequences' and registered 'Ideographic Variation Sequences' (IVS), - * collected in the 'Ideographic Variation Database' (IVD). - * - * https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt - * https://unicode.org/reports/tr37/ https://unicode.org/ivd/ - * - * To date (January 2017), the character with the most ideographic - * variations is U+9089, having 32 such IVS. - * - * Three Mongolian Variation Selectors have the values U+180B-U+180D; 256 - * generic Variation Selectors are encoded in the ranges U+FE00-U+FE0F - * and U+E0100-U+E01EF. IVS currently use Variation Selectors from the - * range U+E0100-U+E01EF only. - * - * A VS consists of the base character value followed by a single - * Variation Selector. For example, to get the first variation of - * U+9089, you have to write the character sequence `U+9089 U+E0100`. - * - * Adobe and MS decided to support both standardized and ideographic VS - * with a new cmap subtable (format~14). It is an odd subtable because - * it is not a mapping of input code points to glyphs, but contains lists - * of all variations supported by the font. - * - * A variation may be either 'default' or 'non-default' for a given font. - * A default variation is the one you will get for that code point if you - * look it up in the standard Unicode cmap. A non-default variation is a - * different glyph. - * - */ - - - /************************************************************************** - * - * @function: - * FT_Face_GetCharVariantIndex - * - * @description: - * Return the glyph index of a given character code as modified by the - * variation selector. - * - * @input: - * face :: - * A handle to the source face object. - * - * charcode :: - * The character code point in Unicode. - * - * variantSelector :: - * The Unicode code point of the variation selector. - * - * @return: - * The glyph index. 0~means either 'undefined character code', or - * 'undefined selector code', or 'no variation selector cmap subtable', - * or 'current CharMap is not Unicode'. - * - * @note: - * If you use FreeType to manipulate the contents of font files directly, - * be aware that the glyph index returned by this function doesn't always - * correspond to the internal indices used within the file. This is done - * to ensure that value~0 always corresponds to the 'missing glyph'. - * - * This function is only meaningful if - * a) the font has a variation selector cmap sub table, and - * b) the current charmap has a Unicode encoding. - * - * @since: - * 2.3.6 - */ - FT_EXPORT( FT_UInt ) - FT_Face_GetCharVariantIndex( FT_Face face, - FT_ULong charcode, - FT_ULong variantSelector ); - - - /************************************************************************** - * - * @function: - * FT_Face_GetCharVariantIsDefault - * - * @description: - * Check whether this variation of this Unicode character is the one to - * be found in the charmap. - * - * @input: - * face :: - * A handle to the source face object. - * - * charcode :: - * The character codepoint in Unicode. - * - * variantSelector :: - * The Unicode codepoint of the variation selector. - * - * @return: - * 1~if found in the standard (Unicode) cmap, 0~if found in the variation - * selector cmap, or -1 if it is not a variation. - * - * @note: - * This function is only meaningful if the font has a variation selector - * cmap subtable. - * - * @since: - * 2.3.6 - */ - FT_EXPORT( FT_Int ) - FT_Face_GetCharVariantIsDefault( FT_Face face, - FT_ULong charcode, - FT_ULong variantSelector ); - - - /************************************************************************** - * - * @function: - * FT_Face_GetVariantSelectors - * - * @description: - * Return a zero-terminated list of Unicode variation selectors found in - * the font. - * - * @input: - * face :: - * A handle to the source face object. - * - * @return: - * A pointer to an array of selector code points, or `NULL` if there is - * no valid variation selector cmap subtable. - * - * @note: - * The last item in the array is~0; the array is owned by the @FT_Face - * object but can be overwritten or released on the next call to a - * FreeType function. - * - * @since: - * 2.3.6 - */ - FT_EXPORT( FT_UInt32* ) - FT_Face_GetVariantSelectors( FT_Face face ); - - - /************************************************************************** - * - * @function: - * FT_Face_GetVariantsOfChar - * - * @description: - * Return a zero-terminated list of Unicode variation selectors found for - * the specified character code. - * - * @input: - * face :: - * A handle to the source face object. - * - * charcode :: - * The character codepoint in Unicode. - * - * @return: - * A pointer to an array of variation selector code points that are - * active for the given character, or `NULL` if the corresponding list is - * empty. - * - * @note: - * The last item in the array is~0; the array is owned by the @FT_Face - * object but can be overwritten or released on the next call to a - * FreeType function. - * - * @since: - * 2.3.6 - */ - FT_EXPORT( FT_UInt32* ) - FT_Face_GetVariantsOfChar( FT_Face face, - FT_ULong charcode ); - - - /************************************************************************** - * - * @function: - * FT_Face_GetCharsOfVariant - * - * @description: - * Return a zero-terminated list of Unicode character codes found for the - * specified variation selector. - * - * @input: - * face :: - * A handle to the source face object. - * - * variantSelector :: - * The variation selector code point in Unicode. - * - * @return: - * A list of all the code points that are specified by this selector - * (both default and non-default codes are returned) or `NULL` if there - * is no valid cmap or the variation selector is invalid. - * - * @note: - * The last item in the array is~0; the array is owned by the @FT_Face - * object but can be overwritten or released on the next call to a - * FreeType function. - * - * @since: - * 2.3.6 - */ - FT_EXPORT( FT_UInt32* ) - FT_Face_GetCharsOfVariant( FT_Face face, - FT_ULong variantSelector ); - - - /************************************************************************** - * - * @section: - * computations - * - * @title: - * Computations - * - * @abstract: - * Crunching fixed numbers and vectors. - * - * @description: - * This section contains various functions used to perform computations - * on 16.16 fixed-float numbers or 2d vectors. - * - * **Attention**: Most arithmetic functions take `FT_Long` as arguments. - * For historical reasons, FreeType was designed under the assumption - * that `FT_Long` is a 32-bit integer; results can thus be undefined if - * the arguments don't fit into 32 bits. - * - * @order: - * FT_MulDiv - * FT_MulFix - * FT_DivFix - * FT_RoundFix - * FT_CeilFix - * FT_FloorFix - * FT_Vector_Transform - * FT_Matrix_Multiply - * FT_Matrix_Invert - * - */ - - - /************************************************************************** - * - * @function: - * FT_MulDiv - * - * @description: - * Compute `(a*b)/c` with maximum accuracy, using a 64-bit intermediate - * integer whenever necessary. - * - * This function isn't necessarily as fast as some processor-specific - * operations, but is at least completely portable. - * - * @input: - * a :: - * The first multiplier. - * - * b :: - * The second multiplier. - * - * c :: - * The divisor. - * - * @return: - * The result of `(a*b)/c`. This function never traps when trying to - * divide by zero; it simply returns 'MaxInt' or 'MinInt' depending on - * the signs of `a` and `b`. - */ - FT_EXPORT( FT_Long ) - FT_MulDiv( FT_Long a, - FT_Long b, - FT_Long c ); - - - /************************************************************************** - * - * @function: - * FT_MulFix - * - * @description: - * Compute `(a*b)/0x10000` with maximum accuracy. Its main use is to - * multiply a given value by a 16.16 fixed-point factor. - * - * @input: - * a :: - * The first multiplier. - * - * b :: - * The second multiplier. Use a 16.16 factor here whenever possible - * (see note below). - * - * @return: - * The result of `(a*b)/0x10000`. - * - * @note: - * This function has been optimized for the case where the absolute value - * of `a` is less than 2048, and `b` is a 16.16 scaling factor. As this - * happens mainly when scaling from notional units to fractional pixels - * in FreeType, it resulted in noticeable speed improvements between - * versions 2.x and 1.x. - * - * As a conclusion, always try to place a 16.16 factor as the _second_ - * argument of this function; this can make a great difference. - */ - FT_EXPORT( FT_Long ) - FT_MulFix( FT_Long a, - FT_Long b ); - - - /************************************************************************** - * - * @function: - * FT_DivFix - * - * @description: - * Compute `(a*0x10000)/b` with maximum accuracy. Its main use is to - * divide a given value by a 16.16 fixed-point factor. - * - * @input: - * a :: - * The numerator. - * - * b :: - * The denominator. Use a 16.16 factor here. - * - * @return: - * The result of `(a*0x10000)/b`. - */ - FT_EXPORT( FT_Long ) - FT_DivFix( FT_Long a, - FT_Long b ); - - - /************************************************************************** - * - * @function: - * FT_RoundFix - * - * @description: - * Round a 16.16 fixed number. - * - * @input: - * a :: - * The number to be rounded. - * - * @return: - * `a` rounded to the nearest 16.16 fixed integer, halfway cases away - * from zero. - * - * @note: - * The function uses wrap-around arithmetic. - */ - FT_EXPORT( FT_Fixed ) - FT_RoundFix( FT_Fixed a ); - - - /************************************************************************** - * - * @function: - * FT_CeilFix - * - * @description: - * Compute the smallest following integer of a 16.16 fixed number. - * - * @input: - * a :: - * The number for which the ceiling function is to be computed. - * - * @return: - * `a` rounded towards plus infinity. - * - * @note: - * The function uses wrap-around arithmetic. - */ - FT_EXPORT( FT_Fixed ) - FT_CeilFix( FT_Fixed a ); - - - /************************************************************************** - * - * @function: - * FT_FloorFix - * - * @description: - * Compute the largest previous integer of a 16.16 fixed number. - * - * @input: - * a :: - * The number for which the floor function is to be computed. - * - * @return: - * `a` rounded towards minus infinity. - */ - FT_EXPORT( FT_Fixed ) - FT_FloorFix( FT_Fixed a ); - - - /************************************************************************** - * - * @function: - * FT_Vector_Transform - * - * @description: - * Transform a single vector through a 2x2 matrix. - * - * @inout: - * vector :: - * The target vector to transform. - * - * @input: - * matrix :: - * A pointer to the source 2x2 matrix. - * - * @note: - * The result is undefined if either `vector` or `matrix` is invalid. - */ - FT_EXPORT( void ) - FT_Vector_Transform( FT_Vector* vector, - const FT_Matrix* matrix ); - - - /************************************************************************** - * - * @section: - * version - * - * @title: - * FreeType Version - * - * @abstract: - * Functions and macros related to FreeType versions. - * - * @description: - * Note that those functions and macros are of limited use because even a - * new release of FreeType with only documentation changes increases the - * version number. - * - * @order: - * FT_Library_Version - * - * FREETYPE_MAJOR - * FREETYPE_MINOR - * FREETYPE_PATCH - * - * FT_Face_CheckTrueTypePatents - * FT_Face_SetUnpatentedHinting - * - */ - - - /************************************************************************** - * - * @enum: - * FREETYPE_XXX - * - * @description: - * These three macros identify the FreeType source code version. Use - * @FT_Library_Version to access them at runtime. - * - * @values: - * FREETYPE_MAJOR :: - * The major version number. - * FREETYPE_MINOR :: - * The minor version number. - * FREETYPE_PATCH :: - * The patch level. - * - * @note: - * The version number of FreeType if built as a dynamic link library with - * the 'libtool' package is _not_ controlled by these three macros. - * - */ -#define FREETYPE_MAJOR 2 -#define FREETYPE_MINOR 10 -#define FREETYPE_PATCH 0 - - - /************************************************************************** - * - * @function: - * FT_Library_Version - * - * @description: - * Return the version of the FreeType library being used. This is useful - * when dynamically linking to the library, since one cannot use the - * macros @FREETYPE_MAJOR, @FREETYPE_MINOR, and @FREETYPE_PATCH. - * - * @input: - * library :: - * A source library handle. - * - * @output: - * amajor :: - * The major version number. - * - * aminor :: - * The minor version number. - * - * apatch :: - * The patch version number. - * - * @note: - * The reason why this function takes a `library` argument is because - * certain programs implement library initialization in a custom way that - * doesn't use @FT_Init_FreeType. - * - * In such cases, the library version might not be available before the - * library object has been created. - */ - FT_EXPORT( void ) - FT_Library_Version( FT_Library library, - FT_Int *amajor, - FT_Int *aminor, - FT_Int *apatch ); - - - /************************************************************************** - * - * @function: - * FT_Face_CheckTrueTypePatents - * - * @description: - * Deprecated, does nothing. - * - * @input: - * face :: - * A face handle. - * - * @return: - * Always returns false. - * - * @note: - * Since May 2010, TrueType hinting is no longer patented. - * - * @since: - * 2.3.5 - */ - FT_EXPORT( FT_Bool ) - FT_Face_CheckTrueTypePatents( FT_Face face ); - - - /************************************************************************** - * - * @function: - * FT_Face_SetUnpatentedHinting - * - * @description: - * Deprecated, does nothing. - * - * @input: - * face :: - * A face handle. - * - * value :: - * New boolean setting. - * - * @return: - * Always returns false. - * - * @note: - * Since May 2010, TrueType hinting is no longer patented. - * - * @since: - * 2.3.5 - */ - FT_EXPORT( FT_Bool ) - FT_Face_SetUnpatentedHinting( FT_Face face, - FT_Bool value ); - - /* */ - - -FT_END_HEADER - -#endif /* FREETYPE_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftadvanc.h b/FreeType/include/freetype/ftadvanc.h deleted file mode 100644 index 95c38f9..0000000 --- a/FreeType/include/freetype/ftadvanc.h +++ /dev/null @@ -1,188 +0,0 @@ -/**************************************************************************** - * - * ftadvanc.h - * - * Quick computation of advance widths (specification only). - * - * Copyright (C) 2008-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTADVANC_H_ -#define FTADVANC_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * quick_advance - * - * @title: - * Quick retrieval of advance values - * - * @abstract: - * Retrieve horizontal and vertical advance values without processing - * glyph outlines, if possible. - * - * @description: - * This section contains functions to quickly extract advance values - * without handling glyph outlines, if possible. - * - * @order: - * FT_Get_Advance - * FT_Get_Advances - * - */ - - - /************************************************************************** - * - * @enum: - * FT_ADVANCE_FLAG_FAST_ONLY - * - * @description: - * A bit-flag to be OR-ed with the `flags` parameter of the - * @FT_Get_Advance and @FT_Get_Advances functions. - * - * If set, it indicates that you want these functions to fail if the - * corresponding hinting mode or font driver doesn't allow for very quick - * advance computation. - * - * Typically, glyphs that are either unscaled, unhinted, bitmapped, or - * light-hinted can have their advance width computed very quickly. - * - * Normal and bytecode hinted modes that require loading, scaling, and - * hinting of the glyph outline, are extremely slow by comparison. - */ -#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000L - - - /************************************************************************** - * - * @function: - * FT_Get_Advance - * - * @description: - * Retrieve the advance value of a given glyph outline in an @FT_Face. - * - * @input: - * face :: - * The source @FT_Face handle. - * - * gindex :: - * The glyph index. - * - * load_flags :: - * A set of bit flags similar to those used when calling - * @FT_Load_Glyph, used to determine what kind of advances you need. - * @output: - * padvance :: - * The advance value. If scaling is performed (based on the value of - * `load_flags`), the advance value is in 16.16 format. Otherwise, it - * is in font units. - * - * If @FT_LOAD_VERTICAL_LAYOUT is set, this is the vertical advance - * corresponding to a vertical layout. Otherwise, it is the horizontal - * advance in a horizontal layout. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if - * the corresponding font backend doesn't have a quick way to retrieve - * the advances. - * - * A scaled advance is returned in 16.16 format but isn't transformed by - * the affine transformation specified by @FT_Set_Transform. - */ - FT_EXPORT( FT_Error ) - FT_Get_Advance( FT_Face face, - FT_UInt gindex, - FT_Int32 load_flags, - FT_Fixed *padvance ); - - - /************************************************************************** - * - * @function: - * FT_Get_Advances - * - * @description: - * Retrieve the advance values of several glyph outlines in an @FT_Face. - * - * @input: - * face :: - * The source @FT_Face handle. - * - * start :: - * The first glyph index. - * - * count :: - * The number of advance values you want to retrieve. - * - * load_flags :: - * A set of bit flags similar to those used when calling - * @FT_Load_Glyph. - * - * @output: - * padvance :: - * The advance values. This array, to be provided by the caller, must - * contain at least `count` elements. - * - * If scaling is performed (based on the value of `load_flags`), the - * advance values are in 16.16 format. Otherwise, they are in font - * units. - * - * If @FT_LOAD_VERTICAL_LAYOUT is set, these are the vertical advances - * corresponding to a vertical layout. Otherwise, they are the - * horizontal advances in a horizontal layout. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and if - * the corresponding font backend doesn't have a quick way to retrieve - * the advances. - * - * Scaled advances are returned in 16.16 format but aren't transformed by - * the affine transformation specified by @FT_Set_Transform. - */ - FT_EXPORT( FT_Error ) - FT_Get_Advances( FT_Face face, - FT_UInt start, - FT_UInt count, - FT_Int32 load_flags, - FT_Fixed *padvances ); - - /* */ - - -FT_END_HEADER - -#endif /* FTADVANC_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftbbox.h b/FreeType/include/freetype/ftbbox.h deleted file mode 100644 index 22da70c..0000000 --- a/FreeType/include/freetype/ftbbox.h +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** - * - * ftbbox.h - * - * FreeType exact bbox computation (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * This component has a _single_ role: to compute exact outline bounding - * boxes. - * - * It is separated from the rest of the engine for various technical - * reasons. It may well be integrated in 'ftoutln' later. - * - */ - - -#ifndef FTBBOX_H_ -#define FTBBOX_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * outline_processing - * - */ - - - /************************************************************************** - * - * @function: - * FT_Outline_Get_BBox - * - * @description: - * Compute the exact bounding box of an outline. This is slower than - * computing the control box. However, it uses an advanced algorithm - * that returns _very_ quickly when the two boxes coincide. Otherwise, - * the outline Bezier arcs are traversed to extract their extrema. - * - * @input: - * outline :: - * A pointer to the source outline. - * - * @output: - * abbox :: - * The outline's exact bounding box. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If the font is tricky and the glyph has been loaded with - * @FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get - * reasonable values for the BBox it is necessary to load the glyph at a - * large ppem value (so that the hinting instructions can properly shift - * and scale the subglyphs), then extracting the BBox, which can be - * eventually converted back to font units. - */ - FT_EXPORT( FT_Error ) - FT_Outline_Get_BBox( FT_Outline* outline, - FT_BBox *abbox ); - - /* */ - - -FT_END_HEADER - -#endif /* FTBBOX_H_ */ - - -/* END */ - - -/* Local Variables: */ -/* coding: utf-8 */ -/* End: */ diff --git a/FreeType/include/freetype/ftbdf.h b/FreeType/include/freetype/ftbdf.h deleted file mode 100644 index 1c46da5..0000000 --- a/FreeType/include/freetype/ftbdf.h +++ /dev/null @@ -1,213 +0,0 @@ -/**************************************************************************** - * - * ftbdf.h - * - * FreeType API for accessing BDF-specific strings (specification). - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTBDF_H_ -#define FTBDF_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * bdf_fonts - * - * @title: - * BDF and PCF Files - * - * @abstract: - * BDF and PCF specific API. - * - * @description: - * This section contains the declaration of functions specific to BDF and - * PCF fonts. - * - */ - - - /************************************************************************** - * - * @enum: - * BDF_PropertyType - * - * @description: - * A list of BDF property types. - * - * @values: - * BDF_PROPERTY_TYPE_NONE :: - * Value~0 is used to indicate a missing property. - * - * BDF_PROPERTY_TYPE_ATOM :: - * Property is a string atom. - * - * BDF_PROPERTY_TYPE_INTEGER :: - * Property is a 32-bit signed integer. - * - * BDF_PROPERTY_TYPE_CARDINAL :: - * Property is a 32-bit unsigned integer. - */ - typedef enum BDF_PropertyType_ - { - BDF_PROPERTY_TYPE_NONE = 0, - BDF_PROPERTY_TYPE_ATOM = 1, - BDF_PROPERTY_TYPE_INTEGER = 2, - BDF_PROPERTY_TYPE_CARDINAL = 3 - - } BDF_PropertyType; - - - /************************************************************************** - * - * @type: - * BDF_Property - * - * @description: - * A handle to a @BDF_PropertyRec structure to model a given BDF/PCF - * property. - */ - typedef struct BDF_PropertyRec_* BDF_Property; - - - /************************************************************************** - * - * @struct: - * BDF_PropertyRec - * - * @description: - * This structure models a given BDF/PCF property. - * - * @fields: - * type :: - * The property type. - * - * u.atom :: - * The atom string, if type is @BDF_PROPERTY_TYPE_ATOM. May be - * `NULL`, indicating an empty string. - * - * u.integer :: - * A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER. - * - * u.cardinal :: - * An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL. - */ - typedef struct BDF_PropertyRec_ - { - BDF_PropertyType type; - union { - const char* atom; - FT_Int32 integer; - FT_UInt32 cardinal; - - } u; - - } BDF_PropertyRec; - - - /************************************************************************** - * - * @function: - * FT_Get_BDF_Charset_ID - * - * @description: - * Retrieve a BDF font character set identity, according to the BDF - * specification. - * - * @input: - * face :: - * A handle to the input face. - * - * @output: - * acharset_encoding :: - * Charset encoding, as a C~string, owned by the face. - * - * acharset_registry :: - * Charset registry, as a C~string, owned by the face. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function only works with BDF faces, returning an error otherwise. - */ - FT_EXPORT( FT_Error ) - FT_Get_BDF_Charset_ID( FT_Face face, - const char* *acharset_encoding, - const char* *acharset_registry ); - - - /************************************************************************** - * - * @function: - * FT_Get_BDF_Property - * - * @description: - * Retrieve a BDF property from a BDF or PCF font file. - * - * @input: - * face :: - * A handle to the input face. - * - * name :: - * The property name. - * - * @output: - * aproperty :: - * The property. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function works with BDF _and_ PCF fonts. It returns an error - * otherwise. It also returns an error if the property is not in the - * font. - * - * A 'property' is a either key-value pair within the STARTPROPERTIES - * ... ENDPROPERTIES block of a BDF font or a key-value pair from the - * `info->props` array within a `FontRec` structure of a PCF font. - * - * Integer properties are always stored as 'signed' within PCF fonts; - * consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value - * for BDF fonts only. - * - * In case of error, `aproperty->type` is always set to - * @BDF_PROPERTY_TYPE_NONE. - */ - FT_EXPORT( FT_Error ) - FT_Get_BDF_Property( FT_Face face, - const char* prop_name, - BDF_PropertyRec *aproperty ); - - /* */ - -FT_END_HEADER - -#endif /* FTBDF_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftbitmap.h b/FreeType/include/freetype/ftbitmap.h deleted file mode 100644 index a6acdb9..0000000 --- a/FreeType/include/freetype/ftbitmap.h +++ /dev/null @@ -1,330 +0,0 @@ -/**************************************************************************** - * - * ftbitmap.h - * - * FreeType utility functions for bitmaps (specification). - * - * Copyright (C) 2004-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTBITMAP_H_ -#define FTBITMAP_H_ - - -#include -#include FT_FREETYPE_H -#include FT_COLOR_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * bitmap_handling - * - * @title: - * Bitmap Handling - * - * @abstract: - * Handling FT_Bitmap objects. - * - * @description: - * This section contains functions for handling @FT_Bitmap objects, - * automatically adjusting the target's bitmap buffer size as needed. - * - * Note that none of the functions changes the bitmap's 'flow' (as - * indicated by the sign of the `pitch` field in @FT_Bitmap). - * - * To set the flow, assign an appropriate positive or negative value to - * the `pitch` field of the target @FT_Bitmap object after calling - * @FT_Bitmap_Init but before calling any of the other functions - * described here. - */ - - - /************************************************************************** - * - * @function: - * FT_Bitmap_Init - * - * @description: - * Initialize a pointer to an @FT_Bitmap structure. - * - * @inout: - * abitmap :: - * A pointer to the bitmap structure. - * - * @note: - * A deprecated name for the same function is `FT_Bitmap_New`. - */ - FT_EXPORT( void ) - FT_Bitmap_Init( FT_Bitmap *abitmap ); - - - /* deprecated */ - FT_EXPORT( void ) - FT_Bitmap_New( FT_Bitmap *abitmap ); - - - /************************************************************************** - * - * @function: - * FT_Bitmap_Copy - * - * @description: - * Copy a bitmap into another one. - * - * @input: - * library :: - * A handle to a library object. - * - * source :: - * A handle to the source bitmap. - * - * @output: - * target :: - * A handle to the target bitmap. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * `source->buffer` and `target->buffer` must neither be equal nor - * overlap. - */ - FT_EXPORT( FT_Error ) - FT_Bitmap_Copy( FT_Library library, - const FT_Bitmap *source, - FT_Bitmap *target ); - - - /************************************************************************** - * - * @function: - * FT_Bitmap_Embolden - * - * @description: - * Embolden a bitmap. The new bitmap will be about `xStrength` pixels - * wider and `yStrength` pixels higher. The left and bottom borders are - * kept unchanged. - * - * @input: - * library :: - * A handle to a library object. - * - * xStrength :: - * How strong the glyph is emboldened horizontally. Expressed in 26.6 - * pixel format. - * - * yStrength :: - * How strong the glyph is emboldened vertically. Expressed in 26.6 - * pixel format. - * - * @inout: - * bitmap :: - * A handle to the target bitmap. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The current implementation restricts `xStrength` to be less than or - * equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. - * - * If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, you - * should call @FT_GlyphSlot_Own_Bitmap on the slot first. - * - * Bitmaps in @FT_PIXEL_MODE_GRAY2 and @FT_PIXEL_MODE_GRAY@ format are - * converted to @FT_PIXEL_MODE_GRAY format (i.e., 8bpp). - */ - FT_EXPORT( FT_Error ) - FT_Bitmap_Embolden( FT_Library library, - FT_Bitmap* bitmap, - FT_Pos xStrength, - FT_Pos yStrength ); - - - /************************************************************************** - * - * @function: - * FT_Bitmap_Convert - * - * @description: - * Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, 8bpp or 32bpp to - * a bitmap object with depth 8bpp, making the number of used bytes per - * line (a.k.a. the 'pitch') a multiple of `alignment`. - * - * @input: - * library :: - * A handle to a library object. - * - * source :: - * The source bitmap. - * - * alignment :: - * The pitch of the bitmap is a multiple of this argument. Common - * values are 1, 2, or 4. - * - * @output: - * target :: - * The target bitmap. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * It is possible to call @FT_Bitmap_Convert multiple times without - * calling @FT_Bitmap_Done (the memory is simply reallocated). - * - * Use @FT_Bitmap_Done to finally remove the bitmap object. - * - * The `library` argument is taken to have access to FreeType's memory - * handling functions. - * - * `source->buffer` and `target->buffer` must neither be equal nor - * overlap. - */ - FT_EXPORT( FT_Error ) - FT_Bitmap_Convert( FT_Library library, - const FT_Bitmap *source, - FT_Bitmap *target, - FT_Int alignment ); - - - /************************************************************************** - * - * @function: - * FT_Bitmap_Blend - * - * @description: - * Blend a bitmap onto another bitmap, using a given color. - * - * @input: - * library :: - * A handle to a library object. - * - * source :: - * The source bitmap, which can have any @FT_Pixel_Mode format. - * - * source_offset :: - * The offset vector to the upper left corner of the source bitmap in - * 26.6 pixel format. It should represent an integer offset; the - * function will set the lowest six bits to zero to enforce that. - * - * color :: - * The color used to draw `source` onto `target`. - * - * @inout: - * target :: - * A handle to an `FT_Bitmap` object. It should be either initialized - * as empty with a call to @FT_Bitmap_Init, or it should be of type - * @FT_PIXEL_MODE_BGRA. - * - * atarget_offset :: - * The offset vector to the upper left corner of the target bitmap in - * 26.6 pixel format. It should represent an integer offset; the - * function will set the lowest six bits to zero to enforce that. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function doesn't perform clipping. - * - * The bitmap in `target` gets allocated or reallocated as needed; the - * vector `atarget_offset` is updated accordingly. - * - * In case of allocation or reallocation, the bitmap's pitch is set to - * `4 * width`. Both `source` and `target` must have the same bitmap - * flow (as indicated by the sign of the `pitch` field). - * - * `source->buffer` and `target->buffer` must neither be equal nor - * overlap. - * - * @since: - * 2.10 - */ - FT_EXPORT( FT_Error ) - FT_Bitmap_Blend( FT_Library library, - const FT_Bitmap* source, - const FT_Vector source_offset, - FT_Bitmap* target, - FT_Vector *atarget_offset, - FT_Color color ); - - - /************************************************************************** - * - * @function: - * FT_GlyphSlot_Own_Bitmap - * - * @description: - * Make sure that a glyph slot owns `slot->bitmap`. - * - * @input: - * slot :: - * The glyph slot. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function is to be used in combination with @FT_Bitmap_Embolden. - */ - FT_EXPORT( FT_Error ) - FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot ); - - - /************************************************************************** - * - * @function: - * FT_Bitmap_Done - * - * @description: - * Destroy a bitmap object initialized with @FT_Bitmap_Init. - * - * @input: - * library :: - * A handle to a library object. - * - * bitmap :: - * The bitmap object to be freed. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The `library` argument is taken to have access to FreeType's memory - * handling functions. - */ - FT_EXPORT( FT_Error ) - FT_Bitmap_Done( FT_Library library, - FT_Bitmap *bitmap ); - - - /* */ - - -FT_END_HEADER - -#endif /* FTBITMAP_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftbzip2.h b/FreeType/include/freetype/ftbzip2.h deleted file mode 100644 index ae88cfd..0000000 --- a/FreeType/include/freetype/ftbzip2.h +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** - * - * ftbzip2.h - * - * Bzip2-compressed stream support. - * - * Copyright (C) 2010-2019 by - * Joel Klinghed. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTBZIP2_H_ -#define FTBZIP2_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - /************************************************************************** - * - * @section: - * bzip2 - * - * @title: - * BZIP2 Streams - * - * @abstract: - * Using bzip2-compressed font files. - * - * @description: - * This section contains the declaration of Bzip2-specific functions. - * - */ - - - /************************************************************************** - * - * @function: - * FT_Stream_OpenBzip2 - * - * @description: - * Open a new stream to parse bzip2-compressed font files. This is - * mainly used to support the compressed `*.pcf.bz2` fonts that come with - * XFree86. - * - * @input: - * stream :: - * The target embedding stream. - * - * source :: - * The source stream. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The source stream must be opened _before_ calling this function. - * - * Calling the internal function `FT_Stream_Close` on the new stream will - * **not** call `FT_Stream_Close` on the source stream. None of the - * stream objects will be released to the heap. - * - * The stream implementation is very basic and resets the decompression - * process each time seeking backwards is needed within the stream. - * - * In certain builds of the library, bzip2 compression recognition is - * automatically handled when calling @FT_New_Face or @FT_Open_Face. - * This means that if no font driver is capable of handling the raw - * compressed file, the library will try to open a bzip2 compressed - * stream from it and re-open the face with it. - * - * This function may return `FT_Err_Unimplemented_Feature` if your build - * of FreeType was not compiled with bzip2 support. - */ - FT_EXPORT( FT_Error ) - FT_Stream_OpenBzip2( FT_Stream stream, - FT_Stream source ); - - /* */ - - -FT_END_HEADER - -#endif /* FTBZIP2_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftcache.h b/FreeType/include/freetype/ftcache.h deleted file mode 100644 index 0d589d0..0000000 --- a/FreeType/include/freetype/ftcache.h +++ /dev/null @@ -1,1088 +0,0 @@ -/**************************************************************************** - * - * ftcache.h - * - * FreeType Cache subsystem (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTCACHE_H_ -#define FTCACHE_H_ - - -#include -#include FT_GLYPH_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * cache_subsystem - * - * @title: - * Cache Sub-System - * - * @abstract: - * How to cache face, size, and glyph data with FreeType~2. - * - * @description: - * This section describes the FreeType~2 cache sub-system, which is used - * to limit the number of concurrently opened @FT_Face and @FT_Size - * objects, as well as caching information like character maps and glyph - * images while limiting their maximum memory usage. - * - * Note that all types and functions begin with the `FTC_` prefix. - * - * The cache is highly portable and thus doesn't know anything about the - * fonts installed on your system, or how to access them. This implies - * the following scheme: - * - * First, available or installed font faces are uniquely identified by - * @FTC_FaceID values, provided to the cache by the client. Note that - * the cache only stores and compares these values, and doesn't try to - * interpret them in any way. - * - * Second, the cache calls, only when needed, a client-provided function - * to convert an @FTC_FaceID into a new @FT_Face object. The latter is - * then completely managed by the cache, including its termination - * through @FT_Done_Face. To monitor termination of face objects, the - * finalizer callback in the `generic` field of the @FT_Face object can - * be used, which might also be used to store the @FTC_FaceID of the - * face. - * - * Clients are free to map face IDs to anything else. The most simple - * usage is to associate them to a (pathname,face_index) pair that is - * used to call @FT_New_Face. However, more complex schemes are also - * possible. - * - * Note that for the cache to work correctly, the face ID values must be - * **persistent**, which means that the contents they point to should not - * change at runtime, or that their value should not become invalid. - * - * If this is unavoidable (e.g., when a font is uninstalled at runtime), - * you should call @FTC_Manager_RemoveFaceID as soon as possible, to let - * the cache get rid of any references to the old @FTC_FaceID it may keep - * internally. Failure to do so will lead to incorrect behaviour or even - * crashes. - * - * To use the cache, start with calling @FTC_Manager_New to create a new - * @FTC_Manager object, which models a single cache instance. You can - * then look up @FT_Face and @FT_Size objects with - * @FTC_Manager_LookupFace and @FTC_Manager_LookupSize, respectively. - * - * If you want to use the charmap caching, call @FTC_CMapCache_New, then - * later use @FTC_CMapCache_Lookup to perform the equivalent of - * @FT_Get_Char_Index, only much faster. - * - * If you want to use the @FT_Glyph caching, call @FTC_ImageCache, then - * later use @FTC_ImageCache_Lookup to retrieve the corresponding - * @FT_Glyph objects from the cache. - * - * If you need lots of small bitmaps, it is much more memory efficient to - * call @FTC_SBitCache_New followed by @FTC_SBitCache_Lookup. This - * returns @FTC_SBitRec structures, which are used to store small bitmaps - * directly. (A small bitmap is one whose metrics and dimensions all fit - * into 8-bit integers). - * - * We hope to also provide a kerning cache in the near future. - * - * - * @order: - * FTC_Manager - * FTC_FaceID - * FTC_Face_Requester - * - * FTC_Manager_New - * FTC_Manager_Reset - * FTC_Manager_Done - * FTC_Manager_LookupFace - * FTC_Manager_LookupSize - * FTC_Manager_RemoveFaceID - * - * FTC_Node - * FTC_Node_Unref - * - * FTC_ImageCache - * FTC_ImageCache_New - * FTC_ImageCache_Lookup - * - * FTC_SBit - * FTC_SBitCache - * FTC_SBitCache_New - * FTC_SBitCache_Lookup - * - * FTC_CMapCache - * FTC_CMapCache_New - * FTC_CMapCache_Lookup - * - *************************************************************************/ - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** BASIC TYPE DEFINITIONS *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @type: - * FTC_FaceID - * - * @description: - * An opaque pointer type that is used to identity face objects. The - * contents of such objects is application-dependent. - * - * These pointers are typically used to point to a user-defined structure - * containing a font file path, and face index. - * - * @note: - * Never use `NULL` as a valid @FTC_FaceID. - * - * Face IDs are passed by the client to the cache manager that calls, - * when needed, the @FTC_Face_Requester to translate them into new - * @FT_Face objects. - * - * If the content of a given face ID changes at runtime, or if the value - * becomes invalid (e.g., when uninstalling a font), you should - * immediately call @FTC_Manager_RemoveFaceID before any other cache - * function. - * - * Failure to do so will result in incorrect behaviour or even memory - * leaks and crashes. - */ - typedef FT_Pointer FTC_FaceID; - - - /************************************************************************** - * - * @functype: - * FTC_Face_Requester - * - * @description: - * A callback function provided by client applications. It is used by - * the cache manager to translate a given @FTC_FaceID into a new valid - * @FT_Face object, on demand. - * - * @input: - * face_id :: - * The face ID to resolve. - * - * library :: - * A handle to a FreeType library object. - * - * req_data :: - * Application-provided request data (see note below). - * - * @output: - * aface :: - * A new @FT_Face handle. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The third parameter `req_data` is the same as the one passed by the - * client when @FTC_Manager_New is called. - * - * The face requester should not perform funny things on the returned - * face object, like creating a new @FT_Size for it, or setting a - * transformation through @FT_Set_Transform! - */ - typedef FT_Error - (*FTC_Face_Requester)( FTC_FaceID face_id, - FT_Library library, - FT_Pointer req_data, - FT_Face* aface ); - - /* */ - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** CACHE MANAGER OBJECT *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @type: - * FTC_Manager - * - * @description: - * This object corresponds to one instance of the cache-subsystem. It is - * used to cache one or more @FT_Face objects, along with corresponding - * @FT_Size objects. - * - * The manager intentionally limits the total number of opened @FT_Face - * and @FT_Size objects to control memory usage. See the `max_faces` and - * `max_sizes` parameters of @FTC_Manager_New. - * - * The manager is also used to cache 'nodes' of various types while - * limiting their total memory usage. - * - * All limitations are enforced by keeping lists of managed objects in - * most-recently-used order, and flushing old nodes to make room for new - * ones. - */ - typedef struct FTC_ManagerRec_* FTC_Manager; - - - /************************************************************************** - * - * @type: - * FTC_Node - * - * @description: - * An opaque handle to a cache node object. Each cache node is - * reference-counted. A node with a count of~0 might be flushed out of a - * full cache whenever a lookup request is performed. - * - * If you look up nodes, you have the ability to 'acquire' them, i.e., to - * increment their reference count. This will prevent the node from - * being flushed out of the cache until you explicitly 'release' it (see - * @FTC_Node_Unref). - * - * See also @FTC_SBitCache_Lookup and @FTC_ImageCache_Lookup. - */ - typedef struct FTC_NodeRec_* FTC_Node; - - - /************************************************************************** - * - * @function: - * FTC_Manager_New - * - * @description: - * Create a new cache manager. - * - * @input: - * library :: - * The parent FreeType library handle to use. - * - * max_faces :: - * Maximum number of opened @FT_Face objects managed by this cache - * instance. Use~0 for defaults. - * - * max_sizes :: - * Maximum number of opened @FT_Size objects managed by this cache - * instance. Use~0 for defaults. - * - * max_bytes :: - * Maximum number of bytes to use for cached data nodes. Use~0 for - * defaults. Note that this value does not account for managed - * @FT_Face and @FT_Size objects. - * - * requester :: - * An application-provided callback used to translate face IDs into - * real @FT_Face objects. - * - * req_data :: - * A generic pointer that is passed to the requester each time it is - * called (see @FTC_Face_Requester). - * - * @output: - * amanager :: - * A handle to a new manager object. 0~in case of failure. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FTC_Manager_New( FT_Library library, - FT_UInt max_faces, - FT_UInt max_sizes, - FT_ULong max_bytes, - FTC_Face_Requester requester, - FT_Pointer req_data, - FTC_Manager *amanager ); - - - /************************************************************************** - * - * @function: - * FTC_Manager_Reset - * - * @description: - * Empty a given cache manager. This simply gets rid of all the - * currently cached @FT_Face and @FT_Size objects within the manager. - * - * @inout: - * manager :: - * A handle to the manager. - */ - FT_EXPORT( void ) - FTC_Manager_Reset( FTC_Manager manager ); - - - /************************************************************************** - * - * @function: - * FTC_Manager_Done - * - * @description: - * Destroy a given manager after emptying it. - * - * @input: - * manager :: - * A handle to the target cache manager object. - */ - FT_EXPORT( void ) - FTC_Manager_Done( FTC_Manager manager ); - - - /************************************************************************** - * - * @function: - * FTC_Manager_LookupFace - * - * @description: - * Retrieve the @FT_Face object that corresponds to a given face ID - * through a cache manager. - * - * @input: - * manager :: - * A handle to the cache manager. - * - * face_id :: - * The ID of the face object. - * - * @output: - * aface :: - * A handle to the face object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The returned @FT_Face object is always owned by the manager. You - * should never try to discard it yourself. - * - * The @FT_Face object doesn't necessarily have a current size object - * (i.e., face->size can be~0). If you need a specific 'font size', use - * @FTC_Manager_LookupSize instead. - * - * Never change the face's transformation matrix (i.e., never call the - * @FT_Set_Transform function) on a returned face! If you need to - * transform glyphs, do it yourself after glyph loading. - * - * When you perform a lookup, out-of-memory errors are detected _within_ - * the lookup and force incremental flushes of the cache until enough - * memory is released for the lookup to succeed. - * - * If a lookup fails with `FT_Err_Out_Of_Memory` the cache has already - * been completely flushed, and still no memory was available for the - * operation. - */ - FT_EXPORT( FT_Error ) - FTC_Manager_LookupFace( FTC_Manager manager, - FTC_FaceID face_id, - FT_Face *aface ); - - - /************************************************************************** - * - * @struct: - * FTC_ScalerRec - * - * @description: - * A structure used to describe a given character size in either pixels - * or points to the cache manager. See @FTC_Manager_LookupSize. - * - * @fields: - * face_id :: - * The source face ID. - * - * width :: - * The character width. - * - * height :: - * The character height. - * - * pixel :: - * A Boolean. If 1, the `width` and `height` fields are interpreted as - * integer pixel character sizes. Otherwise, they are expressed as - * 1/64th of points. - * - * x_res :: - * Only used when `pixel` is value~0 to indicate the horizontal - * resolution in dpi. - * - * y_res :: - * Only used when `pixel` is value~0 to indicate the vertical - * resolution in dpi. - * - * @note: - * This type is mainly used to retrieve @FT_Size objects through the - * cache manager. - */ - typedef struct FTC_ScalerRec_ - { - FTC_FaceID face_id; - FT_UInt width; - FT_UInt height; - FT_Int pixel; - FT_UInt x_res; - FT_UInt y_res; - - } FTC_ScalerRec; - - - /************************************************************************** - * - * @struct: - * FTC_Scaler - * - * @description: - * A handle to an @FTC_ScalerRec structure. - */ - typedef struct FTC_ScalerRec_* FTC_Scaler; - - - /************************************************************************** - * - * @function: - * FTC_Manager_LookupSize - * - * @description: - * Retrieve the @FT_Size object that corresponds to a given - * @FTC_ScalerRec pointer through a cache manager. - * - * @input: - * manager :: - * A handle to the cache manager. - * - * scaler :: - * A scaler handle. - * - * @output: - * asize :: - * A handle to the size object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The returned @FT_Size object is always owned by the manager. You - * should never try to discard it by yourself. - * - * You can access the parent @FT_Face object simply as `size->face` if - * you need it. Note that this object is also owned by the manager. - * - * @note: - * When you perform a lookup, out-of-memory errors are detected _within_ - * the lookup and force incremental flushes of the cache until enough - * memory is released for the lookup to succeed. - * - * If a lookup fails with `FT_Err_Out_Of_Memory` the cache has already - * been completely flushed, and still no memory is available for the - * operation. - */ - FT_EXPORT( FT_Error ) - FTC_Manager_LookupSize( FTC_Manager manager, - FTC_Scaler scaler, - FT_Size *asize ); - - - /************************************************************************** - * - * @function: - * FTC_Node_Unref - * - * @description: - * Decrement a cache node's internal reference count. When the count - * reaches 0, it is not destroyed but becomes eligible for subsequent - * cache flushes. - * - * @input: - * node :: - * The cache node handle. - * - * manager :: - * The cache manager handle. - */ - FT_EXPORT( void ) - FTC_Node_Unref( FTC_Node node, - FTC_Manager manager ); - - - /************************************************************************** - * - * @function: - * FTC_Manager_RemoveFaceID - * - * @description: - * A special function used to indicate to the cache manager that a given - * @FTC_FaceID is no longer valid, either because its content changed, or - * because it was deallocated or uninstalled. - * - * @input: - * manager :: - * The cache manager handle. - * - * face_id :: - * The @FTC_FaceID to be removed. - * - * @note: - * This function flushes all nodes from the cache corresponding to this - * `face_id`, with the exception of nodes with a non-null reference - * count. - * - * Such nodes are however modified internally so as to never appear in - * later lookups with the same `face_id` value, and to be immediately - * destroyed when released by all their users. - * - */ - FT_EXPORT( void ) - FTC_Manager_RemoveFaceID( FTC_Manager manager, - FTC_FaceID face_id ); - - - /************************************************************************** - * - * @type: - * FTC_CMapCache - * - * @description: - * An opaque handle used to model a charmap cache. This cache is to hold - * character codes -> glyph indices mappings. - * - */ - typedef struct FTC_CMapCacheRec_* FTC_CMapCache; - - - /************************************************************************** - * - * @function: - * FTC_CMapCache_New - * - * @description: - * Create a new charmap cache. - * - * @input: - * manager :: - * A handle to the cache manager. - * - * @output: - * acache :: - * A new cache handle. `NULL` in case of error. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Like all other caches, this one will be destroyed with the cache - * manager. - * - */ - FT_EXPORT( FT_Error ) - FTC_CMapCache_New( FTC_Manager manager, - FTC_CMapCache *acache ); - - - /************************************************************************** - * - * @function: - * FTC_CMapCache_Lookup - * - * @description: - * Translate a character code into a glyph index, using the charmap - * cache. - * - * @input: - * cache :: - * A charmap cache handle. - * - * face_id :: - * The source face ID. - * - * cmap_index :: - * The index of the charmap in the source face. Any negative value - * means to use the cache @FT_Face's default charmap. - * - * char_code :: - * The character code (in the corresponding charmap). - * - * @return: - * Glyph index. 0~means 'no glyph'. - * - */ - FT_EXPORT( FT_UInt ) - FTC_CMapCache_Lookup( FTC_CMapCache cache, - FTC_FaceID face_id, - FT_Int cmap_index, - FT_UInt32 char_code ); - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** IMAGE CACHE OBJECT *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @struct: - * FTC_ImageTypeRec - * - * @description: - * A structure used to model the type of images in a glyph cache. - * - * @fields: - * face_id :: - * The face ID. - * - * width :: - * The width in pixels. - * - * height :: - * The height in pixels. - * - * flags :: - * The load flags, as in @FT_Load_Glyph. - * - */ - typedef struct FTC_ImageTypeRec_ - { - FTC_FaceID face_id; - FT_UInt width; - FT_UInt height; - FT_Int32 flags; - - } FTC_ImageTypeRec; - - - /************************************************************************** - * - * @type: - * FTC_ImageType - * - * @description: - * A handle to an @FTC_ImageTypeRec structure. - * - */ - typedef struct FTC_ImageTypeRec_* FTC_ImageType; - - - /* */ - - -#define FTC_IMAGE_TYPE_COMPARE( d1, d2 ) \ - ( (d1)->face_id == (d2)->face_id && \ - (d1)->width == (d2)->width && \ - (d1)->flags == (d2)->flags ) - - - /************************************************************************** - * - * @type: - * FTC_ImageCache - * - * @description: - * A handle to a glyph image cache object. They are designed to hold - * many distinct glyph images while not exceeding a certain memory - * threshold. - */ - typedef struct FTC_ImageCacheRec_* FTC_ImageCache; - - - /************************************************************************** - * - * @function: - * FTC_ImageCache_New - * - * @description: - * Create a new glyph image cache. - * - * @input: - * manager :: - * The parent manager for the image cache. - * - * @output: - * acache :: - * A handle to the new glyph image cache object. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FTC_ImageCache_New( FTC_Manager manager, - FTC_ImageCache *acache ); - - - /************************************************************************** - * - * @function: - * FTC_ImageCache_Lookup - * - * @description: - * Retrieve a given glyph image from a glyph image cache. - * - * @input: - * cache :: - * A handle to the source glyph image cache. - * - * type :: - * A pointer to a glyph image type descriptor. - * - * gindex :: - * The glyph index to retrieve. - * - * @output: - * aglyph :: - * The corresponding @FT_Glyph object. 0~in case of failure. - * - * anode :: - * Used to return the address of the corresponding cache node after - * incrementing its reference count (see note below). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The returned glyph is owned and managed by the glyph image cache. - * Never try to transform or discard it manually! You can however create - * a copy with @FT_Glyph_Copy and modify the new one. - * - * If `anode` is _not_ `NULL`, it receives the address of the cache node - * containing the glyph image, after increasing its reference count. - * This ensures that the node (as well as the @FT_Glyph) will always be - * kept in the cache until you call @FTC_Node_Unref to 'release' it. - * - * If `anode` is `NULL`, the cache node is left unchanged, which means - * that the @FT_Glyph could be flushed out of the cache on the next call - * to one of the caching sub-system APIs. Don't assume that it is - * persistent! - */ - FT_EXPORT( FT_Error ) - FTC_ImageCache_Lookup( FTC_ImageCache cache, - FTC_ImageType type, - FT_UInt gindex, - FT_Glyph *aglyph, - FTC_Node *anode ); - - - /************************************************************************** - * - * @function: - * FTC_ImageCache_LookupScaler - * - * @description: - * A variant of @FTC_ImageCache_Lookup that uses an @FTC_ScalerRec to - * specify the face ID and its size. - * - * @input: - * cache :: - * A handle to the source glyph image cache. - * - * scaler :: - * A pointer to a scaler descriptor. - * - * load_flags :: - * The corresponding load flags. - * - * gindex :: - * The glyph index to retrieve. - * - * @output: - * aglyph :: - * The corresponding @FT_Glyph object. 0~in case of failure. - * - * anode :: - * Used to return the address of the corresponding cache node after - * incrementing its reference count (see note below). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The returned glyph is owned and managed by the glyph image cache. - * Never try to transform or discard it manually! You can however create - * a copy with @FT_Glyph_Copy and modify the new one. - * - * If `anode` is _not_ `NULL`, it receives the address of the cache node - * containing the glyph image, after increasing its reference count. - * This ensures that the node (as well as the @FT_Glyph) will always be - * kept in the cache until you call @FTC_Node_Unref to 'release' it. - * - * If `anode` is `NULL`, the cache node is left unchanged, which means - * that the @FT_Glyph could be flushed out of the cache on the next call - * to one of the caching sub-system APIs. Don't assume that it is - * persistent! - * - * Calls to @FT_Set_Char_Size and friends have no effect on cached - * glyphs; you should always use the FreeType cache API instead. - */ - FT_EXPORT( FT_Error ) - FTC_ImageCache_LookupScaler( FTC_ImageCache cache, - FTC_Scaler scaler, - FT_ULong load_flags, - FT_UInt gindex, - FT_Glyph *aglyph, - FTC_Node *anode ); - - - /************************************************************************** - * - * @type: - * FTC_SBit - * - * @description: - * A handle to a small bitmap descriptor. See the @FTC_SBitRec structure - * for details. - */ - typedef struct FTC_SBitRec_* FTC_SBit; - - - /************************************************************************** - * - * @struct: - * FTC_SBitRec - * - * @description: - * A very compact structure used to describe a small glyph bitmap. - * - * @fields: - * width :: - * The bitmap width in pixels. - * - * height :: - * The bitmap height in pixels. - * - * left :: - * The horizontal distance from the pen position to the left bitmap - * border (a.k.a. 'left side bearing', or 'lsb'). - * - * top :: - * The vertical distance from the pen position (on the baseline) to the - * upper bitmap border (a.k.a. 'top side bearing'). The distance is - * positive for upwards y~coordinates. - * - * format :: - * The format of the glyph bitmap (monochrome or gray). - * - * max_grays :: - * Maximum gray level value (in the range 1 to~255). - * - * pitch :: - * The number of bytes per bitmap line. May be positive or negative. - * - * xadvance :: - * The horizontal advance width in pixels. - * - * yadvance :: - * The vertical advance height in pixels. - * - * buffer :: - * A pointer to the bitmap pixels. - */ - typedef struct FTC_SBitRec_ - { - FT_Byte width; - FT_Byte height; - FT_Char left; - FT_Char top; - - FT_Byte format; - FT_Byte max_grays; - FT_Short pitch; - FT_Char xadvance; - FT_Char yadvance; - - FT_Byte* buffer; - - } FTC_SBitRec; - - - /************************************************************************** - * - * @type: - * FTC_SBitCache - * - * @description: - * A handle to a small bitmap cache. These are special cache objects - * used to store small glyph bitmaps (and anti-aliased pixmaps) in a much - * more efficient way than the traditional glyph image cache implemented - * by @FTC_ImageCache. - */ - typedef struct FTC_SBitCacheRec_* FTC_SBitCache; - - - /************************************************************************** - * - * @function: - * FTC_SBitCache_New - * - * @description: - * Create a new cache to store small glyph bitmaps. - * - * @input: - * manager :: - * A handle to the source cache manager. - * - * @output: - * acache :: - * A handle to the new sbit cache. `NULL` in case of error. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FTC_SBitCache_New( FTC_Manager manager, - FTC_SBitCache *acache ); - - - /************************************************************************** - * - * @function: - * FTC_SBitCache_Lookup - * - * @description: - * Look up a given small glyph bitmap in a given sbit cache and 'lock' it - * to prevent its flushing from the cache until needed. - * - * @input: - * cache :: - * A handle to the source sbit cache. - * - * type :: - * A pointer to the glyph image type descriptor. - * - * gindex :: - * The glyph index. - * - * @output: - * sbit :: - * A handle to a small bitmap descriptor. - * - * anode :: - * Used to return the address of the corresponding cache node after - * incrementing its reference count (see note below). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The small bitmap descriptor and its bit buffer are owned by the cache - * and should never be freed by the application. They might as well - * disappear from memory on the next cache lookup, so don't treat them as - * persistent data. - * - * The descriptor's `buffer` field is set to~0 to indicate a missing - * glyph bitmap. - * - * If `anode` is _not_ `NULL`, it receives the address of the cache node - * containing the bitmap, after increasing its reference count. This - * ensures that the node (as well as the image) will always be kept in - * the cache until you call @FTC_Node_Unref to 'release' it. - * - * If `anode` is `NULL`, the cache node is left unchanged, which means - * that the bitmap could be flushed out of the cache on the next call to - * one of the caching sub-system APIs. Don't assume that it is - * persistent! - */ - FT_EXPORT( FT_Error ) - FTC_SBitCache_Lookup( FTC_SBitCache cache, - FTC_ImageType type, - FT_UInt gindex, - FTC_SBit *sbit, - FTC_Node *anode ); - - - /************************************************************************** - * - * @function: - * FTC_SBitCache_LookupScaler - * - * @description: - * A variant of @FTC_SBitCache_Lookup that uses an @FTC_ScalerRec to - * specify the face ID and its size. - * - * @input: - * cache :: - * A handle to the source sbit cache. - * - * scaler :: - * A pointer to the scaler descriptor. - * - * load_flags :: - * The corresponding load flags. - * - * gindex :: - * The glyph index. - * - * @output: - * sbit :: - * A handle to a small bitmap descriptor. - * - * anode :: - * Used to return the address of the corresponding cache node after - * incrementing its reference count (see note below). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The small bitmap descriptor and its bit buffer are owned by the cache - * and should never be freed by the application. They might as well - * disappear from memory on the next cache lookup, so don't treat them as - * persistent data. - * - * The descriptor's `buffer` field is set to~0 to indicate a missing - * glyph bitmap. - * - * If `anode` is _not_ `NULL`, it receives the address of the cache node - * containing the bitmap, after increasing its reference count. This - * ensures that the node (as well as the image) will always be kept in - * the cache until you call @FTC_Node_Unref to 'release' it. - * - * If `anode` is `NULL`, the cache node is left unchanged, which means - * that the bitmap could be flushed out of the cache on the next call to - * one of the caching sub-system APIs. Don't assume that it is - * persistent! - */ - FT_EXPORT( FT_Error ) - FTC_SBitCache_LookupScaler( FTC_SBitCache cache, - FTC_Scaler scaler, - FT_ULong load_flags, - FT_UInt gindex, - FTC_SBit *sbit, - FTC_Node *anode ); - - /* */ - - -FT_END_HEADER - -#endif /* FTCACHE_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftchapters.h b/FreeType/include/freetype/ftchapters.h deleted file mode 100644 index 2ee2697..0000000 --- a/FreeType/include/freetype/ftchapters.h +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** - * - * This file defines the structure of the FreeType reference. - * It is used by the python script that generates the HTML files. - * - */ - - - /************************************************************************** - * - * @chapter: - * general_remarks - * - * @title: - * General Remarks - * - * @sections: - * header_inclusion - * user_allocation - * - */ - - - /************************************************************************** - * - * @chapter: - * core_api - * - * @title: - * Core API - * - * @sections: - * version - * basic_types - * base_interface - * glyph_variants - * color_management - * layer_management - * glyph_management - * mac_specific - * sizes_management - * header_file_macros - * - */ - - - /************************************************************************** - * - * @chapter: - * format_specific - * - * @title: - * Format-Specific API - * - * @sections: - * multiple_masters - * truetype_tables - * type1_tables - * sfnt_names - * bdf_fonts - * cid_fonts - * pfr_fonts - * winfnt_fonts - * font_formats - * gasp_table - * - */ - - - /************************************************************************** - * - * @chapter: - * module_specific - * - * @title: - * Controlling FreeType Modules - * - * @sections: - * auto_hinter - * cff_driver - * t1_cid_driver - * tt_driver - * pcf_driver - * properties - * parameter_tags - * lcd_rendering - * - */ - - - /************************************************************************** - * - * @chapter: - * cache_subsystem - * - * @title: - * Cache Sub-System - * - * @sections: - * cache_subsystem - * - */ - - - /************************************************************************** - * - * @chapter: - * support_api - * - * @title: - * Support API - * - * @sections: - * computations - * list_processing - * outline_processing - * quick_advance - * bitmap_handling - * raster - * glyph_stroker - * system_interface - * module_management - * gzip - * lzw - * bzip2 - * - */ - - - /************************************************************************** - * - * @chapter: - * error_codes - * - * @title: - * Error Codes - * - * @sections: - * error_enumerations - * error_code_values - * - */ - - -/* END */ diff --git a/FreeType/include/freetype/ftcid.h b/FreeType/include/freetype/ftcid.h deleted file mode 100644 index 8eafc1c..0000000 --- a/FreeType/include/freetype/ftcid.h +++ /dev/null @@ -1,168 +0,0 @@ -/**************************************************************************** - * - * ftcid.h - * - * FreeType API for accessing CID font information (specification). - * - * Copyright (C) 2007-2019 by - * Dereg Clegg and Michael Toftdal. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTCID_H_ -#define FTCID_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * cid_fonts - * - * @title: - * CID Fonts - * - * @abstract: - * CID-keyed font-specific API. - * - * @description: - * This section contains the declaration of CID-keyed font-specific - * functions. - * - */ - - - /************************************************************************** - * - * @function: - * FT_Get_CID_Registry_Ordering_Supplement - * - * @description: - * Retrieve the Registry/Ordering/Supplement triple (also known as the - * "R/O/S") from a CID-keyed font. - * - * @input: - * face :: - * A handle to the input face. - * - * @output: - * registry :: - * The registry, as a C~string, owned by the face. - * - * ordering :: - * The ordering, as a C~string, owned by the face. - * - * supplement :: - * The supplement. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function only works with CID faces, returning an error - * otherwise. - * - * @since: - * 2.3.6 - */ - FT_EXPORT( FT_Error ) - FT_Get_CID_Registry_Ordering_Supplement( FT_Face face, - const char* *registry, - const char* *ordering, - FT_Int *supplement ); - - - /************************************************************************** - * - * @function: - * FT_Get_CID_Is_Internally_CID_Keyed - * - * @description: - * Retrieve the type of the input face, CID keyed or not. In contrast - * to the @FT_IS_CID_KEYED macro this function returns successfully also - * for CID-keyed fonts in an SFNT wrapper. - * - * @input: - * face :: - * A handle to the input face. - * - * @output: - * is_cid :: - * The type of the face as an @FT_Bool. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function only works with CID faces and OpenType fonts, returning - * an error otherwise. - * - * @since: - * 2.3.9 - */ - FT_EXPORT( FT_Error ) - FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face, - FT_Bool *is_cid ); - - - /************************************************************************** - * - * @function: - * FT_Get_CID_From_Glyph_Index - * - * @description: - * Retrieve the CID of the input glyph index. - * - * @input: - * face :: - * A handle to the input face. - * - * glyph_index :: - * The input glyph index. - * - * @output: - * cid :: - * The CID as an @FT_UInt. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function only works with CID faces and OpenType fonts, returning - * an error otherwise. - * - * @since: - * 2.3.9 - */ - FT_EXPORT( FT_Error ) - FT_Get_CID_From_Glyph_Index( FT_Face face, - FT_UInt glyph_index, - FT_UInt *cid ); - - /* */ - - -FT_END_HEADER - -#endif /* FTCID_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftcolor.h b/FreeType/include/freetype/ftcolor.h deleted file mode 100644 index cf18021..0000000 --- a/FreeType/include/freetype/ftcolor.h +++ /dev/null @@ -1,311 +0,0 @@ -/**************************************************************************** - * - * ftcolor.h - * - * FreeType's glyph color management (specification). - * - * Copyright (C) 2018-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTCOLOR_H_ -#define FTCOLOR_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * color_management - * - * @title: - * Glyph Color Management - * - * @abstract: - * Retrieving and manipulating OpenType's 'CPAL' table data. - * - * @description: - * The functions described here allow access and manipulation of color - * palette entries in OpenType's 'CPAL' tables. - */ - - - /************************************************************************** - * - * @struct: - * FT_Color - * - * @description: - * This structure models a BGRA color value of a 'CPAL' palette entry. - * - * The used color space is sRGB; the colors are not pre-multiplied, and - * alpha values must be explicitly set. - * - * @fields: - * blue :: - * Blue value. - * - * green :: - * Green value. - * - * red :: - * Red value. - * - * alpha :: - * Alpha value, giving the red, green, and blue color's opacity. - * - * @since: - * 2.10 - */ - typedef struct FT_Color_ - { - FT_Byte blue; - FT_Byte green; - FT_Byte red; - FT_Byte alpha; - - } FT_Color; - - - /************************************************************************** - * - * @enum: - * FT_PALETTE_XXX - * - * @description: - * A list of bit field constants used in the `palette_flags` array of the - * @FT_Palette_Data structure to indicate for which background a palette - * with a given index is usable. - * - * @values: - * FT_PALETTE_FOR_LIGHT_BACKGROUND :: - * The palette is appropriate to use when displaying the font on a - * light background such as white. - * - * FT_PALETTE_FOR_DARK_BACKGROUND :: - * The palette is appropriate to use when displaying the font on a dark - * background such as black. - * - * @since: - * 2.10 - */ -#define FT_PALETTE_FOR_LIGHT_BACKGROUND 0x01 -#define FT_PALETTE_FOR_DARK_BACKGROUND 0x02 - - - /************************************************************************** - * - * @struct: - * FT_Palette_Data - * - * @description: - * This structure holds the data of the 'CPAL' table. - * - * @fields: - * num_palettes :: - * The number of palettes. - * - * palette_name_ids :: - * A read-only array of palette name IDs with `num_palettes` elements, - * corresponding to entries like 'dark' or 'light' in the font's 'name' - * table. - * - * An empty name ID in the 'CPAL' table gets represented as value - * 0xFFFF. - * - * `NULL` if the font's 'CPAL' table doesn't contain appropriate data. - * - * palette_flags :: - * A read-only array of palette flags with `num_palettes` elements. - * Possible values are an ORed combination of - * @FT_PALETTE_FOR_LIGHT_BACKGROUND and - * @FT_PALETTE_FOR_DARK_BACKGROUND. - * - * `NULL` if the font's 'CPAL' table doesn't contain appropriate data. - * - * num_palette_entries :: - * The number of entries in a single palette. All palettes have the - * same size. - * - * palette_entry_name_ids :: - * A read-only array of palette entry name IDs with - * `num_palette_entries`. In each palette, entries with the same index - * have the same function. For example, index~0 might correspond to - * string 'outline' in the font's 'name' table to indicate that this - * palette entry is used for outlines, index~1 might correspond to - * 'fill' to indicate the filling color palette entry, etc. - * - * An empty entry name ID in the 'CPAL' table gets represented as value - * 0xFFFF. - * - * `NULL` if the font's 'CPAL' table doesn't contain appropriate data. - * - * @note: - * Use function @FT_Get_Sfnt_Name to map name IDs and entry name IDs to - * name strings. - * - * @since: - * 2.10 - */ - typedef struct FT_Palette_Data_ { - FT_UShort num_palettes; - const FT_UShort* palette_name_ids; - const FT_UShort* palette_flags; - - FT_UShort num_palette_entries; - const FT_UShort* palette_entry_name_ids; - - } FT_Palette_Data; - - - /************************************************************************** - * - * @function: - * FT_Palette_Data_Get - * - * @description: - * Retrieve the face's color palette data. - * - * @input: - * face :: - * The source face handle. - * - * @output: - * apalette :: - * A pointer to an @FT_Palette_Data structure. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * All arrays in the returned @FT_Palette_Data structure are read-only. - * - * This function always returns an error if the config macro - * `TT_CONFIG_OPTION_COLOR_LAYERS` is not defined in `ftoption.h`. - * - * @since: - * 2.10 - */ - FT_EXPORT( FT_Error ) - FT_Palette_Data_Get( FT_Face face, - FT_Palette_Data *apalette ); - - - /************************************************************************** - * - * @function: - * FT_Palette_Select - * - * @description: - * This function has two purposes. - * - * (1) It activates a palette for rendering color glyphs, and - * - * (2) it retrieves all (unmodified) color entries of this palette. This - * function returns a read-write array, which means that a calling - * application can modify the palette entries on demand. - * - * A corollary of (2) is that calling the function, then modifying some - * values, then calling the function again with the same arguments resets - * all color entries to the original 'CPAL' values; all user modifications - * are lost. - * - * @input: - * face :: - * The source face handle. - * - * palette_index :: - * The palette index. - * - * @output: - * apalette :: - * An array of color entries for a palette with index `palette_index`, - * having `num_palette_entries` elements (as found in the - * `FT_Palette_Data` structure). If `apalette` is set to `NULL`, no - * array gets returned (and no color entries can be modified). - * - * In case the font doesn't support color palettes, `NULL` is returned. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The array pointed to by `apalette_entries` is owned and managed by - * FreeType. - * - * This function always returns an error if the config macro - * `TT_CONFIG_OPTION_COLOR_LAYERS` is not defined in `ftoption.h`. - * - * @since: - * 2.10 - */ - FT_EXPORT( FT_Error ) - FT_Palette_Select( FT_Face face, - FT_UShort palette_index, - FT_Color* *apalette ); - - - /************************************************************************** - * - * @function: - * FT_Palette_Set_Foreground_Color - * - * @description: - * 'COLR' uses palette index 0xFFFF to indicate a 'text foreground - * color'. This function sets this value. - * - * @input: - * face :: - * The source face handle. - * - * foreground_color :: - * An `FT_Color` structure to define the text foreground color. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If this function isn't called, the text foreground color is set to - * white opaque (BGRA value 0xFFFFFFFF) if - * @FT_PALETTE_FOR_DARK_BACKGROUND is present for the current palette, - * and black opaque (BGRA value 0x000000FF) otherwise, including the case - * that no palette types are available in the 'CPAL' table. - * - * This function always returns an error if the config macro - * `TT_CONFIG_OPTION_COLOR_LAYERS` is not defined in `ftoption.h`. - * - * @since: - * 2.10 - */ - FT_EXPORT( FT_Error ) - FT_Palette_Set_Foreground_Color( FT_Face face, - FT_Color foreground_color ); - - /* */ - - -FT_END_HEADER - -#endif /* FTCOLOR_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftdriver.h b/FreeType/include/freetype/ftdriver.h deleted file mode 100644 index 497bde9..0000000 --- a/FreeType/include/freetype/ftdriver.h +++ /dev/null @@ -1,1232 +0,0 @@ -/**************************************************************************** - * - * ftdriver.h - * - * FreeType API for controlling driver modules (specification only). - * - * Copyright (C) 2017-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTDRIVER_H_ -#define FTDRIVER_H_ - -#include -#include FT_FREETYPE_H -#include FT_PARAMETER_TAGS_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * auto_hinter - * - * @title: - * The auto-hinter - * - * @abstract: - * Controlling the auto-hinting module. - * - * @description: - * While FreeType's auto-hinter doesn't expose API functions by itself, - * it is possible to control its behaviour with @FT_Property_Set and - * @FT_Property_Get. The following lists the available properties - * together with the necessary macros and structures. - * - * Note that the auto-hinter's module name is 'autofitter' for historical - * reasons. - * - * Available properties are @increase-x-height, @no-stem-darkening - * (experimental), @darkening-parameters (experimental), @warping - * (experimental), @glyph-to-script-map (experimental), @fallback-script - * (experimental), and @default-script (experimental), as documented in - * the @properties section. - * - */ - - - /************************************************************************** - * - * @section: - * cff_driver - * - * @title: - * The CFF driver - * - * @abstract: - * Controlling the CFF driver module. - * - * @description: - * While FreeType's CFF driver doesn't expose API functions by itself, it - * is possible to control its behaviour with @FT_Property_Set and - * @FT_Property_Get. - * - * The CFF driver's module name is 'cff'. - * - * Available properties are @hinting-engine, @no-stem-darkening, - * @darkening-parameters, and @random-seed, as documented in the - * @properties section. - * - * - * **Hinting and antialiasing principles of the new engine** - * - * The rasterizer is positioning horizontal features (e.g., ascender - * height & x-height, or crossbars) on the pixel grid and minimizing the - * amount of antialiasing applied to them, while placing vertical - * features (vertical stems) on the pixel grid without hinting, thus - * representing the stem position and weight accurately. Sometimes the - * vertical stems may be only partially black. In this context, - * 'antialiasing' means that stems are not positioned exactly on pixel - * borders, causing a fuzzy appearance. - * - * There are two principles behind this approach. - * - * 1) No hinting in the horizontal direction: Unlike 'superhinted' - * TrueType, which changes glyph widths to accommodate regular - * inter-glyph spacing, Adobe's approach is 'faithful to the design' in - * representing both the glyph width and the inter-glyph spacing designed - * for the font. This makes the screen display as close as it can be to - * the result one would get with infinite resolution, while preserving - * what is considered the key characteristics of each glyph. Note that - * the distances between unhinted and grid-fitted positions at small - * sizes are comparable to kerning values and thus would be noticeable - * (and distracting) while reading if hinting were applied. - * - * One of the reasons to not hint horizontally is antialiasing for LCD - * screens: The pixel geometry of modern displays supplies three vertical - * subpixels as the eye moves horizontally across each visible pixel. On - * devices where we can be certain this characteristic is present a - * rasterizer can take advantage of the subpixels to add increments of - * weight. In Western writing systems this turns out to be the more - * critical direction anyway; the weights and spacing of vertical stems - * (see above) are central to Armenian, Cyrillic, Greek, and Latin type - * designs. Even when the rasterizer uses greyscale antialiasing instead - * of color (a necessary compromise when one doesn't know the screen - * characteristics), the unhinted vertical features preserve the design's - * weight and spacing much better than aliased type would. - * - * 2) Alignment in the vertical direction: Weights and spacing along the - * y~axis are less critical; what is much more important is the visual - * alignment of related features (like cap-height and x-height). The - * sense of alignment for these is enhanced by the sharpness of grid-fit - * edges, while the cruder vertical resolution (full pixels instead of - * 1/3 pixels) is less of a problem. - * - * On the technical side, horizontal alignment zones for ascender, - * x-height, and other important height values (traditionally called - * 'blue zones') as defined in the font are positioned independently, - * each being rounded to the nearest pixel edge, taking care of overshoot - * suppression at small sizes, stem darkening, and scaling. - * - * Hstems (this is, hint values defined in the font to help align - * horizontal features) that fall within a blue zone are said to be - * 'captured' and are aligned to that zone. Uncaptured stems are moved - * in one of four ways, top edge up or down, bottom edge up or down. - * Unless there are conflicting hstems, the smallest movement is taken to - * minimize distortion. - * - */ - - - /************************************************************************** - * - * @section: - * pcf_driver - * - * @title: - * The PCF driver - * - * @abstract: - * Controlling the PCF driver module. - * - * @description: - * While FreeType's PCF driver doesn't expose API functions by itself, it - * is possible to control its behaviour with @FT_Property_Set and - * @FT_Property_Get. Right now, there is a single property - * @no-long-family-names available if FreeType is compiled with - * PCF_CONFIG_OPTION_LONG_FAMILY_NAMES. - * - * The PCF driver's module name is 'pcf'. - * - */ - - - /************************************************************************** - * - * @section: - * t1_cid_driver - * - * @title: - * The Type 1 and CID drivers - * - * @abstract: - * Controlling the Type~1 and CID driver modules. - * - * @description: - * It is possible to control the behaviour of FreeType's Type~1 and - * Type~1 CID drivers with @FT_Property_Set and @FT_Property_Get. - * - * Behind the scenes, both drivers use the Adobe CFF engine for hinting; - * however, the used properties must be specified separately. - * - * The Type~1 driver's module name is 'type1'; the CID driver's module - * name is 't1cid'. - * - * Available properties are @hinting-engine, @no-stem-darkening, - * @darkening-parameters, and @random-seed, as documented in the - * @properties section. - * - * Please see the @cff_driver section for more details on the new hinting - * engine. - * - */ - - - /************************************************************************** - * - * @section: - * tt_driver - * - * @title: - * The TrueType driver - * - * @abstract: - * Controlling the TrueType driver module. - * - * @description: - * While FreeType's TrueType driver doesn't expose API functions by - * itself, it is possible to control its behaviour with @FT_Property_Set - * and @FT_Property_Get. The following lists the available properties - * together with the necessary macros and structures. - * - * The TrueType driver's module name is 'truetype'. - * - * A single property @interpreter-version is available, as documented in - * the @properties section. - * - * We start with a list of definitions, kindly provided by Greg - * Hitchcock. - * - * _Bi-Level Rendering_ - * - * Monochromatic rendering, exclusively used in the early days of - * TrueType by both Apple and Microsoft. Microsoft's GDI interface - * supported hinting of the right-side bearing point, such that the - * advance width could be non-linear. Most often this was done to - * achieve some level of glyph symmetry. To enable reasonable - * performance (e.g., not having to run hinting on all glyphs just to get - * the widths) there was a bit in the head table indicating if the side - * bearing was hinted, and additional tables, 'hdmx' and 'LTSH', to cache - * hinting widths across multiple sizes and device aspect ratios. - * - * _Font Smoothing_ - * - * Microsoft's GDI implementation of anti-aliasing. Not traditional - * anti-aliasing as the outlines were hinted before the sampling. The - * widths matched the bi-level rendering. - * - * _ClearType Rendering_ - * - * Technique that uses physical subpixels to improve rendering on LCD - * (and other) displays. Because of the higher resolution, many methods - * of improving symmetry in glyphs through hinting the right-side bearing - * were no longer necessary. This lead to what GDI calls 'natural - * widths' ClearType, see - * http://rastertragedy.com/RTRCh4.htm#Sec21. Since hinting - * has extra resolution, most non-linearity went away, but it is still - * possible for hints to change the advance widths in this mode. - * - * _ClearType Compatible Widths_ - * - * One of the earliest challenges with ClearType was allowing the - * implementation in GDI to be selected without requiring all UI and - * documents to reflow. To address this, a compatible method of - * rendering ClearType was added where the font hints are executed once - * to determine the width in bi-level rendering, and then re-run in - * ClearType, with the difference in widths being absorbed in the font - * hints for ClearType (mostly in the white space of hints); see - * http://rastertragedy.com/RTRCh4.htm#Sec20. Somewhat by - * definition, compatible width ClearType allows for non-linear widths, - * but only when the bi-level version has non-linear widths. - * - * _ClearType Subpixel Positioning_ - * - * One of the nice benefits of ClearType is the ability to more crisply - * display fractional widths; unfortunately, the GDI model of integer - * bitmaps did not support this. However, the WPF and Direct Write - * frameworks do support fractional widths. DWrite calls this 'natural - * mode', not to be confused with GDI's 'natural widths'. Subpixel - * positioning, in the current implementation of Direct Write, - * unfortunately does not support hinted advance widths, see - * http://rastertragedy.com/RTRCh4.htm#Sec22. Note that the - * TrueType interpreter fully allows the advance width to be adjusted in - * this mode, just the DWrite client will ignore those changes. - * - * _ClearType Backward Compatibility_ - * - * This is a set of exceptions made in the TrueType interpreter to - * minimize hinting techniques that were problematic with the extra - * resolution of ClearType; see - * http://rastertragedy.com/RTRCh4.htm#Sec1 and - * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx. - * This technique is not to be confused with ClearType compatible widths. - * ClearType backward compatibility has no direct impact on changing - * advance widths, but there might be an indirect impact on disabling - * some deltas. This could be worked around in backward compatibility - * mode. - * - * _Native ClearType Mode_ - * - * (Not to be confused with 'natural widths'.) This mode removes all the - * exceptions in the TrueType interpreter when running with ClearType. - * Any issues on widths would still apply, though. - * - */ - - - /************************************************************************** - * - * @section: - * properties - * - * @title: - * Driver properties - * - * @abstract: - * Controlling driver modules. - * - * @description: - * Driver modules can be controlled by setting and unsetting properties, - * using the functions @FT_Property_Set and @FT_Property_Get. This - * section documents the available properties, together with auxiliary - * macros and structures. - * - */ - - - /************************************************************************** - * - * @enum: - * FT_HINTING_XXX - * - * @description: - * A list of constants used for the @hinting-engine property to select - * the hinting engine for CFF, Type~1, and CID fonts. - * - * @values: - * FT_HINTING_FREETYPE :: - * Use the old FreeType hinting engine. - * - * FT_HINTING_ADOBE :: - * Use the hinting engine contributed by Adobe. - * - * @since: - * 2.9 - * - */ -#define FT_HINTING_FREETYPE 0 -#define FT_HINTING_ADOBE 1 - - /* these constants (introduced in 2.4.12) are deprecated */ -#define FT_CFF_HINTING_FREETYPE FT_HINTING_FREETYPE -#define FT_CFF_HINTING_ADOBE FT_HINTING_ADOBE - - - /************************************************************************** - * - * @property: - * hinting-engine - * - * @description: - * Thanks to Adobe, which contributed a new hinting (and parsing) engine, - * an application can select between 'freetype' and 'adobe' if compiled - * with `CFF_CONFIG_OPTION_OLD_ENGINE`. If this configuration macro - * isn't defined, 'hinting-engine' does nothing. - * - * The same holds for the Type~1 and CID modules if compiled with - * `T1_CONFIG_OPTION_OLD_ENGINE`. - * - * For the 'cff' module, the default engine is 'freetype' if - * `CFF_CONFIG_OPTION_OLD_ENGINE` is defined, and 'adobe' otherwise. - * - * For both the 'type1' and 't1cid' modules, the default engine is - * 'freetype' if `T1_CONFIG_OPTION_OLD_ENGINE` is defined, and 'adobe' - * otherwise. - * - * @note: - * This property can be used with @FT_Property_Get also. - * - * This property can be set via the `FREETYPE_PROPERTIES` environment - * variable (using values 'adobe' or 'freetype'). - * - * @example: - * The following example code demonstrates how to select Adobe's hinting - * engine for the 'cff' module (omitting the error handling). - * - * ``` - * FT_Library library; - * FT_UInt hinting_engine = FT_HINTING_ADOBE; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "cff", - * "hinting-engine", &hinting_engine ); - * ``` - * - * @since: - * 2.4.12 (for 'cff' module) - * - * 2.9 (for 'type1' and 't1cid' modules) - * - */ - - - /************************************************************************** - * - * @property: - * no-stem-darkening - * - * @description: - * All glyphs that pass through the auto-hinter will be emboldened unless - * this property is set to TRUE. The same is true for the CFF, Type~1, - * and CID font modules if the 'Adobe' engine is selected (which is the - * default). - * - * Stem darkening emboldens glyphs at smaller sizes to make them more - * readable on common low-DPI screens when using linear alpha blending - * and gamma correction, see @FT_Render_Glyph. When not using linear - * alpha blending and gamma correction, glyphs will appear heavy and - * fuzzy! - * - * Gamma correction essentially lightens fonts since shades of grey are - * shifted to higher pixel values (=~higher brightness) to match the - * original intention to the reality of our screens. The side-effect is - * that glyphs 'thin out'. Mac OS~X and Adobe's proprietary font - * rendering library implement a counter-measure: stem darkening at - * smaller sizes where shades of gray dominate. By emboldening a glyph - * slightly in relation to its pixel size, individual pixels get higher - * coverage of filled-in outlines and are therefore 'blacker'. This - * counteracts the 'thinning out' of glyphs, making text remain readable - * at smaller sizes. - * - * By default, the Adobe engines for CFF, Type~1, and CID fonts darken - * stems at smaller sizes, regardless of hinting, to enhance contrast. - * Setting this property, stem darkening gets switched off. - * - * For the auto-hinter, stem-darkening is experimental currently and thus - * switched off by default (this is, `no-stem-darkening` is set to TRUE - * by default). Total consistency with the CFF driver is not achieved - * right now because the emboldening method differs and glyphs must be - * scaled down on the Y-axis to keep outline points inside their - * precomputed blue zones. The smaller the size (especially 9ppem and - * down), the higher the loss of emboldening versus the CFF driver. - * - * Note that stem darkening is never applied if @FT_LOAD_NO_SCALE is set. - * - * @note: - * This property can be used with @FT_Property_Get also. - * - * This property can be set via the `FREETYPE_PROPERTIES` environment - * variable (using values 1 and 0 for 'on' and 'off', respectively). It - * can also be set per face using @FT_Face_Properties with - * @FT_PARAM_TAG_STEM_DARKENING. - * - * @example: - * ``` - * FT_Library library; - * FT_Bool no_stem_darkening = TRUE; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "cff", - * "no-stem-darkening", &no_stem_darkening ); - * ``` - * - * @since: - * 2.4.12 (for 'cff' module) - * - * 2.6.2 (for 'autofitter' module) - * - * 2.9 (for 'type1' and 't1cid' modules) - * - */ - - - /************************************************************************** - * - * @property: - * darkening-parameters - * - * @description: - * By default, the Adobe hinting engine, as used by the CFF, Type~1, and - * CID font drivers, darkens stems as follows (if the `no-stem-darkening` - * property isn't set): - * - * ``` - * stem width <= 0.5px: darkening amount = 0.4px - * stem width = 1px: darkening amount = 0.275px - * stem width = 1.667px: darkening amount = 0.275px - * stem width >= 2.333px: darkening amount = 0px - * ``` - * - * and piecewise linear in-between. At configuration time, these four - * control points can be set with the macro - * `CFF_CONFIG_OPTION_DARKENING_PARAMETERS`; the CFF, Type~1, and CID - * drivers share these values. At runtime, the control points can be - * changed using the `darkening-parameters` property (see the example - * below that demonstrates this for the Type~1 driver). - * - * The x~values give the stem width, and the y~values the darkening - * amount. The unit is 1000th of pixels. All coordinate values must be - * positive; the x~values must be monotonically increasing; the y~values - * must be monotonically decreasing and smaller than or equal to 500 - * (corresponding to half a pixel); the slope of each linear piece must - * be shallower than -1 (e.g., -.4). - * - * The auto-hinter provides this property, too, as an experimental - * feature. See @no-stem-darkening for more. - * - * @note: - * This property can be used with @FT_Property_Get also. - * - * This property can be set via the `FREETYPE_PROPERTIES` environment - * variable, using eight comma-separated integers without spaces. Here - * the above example, using `\` to break the line for readability. - * - * ``` - * FREETYPE_PROPERTIES=\ - * type1:darkening-parameters=500,300,1000,200,1500,100,2000,0 - * ``` - * - * @example: - * ``` - * FT_Library library; - * FT_Int darken_params[8] = { 500, 300, // x1, y1 - * 1000, 200, // x2, y2 - * 1500, 100, // x3, y3 - * 2000, 0 }; // x4, y4 - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "type1", - * "darkening-parameters", darken_params ); - * ``` - * - * @since: - * 2.5.1 (for 'cff' module) - * - * 2.6.2 (for 'autofitter' module) - * - * 2.9 (for 'type1' and 't1cid' modules) - * - */ - - - /************************************************************************** - * - * @property: - * random-seed - * - * @description: - * By default, the seed value for the CFF 'random' operator and the - * similar '0 28 callothersubr pop' command for the Type~1 and CID - * drivers is set to a random value. However, mainly for debugging - * purposes, it is often necessary to use a known value as a seed so that - * the pseudo-random number sequences generated by 'random' are - * repeatable. - * - * The `random-seed` property does that. Its argument is a signed 32bit - * integer; if the value is zero or negative, the seed given by the - * `intitialRandomSeed` private DICT operator in a CFF file gets used (or - * a default value if there is no such operator). If the value is - * positive, use it instead of `initialRandomSeed`, which is consequently - * ignored. - * - * @note: - * This property can be set via the `FREETYPE_PROPERTIES` environment - * variable. It can also be set per face using @FT_Face_Properties with - * @FT_PARAM_TAG_RANDOM_SEED. - * - * @since: - * 2.8 (for 'cff' module) - * - * 2.9 (for 'type1' and 't1cid' modules) - * - */ - - - /************************************************************************** - * - * @property: - * no-long-family-names - * - * @description: - * If `PCF_CONFIG_OPTION_LONG_FAMILY_NAMES` is active while compiling - * FreeType, the PCF driver constructs long family names. - * - * There are many PCF fonts just called 'Fixed' which look completely - * different, and which have nothing to do with each other. When - * selecting 'Fixed' in KDE or Gnome one gets results that appear rather - * random, the style changes often if one changes the size and one cannot - * select some fonts at all. The improve this situation, the PCF module - * prepends the foundry name (plus a space) to the family name. It also - * checks whether there are 'wide' characters; all put together, family - * names like 'Sony Fixed' or 'Misc Fixed Wide' are constructed. - * - * If `no-long-family-names` is set, this feature gets switched off. - * - * @note: - * This property can be used with @FT_Property_Get also. - * - * This property can be set via the `FREETYPE_PROPERTIES` environment - * variable (using values 1 and 0 for 'on' and 'off', respectively). - * - * @example: - * ``` - * FT_Library library; - * FT_Bool no_long_family_names = TRUE; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "pcf", - * "no-long-family-names", - * &no_long_family_names ); - * ``` - * - * @since: - * 2.8 - */ - - - /************************************************************************** - * - * @enum: - * TT_INTERPRETER_VERSION_XXX - * - * @description: - * A list of constants used for the @interpreter-version property to - * select the hinting engine for Truetype fonts. - * - * The numeric value in the constant names represents the version number - * as returned by the 'GETINFO' bytecode instruction. - * - * @values: - * TT_INTERPRETER_VERSION_35 :: - * Version~35 corresponds to MS rasterizer v.1.7 as used e.g. in - * Windows~98; only grayscale and B/W rasterizing is supported. - * - * TT_INTERPRETER_VERSION_38 :: - * Version~38 corresponds to MS rasterizer v.1.9; it is roughly - * equivalent to the hinting provided by DirectWrite ClearType (as can - * be found, for example, in the Internet Explorer~9 running on - * Windows~7). It is used in FreeType to select the 'Infinality' - * subpixel hinting code. The code may be removed in a future version. - * - * TT_INTERPRETER_VERSION_40 :: - * Version~40 corresponds to MS rasterizer v.2.1; it is roughly - * equivalent to the hinting provided by DirectWrite ClearType (as can - * be found, for example, in Microsoft's Edge Browser on Windows~10). - * It is used in FreeType to select the 'minimal' subpixel hinting - * code, a stripped-down and higher performance version of the - * 'Infinality' code. - * - * @note: - * This property controls the behaviour of the bytecode interpreter and - * thus how outlines get hinted. It does **not** control how glyph get - * rasterized! In particular, it does not control subpixel color - * filtering. - * - * If FreeType has not been compiled with the configuration option - * `TT_CONFIG_OPTION_SUBPIXEL_HINTING`, selecting version~38 or~40 causes - * an `FT_Err_Unimplemented_Feature` error. - * - * Depending on the graphics framework, Microsoft uses different bytecode - * and rendering engines. As a consequence, the version numbers returned - * by a call to the 'GETINFO' bytecode instruction are more convoluted - * than desired. - * - * Here are two tables that try to shed some light on the possible values - * for the MS rasterizer engine, together with the additional features - * introduced by it. - * - * ``` - * GETINFO framework version feature - * ------------------------------------------------------------------- - * 3 GDI (Win 3.1), v1.0 16-bit, first version - * TrueImage - * 33 GDI (Win NT 3.1), v1.5 32-bit - * HP Laserjet - * 34 GDI (Win 95) v1.6 font smoothing, - * new SCANTYPE opcode - * 35 GDI (Win 98/2000) v1.7 (UN)SCALED_COMPONENT_OFFSET - * bits in composite glyphs - * 36 MGDI (Win CE 2) v1.6+ classic ClearType - * 37 GDI (XP and later), v1.8 ClearType - * GDI+ old (before Vista) - * 38 GDI+ old (Vista, Win 7), v1.9 subpixel ClearType, - * WPF Y-direction ClearType, - * additional error checking - * 39 DWrite (before Win 8) v2.0 subpixel ClearType flags - * in GETINFO opcode, - * bug fixes - * 40 GDI+ (after Win 7), v2.1 Y-direction ClearType flag - * DWrite (Win 8) in GETINFO opcode, - * Gray ClearType - * ``` - * - * The 'version' field gives a rough orientation only, since some - * applications provided certain features much earlier (as an example, - * Microsoft Reader used subpixel and Y-direction ClearType already in - * Windows 2000). Similarly, updates to a given framework might include - * improved hinting support. - * - * ``` - * version sampling rendering comment - * x y x y - * -------------------------------------------------------------- - * v1.0 normal normal B/W B/W bi-level - * v1.6 high high gray gray grayscale - * v1.8 high normal color-filter B/W (GDI) ClearType - * v1.9 high high color-filter gray Color ClearType - * v2.1 high normal gray B/W Gray ClearType - * v2.1 high high gray gray Gray ClearType - * ``` - * - * Color and Gray ClearType are the two available variants of - * 'Y-direction ClearType', meaning grayscale rasterization along the - * Y-direction; the name used in the TrueType specification for this - * feature is 'symmetric smoothing'. 'Classic ClearType' is the original - * algorithm used before introducing a modified version in Win~XP. - * Another name for v1.6's grayscale rendering is 'font smoothing', and - * 'Color ClearType' is sometimes also called 'DWrite ClearType'. To - * differentiate between today's Color ClearType and the earlier - * ClearType variant with B/W rendering along the vertical axis, the - * latter is sometimes called 'GDI ClearType'. - * - * 'Normal' and 'high' sampling describe the (virtual) resolution to - * access the rasterized outline after the hinting process. 'Normal' - * means 1 sample per grid line (i.e., B/W). In the current Microsoft - * implementation, 'high' means an extra virtual resolution of 16x16 (or - * 16x1) grid lines per pixel for bytecode instructions like 'MIRP'. - * After hinting, these 16 grid lines are mapped to 6x5 (or 6x1) grid - * lines for color filtering if Color ClearType is activated. - * - * Note that 'Gray ClearType' is essentially the same as v1.6's grayscale - * rendering. However, the GETINFO instruction handles it differently: - * v1.6 returns bit~12 (hinting for grayscale), while v2.1 returns - * bits~13 (hinting for ClearType), 18 (symmetrical smoothing), and~19 - * (Gray ClearType). Also, this mode respects bits 2 and~3 for the - * version~1 gasp table exclusively (like Color ClearType), while v1.6 - * only respects the values of version~0 (bits 0 and~1). - * - * Keep in mind that the features of the above interpreter versions might - * not map exactly to FreeType features or behavior because it is a - * fundamentally different library with different internals. - * - */ -#define TT_INTERPRETER_VERSION_35 35 -#define TT_INTERPRETER_VERSION_38 38 -#define TT_INTERPRETER_VERSION_40 40 - - - /************************************************************************** - * - * @property: - * interpreter-version - * - * @description: - * Currently, three versions are available, two representing the bytecode - * interpreter with subpixel hinting support (old 'Infinality' code and - * new stripped-down and higher performance 'minimal' code) and one - * without, respectively. The default is subpixel support if - * `TT_CONFIG_OPTION_SUBPIXEL_HINTING` is defined, and no subpixel - * support otherwise (since it isn't available then). - * - * If subpixel hinting is on, many TrueType bytecode instructions behave - * differently compared to B/W or grayscale rendering (except if 'native - * ClearType' is selected by the font). Microsoft's main idea is to - * render at a much increased horizontal resolution, then sampling down - * the created output to subpixel precision. However, many older fonts - * are not suited to this and must be specially taken care of by applying - * (hardcoded) tweaks in Microsoft's interpreter. - * - * Details on subpixel hinting and some of the necessary tweaks can be - * found in Greg Hitchcock's whitepaper at - * 'https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'. - * Note that FreeType currently doesn't really 'subpixel hint' (6x1, 6x2, - * or 6x5 supersampling) like discussed in the paper. Depending on the - * chosen interpreter, it simply ignores instructions on vertical stems - * to arrive at very similar results. - * - * @note: - * This property can be used with @FT_Property_Get also. - * - * This property can be set via the `FREETYPE_PROPERTIES` environment - * variable (using values '35', '38', or '40'). - * - * @example: - * The following example code demonstrates how to deactivate subpixel - * hinting (omitting the error handling). - * - * ``` - * FT_Library library; - * FT_Face face; - * FT_UInt interpreter_version = TT_INTERPRETER_VERSION_35; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "truetype", - * "interpreter-version", - * &interpreter_version ); - * ``` - * - * @since: - * 2.5 - */ - - - /************************************************************************** - * - * @property: - * glyph-to-script-map - * - * @description: - * **Experimental only** - * - * The auto-hinter provides various script modules to hint glyphs. - * Examples of supported scripts are Latin or CJK. Before a glyph is - * auto-hinted, the Unicode character map of the font gets examined, and - * the script is then determined based on Unicode character ranges, see - * below. - * - * OpenType fonts, however, often provide much more glyphs than character - * codes (small caps, superscripts, ligatures, swashes, etc.), to be - * controlled by so-called 'features'. Handling OpenType features can be - * quite complicated and thus needs a separate library on top of - * FreeType. - * - * The mapping between glyph indices and scripts (in the auto-hinter - * sense, see the @FT_AUTOHINTER_SCRIPT_XXX values) is stored as an array - * with `num_glyphs` elements, as found in the font's @FT_Face structure. - * The `glyph-to-script-map` property returns a pointer to this array, - * which can be modified as needed. Note that the modification should - * happen before the first glyph gets processed by the auto-hinter so - * that the global analysis of the font shapes actually uses the modified - * mapping. - * - * @example: - * The following example code demonstrates how to access it (omitting the - * error handling). - * - * ``` - * FT_Library library; - * FT_Face face; - * FT_Prop_GlyphToScriptMap prop; - * - * - * FT_Init_FreeType( &library ); - * FT_New_Face( library, "foo.ttf", 0, &face ); - * - * prop.face = face; - * - * FT_Property_Get( library, "autofitter", - * "glyph-to-script-map", &prop ); - * - * // adjust `prop.map' as needed right here - * - * FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT ); - * ``` - * - * @since: - * 2.4.11 - * - */ - - - /************************************************************************** - * - * @enum: - * FT_AUTOHINTER_SCRIPT_XXX - * - * @description: - * **Experimental only** - * - * A list of constants used for the @glyph-to-script-map property to - * specify the script submodule the auto-hinter should use for hinting a - * particular glyph. - * - * @values: - * FT_AUTOHINTER_SCRIPT_NONE :: - * Don't auto-hint this glyph. - * - * FT_AUTOHINTER_SCRIPT_LATIN :: - * Apply the latin auto-hinter. For the auto-hinter, 'latin' is a very - * broad term, including Cyrillic and Greek also since characters from - * those scripts share the same design constraints. - * - * By default, characters from the following Unicode ranges are - * assigned to this submodule. - * - * ``` - * U+0020 - U+007F // Basic Latin (no control characters) - * U+00A0 - U+00FF // Latin-1 Supplement (no control characters) - * U+0100 - U+017F // Latin Extended-A - * U+0180 - U+024F // Latin Extended-B - * U+0250 - U+02AF // IPA Extensions - * U+02B0 - U+02FF // Spacing Modifier Letters - * U+0300 - U+036F // Combining Diacritical Marks - * U+0370 - U+03FF // Greek and Coptic - * U+0400 - U+04FF // Cyrillic - * U+0500 - U+052F // Cyrillic Supplement - * U+1D00 - U+1D7F // Phonetic Extensions - * U+1D80 - U+1DBF // Phonetic Extensions Supplement - * U+1DC0 - U+1DFF // Combining Diacritical Marks Supplement - * U+1E00 - U+1EFF // Latin Extended Additional - * U+1F00 - U+1FFF // Greek Extended - * U+2000 - U+206F // General Punctuation - * U+2070 - U+209F // Superscripts and Subscripts - * U+20A0 - U+20CF // Currency Symbols - * U+2150 - U+218F // Number Forms - * U+2460 - U+24FF // Enclosed Alphanumerics - * U+2C60 - U+2C7F // Latin Extended-C - * U+2DE0 - U+2DFF // Cyrillic Extended-A - * U+2E00 - U+2E7F // Supplemental Punctuation - * U+A640 - U+A69F // Cyrillic Extended-B - * U+A720 - U+A7FF // Latin Extended-D - * U+FB00 - U+FB06 // Alphab. Present. Forms (Latin Ligatures) - * U+1D400 - U+1D7FF // Mathematical Alphanumeric Symbols - * U+1F100 - U+1F1FF // Enclosed Alphanumeric Supplement - * ``` - * - * FT_AUTOHINTER_SCRIPT_CJK :: - * Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old - * Vietnamese, and some other scripts. - * - * By default, characters from the following Unicode ranges are - * assigned to this submodule. - * - * ``` - * U+1100 - U+11FF // Hangul Jamo - * U+2E80 - U+2EFF // CJK Radicals Supplement - * U+2F00 - U+2FDF // Kangxi Radicals - * U+2FF0 - U+2FFF // Ideographic Description Characters - * U+3000 - U+303F // CJK Symbols and Punctuation - * U+3040 - U+309F // Hiragana - * U+30A0 - U+30FF // Katakana - * U+3100 - U+312F // Bopomofo - * U+3130 - U+318F // Hangul Compatibility Jamo - * U+3190 - U+319F // Kanbun - * U+31A0 - U+31BF // Bopomofo Extended - * U+31C0 - U+31EF // CJK Strokes - * U+31F0 - U+31FF // Katakana Phonetic Extensions - * U+3200 - U+32FF // Enclosed CJK Letters and Months - * U+3300 - U+33FF // CJK Compatibility - * U+3400 - U+4DBF // CJK Unified Ideographs Extension A - * U+4DC0 - U+4DFF // Yijing Hexagram Symbols - * U+4E00 - U+9FFF // CJK Unified Ideographs - * U+A960 - U+A97F // Hangul Jamo Extended-A - * U+AC00 - U+D7AF // Hangul Syllables - * U+D7B0 - U+D7FF // Hangul Jamo Extended-B - * U+F900 - U+FAFF // CJK Compatibility Ideographs - * U+FE10 - U+FE1F // Vertical forms - * U+FE30 - U+FE4F // CJK Compatibility Forms - * U+FF00 - U+FFEF // Halfwidth and Fullwidth Forms - * U+1B000 - U+1B0FF // Kana Supplement - * U+1D300 - U+1D35F // Tai Xuan Hing Symbols - * U+1F200 - U+1F2FF // Enclosed Ideographic Supplement - * U+20000 - U+2A6DF // CJK Unified Ideographs Extension B - * U+2A700 - U+2B73F // CJK Unified Ideographs Extension C - * U+2B740 - U+2B81F // CJK Unified Ideographs Extension D - * U+2F800 - U+2FA1F // CJK Compatibility Ideographs Supplement - * ``` - * - * FT_AUTOHINTER_SCRIPT_INDIC :: - * Apply the indic auto-hinter, covering all major scripts from the - * Indian sub-continent and some other related scripts like Thai, Lao, - * or Tibetan. - * - * By default, characters from the following Unicode ranges are - * assigned to this submodule. - * - * ``` - * U+0900 - U+0DFF // Indic Range - * U+0F00 - U+0FFF // Tibetan - * U+1900 - U+194F // Limbu - * U+1B80 - U+1BBF // Sundanese - * U+A800 - U+A82F // Syloti Nagri - * U+ABC0 - U+ABFF // Meetei Mayek - * U+11800 - U+118DF // Sharada - * ``` - * - * Note that currently Indic support is rudimentary only, missing blue - * zone support. - * - * @since: - * 2.4.11 - * - */ -#define FT_AUTOHINTER_SCRIPT_NONE 0 -#define FT_AUTOHINTER_SCRIPT_LATIN 1 -#define FT_AUTOHINTER_SCRIPT_CJK 2 -#define FT_AUTOHINTER_SCRIPT_INDIC 3 - - - /************************************************************************** - * - * @struct: - * FT_Prop_GlyphToScriptMap - * - * @description: - * **Experimental only** - * - * The data exchange structure for the @glyph-to-script-map property. - * - * @since: - * 2.4.11 - * - */ - typedef struct FT_Prop_GlyphToScriptMap_ - { - FT_Face face; - FT_UShort* map; - - } FT_Prop_GlyphToScriptMap; - - - /************************************************************************** - * - * @property: - * fallback-script - * - * @description: - * **Experimental only** - * - * If no auto-hinter script module can be assigned to a glyph, a fallback - * script gets assigned to it (see also the @glyph-to-script-map - * property). By default, this is @FT_AUTOHINTER_SCRIPT_CJK. Using the - * `fallback-script` property, this fallback value can be changed. - * - * @note: - * This property can be used with @FT_Property_Get also. - * - * It's important to use the right timing for changing this value: The - * creation of the glyph-to-script map that eventually uses the fallback - * script value gets triggered either by setting or reading a - * face-specific property like @glyph-to-script-map, or by auto-hinting - * any glyph from that face. In particular, if you have already created - * an @FT_Face structure but not loaded any glyph (using the - * auto-hinter), a change of the fallback script will affect this face. - * - * @example: - * ``` - * FT_Library library; - * FT_UInt fallback_script = FT_AUTOHINTER_SCRIPT_NONE; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "autofitter", - * "fallback-script", &fallback_script ); - * ``` - * - * @since: - * 2.4.11 - * - */ - - - /************************************************************************** - * - * @property: - * default-script - * - * @description: - * **Experimental only** - * - * If FreeType gets compiled with `FT_CONFIG_OPTION_USE_HARFBUZZ` to make - * the HarfBuzz library access OpenType features for getting better glyph - * coverages, this property sets the (auto-fitter) script to be used for - * the default (OpenType) script data of a font's GSUB table. Features - * for the default script are intended for all scripts not explicitly - * handled in GSUB; an example is a 'dlig' feature, containing the - * combination of the characters 'T', 'E', and 'L' to form a 'TEL' - * ligature. - * - * By default, this is @FT_AUTOHINTER_SCRIPT_LATIN. Using the - * `default-script` property, this default value can be changed. - * - * @note: - * This property can be used with @FT_Property_Get also. - * - * It's important to use the right timing for changing this value: The - * creation of the glyph-to-script map that eventually uses the default - * script value gets triggered either by setting or reading a - * face-specific property like @glyph-to-script-map, or by auto-hinting - * any glyph from that face. In particular, if you have already created - * an @FT_Face structure but not loaded any glyph (using the - * auto-hinter), a change of the default script will affect this face. - * - * @example: - * ``` - * FT_Library library; - * FT_UInt default_script = FT_AUTOHINTER_SCRIPT_NONE; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "autofitter", - * "default-script", &default_script ); - * ``` - * - * @since: - * 2.5.3 - * - */ - - - /************************************************************************** - * - * @property: - * increase-x-height - * - * @description: - * For ppem values in the range 6~<= ppem <= `increase-x-height`, round - * up the font's x~height much more often than normally. If the value is - * set to~0, which is the default, this feature is switched off. Use - * this property to improve the legibility of small font sizes if - * necessary. - * - * @note: - * This property can be used with @FT_Property_Get also. - * - * Set this value right after calling @FT_Set_Char_Size, but before - * loading any glyph (using the auto-hinter). - * - * @example: - * ``` - * FT_Library library; - * FT_Face face; - * FT_Prop_IncreaseXHeight prop; - * - * - * FT_Init_FreeType( &library ); - * FT_New_Face( library, "foo.ttf", 0, &face ); - * FT_Set_Char_Size( face, 10 * 64, 0, 72, 0 ); - * - * prop.face = face; - * prop.limit = 14; - * - * FT_Property_Set( library, "autofitter", - * "increase-x-height", &prop ); - * ``` - * - * @since: - * 2.4.11 - * - */ - - - /************************************************************************** - * - * @struct: - * FT_Prop_IncreaseXHeight - * - * @description: - * The data exchange structure for the @increase-x-height property. - * - */ - typedef struct FT_Prop_IncreaseXHeight_ - { - FT_Face face; - FT_UInt limit; - - } FT_Prop_IncreaseXHeight; - - - /************************************************************************** - * - * @property: - * warping - * - * @description: - * **Experimental only** - * - * If FreeType gets compiled with option `AF_CONFIG_OPTION_USE_WARPER` to - * activate the warp hinting code in the auto-hinter, this property - * switches warping on and off. - * - * Warping only works in 'normal' auto-hinting mode replacing it. The - * idea of the code is to slightly scale and shift a glyph along the - * non-hinted dimension (which is usually the horizontal axis) so that as - * much of its segments are aligned (more or less) to the grid. To find - * out a glyph's optimal scaling and shifting value, various parameter - * combinations are tried and scored. - * - * By default, warping is off. - * - * @note: - * This property can be used with @FT_Property_Get also. - * - * This property can be set via the `FREETYPE_PROPERTIES` environment - * variable (using values 1 and 0 for 'on' and 'off', respectively). - * - * The warping code can also change advance widths. Have a look at the - * `lsb_delta` and `rsb_delta` fields in the @FT_GlyphSlotRec structure - * for details on improving inter-glyph distances while rendering. - * - * Since warping is a global property of the auto-hinter it is best to - * change its value before rendering any face. Otherwise, you should - * reload all faces that get auto-hinted in 'normal' hinting mode. - * - * @example: - * This example shows how to switch on warping (omitting the error - * handling). - * - * ``` - * FT_Library library; - * FT_Bool warping = 1; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "autofitter", "warping", &warping ); - * ``` - * - * @since: - * 2.6 - * - */ - - - /* */ - - -FT_END_HEADER - - -#endif /* FTDRIVER_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/fterrdef.h b/FreeType/include/freetype/fterrdef.h deleted file mode 100644 index 9bc7dc6..0000000 --- a/FreeType/include/freetype/fterrdef.h +++ /dev/null @@ -1,279 +0,0 @@ -/**************************************************************************** - * - * fterrdef.h - * - * FreeType error codes (specification). - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * @section: - * error_code_values - * - * @title: - * Error Code Values - * - * @abstract: - * All possible error codes returned by FreeType functions. - * - * @description: - * The list below is taken verbatim from the file `fterrdef.h` (loaded - * automatically by including `FT_FREETYPE_H`). The first argument of the - * `FT_ERROR_DEF_` macro is the error label; by default, the prefix - * `FT_Err_` gets added so that you get error names like - * `FT_Err_Cannot_Open_Resource`. The second argument is the error code, - * and the last argument an error string, which is not used by FreeType. - * - * Within your application you should **only** use error names and - * **never** its numeric values! The latter might (and actually do) - * change in forthcoming FreeType versions. - * - * Macro `FT_NOERRORDEF_` defines `FT_Err_Ok`, which is always zero. See - * the 'Error Enumerations' subsection how to automatically generate a - * list of error strings. - * - */ - - - /************************************************************************** - * - * @enum: - * FT_Err_XXX - * - */ - - /* generic errors */ - - FT_NOERRORDEF_( Ok, 0x00, - "no error" ) - - FT_ERRORDEF_( Cannot_Open_Resource, 0x01, - "cannot open resource" ) - FT_ERRORDEF_( Unknown_File_Format, 0x02, - "unknown file format" ) - FT_ERRORDEF_( Invalid_File_Format, 0x03, - "broken file" ) - FT_ERRORDEF_( Invalid_Version, 0x04, - "invalid FreeType version" ) - FT_ERRORDEF_( Lower_Module_Version, 0x05, - "module version is too low" ) - FT_ERRORDEF_( Invalid_Argument, 0x06, - "invalid argument" ) - FT_ERRORDEF_( Unimplemented_Feature, 0x07, - "unimplemented feature" ) - FT_ERRORDEF_( Invalid_Table, 0x08, - "broken table" ) - FT_ERRORDEF_( Invalid_Offset, 0x09, - "broken offset within table" ) - FT_ERRORDEF_( Array_Too_Large, 0x0A, - "array allocation size too large" ) - FT_ERRORDEF_( Missing_Module, 0x0B, - "missing module" ) - FT_ERRORDEF_( Missing_Property, 0x0C, - "missing property" ) - - /* glyph/character errors */ - - FT_ERRORDEF_( Invalid_Glyph_Index, 0x10, - "invalid glyph index" ) - FT_ERRORDEF_( Invalid_Character_Code, 0x11, - "invalid character code" ) - FT_ERRORDEF_( Invalid_Glyph_Format, 0x12, - "unsupported glyph image format" ) - FT_ERRORDEF_( Cannot_Render_Glyph, 0x13, - "cannot render this glyph format" ) - FT_ERRORDEF_( Invalid_Outline, 0x14, - "invalid outline" ) - FT_ERRORDEF_( Invalid_Composite, 0x15, - "invalid composite glyph" ) - FT_ERRORDEF_( Too_Many_Hints, 0x16, - "too many hints" ) - FT_ERRORDEF_( Invalid_Pixel_Size, 0x17, - "invalid pixel size" ) - - /* handle errors */ - - FT_ERRORDEF_( Invalid_Handle, 0x20, - "invalid object handle" ) - FT_ERRORDEF_( Invalid_Library_Handle, 0x21, - "invalid library handle" ) - FT_ERRORDEF_( Invalid_Driver_Handle, 0x22, - "invalid module handle" ) - FT_ERRORDEF_( Invalid_Face_Handle, 0x23, - "invalid face handle" ) - FT_ERRORDEF_( Invalid_Size_Handle, 0x24, - "invalid size handle" ) - FT_ERRORDEF_( Invalid_Slot_Handle, 0x25, - "invalid glyph slot handle" ) - FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26, - "invalid charmap handle" ) - FT_ERRORDEF_( Invalid_Cache_Handle, 0x27, - "invalid cache manager handle" ) - FT_ERRORDEF_( Invalid_Stream_Handle, 0x28, - "invalid stream handle" ) - - /* driver errors */ - - FT_ERRORDEF_( Too_Many_Drivers, 0x30, - "too many modules" ) - FT_ERRORDEF_( Too_Many_Extensions, 0x31, - "too many extensions" ) - - /* memory errors */ - - FT_ERRORDEF_( Out_Of_Memory, 0x40, - "out of memory" ) - FT_ERRORDEF_( Unlisted_Object, 0x41, - "unlisted object" ) - - /* stream errors */ - - FT_ERRORDEF_( Cannot_Open_Stream, 0x51, - "cannot open stream" ) - FT_ERRORDEF_( Invalid_Stream_Seek, 0x52, - "invalid stream seek" ) - FT_ERRORDEF_( Invalid_Stream_Skip, 0x53, - "invalid stream skip" ) - FT_ERRORDEF_( Invalid_Stream_Read, 0x54, - "invalid stream read" ) - FT_ERRORDEF_( Invalid_Stream_Operation, 0x55, - "invalid stream operation" ) - FT_ERRORDEF_( Invalid_Frame_Operation, 0x56, - "invalid frame operation" ) - FT_ERRORDEF_( Nested_Frame_Access, 0x57, - "nested frame access" ) - FT_ERRORDEF_( Invalid_Frame_Read, 0x58, - "invalid frame read" ) - - /* raster errors */ - - FT_ERRORDEF_( Raster_Uninitialized, 0x60, - "raster uninitialized" ) - FT_ERRORDEF_( Raster_Corrupted, 0x61, - "raster corrupted" ) - FT_ERRORDEF_( Raster_Overflow, 0x62, - "raster overflow" ) - FT_ERRORDEF_( Raster_Negative_Height, 0x63, - "negative height while rastering" ) - - /* cache errors */ - - FT_ERRORDEF_( Too_Many_Caches, 0x70, - "too many registered caches" ) - - /* TrueType and SFNT errors */ - - FT_ERRORDEF_( Invalid_Opcode, 0x80, - "invalid opcode" ) - FT_ERRORDEF_( Too_Few_Arguments, 0x81, - "too few arguments" ) - FT_ERRORDEF_( Stack_Overflow, 0x82, - "stack overflow" ) - FT_ERRORDEF_( Code_Overflow, 0x83, - "code overflow" ) - FT_ERRORDEF_( Bad_Argument, 0x84, - "bad argument" ) - FT_ERRORDEF_( Divide_By_Zero, 0x85, - "division by zero" ) - FT_ERRORDEF_( Invalid_Reference, 0x86, - "invalid reference" ) - FT_ERRORDEF_( Debug_OpCode, 0x87, - "found debug opcode" ) - FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88, - "found ENDF opcode in execution stream" ) - FT_ERRORDEF_( Nested_DEFS, 0x89, - "nested DEFS" ) - FT_ERRORDEF_( Invalid_CodeRange, 0x8A, - "invalid code range" ) - FT_ERRORDEF_( Execution_Too_Long, 0x8B, - "execution context too long" ) - FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C, - "too many function definitions" ) - FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D, - "too many instruction definitions" ) - FT_ERRORDEF_( Table_Missing, 0x8E, - "SFNT font table missing" ) - FT_ERRORDEF_( Horiz_Header_Missing, 0x8F, - "horizontal header (hhea) table missing" ) - FT_ERRORDEF_( Locations_Missing, 0x90, - "locations (loca) table missing" ) - FT_ERRORDEF_( Name_Table_Missing, 0x91, - "name table missing" ) - FT_ERRORDEF_( CMap_Table_Missing, 0x92, - "character map (cmap) table missing" ) - FT_ERRORDEF_( Hmtx_Table_Missing, 0x93, - "horizontal metrics (hmtx) table missing" ) - FT_ERRORDEF_( Post_Table_Missing, 0x94, - "PostScript (post) table missing" ) - FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95, - "invalid horizontal metrics" ) - FT_ERRORDEF_( Invalid_CharMap_Format, 0x96, - "invalid character map (cmap) format" ) - FT_ERRORDEF_( Invalid_PPem, 0x97, - "invalid ppem value" ) - FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98, - "invalid vertical metrics" ) - FT_ERRORDEF_( Could_Not_Find_Context, 0x99, - "could not find context" ) - FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A, - "invalid PostScript (post) table format" ) - FT_ERRORDEF_( Invalid_Post_Table, 0x9B, - "invalid PostScript (post) table" ) - FT_ERRORDEF_( DEF_In_Glyf_Bytecode, 0x9C, - "found FDEF or IDEF opcode in glyf bytecode" ) - FT_ERRORDEF_( Missing_Bitmap, 0x9D, - "missing bitmap in strike" ) - - /* CFF, CID, and Type 1 errors */ - - FT_ERRORDEF_( Syntax_Error, 0xA0, - "opcode syntax error" ) - FT_ERRORDEF_( Stack_Underflow, 0xA1, - "argument stack underflow" ) - FT_ERRORDEF_( Ignore, 0xA2, - "ignore" ) - FT_ERRORDEF_( No_Unicode_Glyph_Name, 0xA3, - "no Unicode glyph name found" ) - FT_ERRORDEF_( Glyph_Too_Big, 0xA4, - "glyph too big for hinting" ) - - /* BDF errors */ - - FT_ERRORDEF_( Missing_Startfont_Field, 0xB0, - "`STARTFONT' field missing" ) - FT_ERRORDEF_( Missing_Font_Field, 0xB1, - "`FONT' field missing" ) - FT_ERRORDEF_( Missing_Size_Field, 0xB2, - "`SIZE' field missing" ) - FT_ERRORDEF_( Missing_Fontboundingbox_Field, 0xB3, - "`FONTBOUNDINGBOX' field missing" ) - FT_ERRORDEF_( Missing_Chars_Field, 0xB4, - "`CHARS' field missing" ) - FT_ERRORDEF_( Missing_Startchar_Field, 0xB5, - "`STARTCHAR' field missing" ) - FT_ERRORDEF_( Missing_Encoding_Field, 0xB6, - "`ENCODING' field missing" ) - FT_ERRORDEF_( Missing_Bbx_Field, 0xB7, - "`BBX' field missing" ) - FT_ERRORDEF_( Bbx_Too_Big, 0xB8, - "`BBX' too big" ) - FT_ERRORDEF_( Corrupted_Font_Header, 0xB9, - "Font header corrupted or missing fields" ) - FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA, - "Font glyphs corrupted or missing fields" ) - - /* */ - - -/* END */ diff --git a/FreeType/include/freetype/fterrors.h b/FreeType/include/freetype/fterrors.h deleted file mode 100644 index 58f5a3e..0000000 --- a/FreeType/include/freetype/fterrors.h +++ /dev/null @@ -1,285 +0,0 @@ -/**************************************************************************** - * - * fterrors.h - * - * FreeType error code handling (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * @section: - * error_enumerations - * - * @title: - * Error Enumerations - * - * @abstract: - * How to handle errors and error strings. - * - * @description: - * The header file `fterrors.h` (which is automatically included by - * `freetype.h` defines the handling of FreeType's enumeration - * constants. It can also be used to generate error message strings - * with a small macro trick explained below. - * - * **Error Formats** - * - * The configuration macro `FT_CONFIG_OPTION_USE_MODULE_ERRORS` can be - * defined in `ftoption.h` in order to make the higher byte indicate the - * module where the error has happened (this is not compatible with - * standard builds of FreeType~2, however). See the file `ftmoderr.h` - * for more details. - * - * **Error Message Strings** - * - * Error definitions are set up with special macros that allow client - * applications to build a table of error message strings. The strings - * are not included in a normal build of FreeType~2 to save space (most - * client applications do not use them). - * - * To do so, you have to define the following macros before including - * this file. - * - * ``` - * FT_ERROR_START_LIST - * ``` - * - * This macro is called before anything else to define the start of the - * error list. It is followed by several `FT_ERROR_DEF` calls. - * - * ``` - * FT_ERROR_DEF( e, v, s ) - * ``` - * - * This macro is called to define one single error. 'e' is the error - * code identifier (e.g., `Invalid_Argument`), 'v' is the error's - * numerical value, and 's' is the corresponding error string. - * - * ``` - * FT_ERROR_END_LIST - * ``` - * - * This macro ends the list. - * - * Additionally, you have to undefine `FTERRORS_H_` before #including - * this file. - * - * Here is a simple example. - * - * ``` - * #undef FTERRORS_H_ - * #define FT_ERRORDEF( e, v, s ) { e, s }, - * #define FT_ERROR_START_LIST { - * #define FT_ERROR_END_LIST { 0, NULL } }; - * - * const struct - * { - * int err_code; - * const char* err_msg; - * } ft_errors[] = - * - * #include FT_ERRORS_H - * ``` - * - * An alternative to using an array is a switch statement. - * - * ``` - * #undef FTERRORS_H_ - * #define FT_ERROR_START_LIST switch ( error_code ) { - * #define FT_ERRORDEF( e, v, s ) case v: return s; - * #define FT_ERROR_END_LIST } - * ``` - * - * If you use `FT_CONFIG_OPTION_USE_MODULE_ERRORS`, `error_code` should - * be replaced with `FT_ERROR_BASE(error_code)` in the last example. - */ - - /* */ - - /* In previous FreeType versions we used `__FTERRORS_H__`. However, */ - /* using two successive underscores in a non-system symbol name */ - /* violates the C (and C++) standard, so it was changed to the */ - /* current form. In spite of this, we have to make */ - /* */ - /* ``` */ - /* #undefine __FTERRORS_H__ */ - /* ``` */ - /* */ - /* work for backward compatibility. */ - /* */ -#if !( defined( FTERRORS_H_ ) && defined ( __FTERRORS_H__ ) ) -#define FTERRORS_H_ -#define __FTERRORS_H__ - - - /* include module base error codes */ -#include FT_MODULE_ERRORS_H - - - /*******************************************************************/ - /*******************************************************************/ - /***** *****/ - /***** SETUP MACROS *****/ - /***** *****/ - /*******************************************************************/ - /*******************************************************************/ - - -#undef FT_NEED_EXTERN_C - - - /* FT_ERR_PREFIX is used as a prefix for error identifiers. */ - /* By default, we use `FT_Err_`. */ - /* */ -#ifndef FT_ERR_PREFIX -#define FT_ERR_PREFIX FT_Err_ -#endif - - - /* FT_ERR_BASE is used as the base for module-specific errors. */ - /* */ -#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS - -#ifndef FT_ERR_BASE -#define FT_ERR_BASE FT_Mod_Err_Base -#endif - -#else - -#undef FT_ERR_BASE -#define FT_ERR_BASE 0 - -#endif /* FT_CONFIG_OPTION_USE_MODULE_ERRORS */ - - - /* If FT_ERRORDEF is not defined, we need to define a simple */ - /* enumeration type. */ - /* */ -#ifndef FT_ERRORDEF - -#define FT_INCLUDE_ERR_PROTOS - -#define FT_ERRORDEF( e, v, s ) e = v, -#define FT_ERROR_START_LIST enum { -#define FT_ERROR_END_LIST FT_ERR_CAT( FT_ERR_PREFIX, Max ) }; - -#ifdef __cplusplus -#define FT_NEED_EXTERN_C - extern "C" { -#endif - -#endif /* !FT_ERRORDEF */ - - - /* this macro is used to define an error */ -#define FT_ERRORDEF_( e, v, s ) \ - FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s ) - - /* this is only used for _Err_Ok, which must be 0! */ -#define FT_NOERRORDEF_( e, v, s ) \ - FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s ) - - -#ifdef FT_ERROR_START_LIST - FT_ERROR_START_LIST -#endif - - - /* now include the error codes */ -#include FT_ERROR_DEFINITIONS_H - - -#ifdef FT_ERROR_END_LIST - FT_ERROR_END_LIST -#endif - - - /*******************************************************************/ - /*******************************************************************/ - /***** *****/ - /***** SIMPLE CLEANUP *****/ - /***** *****/ - /*******************************************************************/ - /*******************************************************************/ - -#ifdef FT_NEED_EXTERN_C - } -#endif - -#undef FT_ERROR_START_LIST -#undef FT_ERROR_END_LIST - -#undef FT_ERRORDEF -#undef FT_ERRORDEF_ -#undef FT_NOERRORDEF_ - -#undef FT_NEED_EXTERN_C -#undef FT_ERR_BASE - - /* FT_ERR_PREFIX is needed internally */ -#ifndef FT2_BUILD_LIBRARY -#undef FT_ERR_PREFIX -#endif - - /* FT_INCLUDE_ERR_PROTOS: Control if function prototypes should be */ - /* included with `#include FT_ERRORS_H'. This is */ - /* only true where `FT_ERRORDEF` is undefined. */ - /* FT_ERR_PROTOS_DEFINED: Actual multiple-inclusion protection of */ - /* `fterrors.h`. */ -#ifdef FT_INCLUDE_ERR_PROTOS -#undef FT_INCLUDE_ERR_PROTOS - -#ifndef FT_ERR_PROTOS_DEFINED -#define FT_ERR_PROTOS_DEFINED - - - /************************************************************************** - * - * @function: - * FT_Error_String - * - * @description: - * Retrieve the description of a valid FreeType error code. - * - * @input: - * error_code :: - * A valid FreeType error code. - * - * @return: - * A C~string or `NULL`, if any error occurred. - * - * @note: - * FreeType has to be compiled with `FT_CONFIG_OPTION_ERROR_STRINGS` or - * `FT_DEBUG_LEVEL_ERROR` to get meaningful descriptions. - * 'error_string' will be `NULL` otherwise. - * - * Module identification will be ignored: - * - * ```c - * strcmp( FT_Error_String( FT_Err_Unknown_File_Format ), - * FT_Error_String( BDF_Err_Unknown_File_Format ) ) == 0; - * ``` - */ - FT_EXPORT( const char* ) - FT_Error_String( FT_Error error_code ); - - -#endif /* FT_ERR_PROTOS_DEFINED */ - -#endif /* FT_INCLUDE_ERR_PROTOS */ - -#endif /* !(FTERRORS_H_ && __FTERRORS_H__) */ - - -/* END */ diff --git a/FreeType/include/freetype/ftfntfmt.h b/FreeType/include/freetype/ftfntfmt.h deleted file mode 100644 index aae0b13..0000000 --- a/FreeType/include/freetype/ftfntfmt.h +++ /dev/null @@ -1,94 +0,0 @@ -/**************************************************************************** - * - * ftfntfmt.h - * - * Support functions for font formats. - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTFNTFMT_H_ -#define FTFNTFMT_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * font_formats - * - * @title: - * Font Formats - * - * @abstract: - * Getting the font format. - * - * @description: - * The single function in this section can be used to get the font format. - * Note that this information is not needed normally; however, there are - * special cases (like in PDF devices) where it is important to - * differentiate, in spite of FreeType's uniform API. - * - */ - - - /************************************************************************** - * - * @function: - * FT_Get_Font_Format - * - * @description: - * Return a string describing the format of a given face. Possible values - * are 'TrueType', 'Type~1', 'BDF', 'PCF', 'Type~42', 'CID~Type~1', 'CFF', - * 'PFR', and 'Windows~FNT'. - * - * The return value is suitable to be used as an X11 FONT_PROPERTY. - * - * @input: - * face :: - * Input face handle. - * - * @return: - * Font format string. `NULL` in case of error. - * - * @note: - * A deprecated name for the same function is `FT_Get_X11_Font_Format`. - */ - FT_EXPORT( const char* ) - FT_Get_Font_Format( FT_Face face ); - - - /* deprecated */ - FT_EXPORT( const char* ) - FT_Get_X11_Font_Format( FT_Face face ); - - - /* */ - - -FT_END_HEADER - -#endif /* FTFNTFMT_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftgasp.h b/FreeType/include/freetype/ftgasp.h deleted file mode 100644 index 24673d8..0000000 --- a/FreeType/include/freetype/ftgasp.h +++ /dev/null @@ -1,144 +0,0 @@ -/**************************************************************************** - * - * ftgasp.h - * - * Access of TrueType's 'gasp' table (specification). - * - * Copyright (C) 2007-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTGASP_H_ -#define FTGASP_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * gasp_table - * - * @title: - * Gasp Table - * - * @abstract: - * Retrieving TrueType 'gasp' table entries. - * - * @description: - * The function @FT_Get_Gasp can be used to query a TrueType or OpenType - * font for specific entries in its 'gasp' table, if any. This is mainly - * useful when implementing native TrueType hinting with the bytecode - * interpreter to duplicate the Windows text rendering results. - */ - - /************************************************************************** - * - * @enum: - * FT_GASP_XXX - * - * @description: - * A list of values and/or bit-flags returned by the @FT_Get_Gasp - * function. - * - * @values: - * FT_GASP_NO_TABLE :: - * This special value means that there is no GASP table in this face. - * It is up to the client to decide what to do. - * - * FT_GASP_DO_GRIDFIT :: - * Grid-fitting and hinting should be performed at the specified ppem. - * This **really** means TrueType bytecode interpretation. If this bit - * is not set, no hinting gets applied. - * - * FT_GASP_DO_GRAY :: - * Anti-aliased rendering should be performed at the specified ppem. - * If not set, do monochrome rendering. - * - * FT_GASP_SYMMETRIC_SMOOTHING :: - * If set, smoothing along multiple axes must be used with ClearType. - * - * FT_GASP_SYMMETRIC_GRIDFIT :: - * Grid-fitting must be used with ClearType's symmetric smoothing. - * - * @note: - * The bit-flags `FT_GASP_DO_GRIDFIT` and `FT_GASP_DO_GRAY` are to be - * used for standard font rasterization only. Independently of that, - * `FT_GASP_SYMMETRIC_SMOOTHING` and `FT_GASP_SYMMETRIC_GRIDFIT` are to - * be used if ClearType is enabled (and `FT_GASP_DO_GRIDFIT` and - * `FT_GASP_DO_GRAY` are consequently ignored). - * - * 'ClearType' is Microsoft's implementation of LCD rendering, partly - * protected by patents. - * - * @since: - * 2.3.0 - */ -#define FT_GASP_NO_TABLE -1 -#define FT_GASP_DO_GRIDFIT 0x01 -#define FT_GASP_DO_GRAY 0x02 -#define FT_GASP_SYMMETRIC_GRIDFIT 0x04 -#define FT_GASP_SYMMETRIC_SMOOTHING 0x08 - - - /************************************************************************** - * - * @function: - * FT_Get_Gasp - * - * @description: - * For a TrueType or OpenType font file, return the rasterizer behaviour - * flags from the font's 'gasp' table corresponding to a given character - * pixel size. - * - * @input: - * face :: - * The source face handle. - * - * ppem :: - * The vertical character pixel size. - * - * @return: - * Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no - * 'gasp' table in the face. - * - * @note: - * If you want to use the MM functionality of OpenType variation fonts - * (i.e., using @FT_Set_Var_Design_Coordinates and friends), call this - * function **after** setting an instance since the return values can - * change. - * - * @since: - * 2.3.0 - */ - FT_EXPORT( FT_Int ) - FT_Get_Gasp( FT_Face face, - FT_UInt ppem ); - - /* */ - - -FT_END_HEADER - -#endif /* FTGASP_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftglyph.h b/FreeType/include/freetype/ftglyph.h deleted file mode 100644 index 4067c2e..0000000 --- a/FreeType/include/freetype/ftglyph.h +++ /dev/null @@ -1,665 +0,0 @@ -/**************************************************************************** - * - * ftglyph.h - * - * FreeType convenience functions to handle glyphs (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * This file contains the definition of several convenience functions that - * can be used by client applications to easily retrieve glyph bitmaps and - * outlines from a given face. - * - * These functions should be optional if you are writing a font server or - * text layout engine on top of FreeType. However, they are pretty handy - * for many other simple uses of the library. - * - */ - - -#ifndef FTGLYPH_H_ -#define FTGLYPH_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * glyph_management - * - * @title: - * Glyph Management - * - * @abstract: - * Generic interface to manage individual glyph data. - * - * @description: - * This section contains definitions used to manage glyph data through - * generic @FT_Glyph objects. Each of them can contain a bitmap, - * a vector outline, or even images in other formats. These objects are - * detached from @FT_Face, contrary to @FT_GlyphSlot. - * - */ - - - /* forward declaration to a private type */ - typedef struct FT_Glyph_Class_ FT_Glyph_Class; - - - /************************************************************************** - * - * @type: - * FT_Glyph - * - * @description: - * Handle to an object used to model generic glyph images. It is a - * pointer to the @FT_GlyphRec structure and can contain a glyph bitmap - * or pointer. - * - * @note: - * Glyph objects are not owned by the library. You must thus release - * them manually (through @FT_Done_Glyph) _before_ calling - * @FT_Done_FreeType. - */ - typedef struct FT_GlyphRec_* FT_Glyph; - - - /************************************************************************** - * - * @struct: - * FT_GlyphRec - * - * @description: - * The root glyph structure contains a given glyph image plus its advance - * width in 16.16 fixed-point format. - * - * @fields: - * library :: - * A handle to the FreeType library object. - * - * clazz :: - * A pointer to the glyph's class. Private. - * - * format :: - * The format of the glyph's image. - * - * advance :: - * A 16.16 vector that gives the glyph's advance width. - */ - typedef struct FT_GlyphRec_ - { - FT_Library library; - const FT_Glyph_Class* clazz; - FT_Glyph_Format format; - FT_Vector advance; - - } FT_GlyphRec; - - - /************************************************************************** - * - * @type: - * FT_BitmapGlyph - * - * @description: - * A handle to an object used to model a bitmap glyph image. This is a - * sub-class of @FT_Glyph, and a pointer to @FT_BitmapGlyphRec. - */ - typedef struct FT_BitmapGlyphRec_* FT_BitmapGlyph; - - - /************************************************************************** - * - * @struct: - * FT_BitmapGlyphRec - * - * @description: - * A structure used for bitmap glyph images. This really is a - * 'sub-class' of @FT_GlyphRec. - * - * @fields: - * root :: - * The root @FT_Glyph fields. - * - * left :: - * The left-side bearing, i.e., the horizontal distance from the - * current pen position to the left border of the glyph bitmap. - * - * top :: - * The top-side bearing, i.e., the vertical distance from the current - * pen position to the top border of the glyph bitmap. This distance - * is positive for upwards~y! - * - * bitmap :: - * A descriptor for the bitmap. - * - * @note: - * You can typecast an @FT_Glyph to @FT_BitmapGlyph if you have - * `glyph->format == FT_GLYPH_FORMAT_BITMAP`. This lets you access the - * bitmap's contents easily. - * - * The corresponding pixel buffer is always owned by @FT_BitmapGlyph and - * is thus created and destroyed with it. - */ - typedef struct FT_BitmapGlyphRec_ - { - FT_GlyphRec root; - FT_Int left; - FT_Int top; - FT_Bitmap bitmap; - - } FT_BitmapGlyphRec; - - - /************************************************************************** - * - * @type: - * FT_OutlineGlyph - * - * @description: - * A handle to an object used to model an outline glyph image. This is a - * sub-class of @FT_Glyph, and a pointer to @FT_OutlineGlyphRec. - */ - typedef struct FT_OutlineGlyphRec_* FT_OutlineGlyph; - - - /************************************************************************** - * - * @struct: - * FT_OutlineGlyphRec - * - * @description: - * A structure used for outline (vectorial) glyph images. This really is - * a 'sub-class' of @FT_GlyphRec. - * - * @fields: - * root :: - * The root @FT_Glyph fields. - * - * outline :: - * A descriptor for the outline. - * - * @note: - * You can typecast an @FT_Glyph to @FT_OutlineGlyph if you have - * `glyph->format == FT_GLYPH_FORMAT_OUTLINE`. This lets you access the - * outline's content easily. - * - * As the outline is extracted from a glyph slot, its coordinates are - * expressed normally in 26.6 pixels, unless the flag @FT_LOAD_NO_SCALE - * was used in @FT_Load_Glyph() or @FT_Load_Char(). - * - * The outline's tables are always owned by the object and are destroyed - * with it. - */ - typedef struct FT_OutlineGlyphRec_ - { - FT_GlyphRec root; - FT_Outline outline; - - } FT_OutlineGlyphRec; - - - /************************************************************************** - * - * @function: - * FT_New_Glyph - * - * @description: - * A function used to create a new empty glyph image. Note that the - * created @FT_Glyph object must be released with @FT_Done_Glyph. - * - * @input: - * library :: - * A handle to the FreeType library object. - * - * format :: - * The format of the glyph's image. - * - * @output: - * aglyph :: - * A handle to the glyph object. - * - * @return: - * FreeType error code. 0~means success. - * - * @since: - * 2.10 - */ - FT_EXPORT( FT_Error ) - FT_New_Glyph( FT_Library library, - FT_Glyph_Format format, - FT_Glyph *aglyph ); - - - /************************************************************************** - * - * @function: - * FT_Get_Glyph - * - * @description: - * A function used to extract a glyph image from a slot. Note that the - * created @FT_Glyph object must be released with @FT_Done_Glyph. - * - * @input: - * slot :: - * A handle to the source glyph slot. - * - * @output: - * aglyph :: - * A handle to the glyph object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Because `*aglyph->advance.x` and `*aglyph->advance.y` are 16.16 - * fixed-point numbers, `slot->advance.x` and `slot->advance.y` (which - * are in 26.6 fixed-point format) must be in the range ]-32768;32768[. - */ - FT_EXPORT( FT_Error ) - FT_Get_Glyph( FT_GlyphSlot slot, - FT_Glyph *aglyph ); - - - /************************************************************************** - * - * @function: - * FT_Glyph_Copy - * - * @description: - * A function used to copy a glyph image. Note that the created - * @FT_Glyph object must be released with @FT_Done_Glyph. - * - * @input: - * source :: - * A handle to the source glyph object. - * - * @output: - * target :: - * A handle to the target glyph object. 0~in case of error. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Glyph_Copy( FT_Glyph source, - FT_Glyph *target ); - - - /************************************************************************** - * - * @function: - * FT_Glyph_Transform - * - * @description: - * Transform a glyph image if its format is scalable. - * - * @inout: - * glyph :: - * A handle to the target glyph object. - * - * @input: - * matrix :: - * A pointer to a 2x2 matrix to apply. - * - * delta :: - * A pointer to a 2d vector to apply. Coordinates are expressed in - * 1/64th of a pixel. - * - * @return: - * FreeType error code (if not 0, the glyph format is not scalable). - * - * @note: - * The 2x2 transformation matrix is also applied to the glyph's advance - * vector. - */ - FT_EXPORT( FT_Error ) - FT_Glyph_Transform( FT_Glyph glyph, - FT_Matrix* matrix, - FT_Vector* delta ); - - - /************************************************************************** - * - * @enum: - * FT_Glyph_BBox_Mode - * - * @description: - * The mode how the values of @FT_Glyph_Get_CBox are returned. - * - * @values: - * FT_GLYPH_BBOX_UNSCALED :: - * Return unscaled font units. - * - * FT_GLYPH_BBOX_SUBPIXELS :: - * Return unfitted 26.6 coordinates. - * - * FT_GLYPH_BBOX_GRIDFIT :: - * Return grid-fitted 26.6 coordinates. - * - * FT_GLYPH_BBOX_TRUNCATE :: - * Return coordinates in integer pixels. - * - * FT_GLYPH_BBOX_PIXELS :: - * Return grid-fitted pixel coordinates. - */ - typedef enum FT_Glyph_BBox_Mode_ - { - FT_GLYPH_BBOX_UNSCALED = 0, - FT_GLYPH_BBOX_SUBPIXELS = 0, - FT_GLYPH_BBOX_GRIDFIT = 1, - FT_GLYPH_BBOX_TRUNCATE = 2, - FT_GLYPH_BBOX_PIXELS = 3 - - } FT_Glyph_BBox_Mode; - - - /* these constants are deprecated; use the corresponding */ - /* `FT_Glyph_BBox_Mode` values instead */ -#define ft_glyph_bbox_unscaled FT_GLYPH_BBOX_UNSCALED -#define ft_glyph_bbox_subpixels FT_GLYPH_BBOX_SUBPIXELS -#define ft_glyph_bbox_gridfit FT_GLYPH_BBOX_GRIDFIT -#define ft_glyph_bbox_truncate FT_GLYPH_BBOX_TRUNCATE -#define ft_glyph_bbox_pixels FT_GLYPH_BBOX_PIXELS - - - /************************************************************************** - * - * @function: - * FT_Glyph_Get_CBox - * - * @description: - * Return a glyph's 'control box'. The control box encloses all the - * outline's points, including Bezier control points. Though it - * coincides with the exact bounding box for most glyphs, it can be - * slightly larger in some situations (like when rotating an outline that - * contains Bezier outside arcs). - * - * Computing the control box is very fast, while getting the bounding box - * can take much more time as it needs to walk over all segments and arcs - * in the outline. To get the latter, you can use the 'ftbbox' - * component, which is dedicated to this single task. - * - * @input: - * glyph :: - * A handle to the source glyph object. - * - * mode :: - * The mode that indicates how to interpret the returned bounding box - * values. - * - * @output: - * acbox :: - * The glyph coordinate bounding box. Coordinates are expressed in - * 1/64th of pixels if it is grid-fitted. - * - * @note: - * Coordinates are relative to the glyph origin, using the y~upwards - * convention. - * - * If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode` must - * be set to @FT_GLYPH_BBOX_UNSCALED to get unscaled font units in 26.6 - * pixel format. The value @FT_GLYPH_BBOX_SUBPIXELS is another name for - * this constant. - * - * If the font is tricky and the glyph has been loaded with - * @FT_LOAD_NO_SCALE, the resulting CBox is meaningless. To get - * reasonable values for the CBox it is necessary to load the glyph at a - * large ppem value (so that the hinting instructions can properly shift - * and scale the subglyphs), then extracting the CBox, which can be - * eventually converted back to font units. - * - * Note that the maximum coordinates are exclusive, which means that one - * can compute the width and height of the glyph image (be it in integer - * or 26.6 pixels) as: - * - * ``` - * width = bbox.xMax - bbox.xMin; - * height = bbox.yMax - bbox.yMin; - * ``` - * - * Note also that for 26.6 coordinates, if `bbox_mode` is set to - * @FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted, - * which corresponds to: - * - * ``` - * bbox.xMin = FLOOR(bbox.xMin); - * bbox.yMin = FLOOR(bbox.yMin); - * bbox.xMax = CEILING(bbox.xMax); - * bbox.yMax = CEILING(bbox.yMax); - * ``` - * - * To get the bbox in pixel coordinates, set `bbox_mode` to - * @FT_GLYPH_BBOX_TRUNCATE. - * - * To get the bbox in grid-fitted pixel coordinates, set `bbox_mode` to - * @FT_GLYPH_BBOX_PIXELS. - */ - FT_EXPORT( void ) - FT_Glyph_Get_CBox( FT_Glyph glyph, - FT_UInt bbox_mode, - FT_BBox *acbox ); - - - /************************************************************************** - * - * @function: - * FT_Glyph_To_Bitmap - * - * @description: - * Convert a given glyph object to a bitmap glyph object. - * - * @inout: - * the_glyph :: - * A pointer to a handle to the target glyph. - * - * @input: - * render_mode :: - * An enumeration that describes how the data is rendered. - * - * origin :: - * A pointer to a vector used to translate the glyph image before - * rendering. Can be~0 (if no translation). The origin is expressed - * in 26.6 pixels. - * - * destroy :: - * A boolean that indicates that the original glyph image should be - * destroyed by this function. It is never destroyed in case of error. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function does nothing if the glyph format isn't scalable. - * - * The glyph image is translated with the `origin` vector before - * rendering. - * - * The first parameter is a pointer to an @FT_Glyph handle, that will be - * _replaced_ by this function (with newly allocated data). Typically, - * you would use (omitting error handling): - * - * ``` - * FT_Glyph glyph; - * FT_BitmapGlyph glyph_bitmap; - * - * - * // load glyph - * error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAULT ); - * - * // extract glyph image - * error = FT_Get_Glyph( face->glyph, &glyph ); - * - * // convert to a bitmap (default render mode + destroying old) - * if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) - * { - * error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL, - * 0, 1 ); - * if ( error ) // `glyph' unchanged - * ... - * } - * - * // access bitmap content by typecasting - * glyph_bitmap = (FT_BitmapGlyph)glyph; - * - * // do funny stuff with it, like blitting/drawing - * ... - * - * // discard glyph image (bitmap or not) - * FT_Done_Glyph( glyph ); - * ``` - * - * Here is another example, again without error handling: - * - * ``` - * FT_Glyph glyphs[MAX_GLYPHS] - * - * - * ... - * - * for ( idx = 0; i < MAX_GLYPHS; i++ ) - * error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || - * FT_Get_Glyph ( face->glyph, &glyphs[idx] ); - * - * ... - * - * for ( idx = 0; i < MAX_GLYPHS; i++ ) - * { - * FT_Glyph bitmap = glyphs[idx]; - * - * - * ... - * - * // after this call, `bitmap' no longer points into - * // the `glyphs' array (and the old value isn't destroyed) - * FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); - * - * ... - * - * FT_Done_Glyph( bitmap ); - * } - * - * ... - * - * for ( idx = 0; i < MAX_GLYPHS; i++ ) - * FT_Done_Glyph( glyphs[idx] ); - * ``` - */ - FT_EXPORT( FT_Error ) - FT_Glyph_To_Bitmap( FT_Glyph* the_glyph, - FT_Render_Mode render_mode, - FT_Vector* origin, - FT_Bool destroy ); - - - /************************************************************************** - * - * @function: - * FT_Done_Glyph - * - * @description: - * Destroy a given glyph. - * - * @input: - * glyph :: - * A handle to the target glyph object. - */ - FT_EXPORT( void ) - FT_Done_Glyph( FT_Glyph glyph ); - - /* */ - - - /* other helpful functions */ - - /************************************************************************** - * - * @section: - * computations - * - */ - - - /************************************************************************** - * - * @function: - * FT_Matrix_Multiply - * - * @description: - * Perform the matrix operation `b = a*b`. - * - * @input: - * a :: - * A pointer to matrix `a`. - * - * @inout: - * b :: - * A pointer to matrix `b`. - * - * @note: - * The result is undefined if either `a` or `b` is zero. - * - * Since the function uses wrap-around arithmetic, results become - * meaningless if the arguments are very large. - */ - FT_EXPORT( void ) - FT_Matrix_Multiply( const FT_Matrix* a, - FT_Matrix* b ); - - - /************************************************************************** - * - * @function: - * FT_Matrix_Invert - * - * @description: - * Invert a 2x2 matrix. Return an error if it can't be inverted. - * - * @inout: - * matrix :: - * A pointer to the target matrix. Remains untouched in case of error. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Matrix_Invert( FT_Matrix* matrix ); - - /* */ - - -FT_END_HEADER - -#endif /* FTGLYPH_H_ */ - - -/* END */ - - -/* Local Variables: */ -/* coding: utf-8 */ -/* End: */ diff --git a/FreeType/include/freetype/ftgxval.h b/FreeType/include/freetype/ftgxval.h deleted file mode 100644 index b14f637..0000000 --- a/FreeType/include/freetype/ftgxval.h +++ /dev/null @@ -1,355 +0,0 @@ -/**************************************************************************** - * - * ftgxval.h - * - * FreeType API for validating TrueTypeGX/AAT tables (specification). - * - * Copyright (C) 2004-2019 by - * Masatake YAMATO, Redhat K.K, - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - -/**************************************************************************** - * - * gxvalid is derived from both gxlayout module and otvalid module. - * Development of gxlayout is supported by the Information-technology - * Promotion Agency(IPA), Japan. - * - */ - - -#ifndef FTGXVAL_H_ -#define FTGXVAL_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * gx_validation - * - * @title: - * TrueTypeGX/AAT Validation - * - * @abstract: - * An API to validate TrueTypeGX/AAT tables. - * - * @description: - * This section contains the declaration of functions to validate some - * TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, - * prop, lcar). - * - * @order: - * FT_TrueTypeGX_Validate - * FT_TrueTypeGX_Free - * - * FT_ClassicKern_Validate - * FT_ClassicKern_Free - * - * FT_VALIDATE_GX_LENGTH - * FT_VALIDATE_GXXXX - * FT_VALIDATE_CKERNXXX - * - */ - - /************************************************************************** - * - * - * Warning: Use `FT_VALIDATE_XXX` to validate a table. - * Following definitions are for gxvalid developers. - * - * - */ - -#define FT_VALIDATE_feat_INDEX 0 -#define FT_VALIDATE_mort_INDEX 1 -#define FT_VALIDATE_morx_INDEX 2 -#define FT_VALIDATE_bsln_INDEX 3 -#define FT_VALIDATE_just_INDEX 4 -#define FT_VALIDATE_kern_INDEX 5 -#define FT_VALIDATE_opbd_INDEX 6 -#define FT_VALIDATE_trak_INDEX 7 -#define FT_VALIDATE_prop_INDEX 8 -#define FT_VALIDATE_lcar_INDEX 9 -#define FT_VALIDATE_GX_LAST_INDEX FT_VALIDATE_lcar_INDEX - - - /************************************************************************** - * - * @macro: - * FT_VALIDATE_GX_LENGTH - * - * @description: - * The number of tables checked in this module. Use it as a parameter - * for the `table-length` argument of function @FT_TrueTypeGX_Validate. - */ -#define FT_VALIDATE_GX_LENGTH ( FT_VALIDATE_GX_LAST_INDEX + 1 ) - - /* */ - - /* Up to 0x1000 is used by otvalid. - Ox2xxx is reserved for feature OT extension. */ -#define FT_VALIDATE_GX_START 0x4000 -#define FT_VALIDATE_GX_BITFIELD( tag ) \ - ( FT_VALIDATE_GX_START << FT_VALIDATE_##tag##_INDEX ) - - - /************************************************************************** - * - * @enum: - * FT_VALIDATE_GXXXX - * - * @description: - * A list of bit-field constants used with @FT_TrueTypeGX_Validate to - * indicate which TrueTypeGX/AAT Type tables should be validated. - * - * @values: - * FT_VALIDATE_feat :: - * Validate 'feat' table. - * - * FT_VALIDATE_mort :: - * Validate 'mort' table. - * - * FT_VALIDATE_morx :: - * Validate 'morx' table. - * - * FT_VALIDATE_bsln :: - * Validate 'bsln' table. - * - * FT_VALIDATE_just :: - * Validate 'just' table. - * - * FT_VALIDATE_kern :: - * Validate 'kern' table. - * - * FT_VALIDATE_opbd :: - * Validate 'opbd' table. - * - * FT_VALIDATE_trak :: - * Validate 'trak' table. - * - * FT_VALIDATE_prop :: - * Validate 'prop' table. - * - * FT_VALIDATE_lcar :: - * Validate 'lcar' table. - * - * FT_VALIDATE_GX :: - * Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, - * opbd, trak, prop and lcar). - * - */ - -#define FT_VALIDATE_feat FT_VALIDATE_GX_BITFIELD( feat ) -#define FT_VALIDATE_mort FT_VALIDATE_GX_BITFIELD( mort ) -#define FT_VALIDATE_morx FT_VALIDATE_GX_BITFIELD( morx ) -#define FT_VALIDATE_bsln FT_VALIDATE_GX_BITFIELD( bsln ) -#define FT_VALIDATE_just FT_VALIDATE_GX_BITFIELD( just ) -#define FT_VALIDATE_kern FT_VALIDATE_GX_BITFIELD( kern ) -#define FT_VALIDATE_opbd FT_VALIDATE_GX_BITFIELD( opbd ) -#define FT_VALIDATE_trak FT_VALIDATE_GX_BITFIELD( trak ) -#define FT_VALIDATE_prop FT_VALIDATE_GX_BITFIELD( prop ) -#define FT_VALIDATE_lcar FT_VALIDATE_GX_BITFIELD( lcar ) - -#define FT_VALIDATE_GX ( FT_VALIDATE_feat | \ - FT_VALIDATE_mort | \ - FT_VALIDATE_morx | \ - FT_VALIDATE_bsln | \ - FT_VALIDATE_just | \ - FT_VALIDATE_kern | \ - FT_VALIDATE_opbd | \ - FT_VALIDATE_trak | \ - FT_VALIDATE_prop | \ - FT_VALIDATE_lcar ) - - - /************************************************************************** - * - * @function: - * FT_TrueTypeGX_Validate - * - * @description: - * Validate various TrueTypeGX tables to assure that all offsets and - * indices are valid. The idea is that a higher-level library that - * actually does the text layout can access those tables without error - * checking (which can be quite time consuming). - * - * @input: - * face :: - * A handle to the input face. - * - * validation_flags :: - * A bit field that specifies the tables to be validated. See - * @FT_VALIDATE_GXXXX for possible values. - * - * table_length :: - * The size of the `tables` array. Normally, @FT_VALIDATE_GX_LENGTH - * should be passed. - * - * @output: - * tables :: - * The array where all validated sfnt tables are stored. The array - * itself must be allocated by a client. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function only works with TrueTypeGX fonts, returning an error - * otherwise. - * - * After use, the application should deallocate the buffers pointed to by - * each `tables` element, by calling @FT_TrueTypeGX_Free. A `NULL` value - * indicates that the table either doesn't exist in the font, the - * application hasn't asked for validation, or the validator doesn't have - * the ability to validate the sfnt table. - */ - FT_EXPORT( FT_Error ) - FT_TrueTypeGX_Validate( FT_Face face, - FT_UInt validation_flags, - FT_Bytes tables[FT_VALIDATE_GX_LENGTH], - FT_UInt table_length ); - - - /************************************************************************** - * - * @function: - * FT_TrueTypeGX_Free - * - * @description: - * Free the buffer allocated by TrueTypeGX validator. - * - * @input: - * face :: - * A handle to the input face. - * - * table :: - * The pointer to the buffer allocated by @FT_TrueTypeGX_Validate. - * - * @note: - * This function must be used to free the buffer allocated by - * @FT_TrueTypeGX_Validate only. - */ - FT_EXPORT( void ) - FT_TrueTypeGX_Free( FT_Face face, - FT_Bytes table ); - - - /************************************************************************** - * - * @enum: - * FT_VALIDATE_CKERNXXX - * - * @description: - * A list of bit-field constants used with @FT_ClassicKern_Validate to - * indicate the classic kern dialect or dialects. If the selected type - * doesn't fit, @FT_ClassicKern_Validate regards the table as invalid. - * - * @values: - * FT_VALIDATE_MS :: - * Handle the 'kern' table as a classic Microsoft kern table. - * - * FT_VALIDATE_APPLE :: - * Handle the 'kern' table as a classic Apple kern table. - * - * FT_VALIDATE_CKERN :: - * Handle the 'kern' as either classic Apple or Microsoft kern table. - */ -#define FT_VALIDATE_MS ( FT_VALIDATE_GX_START << 0 ) -#define FT_VALIDATE_APPLE ( FT_VALIDATE_GX_START << 1 ) - -#define FT_VALIDATE_CKERN ( FT_VALIDATE_MS | FT_VALIDATE_APPLE ) - - - /************************************************************************** - * - * @function: - * FT_ClassicKern_Validate - * - * @description: - * Validate classic (16-bit format) kern table to assure that the - * offsets and indices are valid. The idea is that a higher-level - * library that actually does the text layout can access those tables - * without error checking (which can be quite time consuming). - * - * The 'kern' table validator in @FT_TrueTypeGX_Validate deals with both - * the new 32-bit format and the classic 16-bit format, while - * FT_ClassicKern_Validate only supports the classic 16-bit format. - * - * @input: - * face :: - * A handle to the input face. - * - * validation_flags :: - * A bit field that specifies the dialect to be validated. See - * @FT_VALIDATE_CKERNXXX for possible values. - * - * @output: - * ckern_table :: - * A pointer to the kern table. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * After use, the application should deallocate the buffers pointed to by - * `ckern_table`, by calling @FT_ClassicKern_Free. A `NULL` value - * indicates that the table doesn't exist in the font. - */ - FT_EXPORT( FT_Error ) - FT_ClassicKern_Validate( FT_Face face, - FT_UInt validation_flags, - FT_Bytes *ckern_table ); - - - /************************************************************************** - * - * @function: - * FT_ClassicKern_Free - * - * @description: - * Free the buffer allocated by classic Kern validator. - * - * @input: - * face :: - * A handle to the input face. - * - * table :: - * The pointer to the buffer that is allocated by - * @FT_ClassicKern_Validate. - * - * @note: - * This function must be used to free the buffer allocated by - * @FT_ClassicKern_Validate only. - */ - FT_EXPORT( void ) - FT_ClassicKern_Free( FT_Face face, - FT_Bytes table ); - - /* */ - - -FT_END_HEADER - -#endif /* FTGXVAL_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftgzip.h b/FreeType/include/freetype/ftgzip.h deleted file mode 100644 index 418c612..0000000 --- a/FreeType/include/freetype/ftgzip.h +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************** - * - * ftgzip.h - * - * Gzip-compressed stream support. - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTGZIP_H_ -#define FTGZIP_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - /************************************************************************** - * - * @section: - * gzip - * - * @title: - * GZIP Streams - * - * @abstract: - * Using gzip-compressed font files. - * - * @description: - * This section contains the declaration of Gzip-specific functions. - * - */ - - - /************************************************************************** - * - * @function: - * FT_Stream_OpenGzip - * - * @description: - * Open a new stream to parse gzip-compressed font files. This is mainly - * used to support the compressed `*.pcf.gz` fonts that come with - * XFree86. - * - * @input: - * stream :: - * The target embedding stream. - * - * source :: - * The source stream. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The source stream must be opened _before_ calling this function. - * - * Calling the internal function `FT_Stream_Close` on the new stream will - * **not** call `FT_Stream_Close` on the source stream. None of the - * stream objects will be released to the heap. - * - * The stream implementation is very basic and resets the decompression - * process each time seeking backwards is needed within the stream. - * - * In certain builds of the library, gzip compression recognition is - * automatically handled when calling @FT_New_Face or @FT_Open_Face. - * This means that if no font driver is capable of handling the raw - * compressed file, the library will try to open a gzipped stream from it - * and re-open the face with it. - * - * This function may return `FT_Err_Unimplemented_Feature` if your build - * of FreeType was not compiled with zlib support. - */ - FT_EXPORT( FT_Error ) - FT_Stream_OpenGzip( FT_Stream stream, - FT_Stream source ); - - - /************************************************************************** - * - * @function: - * FT_Gzip_Uncompress - * - * @description: - * Decompress a zipped input buffer into an output buffer. This function - * is modeled after zlib's `uncompress` function. - * - * @input: - * memory :: - * A FreeType memory handle. - * - * input :: - * The input buffer. - * - * input_len :: - * The length of the input buffer. - * - * @output: - * output :: - * The output buffer. - * - * @inout: - * output_len :: - * Before calling the function, this is the total size of the output - * buffer, which must be large enough to hold the entire uncompressed - * data (so the size of the uncompressed data must be known in - * advance). After calling the function, `output_len` is the size of - * the used data in `output`. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function may return `FT_Err_Unimplemented_Feature` if your build - * of FreeType was not compiled with zlib support. - * - * @since: - * 2.5.1 - */ - FT_EXPORT( FT_Error ) - FT_Gzip_Uncompress( FT_Memory memory, - FT_Byte* output, - FT_ULong* output_len, - const FT_Byte* input, - FT_ULong input_len ); - - /* */ - - -FT_END_HEADER - -#endif /* FTGZIP_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftimage.h b/FreeType/include/freetype/ftimage.h deleted file mode 100644 index d640b0b..0000000 --- a/FreeType/include/freetype/ftimage.h +++ /dev/null @@ -1,1240 +0,0 @@ -/**************************************************************************** - * - * ftimage.h - * - * FreeType glyph image formats and default raster interface - * (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - /************************************************************************** - * - * Note: A 'raster' is simply a scan-line converter, used to render - * FT_Outlines into FT_Bitmaps. - * - */ - - -#ifndef FTIMAGE_H_ -#define FTIMAGE_H_ - - - /* STANDALONE_ is from ftgrays.c */ -#ifndef STANDALONE_ -#include -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * basic_types - * - */ - - - /************************************************************************** - * - * @type: - * FT_Pos - * - * @description: - * The type FT_Pos is used to store vectorial coordinates. Depending on - * the context, these can represent distances in integer font units, or - * 16.16, or 26.6 fixed-point pixel coordinates. - */ - typedef signed long FT_Pos; - - - /************************************************************************** - * - * @struct: - * FT_Vector - * - * @description: - * A simple structure used to store a 2D vector; coordinates are of the - * FT_Pos type. - * - * @fields: - * x :: - * The horizontal coordinate. - * y :: - * The vertical coordinate. - */ - typedef struct FT_Vector_ - { - FT_Pos x; - FT_Pos y; - - } FT_Vector; - - - /************************************************************************** - * - * @struct: - * FT_BBox - * - * @description: - * A structure used to hold an outline's bounding box, i.e., the - * coordinates of its extrema in the horizontal and vertical directions. - * - * @fields: - * xMin :: - * The horizontal minimum (left-most). - * - * yMin :: - * The vertical minimum (bottom-most). - * - * xMax :: - * The horizontal maximum (right-most). - * - * yMax :: - * The vertical maximum (top-most). - * - * @note: - * The bounding box is specified with the coordinates of the lower left - * and the upper right corner. In PostScript, those values are often - * called (llx,lly) and (urx,ury), respectively. - * - * If `yMin` is negative, this value gives the glyph's descender. - * Otherwise, the glyph doesn't descend below the baseline. Similarly, - * if `ymax` is positive, this value gives the glyph's ascender. - * - * `xMin` gives the horizontal distance from the glyph's origin to the - * left edge of the glyph's bounding box. If `xMin` is negative, the - * glyph extends to the left of the origin. - */ - typedef struct FT_BBox_ - { - FT_Pos xMin, yMin; - FT_Pos xMax, yMax; - - } FT_BBox; - - - /************************************************************************** - * - * @enum: - * FT_Pixel_Mode - * - * @description: - * An enumeration type used to describe the format of pixels in a given - * bitmap. Note that additional formats may be added in the future. - * - * @values: - * FT_PIXEL_MODE_NONE :: - * Value~0 is reserved. - * - * FT_PIXEL_MODE_MONO :: - * A monochrome bitmap, using 1~bit per pixel. Note that pixels are - * stored in most-significant order (MSB), which means that the - * left-most pixel in a byte has value 128. - * - * FT_PIXEL_MODE_GRAY :: - * An 8-bit bitmap, generally used to represent anti-aliased glyph - * images. Each pixel is stored in one byte. Note that the number of - * 'gray' levels is stored in the `num_grays` field of the @FT_Bitmap - * structure (it generally is 256). - * - * FT_PIXEL_MODE_GRAY2 :: - * A 2-bit per pixel bitmap, used to represent embedded anti-aliased - * bitmaps in font files according to the OpenType specification. We - * haven't found a single font using this format, however. - * - * FT_PIXEL_MODE_GRAY4 :: - * A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps - * in font files according to the OpenType specification. We haven't - * found a single font using this format, however. - * - * FT_PIXEL_MODE_LCD :: - * An 8-bit bitmap, representing RGB or BGR decimated glyph images used - * for display on LCD displays; the bitmap is three times wider than - * the original glyph image. See also @FT_RENDER_MODE_LCD. - * - * FT_PIXEL_MODE_LCD_V :: - * An 8-bit bitmap, representing RGB or BGR decimated glyph images used - * for display on rotated LCD displays; the bitmap is three times - * taller than the original glyph image. See also - * @FT_RENDER_MODE_LCD_V. - * - * FT_PIXEL_MODE_BGRA :: - * [Since 2.5] An image with four 8-bit channels per pixel, - * representing a color image (such as emoticons) with alpha channel. - * For each pixel, the format is BGRA, which means, the blue channel - * comes first in memory. The color channels are pre-multiplied and in - * the sRGB colorspace. For example, full red at half-translucent - * opacity will be represented as '00,00,80,80', not '00,00,FF,80'. - * See also @FT_LOAD_COLOR. - */ - typedef enum FT_Pixel_Mode_ - { - FT_PIXEL_MODE_NONE = 0, - FT_PIXEL_MODE_MONO, - FT_PIXEL_MODE_GRAY, - FT_PIXEL_MODE_GRAY2, - FT_PIXEL_MODE_GRAY4, - FT_PIXEL_MODE_LCD, - FT_PIXEL_MODE_LCD_V, - FT_PIXEL_MODE_BGRA, - - FT_PIXEL_MODE_MAX /* do not remove */ - - } FT_Pixel_Mode; - - - /* these constants are deprecated; use the corresponding `FT_Pixel_Mode` */ - /* values instead. */ -#define ft_pixel_mode_none FT_PIXEL_MODE_NONE -#define ft_pixel_mode_mono FT_PIXEL_MODE_MONO -#define ft_pixel_mode_grays FT_PIXEL_MODE_GRAY -#define ft_pixel_mode_pal2 FT_PIXEL_MODE_GRAY2 -#define ft_pixel_mode_pal4 FT_PIXEL_MODE_GRAY4 - - - /************************************************************************** - * - * @struct: - * FT_Bitmap - * - * @description: - * A structure used to describe a bitmap or pixmap to the raster. Note - * that we now manage pixmaps of various depths through the `pixel_mode` - * field. - * - * @fields: - * rows :: - * The number of bitmap rows. - * - * width :: - * The number of pixels in bitmap row. - * - * pitch :: - * The pitch's absolute value is the number of bytes taken by one - * bitmap row, including padding. However, the pitch is positive when - * the bitmap has a 'down' flow, and negative when it has an 'up' flow. - * In all cases, the pitch is an offset to add to a bitmap pointer in - * order to go down one row. - * - * Note that 'padding' means the alignment of a bitmap to a byte - * border, and FreeType functions normally align to the smallest - * possible integer value. - * - * For the B/W rasterizer, `pitch` is always an even number. - * - * To change the pitch of a bitmap (say, to make it a multiple of 4), - * use @FT_Bitmap_Convert. Alternatively, you might use callback - * functions to directly render to the application's surface; see the - * file `example2.cpp` in the tutorial for a demonstration. - * - * buffer :: - * A typeless pointer to the bitmap buffer. This value should be - * aligned on 32-bit boundaries in most cases. - * - * num_grays :: - * This field is only used with @FT_PIXEL_MODE_GRAY; it gives the - * number of gray levels used in the bitmap. - * - * pixel_mode :: - * The pixel mode, i.e., how pixel bits are stored. See @FT_Pixel_Mode - * for possible values. - * - * palette_mode :: - * This field is intended for paletted pixel modes; it indicates how - * the palette is stored. Not used currently. - * - * palette :: - * A typeless pointer to the bitmap palette; this field is intended for - * paletted pixel modes. Not used currently. - */ - typedef struct FT_Bitmap_ - { - unsigned int rows; - unsigned int width; - int pitch; - unsigned char* buffer; - unsigned short num_grays; - unsigned char pixel_mode; - unsigned char palette_mode; - void* palette; - - } FT_Bitmap; - - - /************************************************************************** - * - * @section: - * outline_processing - * - */ - - - /************************************************************************** - * - * @struct: - * FT_Outline - * - * @description: - * This structure is used to describe an outline to the scan-line - * converter. - * - * @fields: - * n_contours :: - * The number of contours in the outline. - * - * n_points :: - * The number of points in the outline. - * - * points :: - * A pointer to an array of `n_points` @FT_Vector elements, giving the - * outline's point coordinates. - * - * tags :: - * A pointer to an array of `n_points` chars, giving each outline - * point's type. - * - * If bit~0 is unset, the point is 'off' the curve, i.e., a Bezier - * control point, while it is 'on' if set. - * - * Bit~1 is meaningful for 'off' points only. If set, it indicates a - * third-order Bezier arc control point; and a second-order control - * point if unset. - * - * If bit~2 is set, bits 5-7 contain the drop-out mode (as defined in - * the OpenType specification; the value is the same as the argument to - * the 'SCANMODE' instruction). - * - * Bits 3 and~4 are reserved for internal purposes. - * - * contours :: - * An array of `n_contours` shorts, giving the end point of each - * contour within the outline. For example, the first contour is - * defined by the points '0' to `contours[0]`, the second one is - * defined by the points `contours[0]+1` to `contours[1]`, etc. - * - * flags :: - * A set of bit flags used to characterize the outline and give hints - * to the scan-converter and hinter on how to convert/grid-fit it. See - * @FT_OUTLINE_XXX. - * - * @note: - * The B/W rasterizer only checks bit~2 in the `tags` array for the first - * point of each contour. The drop-out mode as given with - * @FT_OUTLINE_IGNORE_DROPOUTS, @FT_OUTLINE_SMART_DROPOUTS, and - * @FT_OUTLINE_INCLUDE_STUBS in `flags` is then overridden. - */ - typedef struct FT_Outline_ - { - short n_contours; /* number of contours in glyph */ - short n_points; /* number of points in the glyph */ - - FT_Vector* points; /* the outline's points */ - char* tags; /* the points flags */ - short* contours; /* the contour end points */ - - int flags; /* outline masks */ - - } FT_Outline; - - /* */ - - /* Following limits must be consistent with */ - /* FT_Outline.{n_contours,n_points} */ -#define FT_OUTLINE_CONTOURS_MAX SHRT_MAX -#define FT_OUTLINE_POINTS_MAX SHRT_MAX - - - /************************************************************************** - * - * @enum: - * FT_OUTLINE_XXX - * - * @description: - * A list of bit-field constants used for the flags in an outline's - * `flags` field. - * - * @values: - * FT_OUTLINE_NONE :: - * Value~0 is reserved. - * - * FT_OUTLINE_OWNER :: - * If set, this flag indicates that the outline's field arrays (i.e., - * `points`, `flags`, and `contours`) are 'owned' by the outline - * object, and should thus be freed when it is destroyed. - * - * FT_OUTLINE_EVEN_ODD_FILL :: - * By default, outlines are filled using the non-zero winding rule. If - * set to 1, the outline will be filled using the even-odd fill rule - * (only works with the smooth rasterizer). - * - * FT_OUTLINE_REVERSE_FILL :: - * By default, outside contours of an outline are oriented in - * clock-wise direction, as defined in the TrueType specification. - * This flag is set if the outline uses the opposite direction - * (typically for Type~1 fonts). This flag is ignored by the scan - * converter. - * - * FT_OUTLINE_IGNORE_DROPOUTS :: - * By default, the scan converter will try to detect drop-outs in an - * outline and correct the glyph bitmap to ensure consistent shape - * continuity. If set, this flag hints the scan-line converter to - * ignore such cases. See below for more information. - * - * FT_OUTLINE_SMART_DROPOUTS :: - * Select smart dropout control. If unset, use simple dropout control. - * Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more - * information. - * - * FT_OUTLINE_INCLUDE_STUBS :: - * If set, turn pixels on for 'stubs', otherwise exclude them. Ignored - * if @FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more - * information. - * - * FT_OUTLINE_HIGH_PRECISION :: - * This flag indicates that the scan-line converter should try to - * convert this outline to bitmaps with the highest possible quality. - * It is typically set for small character sizes. Note that this is - * only a hint that might be completely ignored by a given - * scan-converter. - * - * FT_OUTLINE_SINGLE_PASS :: - * This flag is set to force a given scan-converter to only use a - * single pass over the outline to render a bitmap glyph image. - * Normally, it is set for very large character sizes. It is only a - * hint that might be completely ignored by a given scan-converter. - * - * @note: - * The flags @FT_OUTLINE_IGNORE_DROPOUTS, @FT_OUTLINE_SMART_DROPOUTS, and - * @FT_OUTLINE_INCLUDE_STUBS are ignored by the smooth rasterizer. - * - * There exists a second mechanism to pass the drop-out mode to the B/W - * rasterizer; see the `tags` field in @FT_Outline. - * - * Please refer to the description of the 'SCANTYPE' instruction in the - * OpenType specification (in file `ttinst1.doc`) how simple drop-outs, - * smart drop-outs, and stubs are defined. - */ -#define FT_OUTLINE_NONE 0x0 -#define FT_OUTLINE_OWNER 0x1 -#define FT_OUTLINE_EVEN_ODD_FILL 0x2 -#define FT_OUTLINE_REVERSE_FILL 0x4 -#define FT_OUTLINE_IGNORE_DROPOUTS 0x8 -#define FT_OUTLINE_SMART_DROPOUTS 0x10 -#define FT_OUTLINE_INCLUDE_STUBS 0x20 - -#define FT_OUTLINE_HIGH_PRECISION 0x100 -#define FT_OUTLINE_SINGLE_PASS 0x200 - - - /* these constants are deprecated; use the corresponding */ - /* `FT_OUTLINE_XXX` values instead */ -#define ft_outline_none FT_OUTLINE_NONE -#define ft_outline_owner FT_OUTLINE_OWNER -#define ft_outline_even_odd_fill FT_OUTLINE_EVEN_ODD_FILL -#define ft_outline_reverse_fill FT_OUTLINE_REVERSE_FILL -#define ft_outline_ignore_dropouts FT_OUTLINE_IGNORE_DROPOUTS -#define ft_outline_high_precision FT_OUTLINE_HIGH_PRECISION -#define ft_outline_single_pass FT_OUTLINE_SINGLE_PASS - - /* */ - -#define FT_CURVE_TAG( flag ) ( flag & 0x03 ) - - /* see the `tags` field in `FT_Outline` for a description of the values */ -#define FT_CURVE_TAG_ON 0x01 -#define FT_CURVE_TAG_CONIC 0x00 -#define FT_CURVE_TAG_CUBIC 0x02 - -#define FT_CURVE_TAG_HAS_SCANMODE 0x04 - -#define FT_CURVE_TAG_TOUCH_X 0x08 /* reserved for TrueType hinter */ -#define FT_CURVE_TAG_TOUCH_Y 0x10 /* reserved for TrueType hinter */ - -#define FT_CURVE_TAG_TOUCH_BOTH ( FT_CURVE_TAG_TOUCH_X | \ - FT_CURVE_TAG_TOUCH_Y ) - /* values 0x20, 0x40, and 0x80 are reserved */ - - - /* these constants are deprecated; use the corresponding */ - /* `FT_CURVE_TAG_XXX` values instead */ -#define FT_Curve_Tag_On FT_CURVE_TAG_ON -#define FT_Curve_Tag_Conic FT_CURVE_TAG_CONIC -#define FT_Curve_Tag_Cubic FT_CURVE_TAG_CUBIC -#define FT_Curve_Tag_Touch_X FT_CURVE_TAG_TOUCH_X -#define FT_Curve_Tag_Touch_Y FT_CURVE_TAG_TOUCH_Y - - - /************************************************************************** - * - * @functype: - * FT_Outline_MoveToFunc - * - * @description: - * A function pointer type used to describe the signature of a 'move to' - * function during outline walking/decomposition. - * - * A 'move to' is emitted to start a new contour in an outline. - * - * @input: - * to :: - * A pointer to the target point of the 'move to'. - * - * user :: - * A typeless pointer, which is passed from the caller of the - * decomposition function. - * - * @return: - * Error code. 0~means success. - */ - typedef int - (*FT_Outline_MoveToFunc)( const FT_Vector* to, - void* user ); - -#define FT_Outline_MoveTo_Func FT_Outline_MoveToFunc - - - /************************************************************************** - * - * @functype: - * FT_Outline_LineToFunc - * - * @description: - * A function pointer type used to describe the signature of a 'line to' - * function during outline walking/decomposition. - * - * A 'line to' is emitted to indicate a segment in the outline. - * - * @input: - * to :: - * A pointer to the target point of the 'line to'. - * - * user :: - * A typeless pointer, which is passed from the caller of the - * decomposition function. - * - * @return: - * Error code. 0~means success. - */ - typedef int - (*FT_Outline_LineToFunc)( const FT_Vector* to, - void* user ); - -#define FT_Outline_LineTo_Func FT_Outline_LineToFunc - - - /************************************************************************** - * - * @functype: - * FT_Outline_ConicToFunc - * - * @description: - * A function pointer type used to describe the signature of a 'conic to' - * function during outline walking or decomposition. - * - * A 'conic to' is emitted to indicate a second-order Bezier arc in the - * outline. - * - * @input: - * control :: - * An intermediate control point between the last position and the new - * target in `to`. - * - * to :: - * A pointer to the target end point of the conic arc. - * - * user :: - * A typeless pointer, which is passed from the caller of the - * decomposition function. - * - * @return: - * Error code. 0~means success. - */ - typedef int - (*FT_Outline_ConicToFunc)( const FT_Vector* control, - const FT_Vector* to, - void* user ); - -#define FT_Outline_ConicTo_Func FT_Outline_ConicToFunc - - - /************************************************************************** - * - * @functype: - * FT_Outline_CubicToFunc - * - * @description: - * A function pointer type used to describe the signature of a 'cubic to' - * function during outline walking or decomposition. - * - * A 'cubic to' is emitted to indicate a third-order Bezier arc. - * - * @input: - * control1 :: - * A pointer to the first Bezier control point. - * - * control2 :: - * A pointer to the second Bezier control point. - * - * to :: - * A pointer to the target end point. - * - * user :: - * A typeless pointer, which is passed from the caller of the - * decomposition function. - * - * @return: - * Error code. 0~means success. - */ - typedef int - (*FT_Outline_CubicToFunc)( const FT_Vector* control1, - const FT_Vector* control2, - const FT_Vector* to, - void* user ); - -#define FT_Outline_CubicTo_Func FT_Outline_CubicToFunc - - - /************************************************************************** - * - * @struct: - * FT_Outline_Funcs - * - * @description: - * A structure to hold various function pointers used during outline - * decomposition in order to emit segments, conic, and cubic Beziers. - * - * @fields: - * move_to :: - * The 'move to' emitter. - * - * line_to :: - * The segment emitter. - * - * conic_to :: - * The second-order Bezier arc emitter. - * - * cubic_to :: - * The third-order Bezier arc emitter. - * - * shift :: - * The shift that is applied to coordinates before they are sent to the - * emitter. - * - * delta :: - * The delta that is applied to coordinates before they are sent to the - * emitter, but after the shift. - * - * @note: - * The point coordinates sent to the emitters are the transformed version - * of the original coordinates (this is important for high accuracy - * during scan-conversion). The transformation is simple: - * - * ``` - * x' = (x << shift) - delta - * y' = (y << shift) - delta - * ``` - * - * Set the values of `shift` and `delta` to~0 to get the original point - * coordinates. - */ - typedef struct FT_Outline_Funcs_ - { - FT_Outline_MoveToFunc move_to; - FT_Outline_LineToFunc line_to; - FT_Outline_ConicToFunc conic_to; - FT_Outline_CubicToFunc cubic_to; - - int shift; - FT_Pos delta; - - } FT_Outline_Funcs; - - - /************************************************************************** - * - * @section: - * basic_types - * - */ - - - /************************************************************************** - * - * @macro: - * FT_IMAGE_TAG - * - * @description: - * This macro converts four-letter tags to an unsigned long type. - * - * @note: - * Since many 16-bit compilers don't like 32-bit enumerations, you should - * redefine this macro in case of problems to something like this: - * - * ``` - * #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value - * ``` - * - * to get a simple enumeration without assigning special numbers. - */ -#ifndef FT_IMAGE_TAG -#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) \ - value = ( ( (unsigned long)_x1 << 24 ) | \ - ( (unsigned long)_x2 << 16 ) | \ - ( (unsigned long)_x3 << 8 ) | \ - (unsigned long)_x4 ) -#endif /* FT_IMAGE_TAG */ - - - /************************************************************************** - * - * @enum: - * FT_Glyph_Format - * - * @description: - * An enumeration type used to describe the format of a given glyph - * image. Note that this version of FreeType only supports two image - * formats, even though future font drivers will be able to register - * their own format. - * - * @values: - * FT_GLYPH_FORMAT_NONE :: - * The value~0 is reserved. - * - * FT_GLYPH_FORMAT_COMPOSITE :: - * The glyph image is a composite of several other images. This format - * is _only_ used with @FT_LOAD_NO_RECURSE, and is used to report - * compound glyphs (like accented characters). - * - * FT_GLYPH_FORMAT_BITMAP :: - * The glyph image is a bitmap, and can be described as an @FT_Bitmap. - * You generally need to access the `bitmap` field of the - * @FT_GlyphSlotRec structure to read it. - * - * FT_GLYPH_FORMAT_OUTLINE :: - * The glyph image is a vectorial outline made of line segments and - * Bezier arcs; it can be described as an @FT_Outline; you generally - * want to access the `outline` field of the @FT_GlyphSlotRec structure - * to read it. - * - * FT_GLYPH_FORMAT_PLOTTER :: - * The glyph image is a vectorial path with no inside and outside - * contours. Some Type~1 fonts, like those in the Hershey family, - * contain glyphs in this format. These are described as @FT_Outline, - * but FreeType isn't currently capable of rendering them correctly. - */ - typedef enum FT_Glyph_Format_ - { - FT_IMAGE_TAG( FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ), - - FT_IMAGE_TAG( FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ), - FT_IMAGE_TAG( FT_GLYPH_FORMAT_BITMAP, 'b', 'i', 't', 's' ), - FT_IMAGE_TAG( FT_GLYPH_FORMAT_OUTLINE, 'o', 'u', 't', 'l' ), - FT_IMAGE_TAG( FT_GLYPH_FORMAT_PLOTTER, 'p', 'l', 'o', 't' ) - - } FT_Glyph_Format; - - - /* these constants are deprecated; use the corresponding */ - /* `FT_Glyph_Format` values instead. */ -#define ft_glyph_format_none FT_GLYPH_FORMAT_NONE -#define ft_glyph_format_composite FT_GLYPH_FORMAT_COMPOSITE -#define ft_glyph_format_bitmap FT_GLYPH_FORMAT_BITMAP -#define ft_glyph_format_outline FT_GLYPH_FORMAT_OUTLINE -#define ft_glyph_format_plotter FT_GLYPH_FORMAT_PLOTTER - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** R A S T E R D E F I N I T I O N S *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * A raster is a scan converter, in charge of rendering an outline into a - * bitmap. This section contains the public API for rasters. - * - * Note that in FreeType 2, all rasters are now encapsulated within - * specific modules called 'renderers'. See `ftrender.h` for more details - * on renderers. - * - */ - - - /************************************************************************** - * - * @section: - * raster - * - * @title: - * Scanline Converter - * - * @abstract: - * How vectorial outlines are converted into bitmaps and pixmaps. - * - * @description: - * This section contains technical definitions. - * - * @order: - * FT_Raster - * FT_Span - * FT_SpanFunc - * - * FT_Raster_Params - * FT_RASTER_FLAG_XXX - * - * FT_Raster_NewFunc - * FT_Raster_DoneFunc - * FT_Raster_ResetFunc - * FT_Raster_SetModeFunc - * FT_Raster_RenderFunc - * FT_Raster_Funcs - * - */ - - - /************************************************************************** - * - * @type: - * FT_Raster - * - * @description: - * An opaque handle (pointer) to a raster object. Each object can be - * used independently to convert an outline into a bitmap or pixmap. - */ - typedef struct FT_RasterRec_* FT_Raster; - - - /************************************************************************** - * - * @struct: - * FT_Span - * - * @description: - * A structure used to model a single span of gray pixels when rendering - * an anti-aliased bitmap. - * - * @fields: - * x :: - * The span's horizontal start position. - * - * len :: - * The span's length in pixels. - * - * coverage :: - * The span color/coverage, ranging from 0 (background) to 255 - * (foreground). - * - * @note: - * This structure is used by the span drawing callback type named - * @FT_SpanFunc that takes the y~coordinate of the span as a parameter. - * - * The coverage value is always between 0 and 255. If you want less gray - * values, the callback function has to reduce them. - */ - typedef struct FT_Span_ - { - short x; - unsigned short len; - unsigned char coverage; - - } FT_Span; - - - /************************************************************************** - * - * @functype: - * FT_SpanFunc - * - * @description: - * A function used as a call-back by the anti-aliased renderer in order - * to let client applications draw themselves the gray pixel spans on - * each scan line. - * - * @input: - * y :: - * The scanline's y~coordinate. - * - * count :: - * The number of spans to draw on this scanline. - * - * spans :: - * A table of `count` spans to draw on the scanline. - * - * user :: - * User-supplied data that is passed to the callback. - * - * @note: - * This callback allows client applications to directly render the gray - * spans of the anti-aliased bitmap to any kind of surfaces. - * - * This can be used to write anti-aliased outlines directly to a given - * background bitmap, and even perform translucency. - */ - typedef void - (*FT_SpanFunc)( int y, - int count, - const FT_Span* spans, - void* user ); - -#define FT_Raster_Span_Func FT_SpanFunc - - - /************************************************************************** - * - * @functype: - * FT_Raster_BitTest_Func - * - * @description: - * Deprecated, unimplemented. - */ - typedef int - (*FT_Raster_BitTest_Func)( int y, - int x, - void* user ); - - - /************************************************************************** - * - * @functype: - * FT_Raster_BitSet_Func - * - * @description: - * Deprecated, unimplemented. - */ - typedef void - (*FT_Raster_BitSet_Func)( int y, - int x, - void* user ); - - - /************************************************************************** - * - * @enum: - * FT_RASTER_FLAG_XXX - * - * @description: - * A list of bit flag constants as used in the `flags` field of a - * @FT_Raster_Params structure. - * - * @values: - * FT_RASTER_FLAG_DEFAULT :: - * This value is 0. - * - * FT_RASTER_FLAG_AA :: - * This flag is set to indicate that an anti-aliased glyph image should - * be generated. Otherwise, it will be monochrome (1-bit). - * - * FT_RASTER_FLAG_DIRECT :: - * This flag is set to indicate direct rendering. In this mode, client - * applications must provide their own span callback. This lets them - * directly draw or compose over an existing bitmap. If this bit is - * not set, the target pixmap's buffer _must_ be zeroed before - * rendering. - * - * Direct rendering is only possible with anti-aliased glyphs. - * - * FT_RASTER_FLAG_CLIP :: - * This flag is only used in direct rendering mode. If set, the output - * will be clipped to a box specified in the `clip_box` field of the - * @FT_Raster_Params structure. - * - * Note that by default, the glyph bitmap is clipped to the target - * pixmap, except in direct rendering mode where all spans are - * generated if no clipping box is set. - */ -#define FT_RASTER_FLAG_DEFAULT 0x0 -#define FT_RASTER_FLAG_AA 0x1 -#define FT_RASTER_FLAG_DIRECT 0x2 -#define FT_RASTER_FLAG_CLIP 0x4 - - /* these constants are deprecated; use the corresponding */ - /* `FT_RASTER_FLAG_XXX` values instead */ -#define ft_raster_flag_default FT_RASTER_FLAG_DEFAULT -#define ft_raster_flag_aa FT_RASTER_FLAG_AA -#define ft_raster_flag_direct FT_RASTER_FLAG_DIRECT -#define ft_raster_flag_clip FT_RASTER_FLAG_CLIP - - - /************************************************************************** - * - * @struct: - * FT_Raster_Params - * - * @description: - * A structure to hold the arguments used by a raster's render function. - * - * @fields: - * target :: - * The target bitmap. - * - * source :: - * A pointer to the source glyph image (e.g., an @FT_Outline). - * - * flags :: - * The rendering flags. - * - * gray_spans :: - * The gray span drawing callback. - * - * black_spans :: - * Unused. - * - * bit_test :: - * Unused. - * - * bit_set :: - * Unused. - * - * user :: - * User-supplied data that is passed to each drawing callback. - * - * clip_box :: - * An optional clipping box. It is only used in direct rendering mode. - * Note that coordinates here should be expressed in _integer_ pixels - * (and not in 26.6 fixed-point units). - * - * @note: - * An anti-aliased glyph bitmap is drawn if the @FT_RASTER_FLAG_AA bit - * flag is set in the `flags` field, otherwise a monochrome bitmap is - * generated. - * - * If the @FT_RASTER_FLAG_DIRECT bit flag is set in `flags`, the raster - * will call the `gray_spans` callback to draw gray pixel spans. This - * allows direct composition over a pre-existing bitmap through - * user-provided callbacks to perform the span drawing and composition. - * Not supported by the monochrome rasterizer. - */ - typedef struct FT_Raster_Params_ - { - const FT_Bitmap* target; - const void* source; - int flags; - FT_SpanFunc gray_spans; - FT_SpanFunc black_spans; /* unused */ - FT_Raster_BitTest_Func bit_test; /* unused */ - FT_Raster_BitSet_Func bit_set; /* unused */ - void* user; - FT_BBox clip_box; - - } FT_Raster_Params; - - - /************************************************************************** - * - * @functype: - * FT_Raster_NewFunc - * - * @description: - * A function used to create a new raster object. - * - * @input: - * memory :: - * A handle to the memory allocator. - * - * @output: - * raster :: - * A handle to the new raster object. - * - * @return: - * Error code. 0~means success. - * - * @note: - * The `memory` parameter is a typeless pointer in order to avoid - * un-wanted dependencies on the rest of the FreeType code. In practice, - * it is an @FT_Memory object, i.e., a handle to the standard FreeType - * memory allocator. However, this field can be completely ignored by a - * given raster implementation. - */ - typedef int - (*FT_Raster_NewFunc)( void* memory, - FT_Raster* raster ); - -#define FT_Raster_New_Func FT_Raster_NewFunc - - - /************************************************************************** - * - * @functype: - * FT_Raster_DoneFunc - * - * @description: - * A function used to destroy a given raster object. - * - * @input: - * raster :: - * A handle to the raster object. - */ - typedef void - (*FT_Raster_DoneFunc)( FT_Raster raster ); - -#define FT_Raster_Done_Func FT_Raster_DoneFunc - - - /************************************************************************** - * - * @functype: - * FT_Raster_ResetFunc - * - * @description: - * FreeType used to provide an area of memory called the 'render pool' - * available to all registered rasterizers. This was not thread safe, - * however, and now FreeType never allocates this pool. - * - * This function is called after a new raster object is created. - * - * @input: - * raster :: - * A handle to the new raster object. - * - * pool_base :: - * Previously, the address in memory of the render pool. Set this to - * `NULL`. - * - * pool_size :: - * Previously, the size in bytes of the render pool. Set this to 0. - * - * @note: - * Rasterizers should rely on dynamic or stack allocation if they want to - * (a handle to the memory allocator is passed to the rasterizer - * constructor). - */ - typedef void - (*FT_Raster_ResetFunc)( FT_Raster raster, - unsigned char* pool_base, - unsigned long pool_size ); - -#define FT_Raster_Reset_Func FT_Raster_ResetFunc - - - /************************************************************************** - * - * @functype: - * FT_Raster_SetModeFunc - * - * @description: - * This function is a generic facility to change modes or attributes in a - * given raster. This can be used for debugging purposes, or simply to - * allow implementation-specific 'features' in a given raster module. - * - * @input: - * raster :: - * A handle to the new raster object. - * - * mode :: - * A 4-byte tag used to name the mode or property. - * - * args :: - * A pointer to the new mode/property to use. - */ - typedef int - (*FT_Raster_SetModeFunc)( FT_Raster raster, - unsigned long mode, - void* args ); - -#define FT_Raster_Set_Mode_Func FT_Raster_SetModeFunc - - - /************************************************************************** - * - * @functype: - * FT_Raster_RenderFunc - * - * @description: - * Invoke a given raster to scan-convert a given glyph image into a - * target bitmap. - * - * @input: - * raster :: - * A handle to the raster object. - * - * params :: - * A pointer to an @FT_Raster_Params structure used to store the - * rendering parameters. - * - * @return: - * Error code. 0~means success. - * - * @note: - * The exact format of the source image depends on the raster's glyph - * format defined in its @FT_Raster_Funcs structure. It can be an - * @FT_Outline or anything else in order to support a large array of - * glyph formats. - * - * Note also that the render function can fail and return a - * `FT_Err_Unimplemented_Feature` error code if the raster used does not - * support direct composition. - */ - typedef int - (*FT_Raster_RenderFunc)( FT_Raster raster, - const FT_Raster_Params* params ); - -#define FT_Raster_Render_Func FT_Raster_RenderFunc - - - /************************************************************************** - * - * @struct: - * FT_Raster_Funcs - * - * @description: - * A structure used to describe a given raster class to the library. - * - * @fields: - * glyph_format :: - * The supported glyph format for this raster. - * - * raster_new :: - * The raster constructor. - * - * raster_reset :: - * Used to reset the render pool within the raster. - * - * raster_render :: - * A function to render a glyph into a given bitmap. - * - * raster_done :: - * The raster destructor. - */ - typedef struct FT_Raster_Funcs_ - { - FT_Glyph_Format glyph_format; - - FT_Raster_NewFunc raster_new; - FT_Raster_ResetFunc raster_reset; - FT_Raster_SetModeFunc raster_set_mode; - FT_Raster_RenderFunc raster_render; - FT_Raster_DoneFunc raster_done; - - } FT_Raster_Funcs; - - /* */ - - -FT_END_HEADER - -#endif /* FTIMAGE_H_ */ - - -/* END */ - - -/* Local Variables: */ -/* coding: utf-8 */ -/* End: */ diff --git a/FreeType/include/freetype/ftincrem.h b/FreeType/include/freetype/ftincrem.h deleted file mode 100644 index a4db02b..0000000 --- a/FreeType/include/freetype/ftincrem.h +++ /dev/null @@ -1,344 +0,0 @@ -/**************************************************************************** - * - * ftincrem.h - * - * FreeType incremental loading (specification). - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTINCREM_H_ -#define FTINCREM_H_ - -#include -#include FT_FREETYPE_H -#include FT_PARAMETER_TAGS_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - /************************************************************************** - * - * @section: - * incremental - * - * @title: - * Incremental Loading - * - * @abstract: - * Custom Glyph Loading. - * - * @description: - * This section contains various functions used to perform so-called - * 'incremental' glyph loading. This is a mode where all glyphs loaded - * from a given @FT_Face are provided by the client application. - * - * Apart from that, all other tables are loaded normally from the font - * file. This mode is useful when FreeType is used within another - * engine, e.g., a PostScript Imaging Processor. - * - * To enable this mode, you must use @FT_Open_Face, passing an - * @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an - * @FT_Incremental_Interface value. See the comments for - * @FT_Incremental_InterfaceRec for an example. - * - */ - - - /************************************************************************** - * - * @type: - * FT_Incremental - * - * @description: - * An opaque type describing a user-provided object used to implement - * 'incremental' glyph loading within FreeType. This is used to support - * embedded fonts in certain environments (e.g., PostScript - * interpreters), where the glyph data isn't in the font file, or must be - * overridden by different values. - * - * @note: - * It is up to client applications to create and implement - * @FT_Incremental objects, as long as they provide implementations for - * the methods @FT_Incremental_GetGlyphDataFunc, - * @FT_Incremental_FreeGlyphDataFunc and - * @FT_Incremental_GetGlyphMetricsFunc. - * - * See the description of @FT_Incremental_InterfaceRec to understand how - * to use incremental objects with FreeType. - * - */ - typedef struct FT_IncrementalRec_* FT_Incremental; - - - /************************************************************************** - * - * @struct: - * FT_Incremental_MetricsRec - * - * @description: - * A small structure used to contain the basic glyph metrics returned by - * the @FT_Incremental_GetGlyphMetricsFunc method. - * - * @fields: - * bearing_x :: - * Left bearing, in font units. - * - * bearing_y :: - * Top bearing, in font units. - * - * advance :: - * Horizontal component of glyph advance, in font units. - * - * advance_v :: - * Vertical component of glyph advance, in font units. - * - * @note: - * These correspond to horizontal or vertical metrics depending on the - * value of the `vertical` argument to the function - * @FT_Incremental_GetGlyphMetricsFunc. - * - */ - typedef struct FT_Incremental_MetricsRec_ - { - FT_Long bearing_x; - FT_Long bearing_y; - FT_Long advance; - FT_Long advance_v; /* since 2.3.12 */ - - } FT_Incremental_MetricsRec; - - - /************************************************************************** - * - * @struct: - * FT_Incremental_Metrics - * - * @description: - * A handle to an @FT_Incremental_MetricsRec structure. - * - */ - typedef struct FT_Incremental_MetricsRec_* FT_Incremental_Metrics; - - - /************************************************************************** - * - * @type: - * FT_Incremental_GetGlyphDataFunc - * - * @description: - * A function called by FreeType to access a given glyph's data bytes - * during @FT_Load_Glyph or @FT_Load_Char if incremental loading is - * enabled. - * - * Note that the format of the glyph's data bytes depends on the font - * file format. For TrueType, it must correspond to the raw bytes within - * the 'glyf' table. For PostScript formats, it must correspond to the - * **unencrypted** charstring bytes, without any `lenIV` header. It is - * undefined for any other format. - * - * @input: - * incremental :: - * Handle to an opaque @FT_Incremental handle provided by the client - * application. - * - * glyph_index :: - * Index of relevant glyph. - * - * @output: - * adata :: - * A structure describing the returned glyph data bytes (which will be - * accessed as a read-only byte block). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If this function returns successfully the method - * @FT_Incremental_FreeGlyphDataFunc will be called later to release the - * data bytes. - * - * Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for - * compound glyphs. - * - */ - typedef FT_Error - (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental incremental, - FT_UInt glyph_index, - FT_Data* adata ); - - - /************************************************************************** - * - * @type: - * FT_Incremental_FreeGlyphDataFunc - * - * @description: - * A function used to release the glyph data bytes returned by a - * successful call to @FT_Incremental_GetGlyphDataFunc. - * - * @input: - * incremental :: - * A handle to an opaque @FT_Incremental handle provided by the client - * application. - * - * data :: - * A structure describing the glyph data bytes (which will be accessed - * as a read-only byte block). - * - */ - typedef void - (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental incremental, - FT_Data* data ); - - - /************************************************************************** - * - * @type: - * FT_Incremental_GetGlyphMetricsFunc - * - * @description: - * A function used to retrieve the basic metrics of a given glyph index - * before accessing its data. This is necessary because, in certain - * formats like TrueType, the metrics are stored in a different place - * from the glyph images proper. - * - * @input: - * incremental :: - * A handle to an opaque @FT_Incremental handle provided by the client - * application. - * - * glyph_index :: - * Index of relevant glyph. - * - * vertical :: - * If true, return vertical metrics. - * - * ametrics :: - * This parameter is used for both input and output. The original - * glyph metrics, if any, in font units. If metrics are not available - * all the values must be set to zero. - * - * @output: - * ametrics :: - * The replacement glyph metrics in font units. - * - */ - typedef FT_Error - (*FT_Incremental_GetGlyphMetricsFunc) - ( FT_Incremental incremental, - FT_UInt glyph_index, - FT_Bool vertical, - FT_Incremental_MetricsRec *ametrics ); - - - /************************************************************************** - * - * @struct: - * FT_Incremental_FuncsRec - * - * @description: - * A table of functions for accessing fonts that load data incrementally. - * Used in @FT_Incremental_InterfaceRec. - * - * @fields: - * get_glyph_data :: - * The function to get glyph data. Must not be null. - * - * free_glyph_data :: - * The function to release glyph data. Must not be null. - * - * get_glyph_metrics :: - * The function to get glyph metrics. May be null if the font does not - * provide overriding glyph metrics. - * - */ - typedef struct FT_Incremental_FuncsRec_ - { - FT_Incremental_GetGlyphDataFunc get_glyph_data; - FT_Incremental_FreeGlyphDataFunc free_glyph_data; - FT_Incremental_GetGlyphMetricsFunc get_glyph_metrics; - - } FT_Incremental_FuncsRec; - - - /************************************************************************** - * - * @struct: - * FT_Incremental_InterfaceRec - * - * @description: - * A structure to be used with @FT_Open_Face to indicate that the user - * wants to support incremental glyph loading. You should use it with - * @FT_PARAM_TAG_INCREMENTAL as in the following example: - * - * ``` - * FT_Incremental_InterfaceRec inc_int; - * FT_Parameter parameter; - * FT_Open_Args open_args; - * - * - * // set up incremental descriptor - * inc_int.funcs = my_funcs; - * inc_int.object = my_object; - * - * // set up optional parameter - * parameter.tag = FT_PARAM_TAG_INCREMENTAL; - * parameter.data = &inc_int; - * - * // set up FT_Open_Args structure - * open_args.flags = FT_OPEN_PATHNAME | FT_OPEN_PARAMS; - * open_args.pathname = my_font_pathname; - * open_args.num_params = 1; - * open_args.params = ¶meter; // we use one optional argument - * - * // open the font - * error = FT_Open_Face( library, &open_args, index, &face ); - * ... - * ``` - * - */ - typedef struct FT_Incremental_InterfaceRec_ - { - const FT_Incremental_FuncsRec* funcs; - FT_Incremental object; - - } FT_Incremental_InterfaceRec; - - - /************************************************************************** - * - * @type: - * FT_Incremental_Interface - * - * @description: - * A pointer to an @FT_Incremental_InterfaceRec structure. - * - */ - typedef FT_Incremental_InterfaceRec* FT_Incremental_Interface; - - - /* */ - - -FT_END_HEADER - -#endif /* FTINCREM_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftlcdfil.h b/FreeType/include/freetype/ftlcdfil.h deleted file mode 100644 index 3a19d04..0000000 --- a/FreeType/include/freetype/ftlcdfil.h +++ /dev/null @@ -1,328 +0,0 @@ -/**************************************************************************** - * - * ftlcdfil.h - * - * FreeType API for color filtering of subpixel bitmap glyphs - * (specification). - * - * Copyright (C) 2006-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTLCDFIL_H_ -#define FTLCDFIL_H_ - -#include -#include FT_FREETYPE_H -#include FT_PARAMETER_TAGS_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - /************************************************************************** - * - * @section: - * lcd_rendering - * - * @title: - * Subpixel Rendering - * - * @abstract: - * API to control subpixel rendering. - * - * @description: - * FreeType provides two alternative subpixel rendering technologies. - * Should you define `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` in your - * `ftoption.h` file, this enables patented ClearType-style rendering. - * Otherwise, Harmony LCD rendering is enabled. These technologies are - * controlled differently and API described below, although always - * available, performs its function when appropriate method is enabled - * and does nothing otherwise. - * - * ClearType-style LCD rendering exploits the color-striped structure of - * LCD pixels, increasing the available resolution in the direction of - * the stripe (usually horizontal RGB) by a factor of~3. Using the - * subpixels coverages unfiltered can create severe color fringes - * especially when rendering thin features. Indeed, to produce - * black-on-white text, the nearby color subpixels must be dimmed - * equally. - * - * A good 5-tap FIR filter should be applied to subpixel coverages - * regardless of pixel boundaries and should have these properties: - * - * 1. It should be symmetrical, like {~a, b, c, b, a~}, to avoid - * any shifts in appearance. - * - * 2. It should be color-balanced, meaning a~+ b~=~c, to reduce color - * fringes by distributing the computed coverage for one subpixel to - * all subpixels equally. - * - * 3. It should be normalized, meaning 2a~+ 2b~+ c~=~1.0 to maintain - * overall brightness. - * - * Boxy 3-tap filter {0, 1/3, 1/3, 1/3, 0} is sharper but is less - * forgiving of non-ideal gamma curves of a screen (and viewing angles), - * beveled filters are fuzzier but more tolerant. - * - * Use the @FT_Library_SetLcdFilter or @FT_Library_SetLcdFilterWeights - * API to specify a low-pass filter, which is then applied to - * subpixel-rendered bitmaps generated through @FT_Render_Glyph. - * - * Harmony LCD rendering is suitable to panels with any regular subpixel - * structure, not just monitors with 3 color striped subpixels, as long - * as the color subpixels have fixed positions relative to the pixel - * center. In this case, each color channel is then rendered separately - * after shifting the outline opposite to the subpixel shift so that the - * coverage maps are aligned. This method is immune to color fringes - * because the shifts do not change integral coverage. - * - * The subpixel geometry must be specified by xy-coordinates for each - * subpixel. By convention they may come in the RGB order: {{-1/3, 0}, - * {0, 0}, {1/3, 0}} for standard RGB striped panel or {{-1/6, 1/4}, - * {-1/6, -1/4}, {1/3, 0}} for a certain PenTile panel. - * - * Use the @FT_Library_SetLcdGeometry API to specify subpixel positions. - * If one follows the RGB order convention, the same order applies to the - * resulting @FT_PIXEL_MODE_LCD and @FT_PIXEL_MODE_LCD_V bitmaps. Note, - * however, that the coordinate frame for the latter must be rotated - * clockwise. Harmony with default LCD geometry is equivalent to - * ClearType with light filter. - * - * As a result of ClearType filtering or Harmony rendering, the - * dimensions of LCD bitmaps can be either wider or taller than the - * dimensions of the corresponding outline with regard to the pixel grid. - * For example, for @FT_RENDER_MODE_LCD, the filter adds 2~subpixels to - * the left, and 2~subpixels to the right. The bitmap offset values are - * adjusted accordingly, so clients shouldn't need to modify their layout - * and glyph positioning code when enabling the filter. - * - * The ClearType and Harmony rendering is applicable to glyph bitmaps - * rendered through @FT_Render_Glyph, @FT_Load_Glyph, @FT_Load_Char, and - * @FT_Glyph_To_Bitmap, when @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V - * is specified. This API does not control @FT_Outline_Render and - * @FT_Outline_Get_Bitmap. - * - * The described algorithms can completely remove color artefacts when - * combined with gamma-corrected alpha blending in linear space. Each of - * the 3~alpha values (subpixels) must by independently used to blend one - * color channel. That is, red alpha blends the red channel of the text - * color with the red channel of the background pixel. - */ - - - /************************************************************************** - * - * @enum: - * FT_LcdFilter - * - * @description: - * A list of values to identify various types of LCD filters. - * - * @values: - * FT_LCD_FILTER_NONE :: - * Do not perform filtering. When used with subpixel rendering, this - * results in sometimes severe color fringes. - * - * FT_LCD_FILTER_DEFAULT :: - * This is a beveled, normalized, and color-balanced five-tap filter - * with weights of [0x08 0x4D 0x56 0x4D 0x08] in 1/256th units. - * - * FT_LCD_FILTER_LIGHT :: - * this is a boxy, normalized, and color-balanced three-tap filter with - * weights of [0x00 0x55 0x56 0x55 0x00] in 1/256th units. - * - * FT_LCD_FILTER_LEGACY :: - * FT_LCD_FILTER_LEGACY1 :: - * This filter corresponds to the original libXft color filter. It - * provides high contrast output but can exhibit really bad color - * fringes if glyphs are not extremely well hinted to the pixel grid. - * This filter is only provided for comparison purposes, and might be - * disabled or stay unsupported in the future. The second value is - * provided for compatibility with FontConfig, which historically used - * different enumeration, sometimes incorrectly forwarded to FreeType. - * - * @since: - * 2.3.0 (`FT_LCD_FILTER_LEGACY1` since 2.6.2) - */ - typedef enum FT_LcdFilter_ - { - FT_LCD_FILTER_NONE = 0, - FT_LCD_FILTER_DEFAULT = 1, - FT_LCD_FILTER_LIGHT = 2, - FT_LCD_FILTER_LEGACY1 = 3, - FT_LCD_FILTER_LEGACY = 16, - - FT_LCD_FILTER_MAX /* do not remove */ - - } FT_LcdFilter; - - - /************************************************************************** - * - * @function: - * FT_Library_SetLcdFilter - * - * @description: - * This function is used to apply color filtering to LCD decimated - * bitmaps, like the ones used when calling @FT_Render_Glyph with - * @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V. - * - * @input: - * library :: - * A handle to the target library instance. - * - * filter :: - * The filter type. - * - * You can use @FT_LCD_FILTER_NONE here to disable this feature, or - * @FT_LCD_FILTER_DEFAULT to use a default filter that should work well - * on most LCD screens. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This feature is always disabled by default. Clients must make an - * explicit call to this function with a `filter` value other than - * @FT_LCD_FILTER_NONE in order to enable it. - * - * Due to **PATENTS** covering subpixel rendering, this function doesn't - * do anything except returning `FT_Err_Unimplemented_Feature` if the - * configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is not - * defined in your build of the library, which should correspond to all - * default builds of FreeType. - * - * @since: - * 2.3.0 - */ - FT_EXPORT( FT_Error ) - FT_Library_SetLcdFilter( FT_Library library, - FT_LcdFilter filter ); - - - /************************************************************************** - * - * @function: - * FT_Library_SetLcdFilterWeights - * - * @description: - * This function can be used to enable LCD filter with custom weights, - * instead of using presets in @FT_Library_SetLcdFilter. - * - * @input: - * library :: - * A handle to the target library instance. - * - * weights :: - * A pointer to an array; the function copies the first five bytes and - * uses them to specify the filter weights in 1/256th units. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Due to **PATENTS** covering subpixel rendering, this function doesn't - * do anything except returning `FT_Err_Unimplemented_Feature` if the - * configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is not - * defined in your build of the library, which should correspond to all - * default builds of FreeType. - * - * LCD filter weights can also be set per face using @FT_Face_Properties - * with @FT_PARAM_TAG_LCD_FILTER_WEIGHTS. - * - * @since: - * 2.4.0 - */ - FT_EXPORT( FT_Error ) - FT_Library_SetLcdFilterWeights( FT_Library library, - unsigned char *weights ); - - - /************************************************************************** - * - * @type: - * FT_LcdFiveTapFilter - * - * @description: - * A typedef for passing the five LCD filter weights to - * @FT_Face_Properties within an @FT_Parameter structure. - * - * @since: - * 2.8 - * - */ -#define FT_LCD_FILTER_FIVE_TAPS 5 - - typedef FT_Byte FT_LcdFiveTapFilter[FT_LCD_FILTER_FIVE_TAPS]; - - - /************************************************************************** - * - * @function: - * FT_Library_SetLcdGeometry - * - * @description: - * This function can be used to modify default positions of color - * subpixels, which controls Harmony LCD rendering. - * - * @input: - * library :: - * A handle to the target library instance. - * - * sub :: - * A pointer to an array of 3 vectors in 26.6 fractional pixel format; - * the function modifies the default values, see the note below. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Subpixel geometry examples: - * - * - {{-21, 0}, {0, 0}, {21, 0}} is the default, corresponding to 3 color - * stripes shifted by a third of a pixel. This could be an RGB panel. - * - * - {{21, 0}, {0, 0}, {-21, 0}} looks the same as the default but can - * specify a BGR panel instead, while keeping the bitmap in the same - * RGB888 format. - * - * - {{0, 21}, {0, 0}, {0, -21}} is the vertical RGB, but the bitmap - * stays RGB888 as a result. - * - * - {{-11, 16}, {-11, -16}, {22, 0}} is a certain PenTile arrangement. - * - * This function does nothing and returns `FT_Err_Unimplemented_Feature` - * in the context of ClearType-style subpixel rendering when - * `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is defined in your build of the - * library. - * - * @since: - * 2.10.0 - */ - FT_EXPORT( FT_Error ) - FT_Library_SetLcdGeometry( FT_Library library, - FT_Vector sub[3] ); - - /* */ - - -FT_END_HEADER - -#endif /* FTLCDFIL_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftlist.h b/FreeType/include/freetype/ftlist.h deleted file mode 100644 index 4782892..0000000 --- a/FreeType/include/freetype/ftlist.h +++ /dev/null @@ -1,297 +0,0 @@ -/**************************************************************************** - * - * ftlist.h - * - * Generic list support for FreeType (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * This file implements functions relative to list processing. Its data - * structures are defined in `freetype.h`. - * - */ - - -#ifndef FTLIST_H_ -#define FTLIST_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * list_processing - * - * @title: - * List Processing - * - * @abstract: - * Simple management of lists. - * - * @description: - * This section contains various definitions related to list processing - * using doubly-linked nodes. - * - * @order: - * FT_List - * FT_ListNode - * FT_ListRec - * FT_ListNodeRec - * - * FT_List_Add - * FT_List_Insert - * FT_List_Find - * FT_List_Remove - * FT_List_Up - * FT_List_Iterate - * FT_List_Iterator - * FT_List_Finalize - * FT_List_Destructor - * - */ - - - /************************************************************************** - * - * @function: - * FT_List_Find - * - * @description: - * Find the list node for a given listed object. - * - * @input: - * list :: - * A pointer to the parent list. - * data :: - * The address of the listed object. - * - * @return: - * List node. `NULL` if it wasn't found. - */ - FT_EXPORT( FT_ListNode ) - FT_List_Find( FT_List list, - void* data ); - - - /************************************************************************** - * - * @function: - * FT_List_Add - * - * @description: - * Append an element to the end of a list. - * - * @inout: - * list :: - * A pointer to the parent list. - * node :: - * The node to append. - */ - FT_EXPORT( void ) - FT_List_Add( FT_List list, - FT_ListNode node ); - - - /************************************************************************** - * - * @function: - * FT_List_Insert - * - * @description: - * Insert an element at the head of a list. - * - * @inout: - * list :: - * A pointer to parent list. - * node :: - * The node to insert. - */ - FT_EXPORT( void ) - FT_List_Insert( FT_List list, - FT_ListNode node ); - - - /************************************************************************** - * - * @function: - * FT_List_Remove - * - * @description: - * Remove a node from a list. This function doesn't check whether the - * node is in the list! - * - * @input: - * node :: - * The node to remove. - * - * @inout: - * list :: - * A pointer to the parent list. - */ - FT_EXPORT( void ) - FT_List_Remove( FT_List list, - FT_ListNode node ); - - - /************************************************************************** - * - * @function: - * FT_List_Up - * - * @description: - * Move a node to the head/top of a list. Used to maintain LRU lists. - * - * @inout: - * list :: - * A pointer to the parent list. - * node :: - * The node to move. - */ - FT_EXPORT( void ) - FT_List_Up( FT_List list, - FT_ListNode node ); - - - /************************************************************************** - * - * @functype: - * FT_List_Iterator - * - * @description: - * An FT_List iterator function that is called during a list parse by - * @FT_List_Iterate. - * - * @input: - * node :: - * The current iteration list node. - * - * user :: - * A typeless pointer passed to @FT_List_Iterate. Can be used to point - * to the iteration's state. - */ - typedef FT_Error - (*FT_List_Iterator)( FT_ListNode node, - void* user ); - - - /************************************************************************** - * - * @function: - * FT_List_Iterate - * - * @description: - * Parse a list and calls a given iterator function on each element. - * Note that parsing is stopped as soon as one of the iterator calls - * returns a non-zero value. - * - * @input: - * list :: - * A handle to the list. - * iterator :: - * An iterator function, called on each node of the list. - * user :: - * A user-supplied field that is passed as the second argument to the - * iterator. - * - * @return: - * The result (a FreeType error code) of the last iterator call. - */ - FT_EXPORT( FT_Error ) - FT_List_Iterate( FT_List list, - FT_List_Iterator iterator, - void* user ); - - - /************************************************************************** - * - * @functype: - * FT_List_Destructor - * - * @description: - * An @FT_List iterator function that is called during a list - * finalization by @FT_List_Finalize to destroy all elements in a given - * list. - * - * @input: - * system :: - * The current system object. - * - * data :: - * The current object to destroy. - * - * user :: - * A typeless pointer passed to @FT_List_Iterate. It can be used to - * point to the iteration's state. - */ - typedef void - (*FT_List_Destructor)( FT_Memory memory, - void* data, - void* user ); - - - /************************************************************************** - * - * @function: - * FT_List_Finalize - * - * @description: - * Destroy all elements in the list as well as the list itself. - * - * @input: - * list :: - * A handle to the list. - * - * destroy :: - * A list destructor that will be applied to each element of the list. - * Set this to `NULL` if not needed. - * - * memory :: - * The current memory object that handles deallocation. - * - * user :: - * A user-supplied field that is passed as the last argument to the - * destructor. - * - * @note: - * This function expects that all nodes added by @FT_List_Add or - * @FT_List_Insert have been dynamically allocated. - */ - FT_EXPORT( void ) - FT_List_Finalize( FT_List list, - FT_List_Destructor destroy, - FT_Memory memory, - void* user ); - - /* */ - - -FT_END_HEADER - -#endif /* FTLIST_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftlzw.h b/FreeType/include/freetype/ftlzw.h deleted file mode 100644 index fd22968..0000000 --- a/FreeType/include/freetype/ftlzw.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - * - * ftlzw.h - * - * LZW-compressed stream support. - * - * Copyright (C) 2004-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTLZW_H_ -#define FTLZW_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - /************************************************************************** - * - * @section: - * lzw - * - * @title: - * LZW Streams - * - * @abstract: - * Using LZW-compressed font files. - * - * @description: - * This section contains the declaration of LZW-specific functions. - * - */ - - /************************************************************************** - * - * @function: - * FT_Stream_OpenLZW - * - * @description: - * Open a new stream to parse LZW-compressed font files. This is mainly - * used to support the compressed `*.pcf.Z` fonts that come with XFree86. - * - * @input: - * stream :: - * The target embedding stream. - * - * source :: - * The source stream. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The source stream must be opened _before_ calling this function. - * - * Calling the internal function `FT_Stream_Close` on the new stream will - * **not** call `FT_Stream_Close` on the source stream. None of the - * stream objects will be released to the heap. - * - * The stream implementation is very basic and resets the decompression - * process each time seeking backwards is needed within the stream - * - * In certain builds of the library, LZW compression recognition is - * automatically handled when calling @FT_New_Face or @FT_Open_Face. - * This means that if no font driver is capable of handling the raw - * compressed file, the library will try to open a LZW stream from it and - * re-open the face with it. - * - * This function may return `FT_Err_Unimplemented_Feature` if your build - * of FreeType was not compiled with LZW support. - */ - FT_EXPORT( FT_Error ) - FT_Stream_OpenLZW( FT_Stream stream, - FT_Stream source ); - - /* */ - - -FT_END_HEADER - -#endif /* FTLZW_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftmac.h b/FreeType/include/freetype/ftmac.h deleted file mode 100644 index 92b9f3d..0000000 --- a/FreeType/include/freetype/ftmac.h +++ /dev/null @@ -1,290 +0,0 @@ -/**************************************************************************** - * - * ftmac.h - * - * Additional Mac-specific API. - * - * Copyright (C) 1996-2019 by - * Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -/**************************************************************************** - * - * NOTE: Include this file after `FT_FREETYPE_H` and after any - * Mac-specific headers (because this header uses Mac types such as - * 'Handle', 'FSSpec', 'FSRef', etc.) - * - */ - - -#ifndef FTMAC_H_ -#define FTMAC_H_ - - -#include - - -FT_BEGIN_HEADER - - - /* gcc-3.1 and later can warn about functions tagged as deprecated */ -#ifndef FT_DEPRECATED_ATTRIBUTE -#if defined( __GNUC__ ) && \ - ( ( __GNUC__ >= 4 ) || \ - ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) ) -#define FT_DEPRECATED_ATTRIBUTE __attribute__(( deprecated )) -#else -#define FT_DEPRECATED_ATTRIBUTE -#endif -#endif - - - /************************************************************************** - * - * @section: - * mac_specific - * - * @title: - * Mac Specific Interface - * - * @abstract: - * Only available on the Macintosh. - * - * @description: - * The following definitions are only available if FreeType is compiled - * on a Macintosh. - * - */ - - - /************************************************************************** - * - * @function: - * FT_New_Face_From_FOND - * - * @description: - * Create a new face object from a FOND resource. - * - * @inout: - * library :: - * A handle to the library resource. - * - * @input: - * fond :: - * A FOND resource. - * - * face_index :: - * Only supported for the -1 'sanity check' special case. - * - * @output: - * aface :: - * A handle to a new face object. - * - * @return: - * FreeType error code. 0~means success. - * - * @example: - * This function can be used to create @FT_Face objects from fonts that - * are installed in the system as follows. - * - * ``` - * fond = GetResource( 'FOND', fontName ); - * error = FT_New_Face_From_FOND( library, fond, 0, &face ); - * ``` - */ - FT_EXPORT( FT_Error ) - FT_New_Face_From_FOND( FT_Library library, - Handle fond, - FT_Long face_index, - FT_Face *aface ) - FT_DEPRECATED_ATTRIBUTE; - - - /************************************************************************** - * - * @function: - * FT_GetFile_From_Mac_Name - * - * @description: - * Return an FSSpec for the disk file containing the named font. - * - * @input: - * fontName :: - * Mac OS name of the font (e.g., Times New Roman Bold). - * - * @output: - * pathSpec :: - * FSSpec to the file. For passing to @FT_New_Face_From_FSSpec. - * - * face_index :: - * Index of the face. For passing to @FT_New_Face_From_FSSpec. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_GetFile_From_Mac_Name( const char* fontName, - FSSpec* pathSpec, - FT_Long* face_index ) - FT_DEPRECATED_ATTRIBUTE; - - - /************************************************************************** - * - * @function: - * FT_GetFile_From_Mac_ATS_Name - * - * @description: - * Return an FSSpec for the disk file containing the named font. - * - * @input: - * fontName :: - * Mac OS name of the font in ATS framework. - * - * @output: - * pathSpec :: - * FSSpec to the file. For passing to @FT_New_Face_From_FSSpec. - * - * face_index :: - * Index of the face. For passing to @FT_New_Face_From_FSSpec. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_GetFile_From_Mac_ATS_Name( const char* fontName, - FSSpec* pathSpec, - FT_Long* face_index ) - FT_DEPRECATED_ATTRIBUTE; - - - /************************************************************************** - * - * @function: - * FT_GetFilePath_From_Mac_ATS_Name - * - * @description: - * Return a pathname of the disk file and face index for given font name - * that is handled by ATS framework. - * - * @input: - * fontName :: - * Mac OS name of the font in ATS framework. - * - * @output: - * path :: - * Buffer to store pathname of the file. For passing to @FT_New_Face. - * The client must allocate this buffer before calling this function. - * - * maxPathSize :: - * Lengths of the buffer `path` that client allocated. - * - * face_index :: - * Index of the face. For passing to @FT_New_Face. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_GetFilePath_From_Mac_ATS_Name( const char* fontName, - UInt8* path, - UInt32 maxPathSize, - FT_Long* face_index ) - FT_DEPRECATED_ATTRIBUTE; - - - /************************************************************************** - * - * @function: - * FT_New_Face_From_FSSpec - * - * @description: - * Create a new face object from a given resource and typeface index - * using an FSSpec to the font file. - * - * @inout: - * library :: - * A handle to the library resource. - * - * @input: - * spec :: - * FSSpec to the font file. - * - * face_index :: - * The index of the face within the resource. The first face has - * index~0. - * @output: - * aface :: - * A handle to a new face object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * @FT_New_Face_From_FSSpec is identical to @FT_New_Face except it - * accepts an FSSpec instead of a path. - */ - FT_EXPORT( FT_Error ) - FT_New_Face_From_FSSpec( FT_Library library, - const FSSpec *spec, - FT_Long face_index, - FT_Face *aface ) - FT_DEPRECATED_ATTRIBUTE; - - - /************************************************************************** - * - * @function: - * FT_New_Face_From_FSRef - * - * @description: - * Create a new face object from a given resource and typeface index - * using an FSRef to the font file. - * - * @inout: - * library :: - * A handle to the library resource. - * - * @input: - * spec :: - * FSRef to the font file. - * - * face_index :: - * The index of the face within the resource. The first face has - * index~0. - * @output: - * aface :: - * A handle to a new face object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * @FT_New_Face_From_FSRef is identical to @FT_New_Face except it accepts - * an FSRef instead of a path. - */ - FT_EXPORT( FT_Error ) - FT_New_Face_From_FSRef( FT_Library library, - const FSRef *ref, - FT_Long face_index, - FT_Face *aface ) - FT_DEPRECATED_ATTRIBUTE; - - /* */ - - -FT_END_HEADER - - -#endif /* FTMAC_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftmm.h b/FreeType/include/freetype/ftmm.h deleted file mode 100644 index f2e16b6..0000000 --- a/FreeType/include/freetype/ftmm.h +++ /dev/null @@ -1,753 +0,0 @@ -/**************************************************************************** - * - * ftmm.h - * - * FreeType Multiple Master font interface (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTMM_H_ -#define FTMM_H_ - - -#include -#include FT_TYPE1_TABLES_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * multiple_masters - * - * @title: - * Multiple Masters - * - * @abstract: - * How to manage Multiple Masters fonts. - * - * @description: - * The following types and functions are used to manage Multiple Master - * fonts, i.e., the selection of specific design instances by setting - * design axis coordinates. - * - * Besides Adobe MM fonts, the interface supports Apple's TrueType GX and - * OpenType variation fonts. Some of the routines only work with Adobe - * MM fonts, others will work with all three types. They are similar - * enough that a consistent interface makes sense. - * - */ - - - /************************************************************************** - * - * @struct: - * FT_MM_Axis - * - * @description: - * A structure to model a given axis in design space for Multiple Masters - * fonts. - * - * This structure can't be used for TrueType GX or OpenType variation - * fonts. - * - * @fields: - * name :: - * The axis's name. - * - * minimum :: - * The axis's minimum design coordinate. - * - * maximum :: - * The axis's maximum design coordinate. - */ - typedef struct FT_MM_Axis_ - { - FT_String* name; - FT_Long minimum; - FT_Long maximum; - - } FT_MM_Axis; - - - /************************************************************************** - * - * @struct: - * FT_Multi_Master - * - * @description: - * A structure to model the axes and space of a Multiple Masters font. - * - * This structure can't be used for TrueType GX or OpenType variation - * fonts. - * - * @fields: - * num_axis :: - * Number of axes. Cannot exceed~4. - * - * num_designs :: - * Number of designs; should be normally 2^num_axis even though the - * Type~1 specification strangely allows for intermediate designs to be - * present. This number cannot exceed~16. - * - * axis :: - * A table of axis descriptors. - */ - typedef struct FT_Multi_Master_ - { - FT_UInt num_axis; - FT_UInt num_designs; - FT_MM_Axis axis[T1_MAX_MM_AXIS]; - - } FT_Multi_Master; - - - /************************************************************************** - * - * @struct: - * FT_Var_Axis - * - * @description: - * A structure to model a given axis in design space for Multiple - * Masters, TrueType GX, and OpenType variation fonts. - * - * @fields: - * name :: - * The axis's name. Not always meaningful for TrueType GX or OpenType - * variation fonts. - * - * minimum :: - * The axis's minimum design coordinate. - * - * def :: - * The axis's default design coordinate. FreeType computes meaningful - * default values for Adobe MM fonts. - * - * maximum :: - * The axis's maximum design coordinate. - * - * tag :: - * The axis's tag (the equivalent to 'name' for TrueType GX and - * OpenType variation fonts). FreeType provides default values for - * Adobe MM fonts if possible. - * - * strid :: - * The axis name entry in the font's 'name' table. This is another - * (and often better) version of the 'name' field for TrueType GX or - * OpenType variation fonts. Not meaningful for Adobe MM fonts. - * - * @note: - * The fields `minimum`, `def`, and `maximum` are 16.16 fractional values - * for TrueType GX and OpenType variation fonts. For Adobe MM fonts, the - * values are integers. - */ - typedef struct FT_Var_Axis_ - { - FT_String* name; - - FT_Fixed minimum; - FT_Fixed def; - FT_Fixed maximum; - - FT_ULong tag; - FT_UInt strid; - - } FT_Var_Axis; - - - /************************************************************************** - * - * @struct: - * FT_Var_Named_Style - * - * @description: - * A structure to model a named instance in a TrueType GX or OpenType - * variation font. - * - * This structure can't be used for Adobe MM fonts. - * - * @fields: - * coords :: - * The design coordinates for this instance. This is an array with one - * entry for each axis. - * - * strid :: - * The entry in 'name' table identifying this instance. - * - * psid :: - * The entry in 'name' table identifying a PostScript name for this - * instance. Value 0xFFFF indicates a missing entry. - */ - typedef struct FT_Var_Named_Style_ - { - FT_Fixed* coords; - FT_UInt strid; - FT_UInt psid; /* since 2.7.1 */ - - } FT_Var_Named_Style; - - - /************************************************************************** - * - * @struct: - * FT_MM_Var - * - * @description: - * A structure to model the axes and space of an Adobe MM, TrueType GX, - * or OpenType variation font. - * - * Some fields are specific to one format and not to the others. - * - * @fields: - * num_axis :: - * The number of axes. The maximum value is~4 for Adobe MM fonts; no - * limit in TrueType GX or OpenType variation fonts. - * - * num_designs :: - * The number of designs; should be normally 2^num_axis for Adobe MM - * fonts. Not meaningful for TrueType GX or OpenType variation fonts - * (where every glyph could have a different number of designs). - * - * num_namedstyles :: - * The number of named styles; a 'named style' is a tuple of design - * coordinates that has a string ID (in the 'name' table) associated - * with it. The font can tell the user that, for example, - * [Weight=1.5,Width=1.1] is 'Bold'. Another name for 'named style' is - * 'named instance'. - * - * For Adobe Multiple Masters fonts, this value is always zero because - * the format does not support named styles. - * - * axis :: - * An axis descriptor table. TrueType GX and OpenType variation fonts - * contain slightly more data than Adobe MM fonts. Memory management - * of this pointer is done internally by FreeType. - * - * namedstyle :: - * A named style (instance) table. Only meaningful for TrueType GX and - * OpenType variation fonts. Memory management of this pointer is done - * internally by FreeType. - */ - typedef struct FT_MM_Var_ - { - FT_UInt num_axis; - FT_UInt num_designs; - FT_UInt num_namedstyles; - FT_Var_Axis* axis; - FT_Var_Named_Style* namedstyle; - - } FT_MM_Var; - - - /************************************************************************** - * - * @function: - * FT_Get_Multi_Master - * - * @description: - * Retrieve a variation descriptor of a given Adobe MM font. - * - * This function can't be used with TrueType GX or OpenType variation - * fonts. - * - * @input: - * face :: - * A handle to the source face. - * - * @output: - * amaster :: - * The Multiple Masters descriptor. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Get_Multi_Master( FT_Face face, - FT_Multi_Master *amaster ); - - - /************************************************************************** - * - * @function: - * FT_Get_MM_Var - * - * @description: - * Retrieve a variation descriptor for a given font. - * - * This function works with all supported variation formats. - * - * @input: - * face :: - * A handle to the source face. - * - * @output: - * amaster :: - * The variation descriptor. Allocates a data structure, which the - * user must deallocate with a call to @FT_Done_MM_Var after use. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Get_MM_Var( FT_Face face, - FT_MM_Var* *amaster ); - - - /************************************************************************** - * - * @function: - * FT_Done_MM_Var - * - * @description: - * Free the memory allocated by @FT_Get_MM_Var. - * - * @input: - * library :: - * A handle of the face's parent library object that was used in the - * call to @FT_Get_MM_Var to create `amaster`. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Done_MM_Var( FT_Library library, - FT_MM_Var *amaster ); - - - /************************************************************************** - * - * @function: - * FT_Set_MM_Design_Coordinates - * - * @description: - * For Adobe MM fonts, choose an interpolated font design through design - * coordinates. - * - * This function can't be used with TrueType GX or OpenType variation - * fonts. - * - * @inout: - * face :: - * A handle to the source face. - * - * @input: - * num_coords :: - * The number of available design coordinates. If it is larger than - * the number of axes, ignore the excess values. If it is smaller than - * the number of axes, use default values for the remaining axes. - * - * coords :: - * An array of design coordinates. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * [Since 2.8.1] To reset all axes to the default values, call the - * function with `num_coords` set to zero and `coords` set to `NULL`. - * - * [Since 2.9] If `num_coords` is larger than zero, this function sets - * the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field - * (i.e., @FT_IS_VARIATION will return true). If `num_coords` is zero, - * this bit flag gets unset. - */ - FT_EXPORT( FT_Error ) - FT_Set_MM_Design_Coordinates( FT_Face face, - FT_UInt num_coords, - FT_Long* coords ); - - - /************************************************************************** - * - * @function: - * FT_Set_Var_Design_Coordinates - * - * @description: - * Choose an interpolated font design through design coordinates. - * - * This function works with all supported variation formats. - * - * @inout: - * face :: - * A handle to the source face. - * - * @input: - * num_coords :: - * The number of available design coordinates. If it is larger than - * the number of axes, ignore the excess values. If it is smaller than - * the number of axes, use default values for the remaining axes. - * - * coords :: - * An array of design coordinates. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * [Since 2.8.1] To reset all axes to the default values, call the - * function with `num_coords` set to zero and `coords` set to `NULL`. - * [Since 2.9] 'Default values' means the currently selected named - * instance (or the base font if no named instance is selected). - * - * [Since 2.9] If `num_coords` is larger than zero, this function sets - * the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field - * (i.e., @FT_IS_VARIATION will return true). If `num_coords` is zero, - * this bit flag gets unset. - */ - FT_EXPORT( FT_Error ) - FT_Set_Var_Design_Coordinates( FT_Face face, - FT_UInt num_coords, - FT_Fixed* coords ); - - - /************************************************************************** - * - * @function: - * FT_Get_Var_Design_Coordinates - * - * @description: - * Get the design coordinates of the currently selected interpolated - * font. - * - * This function works with all supported variation formats. - * - * @input: - * face :: - * A handle to the source face. - * - * num_coords :: - * The number of design coordinates to retrieve. If it is larger than - * the number of axes, set the excess values to~0. - * - * @output: - * coords :: - * The design coordinates array. - * - * @return: - * FreeType error code. 0~means success. - * - * @since: - * 2.7.1 - */ - FT_EXPORT( FT_Error ) - FT_Get_Var_Design_Coordinates( FT_Face face, - FT_UInt num_coords, - FT_Fixed* coords ); - - - /************************************************************************** - * - * @function: - * FT_Set_MM_Blend_Coordinates - * - * @description: - * Choose an interpolated font design through normalized blend - * coordinates. - * - * This function works with all supported variation formats. - * - * @inout: - * face :: - * A handle to the source face. - * - * @input: - * num_coords :: - * The number of available design coordinates. If it is larger than - * the number of axes, ignore the excess values. If it is smaller than - * the number of axes, use default values for the remaining axes. - * - * coords :: - * The design coordinates array (each element must be between 0 and 1.0 - * for Adobe MM fonts, and between -1.0 and 1.0 for TrueType GX and - * OpenType variation fonts). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * [Since 2.8.1] To reset all axes to the default values, call the - * function with `num_coords` set to zero and `coords` set to `NULL`. - * [Since 2.9] 'Default values' means the currently selected named - * instance (or the base font if no named instance is selected). - * - * [Since 2.9] If `num_coords` is larger than zero, this function sets - * the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field - * (i.e., @FT_IS_VARIATION will return true). If `num_coords` is zero, - * this bit flag gets unset. - */ - FT_EXPORT( FT_Error ) - FT_Set_MM_Blend_Coordinates( FT_Face face, - FT_UInt num_coords, - FT_Fixed* coords ); - - - /************************************************************************** - * - * @function: - * FT_Get_MM_Blend_Coordinates - * - * @description: - * Get the normalized blend coordinates of the currently selected - * interpolated font. - * - * This function works with all supported variation formats. - * - * @input: - * face :: - * A handle to the source face. - * - * num_coords :: - * The number of normalized blend coordinates to retrieve. If it is - * larger than the number of axes, set the excess values to~0.5 for - * Adobe MM fonts, and to~0 for TrueType GX and OpenType variation - * fonts. - * - * @output: - * coords :: - * The normalized blend coordinates array. - * - * @return: - * FreeType error code. 0~means success. - * - * @since: - * 2.7.1 - */ - FT_EXPORT( FT_Error ) - FT_Get_MM_Blend_Coordinates( FT_Face face, - FT_UInt num_coords, - FT_Fixed* coords ); - - - /************************************************************************** - * - * @function: - * FT_Set_Var_Blend_Coordinates - * - * @description: - * This is another name of @FT_Set_MM_Blend_Coordinates. - */ - FT_EXPORT( FT_Error ) - FT_Set_Var_Blend_Coordinates( FT_Face face, - FT_UInt num_coords, - FT_Fixed* coords ); - - - /************************************************************************** - * - * @function: - * FT_Get_Var_Blend_Coordinates - * - * @description: - * This is another name of @FT_Get_MM_Blend_Coordinates. - * - * @since: - * 2.7.1 - */ - FT_EXPORT( FT_Error ) - FT_Get_Var_Blend_Coordinates( FT_Face face, - FT_UInt num_coords, - FT_Fixed* coords ); - - - /************************************************************************** - * - * @function: - * FT_Set_MM_WeightVector - * - * @description: - * For Adobe MM fonts, choose an interpolated font design by directly - * setting the weight vector. - * - * This function can't be used with TrueType GX or OpenType variation - * fonts. - * - * @inout: - * face :: - * A handle to the source face. - * - * @input: - * len :: - * The length of the weight vector array. If it is larger than the - * number of designs, the extra values are ignored. If it is less than - * the number of designs, the remaining values are set to zero. - * - * weightvector :: - * An array representing the weight vector. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Adobe Multiple Master fonts limit the number of designs, and thus the - * length of the weight vector to~16. - * - * If `len` is zero and `weightvector` is `NULL`, the weight vector array - * is reset to the default values. - * - * The Adobe documentation also states that the values in the - * WeightVector array must total 1.0 +/-~0.001. In practice this does - * not seem to be enforced, so is not enforced here, either. - * - * @since: - * 2.10 - */ - FT_EXPORT( FT_Error ) - FT_Set_MM_WeightVector( FT_Face face, - FT_UInt len, - FT_Fixed* weightvector ); - - - /************************************************************************** - * - * @function: - * FT_Get_MM_WeightVector - * - * @description: - * For Adobe MM fonts, retrieve the current weight vector of the font. - * - * This function can't be used with TrueType GX or OpenType variation - * fonts. - * - * @inout: - * face :: - * A handle to the source face. - * - * len :: - * A pointer to the size of the array to be filled. If the size of the - * array is less than the number of designs, `FT_Err_Invalid_Argument` - * is returned, and `len` is set to the required size (the number of - * designs). If the size of the array is greater than the number of - * designs, the remaining entries are set to~0. On successful - * completion, `len` is set to the number of designs (i.e., the number - * of values written to the array). - * - * @output: - * weightvector :: - * An array to be filled. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * Adobe Multiple Master fonts limit the number of designs, and thus the - * length of the WeightVector to~16. - * - * @since: - * 2.10 - */ - FT_EXPORT( FT_Error ) - FT_Get_MM_WeightVector( FT_Face face, - FT_UInt* len, - FT_Fixed* weightvector ); - - - /************************************************************************** - * - * @enum: - * FT_VAR_AXIS_FLAG_XXX - * - * @description: - * A list of bit flags used in the return value of - * @FT_Get_Var_Axis_Flags. - * - * @values: - * FT_VAR_AXIS_FLAG_HIDDEN :: - * The variation axis should not be exposed to user interfaces. - * - * @since: - * 2.8.1 - */ -#define FT_VAR_AXIS_FLAG_HIDDEN 1 - - - /************************************************************************** - * - * @function: - * FT_Get_Var_Axis_Flags - * - * @description: - * Get the 'flags' field of an OpenType Variation Axis Record. - * - * Not meaningful for Adobe MM fonts (`*flags` is always zero). - * - * @input: - * master :: - * The variation descriptor. - * - * axis_index :: - * The index of the requested variation axis. - * - * @output: - * flags :: - * The 'flags' field. See @FT_VAR_AXIS_FLAG_XXX for possible values. - * - * @return: - * FreeType error code. 0~means success. - * - * @since: - * 2.8.1 - */ - FT_EXPORT( FT_Error ) - FT_Get_Var_Axis_Flags( FT_MM_Var* master, - FT_UInt axis_index, - FT_UInt* flags ); - - - /************************************************************************** - * - * @function: - * FT_Set_Named_Instance - * - * @description: - * Set or change the current named instance. - * - * @input: - * face :: - * A handle to the source face. - * - * instance_index :: - * The index of the requested instance, starting with value 1. If set - * to value 0, FreeType switches to font access without a named - * instance. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The function uses the value of `instance_index` to set bits 16-30 of - * the face's `face_index` field. It also resets any variation applied - * to the font, and the @FT_FACE_FLAG_VARIATION bit of the face's - * `face_flags` field gets reset to zero (i.e., @FT_IS_VARIATION will - * return false). - * - * For Adobe MM fonts (which don't have named instances) this function - * simply resets the current face to the default instance. - * - * @since: - * 2.9 - */ - FT_EXPORT( FT_Error ) - FT_Set_Named_Instance( FT_Face face, - FT_UInt instance_index ); - - /* */ - - -FT_END_HEADER - -#endif /* FTMM_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftmodapi.h b/FreeType/include/freetype/ftmodapi.h deleted file mode 100644 index 88488bf..0000000 --- a/FreeType/include/freetype/ftmodapi.h +++ /dev/null @@ -1,785 +0,0 @@ -/**************************************************************************** - * - * ftmodapi.h - * - * FreeType modules public interface (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTMODAPI_H_ -#define FTMODAPI_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * module_management - * - * @title: - * Module Management - * - * @abstract: - * How to add, upgrade, remove, and control modules from FreeType. - * - * @description: - * The definitions below are used to manage modules within FreeType. - * Modules can be added, upgraded, and removed at runtime. Additionally, - * some module properties can be controlled also. - * - * Here is a list of possible values of the `module_name` field in the - * @FT_Module_Class structure. - * - * ``` - * autofitter - * bdf - * cff - * gxvalid - * otvalid - * pcf - * pfr - * psaux - * pshinter - * psnames - * raster1 - * sfnt - * smooth, smooth-lcd, smooth-lcdv - * truetype - * type1 - * type42 - * t1cid - * winfonts - * ``` - * - * Note that the FreeType Cache sub-system is not a FreeType module. - * - * @order: - * FT_Module - * FT_Module_Constructor - * FT_Module_Destructor - * FT_Module_Requester - * FT_Module_Class - * - * FT_Add_Module - * FT_Get_Module - * FT_Remove_Module - * FT_Add_Default_Modules - * - * FT_Property_Set - * FT_Property_Get - * FT_Set_Default_Properties - * - * FT_New_Library - * FT_Done_Library - * FT_Reference_Library - * - * FT_Renderer - * FT_Renderer_Class - * - * FT_Get_Renderer - * FT_Set_Renderer - * - * FT_Set_Debug_Hook - * - */ - - - /* module bit flags */ -#define FT_MODULE_FONT_DRIVER 1 /* this module is a font driver */ -#define FT_MODULE_RENDERER 2 /* this module is a renderer */ -#define FT_MODULE_HINTER 4 /* this module is a glyph hinter */ -#define FT_MODULE_STYLER 8 /* this module is a styler */ - -#define FT_MODULE_DRIVER_SCALABLE 0x100 /* the driver supports */ - /* scalable fonts */ -#define FT_MODULE_DRIVER_NO_OUTLINES 0x200 /* the driver does not */ - /* support vector outlines */ -#define FT_MODULE_DRIVER_HAS_HINTER 0x400 /* the driver provides its */ - /* own hinter */ -#define FT_MODULE_DRIVER_HINTS_LIGHTLY 0x800 /* the driver's hinter */ - /* produces LIGHT hints */ - - - /* deprecated values */ -#define ft_module_font_driver FT_MODULE_FONT_DRIVER -#define ft_module_renderer FT_MODULE_RENDERER -#define ft_module_hinter FT_MODULE_HINTER -#define ft_module_styler FT_MODULE_STYLER - -#define ft_module_driver_scalable FT_MODULE_DRIVER_SCALABLE -#define ft_module_driver_no_outlines FT_MODULE_DRIVER_NO_OUTLINES -#define ft_module_driver_has_hinter FT_MODULE_DRIVER_HAS_HINTER -#define ft_module_driver_hints_lightly FT_MODULE_DRIVER_HINTS_LIGHTLY - - - typedef FT_Pointer FT_Module_Interface; - - - /************************************************************************** - * - * @functype: - * FT_Module_Constructor - * - * @description: - * A function used to initialize (not create) a new module object. - * - * @input: - * module :: - * The module to initialize. - */ - typedef FT_Error - (*FT_Module_Constructor)( FT_Module module ); - - - /************************************************************************** - * - * @functype: - * FT_Module_Destructor - * - * @description: - * A function used to finalize (not destroy) a given module object. - * - * @input: - * module :: - * The module to finalize. - */ - typedef void - (*FT_Module_Destructor)( FT_Module module ); - - - /************************************************************************** - * - * @functype: - * FT_Module_Requester - * - * @description: - * A function used to query a given module for a specific interface. - * - * @input: - * module :: - * The module to be searched. - * - * name :: - * The name of the interface in the module. - */ - typedef FT_Module_Interface - (*FT_Module_Requester)( FT_Module module, - const char* name ); - - - /************************************************************************** - * - * @struct: - * FT_Module_Class - * - * @description: - * The module class descriptor. While being a public structure necessary - * for FreeType's module bookkeeping, most of the fields are essentially - * internal, not to be used directly by an application. - * - * @fields: - * module_flags :: - * Bit flags describing the module. - * - * module_size :: - * The size of one module object/instance in bytes. - * - * module_name :: - * The name of the module. - * - * module_version :: - * The version, as a 16.16 fixed number (major.minor). - * - * module_requires :: - * The version of FreeType this module requires, as a 16.16 fixed - * number (major.minor). Starts at version 2.0, i.e., 0x20000. - * - * module_interface :: - * A typeless pointer to a structure (which varies between different - * modules) that holds the module's interface functions. This is - * essentially what `get_interface` returns. - * - * module_init :: - * The initializing function. - * - * module_done :: - * The finalizing function. - * - * get_interface :: - * The interface requesting function. - */ - typedef struct FT_Module_Class_ - { - FT_ULong module_flags; - FT_Long module_size; - const FT_String* module_name; - FT_Fixed module_version; - FT_Fixed module_requires; - - const void* module_interface; - - FT_Module_Constructor module_init; - FT_Module_Destructor module_done; - FT_Module_Requester get_interface; - - } FT_Module_Class; - - - /************************************************************************** - * - * @function: - * FT_Add_Module - * - * @description: - * Add a new module to a given library instance. - * - * @inout: - * library :: - * A handle to the library object. - * - * @input: - * clazz :: - * A pointer to class descriptor for the module. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * An error will be returned if a module already exists by that name, or - * if the module requires a version of FreeType that is too great. - */ - FT_EXPORT( FT_Error ) - FT_Add_Module( FT_Library library, - const FT_Module_Class* clazz ); - - - /************************************************************************** - * - * @function: - * FT_Get_Module - * - * @description: - * Find a module by its name. - * - * @input: - * library :: - * A handle to the library object. - * - * module_name :: - * The module's name (as an ASCII string). - * - * @return: - * A module handle. 0~if none was found. - * - * @note: - * FreeType's internal modules aren't documented very well, and you - * should look up the source code for details. - */ - FT_EXPORT( FT_Module ) - FT_Get_Module( FT_Library library, - const char* module_name ); - - - /************************************************************************** - * - * @function: - * FT_Remove_Module - * - * @description: - * Remove a given module from a library instance. - * - * @inout: - * library :: - * A handle to a library object. - * - * @input: - * module :: - * A handle to a module object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The module object is destroyed by the function in case of success. - */ - FT_EXPORT( FT_Error ) - FT_Remove_Module( FT_Library library, - FT_Module module ); - - - /************************************************************************** - * - * @function: - * FT_Property_Set - * - * @description: - * Set a property for a given module. - * - * @input: - * library :: - * A handle to the library the module is part of. - * - * module_name :: - * The module name. - * - * property_name :: - * The property name. Properties are described in section - * @properties. - * - * Note that only a few modules have properties. - * - * value :: - * A generic pointer to a variable or structure that gives the new - * value of the property. The exact definition of `value` is - * dependent on the property; see section @properties. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If `module_name` isn't a valid module name, or `property_name` - * doesn't specify a valid property, or if `value` doesn't represent a - * valid value for the given property, an error is returned. - * - * The following example sets property 'bar' (a simple integer) in - * module 'foo' to value~1. - * - * ``` - * FT_UInt bar; - * - * - * bar = 1; - * FT_Property_Set( library, "foo", "bar", &bar ); - * ``` - * - * Note that the FreeType Cache sub-system doesn't recognize module - * property changes. To avoid glyph lookup confusion within the cache - * you should call @FTC_Manager_Reset to completely flush the cache if a - * module property gets changed after @FTC_Manager_New has been called. - * - * It is not possible to set properties of the FreeType Cache sub-system - * itself with FT_Property_Set; use @FTC_Property_Set instead. - * - * @since: - * 2.4.11 - * - */ - FT_EXPORT( FT_Error ) - FT_Property_Set( FT_Library library, - const FT_String* module_name, - const FT_String* property_name, - const void* value ); - - - /************************************************************************** - * - * @function: - * FT_Property_Get - * - * @description: - * Get a module's property value. - * - * @input: - * library :: - * A handle to the library the module is part of. - * - * module_name :: - * The module name. - * - * property_name :: - * The property name. Properties are described in section - * @properties. - * - * @inout: - * value :: - * A generic pointer to a variable or structure that gives the value - * of the property. The exact definition of `value` is dependent on - * the property; see section @properties. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If `module_name` isn't a valid module name, or `property_name` - * doesn't specify a valid property, or if `value` doesn't represent a - * valid value for the given property, an error is returned. - * - * The following example gets property 'baz' (a range) in module 'foo'. - * - * ``` - * typedef range_ - * { - * FT_Int32 min; - * FT_Int32 max; - * - * } range; - * - * range baz; - * - * - * FT_Property_Get( library, "foo", "baz", &baz ); - * ``` - * - * It is not possible to retrieve properties of the FreeType Cache - * sub-system with FT_Property_Get; use @FTC_Property_Get instead. - * - * @since: - * 2.4.11 - * - */ - FT_EXPORT( FT_Error ) - FT_Property_Get( FT_Library library, - const FT_String* module_name, - const FT_String* property_name, - void* value ); - - - /************************************************************************** - * - * @function: - * FT_Set_Default_Properties - * - * @description: - * If compilation option `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES` is - * set, this function reads the `FREETYPE_PROPERTIES` environment - * variable to control driver properties. See section @properties for - * more. - * - * If the compilation option is not set, this function does nothing. - * - * `FREETYPE_PROPERTIES` has the following syntax form (broken here into - * multiple lines for better readability). - * - * ``` - * - * ':' - * '=' - * - * ':' - * '=' - * ... - * ``` - * - * Example: - * - * ``` - * FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ - * cff:no-stem-darkening=1 \ - * autofitter:warping=1 - * ``` - * - * @inout: - * library :: - * A handle to a new library object. - * - * @since: - * 2.8 - */ - FT_EXPORT( void ) - FT_Set_Default_Properties( FT_Library library ); - - - /************************************************************************** - * - * @function: - * FT_Reference_Library - * - * @description: - * A counter gets initialized to~1 at the time an @FT_Library structure - * is created. This function increments the counter. @FT_Done_Library - * then only destroys a library if the counter is~1, otherwise it simply - * decrements the counter. - * - * This function helps in managing life-cycles of structures that - * reference @FT_Library objects. - * - * @input: - * library :: - * A handle to a target library object. - * - * @return: - * FreeType error code. 0~means success. - * - * @since: - * 2.4.2 - */ - FT_EXPORT( FT_Error ) - FT_Reference_Library( FT_Library library ); - - - /************************************************************************** - * - * @function: - * FT_New_Library - * - * @description: - * This function is used to create a new FreeType library instance from a - * given memory object. It is thus possible to use libraries with - * distinct memory allocators within the same program. Note, however, - * that the used @FT_Memory structure is expected to remain valid for the - * life of the @FT_Library object. - * - * Normally, you would call this function (followed by a call to - * @FT_Add_Default_Modules or a series of calls to @FT_Add_Module, and a - * call to @FT_Set_Default_Properties) instead of @FT_Init_FreeType to - * initialize the FreeType library. - * - * Don't use @FT_Done_FreeType but @FT_Done_Library to destroy a library - * instance. - * - * @input: - * memory :: - * A handle to the original memory object. - * - * @output: - * alibrary :: - * A pointer to handle of a new library object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * See the discussion of reference counters in the description of - * @FT_Reference_Library. - */ - FT_EXPORT( FT_Error ) - FT_New_Library( FT_Memory memory, - FT_Library *alibrary ); - - - /************************************************************************** - * - * @function: - * FT_Done_Library - * - * @description: - * Discard a given library object. This closes all drivers and discards - * all resource objects. - * - * @input: - * library :: - * A handle to the target library. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * See the discussion of reference counters in the description of - * @FT_Reference_Library. - */ - FT_EXPORT( FT_Error ) - FT_Done_Library( FT_Library library ); - - - /************************************************************************** - * - * @functype: - * FT_DebugHook_Func - * - * @description: - * A drop-in replacement (or rather a wrapper) for the bytecode or - * charstring interpreter's main loop function. - * - * Its job is essentially - * - * - to activate debug mode to enforce single-stepping, - * - * - to call the main loop function to interpret the next opcode, and - * - * - to show the changed context to the user. - * - * An example for such a main loop function is `TT_RunIns` (declared in - * FreeType's internal header file `src/truetype/ttinterp.h`). - * - * Have a look at the source code of the `ttdebug` FreeType demo program - * for an example of a drop-in replacement. - * - * @inout: - * arg :: - * A typeless pointer, to be cast to the main loop function's data - * structure (which depends on the font module). For TrueType fonts - * it is bytecode interpreter's execution context, `TT_ExecContext`, - * which is declared in FreeType's internal header file `tttypes.h`. - */ - typedef void - (*FT_DebugHook_Func)( void* arg ); - - - /************************************************************************** - * - * @enum: - * FT_DEBUG_HOOK_XXX - * - * @description: - * A list of named debug hook indices. - * - * @values: - * FT_DEBUG_HOOK_TRUETYPE:: - * This hook index identifies the TrueType bytecode debugger. - */ -#define FT_DEBUG_HOOK_TRUETYPE 0 - - - /************************************************************************** - * - * @function: - * FT_Set_Debug_Hook - * - * @description: - * Set a debug hook function for debugging the interpreter of a font - * format. - * - * While this is a public API function, an application needs access to - * FreeType's internal header files to do something useful. - * - * Have a look at the source code of the `ttdebug` FreeType demo program - * for an example of its usage. - * - * @inout: - * library :: - * A handle to the library object. - * - * @input: - * hook_index :: - * The index of the debug hook. You should use defined enumeration - * macros like @FT_DEBUG_HOOK_TRUETYPE. - * - * debug_hook :: - * The function used to debug the interpreter. - * - * @note: - * Currently, four debug hook slots are available, but only one (for the - * TrueType interpreter) is defined. - */ - FT_EXPORT( void ) - FT_Set_Debug_Hook( FT_Library library, - FT_UInt hook_index, - FT_DebugHook_Func debug_hook ); - - - /************************************************************************** - * - * @function: - * FT_Add_Default_Modules - * - * @description: - * Add the set of default drivers to a given library object. This is - * only useful when you create a library object with @FT_New_Library - * (usually to plug a custom memory manager). - * - * @inout: - * library :: - * A handle to a new library object. - */ - FT_EXPORT( void ) - FT_Add_Default_Modules( FT_Library library ); - - - - /************************************************************************** - * - * @section: - * truetype_engine - * - * @title: - * The TrueType Engine - * - * @abstract: - * TrueType bytecode support. - * - * @description: - * This section contains a function used to query the level of TrueType - * bytecode support compiled in this version of the library. - * - */ - - - /************************************************************************** - * - * @enum: - * FT_TrueTypeEngineType - * - * @description: - * A list of values describing which kind of TrueType bytecode engine is - * implemented in a given FT_Library instance. It is used by the - * @FT_Get_TrueType_Engine_Type function. - * - * @values: - * FT_TRUETYPE_ENGINE_TYPE_NONE :: - * The library doesn't implement any kind of bytecode interpreter. - * - * FT_TRUETYPE_ENGINE_TYPE_UNPATENTED :: - * Deprecated and removed. - * - * FT_TRUETYPE_ENGINE_TYPE_PATENTED :: - * The library implements a bytecode interpreter that covers the full - * instruction set of the TrueType virtual machine (this was governed - * by patents until May 2010, hence the name). - * - * @since: - * 2.2 - * - */ - typedef enum FT_TrueTypeEngineType_ - { - FT_TRUETYPE_ENGINE_TYPE_NONE = 0, - FT_TRUETYPE_ENGINE_TYPE_UNPATENTED, - FT_TRUETYPE_ENGINE_TYPE_PATENTED - - } FT_TrueTypeEngineType; - - - /************************************************************************** - * - * @function: - * FT_Get_TrueType_Engine_Type - * - * @description: - * Return an @FT_TrueTypeEngineType value to indicate which level of the - * TrueType virtual machine a given library instance supports. - * - * @input: - * library :: - * A library instance. - * - * @return: - * A value indicating which level is supported. - * - * @since: - * 2.2 - * - */ - FT_EXPORT( FT_TrueTypeEngineType ) - FT_Get_TrueType_Engine_Type( FT_Library library ); - - /* */ - - -FT_END_HEADER - -#endif /* FTMODAPI_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftmoderr.h b/FreeType/include/freetype/ftmoderr.h deleted file mode 100644 index e169935..0000000 --- a/FreeType/include/freetype/ftmoderr.h +++ /dev/null @@ -1,203 +0,0 @@ -/**************************************************************************** - * - * ftmoderr.h - * - * FreeType module error offsets (specification). - * - * Copyright (C) 2001-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * This file is used to define the FreeType module error codes. - * - * If the macro `FT_CONFIG_OPTION_USE_MODULE_ERRORS` in `ftoption.h` is - * set, the lower byte of an error value identifies the error code as - * usual. In addition, the higher byte identifies the module. For - * example, the error `FT_Err_Invalid_File_Format` has value 0x0003, the - * error `TT_Err_Invalid_File_Format` has value 0x1303, the error - * `T1_Err_Invalid_File_Format` has value 0x1403, etc. - * - * Note that `FT_Err_Ok`, `TT_Err_Ok`, etc. are always equal to zero, - * including the high byte. - * - * If `FT_CONFIG_OPTION_USE_MODULE_ERRORS` isn't set, the higher byte of an - * error value is set to zero. - * - * To hide the various `XXX_Err_` prefixes in the source code, FreeType - * provides some macros in `fttypes.h`. - * - * FT_ERR( err ) - * - * Add current error module prefix (as defined with the `FT_ERR_PREFIX` - * macro) to `err`. For example, in the BDF module the line - * - * ``` - * error = FT_ERR( Invalid_Outline ); - * ``` - * - * expands to - * - * ``` - * error = BDF_Err_Invalid_Outline; - * ``` - * - * For simplicity, you can always use `FT_Err_Ok` directly instead of - * `FT_ERR( Ok )`. - * - * FT_ERR_EQ( errcode, err ) - * FT_ERR_NEQ( errcode, err ) - * - * Compare error code `errcode` with the error `err` for equality and - * inequality, respectively. Example: - * - * ``` - * if ( FT_ERR_EQ( error, Invalid_Outline ) ) - * ... - * ``` - * - * Using this macro you don't have to think about error prefixes. Of - * course, if module errors are not active, the above example is the - * same as - * - * ``` - * if ( error == FT_Err_Invalid_Outline ) - * ... - * ``` - * - * FT_ERROR_BASE( errcode ) - * FT_ERROR_MODULE( errcode ) - * - * Get base error and module error code, respectively. - * - * It can also be used to create a module error message table easily with - * something like - * - * ``` - * #undef FTMODERR_H_ - * #define FT_MODERRDEF( e, v, s ) { FT_Mod_Err_ ## e, s }, - * #define FT_MODERR_START_LIST { - * #define FT_MODERR_END_LIST { 0, 0 } }; - * - * const struct - * { - * int mod_err_offset; - * const char* mod_err_msg - * } ft_mod_errors[] = - * - * #include FT_MODULE_ERRORS_H - * ``` - * - */ - - -#ifndef FTMODERR_H_ -#define FTMODERR_H_ - - - /*******************************************************************/ - /*******************************************************************/ - /***** *****/ - /***** SETUP MACROS *****/ - /***** *****/ - /*******************************************************************/ - /*******************************************************************/ - - -#undef FT_NEED_EXTERN_C - -#ifndef FT_MODERRDEF - -#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS -#define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = v, -#else -#define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = 0, -#endif - -#define FT_MODERR_START_LIST enum { -#define FT_MODERR_END_LIST FT_Mod_Err_Max }; - -#ifdef __cplusplus -#define FT_NEED_EXTERN_C - extern "C" { -#endif - -#endif /* !FT_MODERRDEF */ - - - /*******************************************************************/ - /*******************************************************************/ - /***** *****/ - /***** LIST MODULE ERROR BASES *****/ - /***** *****/ - /*******************************************************************/ - /*******************************************************************/ - - -#ifdef FT_MODERR_START_LIST - FT_MODERR_START_LIST -#endif - - - FT_MODERRDEF( Base, 0x000, "base module" ) - FT_MODERRDEF( Autofit, 0x100, "autofitter module" ) - FT_MODERRDEF( BDF, 0x200, "BDF module" ) - FT_MODERRDEF( Bzip2, 0x300, "Bzip2 module" ) - FT_MODERRDEF( Cache, 0x400, "cache module" ) - FT_MODERRDEF( CFF, 0x500, "CFF module" ) - FT_MODERRDEF( CID, 0x600, "CID module" ) - FT_MODERRDEF( Gzip, 0x700, "Gzip module" ) - FT_MODERRDEF( LZW, 0x800, "LZW module" ) - FT_MODERRDEF( OTvalid, 0x900, "OpenType validation module" ) - FT_MODERRDEF( PCF, 0xA00, "PCF module" ) - FT_MODERRDEF( PFR, 0xB00, "PFR module" ) - FT_MODERRDEF( PSaux, 0xC00, "PS auxiliary module" ) - FT_MODERRDEF( PShinter, 0xD00, "PS hinter module" ) - FT_MODERRDEF( PSnames, 0xE00, "PS names module" ) - FT_MODERRDEF( Raster, 0xF00, "raster module" ) - FT_MODERRDEF( SFNT, 0x1000, "SFNT module" ) - FT_MODERRDEF( Smooth, 0x1100, "smooth raster module" ) - FT_MODERRDEF( TrueType, 0x1200, "TrueType module" ) - FT_MODERRDEF( Type1, 0x1300, "Type 1 module" ) - FT_MODERRDEF( Type42, 0x1400, "Type 42 module" ) - FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" ) - FT_MODERRDEF( GXvalid, 0x1600, "GX validation module" ) - - -#ifdef FT_MODERR_END_LIST - FT_MODERR_END_LIST -#endif - - - /*******************************************************************/ - /*******************************************************************/ - /***** *****/ - /***** CLEANUP *****/ - /***** *****/ - /*******************************************************************/ - /*******************************************************************/ - - -#ifdef FT_NEED_EXTERN_C - } -#endif - -#undef FT_MODERR_START_LIST -#undef FT_MODERR_END_LIST -#undef FT_MODERRDEF -#undef FT_NEED_EXTERN_C - - -#endif /* FTMODERR_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftotval.h b/FreeType/include/freetype/ftotval.h deleted file mode 100644 index c034f48..0000000 --- a/FreeType/include/freetype/ftotval.h +++ /dev/null @@ -1,207 +0,0 @@ -/**************************************************************************** - * - * ftotval.h - * - * FreeType API for validating OpenType tables (specification). - * - * Copyright (C) 2004-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -/**************************************************************************** - * - * - * Warning: This module might be moved to a different library in the - * future to avoid a tight dependency between FreeType and the - * OpenType specification. - * - * - */ - - -#ifndef FTOTVAL_H_ -#define FTOTVAL_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * ot_validation - * - * @title: - * OpenType Validation - * - * @abstract: - * An API to validate OpenType tables. - * - * @description: - * This section contains the declaration of functions to validate some - * OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). - * - * @order: - * FT_OpenType_Validate - * FT_OpenType_Free - * - * FT_VALIDATE_OTXXX - * - */ - - - /************************************************************************** - * - * @enum: - * FT_VALIDATE_OTXXX - * - * @description: - * A list of bit-field constants used with @FT_OpenType_Validate to - * indicate which OpenType tables should be validated. - * - * @values: - * FT_VALIDATE_BASE :: - * Validate BASE table. - * - * FT_VALIDATE_GDEF :: - * Validate GDEF table. - * - * FT_VALIDATE_GPOS :: - * Validate GPOS table. - * - * FT_VALIDATE_GSUB :: - * Validate GSUB table. - * - * FT_VALIDATE_JSTF :: - * Validate JSTF table. - * - * FT_VALIDATE_MATH :: - * Validate MATH table. - * - * FT_VALIDATE_OT :: - * Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). - * - */ -#define FT_VALIDATE_BASE 0x0100 -#define FT_VALIDATE_GDEF 0x0200 -#define FT_VALIDATE_GPOS 0x0400 -#define FT_VALIDATE_GSUB 0x0800 -#define FT_VALIDATE_JSTF 0x1000 -#define FT_VALIDATE_MATH 0x2000 - -#define FT_VALIDATE_OT ( FT_VALIDATE_BASE | \ - FT_VALIDATE_GDEF | \ - FT_VALIDATE_GPOS | \ - FT_VALIDATE_GSUB | \ - FT_VALIDATE_JSTF | \ - FT_VALIDATE_MATH ) - - - /************************************************************************** - * - * @function: - * FT_OpenType_Validate - * - * @description: - * Validate various OpenType tables to assure that all offsets and - * indices are valid. The idea is that a higher-level library that - * actually does the text layout can access those tables without error - * checking (which can be quite time consuming). - * - * @input: - * face :: - * A handle to the input face. - * - * validation_flags :: - * A bit field that specifies the tables to be validated. See - * @FT_VALIDATE_OTXXX for possible values. - * - * @output: - * BASE_table :: - * A pointer to the BASE table. - * - * GDEF_table :: - * A pointer to the GDEF table. - * - * GPOS_table :: - * A pointer to the GPOS table. - * - * GSUB_table :: - * A pointer to the GSUB table. - * - * JSTF_table :: - * A pointer to the JSTF table. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function only works with OpenType fonts, returning an error - * otherwise. - * - * After use, the application should deallocate the five tables with - * @FT_OpenType_Free. A `NULL` value indicates that the table either - * doesn't exist in the font, or the application hasn't asked for - * validation. - */ - FT_EXPORT( FT_Error ) - FT_OpenType_Validate( FT_Face face, - FT_UInt validation_flags, - FT_Bytes *BASE_table, - FT_Bytes *GDEF_table, - FT_Bytes *GPOS_table, - FT_Bytes *GSUB_table, - FT_Bytes *JSTF_table ); - - - /************************************************************************** - * - * @function: - * FT_OpenType_Free - * - * @description: - * Free the buffer allocated by OpenType validator. - * - * @input: - * face :: - * A handle to the input face. - * - * table :: - * The pointer to the buffer that is allocated by - * @FT_OpenType_Validate. - * - * @note: - * This function must be used to free the buffer allocated by - * @FT_OpenType_Validate only. - */ - FT_EXPORT( void ) - FT_OpenType_Free( FT_Face face, - FT_Bytes table ); - - - /* */ - - -FT_END_HEADER - -#endif /* FTOTVAL_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftoutln.h b/FreeType/include/freetype/ftoutln.h deleted file mode 100644 index 75c3d01..0000000 --- a/FreeType/include/freetype/ftoutln.h +++ /dev/null @@ -1,593 +0,0 @@ -/**************************************************************************** - * - * ftoutln.h - * - * Support for the FT_Outline type used to store glyph shapes of - * most scalable font formats (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTOUTLN_H_ -#define FTOUTLN_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * outline_processing - * - * @title: - * Outline Processing - * - * @abstract: - * Functions to create, transform, and render vectorial glyph images. - * - * @description: - * This section contains routines used to create and destroy scalable - * glyph images known as 'outlines'. These can also be measured, - * transformed, and converted into bitmaps and pixmaps. - * - * @order: - * FT_Outline - * FT_Outline_New - * FT_Outline_Done - * FT_Outline_Copy - * FT_Outline_Translate - * FT_Outline_Transform - * FT_Outline_Embolden - * FT_Outline_EmboldenXY - * FT_Outline_Reverse - * FT_Outline_Check - * - * FT_Outline_Get_CBox - * FT_Outline_Get_BBox - * - * FT_Outline_Get_Bitmap - * FT_Outline_Render - * FT_Outline_Decompose - * FT_Outline_Funcs - * FT_Outline_MoveToFunc - * FT_Outline_LineToFunc - * FT_Outline_ConicToFunc - * FT_Outline_CubicToFunc - * - * FT_Orientation - * FT_Outline_Get_Orientation - * - * FT_OUTLINE_XXX - * - */ - - - /************************************************************************** - * - * @function: - * FT_Outline_Decompose - * - * @description: - * Walk over an outline's structure to decompose it into individual - * segments and Bezier arcs. This function also emits 'move to' - * operations to indicate the start of new contours in the outline. - * - * @input: - * outline :: - * A pointer to the source target. - * - * func_interface :: - * A table of 'emitters', i.e., function pointers called during - * decomposition to indicate path operations. - * - * @inout: - * user :: - * A typeless pointer that is passed to each emitter during the - * decomposition. It can be used to store the state during the - * decomposition. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * A contour that contains a single point only is represented by a 'move - * to' operation followed by 'line to' to the same point. In most cases, - * it is best to filter this out before using the outline for stroking - * purposes (otherwise it would result in a visible dot when round caps - * are used). - * - * Similarly, the function returns success for an empty outline also - * (doing nothing, this is, not calling any emitter); if necessary, you - * should filter this out, too. - */ - FT_EXPORT( FT_Error ) - FT_Outline_Decompose( FT_Outline* outline, - const FT_Outline_Funcs* func_interface, - void* user ); - - - /************************************************************************** - * - * @function: - * FT_Outline_New - * - * @description: - * Create a new outline of a given size. - * - * @input: - * library :: - * A handle to the library object from where the outline is allocated. - * Note however that the new outline will **not** necessarily be - * **freed**, when destroying the library, by @FT_Done_FreeType. - * - * numPoints :: - * The maximum number of points within the outline. Must be smaller - * than or equal to 0xFFFF (65535). - * - * numContours :: - * The maximum number of contours within the outline. This value must - * be in the range 0 to `numPoints`. - * - * @output: - * anoutline :: - * A handle to the new outline. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The reason why this function takes a `library` parameter is simply to - * use the library's memory allocator. - */ - FT_EXPORT( FT_Error ) - FT_Outline_New( FT_Library library, - FT_UInt numPoints, - FT_Int numContours, - FT_Outline *anoutline ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Done - * - * @description: - * Destroy an outline created with @FT_Outline_New. - * - * @input: - * library :: - * A handle of the library object used to allocate the outline. - * - * outline :: - * A pointer to the outline object to be discarded. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If the outline's 'owner' field is not set, only the outline descriptor - * will be released. - */ - FT_EXPORT( FT_Error ) - FT_Outline_Done( FT_Library library, - FT_Outline* outline ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Check - * - * @description: - * Check the contents of an outline descriptor. - * - * @input: - * outline :: - * A handle to a source outline. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * An empty outline, or an outline with a single point only is also - * valid. - */ - FT_EXPORT( FT_Error ) - FT_Outline_Check( FT_Outline* outline ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Get_CBox - * - * @description: - * Return an outline's 'control box'. The control box encloses all the - * outline's points, including Bezier control points. Though it - * coincides with the exact bounding box for most glyphs, it can be - * slightly larger in some situations (like when rotating an outline that - * contains Bezier outside arcs). - * - * Computing the control box is very fast, while getting the bounding box - * can take much more time as it needs to walk over all segments and arcs - * in the outline. To get the latter, you can use the 'ftbbox' - * component, which is dedicated to this single task. - * - * @input: - * outline :: - * A pointer to the source outline descriptor. - * - * @output: - * acbox :: - * The outline's control box. - * - * @note: - * See @FT_Glyph_Get_CBox for a discussion of tricky fonts. - */ - FT_EXPORT( void ) - FT_Outline_Get_CBox( const FT_Outline* outline, - FT_BBox *acbox ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Translate - * - * @description: - * Apply a simple translation to the points of an outline. - * - * @inout: - * outline :: - * A pointer to the target outline descriptor. - * - * @input: - * xOffset :: - * The horizontal offset. - * - * yOffset :: - * The vertical offset. - */ - FT_EXPORT( void ) - FT_Outline_Translate( const FT_Outline* outline, - FT_Pos xOffset, - FT_Pos yOffset ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Copy - * - * @description: - * Copy an outline into another one. Both objects must have the same - * sizes (number of points & number of contours) when this function is - * called. - * - * @input: - * source :: - * A handle to the source outline. - * - * @output: - * target :: - * A handle to the target outline. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Outline_Copy( const FT_Outline* source, - FT_Outline *target ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Transform - * - * @description: - * Apply a simple 2x2 matrix to all of an outline's points. Useful for - * applying rotations, slanting, flipping, etc. - * - * @inout: - * outline :: - * A pointer to the target outline descriptor. - * - * @input: - * matrix :: - * A pointer to the transformation matrix. - * - * @note: - * You can use @FT_Outline_Translate if you need to translate the - * outline's points. - */ - FT_EXPORT( void ) - FT_Outline_Transform( const FT_Outline* outline, - const FT_Matrix* matrix ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Embolden - * - * @description: - * Embolden an outline. The new outline will be at most 4~times - * `strength` pixels wider and higher. You may think of the left and - * bottom borders as unchanged. - * - * Negative `strength` values to reduce the outline thickness are - * possible also. - * - * @inout: - * outline :: - * A handle to the target outline. - * - * @input: - * strength :: - * How strong the glyph is emboldened. Expressed in 26.6 pixel format. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The used algorithm to increase or decrease the thickness of the glyph - * doesn't change the number of points; this means that certain - * situations like acute angles or intersections are sometimes handled - * incorrectly. - * - * If you need 'better' metrics values you should call - * @FT_Outline_Get_CBox or @FT_Outline_Get_BBox. - * - * To get meaningful results, font scaling values must be set with - * functions like @FT_Set_Char_Size before calling FT_Render_Glyph. - * - * @example: - * ``` - * FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); - * - * if ( face->glyph->format == FT_GLYPH_FORMAT_OUTLINE ) - * FT_Outline_Embolden( &face->glyph->outline, strength ); - * ``` - * - */ - FT_EXPORT( FT_Error ) - FT_Outline_Embolden( FT_Outline* outline, - FT_Pos strength ); - - - /************************************************************************** - * - * @function: - * FT_Outline_EmboldenXY - * - * @description: - * Embolden an outline. The new outline will be `xstrength` pixels wider - * and `ystrength` pixels higher. Otherwise, it is similar to - * @FT_Outline_Embolden, which uses the same strength in both directions. - * - * @since: - * 2.4.10 - */ - FT_EXPORT( FT_Error ) - FT_Outline_EmboldenXY( FT_Outline* outline, - FT_Pos xstrength, - FT_Pos ystrength ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Reverse - * - * @description: - * Reverse the drawing direction of an outline. This is used to ensure - * consistent fill conventions for mirrored glyphs. - * - * @inout: - * outline :: - * A pointer to the target outline descriptor. - * - * @note: - * This function toggles the bit flag @FT_OUTLINE_REVERSE_FILL in the - * outline's `flags` field. - * - * It shouldn't be used by a normal client application, unless it knows - * what it is doing. - */ - FT_EXPORT( void ) - FT_Outline_Reverse( FT_Outline* outline ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Get_Bitmap - * - * @description: - * Render an outline within a bitmap. The outline's image is simply - * OR-ed to the target bitmap. - * - * @input: - * library :: - * A handle to a FreeType library object. - * - * outline :: - * A pointer to the source outline descriptor. - * - * @inout: - * abitmap :: - * A pointer to the target bitmap descriptor. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function does **not create** the bitmap, it only renders an - * outline image within the one you pass to it! Consequently, the - * various fields in `abitmap` should be set accordingly. - * - * It will use the raster corresponding to the default glyph format. - * - * The value of the `num_grays` field in `abitmap` is ignored. If you - * select the gray-level rasterizer, and you want less than 256 gray - * levels, you have to use @FT_Outline_Render directly. - */ - FT_EXPORT( FT_Error ) - FT_Outline_Get_Bitmap( FT_Library library, - FT_Outline* outline, - const FT_Bitmap *abitmap ); - - - /************************************************************************** - * - * @function: - * FT_Outline_Render - * - * @description: - * Render an outline within a bitmap using the current scan-convert. - * This function uses an @FT_Raster_Params structure as an argument, - * allowing advanced features like direct composition, translucency, etc. - * - * @input: - * library :: - * A handle to a FreeType library object. - * - * outline :: - * A pointer to the source outline descriptor. - * - * @inout: - * params :: - * A pointer to an @FT_Raster_Params structure used to describe the - * rendering operation. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * You should know what you are doing and how @FT_Raster_Params works to - * use this function. - * - * The field `params.source` will be set to `outline` before the scan - * converter is called, which means that the value you give to it is - * actually ignored. - * - * The gray-level rasterizer always uses 256 gray levels. If you want - * less gray levels, you have to provide your own span callback. See the - * @FT_RASTER_FLAG_DIRECT value of the `flags` field in the - * @FT_Raster_Params structure for more details. - */ - FT_EXPORT( FT_Error ) - FT_Outline_Render( FT_Library library, - FT_Outline* outline, - FT_Raster_Params* params ); - - - /************************************************************************** - * - * @enum: - * FT_Orientation - * - * @description: - * A list of values used to describe an outline's contour orientation. - * - * The TrueType and PostScript specifications use different conventions - * to determine whether outline contours should be filled or unfilled. - * - * @values: - * FT_ORIENTATION_TRUETYPE :: - * According to the TrueType specification, clockwise contours must be - * filled, and counter-clockwise ones must be unfilled. - * - * FT_ORIENTATION_POSTSCRIPT :: - * According to the PostScript specification, counter-clockwise - * contours must be filled, and clockwise ones must be unfilled. - * - * FT_ORIENTATION_FILL_RIGHT :: - * This is identical to @FT_ORIENTATION_TRUETYPE, but is used to - * remember that in TrueType, everything that is to the right of the - * drawing direction of a contour must be filled. - * - * FT_ORIENTATION_FILL_LEFT :: - * This is identical to @FT_ORIENTATION_POSTSCRIPT, but is used to - * remember that in PostScript, everything that is to the left of the - * drawing direction of a contour must be filled. - * - * FT_ORIENTATION_NONE :: - * The orientation cannot be determined. That is, different parts of - * the glyph have different orientation. - * - */ - typedef enum FT_Orientation_ - { - FT_ORIENTATION_TRUETYPE = 0, - FT_ORIENTATION_POSTSCRIPT = 1, - FT_ORIENTATION_FILL_RIGHT = FT_ORIENTATION_TRUETYPE, - FT_ORIENTATION_FILL_LEFT = FT_ORIENTATION_POSTSCRIPT, - FT_ORIENTATION_NONE - - } FT_Orientation; - - - /************************************************************************** - * - * @function: - * FT_Outline_Get_Orientation - * - * @description: - * This function analyzes a glyph outline and tries to compute its fill - * orientation (see @FT_Orientation). This is done by integrating the - * total area covered by the outline. The positive integral corresponds - * to the clockwise orientation and @FT_ORIENTATION_POSTSCRIPT is - * returned. The negative integral corresponds to the counter-clockwise - * orientation and @FT_ORIENTATION_TRUETYPE is returned. - * - * Note that this will return @FT_ORIENTATION_TRUETYPE for empty - * outlines. - * - * @input: - * outline :: - * A handle to the source outline. - * - * @return: - * The orientation. - * - */ - FT_EXPORT( FT_Orientation ) - FT_Outline_Get_Orientation( FT_Outline* outline ); - - - /* */ - - -FT_END_HEADER - -#endif /* FTOUTLN_H_ */ - - -/* END */ - - -/* Local Variables: */ -/* coding: utf-8 */ -/* End: */ diff --git a/FreeType/include/freetype/ftparams.h b/FreeType/include/freetype/ftparams.h deleted file mode 100644 index c374ee2..0000000 --- a/FreeType/include/freetype/ftparams.h +++ /dev/null @@ -1,204 +0,0 @@ -/**************************************************************************** - * - * ftparams.h - * - * FreeType API for possible FT_Parameter tags (specification only). - * - * Copyright (C) 2017-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTPARAMS_H_ -#define FTPARAMS_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * parameter_tags - * - * @title: - * Parameter Tags - * - * @abstract: - * Macros for driver property and font loading parameter tags. - * - * @description: - * This section contains macros for the @FT_Parameter structure that are - * used with various functions to activate some special functionality or - * different behaviour of various components of FreeType. - * - */ - - - /************************************************************************** - * - * @enum: - * FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY - * - * @description: - * A tag for @FT_Parameter to make @FT_Open_Face ignore typographic - * family names in the 'name' table (introduced in OpenType version 1.4). - * Use this for backward compatibility with legacy systems that have a - * four-faces-per-family restriction. - * - * @since: - * 2.8 - * - */ -#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY \ - FT_MAKE_TAG( 'i', 'g', 'p', 'f' ) - - - /* this constant is deprecated */ -#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY \ - FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY - - - /************************************************************************** - * - * @enum: - * FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY - * - * @description: - * A tag for @FT_Parameter to make @FT_Open_Face ignore typographic - * subfamily names in the 'name' table (introduced in OpenType version - * 1.4). Use this for backward compatibility with legacy systems that - * have a four-faces-per-family restriction. - * - * @since: - * 2.8 - * - */ -#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY \ - FT_MAKE_TAG( 'i', 'g', 'p', 's' ) - - - /* this constant is deprecated */ -#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY \ - FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY - - - /************************************************************************** - * - * @enum: - * FT_PARAM_TAG_INCREMENTAL - * - * @description: - * An @FT_Parameter tag to be used with @FT_Open_Face to indicate - * incremental glyph loading. - * - */ -#define FT_PARAM_TAG_INCREMENTAL \ - FT_MAKE_TAG( 'i', 'n', 'c', 'r' ) - - - /************************************************************************** - * - * @enum: - * FT_PARAM_TAG_LCD_FILTER_WEIGHTS - * - * @description: - * An @FT_Parameter tag to be used with @FT_Face_Properties. The - * corresponding argument specifies the five LCD filter weights for a - * given face (if using @FT_LOAD_TARGET_LCD, for example), overriding the - * global default values or the values set up with - * @FT_Library_SetLcdFilterWeights. - * - * @since: - * 2.8 - * - */ -#define FT_PARAM_TAG_LCD_FILTER_WEIGHTS \ - FT_MAKE_TAG( 'l', 'c', 'd', 'f' ) - - - /************************************************************************** - * - * @enum: - * FT_PARAM_TAG_RANDOM_SEED - * - * @description: - * An @FT_Parameter tag to be used with @FT_Face_Properties. The - * corresponding 32bit signed integer argument overrides the font - * driver's random seed value with a face-specific one; see @random-seed. - * - * @since: - * 2.8 - * - */ -#define FT_PARAM_TAG_RANDOM_SEED \ - FT_MAKE_TAG( 's', 'e', 'e', 'd' ) - - - /************************************************************************** - * - * @enum: - * FT_PARAM_TAG_STEM_DARKENING - * - * @description: - * An @FT_Parameter tag to be used with @FT_Face_Properties. The - * corresponding Boolean argument specifies whether to apply stem - * darkening, overriding the global default values or the values set up - * with @FT_Property_Set (see @no-stem-darkening). - * - * This is a passive setting that only takes effect if the font driver or - * autohinter honors it, which the CFF, Type~1, and CID drivers always - * do, but the autohinter only in 'light' hinting mode (as of version - * 2.9). - * - * @since: - * 2.8 - * - */ -#define FT_PARAM_TAG_STEM_DARKENING \ - FT_MAKE_TAG( 'd', 'a', 'r', 'k' ) - - - /************************************************************************** - * - * @enum: - * FT_PARAM_TAG_UNPATENTED_HINTING - * - * @description: - * Deprecated, no effect. - * - * Previously: A constant used as the tag of an @FT_Parameter structure - * to indicate that unpatented methods only should be used by the - * TrueType bytecode interpreter for a typeface opened by @FT_Open_Face. - * - */ -#define FT_PARAM_TAG_UNPATENTED_HINTING \ - FT_MAKE_TAG( 'u', 'n', 'p', 'a' ) - - - /* */ - - -FT_END_HEADER - - -#endif /* FTPARAMS_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftpfr.h b/FreeType/include/freetype/ftpfr.h deleted file mode 100644 index b4eca76..0000000 --- a/FreeType/include/freetype/ftpfr.h +++ /dev/null @@ -1,180 +0,0 @@ -/**************************************************************************** - * - * ftpfr.h - * - * FreeType API for accessing PFR-specific data (specification only). - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTPFR_H_ -#define FTPFR_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * pfr_fonts - * - * @title: - * PFR Fonts - * - * @abstract: - * PFR/TrueDoc-specific API. - * - * @description: - * This section contains the declaration of PFR-specific functions. - * - */ - - - /************************************************************************** - * - * @function: - * FT_Get_PFR_Metrics - * - * @description: - * Return the outline and metrics resolutions of a given PFR face. - * - * @input: - * face :: - * Handle to the input face. It can be a non-PFR face. - * - * @output: - * aoutline_resolution :: - * Outline resolution. This is equivalent to `face->units_per_EM` for - * non-PFR fonts. Optional (parameter can be `NULL`). - * - * ametrics_resolution :: - * Metrics resolution. This is equivalent to `outline_resolution` for - * non-PFR fonts. Optional (parameter can be `NULL`). - * - * ametrics_x_scale :: - * A 16.16 fixed-point number used to scale distance expressed in - * metrics units to device subpixels. This is equivalent to - * `face->size->x_scale`, but for metrics only. Optional (parameter - * can be `NULL`). - * - * ametrics_y_scale :: - * Same as `ametrics_x_scale` but for the vertical direction. - * optional (parameter can be `NULL`). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If the input face is not a PFR, this function will return an error. - * However, in all cases, it will return valid values. - */ - FT_EXPORT( FT_Error ) - FT_Get_PFR_Metrics( FT_Face face, - FT_UInt *aoutline_resolution, - FT_UInt *ametrics_resolution, - FT_Fixed *ametrics_x_scale, - FT_Fixed *ametrics_y_scale ); - - - /************************************************************************** - * - * @function: - * FT_Get_PFR_Kerning - * - * @description: - * Return the kerning pair corresponding to two glyphs in a PFR face. - * The distance is expressed in metrics units, unlike the result of - * @FT_Get_Kerning. - * - * @input: - * face :: - * A handle to the input face. - * - * left :: - * Index of the left glyph. - * - * right :: - * Index of the right glyph. - * - * @output: - * avector :: - * A kerning vector. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function always return distances in original PFR metrics units. - * This is unlike @FT_Get_Kerning with the @FT_KERNING_UNSCALED mode, - * which always returns distances converted to outline units. - * - * You can use the value of the `x_scale` and `y_scale` parameters - * returned by @FT_Get_PFR_Metrics to scale these to device subpixels. - */ - FT_EXPORT( FT_Error ) - FT_Get_PFR_Kerning( FT_Face face, - FT_UInt left, - FT_UInt right, - FT_Vector *avector ); - - - /************************************************************************** - * - * @function: - * FT_Get_PFR_Advance - * - * @description: - * Return a given glyph advance, expressed in original metrics units, - * from a PFR font. - * - * @input: - * face :: - * A handle to the input face. - * - * gindex :: - * The glyph index. - * - * @output: - * aadvance :: - * The glyph advance in metrics units. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * You can use the `x_scale` or `y_scale` results of @FT_Get_PFR_Metrics - * to convert the advance to device subpixels (i.e., 1/64th of pixels). - */ - FT_EXPORT( FT_Error ) - FT_Get_PFR_Advance( FT_Face face, - FT_UInt gindex, - FT_Pos *aadvance ); - - /* */ - - -FT_END_HEADER - -#endif /* FTPFR_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftrender.h b/FreeType/include/freetype/ftrender.h deleted file mode 100644 index a01c774..0000000 --- a/FreeType/include/freetype/ftrender.h +++ /dev/null @@ -1,245 +0,0 @@ -/**************************************************************************** - * - * ftrender.h - * - * FreeType renderer modules public interface (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTRENDER_H_ -#define FTRENDER_H_ - - -#include -#include FT_MODULE_H -#include FT_GLYPH_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * module_management - * - */ - - - /* create a new glyph object */ - typedef FT_Error - (*FT_Glyph_InitFunc)( FT_Glyph glyph, - FT_GlyphSlot slot ); - - /* destroys a given glyph object */ - typedef void - (*FT_Glyph_DoneFunc)( FT_Glyph glyph ); - - typedef void - (*FT_Glyph_TransformFunc)( FT_Glyph glyph, - const FT_Matrix* matrix, - const FT_Vector* delta ); - - typedef void - (*FT_Glyph_GetBBoxFunc)( FT_Glyph glyph, - FT_BBox* abbox ); - - typedef FT_Error - (*FT_Glyph_CopyFunc)( FT_Glyph source, - FT_Glyph target ); - - typedef FT_Error - (*FT_Glyph_PrepareFunc)( FT_Glyph glyph, - FT_GlyphSlot slot ); - -/* deprecated */ -#define FT_Glyph_Init_Func FT_Glyph_InitFunc -#define FT_Glyph_Done_Func FT_Glyph_DoneFunc -#define FT_Glyph_Transform_Func FT_Glyph_TransformFunc -#define FT_Glyph_BBox_Func FT_Glyph_GetBBoxFunc -#define FT_Glyph_Copy_Func FT_Glyph_CopyFunc -#define FT_Glyph_Prepare_Func FT_Glyph_PrepareFunc - - - struct FT_Glyph_Class_ - { - FT_Long glyph_size; - FT_Glyph_Format glyph_format; - - FT_Glyph_InitFunc glyph_init; - FT_Glyph_DoneFunc glyph_done; - FT_Glyph_CopyFunc glyph_copy; - FT_Glyph_TransformFunc glyph_transform; - FT_Glyph_GetBBoxFunc glyph_bbox; - FT_Glyph_PrepareFunc glyph_prepare; - }; - - - typedef FT_Error - (*FT_Renderer_RenderFunc)( FT_Renderer renderer, - FT_GlyphSlot slot, - FT_Render_Mode mode, - const FT_Vector* origin ); - - typedef FT_Error - (*FT_Renderer_TransformFunc)( FT_Renderer renderer, - FT_GlyphSlot slot, - const FT_Matrix* matrix, - const FT_Vector* delta ); - - - typedef void - (*FT_Renderer_GetCBoxFunc)( FT_Renderer renderer, - FT_GlyphSlot slot, - FT_BBox* cbox ); - - - typedef FT_Error - (*FT_Renderer_SetModeFunc)( FT_Renderer renderer, - FT_ULong mode_tag, - FT_Pointer mode_ptr ); - -/* deprecated identifiers */ -#define FTRenderer_render FT_Renderer_RenderFunc -#define FTRenderer_transform FT_Renderer_TransformFunc -#define FTRenderer_getCBox FT_Renderer_GetCBoxFunc -#define FTRenderer_setMode FT_Renderer_SetModeFunc - - - /************************************************************************** - * - * @struct: - * FT_Renderer_Class - * - * @description: - * The renderer module class descriptor. - * - * @fields: - * root :: - * The root @FT_Module_Class fields. - * - * glyph_format :: - * The glyph image format this renderer handles. - * - * render_glyph :: - * A method used to render the image that is in a given glyph slot into - * a bitmap. - * - * transform_glyph :: - * A method used to transform the image that is in a given glyph slot. - * - * get_glyph_cbox :: - * A method used to access the glyph's cbox. - * - * set_mode :: - * A method used to pass additional parameters. - * - * raster_class :: - * For @FT_GLYPH_FORMAT_OUTLINE renderers only. This is a pointer to - * its raster's class. - */ - typedef struct FT_Renderer_Class_ - { - FT_Module_Class root; - - FT_Glyph_Format glyph_format; - - FT_Renderer_RenderFunc render_glyph; - FT_Renderer_TransformFunc transform_glyph; - FT_Renderer_GetCBoxFunc get_glyph_cbox; - FT_Renderer_SetModeFunc set_mode; - - FT_Raster_Funcs* raster_class; - - } FT_Renderer_Class; - - - /************************************************************************** - * - * @function: - * FT_Get_Renderer - * - * @description: - * Retrieve the current renderer for a given glyph format. - * - * @input: - * library :: - * A handle to the library object. - * - * format :: - * The glyph format. - * - * @return: - * A renderer handle. 0~if none found. - * - * @note: - * An error will be returned if a module already exists by that name, or - * if the module requires a version of FreeType that is too great. - * - * To add a new renderer, simply use @FT_Add_Module. To retrieve a - * renderer by its name, use @FT_Get_Module. - */ - FT_EXPORT( FT_Renderer ) - FT_Get_Renderer( FT_Library library, - FT_Glyph_Format format ); - - - /************************************************************************** - * - * @function: - * FT_Set_Renderer - * - * @description: - * Set the current renderer to use, and set additional mode. - * - * @inout: - * library :: - * A handle to the library object. - * - * @input: - * renderer :: - * A handle to the renderer object. - * - * num_params :: - * The number of additional parameters. - * - * parameters :: - * Additional parameters. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * In case of success, the renderer will be used to convert glyph images - * in the renderer's known format into bitmaps. - * - * This doesn't change the current renderer for other formats. - * - * Currently, no FreeType renderer module uses `parameters`; you should - * thus always pass `NULL` as the value. - */ - FT_EXPORT( FT_Error ) - FT_Set_Renderer( FT_Library library, - FT_Renderer renderer, - FT_UInt num_params, - FT_Parameter* parameters ); - - /* */ - - -FT_END_HEADER - -#endif /* FTRENDER_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftsizes.h b/FreeType/include/freetype/ftsizes.h deleted file mode 100644 index 6c63cef..0000000 --- a/FreeType/include/freetype/ftsizes.h +++ /dev/null @@ -1,160 +0,0 @@ -/**************************************************************************** - * - * ftsizes.h - * - * FreeType size objects management (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * Typical application would normally not need to use these functions. - * However, they have been placed in a public API for the rare cases where - * they are needed. - * - */ - - -#ifndef FTSIZES_H_ -#define FTSIZES_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * sizes_management - * - * @title: - * Size Management - * - * @abstract: - * Managing multiple sizes per face. - * - * @description: - * When creating a new face object (e.g., with @FT_New_Face), an @FT_Size - * object is automatically created and used to store all pixel-size - * dependent information, available in the `face->size` field. - * - * It is however possible to create more sizes for a given face, mostly - * in order to manage several character pixel sizes of the same font - * family and style. See @FT_New_Size and @FT_Done_Size. - * - * Note that @FT_Set_Pixel_Sizes and @FT_Set_Char_Size only modify the - * contents of the current 'active' size; you thus need to use - * @FT_Activate_Size to change it. - * - * 99% of applications won't need the functions provided here, especially - * if they use the caching sub-system, so be cautious when using these. - * - */ - - - /************************************************************************** - * - * @function: - * FT_New_Size - * - * @description: - * Create a new size object from a given face object. - * - * @input: - * face :: - * A handle to a parent face object. - * - * @output: - * asize :: - * A handle to a new size object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * You need to call @FT_Activate_Size in order to select the new size for - * upcoming calls to @FT_Set_Pixel_Sizes, @FT_Set_Char_Size, - * @FT_Load_Glyph, @FT_Load_Char, etc. - */ - FT_EXPORT( FT_Error ) - FT_New_Size( FT_Face face, - FT_Size* size ); - - - /************************************************************************** - * - * @function: - * FT_Done_Size - * - * @description: - * Discard a given size object. Note that @FT_Done_Face automatically - * discards all size objects allocated with @FT_New_Size. - * - * @input: - * size :: - * A handle to a target size object. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Done_Size( FT_Size size ); - - - /************************************************************************** - * - * @function: - * FT_Activate_Size - * - * @description: - * Even though it is possible to create several size objects for a given - * face (see @FT_New_Size for details), functions like @FT_Load_Glyph or - * @FT_Load_Char only use the one that has been activated last to - * determine the 'current character pixel size'. - * - * This function can be used to 'activate' a previously created size - * object. - * - * @input: - * size :: - * A handle to a target size object. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If `face` is the size's parent face object, this function changes the - * value of `face->size` to the input size handle. - */ - FT_EXPORT( FT_Error ) - FT_Activate_Size( FT_Size size ); - - /* */ - - -FT_END_HEADER - -#endif /* FTSIZES_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftsnames.h b/FreeType/include/freetype/ftsnames.h deleted file mode 100644 index 4d43602..0000000 --- a/FreeType/include/freetype/ftsnames.h +++ /dev/null @@ -1,273 +0,0 @@ -/**************************************************************************** - * - * ftsnames.h - * - * Simple interface to access SFNT 'name' tables (which are used - * to hold font names, copyright info, notices, etc.) (specification). - * - * This is _not_ used to retrieve glyph names! - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTSNAMES_H_ -#define FTSNAMES_H_ - - -#include -#include FT_FREETYPE_H -#include FT_PARAMETER_TAGS_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * sfnt_names - * - * @title: - * SFNT Names - * - * @abstract: - * Access the names embedded in TrueType and OpenType files. - * - * @description: - * The TrueType and OpenType specifications allow the inclusion of a - * special names table ('name') in font files. This table contains - * textual (and internationalized) information regarding the font, like - * family name, copyright, version, etc. - * - * The definitions below are used to access them if available. - * - * Note that this has nothing to do with glyph names! - * - */ - - - /************************************************************************** - * - * @struct: - * FT_SfntName - * - * @description: - * A structure used to model an SFNT 'name' table entry. - * - * @fields: - * platform_id :: - * The platform ID for `string`. See @TT_PLATFORM_XXX for possible - * values. - * - * encoding_id :: - * The encoding ID for `string`. See @TT_APPLE_ID_XXX, @TT_MAC_ID_XXX, - * @TT_ISO_ID_XXX, @TT_MS_ID_XXX, and @TT_ADOBE_ID_XXX for possible - * values. - * - * language_id :: - * The language ID for `string`. See @TT_MAC_LANGID_XXX and - * @TT_MS_LANGID_XXX for possible values. - * - * Registered OpenType values for `language_id` are always smaller than - * 0x8000; values equal or larger than 0x8000 usually indicate a - * language tag string (introduced in OpenType version 1.6). Use - * function @FT_Get_Sfnt_LangTag with `language_id` as its argument to - * retrieve the associated language tag. - * - * name_id :: - * An identifier for `string`. See @TT_NAME_ID_XXX for possible - * values. - * - * string :: - * The 'name' string. Note that its format differs depending on the - * (platform,encoding) pair, being either a string of bytes (without a - * terminating `NULL` byte) or containing UTF-16BE entities. - * - * string_len :: - * The length of `string` in bytes. - * - * @note: - * Please refer to the TrueType or OpenType specification for more - * details. - */ - typedef struct FT_SfntName_ - { - FT_UShort platform_id; - FT_UShort encoding_id; - FT_UShort language_id; - FT_UShort name_id; - - FT_Byte* string; /* this string is *not* null-terminated! */ - FT_UInt string_len; /* in bytes */ - - } FT_SfntName; - - - /************************************************************************** - * - * @function: - * FT_Get_Sfnt_Name_Count - * - * @description: - * Retrieve the number of name strings in the SFNT 'name' table. - * - * @input: - * face :: - * A handle to the source face. - * - * @return: - * The number of strings in the 'name' table. - * - * @note: - * This function always returns an error if the config macro - * `TT_CONFIG_OPTION_SFNT_NAMES` is not defined in `ftoption.h`. - */ - FT_EXPORT( FT_UInt ) - FT_Get_Sfnt_Name_Count( FT_Face face ); - - - /************************************************************************** - * - * @function: - * FT_Get_Sfnt_Name - * - * @description: - * Retrieve a string of the SFNT 'name' table for a given index. - * - * @input: - * face :: - * A handle to the source face. - * - * idx :: - * The index of the 'name' string. - * - * @output: - * aname :: - * The indexed @FT_SfntName structure. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The `string` array returned in the `aname` structure is not - * null-terminated. Note that you don't have to deallocate `string` by - * yourself; FreeType takes care of it if you call @FT_Done_Face. - * - * Use @FT_Get_Sfnt_Name_Count to get the total number of available - * 'name' table entries, then do a loop until you get the right platform, - * encoding, and name ID. - * - * 'name' table format~1 entries can use language tags also, see - * @FT_Get_Sfnt_LangTag. - * - * This function always returns an error if the config macro - * `TT_CONFIG_OPTION_SFNT_NAMES` is not defined in `ftoption.h`. - */ - FT_EXPORT( FT_Error ) - FT_Get_Sfnt_Name( FT_Face face, - FT_UInt idx, - FT_SfntName *aname ); - - - /************************************************************************** - * - * @struct: - * FT_SfntLangTag - * - * @description: - * A structure to model a language tag entry from an SFNT 'name' table. - * - * @fields: - * string :: - * The language tag string, encoded in UTF-16BE (without trailing - * `NULL` bytes). - * - * string_len :: - * The length of `string` in **bytes**. - * - * @note: - * Please refer to the TrueType or OpenType specification for more - * details. - * - * @since: - * 2.8 - */ - typedef struct FT_SfntLangTag_ - { - FT_Byte* string; /* this string is *not* null-terminated! */ - FT_UInt string_len; /* in bytes */ - - } FT_SfntLangTag; - - - /************************************************************************** - * - * @function: - * FT_Get_Sfnt_LangTag - * - * @description: - * Retrieve the language tag associated with a language ID of an SFNT - * 'name' table entry. - * - * @input: - * face :: - * A handle to the source face. - * - * langID :: - * The language ID, as returned by @FT_Get_Sfnt_Name. This is always a - * value larger than 0x8000. - * - * @output: - * alangTag :: - * The language tag associated with the 'name' table entry's language - * ID. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The `string` array returned in the `alangTag` structure is not - * null-terminated. Note that you don't have to deallocate `string` by - * yourself; FreeType takes care of it if you call @FT_Done_Face. - * - * Only 'name' table format~1 supports language tags. For format~0 - * tables, this function always returns FT_Err_Invalid_Table. For - * invalid format~1 language ID values, FT_Err_Invalid_Argument is - * returned. - * - * This function always returns an error if the config macro - * `TT_CONFIG_OPTION_SFNT_NAMES` is not defined in `ftoption.h`. - * - * @since: - * 2.8 - */ - FT_EXPORT( FT_Error ) - FT_Get_Sfnt_LangTag( FT_Face face, - FT_UInt langID, - FT_SfntLangTag *alangTag ); - - - /* */ - - -FT_END_HEADER - -#endif /* FTSNAMES_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftstroke.h b/FreeType/include/freetype/ftstroke.h deleted file mode 100644 index 01a9c18..0000000 --- a/FreeType/include/freetype/ftstroke.h +++ /dev/null @@ -1,772 +0,0 @@ -/**************************************************************************** - * - * ftstroke.h - * - * FreeType path stroker (specification). - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTSTROKE_H_ -#define FTSTROKE_H_ - -#include -#include FT_OUTLINE_H -#include FT_GLYPH_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * glyph_stroker - * - * @title: - * Glyph Stroker - * - * @abstract: - * Generating bordered and stroked glyphs. - * - * @description: - * This component generates stroked outlines of a given vectorial glyph. - * It also allows you to retrieve the 'outside' and/or the 'inside' - * borders of the stroke. - * - * This can be useful to generate 'bordered' glyph, i.e., glyphs - * displayed with a coloured (and anti-aliased) border around their - * shape. - * - * @order: - * FT_Stroker - * - * FT_Stroker_LineJoin - * FT_Stroker_LineCap - * FT_StrokerBorder - * - * FT_Outline_GetInsideBorder - * FT_Outline_GetOutsideBorder - * - * FT_Glyph_Stroke - * FT_Glyph_StrokeBorder - * - * FT_Stroker_New - * FT_Stroker_Set - * FT_Stroker_Rewind - * FT_Stroker_ParseOutline - * FT_Stroker_Done - * - * FT_Stroker_BeginSubPath - * FT_Stroker_EndSubPath - * - * FT_Stroker_LineTo - * FT_Stroker_ConicTo - * FT_Stroker_CubicTo - * - * FT_Stroker_GetBorderCounts - * FT_Stroker_ExportBorder - * FT_Stroker_GetCounts - * FT_Stroker_Export - * - */ - - - /************************************************************************** - * - * @type: - * FT_Stroker - * - * @description: - * Opaque handle to a path stroker object. - */ - typedef struct FT_StrokerRec_* FT_Stroker; - - - /************************************************************************** - * - * @enum: - * FT_Stroker_LineJoin - * - * @description: - * These values determine how two joining lines are rendered in a - * stroker. - * - * @values: - * FT_STROKER_LINEJOIN_ROUND :: - * Used to render rounded line joins. Circular arcs are used to join - * two lines smoothly. - * - * FT_STROKER_LINEJOIN_BEVEL :: - * Used to render beveled line joins. The outer corner of the joined - * lines is filled by enclosing the triangular region of the corner - * with a straight line between the outer corners of each stroke. - * - * FT_STROKER_LINEJOIN_MITER_FIXED :: - * Used to render mitered line joins, with fixed bevels if the miter - * limit is exceeded. The outer edges of the strokes for the two - * segments are extended until they meet at an angle. If the segments - * meet at too sharp an angle (such that the miter would extend from - * the intersection of the segments a distance greater than the product - * of the miter limit value and the border radius), then a bevel join - * (see above) is used instead. This prevents long spikes being - * created. `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line - * join as used in PostScript and PDF. - * - * FT_STROKER_LINEJOIN_MITER_VARIABLE :: - * FT_STROKER_LINEJOIN_MITER :: - * Used to render mitered line joins, with variable bevels if the miter - * limit is exceeded. The intersection of the strokes is clipped at a - * line perpendicular to the bisector of the angle between the strokes, - * at the distance from the intersection of the segments equal to the - * product of the miter limit value and the border radius. This - * prevents long spikes being created. - * `FT_STROKER_LINEJOIN_MITER_VARIABLE` generates a mitered line join - * as used in XPS. `FT_STROKER_LINEJOIN_MITER` is an alias for - * `FT_STROKER_LINEJOIN_MITER_VARIABLE`, retained for backward - * compatibility. - */ - typedef enum FT_Stroker_LineJoin_ - { - FT_STROKER_LINEJOIN_ROUND = 0, - FT_STROKER_LINEJOIN_BEVEL = 1, - FT_STROKER_LINEJOIN_MITER_VARIABLE = 2, - FT_STROKER_LINEJOIN_MITER = FT_STROKER_LINEJOIN_MITER_VARIABLE, - FT_STROKER_LINEJOIN_MITER_FIXED = 3 - - } FT_Stroker_LineJoin; - - - /************************************************************************** - * - * @enum: - * FT_Stroker_LineCap - * - * @description: - * These values determine how the end of opened sub-paths are rendered in - * a stroke. - * - * @values: - * FT_STROKER_LINECAP_BUTT :: - * The end of lines is rendered as a full stop on the last point - * itself. - * - * FT_STROKER_LINECAP_ROUND :: - * The end of lines is rendered as a half-circle around the last point. - * - * FT_STROKER_LINECAP_SQUARE :: - * The end of lines is rendered as a square around the last point. - */ - typedef enum FT_Stroker_LineCap_ - { - FT_STROKER_LINECAP_BUTT = 0, - FT_STROKER_LINECAP_ROUND, - FT_STROKER_LINECAP_SQUARE - - } FT_Stroker_LineCap; - - - /************************************************************************** - * - * @enum: - * FT_StrokerBorder - * - * @description: - * These values are used to select a given stroke border in - * @FT_Stroker_GetBorderCounts and @FT_Stroker_ExportBorder. - * - * @values: - * FT_STROKER_BORDER_LEFT :: - * Select the left border, relative to the drawing direction. - * - * FT_STROKER_BORDER_RIGHT :: - * Select the right border, relative to the drawing direction. - * - * @note: - * Applications are generally interested in the 'inside' and 'outside' - * borders. However, there is no direct mapping between these and the - * 'left' and 'right' ones, since this really depends on the glyph's - * drawing orientation, which varies between font formats. - * - * You can however use @FT_Outline_GetInsideBorder and - * @FT_Outline_GetOutsideBorder to get these. - */ - typedef enum FT_StrokerBorder_ - { - FT_STROKER_BORDER_LEFT = 0, - FT_STROKER_BORDER_RIGHT - - } FT_StrokerBorder; - - - /************************************************************************** - * - * @function: - * FT_Outline_GetInsideBorder - * - * @description: - * Retrieve the @FT_StrokerBorder value corresponding to the 'inside' - * borders of a given outline. - * - * @input: - * outline :: - * The source outline handle. - * - * @return: - * The border index. @FT_STROKER_BORDER_RIGHT for empty or invalid - * outlines. - */ - FT_EXPORT( FT_StrokerBorder ) - FT_Outline_GetInsideBorder( FT_Outline* outline ); - - - /************************************************************************** - * - * @function: - * FT_Outline_GetOutsideBorder - * - * @description: - * Retrieve the @FT_StrokerBorder value corresponding to the 'outside' - * borders of a given outline. - * - * @input: - * outline :: - * The source outline handle. - * - * @return: - * The border index. @FT_STROKER_BORDER_LEFT for empty or invalid - * outlines. - */ - FT_EXPORT( FT_StrokerBorder ) - FT_Outline_GetOutsideBorder( FT_Outline* outline ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_New - * - * @description: - * Create a new stroker object. - * - * @input: - * library :: - * FreeType library handle. - * - * @output: - * astroker :: - * A new stroker object handle. `NULL` in case of error. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Stroker_New( FT_Library library, - FT_Stroker *astroker ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_Set - * - * @description: - * Reset a stroker object's attributes. - * - * @input: - * stroker :: - * The target stroker handle. - * - * radius :: - * The border radius. - * - * line_cap :: - * The line cap style. - * - * line_join :: - * The line join style. - * - * miter_limit :: - * The miter limit for the `FT_STROKER_LINEJOIN_MITER_FIXED` and - * `FT_STROKER_LINEJOIN_MITER_VARIABLE` line join styles, expressed as - * 16.16 fixed-point value. - * - * @note: - * The radius is expressed in the same units as the outline coordinates. - * - * This function calls @FT_Stroker_Rewind automatically. - */ - FT_EXPORT( void ) - FT_Stroker_Set( FT_Stroker stroker, - FT_Fixed radius, - FT_Stroker_LineCap line_cap, - FT_Stroker_LineJoin line_join, - FT_Fixed miter_limit ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_Rewind - * - * @description: - * Reset a stroker object without changing its attributes. You should - * call this function before beginning a new series of calls to - * @FT_Stroker_BeginSubPath or @FT_Stroker_EndSubPath. - * - * @input: - * stroker :: - * The target stroker handle. - */ - FT_EXPORT( void ) - FT_Stroker_Rewind( FT_Stroker stroker ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_ParseOutline - * - * @description: - * A convenience function used to parse a whole outline with the stroker. - * The resulting outline(s) can be retrieved later by functions like - * @FT_Stroker_GetCounts and @FT_Stroker_Export. - * - * @input: - * stroker :: - * The target stroker handle. - * - * outline :: - * The source outline. - * - * opened :: - * A boolean. If~1, the outline is treated as an open path instead of - * a closed one. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If `opened` is~0 (the default), the outline is treated as a closed - * path, and the stroker generates two distinct 'border' outlines. - * - * If `opened` is~1, the outline is processed as an open path, and the - * stroker generates a single 'stroke' outline. - * - * This function calls @FT_Stroker_Rewind automatically. - */ - FT_EXPORT( FT_Error ) - FT_Stroker_ParseOutline( FT_Stroker stroker, - FT_Outline* outline, - FT_Bool opened ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_BeginSubPath - * - * @description: - * Start a new sub-path in the stroker. - * - * @input: - * stroker :: - * The target stroker handle. - * - * to :: - * A pointer to the start vector. - * - * open :: - * A boolean. If~1, the sub-path is treated as an open one. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function is useful when you need to stroke a path that is not - * stored as an @FT_Outline object. - */ - FT_EXPORT( FT_Error ) - FT_Stroker_BeginSubPath( FT_Stroker stroker, - FT_Vector* to, - FT_Bool open ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_EndSubPath - * - * @description: - * Close the current sub-path in the stroker. - * - * @input: - * stroker :: - * The target stroker handle. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * You should call this function after @FT_Stroker_BeginSubPath. If the - * subpath was not 'opened', this function 'draws' a single line segment - * to the start position when needed. - */ - FT_EXPORT( FT_Error ) - FT_Stroker_EndSubPath( FT_Stroker stroker ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_LineTo - * - * @description: - * 'Draw' a single line segment in the stroker's current sub-path, from - * the last position. - * - * @input: - * stroker :: - * The target stroker handle. - * - * to :: - * A pointer to the destination point. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * You should call this function between @FT_Stroker_BeginSubPath and - * @FT_Stroker_EndSubPath. - */ - FT_EXPORT( FT_Error ) - FT_Stroker_LineTo( FT_Stroker stroker, - FT_Vector* to ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_ConicTo - * - * @description: - * 'Draw' a single quadratic Bezier in the stroker's current sub-path, - * from the last position. - * - * @input: - * stroker :: - * The target stroker handle. - * - * control :: - * A pointer to a Bezier control point. - * - * to :: - * A pointer to the destination point. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * You should call this function between @FT_Stroker_BeginSubPath and - * @FT_Stroker_EndSubPath. - */ - FT_EXPORT( FT_Error ) - FT_Stroker_ConicTo( FT_Stroker stroker, - FT_Vector* control, - FT_Vector* to ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_CubicTo - * - * @description: - * 'Draw' a single cubic Bezier in the stroker's current sub-path, from - * the last position. - * - * @input: - * stroker :: - * The target stroker handle. - * - * control1 :: - * A pointer to the first Bezier control point. - * - * control2 :: - * A pointer to second Bezier control point. - * - * to :: - * A pointer to the destination point. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * You should call this function between @FT_Stroker_BeginSubPath and - * @FT_Stroker_EndSubPath. - */ - FT_EXPORT( FT_Error ) - FT_Stroker_CubicTo( FT_Stroker stroker, - FT_Vector* control1, - FT_Vector* control2, - FT_Vector* to ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_GetBorderCounts - * - * @description: - * Call this function once you have finished parsing your paths with the - * stroker. It returns the number of points and contours necessary to - * export one of the 'border' or 'stroke' outlines generated by the - * stroker. - * - * @input: - * stroker :: - * The target stroker handle. - * - * border :: - * The border index. - * - * @output: - * anum_points :: - * The number of points. - * - * anum_contours :: - * The number of contours. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * When an outline, or a sub-path, is 'closed', the stroker generates two - * independent 'border' outlines, named 'left' and 'right'. - * - * When the outline, or a sub-path, is 'opened', the stroker merges the - * 'border' outlines with caps. The 'left' border receives all points, - * while the 'right' border becomes empty. - * - * Use the function @FT_Stroker_GetCounts instead if you want to retrieve - * the counts associated to both borders. - */ - FT_EXPORT( FT_Error ) - FT_Stroker_GetBorderCounts( FT_Stroker stroker, - FT_StrokerBorder border, - FT_UInt *anum_points, - FT_UInt *anum_contours ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_ExportBorder - * - * @description: - * Call this function after @FT_Stroker_GetBorderCounts to export the - * corresponding border to your own @FT_Outline structure. - * - * Note that this function appends the border points and contours to your - * outline, but does not try to resize its arrays. - * - * @input: - * stroker :: - * The target stroker handle. - * - * border :: - * The border index. - * - * outline :: - * The target outline handle. - * - * @note: - * Always call this function after @FT_Stroker_GetBorderCounts to get - * sure that there is enough room in your @FT_Outline object to receive - * all new data. - * - * When an outline, or a sub-path, is 'closed', the stroker generates two - * independent 'border' outlines, named 'left' and 'right'. - * - * When the outline, or a sub-path, is 'opened', the stroker merges the - * 'border' outlines with caps. The 'left' border receives all points, - * while the 'right' border becomes empty. - * - * Use the function @FT_Stroker_Export instead if you want to retrieve - * all borders at once. - */ - FT_EXPORT( void ) - FT_Stroker_ExportBorder( FT_Stroker stroker, - FT_StrokerBorder border, - FT_Outline* outline ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_GetCounts - * - * @description: - * Call this function once you have finished parsing your paths with the - * stroker. It returns the number of points and contours necessary to - * export all points/borders from the stroked outline/path. - * - * @input: - * stroker :: - * The target stroker handle. - * - * @output: - * anum_points :: - * The number of points. - * - * anum_contours :: - * The number of contours. - * - * @return: - * FreeType error code. 0~means success. - */ - FT_EXPORT( FT_Error ) - FT_Stroker_GetCounts( FT_Stroker stroker, - FT_UInt *anum_points, - FT_UInt *anum_contours ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_Export - * - * @description: - * Call this function after @FT_Stroker_GetBorderCounts to export all - * borders to your own @FT_Outline structure. - * - * Note that this function appends the border points and contours to your - * outline, but does not try to resize its arrays. - * - * @input: - * stroker :: - * The target stroker handle. - * - * outline :: - * The target outline handle. - */ - FT_EXPORT( void ) - FT_Stroker_Export( FT_Stroker stroker, - FT_Outline* outline ); - - - /************************************************************************** - * - * @function: - * FT_Stroker_Done - * - * @description: - * Destroy a stroker object. - * - * @input: - * stroker :: - * A stroker handle. Can be `NULL`. - */ - FT_EXPORT( void ) - FT_Stroker_Done( FT_Stroker stroker ); - - - /************************************************************************** - * - * @function: - * FT_Glyph_Stroke - * - * @description: - * Stroke a given outline glyph object with a given stroker. - * - * @inout: - * pglyph :: - * Source glyph handle on input, new glyph handle on output. - * - * @input: - * stroker :: - * A stroker handle. - * - * destroy :: - * A Boolean. If~1, the source glyph object is destroyed on success. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The source glyph is untouched in case of error. - * - * Adding stroke may yield a significantly wider and taller glyph - * depending on how large of a radius was used to stroke the glyph. You - * may need to manually adjust horizontal and vertical advance amounts to - * account for this added size. - */ - FT_EXPORT( FT_Error ) - FT_Glyph_Stroke( FT_Glyph *pglyph, - FT_Stroker stroker, - FT_Bool destroy ); - - - /************************************************************************** - * - * @function: - * FT_Glyph_StrokeBorder - * - * @description: - * Stroke a given outline glyph object with a given stroker, but only - * return either its inside or outside border. - * - * @inout: - * pglyph :: - * Source glyph handle on input, new glyph handle on output. - * - * @input: - * stroker :: - * A stroker handle. - * - * inside :: - * A Boolean. If~1, return the inside border, otherwise the outside - * border. - * - * destroy :: - * A Boolean. If~1, the source glyph object is destroyed on success. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The source glyph is untouched in case of error. - * - * Adding stroke may yield a significantly wider and taller glyph - * depending on how large of a radius was used to stroke the glyph. You - * may need to manually adjust horizontal and vertical advance amounts to - * account for this added size. - */ - FT_EXPORT( FT_Error ) - FT_Glyph_StrokeBorder( FT_Glyph *pglyph, - FT_Stroker stroker, - FT_Bool inside, - FT_Bool destroy ); - - /* */ - -FT_END_HEADER - -#endif /* FTSTROKE_H_ */ - - -/* END */ - - -/* Local Variables: */ -/* coding: utf-8 */ -/* End: */ diff --git a/FreeType/include/freetype/ftsynth.h b/FreeType/include/freetype/ftsynth.h deleted file mode 100644 index 8754f97..0000000 --- a/FreeType/include/freetype/ftsynth.h +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** - * - * ftsynth.h - * - * FreeType synthesizing code for emboldening and slanting - * (specification). - * - * Copyright (C) 2000-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /********* *********/ - /********* WARNING, THIS IS ALPHA CODE! THIS API *********/ - /********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/ - /********* FREETYPE DEVELOPMENT TEAM *********/ - /********* *********/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /* Main reason for not lifting the functions in this module to a */ - /* 'standard' API is that the used parameters for emboldening and */ - /* slanting are not configurable. Consider the functions as a */ - /* code resource that should be copied into the application and */ - /* adapted to the particular needs. */ - - -#ifndef FTSYNTH_H_ -#define FTSYNTH_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - /* Embolden a glyph by a 'reasonable' value (which is highly a matter of */ - /* taste). This function is actually a convenience function, providing */ - /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */ - /* */ - /* For emboldened outlines the height, width, and advance metrics are */ - /* increased by the strength of the emboldening -- this even affects */ - /* mono-width fonts! */ - /* */ - /* You can also call @FT_Outline_Get_CBox to get precise values. */ - FT_EXPORT( void ) - FT_GlyphSlot_Embolden( FT_GlyphSlot slot ); - - /* Slant an outline glyph to the right by about 12 degrees. */ - FT_EXPORT( void ) - FT_GlyphSlot_Oblique( FT_GlyphSlot slot ); - - /* */ - - -FT_END_HEADER - -#endif /* FTSYNTH_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftsystem.h b/FreeType/include/freetype/ftsystem.h deleted file mode 100644 index 889a6ba..0000000 --- a/FreeType/include/freetype/ftsystem.h +++ /dev/null @@ -1,353 +0,0 @@ -/**************************************************************************** - * - * ftsystem.h - * - * FreeType low-level system interface definition (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTSYSTEM_H_ -#define FTSYSTEM_H_ - - -#include - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * system_interface - * - * @title: - * System Interface - * - * @abstract: - * How FreeType manages memory and i/o. - * - * @description: - * This section contains various definitions related to memory management - * and i/o access. You need to understand this information if you want to - * use a custom memory manager or you own i/o streams. - * - */ - - - /************************************************************************** - * - * M E M O R Y M A N A G E M E N T - * - */ - - - /************************************************************************** - * - * @type: - * FT_Memory - * - * @description: - * A handle to a given memory manager object, defined with an - * @FT_MemoryRec structure. - * - */ - typedef struct FT_MemoryRec_* FT_Memory; - - - /************************************************************************** - * - * @functype: - * FT_Alloc_Func - * - * @description: - * A function used to allocate `size` bytes from `memory`. - * - * @input: - * memory :: - * A handle to the source memory manager. - * - * size :: - * The size in bytes to allocate. - * - * @return: - * Address of new memory block. 0~in case of failure. - * - */ - typedef void* - (*FT_Alloc_Func)( FT_Memory memory, - long size ); - - - /************************************************************************** - * - * @functype: - * FT_Free_Func - * - * @description: - * A function used to release a given block of memory. - * - * @input: - * memory :: - * A handle to the source memory manager. - * - * block :: - * The address of the target memory block. - * - */ - typedef void - (*FT_Free_Func)( FT_Memory memory, - void* block ); - - - /************************************************************************** - * - * @functype: - * FT_Realloc_Func - * - * @description: - * A function used to re-allocate a given block of memory. - * - * @input: - * memory :: - * A handle to the source memory manager. - * - * cur_size :: - * The block's current size in bytes. - * - * new_size :: - * The block's requested new size. - * - * block :: - * The block's current address. - * - * @return: - * New block address. 0~in case of memory shortage. - * - * @note: - * In case of error, the old block must still be available. - * - */ - typedef void* - (*FT_Realloc_Func)( FT_Memory memory, - long cur_size, - long new_size, - void* block ); - - - /************************************************************************** - * - * @struct: - * FT_MemoryRec - * - * @description: - * A structure used to describe a given memory manager to FreeType~2. - * - * @fields: - * user :: - * A generic typeless pointer for user data. - * - * alloc :: - * A pointer type to an allocation function. - * - * free :: - * A pointer type to an memory freeing function. - * - * realloc :: - * A pointer type to a reallocation function. - * - */ - struct FT_MemoryRec_ - { - void* user; - FT_Alloc_Func alloc; - FT_Free_Func free; - FT_Realloc_Func realloc; - }; - - - /************************************************************************** - * - * I / O M A N A G E M E N T - * - */ - - - /************************************************************************** - * - * @type: - * FT_Stream - * - * @description: - * A handle to an input stream. - * - * @also: - * See @FT_StreamRec for the publicly accessible fields of a given stream - * object. - * - */ - typedef struct FT_StreamRec_* FT_Stream; - - - /************************************************************************** - * - * @struct: - * FT_StreamDesc - * - * @description: - * A union type used to store either a long or a pointer. This is used - * to store a file descriptor or a `FILE*` in an input stream. - * - */ - typedef union FT_StreamDesc_ - { - long value; - void* pointer; - - } FT_StreamDesc; - - - /************************************************************************** - * - * @functype: - * FT_Stream_IoFunc - * - * @description: - * A function used to seek and read data from a given input stream. - * - * @input: - * stream :: - * A handle to the source stream. - * - * offset :: - * The offset of read in stream (always from start). - * - * buffer :: - * The address of the read buffer. - * - * count :: - * The number of bytes to read from the stream. - * - * @return: - * The number of bytes effectively read by the stream. - * - * @note: - * This function might be called to perform a seek or skip operation with - * a `count` of~0. A non-zero return value then indicates an error. - * - */ - typedef unsigned long - (*FT_Stream_IoFunc)( FT_Stream stream, - unsigned long offset, - unsigned char* buffer, - unsigned long count ); - - - /************************************************************************** - * - * @functype: - * FT_Stream_CloseFunc - * - * @description: - * A function used to close a given input stream. - * - * @input: - * stream :: - * A handle to the target stream. - * - */ - typedef void - (*FT_Stream_CloseFunc)( FT_Stream stream ); - - - /************************************************************************** - * - * @struct: - * FT_StreamRec - * - * @description: - * A structure used to describe an input stream. - * - * @input: - * base :: - * For memory-based streams, this is the address of the first stream - * byte in memory. This field should always be set to `NULL` for - * disk-based streams. - * - * size :: - * The stream size in bytes. - * - * In case of compressed streams where the size is unknown before - * actually doing the decompression, the value is set to 0x7FFFFFFF. - * (Note that this size value can occur for normal streams also; it is - * thus just a hint.) - * - * pos :: - * The current position within the stream. - * - * descriptor :: - * This field is a union that can hold an integer or a pointer. It is - * used by stream implementations to store file descriptors or `FILE*` - * pointers. - * - * pathname :: - * This field is completely ignored by FreeType. However, it is often - * useful during debugging to use it to store the stream's filename - * (where available). - * - * read :: - * The stream's input function. - * - * close :: - * The stream's close function. - * - * memory :: - * The memory manager to use to preload frames. This is set internally - * by FreeType and shouldn't be touched by stream implementations. - * - * cursor :: - * This field is set and used internally by FreeType when parsing - * frames. In particular, the `FT_GET_XXX` macros use this instead of - * the `pos` field. - * - * limit :: - * This field is set and used internally by FreeType when parsing - * frames. - * - */ - typedef struct FT_StreamRec_ - { - unsigned char* base; - unsigned long size; - unsigned long pos; - - FT_StreamDesc descriptor; - FT_StreamDesc pathname; - FT_Stream_IoFunc read; - FT_Stream_CloseFunc close; - - FT_Memory memory; - unsigned char* cursor; - unsigned char* limit; - - } FT_StreamRec; - - /* */ - - -FT_END_HEADER - -#endif /* FTSYSTEM_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/fttrigon.h b/FreeType/include/freetype/fttrigon.h deleted file mode 100644 index 37e1412..0000000 --- a/FreeType/include/freetype/fttrigon.h +++ /dev/null @@ -1,350 +0,0 @@ -/**************************************************************************** - * - * fttrigon.h - * - * FreeType trigonometric functions (specification). - * - * Copyright (C) 2001-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTTRIGON_H_ -#define FTTRIGON_H_ - -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * computations - * - */ - - - /************************************************************************** - * - * @type: - * FT_Angle - * - * @description: - * This type is used to model angle values in FreeType. Note that the - * angle is a 16.16 fixed-point value expressed in degrees. - * - */ - typedef FT_Fixed FT_Angle; - - - /************************************************************************** - * - * @macro: - * FT_ANGLE_PI - * - * @description: - * The angle pi expressed in @FT_Angle units. - * - */ -#define FT_ANGLE_PI ( 180L << 16 ) - - - /************************************************************************** - * - * @macro: - * FT_ANGLE_2PI - * - * @description: - * The angle 2*pi expressed in @FT_Angle units. - * - */ -#define FT_ANGLE_2PI ( FT_ANGLE_PI * 2 ) - - - /************************************************************************** - * - * @macro: - * FT_ANGLE_PI2 - * - * @description: - * The angle pi/2 expressed in @FT_Angle units. - * - */ -#define FT_ANGLE_PI2 ( FT_ANGLE_PI / 2 ) - - - /************************************************************************** - * - * @macro: - * FT_ANGLE_PI4 - * - * @description: - * The angle pi/4 expressed in @FT_Angle units. - * - */ -#define FT_ANGLE_PI4 ( FT_ANGLE_PI / 4 ) - - - /************************************************************************** - * - * @function: - * FT_Sin - * - * @description: - * Return the sinus of a given angle in fixed-point format. - * - * @input: - * angle :: - * The input angle. - * - * @return: - * The sinus value. - * - * @note: - * If you need both the sinus and cosinus for a given angle, use the - * function @FT_Vector_Unit. - * - */ - FT_EXPORT( FT_Fixed ) - FT_Sin( FT_Angle angle ); - - - /************************************************************************** - * - * @function: - * FT_Cos - * - * @description: - * Return the cosinus of a given angle in fixed-point format. - * - * @input: - * angle :: - * The input angle. - * - * @return: - * The cosinus value. - * - * @note: - * If you need both the sinus and cosinus for a given angle, use the - * function @FT_Vector_Unit. - * - */ - FT_EXPORT( FT_Fixed ) - FT_Cos( FT_Angle angle ); - - - /************************************************************************** - * - * @function: - * FT_Tan - * - * @description: - * Return the tangent of a given angle in fixed-point format. - * - * @input: - * angle :: - * The input angle. - * - * @return: - * The tangent value. - * - */ - FT_EXPORT( FT_Fixed ) - FT_Tan( FT_Angle angle ); - - - /************************************************************************** - * - * @function: - * FT_Atan2 - * - * @description: - * Return the arc-tangent corresponding to a given vector (x,y) in the 2d - * plane. - * - * @input: - * x :: - * The horizontal vector coordinate. - * - * y :: - * The vertical vector coordinate. - * - * @return: - * The arc-tangent value (i.e. angle). - * - */ - FT_EXPORT( FT_Angle ) - FT_Atan2( FT_Fixed x, - FT_Fixed y ); - - - /************************************************************************** - * - * @function: - * FT_Angle_Diff - * - * @description: - * Return the difference between two angles. The result is always - * constrained to the ]-PI..PI] interval. - * - * @input: - * angle1 :: - * First angle. - * - * angle2 :: - * Second angle. - * - * @return: - * Constrained value of `angle2-angle1`. - * - */ - FT_EXPORT( FT_Angle ) - FT_Angle_Diff( FT_Angle angle1, - FT_Angle angle2 ); - - - /************************************************************************** - * - * @function: - * FT_Vector_Unit - * - * @description: - * Return the unit vector corresponding to a given angle. After the - * call, the value of `vec.x` will be `cos(angle)`, and the value of - * `vec.y` will be `sin(angle)`. - * - * This function is useful to retrieve both the sinus and cosinus of a - * given angle quickly. - * - * @output: - * vec :: - * The address of target vector. - * - * @input: - * angle :: - * The input angle. - * - */ - FT_EXPORT( void ) - FT_Vector_Unit( FT_Vector* vec, - FT_Angle angle ); - - - /************************************************************************** - * - * @function: - * FT_Vector_Rotate - * - * @description: - * Rotate a vector by a given angle. - * - * @inout: - * vec :: - * The address of target vector. - * - * @input: - * angle :: - * The input angle. - * - */ - FT_EXPORT( void ) - FT_Vector_Rotate( FT_Vector* vec, - FT_Angle angle ); - - - /************************************************************************** - * - * @function: - * FT_Vector_Length - * - * @description: - * Return the length of a given vector. - * - * @input: - * vec :: - * The address of target vector. - * - * @return: - * The vector length, expressed in the same units that the original - * vector coordinates. - * - */ - FT_EXPORT( FT_Fixed ) - FT_Vector_Length( FT_Vector* vec ); - - - /************************************************************************** - * - * @function: - * FT_Vector_Polarize - * - * @description: - * Compute both the length and angle of a given vector. - * - * @input: - * vec :: - * The address of source vector. - * - * @output: - * length :: - * The vector length. - * - * angle :: - * The vector angle. - * - */ - FT_EXPORT( void ) - FT_Vector_Polarize( FT_Vector* vec, - FT_Fixed *length, - FT_Angle *angle ); - - - /************************************************************************** - * - * @function: - * FT_Vector_From_Polar - * - * @description: - * Compute vector coordinates from a length and angle. - * - * @output: - * vec :: - * The address of source vector. - * - * @input: - * length :: - * The vector length. - * - * angle :: - * The vector angle. - * - */ - FT_EXPORT( void ) - FT_Vector_From_Polar( FT_Vector* vec, - FT_Fixed length, - FT_Angle angle ); - - /* */ - - -FT_END_HEADER - -#endif /* FTTRIGON_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/fttypes.h b/FreeType/include/freetype/fttypes.h deleted file mode 100644 index 1057150..0000000 --- a/FreeType/include/freetype/fttypes.h +++ /dev/null @@ -1,615 +0,0 @@ -/**************************************************************************** - * - * fttypes.h - * - * FreeType simple types definitions (specification only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTTYPES_H_ -#define FTTYPES_H_ - - -#include -#include FT_CONFIG_CONFIG_H -#include FT_SYSTEM_H -#include FT_IMAGE_H - -#include - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * basic_types - * - * @title: - * Basic Data Types - * - * @abstract: - * The basic data types defined by the library. - * - * @description: - * This section contains the basic data types defined by FreeType~2, - * ranging from simple scalar types to bitmap descriptors. More - * font-specific structures are defined in a different section. - * - * @order: - * FT_Byte - * FT_Bytes - * FT_Char - * FT_Int - * FT_UInt - * FT_Int16 - * FT_UInt16 - * FT_Int32 - * FT_UInt32 - * FT_Int64 - * FT_UInt64 - * FT_Short - * FT_UShort - * FT_Long - * FT_ULong - * FT_Bool - * FT_Offset - * FT_PtrDist - * FT_String - * FT_Tag - * FT_Error - * FT_Fixed - * FT_Pointer - * FT_Pos - * FT_Vector - * FT_BBox - * FT_Matrix - * FT_FWord - * FT_UFWord - * FT_F2Dot14 - * FT_UnitVector - * FT_F26Dot6 - * FT_Data - * - * FT_MAKE_TAG - * - * FT_Generic - * FT_Generic_Finalizer - * - * FT_Bitmap - * FT_Pixel_Mode - * FT_Palette_Mode - * FT_Glyph_Format - * FT_IMAGE_TAG - * - */ - - - /************************************************************************** - * - * @type: - * FT_Bool - * - * @description: - * A typedef of unsigned char, used for simple booleans. As usual, - * values 1 and~0 represent true and false, respectively. - */ - typedef unsigned char FT_Bool; - - - /************************************************************************** - * - * @type: - * FT_FWord - * - * @description: - * A signed 16-bit integer used to store a distance in original font - * units. - */ - typedef signed short FT_FWord; /* distance in FUnits */ - - - /************************************************************************** - * - * @type: - * FT_UFWord - * - * @description: - * An unsigned 16-bit integer used to store a distance in original font - * units. - */ - typedef unsigned short FT_UFWord; /* unsigned distance */ - - - /************************************************************************** - * - * @type: - * FT_Char - * - * @description: - * A simple typedef for the _signed_ char type. - */ - typedef signed char FT_Char; - - - /************************************************************************** - * - * @type: - * FT_Byte - * - * @description: - * A simple typedef for the _unsigned_ char type. - */ - typedef unsigned char FT_Byte; - - - /************************************************************************** - * - * @type: - * FT_Bytes - * - * @description: - * A typedef for constant memory areas. - */ - typedef const FT_Byte* FT_Bytes; - - - /************************************************************************** - * - * @type: - * FT_Tag - * - * @description: - * A typedef for 32-bit tags (as used in the SFNT format). - */ - typedef FT_UInt32 FT_Tag; - - - /************************************************************************** - * - * @type: - * FT_String - * - * @description: - * A simple typedef for the char type, usually used for strings. - */ - typedef char FT_String; - - - /************************************************************************** - * - * @type: - * FT_Short - * - * @description: - * A typedef for signed short. - */ - typedef signed short FT_Short; - - - /************************************************************************** - * - * @type: - * FT_UShort - * - * @description: - * A typedef for unsigned short. - */ - typedef unsigned short FT_UShort; - - - /************************************************************************** - * - * @type: - * FT_Int - * - * @description: - * A typedef for the int type. - */ - typedef signed int FT_Int; - - - /************************************************************************** - * - * @type: - * FT_UInt - * - * @description: - * A typedef for the unsigned int type. - */ - typedef unsigned int FT_UInt; - - - /************************************************************************** - * - * @type: - * FT_Long - * - * @description: - * A typedef for signed long. - */ - typedef signed long FT_Long; - - - /************************************************************************** - * - * @type: - * FT_ULong - * - * @description: - * A typedef for unsigned long. - */ - typedef unsigned long FT_ULong; - - - /************************************************************************** - * - * @type: - * FT_F2Dot14 - * - * @description: - * A signed 2.14 fixed-point type used for unit vectors. - */ - typedef signed short FT_F2Dot14; - - - /************************************************************************** - * - * @type: - * FT_F26Dot6 - * - * @description: - * A signed 26.6 fixed-point type used for vectorial pixel coordinates. - */ - typedef signed long FT_F26Dot6; - - - /************************************************************************** - * - * @type: - * FT_Fixed - * - * @description: - * This type is used to store 16.16 fixed-point values, like scaling - * values or matrix coefficients. - */ - typedef signed long FT_Fixed; - - - /************************************************************************** - * - * @type: - * FT_Error - * - * @description: - * The FreeType error code type. A value of~0 is always interpreted as a - * successful operation. - */ - typedef int FT_Error; - - - /************************************************************************** - * - * @type: - * FT_Pointer - * - * @description: - * A simple typedef for a typeless pointer. - */ - typedef void* FT_Pointer; - - - /************************************************************************** - * - * @type: - * FT_Offset - * - * @description: - * This is equivalent to the ANSI~C `size_t` type, i.e., the largest - * _unsigned_ integer type used to express a file size or position, or a - * memory block size. - */ - typedef size_t FT_Offset; - - - /************************************************************************** - * - * @type: - * FT_PtrDist - * - * @description: - * This is equivalent to the ANSI~C `ptrdiff_t` type, i.e., the largest - * _signed_ integer type used to express the distance between two - * pointers. - */ - typedef ft_ptrdiff_t FT_PtrDist; - - - /************************************************************************** - * - * @struct: - * FT_UnitVector - * - * @description: - * A simple structure used to store a 2D vector unit vector. Uses - * FT_F2Dot14 types. - * - * @fields: - * x :: - * Horizontal coordinate. - * - * y :: - * Vertical coordinate. - */ - typedef struct FT_UnitVector_ - { - FT_F2Dot14 x; - FT_F2Dot14 y; - - } FT_UnitVector; - - - /************************************************************************** - * - * @struct: - * FT_Matrix - * - * @description: - * A simple structure used to store a 2x2 matrix. Coefficients are in - * 16.16 fixed-point format. The computation performed is: - * - * ``` - * x' = x*xx + y*xy - * y' = x*yx + y*yy - * ``` - * - * @fields: - * xx :: - * Matrix coefficient. - * - * xy :: - * Matrix coefficient. - * - * yx :: - * Matrix coefficient. - * - * yy :: - * Matrix coefficient. - */ - typedef struct FT_Matrix_ - { - FT_Fixed xx, xy; - FT_Fixed yx, yy; - - } FT_Matrix; - - - /************************************************************************** - * - * @struct: - * FT_Data - * - * @description: - * Read-only binary data represented as a pointer and a length. - * - * @fields: - * pointer :: - * The data. - * - * length :: - * The length of the data in bytes. - */ - typedef struct FT_Data_ - { - const FT_Byte* pointer; - FT_Int length; - - } FT_Data; - - - /************************************************************************** - * - * @functype: - * FT_Generic_Finalizer - * - * @description: - * Describe a function used to destroy the 'client' data of any FreeType - * object. See the description of the @FT_Generic type for details of - * usage. - * - * @input: - * The address of the FreeType object that is under finalization. Its - * client data is accessed through its `generic` field. - */ - typedef void (*FT_Generic_Finalizer)( void* object ); - - - /************************************************************************** - * - * @struct: - * FT_Generic - * - * @description: - * Client applications often need to associate their own data to a - * variety of FreeType core objects. For example, a text layout API - * might want to associate a glyph cache to a given size object. - * - * Some FreeType object contains a `generic` field, of type `FT_Generic`, - * which usage is left to client applications and font servers. - * - * It can be used to store a pointer to client-specific data, as well as - * the address of a 'finalizer' function, which will be called by - * FreeType when the object is destroyed (for example, the previous - * client example would put the address of the glyph cache destructor in - * the `finalizer` field). - * - * @fields: - * data :: - * A typeless pointer to any client-specified data. This field is - * completely ignored by the FreeType library. - * - * finalizer :: - * A pointer to a 'generic finalizer' function, which will be called - * when the object is destroyed. If this field is set to `NULL`, no - * code will be called. - */ - typedef struct FT_Generic_ - { - void* data; - FT_Generic_Finalizer finalizer; - - } FT_Generic; - - - /************************************************************************** - * - * @macro: - * FT_MAKE_TAG - * - * @description: - * This macro converts four-letter tags that are used to label TrueType - * tables into an unsigned long, to be used within FreeType. - * - * @note: - * The produced values **must** be 32-bit integers. Don't redefine this - * macro. - */ -#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \ - (FT_Tag) \ - ( ( (FT_ULong)_x1 << 24 ) | \ - ( (FT_ULong)_x2 << 16 ) | \ - ( (FT_ULong)_x3 << 8 ) | \ - (FT_ULong)_x4 ) - - - /*************************************************************************/ - /*************************************************************************/ - /* */ - /* L I S T M A N A G E M E N T */ - /* */ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @section: - * list_processing - * - */ - - - /************************************************************************** - * - * @type: - * FT_ListNode - * - * @description: - * Many elements and objects in FreeType are listed through an @FT_List - * record (see @FT_ListRec). As its name suggests, an FT_ListNode is a - * handle to a single list element. - */ - typedef struct FT_ListNodeRec_* FT_ListNode; - - - /************************************************************************** - * - * @type: - * FT_List - * - * @description: - * A handle to a list record (see @FT_ListRec). - */ - typedef struct FT_ListRec_* FT_List; - - - /************************************************************************** - * - * @struct: - * FT_ListNodeRec - * - * @description: - * A structure used to hold a single list element. - * - * @fields: - * prev :: - * The previous element in the list. `NULL` if first. - * - * next :: - * The next element in the list. `NULL` if last. - * - * data :: - * A typeless pointer to the listed object. - */ - typedef struct FT_ListNodeRec_ - { - FT_ListNode prev; - FT_ListNode next; - void* data; - - } FT_ListNodeRec; - - - /************************************************************************** - * - * @struct: - * FT_ListRec - * - * @description: - * A structure used to hold a simple doubly-linked list. These are used - * in many parts of FreeType. - * - * @fields: - * head :: - * The head (first element) of doubly-linked list. - * - * tail :: - * The tail (last element) of doubly-linked list. - */ - typedef struct FT_ListRec_ - { - FT_ListNode head; - FT_ListNode tail; - - } FT_ListRec; - - /* */ - - -#define FT_IS_EMPTY( list ) ( (list).head == 0 ) -#define FT_BOOL( x ) ( (FT_Bool)( (x) != 0 ) ) - - /* concatenate C tokens */ -#define FT_ERR_XCAT( x, y ) x ## y -#define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y ) - - /* see `ftmoderr.h` for descriptions of the following macros */ - -#define FT_ERR( e ) FT_ERR_CAT( FT_ERR_PREFIX, e ) - -#define FT_ERROR_BASE( x ) ( (x) & 0xFF ) -#define FT_ERROR_MODULE( x ) ( (x) & 0xFF00U ) - -#define FT_ERR_EQ( x, e ) \ - ( FT_ERROR_BASE( x ) == FT_ERROR_BASE( FT_ERR( e ) ) ) -#define FT_ERR_NEQ( x, e ) \ - ( FT_ERROR_BASE( x ) != FT_ERROR_BASE( FT_ERR( e ) ) ) - - -FT_END_HEADER - -#endif /* FTTYPES_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ftwinfnt.h b/FreeType/include/freetype/ftwinfnt.h deleted file mode 100644 index 3437913..0000000 --- a/FreeType/include/freetype/ftwinfnt.h +++ /dev/null @@ -1,277 +0,0 @@ -/**************************************************************************** - * - * ftwinfnt.h - * - * FreeType API for accessing Windows fnt-specific data. - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTWINFNT_H_ -#define FTWINFNT_H_ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * winfnt_fonts - * - * @title: - * Window FNT Files - * - * @abstract: - * Windows FNT-specific API. - * - * @description: - * This section contains the declaration of Windows FNT-specific - * functions. - * - */ - - - /************************************************************************** - * - * @enum: - * FT_WinFNT_ID_XXX - * - * @description: - * A list of valid values for the `charset` byte in @FT_WinFNT_HeaderRec. - * Exact mapping tables for the various 'cpXXXX' encodings (except for - * 'cp1361') can be found at 'ftp://ftp.unicode.org/Public' in the - * `MAPPINGS/VENDORS/MICSFT/WINDOWS` subdirectory. 'cp1361' is roughly a - * superset of `MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT`. - * - * @values: - * FT_WinFNT_ID_DEFAULT :: - * This is used for font enumeration and font creation as a 'don't - * care' value. Valid font files don't contain this value. When - * querying for information about the character set of the font that is - * currently selected into a specified device context, this return - * value (of the related Windows API) simply denotes failure. - * - * FT_WinFNT_ID_SYMBOL :: - * There is no known mapping table available. - * - * FT_WinFNT_ID_MAC :: - * Mac Roman encoding. - * - * FT_WinFNT_ID_OEM :: - * From Michael Poettgen : - * - * The 'Windows Font Mapping' article says that `FT_WinFNT_ID_OEM` is - * used for the charset of vector fonts, like `modern.fon`, - * `roman.fon`, and `script.fon` on Windows. - * - * The 'CreateFont' documentation says: The `FT_WinFNT_ID_OEM` value - * specifies a character set that is operating-system dependent. - * - * The 'IFIMETRICS' documentation from the 'Windows Driver Development - * Kit' says: This font supports an OEM-specific character set. The - * OEM character set is system dependent. - * - * In general OEM, as opposed to ANSI (i.e., 'cp1252'), denotes the - * second default codepage that most international versions of Windows - * have. It is one of the OEM codepages from - * - * https://docs.microsoft.com/en-us/windows/desktop/intl/code-page-identifiers - * , - * - * and is used for the 'DOS boxes', to support legacy applications. A - * German Windows version for example usually uses ANSI codepage 1252 - * and OEM codepage 850. - * - * FT_WinFNT_ID_CP874 :: - * A superset of Thai TIS 620 and ISO 8859-11. - * - * FT_WinFNT_ID_CP932 :: - * A superset of Japanese Shift-JIS (with minor deviations). - * - * FT_WinFNT_ID_CP936 :: - * A superset of simplified Chinese GB 2312-1980 (with different - * ordering and minor deviations). - * - * FT_WinFNT_ID_CP949 :: - * A superset of Korean Hangul KS~C 5601-1987 (with different ordering - * and minor deviations). - * - * FT_WinFNT_ID_CP950 :: - * A superset of traditional Chinese Big~5 ETen (with different - * ordering and minor deviations). - * - * FT_WinFNT_ID_CP1250 :: - * A superset of East European ISO 8859-2 (with slightly different - * ordering). - * - * FT_WinFNT_ID_CP1251 :: - * A superset of Russian ISO 8859-5 (with different ordering). - * - * FT_WinFNT_ID_CP1252 :: - * ANSI encoding. A superset of ISO 8859-1. - * - * FT_WinFNT_ID_CP1253 :: - * A superset of Greek ISO 8859-7 (with minor modifications). - * - * FT_WinFNT_ID_CP1254 :: - * A superset of Turkish ISO 8859-9. - * - * FT_WinFNT_ID_CP1255 :: - * A superset of Hebrew ISO 8859-8 (with some modifications). - * - * FT_WinFNT_ID_CP1256 :: - * A superset of Arabic ISO 8859-6 (with different ordering). - * - * FT_WinFNT_ID_CP1257 :: - * A superset of Baltic ISO 8859-13 (with some deviations). - * - * FT_WinFNT_ID_CP1258 :: - * For Vietnamese. This encoding doesn't cover all necessary - * characters. - * - * FT_WinFNT_ID_CP1361 :: - * Korean (Johab). - */ - -#define FT_WinFNT_ID_CP1252 0 -#define FT_WinFNT_ID_DEFAULT 1 -#define FT_WinFNT_ID_SYMBOL 2 -#define FT_WinFNT_ID_MAC 77 -#define FT_WinFNT_ID_CP932 128 -#define FT_WinFNT_ID_CP949 129 -#define FT_WinFNT_ID_CP1361 130 -#define FT_WinFNT_ID_CP936 134 -#define FT_WinFNT_ID_CP950 136 -#define FT_WinFNT_ID_CP1253 161 -#define FT_WinFNT_ID_CP1254 162 -#define FT_WinFNT_ID_CP1258 163 -#define FT_WinFNT_ID_CP1255 177 -#define FT_WinFNT_ID_CP1256 178 -#define FT_WinFNT_ID_CP1257 186 -#define FT_WinFNT_ID_CP1251 204 -#define FT_WinFNT_ID_CP874 222 -#define FT_WinFNT_ID_CP1250 238 -#define FT_WinFNT_ID_OEM 255 - - - /************************************************************************** - * - * @struct: - * FT_WinFNT_HeaderRec - * - * @description: - * Windows FNT Header info. - */ - typedef struct FT_WinFNT_HeaderRec_ - { - FT_UShort version; - FT_ULong file_size; - FT_Byte copyright[60]; - FT_UShort file_type; - FT_UShort nominal_point_size; - FT_UShort vertical_resolution; - FT_UShort horizontal_resolution; - FT_UShort ascent; - FT_UShort internal_leading; - FT_UShort external_leading; - FT_Byte italic; - FT_Byte underline; - FT_Byte strike_out; - FT_UShort weight; - FT_Byte charset; - FT_UShort pixel_width; - FT_UShort pixel_height; - FT_Byte pitch_and_family; - FT_UShort avg_width; - FT_UShort max_width; - FT_Byte first_char; - FT_Byte last_char; - FT_Byte default_char; - FT_Byte break_char; - FT_UShort bytes_per_row; - FT_ULong device_offset; - FT_ULong face_name_offset; - FT_ULong bits_pointer; - FT_ULong bits_offset; - FT_Byte reserved; - FT_ULong flags; - FT_UShort A_space; - FT_UShort B_space; - FT_UShort C_space; - FT_UShort color_table_offset; - FT_ULong reserved1[4]; - - } FT_WinFNT_HeaderRec; - - - /************************************************************************** - * - * @struct: - * FT_WinFNT_Header - * - * @description: - * A handle to an @FT_WinFNT_HeaderRec structure. - */ - typedef struct FT_WinFNT_HeaderRec_* FT_WinFNT_Header; - - - /************************************************************************** - * - * @function: - * FT_Get_WinFNT_Header - * - * @description: - * Retrieve a Windows FNT font info header. - * - * @input: - * face :: - * A handle to the input face. - * - * @output: - * aheader :: - * The WinFNT header. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * This function only works with Windows FNT faces, returning an error - * otherwise. - */ - FT_EXPORT( FT_Error ) - FT_Get_WinFNT_Header( FT_Face face, - FT_WinFNT_HeaderRec *aheader ); - - /* */ - - -FT_END_HEADER - -#endif /* FTWINFNT_H_ */ - - -/* END */ - - -/* Local Variables: */ -/* coding: utf-8 */ -/* End: */ diff --git a/FreeType/include/freetype/internal/autohint.h b/FreeType/include/freetype/internal/autohint.h deleted file mode 100644 index f64c28b..0000000 --- a/FreeType/include/freetype/internal/autohint.h +++ /dev/null @@ -1,232 +0,0 @@ -/**************************************************************************** - * - * autohint.h - * - * High-level 'autohint' module-specific interface (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * The auto-hinter is used to load and automatically hint glyphs if a - * format-specific hinter isn't available. - * - */ - - -#ifndef AUTOHINT_H_ -#define AUTOHINT_H_ - - - /************************************************************************** - * - * A small technical note regarding automatic hinting in order to clarify - * this module interface. - * - * An automatic hinter might compute two kinds of data for a given face: - * - * - global hints: Usually some metrics that describe global properties - * of the face. It is computed by scanning more or less - * aggressively the glyphs in the face, and thus can be - * very slow to compute (even if the size of global hints - * is really small). - * - * - glyph hints: These describe some important features of the glyph - * outline, as well as how to align them. They are - * generally much faster to compute than global hints. - * - * The current FreeType auto-hinter does a pretty good job while performing - * fast computations for both global and glyph hints. However, we might be - * interested in introducing more complex and powerful algorithms in the - * future, like the one described in the John D. Hobby paper, which - * unfortunately requires a lot more horsepower. - * - * Because a sufficiently sophisticated font management system would - * typically implement an LRU cache of opened face objects to reduce memory - * usage, it is a good idea to be able to avoid recomputing global hints - * every time the same face is re-opened. - * - * We thus provide the ability to cache global hints outside of the face - * object, in order to speed up font re-opening time. Of course, this - * feature is purely optional, so most client programs won't even notice - * it. - * - * I initially thought that it would be a good idea to cache the glyph - * hints too. However, my general idea now is that if you really need to - * cache these too, you are simply in need of a new font format, where all - * this information could be stored within the font file and decoded on the - * fly. - * - */ - - -#include -#include FT_FREETYPE_H - - -FT_BEGIN_HEADER - - - typedef struct FT_AutoHinterRec_ *FT_AutoHinter; - - - /************************************************************************** - * - * @functype: - * FT_AutoHinter_GlobalGetFunc - * - * @description: - * Retrieve the global hints computed for a given face object. The - * resulting data is dissociated from the face and will survive a call to - * FT_Done_Face(). It must be discarded through the API - * FT_AutoHinter_GlobalDoneFunc(). - * - * @input: - * hinter :: - * A handle to the source auto-hinter. - * - * face :: - * A handle to the source face object. - * - * @output: - * global_hints :: - * A typeless pointer to the global hints. - * - * global_len :: - * The size in bytes of the global hints. - */ - typedef void - (*FT_AutoHinter_GlobalGetFunc)( FT_AutoHinter hinter, - FT_Face face, - void** global_hints, - long* global_len ); - - - /************************************************************************** - * - * @functype: - * FT_AutoHinter_GlobalDoneFunc - * - * @description: - * Discard the global hints retrieved through - * FT_AutoHinter_GlobalGetFunc(). This is the only way these hints are - * freed from memory. - * - * @input: - * hinter :: - * A handle to the auto-hinter module. - * - * global :: - * A pointer to retrieved global hints to discard. - */ - typedef void - (*FT_AutoHinter_GlobalDoneFunc)( FT_AutoHinter hinter, - void* global ); - - - /************************************************************************** - * - * @functype: - * FT_AutoHinter_GlobalResetFunc - * - * @description: - * This function is used to recompute the global metrics in a given font. - * This is useful when global font data changes (e.g. Multiple Masters - * fonts where blend coordinates change). - * - * @input: - * hinter :: - * A handle to the source auto-hinter. - * - * face :: - * A handle to the face. - */ - typedef void - (*FT_AutoHinter_GlobalResetFunc)( FT_AutoHinter hinter, - FT_Face face ); - - - /************************************************************************** - * - * @functype: - * FT_AutoHinter_GlyphLoadFunc - * - * @description: - * This function is used to load, scale, and automatically hint a glyph - * from a given face. - * - * @input: - * face :: - * A handle to the face. - * - * glyph_index :: - * The glyph index. - * - * load_flags :: - * The load flags. - * - * @note: - * This function is capable of loading composite glyphs by hinting each - * sub-glyph independently (which improves quality). - * - * It will call the font driver with @FT_Load_Glyph, with - * @FT_LOAD_NO_SCALE set. - */ - typedef FT_Error - (*FT_AutoHinter_GlyphLoadFunc)( FT_AutoHinter hinter, - FT_GlyphSlot slot, - FT_Size size, - FT_UInt glyph_index, - FT_Int32 load_flags ); - - - /************************************************************************** - * - * @struct: - * FT_AutoHinter_InterfaceRec - * - * @description: - * The auto-hinter module's interface. - */ - typedef struct FT_AutoHinter_InterfaceRec_ - { - FT_AutoHinter_GlobalResetFunc reset_face; - FT_AutoHinter_GlobalGetFunc get_global_hints; - FT_AutoHinter_GlobalDoneFunc done_global_hints; - FT_AutoHinter_GlyphLoadFunc load_glyph; - - } FT_AutoHinter_InterfaceRec, *FT_AutoHinter_Interface; - - -#define FT_DEFINE_AUTOHINTER_INTERFACE( \ - class_, \ - reset_face_, \ - get_global_hints_, \ - done_global_hints_, \ - load_glyph_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_AutoHinter_InterfaceRec class_ = \ - { \ - reset_face_, \ - get_global_hints_, \ - done_global_hints_, \ - load_glyph_ \ - }; - - -FT_END_HEADER - -#endif /* AUTOHINT_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/cffotypes.h b/FreeType/include/freetype/internal/cffotypes.h deleted file mode 100644 index b26893e..0000000 --- a/FreeType/include/freetype/internal/cffotypes.h +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * - * cffotypes.h - * - * Basic OpenType/CFF object type definitions (specification). - * - * Copyright (C) 2017-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef CFFOTYPES_H_ -#define CFFOTYPES_H_ - -#include -#include FT_INTERNAL_OBJECTS_H -#include FT_INTERNAL_CFF_TYPES_H -#include FT_INTERNAL_TRUETYPE_TYPES_H -#include FT_SERVICE_POSTSCRIPT_CMAPS_H -#include FT_INTERNAL_POSTSCRIPT_HINTS_H - - -FT_BEGIN_HEADER - - - typedef TT_Face CFF_Face; - - - /************************************************************************** - * - * @type: - * CFF_Size - * - * @description: - * A handle to an OpenType size object. - */ - typedef struct CFF_SizeRec_ - { - FT_SizeRec root; - FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */ - - } CFF_SizeRec, *CFF_Size; - - - /************************************************************************** - * - * @type: - * CFF_GlyphSlot - * - * @description: - * A handle to an OpenType glyph slot object. - */ - typedef struct CFF_GlyphSlotRec_ - { - FT_GlyphSlotRec root; - - FT_Bool hint; - FT_Bool scaled; - - FT_Fixed x_scale; - FT_Fixed y_scale; - - } CFF_GlyphSlotRec, *CFF_GlyphSlot; - - - /************************************************************************** - * - * @type: - * CFF_Internal - * - * @description: - * The interface to the 'internal' field of `FT_Size`. - */ - typedef struct CFF_InternalRec_ - { - PSH_Globals topfont; - PSH_Globals subfonts[CFF_MAX_CID_FONTS]; - - } CFF_InternalRec, *CFF_Internal; - - - /************************************************************************** - * - * Subglyph transformation record. - */ - typedef struct CFF_Transform_ - { - FT_Fixed xx, xy; /* transformation matrix coefficients */ - FT_Fixed yx, yy; - FT_F26Dot6 ox, oy; /* offsets */ - - } CFF_Transform; - - -FT_END_HEADER - - -#endif /* CFFOTYPES_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/cfftypes.h b/FreeType/include/freetype/internal/cfftypes.h deleted file mode 100644 index 2fc905e..0000000 --- a/FreeType/include/freetype/internal/cfftypes.h +++ /dev/null @@ -1,417 +0,0 @@ -/**************************************************************************** - * - * cfftypes.h - * - * Basic OpenType/CFF type definitions and interface (specification - * only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef CFFTYPES_H_ -#define CFFTYPES_H_ - - -#include -#include FT_FREETYPE_H -#include FT_TYPE1_TABLES_H -#include FT_INTERNAL_SERVICE_H -#include FT_SERVICE_POSTSCRIPT_CMAPS_H -#include FT_INTERNAL_POSTSCRIPT_HINTS_H -#include FT_INTERNAL_TYPE1_TYPES_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @struct: - * CFF_IndexRec - * - * @description: - * A structure used to model a CFF Index table. - * - * @fields: - * stream :: - * The source input stream. - * - * start :: - * The position of the first index byte in the input stream. - * - * count :: - * The number of elements in the index. - * - * off_size :: - * The size in bytes of object offsets in index. - * - * data_offset :: - * The position of first data byte in the index's bytes. - * - * data_size :: - * The size of the data table in this index. - * - * offsets :: - * A table of element offsets in the index. Must be loaded explicitly. - * - * bytes :: - * If the index is loaded in memory, its bytes. - */ - typedef struct CFF_IndexRec_ - { - FT_Stream stream; - FT_ULong start; - FT_UInt hdr_size; - FT_UInt count; - FT_Byte off_size; - FT_ULong data_offset; - FT_ULong data_size; - - FT_ULong* offsets; - FT_Byte* bytes; - - } CFF_IndexRec, *CFF_Index; - - - typedef struct CFF_EncodingRec_ - { - FT_UInt format; - FT_ULong offset; - - FT_UInt count; - FT_UShort sids [256]; /* avoid dynamic allocations */ - FT_UShort codes[256]; - - } CFF_EncodingRec, *CFF_Encoding; - - - typedef struct CFF_CharsetRec_ - { - - FT_UInt format; - FT_ULong offset; - - FT_UShort* sids; - FT_UShort* cids; /* the inverse mapping of `sids'; only needed */ - /* for CID-keyed fonts */ - FT_UInt max_cid; - FT_UInt num_glyphs; - - } CFF_CharsetRec, *CFF_Charset; - - - /* cf. similar fields in file `ttgxvar.h' from the `truetype' module */ - - typedef struct CFF_VarData_ - { -#if 0 - FT_UInt itemCount; /* not used; always zero */ - FT_UInt shortDeltaCount; /* not used; always zero */ -#endif - - FT_UInt regionIdxCount; /* number of region indexes */ - FT_UInt* regionIndices; /* array of `regionIdxCount' indices; */ - /* these index `varRegionList' */ - } CFF_VarData; - - - /* contribution of one axis to a region */ - typedef struct CFF_AxisCoords_ - { - FT_Fixed startCoord; - FT_Fixed peakCoord; /* zero peak means no effect (factor = 1) */ - FT_Fixed endCoord; - - } CFF_AxisCoords; - - - typedef struct CFF_VarRegion_ - { - CFF_AxisCoords* axisList; /* array of axisCount records */ - - } CFF_VarRegion; - - - typedef struct CFF_VStoreRec_ - { - FT_UInt dataCount; - CFF_VarData* varData; /* array of dataCount records */ - /* vsindex indexes this array */ - FT_UShort axisCount; - FT_UInt regionCount; /* total number of regions defined */ - CFF_VarRegion* varRegionList; - - } CFF_VStoreRec, *CFF_VStore; - - - /* forward reference */ - typedef struct CFF_FontRec_* CFF_Font; - - - /* This object manages one cached blend vector. */ - /* */ - /* There is a BlendRec for Private DICT parsing in each subfont */ - /* and a BlendRec for charstrings in CF2_Font instance data. */ - /* A cached BV may be used across DICTs or Charstrings if inputs */ - /* have not changed. */ - /* */ - /* `usedBV' is reset at the start of each parse or charstring. */ - /* vsindex cannot be changed after a BV is used. */ - /* */ - /* Note: NDV is long (32/64 bit), while BV is 16.16 (FT_Int32). */ - typedef struct CFF_BlendRec_ - { - FT_Bool builtBV; /* blendV has been built */ - FT_Bool usedBV; /* blendV has been used */ - CFF_Font font; /* top level font struct */ - FT_UInt lastVsindex; /* last vsindex used */ - FT_UInt lenNDV; /* normDV length (aka numAxes) */ - FT_Fixed* lastNDV; /* last NDV used */ - FT_UInt lenBV; /* BlendV length (aka numMasters) */ - FT_Int32* BV; /* current blendV (per DICT/glyph) */ - - } CFF_BlendRec, *CFF_Blend; - - - typedef struct CFF_FontRecDictRec_ - { - FT_UInt version; - FT_UInt notice; - FT_UInt copyright; - FT_UInt full_name; - FT_UInt family_name; - FT_UInt weight; - FT_Bool is_fixed_pitch; - FT_Fixed italic_angle; - FT_Fixed underline_position; - FT_Fixed underline_thickness; - FT_Int paint_type; - FT_Int charstring_type; - FT_Matrix font_matrix; - FT_Bool has_font_matrix; - FT_ULong units_per_em; /* temporarily used as scaling value also */ - FT_Vector font_offset; - FT_ULong unique_id; - FT_BBox font_bbox; - FT_Pos stroke_width; - FT_ULong charset_offset; - FT_ULong encoding_offset; - FT_ULong charstrings_offset; - FT_ULong private_offset; - FT_ULong private_size; - FT_Long synthetic_base; - FT_UInt embedded_postscript; - - /* these should only be used for the top-level font dictionary */ - FT_UInt cid_registry; - FT_UInt cid_ordering; - FT_Long cid_supplement; - - FT_Long cid_font_version; - FT_Long cid_font_revision; - FT_Long cid_font_type; - FT_ULong cid_count; - FT_ULong cid_uid_base; - FT_ULong cid_fd_array_offset; - FT_ULong cid_fd_select_offset; - FT_UInt cid_font_name; - - /* the next fields come from the data of the deprecated */ - /* `MultipleMaster' operator; they are needed to parse the (also */ - /* deprecated) `blend' operator in Type 2 charstrings */ - FT_UShort num_designs; - FT_UShort num_axes; - - /* fields for CFF2 */ - FT_ULong vstore_offset; - FT_UInt maxstack; - - } CFF_FontRecDictRec, *CFF_FontRecDict; - - - /* forward reference */ - typedef struct CFF_SubFontRec_* CFF_SubFont; - - - typedef struct CFF_PrivateRec_ - { - FT_Byte num_blue_values; - FT_Byte num_other_blues; - FT_Byte num_family_blues; - FT_Byte num_family_other_blues; - - FT_Pos blue_values[14]; - FT_Pos other_blues[10]; - FT_Pos family_blues[14]; - FT_Pos family_other_blues[10]; - - FT_Fixed blue_scale; - FT_Pos blue_shift; - FT_Pos blue_fuzz; - FT_Pos standard_width; - FT_Pos standard_height; - - FT_Byte num_snap_widths; - FT_Byte num_snap_heights; - FT_Pos snap_widths[13]; - FT_Pos snap_heights[13]; - FT_Bool force_bold; - FT_Fixed force_bold_threshold; - FT_Int lenIV; - FT_Int language_group; - FT_Fixed expansion_factor; - FT_Long initial_random_seed; - FT_ULong local_subrs_offset; - FT_Pos default_width; - FT_Pos nominal_width; - - /* fields for CFF2 */ - FT_UInt vsindex; - CFF_SubFont subfont; - - } CFF_PrivateRec, *CFF_Private; - - - typedef struct CFF_FDSelectRec_ - { - FT_Byte format; - FT_UInt range_count; - - /* that's the table, taken from the file `as is' */ - FT_Byte* data; - FT_UInt data_size; - - /* small cache for format 3 only */ - FT_UInt cache_first; - FT_UInt cache_count; - FT_Byte cache_fd; - - } CFF_FDSelectRec, *CFF_FDSelect; - - - /* A SubFont packs a font dict and a private dict together. They are */ - /* needed to support CID-keyed CFF fonts. */ - typedef struct CFF_SubFontRec_ - { - CFF_FontRecDictRec font_dict; - CFF_PrivateRec private_dict; - - /* fields for CFF2 */ - CFF_BlendRec blend; /* current blend vector */ - FT_UInt lenNDV; /* current length NDV or zero */ - FT_Fixed* NDV; /* ptr to current NDV or NULL */ - - /* `blend_stack' is a writable buffer to hold blend results. */ - /* This buffer is to the side of the normal cff parser stack; */ - /* `cff_parse_blend' and `cff_blend_doBlend' push blend results here. */ - /* The normal stack then points to these values instead of the DICT */ - /* because all other operators in Private DICT clear the stack. */ - /* `blend_stack' could be cleared at each operator other than blend. */ - /* Blended values are stored as 5-byte fixed point values. */ - - FT_Byte* blend_stack; /* base of stack allocation */ - FT_Byte* blend_top; /* first empty slot */ - FT_UInt blend_used; /* number of bytes in use */ - FT_UInt blend_alloc; /* number of bytes allocated */ - - CFF_IndexRec local_subrs_index; - FT_Byte** local_subrs; /* array of pointers */ - /* into Local Subrs INDEX data */ - - FT_UInt32 random; - - } CFF_SubFontRec; - - -#define CFF_MAX_CID_FONTS 256 - - - typedef struct CFF_FontRec_ - { - FT_Library library; - FT_Stream stream; - FT_Memory memory; /* TODO: take this from stream->memory? */ - FT_ULong base_offset; /* offset to start of CFF */ - FT_UInt num_faces; - FT_UInt num_glyphs; - - FT_Byte version_major; - FT_Byte version_minor; - FT_Byte header_size; - - FT_UInt top_dict_length; /* cff2 only */ - - FT_Bool cff2; - - CFF_IndexRec name_index; - CFF_IndexRec top_dict_index; - CFF_IndexRec global_subrs_index; - - CFF_EncodingRec encoding; - CFF_CharsetRec charset; - - CFF_IndexRec charstrings_index; - CFF_IndexRec font_dict_index; - CFF_IndexRec private_index; - CFF_IndexRec local_subrs_index; - - FT_String* font_name; - - /* array of pointers into Global Subrs INDEX data */ - FT_Byte** global_subrs; - - /* array of pointers into String INDEX data stored at string_pool */ - FT_UInt num_strings; - FT_Byte** strings; - FT_Byte* string_pool; - FT_ULong string_pool_size; - - CFF_SubFontRec top_font; - FT_UInt num_subfonts; - CFF_SubFont subfonts[CFF_MAX_CID_FONTS]; - - CFF_FDSelectRec fd_select; - - /* interface to PostScript hinter */ - PSHinter_Service pshinter; - - /* interface to Postscript Names service */ - FT_Service_PsCMaps psnames; - - /* interface to CFFLoad service */ - const void* cffload; - - /* since version 2.3.0 */ - PS_FontInfoRec* font_info; /* font info dictionary */ - - /* since version 2.3.6 */ - FT_String* registry; - FT_String* ordering; - - /* since version 2.4.12 */ - FT_Generic cf2_instance; - - /* since version 2.7.1 */ - CFF_VStoreRec vstore; /* parsed vstore structure */ - - /* since version 2.9 */ - PS_FontExtraRec* font_extra; - - } CFF_FontRec; - - -FT_END_HEADER - -#endif /* CFFTYPES_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftcalc.h b/FreeType/include/freetype/internal/ftcalc.h deleted file mode 100644 index 2986ec3..0000000 --- a/FreeType/include/freetype/internal/ftcalc.h +++ /dev/null @@ -1,510 +0,0 @@ -/**************************************************************************** - * - * ftcalc.h - * - * Arithmetic computations (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTCALC_H_ -#define FTCALC_H_ - - -#include -#include FT_FREETYPE_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * FT_MulDiv() and FT_MulFix() are declared in freetype.h. - * - */ - -#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER - /* Provide assembler fragments for performance-critical functions. */ - /* These must be defined `static __inline__' with GCC. */ - -#if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */ - -#define FT_MULFIX_ASSEMBLER FT_MulFix_arm - - /* documentation is in freetype.h */ - - static __inline FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { - FT_Int32 t, t2; - - - __asm - { - smull t2, t, b, a /* (lo=t2,hi=t) = a*b */ - mov a, t, asr #31 /* a = (hi >> 31) */ - add a, a, #0x8000 /* a += 0x8000 */ - adds t2, t2, a /* t2 += a */ - adc t, t, #0 /* t += carry */ - mov a, t2, lsr #16 /* a = t2 >> 16 */ - orr a, a, t, lsl #16 /* a |= t << 16 */ - } - return a; - } - -#endif /* __CC_ARM || __ARMCC__ */ - - -#ifdef __GNUC__ - -#if defined( __arm__ ) && \ - ( !defined( __thumb__ ) || defined( __thumb2__ ) ) && \ - !( defined( __CC_ARM ) || defined( __ARMCC__ ) ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_arm - - /* documentation is in freetype.h */ - - static __inline__ FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { - FT_Int32 t, t2; - - - __asm__ __volatile__ ( - "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */ - "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */ -#if defined( __clang__ ) && defined( __thumb2__ ) - "add.w %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ -#else - "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ -#endif - "adds %1, %1, %0\n\t" /* %1 += %0 */ - "adc %2, %2, #0\n\t" /* %2 += carry */ - "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */ - "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ - : "=r"(a), "=&r"(t2), "=&r"(t) - : "r"(a), "r"(b) - : "cc" ); - return a; - } - -#endif /* __arm__ && */ - /* ( __thumb2__ || !__thumb__ ) && */ - /* !( __CC_ARM || __ARMCC__ ) */ - - -#if defined( __i386__ ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - - /* documentation is in freetype.h */ - - static __inline__ FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { - FT_Int32 result; - - - __asm__ __volatile__ ( - "imul %%edx\n" - "movl %%edx, %%ecx\n" - "sarl $31, %%ecx\n" - "addl $0x8000, %%ecx\n" - "addl %%ecx, %%eax\n" - "adcl $0, %%edx\n" - "shrl $16, %%eax\n" - "shll $16, %%edx\n" - "addl %%edx, %%eax\n" - : "=a"(result), "=d"(b) - : "a"(a), "d"(b) - : "%ecx", "cc" ); - return result; - } - -#endif /* i386 */ - -#endif /* __GNUC__ */ - - -#ifdef _MSC_VER /* Visual C++ */ - -#ifdef _M_IX86 - -#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - - /* documentation is in freetype.h */ - - static __inline FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { - FT_Int32 result; - - __asm - { - mov eax, a - mov edx, b - imul edx - mov ecx, edx - sar ecx, 31 - add ecx, 8000h - add eax, ecx - adc edx, 0 - shr eax, 16 - shl edx, 16 - add eax, edx - mov result, eax - } - return result; - } - -#endif /* _M_IX86 */ - -#endif /* _MSC_VER */ - - -#if defined( __GNUC__ ) && defined( __x86_64__ ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_x86_64 - - static __inline__ FT_Int32 - FT_MulFix_x86_64( FT_Int32 a, - FT_Int32 b ) - { - /* Temporarily disable the warning that C90 doesn't support */ - /* `long long'. */ -#if __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wlong-long" -#endif - -#if 1 - /* Technically not an assembly fragment, but GCC does a really good */ - /* job at inlining it and generating good machine code for it. */ - long long ret, tmp; - - - ret = (long long)a * b; - tmp = ret >> 63; - ret += 0x8000 + tmp; - - return (FT_Int32)( ret >> 16 ); -#else - - /* For some reason, GCC 4.6 on Ubuntu 12.04 generates invalid machine */ - /* code from the lines below. The main issue is that `wide_a' is not */ - /* properly initialized by sign-extending `a'. Instead, the generated */ - /* machine code assumes that the register that contains `a' on input */ - /* can be used directly as a 64-bit value, which is wrong most of the */ - /* time. */ - long long wide_a = (long long)a; - long long wide_b = (long long)b; - long long result; - - - __asm__ __volatile__ ( - "imul %2, %1\n" - "mov %1, %0\n" - "sar $63, %0\n" - "lea 0x8000(%1, %0), %0\n" - "sar $16, %0\n" - : "=&r"(result), "=&r"(wide_a) - : "r"(wide_b) - : "cc" ); - - return (FT_Int32)result; -#endif - -#if __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) -#pragma GCC diagnostic pop -#endif - } - -#endif /* __GNUC__ && __x86_64__ */ - -#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */ - - -#ifdef FT_CONFIG_OPTION_INLINE_MULFIX -#ifdef FT_MULFIX_ASSEMBLER -#define FT_MulFix( a, b ) FT_MULFIX_ASSEMBLER( (FT_Int32)(a), (FT_Int32)(b) ) -#endif -#endif - - - /************************************************************************** - * - * @function: - * FT_MulDiv_No_Round - * - * @description: - * A very simple function used to perform the computation '(a*b)/c' - * (without rounding) with maximum accuracy (it uses a 64-bit - * intermediate integer whenever necessary). - * - * This function isn't necessarily as fast as some processor-specific - * operations, but is at least completely portable. - * - * @input: - * a :: - * The first multiplier. - * b :: - * The second multiplier. - * c :: - * The divisor. - * - * @return: - * The result of '(a*b)/c'. This function never traps when trying to - * divide by zero; it simply returns 'MaxInt' or 'MinInt' depending on - * the signs of 'a' and 'b'. - */ - FT_BASE( FT_Long ) - FT_MulDiv_No_Round( FT_Long a, - FT_Long b, - FT_Long c ); - - - /* - * A variant of FT_Matrix_Multiply which scales its result afterwards. The - * idea is that both `a' and `b' are scaled by factors of 10 so that the - * values are as precise as possible to get a correct result during the - * 64bit multiplication. Let `sa' and `sb' be the scaling factors of `a' - * and `b', respectively, then the scaling factor of the result is `sa*sb'. - */ - FT_BASE( void ) - FT_Matrix_Multiply_Scaled( const FT_Matrix* a, - FT_Matrix *b, - FT_Long scaling ); - - - /* - * Check a matrix. If the transformation would lead to extreme shear or - * extreme scaling, for example, return 0. If everything is OK, return 1. - * - * Based on geometric considerations we use the following inequality to - * identify a degenerate matrix. - * - * 50 * abs(xx*yy - xy*yx) < xx^2 + xy^2 + yx^2 + yy^2 - * - * Value 50 is heuristic. - */ - FT_BASE( FT_Bool ) - FT_Matrix_Check( const FT_Matrix* matrix ); - - - /* - * A variant of FT_Vector_Transform. See comments for - * FT_Matrix_Multiply_Scaled. - */ - FT_BASE( void ) - FT_Vector_Transform_Scaled( FT_Vector* vector, - const FT_Matrix* matrix, - FT_Long scaling ); - - - /* - * This function normalizes a vector and returns its original length. The - * normalized vector is a 16.16 fixed-point unit vector with length close - * to 0x10000. The accuracy of the returned length is limited to 16 bits - * also. The function utilizes quick inverse square root approximation - * without divisions and square roots relying on Newton's iterations - * instead. - */ - FT_BASE( FT_UInt32 ) - FT_Vector_NormLen( FT_Vector* vector ); - - - /* - * Return -1, 0, or +1, depending on the orientation of a given corner. We - * use the Cartesian coordinate system, with positive vertical values going - * upwards. The function returns +1 if the corner turns to the left, -1 to - * the right, and 0 for undecidable cases. - */ - FT_BASE( FT_Int ) - ft_corner_orientation( FT_Pos in_x, - FT_Pos in_y, - FT_Pos out_x, - FT_Pos out_y ); - - - /* - * Return TRUE if a corner is flat or nearly flat. This is equivalent to - * saying that the corner point is close to its neighbors, or inside an - * ellipse defined by the neighbor focal points to be more precise. - */ - FT_BASE( FT_Int ) - ft_corner_is_flat( FT_Pos in_x, - FT_Pos in_y, - FT_Pos out_x, - FT_Pos out_y ); - - - /* - * Return the most significant bit index. - */ - -#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER - -#if defined( __GNUC__ ) && \ - ( __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 4 ) ) - -#if FT_SIZEOF_INT == 4 - -#define FT_MSB( x ) ( 31 - __builtin_clz( x ) ) - -#elif FT_SIZEOF_LONG == 4 - -#define FT_MSB( x ) ( 31 - __builtin_clzl( x ) ) - -#endif /* __GNUC__ */ - - -#elif defined( _MSC_VER ) && ( _MSC_VER >= 1400 ) - -#if FT_SIZEOF_INT == 4 - -#include - - static __inline FT_Int32 - FT_MSB_i386( FT_UInt32 x ) - { - unsigned long where; - - - /* not available in older VC versions */ - _BitScanReverse( &where, x ); - - return (FT_Int32)where; - } - -#define FT_MSB( x ) ( FT_MSB_i386( x ) ) - -#endif - -#endif /* _MSC_VER */ - - -#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */ - -#ifndef FT_MSB - - FT_BASE( FT_Int ) - FT_MSB( FT_UInt32 z ); - -#endif - - - /* - * Return sqrt(x*x+y*y), which is the same as `FT_Vector_Length' but uses - * two fixed-point arguments instead. - */ - FT_BASE( FT_Fixed ) - FT_Hypot( FT_Fixed x, - FT_Fixed y ); - - -#if 0 - - /************************************************************************** - * - * @function: - * FT_SqrtFixed - * - * @description: - * Computes the square root of a 16.16 fixed-point value. - * - * @input: - * x :: - * The value to compute the root for. - * - * @return: - * The result of 'sqrt(x)'. - * - * @note: - * This function is not very fast. - */ - FT_BASE( FT_Int32 ) - FT_SqrtFixed( FT_Int32 x ); - -#endif /* 0 */ - - -#define INT_TO_F26DOT6( x ) ( (FT_Long)(x) * 64 ) /* << 6 */ -#define INT_TO_F2DOT14( x ) ( (FT_Long)(x) * 16384 ) /* << 14 */ -#define INT_TO_FIXED( x ) ( (FT_Long)(x) * 65536 ) /* << 16 */ -#define F2DOT14_TO_FIXED( x ) ( (FT_Long)(x) * 4 ) /* << 2 */ -#define FIXED_TO_INT( x ) ( FT_RoundFix( x ) >> 16 ) - -#define ROUND_F26DOT6( x ) ( x >= 0 ? ( ( (x) + 32 ) & -64 ) \ - : ( -( ( 32 - (x) ) & -64 ) ) ) - - /* - * The following macros have two purposes. - * - * - Tag places where overflow is expected and harmless. - * - * - Avoid run-time sanitizer errors. - * - * Use with care! - */ -#define ADD_INT( a, b ) \ - (FT_Int)( (FT_UInt)(a) + (FT_UInt)(b) ) -#define SUB_INT( a, b ) \ - (FT_Int)( (FT_UInt)(a) - (FT_UInt)(b) ) -#define MUL_INT( a, b ) \ - (FT_Int)( (FT_UInt)(a) * (FT_UInt)(b) ) -#define NEG_INT( a ) \ - (FT_Int)( (FT_UInt)0 - (FT_UInt)(a) ) - -#define ADD_LONG( a, b ) \ - (FT_Long)( (FT_ULong)(a) + (FT_ULong)(b) ) -#define SUB_LONG( a, b ) \ - (FT_Long)( (FT_ULong)(a) - (FT_ULong)(b) ) -#define MUL_LONG( a, b ) \ - (FT_Long)( (FT_ULong)(a) * (FT_ULong)(b) ) -#define NEG_LONG( a ) \ - (FT_Long)( (FT_ULong)0 - (FT_ULong)(a) ) - -#define ADD_INT32( a, b ) \ - (FT_Int32)( (FT_UInt32)(a) + (FT_UInt32)(b) ) -#define SUB_INT32( a, b ) \ - (FT_Int32)( (FT_UInt32)(a) - (FT_UInt32)(b) ) -#define MUL_INT32( a, b ) \ - (FT_Int32)( (FT_UInt32)(a) * (FT_UInt32)(b) ) -#define NEG_INT32( a ) \ - (FT_Int32)( (FT_UInt32)0 - (FT_UInt32)(a) ) - -#ifdef FT_LONG64 - -#define ADD_INT64( a, b ) \ - (FT_Int64)( (FT_UInt64)(a) + (FT_UInt64)(b) ) -#define SUB_INT64( a, b ) \ - (FT_Int64)( (FT_UInt64)(a) - (FT_UInt64)(b) ) -#define MUL_INT64( a, b ) \ - (FT_Int64)( (FT_UInt64)(a) * (FT_UInt64)(b) ) -#define NEG_INT64( a ) \ - (FT_Int64)( (FT_UInt64)0 - (FT_UInt64)(a) ) - -#endif /* FT_LONG64 */ - - -FT_END_HEADER - -#endif /* FTCALC_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftdebug.h b/FreeType/include/freetype/internal/ftdebug.h deleted file mode 100644 index 54a9673..0000000 --- a/FreeType/include/freetype/internal/ftdebug.h +++ /dev/null @@ -1,283 +0,0 @@ -/**************************************************************************** - * - * ftdebug.h - * - * Debugging and logging component (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - * - * IMPORTANT: A description of FreeType's debugging support can be - * found in 'docs/DEBUG.TXT'. Read it if you need to use or - * understand this code. - * - */ - - -#ifndef FTDEBUG_H_ -#define FTDEBUG_H_ - - -#include -#include FT_CONFIG_CONFIG_H -#include FT_FREETYPE_H - - -FT_BEGIN_HEADER - - - /* force the definition of FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE */ - /* is already defined; this simplifies the following #ifdefs */ - /* */ -#ifdef FT_DEBUG_LEVEL_TRACE -#undef FT_DEBUG_LEVEL_ERROR -#define FT_DEBUG_LEVEL_ERROR -#endif - - - /************************************************************************** - * - * Define the trace enums as well as the trace levels array when they are - * needed. - * - */ - -#ifdef FT_DEBUG_LEVEL_TRACE - -#define FT_TRACE_DEF( x ) trace_ ## x , - - /* defining the enumeration */ - typedef enum FT_Trace_ - { -#include FT_INTERNAL_TRACE_H - trace_count - - } FT_Trace; - - - /* a pointer to the array of trace levels, */ - /* provided by `src/base/ftdebug.c' */ - extern int* ft_trace_levels; - -#undef FT_TRACE_DEF - -#endif /* FT_DEBUG_LEVEL_TRACE */ - - - /************************************************************************** - * - * Define the FT_TRACE macro - * - * IMPORTANT! - * - * Each component must define the macro FT_COMPONENT to a valid FT_Trace - * value before using any TRACE macro. - * - */ - -#ifdef FT_DEBUG_LEVEL_TRACE - - /* we need two macros here to make cpp expand `FT_COMPONENT' */ -#define FT_TRACE_COMP( x ) FT_TRACE_COMP_( x ) -#define FT_TRACE_COMP_( x ) trace_ ## x - -#define FT_TRACE( level, varformat ) \ - do \ - { \ - if ( ft_trace_levels[FT_TRACE_COMP( FT_COMPONENT )] >= level ) \ - FT_Message varformat; \ - } while ( 0 ) - -#else /* !FT_DEBUG_LEVEL_TRACE */ - -#define FT_TRACE( level, varformat ) do { } while ( 0 ) /* nothing */ - -#endif /* !FT_DEBUG_LEVEL_TRACE */ - - - /************************************************************************** - * - * @function: - * FT_Trace_Get_Count - * - * @description: - * Return the number of available trace components. - * - * @return: - * The number of trace components. 0 if FreeType 2 is not built with - * FT_DEBUG_LEVEL_TRACE definition. - * - * @note: - * This function may be useful if you want to access elements of the - * internal trace levels array by an index. - */ - FT_BASE( FT_Int ) - FT_Trace_Get_Count( void ); - - - /************************************************************************** - * - * @function: - * FT_Trace_Get_Name - * - * @description: - * Return the name of a trace component. - * - * @input: - * The index of the trace component. - * - * @return: - * The name of the trace component. This is a statically allocated - * C~string, so do not free it after use. `NULL` if FreeType is not - * built with FT_DEBUG_LEVEL_TRACE definition. - * - * @note: - * Use @FT_Trace_Get_Count to get the number of available trace - * components. - */ - FT_BASE( const char* ) - FT_Trace_Get_Name( FT_Int idx ); - - - /************************************************************************** - * - * @function: - * FT_Trace_Disable - * - * @description: - * Switch off tracing temporarily. It can be activated again with - * @FT_Trace_Enable. - */ - FT_BASE( void ) - FT_Trace_Disable( void ); - - - /************************************************************************** - * - * @function: - * FT_Trace_Enable - * - * @description: - * Activate tracing. Use it after tracing has been switched off with - * @FT_Trace_Disable. - */ - FT_BASE( void ) - FT_Trace_Enable( void ); - - - /************************************************************************** - * - * You need two opening and closing parentheses! - * - * Example: FT_TRACE0(( "Value is %i", foo )) - * - * Output of the FT_TRACEX macros is sent to stderr. - * - */ - -#define FT_TRACE0( varformat ) FT_TRACE( 0, varformat ) -#define FT_TRACE1( varformat ) FT_TRACE( 1, varformat ) -#define FT_TRACE2( varformat ) FT_TRACE( 2, varformat ) -#define FT_TRACE3( varformat ) FT_TRACE( 3, varformat ) -#define FT_TRACE4( varformat ) FT_TRACE( 4, varformat ) -#define FT_TRACE5( varformat ) FT_TRACE( 5, varformat ) -#define FT_TRACE6( varformat ) FT_TRACE( 6, varformat ) -#define FT_TRACE7( varformat ) FT_TRACE( 7, varformat ) - - - /************************************************************************** - * - * Define the FT_ERROR macro. - * - * Output of this macro is sent to stderr. - * - */ - -#ifdef FT_DEBUG_LEVEL_ERROR - -#define FT_ERROR( varformat ) FT_Message varformat - -#else /* !FT_DEBUG_LEVEL_ERROR */ - -#define FT_ERROR( varformat ) do { } while ( 0 ) /* nothing */ - -#endif /* !FT_DEBUG_LEVEL_ERROR */ - - - /************************************************************************** - * - * Define the FT_ASSERT and FT_THROW macros. The call to `FT_Throw` makes - * it possible to easily set a breakpoint at this function. - * - */ - -#ifdef FT_DEBUG_LEVEL_ERROR - -#define FT_ASSERT( condition ) \ - do \ - { \ - if ( !( condition ) ) \ - FT_Panic( "assertion failed on line %d of file %s\n", \ - __LINE__, __FILE__ ); \ - } while ( 0 ) - -#define FT_THROW( e ) \ - ( FT_Throw( FT_ERR_CAT( FT_ERR_PREFIX, e ), \ - __LINE__, \ - __FILE__ ) | \ - FT_ERR_CAT( FT_ERR_PREFIX, e ) ) - -#else /* !FT_DEBUG_LEVEL_ERROR */ - -#define FT_ASSERT( condition ) do { } while ( 0 ) - -#define FT_THROW( e ) FT_ERR_CAT( FT_ERR_PREFIX, e ) - -#endif /* !FT_DEBUG_LEVEL_ERROR */ - - - /************************************************************************** - * - * Define `FT_Message` and `FT_Panic` when needed. - * - */ - -#ifdef FT_DEBUG_LEVEL_ERROR - -#include "stdio.h" /* for vfprintf() */ - - /* print a message */ - FT_BASE( void ) - FT_Message( const char* fmt, - ... ); - - /* print a message and exit */ - FT_BASE( void ) - FT_Panic( const char* fmt, - ... ); - - /* report file name and line number of an error */ - FT_BASE( int ) - FT_Throw( FT_Error error, - int line, - const char* file ); - -#endif /* FT_DEBUG_LEVEL_ERROR */ - - - FT_BASE( void ) - ft_debug_init( void ); - -FT_END_HEADER - -#endif /* FTDEBUG_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftdrv.h b/FreeType/include/freetype/internal/ftdrv.h deleted file mode 100644 index 09e846e..0000000 --- a/FreeType/include/freetype/internal/ftdrv.h +++ /dev/null @@ -1,288 +0,0 @@ -/**************************************************************************** - * - * ftdrv.h - * - * FreeType internal font driver interface (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTDRV_H_ -#define FTDRV_H_ - - -#include -#include FT_MODULE_H - - -FT_BEGIN_HEADER - - - typedef FT_Error - (*FT_Face_InitFunc)( FT_Stream stream, - FT_Face face, - FT_Int typeface_index, - FT_Int num_params, - FT_Parameter* parameters ); - - typedef void - (*FT_Face_DoneFunc)( FT_Face face ); - - - typedef FT_Error - (*FT_Size_InitFunc)( FT_Size size ); - - typedef void - (*FT_Size_DoneFunc)( FT_Size size ); - - - typedef FT_Error - (*FT_Slot_InitFunc)( FT_GlyphSlot slot ); - - typedef void - (*FT_Slot_DoneFunc)( FT_GlyphSlot slot ); - - - typedef FT_Error - (*FT_Size_RequestFunc)( FT_Size size, - FT_Size_Request req ); - - typedef FT_Error - (*FT_Size_SelectFunc)( FT_Size size, - FT_ULong size_index ); - - typedef FT_Error - (*FT_Slot_LoadFunc)( FT_GlyphSlot slot, - FT_Size size, - FT_UInt glyph_index, - FT_Int32 load_flags ); - - - typedef FT_Error - (*FT_Face_GetKerningFunc)( FT_Face face, - FT_UInt left_glyph, - FT_UInt right_glyph, - FT_Vector* kerning ); - - - typedef FT_Error - (*FT_Face_AttachFunc)( FT_Face face, - FT_Stream stream ); - - - typedef FT_Error - (*FT_Face_GetAdvancesFunc)( FT_Face face, - FT_UInt first, - FT_UInt count, - FT_Int32 flags, - FT_Fixed* advances ); - - - /************************************************************************** - * - * @struct: - * FT_Driver_ClassRec - * - * @description: - * The font driver class. This structure mostly contains pointers to - * driver methods. - * - * @fields: - * root :: - * The parent module. - * - * face_object_size :: - * The size of a face object in bytes. - * - * size_object_size :: - * The size of a size object in bytes. - * - * slot_object_size :: - * The size of a glyph object in bytes. - * - * init_face :: - * The format-specific face constructor. - * - * done_face :: - * The format-specific face destructor. - * - * init_size :: - * The format-specific size constructor. - * - * done_size :: - * The format-specific size destructor. - * - * init_slot :: - * The format-specific slot constructor. - * - * done_slot :: - * The format-specific slot destructor. - * - * - * load_glyph :: - * A function handle to load a glyph to a slot. This field is - * mandatory! - * - * get_kerning :: - * A function handle to return the unscaled kerning for a given pair of - * glyphs. Can be set to 0 if the format doesn't support kerning. - * - * attach_file :: - * This function handle is used to read additional data for a face from - * another file/stream. For example, this can be used to add data from - * AFM or PFM files on a Type 1 face, or a CIDMap on a CID-keyed face. - * - * get_advances :: - * A function handle used to return advance widths of 'count' glyphs - * (in font units), starting at 'first'. The 'vertical' flag must be - * set to get vertical advance heights. The 'advances' buffer is - * caller-allocated. The idea of this function is to be able to - * perform device-independent text layout without loading a single - * glyph image. - * - * request_size :: - * A handle to a function used to request the new character size. Can - * be set to 0 if the scaling done in the base layer suffices. - * - * select_size :: - * A handle to a function used to select a new fixed size. It is used - * only if @FT_FACE_FLAG_FIXED_SIZES is set. Can be set to 0 if the - * scaling done in the base layer suffices. - * @note: - * Most function pointers, with the exception of `load_glyph`, can be set - * to 0 to indicate a default behaviour. - */ - typedef struct FT_Driver_ClassRec_ - { - FT_Module_Class root; - - FT_Long face_object_size; - FT_Long size_object_size; - FT_Long slot_object_size; - - FT_Face_InitFunc init_face; - FT_Face_DoneFunc done_face; - - FT_Size_InitFunc init_size; - FT_Size_DoneFunc done_size; - - FT_Slot_InitFunc init_slot; - FT_Slot_DoneFunc done_slot; - - FT_Slot_LoadFunc load_glyph; - - FT_Face_GetKerningFunc get_kerning; - FT_Face_AttachFunc attach_file; - FT_Face_GetAdvancesFunc get_advances; - - /* since version 2.2 */ - FT_Size_RequestFunc request_size; - FT_Size_SelectFunc select_size; - - } FT_Driver_ClassRec, *FT_Driver_Class; - - - /************************************************************************** - * - * @macro: - * FT_DECLARE_DRIVER - * - * @description: - * Used to create a forward declaration of an FT_Driver_ClassRec struct - * instance. - * - * @macro: - * FT_DEFINE_DRIVER - * - * @description: - * Used to initialize an instance of FT_Driver_ClassRec struct. - * - * `ftinit.c` (ft_create_default_module_classes) already contains a - * mechanism to call these functions for the default modules described in - * `ftmodule.h`. - * - * The struct will be allocated in the global scope (or the scope where - * the macro is used). - */ -#define FT_DECLARE_DRIVER( class_ ) \ - FT_CALLBACK_TABLE \ - const FT_Driver_ClassRec class_; - -#define FT_DEFINE_DRIVER( \ - class_, \ - flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_, \ - face_object_size_, \ - size_object_size_, \ - slot_object_size_, \ - init_face_, \ - done_face_, \ - init_size_, \ - done_size_, \ - init_slot_, \ - done_slot_, \ - load_glyph_, \ - get_kerning_, \ - attach_file_, \ - get_advances_, \ - request_size_, \ - select_size_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_Driver_ClassRec class_ = \ - { \ - FT_DEFINE_ROOT_MODULE( flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_ ) \ - \ - face_object_size_, \ - size_object_size_, \ - slot_object_size_, \ - \ - init_face_, \ - done_face_, \ - \ - init_size_, \ - done_size_, \ - \ - init_slot_, \ - done_slot_, \ - \ - load_glyph_, \ - \ - get_kerning_, \ - attach_file_, \ - get_advances_, \ - \ - request_size_, \ - select_size_ \ - }; - - -FT_END_HEADER - -#endif /* FTDRV_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftgloadr.h b/FreeType/include/freetype/internal/ftgloadr.h deleted file mode 100644 index 770871d..0000000 --- a/FreeType/include/freetype/internal/ftgloadr.h +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** - * - * ftgloadr.h - * - * The FreeType glyph loader (specification). - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTGLOADR_H_ -#define FTGLOADR_H_ - - -#include -#include FT_FREETYPE_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @struct: - * FT_GlyphLoader - * - * @description: - * The glyph loader is an internal object used to load several glyphs - * together (for example, in the case of composites). - */ - typedef struct FT_SubGlyphRec_ - { - FT_Int index; - FT_UShort flags; - FT_Int arg1; - FT_Int arg2; - FT_Matrix transform; - - } FT_SubGlyphRec; - - - typedef struct FT_GlyphLoadRec_ - { - FT_Outline outline; /* outline */ - FT_Vector* extra_points; /* extra points table */ - FT_Vector* extra_points2; /* second extra points table */ - FT_UInt num_subglyphs; /* number of subglyphs */ - FT_SubGlyph subglyphs; /* subglyphs */ - - } FT_GlyphLoadRec, *FT_GlyphLoad; - - - typedef struct FT_GlyphLoaderRec_ - { - FT_Memory memory; - FT_UInt max_points; - FT_UInt max_contours; - FT_UInt max_subglyphs; - FT_Bool use_extra; - - FT_GlyphLoadRec base; - FT_GlyphLoadRec current; - - void* other; /* for possible future extension? */ - - } FT_GlyphLoaderRec, *FT_GlyphLoader; - - - /* create new empty glyph loader */ - FT_BASE( FT_Error ) - FT_GlyphLoader_New( FT_Memory memory, - FT_GlyphLoader *aloader ); - - /* add an extra points table to a glyph loader */ - FT_BASE( FT_Error ) - FT_GlyphLoader_CreateExtra( FT_GlyphLoader loader ); - - /* destroy a glyph loader */ - FT_BASE( void ) - FT_GlyphLoader_Done( FT_GlyphLoader loader ); - - /* reset a glyph loader (frees everything int it) */ - FT_BASE( void ) - FT_GlyphLoader_Reset( FT_GlyphLoader loader ); - - /* rewind a glyph loader */ - FT_BASE( void ) - FT_GlyphLoader_Rewind( FT_GlyphLoader loader ); - - /* check that there is enough space to add `n_points' and `n_contours' */ - /* to the glyph loader */ - FT_BASE( FT_Error ) - FT_GlyphLoader_CheckPoints( FT_GlyphLoader loader, - FT_UInt n_points, - FT_UInt n_contours ); - - -#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \ - ( (_count) == 0 || \ - ( (FT_UInt)(_loader)->base.outline.n_points + \ - (FT_UInt)(_loader)->current.outline.n_points + \ - (FT_UInt)(_count) ) <= (_loader)->max_points ) - -#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \ - ( (_count) == 0 || \ - ( (FT_UInt)(_loader)->base.outline.n_contours + \ - (FT_UInt)(_loader)->current.outline.n_contours + \ - (FT_UInt)(_count) ) <= (_loader)->max_contours ) - -#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours ) \ - ( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \ - FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \ - ? 0 \ - : FT_GlyphLoader_CheckPoints( (_loader), \ - (FT_UInt)(_points), \ - (FT_UInt)(_contours) ) ) - - - /* check that there is enough space to add `n_subs' sub-glyphs to */ - /* a glyph loader */ - FT_BASE( FT_Error ) - FT_GlyphLoader_CheckSubGlyphs( FT_GlyphLoader loader, - FT_UInt n_subs ); - - /* prepare a glyph loader, i.e. empty the current glyph */ - FT_BASE( void ) - FT_GlyphLoader_Prepare( FT_GlyphLoader loader ); - - /* add the current glyph to the base glyph */ - FT_BASE( void ) - FT_GlyphLoader_Add( FT_GlyphLoader loader ); - - /* */ - - -FT_END_HEADER - -#endif /* FTGLOADR_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/fthash.h b/FreeType/include/freetype/internal/fthash.h deleted file mode 100644 index 2491880..0000000 --- a/FreeType/include/freetype/internal/fthash.h +++ /dev/null @@ -1,136 +0,0 @@ -/**************************************************************************** - * - * fthash.h - * - * Hashing functions (specification). - * - */ - -/* - * Copyright 2000 Computing Research Labs, New Mexico State University - * Copyright 2001-2015 - * Francesco Zappa Nardelli - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT - * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - - /************************************************************************** - * - * This file is based on code from bdf.c,v 1.22 2000/03/16 20:08:50 - * - * taken from Mark Leisher's xmbdfed package - * - */ - - -#ifndef FTHASH_H_ -#define FTHASH_H_ - - -#include -#include FT_FREETYPE_H - - -FT_BEGIN_HEADER - - - typedef union FT_Hashkey_ - { - FT_Int num; - const char* str; - - } FT_Hashkey; - - - typedef struct FT_HashnodeRec_ - { - FT_Hashkey key; - size_t data; - - } FT_HashnodeRec; - - typedef struct FT_HashnodeRec_ *FT_Hashnode; - - - typedef FT_ULong - (*FT_Hash_LookupFunc)( FT_Hashkey* key ); - - typedef FT_Bool - (*FT_Hash_CompareFunc)( FT_Hashkey* a, - FT_Hashkey* b ); - - - typedef struct FT_HashRec_ - { - FT_UInt limit; - FT_UInt size; - FT_UInt used; - - FT_Hash_LookupFunc lookup; - FT_Hash_CompareFunc compare; - - FT_Hashnode* table; - - } FT_HashRec; - - typedef struct FT_HashRec_ *FT_Hash; - - - FT_Error - ft_hash_str_init( FT_Hash hash, - FT_Memory memory ); - - FT_Error - ft_hash_num_init( FT_Hash hash, - FT_Memory memory ); - - void - ft_hash_str_free( FT_Hash hash, - FT_Memory memory ); - -#define ft_hash_num_free ft_hash_str_free - - FT_Error - ft_hash_str_insert( const char* key, - size_t data, - FT_Hash hash, - FT_Memory memory ); - - FT_Error - ft_hash_num_insert( FT_Int num, - size_t data, - FT_Hash hash, - FT_Memory memory ); - - size_t* - ft_hash_str_lookup( const char* key, - FT_Hash hash ); - - size_t* - ft_hash_num_lookup( FT_Int num, - FT_Hash hash ); - - -FT_END_HEADER - - -#endif /* FTHASH_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftmemory.h b/FreeType/include/freetype/internal/ftmemory.h deleted file mode 100644 index 78bd3bc..0000000 --- a/FreeType/include/freetype/internal/ftmemory.h +++ /dev/null @@ -1,392 +0,0 @@ -/**************************************************************************** - * - * ftmemory.h - * - * The FreeType memory management macros (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTMEMORY_H_ -#define FTMEMORY_H_ - - -#include -#include FT_CONFIG_CONFIG_H -#include FT_TYPES_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @macro: - * FT_SET_ERROR - * - * @description: - * This macro is used to set an implicit 'error' variable to a given - * expression's value (usually a function call), and convert it to a - * boolean which is set whenever the value is != 0. - */ -#undef FT_SET_ERROR -#define FT_SET_ERROR( expression ) \ - ( ( error = (expression) ) != 0 ) - - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** ****/ - /**** M E M O R Y ****/ - /**** ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /* - * C++ refuses to handle statements like p = (void*)anything, with `p' a - * typed pointer. Since we don't have a `typeof' operator in standard C++, - * we have to use a template to emulate it. - */ - -#ifdef __cplusplus - -extern "C++" -{ - template inline T* - cplusplus_typeof( T*, - void *v ) - { - return static_cast ( v ); - } -} - -#define FT_ASSIGNP( p, val ) (p) = cplusplus_typeof( (p), (val) ) - -#else - -#define FT_ASSIGNP( p, val ) (p) = (val) - -#endif - - - -#ifdef FT_DEBUG_MEMORY - - FT_BASE( const char* ) _ft_debug_file; - FT_BASE( long ) _ft_debug_lineno; - -#define FT_DEBUG_INNER( exp ) ( _ft_debug_file = __FILE__, \ - _ft_debug_lineno = __LINE__, \ - (exp) ) - -#define FT_ASSIGNP_INNER( p, exp ) ( _ft_debug_file = __FILE__, \ - _ft_debug_lineno = __LINE__, \ - FT_ASSIGNP( p, exp ) ) - -#else /* !FT_DEBUG_MEMORY */ - -#define FT_DEBUG_INNER( exp ) (exp) -#define FT_ASSIGNP_INNER( p, exp ) FT_ASSIGNP( p, exp ) - -#endif /* !FT_DEBUG_MEMORY */ - - - /* - * The allocation functions return a pointer, and the error code is written - * to through the `p_error' parameter. - */ - - /* The `q' variants of the functions below (`q' for `quick') don't fill */ - /* the allocated or reallocated memory with zero bytes. */ - - FT_BASE( FT_Pointer ) - ft_mem_alloc( FT_Memory memory, - FT_Long size, - FT_Error *p_error ); - - FT_BASE( FT_Pointer ) - ft_mem_qalloc( FT_Memory memory, - FT_Long size, - FT_Error *p_error ); - - FT_BASE( FT_Pointer ) - ft_mem_realloc( FT_Memory memory, - FT_Long item_size, - FT_Long cur_count, - FT_Long new_count, - void* block, - FT_Error *p_error ); - - FT_BASE( FT_Pointer ) - ft_mem_qrealloc( FT_Memory memory, - FT_Long item_size, - FT_Long cur_count, - FT_Long new_count, - void* block, - FT_Error *p_error ); - - FT_BASE( void ) - ft_mem_free( FT_Memory memory, - const void* P ); - - - /* The `Q' variants of the macros below (`Q' for `quick') don't fill */ - /* the allocated or reallocated memory with zero bytes. */ - -#define FT_MEM_ALLOC( ptr, size ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_alloc( memory, \ - (FT_Long)(size), \ - &error ) ) - -#define FT_MEM_FREE( ptr ) \ - FT_BEGIN_STMNT \ - ft_mem_free( memory, (ptr) ); \ - (ptr) = NULL; \ - FT_END_STMNT - -#define FT_MEM_NEW( ptr ) \ - FT_MEM_ALLOC( ptr, sizeof ( *(ptr) ) ) - -#define FT_MEM_REALLOC( ptr, cursz, newsz ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \ - 1, \ - (FT_Long)(cursz), \ - (FT_Long)(newsz), \ - (ptr), \ - &error ) ) - -#define FT_MEM_QALLOC( ptr, size ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_qalloc( memory, \ - (FT_Long)(size), \ - &error ) ) - -#define FT_MEM_QNEW( ptr ) \ - FT_MEM_QALLOC( ptr, sizeof ( *(ptr) ) ) - -#define FT_MEM_QREALLOC( ptr, cursz, newsz ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \ - 1, \ - (FT_Long)(cursz), \ - (FT_Long)(newsz), \ - (ptr), \ - &error ) ) - -#define FT_MEM_ALLOC_MULT( ptr, count, item_size ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \ - (FT_Long)(item_size), \ - 0, \ - (FT_Long)(count), \ - NULL, \ - &error ) ) - -#define FT_MEM_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \ - (FT_Long)(itmsz), \ - (FT_Long)(oldcnt), \ - (FT_Long)(newcnt), \ - (ptr), \ - &error ) ) - -#define FT_MEM_QALLOC_MULT( ptr, count, item_size ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \ - (FT_Long)(item_size), \ - 0, \ - (FT_Long)(count), \ - NULL, \ - &error ) ) - -#define FT_MEM_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \ - (FT_Long)(itmsz), \ - (FT_Long)(oldcnt), \ - (FT_Long)(newcnt), \ - (ptr), \ - &error ) ) - - -#define FT_MEM_SET_ERROR( cond ) ( (cond), error != 0 ) - - -#define FT_MEM_SET( dest, byte, count ) \ - ft_memset( dest, byte, (FT_Offset)(count) ) - -#define FT_MEM_COPY( dest, source, count ) \ - ft_memcpy( dest, source, (FT_Offset)(count) ) - -#define FT_MEM_MOVE( dest, source, count ) \ - ft_memmove( dest, source, (FT_Offset)(count) ) - - -#define FT_MEM_ZERO( dest, count ) FT_MEM_SET( dest, 0, count ) - -#define FT_ZERO( p ) FT_MEM_ZERO( p, sizeof ( *(p) ) ) - - -#define FT_ARRAY_ZERO( dest, count ) \ - FT_MEM_ZERO( dest, \ - (FT_Offset)(count) * sizeof ( *(dest) ) ) - -#define FT_ARRAY_COPY( dest, source, count ) \ - FT_MEM_COPY( dest, \ - source, \ - (FT_Offset)(count) * sizeof ( *(dest) ) ) - -#define FT_ARRAY_MOVE( dest, source, count ) \ - FT_MEM_MOVE( dest, \ - source, \ - (FT_Offset)(count) * sizeof ( *(dest) ) ) - - - /* - * Return the maximum number of addressable elements in an array. We limit - * ourselves to INT_MAX, rather than UINT_MAX, to avoid any problems. - */ -#define FT_ARRAY_MAX( ptr ) ( FT_INT_MAX / sizeof ( *(ptr) ) ) - -#define FT_ARRAY_CHECK( ptr, count ) ( (count) <= FT_ARRAY_MAX( ptr ) ) - - - /************************************************************************** - * - * The following functions macros expect that their pointer argument is - * _typed_ in order to automatically compute array element sizes. - */ - -#define FT_MEM_NEW_ARRAY( ptr, count ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \ - sizeof ( *(ptr) ), \ - 0, \ - (FT_Long)(count), \ - NULL, \ - &error ) ) - -#define FT_MEM_RENEW_ARRAY( ptr, cursz, newsz ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, \ - sizeof ( *(ptr) ), \ - (FT_Long)(cursz), \ - (FT_Long)(newsz), \ - (ptr), \ - &error ) ) - -#define FT_MEM_QNEW_ARRAY( ptr, count ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \ - sizeof ( *(ptr) ), \ - 0, \ - (FT_Long)(count), \ - NULL, \ - &error ) ) - -#define FT_MEM_QRENEW_ARRAY( ptr, cursz, newsz ) \ - FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, \ - sizeof ( *(ptr) ), \ - (FT_Long)(cursz), \ - (FT_Long)(newsz), \ - (ptr), \ - &error ) ) - -#define FT_ALLOC( ptr, size ) \ - FT_MEM_SET_ERROR( FT_MEM_ALLOC( ptr, size ) ) - -#define FT_REALLOC( ptr, cursz, newsz ) \ - FT_MEM_SET_ERROR( FT_MEM_REALLOC( ptr, cursz, newsz ) ) - -#define FT_ALLOC_MULT( ptr, count, item_size ) \ - FT_MEM_SET_ERROR( FT_MEM_ALLOC_MULT( ptr, count, item_size ) ) - -#define FT_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) \ - FT_MEM_SET_ERROR( FT_MEM_REALLOC_MULT( ptr, oldcnt, \ - newcnt, itmsz ) ) - -#define FT_QALLOC( ptr, size ) \ - FT_MEM_SET_ERROR( FT_MEM_QALLOC( ptr, size ) ) - -#define FT_QREALLOC( ptr, cursz, newsz ) \ - FT_MEM_SET_ERROR( FT_MEM_QREALLOC( ptr, cursz, newsz ) ) - -#define FT_QALLOC_MULT( ptr, count, item_size ) \ - FT_MEM_SET_ERROR( FT_MEM_QALLOC_MULT( ptr, count, item_size ) ) - -#define FT_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) \ - FT_MEM_SET_ERROR( FT_MEM_QREALLOC_MULT( ptr, oldcnt, \ - newcnt, itmsz ) ) - -#define FT_FREE( ptr ) FT_MEM_FREE( ptr ) - -#define FT_NEW( ptr ) FT_MEM_SET_ERROR( FT_MEM_NEW( ptr ) ) - -#define FT_NEW_ARRAY( ptr, count ) \ - FT_MEM_SET_ERROR( FT_MEM_NEW_ARRAY( ptr, count ) ) - -#define FT_RENEW_ARRAY( ptr, curcnt, newcnt ) \ - FT_MEM_SET_ERROR( FT_MEM_RENEW_ARRAY( ptr, curcnt, newcnt ) ) - -#define FT_QNEW( ptr ) \ - FT_MEM_SET_ERROR( FT_MEM_QNEW( ptr ) ) - -#define FT_QNEW_ARRAY( ptr, count ) \ - FT_MEM_SET_ERROR( FT_MEM_NEW_ARRAY( ptr, count ) ) - -#define FT_QRENEW_ARRAY( ptr, curcnt, newcnt ) \ - FT_MEM_SET_ERROR( FT_MEM_RENEW_ARRAY( ptr, curcnt, newcnt ) ) - - - FT_BASE( FT_Pointer ) - ft_mem_strdup( FT_Memory memory, - const char* str, - FT_Error *p_error ); - - FT_BASE( FT_Pointer ) - ft_mem_dup( FT_Memory memory, - const void* address, - FT_ULong size, - FT_Error *p_error ); - - -#define FT_MEM_STRDUP( dst, str ) \ - (dst) = (char*)ft_mem_strdup( memory, (const char*)(str), &error ) - -#define FT_STRDUP( dst, str ) \ - FT_MEM_SET_ERROR( FT_MEM_STRDUP( dst, str ) ) - -#define FT_MEM_DUP( dst, address, size ) \ - (dst) = ft_mem_dup( memory, (address), (FT_ULong)(size), &error ) - -#define FT_DUP( dst, address, size ) \ - FT_MEM_SET_ERROR( FT_MEM_DUP( dst, address, size ) ) - - - /* Return >= 1 if a truncation occurs. */ - /* Return 0 if the source string fits the buffer. */ - /* This is *not* the same as strlcpy(). */ - FT_BASE( FT_Int ) - ft_mem_strcpyn( char* dst, - const char* src, - FT_ULong size ); - -#define FT_STRCPYN( dst, src, size ) \ - ft_mem_strcpyn( (char*)dst, (const char*)(src), (FT_ULong)(size) ) - - /* */ - - -FT_END_HEADER - -#endif /* FTMEMORY_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftobjs.h b/FreeType/include/freetype/internal/ftobjs.h deleted file mode 100644 index 0578dd8..0000000 --- a/FreeType/include/freetype/internal/ftobjs.h +++ /dev/null @@ -1,1236 +0,0 @@ -/**************************************************************************** - * - * ftobjs.h - * - * The FreeType private base classes (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * This file contains the definition of all internal FreeType classes. - * - */ - - -#ifndef FTOBJS_H_ -#define FTOBJS_H_ - -#include -#include FT_RENDER_H -#include FT_SIZES_H -#include FT_LCD_FILTER_H -#include FT_INTERNAL_MEMORY_H -#include FT_INTERNAL_GLYPH_LOADER_H -#include FT_INTERNAL_DRIVER_H -#include FT_INTERNAL_AUTOHINT_H -#include FT_INTERNAL_SERVICE_H -#include FT_INTERNAL_CALC_H - -#ifdef FT_CONFIG_OPTION_INCREMENTAL -#include FT_INCREMENTAL_H -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * Some generic definitions. - */ -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef NULL -#define NULL (void*)0 -#endif - - - /************************************************************************** - * - * The min and max functions missing in C. As usual, be careful not to - * write things like FT_MIN( a++, b++ ) to avoid side effects. - */ -#define FT_MIN( a, b ) ( (a) < (b) ? (a) : (b) ) -#define FT_MAX( a, b ) ( (a) > (b) ? (a) : (b) ) - -#define FT_ABS( a ) ( (a) < 0 ? -(a) : (a) ) - - /* - * Approximate sqrt(x*x+y*y) using the `alpha max plus beta min' algorithm. - * We use alpha = 1, beta = 3/8, giving us results with a largest error - * less than 7% compared to the exact value. - */ -#define FT_HYPOT( x, y ) \ - ( x = FT_ABS( x ), \ - y = FT_ABS( y ), \ - x > y ? x + ( 3 * y >> 3 ) \ - : y + ( 3 * x >> 3 ) ) - - /* we use FT_TYPEOF to suppress signedness compilation warnings */ -#define FT_PAD_FLOOR( x, n ) ( (x) & ~FT_TYPEOF( x )( (n) - 1 ) ) -#define FT_PAD_ROUND( x, n ) FT_PAD_FLOOR( (x) + (n) / 2, n ) -#define FT_PAD_CEIL( x, n ) FT_PAD_FLOOR( (x) + (n) - 1, n ) - -#define FT_PIX_FLOOR( x ) ( (x) & ~FT_TYPEOF( x )63 ) -#define FT_PIX_ROUND( x ) FT_PIX_FLOOR( (x) + 32 ) -#define FT_PIX_CEIL( x ) FT_PIX_FLOOR( (x) + 63 ) - - /* specialized versions (for signed values) */ - /* that don't produce run-time errors due to integer overflow */ -#define FT_PAD_ROUND_LONG( x, n ) FT_PAD_FLOOR( ADD_LONG( (x), (n) / 2 ), \ - n ) -#define FT_PAD_CEIL_LONG( x, n ) FT_PAD_FLOOR( ADD_LONG( (x), (n) - 1 ), \ - n ) -#define FT_PIX_ROUND_LONG( x ) FT_PIX_FLOOR( ADD_LONG( (x), 32 ) ) -#define FT_PIX_CEIL_LONG( x ) FT_PIX_FLOOR( ADD_LONG( (x), 63 ) ) - -#define FT_PAD_ROUND_INT32( x, n ) FT_PAD_FLOOR( ADD_INT32( (x), (n) / 2 ), \ - n ) -#define FT_PAD_CEIL_INT32( x, n ) FT_PAD_FLOOR( ADD_INT32( (x), (n) - 1 ), \ - n ) -#define FT_PIX_ROUND_INT32( x ) FT_PIX_FLOOR( ADD_INT32( (x), 32 ) ) -#define FT_PIX_CEIL_INT32( x ) FT_PIX_FLOOR( ADD_INT32( (x), 63 ) ) - - - /* - * character classification functions -- since these are used to parse font - * files, we must not use those in which are locale-dependent - */ -#define ft_isdigit( x ) ( ( (unsigned)(x) - '0' ) < 10U ) - -#define ft_isxdigit( x ) ( ( (unsigned)(x) - '0' ) < 10U || \ - ( (unsigned)(x) - 'a' ) < 6U || \ - ( (unsigned)(x) - 'A' ) < 6U ) - - /* the next two macros assume ASCII representation */ -#define ft_isupper( x ) ( ( (unsigned)(x) - 'A' ) < 26U ) -#define ft_islower( x ) ( ( (unsigned)(x) - 'a' ) < 26U ) - -#define ft_isalpha( x ) ( ft_isupper( x ) || ft_islower( x ) ) -#define ft_isalnum( x ) ( ft_isdigit( x ) || ft_isalpha( x ) ) - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** ****/ - /**** C H A R M A P S ****/ - /**** ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - /* handle to internal charmap object */ - typedef struct FT_CMapRec_* FT_CMap; - - /* handle to charmap class structure */ - typedef const struct FT_CMap_ClassRec_* FT_CMap_Class; - - /* internal charmap object structure */ - typedef struct FT_CMapRec_ - { - FT_CharMapRec charmap; - FT_CMap_Class clazz; - - } FT_CMapRec; - - /* typecast any pointer to a charmap handle */ -#define FT_CMAP( x ) ( (FT_CMap)( x ) ) - - /* obvious macros */ -#define FT_CMAP_PLATFORM_ID( x ) FT_CMAP( x )->charmap.platform_id -#define FT_CMAP_ENCODING_ID( x ) FT_CMAP( x )->charmap.encoding_id -#define FT_CMAP_ENCODING( x ) FT_CMAP( x )->charmap.encoding -#define FT_CMAP_FACE( x ) FT_CMAP( x )->charmap.face - - - /* class method definitions */ - typedef FT_Error - (*FT_CMap_InitFunc)( FT_CMap cmap, - FT_Pointer init_data ); - - typedef void - (*FT_CMap_DoneFunc)( FT_CMap cmap ); - - typedef FT_UInt - (*FT_CMap_CharIndexFunc)( FT_CMap cmap, - FT_UInt32 char_code ); - - typedef FT_UInt - (*FT_CMap_CharNextFunc)( FT_CMap cmap, - FT_UInt32 *achar_code ); - - typedef FT_UInt - (*FT_CMap_CharVarIndexFunc)( FT_CMap cmap, - FT_CMap unicode_cmap, - FT_UInt32 char_code, - FT_UInt32 variant_selector ); - - typedef FT_Int - (*FT_CMap_CharVarIsDefaultFunc)( FT_CMap cmap, - FT_UInt32 char_code, - FT_UInt32 variant_selector ); - - typedef FT_UInt32 * - (*FT_CMap_VariantListFunc)( FT_CMap cmap, - FT_Memory mem ); - - typedef FT_UInt32 * - (*FT_CMap_CharVariantListFunc)( FT_CMap cmap, - FT_Memory mem, - FT_UInt32 char_code ); - - typedef FT_UInt32 * - (*FT_CMap_VariantCharListFunc)( FT_CMap cmap, - FT_Memory mem, - FT_UInt32 variant_selector ); - - - typedef struct FT_CMap_ClassRec_ - { - FT_ULong size; - - FT_CMap_InitFunc init; - FT_CMap_DoneFunc done; - FT_CMap_CharIndexFunc char_index; - FT_CMap_CharNextFunc char_next; - - /* Subsequent entries are special ones for format 14 -- the variant */ - /* selector subtable which behaves like no other */ - - FT_CMap_CharVarIndexFunc char_var_index; - FT_CMap_CharVarIsDefaultFunc char_var_default; - FT_CMap_VariantListFunc variant_list; - FT_CMap_CharVariantListFunc charvariant_list; - FT_CMap_VariantCharListFunc variantchar_list; - - } FT_CMap_ClassRec; - - -#define FT_DECLARE_CMAP_CLASS( class_ ) \ - FT_CALLBACK_TABLE const FT_CMap_ClassRec class_; - -#define FT_DEFINE_CMAP_CLASS( \ - class_, \ - size_, \ - init_, \ - done_, \ - char_index_, \ - char_next_, \ - char_var_index_, \ - char_var_default_, \ - variant_list_, \ - charvariant_list_, \ - variantchar_list_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_CMap_ClassRec class_ = \ - { \ - size_, \ - init_, \ - done_, \ - char_index_, \ - char_next_, \ - char_var_index_, \ - char_var_default_, \ - variant_list_, \ - charvariant_list_, \ - variantchar_list_ \ - }; - - - /* create a new charmap and add it to charmap->face */ - FT_BASE( FT_Error ) - FT_CMap_New( FT_CMap_Class clazz, - FT_Pointer init_data, - FT_CharMap charmap, - FT_CMap *acmap ); - - /* destroy a charmap and remove it from face's list */ - FT_BASE( void ) - FT_CMap_Done( FT_CMap cmap ); - - - /* add LCD padding to CBox */ - FT_BASE( void ) - ft_lcd_padding( FT_BBox* cbox, - FT_GlyphSlot slot, - FT_Render_Mode mode ); - -#ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING - - typedef void (*FT_Bitmap_LcdFilterFunc)( FT_Bitmap* bitmap, - FT_Render_Mode render_mode, - FT_Byte* weights ); - - - /* This is the default LCD filter, an in-place, 5-tap FIR filter. */ - FT_BASE( void ) - ft_lcd_filter_fir( FT_Bitmap* bitmap, - FT_Render_Mode mode, - FT_LcdFiveTapFilter weights ); - -#endif /* FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ - - /************************************************************************** - * - * @struct: - * FT_Face_InternalRec - * - * @description: - * This structure contains the internal fields of each FT_Face object. - * These fields may change between different releases of FreeType. - * - * @fields: - * max_points :: - * The maximum number of points used to store the vectorial outline of - * any glyph in this face. If this value cannot be known in advance, - * or if the face isn't scalable, this should be set to 0. Only - * relevant for scalable formats. - * - * max_contours :: - * The maximum number of contours used to store the vectorial outline - * of any glyph in this face. If this value cannot be known in - * advance, or if the face isn't scalable, this should be set to 0. - * Only relevant for scalable formats. - * - * transform_matrix :: - * A 2x2 matrix of 16.16 coefficients used to transform glyph outlines - * after they are loaded from the font. Only used by the convenience - * functions. - * - * transform_delta :: - * A translation vector used to transform glyph outlines after they are - * loaded from the font. Only used by the convenience functions. - * - * transform_flags :: - * Some flags used to classify the transform. Only used by the - * convenience functions. - * - * services :: - * A cache for frequently used services. It should be only accessed - * with the macro `FT_FACE_LOOKUP_SERVICE`. - * - * incremental_interface :: - * If non-null, the interface through which glyph data and metrics are - * loaded incrementally for faces that do not provide all of this data - * when first opened. This field exists only if - * @FT_CONFIG_OPTION_INCREMENTAL is defined. - * - * no_stem_darkening :: - * Overrides the module-level default, see @stem-darkening[cff], for - * example. FALSE and TRUE toggle stem darkening on and off, - * respectively, value~-1 means to use the module/driver default. - * - * random_seed :: - * If positive, override the seed value for the CFF 'random' operator. - * Value~0 means to use the font's value. Value~-1 means to use the - * CFF driver's default. - * - * lcd_weights :: - * lcd_filter_func :: - * These fields specify the LCD filtering weights and callback function - * for ClearType-style subpixel rendering. - * - * refcount :: - * A counter initialized to~1 at the time an @FT_Face structure is - * created. @FT_Reference_Face increments this counter, and - * @FT_Done_Face only destroys a face if the counter is~1, otherwise it - * simply decrements it. - */ - typedef struct FT_Face_InternalRec_ - { - FT_Matrix transform_matrix; - FT_Vector transform_delta; - FT_Int transform_flags; - - FT_ServiceCacheRec services; - -#ifdef FT_CONFIG_OPTION_INCREMENTAL - FT_Incremental_InterfaceRec* incremental_interface; -#endif - - FT_Char no_stem_darkening; - FT_Int32 random_seed; - -#ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING - FT_LcdFiveTapFilter lcd_weights; /* filter weights, if any */ - FT_Bitmap_LcdFilterFunc lcd_filter_func; /* filtering callback */ -#endif - - FT_Int refcount; - - } FT_Face_InternalRec; - - - /************************************************************************** - * - * @struct: - * FT_Slot_InternalRec - * - * @description: - * This structure contains the internal fields of each FT_GlyphSlot - * object. These fields may change between different releases of - * FreeType. - * - * @fields: - * loader :: - * The glyph loader object used to load outlines into the glyph slot. - * - * flags :: - * Possible values are zero or FT_GLYPH_OWN_BITMAP. The latter - * indicates that the FT_GlyphSlot structure owns the bitmap buffer. - * - * glyph_transformed :: - * Boolean. Set to TRUE when the loaded glyph must be transformed - * through a specific font transformation. This is _not_ the same as - * the face transform set through FT_Set_Transform(). - * - * glyph_matrix :: - * The 2x2 matrix corresponding to the glyph transformation, if - * necessary. - * - * glyph_delta :: - * The 2d translation vector corresponding to the glyph transformation, - * if necessary. - * - * glyph_hints :: - * Format-specific glyph hints management. - * - * load_flags :: - * The load flags passed as an argument to @FT_Load_Glyph while - * initializing the glyph slot. - */ - -#define FT_GLYPH_OWN_BITMAP 0x1U - - typedef struct FT_Slot_InternalRec_ - { - FT_GlyphLoader loader; - FT_UInt flags; - FT_Bool glyph_transformed; - FT_Matrix glyph_matrix; - FT_Vector glyph_delta; - void* glyph_hints; - - FT_Int32 load_flags; - - } FT_GlyphSlot_InternalRec; - - - /************************************************************************** - * - * @struct: - * FT_Size_InternalRec - * - * @description: - * This structure contains the internal fields of each FT_Size object. - * - * @fields: - * module_data :: - * Data specific to a driver module. - * - * autohint_mode :: - * The used auto-hinting mode. - * - * autohint_metrics :: - * Metrics used by the auto-hinter. - * - */ - - typedef struct FT_Size_InternalRec_ - { - void* module_data; - - FT_Render_Mode autohint_mode; - FT_Size_Metrics autohint_metrics; - - } FT_Size_InternalRec; - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** ****/ - /**** M O D U L E S ****/ - /**** ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @struct: - * FT_ModuleRec - * - * @description: - * A module object instance. - * - * @fields: - * clazz :: - * A pointer to the module's class. - * - * library :: - * A handle to the parent library object. - * - * memory :: - * A handle to the memory manager. - */ - typedef struct FT_ModuleRec_ - { - FT_Module_Class* clazz; - FT_Library library; - FT_Memory memory; - - } FT_ModuleRec; - - - /* typecast an object to an FT_Module */ -#define FT_MODULE( x ) ( (FT_Module)(x) ) - -#define FT_MODULE_CLASS( x ) FT_MODULE( x )->clazz -#define FT_MODULE_LIBRARY( x ) FT_MODULE( x )->library -#define FT_MODULE_MEMORY( x ) FT_MODULE( x )->memory - - -#define FT_MODULE_IS_DRIVER( x ) ( FT_MODULE_CLASS( x )->module_flags & \ - FT_MODULE_FONT_DRIVER ) - -#define FT_MODULE_IS_RENDERER( x ) ( FT_MODULE_CLASS( x )->module_flags & \ - FT_MODULE_RENDERER ) - -#define FT_MODULE_IS_HINTER( x ) ( FT_MODULE_CLASS( x )->module_flags & \ - FT_MODULE_HINTER ) - -#define FT_MODULE_IS_STYLER( x ) ( FT_MODULE_CLASS( x )->module_flags & \ - FT_MODULE_STYLER ) - -#define FT_DRIVER_IS_SCALABLE( x ) ( FT_MODULE_CLASS( x )->module_flags & \ - FT_MODULE_DRIVER_SCALABLE ) - -#define FT_DRIVER_USES_OUTLINES( x ) !( FT_MODULE_CLASS( x )->module_flags & \ - FT_MODULE_DRIVER_NO_OUTLINES ) - -#define FT_DRIVER_HAS_HINTER( x ) ( FT_MODULE_CLASS( x )->module_flags & \ - FT_MODULE_DRIVER_HAS_HINTER ) - -#define FT_DRIVER_HINTS_LIGHTLY( x ) ( FT_MODULE_CLASS( x )->module_flags & \ - FT_MODULE_DRIVER_HINTS_LIGHTLY ) - - - /************************************************************************** - * - * @function: - * FT_Get_Module_Interface - * - * @description: - * Finds a module and returns its specific interface as a typeless - * pointer. - * - * @input: - * library :: - * A handle to the library object. - * - * module_name :: - * The module's name (as an ASCII string). - * - * @return: - * A module-specific interface if available, 0 otherwise. - * - * @note: - * You should better be familiar with FreeType internals to know which - * module to look for, and what its interface is :-) - */ - FT_BASE( const void* ) - FT_Get_Module_Interface( FT_Library library, - const char* mod_name ); - - FT_BASE( FT_Pointer ) - ft_module_get_service( FT_Module module, - const char* service_id, - FT_Bool global ); - -#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES - FT_BASE( FT_Error ) - ft_property_string_set( FT_Library library, - const FT_String* module_name, - const FT_String* property_name, - FT_String* value ); -#endif - - /* */ - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** ****/ - /**** F A C E, S I Z E & G L Y P H S L O T O B J E C T S ****/ - /**** ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - /* a few macros used to perform easy typecasts with minimal brain damage */ - -#define FT_FACE( x ) ( (FT_Face)(x) ) -#define FT_SIZE( x ) ( (FT_Size)(x) ) -#define FT_SLOT( x ) ( (FT_GlyphSlot)(x) ) - -#define FT_FACE_DRIVER( x ) FT_FACE( x )->driver -#define FT_FACE_LIBRARY( x ) FT_FACE_DRIVER( x )->root.library -#define FT_FACE_MEMORY( x ) FT_FACE( x )->memory -#define FT_FACE_STREAM( x ) FT_FACE( x )->stream - -#define FT_SIZE_FACE( x ) FT_SIZE( x )->face -#define FT_SLOT_FACE( x ) FT_SLOT( x )->face - -#define FT_FACE_SLOT( x ) FT_FACE( x )->glyph -#define FT_FACE_SIZE( x ) FT_FACE( x )->size - - - /************************************************************************** - * - * @function: - * FT_New_GlyphSlot - * - * @description: - * It is sometimes useful to have more than one glyph slot for a given - * face object. This function is used to create additional slots. All - * of them are automatically discarded when the face is destroyed. - * - * @input: - * face :: - * A handle to a parent face object. - * - * @output: - * aslot :: - * A handle to a new glyph slot object. - * - * @return: - * FreeType error code. 0 means success. - */ - FT_BASE( FT_Error ) - FT_New_GlyphSlot( FT_Face face, - FT_GlyphSlot *aslot ); - - - /************************************************************************** - * - * @function: - * FT_Done_GlyphSlot - * - * @description: - * Destroys a given glyph slot. Remember however that all slots are - * automatically destroyed with its parent. Using this function is not - * always mandatory. - * - * @input: - * slot :: - * A handle to a target glyph slot. - */ - FT_BASE( void ) - FT_Done_GlyphSlot( FT_GlyphSlot slot ); - - /* */ - -#define FT_REQUEST_WIDTH( req ) \ - ( (req)->horiResolution \ - ? ( (req)->width * (FT_Pos)(req)->horiResolution + 36 ) / 72 \ - : (req)->width ) - -#define FT_REQUEST_HEIGHT( req ) \ - ( (req)->vertResolution \ - ? ( (req)->height * (FT_Pos)(req)->vertResolution + 36 ) / 72 \ - : (req)->height ) - - - /* Set the metrics according to a bitmap strike. */ - FT_BASE( void ) - FT_Select_Metrics( FT_Face face, - FT_ULong strike_index ); - - - /* Set the metrics according to a size request. */ - FT_BASE( void ) - FT_Request_Metrics( FT_Face face, - FT_Size_Request req ); - - - /* Match a size request against `available_sizes'. */ - FT_BASE( FT_Error ) - FT_Match_Size( FT_Face face, - FT_Size_Request req, - FT_Bool ignore_width, - FT_ULong* size_index ); - - - /* Use the horizontal metrics to synthesize the vertical metrics. */ - /* If `advance' is zero, it is also synthesized. */ - FT_BASE( void ) - ft_synthesize_vertical_metrics( FT_Glyph_Metrics* metrics, - FT_Pos advance ); - - - /* Free the bitmap of a given glyphslot when needed (i.e., only when it */ - /* was allocated with ft_glyphslot_alloc_bitmap). */ - FT_BASE( void ) - ft_glyphslot_free_bitmap( FT_GlyphSlot slot ); - - - /* Preset bitmap metrics of an outline glyphslot prior to rendering */ - /* and check whether the truncated bbox is too large for rendering. */ - FT_BASE( FT_Bool ) - ft_glyphslot_preset_bitmap( FT_GlyphSlot slot, - FT_Render_Mode mode, - const FT_Vector* origin ); - - /* Allocate a new bitmap buffer in a glyph slot. */ - FT_BASE( FT_Error ) - ft_glyphslot_alloc_bitmap( FT_GlyphSlot slot, - FT_ULong size ); - - - /* Set the bitmap buffer in a glyph slot to a given pointer. The buffer */ - /* will not be freed by a later call to ft_glyphslot_free_bitmap. */ - FT_BASE( void ) - ft_glyphslot_set_bitmap( FT_GlyphSlot slot, - FT_Byte* buffer ); - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** ****/ - /**** R E N D E R E R S ****/ - /**** ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - -#define FT_RENDERER( x ) ( (FT_Renderer)(x) ) -#define FT_GLYPH( x ) ( (FT_Glyph)(x) ) -#define FT_BITMAP_GLYPH( x ) ( (FT_BitmapGlyph)(x) ) -#define FT_OUTLINE_GLYPH( x ) ( (FT_OutlineGlyph)(x) ) - - - typedef struct FT_RendererRec_ - { - FT_ModuleRec root; - FT_Renderer_Class* clazz; - FT_Glyph_Format glyph_format; - FT_Glyph_Class glyph_class; - - FT_Raster raster; - FT_Raster_Render_Func raster_render; - FT_Renderer_RenderFunc render; - - } FT_RendererRec; - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** ****/ - /**** F O N T D R I V E R S ****/ - /**** ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /* typecast a module into a driver easily */ -#define FT_DRIVER( x ) ( (FT_Driver)(x) ) - - /* typecast a module as a driver, and get its driver class */ -#define FT_DRIVER_CLASS( x ) FT_DRIVER( x )->clazz - - - /************************************************************************** - * - * @struct: - * FT_DriverRec - * - * @description: - * The root font driver class. A font driver is responsible for managing - * and loading font files of a given format. - * - * @fields: - * root :: - * Contains the fields of the root module class. - * - * clazz :: - * A pointer to the font driver's class. Note that this is NOT - * root.clazz. 'class' wasn't used as it is a reserved word in C++. - * - * faces_list :: - * The list of faces currently opened by this driver. - * - * glyph_loader :: - * Unused. Used to be glyph loader for all faces managed by this - * driver. - */ - typedef struct FT_DriverRec_ - { - FT_ModuleRec root; - FT_Driver_Class clazz; - FT_ListRec faces_list; - FT_GlyphLoader glyph_loader; - - } FT_DriverRec; - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** ****/ - /**** L I B R A R I E S ****/ - /**** ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @struct: - * FT_LibraryRec - * - * @description: - * The FreeType library class. This is the root of all FreeType data. - * Use FT_New_Library() to create a library object, and FT_Done_Library() - * to discard it and all child objects. - * - * @fields: - * memory :: - * The library's memory object. Manages memory allocation. - * - * version_major :: - * The major version number of the library. - * - * version_minor :: - * The minor version number of the library. - * - * version_patch :: - * The current patch level of the library. - * - * num_modules :: - * The number of modules currently registered within this library. - * This is set to 0 for new libraries. New modules are added through - * the FT_Add_Module() API function. - * - * modules :: - * A table used to store handles to the currently registered - * modules. Note that each font driver contains a list of its opened - * faces. - * - * renderers :: - * The list of renderers currently registered within the library. - * - * cur_renderer :: - * The current outline renderer. This is a shortcut used to avoid - * parsing the list on each call to FT_Outline_Render(). It is a - * handle to the current renderer for the FT_GLYPH_FORMAT_OUTLINE - * format. - * - * auto_hinter :: - * The auto-hinter module interface. - * - * debug_hooks :: - * An array of four function pointers that allow debuggers to hook into - * a font format's interpreter. Currently, only the TrueType bytecode - * debugger uses this. - * - * lcd_weights :: - * The LCD filter weights for ClearType-style subpixel rendering. - * - * lcd_filter_func :: - * The LCD filtering callback function for for ClearType-style subpixel - * rendering. - * - * lcd_geometry :: - * This array specifies LCD subpixel geometry and controls Harmony LCD - * rendering technique, alternative to ClearType. - * - * pic_container :: - * Contains global structs and tables, instead of defining them - * globally. - * - * refcount :: - * A counter initialized to~1 at the time an @FT_Library structure is - * created. @FT_Reference_Library increments this counter, and - * @FT_Done_Library only destroys a library if the counter is~1, - * otherwise it simply decrements it. - */ - typedef struct FT_LibraryRec_ - { - FT_Memory memory; /* library's memory manager */ - - FT_Int version_major; - FT_Int version_minor; - FT_Int version_patch; - - FT_UInt num_modules; - FT_Module modules[FT_MAX_MODULES]; /* module objects */ - - FT_ListRec renderers; /* list of renderers */ - FT_Renderer cur_renderer; /* current outline renderer */ - FT_Module auto_hinter; - - FT_DebugHook_Func debug_hooks[4]; - -#ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING - FT_LcdFiveTapFilter lcd_weights; /* filter weights, if any */ - FT_Bitmap_LcdFilterFunc lcd_filter_func; /* filtering callback */ -#else - FT_Vector lcd_geometry[3]; /* RGB subpixel positions */ -#endif - - FT_Int refcount; - - } FT_LibraryRec; - - - FT_BASE( FT_Renderer ) - FT_Lookup_Renderer( FT_Library library, - FT_Glyph_Format format, - FT_ListNode* node ); - - FT_BASE( FT_Error ) - FT_Render_Glyph_Internal( FT_Library library, - FT_GlyphSlot slot, - FT_Render_Mode render_mode ); - - typedef const char* - (*FT_Face_GetPostscriptNameFunc)( FT_Face face ); - - typedef FT_Error - (*FT_Face_GetGlyphNameFunc)( FT_Face face, - FT_UInt glyph_index, - FT_Pointer buffer, - FT_UInt buffer_max ); - - typedef FT_UInt - (*FT_Face_GetGlyphNameIndexFunc)( FT_Face face, - const FT_String* glyph_name ); - - -#ifndef FT_CONFIG_OPTION_NO_DEFAULT_SYSTEM - - /************************************************************************** - * - * @function: - * FT_New_Memory - * - * @description: - * Creates a new memory object. - * - * @return: - * A pointer to the new memory object. 0 in case of error. - */ - FT_BASE( FT_Memory ) - FT_New_Memory( void ); - - - /************************************************************************** - * - * @function: - * FT_Done_Memory - * - * @description: - * Discards memory manager. - * - * @input: - * memory :: - * A handle to the memory manager. - */ - FT_BASE( void ) - FT_Done_Memory( FT_Memory memory ); - -#endif /* !FT_CONFIG_OPTION_NO_DEFAULT_SYSTEM */ - - - /* Define default raster's interface. The default raster is located in */ - /* `src/base/ftraster.c'. */ - /* */ - /* Client applications can register new rasters through the */ - /* FT_Set_Raster() API. */ - -#ifndef FT_NO_DEFAULT_RASTER - FT_EXPORT_VAR( FT_Raster_Funcs ) ft_default_raster; -#endif - - - /************************************************************************** - * - * @macro: - * FT_DEFINE_OUTLINE_FUNCS - * - * @description: - * Used to initialize an instance of FT_Outline_Funcs struct. The struct - * will be allocated in the global scope (or the scope where the macro is - * used). - */ -#define FT_DEFINE_OUTLINE_FUNCS( \ - class_, \ - move_to_, \ - line_to_, \ - conic_to_, \ - cubic_to_, \ - shift_, \ - delta_ ) \ - static const FT_Outline_Funcs class_ = \ - { \ - move_to_, \ - line_to_, \ - conic_to_, \ - cubic_to_, \ - shift_, \ - delta_ \ - }; - - - /************************************************************************** - * - * @macro: - * FT_DEFINE_RASTER_FUNCS - * - * @description: - * Used to initialize an instance of FT_Raster_Funcs struct. The struct - * will be allocated in the global scope (or the scope where the macro is - * used). - */ -#define FT_DEFINE_RASTER_FUNCS( \ - class_, \ - glyph_format_, \ - raster_new_, \ - raster_reset_, \ - raster_set_mode_, \ - raster_render_, \ - raster_done_ ) \ - const FT_Raster_Funcs class_ = \ - { \ - glyph_format_, \ - raster_new_, \ - raster_reset_, \ - raster_set_mode_, \ - raster_render_, \ - raster_done_ \ - }; - - - - /************************************************************************** - * - * @macro: - * FT_DEFINE_GLYPH - * - * @description: - * The struct will be allocated in the global scope (or the scope where - * the macro is used). - */ -#define FT_DEFINE_GLYPH( \ - class_, \ - size_, \ - format_, \ - init_, \ - done_, \ - copy_, \ - transform_, \ - bbox_, \ - prepare_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_Glyph_Class class_ = \ - { \ - size_, \ - format_, \ - init_, \ - done_, \ - copy_, \ - transform_, \ - bbox_, \ - prepare_ \ - }; - - - /************************************************************************** - * - * @macro: - * FT_DECLARE_RENDERER - * - * @description: - * Used to create a forward declaration of a FT_Renderer_Class struct - * instance. - * - * @macro: - * FT_DEFINE_RENDERER - * - * @description: - * Used to initialize an instance of FT_Renderer_Class struct. - * - * The struct will be allocated in the global scope (or the scope where - * the macro is used). - */ -#define FT_DECLARE_RENDERER( class_ ) \ - FT_EXPORT_VAR( const FT_Renderer_Class ) class_; - -#define FT_DEFINE_RENDERER( \ - class_, \ - flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_, \ - glyph_format_, \ - render_glyph_, \ - transform_glyph_, \ - get_glyph_cbox_, \ - set_mode_, \ - raster_class_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_Renderer_Class class_ = \ - { \ - FT_DEFINE_ROOT_MODULE( flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_ ) \ - glyph_format_, \ - \ - render_glyph_, \ - transform_glyph_, \ - get_glyph_cbox_, \ - set_mode_, \ - \ - raster_class_ \ - }; - - - /************************************************************************** - * - * @macro: - * FT_DECLARE_MODULE - * - * @description: - * Used to create a forward declaration of a FT_Module_Class struct - * instance. - * - * @macro: - * FT_DEFINE_MODULE - * - * @description: - * Used to initialize an instance of an FT_Module_Class struct. - * - * The struct will be allocated in the global scope (or the scope where - * the macro is used). - * - * @macro: - * FT_DEFINE_ROOT_MODULE - * - * @description: - * Used to initialize an instance of an FT_Module_Class struct inside - * another struct that contains it or in a function that initializes that - * containing struct. - */ -#define FT_DECLARE_MODULE( class_ ) \ - FT_CALLBACK_TABLE \ - const FT_Module_Class class_; - -#define FT_DEFINE_ROOT_MODULE( \ - flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_ ) \ - { \ - flags_, \ - size_, \ - \ - name_, \ - version_, \ - requires_, \ - \ - interface_, \ - \ - init_, \ - done_, \ - get_interface_, \ - }, - -#define FT_DEFINE_MODULE( \ - class_, \ - flags_, \ - size_, \ - name_, \ - version_, \ - requires_, \ - interface_, \ - init_, \ - done_, \ - get_interface_ ) \ - FT_CALLBACK_TABLE_DEF \ - const FT_Module_Class class_ = \ - { \ - flags_, \ - size_, \ - \ - name_, \ - version_, \ - requires_, \ - \ - interface_, \ - \ - init_, \ - done_, \ - get_interface_, \ - }; - - -FT_END_HEADER - -#endif /* FTOBJS_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftpsprop.h b/FreeType/include/freetype/internal/ftpsprop.h deleted file mode 100644 index 574837f..0000000 --- a/FreeType/include/freetype/internal/ftpsprop.h +++ /dev/null @@ -1,48 +0,0 @@ -/**************************************************************************** - * - * ftpsprop.h - * - * Get and set properties of PostScript drivers (specification). - * - * Copyright (C) 2017-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTPSPROP_H_ -#define FTPSPROP_H_ - - -#include -#include FT_FREETYPE_H - - -FT_BEGIN_HEADER - - - FT_BASE_CALLBACK( FT_Error ) - ps_property_set( FT_Module module, /* PS_Driver */ - const char* property_name, - const void* value, - FT_Bool value_is_string ); - - FT_BASE_CALLBACK( FT_Error ) - ps_property_get( FT_Module module, /* PS_Driver */ - const char* property_name, - void* value ); - - -FT_END_HEADER - - -#endif /* FTPSPROP_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftrfork.h b/FreeType/include/freetype/internal/ftrfork.h deleted file mode 100644 index 75b3e53..0000000 --- a/FreeType/include/freetype/internal/ftrfork.h +++ /dev/null @@ -1,246 +0,0 @@ -/**************************************************************************** - * - * ftrfork.h - * - * Embedded resource forks accessor (specification). - * - * Copyright (C) 2004-2019 by - * Masatake YAMATO and Redhat K.K. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - -/**************************************************************************** - * Development of the code in this file is support of - * Information-technology Promotion Agency, Japan. - */ - - -#ifndef FTRFORK_H_ -#define FTRFORK_H_ - - -#include -#include FT_INTERNAL_OBJECTS_H - - -FT_BEGIN_HEADER - - - /* Number of guessing rules supported in `FT_Raccess_Guess'. */ - /* Don't forget to increment the number if you add a new guessing rule. */ -#define FT_RACCESS_N_RULES 9 - - - /* A structure to describe a reference in a resource by its resource ID */ - /* and internal offset. The `POST' resource expects to be concatenated */ - /* by the order of resource IDs instead of its appearance in the file. */ - - typedef struct FT_RFork_Ref_ - { - FT_Short res_id; - FT_Long offset; - - } FT_RFork_Ref; - - -#ifdef FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK - typedef FT_Error - (*ft_raccess_guess_func)( FT_Library library, - FT_Stream stream, - char *base_file_name, - char **result_file_name, - FT_Long *result_offset ); - - typedef enum FT_RFork_Rule_ { - FT_RFork_Rule_invalid = -2, - FT_RFork_Rule_uknown, /* -1 */ - FT_RFork_Rule_apple_double, - FT_RFork_Rule_apple_single, - FT_RFork_Rule_darwin_ufs_export, - FT_RFork_Rule_darwin_newvfs, - FT_RFork_Rule_darwin_hfsplus, - FT_RFork_Rule_vfat, - FT_RFork_Rule_linux_cap, - FT_RFork_Rule_linux_double, - FT_RFork_Rule_linux_netatalk - } FT_RFork_Rule; - - /* For fast translation between rule index and rule type, - * the macros FT_RFORK_xxx should be kept consistent with the - * raccess_guess_funcs table - */ - typedef struct ft_raccess_guess_rec_ { - ft_raccess_guess_func func; - FT_RFork_Rule type; - } ft_raccess_guess_rec; - - -#define CONST_FT_RFORK_RULE_ARRAY_BEGIN( name, type ) \ - static const type name[] = { -#define CONST_FT_RFORK_RULE_ARRAY_ENTRY( func_suffix, type_suffix ) \ - { raccess_guess_ ## func_suffix, \ - FT_RFork_Rule_ ## type_suffix }, - /* this array is a storage, thus a final `;' is needed */ -#define CONST_FT_RFORK_RULE_ARRAY_END }; - -#endif /* FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK */ - - - /************************************************************************** - * - * @function: - * FT_Raccess_Guess - * - * @description: - * Guess a file name and offset where the actual resource fork is stored. - * The macro FT_RACCESS_N_RULES holds the number of guessing rules; the - * guessed result for the Nth rule is represented as a triplet: a new - * file name (new_names[N]), a file offset (offsets[N]), and an error - * code (errors[N]). - * - * @input: - * library :: - * A FreeType library instance. - * - * stream :: - * A file stream containing the resource fork. - * - * base_name :: - * The (base) file name of the resource fork used for some guessing - * rules. - * - * @output: - * new_names :: - * An array of guessed file names in which the resource forks may - * exist. If 'new_names[N]' is `NULL`, the guessed file name is equal - * to `base_name`. - * - * offsets :: - * An array of guessed file offsets. 'offsets[N]' holds the file - * offset of the possible start of the resource fork in file - * 'new_names[N]'. - * - * errors :: - * An array of FreeType error codes. 'errors[N]' is the error code of - * Nth guessing rule function. If 'errors[N]' is not FT_Err_Ok, - * 'new_names[N]' and 'offsets[N]' are meaningless. - */ - FT_BASE( void ) - FT_Raccess_Guess( FT_Library library, - FT_Stream stream, - char* base_name, - char** new_names, - FT_Long* offsets, - FT_Error* errors ); - - - /************************************************************************** - * - * @function: - * FT_Raccess_Get_HeaderInfo - * - * @description: - * Get the information from the header of resource fork. The information - * includes the file offset where the resource map starts, and the file - * offset where the resource data starts. `FT_Raccess_Get_DataOffsets` - * requires these two data. - * - * @input: - * library :: - * A FreeType library instance. - * - * stream :: - * A file stream containing the resource fork. - * - * rfork_offset :: - * The file offset where the resource fork starts. - * - * @output: - * map_offset :: - * The file offset where the resource map starts. - * - * rdata_pos :: - * The file offset where the resource data starts. - * - * @return: - * FreeType error code. FT_Err_Ok means success. - */ - FT_BASE( FT_Error ) - FT_Raccess_Get_HeaderInfo( FT_Library library, - FT_Stream stream, - FT_Long rfork_offset, - FT_Long *map_offset, - FT_Long *rdata_pos ); - - - /************************************************************************** - * - * @function: - * FT_Raccess_Get_DataOffsets - * - * @description: - * Get the data offsets for a tag in a resource fork. Offsets are stored - * in an array because, in some cases, resources in a resource fork have - * the same tag. - * - * @input: - * library :: - * A FreeType library instance. - * - * stream :: - * A file stream containing the resource fork. - * - * map_offset :: - * The file offset where the resource map starts. - * - * rdata_pos :: - * The file offset where the resource data starts. - * - * tag :: - * The resource tag. - * - * sort_by_res_id :: - * A Boolean to sort the fragmented resource by their ids. The - * fragmented resources for 'POST' resource should be sorted to restore - * Type1 font properly. For 'sfnt' resources, sorting may induce a - * different order of the faces in comparison to that by QuickDraw API. - * - * @output: - * offsets :: - * The stream offsets for the resource data specified by 'tag'. This - * array is allocated by the function, so you have to call @ft_mem_free - * after use. - * - * count :: - * The length of offsets array. - * - * @return: - * FreeType error code. FT_Err_Ok means success. - * - * @note: - * Normally you should use `FT_Raccess_Get_HeaderInfo` to get the value - * for `map_offset` and `rdata_pos`. - */ - FT_BASE( FT_Error ) - FT_Raccess_Get_DataOffsets( FT_Library library, - FT_Stream stream, - FT_Long map_offset, - FT_Long rdata_pos, - FT_Long tag, - FT_Bool sort_by_res_id, - FT_Long **offsets, - FT_Long *count ); - - -FT_END_HEADER - -#endif /* FTRFORK_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftserv.h b/FreeType/include/freetype/internal/ftserv.h deleted file mode 100644 index 8836cf3..0000000 --- a/FreeType/include/freetype/internal/ftserv.h +++ /dev/null @@ -1,521 +0,0 @@ -/**************************************************************************** - * - * ftserv.h - * - * The FreeType services (specification only). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - /************************************************************************** - * - * Each module can export one or more 'services'. Each service is - * identified by a constant string and modeled by a pointer; the latter - * generally corresponds to a structure containing function pointers. - * - * Note that a service's data cannot be a mere function pointer because in - * C it is possible that function pointers might be implemented differently - * than data pointers (e.g. 48 bits instead of 32). - * - */ - - -#ifndef FTSERV_H_ -#define FTSERV_H_ - - -FT_BEGIN_HEADER - - /************************************************************************** - * - * @macro: - * FT_FACE_FIND_SERVICE - * - * @description: - * This macro is used to look up a service from a face's driver module. - * - * @input: - * face :: - * The source face handle. - * - * id :: - * A string describing the service as defined in the service's header - * files (e.g. FT_SERVICE_ID_MULTI_MASTERS which expands to - * 'multi-masters'). It is automatically prefixed with - * `FT_SERVICE_ID_`. - * - * @output: - * ptr :: - * A variable that receives the service pointer. Will be `NULL` if not - * found. - */ -#ifdef __cplusplus - -#define FT_FACE_FIND_SERVICE( face, ptr, id ) \ - FT_BEGIN_STMNT \ - FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \ - FT_Pointer _tmp_ = NULL; \ - FT_Pointer* _pptr_ = (FT_Pointer*)&(ptr); \ - \ - \ - if ( module->clazz->get_interface ) \ - _tmp_ = module->clazz->get_interface( module, FT_SERVICE_ID_ ## id ); \ - *_pptr_ = _tmp_; \ - FT_END_STMNT - -#else /* !C++ */ - -#define FT_FACE_FIND_SERVICE( face, ptr, id ) \ - FT_BEGIN_STMNT \ - FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \ - FT_Pointer _tmp_ = NULL; \ - \ - if ( module->clazz->get_interface ) \ - _tmp_ = module->clazz->get_interface( module, FT_SERVICE_ID_ ## id ); \ - ptr = _tmp_; \ - FT_END_STMNT - -#endif /* !C++ */ - - - /************************************************************************** - * - * @macro: - * FT_FACE_FIND_GLOBAL_SERVICE - * - * @description: - * This macro is used to look up a service from all modules. - * - * @input: - * face :: - * The source face handle. - * - * id :: - * A string describing the service as defined in the service's header - * files (e.g. FT_SERVICE_ID_MULTI_MASTERS which expands to - * 'multi-masters'). It is automatically prefixed with - * `FT_SERVICE_ID_`. - * - * @output: - * ptr :: - * A variable that receives the service pointer. Will be `NULL` if not - * found. - */ -#ifdef __cplusplus - -#define FT_FACE_FIND_GLOBAL_SERVICE( face, ptr, id ) \ - FT_BEGIN_STMNT \ - FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \ - FT_Pointer _tmp_; \ - FT_Pointer* _pptr_ = (FT_Pointer*)&(ptr); \ - \ - \ - _tmp_ = ft_module_get_service( module, FT_SERVICE_ID_ ## id, 1 ); \ - *_pptr_ = _tmp_; \ - FT_END_STMNT - -#else /* !C++ */ - -#define FT_FACE_FIND_GLOBAL_SERVICE( face, ptr, id ) \ - FT_BEGIN_STMNT \ - FT_Module module = FT_MODULE( FT_FACE( face )->driver ); \ - FT_Pointer _tmp_; \ - \ - \ - _tmp_ = ft_module_get_service( module, FT_SERVICE_ID_ ## id, 1 ); \ - ptr = _tmp_; \ - FT_END_STMNT - -#endif /* !C++ */ - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** S E R V I C E D E S C R I P T O R S *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - /* - * The following structure is used to _describe_ a given service to the - * library. This is useful to build simple static service lists. - */ - typedef struct FT_ServiceDescRec_ - { - const char* serv_id; /* service name */ - const void* serv_data; /* service pointer/data */ - - } FT_ServiceDescRec; - - typedef const FT_ServiceDescRec* FT_ServiceDesc; - - - /************************************************************************** - * - * @macro: - * FT_DEFINE_SERVICEDESCREC1 - * FT_DEFINE_SERVICEDESCREC2 - * FT_DEFINE_SERVICEDESCREC3 - * FT_DEFINE_SERVICEDESCREC4 - * FT_DEFINE_SERVICEDESCREC5 - * FT_DEFINE_SERVICEDESCREC6 - * FT_DEFINE_SERVICEDESCREC7 - * FT_DEFINE_SERVICEDESCREC8 - * FT_DEFINE_SERVICEDESCREC9 - * FT_DEFINE_SERVICEDESCREC10 - * - * @description: - * Used to initialize an array of FT_ServiceDescRec structures. - * - * The array will be allocated in the global scope (or the scope where - * the macro is used). - */ -#define FT_DEFINE_SERVICEDESCREC1( class_, \ - serv_id_1, serv_data_1 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { NULL, NULL } \ - }; - -#define FT_DEFINE_SERVICEDESCREC2( class_, \ - serv_id_1, serv_data_1, \ - serv_id_2, serv_data_2 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { serv_id_2, serv_data_2 }, \ - { NULL, NULL } \ - }; - -#define FT_DEFINE_SERVICEDESCREC3( class_, \ - serv_id_1, serv_data_1, \ - serv_id_2, serv_data_2, \ - serv_id_3, serv_data_3 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { serv_id_2, serv_data_2 }, \ - { serv_id_3, serv_data_3 }, \ - { NULL, NULL } \ - }; - -#define FT_DEFINE_SERVICEDESCREC4( class_, \ - serv_id_1, serv_data_1, \ - serv_id_2, serv_data_2, \ - serv_id_3, serv_data_3, \ - serv_id_4, serv_data_4 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { serv_id_2, serv_data_2 }, \ - { serv_id_3, serv_data_3 }, \ - { serv_id_4, serv_data_4 }, \ - { NULL, NULL } \ - }; - -#define FT_DEFINE_SERVICEDESCREC5( class_, \ - serv_id_1, serv_data_1, \ - serv_id_2, serv_data_2, \ - serv_id_3, serv_data_3, \ - serv_id_4, serv_data_4, \ - serv_id_5, serv_data_5 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { serv_id_2, serv_data_2 }, \ - { serv_id_3, serv_data_3 }, \ - { serv_id_4, serv_data_4 }, \ - { serv_id_5, serv_data_5 }, \ - { NULL, NULL } \ - }; - -#define FT_DEFINE_SERVICEDESCREC6( class_, \ - serv_id_1, serv_data_1, \ - serv_id_2, serv_data_2, \ - serv_id_3, serv_data_3, \ - serv_id_4, serv_data_4, \ - serv_id_5, serv_data_5, \ - serv_id_6, serv_data_6 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { serv_id_2, serv_data_2 }, \ - { serv_id_3, serv_data_3 }, \ - { serv_id_4, serv_data_4 }, \ - { serv_id_5, serv_data_5 }, \ - { serv_id_6, serv_data_6 }, \ - { NULL, NULL } \ - }; - -#define FT_DEFINE_SERVICEDESCREC7( class_, \ - serv_id_1, serv_data_1, \ - serv_id_2, serv_data_2, \ - serv_id_3, serv_data_3, \ - serv_id_4, serv_data_4, \ - serv_id_5, serv_data_5, \ - serv_id_6, serv_data_6, \ - serv_id_7, serv_data_7 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { serv_id_2, serv_data_2 }, \ - { serv_id_3, serv_data_3 }, \ - { serv_id_4, serv_data_4 }, \ - { serv_id_5, serv_data_5 }, \ - { serv_id_6, serv_data_6 }, \ - { serv_id_7, serv_data_7 }, \ - { NULL, NULL } \ - }; - -#define FT_DEFINE_SERVICEDESCREC8( class_, \ - serv_id_1, serv_data_1, \ - serv_id_2, serv_data_2, \ - serv_id_3, serv_data_3, \ - serv_id_4, serv_data_4, \ - serv_id_5, serv_data_5, \ - serv_id_6, serv_data_6, \ - serv_id_7, serv_data_7, \ - serv_id_8, serv_data_8 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { serv_id_2, serv_data_2 }, \ - { serv_id_3, serv_data_3 }, \ - { serv_id_4, serv_data_4 }, \ - { serv_id_5, serv_data_5 }, \ - { serv_id_6, serv_data_6 }, \ - { serv_id_7, serv_data_7 }, \ - { serv_id_8, serv_data_8 }, \ - { NULL, NULL } \ - }; - -#define FT_DEFINE_SERVICEDESCREC9( class_, \ - serv_id_1, serv_data_1, \ - serv_id_2, serv_data_2, \ - serv_id_3, serv_data_3, \ - serv_id_4, serv_data_4, \ - serv_id_5, serv_data_5, \ - serv_id_6, serv_data_6, \ - serv_id_7, serv_data_7, \ - serv_id_8, serv_data_8, \ - serv_id_9, serv_data_9 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { serv_id_2, serv_data_2 }, \ - { serv_id_3, serv_data_3 }, \ - { serv_id_4, serv_data_4 }, \ - { serv_id_5, serv_data_5 }, \ - { serv_id_6, serv_data_6 }, \ - { serv_id_7, serv_data_7 }, \ - { serv_id_8, serv_data_8 }, \ - { serv_id_9, serv_data_9 }, \ - { NULL, NULL } \ - }; - -#define FT_DEFINE_SERVICEDESCREC10( class_, \ - serv_id_1, serv_data_1, \ - serv_id_2, serv_data_2, \ - serv_id_3, serv_data_3, \ - serv_id_4, serv_data_4, \ - serv_id_5, serv_data_5, \ - serv_id_6, serv_data_6, \ - serv_id_7, serv_data_7, \ - serv_id_8, serv_data_8, \ - serv_id_9, serv_data_9, \ - serv_id_10, serv_data_10 ) \ - static const FT_ServiceDescRec class_[] = \ - { \ - { serv_id_1, serv_data_1 }, \ - { serv_id_2, serv_data_2 }, \ - { serv_id_3, serv_data_3 }, \ - { serv_id_4, serv_data_4 }, \ - { serv_id_5, serv_data_5 }, \ - { serv_id_6, serv_data_6 }, \ - { serv_id_7, serv_data_7 }, \ - { serv_id_8, serv_data_8 }, \ - { serv_id_9, serv_data_9 }, \ - { serv_id_10, serv_data_10 }, \ - { NULL, NULL } \ - }; - - - /* - * Parse a list of FT_ServiceDescRec descriptors and look for a specific - * service by ID. Note that the last element in the array must be { NULL, - * NULL }, and that the function should return NULL if the service isn't - * available. - * - * This function can be used by modules to implement their `get_service' - * method. - */ - FT_BASE( FT_Pointer ) - ft_service_list_lookup( FT_ServiceDesc service_descriptors, - const char* service_id ); - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** S E R V I C E S C A C H E *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - /* - * This structure is used to store a cache for several frequently used - * services. It is the type of `face->internal->services'. You should - * only use FT_FACE_LOOKUP_SERVICE to access it. - * - * All fields should have the type FT_Pointer to relax compilation - * dependencies. We assume the developer isn't completely stupid. - * - * Each field must be named `service_XXXX' where `XXX' corresponds to the - * correct FT_SERVICE_ID_XXXX macro. See the definition of - * FT_FACE_LOOKUP_SERVICE below how this is implemented. - * - */ - typedef struct FT_ServiceCacheRec_ - { - FT_Pointer service_POSTSCRIPT_FONT_NAME; - FT_Pointer service_MULTI_MASTERS; - FT_Pointer service_METRICS_VARIATIONS; - FT_Pointer service_GLYPH_DICT; - FT_Pointer service_PFR_METRICS; - FT_Pointer service_WINFNT; - - } FT_ServiceCacheRec, *FT_ServiceCache; - - - /* - * A magic number used within the services cache. - */ - - /* ensure that value `1' has the same width as a pointer */ -#define FT_SERVICE_UNAVAILABLE ((FT_Pointer)~(FT_PtrDist)1) - - - /************************************************************************** - * - * @macro: - * FT_FACE_LOOKUP_SERVICE - * - * @description: - * This macro is used to look up a service from a face's driver module - * using its cache. - * - * @input: - * face :: - * The source face handle containing the cache. - * - * field :: - * The field name in the cache. - * - * id :: - * The service ID. - * - * @output: - * ptr :: - * A variable receiving the service data. `NULL` if not available. - */ -#ifdef __cplusplus - -#define FT_FACE_LOOKUP_SERVICE( face, ptr, id ) \ - FT_BEGIN_STMNT \ - FT_Pointer svc; \ - FT_Pointer* Pptr = (FT_Pointer*)&(ptr); \ - \ - \ - svc = FT_FACE( face )->internal->services. service_ ## id; \ - if ( svc == FT_SERVICE_UNAVAILABLE ) \ - svc = NULL; \ - else if ( svc == NULL ) \ - { \ - FT_FACE_FIND_SERVICE( face, svc, id ); \ - \ - FT_FACE( face )->internal->services. service_ ## id = \ - (FT_Pointer)( svc != NULL ? svc \ - : FT_SERVICE_UNAVAILABLE ); \ - } \ - *Pptr = svc; \ - FT_END_STMNT - -#else /* !C++ */ - -#define FT_FACE_LOOKUP_SERVICE( face, ptr, id ) \ - FT_BEGIN_STMNT \ - FT_Pointer svc; \ - \ - \ - svc = FT_FACE( face )->internal->services. service_ ## id; \ - if ( svc == FT_SERVICE_UNAVAILABLE ) \ - svc = NULL; \ - else if ( svc == NULL ) \ - { \ - FT_FACE_FIND_SERVICE( face, svc, id ); \ - \ - FT_FACE( face )->internal->services. service_ ## id = \ - (FT_Pointer)( svc != NULL ? svc \ - : FT_SERVICE_UNAVAILABLE ); \ - } \ - ptr = svc; \ - FT_END_STMNT - -#endif /* !C++ */ - - /* - * A macro used to define new service structure types. - */ - -#define FT_DEFINE_SERVICE( name ) \ - typedef struct FT_Service_ ## name ## Rec_ \ - FT_Service_ ## name ## Rec ; \ - typedef struct FT_Service_ ## name ## Rec_ \ - const * FT_Service_ ## name ; \ - struct FT_Service_ ## name ## Rec_ - - /* */ - - /* - * The header files containing the services. - */ - -#define FT_SERVICE_BDF_H -#define FT_SERVICE_CFF_TABLE_LOAD_H -#define FT_SERVICE_CID_H -#define FT_SERVICE_FONT_FORMAT_H -#define FT_SERVICE_GLYPH_DICT_H -#define FT_SERVICE_GX_VALIDATE_H -#define FT_SERVICE_KERNING_H -#define FT_SERVICE_METRICS_VARIATIONS_H -#define FT_SERVICE_MULTIPLE_MASTERS_H -#define FT_SERVICE_OPENTYPE_VALIDATE_H -#define FT_SERVICE_PFR_H -#define FT_SERVICE_POSTSCRIPT_CMAPS_H -#define FT_SERVICE_POSTSCRIPT_INFO_H -#define FT_SERVICE_POSTSCRIPT_NAME_H -#define FT_SERVICE_PROPERTIES_H -#define FT_SERVICE_SFNT_H -#define FT_SERVICE_TRUETYPE_ENGINE_H -#define FT_SERVICE_TRUETYPE_GLYF_H -#define FT_SERVICE_TT_CMAP_H -#define FT_SERVICE_WINFNT_H - - /* */ - -FT_END_HEADER - -#endif /* FTSERV_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/ftstream.h b/FreeType/include/freetype/internal/ftstream.h deleted file mode 100644 index e4dca0b..0000000 --- a/FreeType/include/freetype/internal/ftstream.h +++ /dev/null @@ -1,561 +0,0 @@ -/**************************************************************************** - * - * ftstream.h - * - * Stream handling (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTSTREAM_H_ -#define FTSTREAM_H_ - - -#include -#include FT_SYSTEM_H -#include FT_INTERNAL_OBJECTS_H - - -FT_BEGIN_HEADER - - - /* format of an 8-bit frame_op value: */ - /* */ - /* bit 76543210 */ - /* xxxxxxes */ - /* */ - /* s is set to 1 if the value is signed. */ - /* e is set to 1 if the value is little-endian. */ - /* xxx is a command. */ - -#define FT_FRAME_OP_SHIFT 2 -#define FT_FRAME_OP_SIGNED 1 -#define FT_FRAME_OP_LITTLE 2 -#define FT_FRAME_OP_COMMAND( x ) ( x >> FT_FRAME_OP_SHIFT ) - -#define FT_MAKE_FRAME_OP( command, little, sign ) \ - ( ( command << FT_FRAME_OP_SHIFT ) | ( little << 1 ) | sign ) - -#define FT_FRAME_OP_END 0 -#define FT_FRAME_OP_START 1 /* start a new frame */ -#define FT_FRAME_OP_BYTE 2 /* read 1-byte value */ -#define FT_FRAME_OP_SHORT 3 /* read 2-byte value */ -#define FT_FRAME_OP_LONG 4 /* read 4-byte value */ -#define FT_FRAME_OP_OFF3 5 /* read 3-byte value */ -#define FT_FRAME_OP_BYTES 6 /* read a bytes sequence */ - - - typedef enum FT_Frame_Op_ - { - ft_frame_end = 0, - ft_frame_start = FT_MAKE_FRAME_OP( FT_FRAME_OP_START, 0, 0 ), - - ft_frame_byte = FT_MAKE_FRAME_OP( FT_FRAME_OP_BYTE, 0, 0 ), - ft_frame_schar = FT_MAKE_FRAME_OP( FT_FRAME_OP_BYTE, 0, 1 ), - - ft_frame_ushort_be = FT_MAKE_FRAME_OP( FT_FRAME_OP_SHORT, 0, 0 ), - ft_frame_short_be = FT_MAKE_FRAME_OP( FT_FRAME_OP_SHORT, 0, 1 ), - ft_frame_ushort_le = FT_MAKE_FRAME_OP( FT_FRAME_OP_SHORT, 1, 0 ), - ft_frame_short_le = FT_MAKE_FRAME_OP( FT_FRAME_OP_SHORT, 1, 1 ), - - ft_frame_ulong_be = FT_MAKE_FRAME_OP( FT_FRAME_OP_LONG, 0, 0 ), - ft_frame_long_be = FT_MAKE_FRAME_OP( FT_FRAME_OP_LONG, 0, 1 ), - ft_frame_ulong_le = FT_MAKE_FRAME_OP( FT_FRAME_OP_LONG, 1, 0 ), - ft_frame_long_le = FT_MAKE_FRAME_OP( FT_FRAME_OP_LONG, 1, 1 ), - - ft_frame_uoff3_be = FT_MAKE_FRAME_OP( FT_FRAME_OP_OFF3, 0, 0 ), - ft_frame_off3_be = FT_MAKE_FRAME_OP( FT_FRAME_OP_OFF3, 0, 1 ), - ft_frame_uoff3_le = FT_MAKE_FRAME_OP( FT_FRAME_OP_OFF3, 1, 0 ), - ft_frame_off3_le = FT_MAKE_FRAME_OP( FT_FRAME_OP_OFF3, 1, 1 ), - - ft_frame_bytes = FT_MAKE_FRAME_OP( FT_FRAME_OP_BYTES, 0, 0 ), - ft_frame_skip = FT_MAKE_FRAME_OP( FT_FRAME_OP_BYTES, 0, 1 ) - - } FT_Frame_Op; - - - typedef struct FT_Frame_Field_ - { - FT_Byte value; - FT_Byte size; - FT_UShort offset; - - } FT_Frame_Field; - - - /* Construct an FT_Frame_Field out of a structure type and a field name. */ - /* The structure type must be set in the FT_STRUCTURE macro before */ - /* calling the FT_FRAME_START() macro. */ - /* */ -#define FT_FIELD_SIZE( f ) \ - (FT_Byte)sizeof ( ((FT_STRUCTURE*)0)->f ) - -#define FT_FIELD_SIZE_DELTA( f ) \ - (FT_Byte)sizeof ( ((FT_STRUCTURE*)0)->f[0] ) - -#define FT_FIELD_OFFSET( f ) \ - (FT_UShort)( offsetof( FT_STRUCTURE, f ) ) - -#define FT_FRAME_FIELD( frame_op, field ) \ - { \ - frame_op, \ - FT_FIELD_SIZE( field ), \ - FT_FIELD_OFFSET( field ) \ - } - -#define FT_MAKE_EMPTY_FIELD( frame_op ) { frame_op, 0, 0 } - -#define FT_FRAME_START( size ) { ft_frame_start, 0, size } -#define FT_FRAME_END { ft_frame_end, 0, 0 } - -#define FT_FRAME_LONG( f ) FT_FRAME_FIELD( ft_frame_long_be, f ) -#define FT_FRAME_ULONG( f ) FT_FRAME_FIELD( ft_frame_ulong_be, f ) -#define FT_FRAME_SHORT( f ) FT_FRAME_FIELD( ft_frame_short_be, f ) -#define FT_FRAME_USHORT( f ) FT_FRAME_FIELD( ft_frame_ushort_be, f ) -#define FT_FRAME_OFF3( f ) FT_FRAME_FIELD( ft_frame_off3_be, f ) -#define FT_FRAME_UOFF3( f ) FT_FRAME_FIELD( ft_frame_uoff3_be, f ) -#define FT_FRAME_BYTE( f ) FT_FRAME_FIELD( ft_frame_byte, f ) -#define FT_FRAME_CHAR( f ) FT_FRAME_FIELD( ft_frame_schar, f ) - -#define FT_FRAME_LONG_LE( f ) FT_FRAME_FIELD( ft_frame_long_le, f ) -#define FT_FRAME_ULONG_LE( f ) FT_FRAME_FIELD( ft_frame_ulong_le, f ) -#define FT_FRAME_SHORT_LE( f ) FT_FRAME_FIELD( ft_frame_short_le, f ) -#define FT_FRAME_USHORT_LE( f ) FT_FRAME_FIELD( ft_frame_ushort_le, f ) -#define FT_FRAME_OFF3_LE( f ) FT_FRAME_FIELD( ft_frame_off3_le, f ) -#define FT_FRAME_UOFF3_LE( f ) FT_FRAME_FIELD( ft_frame_uoff3_le, f ) - -#define FT_FRAME_SKIP_LONG { ft_frame_long_be, 0, 0 } -#define FT_FRAME_SKIP_SHORT { ft_frame_short_be, 0, 0 } -#define FT_FRAME_SKIP_BYTE { ft_frame_byte, 0, 0 } - -#define FT_FRAME_BYTES( field, count ) \ - { \ - ft_frame_bytes, \ - count, \ - FT_FIELD_OFFSET( field ) \ - } - -#define FT_FRAME_SKIP_BYTES( count ) { ft_frame_skip, count, 0 } - - - /************************************************************************** - * - * Integer extraction macros -- the 'buffer' parameter must ALWAYS be of - * type 'char*' or equivalent (1-byte elements). - */ - -#define FT_BYTE_( p, i ) ( ((const FT_Byte*)(p))[(i)] ) - -#define FT_INT16( x ) ( (FT_Int16)(x) ) -#define FT_UINT16( x ) ( (FT_UInt16)(x) ) -#define FT_INT32( x ) ( (FT_Int32)(x) ) -#define FT_UINT32( x ) ( (FT_UInt32)(x) ) - - -#define FT_BYTE_U16( p, i, s ) ( FT_UINT16( FT_BYTE_( p, i ) ) << (s) ) -#define FT_BYTE_U32( p, i, s ) ( FT_UINT32( FT_BYTE_( p, i ) ) << (s) ) - - - /* - * `FT_PEEK_XXX' are generic macros to get data from a buffer position. No - * safety checks are performed. - */ -#define FT_PEEK_SHORT( p ) FT_INT16( FT_BYTE_U16( p, 0, 8 ) | \ - FT_BYTE_U16( p, 1, 0 ) ) - -#define FT_PEEK_USHORT( p ) FT_UINT16( FT_BYTE_U16( p, 0, 8 ) | \ - FT_BYTE_U16( p, 1, 0 ) ) - -#define FT_PEEK_LONG( p ) FT_INT32( FT_BYTE_U32( p, 0, 24 ) | \ - FT_BYTE_U32( p, 1, 16 ) | \ - FT_BYTE_U32( p, 2, 8 ) | \ - FT_BYTE_U32( p, 3, 0 ) ) - -#define FT_PEEK_ULONG( p ) FT_UINT32( FT_BYTE_U32( p, 0, 24 ) | \ - FT_BYTE_U32( p, 1, 16 ) | \ - FT_BYTE_U32( p, 2, 8 ) | \ - FT_BYTE_U32( p, 3, 0 ) ) - -#define FT_PEEK_OFF3( p ) FT_INT32( FT_BYTE_U32( p, 0, 16 ) | \ - FT_BYTE_U32( p, 1, 8 ) | \ - FT_BYTE_U32( p, 2, 0 ) ) - -#define FT_PEEK_UOFF3( p ) FT_UINT32( FT_BYTE_U32( p, 0, 16 ) | \ - FT_BYTE_U32( p, 1, 8 ) | \ - FT_BYTE_U32( p, 2, 0 ) ) - -#define FT_PEEK_SHORT_LE( p ) FT_INT16( FT_BYTE_U16( p, 1, 8 ) | \ - FT_BYTE_U16( p, 0, 0 ) ) - -#define FT_PEEK_USHORT_LE( p ) FT_UINT16( FT_BYTE_U16( p, 1, 8 ) | \ - FT_BYTE_U16( p, 0, 0 ) ) - -#define FT_PEEK_LONG_LE( p ) FT_INT32( FT_BYTE_U32( p, 3, 24 ) | \ - FT_BYTE_U32( p, 2, 16 ) | \ - FT_BYTE_U32( p, 1, 8 ) | \ - FT_BYTE_U32( p, 0, 0 ) ) - -#define FT_PEEK_ULONG_LE( p ) FT_UINT32( FT_BYTE_U32( p, 3, 24 ) | \ - FT_BYTE_U32( p, 2, 16 ) | \ - FT_BYTE_U32( p, 1, 8 ) | \ - FT_BYTE_U32( p, 0, 0 ) ) - -#define FT_PEEK_OFF3_LE( p ) FT_INT32( FT_BYTE_U32( p, 2, 16 ) | \ - FT_BYTE_U32( p, 1, 8 ) | \ - FT_BYTE_U32( p, 0, 0 ) ) - -#define FT_PEEK_UOFF3_LE( p ) FT_UINT32( FT_BYTE_U32( p, 2, 16 ) | \ - FT_BYTE_U32( p, 1, 8 ) | \ - FT_BYTE_U32( p, 0, 0 ) ) - - /* - * `FT_NEXT_XXX' are generic macros to get data from a buffer position - * which is then increased appropriately. No safety checks are performed. - */ -#define FT_NEXT_CHAR( buffer ) \ - ( (signed char)*buffer++ ) - -#define FT_NEXT_BYTE( buffer ) \ - ( (unsigned char)*buffer++ ) - -#define FT_NEXT_SHORT( buffer ) \ - ( (short)( buffer += 2, FT_PEEK_SHORT( buffer - 2 ) ) ) - -#define FT_NEXT_USHORT( buffer ) \ - ( (unsigned short)( buffer += 2, FT_PEEK_USHORT( buffer - 2 ) ) ) - -#define FT_NEXT_OFF3( buffer ) \ - ( (long)( buffer += 3, FT_PEEK_OFF3( buffer - 3 ) ) ) - -#define FT_NEXT_UOFF3( buffer ) \ - ( (unsigned long)( buffer += 3, FT_PEEK_UOFF3( buffer - 3 ) ) ) - -#define FT_NEXT_LONG( buffer ) \ - ( (long)( buffer += 4, FT_PEEK_LONG( buffer - 4 ) ) ) - -#define FT_NEXT_ULONG( buffer ) \ - ( (unsigned long)( buffer += 4, FT_PEEK_ULONG( buffer - 4 ) ) ) - - -#define FT_NEXT_SHORT_LE( buffer ) \ - ( (short)( buffer += 2, FT_PEEK_SHORT_LE( buffer - 2 ) ) ) - -#define FT_NEXT_USHORT_LE( buffer ) \ - ( (unsigned short)( buffer += 2, FT_PEEK_USHORT_LE( buffer - 2 ) ) ) - -#define FT_NEXT_OFF3_LE( buffer ) \ - ( (long)( buffer += 3, FT_PEEK_OFF3_LE( buffer - 3 ) ) ) - -#define FT_NEXT_UOFF3_LE( buffer ) \ - ( (unsigned long)( buffer += 3, FT_PEEK_UOFF3_LE( buffer - 3 ) ) ) - -#define FT_NEXT_LONG_LE( buffer ) \ - ( (long)( buffer += 4, FT_PEEK_LONG_LE( buffer - 4 ) ) ) - -#define FT_NEXT_ULONG_LE( buffer ) \ - ( (unsigned long)( buffer += 4, FT_PEEK_ULONG_LE( buffer - 4 ) ) ) - - - /************************************************************************** - * - * The `FT_GET_XXX` macros use an implicit 'stream' variable. - * - * Note that a call to `FT_STREAM_SEEK` or `FT_STREAM_POS` has **no** - * effect on `FT_GET_XXX`! They operate on `stream->pos`, while - * `FT_GET_XXX` use `stream->cursor`. - */ -#if 0 -#define FT_GET_MACRO( type ) FT_NEXT_ ## type ( stream->cursor ) - -#define FT_GET_CHAR() FT_GET_MACRO( CHAR ) -#define FT_GET_BYTE() FT_GET_MACRO( BYTE ) -#define FT_GET_SHORT() FT_GET_MACRO( SHORT ) -#define FT_GET_USHORT() FT_GET_MACRO( USHORT ) -#define FT_GET_OFF3() FT_GET_MACRO( OFF3 ) -#define FT_GET_UOFF3() FT_GET_MACRO( UOFF3 ) -#define FT_GET_LONG() FT_GET_MACRO( LONG ) -#define FT_GET_ULONG() FT_GET_MACRO( ULONG ) -#define FT_GET_TAG4() FT_GET_MACRO( ULONG ) - -#define FT_GET_SHORT_LE() FT_GET_MACRO( SHORT_LE ) -#define FT_GET_USHORT_LE() FT_GET_MACRO( USHORT_LE ) -#define FT_GET_LONG_LE() FT_GET_MACRO( LONG_LE ) -#define FT_GET_ULONG_LE() FT_GET_MACRO( ULONG_LE ) - -#else -#define FT_GET_MACRO( func, type ) ( (type)func( stream ) ) - -#define FT_GET_CHAR() FT_GET_MACRO( FT_Stream_GetChar, FT_Char ) -#define FT_GET_BYTE() FT_GET_MACRO( FT_Stream_GetChar, FT_Byte ) -#define FT_GET_SHORT() FT_GET_MACRO( FT_Stream_GetUShort, FT_Short ) -#define FT_GET_USHORT() FT_GET_MACRO( FT_Stream_GetUShort, FT_UShort ) -#define FT_GET_OFF3() FT_GET_MACRO( FT_Stream_GetUOffset, FT_Long ) -#define FT_GET_UOFF3() FT_GET_MACRO( FT_Stream_GetUOffset, FT_ULong ) -#define FT_GET_LONG() FT_GET_MACRO( FT_Stream_GetULong, FT_Long ) -#define FT_GET_ULONG() FT_GET_MACRO( FT_Stream_GetULong, FT_ULong ) -#define FT_GET_TAG4() FT_GET_MACRO( FT_Stream_GetULong, FT_ULong ) - -#define FT_GET_SHORT_LE() FT_GET_MACRO( FT_Stream_GetUShortLE, FT_Short ) -#define FT_GET_USHORT_LE() FT_GET_MACRO( FT_Stream_GetUShortLE, FT_UShort ) -#define FT_GET_LONG_LE() FT_GET_MACRO( FT_Stream_GetULongLE, FT_Long ) -#define FT_GET_ULONG_LE() FT_GET_MACRO( FT_Stream_GetULongLE, FT_ULong ) -#endif - - -#define FT_READ_MACRO( func, type, var ) \ - ( var = (type)func( stream, &error ), \ - error != FT_Err_Ok ) - - /* - * The `FT_READ_XXX' macros use implicit `stream' and `error' variables. - * - * `FT_READ_XXX' can be controlled with `FT_STREAM_SEEK' and - * `FT_STREAM_POS'. They use the full machinery to check whether a read is - * valid. - */ -#define FT_READ_BYTE( var ) FT_READ_MACRO( FT_Stream_ReadChar, FT_Byte, var ) -#define FT_READ_CHAR( var ) FT_READ_MACRO( FT_Stream_ReadChar, FT_Char, var ) -#define FT_READ_SHORT( var ) FT_READ_MACRO( FT_Stream_ReadUShort, FT_Short, var ) -#define FT_READ_USHORT( var ) FT_READ_MACRO( FT_Stream_ReadUShort, FT_UShort, var ) -#define FT_READ_OFF3( var ) FT_READ_MACRO( FT_Stream_ReadUOffset, FT_Long, var ) -#define FT_READ_UOFF3( var ) FT_READ_MACRO( FT_Stream_ReadUOffset, FT_ULong, var ) -#define FT_READ_LONG( var ) FT_READ_MACRO( FT_Stream_ReadULong, FT_Long, var ) -#define FT_READ_ULONG( var ) FT_READ_MACRO( FT_Stream_ReadULong, FT_ULong, var ) - -#define FT_READ_SHORT_LE( var ) FT_READ_MACRO( FT_Stream_ReadUShortLE, FT_Short, var ) -#define FT_READ_USHORT_LE( var ) FT_READ_MACRO( FT_Stream_ReadUShortLE, FT_UShort, var ) -#define FT_READ_LONG_LE( var ) FT_READ_MACRO( FT_Stream_ReadULongLE, FT_Long, var ) -#define FT_READ_ULONG_LE( var ) FT_READ_MACRO( FT_Stream_ReadULongLE, FT_ULong, var ) - - -#ifndef FT_CONFIG_OPTION_NO_DEFAULT_SYSTEM - - /* initialize a stream for reading a regular system stream */ - FT_BASE( FT_Error ) - FT_Stream_Open( FT_Stream stream, - const char* filepathname ); - -#endif /* FT_CONFIG_OPTION_NO_DEFAULT_SYSTEM */ - - - /* create a new (input) stream from an FT_Open_Args structure */ - FT_BASE( FT_Error ) - FT_Stream_New( FT_Library library, - const FT_Open_Args* args, - FT_Stream *astream ); - - /* free a stream */ - FT_BASE( void ) - FT_Stream_Free( FT_Stream stream, - FT_Int external ); - - /* initialize a stream for reading in-memory data */ - FT_BASE( void ) - FT_Stream_OpenMemory( FT_Stream stream, - const FT_Byte* base, - FT_ULong size ); - - /* close a stream (does not destroy the stream structure) */ - FT_BASE( void ) - FT_Stream_Close( FT_Stream stream ); - - - /* seek within a stream. position is relative to start of stream */ - FT_BASE( FT_Error ) - FT_Stream_Seek( FT_Stream stream, - FT_ULong pos ); - - /* skip bytes in a stream */ - FT_BASE( FT_Error ) - FT_Stream_Skip( FT_Stream stream, - FT_Long distance ); - - /* return current stream position */ - FT_BASE( FT_ULong ) - FT_Stream_Pos( FT_Stream stream ); - - /* read bytes from a stream into a user-allocated buffer, returns an */ - /* error if not all bytes could be read. */ - FT_BASE( FT_Error ) - FT_Stream_Read( FT_Stream stream, - FT_Byte* buffer, - FT_ULong count ); - - /* read bytes from a stream at a given position */ - FT_BASE( FT_Error ) - FT_Stream_ReadAt( FT_Stream stream, - FT_ULong pos, - FT_Byte* buffer, - FT_ULong count ); - - /* try to read bytes at the end of a stream; return number of bytes */ - /* really available */ - FT_BASE( FT_ULong ) - FT_Stream_TryRead( FT_Stream stream, - FT_Byte* buffer, - FT_ULong count ); - - /* Enter a frame of `count' consecutive bytes in a stream. Returns an */ - /* error if the frame could not be read/accessed. The caller can use */ - /* the `FT_Stream_GetXXX' functions to retrieve frame data without */ - /* error checks. */ - /* */ - /* You must _always_ call `FT_Stream_ExitFrame' once you have entered */ - /* a stream frame! */ - /* */ - /* Nested frames are not permitted. */ - /* */ - FT_BASE( FT_Error ) - FT_Stream_EnterFrame( FT_Stream stream, - FT_ULong count ); - - /* exit a stream frame */ - FT_BASE( void ) - FT_Stream_ExitFrame( FT_Stream stream ); - - - /* Extract a stream frame. If the stream is disk-based, a heap block */ - /* is allocated and the frame bytes are read into it. If the stream */ - /* is memory-based, this function simply sets a pointer to the data. */ - /* */ - /* Useful to optimize access to memory-based streams transparently. */ - /* */ - /* `FT_Stream_GetXXX' functions can't be used. */ - /* */ - /* An extracted frame must be `freed' with a call to the function */ - /* `FT_Stream_ReleaseFrame'. */ - /* */ - FT_BASE( FT_Error ) - FT_Stream_ExtractFrame( FT_Stream stream, - FT_ULong count, - FT_Byte** pbytes ); - - /* release an extract frame (see `FT_Stream_ExtractFrame') */ - FT_BASE( void ) - FT_Stream_ReleaseFrame( FT_Stream stream, - FT_Byte** pbytes ); - - - /* read a byte from an entered frame */ - FT_BASE( FT_Char ) - FT_Stream_GetChar( FT_Stream stream ); - - /* read a 16-bit big-endian unsigned integer from an entered frame */ - FT_BASE( FT_UShort ) - FT_Stream_GetUShort( FT_Stream stream ); - - /* read a 24-bit big-endian unsigned integer from an entered frame */ - FT_BASE( FT_ULong ) - FT_Stream_GetUOffset( FT_Stream stream ); - - /* read a 32-bit big-endian unsigned integer from an entered frame */ - FT_BASE( FT_ULong ) - FT_Stream_GetULong( FT_Stream stream ); - - /* read a 16-bit little-endian unsigned integer from an entered frame */ - FT_BASE( FT_UShort ) - FT_Stream_GetUShortLE( FT_Stream stream ); - - /* read a 32-bit little-endian unsigned integer from an entered frame */ - FT_BASE( FT_ULong ) - FT_Stream_GetULongLE( FT_Stream stream ); - - - /* read a byte from a stream */ - FT_BASE( FT_Char ) - FT_Stream_ReadChar( FT_Stream stream, - FT_Error* error ); - - /* read a 16-bit big-endian unsigned integer from a stream */ - FT_BASE( FT_UShort ) - FT_Stream_ReadUShort( FT_Stream stream, - FT_Error* error ); - - /* read a 24-bit big-endian unsigned integer from a stream */ - FT_BASE( FT_ULong ) - FT_Stream_ReadUOffset( FT_Stream stream, - FT_Error* error ); - - /* read a 32-bit big-endian integer from a stream */ - FT_BASE( FT_ULong ) - FT_Stream_ReadULong( FT_Stream stream, - FT_Error* error ); - - /* read a 16-bit little-endian unsigned integer from a stream */ - FT_BASE( FT_UShort ) - FT_Stream_ReadUShortLE( FT_Stream stream, - FT_Error* error ); - - /* read a 32-bit little-endian unsigned integer from a stream */ - FT_BASE( FT_ULong ) - FT_Stream_ReadULongLE( FT_Stream stream, - FT_Error* error ); - - /* Read a structure from a stream. The structure must be described */ - /* by an array of FT_Frame_Field records. */ - FT_BASE( FT_Error ) - FT_Stream_ReadFields( FT_Stream stream, - const FT_Frame_Field* fields, - void* structure ); - - -#define FT_STREAM_POS() \ - FT_Stream_Pos( stream ) - -#define FT_STREAM_SEEK( position ) \ - FT_SET_ERROR( FT_Stream_Seek( stream, \ - (FT_ULong)(position) ) ) - -#define FT_STREAM_SKIP( distance ) \ - FT_SET_ERROR( FT_Stream_Skip( stream, \ - (FT_Long)(distance) ) ) - -#define FT_STREAM_READ( buffer, count ) \ - FT_SET_ERROR( FT_Stream_Read( stream, \ - (FT_Byte*)(buffer), \ - (FT_ULong)(count) ) ) - -#define FT_STREAM_READ_AT( position, buffer, count ) \ - FT_SET_ERROR( FT_Stream_ReadAt( stream, \ - (FT_ULong)(position), \ - (FT_Byte*)(buffer), \ - (FT_ULong)(count) ) ) - -#define FT_STREAM_READ_FIELDS( fields, object ) \ - FT_SET_ERROR( FT_Stream_ReadFields( stream, fields, object ) ) - - -#define FT_FRAME_ENTER( size ) \ - FT_SET_ERROR( \ - FT_DEBUG_INNER( FT_Stream_EnterFrame( stream, \ - (FT_ULong)(size) ) ) ) - -#define FT_FRAME_EXIT() \ - FT_DEBUG_INNER( FT_Stream_ExitFrame( stream ) ) - -#define FT_FRAME_EXTRACT( size, bytes ) \ - FT_SET_ERROR( \ - FT_DEBUG_INNER( FT_Stream_ExtractFrame( stream, \ - (FT_ULong)(size), \ - (FT_Byte**)&(bytes) ) ) ) - -#define FT_FRAME_RELEASE( bytes ) \ - FT_DEBUG_INNER( FT_Stream_ReleaseFrame( stream, \ - (FT_Byte**)&(bytes) ) ) - - -FT_END_HEADER - -#endif /* FTSTREAM_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/fttrace.h b/FreeType/include/freetype/internal/fttrace.h deleted file mode 100644 index 8089bab..0000000 --- a/FreeType/include/freetype/internal/fttrace.h +++ /dev/null @@ -1,156 +0,0 @@ -/**************************************************************************** - * - * fttrace.h - * - * Tracing handling (specification only). - * - * Copyright (C) 2002-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /* definitions of trace levels for FreeType 2 */ - - /* the first level must always be `trace_any' */ -FT_TRACE_DEF( any ) - - /* base components */ -FT_TRACE_DEF( calc ) /* calculations (ftcalc.c) */ -FT_TRACE_DEF( gloader ) /* glyph loader (ftgloadr.c) */ -FT_TRACE_DEF( glyph ) /* glyph management (ftglyph.c) */ -FT_TRACE_DEF( memory ) /* memory manager (ftobjs.c) */ -FT_TRACE_DEF( init ) /* initialization (ftinit.c) */ -FT_TRACE_DEF( io ) /* i/o interface (ftsystem.c) */ -FT_TRACE_DEF( list ) /* list management (ftlist.c) */ -FT_TRACE_DEF( objs ) /* base objects (ftobjs.c) */ -FT_TRACE_DEF( outline ) /* outline management (ftoutln.c) */ -FT_TRACE_DEF( stream ) /* stream manager (ftstream.c) */ - -FT_TRACE_DEF( bitmap ) /* bitmap manipulation (ftbitmap.c) */ -FT_TRACE_DEF( checksum ) /* bitmap checksum (ftobjs.c) */ -FT_TRACE_DEF( mm ) /* MM interface (ftmm.c) */ -FT_TRACE_DEF( psprops ) /* PS driver properties (ftpsprop.c) */ -FT_TRACE_DEF( raccess ) /* resource fork accessor (ftrfork.c) */ -FT_TRACE_DEF( raster ) /* monochrome rasterizer (ftraster.c) */ -FT_TRACE_DEF( smooth ) /* anti-aliasing raster (ftgrays.c) */ -FT_TRACE_DEF( synth ) /* bold/slant synthesizer (ftsynth.c) */ - - /* Cache sub-system */ -FT_TRACE_DEF( cache ) /* cache sub-system (ftcache.c, etc.) */ - - /* SFNT driver components */ -FT_TRACE_DEF( sfdriver ) /* SFNT font driver (sfdriver.c) */ -FT_TRACE_DEF( sfobjs ) /* SFNT object handler (sfobjs.c) */ -FT_TRACE_DEF( ttbdf ) /* TrueType embedded BDF (ttbdf.c) */ -FT_TRACE_DEF( ttcmap ) /* charmap handler (ttcmap.c) */ -FT_TRACE_DEF( ttcolr ) /* glyph layer table (ttcolr.c) */ -FT_TRACE_DEF( ttcpal ) /* color palette table (ttcpal.c) */ -FT_TRACE_DEF( ttkern ) /* kerning handler (ttkern.c) */ -FT_TRACE_DEF( ttload ) /* basic TrueType tables (ttload.c) */ -FT_TRACE_DEF( ttmtx ) /* metrics-related tables (ttmtx.c) */ -FT_TRACE_DEF( ttpost ) /* PS table processing (ttpost.c) */ -FT_TRACE_DEF( ttsbit ) /* TrueType sbit handling (ttsbit.c) */ - - /* TrueType driver components */ -FT_TRACE_DEF( ttdriver ) /* TT font driver (ttdriver.c) */ -FT_TRACE_DEF( ttgload ) /* TT glyph loader (ttgload.c) */ -FT_TRACE_DEF( ttgxvar ) /* TrueType GX var handler (ttgxvar.c) */ -FT_TRACE_DEF( ttinterp ) /* bytecode interpreter (ttinterp.c) */ -FT_TRACE_DEF( ttobjs ) /* TT objects manager (ttobjs.c) */ -FT_TRACE_DEF( ttpload ) /* TT data/program loader (ttpload.c) */ - - /* Type 1 driver components */ -FT_TRACE_DEF( t1afm ) -FT_TRACE_DEF( t1driver ) -FT_TRACE_DEF( t1gload ) -FT_TRACE_DEF( t1load ) -FT_TRACE_DEF( t1objs ) -FT_TRACE_DEF( t1parse ) - - /* PostScript helper module `psaux' */ -FT_TRACE_DEF( cffdecode ) -FT_TRACE_DEF( psconv ) -FT_TRACE_DEF( psobjs ) -FT_TRACE_DEF( t1decode ) - - /* PostScript hinting module `pshinter' */ -FT_TRACE_DEF( pshalgo ) -FT_TRACE_DEF( pshrec ) - - /* Type 2 driver components */ -FT_TRACE_DEF( cffdriver ) -FT_TRACE_DEF( cffgload ) -FT_TRACE_DEF( cffload ) -FT_TRACE_DEF( cffobjs ) -FT_TRACE_DEF( cffparse ) - -FT_TRACE_DEF( cf2blues ) -FT_TRACE_DEF( cf2hints ) -FT_TRACE_DEF( cf2interp ) - - /* Type 42 driver component */ -FT_TRACE_DEF( t42 ) - - /* CID driver components */ -FT_TRACE_DEF( ciddriver ) -FT_TRACE_DEF( cidgload ) -FT_TRACE_DEF( cidload ) -FT_TRACE_DEF( cidobjs ) -FT_TRACE_DEF( cidparse ) - - /* Windows font component */ -FT_TRACE_DEF( winfnt ) - - /* PCF font components */ -FT_TRACE_DEF( pcfdriver ) -FT_TRACE_DEF( pcfread ) - - /* BDF font components */ -FT_TRACE_DEF( bdfdriver ) -FT_TRACE_DEF( bdflib ) - - /* PFR font component */ -FT_TRACE_DEF( pfr ) - - /* OpenType validation components */ -FT_TRACE_DEF( otvcommon ) -FT_TRACE_DEF( otvbase ) -FT_TRACE_DEF( otvgdef ) -FT_TRACE_DEF( otvgpos ) -FT_TRACE_DEF( otvgsub ) -FT_TRACE_DEF( otvjstf ) -FT_TRACE_DEF( otvmath ) -FT_TRACE_DEF( otvmodule ) - - /* TrueTypeGX/AAT validation components */ -FT_TRACE_DEF( gxvbsln ) -FT_TRACE_DEF( gxvcommon ) -FT_TRACE_DEF( gxvfeat ) -FT_TRACE_DEF( gxvjust ) -FT_TRACE_DEF( gxvkern ) -FT_TRACE_DEF( gxvmodule ) -FT_TRACE_DEF( gxvmort ) -FT_TRACE_DEF( gxvmorx ) -FT_TRACE_DEF( gxvlcar ) -FT_TRACE_DEF( gxvopbd ) -FT_TRACE_DEF( gxvprop ) -FT_TRACE_DEF( gxvtrak ) - - /* autofit components */ -FT_TRACE_DEF( afcjk ) -FT_TRACE_DEF( afglobal ) -FT_TRACE_DEF( afhints ) -FT_TRACE_DEF( afmodule ) -FT_TRACE_DEF( aflatin ) -FT_TRACE_DEF( aflatin2 ) -FT_TRACE_DEF( afshaper ) -FT_TRACE_DEF( afwarp ) - -/* END */ diff --git a/FreeType/include/freetype/internal/ftvalid.h b/FreeType/include/freetype/internal/ftvalid.h deleted file mode 100644 index 38aa06c..0000000 --- a/FreeType/include/freetype/internal/ftvalid.h +++ /dev/null @@ -1,159 +0,0 @@ -/**************************************************************************** - * - * ftvalid.h - * - * FreeType validation support (specification). - * - * Copyright (C) 2004-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef FTVALID_H_ -#define FTVALID_H_ - -#include -#include FT_CONFIG_STANDARD_LIBRARY_H /* for ft_setjmp and ft_longjmp */ - - -FT_BEGIN_HEADER - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /**** ****/ - /**** ****/ - /**** V A L I D A T I O N ****/ - /**** ****/ - /**** ****/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - /* handle to a validation object */ - typedef struct FT_ValidatorRec_ volatile* FT_Validator; - - - /************************************************************************** - * - * There are three distinct validation levels defined here: - * - * FT_VALIDATE_DEFAULT :: - * A table that passes this validation level can be used reliably by - * FreeType. It generally means that all offsets have been checked to - * prevent out-of-bound reads, that array counts are correct, etc. - * - * FT_VALIDATE_TIGHT :: - * A table that passes this validation level can be used reliably and - * doesn't contain invalid data. For example, a charmap table that - * returns invalid glyph indices will not pass, even though it can be - * used with FreeType in default mode (the library will simply return an - * error later when trying to load the glyph). - * - * It also checks that fields which must be a multiple of 2, 4, or 8, - * don't have incorrect values, etc. - * - * FT_VALIDATE_PARANOID :: - * Only for font debugging. Checks that a table follows the - * specification by 100%. Very few fonts will be able to pass this level - * anyway but it can be useful for certain tools like font - * editors/converters. - */ - typedef enum FT_ValidationLevel_ - { - FT_VALIDATE_DEFAULT = 0, - FT_VALIDATE_TIGHT, - FT_VALIDATE_PARANOID - - } FT_ValidationLevel; - - -#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */ - /* We disable the warning `structure was padded due to */ - /* __declspec(align())' in order to compile cleanly with */ - /* the maximum level of warnings. */ -#pragma warning( push ) -#pragma warning( disable : 4324 ) -#endif /* _MSC_VER */ - - /* validator structure */ - typedef struct FT_ValidatorRec_ - { - ft_jmp_buf jump_buffer; /* used for exception handling */ - - const FT_Byte* base; /* address of table in memory */ - const FT_Byte* limit; /* `base' + sizeof(table) in memory */ - FT_ValidationLevel level; /* validation level */ - FT_Error error; /* error returned. 0 means success */ - - } FT_ValidatorRec; - -#if defined( _MSC_VER ) -#pragma warning( pop ) -#endif - -#define FT_VALIDATOR( x ) ( (FT_Validator)( x ) ) - - - FT_BASE( void ) - ft_validator_init( FT_Validator valid, - const FT_Byte* base, - const FT_Byte* limit, - FT_ValidationLevel level ); - - /* Do not use this. It's broken and will cause your validator to crash */ - /* if you run it on an invalid font. */ - FT_BASE( FT_Int ) - ft_validator_run( FT_Validator valid ); - - /* Sets the error field in a validator, then calls `longjmp' to return */ - /* to high-level caller. Using `setjmp/longjmp' avoids many stupid */ - /* error checks within the validation routines. */ - /* */ - FT_BASE( void ) - ft_validator_error( FT_Validator valid, - FT_Error error ); - - - /* Calls ft_validate_error. Assumes that the `valid' local variable */ - /* holds a pointer to the current validator object. */ - /* */ -#define FT_INVALID( _error ) FT_INVALID_( _error ) -#define FT_INVALID_( _error ) \ - ft_validator_error( valid, FT_THROW( _error ) ) - - /* called when a broken table is detected */ -#define FT_INVALID_TOO_SHORT \ - FT_INVALID( Invalid_Table ) - - /* called when an invalid offset is detected */ -#define FT_INVALID_OFFSET \ - FT_INVALID( Invalid_Offset ) - - /* called when an invalid format/value is detected */ -#define FT_INVALID_FORMAT \ - FT_INVALID( Invalid_Table ) - - /* called when an invalid glyph index is detected */ -#define FT_INVALID_GLYPH_ID \ - FT_INVALID( Invalid_Glyph_Index ) - - /* called when an invalid field value is detected */ -#define FT_INVALID_DATA \ - FT_INVALID( Invalid_Table ) - - -FT_END_HEADER - -#endif /* FTVALID_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/internal.h b/FreeType/include/freetype/internal/internal.h deleted file mode 100644 index 173d8ad..0000000 --- a/FreeType/include/freetype/internal/internal.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** - * - * internal.h - * - * Internal header files (specification only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * This file is automatically included by `ft2build.h`. Do not include it - * manually! - * - */ - - -#define FT_INTERNAL_OBJECTS_H -#define FT_INTERNAL_STREAM_H -#define FT_INTERNAL_MEMORY_H -#define FT_INTERNAL_DEBUG_H -#define FT_INTERNAL_CALC_H -#define FT_INTERNAL_HASH_H -#define FT_INTERNAL_DRIVER_H -#define FT_INTERNAL_TRACE_H -#define FT_INTERNAL_GLYPH_LOADER_H -#define FT_INTERNAL_SFNT_H -#define FT_INTERNAL_SERVICE_H -#define FT_INTERNAL_RFORK_H -#define FT_INTERNAL_VALIDATE_H - -#define FT_INTERNAL_TRUETYPE_TYPES_H -#define FT_INTERNAL_TYPE1_TYPES_H - -#define FT_INTERNAL_POSTSCRIPT_AUX_H -#define FT_INTERNAL_POSTSCRIPT_HINTS_H -#define FT_INTERNAL_POSTSCRIPT_PROPS_H - -#define FT_INTERNAL_AUTOHINT_H - -#define FT_INTERNAL_CFF_TYPES_H -#define FT_INTERNAL_CFF_OBJECTS_TYPES_H - - -#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */ - - /* We disable the warning `conditional expression is constant' here */ - /* in order to compile cleanly with the maximum level of warnings. */ - /* In particular, the warning complains about stuff like `while(0)' */ - /* which is very useful in macro definitions. There is no benefit */ - /* in having it enabled. */ -#pragma warning( disable : 4127 ) - -#endif /* _MSC_VER */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/psaux.h b/FreeType/include/freetype/internal/psaux.h deleted file mode 100644 index 3ab01c3..0000000 --- a/FreeType/include/freetype/internal/psaux.h +++ /dev/null @@ -1,1439 +0,0 @@ -/**************************************************************************** - * - * psaux.h - * - * Auxiliary functions and data structures related to PostScript fonts - * (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef PSAUX_H_ -#define PSAUX_H_ - - -#include -#include FT_INTERNAL_OBJECTS_H -#include FT_INTERNAL_TYPE1_TYPES_H -#include FT_INTERNAL_HASH_H -#include FT_INTERNAL_TRUETYPE_TYPES_H -#include FT_SERVICE_POSTSCRIPT_CMAPS_H -#include FT_INTERNAL_CFF_TYPES_H -#include FT_INTERNAL_CFF_OBJECTS_TYPES_H - - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * PostScript modules driver class. - */ - typedef struct PS_DriverRec_ - { - FT_DriverRec root; - - FT_UInt hinting_engine; - FT_Bool no_stem_darkening; - FT_Int darken_params[8]; - FT_Int32 random_seed; - - } PS_DriverRec, *PS_Driver; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** T1_TABLE *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - - typedef struct PS_TableRec_* PS_Table; - typedef const struct PS_Table_FuncsRec_* PS_Table_Funcs; - - - /************************************************************************** - * - * @struct: - * PS_Table_FuncsRec - * - * @description: - * A set of function pointers to manage PS_Table objects. - * - * @fields: - * table_init :: - * Used to initialize a table. - * - * table_done :: - * Finalizes resp. destroy a given table. - * - * table_add :: - * Adds a new object to a table. - * - * table_release :: - * Releases table data, then finalizes it. - */ - typedef struct PS_Table_FuncsRec_ - { - FT_Error - (*init)( PS_Table table, - FT_Int count, - FT_Memory memory ); - - void - (*done)( PS_Table table ); - - FT_Error - (*add)( PS_Table table, - FT_Int idx, - void* object, - FT_UInt length ); - - void - (*release)( PS_Table table ); - - } PS_Table_FuncsRec; - - - /************************************************************************** - * - * @struct: - * PS_TableRec - * - * @description: - * A PS_Table is a simple object used to store an array of objects in a - * single memory block. - * - * @fields: - * block :: - * The address in memory of the growheap's block. This can change - * between two object adds, due to reallocation. - * - * cursor :: - * The current top of the grow heap within its block. - * - * capacity :: - * The current size of the heap block. Increments by 1kByte chunks. - * - * init :: - * Set to 0xDEADBEEF if 'elements' and 'lengths' have been allocated. - * - * max_elems :: - * The maximum number of elements in table. - * - * num_elems :: - * The current number of elements in table. - * - * elements :: - * A table of element addresses within the block. - * - * lengths :: - * A table of element sizes within the block. - * - * memory :: - * The object used for memory operations (alloc/realloc). - * - * funcs :: - * A table of method pointers for this object. - */ - typedef struct PS_TableRec_ - { - FT_Byte* block; /* current memory block */ - FT_Offset cursor; /* current cursor in memory block */ - FT_Offset capacity; /* current size of memory block */ - FT_ULong init; - - FT_Int max_elems; - FT_Int num_elems; - FT_Byte** elements; /* addresses of table elements */ - FT_UInt* lengths; /* lengths of table elements */ - - FT_Memory memory; - PS_Table_FuncsRec funcs; - - } PS_TableRec; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** T1 FIELDS & TOKENS *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - typedef struct PS_ParserRec_* PS_Parser; - - typedef struct T1_TokenRec_* T1_Token; - - typedef struct T1_FieldRec_* T1_Field; - - - /* simple enumeration type used to identify token types */ - typedef enum T1_TokenType_ - { - T1_TOKEN_TYPE_NONE = 0, - T1_TOKEN_TYPE_ANY, - T1_TOKEN_TYPE_STRING, - T1_TOKEN_TYPE_ARRAY, - T1_TOKEN_TYPE_KEY, /* aka `name' */ - - /* do not remove */ - T1_TOKEN_TYPE_MAX - - } T1_TokenType; - - - /* a simple structure used to identify tokens */ - typedef struct T1_TokenRec_ - { - FT_Byte* start; /* first character of token in input stream */ - FT_Byte* limit; /* first character after the token */ - T1_TokenType type; /* type of token */ - - } T1_TokenRec; - - - /* enumeration type used to identify object fields */ - typedef enum T1_FieldType_ - { - T1_FIELD_TYPE_NONE = 0, - T1_FIELD_TYPE_BOOL, - T1_FIELD_TYPE_INTEGER, - T1_FIELD_TYPE_FIXED, - T1_FIELD_TYPE_FIXED_1000, - T1_FIELD_TYPE_STRING, - T1_FIELD_TYPE_KEY, - T1_FIELD_TYPE_BBOX, - T1_FIELD_TYPE_MM_BBOX, - T1_FIELD_TYPE_INTEGER_ARRAY, - T1_FIELD_TYPE_FIXED_ARRAY, - T1_FIELD_TYPE_CALLBACK, - - /* do not remove */ - T1_FIELD_TYPE_MAX - - } T1_FieldType; - - - typedef enum T1_FieldLocation_ - { - T1_FIELD_LOCATION_CID_INFO, - T1_FIELD_LOCATION_FONT_DICT, - T1_FIELD_LOCATION_FONT_EXTRA, - T1_FIELD_LOCATION_FONT_INFO, - T1_FIELD_LOCATION_PRIVATE, - T1_FIELD_LOCATION_BBOX, - T1_FIELD_LOCATION_LOADER, - T1_FIELD_LOCATION_FACE, - T1_FIELD_LOCATION_BLEND, - - /* do not remove */ - T1_FIELD_LOCATION_MAX - - } T1_FieldLocation; - - - typedef void - (*T1_Field_ParseFunc)( FT_Face face, - FT_Pointer parser ); - - - /* structure type used to model object fields */ - typedef struct T1_FieldRec_ - { - const char* ident; /* field identifier */ - T1_FieldLocation location; - T1_FieldType type; /* type of field */ - T1_Field_ParseFunc reader; - FT_UInt offset; /* offset of field in object */ - FT_Byte size; /* size of field in bytes */ - FT_UInt array_max; /* maximum number of elements for */ - /* array */ - FT_UInt count_offset; /* offset of element count for */ - /* arrays; must not be zero if in */ - /* use -- in other words, a */ - /* `num_FOO' element must not */ - /* start the used structure if we */ - /* parse a `FOO' array */ - FT_UInt dict; /* where we expect it */ - } T1_FieldRec; - -#define T1_FIELD_DICT_FONTDICT ( 1 << 0 ) /* also FontInfo and FDArray */ -#define T1_FIELD_DICT_PRIVATE ( 1 << 1 ) - - - -#define T1_NEW_SIMPLE_FIELD( _ident, _type, _fname, _dict ) \ - { \ - _ident, T1CODE, _type, \ - 0, \ - FT_FIELD_OFFSET( _fname ), \ - FT_FIELD_SIZE( _fname ), \ - 0, 0, \ - _dict \ - }, - -#define T1_NEW_CALLBACK_FIELD( _ident, _reader, _dict ) \ - { \ - _ident, T1CODE, T1_FIELD_TYPE_CALLBACK, \ - (T1_Field_ParseFunc)_reader, \ - 0, 0, \ - 0, 0, \ - _dict \ - }, - -#define T1_NEW_TABLE_FIELD( _ident, _type, _fname, _max, _dict ) \ - { \ - _ident, T1CODE, _type, \ - 0, \ - FT_FIELD_OFFSET( _fname ), \ - FT_FIELD_SIZE_DELTA( _fname ), \ - _max, \ - FT_FIELD_OFFSET( num_ ## _fname ), \ - _dict \ - }, - -#define T1_NEW_TABLE_FIELD2( _ident, _type, _fname, _max, _dict ) \ - { \ - _ident, T1CODE, _type, \ - 0, \ - FT_FIELD_OFFSET( _fname ), \ - FT_FIELD_SIZE_DELTA( _fname ), \ - _max, 0, \ - _dict \ - }, - - -#define T1_FIELD_BOOL( _ident, _fname, _dict ) \ - T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_BOOL, _fname, _dict ) - -#define T1_FIELD_NUM( _ident, _fname, _dict ) \ - T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_INTEGER, _fname, _dict ) - -#define T1_FIELD_FIXED( _ident, _fname, _dict ) \ - T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_FIXED, _fname, _dict ) - -#define T1_FIELD_FIXED_1000( _ident, _fname, _dict ) \ - T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_FIXED_1000, _fname, \ - _dict ) - -#define T1_FIELD_STRING( _ident, _fname, _dict ) \ - T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_STRING, _fname, _dict ) - -#define T1_FIELD_KEY( _ident, _fname, _dict ) \ - T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_KEY, _fname, _dict ) - -#define T1_FIELD_BBOX( _ident, _fname, _dict ) \ - T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_BBOX, _fname, _dict ) - - -#define T1_FIELD_NUM_TABLE( _ident, _fname, _fmax, _dict ) \ - T1_NEW_TABLE_FIELD( _ident, T1_FIELD_TYPE_INTEGER_ARRAY, \ - _fname, _fmax, _dict ) - -#define T1_FIELD_FIXED_TABLE( _ident, _fname, _fmax, _dict ) \ - T1_NEW_TABLE_FIELD( _ident, T1_FIELD_TYPE_FIXED_ARRAY, \ - _fname, _fmax, _dict ) - -#define T1_FIELD_NUM_TABLE2( _ident, _fname, _fmax, _dict ) \ - T1_NEW_TABLE_FIELD2( _ident, T1_FIELD_TYPE_INTEGER_ARRAY, \ - _fname, _fmax, _dict ) - -#define T1_FIELD_FIXED_TABLE2( _ident, _fname, _fmax, _dict ) \ - T1_NEW_TABLE_FIELD2( _ident, T1_FIELD_TYPE_FIXED_ARRAY, \ - _fname, _fmax, _dict ) - -#define T1_FIELD_CALLBACK( _ident, _name, _dict ) \ - T1_NEW_CALLBACK_FIELD( _ident, _name, _dict ) - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** T1 PARSER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - typedef const struct PS_Parser_FuncsRec_* PS_Parser_Funcs; - - typedef struct PS_Parser_FuncsRec_ - { - void - (*init)( PS_Parser parser, - FT_Byte* base, - FT_Byte* limit, - FT_Memory memory ); - - void - (*done)( PS_Parser parser ); - - void - (*skip_spaces)( PS_Parser parser ); - void - (*skip_PS_token)( PS_Parser parser ); - - FT_Long - (*to_int)( PS_Parser parser ); - FT_Fixed - (*to_fixed)( PS_Parser parser, - FT_Int power_ten ); - - FT_Error - (*to_bytes)( PS_Parser parser, - FT_Byte* bytes, - FT_Offset max_bytes, - FT_ULong* pnum_bytes, - FT_Bool delimiters ); - - FT_Int - (*to_coord_array)( PS_Parser parser, - FT_Int max_coords, - FT_Short* coords ); - FT_Int - (*to_fixed_array)( PS_Parser parser, - FT_Int max_values, - FT_Fixed* values, - FT_Int power_ten ); - - void - (*to_token)( PS_Parser parser, - T1_Token token ); - void - (*to_token_array)( PS_Parser parser, - T1_Token tokens, - FT_UInt max_tokens, - FT_Int* pnum_tokens ); - - FT_Error - (*load_field)( PS_Parser parser, - const T1_Field field, - void** objects, - FT_UInt max_objects, - FT_ULong* pflags ); - - FT_Error - (*load_field_table)( PS_Parser parser, - const T1_Field field, - void** objects, - FT_UInt max_objects, - FT_ULong* pflags ); - - } PS_Parser_FuncsRec; - - - /************************************************************************** - * - * @struct: - * PS_ParserRec - * - * @description: - * A PS_Parser is an object used to parse a Type 1 font very quickly. - * - * @fields: - * cursor :: - * The current position in the text. - * - * base :: - * Start of the processed text. - * - * limit :: - * End of the processed text. - * - * error :: - * The last error returned. - * - * memory :: - * The object used for memory operations (alloc/realloc). - * - * funcs :: - * A table of functions for the parser. - */ - typedef struct PS_ParserRec_ - { - FT_Byte* cursor; - FT_Byte* base; - FT_Byte* limit; - FT_Error error; - FT_Memory memory; - - PS_Parser_FuncsRec funcs; - - } PS_ParserRec; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** PS BUILDER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - - typedef struct PS_Builder_ PS_Builder; - typedef const struct PS_Builder_FuncsRec_* PS_Builder_Funcs; - - typedef struct PS_Builder_FuncsRec_ - { - void - (*init)( PS_Builder* ps_builder, - void* builder, - FT_Bool is_t1 ); - - void - (*done)( PS_Builder* builder ); - - } PS_Builder_FuncsRec; - - - /************************************************************************** - * - * @struct: - * PS_Builder - * - * @description: - * A structure used during glyph loading to store its outline. - * - * @fields: - * memory :: - * The current memory object. - * - * face :: - * The current face object. - * - * glyph :: - * The current glyph slot. - * - * loader :: - * XXX - * - * base :: - * The base glyph outline. - * - * current :: - * The current glyph outline. - * - * pos_x :: - * The horizontal translation (if composite glyph). - * - * pos_y :: - * The vertical translation (if composite glyph). - * - * left_bearing :: - * The left side bearing point. - * - * advance :: - * The horizontal advance vector. - * - * bbox :: - * Unused. - * - * path_begun :: - * A flag which indicates that a new path has begun. - * - * load_points :: - * If this flag is not set, no points are loaded. - * - * no_recurse :: - * Set but not used. - * - * metrics_only :: - * A boolean indicating that we only want to compute the metrics of a - * given glyph, not load all of its points. - * - * is_t1 :: - * Set if current font type is Type 1. - * - * funcs :: - * An array of function pointers for the builder. - */ - struct PS_Builder_ - { - FT_Memory memory; - FT_Face face; - CFF_GlyphSlot glyph; - FT_GlyphLoader loader; - FT_Outline* base; - FT_Outline* current; - - FT_Pos* pos_x; - FT_Pos* pos_y; - - FT_Vector* left_bearing; - FT_Vector* advance; - - FT_BBox* bbox; /* bounding box */ - FT_Bool path_begun; - FT_Bool load_points; - FT_Bool no_recurse; - - FT_Bool metrics_only; - FT_Bool is_t1; - - PS_Builder_FuncsRec funcs; - - }; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** PS DECODER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - -#define PS_MAX_OPERANDS 48 -#define PS_MAX_SUBRS_CALLS 16 /* maximum subroutine nesting; */ - /* only 10 are allowed but there exist */ - /* fonts like `HiraKakuProN-W3.ttf' */ - /* (Hiragino Kaku Gothic ProN W3; */ - /* 8.2d6e1; 2014-12-19) that exceed */ - /* this limit */ - - /* execution context charstring zone */ - - typedef struct PS_Decoder_Zone_ - { - FT_Byte* base; - FT_Byte* limit; - FT_Byte* cursor; - - } PS_Decoder_Zone; - - - typedef FT_Error - (*CFF_Decoder_Get_Glyph_Callback)( TT_Face face, - FT_UInt glyph_index, - FT_Byte** pointer, - FT_ULong* length ); - - typedef void - (*CFF_Decoder_Free_Glyph_Callback)( TT_Face face, - FT_Byte** pointer, - FT_ULong length ); - - - typedef struct PS_Decoder_ - { - PS_Builder builder; - - FT_Fixed stack[PS_MAX_OPERANDS + 1]; - FT_Fixed* top; - - PS_Decoder_Zone zones[PS_MAX_SUBRS_CALLS + 1]; - PS_Decoder_Zone* zone; - - FT_Int flex_state; - FT_Int num_flex_vectors; - FT_Vector flex_vectors[7]; - - CFF_Font cff; - CFF_SubFont current_subfont; /* for current glyph_index */ - FT_Generic* cf2_instance; - - FT_Pos* glyph_width; - FT_Bool width_only; - FT_Int num_hints; - - FT_UInt num_locals; - FT_UInt num_globals; - - FT_Int locals_bias; - FT_Int globals_bias; - - FT_Byte** locals; - FT_Byte** globals; - - FT_Byte** glyph_names; /* for pure CFF fonts only */ - FT_UInt num_glyphs; /* number of glyphs in font */ - - FT_Render_Mode hint_mode; - - FT_Bool seac; - - CFF_Decoder_Get_Glyph_Callback get_glyph_callback; - CFF_Decoder_Free_Glyph_Callback free_glyph_callback; - - /* Type 1 stuff */ - FT_Service_PsCMaps psnames; /* for seac */ - - FT_Int lenIV; /* internal for sub routine calls */ - FT_UInt* locals_len; /* array of subrs length (optional) */ - FT_Hash locals_hash; /* used if `num_subrs' was massaged */ - - FT_Matrix font_matrix; - FT_Vector font_offset; - - PS_Blend blend; /* for multiple master support */ - - FT_Long* buildchar; - FT_UInt len_buildchar; - - } PS_Decoder; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** T1 BUILDER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - - typedef struct T1_BuilderRec_* T1_Builder; - - - typedef FT_Error - (*T1_Builder_Check_Points_Func)( T1_Builder builder, - FT_Int count ); - - typedef void - (*T1_Builder_Add_Point_Func)( T1_Builder builder, - FT_Pos x, - FT_Pos y, - FT_Byte flag ); - - typedef FT_Error - (*T1_Builder_Add_Point1_Func)( T1_Builder builder, - FT_Pos x, - FT_Pos y ); - - typedef FT_Error - (*T1_Builder_Add_Contour_Func)( T1_Builder builder ); - - typedef FT_Error - (*T1_Builder_Start_Point_Func)( T1_Builder builder, - FT_Pos x, - FT_Pos y ); - - typedef void - (*T1_Builder_Close_Contour_Func)( T1_Builder builder ); - - - typedef const struct T1_Builder_FuncsRec_* T1_Builder_Funcs; - - typedef struct T1_Builder_FuncsRec_ - { - void - (*init)( T1_Builder builder, - FT_Face face, - FT_Size size, - FT_GlyphSlot slot, - FT_Bool hinting ); - - void - (*done)( T1_Builder builder ); - - T1_Builder_Check_Points_Func check_points; - T1_Builder_Add_Point_Func add_point; - T1_Builder_Add_Point1_Func add_point1; - T1_Builder_Add_Contour_Func add_contour; - T1_Builder_Start_Point_Func start_point; - T1_Builder_Close_Contour_Func close_contour; - - } T1_Builder_FuncsRec; - - - /* an enumeration type to handle charstring parsing states */ - typedef enum T1_ParseState_ - { - T1_Parse_Start, - T1_Parse_Have_Width, - T1_Parse_Have_Moveto, - T1_Parse_Have_Path - - } T1_ParseState; - - - /************************************************************************** - * - * @struct: - * T1_BuilderRec - * - * @description: - * A structure used during glyph loading to store its outline. - * - * @fields: - * memory :: - * The current memory object. - * - * face :: - * The current face object. - * - * glyph :: - * The current glyph slot. - * - * loader :: - * XXX - * - * base :: - * The base glyph outline. - * - * current :: - * The current glyph outline. - * - * max_points :: - * maximum points in builder outline - * - * max_contours :: - * Maximum number of contours in builder outline. - * - * pos_x :: - * The horizontal translation (if composite glyph). - * - * pos_y :: - * The vertical translation (if composite glyph). - * - * left_bearing :: - * The left side bearing point. - * - * advance :: - * The horizontal advance vector. - * - * bbox :: - * Unused. - * - * parse_state :: - * An enumeration which controls the charstring parsing state. - * - * load_points :: - * If this flag is not set, no points are loaded. - * - * no_recurse :: - * Set but not used. - * - * metrics_only :: - * A boolean indicating that we only want to compute the metrics of a - * given glyph, not load all of its points. - * - * funcs :: - * An array of function pointers for the builder. - */ - typedef struct T1_BuilderRec_ - { - FT_Memory memory; - FT_Face face; - FT_GlyphSlot glyph; - FT_GlyphLoader loader; - FT_Outline* base; - FT_Outline* current; - - FT_Pos pos_x; - FT_Pos pos_y; - - FT_Vector left_bearing; - FT_Vector advance; - - FT_BBox bbox; /* bounding box */ - T1_ParseState parse_state; - FT_Bool load_points; - FT_Bool no_recurse; - - FT_Bool metrics_only; - - void* hints_funcs; /* hinter-specific */ - void* hints_globals; /* hinter-specific */ - - T1_Builder_FuncsRec funcs; - - } T1_BuilderRec; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** T1 DECODER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - -#if 0 - - /************************************************************************** - * - * T1_MAX_SUBRS_CALLS details the maximum number of nested sub-routine - * calls during glyph loading. - */ -#define T1_MAX_SUBRS_CALLS 8 - - - /************************************************************************** - * - * T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity. A - * minimum of 16 is required. - */ -#define T1_MAX_CHARSTRINGS_OPERANDS 32 - -#endif /* 0 */ - - - typedef struct T1_Decoder_ZoneRec_ - { - FT_Byte* cursor; - FT_Byte* base; - FT_Byte* limit; - - } T1_Decoder_ZoneRec, *T1_Decoder_Zone; - - - typedef struct T1_DecoderRec_* T1_Decoder; - typedef const struct T1_Decoder_FuncsRec_* T1_Decoder_Funcs; - - - typedef FT_Error - (*T1_Decoder_Callback)( T1_Decoder decoder, - FT_UInt glyph_index ); - - - typedef struct T1_Decoder_FuncsRec_ - { - FT_Error - (*init)( T1_Decoder decoder, - FT_Face face, - FT_Size size, - FT_GlyphSlot slot, - FT_Byte** glyph_names, - PS_Blend blend, - FT_Bool hinting, - FT_Render_Mode hint_mode, - T1_Decoder_Callback callback ); - - void - (*done)( T1_Decoder decoder ); - -#ifdef T1_CONFIG_OPTION_OLD_ENGINE - FT_Error - (*parse_charstrings_old)( T1_Decoder decoder, - FT_Byte* base, - FT_UInt len ); -#else - FT_Error - (*parse_metrics)( T1_Decoder decoder, - FT_Byte* base, - FT_UInt len ); -#endif - - FT_Error - (*parse_charstrings)( PS_Decoder* decoder, - FT_Byte* charstring_base, - FT_ULong charstring_len ); - - - } T1_Decoder_FuncsRec; - - - typedef struct T1_DecoderRec_ - { - T1_BuilderRec builder; - - FT_Long stack[T1_MAX_CHARSTRINGS_OPERANDS]; - FT_Long* top; - - T1_Decoder_ZoneRec zones[T1_MAX_SUBRS_CALLS + 1]; - T1_Decoder_Zone zone; - - FT_Service_PsCMaps psnames; /* for seac */ - FT_UInt num_glyphs; - FT_Byte** glyph_names; - - FT_Int lenIV; /* internal for sub routine calls */ - FT_Int num_subrs; - FT_Byte** subrs; - FT_UInt* subrs_len; /* array of subrs length (optional) */ - FT_Hash subrs_hash; /* used if `num_subrs' was massaged */ - - FT_Matrix font_matrix; - FT_Vector font_offset; - - FT_Int flex_state; - FT_Int num_flex_vectors; - FT_Vector flex_vectors[7]; - - PS_Blend blend; /* for multiple master support */ - - FT_Render_Mode hint_mode; - - T1_Decoder_Callback parse_callback; - T1_Decoder_FuncsRec funcs; - - FT_Long* buildchar; - FT_UInt len_buildchar; - - FT_Bool seac; - - FT_Generic cf2_instance; - - } T1_DecoderRec; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** CFF BUILDER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - - typedef struct CFF_Builder_ CFF_Builder; - - - typedef FT_Error - (*CFF_Builder_Check_Points_Func)( CFF_Builder* builder, - FT_Int count ); - - typedef void - (*CFF_Builder_Add_Point_Func)( CFF_Builder* builder, - FT_Pos x, - FT_Pos y, - FT_Byte flag ); - typedef FT_Error - (*CFF_Builder_Add_Point1_Func)( CFF_Builder* builder, - FT_Pos x, - FT_Pos y ); - typedef FT_Error - (*CFF_Builder_Start_Point_Func)( CFF_Builder* builder, - FT_Pos x, - FT_Pos y ); - typedef void - (*CFF_Builder_Close_Contour_Func)( CFF_Builder* builder ); - - typedef FT_Error - (*CFF_Builder_Add_Contour_Func)( CFF_Builder* builder ); - - typedef const struct CFF_Builder_FuncsRec_* CFF_Builder_Funcs; - - typedef struct CFF_Builder_FuncsRec_ - { - void - (*init)( CFF_Builder* builder, - TT_Face face, - CFF_Size size, - CFF_GlyphSlot glyph, - FT_Bool hinting ); - - void - (*done)( CFF_Builder* builder ); - - CFF_Builder_Check_Points_Func check_points; - CFF_Builder_Add_Point_Func add_point; - CFF_Builder_Add_Point1_Func add_point1; - CFF_Builder_Add_Contour_Func add_contour; - CFF_Builder_Start_Point_Func start_point; - CFF_Builder_Close_Contour_Func close_contour; - - } CFF_Builder_FuncsRec; - - - /************************************************************************** - * - * @struct: - * CFF_Builder - * - * @description: - * A structure used during glyph loading to store its outline. - * - * @fields: - * memory :: - * The current memory object. - * - * face :: - * The current face object. - * - * glyph :: - * The current glyph slot. - * - * loader :: - * The current glyph loader. - * - * base :: - * The base glyph outline. - * - * current :: - * The current glyph outline. - * - * pos_x :: - * The horizontal translation (if composite glyph). - * - * pos_y :: - * The vertical translation (if composite glyph). - * - * left_bearing :: - * The left side bearing point. - * - * advance :: - * The horizontal advance vector. - * - * bbox :: - * Unused. - * - * path_begun :: - * A flag which indicates that a new path has begun. - * - * load_points :: - * If this flag is not set, no points are loaded. - * - * no_recurse :: - * Set but not used. - * - * metrics_only :: - * A boolean indicating that we only want to compute the metrics of a - * given glyph, not load all of its points. - * - * hints_funcs :: - * Auxiliary pointer for hinting. - * - * hints_globals :: - * Auxiliary pointer for hinting. - * - * funcs :: - * A table of method pointers for this object. - */ - struct CFF_Builder_ - { - FT_Memory memory; - TT_Face face; - CFF_GlyphSlot glyph; - FT_GlyphLoader loader; - FT_Outline* base; - FT_Outline* current; - - FT_Pos pos_x; - FT_Pos pos_y; - - FT_Vector left_bearing; - FT_Vector advance; - - FT_BBox bbox; /* bounding box */ - - FT_Bool path_begun; - FT_Bool load_points; - FT_Bool no_recurse; - - FT_Bool metrics_only; - - void* hints_funcs; /* hinter-specific */ - void* hints_globals; /* hinter-specific */ - - CFF_Builder_FuncsRec funcs; - }; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** CFF DECODER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - -#define CFF_MAX_OPERANDS 48 -#define CFF_MAX_SUBRS_CALLS 16 /* maximum subroutine nesting; */ - /* only 10 are allowed but there exist */ - /* fonts like `HiraKakuProN-W3.ttf' */ - /* (Hiragino Kaku Gothic ProN W3; */ - /* 8.2d6e1; 2014-12-19) that exceed */ - /* this limit */ -#define CFF_MAX_TRANS_ELEMENTS 32 - - /* execution context charstring zone */ - - typedef struct CFF_Decoder_Zone_ - { - FT_Byte* base; - FT_Byte* limit; - FT_Byte* cursor; - - } CFF_Decoder_Zone; - - - typedef struct CFF_Decoder_ - { - CFF_Builder builder; - CFF_Font cff; - - FT_Fixed stack[CFF_MAX_OPERANDS + 1]; - FT_Fixed* top; - - CFF_Decoder_Zone zones[CFF_MAX_SUBRS_CALLS + 1]; - CFF_Decoder_Zone* zone; - - FT_Int flex_state; - FT_Int num_flex_vectors; - FT_Vector flex_vectors[7]; - - FT_Pos glyph_width; - FT_Pos nominal_width; - - FT_Bool read_width; - FT_Bool width_only; - FT_Int num_hints; - FT_Fixed buildchar[CFF_MAX_TRANS_ELEMENTS]; - - FT_UInt num_locals; - FT_UInt num_globals; - - FT_Int locals_bias; - FT_Int globals_bias; - - FT_Byte** locals; - FT_Byte** globals; - - FT_Byte** glyph_names; /* for pure CFF fonts only */ - FT_UInt num_glyphs; /* number of glyphs in font */ - - FT_Render_Mode hint_mode; - - FT_Bool seac; - - CFF_SubFont current_subfont; /* for current glyph_index */ - - CFF_Decoder_Get_Glyph_Callback get_glyph_callback; - CFF_Decoder_Free_Glyph_Callback free_glyph_callback; - - } CFF_Decoder; - - - typedef const struct CFF_Decoder_FuncsRec_* CFF_Decoder_Funcs; - - typedef struct CFF_Decoder_FuncsRec_ - { - void - (*init)( CFF_Decoder* decoder, - TT_Face face, - CFF_Size size, - CFF_GlyphSlot slot, - FT_Bool hinting, - FT_Render_Mode hint_mode, - CFF_Decoder_Get_Glyph_Callback get_callback, - CFF_Decoder_Free_Glyph_Callback free_callback ); - - FT_Error - (*prepare)( CFF_Decoder* decoder, - CFF_Size size, - FT_UInt glyph_index ); - -#ifdef CFF_CONFIG_OPTION_OLD_ENGINE - FT_Error - (*parse_charstrings_old)( CFF_Decoder* decoder, - FT_Byte* charstring_base, - FT_ULong charstring_len, - FT_Bool in_dict ); -#endif - - FT_Error - (*parse_charstrings)( PS_Decoder* decoder, - FT_Byte* charstring_base, - FT_ULong charstring_len ); - - } CFF_Decoder_FuncsRec; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** AFM PARSER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - typedef struct AFM_ParserRec_* AFM_Parser; - - typedef struct AFM_Parser_FuncsRec_ - { - FT_Error - (*init)( AFM_Parser parser, - FT_Memory memory, - FT_Byte* base, - FT_Byte* limit ); - - void - (*done)( AFM_Parser parser ); - - FT_Error - (*parse)( AFM_Parser parser ); - - } AFM_Parser_FuncsRec; - - - typedef struct AFM_StreamRec_* AFM_Stream; - - - /************************************************************************** - * - * @struct: - * AFM_ParserRec - * - * @description: - * An AFM_Parser is a parser for the AFM files. - * - * @fields: - * memory :: - * The object used for memory operations (alloc and realloc). - * - * stream :: - * This is an opaque object. - * - * FontInfo :: - * The result will be stored here. - * - * get_index :: - * A user provided function to get a glyph index by its name. - */ - typedef struct AFM_ParserRec_ - { - FT_Memory memory; - AFM_Stream stream; - - AFM_FontInfo FontInfo; - - FT_Int - (*get_index)( const char* name, - FT_Offset len, - void* user_data ); - - void* user_data; - - } AFM_ParserRec; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** TYPE1 CHARMAPS *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - typedef const struct T1_CMap_ClassesRec_* T1_CMap_Classes; - - typedef struct T1_CMap_ClassesRec_ - { - FT_CMap_Class standard; - FT_CMap_Class expert; - FT_CMap_Class custom; - FT_CMap_Class unicode; - - } T1_CMap_ClassesRec; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** PSAux Module Interface *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - typedef struct PSAux_ServiceRec_ - { - /* don't use `PS_Table_Funcs' and friends to avoid compiler warnings */ - const PS_Table_FuncsRec* ps_table_funcs; - const PS_Parser_FuncsRec* ps_parser_funcs; - const T1_Builder_FuncsRec* t1_builder_funcs; - const T1_Decoder_FuncsRec* t1_decoder_funcs; - - void - (*t1_decrypt)( FT_Byte* buffer, - FT_Offset length, - FT_UShort seed ); - - FT_UInt32 - (*cff_random)( FT_UInt32 r ); - - void - (*ps_decoder_init)( PS_Decoder* ps_decoder, - void* decoder, - FT_Bool is_t1 ); - - void - (*t1_make_subfont)( FT_Face face, - PS_Private priv, - CFF_SubFont subfont ); - - T1_CMap_Classes t1_cmap_classes; - - /* fields after this comment line were added after version 2.1.10 */ - const AFM_Parser_FuncsRec* afm_parser_funcs; - - const CFF_Decoder_FuncsRec* cff_decoder_funcs; - - } PSAux_ServiceRec, *PSAux_Service; - - /* backward compatible type definition */ - typedef PSAux_ServiceRec PSAux_Interface; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** Some convenience functions *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - -#define IS_PS_NEWLINE( ch ) \ - ( (ch) == '\r' || \ - (ch) == '\n' ) - -#define IS_PS_SPACE( ch ) \ - ( (ch) == ' ' || \ - IS_PS_NEWLINE( ch ) || \ - (ch) == '\t' || \ - (ch) == '\f' || \ - (ch) == '\0' ) - -#define IS_PS_SPECIAL( ch ) \ - ( (ch) == '/' || \ - (ch) == '(' || (ch) == ')' || \ - (ch) == '<' || (ch) == '>' || \ - (ch) == '[' || (ch) == ']' || \ - (ch) == '{' || (ch) == '}' || \ - (ch) == '%' ) - -#define IS_PS_DELIM( ch ) \ - ( IS_PS_SPACE( ch ) || \ - IS_PS_SPECIAL( ch ) ) - -#define IS_PS_DIGIT( ch ) \ - ( (ch) >= '0' && (ch) <= '9' ) - -#define IS_PS_XDIGIT( ch ) \ - ( IS_PS_DIGIT( ch ) || \ - ( (ch) >= 'A' && (ch) <= 'F' ) || \ - ( (ch) >= 'a' && (ch) <= 'f' ) ) - -#define IS_PS_BASE85( ch ) \ - ( (ch) >= '!' && (ch) <= 'u' ) - -#define IS_PS_TOKEN( cur, limit, token ) \ - ( (char)(cur)[0] == (token)[0] && \ - ( (cur) + sizeof ( (token) ) == (limit) || \ - ( (cur) + sizeof( (token) ) < (limit) && \ - IS_PS_DELIM( (cur)[sizeof ( (token) ) - 1] ) ) ) && \ - ft_strncmp( (char*)(cur), (token), sizeof ( (token) ) - 1 ) == 0 ) - - -FT_END_HEADER - -#endif /* PSAUX_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/pshints.h b/FreeType/include/freetype/internal/pshints.h deleted file mode 100644 index 699acea..0000000 --- a/FreeType/include/freetype/internal/pshints.h +++ /dev/null @@ -1,700 +0,0 @@ -/**************************************************************************** - * - * pshints.h - * - * Interface to Postscript-specific (Type 1 and Type 2) hints - * recorders (specification only). These are used to support native - * T1/T2 hints in the 'type1', 'cid', and 'cff' font drivers. - * - * Copyright (C) 2001-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef PSHINTS_H_ -#define PSHINTS_H_ - - -#include -#include FT_FREETYPE_H -#include FT_TYPE1_TABLES_H - - -FT_BEGIN_HEADER - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** INTERNAL REPRESENTATION OF GLOBALS *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - typedef struct PSH_GlobalsRec_* PSH_Globals; - - typedef FT_Error - (*PSH_Globals_NewFunc)( FT_Memory memory, - T1_Private* private_dict, - PSH_Globals* aglobals ); - - typedef void - (*PSH_Globals_SetScaleFunc)( PSH_Globals globals, - FT_Fixed x_scale, - FT_Fixed y_scale, - FT_Fixed x_delta, - FT_Fixed y_delta ); - - typedef void - (*PSH_Globals_DestroyFunc)( PSH_Globals globals ); - - - typedef struct PSH_Globals_FuncsRec_ - { - PSH_Globals_NewFunc create; - PSH_Globals_SetScaleFunc set_scale; - PSH_Globals_DestroyFunc destroy; - - } PSH_Globals_FuncsRec, *PSH_Globals_Funcs; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** PUBLIC TYPE 1 HINTS RECORDER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - /************************************************************************** - * - * @type: - * T1_Hints - * - * @description: - * This is a handle to an opaque structure used to record glyph hints - * from a Type 1 character glyph character string. - * - * The methods used to operate on this object are defined by the - * @T1_Hints_FuncsRec structure. Recording glyph hints is normally - * achieved through the following scheme: - * - * - Open a new hint recording session by calling the 'open' method. - * This rewinds the recorder and prepare it for new input. - * - * - For each hint found in the glyph charstring, call the corresponding - * method ('stem', 'stem3', or 'reset'). Note that these functions do - * not return an error code. - * - * - Close the recording session by calling the 'close' method. It - * returns an error code if the hints were invalid or something strange - * happened (e.g., memory shortage). - * - * The hints accumulated in the object can later be used by the - * PostScript hinter. - * - */ - typedef struct T1_HintsRec_* T1_Hints; - - - /************************************************************************** - * - * @type: - * T1_Hints_Funcs - * - * @description: - * A pointer to the @T1_Hints_FuncsRec structure that defines the API of - * a given @T1_Hints object. - * - */ - typedef const struct T1_Hints_FuncsRec_* T1_Hints_Funcs; - - - /************************************************************************** - * - * @functype: - * T1_Hints_OpenFunc - * - * @description: - * A method of the @T1_Hints class used to prepare it for a new Type 1 - * hints recording session. - * - * @input: - * hints :: - * A handle to the Type 1 hints recorder. - * - * @note: - * You should always call the @T1_Hints_CloseFunc method in order to - * close an opened recording session. - * - */ - typedef void - (*T1_Hints_OpenFunc)( T1_Hints hints ); - - - /************************************************************************** - * - * @functype: - * T1_Hints_SetStemFunc - * - * @description: - * A method of the @T1_Hints class used to record a new horizontal or - * vertical stem. This corresponds to the Type 1 'hstem' and 'vstem' - * operators. - * - * @input: - * hints :: - * A handle to the Type 1 hints recorder. - * - * dimension :: - * 0 for horizontal stems (hstem), 1 for vertical ones (vstem). - * - * coords :: - * Array of 2 coordinates in 16.16 format, used as (position,length) - * stem descriptor. - * - * @note: - * Use vertical coordinates (y) for horizontal stems (dim=0). Use - * horizontal coordinates (x) for vertical stems (dim=1). - * - * 'coords[0]' is the absolute stem position (lowest coordinate); - * 'coords[1]' is the length. - * - * The length can be negative, in which case it must be either -20 or - * -21. It is interpreted as a 'ghost' stem, according to the Type 1 - * specification. - * - * If the length is -21 (corresponding to a bottom ghost stem), then the - * real stem position is 'coords[0]+coords[1]'. - * - */ - typedef void - (*T1_Hints_SetStemFunc)( T1_Hints hints, - FT_UInt dimension, - FT_Fixed* coords ); - - - /************************************************************************** - * - * @functype: - * T1_Hints_SetStem3Func - * - * @description: - * A method of the @T1_Hints class used to record three - * counter-controlled horizontal or vertical stems at once. - * - * @input: - * hints :: - * A handle to the Type 1 hints recorder. - * - * dimension :: - * 0 for horizontal stems, 1 for vertical ones. - * - * coords :: - * An array of 6 values in 16.16 format, holding 3 (position,length) - * pairs for the counter-controlled stems. - * - * @note: - * Use vertical coordinates (y) for horizontal stems (dim=0). Use - * horizontal coordinates (x) for vertical stems (dim=1). - * - * The lengths cannot be negative (ghost stems are never - * counter-controlled). - * - */ - typedef void - (*T1_Hints_SetStem3Func)( T1_Hints hints, - FT_UInt dimension, - FT_Fixed* coords ); - - - /************************************************************************** - * - * @functype: - * T1_Hints_ResetFunc - * - * @description: - * A method of the @T1_Hints class used to reset the stems hints in a - * recording session. - * - * @input: - * hints :: - * A handle to the Type 1 hints recorder. - * - * end_point :: - * The index of the last point in the input glyph in which the - * previously defined hints apply. - * - */ - typedef void - (*T1_Hints_ResetFunc)( T1_Hints hints, - FT_UInt end_point ); - - - /************************************************************************** - * - * @functype: - * T1_Hints_CloseFunc - * - * @description: - * A method of the @T1_Hints class used to close a hint recording - * session. - * - * @input: - * hints :: - * A handle to the Type 1 hints recorder. - * - * end_point :: - * The index of the last point in the input glyph. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * The error code is set to indicate that an error occurred during the - * recording session. - * - */ - typedef FT_Error - (*T1_Hints_CloseFunc)( T1_Hints hints, - FT_UInt end_point ); - - - /************************************************************************** - * - * @functype: - * T1_Hints_ApplyFunc - * - * @description: - * A method of the @T1_Hints class used to apply hints to the - * corresponding glyph outline. Must be called once all hints have been - * recorded. - * - * @input: - * hints :: - * A handle to the Type 1 hints recorder. - * - * outline :: - * A pointer to the target outline descriptor. - * - * globals :: - * The hinter globals for this font. - * - * hint_mode :: - * Hinting information. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * On input, all points within the outline are in font coordinates. On - * output, they are in 1/64th of pixels. - * - * The scaling transformation is taken from the 'globals' object which - * must correspond to the same font as the glyph. - * - */ - typedef FT_Error - (*T1_Hints_ApplyFunc)( T1_Hints hints, - FT_Outline* outline, - PSH_Globals globals, - FT_Render_Mode hint_mode ); - - - /************************************************************************** - * - * @struct: - * T1_Hints_FuncsRec - * - * @description: - * The structure used to provide the API to @T1_Hints objects. - * - * @fields: - * hints :: - * A handle to the T1 Hints recorder. - * - * open :: - * The function to open a recording session. - * - * close :: - * The function to close a recording session. - * - * stem :: - * The function to set a simple stem. - * - * stem3 :: - * The function to set counter-controlled stems. - * - * reset :: - * The function to reset stem hints. - * - * apply :: - * The function to apply the hints to the corresponding glyph outline. - * - */ - typedef struct T1_Hints_FuncsRec_ - { - T1_Hints hints; - T1_Hints_OpenFunc open; - T1_Hints_CloseFunc close; - T1_Hints_SetStemFunc stem; - T1_Hints_SetStem3Func stem3; - T1_Hints_ResetFunc reset; - T1_Hints_ApplyFunc apply; - - } T1_Hints_FuncsRec; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** PUBLIC TYPE 2 HINTS RECORDER *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - /************************************************************************** - * - * @type: - * T2_Hints - * - * @description: - * This is a handle to an opaque structure used to record glyph hints - * from a Type 2 character glyph character string. - * - * The methods used to operate on this object are defined by the - * @T2_Hints_FuncsRec structure. Recording glyph hints is normally - * achieved through the following scheme: - * - * - Open a new hint recording session by calling the 'open' method. - * This rewinds the recorder and prepare it for new input. - * - * - For each hint found in the glyph charstring, call the corresponding - * method ('stems', 'hintmask', 'counters'). Note that these functions - * do not return an error code. - * - * - Close the recording session by calling the 'close' method. It - * returns an error code if the hints were invalid or something strange - * happened (e.g., memory shortage). - * - * The hints accumulated in the object can later be used by the - * Postscript hinter. - * - */ - typedef struct T2_HintsRec_* T2_Hints; - - - /************************************************************************** - * - * @type: - * T2_Hints_Funcs - * - * @description: - * A pointer to the @T2_Hints_FuncsRec structure that defines the API of - * a given @T2_Hints object. - * - */ - typedef const struct T2_Hints_FuncsRec_* T2_Hints_Funcs; - - - /************************************************************************** - * - * @functype: - * T2_Hints_OpenFunc - * - * @description: - * A method of the @T2_Hints class used to prepare it for a new Type 2 - * hints recording session. - * - * @input: - * hints :: - * A handle to the Type 2 hints recorder. - * - * @note: - * You should always call the @T2_Hints_CloseFunc method in order to - * close an opened recording session. - * - */ - typedef void - (*T2_Hints_OpenFunc)( T2_Hints hints ); - - - /************************************************************************** - * - * @functype: - * T2_Hints_StemsFunc - * - * @description: - * A method of the @T2_Hints class used to set the table of stems in - * either the vertical or horizontal dimension. Equivalent to the - * 'hstem', 'vstem', 'hstemhm', and 'vstemhm' Type 2 operators. - * - * @input: - * hints :: - * A handle to the Type 2 hints recorder. - * - * dimension :: - * 0 for horizontal stems (hstem), 1 for vertical ones (vstem). - * - * count :: - * The number of stems. - * - * coords :: - * An array of 'count' (position,length) pairs in 16.16 format. - * - * @note: - * Use vertical coordinates (y) for horizontal stems (dim=0). Use - * horizontal coordinates (x) for vertical stems (dim=1). - * - * There are '2*count' elements in the 'coords' array. Each even element - * is an absolute position in font units, each odd element is a length in - * font units. - * - * A length can be negative, in which case it must be either -20 or -21. - * It is interpreted as a 'ghost' stem, according to the Type 1 - * specification. - * - */ - typedef void - (*T2_Hints_StemsFunc)( T2_Hints hints, - FT_UInt dimension, - FT_Int count, - FT_Fixed* coordinates ); - - - /************************************************************************** - * - * @functype: - * T2_Hints_MaskFunc - * - * @description: - * A method of the @T2_Hints class used to set a given hintmask (this - * corresponds to the 'hintmask' Type 2 operator). - * - * @input: - * hints :: - * A handle to the Type 2 hints recorder. - * - * end_point :: - * The glyph index of the last point to which the previously defined or - * activated hints apply. - * - * bit_count :: - * The number of bits in the hint mask. - * - * bytes :: - * An array of bytes modelling the hint mask. - * - * @note: - * If the hintmask starts the charstring (before any glyph point - * definition), the value of `end_point` should be 0. - * - * `bit_count` is the number of meaningful bits in the 'bytes' array; it - * must be equal to the total number of hints defined so far (i.e., - * horizontal+verticals). - * - * The 'bytes' array can come directly from the Type 2 charstring and - * respects the same format. - * - */ - typedef void - (*T2_Hints_MaskFunc)( T2_Hints hints, - FT_UInt end_point, - FT_UInt bit_count, - const FT_Byte* bytes ); - - - /************************************************************************** - * - * @functype: - * T2_Hints_CounterFunc - * - * @description: - * A method of the @T2_Hints class used to set a given counter mask (this - * corresponds to the 'hintmask' Type 2 operator). - * - * @input: - * hints :: - * A handle to the Type 2 hints recorder. - * - * end_point :: - * A glyph index of the last point to which the previously defined or - * active hints apply. - * - * bit_count :: - * The number of bits in the hint mask. - * - * bytes :: - * An array of bytes modelling the hint mask. - * - * @note: - * If the hintmask starts the charstring (before any glyph point - * definition), the value of `end_point` should be 0. - * - * `bit_count` is the number of meaningful bits in the 'bytes' array; it - * must be equal to the total number of hints defined so far (i.e., - * horizontal+verticals). - * - * The 'bytes' array can come directly from the Type 2 charstring and - * respects the same format. - * - */ - typedef void - (*T2_Hints_CounterFunc)( T2_Hints hints, - FT_UInt bit_count, - const FT_Byte* bytes ); - - - /************************************************************************** - * - * @functype: - * T2_Hints_CloseFunc - * - * @description: - * A method of the @T2_Hints class used to close a hint recording - * session. - * - * @input: - * hints :: - * A handle to the Type 2 hints recorder. - * - * end_point :: - * The index of the last point in the input glyph. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * The error code is set to indicate that an error occurred during the - * recording session. - * - */ - typedef FT_Error - (*T2_Hints_CloseFunc)( T2_Hints hints, - FT_UInt end_point ); - - - /************************************************************************** - * - * @functype: - * T2_Hints_ApplyFunc - * - * @description: - * A method of the @T2_Hints class used to apply hints to the - * corresponding glyph outline. Must be called after the 'close' method. - * - * @input: - * hints :: - * A handle to the Type 2 hints recorder. - * - * outline :: - * A pointer to the target outline descriptor. - * - * globals :: - * The hinter globals for this font. - * - * hint_mode :: - * Hinting information. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * On input, all points within the outline are in font coordinates. On - * output, they are in 1/64th of pixels. - * - * The scaling transformation is taken from the 'globals' object which - * must correspond to the same font than the glyph. - * - */ - typedef FT_Error - (*T2_Hints_ApplyFunc)( T2_Hints hints, - FT_Outline* outline, - PSH_Globals globals, - FT_Render_Mode hint_mode ); - - - /************************************************************************** - * - * @struct: - * T2_Hints_FuncsRec - * - * @description: - * The structure used to provide the API to @T2_Hints objects. - * - * @fields: - * hints :: - * A handle to the T2 hints recorder object. - * - * open :: - * The function to open a recording session. - * - * close :: - * The function to close a recording session. - * - * stems :: - * The function to set the dimension's stems table. - * - * hintmask :: - * The function to set hint masks. - * - * counter :: - * The function to set counter masks. - * - * apply :: - * The function to apply the hints on the corresponding glyph outline. - * - */ - typedef struct T2_Hints_FuncsRec_ - { - T2_Hints hints; - T2_Hints_OpenFunc open; - T2_Hints_CloseFunc close; - T2_Hints_StemsFunc stems; - T2_Hints_MaskFunc hintmask; - T2_Hints_CounterFunc counter; - T2_Hints_ApplyFunc apply; - - } T2_Hints_FuncsRec; - - - /* */ - - - typedef struct PSHinter_Interface_ - { - PSH_Globals_Funcs (*get_globals_funcs)( FT_Module module ); - T1_Hints_Funcs (*get_t1_funcs) ( FT_Module module ); - T2_Hints_Funcs (*get_t2_funcs) ( FT_Module module ); - - } PSHinter_Interface; - - typedef PSHinter_Interface* PSHinter_Service; - - -#define FT_DEFINE_PSHINTER_INTERFACE( \ - class_, \ - get_globals_funcs_, \ - get_t1_funcs_, \ - get_t2_funcs_ ) \ - static const PSHinter_Interface class_ = \ - { \ - get_globals_funcs_, \ - get_t1_funcs_, \ - get_t2_funcs_ \ - }; - - -FT_END_HEADER - -#endif /* PSHINTS_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svbdf.h b/FreeType/include/freetype/internal/services/svbdf.h deleted file mode 100644 index e4786ed..0000000 --- a/FreeType/include/freetype/internal/services/svbdf.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** - * - * svbdf.h - * - * The FreeType BDF services (specification). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVBDF_H_ -#define SVBDF_H_ - -#include FT_BDF_H -#include FT_INTERNAL_SERVICE_H - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_BDF "bdf" - - typedef FT_Error - (*FT_BDF_GetCharsetIdFunc)( FT_Face face, - const char* *acharset_encoding, - const char* *acharset_registry ); - - typedef FT_Error - (*FT_BDF_GetPropertyFunc)( FT_Face face, - const char* prop_name, - BDF_PropertyRec *aproperty ); - - - FT_DEFINE_SERVICE( BDF ) - { - FT_BDF_GetCharsetIdFunc get_charset_id; - FT_BDF_GetPropertyFunc get_property; - }; - - -#define FT_DEFINE_SERVICE_BDFRec( class_, \ - get_charset_id_, \ - get_property_ ) \ - static const FT_Service_BDFRec class_ = \ - { \ - get_charset_id_, get_property_ \ - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVBDF_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svcfftl.h b/FreeType/include/freetype/internal/services/svcfftl.h deleted file mode 100644 index 6c62173..0000000 --- a/FreeType/include/freetype/internal/services/svcfftl.h +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** - * - * svcfftl.h - * - * The FreeType CFF tables loader service (specification). - * - * Copyright (C) 2017-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVCFFTL_H_ -#define SVCFFTL_H_ - -#include FT_INTERNAL_SERVICE_H -#include FT_INTERNAL_CFF_TYPES_H - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_CFF_LOAD "cff-load" - - - typedef FT_UShort - (*FT_Get_Standard_Encoding_Func)( FT_UInt charcode ); - - typedef FT_Error - (*FT_Load_Private_Dict_Func)( CFF_Font font, - CFF_SubFont subfont, - FT_UInt lenNDV, - FT_Fixed* NDV ); - - typedef FT_Byte - (*FT_FD_Select_Get_Func)( CFF_FDSelect fdselect, - FT_UInt glyph_index ); - - typedef FT_Bool - (*FT_Blend_Check_Vector_Func)( CFF_Blend blend, - FT_UInt vsindex, - FT_UInt lenNDV, - FT_Fixed* NDV ); - - typedef FT_Error - (*FT_Blend_Build_Vector_Func)( CFF_Blend blend, - FT_UInt vsindex, - FT_UInt lenNDV, - FT_Fixed* NDV ); - - - FT_DEFINE_SERVICE( CFFLoad ) - { - FT_Get_Standard_Encoding_Func get_standard_encoding; - FT_Load_Private_Dict_Func load_private_dict; - FT_FD_Select_Get_Func fd_select_get; - FT_Blend_Check_Vector_Func blend_check_vector; - FT_Blend_Build_Vector_Func blend_build_vector; - }; - - -#define FT_DEFINE_SERVICE_CFFLOADREC( class_, \ - get_standard_encoding_, \ - load_private_dict_, \ - fd_select_get_, \ - blend_check_vector_, \ - blend_build_vector_ ) \ - static const FT_Service_CFFLoadRec class_ = \ - { \ - get_standard_encoding_, \ - load_private_dict_, \ - fd_select_get_, \ - blend_check_vector_, \ - blend_build_vector_ \ - }; - - -FT_END_HEADER - - -#endif - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svcid.h b/FreeType/include/freetype/internal/services/svcid.h deleted file mode 100644 index 555a5af..0000000 --- a/FreeType/include/freetype/internal/services/svcid.h +++ /dev/null @@ -1,69 +0,0 @@ -/**************************************************************************** - * - * svcid.h - * - * The FreeType CID font services (specification). - * - * Copyright (C) 2007-2019 by - * Derek Clegg and Michael Toftdal. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVCID_H_ -#define SVCID_H_ - -#include FT_INTERNAL_SERVICE_H - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_CID "CID" - - typedef FT_Error - (*FT_CID_GetRegistryOrderingSupplementFunc)( FT_Face face, - const char* *registry, - const char* *ordering, - FT_Int *supplement ); - typedef FT_Error - (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face face, - FT_Bool *is_cid ); - typedef FT_Error - (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face face, - FT_UInt glyph_index, - FT_UInt *cid ); - - FT_DEFINE_SERVICE( CID ) - { - FT_CID_GetRegistryOrderingSupplementFunc get_ros; - FT_CID_GetIsInternallyCIDKeyedFunc get_is_cid; - FT_CID_GetCIDFromGlyphIndexFunc get_cid_from_glyph_index; - }; - - -#define FT_DEFINE_SERVICE_CIDREC( class_, \ - get_ros_, \ - get_is_cid_, \ - get_cid_from_glyph_index_ ) \ - static const FT_Service_CIDRec class_ = \ - { \ - get_ros_, get_is_cid_, get_cid_from_glyph_index_ \ - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVCID_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svfntfmt.h b/FreeType/include/freetype/internal/services/svfntfmt.h deleted file mode 100644 index 6f4285e..0000000 --- a/FreeType/include/freetype/internal/services/svfntfmt.h +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** - * - * svfntfmt.h - * - * The FreeType font format service (specification only). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVFNTFMT_H_ -#define SVFNTFMT_H_ - -#include FT_INTERNAL_SERVICE_H - - -FT_BEGIN_HEADER - - - /* - * A trivial service used to return the name of a face's font driver, - * according to the XFree86 nomenclature. Note that the service data is a - * simple constant string pointer. - */ - -#define FT_SERVICE_ID_FONT_FORMAT "font-format" - -#define FT_FONT_FORMAT_TRUETYPE "TrueType" -#define FT_FONT_FORMAT_TYPE_1 "Type 1" -#define FT_FONT_FORMAT_BDF "BDF" -#define FT_FONT_FORMAT_PCF "PCF" -#define FT_FONT_FORMAT_TYPE_42 "Type 42" -#define FT_FONT_FORMAT_CID "CID Type 1" -#define FT_FONT_FORMAT_CFF "CFF" -#define FT_FONT_FORMAT_PFR "PFR" -#define FT_FONT_FORMAT_WINFNT "Windows FNT" - - /* */ - - -FT_END_HEADER - - -#endif /* SVFNTFMT_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svgldict.h b/FreeType/include/freetype/internal/services/svgldict.h deleted file mode 100644 index 0949621..0000000 --- a/FreeType/include/freetype/internal/services/svgldict.h +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** - * - * svgldict.h - * - * The FreeType glyph dictionary services (specification). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVGLDICT_H_ -#define SVGLDICT_H_ - -#include FT_INTERNAL_SERVICE_H - - -FT_BEGIN_HEADER - - - /* - * A service used to retrieve glyph names, as well as to find the index of - * a given glyph name in a font. - * - */ - -#define FT_SERVICE_ID_GLYPH_DICT "glyph-dict" - - - typedef FT_Error - (*FT_GlyphDict_GetNameFunc)( FT_Face face, - FT_UInt glyph_index, - FT_Pointer buffer, - FT_UInt buffer_max ); - - typedef FT_UInt - (*FT_GlyphDict_NameIndexFunc)( FT_Face face, - const FT_String* glyph_name ); - - - FT_DEFINE_SERVICE( GlyphDict ) - { - FT_GlyphDict_GetNameFunc get_name; - FT_GlyphDict_NameIndexFunc name_index; /* optional */ - }; - - -#define FT_DEFINE_SERVICE_GLYPHDICTREC( class_, \ - get_name_, \ - name_index_ ) \ - static const FT_Service_GlyphDictRec class_ = \ - { \ - get_name_, name_index_ \ - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVGLDICT_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svgxval.h b/FreeType/include/freetype/internal/services/svgxval.h deleted file mode 100644 index 0bb76f3..0000000 --- a/FreeType/include/freetype/internal/services/svgxval.h +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** - * - * svgxval.h - * - * FreeType API for validating TrueTypeGX/AAT tables (specification). - * - * Copyright (C) 2004-2019 by - * Masatake YAMATO, Red Hat K.K., - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - -/**************************************************************************** - * - * gxvalid is derived from both gxlayout module and otvalid module. - * Development of gxlayout is supported by the Information-technology - * Promotion Agency(IPA), Japan. - * - */ - - -#ifndef SVGXVAL_H_ -#define SVGXVAL_H_ - -#include FT_GX_VALIDATE_H -#include FT_INTERNAL_VALIDATE_H - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_GX_VALIDATE "truetypegx-validate" -#define FT_SERVICE_ID_CLASSICKERN_VALIDATE "classickern-validate" - - typedef FT_Error - (*gxv_validate_func)( FT_Face face, - FT_UInt gx_flags, - FT_Bytes tables[FT_VALIDATE_GX_LENGTH], - FT_UInt table_length ); - - - typedef FT_Error - (*ckern_validate_func)( FT_Face face, - FT_UInt ckern_flags, - FT_Bytes *ckern_table ); - - - FT_DEFINE_SERVICE( GXvalidate ) - { - gxv_validate_func validate; - }; - - FT_DEFINE_SERVICE( CKERNvalidate ) - { - ckern_validate_func validate; - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVGXVAL_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svkern.h b/FreeType/include/freetype/internal/services/svkern.h deleted file mode 100644 index f992a32..0000000 --- a/FreeType/include/freetype/internal/services/svkern.h +++ /dev/null @@ -1,51 +0,0 @@ -/**************************************************************************** - * - * svkern.h - * - * The FreeType Kerning service (specification). - * - * Copyright (C) 2006-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVKERN_H_ -#define SVKERN_H_ - -#include FT_INTERNAL_SERVICE_H -#include FT_TRUETYPE_TABLES_H - - -FT_BEGIN_HEADER - -#define FT_SERVICE_ID_KERNING "kerning" - - - typedef FT_Error - (*FT_Kerning_TrackGetFunc)( FT_Face face, - FT_Fixed point_size, - FT_Int degree, - FT_Fixed* akerning ); - - FT_DEFINE_SERVICE( Kerning ) - { - FT_Kerning_TrackGetFunc get_track; - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVKERN_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svmetric.h b/FreeType/include/freetype/internal/services/svmetric.h deleted file mode 100644 index d688bc7..0000000 --- a/FreeType/include/freetype/internal/services/svmetric.h +++ /dev/null @@ -1,125 +0,0 @@ -/**************************************************************************** - * - * svmetric.h - * - * The FreeType services for metrics variations (specification). - * - * Copyright (C) 2016-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVMETRIC_H_ -#define SVMETRIC_H_ - -#include FT_INTERNAL_SERVICE_H - - -FT_BEGIN_HEADER - - - /* - * A service to manage the `HVAR, `MVAR', and `VVAR' OpenType tables. - * - */ - -#define FT_SERVICE_ID_METRICS_VARIATIONS "metrics-variations" - - - /* HVAR */ - - typedef FT_Error - (*FT_HAdvance_Adjust_Func)( FT_Face face, - FT_UInt gindex, - FT_Int *avalue ); - - typedef FT_Error - (*FT_LSB_Adjust_Func)( FT_Face face, - FT_UInt gindex, - FT_Int *avalue ); - - typedef FT_Error - (*FT_RSB_Adjust_Func)( FT_Face face, - FT_UInt gindex, - FT_Int *avalue ); - - /* VVAR */ - - typedef FT_Error - (*FT_VAdvance_Adjust_Func)( FT_Face face, - FT_UInt gindex, - FT_Int *avalue ); - - typedef FT_Error - (*FT_TSB_Adjust_Func)( FT_Face face, - FT_UInt gindex, - FT_Int *avalue ); - - typedef FT_Error - (*FT_BSB_Adjust_Func)( FT_Face face, - FT_UInt gindex, - FT_Int *avalue ); - - typedef FT_Error - (*FT_VOrg_Adjust_Func)( FT_Face face, - FT_UInt gindex, - FT_Int *avalue ); - - /* MVAR */ - - typedef void - (*FT_Metrics_Adjust_Func)( FT_Face face ); - - - FT_DEFINE_SERVICE( MetricsVariations ) - { - FT_HAdvance_Adjust_Func hadvance_adjust; - FT_LSB_Adjust_Func lsb_adjust; - FT_RSB_Adjust_Func rsb_adjust; - - FT_VAdvance_Adjust_Func vadvance_adjust; - FT_TSB_Adjust_Func tsb_adjust; - FT_BSB_Adjust_Func bsb_adjust; - FT_VOrg_Adjust_Func vorg_adjust; - - FT_Metrics_Adjust_Func metrics_adjust; - }; - - -#define FT_DEFINE_SERVICE_METRICSVARIATIONSREC( class_, \ - hadvance_adjust_, \ - lsb_adjust_, \ - rsb_adjust_, \ - vadvance_adjust_, \ - tsb_adjust_, \ - bsb_adjust_, \ - vorg_adjust_, \ - metrics_adjust_ ) \ - static const FT_Service_MetricsVariationsRec class_ = \ - { \ - hadvance_adjust_, \ - lsb_adjust_, \ - rsb_adjust_, \ - vadvance_adjust_, \ - tsb_adjust_, \ - bsb_adjust_, \ - vorg_adjust_, \ - metrics_adjust_ \ - }; - - /* */ - - -FT_END_HEADER - -#endif /* SVMETRIC_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svmm.h b/FreeType/include/freetype/internal/services/svmm.h deleted file mode 100644 index 3652f20..0000000 --- a/FreeType/include/freetype/internal/services/svmm.h +++ /dev/null @@ -1,156 +0,0 @@ -/**************************************************************************** - * - * svmm.h - * - * The FreeType Multiple Masters and GX var services (specification). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVMM_H_ -#define SVMM_H_ - -#include FT_INTERNAL_SERVICE_H - - -FT_BEGIN_HEADER - - - /* - * A service used to manage multiple-masters data in a given face. - * - * See the related APIs in `ftmm.h' (FT_MULTIPLE_MASTERS_H). - * - */ - -#define FT_SERVICE_ID_MULTI_MASTERS "multi-masters" - - - typedef FT_Error - (*FT_Get_MM_Func)( FT_Face face, - FT_Multi_Master* master ); - - typedef FT_Error - (*FT_Get_MM_Var_Func)( FT_Face face, - FT_MM_Var* *master ); - - typedef FT_Error - (*FT_Set_MM_Design_Func)( FT_Face face, - FT_UInt num_coords, - FT_Long* coords ); - - /* use return value -1 to indicate that the new coordinates */ - /* are equal to the current ones; no changes are thus needed */ - typedef FT_Error - (*FT_Set_Var_Design_Func)( FT_Face face, - FT_UInt num_coords, - FT_Fixed* coords ); - - /* use return value -1 to indicate that the new coordinates */ - /* are equal to the current ones; no changes are thus needed */ - typedef FT_Error - (*FT_Set_MM_Blend_Func)( FT_Face face, - FT_UInt num_coords, - FT_Long* coords ); - - typedef FT_Error - (*FT_Get_Var_Design_Func)( FT_Face face, - FT_UInt num_coords, - FT_Fixed* coords ); - - typedef FT_Error - (*FT_Set_Instance_Func)( FT_Face face, - FT_UInt instance_index ); - - typedef FT_Error - (*FT_Get_MM_Blend_Func)( FT_Face face, - FT_UInt num_coords, - FT_Long* coords ); - - typedef FT_Error - (*FT_Get_Var_Blend_Func)( FT_Face face, - FT_UInt *num_coords, - FT_Fixed* *coords, - FT_Fixed* *normalizedcoords, - FT_MM_Var* *mm_var ); - - typedef void - (*FT_Done_Blend_Func)( FT_Face ); - - typedef FT_Error - (*FT_Set_MM_WeightVector_Func)( FT_Face face, - FT_UInt len, - FT_Fixed* weight_vector ); - - typedef FT_Error - (*FT_Get_MM_WeightVector_Func)( FT_Face face, - FT_UInt* len, - FT_Fixed* weight_vector ); - - - FT_DEFINE_SERVICE( MultiMasters ) - { - FT_Get_MM_Func get_mm; - FT_Set_MM_Design_Func set_mm_design; - FT_Set_MM_Blend_Func set_mm_blend; - FT_Get_MM_Blend_Func get_mm_blend; - FT_Get_MM_Var_Func get_mm_var; - FT_Set_Var_Design_Func set_var_design; - FT_Get_Var_Design_Func get_var_design; - FT_Set_Instance_Func set_instance; - FT_Set_MM_WeightVector_Func set_mm_weightvector; - FT_Get_MM_WeightVector_Func get_mm_weightvector; - - /* for internal use; only needed for code sharing between modules */ - FT_Get_Var_Blend_Func get_var_blend; - FT_Done_Blend_Func done_blend; - }; - - -#define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_, \ - get_mm_, \ - set_mm_design_, \ - set_mm_blend_, \ - get_mm_blend_, \ - get_mm_var_, \ - set_var_design_, \ - get_var_design_, \ - set_instance_, \ - set_weightvector_, \ - get_weightvector_, \ - get_var_blend_, \ - done_blend_ ) \ - static const FT_Service_MultiMastersRec class_ = \ - { \ - get_mm_, \ - set_mm_design_, \ - set_mm_blend_, \ - get_mm_blend_, \ - get_mm_var_, \ - set_var_design_, \ - get_var_design_, \ - set_instance_, \ - set_weightvector_, \ - get_weightvector_, \ - get_var_blend_, \ - done_blend_ \ - }; - - /* */ - - -FT_END_HEADER - -#endif /* SVMM_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svotval.h b/FreeType/include/freetype/internal/services/svotval.h deleted file mode 100644 index cab4c6e..0000000 --- a/FreeType/include/freetype/internal/services/svotval.h +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** - * - * svotval.h - * - * The FreeType OpenType validation service (specification). - * - * Copyright (C) 2004-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVOTVAL_H_ -#define SVOTVAL_H_ - -#include FT_OPENTYPE_VALIDATE_H -#include FT_INTERNAL_VALIDATE_H - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_OPENTYPE_VALIDATE "opentype-validate" - - - typedef FT_Error - (*otv_validate_func)( FT_Face volatile face, - FT_UInt ot_flags, - FT_Bytes *base, - FT_Bytes *gdef, - FT_Bytes *gpos, - FT_Bytes *gsub, - FT_Bytes *jstf ); - - - FT_DEFINE_SERVICE( OTvalidate ) - { - otv_validate_func validate; - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVOTVAL_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svpfr.h b/FreeType/include/freetype/internal/services/svpfr.h deleted file mode 100644 index fd01d61..0000000 --- a/FreeType/include/freetype/internal/services/svpfr.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** - * - * svpfr.h - * - * Internal PFR service functions (specification). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVPFR_H_ -#define SVPFR_H_ - -#include FT_PFR_H -#include FT_INTERNAL_SERVICE_H - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_PFR_METRICS "pfr-metrics" - - - typedef FT_Error - (*FT_PFR_GetMetricsFunc)( FT_Face face, - FT_UInt *aoutline, - FT_UInt *ametrics, - FT_Fixed *ax_scale, - FT_Fixed *ay_scale ); - - typedef FT_Error - (*FT_PFR_GetKerningFunc)( FT_Face face, - FT_UInt left, - FT_UInt right, - FT_Vector *avector ); - - typedef FT_Error - (*FT_PFR_GetAdvanceFunc)( FT_Face face, - FT_UInt gindex, - FT_Pos *aadvance ); - - - FT_DEFINE_SERVICE( PfrMetrics ) - { - FT_PFR_GetMetricsFunc get_metrics; - FT_PFR_GetKerningFunc get_kerning; - FT_PFR_GetAdvanceFunc get_advance; - - }; - - /* */ - -FT_END_HEADER - -#endif /* SVPFR_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svpostnm.h b/FreeType/include/freetype/internal/services/svpostnm.h deleted file mode 100644 index 18e3843..0000000 --- a/FreeType/include/freetype/internal/services/svpostnm.h +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** - * - * svpostnm.h - * - * The FreeType PostScript name services (specification). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVPOSTNM_H_ -#define SVPOSTNM_H_ - -#include FT_INTERNAL_SERVICE_H - - -FT_BEGIN_HEADER - - /* - * A trivial service used to retrieve the PostScript name of a given font - * when available. The `get_name' field should never be `NULL`. - * - * The corresponding function can return `NULL` to indicate that the - * PostScript name is not available. - * - * The name is owned by the face and will be destroyed with it. - */ - -#define FT_SERVICE_ID_POSTSCRIPT_FONT_NAME "postscript-font-name" - - - typedef const char* - (*FT_PsName_GetFunc)( FT_Face face ); - - - FT_DEFINE_SERVICE( PsFontName ) - { - FT_PsName_GetFunc get_ps_font_name; - }; - - -#define FT_DEFINE_SERVICE_PSFONTNAMEREC( class_, get_ps_font_name_ ) \ - static const FT_Service_PsFontNameRec class_ = \ - { \ - get_ps_font_name_ \ - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVPOSTNM_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svprop.h b/FreeType/include/freetype/internal/services/svprop.h deleted file mode 100644 index e48d015..0000000 --- a/FreeType/include/freetype/internal/services/svprop.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** - * - * svprop.h - * - * The FreeType property service (specification). - * - * Copyright (C) 2012-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVPROP_H_ -#define SVPROP_H_ - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_PROPERTIES "properties" - - - typedef FT_Error - (*FT_Properties_SetFunc)( FT_Module module, - const char* property_name, - const void* value, - FT_Bool value_is_string ); - - typedef FT_Error - (*FT_Properties_GetFunc)( FT_Module module, - const char* property_name, - void* value ); - - - FT_DEFINE_SERVICE( Properties ) - { - FT_Properties_SetFunc set_property; - FT_Properties_GetFunc get_property; - }; - - -#define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \ - set_property_, \ - get_property_ ) \ - static const FT_Service_PropertiesRec class_ = \ - { \ - set_property_, \ - get_property_ \ - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVPROP_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svpscmap.h b/FreeType/include/freetype/internal/services/svpscmap.h deleted file mode 100644 index dfac3ba..0000000 --- a/FreeType/include/freetype/internal/services/svpscmap.h +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** - * - * svpscmap.h - * - * The FreeType PostScript charmap service (specification). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVPSCMAP_H_ -#define SVPSCMAP_H_ - -#include FT_INTERNAL_OBJECTS_H - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_POSTSCRIPT_CMAPS "postscript-cmaps" - - - /* - * Adobe glyph name to unicode value. - */ - typedef FT_UInt32 - (*PS_Unicode_ValueFunc)( const char* glyph_name ); - - /* - * Macintosh name id to glyph name. `NULL` if invalid index. - */ - typedef const char* - (*PS_Macintosh_NameFunc)( FT_UInt name_index ); - - /* - * Adobe standard string ID to glyph name. `NULL` if invalid index. - */ - typedef const char* - (*PS_Adobe_Std_StringsFunc)( FT_UInt string_index ); - - - /* - * Simple unicode -> glyph index charmap built from font glyph names table. - */ - typedef struct PS_UniMap_ - { - FT_UInt32 unicode; /* bit 31 set: is glyph variant */ - FT_UInt glyph_index; - - } PS_UniMap; - - - typedef struct PS_UnicodesRec_* PS_Unicodes; - - typedef struct PS_UnicodesRec_ - { - FT_CMapRec cmap; - FT_UInt num_maps; - PS_UniMap* maps; - - } PS_UnicodesRec; - - - /* - * A function which returns a glyph name for a given index. Returns - * `NULL` if invalid index. - */ - typedef const char* - (*PS_GetGlyphNameFunc)( FT_Pointer data, - FT_UInt string_index ); - - /* - * A function used to release the glyph name returned by - * PS_GetGlyphNameFunc, when needed - */ - typedef void - (*PS_FreeGlyphNameFunc)( FT_Pointer data, - const char* name ); - - typedef FT_Error - (*PS_Unicodes_InitFunc)( FT_Memory memory, - PS_Unicodes unicodes, - FT_UInt num_glyphs, - PS_GetGlyphNameFunc get_glyph_name, - PS_FreeGlyphNameFunc free_glyph_name, - FT_Pointer glyph_data ); - - typedef FT_UInt - (*PS_Unicodes_CharIndexFunc)( PS_Unicodes unicodes, - FT_UInt32 unicode ); - - typedef FT_UInt32 - (*PS_Unicodes_CharNextFunc)( PS_Unicodes unicodes, - FT_UInt32 *unicode ); - - - FT_DEFINE_SERVICE( PsCMaps ) - { - PS_Unicode_ValueFunc unicode_value; - - PS_Unicodes_InitFunc unicodes_init; - PS_Unicodes_CharIndexFunc unicodes_char_index; - PS_Unicodes_CharNextFunc unicodes_char_next; - - PS_Macintosh_NameFunc macintosh_name; - PS_Adobe_Std_StringsFunc adobe_std_strings; - const unsigned short* adobe_std_encoding; - const unsigned short* adobe_expert_encoding; - }; - - -#define FT_DEFINE_SERVICE_PSCMAPSREC( class_, \ - unicode_value_, \ - unicodes_init_, \ - unicodes_char_index_, \ - unicodes_char_next_, \ - macintosh_name_, \ - adobe_std_strings_, \ - adobe_std_encoding_, \ - adobe_expert_encoding_ ) \ - static const FT_Service_PsCMapsRec class_ = \ - { \ - unicode_value_, unicodes_init_, \ - unicodes_char_index_, unicodes_char_next_, macintosh_name_, \ - adobe_std_strings_, adobe_std_encoding_, adobe_expert_encoding_ \ - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVPSCMAP_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svpsinfo.h b/FreeType/include/freetype/internal/services/svpsinfo.h deleted file mode 100644 index fb4e0e3..0000000 --- a/FreeType/include/freetype/internal/services/svpsinfo.h +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** - * - * svpsinfo.h - * - * The FreeType PostScript info service (specification). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVPSINFO_H_ -#define SVPSINFO_H_ - -#include FT_INTERNAL_SERVICE_H -#include FT_INTERNAL_TYPE1_TYPES_H - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_POSTSCRIPT_INFO "postscript-info" - - - typedef FT_Error - (*PS_GetFontInfoFunc)( FT_Face face, - PS_FontInfoRec* afont_info ); - - typedef FT_Error - (*PS_GetFontExtraFunc)( FT_Face face, - PS_FontExtraRec* afont_extra ); - - typedef FT_Int - (*PS_HasGlyphNamesFunc)( FT_Face face ); - - typedef FT_Error - (*PS_GetFontPrivateFunc)( FT_Face face, - PS_PrivateRec* afont_private ); - - typedef FT_Long - (*PS_GetFontValueFunc)( FT_Face face, - PS_Dict_Keys key, - FT_UInt idx, - void *value, - FT_Long value_len ); - - - FT_DEFINE_SERVICE( PsInfo ) - { - PS_GetFontInfoFunc ps_get_font_info; - PS_GetFontExtraFunc ps_get_font_extra; - PS_HasGlyphNamesFunc ps_has_glyph_names; - PS_GetFontPrivateFunc ps_get_font_private; - PS_GetFontValueFunc ps_get_font_value; - }; - - -#define FT_DEFINE_SERVICE_PSINFOREC( class_, \ - get_font_info_, \ - ps_get_font_extra_, \ - has_glyph_names_, \ - get_font_private_, \ - get_font_value_ ) \ - static const FT_Service_PsInfoRec class_ = \ - { \ - get_font_info_, ps_get_font_extra_, has_glyph_names_, \ - get_font_private_, get_font_value_ \ - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVPSINFO_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svsfnt.h b/FreeType/include/freetype/internal/services/svsfnt.h deleted file mode 100644 index 464aa20..0000000 --- a/FreeType/include/freetype/internal/services/svsfnt.h +++ /dev/null @@ -1,88 +0,0 @@ -/**************************************************************************** - * - * svsfnt.h - * - * The FreeType SFNT table loading service (specification). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVSFNT_H_ -#define SVSFNT_H_ - -#include FT_INTERNAL_SERVICE_H -#include FT_TRUETYPE_TABLES_H - - -FT_BEGIN_HEADER - - - /* - * SFNT table loading service. - */ - -#define FT_SERVICE_ID_SFNT_TABLE "sfnt-table" - - - /* - * Used to implement FT_Load_Sfnt_Table(). - */ - typedef FT_Error - (*FT_SFNT_TableLoadFunc)( FT_Face face, - FT_ULong tag, - FT_Long offset, - FT_Byte* buffer, - FT_ULong* length ); - - /* - * Used to implement FT_Get_Sfnt_Table(). - */ - typedef void* - (*FT_SFNT_TableGetFunc)( FT_Face face, - FT_Sfnt_Tag tag ); - - - /* - * Used to implement FT_Sfnt_Table_Info(). - */ - typedef FT_Error - (*FT_SFNT_TableInfoFunc)( FT_Face face, - FT_UInt idx, - FT_ULong *tag, - FT_ULong *offset, - FT_ULong *length ); - - - FT_DEFINE_SERVICE( SFNT_Table ) - { - FT_SFNT_TableLoadFunc load_table; - FT_SFNT_TableGetFunc get_table; - FT_SFNT_TableInfoFunc table_info; - }; - - -#define FT_DEFINE_SERVICE_SFNT_TABLEREC( class_, load_, get_, info_ ) \ - static const FT_Service_SFNT_TableRec class_ = \ - { \ - load_, get_, info_ \ - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVSFNT_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svttcmap.h b/FreeType/include/freetype/internal/services/svttcmap.h deleted file mode 100644 index 0fcb813..0000000 --- a/FreeType/include/freetype/internal/services/svttcmap.h +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** - * - * svttcmap.h - * - * The FreeType TrueType/sfnt cmap extra information service. - * - * Copyright (C) 2003-2019 by - * Masatake YAMATO, Redhat K.K., - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - -/* Development of this service is support of - Information-technology Promotion Agency, Japan. */ - -#ifndef SVTTCMAP_H_ -#define SVTTCMAP_H_ - -#include FT_INTERNAL_SERVICE_H -#include FT_TRUETYPE_TABLES_H - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_TT_CMAP "tt-cmaps" - - - /************************************************************************** - * - * @struct: - * TT_CMapInfo - * - * @description: - * A structure used to store TrueType/sfnt specific cmap information - * which is not covered by the generic @FT_CharMap structure. This - * structure can be accessed with the @FT_Get_TT_CMap_Info function. - * - * @fields: - * language :: - * The language ID used in Mac fonts. Definitions of values are in - * `ttnameid.h`. - * - * format :: - * The cmap format. OpenType 1.6 defines the formats 0 (byte encoding - * table), 2~(high-byte mapping through table), 4~(segment mapping to - * delta values), 6~(trimmed table mapping), 8~(mixed 16-bit and 32-bit - * coverage), 10~(trimmed array), 12~(segmented coverage), 13~(last - * resort font), and 14 (Unicode Variation Sequences). - */ - typedef struct TT_CMapInfo_ - { - FT_ULong language; - FT_Long format; - - } TT_CMapInfo; - - - typedef FT_Error - (*TT_CMap_Info_GetFunc)( FT_CharMap charmap, - TT_CMapInfo *cmap_info ); - - - FT_DEFINE_SERVICE( TTCMaps ) - { - TT_CMap_Info_GetFunc get_cmap_info; - }; - - -#define FT_DEFINE_SERVICE_TTCMAPSREC( class_, get_cmap_info_ ) \ - static const FT_Service_TTCMapsRec class_ = \ - { \ - get_cmap_info_ \ - }; - - /* */ - - -FT_END_HEADER - -#endif /* SVTTCMAP_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svtteng.h b/FreeType/include/freetype/internal/services/svtteng.h deleted file mode 100644 index a852f5c..0000000 --- a/FreeType/include/freetype/internal/services/svtteng.h +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************************** - * - * svtteng.h - * - * The FreeType TrueType engine query service (specification). - * - * Copyright (C) 2006-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVTTENG_H_ -#define SVTTENG_H_ - -#include FT_INTERNAL_SERVICE_H -#include FT_MODULE_H - - -FT_BEGIN_HEADER - - - /* - * SFNT table loading service. - */ - -#define FT_SERVICE_ID_TRUETYPE_ENGINE "truetype-engine" - - /* - * Used to implement FT_Get_TrueType_Engine_Type - */ - - FT_DEFINE_SERVICE( TrueTypeEngine ) - { - FT_TrueTypeEngineType engine_type; - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVTTENG_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svttglyf.h b/FreeType/include/freetype/internal/services/svttglyf.h deleted file mode 100644 index c879877..0000000 --- a/FreeType/include/freetype/internal/services/svttglyf.h +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** - * - * svttglyf.h - * - * The FreeType TrueType glyph service. - * - * Copyright (C) 2007-2019 by - * David Turner. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - -#ifndef SVTTGLYF_H_ -#define SVTTGLYF_H_ - -#include FT_INTERNAL_SERVICE_H -#include FT_TRUETYPE_TABLES_H - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_TT_GLYF "tt-glyf" - - - typedef FT_ULong - (*TT_Glyf_GetLocationFunc)( FT_Face face, - FT_UInt gindex, - FT_ULong *psize ); - - FT_DEFINE_SERVICE( TTGlyf ) - { - TT_Glyf_GetLocationFunc get_location; - }; - - -#define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ ) \ - static const FT_Service_TTGlyfRec class_ = \ - { \ - get_location_ \ - }; - - /* */ - - -FT_END_HEADER - -#endif /* SVTTGLYF_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/services/svwinfnt.h b/FreeType/include/freetype/internal/services/svwinfnt.h deleted file mode 100644 index 38ee020..0000000 --- a/FreeType/include/freetype/internal/services/svwinfnt.h +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** - * - * svwinfnt.h - * - * The FreeType Windows FNT/FONT service (specification). - * - * Copyright (C) 2003-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SVWINFNT_H_ -#define SVWINFNT_H_ - -#include FT_INTERNAL_SERVICE_H -#include FT_WINFONTS_H - - -FT_BEGIN_HEADER - - -#define FT_SERVICE_ID_WINFNT "winfonts" - - typedef FT_Error - (*FT_WinFnt_GetHeaderFunc)( FT_Face face, - FT_WinFNT_HeaderRec *aheader ); - - - FT_DEFINE_SERVICE( WinFnt ) - { - FT_WinFnt_GetHeaderFunc get_header; - }; - - /* */ - - -FT_END_HEADER - - -#endif /* SVWINFNT_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/sfnt.h b/FreeType/include/freetype/internal/sfnt.h deleted file mode 100644 index 225f40d..0000000 --- a/FreeType/include/freetype/internal/sfnt.h +++ /dev/null @@ -1,875 +0,0 @@ -/**************************************************************************** - * - * sfnt.h - * - * High-level 'sfnt' driver interface (specification). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef SFNT_H_ -#define SFNT_H_ - - -#include -#include FT_INTERNAL_DRIVER_H -#include FT_INTERNAL_TRUETYPE_TYPES_H - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @functype: - * TT_Init_Face_Func - * - * @description: - * First part of the SFNT face object initialization. This finds the - * face in a SFNT file or collection, and load its format tag in - * face->format_tag. - * - * @input: - * stream :: - * The input stream. - * - * face :: - * A handle to the target face object. - * - * face_index :: - * The index of the TrueType font, if we are opening a collection, in - * bits 0-15. The numbered instance index~+~1 of a GX (sub)font, if - * applicable, in bits 16-30. - * - * num_params :: - * The number of additional parameters. - * - * params :: - * Optional additional parameters. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * The stream cursor must be at the font file's origin. - * - * This function recognizes fonts embedded in a 'TrueType collection'. - * - * Once the format tag has been validated by the font driver, it should - * then call the TT_Load_Face_Func() callback to read the rest of the - * SFNT tables in the object. - */ - typedef FT_Error - (*TT_Init_Face_Func)( FT_Stream stream, - TT_Face face, - FT_Int face_index, - FT_Int num_params, - FT_Parameter* params ); - - - /************************************************************************** - * - * @functype: - * TT_Load_Face_Func - * - * @description: - * Second part of the SFNT face object initialization. This loads the - * common SFNT tables (head, OS/2, maxp, metrics, etc.) in the face - * object. - * - * @input: - * stream :: - * The input stream. - * - * face :: - * A handle to the target face object. - * - * face_index :: - * The index of the TrueType font, if we are opening a collection, in - * bits 0-15. The numbered instance index~+~1 of a GX (sub)font, if - * applicable, in bits 16-30. - * - * num_params :: - * The number of additional parameters. - * - * params :: - * Optional additional parameters. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * This function must be called after TT_Init_Face_Func(). - */ - typedef FT_Error - (*TT_Load_Face_Func)( FT_Stream stream, - TT_Face face, - FT_Int face_index, - FT_Int num_params, - FT_Parameter* params ); - - - /************************************************************************** - * - * @functype: - * TT_Done_Face_Func - * - * @description: - * A callback used to delete the common SFNT data from a face. - * - * @input: - * face :: - * A handle to the target face object. - * - * @note: - * This function does NOT destroy the face object. - */ - typedef void - (*TT_Done_Face_Func)( TT_Face face ); - - - /************************************************************************** - * - * @functype: - * TT_Load_Any_Func - * - * @description: - * Load any font table into client memory. - * - * @input: - * face :: - * The face object to look for. - * - * tag :: - * The tag of table to load. Use the value 0 if you want to access the - * whole font file, else set this parameter to a valid TrueType table - * tag that you can forge with the MAKE_TT_TAG macro. - * - * offset :: - * The starting offset in the table (or the file if tag == 0). - * - * length :: - * The address of the decision variable: - * - * If `length == NULL`: Loads the whole table. Returns an error if - * 'offset' == 0! - * - * If `*length == 0`: Exits immediately; returning the length of the - * given table or of the font file, depending on the value of 'tag'. - * - * If `*length != 0`: Loads the next 'length' bytes of table or font, - * starting at offset 'offset' (in table or font too). - * - * @output: - * buffer :: - * The address of target buffer. - * - * @return: - * TrueType error code. 0 means success. - */ - typedef FT_Error - (*TT_Load_Any_Func)( TT_Face face, - FT_ULong tag, - FT_Long offset, - FT_Byte *buffer, - FT_ULong* length ); - - - /************************************************************************** - * - * @functype: - * TT_Find_SBit_Image_Func - * - * @description: - * Check whether an embedded bitmap (an 'sbit') exists for a given glyph, - * at a given strike. - * - * @input: - * face :: - * The target face object. - * - * glyph_index :: - * The glyph index. - * - * strike_index :: - * The current strike index. - * - * @output: - * arange :: - * The SBit range containing the glyph index. - * - * astrike :: - * The SBit strike containing the glyph index. - * - * aglyph_offset :: - * The offset of the glyph data in 'EBDT' table. - * - * @return: - * FreeType error code. 0 means success. Returns - * SFNT_Err_Invalid_Argument if no sbit exists for the requested glyph. - */ - typedef FT_Error - (*TT_Find_SBit_Image_Func)( TT_Face face, - FT_UInt glyph_index, - FT_ULong strike_index, - TT_SBit_Range *arange, - TT_SBit_Strike *astrike, - FT_ULong *aglyph_offset ); - - - /************************************************************************** - * - * @functype: - * TT_Load_SBit_Metrics_Func - * - * @description: - * Get the big metrics for a given embedded bitmap. - * - * @input: - * stream :: - * The input stream. - * - * range :: - * The SBit range containing the glyph. - * - * @output: - * big_metrics :: - * A big SBit metrics structure for the glyph. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * The stream cursor must be positioned at the glyph's offset within the - * 'EBDT' table before the call. - * - * If the image format uses variable metrics, the stream cursor is - * positioned just after the metrics header in the 'EBDT' table on - * function exit. - */ - typedef FT_Error - (*TT_Load_SBit_Metrics_Func)( FT_Stream stream, - TT_SBit_Range range, - TT_SBit_Metrics metrics ); - - - /************************************************************************** - * - * @functype: - * TT_Load_SBit_Image_Func - * - * @description: - * Load a given glyph sbit image from the font resource. This also - * returns its metrics. - * - * @input: - * face :: - * The target face object. - * - * strike_index :: - * The strike index. - * - * glyph_index :: - * The current glyph index. - * - * load_flags :: - * The current load flags. - * - * stream :: - * The input stream. - * - * @output: - * amap :: - * The target pixmap. - * - * ametrics :: - * A big sbit metrics structure for the glyph image. - * - * @return: - * FreeType error code. 0 means success. Returns an error if no glyph - * sbit exists for the index. - * - * @note: - * The `map.buffer` field is always freed before the glyph is loaded. - */ - typedef FT_Error - (*TT_Load_SBit_Image_Func)( TT_Face face, - FT_ULong strike_index, - FT_UInt glyph_index, - FT_UInt load_flags, - FT_Stream stream, - FT_Bitmap *amap, - TT_SBit_MetricsRec *ametrics ); - - - /************************************************************************** - * - * @functype: - * TT_Set_SBit_Strike_Func - * - * @description: - * Select an sbit strike for a given size request. - * - * @input: - * face :: - * The target face object. - * - * req :: - * The size request. - * - * @output: - * astrike_index :: - * The index of the sbit strike. - * - * @return: - * FreeType error code. 0 means success. Returns an error if no sbit - * strike exists for the selected ppem values. - */ - typedef FT_Error - (*TT_Set_SBit_Strike_Func)( TT_Face face, - FT_Size_Request req, - FT_ULong* astrike_index ); - - - /************************************************************************** - * - * @functype: - * TT_Load_Strike_Metrics_Func - * - * @description: - * Load the metrics of a given strike. - * - * @input: - * face :: - * The target face object. - * - * strike_index :: - * The strike index. - * - * @output: - * metrics :: - * the metrics of the strike. - * - * @return: - * FreeType error code. 0 means success. Returns an error if no such - * sbit strike exists. - */ - typedef FT_Error - (*TT_Load_Strike_Metrics_Func)( TT_Face face, - FT_ULong strike_index, - FT_Size_Metrics* metrics ); - - - /************************************************************************** - * - * @functype: - * TT_Get_PS_Name_Func - * - * @description: - * Get the PostScript glyph name of a glyph. - * - * @input: - * idx :: - * The glyph index. - * - * PSname :: - * The address of a string pointer. Will be `NULL` in case of error, - * otherwise it is a pointer to the glyph name. - * - * You must not modify the returned string! - * - * @output: - * FreeType error code. 0 means success. - */ - typedef FT_Error - (*TT_Get_PS_Name_Func)( TT_Face face, - FT_UInt idx, - FT_String** PSname ); - - - /************************************************************************** - * - * @functype: - * TT_Load_Metrics_Func - * - * @description: - * Load a metrics table, which is a table with a horizontal and a - * vertical version. - * - * @input: - * face :: - * A handle to the target face object. - * - * stream :: - * The input stream. - * - * vertical :: - * A boolean flag. If set, load the vertical one. - * - * @return: - * FreeType error code. 0 means success. - */ - typedef FT_Error - (*TT_Load_Metrics_Func)( TT_Face face, - FT_Stream stream, - FT_Bool vertical ); - - - /************************************************************************** - * - * @functype: - * TT_Get_Metrics_Func - * - * @description: - * Load the horizontal or vertical header in a face object. - * - * @input: - * face :: - * A handle to the target face object. - * - * vertical :: - * A boolean flag. If set, load vertical metrics. - * - * gindex :: - * The glyph index. - * - * @output: - * abearing :: - * The horizontal (or vertical) bearing. Set to zero in case of error. - * - * aadvance :: - * The horizontal (or vertical) advance. Set to zero in case of error. - */ - typedef void - (*TT_Get_Metrics_Func)( TT_Face face, - FT_Bool vertical, - FT_UInt gindex, - FT_Short* abearing, - FT_UShort* aadvance ); - - - /************************************************************************** - * - * @functype: - * TT_Set_Palette_Func - * - * @description: - * Load the colors into `face->palette` for a given palette index. - * - * @input: - * face :: - * The target face object. - * - * idx :: - * The palette index. - * - * @return: - * FreeType error code. 0 means success. - */ - typedef FT_Error - (*TT_Set_Palette_Func)( TT_Face face, - FT_UInt idx ); - - - /************************************************************************** - * - * @functype: - * TT_Get_Colr_Layer_Func - * - * @description: - * Iteratively get the color layer data of a given glyph index. - * - * @input: - * face :: - * The target face object. - * - * base_glyph :: - * The glyph index the colored glyph layers are associated with. - * - * @inout: - * iterator :: - * An @FT_LayerIterator object. For the first call you should set - * `iterator->p` to `NULL`. For all following calls, simply use the - * same object again. - * - * @output: - * aglyph_index :: - * The glyph index of the current layer. - * - * acolor_index :: - * The color index into the font face's color palette of the current - * layer. The value 0xFFFF is special; it doesn't reference a palette - * entry but indicates that the text foreground color should be used - * instead (to be set up by the application outside of FreeType). - * - * @return: - * Value~1 if everything is OK. If there are no more layers (or if there - * are no layers at all), value~0 gets returned. In case of an error, - * value~0 is returned also. - */ - typedef FT_Bool - (*TT_Get_Colr_Layer_Func)( TT_Face face, - FT_UInt base_glyph, - FT_UInt *aglyph_index, - FT_UInt *acolor_index, - FT_LayerIterator* iterator ); - - - /************************************************************************** - * - * @functype: - * TT_Blend_Colr_Func - * - * @description: - * Blend the bitmap in `new_glyph` into `base_glyph` using the color - * specified by `color_index`. If `color_index` is 0xFFFF, use - * `face->foreground_color` if `face->have_foreground_color` is set. - * Otherwise check `face->palette_data.palette_flags`: If present and - * @FT_PALETTE_FOR_DARK_BACKGROUND is set, use BGRA value 0xFFFFFFFF - * (white opaque). Otherwise use BGRA value 0x000000FF (black opaque). - * - * @input: - * face :: - * The target face object. - * - * color_index :: - * Color index from the COLR table. - * - * base_glyph :: - * Slot for bitmap to be merged into. The underlying bitmap may get - * reallocated. - * - * new_glyph :: - * Slot to be incooperated into `base_glyph`. - * - * @return: - * FreeType error code. 0 means success. Returns an error if - * color_index is invalid or reallocation fails. - */ - typedef FT_Error - (*TT_Blend_Colr_Func)( TT_Face face, - FT_UInt color_index, - FT_GlyphSlot base_glyph, - FT_GlyphSlot new_glyph ); - - - /************************************************************************** - * - * @functype: - * TT_Get_Name_Func - * - * @description: - * From the 'name' table, return a given ENGLISH name record in ASCII. - * - * @input: - * face :: - * A handle to the source face object. - * - * nameid :: - * The name id of the name record to return. - * - * @inout: - * name :: - * The address of an allocated string pointer. `NULL` if no name is - * present. - * - * @return: - * FreeType error code. 0 means success. - */ - typedef FT_Error - (*TT_Get_Name_Func)( TT_Face face, - FT_UShort nameid, - FT_String** name ); - - - /************************************************************************** - * - * @functype: - * TT_Get_Name_ID_Func - * - * @description: - * Search whether an ENGLISH version for a given name ID is in the 'name' - * table. - * - * @input: - * face :: - * A handle to the source face object. - * - * nameid :: - * The name id of the name record to return. - * - * @output: - * win :: - * If non-negative, an index into the 'name' table with the - * corresponding (3,1) or (3,0) Windows entry. - * - * apple :: - * If non-negative, an index into the 'name' table with the - * corresponding (1,0) Apple entry. - * - * @return: - * 1 if there is either a win or apple entry (or both), 0 otheriwse. - */ - typedef FT_Bool - (*TT_Get_Name_ID_Func)( TT_Face face, - FT_UShort nameid, - FT_Int *win, - FT_Int *apple ); - - - /************************************************************************** - * - * @functype: - * TT_Load_Table_Func - * - * @description: - * Load a given TrueType table. - * - * @input: - * face :: - * A handle to the target face object. - * - * stream :: - * The input stream. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * The function uses `face->goto_table` to seek the stream to the start - * of the table, except while loading the font directory. - */ - typedef FT_Error - (*TT_Load_Table_Func)( TT_Face face, - FT_Stream stream ); - - - /************************************************************************** - * - * @functype: - * TT_Free_Table_Func - * - * @description: - * Free a given TrueType table. - * - * @input: - * face :: - * A handle to the target face object. - */ - typedef void - (*TT_Free_Table_Func)( TT_Face face ); - - - /* - * @functype: - * TT_Face_GetKerningFunc - * - * @description: - * Return the horizontal kerning value between two glyphs. - * - * @input: - * face :: - * A handle to the source face object. - * - * left_glyph :: - * The left glyph index. - * - * right_glyph :: - * The right glyph index. - * - * @return: - * The kerning value in font units. - */ - typedef FT_Int - (*TT_Face_GetKerningFunc)( TT_Face face, - FT_UInt left_glyph, - FT_UInt right_glyph ); - - - /************************************************************************** - * - * @struct: - * SFNT_Interface - * - * @description: - * This structure holds pointers to the functions used to load and free - * the basic tables that are required in a 'sfnt' font file. - * - * @fields: - * Check the various xxx_Func() descriptions for details. - */ - typedef struct SFNT_Interface_ - { - TT_Loader_GotoTableFunc goto_table; - - TT_Init_Face_Func init_face; - TT_Load_Face_Func load_face; - TT_Done_Face_Func done_face; - FT_Module_Requester get_interface; - - TT_Load_Any_Func load_any; - - /* these functions are called by `load_face' but they can also */ - /* be called from external modules, if there is a need to do so */ - TT_Load_Table_Func load_head; - TT_Load_Metrics_Func load_hhea; - TT_Load_Table_Func load_cmap; - TT_Load_Table_Func load_maxp; - TT_Load_Table_Func load_os2; - TT_Load_Table_Func load_post; - - TT_Load_Table_Func load_name; - TT_Free_Table_Func free_name; - - /* this field was called `load_kerning' up to version 2.1.10 */ - TT_Load_Table_Func load_kern; - - TT_Load_Table_Func load_gasp; - TT_Load_Table_Func load_pclt; - - /* see `ttload.h'; this field was called `load_bitmap_header' up to */ - /* version 2.1.10 */ - TT_Load_Table_Func load_bhed; - - TT_Load_SBit_Image_Func load_sbit_image; - - /* see `ttpost.h' */ - TT_Get_PS_Name_Func get_psname; - TT_Free_Table_Func free_psnames; - - /* starting here, the structure differs from version 2.1.7 */ - - /* this field was introduced in version 2.1.8, named `get_psname' */ - TT_Face_GetKerningFunc get_kerning; - - /* new elements introduced after version 2.1.10 */ - - /* load the font directory, i.e., the offset table and */ - /* the table directory */ - TT_Load_Table_Func load_font_dir; - TT_Load_Metrics_Func load_hmtx; - - TT_Load_Table_Func load_eblc; - TT_Free_Table_Func free_eblc; - - TT_Set_SBit_Strike_Func set_sbit_strike; - TT_Load_Strike_Metrics_Func load_strike_metrics; - - TT_Load_Table_Func load_cpal; - TT_Load_Table_Func load_colr; - TT_Free_Table_Func free_cpal; - TT_Free_Table_Func free_colr; - TT_Set_Palette_Func set_palette; - TT_Get_Colr_Layer_Func get_colr_layer; - TT_Blend_Colr_Func colr_blend; - - TT_Get_Metrics_Func get_metrics; - - TT_Get_Name_Func get_name; - TT_Get_Name_ID_Func get_name_id; - - } SFNT_Interface; - - - /* transitional */ - typedef SFNT_Interface* SFNT_Service; - - -#define FT_DEFINE_SFNT_INTERFACE( \ - class_, \ - goto_table_, \ - init_face_, \ - load_face_, \ - done_face_, \ - get_interface_, \ - load_any_, \ - load_head_, \ - load_hhea_, \ - load_cmap_, \ - load_maxp_, \ - load_os2_, \ - load_post_, \ - load_name_, \ - free_name_, \ - load_kern_, \ - load_gasp_, \ - load_pclt_, \ - load_bhed_, \ - load_sbit_image_, \ - get_psname_, \ - free_psnames_, \ - get_kerning_, \ - load_font_dir_, \ - load_hmtx_, \ - load_eblc_, \ - free_eblc_, \ - set_sbit_strike_, \ - load_strike_metrics_, \ - load_cpal_, \ - load_colr_, \ - free_cpal_, \ - free_colr_, \ - set_palette_, \ - get_colr_layer_, \ - colr_blend_, \ - get_metrics_, \ - get_name_, \ - get_name_id_ ) \ - static const SFNT_Interface class_ = \ - { \ - goto_table_, \ - init_face_, \ - load_face_, \ - done_face_, \ - get_interface_, \ - load_any_, \ - load_head_, \ - load_hhea_, \ - load_cmap_, \ - load_maxp_, \ - load_os2_, \ - load_post_, \ - load_name_, \ - free_name_, \ - load_kern_, \ - load_gasp_, \ - load_pclt_, \ - load_bhed_, \ - load_sbit_image_, \ - get_psname_, \ - free_psnames_, \ - get_kerning_, \ - load_font_dir_, \ - load_hmtx_, \ - load_eblc_, \ - free_eblc_, \ - set_sbit_strike_, \ - load_strike_metrics_, \ - load_cpal_, \ - load_colr_, \ - free_cpal_, \ - free_colr_, \ - set_palette_, \ - get_colr_layer_, \ - colr_blend_, \ - get_metrics_, \ - get_name_, \ - get_name_id_ \ - }; - - -FT_END_HEADER - -#endif /* SFNT_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/t1types.h b/FreeType/include/freetype/internal/t1types.h deleted file mode 100644 index e197a1a..0000000 --- a/FreeType/include/freetype/internal/t1types.h +++ /dev/null @@ -1,260 +0,0 @@ -/**************************************************************************** - * - * t1types.h - * - * Basic Type1/Type2 type definitions and interface (specification - * only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef T1TYPES_H_ -#define T1TYPES_H_ - - -#include -#include FT_TYPE1_TABLES_H -#include FT_INTERNAL_POSTSCRIPT_HINTS_H -#include FT_INTERNAL_SERVICE_H -#include FT_INTERNAL_HASH_H -#include FT_SERVICE_POSTSCRIPT_CMAPS_H - - -FT_BEGIN_HEADER - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** REQUIRED TYPE1/TYPE2 TABLES DEFINITIONS ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @struct: - * T1_EncodingRec - * - * @description: - * A structure modeling a custom encoding. - * - * @fields: - * num_chars :: - * The number of character codes in the encoding. Usually 256. - * - * code_first :: - * The lowest valid character code in the encoding. - * - * code_last :: - * The highest valid character code in the encoding + 1. When equal to - * code_first there are no valid character codes. - * - * char_index :: - * An array of corresponding glyph indices. - * - * char_name :: - * An array of corresponding glyph names. - */ - typedef struct T1_EncodingRecRec_ - { - FT_Int num_chars; - FT_Int code_first; - FT_Int code_last; - - FT_UShort* char_index; - FT_String** char_name; - - } T1_EncodingRec, *T1_Encoding; - - - /* used to hold extra data of PS_FontInfoRec that - * cannot be stored in the publicly defined structure. - * - * Note these can't be blended with multiple-masters. - */ - typedef struct PS_FontExtraRec_ - { - FT_UShort fs_type; - - } PS_FontExtraRec; - - - typedef struct T1_FontRec_ - { - PS_FontInfoRec font_info; /* font info dictionary */ - PS_FontExtraRec font_extra; /* font info extra fields */ - PS_PrivateRec private_dict; /* private dictionary */ - FT_String* font_name; /* top-level dictionary */ - - T1_EncodingType encoding_type; - T1_EncodingRec encoding; - - FT_Byte* subrs_block; - FT_Byte* charstrings_block; - FT_Byte* glyph_names_block; - - FT_Int num_subrs; - FT_Byte** subrs; - FT_UInt* subrs_len; - FT_Hash subrs_hash; - - FT_Int num_glyphs; - FT_String** glyph_names; /* array of glyph names */ - FT_Byte** charstrings; /* array of glyph charstrings */ - FT_UInt* charstrings_len; - - FT_Byte paint_type; - FT_Byte font_type; - FT_Matrix font_matrix; - FT_Vector font_offset; - FT_BBox font_bbox; - FT_Long font_id; - - FT_Fixed stroke_width; - - } T1_FontRec, *T1_Font; - - - typedef struct CID_SubrsRec_ - { - FT_Int num_subrs; - FT_Byte** code; - - } CID_SubrsRec, *CID_Subrs; - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** AFM FONT INFORMATION STRUCTURES ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - typedef struct AFM_TrackKernRec_ - { - FT_Int degree; - FT_Fixed min_ptsize; - FT_Fixed min_kern; - FT_Fixed max_ptsize; - FT_Fixed max_kern; - - } AFM_TrackKernRec, *AFM_TrackKern; - - typedef struct AFM_KernPairRec_ - { - FT_UInt index1; - FT_UInt index2; - FT_Int x; - FT_Int y; - - } AFM_KernPairRec, *AFM_KernPair; - - typedef struct AFM_FontInfoRec_ - { - FT_Bool IsCIDFont; - FT_BBox FontBBox; - FT_Fixed Ascender; - FT_Fixed Descender; - AFM_TrackKern TrackKerns; /* free if non-NULL */ - FT_UInt NumTrackKern; - AFM_KernPair KernPairs; /* free if non-NULL */ - FT_UInt NumKernPair; - - } AFM_FontInfoRec, *AFM_FontInfo; - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** ORIGINAL T1_FACE CLASS DEFINITION ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - typedef struct T1_FaceRec_* T1_Face; - typedef struct CID_FaceRec_* CID_Face; - - - typedef struct T1_FaceRec_ - { - FT_FaceRec root; - T1_FontRec type1; - const void* psnames; - const void* psaux; - const void* afm_data; - FT_CharMapRec charmaprecs[2]; - FT_CharMap charmaps[2]; - - /* support for Multiple Masters fonts */ - PS_Blend blend; - - /* undocumented, optional: indices of subroutines that express */ - /* the NormalizeDesignVector and the ConvertDesignVector procedure, */ - /* respectively, as Type 2 charstrings; -1 if keywords not present */ - FT_Int ndv_idx; - FT_Int cdv_idx; - - /* undocumented, optional: has the same meaning as len_buildchar */ - /* for Type 2 fonts; manipulated by othersubrs 19, 24, and 25 */ - FT_UInt len_buildchar; - FT_Long* buildchar; - - /* since version 2.1 - interface to PostScript hinter */ - const void* pshinter; - - } T1_FaceRec; - - - typedef struct CID_FaceRec_ - { - FT_FaceRec root; - void* psnames; - void* psaux; - CID_FaceInfoRec cid; - PS_FontExtraRec font_extra; -#if 0 - void* afm_data; -#endif - CID_Subrs subrs; - - /* since version 2.1 - interface to PostScript hinter */ - void* pshinter; - - /* since version 2.1.8, but was originally positioned after `afm_data' */ - FT_Byte* binary_data; /* used if hex data has been converted */ - FT_Stream cid_stream; - - } CID_FaceRec; - - -FT_END_HEADER - -#endif /* T1TYPES_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/internal/tttypes.h b/FreeType/include/freetype/internal/tttypes.h deleted file mode 100644 index 5e9f40e..0000000 --- a/FreeType/include/freetype/internal/tttypes.h +++ /dev/null @@ -1,1854 +0,0 @@ -/**************************************************************************** - * - * tttypes.h - * - * Basic SFNT/TrueType type definitions and interface (specification - * only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef TTTYPES_H_ -#define TTTYPES_H_ - - -#include -#include FT_TRUETYPE_TABLES_H -#include FT_INTERNAL_OBJECTS_H -#include FT_COLOR_H - -#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT -#include FT_MULTIPLE_MASTERS_H -#endif - - -FT_BEGIN_HEADER - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** REQUIRED TRUETYPE/OPENTYPE TABLES DEFINITIONS ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @struct: - * TTC_HeaderRec - * - * @description: - * TrueType collection header. This table contains the offsets of the - * font headers of each distinct TrueType face in the file. - * - * @fields: - * tag :: - * Must be 'ttc~' to indicate a TrueType collection. - * - * version :: - * The version number. - * - * count :: - * The number of faces in the collection. The specification says this - * should be an unsigned long, but we use a signed long since we need - * the value -1 for specific purposes. - * - * offsets :: - * The offsets of the font headers, one per face. - */ - typedef struct TTC_HeaderRec_ - { - FT_ULong tag; - FT_Fixed version; - FT_Long count; - FT_ULong* offsets; - - } TTC_HeaderRec; - - - /************************************************************************** - * - * @struct: - * SFNT_HeaderRec - * - * @description: - * SFNT file format header. - * - * @fields: - * format_tag :: - * The font format tag. - * - * num_tables :: - * The number of tables in file. - * - * search_range :: - * Must be '16 * (max power of 2 <= num_tables)'. - * - * entry_selector :: - * Must be log2 of 'search_range / 16'. - * - * range_shift :: - * Must be 'num_tables * 16 - search_range'. - */ - typedef struct SFNT_HeaderRec_ - { - FT_ULong format_tag; - FT_UShort num_tables; - FT_UShort search_range; - FT_UShort entry_selector; - FT_UShort range_shift; - - FT_ULong offset; /* not in file */ - - } SFNT_HeaderRec, *SFNT_Header; - - - /************************************************************************** - * - * @struct: - * TT_TableRec - * - * @description: - * This structure describes a given table of a TrueType font. - * - * @fields: - * Tag :: - * A four-bytes tag describing the table. - * - * CheckSum :: - * The table checksum. This value can be ignored. - * - * Offset :: - * The offset of the table from the start of the TrueType font in its - * resource. - * - * Length :: - * The table length (in bytes). - */ - typedef struct TT_TableRec_ - { - FT_ULong Tag; /* table type */ - FT_ULong CheckSum; /* table checksum */ - FT_ULong Offset; /* table file offset */ - FT_ULong Length; /* table length */ - - } TT_TableRec, *TT_Table; - - - /************************************************************************** - * - * @struct: - * WOFF_HeaderRec - * - * @description: - * WOFF file format header. - * - * @fields: - * See - * - * https://www.w3.org/TR/WOFF/#WOFFHeader - */ - typedef struct WOFF_HeaderRec_ - { - FT_ULong signature; - FT_ULong flavor; - FT_ULong length; - FT_UShort num_tables; - FT_UShort reserved; - FT_ULong totalSfntSize; - FT_UShort majorVersion; - FT_UShort minorVersion; - FT_ULong metaOffset; - FT_ULong metaLength; - FT_ULong metaOrigLength; - FT_ULong privOffset; - FT_ULong privLength; - - } WOFF_HeaderRec, *WOFF_Header; - - - /************************************************************************** - * - * @struct: - * WOFF_TableRec - * - * @description: - * This structure describes a given table of a WOFF font. - * - * @fields: - * Tag :: - * A four-bytes tag describing the table. - * - * Offset :: - * The offset of the table from the start of the WOFF font in its - * resource. - * - * CompLength :: - * Compressed table length (in bytes). - * - * OrigLength :: - * Uncompressed table length (in bytes). - * - * CheckSum :: - * The table checksum. This value can be ignored. - * - * OrigOffset :: - * The uncompressed table file offset. This value gets computed while - * constructing the (uncompressed) SFNT header. It is not contained in - * the WOFF file. - */ - typedef struct WOFF_TableRec_ - { - FT_ULong Tag; /* table ID */ - FT_ULong Offset; /* table file offset */ - FT_ULong CompLength; /* compressed table length */ - FT_ULong OrigLength; /* uncompressed table length */ - FT_ULong CheckSum; /* uncompressed checksum */ - - FT_ULong OrigOffset; /* uncompressed table file offset */ - /* (not in the WOFF file) */ - } WOFF_TableRec, *WOFF_Table; - - - /************************************************************************** - * - * @struct: - * TT_LongMetricsRec - * - * @description: - * A structure modeling the long metrics of the 'hmtx' and 'vmtx' - * TrueType tables. The values are expressed in font units. - * - * @fields: - * advance :: - * The advance width or height for the glyph. - * - * bearing :: - * The left-side or top-side bearing for the glyph. - */ - typedef struct TT_LongMetricsRec_ - { - FT_UShort advance; - FT_Short bearing; - - } TT_LongMetricsRec, *TT_LongMetrics; - - - /************************************************************************** - * - * @type: - * TT_ShortMetrics - * - * @description: - * A simple type to model the short metrics of the 'hmtx' and 'vmtx' - * tables. - */ - typedef FT_Short TT_ShortMetrics; - - - /************************************************************************** - * - * @struct: - * TT_NameRec - * - * @description: - * A structure modeling TrueType name records. Name records are used to - * store important strings like family name, style name, copyright, - * etc. in _localized_ versions (i.e., language, encoding, etc). - * - * @fields: - * platformID :: - * The ID of the name's encoding platform. - * - * encodingID :: - * The platform-specific ID for the name's encoding. - * - * languageID :: - * The platform-specific ID for the name's language. - * - * nameID :: - * The ID specifying what kind of name this is. - * - * stringLength :: - * The length of the string in bytes. - * - * stringOffset :: - * The offset to the string in the 'name' table. - * - * string :: - * A pointer to the string's bytes. Note that these are usually UTF-16 - * encoded characters. - */ - typedef struct TT_NameRec_ - { - FT_UShort platformID; - FT_UShort encodingID; - FT_UShort languageID; - FT_UShort nameID; - FT_UShort stringLength; - FT_ULong stringOffset; - - /* this last field is not defined in the spec */ - /* but used by the FreeType engine */ - - FT_Byte* string; - - } TT_NameRec, *TT_Name; - - - /************************************************************************** - * - * @struct: - * TT_LangTagRec - * - * @description: - * A structure modeling language tag records in SFNT 'name' tables, - * introduced in OpenType version 1.6. - * - * @fields: - * stringLength :: - * The length of the string in bytes. - * - * stringOffset :: - * The offset to the string in the 'name' table. - * - * string :: - * A pointer to the string's bytes. Note that these are UTF-16BE - * encoded characters. - */ - typedef struct TT_LangTagRec_ - { - FT_UShort stringLength; - FT_ULong stringOffset; - - /* this last field is not defined in the spec */ - /* but used by the FreeType engine */ - - FT_Byte* string; - - } TT_LangTagRec, *TT_LangTag; - - - /************************************************************************** - * - * @struct: - * TT_NameTableRec - * - * @description: - * A structure modeling the TrueType name table. - * - * @fields: - * format :: - * The format of the name table. - * - * numNameRecords :: - * The number of names in table. - * - * storageOffset :: - * The offset of the name table in the 'name' TrueType table. - * - * names :: - * An array of name records. - * - * numLangTagRecords :: - * The number of language tags in table. - * - * langTags :: - * An array of language tag records. - * - * stream :: - * The file's input stream. - */ - typedef struct TT_NameTableRec_ - { - FT_UShort format; - FT_UInt numNameRecords; - FT_UInt storageOffset; - TT_NameRec* names; - FT_UInt numLangTagRecords; - TT_LangTagRec* langTags; - FT_Stream stream; - - } TT_NameTableRec, *TT_NameTable; - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** OPTIONAL TRUETYPE/OPENTYPE TABLES DEFINITIONS ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @struct: - * TT_GaspRangeRec - * - * @description: - * A tiny structure used to model a gasp range according to the TrueType - * specification. - * - * @fields: - * maxPPEM :: - * The maximum ppem value to which `gaspFlag` applies. - * - * gaspFlag :: - * A flag describing the grid-fitting and anti-aliasing modes to be - * used. - */ - typedef struct TT_GaspRangeRec_ - { - FT_UShort maxPPEM; - FT_UShort gaspFlag; - - } TT_GaspRangeRec, *TT_GaspRange; - - -#define TT_GASP_GRIDFIT 0x01 -#define TT_GASP_DOGRAY 0x02 - - - /************************************************************************** - * - * @struct: - * TT_GaspRec - * - * @description: - * A structure modeling the TrueType 'gasp' table used to specify - * grid-fitting and anti-aliasing behaviour. - * - * @fields: - * version :: - * The version number. - * - * numRanges :: - * The number of gasp ranges in table. - * - * gaspRanges :: - * An array of gasp ranges. - */ - typedef struct TT_Gasp_ - { - FT_UShort version; - FT_UShort numRanges; - TT_GaspRange gaspRanges; - - } TT_GaspRec; - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** EMBEDDED BITMAPS SUPPORT ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @struct: - * TT_SBit_MetricsRec - * - * @description: - * A structure used to hold the big metrics of a given glyph bitmap in a - * TrueType or OpenType font. These are usually found in the 'EBDT' - * (Microsoft) or 'bloc' (Apple) table. - * - * @fields: - * height :: - * The glyph height in pixels. - * - * width :: - * The glyph width in pixels. - * - * horiBearingX :: - * The horizontal left bearing. - * - * horiBearingY :: - * The horizontal top bearing. - * - * horiAdvance :: - * The horizontal advance. - * - * vertBearingX :: - * The vertical left bearing. - * - * vertBearingY :: - * The vertical top bearing. - * - * vertAdvance :: - * The vertical advance. - */ - typedef struct TT_SBit_MetricsRec_ - { - FT_UShort height; - FT_UShort width; - - FT_Short horiBearingX; - FT_Short horiBearingY; - FT_UShort horiAdvance; - - FT_Short vertBearingX; - FT_Short vertBearingY; - FT_UShort vertAdvance; - - } TT_SBit_MetricsRec, *TT_SBit_Metrics; - - - /************************************************************************** - * - * @struct: - * TT_SBit_SmallMetricsRec - * - * @description: - * A structure used to hold the small metrics of a given glyph bitmap in - * a TrueType or OpenType font. These are usually found in the 'EBDT' - * (Microsoft) or the 'bdat' (Apple) table. - * - * @fields: - * height :: - * The glyph height in pixels. - * - * width :: - * The glyph width in pixels. - * - * bearingX :: - * The left-side bearing. - * - * bearingY :: - * The top-side bearing. - * - * advance :: - * The advance width or height. - */ - typedef struct TT_SBit_Small_Metrics_ - { - FT_Byte height; - FT_Byte width; - - FT_Char bearingX; - FT_Char bearingY; - FT_Byte advance; - - } TT_SBit_SmallMetricsRec, *TT_SBit_SmallMetrics; - - - /************************************************************************** - * - * @struct: - * TT_SBit_LineMetricsRec - * - * @description: - * A structure used to describe the text line metrics of a given bitmap - * strike, for either a horizontal or vertical layout. - * - * @fields: - * ascender :: - * The ascender in pixels. - * - * descender :: - * The descender in pixels. - * - * max_width :: - * The maximum glyph width in pixels. - * - * caret_slope_enumerator :: - * Rise of the caret slope, typically set to 1 for non-italic fonts. - * - * caret_slope_denominator :: - * Rise of the caret slope, typically set to 0 for non-italic fonts. - * - * caret_offset :: - * Offset in pixels to move the caret for proper positioning. - * - * min_origin_SB :: - * Minimum of horiBearingX (resp. vertBearingY). - * min_advance_SB :: - * Minimum of - * - * horizontal advance - ( horiBearingX + width ) - * - * resp. - * - * vertical advance - ( vertBearingY + height ) - * - * max_before_BL :: - * Maximum of horiBearingY (resp. vertBearingY). - * - * min_after_BL :: - * Minimum of - * - * horiBearingY - height - * - * resp. - * - * vertBearingX - width - * - * pads :: - * Unused (to make the size of the record a multiple of 32 bits. - */ - typedef struct TT_SBit_LineMetricsRec_ - { - FT_Char ascender; - FT_Char descender; - FT_Byte max_width; - FT_Char caret_slope_numerator; - FT_Char caret_slope_denominator; - FT_Char caret_offset; - FT_Char min_origin_SB; - FT_Char min_advance_SB; - FT_Char max_before_BL; - FT_Char min_after_BL; - FT_Char pads[2]; - - } TT_SBit_LineMetricsRec, *TT_SBit_LineMetrics; - - - /************************************************************************** - * - * @struct: - * TT_SBit_RangeRec - * - * @description: - * A TrueType/OpenType subIndexTable as defined in the 'EBLC' (Microsoft) - * or 'bloc' (Apple) tables. - * - * @fields: - * first_glyph :: - * The first glyph index in the range. - * - * last_glyph :: - * The last glyph index in the range. - * - * index_format :: - * The format of index table. Valid values are 1 to 5. - * - * image_format :: - * The format of 'EBDT' image data. - * - * image_offset :: - * The offset to image data in 'EBDT'. - * - * image_size :: - * For index formats 2 and 5. This is the size in bytes of each glyph - * bitmap. - * - * big_metrics :: - * For index formats 2 and 5. This is the big metrics for each glyph - * bitmap. - * - * num_glyphs :: - * For index formats 4 and 5. This is the number of glyphs in the code - * array. - * - * glyph_offsets :: - * For index formats 1 and 3. - * - * glyph_codes :: - * For index formats 4 and 5. - * - * table_offset :: - * The offset of the index table in the 'EBLC' table. Only used during - * strike loading. - */ - typedef struct TT_SBit_RangeRec_ - { - FT_UShort first_glyph; - FT_UShort last_glyph; - - FT_UShort index_format; - FT_UShort image_format; - FT_ULong image_offset; - - FT_ULong image_size; - TT_SBit_MetricsRec metrics; - FT_ULong num_glyphs; - - FT_ULong* glyph_offsets; - FT_UShort* glyph_codes; - - FT_ULong table_offset; - - } TT_SBit_RangeRec, *TT_SBit_Range; - - - /************************************************************************** - * - * @struct: - * TT_SBit_StrikeRec - * - * @description: - * A structure used describe a given bitmap strike in the 'EBLC' - * (Microsoft) or 'bloc' (Apple) tables. - * - * @fields: - * num_index_ranges :: - * The number of index ranges. - * - * index_ranges :: - * An array of glyph index ranges. - * - * color_ref :: - * Unused. `color_ref` is put in for future enhancements, but these - * fields are already in use by other platforms (e.g. Newton). For - * details, please see - * - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bloc.html - * - * hori :: - * The line metrics for horizontal layouts. - * - * vert :: - * The line metrics for vertical layouts. - * - * start_glyph :: - * The lowest glyph index for this strike. - * - * end_glyph :: - * The highest glyph index for this strike. - * - * x_ppem :: - * The number of horizontal pixels per EM. - * - * y_ppem :: - * The number of vertical pixels per EM. - * - * bit_depth :: - * The bit depth. Valid values are 1, 2, 4, and 8. - * - * flags :: - * Is this a vertical or horizontal strike? For details, please see - * - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bloc.html - */ - typedef struct TT_SBit_StrikeRec_ - { - FT_Int num_ranges; - TT_SBit_Range sbit_ranges; - FT_ULong ranges_offset; - - FT_ULong color_ref; - - TT_SBit_LineMetricsRec hori; - TT_SBit_LineMetricsRec vert; - - FT_UShort start_glyph; - FT_UShort end_glyph; - - FT_Byte x_ppem; - FT_Byte y_ppem; - - FT_Byte bit_depth; - FT_Char flags; - - } TT_SBit_StrikeRec, *TT_SBit_Strike; - - - /************************************************************************** - * - * @struct: - * TT_SBit_ComponentRec - * - * @description: - * A simple structure to describe a compound sbit element. - * - * @fields: - * glyph_code :: - * The element's glyph index. - * - * x_offset :: - * The element's left bearing. - * - * y_offset :: - * The element's top bearing. - */ - typedef struct TT_SBit_ComponentRec_ - { - FT_UShort glyph_code; - FT_Char x_offset; - FT_Char y_offset; - - } TT_SBit_ComponentRec, *TT_SBit_Component; - - - /************************************************************************** - * - * @struct: - * TT_SBit_ScaleRec - * - * @description: - * A structure used describe a given bitmap scaling table, as defined in - * the 'EBSC' table. - * - * @fields: - * hori :: - * The horizontal line metrics. - * - * vert :: - * The vertical line metrics. - * - * x_ppem :: - * The number of horizontal pixels per EM. - * - * y_ppem :: - * The number of vertical pixels per EM. - * - * x_ppem_substitute :: - * Substitution x_ppem value. - * - * y_ppem_substitute :: - * Substitution y_ppem value. - */ - typedef struct TT_SBit_ScaleRec_ - { - TT_SBit_LineMetricsRec hori; - TT_SBit_LineMetricsRec vert; - - FT_Byte x_ppem; - FT_Byte y_ppem; - - FT_Byte x_ppem_substitute; - FT_Byte y_ppem_substitute; - - } TT_SBit_ScaleRec, *TT_SBit_Scale; - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** POSTSCRIPT GLYPH NAMES SUPPORT ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * @struct: - * TT_Post_20Rec - * - * @description: - * Postscript names sub-table, format 2.0. Stores the PS name of each - * glyph in the font face. - * - * @fields: - * num_glyphs :: - * The number of named glyphs in the table. - * - * num_names :: - * The number of PS names stored in the table. - * - * glyph_indices :: - * The indices of the glyphs in the names arrays. - * - * glyph_names :: - * The PS names not in Mac Encoding. - */ - typedef struct TT_Post_20Rec_ - { - FT_UShort num_glyphs; - FT_UShort num_names; - FT_UShort* glyph_indices; - FT_Char** glyph_names; - - } TT_Post_20Rec, *TT_Post_20; - - - /************************************************************************** - * - * @struct: - * TT_Post_25Rec - * - * @description: - * Postscript names sub-table, format 2.5. Stores the PS name of each - * glyph in the font face. - * - * @fields: - * num_glyphs :: - * The number of glyphs in the table. - * - * offsets :: - * An array of signed offsets in a normal Mac Postscript name encoding. - */ - typedef struct TT_Post_25_ - { - FT_UShort num_glyphs; - FT_Char* offsets; - - } TT_Post_25Rec, *TT_Post_25; - - - /************************************************************************** - * - * @struct: - * TT_Post_NamesRec - * - * @description: - * Postscript names table, either format 2.0 or 2.5. - * - * @fields: - * loaded :: - * A flag to indicate whether the PS names are loaded. - * - * format_20 :: - * The sub-table used for format 2.0. - * - * format_25 :: - * The sub-table used for format 2.5. - */ - typedef struct TT_Post_NamesRec_ - { - FT_Bool loaded; - - union - { - TT_Post_20Rec format_20; - TT_Post_25Rec format_25; - - } names; - - } TT_Post_NamesRec, *TT_Post_Names; - - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** GX VARIATION TABLE SUPPORT ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - -#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT - typedef struct GX_BlendRec_ *GX_Blend; -#endif - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** EMBEDDED BDF PROPERTIES TABLE SUPPORT ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - /* - * These types are used to support a `BDF ' table that isn't part of the - * official TrueType specification. It is mainly used in SFNT-based bitmap - * fonts that were generated from a set of BDF fonts. - * - * The format of the table is as follows. - * - * USHORT version `BDF ' table version number, should be 0x0001. USHORT - * strikeCount Number of strikes (bitmap sizes) in this table. ULONG - * stringTable Offset (from start of BDF table) to string - * table. - * - * This is followed by an array of `strikeCount' descriptors, having the - * following format. - * - * USHORT ppem Vertical pixels per EM for this strike. USHORT numItems - * Number of items for this strike (properties and - * atoms). Maximum is 255. - * - * This array in turn is followed by `strikeCount' value sets. Each `value - * set' is an array of `numItems' items with the following format. - * - * ULONG item_name Offset in string table to item name. - * USHORT item_type The item type. Possible values are - * 0 => string (e.g., COMMENT) - * 1 => atom (e.g., FONT or even SIZE) - * 2 => int32 - * 3 => uint32 - * 0x10 => A flag to indicate a properties. This - * is ORed with the above values. - * ULONG item_value For strings => Offset into string table without - * the corresponding double quotes. - * For atoms => Offset into string table. - * For integers => Direct value. - * - * All strings in the string table consist of bytes and are - * zero-terminated. - * - */ - -#ifdef TT_CONFIG_OPTION_BDF - - typedef struct TT_BDFRec_ - { - FT_Byte* table; - FT_Byte* table_end; - FT_Byte* strings; - FT_ULong strings_size; - FT_UInt num_strikes; - FT_Bool loaded; - - } TT_BDFRec, *TT_BDF; - -#endif /* TT_CONFIG_OPTION_BDF */ - - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - /*** ***/ - /*** ***/ - /*** ORIGINAL TT_FACE CLASS DEFINITION ***/ - /*** ***/ - /*** ***/ - /*************************************************************************/ - /*************************************************************************/ - /*************************************************************************/ - - - /************************************************************************** - * - * This structure/class is defined here because it is common to the - * following formats: TTF, OpenType-TT, and OpenType-CFF. - * - * Note, however, that the classes TT_Size and TT_GlyphSlot are not shared - * between font drivers, and are thus defined in `ttobjs.h`. - * - */ - - - /************************************************************************** - * - * @type: - * TT_Face - * - * @description: - * A handle to a TrueType face/font object. A TT_Face encapsulates the - * resolution and scaling independent parts of a TrueType font resource. - * - * @note: - * The TT_Face structure is also used as a 'parent class' for the - * OpenType-CFF class (T2_Face). - */ - typedef struct TT_FaceRec_* TT_Face; - - - /* a function type used for the truetype bytecode interpreter hooks */ - typedef FT_Error - (*TT_Interpreter)( void* exec_context ); - - /* forward declaration */ - typedef struct TT_LoaderRec_* TT_Loader; - - - /************************************************************************** - * - * @functype: - * TT_Loader_GotoTableFunc - * - * @description: - * Seeks a stream to the start of a given TrueType table. - * - * @input: - * face :: - * A handle to the target face object. - * - * tag :: - * A 4-byte tag used to name the table. - * - * stream :: - * The input stream. - * - * @output: - * length :: - * The length of the table in bytes. Set to 0 if not needed. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * The stream cursor must be at the font file's origin. - */ - typedef FT_Error - (*TT_Loader_GotoTableFunc)( TT_Face face, - FT_ULong tag, - FT_Stream stream, - FT_ULong* length ); - - - /************************************************************************** - * - * @functype: - * TT_Loader_StartGlyphFunc - * - * @description: - * Seeks a stream to the start of a given glyph element, and opens a - * frame for it. - * - * @input: - * loader :: - * The current TrueType glyph loader object. - * - * glyph index :: The index of the glyph to access. - * - * offset :: - * The offset of the glyph according to the 'locations' table. - * - * byte_count :: - * The size of the frame in bytes. - * - * @return: - * FreeType error code. 0 means success. - * - * @note: - * This function is normally equivalent to FT_STREAM_SEEK(offset) - * followed by FT_FRAME_ENTER(byte_count) with the loader's stream, but - * alternative formats (e.g. compressed ones) might use something - * different. - */ - typedef FT_Error - (*TT_Loader_StartGlyphFunc)( TT_Loader loader, - FT_UInt glyph_index, - FT_ULong offset, - FT_UInt byte_count ); - - - /************************************************************************** - * - * @functype: - * TT_Loader_ReadGlyphFunc - * - * @description: - * Reads one glyph element (its header, a simple glyph, or a composite) - * from the loader's current stream frame. - * - * @input: - * loader :: - * The current TrueType glyph loader object. - * - * @return: - * FreeType error code. 0 means success. - */ - typedef FT_Error - (*TT_Loader_ReadGlyphFunc)( TT_Loader loader ); - - - /************************************************************************** - * - * @functype: - * TT_Loader_EndGlyphFunc - * - * @description: - * Closes the current loader stream frame for the glyph. - * - * @input: - * loader :: - * The current TrueType glyph loader object. - */ - typedef void - (*TT_Loader_EndGlyphFunc)( TT_Loader loader ); - - - typedef enum TT_SbitTableType_ - { - TT_SBIT_TABLE_TYPE_NONE = 0, - TT_SBIT_TABLE_TYPE_EBLC, /* `EBLC' (Microsoft), */ - /* `bloc' (Apple) */ - TT_SBIT_TABLE_TYPE_CBLC, /* `CBLC' (Google) */ - TT_SBIT_TABLE_TYPE_SBIX, /* `sbix' (Apple) */ - - /* do not remove */ - TT_SBIT_TABLE_TYPE_MAX - - } TT_SbitTableType; - - - /* OpenType 1.8 brings new tables for variation font support; */ - /* to make the old MM and GX fonts still work we need to check */ - /* the presence (and validity) of the functionality provided */ - /* by those tables. The following flag macros are for the */ - /* field `variation_support'. */ - /* */ - /* Note that `fvar' gets checked immediately at font loading, */ - /* while the other features are only loaded if MM support is */ - /* actually requested. */ - - /* FVAR */ -#define TT_FACE_FLAG_VAR_FVAR ( 1 << 0 ) - - /* HVAR */ -#define TT_FACE_FLAG_VAR_HADVANCE ( 1 << 1 ) -#define TT_FACE_FLAG_VAR_LSB ( 1 << 2 ) -#define TT_FACE_FLAG_VAR_RSB ( 1 << 3 ) - - /* VVAR */ -#define TT_FACE_FLAG_VAR_VADVANCE ( 1 << 4 ) -#define TT_FACE_FLAG_VAR_TSB ( 1 << 5 ) -#define TT_FACE_FLAG_VAR_BSB ( 1 << 6 ) -#define TT_FACE_FLAG_VAR_VORG ( 1 << 7 ) - - /* MVAR */ -#define TT_FACE_FLAG_VAR_MVAR ( 1 << 8 ) - - - /************************************************************************** - * - * TrueType Face Type - * - * @struct: - * TT_Face - * - * @description: - * The TrueType face class. These objects model the resolution and - * point-size independent data found in a TrueType font file. - * - * @fields: - * root :: - * The base FT_Face structure, managed by the base layer. - * - * ttc_header :: - * The TrueType collection header, used when the file is a 'ttc' rather - * than a 'ttf'. For ordinary font files, the field `ttc_header.count` - * is set to 0. - * - * format_tag :: - * The font format tag. - * - * num_tables :: - * The number of TrueType tables in this font file. - * - * dir_tables :: - * The directory of TrueType tables for this font file. - * - * header :: - * The font's font header ('head' table). Read on font opening. - * - * horizontal :: - * The font's horizontal header ('hhea' table). This field also - * contains the associated horizontal metrics table ('hmtx'). - * - * max_profile :: - * The font's maximum profile table. Read on font opening. Note that - * some maximum values cannot be taken directly from this table. We - * thus define additional fields below to hold the computed maxima. - * - * vertical_info :: - * A boolean which is set when the font file contains vertical metrics. - * If not, the value of the 'vertical' field is undefined. - * - * vertical :: - * The font's vertical header ('vhea' table). This field also contains - * the associated vertical metrics table ('vmtx'), if found. - * IMPORTANT: The contents of this field is undefined if the - * `vertical_info` field is unset. - * - * num_names :: - * The number of name records within this TrueType font. - * - * name_table :: - * The table of name records ('name'). - * - * os2 :: - * The font's OS/2 table ('OS/2'). - * - * postscript :: - * The font's PostScript table ('post' table). The PostScript glyph - * names are not loaded by the driver on face opening. See the - * 'ttpost' module for more details. - * - * cmap_table :: - * Address of the face's 'cmap' SFNT table in memory (it's an extracted - * frame). - * - * cmap_size :: - * The size in bytes of the `cmap_table` described above. - * - * goto_table :: - * A function called by each TrueType table loader to position a - * stream's cursor to the start of a given table according to its tag. - * It defaults to TT_Goto_Face but can be different for strange formats - * (e.g. Type 42). - * - * access_glyph_frame :: - * A function used to access the frame of a given glyph within the - * face's font file. - * - * forget_glyph_frame :: - * A function used to forget the frame of a given glyph when all data - * has been loaded. - * - * read_glyph_header :: - * A function used to read a glyph header. It must be called between - * an 'access' and 'forget'. - * - * read_simple_glyph :: - * A function used to read a simple glyph. It must be called after the - * header was read, and before the 'forget'. - * - * read_composite_glyph :: - * A function used to read a composite glyph. It must be called after - * the header was read, and before the 'forget'. - * - * sfnt :: - * A pointer to the SFNT service. - * - * psnames :: - * A pointer to the PostScript names service. - * - * mm :: - * A pointer to the Multiple Masters service. - * - * var :: - * A pointer to the Metrics Variations service. - * - * hdmx :: - * The face's horizontal device metrics ('hdmx' table). This table is - * optional in TrueType/OpenType fonts. - * - * gasp :: - * The grid-fitting and scaling properties table ('gasp'). This table - * is optional in TrueType/OpenType fonts. - * - * pclt :: - * The 'pclt' SFNT table. - * - * num_sbit_scales :: - * The number of sbit scales for this font. - * - * sbit_scales :: - * Array of sbit scales embedded in this font. This table is optional - * in a TrueType/OpenType font. - * - * postscript_names :: - * A table used to store the Postscript names of the glyphs for this - * font. See the file `ttconfig.h` for comments on the - * TT_CONFIG_OPTION_POSTSCRIPT_NAMES option. - * - * palette_data :: - * Some fields from the 'CPAL' table that are directly indexed. - * - * palette_index :: - * The current palette index, as set by @FT_Palette_Select. - * - * palette :: - * An array containing the current palette's colors. - * - * have_foreground_color :: - * There was a call to @FT_Palette_Set_Foreground_Color. - * - * foreground_color :: - * The current foreground color corresponding to 'CPAL' color index - * 0xFFFF. Only valid if `have_foreground_color` is set. - * - * font_program_size :: - * Size in bytecodes of the face's font program. 0 if none defined. - * Ignored for Type 2 fonts. - * - * font_program :: - * The face's font program (bytecode stream) executed at load time, - * also used during glyph rendering. Comes from the 'fpgm' table. - * Ignored for Type 2 font fonts. - * - * cvt_program_size :: - * The size in bytecodes of the face's cvt program. Ignored for Type 2 - * fonts. - * - * cvt_program :: - * The face's cvt program (bytecode stream) executed each time an - * instance/size is changed/reset. Comes from the 'prep' table. - * Ignored for Type 2 fonts. - * - * cvt_size :: - * Size of the control value table (in entries). Ignored for Type 2 - * fonts. - * - * cvt :: - * The face's original control value table. Coordinates are expressed - * in unscaled font units. Comes from the 'cvt~' table. Ignored for - * Type 2 fonts. - * - * interpreter :: - * A pointer to the TrueType bytecode interpreters field is also used - * to hook the debugger in 'ttdebug'. - * - * extra :: - * Reserved for third-party font drivers. - * - * postscript_name :: - * The PS name of the font. Used by the postscript name service. - * - * glyf_len :: - * The length of the 'glyf' table. Needed for malformed 'loca' tables. - * - * glyf_offset :: - * The file offset of the 'glyf' table. - * - * is_cff2 :: - * Set if the font format is CFF2. - * - * doblend :: - * A boolean which is set if the font should be blended (this is for GX - * var). - * - * blend :: - * Contains the data needed to control GX variation tables (rather like - * Multiple Master data). - * - * variation_support :: - * Flags that indicate which OpenType functionality related to font - * variation support is present, valid, and usable. For example, - * TT_FACE_FLAG_VAR_FVAR is only set if we have at least one design - * axis. - * - * var_postscript_prefix :: - * The PostScript name prefix needed for constructing a variation font - * instance's PS name . - * - * var_postscript_prefix_len :: - * The length of the `var_postscript_prefix` string. - * - * horz_metrics_size :: - * The size of the 'hmtx' table. - * - * vert_metrics_size :: - * The size of the 'vmtx' table. - * - * num_locations :: - * The number of glyph locations in this TrueType file. This should be - * identical to the number of glyphs. Ignored for Type 2 fonts. - * - * glyph_locations :: - * An array of longs. These are offsets to glyph data within the - * 'glyf' table. Ignored for Type 2 font faces. - * - * hdmx_table :: - * A pointer to the 'hdmx' table. - * - * hdmx_table_size :: - * The size of the 'hdmx' table. - * - * hdmx_record_count :: - * The number of hdmx records. - * - * hdmx_record_size :: - * The size of a single hdmx record. - * - * hdmx_record_sizes :: - * An array holding the ppem sizes available in the 'hdmx' table. - * - * sbit_table :: - * A pointer to the font's embedded bitmap location table. - * - * sbit_table_size :: - * The size of `sbit_table`. - * - * sbit_table_type :: - * The sbit table type (CBLC, sbix, etc.). - * - * sbit_num_strikes :: - * The number of sbit strikes exposed by FreeType's API, omitting - * invalid strikes. - * - * sbit_strike_map :: - * A mapping between the strike indices exposed by the API and the - * indices used in the font's sbit table. - * - * cpal :: - * A pointer to data related to the 'CPAL' table. `NULL` if the table - * is not available. - * - * colr :: - * A pointer to data related to the 'COLR' table. `NULL` if the table - * is not available. - * - * kern_table :: - * A pointer to the 'kern' table. - * - * kern_table_size :: - * The size of the 'kern' table. - * - * num_kern_tables :: - * The number of supported kern subtables (up to 32; FreeType - * recognizes only horizontal ones with format 0). - * - * kern_avail_bits :: - * The availability status of kern subtables; if bit n is set, table n - * is available. - * - * kern_order_bits :: - * The sortedness status of kern subtables; if bit n is set, table n is - * sorted. - * - * bdf :: - * Data related to an SFNT font's 'bdf' table; see `tttypes.h`. - * - * horz_metrics_offset :: - * The file offset of the 'hmtx' table. - * - * vert_metrics_offset :: - * The file offset of the 'vmtx' table. - * - * sph_found_func_flags :: - * Flags identifying special bytecode functions (used by the v38 - * implementation of the bytecode interpreter). - * - * sph_compatibility_mode :: - * This flag is set if we are in ClearType backward compatibility mode - * (used by the v38 implementation of the bytecode interpreter). - * - * ebdt_start :: - * The file offset of the sbit data table (CBDT, bdat, etc.). - * - * ebdt_size :: - * The size of the sbit data table. - */ - typedef struct TT_FaceRec_ - { - FT_FaceRec root; - - TTC_HeaderRec ttc_header; - - FT_ULong format_tag; - FT_UShort num_tables; - TT_Table dir_tables; - - TT_Header header; /* TrueType header table */ - TT_HoriHeader horizontal; /* TrueType horizontal header */ - - TT_MaxProfile max_profile; - - FT_Bool vertical_info; - TT_VertHeader vertical; /* TT Vertical header, if present */ - - FT_UShort num_names; /* number of name records */ - TT_NameTableRec name_table; /* name table */ - - TT_OS2 os2; /* TrueType OS/2 table */ - TT_Postscript postscript; /* TrueType Postscript table */ - - FT_Byte* cmap_table; /* extracted `cmap' table */ - FT_ULong cmap_size; - - TT_Loader_GotoTableFunc goto_table; - - TT_Loader_StartGlyphFunc access_glyph_frame; - TT_Loader_EndGlyphFunc forget_glyph_frame; - TT_Loader_ReadGlyphFunc read_glyph_header; - TT_Loader_ReadGlyphFunc read_simple_glyph; - TT_Loader_ReadGlyphFunc read_composite_glyph; - - /* a typeless pointer to the SFNT_Interface table used to load */ - /* the basic TrueType tables in the face object */ - void* sfnt; - - /* a typeless pointer to the FT_Service_PsCMapsRec table used to */ - /* handle glyph names <-> unicode & Mac values */ - void* psnames; - -#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT - /* a typeless pointer to the FT_Service_MultiMasters table used to */ - /* handle variation fonts */ - void* mm; - - /* a typeless pointer to the FT_Service_MetricsVariationsRec table */ - /* used to handle the HVAR, VVAR, and MVAR OpenType tables */ - void* var; -#endif - - /* a typeless pointer to the PostScript Aux service */ - void* psaux; - - - /************************************************************************ - * - * Optional TrueType/OpenType tables - * - */ - - /* grid-fitting and scaling table */ - TT_GaspRec gasp; /* the `gasp' table */ - - /* PCL 5 table */ - TT_PCLT pclt; - - /* embedded bitmaps support */ - FT_ULong num_sbit_scales; - TT_SBit_Scale sbit_scales; - - /* postscript names table */ - TT_Post_NamesRec postscript_names; - - /* glyph colors */ - FT_Palette_Data palette_data; /* since 2.10 */ - FT_UShort palette_index; - FT_Color* palette; - FT_Bool have_foreground_color; - FT_Color foreground_color; - - - /************************************************************************ - * - * TrueType-specific fields (ignored by the CFF driver) - * - */ - - /* the font program, if any */ - FT_ULong font_program_size; - FT_Byte* font_program; - - /* the cvt program, if any */ - FT_ULong cvt_program_size; - FT_Byte* cvt_program; - - /* the original, unscaled, control value table */ - FT_ULong cvt_size; - FT_Short* cvt; - - /* A pointer to the bytecode interpreter to use. This is also */ - /* used to hook the debugger for the `ttdebug' utility. */ - TT_Interpreter interpreter; - - - /************************************************************************ - * - * Other tables or fields. This is used by derivative formats like - * OpenType. - * - */ - - FT_Generic extra; - - const char* postscript_name; - - FT_ULong glyf_len; - FT_ULong glyf_offset; /* since 2.7.1 */ - - FT_Bool is_cff2; /* since 2.7.1 */ - -#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT - FT_Bool doblend; - GX_Blend blend; - - FT_UInt32 variation_support; /* since 2.7.1 */ - - const char* var_postscript_prefix; /* since 2.7.2 */ - FT_UInt var_postscript_prefix_len; /* since 2.7.2 */ - -#endif - - /* since version 2.2 */ - - FT_ULong horz_metrics_size; - FT_ULong vert_metrics_size; - - FT_ULong num_locations; /* in broken TTF, gid > 0xFFFF */ - FT_Byte* glyph_locations; - - FT_Byte* hdmx_table; - FT_ULong hdmx_table_size; - FT_UInt hdmx_record_count; - FT_ULong hdmx_record_size; - FT_Byte* hdmx_record_sizes; - - FT_Byte* sbit_table; - FT_ULong sbit_table_size; - TT_SbitTableType sbit_table_type; - FT_UInt sbit_num_strikes; - FT_UInt* sbit_strike_map; - - FT_Byte* kern_table; - FT_ULong kern_table_size; - FT_UInt num_kern_tables; - FT_UInt32 kern_avail_bits; - FT_UInt32 kern_order_bits; - -#ifdef TT_CONFIG_OPTION_BDF - TT_BDFRec bdf; -#endif /* TT_CONFIG_OPTION_BDF */ - - /* since 2.3.0 */ - FT_ULong horz_metrics_offset; - FT_ULong vert_metrics_offset; - -#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY - /* since 2.4.12 */ - FT_ULong sph_found_func_flags; /* special functions found */ - /* for this face */ - FT_Bool sph_compatibility_mode; -#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ - -#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS - /* since 2.7 */ - FT_ULong ebdt_start; /* either `CBDT', `EBDT', or `bdat' */ - FT_ULong ebdt_size; -#endif - - /* since 2.10 */ - void* cpal; - void* colr; - - } TT_FaceRec; - - - /************************************************************************** - * - * @struct: - * TT_GlyphZoneRec - * - * @description: - * A glyph zone is used to load, scale and hint glyph outline - * coordinates. - * - * @fields: - * memory :: - * A handle to the memory manager. - * - * max_points :: - * The maximum size in points of the zone. - * - * max_contours :: - * Max size in links contours of the zone. - * - * n_points :: - * The current number of points in the zone. - * - * n_contours :: - * The current number of contours in the zone. - * - * org :: - * The original glyph coordinates (font units/scaled). - * - * cur :: - * The current glyph coordinates (scaled/hinted). - * - * tags :: - * The point control tags. - * - * contours :: - * The contours end points. - * - * first_point :: - * Offset of the current subglyph's first point. - */ - typedef struct TT_GlyphZoneRec_ - { - FT_Memory memory; - FT_UShort max_points; - FT_Short max_contours; - FT_UShort n_points; /* number of points in zone */ - FT_Short n_contours; /* number of contours */ - - FT_Vector* org; /* original point coordinates */ - FT_Vector* cur; /* current point coordinates */ - FT_Vector* orus; /* original (unscaled) point coordinates */ - - FT_Byte* tags; /* current touch flags */ - FT_UShort* contours; /* contour end points */ - - FT_UShort first_point; /* offset of first (#0) point */ - - } TT_GlyphZoneRec, *TT_GlyphZone; - - - /* handle to execution context */ - typedef struct TT_ExecContextRec_* TT_ExecContext; - - - /************************************************************************** - * - * @type: - * TT_Size - * - * @description: - * A handle to a TrueType size object. - */ - typedef struct TT_SizeRec_* TT_Size; - - - /* glyph loader structure */ - typedef struct TT_LoaderRec_ - { - TT_Face face; - TT_Size size; - FT_GlyphSlot glyph; - FT_GlyphLoader gloader; - - FT_ULong load_flags; - FT_UInt glyph_index; - - FT_Stream stream; - FT_Int byte_len; - - FT_Short n_contours; - FT_BBox bbox; - FT_Int left_bearing; - FT_Int advance; - FT_Int linear; - FT_Bool linear_def; - FT_Vector pp1; - FT_Vector pp2; - - /* the zone where we load our glyphs */ - TT_GlyphZoneRec base; - TT_GlyphZoneRec zone; - - TT_ExecContext exec; - FT_Byte* instructions; - FT_ULong ins_pos; - - /* for possible extensibility in other formats */ - void* other; - - /* since version 2.1.8 */ - FT_Int top_bearing; - FT_Int vadvance; - FT_Vector pp3; - FT_Vector pp4; - - /* since version 2.2.1 */ - FT_Byte* cursor; - FT_Byte* limit; - - /* since version 2.6.2 */ - FT_ListRec composites; - - } TT_LoaderRec; - - -FT_END_HEADER - -#endif /* TTTYPES_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/t1tables.h b/FreeType/include/freetype/t1tables.h deleted file mode 100644 index 645e645..0000000 --- a/FreeType/include/freetype/t1tables.h +++ /dev/null @@ -1,774 +0,0 @@ -/**************************************************************************** - * - * t1tables.h - * - * Basic Type 1/Type 2 tables definitions and interface (specification - * only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef T1TABLES_H_ -#define T1TABLES_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * type1_tables - * - * @title: - * Type 1 Tables - * - * @abstract: - * Type~1-specific font tables. - * - * @description: - * This section contains the definition of Type~1-specific tables, - * including structures related to other PostScript font formats. - * - * @order: - * PS_FontInfoRec - * PS_FontInfo - * PS_PrivateRec - * PS_Private - * - * CID_FaceDictRec - * CID_FaceDict - * CID_FaceInfoRec - * CID_FaceInfo - * - * FT_Has_PS_Glyph_Names - * FT_Get_PS_Font_Info - * FT_Get_PS_Font_Private - * FT_Get_PS_Font_Value - * - * T1_Blend_Flags - * T1_EncodingType - * PS_Dict_Keys - * - */ - - - /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */ - /* structures in order to support Multiple Master fonts. */ - - - /************************************************************************** - * - * @struct: - * PS_FontInfoRec - * - * @description: - * A structure used to model a Type~1 or Type~2 FontInfo dictionary. - * Note that for Multiple Master fonts, each instance has its own - * FontInfo dictionary. - */ - typedef struct PS_FontInfoRec_ - { - FT_String* version; - FT_String* notice; - FT_String* full_name; - FT_String* family_name; - FT_String* weight; - FT_Long italic_angle; - FT_Bool is_fixed_pitch; - FT_Short underline_position; - FT_UShort underline_thickness; - - } PS_FontInfoRec; - - - /************************************************************************** - * - * @struct: - * PS_FontInfo - * - * @description: - * A handle to a @PS_FontInfoRec structure. - */ - typedef struct PS_FontInfoRec_* PS_FontInfo; - - - /************************************************************************** - * - * @struct: - * T1_FontInfo - * - * @description: - * This type is equivalent to @PS_FontInfoRec. It is deprecated but kept - * to maintain source compatibility between various versions of FreeType. - */ - typedef PS_FontInfoRec T1_FontInfo; - - - /************************************************************************** - * - * @struct: - * PS_PrivateRec - * - * @description: - * A structure used to model a Type~1 or Type~2 private dictionary. Note - * that for Multiple Master fonts, each instance has its own Private - * dictionary. - */ - typedef struct PS_PrivateRec_ - { - FT_Int unique_id; - FT_Int lenIV; - - FT_Byte num_blue_values; - FT_Byte num_other_blues; - FT_Byte num_family_blues; - FT_Byte num_family_other_blues; - - FT_Short blue_values[14]; - FT_Short other_blues[10]; - - FT_Short family_blues [14]; - FT_Short family_other_blues[10]; - - FT_Fixed blue_scale; - FT_Int blue_shift; - FT_Int blue_fuzz; - - FT_UShort standard_width[1]; - FT_UShort standard_height[1]; - - FT_Byte num_snap_widths; - FT_Byte num_snap_heights; - FT_Bool force_bold; - FT_Bool round_stem_up; - - FT_Short snap_widths [13]; /* including std width */ - FT_Short snap_heights[13]; /* including std height */ - - FT_Fixed expansion_factor; - - FT_Long language_group; - FT_Long password; - - FT_Short min_feature[2]; - - } PS_PrivateRec; - - - /************************************************************************** - * - * @struct: - * PS_Private - * - * @description: - * A handle to a @PS_PrivateRec structure. - */ - typedef struct PS_PrivateRec_* PS_Private; - - - /************************************************************************** - * - * @struct: - * T1_Private - * - * @description: - * This type is equivalent to @PS_PrivateRec. It is deprecated but kept - * to maintain source compatibility between various versions of FreeType. - */ - typedef PS_PrivateRec T1_Private; - - - /************************************************************************** - * - * @enum: - * T1_Blend_Flags - * - * @description: - * A set of flags used to indicate which fields are present in a given - * blend dictionary (font info or private). Used to support Multiple - * Masters fonts. - * - * @values: - * T1_BLEND_UNDERLINE_POSITION :: - * T1_BLEND_UNDERLINE_THICKNESS :: - * T1_BLEND_ITALIC_ANGLE :: - * T1_BLEND_BLUE_VALUES :: - * T1_BLEND_OTHER_BLUES :: - * T1_BLEND_STANDARD_WIDTH :: - * T1_BLEND_STANDARD_HEIGHT :: - * T1_BLEND_STEM_SNAP_WIDTHS :: - * T1_BLEND_STEM_SNAP_HEIGHTS :: - * T1_BLEND_BLUE_SCALE :: - * T1_BLEND_BLUE_SHIFT :: - * T1_BLEND_FAMILY_BLUES :: - * T1_BLEND_FAMILY_OTHER_BLUES :: - * T1_BLEND_FORCE_BOLD :: - */ - typedef enum T1_Blend_Flags_ - { - /* required fields in a FontInfo blend dictionary */ - T1_BLEND_UNDERLINE_POSITION = 0, - T1_BLEND_UNDERLINE_THICKNESS, - T1_BLEND_ITALIC_ANGLE, - - /* required fields in a Private blend dictionary */ - T1_BLEND_BLUE_VALUES, - T1_BLEND_OTHER_BLUES, - T1_BLEND_STANDARD_WIDTH, - T1_BLEND_STANDARD_HEIGHT, - T1_BLEND_STEM_SNAP_WIDTHS, - T1_BLEND_STEM_SNAP_HEIGHTS, - T1_BLEND_BLUE_SCALE, - T1_BLEND_BLUE_SHIFT, - T1_BLEND_FAMILY_BLUES, - T1_BLEND_FAMILY_OTHER_BLUES, - T1_BLEND_FORCE_BOLD, - - T1_BLEND_MAX /* do not remove */ - - } T1_Blend_Flags; - - - /* these constants are deprecated; use the corresponding */ - /* `T1_Blend_Flags` values instead */ -#define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION -#define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS -#define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE -#define t1_blend_blue_values T1_BLEND_BLUE_VALUES -#define t1_blend_other_blues T1_BLEND_OTHER_BLUES -#define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH -#define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT -#define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS -#define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS -#define t1_blend_blue_scale T1_BLEND_BLUE_SCALE -#define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT -#define t1_blend_family_blues T1_BLEND_FAMILY_BLUES -#define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES -#define t1_blend_force_bold T1_BLEND_FORCE_BOLD -#define t1_blend_max T1_BLEND_MAX - - /* */ - - - /* maximum number of Multiple Masters designs, as defined in the spec */ -#define T1_MAX_MM_DESIGNS 16 - - /* maximum number of Multiple Masters axes, as defined in the spec */ -#define T1_MAX_MM_AXIS 4 - - /* maximum number of elements in a design map */ -#define T1_MAX_MM_MAP_POINTS 20 - - - /* this structure is used to store the BlendDesignMap entry for an axis */ - typedef struct PS_DesignMap_ - { - FT_Byte num_points; - FT_Long* design_points; - FT_Fixed* blend_points; - - } PS_DesignMapRec, *PS_DesignMap; - - /* backward compatible definition */ - typedef PS_DesignMapRec T1_DesignMap; - - - typedef struct PS_BlendRec_ - { - FT_UInt num_designs; - FT_UInt num_axis; - - FT_String* axis_names[T1_MAX_MM_AXIS]; - FT_Fixed* design_pos[T1_MAX_MM_DESIGNS]; - PS_DesignMapRec design_map[T1_MAX_MM_AXIS]; - - FT_Fixed* weight_vector; - FT_Fixed* default_weight_vector; - - PS_FontInfo font_infos[T1_MAX_MM_DESIGNS + 1]; - PS_Private privates [T1_MAX_MM_DESIGNS + 1]; - - FT_ULong blend_bitflags; - - FT_BBox* bboxes [T1_MAX_MM_DESIGNS + 1]; - - /* since 2.3.0 */ - - /* undocumented, optional: the default design instance; */ - /* corresponds to default_weight_vector -- */ - /* num_default_design_vector == 0 means it is not present */ - /* in the font and associated metrics files */ - FT_UInt default_design_vector[T1_MAX_MM_DESIGNS]; - FT_UInt num_default_design_vector; - - } PS_BlendRec, *PS_Blend; - - - /* backward compatible definition */ - typedef PS_BlendRec T1_Blend; - - - /************************************************************************** - * - * @struct: - * CID_FaceDictRec - * - * @description: - * A structure used to represent data in a CID top-level dictionary. In - * most cases, they are part of the font's '/FDArray' array. Within a - * CID font file, such (internal) subfont dictionaries are enclosed by - * '%ADOBeginFontDict' and '%ADOEndFontDict' comments. - * - * Note that `CID_FaceDictRec` misses a field for the '/FontName' - * keyword, specifying the subfont's name (the top-level font name is - * given by the '/CIDFontName' keyword). This is an oversight, but it - * doesn't limit the 'cid' font module's functionality because FreeType - * neither needs this entry nor gives access to CID subfonts. - */ - typedef struct CID_FaceDictRec_ - { - PS_PrivateRec private_dict; - - FT_UInt len_buildchar; - FT_Fixed forcebold_threshold; - FT_Pos stroke_width; - FT_Fixed expansion_factor; /* this is a duplicate of */ - /* `private_dict->expansion_factor' */ - FT_Byte paint_type; - FT_Byte font_type; - FT_Matrix font_matrix; - FT_Vector font_offset; - - FT_UInt num_subrs; - FT_ULong subrmap_offset; - FT_Int sd_bytes; - - } CID_FaceDictRec; - - - /************************************************************************** - * - * @struct: - * CID_FaceDict - * - * @description: - * A handle to a @CID_FaceDictRec structure. - */ - typedef struct CID_FaceDictRec_* CID_FaceDict; - - - /************************************************************************** - * - * @struct: - * CID_FontDict - * - * @description: - * This type is equivalent to @CID_FaceDictRec. It is deprecated but - * kept to maintain source compatibility between various versions of - * FreeType. - */ - typedef CID_FaceDictRec CID_FontDict; - - - /************************************************************************** - * - * @struct: - * CID_FaceInfoRec - * - * @description: - * A structure used to represent CID Face information. - */ - typedef struct CID_FaceInfoRec_ - { - FT_String* cid_font_name; - FT_Fixed cid_version; - FT_Int cid_font_type; - - FT_String* registry; - FT_String* ordering; - FT_Int supplement; - - PS_FontInfoRec font_info; - FT_BBox font_bbox; - FT_ULong uid_base; - - FT_Int num_xuid; - FT_ULong xuid[16]; - - FT_ULong cidmap_offset; - FT_Int fd_bytes; - FT_Int gd_bytes; - FT_ULong cid_count; - - FT_Int num_dicts; - CID_FaceDict font_dicts; - - FT_ULong data_offset; - - } CID_FaceInfoRec; - - - /************************************************************************** - * - * @struct: - * CID_FaceInfo - * - * @description: - * A handle to a @CID_FaceInfoRec structure. - */ - typedef struct CID_FaceInfoRec_* CID_FaceInfo; - - - /************************************************************************** - * - * @struct: - * CID_Info - * - * @description: - * This type is equivalent to @CID_FaceInfoRec. It is deprecated but kept - * to maintain source compatibility between various versions of FreeType. - */ - typedef CID_FaceInfoRec CID_Info; - - - /************************************************************************** - * - * @function: - * FT_Has_PS_Glyph_Names - * - * @description: - * Return true if a given face provides reliable PostScript glyph names. - * This is similar to using the @FT_HAS_GLYPH_NAMES macro, except that - * certain fonts (mostly TrueType) contain incorrect glyph name tables. - * - * When this function returns true, the caller is sure that the glyph - * names returned by @FT_Get_Glyph_Name are reliable. - * - * @input: - * face :: - * face handle - * - * @return: - * Boolean. True if glyph names are reliable. - * - */ - FT_EXPORT( FT_Int ) - FT_Has_PS_Glyph_Names( FT_Face face ); - - - /************************************************************************** - * - * @function: - * FT_Get_PS_Font_Info - * - * @description: - * Retrieve the @PS_FontInfoRec structure corresponding to a given - * PostScript font. - * - * @input: - * face :: - * PostScript face handle. - * - * @output: - * afont_info :: - * Output font info structure pointer. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * String pointers within the @PS_FontInfoRec structure are owned by the - * face and don't need to be freed by the caller. Missing entries in - * the font's FontInfo dictionary are represented by `NULL` pointers. - * - * If the font's format is not PostScript-based, this function will - * return the `FT_Err_Invalid_Argument` error code. - * - */ - FT_EXPORT( FT_Error ) - FT_Get_PS_Font_Info( FT_Face face, - PS_FontInfo afont_info ); - - - /************************************************************************** - * - * @function: - * FT_Get_PS_Font_Private - * - * @description: - * Retrieve the @PS_PrivateRec structure corresponding to a given - * PostScript font. - * - * @input: - * face :: - * PostScript face handle. - * - * @output: - * afont_private :: - * Output private dictionary structure pointer. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * The string pointers within the @PS_PrivateRec structure are owned by - * the face and don't need to be freed by the caller. - * - * If the font's format is not PostScript-based, this function returns - * the `FT_Err_Invalid_Argument` error code. - * - */ - FT_EXPORT( FT_Error ) - FT_Get_PS_Font_Private( FT_Face face, - PS_Private afont_private ); - - - /************************************************************************** - * - * @enum: - * T1_EncodingType - * - * @description: - * An enumeration describing the 'Encoding' entry in a Type 1 dictionary. - * - * @values: - * T1_ENCODING_TYPE_NONE :: - * T1_ENCODING_TYPE_ARRAY :: - * T1_ENCODING_TYPE_STANDARD :: - * T1_ENCODING_TYPE_ISOLATIN1 :: - * T1_ENCODING_TYPE_EXPERT :: - * - * @since: - * 2.4.8 - */ - typedef enum T1_EncodingType_ - { - T1_ENCODING_TYPE_NONE = 0, - T1_ENCODING_TYPE_ARRAY, - T1_ENCODING_TYPE_STANDARD, - T1_ENCODING_TYPE_ISOLATIN1, - T1_ENCODING_TYPE_EXPERT - - } T1_EncodingType; - - - /************************************************************************** - * - * @enum: - * PS_Dict_Keys - * - * @description: - * An enumeration used in calls to @FT_Get_PS_Font_Value to identify the - * Type~1 dictionary entry to retrieve. - * - * @values: - * PS_DICT_FONT_TYPE :: - * PS_DICT_FONT_MATRIX :: - * PS_DICT_FONT_BBOX :: - * PS_DICT_PAINT_TYPE :: - * PS_DICT_FONT_NAME :: - * PS_DICT_UNIQUE_ID :: - * PS_DICT_NUM_CHAR_STRINGS :: - * PS_DICT_CHAR_STRING_KEY :: - * PS_DICT_CHAR_STRING :: - * PS_DICT_ENCODING_TYPE :: - * PS_DICT_ENCODING_ENTRY :: - * PS_DICT_NUM_SUBRS :: - * PS_DICT_SUBR :: - * PS_DICT_STD_HW :: - * PS_DICT_STD_VW :: - * PS_DICT_NUM_BLUE_VALUES :: - * PS_DICT_BLUE_VALUE :: - * PS_DICT_BLUE_FUZZ :: - * PS_DICT_NUM_OTHER_BLUES :: - * PS_DICT_OTHER_BLUE :: - * PS_DICT_NUM_FAMILY_BLUES :: - * PS_DICT_FAMILY_BLUE :: - * PS_DICT_NUM_FAMILY_OTHER_BLUES :: - * PS_DICT_FAMILY_OTHER_BLUE :: - * PS_DICT_BLUE_SCALE :: - * PS_DICT_BLUE_SHIFT :: - * PS_DICT_NUM_STEM_SNAP_H :: - * PS_DICT_STEM_SNAP_H :: - * PS_DICT_NUM_STEM_SNAP_V :: - * PS_DICT_STEM_SNAP_V :: - * PS_DICT_FORCE_BOLD :: - * PS_DICT_RND_STEM_UP :: - * PS_DICT_MIN_FEATURE :: - * PS_DICT_LEN_IV :: - * PS_DICT_PASSWORD :: - * PS_DICT_LANGUAGE_GROUP :: - * PS_DICT_VERSION :: - * PS_DICT_NOTICE :: - * PS_DICT_FULL_NAME :: - * PS_DICT_FAMILY_NAME :: - * PS_DICT_WEIGHT :: - * PS_DICT_IS_FIXED_PITCH :: - * PS_DICT_UNDERLINE_POSITION :: - * PS_DICT_UNDERLINE_THICKNESS :: - * PS_DICT_FS_TYPE :: - * PS_DICT_ITALIC_ANGLE :: - * - * @since: - * 2.4.8 - */ - typedef enum PS_Dict_Keys_ - { - /* conventionally in the font dictionary */ - PS_DICT_FONT_TYPE, /* FT_Byte */ - PS_DICT_FONT_MATRIX, /* FT_Fixed */ - PS_DICT_FONT_BBOX, /* FT_Fixed */ - PS_DICT_PAINT_TYPE, /* FT_Byte */ - PS_DICT_FONT_NAME, /* FT_String* */ - PS_DICT_UNIQUE_ID, /* FT_Int */ - PS_DICT_NUM_CHAR_STRINGS, /* FT_Int */ - PS_DICT_CHAR_STRING_KEY, /* FT_String* */ - PS_DICT_CHAR_STRING, /* FT_String* */ - PS_DICT_ENCODING_TYPE, /* T1_EncodingType */ - PS_DICT_ENCODING_ENTRY, /* FT_String* */ - - /* conventionally in the font Private dictionary */ - PS_DICT_NUM_SUBRS, /* FT_Int */ - PS_DICT_SUBR, /* FT_String* */ - PS_DICT_STD_HW, /* FT_UShort */ - PS_DICT_STD_VW, /* FT_UShort */ - PS_DICT_NUM_BLUE_VALUES, /* FT_Byte */ - PS_DICT_BLUE_VALUE, /* FT_Short */ - PS_DICT_BLUE_FUZZ, /* FT_Int */ - PS_DICT_NUM_OTHER_BLUES, /* FT_Byte */ - PS_DICT_OTHER_BLUE, /* FT_Short */ - PS_DICT_NUM_FAMILY_BLUES, /* FT_Byte */ - PS_DICT_FAMILY_BLUE, /* FT_Short */ - PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte */ - PS_DICT_FAMILY_OTHER_BLUE, /* FT_Short */ - PS_DICT_BLUE_SCALE, /* FT_Fixed */ - PS_DICT_BLUE_SHIFT, /* FT_Int */ - PS_DICT_NUM_STEM_SNAP_H, /* FT_Byte */ - PS_DICT_STEM_SNAP_H, /* FT_Short */ - PS_DICT_NUM_STEM_SNAP_V, /* FT_Byte */ - PS_DICT_STEM_SNAP_V, /* FT_Short */ - PS_DICT_FORCE_BOLD, /* FT_Bool */ - PS_DICT_RND_STEM_UP, /* FT_Bool */ - PS_DICT_MIN_FEATURE, /* FT_Short */ - PS_DICT_LEN_IV, /* FT_Int */ - PS_DICT_PASSWORD, /* FT_Long */ - PS_DICT_LANGUAGE_GROUP, /* FT_Long */ - - /* conventionally in the font FontInfo dictionary */ - PS_DICT_VERSION, /* FT_String* */ - PS_DICT_NOTICE, /* FT_String* */ - PS_DICT_FULL_NAME, /* FT_String* */ - PS_DICT_FAMILY_NAME, /* FT_String* */ - PS_DICT_WEIGHT, /* FT_String* */ - PS_DICT_IS_FIXED_PITCH, /* FT_Bool */ - PS_DICT_UNDERLINE_POSITION, /* FT_Short */ - PS_DICT_UNDERLINE_THICKNESS, /* FT_UShort */ - PS_DICT_FS_TYPE, /* FT_UShort */ - PS_DICT_ITALIC_ANGLE, /* FT_Long */ - - PS_DICT_MAX = PS_DICT_ITALIC_ANGLE - - } PS_Dict_Keys; - - - /************************************************************************** - * - * @function: - * FT_Get_PS_Font_Value - * - * @description: - * Retrieve the value for the supplied key from a PostScript font. - * - * @input: - * face :: - * PostScript face handle. - * - * key :: - * An enumeration value representing the dictionary key to retrieve. - * - * idx :: - * For array values, this specifies the index to be returned. - * - * value :: - * A pointer to memory into which to write the value. - * - * valen_len :: - * The size, in bytes, of the memory supplied for the value. - * - * @output: - * value :: - * The value matching the above key, if it exists. - * - * @return: - * The amount of memory (in bytes) required to hold the requested value - * (if it exists, -1 otherwise). - * - * @note: - * The values returned are not pointers into the internal structures of - * the face, but are 'fresh' copies, so that the memory containing them - * belongs to the calling application. This also enforces the - * 'read-only' nature of these values, i.e., this function cannot be - * used to manipulate the face. - * - * `value` is a void pointer because the values returned can be of - * various types. - * - * If either `value` is `NULL` or `value_len` is too small, just the - * required memory size for the requested entry is returned. - * - * The `idx` parameter is used, not only to retrieve elements of, for - * example, the FontMatrix or FontBBox, but also to retrieve name keys - * from the CharStrings dictionary, and the charstrings themselves. It - * is ignored for atomic values. - * - * `PS_DICT_BLUE_SCALE` returns a value that is scaled up by 1000. To - * get the value as in the font stream, you need to divide by 65536000.0 - * (to remove the FT_Fixed scale, and the x1000 scale). - * - * IMPORTANT: Only key/value pairs read by the FreeType interpreter can - * be retrieved. So, for example, PostScript procedures such as NP, ND, - * and RD are not available. Arbitrary keys are, obviously, not be - * available either. - * - * If the font's format is not PostScript-based, this function returns - * the `FT_Err_Invalid_Argument` error code. - * - * @since: - * 2.4.8 - * - */ - FT_EXPORT( FT_Long ) - FT_Get_PS_Font_Value( FT_Face face, - PS_Dict_Keys key, - FT_UInt idx, - void *value, - FT_Long value_len ); - - /* */ - -FT_END_HEADER - -#endif /* T1TABLES_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/ttnameid.h b/FreeType/include/freetype/ttnameid.h deleted file mode 100644 index cc677de..0000000 --- a/FreeType/include/freetype/ttnameid.h +++ /dev/null @@ -1,1236 +0,0 @@ -/**************************************************************************** - * - * ttnameid.h - * - * TrueType name ID definitions (specification only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef TTNAMEID_H_ -#define TTNAMEID_H_ - - -#include - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * truetype_tables - */ - - - /************************************************************************** - * - * Possible values for the 'platform' identifier code in the name records - * of an SFNT 'name' table. - * - */ - - - /************************************************************************** - * - * @enum: - * TT_PLATFORM_XXX - * - * @description: - * A list of valid values for the `platform_id` identifier code in - * @FT_CharMapRec and @FT_SfntName structures. - * - * @values: - * TT_PLATFORM_APPLE_UNICODE :: - * Used by Apple to indicate a Unicode character map and/or name entry. - * See @TT_APPLE_ID_XXX for corresponding `encoding_id` values. Note - * that name entries in this format are coded as big-endian UCS-2 - * character codes _only_. - * - * TT_PLATFORM_MACINTOSH :: - * Used by Apple to indicate a MacOS-specific charmap and/or name - * entry. See @TT_MAC_ID_XXX for corresponding `encoding_id` values. - * Note that most TrueType fonts contain an Apple roman charmap to be - * usable on MacOS systems (even if they contain a Microsoft charmap as - * well). - * - * TT_PLATFORM_ISO :: - * This value was used to specify ISO/IEC 10646 charmaps. It is - * however now deprecated. See @TT_ISO_ID_XXX for a list of - * corresponding `encoding_id` values. - * - * TT_PLATFORM_MICROSOFT :: - * Used by Microsoft to indicate Windows-specific charmaps. See - * @TT_MS_ID_XXX for a list of corresponding `encoding_id` values. - * Note that most fonts contain a Unicode charmap using - * (`TT_PLATFORM_MICROSOFT`, @TT_MS_ID_UNICODE_CS). - * - * TT_PLATFORM_CUSTOM :: - * Used to indicate application-specific charmaps. - * - * TT_PLATFORM_ADOBE :: - * This value isn't part of any font format specification, but is used - * by FreeType to report Adobe-specific charmaps in an @FT_CharMapRec - * structure. See @TT_ADOBE_ID_XXX. - */ - -#define TT_PLATFORM_APPLE_UNICODE 0 -#define TT_PLATFORM_MACINTOSH 1 -#define TT_PLATFORM_ISO 2 /* deprecated */ -#define TT_PLATFORM_MICROSOFT 3 -#define TT_PLATFORM_CUSTOM 4 -#define TT_PLATFORM_ADOBE 7 /* artificial */ - - - /************************************************************************** - * - * @enum: - * TT_APPLE_ID_XXX - * - * @description: - * A list of valid values for the `encoding_id` for - * @TT_PLATFORM_APPLE_UNICODE charmaps and name entries. - * - * @values: - * TT_APPLE_ID_DEFAULT :: - * Unicode version 1.0. - * - * TT_APPLE_ID_UNICODE_1_1 :: - * Unicode 1.1; specifies Hangul characters starting at U+34xx. - * - * TT_APPLE_ID_ISO_10646 :: - * Deprecated (identical to preceding). - * - * TT_APPLE_ID_UNICODE_2_0 :: - * Unicode 2.0 and beyond (UTF-16 BMP only). - * - * TT_APPLE_ID_UNICODE_32 :: - * Unicode 3.1 and beyond, using UTF-32. - * - * TT_APPLE_ID_VARIANT_SELECTOR :: - * From Adobe, not Apple. Not a normal cmap. Specifies variations on - * a real cmap. - * - * TT_APPLE_ID_FULL_UNICODE :: - * Used for fallback fonts that provide complete Unicode coverage with - * a type~13 cmap. - */ - -#define TT_APPLE_ID_DEFAULT 0 /* Unicode 1.0 */ -#define TT_APPLE_ID_UNICODE_1_1 1 /* specify Hangul at U+34xx */ -#define TT_APPLE_ID_ISO_10646 2 /* deprecated */ -#define TT_APPLE_ID_UNICODE_2_0 3 /* or later */ -#define TT_APPLE_ID_UNICODE_32 4 /* 2.0 or later, full repertoire */ -#define TT_APPLE_ID_VARIANT_SELECTOR 5 /* variation selector data */ -#define TT_APPLE_ID_FULL_UNICODE 6 /* used with type 13 cmaps */ - - - /************************************************************************** - * - * @enum: - * TT_MAC_ID_XXX - * - * @description: - * A list of valid values for the `encoding_id` for - * @TT_PLATFORM_MACINTOSH charmaps and name entries. - */ - -#define TT_MAC_ID_ROMAN 0 -#define TT_MAC_ID_JAPANESE 1 -#define TT_MAC_ID_TRADITIONAL_CHINESE 2 -#define TT_MAC_ID_KOREAN 3 -#define TT_MAC_ID_ARABIC 4 -#define TT_MAC_ID_HEBREW 5 -#define TT_MAC_ID_GREEK 6 -#define TT_MAC_ID_RUSSIAN 7 -#define TT_MAC_ID_RSYMBOL 8 -#define TT_MAC_ID_DEVANAGARI 9 -#define TT_MAC_ID_GURMUKHI 10 -#define TT_MAC_ID_GUJARATI 11 -#define TT_MAC_ID_ORIYA 12 -#define TT_MAC_ID_BENGALI 13 -#define TT_MAC_ID_TAMIL 14 -#define TT_MAC_ID_TELUGU 15 -#define TT_MAC_ID_KANNADA 16 -#define TT_MAC_ID_MALAYALAM 17 -#define TT_MAC_ID_SINHALESE 18 -#define TT_MAC_ID_BURMESE 19 -#define TT_MAC_ID_KHMER 20 -#define TT_MAC_ID_THAI 21 -#define TT_MAC_ID_LAOTIAN 22 -#define TT_MAC_ID_GEORGIAN 23 -#define TT_MAC_ID_ARMENIAN 24 -#define TT_MAC_ID_MALDIVIAN 25 -#define TT_MAC_ID_SIMPLIFIED_CHINESE 25 -#define TT_MAC_ID_TIBETAN 26 -#define TT_MAC_ID_MONGOLIAN 27 -#define TT_MAC_ID_GEEZ 28 -#define TT_MAC_ID_SLAVIC 29 -#define TT_MAC_ID_VIETNAMESE 30 -#define TT_MAC_ID_SINDHI 31 -#define TT_MAC_ID_UNINTERP 32 - - - /************************************************************************** - * - * @enum: - * TT_ISO_ID_XXX - * - * @description: - * A list of valid values for the `encoding_id` for @TT_PLATFORM_ISO - * charmaps and name entries. - * - * Their use is now deprecated. - * - * @values: - * TT_ISO_ID_7BIT_ASCII :: - * ASCII. - * TT_ISO_ID_10646 :: - * ISO/10646. - * TT_ISO_ID_8859_1 :: - * Also known as Latin-1. - */ - -#define TT_ISO_ID_7BIT_ASCII 0 -#define TT_ISO_ID_10646 1 -#define TT_ISO_ID_8859_1 2 - - - /************************************************************************** - * - * @enum: - * TT_MS_ID_XXX - * - * @description: - * A list of valid values for the `encoding_id` for - * @TT_PLATFORM_MICROSOFT charmaps and name entries. - * - * @values: - * TT_MS_ID_SYMBOL_CS :: - * Microsoft symbol encoding. See @FT_ENCODING_MS_SYMBOL. - * - * TT_MS_ID_UNICODE_CS :: - * Microsoft WGL4 charmap, matching Unicode. See @FT_ENCODING_UNICODE. - * - * TT_MS_ID_SJIS :: - * Shift JIS Japanese encoding. See @FT_ENCODING_SJIS. - * - * TT_MS_ID_PRC :: - * Chinese encodings as used in the People's Republic of China (PRC). - * This means the encodings GB~2312 and its supersets GBK and GB~18030. - * See @FT_ENCODING_PRC. - * - * TT_MS_ID_BIG_5 :: - * Traditional Chinese as used in Taiwan and Hong Kong. See - * @FT_ENCODING_BIG5. - * - * TT_MS_ID_WANSUNG :: - * Korean Extended Wansung encoding. See @FT_ENCODING_WANSUNG. - * - * TT_MS_ID_JOHAB :: - * Korean Johab encoding. See @FT_ENCODING_JOHAB. - * - * TT_MS_ID_UCS_4 :: - * UCS-4 or UTF-32 charmaps. This has been added to the OpenType - * specification version 1.4 (mid-2001). - */ - -#define TT_MS_ID_SYMBOL_CS 0 -#define TT_MS_ID_UNICODE_CS 1 -#define TT_MS_ID_SJIS 2 -#define TT_MS_ID_PRC 3 -#define TT_MS_ID_BIG_5 4 -#define TT_MS_ID_WANSUNG 5 -#define TT_MS_ID_JOHAB 6 -#define TT_MS_ID_UCS_4 10 - - /* this value is deprecated */ -#define TT_MS_ID_GB2312 TT_MS_ID_PRC - - - /************************************************************************** - * - * @enum: - * TT_ADOBE_ID_XXX - * - * @description: - * A list of valid values for the `encoding_id` for @TT_PLATFORM_ADOBE - * charmaps. This is a FreeType-specific extension! - * - * @values: - * TT_ADOBE_ID_STANDARD :: - * Adobe standard encoding. - * TT_ADOBE_ID_EXPERT :: - * Adobe expert encoding. - * TT_ADOBE_ID_CUSTOM :: - * Adobe custom encoding. - * TT_ADOBE_ID_LATIN_1 :: - * Adobe Latin~1 encoding. - */ - -#define TT_ADOBE_ID_STANDARD 0 -#define TT_ADOBE_ID_EXPERT 1 -#define TT_ADOBE_ID_CUSTOM 2 -#define TT_ADOBE_ID_LATIN_1 3 - - - /************************************************************************** - * - * @enum: - * TT_MAC_LANGID_XXX - * - * @description: - * Possible values of the language identifier field in the name records - * of the SFNT 'name' table if the 'platform' identifier code is - * @TT_PLATFORM_MACINTOSH. These values are also used as return values - * for function @FT_Get_CMap_Language_ID. - * - * The canonical source for Apple's IDs is - * - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html - */ - -#define TT_MAC_LANGID_ENGLISH 0 -#define TT_MAC_LANGID_FRENCH 1 -#define TT_MAC_LANGID_GERMAN 2 -#define TT_MAC_LANGID_ITALIAN 3 -#define TT_MAC_LANGID_DUTCH 4 -#define TT_MAC_LANGID_SWEDISH 5 -#define TT_MAC_LANGID_SPANISH 6 -#define TT_MAC_LANGID_DANISH 7 -#define TT_MAC_LANGID_PORTUGUESE 8 -#define TT_MAC_LANGID_NORWEGIAN 9 -#define TT_MAC_LANGID_HEBREW 10 -#define TT_MAC_LANGID_JAPANESE 11 -#define TT_MAC_LANGID_ARABIC 12 -#define TT_MAC_LANGID_FINNISH 13 -#define TT_MAC_LANGID_GREEK 14 -#define TT_MAC_LANGID_ICELANDIC 15 -#define TT_MAC_LANGID_MALTESE 16 -#define TT_MAC_LANGID_TURKISH 17 -#define TT_MAC_LANGID_CROATIAN 18 -#define TT_MAC_LANGID_CHINESE_TRADITIONAL 19 -#define TT_MAC_LANGID_URDU 20 -#define TT_MAC_LANGID_HINDI 21 -#define TT_MAC_LANGID_THAI 22 -#define TT_MAC_LANGID_KOREAN 23 -#define TT_MAC_LANGID_LITHUANIAN 24 -#define TT_MAC_LANGID_POLISH 25 -#define TT_MAC_LANGID_HUNGARIAN 26 -#define TT_MAC_LANGID_ESTONIAN 27 -#define TT_MAC_LANGID_LETTISH 28 -#define TT_MAC_LANGID_SAAMISK 29 -#define TT_MAC_LANGID_FAEROESE 30 -#define TT_MAC_LANGID_FARSI 31 -#define TT_MAC_LANGID_RUSSIAN 32 -#define TT_MAC_LANGID_CHINESE_SIMPLIFIED 33 -#define TT_MAC_LANGID_FLEMISH 34 -#define TT_MAC_LANGID_IRISH 35 -#define TT_MAC_LANGID_ALBANIAN 36 -#define TT_MAC_LANGID_ROMANIAN 37 -#define TT_MAC_LANGID_CZECH 38 -#define TT_MAC_LANGID_SLOVAK 39 -#define TT_MAC_LANGID_SLOVENIAN 40 -#define TT_MAC_LANGID_YIDDISH 41 -#define TT_MAC_LANGID_SERBIAN 42 -#define TT_MAC_LANGID_MACEDONIAN 43 -#define TT_MAC_LANGID_BULGARIAN 44 -#define TT_MAC_LANGID_UKRAINIAN 45 -#define TT_MAC_LANGID_BYELORUSSIAN 46 -#define TT_MAC_LANGID_UZBEK 47 -#define TT_MAC_LANGID_KAZAKH 48 -#define TT_MAC_LANGID_AZERBAIJANI 49 -#define TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT 49 -#define TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT 50 -#define TT_MAC_LANGID_ARMENIAN 51 -#define TT_MAC_LANGID_GEORGIAN 52 -#define TT_MAC_LANGID_MOLDAVIAN 53 -#define TT_MAC_LANGID_KIRGHIZ 54 -#define TT_MAC_LANGID_TAJIKI 55 -#define TT_MAC_LANGID_TURKMEN 56 -#define TT_MAC_LANGID_MONGOLIAN 57 -#define TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT 57 -#define TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT 58 -#define TT_MAC_LANGID_PASHTO 59 -#define TT_MAC_LANGID_KURDISH 60 -#define TT_MAC_LANGID_KASHMIRI 61 -#define TT_MAC_LANGID_SINDHI 62 -#define TT_MAC_LANGID_TIBETAN 63 -#define TT_MAC_LANGID_NEPALI 64 -#define TT_MAC_LANGID_SANSKRIT 65 -#define TT_MAC_LANGID_MARATHI 66 -#define TT_MAC_LANGID_BENGALI 67 -#define TT_MAC_LANGID_ASSAMESE 68 -#define TT_MAC_LANGID_GUJARATI 69 -#define TT_MAC_LANGID_PUNJABI 70 -#define TT_MAC_LANGID_ORIYA 71 -#define TT_MAC_LANGID_MALAYALAM 72 -#define TT_MAC_LANGID_KANNADA 73 -#define TT_MAC_LANGID_TAMIL 74 -#define TT_MAC_LANGID_TELUGU 75 -#define TT_MAC_LANGID_SINHALESE 76 -#define TT_MAC_LANGID_BURMESE 77 -#define TT_MAC_LANGID_KHMER 78 -#define TT_MAC_LANGID_LAO 79 -#define TT_MAC_LANGID_VIETNAMESE 80 -#define TT_MAC_LANGID_INDONESIAN 81 -#define TT_MAC_LANGID_TAGALOG 82 -#define TT_MAC_LANGID_MALAY_ROMAN_SCRIPT 83 -#define TT_MAC_LANGID_MALAY_ARABIC_SCRIPT 84 -#define TT_MAC_LANGID_AMHARIC 85 -#define TT_MAC_LANGID_TIGRINYA 86 -#define TT_MAC_LANGID_GALLA 87 -#define TT_MAC_LANGID_SOMALI 88 -#define TT_MAC_LANGID_SWAHILI 89 -#define TT_MAC_LANGID_RUANDA 90 -#define TT_MAC_LANGID_RUNDI 91 -#define TT_MAC_LANGID_CHEWA 92 -#define TT_MAC_LANGID_MALAGASY 93 -#define TT_MAC_LANGID_ESPERANTO 94 -#define TT_MAC_LANGID_WELSH 128 -#define TT_MAC_LANGID_BASQUE 129 -#define TT_MAC_LANGID_CATALAN 130 -#define TT_MAC_LANGID_LATIN 131 -#define TT_MAC_LANGID_QUECHUA 132 -#define TT_MAC_LANGID_GUARANI 133 -#define TT_MAC_LANGID_AYMARA 134 -#define TT_MAC_LANGID_TATAR 135 -#define TT_MAC_LANGID_UIGHUR 136 -#define TT_MAC_LANGID_DZONGKHA 137 -#define TT_MAC_LANGID_JAVANESE 138 -#define TT_MAC_LANGID_SUNDANESE 139 - - /* The following codes are new as of 2000-03-10 */ -#define TT_MAC_LANGID_GALICIAN 140 -#define TT_MAC_LANGID_AFRIKAANS 141 -#define TT_MAC_LANGID_BRETON 142 -#define TT_MAC_LANGID_INUKTITUT 143 -#define TT_MAC_LANGID_SCOTTISH_GAELIC 144 -#define TT_MAC_LANGID_MANX_GAELIC 145 -#define TT_MAC_LANGID_IRISH_GAELIC 146 -#define TT_MAC_LANGID_TONGAN 147 -#define TT_MAC_LANGID_GREEK_POLYTONIC 148 -#define TT_MAC_LANGID_GREELANDIC 149 -#define TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT 150 - - - /************************************************************************** - * - * @enum: - * TT_MS_LANGID_XXX - * - * @description: - * Possible values of the language identifier field in the name records - * of the SFNT 'name' table if the 'platform' identifier code is - * @TT_PLATFORM_MICROSOFT. These values are also used as return values - * for function @FT_Get_CMap_Language_ID. - * - * The canonical source for Microsoft's IDs is - * - * https://docs.microsoft.com/en-us/windows/desktop/Intl/language-identifier-constants-and-strings , - * - * however, we only provide macros for language identifiers present in - * the OpenType specification: Microsoft has abandoned the concept of - * LCIDs (language code identifiers), and format~1 of the 'name' table - * provides a better mechanism for languages not covered here. - * - * More legacy values not listed in the reference can be found in the - * @FT_TRUETYPE_IDS_H header file. - */ - -#define TT_MS_LANGID_ARABIC_SAUDI_ARABIA 0x0401 -#define TT_MS_LANGID_ARABIC_IRAQ 0x0801 -#define TT_MS_LANGID_ARABIC_EGYPT 0x0C01 -#define TT_MS_LANGID_ARABIC_LIBYA 0x1001 -#define TT_MS_LANGID_ARABIC_ALGERIA 0x1401 -#define TT_MS_LANGID_ARABIC_MOROCCO 0x1801 -#define TT_MS_LANGID_ARABIC_TUNISIA 0x1C01 -#define TT_MS_LANGID_ARABIC_OMAN 0x2001 -#define TT_MS_LANGID_ARABIC_YEMEN 0x2401 -#define TT_MS_LANGID_ARABIC_SYRIA 0x2801 -#define TT_MS_LANGID_ARABIC_JORDAN 0x2C01 -#define TT_MS_LANGID_ARABIC_LEBANON 0x3001 -#define TT_MS_LANGID_ARABIC_KUWAIT 0x3401 -#define TT_MS_LANGID_ARABIC_UAE 0x3801 -#define TT_MS_LANGID_ARABIC_BAHRAIN 0x3C01 -#define TT_MS_LANGID_ARABIC_QATAR 0x4001 -#define TT_MS_LANGID_BULGARIAN_BULGARIA 0x0402 -#define TT_MS_LANGID_CATALAN_CATALAN 0x0403 -#define TT_MS_LANGID_CHINESE_TAIWAN 0x0404 -#define TT_MS_LANGID_CHINESE_PRC 0x0804 -#define TT_MS_LANGID_CHINESE_HONG_KONG 0x0C04 -#define TT_MS_LANGID_CHINESE_SINGAPORE 0x1004 -#define TT_MS_LANGID_CHINESE_MACAO 0x1404 -#define TT_MS_LANGID_CZECH_CZECH_REPUBLIC 0x0405 -#define TT_MS_LANGID_DANISH_DENMARK 0x0406 -#define TT_MS_LANGID_GERMAN_GERMANY 0x0407 -#define TT_MS_LANGID_GERMAN_SWITZERLAND 0x0807 -#define TT_MS_LANGID_GERMAN_AUSTRIA 0x0C07 -#define TT_MS_LANGID_GERMAN_LUXEMBOURG 0x1007 -#define TT_MS_LANGID_GERMAN_LIECHTENSTEIN 0x1407 -#define TT_MS_LANGID_GREEK_GREECE 0x0408 -#define TT_MS_LANGID_ENGLISH_UNITED_STATES 0x0409 -#define TT_MS_LANGID_ENGLISH_UNITED_KINGDOM 0x0809 -#define TT_MS_LANGID_ENGLISH_AUSTRALIA 0x0C09 -#define TT_MS_LANGID_ENGLISH_CANADA 0x1009 -#define TT_MS_LANGID_ENGLISH_NEW_ZEALAND 0x1409 -#define TT_MS_LANGID_ENGLISH_IRELAND 0x1809 -#define TT_MS_LANGID_ENGLISH_SOUTH_AFRICA 0x1C09 -#define TT_MS_LANGID_ENGLISH_JAMAICA 0x2009 -#define TT_MS_LANGID_ENGLISH_CARIBBEAN 0x2409 -#define TT_MS_LANGID_ENGLISH_BELIZE 0x2809 -#define TT_MS_LANGID_ENGLISH_TRINIDAD 0x2C09 -#define TT_MS_LANGID_ENGLISH_ZIMBABWE 0x3009 -#define TT_MS_LANGID_ENGLISH_PHILIPPINES 0x3409 -#define TT_MS_LANGID_ENGLISH_INDIA 0x4009 -#define TT_MS_LANGID_ENGLISH_MALAYSIA 0x4409 -#define TT_MS_LANGID_ENGLISH_SINGAPORE 0x4809 -#define TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT 0x040A -#define TT_MS_LANGID_SPANISH_MEXICO 0x080A -#define TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT 0x0C0A -#define TT_MS_LANGID_SPANISH_GUATEMALA 0x100A -#define TT_MS_LANGID_SPANISH_COSTA_RICA 0x140A -#define TT_MS_LANGID_SPANISH_PANAMA 0x180A -#define TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC 0x1C0A -#define TT_MS_LANGID_SPANISH_VENEZUELA 0x200A -#define TT_MS_LANGID_SPANISH_COLOMBIA 0x240A -#define TT_MS_LANGID_SPANISH_PERU 0x280A -#define TT_MS_LANGID_SPANISH_ARGENTINA 0x2C0A -#define TT_MS_LANGID_SPANISH_ECUADOR 0x300A -#define TT_MS_LANGID_SPANISH_CHILE 0x340A -#define TT_MS_LANGID_SPANISH_URUGUAY 0x380A -#define TT_MS_LANGID_SPANISH_PARAGUAY 0x3C0A -#define TT_MS_LANGID_SPANISH_BOLIVIA 0x400A -#define TT_MS_LANGID_SPANISH_EL_SALVADOR 0x440A -#define TT_MS_LANGID_SPANISH_HONDURAS 0x480A -#define TT_MS_LANGID_SPANISH_NICARAGUA 0x4C0A -#define TT_MS_LANGID_SPANISH_PUERTO_RICO 0x500A -#define TT_MS_LANGID_SPANISH_UNITED_STATES 0x540A -#define TT_MS_LANGID_FINNISH_FINLAND 0x040B -#define TT_MS_LANGID_FRENCH_FRANCE 0x040C -#define TT_MS_LANGID_FRENCH_BELGIUM 0x080C -#define TT_MS_LANGID_FRENCH_CANADA 0x0C0C -#define TT_MS_LANGID_FRENCH_SWITZERLAND 0x100C -#define TT_MS_LANGID_FRENCH_LUXEMBOURG 0x140C -#define TT_MS_LANGID_FRENCH_MONACO 0x180C -#define TT_MS_LANGID_HEBREW_ISRAEL 0x040D -#define TT_MS_LANGID_HUNGARIAN_HUNGARY 0x040E -#define TT_MS_LANGID_ICELANDIC_ICELAND 0x040F -#define TT_MS_LANGID_ITALIAN_ITALY 0x0410 -#define TT_MS_LANGID_ITALIAN_SWITZERLAND 0x0810 -#define TT_MS_LANGID_JAPANESE_JAPAN 0x0411 -#define TT_MS_LANGID_KOREAN_KOREA 0x0412 -#define TT_MS_LANGID_DUTCH_NETHERLANDS 0x0413 -#define TT_MS_LANGID_DUTCH_BELGIUM 0x0813 -#define TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL 0x0414 -#define TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK 0x0814 -#define TT_MS_LANGID_POLISH_POLAND 0x0415 -#define TT_MS_LANGID_PORTUGUESE_BRAZIL 0x0416 -#define TT_MS_LANGID_PORTUGUESE_PORTUGAL 0x0816 -#define TT_MS_LANGID_ROMANSH_SWITZERLAND 0x0417 -#define TT_MS_LANGID_ROMANIAN_ROMANIA 0x0418 -#define TT_MS_LANGID_RUSSIAN_RUSSIA 0x0419 -#define TT_MS_LANGID_CROATIAN_CROATIA 0x041A -#define TT_MS_LANGID_SERBIAN_SERBIA_LATIN 0x081A -#define TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC 0x0C1A -#define TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA 0x101A -#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA 0x141A -#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN 0x181A -#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC 0x1C1A -#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC 0x201A -#define TT_MS_LANGID_SLOVAK_SLOVAKIA 0x041B -#define TT_MS_LANGID_ALBANIAN_ALBANIA 0x041C -#define TT_MS_LANGID_SWEDISH_SWEDEN 0x041D -#define TT_MS_LANGID_SWEDISH_FINLAND 0x081D -#define TT_MS_LANGID_THAI_THAILAND 0x041E -#define TT_MS_LANGID_TURKISH_TURKEY 0x041F -#define TT_MS_LANGID_URDU_PAKISTAN 0x0420 -#define TT_MS_LANGID_INDONESIAN_INDONESIA 0x0421 -#define TT_MS_LANGID_UKRAINIAN_UKRAINE 0x0422 -#define TT_MS_LANGID_BELARUSIAN_BELARUS 0x0423 -#define TT_MS_LANGID_SLOVENIAN_SLOVENIA 0x0424 -#define TT_MS_LANGID_ESTONIAN_ESTONIA 0x0425 -#define TT_MS_LANGID_LATVIAN_LATVIA 0x0426 -#define TT_MS_LANGID_LITHUANIAN_LITHUANIA 0x0427 -#define TT_MS_LANGID_TAJIK_TAJIKISTAN 0x0428 -#define TT_MS_LANGID_VIETNAMESE_VIET_NAM 0x042A -#define TT_MS_LANGID_ARMENIAN_ARMENIA 0x042B -#define TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN 0x042C -#define TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC 0x082C -#define TT_MS_LANGID_BASQUE_BASQUE 0x042D -#define TT_MS_LANGID_UPPER_SORBIAN_GERMANY 0x042E -#define TT_MS_LANGID_LOWER_SORBIAN_GERMANY 0x082E -#define TT_MS_LANGID_MACEDONIAN_MACEDONIA 0x042F -#define TT_MS_LANGID_SETSWANA_SOUTH_AFRICA 0x0432 -#define TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA 0x0434 -#define TT_MS_LANGID_ISIZULU_SOUTH_AFRICA 0x0435 -#define TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA 0x0436 -#define TT_MS_LANGID_GEORGIAN_GEORGIA 0x0437 -#define TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS 0x0438 -#define TT_MS_LANGID_HINDI_INDIA 0x0439 -#define TT_MS_LANGID_MALTESE_MALTA 0x043A -#define TT_MS_LANGID_SAMI_NORTHERN_NORWAY 0x043B -#define TT_MS_LANGID_SAMI_NORTHERN_SWEDEN 0x083B -#define TT_MS_LANGID_SAMI_NORTHERN_FINLAND 0x0C3B -#define TT_MS_LANGID_SAMI_LULE_NORWAY 0x103B -#define TT_MS_LANGID_SAMI_LULE_SWEDEN 0x143B -#define TT_MS_LANGID_SAMI_SOUTHERN_NORWAY 0x183B -#define TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN 0x1C3B -#define TT_MS_LANGID_SAMI_SKOLT_FINLAND 0x203B -#define TT_MS_LANGID_SAMI_INARI_FINLAND 0x243B -#define TT_MS_LANGID_IRISH_IRELAND 0x083C -#define TT_MS_LANGID_MALAY_MALAYSIA 0x043E -#define TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM 0x083E -#define TT_MS_LANGID_KAZAKH_KAZAKHSTAN 0x043F -#define TT_MS_LANGID_KYRGYZ_KYRGYZSTAN /* Cyrillic*/ 0x0440 -#define TT_MS_LANGID_KISWAHILI_KENYA 0x0441 -#define TT_MS_LANGID_TURKMEN_TURKMENISTAN 0x0442 -#define TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN 0x0443 -#define TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC 0x0843 -#define TT_MS_LANGID_TATAR_RUSSIA 0x0444 -#define TT_MS_LANGID_BENGALI_INDIA 0x0445 -#define TT_MS_LANGID_BENGALI_BANGLADESH 0x0845 -#define TT_MS_LANGID_PUNJABI_INDIA 0x0446 -#define TT_MS_LANGID_GUJARATI_INDIA 0x0447 -#define TT_MS_LANGID_ODIA_INDIA 0x0448 -#define TT_MS_LANGID_TAMIL_INDIA 0x0449 -#define TT_MS_LANGID_TELUGU_INDIA 0x044A -#define TT_MS_LANGID_KANNADA_INDIA 0x044B -#define TT_MS_LANGID_MALAYALAM_INDIA 0x044C -#define TT_MS_LANGID_ASSAMESE_INDIA 0x044D -#define TT_MS_LANGID_MARATHI_INDIA 0x044E -#define TT_MS_LANGID_SANSKRIT_INDIA 0x044F -#define TT_MS_LANGID_MONGOLIAN_MONGOLIA /* Cyrillic */ 0x0450 -#define TT_MS_LANGID_MONGOLIAN_PRC 0x0850 -#define TT_MS_LANGID_TIBETAN_PRC 0x0451 -#define TT_MS_LANGID_WELSH_UNITED_KINGDOM 0x0452 -#define TT_MS_LANGID_KHMER_CAMBODIA 0x0453 -#define TT_MS_LANGID_LAO_LAOS 0x0454 -#define TT_MS_LANGID_GALICIAN_GALICIAN 0x0456 -#define TT_MS_LANGID_KONKANI_INDIA 0x0457 -#define TT_MS_LANGID_SYRIAC_SYRIA 0x045A -#define TT_MS_LANGID_SINHALA_SRI_LANKA 0x045B -#define TT_MS_LANGID_INUKTITUT_CANADA 0x045D -#define TT_MS_LANGID_INUKTITUT_CANADA_LATIN 0x085D -#define TT_MS_LANGID_AMHARIC_ETHIOPIA 0x045E -#define TT_MS_LANGID_TAMAZIGHT_ALGERIA 0x085F -#define TT_MS_LANGID_NEPALI_NEPAL 0x0461 -#define TT_MS_LANGID_FRISIAN_NETHERLANDS 0x0462 -#define TT_MS_LANGID_PASHTO_AFGHANISTAN 0x0463 -#define TT_MS_LANGID_FILIPINO_PHILIPPINES 0x0464 -#define TT_MS_LANGID_DHIVEHI_MALDIVES 0x0465 -#define TT_MS_LANGID_HAUSA_NIGERIA 0x0468 -#define TT_MS_LANGID_YORUBA_NIGERIA 0x046A -#define TT_MS_LANGID_QUECHUA_BOLIVIA 0x046B -#define TT_MS_LANGID_QUECHUA_ECUADOR 0x086B -#define TT_MS_LANGID_QUECHUA_PERU 0x0C6B -#define TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA 0x046C -#define TT_MS_LANGID_BASHKIR_RUSSIA 0x046D -#define TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG 0x046E -#define TT_MS_LANGID_GREENLANDIC_GREENLAND 0x046F -#define TT_MS_LANGID_IGBO_NIGERIA 0x0470 -#define TT_MS_LANGID_YI_PRC 0x0478 -#define TT_MS_LANGID_MAPUDUNGUN_CHILE 0x047A -#define TT_MS_LANGID_MOHAWK_MOHAWK 0x047C -#define TT_MS_LANGID_BRETON_FRANCE 0x047E -#define TT_MS_LANGID_UIGHUR_PRC 0x0480 -#define TT_MS_LANGID_MAORI_NEW_ZEALAND 0x0481 -#define TT_MS_LANGID_OCCITAN_FRANCE 0x0482 -#define TT_MS_LANGID_CORSICAN_FRANCE 0x0483 -#define TT_MS_LANGID_ALSATIAN_FRANCE 0x0484 -#define TT_MS_LANGID_YAKUT_RUSSIA 0x0485 -#define TT_MS_LANGID_KICHE_GUATEMALA 0x0486 -#define TT_MS_LANGID_KINYARWANDA_RWANDA 0x0487 -#define TT_MS_LANGID_WOLOF_SENEGAL 0x0488 -#define TT_MS_LANGID_DARI_AFGHANISTAN 0x048C - - /* */ - - - /* legacy macro definitions not present in OpenType 1.8.1 */ -#define TT_MS_LANGID_ARABIC_GENERAL 0x0001 -#define TT_MS_LANGID_CATALAN_SPAIN \ - TT_MS_LANGID_CATALAN_CATALAN -#define TT_MS_LANGID_CHINESE_GENERAL 0x0004 -#define TT_MS_LANGID_CHINESE_MACAU \ - TT_MS_LANGID_CHINESE_MACAO -#define TT_MS_LANGID_GERMAN_LIECHTENSTEI \ - TT_MS_LANGID_GERMAN_LIECHTENSTEIN -#define TT_MS_LANGID_ENGLISH_GENERAL 0x0009 -#define TT_MS_LANGID_ENGLISH_INDONESIA 0x3809 -#define TT_MS_LANGID_ENGLISH_HONG_KONG 0x3C09 -#define TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT \ - TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT -#define TT_MS_LANGID_SPANISH_LATIN_AMERICA 0xE40AU -#define TT_MS_LANGID_FRENCH_WEST_INDIES 0x1C0C -#define TT_MS_LANGID_FRENCH_REUNION 0x200C -#define TT_MS_LANGID_FRENCH_CONGO 0x240C - /* which was formerly: */ -#define TT_MS_LANGID_FRENCH_ZAIRE \ - TT_MS_LANGID_FRENCH_CONGO -#define TT_MS_LANGID_FRENCH_SENEGAL 0x280C -#define TT_MS_LANGID_FRENCH_CAMEROON 0x2C0C -#define TT_MS_LANGID_FRENCH_COTE_D_IVOIRE 0x300C -#define TT_MS_LANGID_FRENCH_MALI 0x340C -#define TT_MS_LANGID_FRENCH_MOROCCO 0x380C -#define TT_MS_LANGID_FRENCH_HAITI 0x3C0C -#define TT_MS_LANGID_FRENCH_NORTH_AFRICA 0xE40CU -#define TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA \ - TT_MS_LANGID_KOREAN_KOREA -#define TT_MS_LANGID_KOREAN_JOHAB_KOREA 0x0812 -#define TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND \ - TT_MS_LANGID_ROMANSH_SWITZERLAND -#define TT_MS_LANGID_MOLDAVIAN_MOLDAVIA 0x0818 -#define TT_MS_LANGID_RUSSIAN_MOLDAVIA 0x0819 -#define TT_MS_LANGID_URDU_INDIA 0x0820 -#define TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA 0x0827 -#define TT_MS_LANGID_SLOVENE_SLOVENIA \ - TT_MS_LANGID_SLOVENIAN_SLOVENIA -#define TT_MS_LANGID_FARSI_IRAN 0x0429 -#define TT_MS_LANGID_BASQUE_SPAIN \ - TT_MS_LANGID_BASQUE_BASQUE -#define TT_MS_LANGID_SORBIAN_GERMANY \ - TT_MS_LANGID_UPPER_SORBIAN_GERMANY -#define TT_MS_LANGID_SUTU_SOUTH_AFRICA 0x0430 -#define TT_MS_LANGID_TSONGA_SOUTH_AFRICA 0x0431 -#define TT_MS_LANGID_TSWANA_SOUTH_AFRICA \ - TT_MS_LANGID_SETSWANA_SOUTH_AFRICA -#define TT_MS_LANGID_VENDA_SOUTH_AFRICA 0x0433 -#define TT_MS_LANGID_XHOSA_SOUTH_AFRICA \ - TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA -#define TT_MS_LANGID_ZULU_SOUTH_AFRICA \ - TT_MS_LANGID_ISIZULU_SOUTH_AFRICA -#define TT_MS_LANGID_SAAMI_LAPONIA 0x043B - /* the next two values are incorrectly inverted */ -#define TT_MS_LANGID_IRISH_GAELIC_IRELAND 0x043C -#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM 0x083C -#define TT_MS_LANGID_YIDDISH_GERMANY 0x043D -#define TT_MS_LANGID_KAZAK_KAZAKSTAN \ - TT_MS_LANGID_KAZAKH_KAZAKHSTAN -#define TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \ - TT_MS_LANGID_KYRGYZ_KYRGYZSTAN -#define TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN \ - TT_MS_LANGID_KYRGYZ_KYRGYZSTAN -#define TT_MS_LANGID_SWAHILI_KENYA \ - TT_MS_LANGID_KISWAHILI_KENYA -#define TT_MS_LANGID_TATAR_TATARSTAN \ - TT_MS_LANGID_TATAR_RUSSIA -#define TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN 0x0846 -#define TT_MS_LANGID_ORIYA_INDIA \ - TT_MS_LANGID_ODIA_INDIA -#define TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN \ - TT_MS_LANGID_MONGOLIAN_PRC -#define TT_MS_LANGID_TIBETAN_CHINA \ - TT_MS_LANGID_TIBETAN_PRC -#define TT_MS_LANGID_DZONGHKA_BHUTAN 0x0851 -#define TT_MS_LANGID_TIBETAN_BHUTAN \ - TT_MS_LANGID_DZONGHKA_BHUTAN -#define TT_MS_LANGID_WELSH_WALES \ - TT_MS_LANGID_WELSH_UNITED_KINGDOM -#define TT_MS_LANGID_BURMESE_MYANMAR 0x0455 -#define TT_MS_LANGID_GALICIAN_SPAIN \ - TT_MS_LANGID_GALICIAN_GALICIAN -#define TT_MS_LANGID_MANIPURI_INDIA /* Bengali */ 0x0458 -#define TT_MS_LANGID_SINDHI_INDIA /* Arabic */ 0x0459 -#define TT_MS_LANGID_SINDHI_PAKISTAN 0x0859 -#define TT_MS_LANGID_SINHALESE_SRI_LANKA \ - TT_MS_LANGID_SINHALA_SRI_LANKA -#define TT_MS_LANGID_CHEROKEE_UNITED_STATES 0x045C -#define TT_MS_LANGID_TAMAZIGHT_MOROCCO /* Arabic */ 0x045F -#define TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN \ - TT_MS_LANGID_TAMAZIGHT_ALGERIA -#define TT_MS_LANGID_KASHMIRI_PAKISTAN /* Arabic */ 0x0460 -#define TT_MS_LANGID_KASHMIRI_SASIA 0x0860 -#define TT_MS_LANGID_KASHMIRI_INDIA \ - TT_MS_LANGID_KASHMIRI_SASIA -#define TT_MS_LANGID_NEPALI_INDIA 0x0861 -#define TT_MS_LANGID_DIVEHI_MALDIVES \ - TT_MS_LANGID_DHIVEHI_MALDIVES -#define TT_MS_LANGID_EDO_NIGERIA 0x0466 -#define TT_MS_LANGID_FULFULDE_NIGERIA 0x0467 -#define TT_MS_LANGID_IBIBIO_NIGERIA 0x0469 -#define TT_MS_LANGID_SEPEDI_SOUTH_AFRICA \ - TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA -#define TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA \ - TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA -#define TT_MS_LANGID_KANURI_NIGERIA 0x0471 -#define TT_MS_LANGID_OROMO_ETHIOPIA 0x0472 -#define TT_MS_LANGID_TIGRIGNA_ETHIOPIA 0x0473 -#define TT_MS_LANGID_TIGRIGNA_ERYTHREA 0x0873 -#define TT_MS_LANGID_TIGRIGNA_ERYTREA \ - TT_MS_LANGID_TIGRIGNA_ERYTHREA -#define TT_MS_LANGID_GUARANI_PARAGUAY 0x0474 -#define TT_MS_LANGID_HAWAIIAN_UNITED_STATES 0x0475 -#define TT_MS_LANGID_LATIN 0x0476 -#define TT_MS_LANGID_SOMALI_SOMALIA 0x0477 -#define TT_MS_LANGID_YI_CHINA \ - TT_MS_LANGID_YI_PRC -#define TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES 0x0479 -#define TT_MS_LANGID_UIGHUR_CHINA \ - TT_MS_LANGID_UIGHUR_PRC - - - /************************************************************************** - * - * @enum: - * TT_NAME_ID_XXX - * - * @description: - * Possible values of the 'name' identifier field in the name records of - * an SFNT 'name' table. These values are platform independent. - */ - -#define TT_NAME_ID_COPYRIGHT 0 -#define TT_NAME_ID_FONT_FAMILY 1 -#define TT_NAME_ID_FONT_SUBFAMILY 2 -#define TT_NAME_ID_UNIQUE_ID 3 -#define TT_NAME_ID_FULL_NAME 4 -#define TT_NAME_ID_VERSION_STRING 5 -#define TT_NAME_ID_PS_NAME 6 -#define TT_NAME_ID_TRADEMARK 7 - - /* the following values are from the OpenType spec */ -#define TT_NAME_ID_MANUFACTURER 8 -#define TT_NAME_ID_DESIGNER 9 -#define TT_NAME_ID_DESCRIPTION 10 -#define TT_NAME_ID_VENDOR_URL 11 -#define TT_NAME_ID_DESIGNER_URL 12 -#define TT_NAME_ID_LICENSE 13 -#define TT_NAME_ID_LICENSE_URL 14 - /* number 15 is reserved */ -#define TT_NAME_ID_TYPOGRAPHIC_FAMILY 16 -#define TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY 17 -#define TT_NAME_ID_MAC_FULL_NAME 18 - - /* The following code is new as of 2000-01-21 */ -#define TT_NAME_ID_SAMPLE_TEXT 19 - - /* This is new in OpenType 1.3 */ -#define TT_NAME_ID_CID_FINDFONT_NAME 20 - - /* This is new in OpenType 1.5 */ -#define TT_NAME_ID_WWS_FAMILY 21 -#define TT_NAME_ID_WWS_SUBFAMILY 22 - - /* This is new in OpenType 1.7 */ -#define TT_NAME_ID_LIGHT_BACKGROUND 23 -#define TT_NAME_ID_DARK_BACKGROUND 24 - - /* This is new in OpenType 1.8 */ -#define TT_NAME_ID_VARIATIONS_PREFIX 25 - - /* these two values are deprecated */ -#define TT_NAME_ID_PREFERRED_FAMILY TT_NAME_ID_TYPOGRAPHIC_FAMILY -#define TT_NAME_ID_PREFERRED_SUBFAMILY TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY - - - /************************************************************************** - * - * @enum: - * TT_UCR_XXX - * - * @description: - * Possible bit mask values for the `ulUnicodeRangeX` fields in an SFNT - * 'OS/2' table. - */ - - /* ulUnicodeRange1 */ - /* --------------- */ - - /* Bit 0 Basic Latin */ -#define TT_UCR_BASIC_LATIN (1L << 0) /* U+0020-U+007E */ - /* Bit 1 C1 Controls and Latin-1 Supplement */ -#define TT_UCR_LATIN1_SUPPLEMENT (1L << 1) /* U+0080-U+00FF */ - /* Bit 2 Latin Extended-A */ -#define TT_UCR_LATIN_EXTENDED_A (1L << 2) /* U+0100-U+017F */ - /* Bit 3 Latin Extended-B */ -#define TT_UCR_LATIN_EXTENDED_B (1L << 3) /* U+0180-U+024F */ - /* Bit 4 IPA Extensions */ - /* Phonetic Extensions */ - /* Phonetic Extensions Supplement */ -#define TT_UCR_IPA_EXTENSIONS (1L << 4) /* U+0250-U+02AF */ - /* U+1D00-U+1D7F */ - /* U+1D80-U+1DBF */ - /* Bit 5 Spacing Modifier Letters */ - /* Modifier Tone Letters */ -#define TT_UCR_SPACING_MODIFIER (1L << 5) /* U+02B0-U+02FF */ - /* U+A700-U+A71F */ - /* Bit 6 Combining Diacritical Marks */ - /* Combining Diacritical Marks Supplement */ -#define TT_UCR_COMBINING_DIACRITICAL_MARKS (1L << 6) /* U+0300-U+036F */ - /* U+1DC0-U+1DFF */ - /* Bit 7 Greek and Coptic */ -#define TT_UCR_GREEK (1L << 7) /* U+0370-U+03FF */ - /* Bit 8 Coptic */ -#define TT_UCR_COPTIC (1L << 8) /* U+2C80-U+2CFF */ - /* Bit 9 Cyrillic */ - /* Cyrillic Supplement */ - /* Cyrillic Extended-A */ - /* Cyrillic Extended-B */ -#define TT_UCR_CYRILLIC (1L << 9) /* U+0400-U+04FF */ - /* U+0500-U+052F */ - /* U+2DE0-U+2DFF */ - /* U+A640-U+A69F */ - /* Bit 10 Armenian */ -#define TT_UCR_ARMENIAN (1L << 10) /* U+0530-U+058F */ - /* Bit 11 Hebrew */ -#define TT_UCR_HEBREW (1L << 11) /* U+0590-U+05FF */ - /* Bit 12 Vai */ -#define TT_UCR_VAI (1L << 12) /* U+A500-U+A63F */ - /* Bit 13 Arabic */ - /* Arabic Supplement */ -#define TT_UCR_ARABIC (1L << 13) /* U+0600-U+06FF */ - /* U+0750-U+077F */ - /* Bit 14 NKo */ -#define TT_UCR_NKO (1L << 14) /* U+07C0-U+07FF */ - /* Bit 15 Devanagari */ -#define TT_UCR_DEVANAGARI (1L << 15) /* U+0900-U+097F */ - /* Bit 16 Bengali */ -#define TT_UCR_BENGALI (1L << 16) /* U+0980-U+09FF */ - /* Bit 17 Gurmukhi */ -#define TT_UCR_GURMUKHI (1L << 17) /* U+0A00-U+0A7F */ - /* Bit 18 Gujarati */ -#define TT_UCR_GUJARATI (1L << 18) /* U+0A80-U+0AFF */ - /* Bit 19 Oriya */ -#define TT_UCR_ORIYA (1L << 19) /* U+0B00-U+0B7F */ - /* Bit 20 Tamil */ -#define TT_UCR_TAMIL (1L << 20) /* U+0B80-U+0BFF */ - /* Bit 21 Telugu */ -#define TT_UCR_TELUGU (1L << 21) /* U+0C00-U+0C7F */ - /* Bit 22 Kannada */ -#define TT_UCR_KANNADA (1L << 22) /* U+0C80-U+0CFF */ - /* Bit 23 Malayalam */ -#define TT_UCR_MALAYALAM (1L << 23) /* U+0D00-U+0D7F */ - /* Bit 24 Thai */ -#define TT_UCR_THAI (1L << 24) /* U+0E00-U+0E7F */ - /* Bit 25 Lao */ -#define TT_UCR_LAO (1L << 25) /* U+0E80-U+0EFF */ - /* Bit 26 Georgian */ - /* Georgian Supplement */ -#define TT_UCR_GEORGIAN (1L << 26) /* U+10A0-U+10FF */ - /* U+2D00-U+2D2F */ - /* Bit 27 Balinese */ -#define TT_UCR_BALINESE (1L << 27) /* U+1B00-U+1B7F */ - /* Bit 28 Hangul Jamo */ -#define TT_UCR_HANGUL_JAMO (1L << 28) /* U+1100-U+11FF */ - /* Bit 29 Latin Extended Additional */ - /* Latin Extended-C */ - /* Latin Extended-D */ -#define TT_UCR_LATIN_EXTENDED_ADDITIONAL (1L << 29) /* U+1E00-U+1EFF */ - /* U+2C60-U+2C7F */ - /* U+A720-U+A7FF */ - /* Bit 30 Greek Extended */ -#define TT_UCR_GREEK_EXTENDED (1L << 30) /* U+1F00-U+1FFF */ - /* Bit 31 General Punctuation */ - /* Supplemental Punctuation */ -#define TT_UCR_GENERAL_PUNCTUATION (1L << 31) /* U+2000-U+206F */ - /* U+2E00-U+2E7F */ - - /* ulUnicodeRange2 */ - /* --------------- */ - - /* Bit 32 Superscripts And Subscripts */ -#define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS (1L << 0) /* U+2070-U+209F */ - /* Bit 33 Currency Symbols */ -#define TT_UCR_CURRENCY_SYMBOLS (1L << 1) /* U+20A0-U+20CF */ - /* Bit 34 Combining Diacritical Marks For Symbols */ -#define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \ - (1L << 2) /* U+20D0-U+20FF */ - /* Bit 35 Letterlike Symbols */ -#define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) /* U+2100-U+214F */ - /* Bit 36 Number Forms */ -#define TT_UCR_NUMBER_FORMS (1L << 4) /* U+2150-U+218F */ - /* Bit 37 Arrows */ - /* Supplemental Arrows-A */ - /* Supplemental Arrows-B */ - /* Miscellaneous Symbols and Arrows */ -#define TT_UCR_ARROWS (1L << 5) /* U+2190-U+21FF */ - /* U+27F0-U+27FF */ - /* U+2900-U+297F */ - /* U+2B00-U+2BFF */ - /* Bit 38 Mathematical Operators */ - /* Supplemental Mathematical Operators */ - /* Miscellaneous Mathematical Symbols-A */ - /* Miscellaneous Mathematical Symbols-B */ -#define TT_UCR_MATHEMATICAL_OPERATORS (1L << 6) /* U+2200-U+22FF */ - /* U+2A00-U+2AFF */ - /* U+27C0-U+27EF */ - /* U+2980-U+29FF */ - /* Bit 39 Miscellaneous Technical */ -#define TT_UCR_MISCELLANEOUS_TECHNICAL (1L << 7) /* U+2300-U+23FF */ - /* Bit 40 Control Pictures */ -#define TT_UCR_CONTROL_PICTURES (1L << 8) /* U+2400-U+243F */ - /* Bit 41 Optical Character Recognition */ -#define TT_UCR_OCR (1L << 9) /* U+2440-U+245F */ - /* Bit 42 Enclosed Alphanumerics */ -#define TT_UCR_ENCLOSED_ALPHANUMERICS (1L << 10) /* U+2460-U+24FF */ - /* Bit 43 Box Drawing */ -#define TT_UCR_BOX_DRAWING (1L << 11) /* U+2500-U+257F */ - /* Bit 44 Block Elements */ -#define TT_UCR_BLOCK_ELEMENTS (1L << 12) /* U+2580-U+259F */ - /* Bit 45 Geometric Shapes */ -#define TT_UCR_GEOMETRIC_SHAPES (1L << 13) /* U+25A0-U+25FF */ - /* Bit 46 Miscellaneous Symbols */ -#define TT_UCR_MISCELLANEOUS_SYMBOLS (1L << 14) /* U+2600-U+26FF */ - /* Bit 47 Dingbats */ -#define TT_UCR_DINGBATS (1L << 15) /* U+2700-U+27BF */ - /* Bit 48 CJK Symbols and Punctuation */ -#define TT_UCR_CJK_SYMBOLS (1L << 16) /* U+3000-U+303F */ - /* Bit 49 Hiragana */ -#define TT_UCR_HIRAGANA (1L << 17) /* U+3040-U+309F */ - /* Bit 50 Katakana */ - /* Katakana Phonetic Extensions */ -#define TT_UCR_KATAKANA (1L << 18) /* U+30A0-U+30FF */ - /* U+31F0-U+31FF */ - /* Bit 51 Bopomofo */ - /* Bopomofo Extended */ -#define TT_UCR_BOPOMOFO (1L << 19) /* U+3100-U+312F */ - /* U+31A0-U+31BF */ - /* Bit 52 Hangul Compatibility Jamo */ -#define TT_UCR_HANGUL_COMPATIBILITY_JAMO (1L << 20) /* U+3130-U+318F */ - /* Bit 53 Phags-Pa */ -#define TT_UCR_CJK_MISC (1L << 21) /* U+A840-U+A87F */ -#define TT_UCR_KANBUN TT_UCR_CJK_MISC /* deprecated */ -#define TT_UCR_PHAGSPA - /* Bit 54 Enclosed CJK Letters and Months */ -#define TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS (1L << 22) /* U+3200-U+32FF */ - /* Bit 55 CJK Compatibility */ -#define TT_UCR_CJK_COMPATIBILITY (1L << 23) /* U+3300-U+33FF */ - /* Bit 56 Hangul Syllables */ -#define TT_UCR_HANGUL (1L << 24) /* U+AC00-U+D7A3 */ - /* Bit 57 High Surrogates */ - /* High Private Use Surrogates */ - /* Low Surrogates */ - - /* According to OpenType specs v.1.3+, */ - /* setting bit 57 implies that there is */ - /* at least one codepoint beyond the */ - /* Basic Multilingual Plane that is */ - /* supported by this font. So it really */ - /* means >= U+10000. */ -#define TT_UCR_SURROGATES (1L << 25) /* U+D800-U+DB7F */ - /* U+DB80-U+DBFF */ - /* U+DC00-U+DFFF */ -#define TT_UCR_NON_PLANE_0 TT_UCR_SURROGATES - /* Bit 58 Phoenician */ -#define TT_UCR_PHOENICIAN (1L << 26) /*U+10900-U+1091F*/ - /* Bit 59 CJK Unified Ideographs */ - /* CJK Radicals Supplement */ - /* Kangxi Radicals */ - /* Ideographic Description Characters */ - /* CJK Unified Ideographs Extension A */ - /* CJK Unified Ideographs Extension B */ - /* Kanbun */ -#define TT_UCR_CJK_UNIFIED_IDEOGRAPHS (1L << 27) /* U+4E00-U+9FFF */ - /* U+2E80-U+2EFF */ - /* U+2F00-U+2FDF */ - /* U+2FF0-U+2FFF */ - /* U+3400-U+4DB5 */ - /*U+20000-U+2A6DF*/ - /* U+3190-U+319F */ - /* Bit 60 Private Use */ -#define TT_UCR_PRIVATE_USE (1L << 28) /* U+E000-U+F8FF */ - /* Bit 61 CJK Strokes */ - /* CJK Compatibility Ideographs */ - /* CJK Compatibility Ideographs Supplement */ -#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) /* U+31C0-U+31EF */ - /* U+F900-U+FAFF */ - /*U+2F800-U+2FA1F*/ - /* Bit 62 Alphabetic Presentation Forms */ -#define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) /* U+FB00-U+FB4F */ - /* Bit 63 Arabic Presentation Forms-A */ -#define TT_UCR_ARABIC_PRESENTATION_FORMS_A (1L << 31) /* U+FB50-U+FDFF */ - - /* ulUnicodeRange3 */ - /* --------------- */ - - /* Bit 64 Combining Half Marks */ -#define TT_UCR_COMBINING_HALF_MARKS (1L << 0) /* U+FE20-U+FE2F */ - /* Bit 65 Vertical forms */ - /* CJK Compatibility Forms */ -#define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) /* U+FE10-U+FE1F */ - /* U+FE30-U+FE4F */ - /* Bit 66 Small Form Variants */ -#define TT_UCR_SMALL_FORM_VARIANTS (1L << 2) /* U+FE50-U+FE6F */ - /* Bit 67 Arabic Presentation Forms-B */ -#define TT_UCR_ARABIC_PRESENTATION_FORMS_B (1L << 3) /* U+FE70-U+FEFE */ - /* Bit 68 Halfwidth and Fullwidth Forms */ -#define TT_UCR_HALFWIDTH_FULLWIDTH_FORMS (1L << 4) /* U+FF00-U+FFEF */ - /* Bit 69 Specials */ -#define TT_UCR_SPECIALS (1L << 5) /* U+FFF0-U+FFFD */ - /* Bit 70 Tibetan */ -#define TT_UCR_TIBETAN (1L << 6) /* U+0F00-U+0FFF */ - /* Bit 71 Syriac */ -#define TT_UCR_SYRIAC (1L << 7) /* U+0700-U+074F */ - /* Bit 72 Thaana */ -#define TT_UCR_THAANA (1L << 8) /* U+0780-U+07BF */ - /* Bit 73 Sinhala */ -#define TT_UCR_SINHALA (1L << 9) /* U+0D80-U+0DFF */ - /* Bit 74 Myanmar */ -#define TT_UCR_MYANMAR (1L << 10) /* U+1000-U+109F */ - /* Bit 75 Ethiopic */ - /* Ethiopic Supplement */ - /* Ethiopic Extended */ -#define TT_UCR_ETHIOPIC (1L << 11) /* U+1200-U+137F */ - /* U+1380-U+139F */ - /* U+2D80-U+2DDF */ - /* Bit 76 Cherokee */ -#define TT_UCR_CHEROKEE (1L << 12) /* U+13A0-U+13FF */ - /* Bit 77 Unified Canadian Aboriginal Syllabics */ -#define TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS (1L << 13) /* U+1400-U+167F */ - /* Bit 78 Ogham */ -#define TT_UCR_OGHAM (1L << 14) /* U+1680-U+169F */ - /* Bit 79 Runic */ -#define TT_UCR_RUNIC (1L << 15) /* U+16A0-U+16FF */ - /* Bit 80 Khmer */ - /* Khmer Symbols */ -#define TT_UCR_KHMER (1L << 16) /* U+1780-U+17FF */ - /* U+19E0-U+19FF */ - /* Bit 81 Mongolian */ -#define TT_UCR_MONGOLIAN (1L << 17) /* U+1800-U+18AF */ - /* Bit 82 Braille Patterns */ -#define TT_UCR_BRAILLE (1L << 18) /* U+2800-U+28FF */ - /* Bit 83 Yi Syllables */ - /* Yi Radicals */ -#define TT_UCR_YI (1L << 19) /* U+A000-U+A48F */ - /* U+A490-U+A4CF */ - /* Bit 84 Tagalog */ - /* Hanunoo */ - /* Buhid */ - /* Tagbanwa */ -#define TT_UCR_PHILIPPINE (1L << 20) /* U+1700-U+171F */ - /* U+1720-U+173F */ - /* U+1740-U+175F */ - /* U+1760-U+177F */ - /* Bit 85 Old Italic */ -#define TT_UCR_OLD_ITALIC (1L << 21) /*U+10300-U+1032F*/ - /* Bit 86 Gothic */ -#define TT_UCR_GOTHIC (1L << 22) /*U+10330-U+1034F*/ - /* Bit 87 Deseret */ -#define TT_UCR_DESERET (1L << 23) /*U+10400-U+1044F*/ - /* Bit 88 Byzantine Musical Symbols */ - /* Musical Symbols */ - /* Ancient Greek Musical Notation */ -#define TT_UCR_MUSICAL_SYMBOLS (1L << 24) /*U+1D000-U+1D0FF*/ - /*U+1D100-U+1D1FF*/ - /*U+1D200-U+1D24F*/ - /* Bit 89 Mathematical Alphanumeric Symbols */ -#define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS (1L << 25) /*U+1D400-U+1D7FF*/ - /* Bit 90 Private Use (plane 15) */ - /* Private Use (plane 16) */ -#define TT_UCR_PRIVATE_USE_SUPPLEMENTARY (1L << 26) /*U+F0000-U+FFFFD*/ - /*U+100000-U+10FFFD*/ - /* Bit 91 Variation Selectors */ - /* Variation Selectors Supplement */ -#define TT_UCR_VARIATION_SELECTORS (1L << 27) /* U+FE00-U+FE0F */ - /*U+E0100-U+E01EF*/ - /* Bit 92 Tags */ -#define TT_UCR_TAGS (1L << 28) /*U+E0000-U+E007F*/ - /* Bit 93 Limbu */ -#define TT_UCR_LIMBU (1L << 29) /* U+1900-U+194F */ - /* Bit 94 Tai Le */ -#define TT_UCR_TAI_LE (1L << 30) /* U+1950-U+197F */ - /* Bit 95 New Tai Lue */ -#define TT_UCR_NEW_TAI_LUE (1L << 31) /* U+1980-U+19DF */ - - /* ulUnicodeRange4 */ - /* --------------- */ - - /* Bit 96 Buginese */ -#define TT_UCR_BUGINESE (1L << 0) /* U+1A00-U+1A1F */ - /* Bit 97 Glagolitic */ -#define TT_UCR_GLAGOLITIC (1L << 1) /* U+2C00-U+2C5F */ - /* Bit 98 Tifinagh */ -#define TT_UCR_TIFINAGH (1L << 2) /* U+2D30-U+2D7F */ - /* Bit 99 Yijing Hexagram Symbols */ -#define TT_UCR_YIJING (1L << 3) /* U+4DC0-U+4DFF */ - /* Bit 100 Syloti Nagri */ -#define TT_UCR_SYLOTI_NAGRI (1L << 4) /* U+A800-U+A82F */ - /* Bit 101 Linear B Syllabary */ - /* Linear B Ideograms */ - /* Aegean Numbers */ -#define TT_UCR_LINEAR_B (1L << 5) /*U+10000-U+1007F*/ - /*U+10080-U+100FF*/ - /*U+10100-U+1013F*/ - /* Bit 102 Ancient Greek Numbers */ -#define TT_UCR_ANCIENT_GREEK_NUMBERS (1L << 6) /*U+10140-U+1018F*/ - /* Bit 103 Ugaritic */ -#define TT_UCR_UGARITIC (1L << 7) /*U+10380-U+1039F*/ - /* Bit 104 Old Persian */ -#define TT_UCR_OLD_PERSIAN (1L << 8) /*U+103A0-U+103DF*/ - /* Bit 105 Shavian */ -#define TT_UCR_SHAVIAN (1L << 9) /*U+10450-U+1047F*/ - /* Bit 106 Osmanya */ -#define TT_UCR_OSMANYA (1L << 10) /*U+10480-U+104AF*/ - /* Bit 107 Cypriot Syllabary */ -#define TT_UCR_CYPRIOT_SYLLABARY (1L << 11) /*U+10800-U+1083F*/ - /* Bit 108 Kharoshthi */ -#define TT_UCR_KHAROSHTHI (1L << 12) /*U+10A00-U+10A5F*/ - /* Bit 109 Tai Xuan Jing Symbols */ -#define TT_UCR_TAI_XUAN_JING (1L << 13) /*U+1D300-U+1D35F*/ - /* Bit 110 Cuneiform */ - /* Cuneiform Numbers and Punctuation */ -#define TT_UCR_CUNEIFORM (1L << 14) /*U+12000-U+123FF*/ - /*U+12400-U+1247F*/ - /* Bit 111 Counting Rod Numerals */ -#define TT_UCR_COUNTING_ROD_NUMERALS (1L << 15) /*U+1D360-U+1D37F*/ - /* Bit 112 Sundanese */ -#define TT_UCR_SUNDANESE (1L << 16) /* U+1B80-U+1BBF */ - /* Bit 113 Lepcha */ -#define TT_UCR_LEPCHA (1L << 17) /* U+1C00-U+1C4F */ - /* Bit 114 Ol Chiki */ -#define TT_UCR_OL_CHIKI (1L << 18) /* U+1C50-U+1C7F */ - /* Bit 115 Saurashtra */ -#define TT_UCR_SAURASHTRA (1L << 19) /* U+A880-U+A8DF */ - /* Bit 116 Kayah Li */ -#define TT_UCR_KAYAH_LI (1L << 20) /* U+A900-U+A92F */ - /* Bit 117 Rejang */ -#define TT_UCR_REJANG (1L << 21) /* U+A930-U+A95F */ - /* Bit 118 Cham */ -#define TT_UCR_CHAM (1L << 22) /* U+AA00-U+AA5F */ - /* Bit 119 Ancient Symbols */ -#define TT_UCR_ANCIENT_SYMBOLS (1L << 23) /*U+10190-U+101CF*/ - /* Bit 120 Phaistos Disc */ -#define TT_UCR_PHAISTOS_DISC (1L << 24) /*U+101D0-U+101FF*/ - /* Bit 121 Carian */ - /* Lycian */ - /* Lydian */ -#define TT_UCR_OLD_ANATOLIAN (1L << 25) /*U+102A0-U+102DF*/ - /*U+10280-U+1029F*/ - /*U+10920-U+1093F*/ - /* Bit 122 Domino Tiles */ - /* Mahjong Tiles */ -#define TT_UCR_GAME_TILES (1L << 26) /*U+1F030-U+1F09F*/ - /*U+1F000-U+1F02F*/ - /* Bit 123-127 Reserved for process-internal usage */ - - /* */ - - /* for backward compatibility with older FreeType versions */ -#define TT_UCR_ARABIC_PRESENTATION_A \ - TT_UCR_ARABIC_PRESENTATION_FORMS_A -#define TT_UCR_ARABIC_PRESENTATION_B \ - TT_UCR_ARABIC_PRESENTATION_FORMS_B - -#define TT_UCR_COMBINING_DIACRITICS \ - TT_UCR_COMBINING_DIACRITICAL_MARKS -#define TT_UCR_COMBINING_DIACRITICS_SYMB \ - TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB - - -FT_END_HEADER - -#endif /* TTNAMEID_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/tttables.h b/FreeType/include/freetype/tttables.h deleted file mode 100644 index d04f810..0000000 --- a/FreeType/include/freetype/tttables.h +++ /dev/null @@ -1,856 +0,0 @@ -/**************************************************************************** - * - * tttables.h - * - * Basic SFNT/TrueType tables definitions and interface - * (specification only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef TTTABLES_H_ -#define TTTABLES_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - /************************************************************************** - * - * @section: - * truetype_tables - * - * @title: - * TrueType Tables - * - * @abstract: - * TrueType-specific table types and functions. - * - * @description: - * This section contains definitions of some basic tables specific to - * TrueType and OpenType as well as some routines used to access and - * process them. - * - * @order: - * TT_Header - * TT_HoriHeader - * TT_VertHeader - * TT_OS2 - * TT_Postscript - * TT_PCLT - * TT_MaxProfile - * - * FT_Sfnt_Tag - * FT_Get_Sfnt_Table - * FT_Load_Sfnt_Table - * FT_Sfnt_Table_Info - * - * FT_Get_CMap_Language_ID - * FT_Get_CMap_Format - * - * FT_PARAM_TAG_UNPATENTED_HINTING - * - */ - - - /************************************************************************** - * - * @struct: - * TT_Header - * - * @description: - * A structure to model a TrueType font header table. All fields follow - * the OpenType specification. The 64-bit timestamps are stored in - * two-element arrays `Created` and `Modified`, first the upper then - * the lower 32~bits. - */ - typedef struct TT_Header_ - { - FT_Fixed Table_Version; - FT_Fixed Font_Revision; - - FT_Long CheckSum_Adjust; - FT_Long Magic_Number; - - FT_UShort Flags; - FT_UShort Units_Per_EM; - - FT_ULong Created [2]; - FT_ULong Modified[2]; - - FT_Short xMin; - FT_Short yMin; - FT_Short xMax; - FT_Short yMax; - - FT_UShort Mac_Style; - FT_UShort Lowest_Rec_PPEM; - - FT_Short Font_Direction; - FT_Short Index_To_Loc_Format; - FT_Short Glyph_Data_Format; - - } TT_Header; - - - /************************************************************************** - * - * @struct: - * TT_HoriHeader - * - * @description: - * A structure to model a TrueType horizontal header, the 'hhea' table, - * as well as the corresponding horizontal metrics table, 'hmtx'. - * - * @fields: - * Version :: - * The table version. - * - * Ascender :: - * The font's ascender, i.e., the distance from the baseline to the - * top-most of all glyph points found in the font. - * - * This value is invalid in many fonts, as it is usually set by the - * font designer, and often reflects only a portion of the glyphs found - * in the font (maybe ASCII). - * - * You should use the `sTypoAscender` field of the 'OS/2' table instead - * if you want the correct one. - * - * Descender :: - * The font's descender, i.e., the distance from the baseline to the - * bottom-most of all glyph points found in the font. It is negative. - * - * This value is invalid in many fonts, as it is usually set by the - * font designer, and often reflects only a portion of the glyphs found - * in the font (maybe ASCII). - * - * You should use the `sTypoDescender` field of the 'OS/2' table - * instead if you want the correct one. - * - * Line_Gap :: - * The font's line gap, i.e., the distance to add to the ascender and - * descender to get the BTB, i.e., the baseline-to-baseline distance - * for the font. - * - * advance_Width_Max :: - * This field is the maximum of all advance widths found in the font. - * It can be used to compute the maximum width of an arbitrary string - * of text. - * - * min_Left_Side_Bearing :: - * The minimum left side bearing of all glyphs within the font. - * - * min_Right_Side_Bearing :: - * The minimum right side bearing of all glyphs within the font. - * - * xMax_Extent :: - * The maximum horizontal extent (i.e., the 'width' of a glyph's - * bounding box) for all glyphs in the font. - * - * caret_Slope_Rise :: - * The rise coefficient of the cursor's slope of the cursor - * (slope=rise/run). - * - * caret_Slope_Run :: - * The run coefficient of the cursor's slope. - * - * caret_Offset :: - * The cursor's offset for slanted fonts. - * - * Reserved :: - * 8~reserved bytes. - * - * metric_Data_Format :: - * Always~0. - * - * number_Of_HMetrics :: - * Number of HMetrics entries in the 'hmtx' table -- this value can be - * smaller than the total number of glyphs in the font. - * - * long_metrics :: - * A pointer into the 'hmtx' table. - * - * short_metrics :: - * A pointer into the 'hmtx' table. - * - * @note: - * For an OpenType variation font, the values of the following fields can - * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if - * the font contains an 'MVAR' table: `caret_Slope_Rise`, - * `caret_Slope_Run`, and `caret_Offset`. - */ - typedef struct TT_HoriHeader_ - { - FT_Fixed Version; - FT_Short Ascender; - FT_Short Descender; - FT_Short Line_Gap; - - FT_UShort advance_Width_Max; /* advance width maximum */ - - FT_Short min_Left_Side_Bearing; /* minimum left-sb */ - FT_Short min_Right_Side_Bearing; /* minimum right-sb */ - FT_Short xMax_Extent; /* xmax extents */ - FT_Short caret_Slope_Rise; - FT_Short caret_Slope_Run; - FT_Short caret_Offset; - - FT_Short Reserved[4]; - - FT_Short metric_Data_Format; - FT_UShort number_Of_HMetrics; - - /* The following fields are not defined by the OpenType specification */ - /* but they are used to connect the metrics header to the relevant */ - /* 'hmtx' table. */ - - void* long_metrics; - void* short_metrics; - - } TT_HoriHeader; - - - /************************************************************************** - * - * @struct: - * TT_VertHeader - * - * @description: - * A structure used to model a TrueType vertical header, the 'vhea' - * table, as well as the corresponding vertical metrics table, 'vmtx'. - * - * @fields: - * Version :: - * The table version. - * - * Ascender :: - * The font's ascender, i.e., the distance from the baseline to the - * top-most of all glyph points found in the font. - * - * This value is invalid in many fonts, as it is usually set by the - * font designer, and often reflects only a portion of the glyphs found - * in the font (maybe ASCII). - * - * You should use the `sTypoAscender` field of the 'OS/2' table instead - * if you want the correct one. - * - * Descender :: - * The font's descender, i.e., the distance from the baseline to the - * bottom-most of all glyph points found in the font. It is negative. - * - * This value is invalid in many fonts, as it is usually set by the - * font designer, and often reflects only a portion of the glyphs found - * in the font (maybe ASCII). - * - * You should use the `sTypoDescender` field of the 'OS/2' table - * instead if you want the correct one. - * - * Line_Gap :: - * The font's line gap, i.e., the distance to add to the ascender and - * descender to get the BTB, i.e., the baseline-to-baseline distance - * for the font. - * - * advance_Height_Max :: - * This field is the maximum of all advance heights found in the font. - * It can be used to compute the maximum height of an arbitrary string - * of text. - * - * min_Top_Side_Bearing :: - * The minimum top side bearing of all glyphs within the font. - * - * min_Bottom_Side_Bearing :: - * The minimum bottom side bearing of all glyphs within the font. - * - * yMax_Extent :: - * The maximum vertical extent (i.e., the 'height' of a glyph's - * bounding box) for all glyphs in the font. - * - * caret_Slope_Rise :: - * The rise coefficient of the cursor's slope of the cursor - * (slope=rise/run). - * - * caret_Slope_Run :: - * The run coefficient of the cursor's slope. - * - * caret_Offset :: - * The cursor's offset for slanted fonts. - * - * Reserved :: - * 8~reserved bytes. - * - * metric_Data_Format :: - * Always~0. - * - * number_Of_VMetrics :: - * Number of VMetrics entries in the 'vmtx' table -- this value can be - * smaller than the total number of glyphs in the font. - * - * long_metrics :: - * A pointer into the 'vmtx' table. - * - * short_metrics :: - * A pointer into the 'vmtx' table. - * - * @note: - * For an OpenType variation font, the values of the following fields can - * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if - * the font contains an 'MVAR' table: `Ascender`, `Descender`, - * `Line_Gap`, `caret_Slope_Rise`, `caret_Slope_Run`, and `caret_Offset`. - */ - typedef struct TT_VertHeader_ - { - FT_Fixed Version; - FT_Short Ascender; - FT_Short Descender; - FT_Short Line_Gap; - - FT_UShort advance_Height_Max; /* advance height maximum */ - - FT_Short min_Top_Side_Bearing; /* minimum top-sb */ - FT_Short min_Bottom_Side_Bearing; /* minimum bottom-sb */ - FT_Short yMax_Extent; /* ymax extents */ - FT_Short caret_Slope_Rise; - FT_Short caret_Slope_Run; - FT_Short caret_Offset; - - FT_Short Reserved[4]; - - FT_Short metric_Data_Format; - FT_UShort number_Of_VMetrics; - - /* The following fields are not defined by the OpenType specification */ - /* but they are used to connect the metrics header to the relevant */ - /* 'vmtx' table. */ - - void* long_metrics; - void* short_metrics; - - } TT_VertHeader; - - - /************************************************************************** - * - * @struct: - * TT_OS2 - * - * @description: - * A structure to model a TrueType 'OS/2' table. All fields comply to - * the OpenType specification. - * - * Note that we now support old Mac fonts that do not include an 'OS/2' - * table. In this case, the `version` field is always set to 0xFFFF. - * - * @note: - * For an OpenType variation font, the values of the following fields can - * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if - * the font contains an 'MVAR' table: `sCapHeight`, `sTypoAscender`, - * `sTypoDescender`, `sTypoLineGap`, `sxHeight`, `usWinAscent`, - * `usWinDescent`, `yStrikeoutPosition`, `yStrikeoutSize`, - * `ySubscriptXOffset`, `ySubScriptXSize`, `ySubscriptYOffset`, - * `ySubscriptYSize`, `ySuperscriptXOffset`, `ySuperscriptXSize`, - * `ySuperscriptYOffset`, and `ySuperscriptYSize`. - * - * Possible values for bits in the `ulUnicodeRangeX` fields are given by - * the @TT_UCR_XXX macros. - */ - - typedef struct TT_OS2_ - { - FT_UShort version; /* 0x0001 - more or 0xFFFF */ - FT_Short xAvgCharWidth; - FT_UShort usWeightClass; - FT_UShort usWidthClass; - FT_UShort fsType; - FT_Short ySubscriptXSize; - FT_Short ySubscriptYSize; - FT_Short ySubscriptXOffset; - FT_Short ySubscriptYOffset; - FT_Short ySuperscriptXSize; - FT_Short ySuperscriptYSize; - FT_Short ySuperscriptXOffset; - FT_Short ySuperscriptYOffset; - FT_Short yStrikeoutSize; - FT_Short yStrikeoutPosition; - FT_Short sFamilyClass; - - FT_Byte panose[10]; - - FT_ULong ulUnicodeRange1; /* Bits 0-31 */ - FT_ULong ulUnicodeRange2; /* Bits 32-63 */ - FT_ULong ulUnicodeRange3; /* Bits 64-95 */ - FT_ULong ulUnicodeRange4; /* Bits 96-127 */ - - FT_Char achVendID[4]; - - FT_UShort fsSelection; - FT_UShort usFirstCharIndex; - FT_UShort usLastCharIndex; - FT_Short sTypoAscender; - FT_Short sTypoDescender; - FT_Short sTypoLineGap; - FT_UShort usWinAscent; - FT_UShort usWinDescent; - - /* only version 1 and higher: */ - - FT_ULong ulCodePageRange1; /* Bits 0-31 */ - FT_ULong ulCodePageRange2; /* Bits 32-63 */ - - /* only version 2 and higher: */ - - FT_Short sxHeight; - FT_Short sCapHeight; - FT_UShort usDefaultChar; - FT_UShort usBreakChar; - FT_UShort usMaxContext; - - /* only version 5 and higher: */ - - FT_UShort usLowerOpticalPointSize; /* in twips (1/20th points) */ - FT_UShort usUpperOpticalPointSize; /* in twips (1/20th points) */ - - } TT_OS2; - - - /************************************************************************** - * - * @struct: - * TT_Postscript - * - * @description: - * A structure to model a TrueType 'post' table. All fields comply to - * the OpenType specification. This structure does not reference a - * font's PostScript glyph names; use @FT_Get_Glyph_Name to retrieve - * them. - * - * @note: - * For an OpenType variation font, the values of the following fields can - * change after a call to @FT_Set_Var_Design_Coordinates (and friends) if - * the font contains an 'MVAR' table: `underlinePosition` and - * `underlineThickness`. - */ - typedef struct TT_Postscript_ - { - FT_Fixed FormatType; - FT_Fixed italicAngle; - FT_Short underlinePosition; - FT_Short underlineThickness; - FT_ULong isFixedPitch; - FT_ULong minMemType42; - FT_ULong maxMemType42; - FT_ULong minMemType1; - FT_ULong maxMemType1; - - /* Glyph names follow in the 'post' table, but we don't */ - /* load them by default. */ - - } TT_Postscript; - - - /************************************************************************** - * - * @struct: - * TT_PCLT - * - * @description: - * A structure to model a TrueType 'PCLT' table. All fields comply to - * the OpenType specification. - */ - typedef struct TT_PCLT_ - { - FT_Fixed Version; - FT_ULong FontNumber; - FT_UShort Pitch; - FT_UShort xHeight; - FT_UShort Style; - FT_UShort TypeFamily; - FT_UShort CapHeight; - FT_UShort SymbolSet; - FT_Char TypeFace[16]; - FT_Char CharacterComplement[8]; - FT_Char FileName[6]; - FT_Char StrokeWeight; - FT_Char WidthType; - FT_Byte SerifStyle; - FT_Byte Reserved; - - } TT_PCLT; - - - /************************************************************************** - * - * @struct: - * TT_MaxProfile - * - * @description: - * The maximum profile ('maxp') table contains many max values, which can - * be used to pre-allocate arrays for speeding up glyph loading and - * hinting. - * - * @fields: - * version :: - * The version number. - * - * numGlyphs :: - * The number of glyphs in this TrueType font. - * - * maxPoints :: - * The maximum number of points in a non-composite TrueType glyph. See - * also `maxCompositePoints`. - * - * maxContours :: - * The maximum number of contours in a non-composite TrueType glyph. - * See also `maxCompositeContours`. - * - * maxCompositePoints :: - * The maximum number of points in a composite TrueType glyph. See - * also `maxPoints`. - * - * maxCompositeContours :: - * The maximum number of contours in a composite TrueType glyph. See - * also `maxContours`. - * - * maxZones :: - * The maximum number of zones used for glyph hinting. - * - * maxTwilightPoints :: - * The maximum number of points in the twilight zone used for glyph - * hinting. - * - * maxStorage :: - * The maximum number of elements in the storage area used for glyph - * hinting. - * - * maxFunctionDefs :: - * The maximum number of function definitions in the TrueType bytecode - * for this font. - * - * maxInstructionDefs :: - * The maximum number of instruction definitions in the TrueType - * bytecode for this font. - * - * maxStackElements :: - * The maximum number of stack elements used during bytecode - * interpretation. - * - * maxSizeOfInstructions :: - * The maximum number of TrueType opcodes used for glyph hinting. - * - * maxComponentElements :: - * The maximum number of simple (i.e., non-composite) glyphs in a - * composite glyph. - * - * maxComponentDepth :: - * The maximum nesting depth of composite glyphs. - * - * @note: - * This structure is only used during font loading. - */ - typedef struct TT_MaxProfile_ - { - FT_Fixed version; - FT_UShort numGlyphs; - FT_UShort maxPoints; - FT_UShort maxContours; - FT_UShort maxCompositePoints; - FT_UShort maxCompositeContours; - FT_UShort maxZones; - FT_UShort maxTwilightPoints; - FT_UShort maxStorage; - FT_UShort maxFunctionDefs; - FT_UShort maxInstructionDefs; - FT_UShort maxStackElements; - FT_UShort maxSizeOfInstructions; - FT_UShort maxComponentElements; - FT_UShort maxComponentDepth; - - } TT_MaxProfile; - - - /************************************************************************** - * - * @enum: - * FT_Sfnt_Tag - * - * @description: - * An enumeration to specify indices of SFNT tables loaded and parsed by - * FreeType during initialization of an SFNT font. Used in the - * @FT_Get_Sfnt_Table API function. - * - * @values: - * FT_SFNT_HEAD :: - * To access the font's @TT_Header structure. - * - * FT_SFNT_MAXP :: - * To access the font's @TT_MaxProfile structure. - * - * FT_SFNT_OS2 :: - * To access the font's @TT_OS2 structure. - * - * FT_SFNT_HHEA :: - * To access the font's @TT_HoriHeader structure. - * - * FT_SFNT_VHEA :: - * To access the font's @TT_VertHeader structure. - * - * FT_SFNT_POST :: - * To access the font's @TT_Postscript structure. - * - * FT_SFNT_PCLT :: - * To access the font's @TT_PCLT structure. - */ - typedef enum FT_Sfnt_Tag_ - { - FT_SFNT_HEAD, - FT_SFNT_MAXP, - FT_SFNT_OS2, - FT_SFNT_HHEA, - FT_SFNT_VHEA, - FT_SFNT_POST, - FT_SFNT_PCLT, - - FT_SFNT_MAX - - } FT_Sfnt_Tag; - - /* these constants are deprecated; use the corresponding `FT_Sfnt_Tag` */ - /* values instead */ -#define ft_sfnt_head FT_SFNT_HEAD -#define ft_sfnt_maxp FT_SFNT_MAXP -#define ft_sfnt_os2 FT_SFNT_OS2 -#define ft_sfnt_hhea FT_SFNT_HHEA -#define ft_sfnt_vhea FT_SFNT_VHEA -#define ft_sfnt_post FT_SFNT_POST -#define ft_sfnt_pclt FT_SFNT_PCLT - - - /************************************************************************** - * - * @function: - * FT_Get_Sfnt_Table - * - * @description: - * Return a pointer to a given SFNT table stored within a face. - * - * @input: - * face :: - * A handle to the source. - * - * tag :: - * The index of the SFNT table. - * - * @return: - * A type-less pointer to the table. This will be `NULL` in case of - * error, or if the corresponding table was not found **OR** loaded from - * the file. - * - * Use a typecast according to `tag` to access the structure elements. - * - * @note: - * The table is owned by the face object and disappears with it. - * - * This function is only useful to access SFNT tables that are loaded by - * the sfnt, truetype, and opentype drivers. See @FT_Sfnt_Tag for a - * list. - * - * @example: - * Here is an example demonstrating access to the 'vhea' table. - * - * ``` - * TT_VertHeader* vert_header; - * - * - * vert_header = - * (TT_VertHeader*)FT_Get_Sfnt_Table( face, FT_SFNT_VHEA ); - * ``` - */ - FT_EXPORT( void* ) - FT_Get_Sfnt_Table( FT_Face face, - FT_Sfnt_Tag tag ); - - - /************************************************************************** - * - * @function: - * FT_Load_Sfnt_Table - * - * @description: - * Load any SFNT font table into client memory. - * - * @input: - * face :: - * A handle to the source face. - * - * tag :: - * The four-byte tag of the table to load. Use value~0 if you want to - * access the whole font file. Otherwise, you can use one of the - * definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new - * one with @FT_MAKE_TAG. - * - * offset :: - * The starting offset in the table (or file if tag~==~0). - * - * @output: - * buffer :: - * The target buffer address. The client must ensure that the memory - * array is big enough to hold the data. - * - * @inout: - * length :: - * If the `length` parameter is `NULL`, try to load the whole table. - * Return an error code if it fails. - * - * Else, if `*length` is~0, exit immediately while returning the - * table's (or file) full size in it. - * - * Else the number of bytes to read from the table or file, from the - * starting offset. - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * If you need to determine the table's length you should first call this - * function with `*length` set to~0, as in the following example: - * - * ``` - * FT_ULong length = 0; - * - * - * error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length ); - * if ( error ) { ... table does not exist ... } - * - * buffer = malloc( length ); - * if ( buffer == NULL ) { ... not enough memory ... } - * - * error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length ); - * if ( error ) { ... could not load table ... } - * ``` - * - * Note that structures like @TT_Header or @TT_OS2 can't be used with - * this function; they are limited to @FT_Get_Sfnt_Table. Reason is that - * those structures depend on the processor architecture, with varying - * size (e.g. 32bit vs. 64bit) or order (big endian vs. little endian). - * - */ - FT_EXPORT( FT_Error ) - FT_Load_Sfnt_Table( FT_Face face, - FT_ULong tag, - FT_Long offset, - FT_Byte* buffer, - FT_ULong* length ); - - - /************************************************************************** - * - * @function: - * FT_Sfnt_Table_Info - * - * @description: - * Return information on an SFNT table. - * - * @input: - * face :: - * A handle to the source face. - * - * table_index :: - * The index of an SFNT table. The function returns - * FT_Err_Table_Missing for an invalid value. - * - * @inout: - * tag :: - * The name tag of the SFNT table. If the value is `NULL`, - * `table_index` is ignored, and `length` returns the number of SFNT - * tables in the font. - * - * @output: - * length :: - * The length of the SFNT table (or the number of SFNT tables, - * depending on `tag`). - * - * @return: - * FreeType error code. 0~means success. - * - * @note: - * While parsing fonts, FreeType handles SFNT tables with length zero as - * missing. - * - */ - FT_EXPORT( FT_Error ) - FT_Sfnt_Table_Info( FT_Face face, - FT_UInt table_index, - FT_ULong *tag, - FT_ULong *length ); - - - /************************************************************************** - * - * @function: - * FT_Get_CMap_Language_ID - * - * @description: - * Return cmap language ID as specified in the OpenType standard. - * Definitions of language ID values are in file @FT_TRUETYPE_IDS_H. - * - * @input: - * charmap :: - * The target charmap. - * - * @return: - * The language ID of `charmap`. If `charmap` doesn't belong to an SFNT - * face, just return~0 as the default value. - * - * For a format~14 cmap (to access Unicode IVS), the return value is - * 0xFFFFFFFF. - */ - FT_EXPORT( FT_ULong ) - FT_Get_CMap_Language_ID( FT_CharMap charmap ); - - - /************************************************************************** - * - * @function: - * FT_Get_CMap_Format - * - * @description: - * Return the format of an SFNT 'cmap' table. - * - * @input: - * charmap :: - * The target charmap. - * - * @return: - * The format of `charmap`. If `charmap` doesn't belong to an SFNT face, - * return -1. - */ - FT_EXPORT( FT_Long ) - FT_Get_CMap_Format( FT_CharMap charmap ); - - /* */ - - -FT_END_HEADER - -#endif /* TTTABLES_H_ */ - - -/* END */ diff --git a/FreeType/include/freetype/tttags.h b/FreeType/include/freetype/tttags.h deleted file mode 100644 index bd0986e..0000000 --- a/FreeType/include/freetype/tttags.h +++ /dev/null @@ -1,123 +0,0 @@ -/**************************************************************************** - * - * tttags.h - * - * Tags for TrueType and OpenType tables (specification only). - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - -#ifndef TTAGS_H_ -#define TTAGS_H_ - - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - -#define TTAG_avar FT_MAKE_TAG( 'a', 'v', 'a', 'r' ) -#define TTAG_BASE FT_MAKE_TAG( 'B', 'A', 'S', 'E' ) -#define TTAG_bdat FT_MAKE_TAG( 'b', 'd', 'a', 't' ) -#define TTAG_BDF FT_MAKE_TAG( 'B', 'D', 'F', ' ' ) -#define TTAG_bhed FT_MAKE_TAG( 'b', 'h', 'e', 'd' ) -#define TTAG_bloc FT_MAKE_TAG( 'b', 'l', 'o', 'c' ) -#define TTAG_bsln FT_MAKE_TAG( 'b', 's', 'l', 'n' ) -#define TTAG_CBDT FT_MAKE_TAG( 'C', 'B', 'D', 'T' ) -#define TTAG_CBLC FT_MAKE_TAG( 'C', 'B', 'L', 'C' ) -#define TTAG_CFF FT_MAKE_TAG( 'C', 'F', 'F', ' ' ) -#define TTAG_CFF2 FT_MAKE_TAG( 'C', 'F', 'F', '2' ) -#define TTAG_CID FT_MAKE_TAG( 'C', 'I', 'D', ' ' ) -#define TTAG_cmap FT_MAKE_TAG( 'c', 'm', 'a', 'p' ) -#define TTAG_COLR FT_MAKE_TAG( 'C', 'O', 'L', 'R' ) -#define TTAG_CPAL FT_MAKE_TAG( 'C', 'P', 'A', 'L' ) -#define TTAG_cvar FT_MAKE_TAG( 'c', 'v', 'a', 'r' ) -#define TTAG_cvt FT_MAKE_TAG( 'c', 'v', 't', ' ' ) -#define TTAG_DSIG FT_MAKE_TAG( 'D', 'S', 'I', 'G' ) -#define TTAG_EBDT FT_MAKE_TAG( 'E', 'B', 'D', 'T' ) -#define TTAG_EBLC FT_MAKE_TAG( 'E', 'B', 'L', 'C' ) -#define TTAG_EBSC FT_MAKE_TAG( 'E', 'B', 'S', 'C' ) -#define TTAG_feat FT_MAKE_TAG( 'f', 'e', 'a', 't' ) -#define TTAG_FOND FT_MAKE_TAG( 'F', 'O', 'N', 'D' ) -#define TTAG_fpgm FT_MAKE_TAG( 'f', 'p', 'g', 'm' ) -#define TTAG_fvar FT_MAKE_TAG( 'f', 'v', 'a', 'r' ) -#define TTAG_gasp FT_MAKE_TAG( 'g', 'a', 's', 'p' ) -#define TTAG_GDEF FT_MAKE_TAG( 'G', 'D', 'E', 'F' ) -#define TTAG_glyf FT_MAKE_TAG( 'g', 'l', 'y', 'f' ) -#define TTAG_GPOS FT_MAKE_TAG( 'G', 'P', 'O', 'S' ) -#define TTAG_GSUB FT_MAKE_TAG( 'G', 'S', 'U', 'B' ) -#define TTAG_gvar FT_MAKE_TAG( 'g', 'v', 'a', 'r' ) -#define TTAG_HVAR FT_MAKE_TAG( 'H', 'V', 'A', 'R' ) -#define TTAG_hdmx FT_MAKE_TAG( 'h', 'd', 'm', 'x' ) -#define TTAG_head FT_MAKE_TAG( 'h', 'e', 'a', 'd' ) -#define TTAG_hhea FT_MAKE_TAG( 'h', 'h', 'e', 'a' ) -#define TTAG_hmtx FT_MAKE_TAG( 'h', 'm', 't', 'x' ) -#define TTAG_JSTF FT_MAKE_TAG( 'J', 'S', 'T', 'F' ) -#define TTAG_just FT_MAKE_TAG( 'j', 'u', 's', 't' ) -#define TTAG_kern FT_MAKE_TAG( 'k', 'e', 'r', 'n' ) -#define TTAG_lcar FT_MAKE_TAG( 'l', 'c', 'a', 'r' ) -#define TTAG_loca FT_MAKE_TAG( 'l', 'o', 'c', 'a' ) -#define TTAG_LTSH FT_MAKE_TAG( 'L', 'T', 'S', 'H' ) -#define TTAG_LWFN FT_MAKE_TAG( 'L', 'W', 'F', 'N' ) -#define TTAG_MATH FT_MAKE_TAG( 'M', 'A', 'T', 'H' ) -#define TTAG_maxp FT_MAKE_TAG( 'm', 'a', 'x', 'p' ) -#define TTAG_META FT_MAKE_TAG( 'M', 'E', 'T', 'A' ) -#define TTAG_MMFX FT_MAKE_TAG( 'M', 'M', 'F', 'X' ) -#define TTAG_MMSD FT_MAKE_TAG( 'M', 'M', 'S', 'D' ) -#define TTAG_mort FT_MAKE_TAG( 'm', 'o', 'r', 't' ) -#define TTAG_morx FT_MAKE_TAG( 'm', 'o', 'r', 'x' ) -#define TTAG_MVAR FT_MAKE_TAG( 'M', 'V', 'A', 'R' ) -#define TTAG_name FT_MAKE_TAG( 'n', 'a', 'm', 'e' ) -#define TTAG_opbd FT_MAKE_TAG( 'o', 'p', 'b', 'd' ) -#define TTAG_OS2 FT_MAKE_TAG( 'O', 'S', '/', '2' ) -#define TTAG_OTTO FT_MAKE_TAG( 'O', 'T', 'T', 'O' ) -#define TTAG_PCLT FT_MAKE_TAG( 'P', 'C', 'L', 'T' ) -#define TTAG_POST FT_MAKE_TAG( 'P', 'O', 'S', 'T' ) -#define TTAG_post FT_MAKE_TAG( 'p', 'o', 's', 't' ) -#define TTAG_prep FT_MAKE_TAG( 'p', 'r', 'e', 'p' ) -#define TTAG_prop FT_MAKE_TAG( 'p', 'r', 'o', 'p' ) -#define TTAG_sbix FT_MAKE_TAG( 's', 'b', 'i', 'x' ) -#define TTAG_sfnt FT_MAKE_TAG( 's', 'f', 'n', 't' ) -#define TTAG_SING FT_MAKE_TAG( 'S', 'I', 'N', 'G' ) -#define TTAG_trak FT_MAKE_TAG( 't', 'r', 'a', 'k' ) -#define TTAG_true FT_MAKE_TAG( 't', 'r', 'u', 'e' ) -#define TTAG_ttc FT_MAKE_TAG( 't', 't', 'c', ' ' ) -#define TTAG_ttcf FT_MAKE_TAG( 't', 't', 'c', 'f' ) -#define TTAG_TYP1 FT_MAKE_TAG( 'T', 'Y', 'P', '1' ) -#define TTAG_typ1 FT_MAKE_TAG( 't', 'y', 'p', '1' ) -#define TTAG_VDMX FT_MAKE_TAG( 'V', 'D', 'M', 'X' ) -#define TTAG_vhea FT_MAKE_TAG( 'v', 'h', 'e', 'a' ) -#define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' ) -#define TTAG_VVAR FT_MAKE_TAG( 'V', 'V', 'A', 'R' ) -#define TTAG_wOFF FT_MAKE_TAG( 'w', 'O', 'F', 'F' ) - -/* used by "Keyboard.dfont" on legacy Mac OS X */ -#define TTAG_0xA5kbd FT_MAKE_TAG( 0xA5, 'k', 'b', 'd' ) - -/* used by "LastResort.dfont" on legacy Mac OS X */ -#define TTAG_0xA5lst FT_MAKE_TAG( 0xA5, 'l', 's', 't' ) - - -FT_END_HEADER - -#endif /* TTAGS_H_ */ - - -/* END */ diff --git a/FreeType/include/ft2build.h b/FreeType/include/ft2build.h deleted file mode 100644 index e3f4887..0000000 --- a/FreeType/include/ft2build.h +++ /dev/null @@ -1,44 +0,0 @@ -/**************************************************************************** - * - * ft2build.h - * - * FreeType 2 build and setup macros. - * - * Copyright (C) 1996-2019 by - * David Turner, Robert Wilhelm, and Werner Lemberg. - * - * This file is part of the FreeType project, and may only be used, - * modified, and distributed under the terms of the FreeType project - * license, LICENSE.TXT. By continuing to use, modify, or distribute - * this file you indicate that you have read the license and - * understand and accept it fully. - * - */ - - - /************************************************************************** - * - * This is the 'entry point' for FreeType header file inclusions. It is - * the only header file which should be included directly; all other - * FreeType header files should be accessed with macro names (after - * including `ft2build.h`). - * - * A typical example is - * - * ``` - * #include - * #include FT_FREETYPE_H - * ``` - * - */ - - -#ifndef FT2BUILD_H_ -#define FT2BUILD_H_ - -#include - -#endif /* FT2BUILD_H_ */ - - -/* END */ diff --git a/OpenJPEG/bin/openjp2.dll b/OpenJPEG/bin/openjp2.dll deleted file mode 100644 index 3f07a7a23819419244d1ba79496e2260e7e797ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383488 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

Bbr({T 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%0A{M*)&Cyle5Q@_(4I^B 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

49A9%Oo33QhRX?DUH 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 Gf&UL_Wi1>4 diff --git a/OpenJPEG/bin/openjp2.lib b/OpenJPEG/bin/openjp2.lib deleted file mode 100644 index 0ef3697b3262a87aabc6cdc3d62501fec9d11191..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12796 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 E15BXhN&o-= diff --git a/OpenJPEG/bin/openjp2.pdb b/OpenJPEG/bin/openjp2.pdb deleted file mode 100644 index b026f1e6e2625f1d23d40fb1227aafaab3bf001d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1200128 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�f+ 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�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

A3?x_I4x+x~f( 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¬@Yc-Y9CoU+D>InB0kOD0n? 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 -* Copyright (c) 2010-2011, Kaori Hagihara -* Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France -* Copyright (c) 2012, CS Systemes d'Information, France -* All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions -* are met: -* 1. Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* 2. Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* -* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' -* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -* POSSIBILITY OF SUCH DAMAGE. -*/ -#ifndef OPENJPEG_H -#define OPENJPEG_H - - -/* -========================================================== - Compiler directives -========================================================== -*/ - -/* -The inline keyword is supported by C99 but not by C90. -Most compilers implement their own version of this keyword ... -*/ -#ifndef INLINE -#if defined(_MSC_VER) -#define INLINE __forceinline -#elif defined(__GNUC__) -#define INLINE __inline__ -#elif defined(__MWERKS__) -#define INLINE inline -#else -/* add other compilers here ... */ -#define INLINE -#endif /* defined() */ -#endif /* INLINE */ - -/* deprecated attribute */ -#ifdef __GNUC__ -#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated)) -#elif defined(_MSC_VER) -#define OPJ_DEPRECATED(func) __declspec(deprecated) func -#else -#pragma message("WARNING: You need to implement DEPRECATED for this compiler") -#define OPJ_DEPRECATED(func) func -#endif - -#if defined(OPJ_STATIC) || !defined(_WIN32) -/* http://gcc.gnu.org/wiki/Visibility */ -# if __GNUC__ >= 4 -# if defined(OPJ_STATIC) /* static library uses "hidden" */ -# define OPJ_API __attribute__ ((visibility ("hidden"))) -# else -# define OPJ_API __attribute__ ((visibility ("default"))) -# endif -# define OPJ_LOCAL __attribute__ ((visibility ("hidden"))) -# else -# define OPJ_API -# define OPJ_LOCAL -# endif -# define OPJ_CALLCONV -#else -# define OPJ_CALLCONV __stdcall -/* -The following ifdef block is the standard way of creating macros which make exporting -from a DLL simpler. All files within this DLL are compiled with the OPJ_EXPORTS -symbol defined on the command line. this symbol should not be defined on any project -that uses this DLL. This way any other project whose source files include this file see -OPJ_API functions as being imported from a DLL, whereas this DLL sees symbols -defined with this macro as being exported. -*/ -# if defined(OPJ_EXPORTS) || defined(DLL_EXPORT) -# define OPJ_API __declspec(dllexport) -# else -# define OPJ_API __declspec(dllimport) -# endif /* OPJ_EXPORTS */ -#endif /* !OPJ_STATIC || !_WIN32 */ - -typedef int OPJ_BOOL; -#define OPJ_TRUE 1 -#define OPJ_FALSE 0 - -typedef char OPJ_CHAR; -typedef float OPJ_FLOAT32; -typedef double OPJ_FLOAT64; -typedef unsigned char OPJ_BYTE; - -#include "opj_stdint.h" - -typedef int8_t OPJ_INT8; -typedef uint8_t OPJ_UINT8; -typedef int16_t OPJ_INT16; -typedef uint16_t OPJ_UINT16; -typedef int32_t OPJ_INT32; -typedef uint32_t OPJ_UINT32; -typedef int64_t OPJ_INT64; -typedef uint64_t OPJ_UINT64; - -typedef int64_t OPJ_OFF_T; /* 64-bit file offset type */ - -#include -typedef size_t OPJ_SIZE_T; - -/* Avoid compile-time warning because parameter is not used */ -#define OPJ_ARG_NOT_USED(x) (void)(x) - -/* -========================================================== - Useful constant definitions -========================================================== -*/ - -#define OPJ_PATH_LEN 4096 /**< Maximum allowed size for filenames */ - -#define OPJ_J2K_MAXRLVLS 33 /**< Number of maximum resolution level authorized */ -#define OPJ_J2K_MAXBANDS (3*OPJ_J2K_MAXRLVLS-2) /**< Number of maximum sub-band linked to number of resolution level */ - -#define OPJ_J2K_DEFAULT_NB_SEGS 10 -#define OPJ_J2K_STREAM_CHUNK_SIZE 0x100000 /** 1 mega by default */ -#define OPJ_J2K_DEFAULT_HEADER_SIZE 1000 -#define OPJ_J2K_MCC_DEFAULT_NB_RECORDS 10 -#define OPJ_J2K_MCT_DEFAULT_NB_RECORDS 10 - -/* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */ -#define JPWL_MAX_NO_TILESPECS 16 /**< Maximum number of tile parts expected by JPWL: increase at your will */ -#define JPWL_MAX_NO_PACKSPECS 16 /**< Maximum number of packet parts expected by JPWL: increase at your will */ -#define JPWL_MAX_NO_MARKERS 512 /**< Maximum number of JPWL markers: increase at your will */ -#define JPWL_PRIVATEINDEX_NAME "jpwl_index_privatefilename" /**< index file name used when JPWL is on */ -#define JPWL_EXPECTED_COMPONENTS 3 /**< Expect this number of components, so you'll find better the first EPB */ -#define JPWL_MAXIMUM_TILES 8192 /**< Expect this maximum number of tiles, to avoid some crashes */ -#define JPWL_MAXIMUM_HAMMING 2 /**< Expect this maximum number of bit errors in marker id's */ -#define JPWL_MAXIMUM_EPB_ROOM 65450 /**< Expect this maximum number of bytes for composition of EPBs */ -/* <= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_PROFILE_CINEMA_S4K)) -#define OPJ_IS_STORAGE(v) ((v) == OPJ_PROFILE_CINEMA_LTS) -#define OPJ_IS_BROADCAST(v) (((v) >= OPJ_PROFILE_BC_SINGLE)&&((v) <= ((OPJ_PROFILE_BC_MULTI_R) | (0x000b)))) -#define OPJ_IS_IMF(v) (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PROFILE_IMF_8K_R) | (0x009b)))) -#define OPJ_IS_PART2(v) ((v) & OPJ_PROFILE_PART2) - -/** - * JPEG 2000 codestream and component size limits in cinema profiles - * */ -#define OPJ_CINEMA_24_CS 1302083 /** Maximum codestream length for 24fps */ -#define OPJ_CINEMA_48_CS 651041 /** Maximum codestream length for 48fps */ -#define OPJ_CINEMA_24_COMP 1041666 /** Maximum size per color component for 2K & 4K @ 24fps */ -#define OPJ_CINEMA_48_COMP 520833 /** Maximum size per color component for 2K @ 48fps */ - -/* -========================================================== - enum definitions -========================================================== -*/ - -/** - * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead - * Rsiz Capabilities - * */ -typedef enum RSIZ_CAPABILITIES { - OPJ_STD_RSIZ = 0, /** Standard JPEG2000 profile*/ - OPJ_CINEMA2K = 3, /** Profile name for a 2K image*/ - OPJ_CINEMA4K = 4, /** Profile name for a 4K image*/ - OPJ_MCT = 0x8100 -} OPJ_RSIZ_CAPABILITIES; - -/** - * DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead - * Digital cinema operation mode - * */ -typedef enum CINEMA_MODE { - OPJ_OFF = 0, /** Not Digital Cinema*/ - OPJ_CINEMA2K_24 = 1, /** 2K Digital Cinema at 24 fps*/ - OPJ_CINEMA2K_48 = 2, /** 2K Digital Cinema at 48 fps*/ - OPJ_CINEMA4K_24 = 3 /** 4K Digital Cinema at 24 fps*/ -} OPJ_CINEMA_MODE; - -/** - * Progression order - * */ -typedef enum PROG_ORDER { - OPJ_PROG_UNKNOWN = -1, /**< place-holder */ - OPJ_LRCP = 0, /**< layer-resolution-component-precinct order */ - OPJ_RLCP = 1, /**< resolution-layer-component-precinct order */ - OPJ_RPCL = 2, /**< resolution-precinct-component-layer order */ - OPJ_PCRL = 3, /**< precinct-component-resolution-layer order */ - OPJ_CPRL = 4 /**< component-precinct-resolution-layer order */ -} OPJ_PROG_ORDER; - -/** - * Supported image color spaces -*/ -typedef enum COLOR_SPACE { - OPJ_CLRSPC_UNKNOWN = -1, /**< not supported by the library */ - OPJ_CLRSPC_UNSPECIFIED = 0, /**< not specified in the codestream */ - OPJ_CLRSPC_SRGB = 1, /**< sRGB */ - OPJ_CLRSPC_GRAY = 2, /**< grayscale */ - OPJ_CLRSPC_SYCC = 3, /**< YUV */ - OPJ_CLRSPC_EYCC = 4, /**< e-YCC */ - OPJ_CLRSPC_CMYK = 5 /**< CMYK */ -} OPJ_COLOR_SPACE; - -/** - * Supported codec -*/ -typedef enum CODEC_FORMAT { - OPJ_CODEC_UNKNOWN = -1, /**< place-holder */ - OPJ_CODEC_J2K = 0, /**< JPEG-2000 codestream : read/write */ - OPJ_CODEC_JPT = 1, /**< JPT-stream (JPEG 2000, JPIP) : read only */ - OPJ_CODEC_JP2 = 2, /**< JP2 file format : read/write */ - OPJ_CODEC_JPP = 3, /**< JPP-stream (JPEG 2000, JPIP) : to be coded */ - OPJ_CODEC_JPX = 4 /**< JPX file format (JPEG 2000 Part-2) : to be coded */ -} OPJ_CODEC_FORMAT; - - -/* -========================================================== - event manager typedef definitions -========================================================== -*/ - -/** - * Callback function prototype for events - * @param msg Event message - * @param client_data Client object where will be return the event message - * */ -typedef void (*opj_msg_callback)(const char *msg, void *client_data); - -/* -========================================================== - codec typedef definitions -========================================================== -*/ - -/** - * Progression order changes - * - */ -typedef struct opj_poc { - /** Resolution num start, Component num start, given by POC */ - OPJ_UINT32 resno0, compno0; - /** Layer num end,Resolution num end, Component num end, given by POC */ - OPJ_UINT32 layno1, resno1, compno1; - /** Layer num start,Precinct num start, Precinct num end */ - OPJ_UINT32 layno0, precno0, precno1; - /** Progression order enum*/ - OPJ_PROG_ORDER prg1, prg; - /** Progression order string*/ - OPJ_CHAR progorder[5]; - /** Tile number (starting at 1) */ - OPJ_UINT32 tile; - /** Start and end values for Tile width and height*/ - OPJ_INT32 tx0, tx1, ty0, ty1; - /** Start value, initialised in pi_initialise_encode*/ - OPJ_UINT32 layS, resS, compS, prcS; - /** End value, initialised in pi_initialise_encode */ - OPJ_UINT32 layE, resE, compE, prcE; - /** Start and end values of Tile width and height, initialised in pi_initialise_encode*/ - OPJ_UINT32 txS, txE, tyS, tyE, dx, dy; - /** Temporary values for Tile parts, initialised in pi_create_encode */ - OPJ_UINT32 lay_t, res_t, comp_t, prc_t, tx0_t, ty0_t; -} opj_poc_t; - -/** - * Compression parameters - * */ -typedef struct opj_cparameters { - /** size of tile: tile_size_on = false (not in argument) or = true (in argument) */ - OPJ_BOOL tile_size_on; - /** XTOsiz */ - int cp_tx0; - /** YTOsiz */ - int cp_ty0; - /** XTsiz */ - int cp_tdx; - /** YTsiz */ - int cp_tdy; - /** allocation by rate/distortion */ - int cp_disto_alloc; - /** allocation by fixed layer */ - int cp_fixed_alloc; - /** add fixed_quality */ - int cp_fixed_quality; - /** fixed layer */ - int *cp_matrice; - /** comment for coding */ - char *cp_comment; - /** csty : coding style */ - int csty; - /** progression order (default OPJ_LRCP) */ - OPJ_PROG_ORDER prog_order; - /** progression order changes */ - opj_poc_t POC[32]; - /** number of progression order changes (POC), default to 0 */ - OPJ_UINT32 numpocs; - /** number of layers */ - int tcp_numlayers; - /** rates of layers - might be subsequently limited by the max_cs_size field. - * Should be decreasing. 1 can be - * used as last value to indicate the last layer is lossless. */ - float tcp_rates[100]; - /** different psnr for successive layers. Should be increasing. 0 can be - * used as last value to indicate the last layer is lossless. */ - float tcp_distoratio[100]; - /** number of resolutions */ - int numresolution; - /** initial code block width, default to 64 */ - int cblockw_init; - /** initial code block height, default to 64 */ - int cblockh_init; - /** mode switch (cblk_style) */ - int mode; - /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression (default) */ - int irreversible; - /** region of interest: affected component in [0..3], -1 means no ROI */ - int roi_compno; - /** region of interest: upshift value */ - int roi_shift; - /* number of precinct size specifications */ - int res_spec; - /** initial precinct width */ - int prcw_init[OPJ_J2K_MAXRLVLS]; - /** initial precinct height */ - int prch_init[OPJ_J2K_MAXRLVLS]; - - /**@name command line encoder parameters (not used inside the library) */ - /*@{*/ - /** input file name */ - char infile[OPJ_PATH_LEN]; - /** output file name */ - char outfile[OPJ_PATH_LEN]; - /** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */ - int index_on; - /** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */ - char index[OPJ_PATH_LEN]; - /** subimage encoding: origin image offset in x direction */ - int image_offset_x0; - /** subimage encoding: origin image offset in y direction */ - int image_offset_y0; - /** subsampling value for dx */ - int subsampling_dx; - /** subsampling value for dy */ - int subsampling_dy; - /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/ - int decod_format; - /** output file format 0: J2K, 1: JP2, 2: JPT */ - int cod_format; - /*@}*/ - - /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */ - /**@name JPWL encoding parameters */ - /*@{*/ - /** enables writing of EPC in MH, thus activating JPWL */ - OPJ_BOOL jpwl_epc_on; - /** error protection method for MH (0,1,16,32,37-128) */ - int jpwl_hprot_MH; - /** tile number of header protection specification (>=0) */ - int jpwl_hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS]; - /** error protection methods for TPHs (0,1,16,32,37-128) */ - int jpwl_hprot_TPH[JPWL_MAX_NO_TILESPECS]; - /** tile number of packet protection specification (>=0) */ - int jpwl_pprot_tileno[JPWL_MAX_NO_PACKSPECS]; - /** packet number of packet protection specification (>=0) */ - int jpwl_pprot_packno[JPWL_MAX_NO_PACKSPECS]; - /** error protection methods for packets (0,1,16,32,37-128) */ - int jpwl_pprot[JPWL_MAX_NO_PACKSPECS]; - /** enables writing of ESD, (0=no/1/2 bytes) */ - int jpwl_sens_size; - /** sensitivity addressing size (0=auto/2/4 bytes) */ - int jpwl_sens_addr; - /** sensitivity range (0-3) */ - int jpwl_sens_range; - /** sensitivity method for MH (-1=no,0-7) */ - int jpwl_sens_MH; - /** tile number of sensitivity specification (>=0) */ - int jpwl_sens_TPH_tileno[JPWL_MAX_NO_TILESPECS]; - /** sensitivity methods for TPHs (-1=no,0-7) */ - int jpwl_sens_TPH[JPWL_MAX_NO_TILESPECS]; - /*@}*/ - /* <> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */ - /**@name JPWL decoding parameters */ - /*@{*/ - /** activates the JPWL correction capabilities */ - OPJ_BOOL jpwl_correct; - /** expected number of components */ - int jpwl_exp_comps; - /** maximum number of tiles */ - int jpwl_max_tiles; - /*@}*/ - /* <> */ -/** - * Marker structure - * */ -typedef struct opj_marker_info { - /** marker type */ - unsigned short int type; - /** position in codestream */ - OPJ_OFF_T pos; - /** length, marker val included */ - int len; -} opj_marker_info_t; -/* <> */ - /** number of markers */ - int marknum; - /** list of markers */ - opj_marker_info_t *marker; - /** actual size of markers array */ - int maxmarknum; - /* <> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */ - /** number of markers */ - OPJ_UINT32 marknum; - /** list of markers */ - opj_marker_info_t *marker; - /** actual size of markers array */ - OPJ_UINT32 maxmarknum; - /* <> */ /* NOT USED FOR THE MOMENT IN THE V2 VERSION */ - /** number of markers */ - OPJ_UINT32 marknum; - /** list of markers */ - opj_marker_info_t *marker; - /** actual size of markers array */ - OPJ_UINT32 maxmarknum; - /* < */ - -/* -========================================================== - Metadata from the JP2file -========================================================== -*/ - -/** - * Info structure of the JP2 file - * EXPERIMENTAL FOR THE MOMENT - */ -typedef struct opj_jp2_metadata { - /** */ - OPJ_INT32 not_used; - -} opj_jp2_metadata_t; - -/** - * Index structure of the JP2 file - * EXPERIMENTAL FOR THE MOMENT - */ -typedef struct opj_jp2_index { - /** */ - OPJ_INT32 not_used; - -} opj_jp2_index_t; - - -#ifdef __cplusplus -extern "C" { -#endif - - -/* -========================================================== - openjpeg version -========================================================== -*/ - -/* Get the version of the openjpeg library*/ -OPJ_API const char * OPJ_CALLCONV opj_version(void); - -/* -========================================================== - image functions definitions -========================================================== -*/ - -/** - * Create an image - * - * @param numcmpts number of components - * @param cmptparms components parameters - * @param clrspc image color space - * @return returns a new image structure if successful, returns NULL otherwise - * */ -OPJ_API opj_image_t* OPJ_CALLCONV opj_image_create(OPJ_UINT32 numcmpts, - opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc); - -/** - * Deallocate any resources associated with an image - * - * @param image image to be destroyed - */ -OPJ_API void OPJ_CALLCONV opj_image_destroy(opj_image_t *image); - -/** - * Creates an image without allocating memory for the image (used in the new version of the library). - * - * @param numcmpts the number of components - * @param cmptparms the components parameters - * @param clrspc the image color space - * - * @return a new image structure if successful, NULL otherwise. -*/ -OPJ_API opj_image_t* OPJ_CALLCONV opj_image_tile_create(OPJ_UINT32 numcmpts, - opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc); - -/** - * Allocator for opj_image_t->comps[].data - * To be paired with opj_image_data_free. - * - * @param size number of bytes to allocate - * - * @return a new pointer if successful, NULL otherwise. - * @since 2.2.0 -*/ -OPJ_API void* OPJ_CALLCONV opj_image_data_alloc(OPJ_SIZE_T size); - -/** - * Destructor for opj_image_t->comps[].data - * To be paired with opj_image_data_alloc. - * - * @param ptr Pointer to free - * - * @since 2.2.0 -*/ -OPJ_API void OPJ_CALLCONV opj_image_data_free(void* ptr); - -/* -========================================================== - stream functions definitions -========================================================== -*/ - -/** - * Creates an abstract stream. This function does nothing except allocating memory and initializing the abstract stream. - * - * @param p_is_input if set to true then the stream will be an input stream, an output stream else. - * - * @return a stream object. -*/ -OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_default_create( - OPJ_BOOL p_is_input); - -/** - * Creates an abstract stream. This function does nothing except allocating memory and initializing the abstract stream. - * - * @param p_buffer_size FIXME DOC - * @param p_is_input if set to true then the stream will be an input stream, an output stream else. - * - * @return a stream object. -*/ -OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create(OPJ_SIZE_T p_buffer_size, - OPJ_BOOL p_is_input); - -/** - * Destroys a stream created by opj_create_stream. This function does NOT close the abstract stream. If needed the user must - * close its own implementation of the stream. - * - * @param p_stream the stream to destroy. - */ -OPJ_API void OPJ_CALLCONV opj_stream_destroy(opj_stream_t* p_stream); - -/** - * Sets the given function to be used as a read function. - * @param p_stream the stream to modify - * @param p_function the function to use a read function. -*/ -OPJ_API void OPJ_CALLCONV opj_stream_set_read_function(opj_stream_t* p_stream, - opj_stream_read_fn p_function); - -/** - * Sets the given function to be used as a write function. - * @param p_stream the stream to modify - * @param p_function the function to use a write function. -*/ -OPJ_API void OPJ_CALLCONV opj_stream_set_write_function(opj_stream_t* p_stream, - opj_stream_write_fn p_function); - -/** - * Sets the given function to be used as a skip function. - * @param p_stream the stream to modify - * @param p_function the function to use a skip function. -*/ -OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t* p_stream, - opj_stream_skip_fn p_function); - -/** - * Sets the given function to be used as a seek function, the stream is then seekable, - * using SEEK_SET behavior. - * @param p_stream the stream to modify - * @param p_function the function to use a skip function. -*/ -OPJ_API void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t* p_stream, - opj_stream_seek_fn p_function); - -/** - * Sets the given data to be used as a user data for the stream. - * @param p_stream the stream to modify - * @param p_data the data to set. - * @param p_function the function to free p_data when opj_stream_destroy() is called. -*/ -OPJ_API void OPJ_CALLCONV opj_stream_set_user_data(opj_stream_t* p_stream, - void * p_data, opj_stream_free_user_data_fn p_function); - -/** - * Sets the length of the user data for the stream. - * - * @param p_stream the stream to modify - * @param data_length length of the user_data. -*/ -OPJ_API void OPJ_CALLCONV opj_stream_set_user_data_length( - opj_stream_t* p_stream, OPJ_UINT64 data_length); - -/** - * Create a stream from a file identified with its filename with default parameters (helper function) - * @param fname the filename of the file to stream - * @param p_is_read_stream whether the stream is a read stream (true) or not (false) -*/ -OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create_default_file_stream( - const char *fname, OPJ_BOOL p_is_read_stream); - -/** Create a stream from a file identified with its filename with a specific buffer size - * @param fname the filename of the file to stream - * @param p_buffer_size size of the chunk used to stream - * @param p_is_read_stream whether the stream is a read stream (true) or not (false) -*/ -OPJ_API opj_stream_t* OPJ_CALLCONV opj_stream_create_file_stream( - const char *fname, - OPJ_SIZE_T p_buffer_size, - OPJ_BOOL p_is_read_stream); - -/* -========================================================== - event manager functions definitions -========================================================== -*/ -/** - * Set the info handler use by openjpeg. - * @param p_codec the codec previously initialise - * @param p_callback the callback function which will be used - * @param p_user_data client object where will be returned the message -*/ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_info_handler(opj_codec_t * p_codec, - opj_msg_callback p_callback, - void * p_user_data); -/** - * Set the warning handler use by openjpeg. - * @param p_codec the codec previously initialise - * @param p_callback the callback function which will be used - * @param p_user_data client object where will be returned the message -*/ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_warning_handler(opj_codec_t * p_codec, - opj_msg_callback p_callback, - void * p_user_data); -/** - * Set the error handler use by openjpeg. - * @param p_codec the codec previously initialise - * @param p_callback the callback function which will be used - * @param p_user_data client object where will be returned the message -*/ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_error_handler(opj_codec_t * p_codec, - opj_msg_callback p_callback, - void * p_user_data); - -/* -========================================================== - codec functions definitions -========================================================== -*/ - -/** - * Creates a J2K/JP2 decompression structure - * @param format Decoder to select - * - * @return Returns a handle to a decompressor if successful, returns NULL otherwise - * */ -OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_decompress( - OPJ_CODEC_FORMAT format); - -/** - * Destroy a decompressor handle - * - * @param p_codec decompressor handle to destroy - */ -OPJ_API void OPJ_CALLCONV opj_destroy_codec(opj_codec_t * p_codec); - -/** - * Read after the codestream if necessary - * @param p_codec the JPEG2000 codec to read. - * @param p_stream the JPEG2000 stream. - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_end_decompress(opj_codec_t *p_codec, - opj_stream_t *p_stream); - - -/** - * Set decoding parameters to default values - * @param parameters Decompression parameters - */ -OPJ_API void OPJ_CALLCONV opj_set_default_decoder_parameters( - opj_dparameters_t *parameters); - -/** - * Setup the decoder with decompression parameters provided by the user and with the message handler - * provided by the user. - * - * @param p_codec decompressor handler - * @param parameters decompression parameters - * - * @return true if the decoder is correctly set - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec, - opj_dparameters_t *parameters); - -/** - * Allocates worker threads for the compressor/decompressor. - * - * By default, only the main thread is used. If this function is not used, - * but the OPJ_NUM_THREADS environment variable is set, its value will be - * used to initialize the number of threads. The value can be either an integer - * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is called, - * this function will override the behaviour of the environment variable. - * - * Currently this function must be called after opj_setup_decoder() and - * before opj_read_header(). - * - * Note: currently only has effect on the decompressor. - * - * @param p_codec decompressor handler - * @param num_threads number of threads. - * - * @return OPJ_TRUE if the decoder is correctly set - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_codec_set_threads(opj_codec_t *p_codec, - int num_threads); - -/** - * Decodes an image header. - * - * @param p_stream the jpeg2000 stream. - * @param p_codec the jpeg2000 codec to read. - * @param p_image the image structure initialized with the characteristics of encoded image. - * - * @return true if the main header of the codestream and the JP2 header is correctly read. - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_header(opj_stream_t *p_stream, - opj_codec_t *p_codec, - opj_image_t **p_image); - - -/** Restrict the number of components to decode. - * - * This function should be called after opj_read_header(). - * - * This function enables to restrict the set of decoded components to the - * specified indices. - * Note that the current implementation (apply_color_transforms == OPJ_FALSE) - * is such that neither the multi-component transform at codestream level, - * nor JP2 channel transformations will be applied. - * Consequently the indices are relative to the codestream. - * - * Note: opj_decode_tile_data() should not be used together with opj_set_decoded_components(). - * - * @param p_codec the jpeg2000 codec to read. - * @param numcomps Size of the comps_indices array. - * @param comps_indices Array of numcomps values representing the indices - * of the components to decode (relative to the - * codestream, starting at 0) - * @param apply_color_transforms Whether multi-component transform at codestream level - * or JP2 channel transformations should be applied. - * Currently this parameter should be set to OPJ_FALSE. - * Setting it to OPJ_TRUE will result in an error. - * - * @return OPJ_TRUE in case of success. - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decoded_components(opj_codec_t *p_codec, - OPJ_UINT32 numcomps, - const OPJ_UINT32* comps_indices, - OPJ_BOOL apply_color_transforms); - -/** - * Sets the given area to be decoded. This function should be called right after opj_read_header and before any tile header reading. - * - * The coordinates passed to this function should be expressed in the reference grid, - * that is to say at the highest resolution level, even if requesting the image at lower - * resolution levels. - * - * Generally opj_set_decode_area() should be followed by opj_decode(), and the - * codec cannot be re-used. - * In the particular case of an image made of a single tile, several sequences of - * calls to opoj_set_decode_area() and opj_decode() are allowed, and will bring - * performance improvements when reading an image by chunks. - * - * @param p_codec the jpeg2000 codec. - * @param p_image the decoded image previously set by opj_read_header - * @param p_start_x the left position of the rectangle to decode (in image coordinates). - * @param p_end_x the right position of the rectangle to decode (in image coordinates). - * @param p_start_y the up position of the rectangle to decode (in image coordinates). - * @param p_end_y the bottom position of the rectangle to decode (in image coordinates). - * - * @return true if the area could be set. - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decode_area(opj_codec_t *p_codec, - opj_image_t* p_image, - OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, - OPJ_INT32 p_end_x, OPJ_INT32 p_end_y); - -/** - * Decode an image from a JPEG-2000 codestream - * - * @param p_decompressor decompressor handle - * @param p_stream Input buffer stream - * @param p_image the decoded image - * @return true if success, otherwise false - * */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode(opj_codec_t *p_decompressor, - opj_stream_t *p_stream, - opj_image_t *p_image); - -/** - * Get the decoded tile from the codec - * - * @param p_codec the jpeg2000 codec. - * @param p_stream input streamm - * @param p_image output image - * @param tile_index index of the tile which will be decode - * - * @return true if success, otherwise false - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_get_decoded_tile(opj_codec_t *p_codec, - opj_stream_t *p_stream, - opj_image_t *p_image, - OPJ_UINT32 tile_index); - -/** - * Set the resolution factor of the decoded image - * @param p_codec the jpeg2000 codec. - * @param res_factor resolution factor to set - * - * @return true if success, otherwise false - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decoded_resolution_factor( - opj_codec_t *p_codec, OPJ_UINT32 res_factor); - -/** - * Writes a tile with the given data. - * - * @param p_codec the jpeg2000 codec. - * @param p_tile_index the index of the tile to write. At the moment, the tiles must be written from 0 to n-1 in sequence. - * @param p_data pointer to the data to write. Data is arranged in sequence, data_comp0, then data_comp1, then ... NO INTERLEAVING should be set. - * @param p_data_size this value os used to make sure the data being written is correct. The size must be equal to the sum for each component of - * tile_width * tile_height * component_size. component_size can be 1,2 or 4 bytes, depending on the precision of the given component. - * @param p_stream the stream to write data to. - * - * @return true if the data could be written. - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_write_tile(opj_codec_t *p_codec, - OPJ_UINT32 p_tile_index, - OPJ_BYTE * p_data, - OPJ_UINT32 p_data_size, - opj_stream_t *p_stream); - -/** - * Reads a tile header. This function is compulsory and allows one to know the size of the tile that will be decoded. - * The user may need to refer to the image got by opj_read_header to understand the size being taken by the tile. - * - * @param p_codec the jpeg2000 codec. - * @param p_tile_index pointer to a value that will hold the index of the tile being decoded, in case of success. - * @param p_data_size pointer to a value that will hold the maximum size of the decoded data, in case of success. In case - * of truncated codestreams, the actual number of bytes decoded may be lower. The computation of the size is the same - * as depicted in opj_write_tile. - * @param p_tile_x0 pointer to a value that will hold the x0 pos of the tile (in the image). - * @param p_tile_y0 pointer to a value that will hold the y0 pos of the tile (in the image). - * @param p_tile_x1 pointer to a value that will hold the x1 pos of the tile (in the image). - * @param p_tile_y1 pointer to a value that will hold the y1 pos of the tile (in the image). - * @param p_nb_comps pointer to a value that will hold the number of components in the tile. - * @param p_should_go_on pointer to a boolean that will hold the fact that the decoding should go on. In case the - * codestream is over at the time of the call, the value will be set to false. The user should then stop - * the decoding. - * @param p_stream the stream to decode. - * @return true if the tile header could be decoded. In case the decoding should end, the returned value is still true. - * returning false may be the result of a shortage of memory or an internal error. - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_tile_header(opj_codec_t *p_codec, - opj_stream_t * p_stream, - OPJ_UINT32 * p_tile_index, - OPJ_UINT32 * p_data_size, - OPJ_INT32 * p_tile_x0, OPJ_INT32 * p_tile_y0, - OPJ_INT32 * p_tile_x1, OPJ_INT32 * p_tile_y1, - OPJ_UINT32 * p_nb_comps, - OPJ_BOOL * p_should_go_on); - -/** - * Reads a tile data. This function is compulsory and allows one to decode tile data. opj_read_tile_header should be called before. - * The user may need to refer to the image got by opj_read_header to understand the size being taken by the tile. - * - * Note: opj_decode_tile_data() should not be used together with opj_set_decoded_components(). - * - * @param p_codec the jpeg2000 codec. - * @param p_tile_index the index of the tile being decoded, this should be the value set by opj_read_tile_header. - * @param p_data pointer to a memory block that will hold the decoded data. - * @param p_data_size size of p_data. p_data_size should be bigger or equal to the value set by opj_read_tile_header. - * @param p_stream the stream to decode. - * - * @return true if the data could be decoded. - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode_tile_data(opj_codec_t *p_codec, - OPJ_UINT32 p_tile_index, - OPJ_BYTE * p_data, - OPJ_UINT32 p_data_size, - opj_stream_t *p_stream); - -/* COMPRESSION FUNCTIONS*/ - -/** - * Creates a J2K/JP2 compression structure - * @param format Coder to select - * @return Returns a handle to a compressor if successful, returns NULL otherwise - */ -OPJ_API opj_codec_t* OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT format); - -/** -Set encoding parameters to default values, that means : -
    -
  • Lossless -
  • 1 tile -
  • Size of precinct : 2^15 x 2^15 (means 1 precinct) -
  • Size of code-block : 64 x 64 -
  • Number of resolutions: 6 -
  • No SOP marker in the codestream -
  • No EPH marker in the codestream -
  • No sub-sampling in x or y direction -
  • No mode switch activated -
  • Progression order: LRCP -
  • No index file -
  • No ROI upshifted -
  • No offset of the origin of the image -
  • No offset of the origin of the tiles -
  • Reversible DWT 5-3 -
-@param parameters Compression parameters -*/ -OPJ_API void OPJ_CALLCONV opj_set_default_encoder_parameters( - opj_cparameters_t *parameters); - -/** - * Setup the encoder parameters using the current image and using user parameters. - * @param p_codec Compressor handle - * @param parameters Compression parameters - * @param image Input filled image - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec, - opj_cparameters_t *parameters, - opj_image_t *image); - -/** - * Start to compress the current image. - * @param p_codec Compressor handle - * @param p_image Input filled image - * @param p_stream Input stgream - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_start_compress(opj_codec_t *p_codec, - opj_image_t * p_image, - opj_stream_t *p_stream); - -/** - * End to compress the current image. - * @param p_codec Compressor handle - * @param p_stream Input stgream - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_end_compress(opj_codec_t *p_codec, - opj_stream_t *p_stream); - -/** - * Encode an image into a JPEG-2000 codestream - * @param p_codec compressor handle - * @param p_stream Output buffer stream - * - * @return Returns true if successful, returns false otherwise - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encode(opj_codec_t *p_codec, - opj_stream_t *p_stream); -/* -========================================================== - codec output functions definitions -========================================================== -*/ -/* EXPERIMENTAL FUNCTIONS FOR NOW, USED ONLY IN J2K_DUMP*/ - -/** -Destroy Codestream information after compression or decompression -@param cstr_info Codestream information structure -*/ -OPJ_API void OPJ_CALLCONV opj_destroy_cstr_info(opj_codestream_info_v2_t - **cstr_info); - - -/** - * Dump the codec information into the output stream - * - * @param p_codec the jpeg2000 codec. - * @param info_flag type of information dump. - * @param output_stream output stream where dump the information gotten from the codec. - * - */ -OPJ_API void OPJ_CALLCONV opj_dump_codec(opj_codec_t *p_codec, - OPJ_INT32 info_flag, - FILE* output_stream); - -/** - * Get the codestream information from the codec - * - * @param p_codec the jpeg2000 codec. - * - * @return a pointer to a codestream information structure. - * - */ -OPJ_API opj_codestream_info_v2_t* OPJ_CALLCONV opj_get_cstr_info( - opj_codec_t *p_codec); - -/** - * Get the codestream index from the codec - * - * @param p_codec the jpeg2000 codec. - * - * @return a pointer to a codestream index structure. - * - */ -OPJ_API opj_codestream_index_t * OPJ_CALLCONV opj_get_cstr_index( - opj_codec_t *p_codec); - -OPJ_API void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t - **p_cstr_index); - - -/** - * Get the JP2 file information from the codec FIXME - * - * @param p_codec the jpeg2000 codec. - * - * @return a pointer to a JP2 metadata structure. - * - */ -OPJ_API opj_jp2_metadata_t* OPJ_CALLCONV opj_get_jp2_metadata( - opj_codec_t *p_codec); - -/** - * Get the JP2 file index from the codec FIXME - * - * @param p_codec the jpeg2000 codec. - * - * @return a pointer to a JP2 index structure. - * - */ -OPJ_API opj_jp2_index_t* OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_codec); - - -/* -========================================================== - MCT functions -========================================================== -*/ - -/** - * Sets the MCT matrix to use. - * - * @param parameters the parameters to change. - * @param pEncodingMatrix the encoding matrix. - * @param p_dc_shift the dc shift coefficients to use. - * @param pNbComp the number of components of the image. - * - * @return true if the parameters could be set. - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_MCT(opj_cparameters_t *parameters, - OPJ_FLOAT32 * pEncodingMatrix, - OPJ_INT32 * p_dc_shift, - OPJ_UINT32 pNbComp); - -/* -========================================================== - Thread functions -========================================================== -*/ - -/** Returns if the library is built with thread support. - * OPJ_TRUE if mutex, condition, thread, thread pool are available. - */ -OPJ_API OPJ_BOOL OPJ_CALLCONV opj_has_thread_support(void); - -/** Return the number of virtual CPUs */ -OPJ_API int OPJ_CALLCONV opj_get_num_cpus(void); - - -#ifdef __cplusplus -} -#endif - -#endif /* OPENJPEG_H */ diff --git a/OpenJPEG/include/openjpeg-2.3/opj_config.h b/OpenJPEG/include/openjpeg-2.3/opj_config.h deleted file mode 100644 index 1507a04..0000000 --- a/OpenJPEG/include/openjpeg-2.3/opj_config.h +++ /dev/null @@ -1,10 +0,0 @@ -/* create opj_config.h for CMake */ -#define OPJ_HAVE_STDINT_H 1 - -/*--------------------------------------------------------------------------*/ -/* OpenJPEG Versioning */ - -/* Version number. */ -#define OPJ_VERSION_MAJOR 2 -#define OPJ_VERSION_MINOR 3 -#define OPJ_VERSION_BUILD 1 diff --git a/OpenJPEG/include/openjpeg-2.3/opj_stdint.h b/OpenJPEG/include/openjpeg-2.3/opj_stdint.h deleted file mode 100644 index f26c921..0000000 --- a/OpenJPEG/include/openjpeg-2.3/opj_stdint.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * The copyright in this software is being made available under the 2-clauses - * BSD License, included below. This software may be subject to other third - * party and contributor rights, including patent rights, and no such rights - * are granted under this license. - * - * Copyright (c) 2012, Mathieu Malaterre - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -#ifndef OPJ_STDINT_H -#define OPJ_STDINT_H - -#include "opj_config.h" -#ifdef OPJ_HAVE_STDINT_H -#include -#else -#if defined(_WIN32) -typedef signed __int8 int8_t; -typedef unsigned __int8 uint8_t; -typedef signed __int16 int16_t; -typedef unsigned __int16 uint16_t; -typedef signed __int32 int32_t; -typedef unsigned __int32 uint32_t; -typedef signed __int64 int64_t; -typedef unsigned __int64 uint64_t; -#else -#error unsupported platform -#endif -#endif - -#endif /* OPJ_STDINT_H */ diff --git a/OpenJPEG/lib/openjp2.lib b/OpenJPEG/lib/openjp2.lib deleted file mode 100644 index ba373530105769f8db99e705ca646551186976a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12796 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 OXG!6(lPcDMFz`QaUY7F! diff --git a/OpenJPEG/lib/openjpeg-2.3/OpenJPEGConfig.cmake b/OpenJPEG/lib/openjpeg-2.3/OpenJPEGConfig.cmake deleted file mode 100644 index f3171f2..0000000 --- a/OpenJPEG/lib/openjpeg-2.3/OpenJPEGConfig.cmake +++ /dev/null @@ -1,53 +0,0 @@ -#----------------------------------------------------------------------------- -# -# OPENJPEGConfig.cmake - CMake configuration file for external projects. -# -# This file is configured by OPENJPEG and used by the UseOPENJPEG.cmake -# module to load OPENJPEG's settings for an external project. - -# The OPENJPEG version number. -set(OPENJPEG_MAJOR_VERSION "2") -set(OPENJPEG_MINOR_VERSION "3") -set(OPENJPEG_BUILD_VERSION "1") - -# The libraries. -set(OPENJPEG_LIBRARIES "openjp2") - -# The CMake macros dir. -set(OPENJPEG_CMAKE_DIR "lib/openjpeg-2.3") - -# The configuration options. -set(OPENJPEG_BUILD_SHARED_LIBS "ON") - -# The "use" file. -set(OPENJPEG_USE_FILE "") - -get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake) - # This is an install tree - include(${SELF_DIR}/OpenJPEGTargets.cmake) - - # We find a relative path from the PKG directory to header files. - set(PKG_DIR "C:/Program Files/OPENJPEG/lib/openjpeg-2.3") - set(INC_DIR "C:/Program Files/OPENJPEG/include/openjpeg-2.3") - file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}") - - get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" ABSOLUTE) - -else() - if(EXISTS ${SELF_DIR}/OpenJPEGExports.cmake) - # This is a build tree - set( OPENJPEG_INCLUDE_DIRS ) - - include(${SELF_DIR}/OpenJPEGExports.cmake) - - else() - message(FATAL_ERROR "ooops") - endif() -endif() - -set(OPENJPEG_USE_FILE ${SELF_DIR}/UseOPENJPEG.cmake) - -# Backward compatible part: -set(OPENJPEG_FOUND TRUE) - diff --git a/OpenJPEG/lib/openjpeg-2.3/OpenJPEGTargets-release.cmake b/OpenJPEG/lib/openjpeg-2.3/OpenJPEGTargets-release.cmake deleted file mode 100644 index 7118e7f..0000000 --- a/OpenJPEG/lib/openjpeg-2.3/OpenJPEGTargets-release.cmake +++ /dev/null @@ -1,46 +0,0 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "openjp2" for configuration "Release" -set_property(TARGET openjp2 APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(openjp2 PROPERTIES - IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/openjp2.lib" - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/openjp2.dll" - ) - -list(APPEND _IMPORT_CHECK_TARGETS openjp2 ) -list(APPEND _IMPORT_CHECK_FILES_FOR_openjp2 "${_IMPORT_PREFIX}/lib/openjp2.lib" "${_IMPORT_PREFIX}/bin/openjp2.dll" ) - -# Import target "opj_decompress" for configuration "Release" -set_property(TARGET opj_decompress APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(opj_decompress PROPERTIES - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/opj_decompress.exe" - ) - -list(APPEND _IMPORT_CHECK_TARGETS opj_decompress ) -list(APPEND _IMPORT_CHECK_FILES_FOR_opj_decompress "${_IMPORT_PREFIX}/bin/opj_decompress.exe" ) - -# Import target "opj_compress" for configuration "Release" -set_property(TARGET opj_compress APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(opj_compress PROPERTIES - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/opj_compress.exe" - ) - -list(APPEND _IMPORT_CHECK_TARGETS opj_compress ) -list(APPEND _IMPORT_CHECK_FILES_FOR_opj_compress "${_IMPORT_PREFIX}/bin/opj_compress.exe" ) - -# Import target "opj_dump" for configuration "Release" -set_property(TARGET opj_dump APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(opj_dump PROPERTIES - IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/opj_dump.exe" - ) - -list(APPEND _IMPORT_CHECK_TARGETS opj_dump ) -list(APPEND _IMPORT_CHECK_FILES_FOR_opj_dump "${_IMPORT_PREFIX}/bin/opj_dump.exe" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) diff --git a/OpenJPEG/lib/openjpeg-2.3/OpenJPEGTargets.cmake b/OpenJPEG/lib/openjpeg-2.3/OpenJPEGTargets.cmake deleted file mode 100644 index 1619902..0000000 --- a/OpenJPEG/lib/openjpeg-2.3/OpenJPEGTargets.cmake +++ /dev/null @@ -1,98 +0,0 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) - message(FATAL_ERROR "CMake >= 2.6.0 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.6) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_targetsDefined) -set(_targetsNotDefined) -set(_expectedTargets) -foreach(_expectedTarget openjp2 opj_decompress opj_compress opj_dump) - list(APPEND _expectedTargets ${_expectedTarget}) - if(NOT TARGET ${_expectedTarget}) - list(APPEND _targetsNotDefined ${_expectedTarget}) - endif() - if(TARGET ${_expectedTarget}) - list(APPEND _targetsDefined ${_expectedTarget}) - endif() -endforeach() -if("${_targetsDefined}" STREQUAL "${_expectedTargets}") - unset(_targetsDefined) - unset(_targetsNotDefined) - unset(_expectedTargets) - set(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT "${_targetsDefined}" STREQUAL "") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") -endif() -unset(_targetsDefined) -unset(_targetsNotDefined) -unset(_expectedTargets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target openjp2 -add_library(openjp2 SHARED IMPORTED) - -# Create imported target opj_decompress -add_executable(opj_decompress IMPORTED) - -# Create imported target opj_compress -add_executable(opj_compress IMPORTED) - -# Create imported target opj_dump -add_executable(opj_dump IMPORTED) - -# Load information for each installed configuration. -get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -file(GLOB CONFIG_FILES "${_DIR}/OpenJPEGTargets-*.cmake") -foreach(f ${CONFIG_FILES}) - include(${f}) -endforeach() - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(target ${_IMPORT_CHECK_TARGETS} ) - foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) - if(NOT EXISTS "${file}" ) - message(FATAL_ERROR "The imported target \"${target}\" references the file - \"${file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_IMPORT_CHECK_FILES_FOR_${target}) -endforeach() -unset(_IMPORT_CHECK_TARGETS) - -# This file does not depend on other imported targets which have -# been exported from the same project but in a separate export set. - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) diff --git a/PdfForQtLib/PdfForQtLib.pro b/PdfForQtLib/PdfForQtLib.pro index e22c314..2b12da0 100644 --- a/PdfForQtLib/PdfForQtLib.pro +++ b/PdfForQtLib/PdfForQtLib.pro @@ -96,30 +96,42 @@ HEADERS += \ FORMS += \ sources/pdfrenderingerrorswidget.ui +PDFFORQT_DEPENDENCIES_PATH = K:\Programming\PDF\PDF_For_Qt\PDfForQt-Dependencies + # Link to freetype library -LIBS += -L$$PWD/../FreeType/ -lfreetype -INCLUDEPATH += $$PWD/../FreeType/include -DEPENDPATH += $$PWD/../FreeType/include +LIBS += -L$$PDFFORQT_DEPENDENCIES_PATH/FreeType/ -lfreetype +INCLUDEPATH += $$PDFFORQT_DEPENDENCIES_PATH/FreeType/include +DEPENDPATH += $$PDFFORQT_DEPENDENCIES_PATH/FreeType/include # Add freetype to installations -freetype_lib.files = $$PWD/../FreeType/freetype.dll -freetype_lib.path = $$DESTDIR +freetype_lib.files = $$PDFFORQT_DEPENDENCIES_PATH/FreeType/freetype.dll +freetype_lib.path = $$DESTDIR/install INSTALLS += freetype_lib # Link to OpenJPEG library -LIBS += -L$$PWD/../OpenJPEG/lib/ -lopenjp2 -INCLUDEPATH += $$PWD/../OpenJPEG/include/openjpeg-2.3 -DEPENDPATH += $$PWD/../OpenJPEG/include/openjpeg-2.3 +LIBS += -L$$PDFFORQT_DEPENDENCIES_PATH/OpenJPEG/lib/ -lopenjp2 +INCLUDEPATH += $$PDFFORQT_DEPENDENCIES_PATH/OpenJPEG/include/openjpeg-2.3 +DEPENDPATH += $$PDFFORQT_DEPENDENCIES_PATH/OpenJPEG/include/openjpeg-2.3 # Add OpenJPEG to installations -openjpeg_lib.files = $$PWD/../OpenJPEG/openjp2.dll -openjpeg_lib.path = $$DESTDIR +openjpeg_lib.files = $$PDFFORQT_DEPENDENCIES_PATH/OpenJPEG/bin/openjp2.dll +openjpeg_lib.path = $$DESTDIR/install INSTALLS += openjpeg_lib # Link to Independent JPEG Groups libjpeg -LIBS += -L$$PWD/../libjpeg/bin/ -ljpeg -INCLUDEPATH += $$PWD/../libjpeg/include -DEPENDPATH += $$PWD/../libjpeg/include +LIBS += -L$$PDFFORQT_DEPENDENCIES_PATH/libjpeg/bin/ -ljpeg +INCLUDEPATH += $$PDFFORQT_DEPENDENCIES_PATH/libjpeg/include +DEPENDPATH += $$PDFFORQT_DEPENDENCIES_PATH/libjpeg/include + +# Link OpenSSL +LIBS += -L$$PDFFORQT_DEPENDENCIES_PATH/OpenSSL/ -llibcrypto -llibssl +INCLUDEPATH += $$PDFFORQT_DEPENDENCIES_PATH/OpenSSL/include +DEPENDPATH += $$PDFFORQT_DEPENDENCIES_PATH/OpenSSL/include + +# Add OpenSSL to installations +openssl_lib.files = $$PDFFORQT_DEPENDENCIES_PATH/OpenSSL/libcrypto-3.dll $$PDFFORQT_DEPENDENCIES_PATH/OpenSSL/libssl-3.dll +openssl_lib.path = $$DESTDIR/install +INSTALLS += openssl_lib # ensure debug info even for RELEASE build CONFIG += force_debug_info @@ -135,3 +147,22 @@ cmap_resource_builder.output = $$DESTDIR/${QMAKE_FILE_IN_BASE}.qrb cmap_resource_builder.CONFIG += no_link target_predeps QMAKE_EXTRA_COMPILERS += cmap_resource_builder +cmaps_files.files = $$DESTDIR/cmaps.qrb +cmaps_files.path = $$DESTDIR/install + +INSTALLS += cmaps_files + +pdfforqt_library.files = $$DESTDIR/PdfForQtLib.dll +pdfforqt_library.path = $$DESTDIR/install + +INSTALLS += pdfforqt_library + +CONFIG(debug, debug|release) { +SUFFIX = d +} + +qt_libraries.files = $$[QT_INSTALL_BINS]/Qt?Widgets$${SUFFIX}.dll \ + $$[QT_INSTALL_BINS]/Qt?Gui$${SUFFIX}.dll \ + $$[QT_INSTALL_BINS]/Qt?Core$${SUFFIX}.dll +qt_libraries.path = $$DESTDIR/install +INSTALLS += qt_libraries diff --git a/PdfForQtViewer/PdfForQtViewer.pro b/PdfForQtViewer/PdfForQtViewer.pro index ca1a123..08b3912 100644 --- a/PdfForQtViewer/PdfForQtViewer.pro +++ b/PdfForQtViewer/PdfForQtViewer.pro @@ -8,7 +8,7 @@ QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -TARGET = PdfForQtViewer.exe +TARGET = PdfForQtViewer TEMPLATE = app # The following define makes your compiler emit warnings if you use @@ -44,7 +44,7 @@ FORMS += \ CONFIG += force_debug_info -# Default rules for deployment. -qnx: target.path = /tmp/$${TARGET}/bin -else: unix:!android: target.path = /opt/$${TARGET}/bin -!isEmpty(target.path): INSTALLS += target +application.files = $$DESTDIR/PdfForQtViewer.exe +application.path = $$DESTDIR/install +INSTALLS += application + diff --git a/README.txt b/README.txt index 7762edc..81693c9 100644 --- a/README.txt +++ b/README.txt @@ -11,7 +11,7 @@ by Jakub Melka. 1. ACKNOWLEDGEMENTS -This software is based in part on the work ofthe Independent JPEG Group. +This software is based in part on the work of the Independent JPEG Group. Portions of this software are copyright © 2019 The FreeType Project (www.freetype.org). All rights reserved. @@ -30,3 +30,4 @@ of third party libraries. b) FreeType, see https://www.freetype.org/index.html, FTL license used c) OpenJPEG, implementing Jpeg2000, see https://www.openjpeg.org/, 2-clause MIT license d) Qt, https://www.qt.io/, LGPL license used + e) OpenSSL, https://www.openssl.org/, Apache 2.0 license diff --git a/UnitTests/UnitTests.pro b/UnitTests/UnitTests.pro index c5cfd8d..d4e0d47 100644 --- a/UnitTests/UnitTests.pro +++ b/UnitTests/UnitTests.pro @@ -36,3 +36,6 @@ QMAKE_CXXFLAGS += /std:c++latest SOURCES += \ tst_lexicalanalyzertest.cpp + +target.path = $$DESTDIR/install +INSTALLS += target diff --git a/libjpeg/README b/libjpeg/README deleted file mode 100644 index c9853af..0000000 --- a/libjpeg/README +++ /dev/null @@ -1,378 +0,0 @@ -The Independent JPEG Group's JPEG software -========================================== - -README for release 9c of 14-Jan-2018 -==================================== - -This distribution contains the ninth public release of the Independent JPEG -Group's free JPEG software. You are welcome to redistribute this software and -to use it for any purpose, subject to the conditions under LEGAL ISSUES, below. - -This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone, -Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson, -Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers, -and other members of the Independent JPEG Group. - -IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee -(previously known as JPEG, together with ITU-T SG16). - - -DOCUMENTATION ROADMAP -===================== - -This file contains the following sections: - -OVERVIEW General description of JPEG and the IJG software. -LEGAL ISSUES Copyright, lack of warranty, terms of distribution. -REFERENCES Where to learn more about JPEG. -ARCHIVE LOCATIONS Where to find newer versions of this software. -ACKNOWLEDGMENTS Special thanks. -FILE FORMAT WARS Software *not* to get. -TO DO Plans for future IJG releases. - -Other documentation files in the distribution are: - -User documentation: - install.txt How to configure and install the IJG software. - usage.txt Usage instructions for cjpeg, djpeg, jpegtran, - rdjpgcom, and wrjpgcom. - *.1 Unix-style man pages for programs (same info as usage.txt). - wizard.txt Advanced usage instructions for JPEG wizards only. - change.log Version-to-version change highlights. -Programmer and internal documentation: - libjpeg.txt How to use the JPEG library in your own programs. - example.c Sample code for calling the JPEG library. - structure.txt Overview of the JPEG library's internal structure. - filelist.txt Road map of IJG files. - coderules.txt Coding style rules --- please read if you contribute code. - -Please read at least the files install.txt and usage.txt. Some information -can also be found in the JPEG FAQ (Frequently Asked Questions) article. See -ARCHIVE LOCATIONS below to find out where to obtain the FAQ article. - -If you want to understand how the JPEG code works, we suggest reading one or -more of the REFERENCES, then looking at the documentation files (in roughly -the order listed) before diving into the code. - - -OVERVIEW -======== - -This package contains C software to implement JPEG image encoding, decoding, -and transcoding. JPEG (pronounced "jay-peg") is a standardized compression -method for full-color and grayscale images. - -This software implements JPEG baseline, extended-sequential, and progressive -compression processes. Provision is made for supporting all variants of these -processes, although some uncommon parameter settings aren't implemented yet. -We have made no provision for supporting the hierarchical or lossless -processes defined in the standard. - -We provide a set of library routines for reading and writing JPEG image files, -plus two sample applications "cjpeg" and "djpeg", which use the library to -perform conversion between JPEG and some other popular image file formats. -The library is intended to be reused in other applications. - -In order to support file conversion and viewing software, we have included -considerable functionality beyond the bare JPEG coding/decoding capability; -for example, the color quantization modules are not strictly part of JPEG -decoding, but they are essential for output to colormapped file formats or -colormapped displays. These extra functions can be compiled out of the -library if not required for a particular application. - -We have also included "jpegtran", a utility for lossless transcoding between -different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple -applications for inserting and extracting textual comments in JFIF files. - -The emphasis in designing this software has been on achieving portability and -flexibility, while also making it fast enough to be useful. In particular, -the software is not intended to be read as a tutorial on JPEG. (See the -REFERENCES section for introductory material.) Rather, it is intended to -be reliable, portable, industrial-strength code. We do not claim to have -achieved that goal in every aspect of the software, but we strive for it. - -We welcome the use of this software as a component of commercial products. -No royalty is required, but we do ask for an acknowledgement in product -documentation, as described under LEGAL ISSUES. - - -LEGAL ISSUES -============ - -In plain English: - -1. We don't promise that this software works. (But if you find any bugs, - please let us know!) -2. You can use this software for whatever you want. You don't have to pay us. -3. You may not pretend that you wrote this software. If you use it in a - program, you must acknowledge somewhere in your documentation that - you've used the IJG code. - -In legalese: - -The authors make NO WARRANTY or representation, either express or implied, -with respect to this software, its quality, accuracy, merchantability, or -fitness for a particular purpose. This software is provided "AS IS", and you, -its user, assume the entire risk as to its quality and accuracy. - -This software is copyright (C) 1991-2018, Thomas G. Lane, Guido Vollbeding. -All Rights Reserved except as specified below. - -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. - -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. - -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". - -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. - - -The Unix configuration script "configure" was produced with GNU Autoconf. -It is copyright by the Free Software Foundation but is freely distributable. -The same holds for its supporting scripts (config.guess, config.sub, -ltmain.sh). Another support script, install-sh, is copyright by X Consortium -but is also freely distributable. - -The IJG distribution formerly included code to read and write GIF files. -To avoid entanglement with the Unisys LZW patent (now expired), GIF reading -support has been removed altogether, and the GIF writer has been simplified -to produce "uncompressed GIFs". This technique does not use the LZW -algorithm; the resulting GIF files are larger than usual, but are readable -by all standard GIF decoders. - - -REFERENCES -========== - -We recommend reading one or more of these references before trying to -understand the innards of the JPEG software. - -The best short technical introduction to the JPEG compression algorithm is - Wallace, Gregory K. "The JPEG Still Picture Compression Standard", - Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44. -(Adjacent articles in that issue discuss MPEG motion picture compression, -applications of JPEG, and related topics.) If you don't have the CACM issue -handy, a PDF file containing a revised version of Wallace's article is -available at http://www.ijg.org/files/Wallace.JPEG.pdf. The file (actually -a preprint for an article that appeared in IEEE Trans. Consumer Electronics) -omits the sample images that appeared in CACM, but it includes corrections -and some added material. Note: the Wallace article is copyright ACM and IEEE, -and it may not be used for commercial purposes. - -A somewhat less technical, more leisurely introduction to JPEG can be found in -"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by -M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides -good explanations and example C code for a multitude of compression methods -including JPEG. It is an excellent source if you are comfortable reading C -code but don't know much about data compression in general. The book's JPEG -sample code is far from industrial-strength, but when you are ready to look -at a full implementation, you've got one here... - -The best currently available description of JPEG is the textbook "JPEG Still -Image Data Compression Standard" by William B. Pennebaker and Joan L. -Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1. -Price US$59.95, 638 pp. The book includes the complete text of the ISO JPEG -standards (DIS 10918-1 and draft DIS 10918-2). -Although this is by far the most detailed and comprehensive exposition of -JPEG publicly available, we point out that it is still missing an explanation -of the most essential properties and algorithms of the underlying DCT -technology. -If you think that you know about DCT-based JPEG after reading this book, -then you are in delusion. The real fundamentals and corresponding potential -of DCT-based JPEG are not publicly known so far, and that is the reason for -all the mistaken developments taking place in the image coding domain. - -The original JPEG standard is divided into two parts, Part 1 being the actual -specification, while Part 2 covers compliance testing methods. Part 1 is -titled "Digital Compression and Coding of Continuous-tone Still Images, -Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS -10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of -Continuous-tone Still Images, Part 2: Compliance testing" and has document -numbers ISO/IEC IS 10918-2, ITU-T T.83. -IJG JPEG 8 introduced an implementation of the JPEG SmartScale extension -which is specified in two documents: A contributed document at ITU and ISO -with title "ITU-T JPEG-Plus Proposal for Extending ITU-T T.81 for Advanced -Image Coding", April 2006, Geneva, Switzerland. The latest version of this -document is Revision 3. And a contributed document ISO/IEC JTC1/SC29/WG1 N -5799 with title "Evolution of JPEG", June/July 2011, Berlin, Germany. -IJG JPEG 9 introduces a reversible color transform for improved lossless -compression which is described in a contributed document ISO/IEC JTC1/SC29/ -WG1 N 6080 with title "JPEG 9 Lossless Coding", June/July 2012, Paris, -France. - -The JPEG standard does not specify all details of an interchangeable file -format. For the omitted details we follow the "JFIF" conventions, version 2. -JFIF version 1 has been adopted as Recommendation ITU-T T.871 (05/2011) : -Information technology - Digital compression and coding of continuous-tone -still images: JPEG File Interchange Format (JFIF). It is available as a -free download in PDF file format from http://www.itu.int/rec/T-REC-T.871. -A PDF file of the older JFIF document is available at -http://www.w3.org/Graphics/JPEG/jfif3.pdf. - -The TIFF 6.0 file format specification can be obtained by FTP from -ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme -found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems. -IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6). -Instead, we recommend the JPEG design proposed by TIFF Technical Note #2 -(Compression tag 7). Copies of this Note can be obtained from -http://www.ijg.org/files/. It is expected that the next revision -of the TIFF spec will replace the 6.0 JPEG design with the Note's design. -Although IJG's own code does not support TIFF/JPEG, the free libtiff library -uses our library to implement TIFF/JPEG per the Note. - - -ARCHIVE LOCATIONS -================= - -The "official" archive site for this software is www.ijg.org. -The most recent released version can always be found there in -directory "files". This particular version will be archived as -http://www.ijg.org/files/jpegsrc.v9c.tar.gz, and in Windows-compatible -"zip" archive format as http://www.ijg.org/files/jpegsr9c.zip. - -The JPEG FAQ (Frequently Asked Questions) article is a source of some -general information about JPEG. -It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/ -and other news.answers archive sites, including the official news.answers -archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/. -If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu -with body - send usenet/news.answers/jpeg-faq/part1 - send usenet/news.answers/jpeg-faq/part2 - - -ACKNOWLEDGMENTS -=============== - -Thank to Juergen Bruder for providing me with a copy of the common DCT -algorithm article, only to find out that I had come to the same result -in a more direct and comprehensible way with a more generative approach. - -Thank to Istvan Sebestyen and Joan L. Mitchell for inviting me to the -ITU JPEG (Study Group 16) meeting in Geneva, Switzerland. - -Thank to Thomas Wiegand and Gary Sullivan for inviting me to the -Joint Video Team (MPEG & ITU) meeting in Geneva, Switzerland. - -Thank to Thomas Richter and Daniel Lee for inviting me to the -ISO/IEC JTC1/SC29/WG1 (previously known as JPEG, together with ITU-T SG16) -meeting in Berlin, Germany. - -Thank to John Korejwa and Massimo Ballerini for inviting me to -fruitful consultations in Boston, MA and Milan, Italy. - -Thank to Hendrik Elstner, Roland Fassauer, Simone Zuck, Guenther -Maier-Gerber, Walter Stoeber, Fred Schmitz, and Norbert Braunagel -for corresponding business development. - -Thank to Nico Zschach and Dirk Stelling of the technical support team -at the Digital Images company in Halle for providing me with extra -equipment for configuration tests. - -Thank to Richard F. Lyon (then of Foveon Inc.) for fruitful -communication about JPEG configuration in Sigma Photo Pro software. - -Thank to Andrew Finkenstadt for hosting the ijg.org site. - -Thank to Thomas G. Lane for the original design and development of -this singular software package. - -Thank to Lars Goehler, Andreas Heinecke, Sebastian Fuss, Yvonne Roebert, -Andrej Werner, and Ulf-Dietrich Braumann for support and public relations. - - -FILE FORMAT WARS -================ - -The ISO/IEC JTC1/SC29/WG1 standards committee (previously known as JPEG, -together with ITU-T SG16) currently promotes different formats containing -the name "JPEG" which is misleading because these formats are incompatible -with original DCT-based JPEG and are based on faulty technologies. -IJG therefore does not and will not support such momentary mistakes -(see REFERENCES). -There exist also distributions under the name "OpenJPEG" promoting such -kind of formats which is misleading because they don't support original -JPEG images. -We have no sympathy for the promotion of inferior formats. Indeed, one of -the original reasons for developing this free software was to help force -convergence on common, interoperable format standards for JPEG files. -Don't use an incompatible file format! -(In any case, our decoder will remain capable of reading existing JPEG -image files indefinitely.) - -The ISO committee pretends to be "responsible for the popular JPEG" in their -public reports which is not true because they don't respond to actual -requirements for the maintenance of the original JPEG specification. -Furthermore, the ISO committee pretends to "ensure interoperability" with -their standards which is not true because their "standards" support only -application-specific and proprietary use cases and contain mathematically -incorrect code. - -There are currently different distributions in circulation containing the -name "libjpeg" which is misleading because they don't have the features and -are incompatible with formats supported by actual IJG libjpeg distributions. -One of those fakes is released by members of the ISO committee and just uses -the name of libjpeg for misdirection of people, similar to the abuse of the -name JPEG as described above, while having nothing in common with actual IJG -libjpeg distributions and containing mathematically incorrect code. -The other one claims to be a "derivative" or "fork" of the original libjpeg, -but violates the license conditions as described under LEGAL ISSUES above -and violates basic C programming properties. -We have no sympathy for the release of misleading, incorrect and illegal -distributions derived from obsolete code bases. -Don't use an obsolete code base! - -According to the UCC (Uniform Commercial Code) law, IJG has the lawful and -legal right to foreclose on certain standardization bodies and other -institutions or corporations that knowingly perform substantial and -systematic deceptive acts and practices, fraud, theft, and damaging of the -value of the people of this planet without their knowing, willing and -intentional consent. -The titles, ownership, and rights of these institutions and all their assets -are now duly secured and held in trust for the free people of this planet. -People of the planet, on every country, may have a financial interest in -the assets of these former principals, agents, and beneficiaries of the -foreclosed institutions and corporations. -IJG asserts what is: that each man, woman, and child has unalienable value -and rights granted and deposited in them by the Creator and not any one of -the people is subordinate to any artificial principality, corporate fiction -or the special interest of another without their appropriate knowing, -willing and intentional consent made by contract or accommodation agreement. -IJG expresses that which already was. -The people have already determined and demanded that public administration -entities, national governments, and their supporting judicial systems must -be fully transparent, accountable, and liable. -IJG has secured the value for all concerned free people of the planet. - -A partial list of foreclosed institutions and corporations ("Hall of Shame") -is currently prepared and will be published later. - - -TO DO -===== - -Version 9 is the second release of a new generation JPEG standard -to overcome the limitations of the original JPEG specification, -and is the first true source reference JPEG codec. -More features are being prepared for coming releases... - -Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. diff --git a/libjpeg/bin/jpeg.lib b/libjpeg/bin/jpeg.lib deleted file mode 100644 index ddc592e32ed38d86a1cda572efb042fc209be99b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4415622 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�(1vrSRoTy9vpRPSk#sJsF#LCymu7XO7fgV<@ z(nq}^Eb3Yr^`-4T~4RgIwy50b@fP(G}i+Zm<>V08RACXZX40F9n?|O5X>#frD zQ!ooC$PSCTO&|5?u&CQ*)aSxn@6fw`G0gQR()CAvGylCGbOFV_2bFd?#^dim6>wD2 zy`PNyc}V0v!R|i|b$>v*|1re0H=&Ua%E-TkME)h%{ZFCp>le89e(43i zGnjA2;?M;Yb~q?9zeQ>)-8Twx-vB!8taBf2q>ol1K3WE+*gVvIu5^!YrmN?0AAz=^ zK8mD|WN;d=(N`Id9UT^Rl8ib5W&s#VpweQX z3-4ro)G1+6r^~3PgtEw&;=B`2`cUE#p4e{74{hDL8(_BxQyhF`QvF%L7BS9-LDltFOz;2R?3?9 zCH*vX0hw);k@b&){vq{sGQ$=2H5q%(uC`a0p`X|F>W1m=C2**mZb z0`ni}0%r5yPz5l16RJ9oh{bGy$sQT`laR`oU&+Y& z+4w^0HM6lF%AnaeB$NIfRzb7zD|7+Kf0mK;nH`Y&I+g!|{PiqQg5VN*2>DI6cVwMSAKxQpuWIeNHQeP)CFzX=07lwp4pbKD@ z4^=>Bc~Av@fS-Ue3~090*GW5`WbOS_}g*GU_+ z2g%%yfn88;1ECAZtr)7n-1^Db`jyZ}>UFt|l(`LuT~KaAp$k|EL!i>8O}90ppbVO^ z@iOw*kjN(ny9e2mrH?5gJ|;mIkp0A9_wlq-pbW}>hKzh#NaSh3?ved`>Eo;r9~ICA zWIsE|eLP+cRoIFxllnTVBA!+WWl-Vg$fOs;DrmvfK&M?5@pzSttY5DSq`ppOV0MuV ze*x?QxSSUp{jb5^<7rEwOsyN=J6?uvrBMF|;aA9nE)9;lA}s2a`lwfhMZH@_y%S~u z818^7U=nVFDr|YIllnT75Kp@YN)4us=nllRStk52%mT7{P)5}+jr*lulhvb8YO;C^ z-GNy>C$oA6W&s$tK^2hj7O287J|*>J2D0S-pwwz^r!5tUiQU0LJ&B3P|`}sKPMrl6pk@b)N8W(9!gDCd(j=3)$cN^UtkuH)lV|2KCAswugU5UC^cCfM0a3T*?7W5dy&QC zZIXeL+Zw8XgfpQEo7@&suSqxuN=?EEbO$EfK_*-Xvw*A&8C8!lU+OhknNVu7>WJ>Z ztoqBW`oJvU80iI7K*Bws3cLsG24xuIu2Qe5rWi_1H3QHcSj`Ao%}|&Hq&x(wz?26; z8J6;~Qm;w*1SmBrk3@H1$`fVEB`^z^fU!_%tD(DDOCNPoSkzNx)Tv>vr|Df!4|6?R zx}FKMfP&5li+ZL$YDHMo1v2WqFxLz9uB*aaUoKs*^qcvfcU=NqK(WiA(#~Eyz7#64 z+?3@+-!bB!IINP9uMLTOb+G#@L*3sd-LDOCe=~Feg{=vWygD@UMj3fSNaQ<%-QN-F z{t@Z^LD&T(e}Ay|`+~j4(>6h=ImkDoJMbXiA`^NtIO-E&QMc-&ZVQY0l8m|oW&s#p zfGS{dJ_l96;*6)g45bFcPIL!icv~j)W^mNk!=nC2A9Yt))IBolCol`Z@G(>Y7(Rq5 z?2_=l)YmzN<7uBksloI)x&tx&C=>o3W&v4!E2HY~6uy>vO;-D$)MT|E-GN!96}mTE zhhY|g@gP(I3I7gN7{*_vUXyTop*GhAJ$phElJ|swI>fjG5>T z%<58Pg`H>9t|`pN{cC#qwW3YC&S|fwHZ474m5?)T;4R(fUIMpP<)W&xa;xH8zTK{K z0TSC?ESG8}(|Nd*;3@;vu=47fiup5W$6oF53;i~VkJL4YapWNn9*&wP;zuRf=aoUZN!diF

DDMx31FK47^?9Q_)(Bu#YpgzRl*bwgtbrP<&l}~jMgeP(#_ID%d8``3 za>M9^%=I1iuY4(<&6i^Ln>2Hzsi4D1-;@vF2Isi9mtf%Jl6U)sAS&4bla7k6iVLHY z4kmYwjye}XC!H|UxhOj6sF=>N=p>sror|H9jMsE7j?TdiPL?9Vb1>LvMT8b!l#|79 z_kn{DtzxrW65K-?9IL=FxA^gE^mn;SfofM=KloR2&V;b(xQ5?xA2h`e0RLz9p-B6i?Wn|1b^qeh)Yt{pIuwL}6&*GMxe|ufd z&Z;UJvb1Pc-UFWG4I~d$YSxwUli2*F)j`W-9hI!DDqaYKt$-JW#XD9HDl!+Lst!~w zcqk#JY5*14k5CN^REL@GCO}0-D!Xs(pE-H@1=@Kng8;%E4sC#y_GuWUe_2%*xZ{H<>aCQinEP>TRiz6O^4@s~S0-+CL{tGO zm`>IM4y#yRRfGw~p2fSWK(DyD0G*-N27FbPHKBZQC5(!y7y|v2HiNHpI)4lFeQXVM$c7 z*^`&FHPGmIrG*}{=^i)S$E0wr!+<|q+W>*iLqG^umjr?x@Ce%ifvi0s*r}8Z;W}+( z*bWF}@c|)RAy|em5H1D=VS6BuhX{n>LY+VeH&TPJ0}#l21cc>NACA}wbmRd7on4e# ztyP216?O&!f&3x=SJtx=dqUJ?_Our|liAbW=uBo$ z`=B$KJ?)Fm*h!C$lCS;HnarN{M`v30^cBA8pF4Yc-egY)f;%mH+IAdq#{uUcP^D#0 zYayJ)RCp_}Qh2Z#mytakfq1X;m__Q*k*n;(>?FY`BsrTqd&29mO!mZj(X;*+?+%W# zr;PH!(RS8w#-pXpoju{{6P-QXg_=wL(xySnY1z{m$b(}op9re7?5S=UMRgLW(z2)b z^@~kT2Gu;Xr_L^3OUMY0!FP7vKc5PawCri=4^{Sb8mQ8;r^}vKRDT3jcJ|Z?Md;jw z*X(nXGr*meJ+Z*C0?!0hcJ{Od9!{!K`Og#>rO%$u26ucg=gyv*IMq_zymwy0^N3p= zk>G#DC*@lH`Ia|0R7rkwc`vZMA@r#HKFhsbXn8|~6rY(p@5RI$mow!5 za>Sphlk%IX4aGerzqte*sG0pzM$PORVy4XJYHCoW!bf_zlWJ!7G?eacDBal*JvMW# z&`p=-I%%$#<_2kQl;$RB?xd#hScAKh^B!L;y9?b<+G5$=)YskhOhfUhhT=1vP5lj2 zPc*o@iJ6LJPa;7`E0*2UkoDM%1A=RCPY^=(V>4lNSWdC*AHe#D#!9Qf1gyNm+dqNz zPmPsUg9%u9g|~kJ>t7lxtp*dY_z-0j-tGg|eHtsR1{1LI3UBuV>wb-uQY=$DlUI0q z5Lgd1I7cQ>Zcv_k})J@JtOSzW?r&jsz%2GMDsh5iG`8W?jFt^BwA%azfRCNmHKosgZZOl zZ-9! zFN2-Agra%}R3trXQ`TSUSSOW&&ny@512y7uxZ`7D3(4Gj03ipX9R-t({aK}H?}LiO zX0wSk&MZv()_Me4rRHEceG2tIaMN;xJ2D$y6?1nj3V{?i>%yl{A4U@L)<%kBW-*}W zqyKJ|Pfw9#j>J_lr3yGOXlN%d4tbyr5j(&n&O1V)3r!@_uf4RTYbE zJ(u@O;*IhXU&Z!QG$L2}#&i!K*RftB^?pmeT~9X@`NK@0J;n)KsAA2c zPO4(9+gMx&4BrV&;oor;YhCny52ETW%7~tpEN_mGCG#nGpTgq}o|{+)P#3*DURSZk zG!{oS#>|TW<0{eKq$v%Ji;PCD92_z!lFPZ$7VdjVuYYfE?9RIU6a{MP47YY zQ(WQ^=^HvuBSzXZVo8e`tToCUOg6(v^Tr%!F~i}Cc}rj*PRE6+xAf@toa4V)(sW2~=qr&!@WJ zSOS&z1S;b>Mt}KN2da5yJSR~cH`xfj4hk7h13=O;o(FZt(-?`Jk@1|dMq&<@(`P)* z(Q+~}p6T+?6FWTKF4l$5cv>R~GcukPmc??Sj7?=cyoFxx9R#AzP>3;No4HofX?a7~ zkrXbMx6AT|a3OhWF7G7E8)A~!dM@wE#2e)(q4Kl}IvR0JSp^Hfwad5<+$XDvS=#DM0N4tZt2!R)7jvdBv>Bz}j46r4^t8 zR$eh{3b3}&SZM{QfR$Iw+7(z^YOJ&ZRKVhMnNiHz4Om-gth54Dz{)FT?GCK1HC9Tw zD)#JCLA;G7<`8VfR3?$K>D~|R39M~3R-ZTBW9mL1O2-P}jvizXRgP7|9e?9z zqZ})VJ8JO7X!LboMjhdJ$h%Xc6W#M{!tfKm$dlP*3hDlqe<>%MBr{3>c>L{KzsDy6 zb!USrDIne%YEY&7H~!0k8ddr)L;~pVo~K$hstVptFbKDEY!>tenT+M0W+7DhP(kEt z>`bhUtY#aYbK5ZICi;~*XMu{$NT{|8RI4CSihbJIpdz~xs_g?+CI1j@2cBZb(ET#B z?DcUjxXGy5Xc7m85!nc))3?cFCXB@$%?9KGfRGidxn%t!0){Rq8GV6{(C(Rjj5`SXiK^<(B|K!mrkY$nn{|1l)9>SqP`*`0-OU$6r823YR(f z_*DuE&#^IHK2haZm)z044pbS>aXGkYBlzsd;jNUZnD~OVK&-eQ;%E6{?yHGgoo`jh z3+Fq_BCoN$s*o3aK^E_|mRA+>g4@XAoo;zmAuo8CEZ*yhH_G#TA@4@uaV|$1Lm_XG zCZwJ>neGweI>t6p@6FWPwMS!-KimSe$&CmGp^$egby6X3(Wc@eVEC)h6n1Hh9!Fag zy|;m=x{ET)JtS$qSIClisYCaaM$b*G|Ddk!XbsWhXiqm5pKOemC561F8^e;QkoOel zulE6sj$K*|n@5cnS!V3I>Gv+%u2x3?V4?Fi(_(^d$kT>0KGM7fVrmRXOgxeymh|-%3ZM_3|(-Oh~sAkTc z5T1i*X%RM`pP;sw@1NC+Rt!;(HB{1x2U3E?5FAXW+Cq!qM;6{Jyh zzJoJX=R36zEm50ficOdabDO{*?4npS?&g(+w zVCtll?a9XCQO~n&N+sdDVZBh4U$cK>@F-qb`S zs>UX_1o2UUvx!btYJqd9rmOsp?z%N3UcuIknS2Tiirfeza80Gl>cSa6xV@7bTC)srK}VSU(-8T zKR&mf6;aiIMMUQ20DT|lbgl#-?zl$%G$ccYjV!vVYYI9`#bDL)E7X8K4nG#iU*Q(f z3dM!6L-4L=ON^0wVaMXwP55o!%1WhbOya~?wkkJ~RVI5P6huil|DCB4Tt58I~nFPm2D$#oY0`$&i`jltLQ|+~lEkq11bPnv5&bFPreaGIe}jLlkR@}-~23K|K7aGNm*Cj)_;dO)y*F08^rdz(H52oyyFf)!RF*yVYI zQ-MISGay)nDTGk6GOIWZ2ox~`LMSJ&9>PGlT^WSafsm2ooq@589PdnwW#o8gVJsuZ zI~!veIo>%K%gFK0!&o_1=R?E!Kq$xRJi-M)D97qN!i7MfEG}%zd|I7HxCjX4Se-|> z7zpK9ok#c+5X!MSk8lYgC?y2zb|z#cv$LAs4^gL)D3DQ2yd1(Mv$ZSieBq!*^Qmm@ zDtt9KceaKvEvfv%66tJhU;bS|u0+!zQChaP1fKYh^MmWHh{5SZB8F@YKc^#6LO%5( zmt}KhKy6ehJa~x+J!ETNA{VGq=+CQsG(+ciMk`Fq*6zYsMz(ghl`6QXC@ixvq-Sfq z+Id^Uy_lU2+(f83@We`Yk>ETL58v^tD(In13E4wRx1)Z!&OamWw3O~&5$jwj-5?az z=T7OIdG6qT;#S)g!h$^?A*H*tk#~)gVP3~n{xu2zXI2UAVThQP(tUuR*UX*LJ;HCx zi&gii6*2g+NW{5Py0>u2s1jI~Yq{0Xkt^a8c9IZBqXTMFI@UGgor%>)i9L7V55v!6 zuK$BNBo7P4!{^Z1z{y$Ye4aWf?>f1uc#7m*FQ5Yz#c@r2uPDAw%#@M6Mhz;8_}E=o ziYki#*Hn6@sq|D_QG7$_@MngI>@8{DmgXI4-j(J(Y2KISQ)&wTYjRI<>L~dm0ept; zk8EM_bL#8v`n0L|aZ~YAPWHY4)rU>)8RDbD;zzXmsfES=%PcH@1B4fv+=qmaU04jG zBXbIi-vaAD8Y``^7_jn+lrw?#qQ*)qEC#H+BIPV#y`-_yiZcN#uSoeFuwK?!X@$jr zl~<(v9$2qvthB;nz{)F9{s633HC9?-F<|jo%_vg-2&@?zE2Rt>JDQ(C{F)}_biqO^ z^GY!wpLhHMtk*SGpAE=k{R*r%G*+Jt$Yae0)|(ou&j#eNegoE98mrF+urtI zX9MzBc+*tj9gWpz1M*mvz41!C&2Y?2&P^6C`hk!G7I3`Gs;G&D8UcFJC#y;HA#=@Xpt$K+ZMyr) zwGmFSc9gb8ftys#8=%R~ffB;?MjCDXK&R+_4vb zAs(M+me#LfS-??@Wg(gR%2|}Ei*)??+CLC{l?cQgFCdStGH~8ziv*|aLlq0z4w*lz z(71x-Rn<&BZ@IiHT3%JGM@`X4wEdPU(mhHOmv5k%2av z?os19PHv{&ChG0_gldHN&y68U~Yy0KYzAkYyA2;tV1 zK(GV;5Um3QI_UwyPUV6gtZ*J-T_8|O84&Dp6@pceM_3OClt=~yt8#_Fi5~wEaHEIy zfk5eFKnRrs5XK&8L(oy?80ajZn#qdby~IX9pnNeP*hMJ>s|Js-F%Zc01_Y~Eg2K%k5;AlRuCf)&mqYz73%0|SCxu0pU1@(A5PpzJRoSd}XT zyGb5l3m{OAl9Tgo36lJrZ!3^wx85$A z?|m3$oNjGzCkmQ~CSqa<_io=04?Ho2GKW&GEAw&%GPC({jKa@FR-3bHJWj>Q2c4pG2+Fdzw87 zRqbc6ZLQ`gfy+?hUKS#p8@(m@5c^?m^PK};tiLlp0IWGV;E$Z0XXSuva-tk>&_Td5 zIiQ*9U<{|_fUS5R_S`ujPo0tje!~w^#*-cjRFea4hQF?&a=^Q}ey(!BPgmxxjqY?d z2Rs6BCI=ij)8>G`+nBg@4tO1YUZ0Tz9z$@-K7!{GbIm>1$6DUtdF5h~%X^&V4X#w~ zPPx3jmNx`Gxx3}^oAr!+^;Or9-t=SXv|H0MckzBCs|bD=bsQ&YI2*`3mC zeiVKMy02~~U4&;QucW^2uIbIiYnqGGIVZddR97{-(}pYE>R+$P|d1ca@fOWpcN~=r-th_Sm&A_@qW2IH50#;s`^cG-UsIgK?o62I? z>DXGP-^afK>!N0N7EZOh5dZqI+c0*C8S~Nfc8p!z?9OJs3k=^K82gJE^L%$=>`%?^ z9OgUU@ZE*6OU;<)yBlMFZg%G~-+6}bZy3AGjCsDlW2}GY$79_Ktp1%JkL7^Xzw_g< z{sFB1oga_&Phj=${CKQ?0jq!K$7A8~!G4|}k99w=`geXj)FKQ?MkLogl|#)79UrlPsv;G@aOL;9V2na zDX5?2%l4c_SH){VXW)<9ICfw}Fg!@-qH5@xNJ@-B4 zrtv1Y$s3EuRdXLeORaVyIZGgt4@F_sOa3;vy-!wi-;AG|M{|oCXUP|xLEWDFU2uEP zthn!d3EZ-7mOo8v?}MAHO<8KClcONI;2Bp~m*lOI^>fEe^91S#0HKW&+hh}~6kRa! zhN$;fiWazIRs5F8KmGa@KMGCZ@@6ivu3y{=y+47dx{H$WYvqDbNe`E#r1DkhzOvbK z6Kgefbw_K6%D^LAio;vtWl0%$WJ_2Qm4Qd_k_H2f5{|T(zy;JReXs}@D^q$L0t8Ak z0z$YoCJ;hZ#~=&^0wos#A=D)j2;pLA5EcLer4#`n+&&Wsp;RiGW}UUC@Jt z_D*Lw5GZ{J2v%5yV3+3+MgW15?towwrVy-(J;F#JP^u6R?4~J%3V*JR9`N@+vl8qv z7|TeoYcQ6PU@wR<@66e2`-Eg6jAbO)3uDZ?afuai8D$ZSWhB^(Vk{%UUJPU9*t?f_ zaUhgq?;c?ZAe3Y89$`r!lwfyTx-DGK|NVBUnyGgUVH2YIi zIIzWS(_#wY2cY}l7E(eegda$K-KMka(3WCPOVlN|g5seq?%}y?tC;W5l2tK36bL)FxPu5GyJ8+j^D5?t0c#hH#kV(GOI0)FRm=|u)?|&9 zRxuB92dt?rZfCOH8n*}j^<%vl+sBOg#OQd8?b+gX zVZPlB-w7Do*Nl0-X&Bq9#Z6|u-3;G}7~9W`dA^e{ws(u0!hE|LzLPPwzZvsoEO#IWkwnFODqHHFY^iQ9Y4+v@(IvBDet`v46>|Y(2&qd-#hho538Z^ID&~KN z2I$o9&ob_de}z{n=KFB>exch|%rCVfs*1UY$atJbL=|&J;*R;Km|tnpRmEJ;SvUrZ zD(1Wh?wF5?`Sn;i`7QBx?7gIFEfsTiWa0+XYQHyvo4l8Bvkwz)shG1ni<~G6WGm)3 zgPVMqaI+^9ZmF2FQ`2+XiutYJCT}brSIsRIbCH}S5Xo)D{5EiVpRDGVOM=WTZk#2z z74tj5?LD*NmP>-Hn=#U~b{DwG+LWbMIynlW3!X8mm~#l?4qGw52OzX@Vw-GYm7)tK zjwcM0QeqGjM-_8k2Y1+t`9Hu-8^^Ocw&qHSL`)o2%z6FXVJqhM z5w~&?s$$Lt%^X=3^ZPBYs+hAfb9o=IysBc(-YA#%LCdQu=DcsYyblvErPj8_{Rnl^ zeW0hMc!=Bwo)M~K0{$#@$H{h7tA3}Y_?Az$rB?lpO17z1{Wd4t{{bR}`ZRCMRo*ZV zEA>0fT2%&&v5MBj> zPwC{a#&yvd81oK{$9yPz4P!o~69*IXy^b+D0m}J!zBe&ej@~`OTRLI<_FIpf22?jdT;c-`)Dii#}+Ici3lvX3i(@xxnN&Ies7u9`o6)K zw?1ppGclI7?yHuiFFj-XofV;n^___4Amichq6vb;lO9sT-$&f6qxg%^A0i&p`4c)x znz=%JvwpSa&!D0c!&I!5VR$YzmgW}>lPU5-c^KKRAO1DsRy*du+npV;%9zC1Sl~Gr zBiYm$mh@xxt!k|m^pY){MW*7(H=nE~AAn&xXuLr@eAnt~xH95So4+bzO_O^djj6K} z+^*75MTQv;vb@1vsx@Ts4z|3(C#wZ!@eZ-PA*QH}%i>*tc%v8@YG%WzlVapsEycGb zMh-^@YGymN^u1=bC^1v5Y!PZuGs8!Ee-YKpDq2gwwUmC1Yi47GZZT;Vmu3lRmXu~G zX(muZTi(-qYehxHYNt+{HXNS@Y=NrRsV7VvzXkn+o(lB1U;U*hXl5laRcwKOH^5K! ziiB8Ls5PRMue+&x1?r}EgtjsmoeKKh(o(I(C0e7dsN%L%t6QWMbJPC^*LEz~ie;_{ z#D!bkZ&Gn%g0zZTMQc{YtsV$ft!`oZyHD8_w=kMl*=hh*wZ=-TxCN}d%2p$=25PLd zid(?St86s^YlOy1tGETMyvi2-R7GL1#!9QW1+2WvRtvC(Xson~TfkyJF`#<+ii(C4 zYR2=EXTEyX3ap_TE3M)duu^Jh9;+Q#3$(f_vbP#H6#x3M4vdX7V?HJ5#MrP_SIvAw z3||+b5nDpU)wbq!Jz=!3|uh zyw?-|m3XFeT?j|cgGuA$Vm&*HDqG1cOf1EL$LP3LJDyfBq&s@MC(EJx_1itG(;ooc z1QOBl9LWnB6)z$2cF)bMh^lNQA~H9vx289GyXR;Cafg1pXNC-0T69&m5_Fb|!J@Z& z26X*)&kXb(q7{lGVYlEN(2f`*C&TW=v9s`-zmt_p-Q&fTv20at5UWh~q)Pl7HYK_9 zJ7cCn9G3k%K6i;EV~j*)uG&NALJ#Snkm8_{`Xry&xj_X%Ue(M^b8e$EWNFhYPWB z`;O0jtca?(BO*pel3`h*=pCO7%N_b1pBW+^U?)-4C((H{Nn`;M+Dx3|iS#=@GbTC& zx>%^ymVFMTPD*K)Xe}<;%3lNb3RN=WJD$4Zj4vwt9MD?a&u4s6_BlXhd{p+?pEJG_ zfk-hg&BbxSBn*TbswtS91O$q7fiT=Z5(wdfU=U6Q0>!t05N_59gmAAn2&VvnqFO)* z_ZSeycf->_N3Jf=g*roGCc9ei68;DTau)$%K3D4zP6q;6eL$Gc)p~?8fiNaMH`bk< zMPmv&EYFQ$_b#U_a#?Jg&lD-3@PAcgToKR3e575r@;GFj7YV_gqsi6dMsj{y=LJzG z3&0aSj+gbudvYO$Ys_loxF3m^5yw;)foj1x-{Un4)pB?!Kc>2vsMP9%Vx!g9h^JnV zo7^@3DH57F;^qC>h{~!IAzoib32})PBABdWFekG|S*U1p(!jhgl4 zLR^J4&~ep%oEa9=Z-coSRCFX2m8^8>!D^+~fQp<4YeLd(Z=}~o^YB*1Ml(Hv)y|VA z-}y0BM7b`F^?G!Y5o+hotkdxxp4b3x02N7OO!dZSR_>HkjX4`PB2HiYxtXYx?Sx}3 z{+v0oPRK2mH#i?rO)l@PmN)oFQD`pjZCIH^jZg@=ojNIM?AKb{U!ukx=s+Q)vbFDp zkbe;~o$P;7g9-sYb{9IS5c22N(#5T%3tOXyhwc-)`=xn6ng^wMNSc3BL(9pkfUIUK zAQ$?iJD7R00`e>&7H(*DLhCCa|3}^3g`0E*nOr0eKM!m$teab1NWWG_TU|60k1QSZNiIfR$Hiz@N1& zT&}UwDj)$XuhQ@eu&&TpX}8FL#fK@Q((o#dUES&~<+ynjhm6?Gyn(UlX3RUjH!*fitGkT(t~7jaVeC3H=K0>n*tM&=+wdk{ZyxKv!0Mm9d942dtAF<9u|5D+|Lo0UeF&`n*_+4u zgs|KV-s!2#?P|7&YuF;(wcM~9t)SmLA}S{@nx9!Db(x;dNY~-tDtA3MDg2*XepQVS zNmv9)2ly3o1X0tQ^&R|I7EIL*Sd2&tCz7#9atFKzzrmFM%!2-opm9R=Nn=^emv-NS ziq4$K&a_M%!L|1`HDkd21uZF|!yD zKZR8p$uCZpQF#mf*{CKEbvD#BocD`4vaDpFW;IYs2cEnYjKv(exw@ky~=*58t@%w zKVyMNu_Vn6@%=aqggg}k-XIqP0vTi=42g6CAzX|M!s0-nxDgP-H7E<=&84gz@r}%e4=2gyzoRgp- zaU$Vz_&e$(Co-$G_?P*w7BxD6o|YTKO9`pe52JaPu$_Umn8r%G90n{l{)|i5F2EY6vC=Mw0W0qkHW^q; zXsoo$VZh3}giQg~k{T=Rau~2uu6sT-?FOu++T2*$*BZAZ{`F(KV{E(`^A2?nj4j>f z7Gu684Bu3YO)z7gZ!e7XZ?8Sp-oWbLUVE&4fVH^RX`lDnW9#s8n7TO% z7z@E*^73o`&#c7zgh>9h^EM4*_DuP`JJAZEl5VwkRc>)8ByGn|0`}tU-~IQjCtFN) zfne!)9e45j-}#jD=WgU6l`>DI<8#mbXUN~~W(UF@3!x^Suh=sn6Iqech1kLVcxk3_ zEe!b_U;E-cJ`3FBoz(hey8qHciPesci`aUG4~@k2x;)3OTU~zGM8&r9ML*XY^5b{8Sa4itX+XjS?M1wHiPtkEOf1cY+d=n-xq1hv4qye%J9v9j+&V!vAY8;oy@ z78_eNJ%=)$tUT7!?HDFKF(!<@a_DGs1o-yxj%bLF2_K`Q^cRhHS}DUe$N`em6`h3) z+3vCs!Duu@bQUro{vHXb_EP2?jyFfet8{jvV04iW2wrO#zgCP_Tahv4zbsfV)CerN zyk)i_8S>?S5c11e4!4SjsFTj}?rp_A~@{;i` zAs5bWb3*Gc8Shbdci~)p$@o)S@uIea(GA|h)1L5R0cTVmlBaG%H^Pd3g6pfX3$p~0^$^56lI#pw(C7uB*FPZ-gSf^>M zv`a?7O1U<8_xc5}{@CVDMn>UI!@qv)ON^ai#=P763S+0Yxl@?$RKxc*#?CZjp6^?X z^>2SX)=XgaZ+|@2EMWC-e>~QA!0O-rc&r}@%bo2HqY5v7WX+$>n&!b z^Jfd85_ScV#`r7NaaNlw!l!O>Y5W$A6oesyCw^M8TBQch?cJt$)(Ly!X+H0a& z!y3(xh8Bz_4)U8H4J{OL^CDw)E*$Zg&PCBlQtH#o!k8ZojRh5*Ii})a^P{1~Fihsk z3gBV$qoKtkZnbOv>yafQR<#{|Y$=S9Y}!LGy7|%2(x9R<%v3yVel#==!*ncp<9OKo zXlQ)Ioi_i3h&4^_i8Q88mAVqeI!fBnGL}PKCSu8x9Lrh`b(M=3ljJB^4t3jzwMG;;RAnu+m4E4&c!42l9~ZC2&H@$~bYd*aZZNUjZSw$OM9w#CzCD zK%ht#5av?`kFYW!DE1&gbS~LKkm&YQTK~3+WeiKyjO>{cjB7w<(!X-xl1LlRyrxj` zu|a+uyOOo+v|+i?w2aDJ!80fR)XKURBB(Zk;IPCH!80cyHiUFyyCIq0h&su3A80E+ zD7L#XI*?4CR7NtrEiqFPy$v-;rtz`6un{HG&$X4FZ7V$;C)3*r-S*P#AkB`_>?F+; zYOsS@Sv0+>i~nb{=%+bwC-dfg39B%p&B>_GoA;yc?!xOjZ+@?>_)c5Y73IzEwYk@E zG9gS=ZO6NO9`^_0Yi;gX$(xxVEpL7)qwujS^=VKgs4?E%&+8Y?Yt4p@2l z=^?;+Nn@qu%>gSV6ZYQbFkrph=KjO^$4mIvj~$M&SIw9|-$!Dsf4cElM*-_ay`Dbn z#$z1~tp4f7V;x6WZbn+3`7&$k71kD?fC~C^LTTyZ@fJcQe6NC;y@7gWhEhfLiHV%= zM2n)bRV7H3V|gG&P488U(8Znq3+ZPX<{zP`#KtqjJ(Ro7#Tti}Gp!^lNf1fIj9&DL zsTx{o-e7;0KTdT;5_Oi2m4N2@m+DS zmkL$V8C^!*31>8?tvEa3jOHk3M30gF#?I(UAkuM3vnCG7VIV|26V$H)0v(b-7-AF% z;~lyNbaVg$U5LH8GkLS0P6(;&k(2PdThpt)$fj7zW|oL(H(0Q+I1N@6cC4mXebt|V z`B#e>^dNS_R(xxC2q6RIPAE!DA;j9dsFO@#c3bf`F@?L)fmr)O8L{>OVx|~-KQ)N8 z_}E?8f@1CH_R`4q((v}^>+lDK?jdO&mgW&@9+l<^YG`47jJ3nt@wIp|*8YdE3X8To z8TGODMe6P@EY^-`qA$Y7w-=XgkGi5*JHFj5)=m_ls;uo8*N&CF1jMoJZY0e|UxYJ3 zTC5%2p7lle3?MAn?#2>A_7~w{G%u#T2CRiNR$4p>SSiud$G|s$wXnwG<7B@!S5l|Q z&qq3-e5i#4{yoARh@8pT^#bkZFHnr&S?Dre##-3Yqp0dq?=(LZ~Pr5G)cygiJdD z@inAdwB6nkzoAY#{Y$qO$F=iUP(KP)@}&Gk-HDUZ++J)kKKjs$$L&}FLkz;+GFpzkkBnG%~)zkiG6gG z?WvA(al$IB*6uplt@(2{gkO;WKjkK6IatK+A*6Fe&t4{zhjWo%;`G1C%Tslhhl zV|QT+ZR7gwrFGj&YscHzE_5BzbV}1D%_M1lC(X*ztRl_Y)D(7ZcWd(&`e?Qex~HgM zMsu%AecfHVw-fio&tQ~;Wzy0x8 zI}?`Mna@(fyKKpt--^5{q3e zyvkd4WIpER= z!{!T=<0J00`A>*g)8syp#?;ACku~Tj>xrn7EU(IF!y2-9Pqw_OCK48y#e0h7RbQ`! zjmzRajd-I7D|bVRu%`o$qbTXMhyIq=8ysfOFx~XGyxwXj;xnnYYq$0ye>e+hJ0}wI zv#FE*me-r@#W%okj?ff#YL_ryd=tIrf~dNSV)|~9bzUN5$&BDH=-#E>a}(>O)J4e% zX9>~QJ?FO<&ux#FMRhFty661%uq67r=R9806+k2VPji)AXW7O3&<;3K&d@O6qurH2 zAS(?BA^lDuG^8V31q3qWfDq~{354a-5v~RT9n*jizP3mpj88|n1_+yJ1WV|G9xSxi z!?i%@)(BQugL5cQeMei@hC>dA?gPMzMy^xa&52w_Uj=g(?dw@`my?cbe z1ECyy_Xzg_p&Wbn2>&1i#b1FL`n4rR@LykPesteH;e4zPK*9sU(wc}@Se+`WD1wy)`b)QT89Q6wVc z@%+(i`WcBk^lSPvWP8G*2lo}Bvv3R+y{4ZR!5#WF{Tb-bVddmwB%|YuLR7WUiu7HN zW5?peEit71!?rJgJCW5gnY^Z-U5{`JsC`ZUi{K`IGgme#ujyw8r02G;>3Zc z_vAJGA~{PSTRF5u3-Vt5Rd9R%DLFSwF0bjAxy9vjw|!0jYvA@?RB_8|`eogWA#+=; zy#a2rHf5>tF;F>k^qPLwJ&Ryp)BiR=Xye2-*~BVURvW#hpI5-#_BH+Qf}1u@S$3sL zdZX9$^E#N@zNY_uaMQ-|td6a@Ql<0JYx;Tp%xz!O{{e9;_YlIa7&LQa9n=pkZ%7+N znYp|lS>BLIh_lG${n+w`3_#phF7Kzr8>O$I9{L$Ncj25ibbd~ql&+rJUOZ3I)i2P2 zBI$-@RM&naW=dp#pa#`7eC#glMb)+U+e`1Zm)?%6Yd;Cy&(i!N&9BnTmgYBU=15aP zkIEBZH8r&GK9*D8=G-^=z0+{QD*VvyWYkycMxgs=Td5mKecfFHI*N1Jivv2avQeP= zsolLx(DW74&*Z05D|PQ@R_Yc6!Uyf{Cql^niYbidRo4~*)`uD^tx^}T@~UeK1M4G= zl~$<>Sb5d8MS%6O#!9Kw#cAnS5PzD8#1&ivjBkjn!v`c&x>N^`*w@ zvqC)9lE9kT?mpn?{t^E5;bCbSb3gcNno412GWCZ{?LOv)4?%DIm`9@GH6F8&+L<&i zu1tug=FZVHF)IDFX`K_JPM((C%qDmUBi^TFFg(kwK_bqfctc!FwJfN{DiD=gvnrm+nrF$Hzl+zLUF=#e5}G;U876=4MfFC!)-={ObdnK@M2eN)w;Rve z4l0t!m}*BfD|gDQtfIFkA)Sh4>mn*;JF39Nrz=;flPs?)aItD~d4FelRe_6Dm&>~f zRwlv47pYbQ9tRL&MUm=2jxej6?vdj<4(^}>y9V`kRdf{j!|#FiL!wBvCUsJg>Y$F| zfnfN9&=kIpi&O`pcP$WAcTqU2=-{uGHxaUAFx(W~Kel^rV%?0ox=n!WYU(I9beLro zn>xah=>7eTyreCFMw^}H+H zfl!Xsd4#=yP>$7kgnbA>DIr+54t>h7PAE2Y8D^1 zBdmzQ=|mzjH_!7oBm#K=L)_|ogs@=GM@UsJZRA~Jf6CKLf8r-8oRcOVqrCtkk}DPwdGAD)5AX`X zXv37Y@dpBfh!z25EhZ`fIF5Wx#nS5m)J={9E}cWGzqJ|QWnC{ zXJYk{sc^^j^u+o+=DHH9(1B{p|H`Pg{FRs~ zBfFIv)Fkk+yKo>?TMq9i9okXq>4+Zay-nzDm*x&>?v&;(Y3`QhZ_+qwXz_h4v-EVN zJ>L5eVHHm8a5C!4EDxjm^bX7-PxsOS9-+SOuJbyI=X4a$Ga2{z*DQ*vGAKc+9Lp2s6N`}N zVf3u>!aGn@V&j=X{c0wN6NiZRtt9H=ERu*B9qkoUnfTSre=WbdJS)yBu|upR`Od2U zS$=hamigI$9nT-J+h5Imh*gX0@R#V1fywRx6VfI6BlaJknC{`@IzGYe_fzWaI=7?9 zA3g)xshmKJ9|Z@7y4dH`Ntfu4JBlBH;R~TDoYE0J>G3gozXVZr7dfkQ#hL#oWJy=| z6S`09@Z7}uGj(+v_t$lMNAa&6W?9ACJHnFaw>!7-l4b*q4sDuE^Tq8nZ|otmnv2_S zK%k=<5JGfJAcS1fAj|;*9ngSa30;uELVLGVK}k#DSdCzXRS4n88W{!v;W&*Da&ulq z5RNx@?k8R2G1h7i=j3D)gY9H?|0S|q7H2-hfy0~z`F!WJ`Ft2+@k;!eW9RqkYN z7-`;^V=ZPlT#=kCpaiN{YUd^35*93Y3lVKD$s)N~U{S&w_;Wk*pINt(TABo>QJ*Sa z>~1vRZ_5)wMdwSj&9qGPZ+=r%e0rAw6`dxb;uFeLXSWcP-^*n|Ws@rr@zZf?#sa9k zCy-OiV8@JARLg;iq-VX#`YS~{m6F&o%Sod#zhig89joz`J{G$O5OOTqK`_~a`i1K& zL}GKU5$Rr7nD&e{5_7PezV5zKv>f4%Op8~=+|%X#gF!;pg@56CT_hoIZIrPxvzXEf z%hKGHk^JIN8I`xt>%Eac)ENpfM)r$2vaF=Z@`kV@saGyp?{G9Yp3piat3{@PKzO>&Y>bl`${WJlkB^Ry;06X@@$!37f^ zy9co<^1=VjI?sI~s3+5d1kg4C}f0=o~+z|-h zbhzILA^U+T&b`v;Kn>D)m7 zDX)DnOd4Y(0EHJl?i&s9RLp6Ld2hk~7DC-66@)m{tgGX} zk&t@FSyuD<-b3s}>Z&MuWNv1gkJtAeZo$;OQNY;j7;HXX-+MIVm*ed(fyZJ3KEi~8 zOW>A##*Z`I3yka7x|2?RFZFf}>@4z!Mn9913USf)U$*v>5k4u_v{YOO|0ioSGRFdUCVYBCw7`;6_@P{OQKi3FT+bZ zA86!s(oCGMF0;Muhu~(|evDmxP4B$l?t49?BAaHW_zRgE>_oxBqKTMTyzN_cl)lQ$f+5`>jzLDv zt}QDqy#+Iq9sUGy-OoX2^WxoGttesJB2k!|=b4We@7`{~!V!zWSO^B2j~DOW6Ui^} z#Ga$SW6Yivzl--;A;KxuyI3V*Rx~*8UHm8JBm0hHbF}kuvhy!HW$=5F{_u+1JF$@= zB3;(Z_Y%n)Ex&#s8VL)el2FGBTwqS=o2E;~I~`I1A#M=oR)T zxXCF=%oHPMGQ8U+vOWHMlw8DEWY7JWU3>7iVyoV>$uM#r_-dCtW@{f<*h2!WxvqNWTyUx-! zozWL&GlcFnXo9-mfMrJH}Q4T&a^u`v9YFD0Vw|J(+ z@6{`)f<#m_F+EI6BE(UylKPe8D%F>18I`&G@7R;?Ivr>sRDv%MED}TbU#}-2hC;eM zJE6Ofh%Z2$YCuKqEPMnmJI*Zd1C*>q{Qs_lEC-O-d3q;ag+SYL* z83uyGGl}G4Kp^W5gdwmb5JIFi2#W(@vPKB;J%JFyq(N8$2vamdaPSF)ki{5;rGY@_ zN;YhYx1sP7pmCts-B5VzACECQNo?hAGIPgKcLK)tFk_x?BF4(mzDHOF2<2$sBPzQrg6sPQIqLXc@!iYG=ScBk|&-6(RG~PPaSzj6M8*+ZTwJ zgi3q{eFqWyjCwn5FjqH~@fbDXGZK#yHCc#oG$IHVDd95`5M7YYTcowRNf`51C-xj$ zkW$8@fRPLeWtB74pI zFV+SXogk)SS|~4eenc^Wn=<^Wnn?t8i1N zlTn`!A5Pufgu{1HIBxzk-C`7jft<-=EH z=EKJT;o44jb8bEyM)PvmV}UhYW2NMsv9sz0@pYOwE#b|b*oT>Egyn8ZOH!|8w>>=$ z13kUH@hjUBf3X7JLn;WBq$-Fi$4GJ)b&@aYy)WuVtVAm&xiSyArFiFD%a z#AicMHzhL2bEuQf%N?D?JLSAwB2-D+`U`a@Z0pg^;=>8sdQ{mKz2N&1wyn#7NS2YN zSI)h{K=2bL_qqZIH)w?5v=Rs*z#D`sfj~wQrV1fBfe^f#LAV+S*LOPEMb^8&b6tb6 z8_k$Esp%LiXZ0T8Iv~(#2(r)T>OI2sKqzPR9^pnpPy(p@>v}#IH^c{He%>{FivmW+R6p3pBX42LU{lfkqnnh!bupSU-HucFBQc<;Rl z`wl{qn~>ZfG$IsB*il(z5s*zTn+iq@0fImv35d+7Q9!|c8Fk!n!3`Zn1(()Q6c=<9 zHyp(U5gEh<71_iEc)wHCU0ro=S4+S5|9qaGkEzr-r%s*ot<%+gJ4x{h5fYn-chlVf zAvTc>z1zJiHj!6JKsVi0|1WO3?_w}+wwutl)m2cl2i4d$VosP4_)v_r7R8 z5Y308*({n*&|v*S-gLM5-gLi&FYEi>w$RF(?ly>%)^7EtyRUbAE+{on*XAH4eC|ehXv! zd%rv3H~fO%$L7cK4zxQr;C}llr%8B^ufdshhO^f!(lH zA6BCe%jo00nJ*A_t@5tW!3Ft*MRn!LiyHKIaaw=AN}<>{*lnmmo-gj z>)esN)Kk6iogk!_F7RTDFl8X(Fy*>^u&>(n=&SSk*xiq6)WO!r&u#9mk5;Nh8O^sM zZ%hx2;j31skMhBBWJdJltb#~1+928>Rx5T&R`KY0Rb}OKE0a~_6;o%FMwZ7SwKF5f z_sxpb%!m$9OiwkL4&Pz@=sm@`!!)tIaHLY1tlD4jY-8Px=;1~CMgkuCCxMkCqgnU9#= z{~74Mp>$s_z#dh`-#x&6*FYZwq>sJ&l>6AC|K|05b!IRZ#h2Xb_9WR{PKT zNYJcL%2^)|a{ZLQ>$O3yUzDz&hnXRv=YnQ^$$!@ML9@OgXMHuu^+tc!Zw9&kP`Z8( zW`=||1)i2mEo$y zhI>TL{71mdznR_t8tA@Gj{9hdBO25TT}vzzIzwVHs0@ikpfV@cM9$nWVCMQ}_jLo^ z$EEwM0Qb$IGbGl`G&6rhN=WxD1Kj5Z`e-M8SOGp-LuUxFRiOJ$(tU>j_a_GW=p}u0 zH;2*Hm1Ak*- zx)O#%WyCNRN*@eKh>aK~%Ye=_&pI(^)+zq8o)a|dOgU>Q%nTSxpz_@i=*C;-KkKZZ zS?9}H=LWg1@ONDqe-h(o= z$g7Ws61TXmGU(4>rPRC@^cLt0L4ORDA?S~w8aZ{5f5aa`8I;lcQty+|mr$BA`d((V z3s$C#c0y+edk0j;u(v}Q6!tc$PYWBgGvn?ZKNdH~7J)7;whX?`N2L1{s>es8e@dM) z^?bY-<2TJFa_WWwQ`d*iu+Vk=q7rY=YC{zSrKZ#?k-62`6iU-t=ESCFIQhk>yLhUu0cnWSwDW0@D#X zLu4JGGDLP_;LIn>nR^G!+|%s7d!YNF(*587_XExD2T1q+T>DAAAJ_46`mq7ikAcp> zbre(vuK1gez^i1q)Tc!jjZJ{kbd{VdgPsB_Q!$(koguO_<;?!fCQ5x;WVlM^$mwSV zOg|Gk1GDK+86uk|XZDZmJgHBMEE<~&rHR=h8T0~JnV3~VXNYXRoY_CJa;Z;?49qT- z(_b7g{okQ8Fk1|jZ)EhOcNvtX#8=3fFAtb`so6cEzft5n?%IrQGy9r8D z^ta2IZw;9FX0v-lze@VJ2X=-CSDIWzqjy3j?sjP_8;#u$WoqzvuloSRN|EXBb)S*} zt$~>#pvR!{UGQl1QK*7$zpJI*C*ZYE`UJcVVq?HB%7CATnIWp@f@Xcmf7bOuv%W27 zebYSa8**0v%knj;_hIo4ls+srL2P8PPe!!|W`@Q42`U4o-B1NB-uF`P6Yzd0eF8oJ zu`%FCuKNsn7-oj3{*bf!WBg6(eWHry`bHIl*ceq~8C3(A88Fs^$`EiJsDd!ol6s$j zn?UJT(kH3{h>cM(8P$m}GhjRcDnq~)R6!V9 zOTACP9ij9IxD&+2fcwaRd&0~RRd+e7KgO<7?-SKYQ2Io5GQ`HHhRdiZR;{d7m3HWpa1=lo6G}%z&^2sziR_Na&`ZS#R^7_4c4y@0GKz403&+zw1>&u3wU_U(n68cW*XyhGd_G z%6Ijm(Wjvj<))MqU0M8P&_+4)YXLKF@N+M=l9&D5lZw0lP`ZCF!2KrZ42iw%H?!Cm z-twDSCic0Uc}u{|ADi8O6zKk2=^iJRtCya(VmqKSB(~i=^ENqi%I@sEs@f{`ek;0P zM)nKrlubd4>}TiOH^13y@b{X(nrA;?_8yHLhSFza zJOZ)8K>xT^E6;rZ&df9B9D~Ym{X}E6q4b%x4#dV;o6A|7!pyJ;jiE9uLPMyG0kweA zC!j2djR7TOKrPL)<_67L=s#<#pjkW1SsBa>7}`T+z|an=pxbC$sZXoLXsipAKA4Ii zHexzO2HXc`hNybUS^ck&9#ZcURbME5qUr~+F{+U=s^Ks*U>pjSA>biU1z{W{^*#ZQ zg3>48(GVL0K1&8X5oU&{#>-j#F(#$nC#tid^oeRR#Kx$;Zs~3X+gfU7+OD}3Is@X* zp-M}J{=_>P{S+$0&zU%l!u7H_$n%(aRbbmm)-y7h54|ImaelpLzJ80q8K)TNha32r!af0;GCcww>&>2E340PX7x^ExgzFnY?p3+CR03Sur8A9wF z=>8PxzE6PrUV%P_NFM{uVGJ<2h(`NCWhkR)>@+BSHo>6~8#lo-WI&_LvyKRwb*%ra z$)H)M$yuku%&;28P#G@PDNq?PltSr)VLHS{4COMQ+2&bi1^8PGEGtV@DsUEx3Ll|i%qL(X~w%nTT=gUS~Jy{x#| zf7V-qX1zi>$ieje=S{a)6Mi}Kj;j}eh!syIpWz5D#KMt z&wg^|T>&%iG`rss=>C9ozc;}B9_S2-{bZhbci_y2<;=ea%zVh~{$QZ{ng#B&Uq*qp zgJ~-kh0c)JQPa%)5vjg(UnjtQE$Dn#o%?7meKZa5(bybf!$9}B(mj4NUERYq0xbf4 zw3a>!&0)aCKg(zo&-bRg(R>2t@iAU57{I>~@Km}fmPXx7gDvvvuZ^%Oa4AD9^m zrWaJciye*jfXZ-*M`L}V^uf>%Vk3s3GN8fcSqBEqI?R98;X$*Gle3-yGXsXvQ2An@ z8}E4kStkU|Iz`TUR*>s+{9P9Zxh|8gr^C#U(6pdgXZg>1e$cEHa@O)7*OmURtAboV zFI_*Yn`zhl)6f}`T?>`(>P4eZLKXBHXpPh>FI?zQI9m7@piC`t_t%PFmqBlUl~VIs z&@V%0i0mafv;V80e@lH@WVpk=FQ?xWF#X%+>EDv>{iok3^=Z>bV;?|i0`rB8>{D2o zz?opR={17`lp?EcF@_xq&#Jpt~2g3gfGZu89er+@;> z^joR-S&jWrnpWe84EhgPnO5UB=nTkzl{5R-$pNWPiwsLrFX2AW)J~YEuL+%jSteA5 z$YM|hUD^?;Pm3%Xs}H4#Sqm9-Ggz6JHG$3$StB{KKeGl>pB5RIwUN`e3Yb0toq<_C zREEg%pfdgdKMrLO&}^ws3p*OKpfmw3k{NY^l?f<=&JcEcsElE^gEA=Wwo;!KHfZ;g zv7HP%Q*3>pGsM;lDr0Otg>X zJThSB)6MQd_DtzxLV%BP&>5m1Yjz)vodu;S`l)i}a{^|bY<7?6=Sm;v2lyz1&Jg_! zlly426sn+#Es^@Ps))wQp)@6ap$vKVq;XV z$*5j|nE~T^s0;zW2vrcq7o^@N;Mbw_3HS|&jRAik1AZ4~hN#|=v-)HFkJS4_^&yl# zQEi6U7}a(e)t4|cVEh6qL%^Rw6@+n%)cXYdHIzO9?||4C@J}+}A7EyP>N`2BKgL~B z?-SL}Q2Io*2V!GXf5@l~!ORfVK{=~`RQsjgC#pZ8^oi;)#Kx$y@rH}eB8x_w7aAA0 z8B~UVn?Mz`xQ(RVC*T|?eFBa{Yz(-K47e4{3{fTIto|7DrQRnh3re4;+CprMs;7*q z8_W#XND)+qfICBFdIQty*ZFDQMo=?$?ln;|lrfiN?KJOC&@=34Rn8xbbnWX`#YdBBzBv5=34`2UM**SFkt5U&F=3DbpMoe zzXo=O;2$%4f7I+f8e0pc&qcltV&g^rq73MH^Q_MW&H9r6tm}hjeOu1@Cd>>N-hj$b zoUcJ;D9&i?9VmS;Y=YQ`;bR%lX7j8c1kL)1|EybrX5A@g{TgNl3|~QI!0;thLAQi2 zq(1E$j>f)$(g)Knh>e)`%7A}{nIWnl<*fcs3O`7_PgMJ$^oeRe#Kx#%t=tE$qcAgI zJPef~;6I=W!uXri`vjcP$~WLlh>Za^k^$r2%QQt*7pkDBYD>LORE?qZ!Po?1V^min zDx5qUyP;J+o?kOEZWL|oCa3)ewXuxMn?*nK7T(fx?iFyGEMHJjQkpDV%#Yi3Zb0I= zi)B)+L`whm3hpvc4JxgyDw{i%PVDs^eyMJw_@IB(r9rGgMgxR>6|4p?npaW0aO!O3 zaLWdnP-jLnuQjM^kn(zy67Ns$ai}~fvd(zOX&-jl)sn(p@Df1b4yjf$5EO2M>aQr= zs@o_&R0{XP%0MBSu_{RUfJq4kO^;v>{4_^C)R7P4a;oq~EK*rDwW6xHq#V^n#~{(ssS6Md6jSHS zn_XHwZEDq2CF*B*eb-}=6nPat8YdcS&LUNF=5_T-wP`fgg3G#e)`U4is9QGWLftTr zMM`Iv&Y4%mxzbBF98sOXbkSH#7Ab-Fa^=j|Y~i-Z6C!})xKNj63BxX$VKX7rWN{W* ztXt)Z?DdE^09=!FU1CvZIBRmD!+x>D{%_8jJmSb7b>#n&Yf@@jlak;ynQB~<^LbV} z>3PUX2QpjauEU?ng}SWLydd-8RiCFSeTn9ZiS*fLaiK1oBMf!;WkRSeQF+=DRUE?- zec~+9PG>2;ah772vqTvk#pRUQQCvtKT6qq+H#=|mUT34GaWmoZ8Pn-2c2PiF_q5n1R>NIb`a49 z?jQ3Vh8H=kE_PU5;xN44k>B9RZA*GG_V-k4f3_@l&#oQnQC_i#hv`Q&WZce^XPf!X5Po zna6jgJaz@=vD28xZfHvMCv41k$f>D1oy3ixZYOagsMkq6SM_(~104COLY`UHiGR|_ zoF&>C=ku0U;Gik;{lSs%HAent>I&d-C!Y z?P0Y#8Mn*Yozk|;nw=sSRHpBD(O5*ppjY}Id_Gkci)F$?dBypa^QM-RMlP?3L;e$y zdn2_Y)t}*kG&34IDl*hJ-`|B$3p@rmx>b!%{N|A!9zDu6sNp=&Rdf~)G^pHmF`Wiia_WVqSQg(Bc)H(SK3Je0c+-wQcSeL)uq!upE- z&2Q-|xllK}fXnoyuQo6JrRhumcQKXj;u2FmEEd-4+DBsxxKNeFVi%>=Lw`{Zk2T}< zaG`LduXL3VYV~mOF|Ga|&gwVnEVhEioyAtrq_fxxW;*gRM?Oo)GuPlx;P4SF^9j+` zc#^lY75rve{a=Gu|A2AzkMivF)sJ?jYrMObaqZ5j+e3_7r933n5JKJGpL`CzMk3r$ zU*HCvjoU*VOs_j_*g1W}5R>ap>vuNnBALQkt&nK!2oF`2#bR~gLElBr6;<=NsG1Dn zNUxg1K2=i-N$6Jir=IB}@n7sB&*8W0>7)98oO*fNsh4-0I%?F#sjn_heRbjWl{vJF zsH0(`tudUpR7cNrHtZtnpa|GSo)Yo;>>~f>5cDN_iOcjlS}$Pf#jrsL_0g{hp+4N^ zLVfg$T&A!3o90q_E4^@D6;tUhHku0O6=AIw34Rru3sqSx_Ig_3R98pvAHM~y5ykVe zaHf~V^FpXyfNvaAshokoxS&#*?v%s~rzB>IlE`?=k^je$zwMMt3;aPYZ8=$@t&z=J zDwWY)45cy>ihxo%y^HD7)%Y&yZ+j+knZDNNc1hiG&g51pTh1gd?4iM$EDZI6I!6fg zNyc)aUQiRbOs|G%U5tBEX_vH}Xo{FhcTv*CuoImvtkvR)#>R1>DvQOY!h^mORo^2E z>IqR$X9;I|K_!JyV^j>hy487N$^K$DDkyS3s27P{r(2QOb-EXcyV~WB{0c|DT*xyw zIwkg|Q(|w)5^GsxD6w290!l2W$W&s-7p0e28!ppVzb%)g6qLnE;1BUJ7KLBPc+tw3sqSx))5|33hHH9P)~}2 zIzc$oON9xc4yjNGwJPf**61&4>V2oCzIAHnJEwNOcWP>2S5a$&x{6vG+*RD+mUb1} z)-uu7xSY4NZM|!%sds{F>OaPs`iN(zSHQ@P$j*i$pvcbbW-79hZs|o< z%4K>*%;d6^BAd>II+pW=pRE*I)WHjT^l3aRL3EV9aOX+<_$Or^V+!G(I+ zlnX;$I7I-d(^xk(yQkMpZ7$OnxoP**TW4Kvl~PG{ zxKIbzKp5(k)JO>RNiw)lucTUBrk6qU?#4=LhB)<^T69mVt%hQ9-D!Ox)XSp=7wWQl z!cZ@n#zLrPo+*S{$uvQL`q1OL^NTvLWbSZEW{p!CPdKIVq*F5c9r*!Aeo&UoZKjgB z6^ekZ=4KI<&-;YCc~&~)d$~+s&HF_5`f@%Xg!<@*gis%TCl~6Y@8L3i-Bz26;gR&E ze^5-NySQHn^<`ekg}Q8&Fx1!YE+N!b`Qc+&(=42lKraN^^$^>@i9N(N(7uP*2Btgm z8IF7=m(w=TyoX^MXa+^Vnl|ZSx_#vKNZ$rpa#_j+o)AKP{j#}GU#dJV(>WjC!+71c z?vZwt7K*8K7X?D7FH4*Yby>bJ)R!tp2(_hZC7=Xee#@Mty2V+NTb(8Or?XV+9r??S z{1v%WOH503Y4B2AVqB^fJO_ONt`vFcD{zev>Xw&tp>BA+d0B2qUzV$dTb=fDF4SdL z2}6Aat`I_P1+MLpx+PwB3~Ta%vnJad_Fp;dw>xWc*pVM`{B!9&(cwUBHZd&KjK1N_OUS3QEwJP4fU2|0Nb>u*q8EqihZe|r`VSg zJ;lD%#gP{|@~&J?`%>echJC3a6ao8E{hp?Msd-P@ms0kiW?ZO)&F*R3T5@`(Z7nT? zTbbSl{CfxI-_w|X-_%s`)Aau4RQsi-KtE_7>8$58XWdGj zb(`+2=M9ehMn`^=kY|40Q+!7LLbNru@|N;E-IV9B;5<(==6MDWT;HmaT&6!1Ob`j` zYd?+)^+&HWg`w{8Y$4QLj^aYy<5(`!?>y(3v6rM**jZvK-Nkq=)IX_A?P>UoJVkiW zttSbge)W&xLRA)v6~paceMX)roatA=WFgdPjut}g(m1DQ>aKlm;Kkzp;QfD2IUaS& zF49YEFVS9Nd+FRuY&%^Xd6AH3&d152^vb3}v^6SuOXc{rsT{uwF2^s8<@hbnS1+FL zxlFH}{a~PSkH&TjQhGW4z=b-}pM{}5$1g&tPqLE>b&ub1nO>q_Qy%P5dp^ohvA=D~yUs@&pdQ6qL z7$=y~1Nik$#ogdk+>K5pKJLiZIPxc)O5EjC;E#xCJ9y&SIWWxUN^)hq2byG%@_yI9f7 zu;DEc)@t=cV;6CuDvQOgfQOX5ty)%;^TXTAgfqRO{w{=C@hlhU4R?5V)7s;dN@j1d zIo0SbHm#by#in(XyH7p>BA9%kbcdD3D3l*4|lvnCrH`KylnHMu7Dn%3m*;5E6+xF!#YtaPmR zbD=JK)QtLH>8Mu=w>s7bxlorqEDUwj4+x=#`jKM*yVC*tivw`418|=M_K+k0&5{2u z!R|1D-5v~fn-T1{A_pDfH(aR8elUaGoeuUpKVG|hczu5iyz1bH)Cm7Gl3INX7kdpT z0xtH9KBkMkZXdeXl~nQZuO62vYh6{dexxq{Q?E#*-q_~N|5@?M>PPF` z#1)Copo=mJuJe_zp z@qFUN#QMa`iB}S@Cf-PFOuU)+PvY&wro_96_Y<2FA0<9ce46+ou`Tgc;_JkY#LmRG ziSHA868jUsCY~w$tZ>=!*B}2_+sE6kY5PRmC)+;NHYd`edO_1jq*4Ep@;UQ5mQ9;I zGc$VhXe5#m=|8=6YE{S1ov+8=n+ZwBX%(dKHf3|UB$M0FjQW4vrgRY(*1*?{Xv4lVr}`ha zsl1Sj@JDm7IrDl|Pv3JJEFS$=3;$)o?+4@HP? zyL9f{qX%R?dv)v5jjPVB8;Kk}8jVc5yl$`eC-*wCw*CX3K05MWcYORzD=WF7V^K8H ztbVNs>FRcgM({h`{67^q2?%$G)X?fS76~}e$&Qdel493C(zriQ)B#U+8TjGvT`9z* zodcij$kjdgy#@6@Y3D2e>3&>~pDLT|oJAnJMUx|uYd6z(-ha}cvk;`o#Kbi_>xqyZ zkTR;*ve~5-eOe8a7i(e&B$bI17WL}UZt}>ol8W-m^66EH31yWFrp`_zs}@WvE1z7{ zxl7N<1Iy>kSunS(>cYtr22LJVUOu~W^2j8ldh{&nG5Nf*xs!*MS5{5x z)q`K`B}E;l&7R#VaU3FJRTs`HomMtG!lob7W-)8}w34dnl~o-}B5YcDWrUqo7GV=3 zT_bGt4E$e(|IaImu+zpx*x;d1j~s+f68~QqVMEHQMxQrp$bz{TE508@f0W9Gl!xA? z+$hS=n}zYye77)GT2WD6QBgXtyrQblyb55hiZmJ0a^sI(qhlFTFTy3;tWovsnbD)D z)9eWiusdX*NP9$fbq&5(WVh$N4nkI&%bNDiD(N#B?r2j@Ojp+Fg0i{O$}gx)oL^Q| zIk`*c$z^j(W-pjlif=o1?%1Vgm#*D9cAmVTq@rqaNjdf({Izan71j}dvpaWs*^G`e zBaNeL`;FNDXP+LMZ~kuk#*%2syG?uj-%WM_pN&tmxaqAMHq4KYfB)WD&wSPH>>f>f z{(qmw^Zv&t4gbCEwJ*l}a{67*{@LMybXP!C#&hf{s7@2I^DzN|2Q+nzUVdirf!xe^;k&z#nK%CCE_Y9&rWcpbqk{}8@#EbZI9@kW-5jOA6yGe0WL95~{W01%E7lNq zF@11l$<(?2W0#SW|3)H__Rjc$82>xQFPwgXGbNpOP$QGp2Pp=n#)#7*Bh^iF@TGmdNF;}HbB1lA zVU=^!akK}Ht7zC&7QXzBp7mzq8ieGwoM^)@^kM3JC&2V-9%fq%T!Wim+cz86q=8Rk zU}O9<xL{Gq&aoRL$S~Su1GzfoY7O8%zg%{p~NNct> zPF-pmcLR-kyEDG*#nQQHZNRu{KCZ;&;lW_m`Y?4q8h8^8 z?A8rm{-+G2`Ci07vkCmErPULI{y~F!5674GZM+&;mm6*PfjUTKLc?yRVK1JJFPSKm zT&J{X*e*V7ZrWshFzOZ>b=pXL*@{tdT4)p`joPP;QfH%ax6-)8D15m9)s?4=+m3$< zZsGK_t9l>?{gVb|O~RMQu;A{MwxMOT;eK_HIu{MQjfUNLCca#bJF+`$6Nc5oze*zK zQsL9E+i6&Xv+~|hHdA=QrXj(J7~<`@f=>gx`#6cIJV>?LS;;9fOpcUU(503 zvYy_G(I^{-nB%HWqcI$F-9@A3U4$=ZoZ?;7%L<|mUsFfPeeq0;S;^zWgK>4uzRuNR zW59a_5jl%ye>d5mdI`QPgMAxkFQqv?=X0b5HUX2|LxYA_<4Zw5Ws<$>2o(V(b1#i~ z|5AK8gfZ@wbt5LKi(@7iRyq@@Yed6vSZ$>G<|X*jVSqR6aSUtChq>g`>BeB(DjIjz zGJHArRBvCq7voOj<4V#JOJdahG^*}$e3>=KyN-#*ByE%$C5?N4#y!3QUrre8jiV^f z)yGNplQHT+8ujFr_;MdcHGH#iEIKI>Z8%3uOx<`1$U`(}>{a;kjhKq>^c3P%IKXLP zWopr$hcP&rH&T7dJ@|5Pj8}e_6-FE0t&C9-(kL9<8>xQfUVM4)3~#@nQ4bfQnwhW)w|BlNnUm>#!_%cf7QtcqM#t40L>RWHL`=j}p# z({3%kSZCqOtFdz%XGH2nMm8xfrpH_U_)%IsuN+Svr4^O1XoRWiMTY)`eo$6%S^0Sj zrei=eKH!=*!;=F>ju`=NiF%P+L~rcqi7=o8WHL8lkC6}4bLN!K^|p>mq*)hF0Fml` zaP=tC%)AWfQmh3NX<7`^f5Eg~B(q5+j*KdpEzjXxWOX^WACl17a5W@WEe%xbIII-%_e2?>3l)t<-s=Q+AjMD!7y7cQ8@G#lGfA9Xi!7~!e zsGTST6geD)WyoGK9`*mc0uMZKq?Z{+C!u)A6-(ajF zX-jMK3~Zy3zQ>fRvsXC}-D$aY#xj)6#d!r~(~9R!#plUVTqnhIalK40$Awlmg8!;# zVa{hUXT8X%ChjE#+|@N8&%DtmMQ2hE2rc__@R0eq+1e{8vbM?kbNUqEenfSyD(5Lm z0;vV#=gD{-o+(m{oo66v+YPojKpTnNDz4xGW5*7ldq15;RWDM|WZ~4}*=5*baPOq6 zdKk?=l{OOW2F26qwSil$xftpieEjkC+~Lx=_~h@e`U8(mPHnSD?7=tT9A$mp&O zrZ>&2ozbTH35ulQD@`MfM#p+*jgF2V9UYfMleA9C8Zu&Z6MR2mbabNCH*3K1C9CT9 zIT<#S#>K`(+u^&Wc+WHrFKmt;JvQg(jE+u$!*h~Wf7f~O=;*oDK*#w2IG@U$H8%KdoRAffxf>q0Xi=dk4SY3j2_W>`DMqC$NwV+ zz+<03D4MPagQtRC=v4ZNRC+q8P&aACvWKupHan8V{&e%`4+T;bdE`(Yk!+bqR|H)@ zGM;j=kBBrV7yD0<2IV5+&B#W)1K^6si(cq>M`19045m2IQa5QeK)m&`S)FWFE1T8G zcF>Q8&iY10U(XBKu9NMduZ8bj^fmDPv7m2Asf@uCJQegpr*aMk!^Z?l0WEctR&%7% zESojSW{uoDilIP?3i@VV9xD1KA`Ondkx0Ws--6;j7p{1`=!K5A9E0IwI>m{Wx=Aa6 zc=NMaUN(zovuroydC*zEsOa;(knKFg=2m@N#LTNcTg3dARbNP{%*PZw74$-sjep+JfXddtg0Mc-Pa!O^!8X?W<{QM{MH6^|Fa(D7b{ z!SJz!;zUc`q}2uScFJZfo3(f2y&4MrD(&ROYcm7}?))-s?*(iPqaEhbM5HQ-o3wf&gYMa^s~i4pkm})g_rh0k zcMTPNFN*$l_~y~07drX}F&I8pQq*Xvi#rRV@0-m|&Srhw1RjDyzf}8r3D_qq{QHE; zU;t(CFr4!Y&{K`WXCT$XALNCv@;^0H^runu&%!s4 z9=*`fzmCE1@ghZymbyu6G@>7w%}&o|!`uYkfI`1sM|ug^rz`x2h00(IWv~&>c?Rf( z&fr4~hL5)?azRLfMP|;7I=s$vQ9zA-YqyGwn;bRL$ zjh4De>l{QsIh&o8%_g}CY!`N4i)IHJ+D@vs;>oZ7WwkQw$zlbTM^+@Pso8kGxhpZ^ zbU6GUEUk01^=p5sm%BTVZ(V13$=j3gJ?_?grz*l!A1c3+ui5@o4nb$1FR9ETD!)O-sh}5{N)7xJ z20jkM2T`GJ(z*at7G$%^Y&PEoQ&ZU05)J+AMhCM1iO`b*)yrZ9OdVKS7iQ~w)nX5f z?F{7gQYq+iGV^`N)Fo$&{mImW&c0BRSwv*&L&nLV7n)2C2E#{FG(?8FN$WC@sm^8> zyIA7FC|5LjXml*qA|qZe%M>gvVQDQ*!LrQ5qSlM!gHyTKhe|&ATINrs06KfAq_Tvl zBp~Bd&5Vg@&k5H)&lDD%WPStFzgaE|^ZjuCr*mpwYoxi$vUdxk&+21WW72 zY<+LN$pd3M19`n%E$DJGSNf3YO3rTbC({i&`$kFT1|riPGEN4)&}8~!FnshzLu9C% zwC(_z+p^iME|vkp=v2`RM5AN5O=QIDWu<~;5G<{`Qn0M_u&DLo_~2A-^`SDDe694S zG6XvNE=lE1qH-E!oC)&AXd^UT|#k5cuT_Bo8Xmm`^E48#< z!E_-kt(Q`EAA4Aw3xiF_viFC=K zb(7ZX;Pk2sX@#)3QZ!eg(ILI6)Y6*@q^n_RZA^jmrUyx_CCA6H*U~lQ{7rvG*FtA+ zl#JdWM%O{c8KD=N(VZ9!A2*{RM$}DOAAr$&*=&=GiGF_(%9WzI8;y?XJ*AdDQZU^E zOKWq=ZvBym$#w?vTG|x0mhL6*ANg~-4?26Zx&dfTRli>Ejd1py_TLL=Ue?5t%c71LNfZC z7_EbhGeR#kqxUfwJ~pBuM$}DO2f%1wHv1);{hZBybYXn}oweI}O~qd_@AERYe{t%G zUNZmeU|WKh%s=9L_f2R2fS1e%DV2{f1y2RN(5ZZd!SJz#Qb0@Hq;(jn{E^Lm%Vxj2 zd2ELQDJrkq{_yfpSME2F2Cba^t4PCpS#^Zs{Ti-#yy%6F_h$@-k8dbWwA4*nwR48B znmH^phsE$uq2xF(nfE}aqpz7G-;3LsIpPt6(8ut-`;s|=@6G7D;{ARUKOu16^4G~h z5c@C@PYAux2}SW6u<-GllMr>2R%0a8Fo)I8VRhYXVo)GaWdRy`*{BOpUnIj9psq;9 zTYx4MZw6fPc+m?TFMhj#;;l__qNQ%q%0awYIjngOYv#t=1PZ-ivb=ch<_OGv-`UIy zIQ=;-lKQ?gP8l?XbDjZup)+WS!SK<7B1cQzq*Z_nTIR4^H~f4^_3&GI;j6fFLq(sU z=nLSRM~`0U=-Xp3d>l_vqopq1k0W|3hqcaOt=t4UK%v)* z0KL!|^ub{G=t_~JrEb#dhzvU9uoKJG95y0{4R^uJ6L#}OQ-MYYGYW~g zABmF+m`Ye$V{`OtCFy~&oq@bwMhLo`%y1tvRpcz`Pi6sh_E<^g3?j1-GEN4)&}5ci zFns(S4UwU4(mESt&dgyGT`Wt5(K69ojz-6FrpSob%Q*^`D`06&Nx^cChefRy#|Nh} z(TB=%@^y|sl@-w0QzVtiMCD4zI2H6lQ@Is`;p2KVM1{IZYX+#4=CBf%%0GqCZKAmy zjZUQ$S-8bAOQCWHEUmJXt7w)-#dZerVkr@52}|&O*?oU@vw|CUIH` z8RvvvXig7fFnrvHhB#3-Y0U$txh|yD!r~FpJc>q#G*>B|N(IutU};sPK&td0sioui zICe&lk@HG_Mvp^hS4c+liP0L!I3x5zGkP9_;bSctVnp4f^>;8@oWmBmm|hS@{}#=Q zXmm`Am0G$)!SoU=t&3BxuuD8lwlk2|(xR}nw4S_Q;?L=2=`AiWEr8JxFRTIX;fPmOdos z%l#Q`hR(i1GP;}?eFPb2gkESyt?&!H@R5y%7*RKAZ33gWbJ$xsY-0|4J%_#O@;V-B z>%AQ7Hs=FNf_^ROZ7*;8EvKsJO`jg8m|jvq0}JSk$Ust^9r* z|1GnVFd9xeqahg7O`}X}nH2mYKgwh{V+h3+Z5fTYyD?u3mQw{~a@KDBJG@J}ULr|!jw7vtB zT{&!L4%?B#w&$>IE|D{!1~Tz^wjJTv<>62-i=Bc7zdP>`2&hEt?aKGt1P`hg@!M?Q zQ#xZY1y2XPzeq>>6-d6s=VLH@oJU!prEb#t1KGszkC?{UksS7?o61}=?b={zvq&Rc z5h9}wlu;}$-#4fkMIc^6KN-g>k|Q}N_3=ERKau}0^&xhX$c$s+d2r5?KreI>%PF#G z^~DrCTI%BELL4s_;;eq0)s3^-aaJ?#yf9e-wbeAPU$hOq9PIjW@mN6@ZC!ltzB8#E zmlthKh|L$RUYXZmKD%i=^>P&wS(#0U!nH8v6wnJz;Z6*OkDJgC1?ncPTu{h~v#dC4 z9%s#51b0CPK*}2Cc=@Yqm?hHZYuH?*&ljbIBOMWi8#x5GkAimonq7yvAjg=)`-%5{nARwB%x%IpPETK%H%1y=b4}v zI+K?vHvGO3Wq_8tNvjB%bdIx*an>QuPIS|F1v(_DEJSA|{*Frg9lZGIo^VuLOedyB z-<6`@0IxiH^g>7f9tOk5Mv59Ob@2<*h`x86^^CLbZs_krp@-hv3tg?Dp1zTHPmTO! ziu?mO<&mQoI`VB83?Cm;#AvCTv`$0hgX3&qoDGPxes1tzL8o5;gZ+aa=ml>NP|BuX zYWPDb{Oxed!$&W4_q|;1{T^332N|_0eOj zmxMhA5z>bv+QmkREcoxZj_`J|;UWpcqldnW9l(6{gtT2uNaQXyo+uoIDW`y5XbLs( zH(&7aCuNV8x=E`T6sE-4*>QGeoK18Q)PxRzl#6GIm%mzpXN&atE_SA}h!aKr-Y#}7 zg-?HV#=}Q1bodDoehUg4zNnkDW+VJraW*r~rpMW|I6KeHpb%q`eZGkEl|?KU`Fo4Fh{Epyw>*6GLWe&PgW=;O z3L7nTlU6mtzc|kR9%qZ)*atyjU6%4Baj_S^{ddIXF5hAiKP?}BYNyM~$2cd3?GvzFtpT7S~noT>*DO1IJ?S?u@nmH zrj$$UIxkH78fA^H`afBtGE8aTl(t4fBG>3fLNE)a907Wv5iG=D_$Wt12&kL1ZUcf_ z>c)zrJkF!MdOPCMDy&od1fTeYR9M4uFy&@{X2fXxbXCPgK_DU~5 z`%Zk1$9KMGxUcoDBxeuAfh7Hh2vh_H&tTn!l~gI;Jdw_`AT+<=D2P&a8k z2{LQq?6Ej|G|pDLaPAPMcZ%jNG&-C$3Y>KcoRzS&*2eXxoOKEuXCR03m;&cfWpiEa z1L|&ayv`rgJHurSqB(q&LX#CVxm9p|jtSklrRpZ$ic)p%)s`j~EOe|3gENsGGF*0@9v1`zg+L z$JzHTr=NuB&!X9bM(4B#xzK%_HlPCvr(a-c?T_mZp$9xpwlk1lV?PPl9Mo-+Um|BEPX*-yOR)baph?-LWIN zNURQI91?n=A<^j%@R5avAW=7IHOd{r8sxHixvWkutCj1#U@8=*tweJ?8l6*vT(6p% zDx6xw(rS{cKMgnaIN8oXUQPAj1TUsIs5-g)#T0)tQw#FcTU#4)+|(bG1)beQf@(~l z+Cs)bp%)rdHw=c44rmAzb(2;eK*e)eb}nn-QtB@3dWfbc8l6&HB*?3&K%vwNmR5cW zr2>zVx@kK;IHYU^QVSnQy~%HZKcqg;+4&MuOM-L~WE>KDp&<>!VEE{dh9FTlX>|ak z6LZ-Kxy;ICtzAyTh3V;{8G%OUbRu$b_ohw?r;)I!3rgR&G* zt$jd^BFCNlL5+sa?kGVq0yPFQ4hp@{pr&9je2hm!ps1U)dIMC?T-H68b#*D7BkYPr zb1oX4QcsZ}ucng~N>gEJos>f9WRH?sO^y!^sk;KHs}H2}$nVMikV>GlPm+-O5Tt34 zaY*QehE##U@KJ__AW=7I4Fjapa@pWqHZYeBa5+^9(<;#{K%;Xy4Y|10G(zEYAq{Ze zx1OG>zyBZM;j*3ayr>2X=A73+h1UQdUVrEQBm9R8BmA*l1QYvoiETJxyBIQ#4ZYCV zuA({d8yRQ_8+Gx3fS-Mg%VlG8*%+7E)xz!?(Oip0XEqM`;|CqfBTEw2B!$_HG{9jt zF@@PAkC|Fxjw_CAY_9y7$rxC>KQnPZuiVVN3u2S}iQNJdd!i&Zfr#A-87GEbXkri2 zocPfK8X`tr{MH5vtu&XFlVak)JttREK5YBV~xQl-{rDcl}`rB#-z|JZDn z2h4T`@**oyifpPRfiQOY37{ z^oeM;pwVenBMWysTc*(Z6qeS~T>a(MGLM$+4CEztu|Q6^Mz~ksXXId+KZ?(xvzJN~ zO9;gmkZ}~~g+{RpgW+R48bU$cq;(ZgtZ+GeD=fYf&G%?@4l9(ZxmMxu11zm;QaD`e zaZszq@u6YZP2;ci$M7R`_B9g2)r8?E$T$Y{LSy(HgW+Qz8p1%`q;)GW+?>m9a!LFl zjQ$kOVKh34o0W>VT_JGmHz3>2hcwEEiJJv@x^}H6XHN8^La=wQBHryTs$ZALg%ys zgW=;+$^|WTlhzx^>9t(8A(y@ECUhkf$Wb4y zu6VrYg^u?&42F;EDNeN1#b2Bu-uH6Zrd;-RE_=%j`F7~^HF(bp+1{kA!P_2gZw=n^ zgg$FPcIw}(d`Owyg&BEf=!MSgUl^o2FlUQn< z?Wgp<#GE`m^g^fi0|vv#4oV9xb@4k`Nbk2?_G>OX;3l?P*!?J)pU~)A`fo^c8GQ~} zmavW}Tl&wiv<~O$o5c}@i8GMj+I|(u^BO(ieJ>w;_K>q9{`>nc(AkIO{{APC*$Wvb zgI;JdM=%&ZenmrMsGGEE<_%$)c`TOayly)xj3PKD6*f^cI+n~lN(NZ)3*L3|yw{R3 zSX#C7bS!o9d|yjCJ~)+_@JHWEDjDRfP984y^dBB<A^`b6-W)%0rYjAmdcf3r(dd z2EzxPrb<+(o3xGtm8N;DaUN^vf@vn~juTCDG&-23NW^_O&Qid%fTh(UPv6qAJTSI1 zkk?CNkA~gQ`(BdCB4=6tWU`^NTSzj^iA)Y;oD6!Q$+X2__(-53GStQ2yn#&1JeKQX zIYAh;6U~WebSy1J7Q9|sDOlRW(ke{B(#pf4?(~iiUN5;mR63BaR{m5NbatVnk{~J_ zA>&lg3r(dj2E#{pG(?5ENvjj6usqg2kG0EVZCy6~glT`#3_zo^VaUZTnIeVFU>e}O z>gbY(n~t~{o5~ZtKZq6%FP7#mkN&e{92GVt0|)Iuo|x zka2A2g~m3K=8RU4Mnl-Bo3u^_wmx~RS03x(GMgmq&J@jAXmnZKs-;e%`{cQ26j^G9|bOzgfA*(rpq1Tu~cz0ksKzUhl0J~GB)^mWAzcNX zeYS*j7D2iiG7bs7FpzrEv9ff~2O2uTgdp*AKdkL7hp=re+18fq^Oo$>md-Q464+Q9 zT8fhBPrJ^xmhwh!Z*3`Ri5_M@$M>($gYAn6`%`@H{t$1M~mTIwdP{fKvOOSY#a`>7?{?S{+`1=*yc-|K~J??G(t=ZK#~%pCo0 z5%cmTmj<6Ne1KB9*G&bz(5W~Fcs%5!LfxeGCsO&nB|FrT9dz?}0t%!kN{FNX-OEEo ze@LXk(H|6Pc<2vPymSNzFBSAc$NMq{!^g7}CtB(zty=j*SdDy^k^E6`b6 zRP;6Sy{ga1_s~c2y<7E1j}d+Cd`!OqQ}9&K3!Tcl7z`h8Pzq?Ni=UYzl?M5&UOuan z?_9m_L4gz%^bNc`RP^;k8XSEceDD4tIRBj4nBsjOu6VrYg^u?N42BOnX@ugXZqmv| zye;zCarvyN8}C*q^sBUm7q5Ms;LdMAO}&8A|F|^mklP%};7d5?8K4(BgYPgHKIrTb z%7D5_D<2u;<+HdO{`ZjT;pchbtGMH#qA#H6e}HcuJ$j*|{}qGbgP(SSmbyu+EuwFe z&yLS$g>C|eC;{zKZQ~_iAFuE)43)tNlmQ)4!ZScGbOtr?w}9!$&)c8ZC8`)?h?GFrN*`XZ_p+ii8~VkJfqd&4;3aSO!}so9>;43+2RR#>4_@i7JbFTBpO){w z@)$y7dO^m?pck6VKn#YDlhF_v>f(3_kQtTFMz~l838TTH8G=T~GD>8$Jn~AyN-9`R zgQYb#1xwPyqLzf?gWrKh_)r;2zLNe_hCyeKl~m3kDs-?4r-EK+Dw8o7KE|OTD%4F{ zC7?1jpB3k`DK415I*nv15^+CkO;^D1(@0A5^{sZg2gY^=@_H#2bUB$RK4kcDB-8!L z@Z(5IC7EeNro<(KUT8ATF(YLT8R{mjxgaw;pUrZyD2I?>K00AUub0^(BVI4_6)gPt zka;Os=6hJwdU1SkDzkj3&~YQye19r*?1(*2QYj}Y7eL1A1-;Nzoa03f)dT zP+6SM7Ui>rE||-qfSwK)L9-l<4rVbDaqHz01t&Ik%gHSC zAw$QDSeN*dxe7Y_VoByAB6BrloD6!Q$ovO-c>PE_RKBj|;uvRY7a4S3~-fxMRP4_iz8bdyK@Inm)H_9K$hYT`tP zlJHtWFEpoZ7z`huqM=%%F8(qIoYuIIz7iJOMe{Wp9nu=5mewhdcEHkFn*wQ_2T83Z z$H%eP(*MZ$I)6qxp|jUYMo$r=Zy@80&}BH^gCpn6MCUJ zW#W&h;o}H=5GU&5S4qI>H5XD1VNp{wwb1C0UQ=r6Ed^3-SXytUKzhrAq}Gz-HaOz0iy-42F-EXowMYlh$@H+Lq6@=CjZ9*{3e7w$NEy zoYz$1C9{{Yz168F{*u|j#$Phyd-o-C&~FZXO{tuSDR?UAg-)dh2E#{3N&zi(@sb&- z?8;|5^VtqJkDgEe!59o5bZ8L8 zOI^HVM!b9T*`9p%Q$E}6hCBp19sOP}WP1-{lP{S?%;F`ph?&1+PDh{miyQ|ip<$Sa zCxl+;geGAye2k$)&{7w#nvu}&`Rq_WJLqO}CKO0iS%BZYY}5rfB$D9^a8M-UEx=)l z_bj;L@uC+x-kBH-ALmk>XsMgDY7`7%83im_z>d1{mO-HxOh$qCo;g~;>GS>Ys26bh zb6VOVw>1ke>nu3u8K4(Bg9R82A9OSkWkB7eRSy}|DPXkA=SgL1HBdx)G_1>lwbzU^V?>^24N`?l6ZW;JA-40@r- ztixdV;D<1wr7jLH2AK{8>_ivK)57Q((a>>6I+hM1BmQ}~i-P4jSX!M^uypaTs3qa} z;5*=nK2&V-)y1F6^U&FyC6!J@^mtKM{C)2}+%sb?)pFf#R(Aj+@ znNx_&yO41*=!GWpIR?YWM`(x)b#e3($P6xE16?d%2&1i{`4WweWw6MI*UNAP3mxQS z4NJi?+{2>Qi{pb+8R$cWAN(}jp9-DcWDk>6h7y&pA>&lg3r*!`42F+y(GV5tCaol> zoKe6=yHuQGpXfX%*z854Q#k`!xWzI-p|TH_*7%gGXo5$@b_Vid87id4 zOjugyq(Cb6AgQI}_&9b(HOP6fKckw^+2=?`Q;3l~SPH$+jGDqBeAGijjHsKmW`fc5 z0yfRX)Jzy1Cz|GHbWGEgS~_3B)B={)tduM4d=HcD4CJ*mEo?1ik@xfcIb}m<&yt+V zh*J(^yq3@l&8ZCr!$$!c;zZq~H6NVHT}YO&Xe*i%(CCoLm0GG&Ahm;~Rha^*%7diV zlH=ppYw1LCUggh-j?uC!C8G*r)B!Ti2))pZ=3p>mrnF4Wcw1=g|x@qy(u`n9BIy}a$GovNZwzH1$L^vUuS%j z9&%fOS?w1JQcukk5_yQy^TeVOrkn+Op;=st!SF%n91#oZCau@NVnYFYxq!V?!2a!m zSW2eOFKpTljME9m1`mc>1TPB~{9g2uU_n6ae+w8yMEvQ;>y*Xi@XoV9FLV}kCJ%hv zLeZn8Zqj-WS!^m`Zx^t)3fM+B3p%35`XFUFH>G93|MKH)Wi{XOR&(QDu4d}7W%pxJ z`-8OA6cV|b?-PdyV9Gh57n%c|v;!ZHpdk*_O0x8lLGeN0=C)Z@C=#yt>&j5 z3;PpfikmOr_x>wj&~l2uN#cvSS+MXH^9xGiIXLG@pcguc*C{gm9S<5xg1SlTe@No% z0`^q_`_j#TPRH@h;A<}fwI09nP2kJa1a?va|AB9w0D7Sl_>=;}(V-MLTI%8t>yf~o z0`^k@+g-rEFJRxgX?zB?wZFi+QQcqmcq!OFAwu`{&Tf$df4%d)SCQX}BnOt4sjMH0?CmU>WI^%K_P>LS)ocyEbnCcH(=#P{xRBgPW)CJ}+ye3Q@@u@UC8 z>nBog4?-drv0eg^H-;&vfL>?{`4|iz&Cw7A>L#t`pwKMAnj~1G1Z&_TD1Z)tltpaj z<*zPc6Ole}{0zLhi(`Fo4lg2GS0Ee{{P(BXH+VECW|fGB+GCau;8zg2=I5-dN# z@)9hbVA*aGU0`8Z3F}^G9Y@jqt(BLDoj{Q8#h5P=;TL0`w~le|+ia22Fs$P&a9H0h3M%#uBW3g0)Mqwl0t%P=lCQ)ia1j zCy$1@s!YJ(tJ+>!)ppAFZ3PZ*g^MVg(=Y|k2EEYP&;d5^F_E%BOWmZ^7ulSgV0{v- zSAz9Oux@TP{8$<-o0I*s>7!)ROUa;z@_o0|Z2D0)bh-`C2EEYPEEd`D6Kvp%x_FO( zYz8OTzyurM=J7WutYHcLnRKw1iaijqxn(*)R z&zfT>Ksw5X2Z&zi0B^%!__%=rLrdMHH3tb||c~Qf>(oyfE!?${LOR zKUt%dn9@EgZHk8gJQu-xumK?D=DpC%UtO#!Z?WtOWiy;7^7pp(3n~2f-SE*1 z9sX7kK0o;ezNnkDE=Bm4B-lj>_BS{7FNNJU(R_tQf1z;+LZiKqPOn@_AHwfSjG%u< z=6^K6`2>Wct3G#b`4ee7S?XnPJLAcTeUXy>-;|Wy_lEqany%un4wvF{lFtt-=&Txh zNy7bM#bv~a4zA(Lj9zF?2PhA5whS#Zb(7ZB;B;kzEq5Uu6h^;_<`5bk(v>1H{_^=c z1rk3<#({Kg3Z&~iNNR~VuK1I{avw%VDF%npb^eU_fic%gM%NG{d0-5Bp&8|hKa!^t zScnmIlh%V^bbo@~mtglK*h-gFo-l1GntU`msr!+VTTZJLQU$QI9!}_=V^({JY-b>^ zqx%GI&gdTHGFs`wD?yG|`-3Wk&VE>edWb-^f{YgvdZ9se!C?4khlW5=H)*W}s3#L_ zO@ck`Lg^Wgl3GZP4-RRK0_iayNIl5!Gyafz zLT5iMA*~}wy&&U|&RsV(t16if1rB9<77Jnc{QyUusNs~6;LnufEq`R-|z=D9ywxX28<=Fon`) zkCIwVjt>s$9R<>Vd?3vvznlFbl|g5JC?S17kY+)~A)yxlMp|RabbK*B3&`@nrH);I{Y(FH}cL}!3WkzQp zLBCQoccamn{UGw>wY5iKb}uZgpA&eEEMT2Q&jouFSk6EW=sN|_E+0Vmk+VJiWL80E z|18P;L}cjDB~Avt&}5#(VE9;#hR9GiY5fi|hZ5{yg6((7JSFVbie?=eoy;MH%wdJh zGqAM&OyI`^3Yo(S8D}6Tb5J3(--pbz@WGFU zLd#E7va$+?u;zuVSs`mu$Ql(oZ}dJ8rXPxCGa4OE^Fr@Zix+xNl^?;<$|=+zrsIX) zn?PqEzs8!uiSrv*c9TN>CXl}hYXmtyP4K5__tEmdlQyda{p&|W_!SF#xLJ=hDCaoTT z)UA*e6|&BStYabT;G+6NSpO-S!)SC=-H?vEclTCM(Wy^XuR{GLTyGDR?F{4vRU~+G zR-F}A9hL7p_;8~`q^#cl+~{N}yO-qFlep0_Q=A)mp}94}VECwshPY7|f9DBq0}I)J zLe{U4o#H}kEKHk-hK_pDp$!!I^7NWGo#a{?9(K(A;gT%mEz3M3(d?quBjD#5Hso~tuw%EbRiq*(xSthprn(U(9j`E zI<3*j!Y#3J3N1Qv$x0ULZ`8(lv}|V}FR_sVIpLCr$I$sq);NC@ouIRm62(|T(HSz1 z0=>{E`d~18bVEZZsGGFT0*Xm4hm(ZG$)Y(0jm}|`QZ-W)4sH93XD6pw>iHI5Gr z105e_P4UM-XG+F@sPfA>$~}3yoq5 z2EzwGq6#f_lU6xU%yBvJ!=|Fu#lrAhG&+YlN<~yC9Ox7&YknbKZi+{pDfAFnp>S{p zYGpv@N?8^DxzqVl_I#Q9Jj#6#+*cH`D+<}NLbk+( zPz{}RS)s_}T*_pHlF1cLDbTO6EOT(sj|}j3^CBd5KeIdKnP3U?kkgG_jgc7>ZOGv#~uNR^7E&f{X zd+{TIn*y*0Si6Z)({>YsGnLz&%&8F^;th0bg(2E)grlo49$;?EY5*@K1b{z7)2 zo7Orgkg>874|-{-D{;R^-@ecLUaZ7wiuY-_;_;#vI^K6M7(QO3IMGrUe?EwK*A%kH z3fZG>yqkpGyP|myjlLhOL1^xsa-FgtybnujZJ}Ot>%3HLXCU7fAM^6FAN9VMcg+vT z**gDy;zQ`{wQ`?$ipXq+jFUkxG?_0k7(PBhLu9Cne@P5vo-bt2xmdOdqpw7>9gU9V zd65Nw+*+?-`5KniODR~^dsx&8aD4D<@i`wVJIL31e=7fj&i;RhI}`9IiuC`_B;gK6 zf{EG`2{COUx=B@Xw_xM!xF`Y?ei=?udsO&`_rvfQ7 zl^-w|KE6alR7k{M5(Aa(arSbYy=a3uAnXo`<`5b;nC&RUUN1WoFo$8OzaDoV8ao^? zrZteSmzNzH=8MjIxn6!GXFI&f`~;o(x+L=&k@*>YoD8JUWa>5IWPXPaB158~{}W_( z#@X98mioe|foK|{abwvjs^IHomx3jo23XId-jCyiB2FAL=@h<8p<|8bYvpYZBF(uU z@!V;bH<%VMG2fS9-Xky>=;L4@g$7edF{3pxGz5l3d_4_dK8v$Yx;qg(G3mZBhk=*0KV_z?Ati|+GcmMu`0vbV$+)-OeczF5*jzXV<^#Hd1(pf z>D3vq)Ke4gm6w)qo?h7lY2_VtIGINre7`u|9xG3|N3ox5O{Sn}3Cv90U+tO#otc`j zpKPThQ206M;}9W*hBzC8;p03s1d&8TZw83z3D!8l8YZmge-{Y5Iii`1#!WCiL1(3j z{M44A5UhZu-Xe)$hC@(Yf3^==e~lCJi+~L+*XTYzfK?PT!y8~VbY=?)usH!-h&~Pw zQW${67+h2uEd;nCLthSPS0&ie1glN3D=cmu%&T}I-Km;LLGeu(auV!261~VE`h0LT zy4Zx&B2sn6XO)C`1q$9rkAQ2_BU&uR*M)fv<=kgQ0$;Al*u1RvPxf1;+qpiw;+?Q zNU|HB;)f%V$Uw@4By3VRsM;FBzc>XEzY2>!ku(mS+I0FlK@UT}KH&-`E4iLmvhx2} zNxh<#i3w??(Vm8WV^Z>kHme(Xgj+o$B>Y$kR%7 zv}V&n`s*(|E`GacaUs5?UAURrngw*T*}M?%dD_B|Qq@ND?_fdEH?t7lY31`wAstVq ziAb~OGb7DQQ+TRJM5;eosgh{ury$jn3t1mK)!)#o7b7wJnY&2MLS)7>Mm7gD^W;L> zo0?~4_Q8Anc~i0*J&0cW_NNq&Vmwa~(($BdXV{BiUW9o?Q-y|Ll4$5H+Lf?o?O1v{ z3+5v9n(6K2mq;y`P1*^ViwI`3b~a35h%`4VFf-c0`^E6XGldi;)0B+T=!K=xg~;$i zL*LW^Q_WaY#+opZ;6l$*yWPcn22Nz0 zFh4i;?ZArKGhK8=d*UoLs;C1qPh@yURt*!yMU2qYl1H7HP2us$xG?Cr?249=?s#dK z);<#HvaEJpy4jpvdFn!`h^D0=_&Of^O7f7&OdTH9rPDAzHp<5?&eS^6DN@lkAQQJX zh3AZHt|DJK|CO&)+t)Jk)l&5pts7a%tA1Ur%xgLM%Koo>$-J&6Uni)(QtC!l@~T%? zEAzUBd}aMtzGPn4lCM^(uhhDcmAumGYGq#6k+0VOl`omsP2?-a%uHIlW-EG?aaNG7 zjY}uT-Ap?C(Xf_$+zGC6w~#K+rIX`UL1(t(2N+ez7jqgdW;4b;<#JDS5Y


&l!Tz<>v6fJT2p4im=*_<^Piv0lhTIi}_cOV?k$ ztxG2%(ml4aZuns7MJiVk4YYJ-S9fpx)3l&QB2A43P>T3{%6Pot`?4=bFc<_khMQc9&n9t zJT!ELQWRZW3Yo*-$pfwop*_ePHj@Wj4;&9IT%i<2dzV7yu!TI}DiGR(%wa2ez`5V? zknIYkC^VNs=I|VOz!^WZ2bsf*pX9t zP+xUhI}}uFS+HUpEPc-IACb=I?EVRK%4%_rMAPf+{;AvAIha&y zIYE2e*3K!&^g6qL=C*dujjFZu{cl)XXZN(8_StUb_aMb~*jOxm=X>*lP8BjG%L6WK2qMm3plIHy{0nO>Bex8QoZ;`jd7%5abe|vKJ`Xyd!eaiBvjZa+$;f&@7s;p#VdgU%RZ#hy zg%&{Ni{WA@JuqB?ZeI+wGNBs(sFwvrUE&>eX;9RgWYp_n=7Zr{sC+P74V5p36;OI$ zxEbBP819e>t@e+)Dk$n2@2G2oqCOy_-U~Ay4C|rt#LzS)nzF$=>VrX1ACplZ33C0o zx9g2Tt~X29&%n&5pr?bPZt;$~H7M%KGU`8qTyOJsy*0G&^<-$UiO9HY^1q4GH@al-vwMm`b{`4@lp zKLxsPlw;po*3WSr=&r)jpz|p#1uCDyB2f7kmLVfI3y7TV@4j)M`SPO@RB{Kp#cYhaTXgEp$F9CIa1emhL+SxbG0?qgeXr>7Pb-KNrzxSEziJ zKs2Qflpa@{zUcP7;tZAv4fK!NKPc)D@2EqAqMjzBj)j@eY>bA==SUa{l`n?zPH-;cUXbfbZ`V~p zt}m6YFM*j)L5qT-UgjP3@}Q_!%BZzLuCMZTy)4M}8`AY_ZZp^E{1xbYirog4=j=tJ zFF|$c!kIJ6DhF3AoQG!^DfW|(IDdxm52;t4VI=r7jA+W6P$n<(nnEaXiTg+<{V!N4 zYu=UgF6exceh(_2q~C>V%(O+`8NUN%P(^P^y+=hKL+Mx1SF)mgu=1;DFLXX>e-4#z z+Iyf3O8XP3uah=tr^W0meoD+gw+M7~a!cj&{JV6YM71y){Y~nW&f38mj$=E>AnD$l>j0_u;yO`=A0H5Y9CSWh$3o@9b+nA^o!LmK zuaj9cWfGKrN6EP|=_#=CTMTDI=abo)GO~AOr%QdE%y5*2c1v$*Z8}SrrZprU-q}j$g2V(uk?41 z?AJ>l>tN@T;aWcz(dZpeiK|_mnT@9017&jZc&>Xdx|K!dey;ntOz2UV`6To(RGt$a zjXnfb(B*f7)O#en5lWAQH=)}%;mtDPXJF=&)zd*yw|Gb08Wi<48FjmV)R$#c@5Ay% zsrO*VEP8Cpvn76>OB%Z1f@s9htchua3t5h2R#Zi zpRA6^sNNWVk$R7;qPd<~rJ&n4s}?e=rZDrt*aRw{gd0H>gt39tdnB9zr3c1Lbo(aU zMkXACnNL>PGO9Pm)>7}0RX&s+Srwq$H!CKy>HsqzjP0TFNmz#}2xD8R_ei)ClpYCp zMz?RmePzPEVdj%nPZ`x4V|S_d$m(P$J+kVDZr`j%%B+UL%m?F8sC*J03{?=uK~nFL z@F*xf5+03i--IX0geSnPPFCW><9Hc02_rr{j*~hiBk|!ensPdn9vPj1Zr_Z~ml>78 z%m?9gsOlsuKDkYU%J)hd7h*Ll0XKFIZ7 zr0bP1^C{@&ps1_8quv%2^)4B8ZIJ7`y<`r3-7hds-EDQTk zM&1<=`8|L4?*_X6k95B`!2RdY`4qOtKk_Fsa?;t^dQ|n1)O*e7A(`0^uv1P7uC??% zbUvAV3zg4W`dUWz&g@I6_sZ-ynb|L1(d+T&nm_qRKkV;4nsO9Mj}znX=vElGKW;V1 zvu}XY@_cJffy(FjiKaA!(j#gkbo)kaC8K7-%x4l>K;<(D&7ks4s5O)x31y+%Hz7?X z)W$z*Zcx;?chp2s)GjhAgP9M8lc4g!Py|)bW%NX;ud^1TDP5uTz|;-hzL-vt3HODW zPgcb;s`nAnOX@wc>JOzyRs+!Oo7EVZ)kv86U>pvWPr@Zo1z{W_^&Sb2h0-J8Qgr(! ze3nf3beQ>MHBm5_byp!>tp{eb}Y`=RqG>^uL+-vmZJDkJ|I5cy|+_df=@ zZKp(Uf6OdYlA@quci+c$!RTtbf$eK~cwhM>T??&X7^3 z!OUkirb6X&uug%>7eg789vEh#+ZRKHOlXdO)Y(B%=X*z85ES)N8TAsF`CwQCl@Eps zq4LFW8I&FvE=RX7hGjCLrT$TCgQ70?j(T-a)LUfKn_%XH;RdKYG0?+`mEKWr4T`!( zM!hY_^;&P&cLurMAYI=FGoOO)35xolchrZ1qCPI8J{shDqqpl#L9Vw**U!Stryw&Z z>Q?Wl&jm%@CZoO>sNwYeN`$6YZ?1xZ!F2`u}1E_qCO1k%xk@p2e z-s|uF^Fa59rTYT`?)O9IQ`mR@k-rIyd{jpMH6ZfO{_cMabYH)~zV}NlaGk+iGZux; zr?6vwk@+oBx^&+tz_qozNzL~C`!(9Yg2l{9$eZ>9K zfQ@&R(J1ck{nmCgr5%(WR~#MPzE_;iGNF$CQ9A@h?cyD^Yf#ivWYoSe^I0&(P3Zi($A-XsCbG!9h_+ct;%>6m^1(dK%1pFqA^&iGeP>6TPEO z3W_>KMm;OY^*P?Irv|w$m#$~R%%`9kK~ZOWN4+2@YNd=?5#+kc+jVu2>u03vr`%?) zWBv)~e2U!&mFMh5qmMxq^cd(-saGDj4CjyeqbbiqnY_sDuNA)}lYRkK%9?j2{Ty^Y znQf7gy&nbrUFz#(hAZq_GW?E!@UQuYe?_|Y4!=$6>x7S{ybYxvnB6k74`Ag7=6&dV zX7is=`7qlFRh>t~Vz$6!uZ;XzK;%#T-G3bD{-AWfKfwKW(D@Yhjeq2?WMuEz_>a_k z%*G)o{bu8Lne-7@`OU^J(D@+$Nk;b0?6B0=$qZA{M6+*b8fyOG>qF}UD8 zk4DR&3Rv=Y zxLoQV{ZIbhqbapeCfAMc9WOz*QmFd};n&H8uJ(_*EGX*r-cfG|ih93{dJoKeFx(B5 z&m^paDrkAEmHIl95KVaiN)JpM(Cv$9lT7$AnE7P&sEq2pG#-|EkF1`6(j%)U(e0bn zi!!U{VdjHzD^xxSZ-y!e1UdL;ZZx_uLVTPFMl%zUzXT}JiB_^Q-U$_Xvf7Vs->iPgXz5sNPu}l6sG}y+<|0P5=kqbo-_}UZz|MGoJ|<1C?hrbT?~wN1YH9^=ujSj3C#Oy;bW+R zE(yD(zRocmP5A;!4@~>e?ThJvO!#}4`DFF2jOu--@U_%?WOWcqkE{-%+c&F}gnh$x z3}!wUk3!{>@DZqjF#aO-9to!=JQGesw{ODDWy0w&^U10)R6$ualzNY>T0rT6F$3Mc zSzV2+u=8xnO^JNmzow?H5N*oMR(lJzDXD2Ig`9RPZ|OewD!4T&7FJF#Gs-XF+wEEx zAhF%WQmIxlor_Bet};*!DXXe3pEr$m?DZUeh1*8)F^gZ0nx-~I+SkBp=%V?RQ!ku0 zN7>x6X&TgN(X{J*)b&Vtqn{GbPu5vf?h{p~-fy)JSnUQ$VGXWpdC)0C{Agp;$S2tHrj1TPE#nqY3JA1kM+6Y5;*f{+4aG7OtGq=0eyw7c?vq;&TvbpoC`Rvl8 zKWvn(q3CFe2B+>YC$h+N7+$IDMVrHY_IC9pFwl)4PbBRw`2^nS?#mU1Zdxrxrz=K2 zVz{l^iMexE!lw^s6gsQaPmeU_DdQ2V;!>Fd(hr|(byA^lK#jdq1r3++ZJlXbd_L#OwdqR6kdq&%=ZPlLBp4a}Ny{v81 zwrj6yuW389H?+63o!YzFd)f!uZtWB8Q|&YDb8WBoAMGn`zjjFbNqaKBv@j>qx~3{K z5@|kgdd1xNoyup-IX^9W>=^#eOl089vT4XpHnZmN{#3l;w4cER<%Qdn&*MF5+=e2$|8bkLMZB{f zUQ?srZgpE&v8pcS-B`V_Sv1+x29rhq8sI;++Nu+ba_HQxM^8=p*R^NQ-d%h2>D{H5 z(uucSyL9Q*3w^zdyY=YGRp&O2M2;PcMrK^uxcIHf#lLS%zxRWO#{Bj6_nu7X#tT<; zjYe9gH;9mKN|$H^ryTxIVqT*gflgE@#udJx5m|3k&Dz92NZH{JCFPu?cF}YipuDvG@ zu9!P_;k@$diziPSJb6Mz#hj|iV+_3Q+M`p~o}Ie&>fNo^jEqkK+;%{;Di!|a(erdQ9LQ{8ELgw3d^imy6^l-V6Kj2l(gCQZTILnhSIy?h;7-tX3qK1y;wfklbYh> zklle!5!p5M_^BfMBrbIneGPeEW}mF-eJ8^mokO*m$~;|EK5s_FMOE4b<<(V_yLOpe zK5zP*g)_?Vwo{i*U3+)!-lJ2O$qT1fR!^Q@fzuDJ-Bs0?M_j?@%`BhQ>HJ8G=*9t~ z5B=7+*Upt+?%6gyI{l5z;{RQ+i+D61=90`+FTAiIHu0^yWH+d;j-g9PdZo zZ}#_3UfezIhf!;u`mN*bV={{q|1)B9%jQm>fAQ2RUdFwvW{%&K_U%WT*Xze_yJgw> z%vb++fk2Dy`gok|Zo4j;(jqF#szYP@vHRw88ho%rIjPGMYPM(_6MG>e5trci@$#GmmaVDyV=S3a~o6V&>sP@ zR@r=%Q$2HPh4@1xxG$`SFWW?FT4Cug!J9>qw3-`nevJ0dN@+GQd2rSAY4g0tE+r@b zj6@p#|{I3{);mnJyko4)NUK-hDBiNPnrW;O$ld`tANJ}|6EBawpv{_T^5bcbp zn(7{N6^(fq=l2>qhuY)5z&On{Zhq1@{LnU1(;gSRnuZu`kNW}R4vTT3E_blyG-y>8 zUdH2E#|I6}ihh$FZPpMwOCm`zC^<*`>^M@BnS+;;nnWTwRGT$y2Mw#5R~N@gz;O)? zyGF;$uaNZZE$R`H)j82-yWPXocx4k9r5xyt{SZ{D%v6zZPpD#lvvJ~t{8(K ze@ANGq%kvFMItAFNVGl1OmKx!%c4Lx(xCdC@v^10liqzOYmRH2I@L7pCK~rz7rfx_ z*vPV8z_=PdZo19G$*~iLt)O8ycEbzyzoucSHvXI3!_;^*@Map=qX%C8tqi1ioAFEc zz@NOddSlQnG^o!=yqwg|StFZrqs`t{2dPYG*h(6T4azzL zFArnF?IZ1lHqmB>)In-28n&8-tvC}eSK^9n58HuZ4e&b(GL{OThTTTPnx2i9shyl* zyD)4IAC}CX#@tS0{*2r3nhm|IF~G4a9~mlRk`ugxM*UQQm&LuE8KY4qzS4-Jx(s(4PKIAd#BsK{_*3qDmHFzl)paeOfj!+R$F?Z3Jx30j;&lqE$FjgQ?WBkzh z!YV6}I!81NUtNjRtgOXL$3f1pM=-1{A7+zN!;QnZ^)&9RrFc2_ROh^Q7sd_azx3lWN+=_$o)@HqFvs^mp`9>(B%I+2=F*5T#H zanABv9FI1;QyHToq*3@9Po(DgyYTYnY0mkAMm-S6YO=0hvZ68!d60(Oem7o5jE_Vz za2|}_3HxU|MCj?jRJz@sI&)41{%qLd2K6HNSF;>fohRdXQ?wB;`dN5+Ealu5sgWj; zF&R^*((Nt3{V1C{zXEq2WtCO1XpT@#BE$bcKO}2vdBu4PXJSB0KH$1`BaK00#*GFy ztx4ooA&oCR9R~CuCv6ALG4f`5?%axb&Z(mcWj4kgK%`~>Ts?#`(-s3=lC@wWO{c>2 zuP|*ANz16h1LUdIkw{@$lXiIIRyl7@**xq!-nb$8yar7^znKN0ojk=HoDK66v48-4KTAXas+XZa~r>v>P~}>wp37`%SURtlQ0j1N#i@ zL%X%7q&C#zU|C!kxoCP-b;SiTwQ5A$NU1&Hk(#`Da;CE#>^G79T^>Z_$wd}32IfzY z`3t^lMcUHbJPF%q1b?9KI7+q7NPe|;!8DZ5!%qRqXH146`r0yH;EKvTsUp&9Qvz; z;_rE-jiC6`=yZW&e(FqmIAE{VT#WcTh5ZJ1>q%j)+i)3{QryhLw#~R``uWo;X|cxB zcKOcsREGu4_ZB|(mUbhDj2JU?tTCc=Y$UQU?LLpSXx~UWI|mDpQ9pw2rzeYCG+RWJe?mwuCvj6=w5)1R#fw|7vc5)!@tsknzZb7HKkh3?~&5( zO=o82HB4<+^Eb+*+4Gr^=A|ipvPz>9OQRDEG=_e1R>|nn47{II8a-X_pEYP%?fUe- z{a|wj|HGPimx-rI6YyB(*sVqxkgW!A`caC>qoEKwY z4IXhu(6mQ`AY3%`U$aWs&sprpEOsc19mo2_e(YN5Z>QN?`t*l0N&q3@2}86XEX7L)U?Lv(Os4;E}V$}qX)rb-y@Vw zccj5fffTxw0iu-NRw*PJdP;T)i)6Fkv)FHT9Rs02iK31isw0vu>*$W8(<2k97V~#e z2GwHzCd!~%M82un$afH2@q8hL&UY*Z!^cp{6D^5`-W2&Z$!3kRS%Yj=FWW+23Z4Fi zioS`Hve_uxLEixHZS?i<{&>(gqf*8p1TO_r=u*zXVEC9sC7>nI&|9IDmf0*Ln>DxV zmQK>Vh%z|(=AsM-eQV11T)5)-LJFO41qQ>%Ov)22iH5Er-~4Qrm(60? zEZa_bK6LsID*AjUWit=C*{eP#a^|Z(TjczQt3FPpEIKe+ z&9jFTI{W)D7(Uig)@Vt@l?B=N&u0CySzo(=`=M|js{Ne;%zg_0zM(1@L=`*$=ez<) zp(}U-gW=;5${a0;hF*dShGer-?ew2SuRHxAPWmeUQ$uAxjIw_UzIpbLLTCRH2E)f@ z${H<+hF*&7$7Hin*=&Sez{^m$kJm9y0p=)$|AC>`tf3rp#Jqiy04NLvpZ1=H0 z&8giU$WL8oImMf2;61L^{7lsip~%@@ayAWrHy(Fbk#6+b9kC-rNcRPF=DFFhzw%qA+oppR356q-ss{Hz5&j=~2~A<@t; z0+of?tSXx=u))+9b`3;BKcR7hS%^aDPJ!0TB?_2Eu+%TkcAu**aln|?K)zn81YJ&M zfd`q!MOF{=hmAYFs3z- zua|2DT~6j|4>H}!+0EW$dO&BckYsKmGCk49$v_HCW*`Q`M;|mqhD1ZZ9b{H#vsE^h zLBi-%(F{i8#T8m)taY%c>&5cHsjTv#GL(F+^`=q+ow-I*xr3+- zLm#ICDKwSw7z`hy&=3_84gG#lxi_1wx2YJyXo6@aqH$BX7ggAc?IJolYn34|;Pt13GhqIum`I6Qt0breiRCOhH4ONHp}n zfzu;4q#44ZOf)mmxFJ2FES-%Cq*<`kA5Vg`(Sf8c9m~h@GdiD~Z}etV4xRb9Wb_y@ znvFir2vTT93o#fz=Aj`*BpUkP!RVQ6_Oy-ZLSb}~XcnPyV|qqeOIsC87sFEDl5|Gi z>R>XhfqX4J9d<2ULf*G}bNUl><`&6mGjaMe`Zy;@p*i8vJ#ku$hB%RE=r4iOKWs?L zg~ipPxdx3J(m#~7v|WL8EiCnINszWXkkqwg`8fWybR9Y0?#<|W=*(@B(aXf>2J~@8 zkU}%M1B2mXB^qKxqM^SHMsH@b9X2NVmLimEMRO+_H>Nk0we+rnX&o%}ok?fwcO6Wo zHIT2R9bwnfUF7{;Z%%hZXYQ1o-XTuw(Z@MK3eAbW$O9kuqajWt8v4J$X_pP@5n=JD zX#R%A4QZFMmOfG-JqAmCcM_zJ97yU~vV0u>T6&zEf8@<*BXs6&$>>93vtn;P(M? ztcT3|p>w0JpCg}(n`t@X7K6~I;Jy8jIfD28=)2?jeiT0;u%Gfb%0Utb5r`KADRe90SLJkgS9=sCzYD~GkpVJ+=^GoWxUm@Fq>vlSAvpLe!&60Uon7D;~I8KVj^ z;ha|hDRc#GFc>~sQ|4$%H1q;g&?blF+Ue(`*PVVFCw&!nZm8@v%Dw=;dG?S(XMYj~ z!$%=yjg~|_A4m3j4r`mk5_SO{p>VGk-6_CqtME^Rs-TD}U~tYWfE2odz8DN2-6?al zBpP}rRM0Vpb+FSv8NKfGJ38sB{5yoozB6Ut559T!kV0oa5`*F6RLUAHiFjI$?0e?0 z?m4WhUBD<|H(E4f(73OXJ;e<0=O=x0oab$0VX61Yaj(6;PVJ^Okl#vlcZxT=;(hY- zwo-D|HwV1xK5rWbo!KYHe%@A0WKKgLCj%)onaLOo9~03K84?ZsRFD~%!}{A;rU;{R zL^BnQ8_PgZ5&t|qRKapCEcGEtScW=S)Fom0;Ag=89#p20uc6*l&V$YzBB=}}D$~)& zsXz)%r2>QDV-^~sLZYFM1C_BkY;+DAX@i+B>=uZo5{(CEcMDHNL3Cbb?I0>j-S!P{|rW#PL~p==h4SGK?==j2L{8(HZ;VEL_=Q+ zPPI0qH-yETqInCA8&a*ZmX;}y-iD=qRT89S4kUFgSw4<`Exkj|mw7YV37vVBWOOAl zdKZ115v0(J68M@fd}N~`MkE^g4lsHxhrN=+w&k#wa@ap?UWHKWZ|3N$tq&|3eJ$xV zr*88VYgN(5uWc4Q`sDjk&I60@!jF{}7n=V-_uceOs~^%mzGmsM(-=KaPLP>|~6FlP+io28o8g z8!-Nr!*=Dc_j1^~IqaPr_Lj|~A1w5bbMz-H9y;;(m%?M0!s9)K$GZ-XcbvCx1)|{} zPbHLr2yK2`2a4#CP(C6kgJ8;`Knf3K97e-Q2^xYzqM?5YDEo5Q-W>LM4%?H%KCy|M z1~rh0&$C5@W1oXVJuLPL8vN?~xj;Zm#N4C2|3vVh^&-B__7#;g9wB%+kp7??*H<9< z6kmYB@NphhftEx=KZ0sfuvJ2g{hq^qvrCyrrrnz^X&GsbBSKWvkt#}w$>$AfMGx3Ph-YTT zk`GtWBUfeyQMewaoC2iK6z;%a__!GjQ6SOKb3q{|#ky04<4z-VK#> ziLp*G)-lF9*kwEq9g0*YqKlG$Cnf)mPX2UFI3^CJ4$0Yfr|e&VSDrnj(AmFfZ$$tu+`v4f~o%~=Yd2^7mYz8E!Kb+Fv1GhYVNTJi;kHPTq z1*MIaL_?o|^vB28xELE7W20kiq+P)eQ0tRo`hDuH$9Sg*a~v|H4@Yzs8!M{d-*Fx7 zoW(|pB7AN=+-I@Fh-Xf!a~2al@+>xyDEtUhP61MA3ia@tUGVW6RgacLL!Sx?Q)2Aw z7&|k@PPY-%hYo<0gJ+6Uzq$g?7UlD^*qO>Co-XQl&SK|M`t-YHJbg%^)7M1$ttoBz zBGJ(2ApO}fc7BY_jIkLpcAi~99BO@DOn*V0#Mw>}=K09bp2V4=3O6i?Kh)*d=!E zL!i(XC*4V0=A>`_8M)chcZtZKrjOsX)8S>+=QDS7o=*`!g^{yyTi`$N?~`EXqKU&BgFaA?mBCV z=u4RQ#+)A_EQh6jPYm}~qP%Xj1n+gqGp&Ji5SnY9`pi4<9=GrOoMAuKyPBNc8v~NM zKSa0&I`f{G{X>NHMCMxbaWarXlerCp;o~MWM218|e+*s??wUCGcoqGjpz|!^r&e5hQ^KP8Bra7dcIXb^cXDlElKNV ztAj{AJS-pl^7FI@mB-1~R&OdBp)=9)sb-L_<_aH1tGeEb^?K_b!64*=5s82c{9zKOA~Y);<^)9*#IAB~&Se$+zO zaXJAVRyh3tOZ`yHeG_`v;bd9^`7!pLfXzXDqk#I#1JnU>eApY*LFmjw64XHgbqIYN z6r|9gQm}mieEbR@1d2pMKL$`oW9&$b{bEx}6?SQ&sfWf*>8L1>A7&}J&S|%JS#bU2yTK)#xq zzzH5qaZrtN`GYC`WTpZ7lP_)U$Z@7OC>=U8LxO5SpiV>|2L&lKs2&&$A05#UC=v}l z51?YXEIXIAwkh=#cD+Q?8;zS%OccmhQ-MOM7?yf|5~Tu%l6um%d~itF3Z&K^kou6{ z0&hrtp)>O(q&5WUWb|=JkU~Qmfx+-G5Dh^h(a<{rQiojDK9}jatgX#yq%a*Nn$c+7 zoI0Qu``px7;WP%8dZ%3X^}n;j$+QOY)zn_V=Ad*1R9g>FW65!6Z&0PsnVlpkMxe%_ zkAs2~8q^dFhL4G82o#Bi-Upz1=dzx;th-I=9AP(AH0PpmQ|c`WZkxtI6`gA@x)sb@zaD9{KI(4QV=b=E)LLUxG9PeH;>`(2y!I7(U9;5F`=}eFPv4 z%Vk4z+2C9@$mUcfOliYjST024<}?ho*sE!@!s%ifU_EagmFs@~Kia`%TI2bm8Y-A` zUV{~0gFJZsnfs6MA1;jc#&#)8%uy2CNWyj*`ZzX7p|M>zgV}Qw<6>`S&qHS} zlFTk5W-p+RGlLYG**`HDKHfk>%t*xVDS}x|F1yU8^`0<#Uo^YWxM|g(3j1`nRH5|& zEcGS1?uS=P9a^R}kT0>z1aiVP+CKXJMGlsFqxcXybBRPzODJ}ukE4JT8pS>ghL1gH z2nC6TehpA8w>kVrSbQm(uh6(TELT>|^$LftVX0r2#Nm2}gSu)gA1(~v(D>`UF??En)Z$eH;U%&=`KjVE8zQhA@z5=&OKXWiGqfCUHa<{U(~DXxt=LDl6hPg~ac$ z)K}-aAC=wakT9)*d_~;su_BI6xiOJP}E05C`dH) zbwIJ!=Fn7FG!sp8G;R)Sl@+mG;m`t>`rSz!);k>36=C^st%wX7zup@|CUoZA62o1D zp(Xk_21ubXEW%*;s6ay)NHp}#!0>D?GjrKfx$Fs>$Hma;n{vg2!k+Y?@L8uQ)3jCv z{jlsQiwr%e=Rax1i}{4pi4C3n_e0u3HT@Z}cukN(*R&ji;o}Ob1ucn&{xWKMF_*oN z%bv3fx*7`9Dhev5f?jkAQfKJ}blcyi~>e6N8ko-d@(`L4!b__&esL`x!m z;|%$}nag(Mve$CiD|X7aLFb->H=UHt9m*WM=HPbb;1#FSV-Cnp{hgI}sIoPP$SZ>s zy0X7wFnruY6`>^&zaxgqcIC47a@o6fSr0>jij|qz<&>q)#CxIue%*c7c`s(-L(2CN zxZ?Rj3Z3sZ42F-*lqXse4SgT--J8ok&t-dZ*(bT|BRlKuP`f8%uamX;IntvGCmj%b z9PZ{P;ue7piI1FakLln)J?39T`wtcN8lv&SAcZdMUlDC~z^_I)n< zHkW;!%f7S=`w(h(VLvE^eXkVuty6*dwNu!aPPa#4$?NP8mG?1X^70^sF7Im$hL6vw zEVLxzJ6I_1mt6K!E<0=&_KmRnRy5zCai7wEL77YGbI4Ln|6Mtye-BIjXs-KY@w>vr z8ptngKZ)Y`8a?d1mp4B9$=UDT=l36=Gmpyi`)@?%0Qxu?NTJF6j=}Kp6B;5zqM_H% zD`9DQEG5r++;&VDMX(tvY@%q~Skm&S7+}E{yc^{?k0n!JsW;4XV`-G<`B>8O!KtJO zfAn5bNhM#6@^G-%{ozp>bY{am`%z?rJY-o9eVhuU&{Q%p7(Qq>RiZ+op`QRMnR%>5 z9&2WUX({YZ5KSvIZZMfB#J)MsQoyu^rQSNveM-x6z?jxRzFt~5G|Xnsdr2mXoMm~F z$%f8sEy=VZGCAnuWFUnmb0P-AhlYm8kci)T1DQ5?EZ4@;UKkaLrUM!`mNudazFrav zmXlzq$CI!m94zXY-txiMORfi%j^r!hO@%>c#w8VvsB}UfrvfQ7mHrqEA3f0!6%q}- zGpMjUc2XWI%3~+mYz7F^fub3N#?6MI7JJEbQ`iip0oJ3Au6elVh>PLLbX(HRL1bFv z`N}!T;bIo$IZv=pbo%8g8qWQThaKI#v5kO<*;QieLfA&4k7I)r8r$g34LZyqboW4&xayVK|u-)YAFW8$E9cp6p4m@CP1B@$0p`6!=`klu)9h$%h0$foh}OD zYiqJXX*n$Qvy&)Ib||Tf%JRV%)kFo7;Q{Gt@;liZ(lyYTXG=(D5u|I;$00!q1F1J{ zD@z-FprIX12om4-L*LV;gniP6ebk11*oJ-3#<~Zng^m6~8?ht?(pl$|Hu6Gle$+;+ zCAyjY5bvL-8{5sA`2pVBzXTt&$?a!t5Pk_l@KPX!F6Bm13g5B>zDUF`4WN{LZP?y6 z>~p)0o2ZUGRvkmAj(tuY>ZI)zWl$~V=b{Yf*WbUQd{@}{LJFNP?Fj-Ow^E*HNi_6B z$oD`Sw!aPgt_}OfPML2CvO`6Gz)9KMkKF9f5#NcNIr?uz&dX}A2;N`#FqLwbT?(Yo zrC1wy+;5daqM`qWQhsg2es05lwCngA6ev+FA&&l6rw$eU&!P;D{zp-UgZ?PxOIv{O zr2;8*zRzJWd^|;Yq9xJL8|0U;dig9hpGEW8F+1hwq0@J%=t3EZ~K_A6?d(|I1 zPV^1)5&i{);H5wcUCJ963?DC331~^g&&*Lu(|pz>pEb(2j@~z+K#2MG_@JFeC|?o{JsbJ9&Sxj&vrIeRkDzcLrLCQO z%@YK7egVpK60ZBprFAyB&7lfDhI3v4q|g<7iNWwedyh~BBpP}?D#*)cF+2UQ(Cbb= z&q-g!9SfCx0cHO+eDmxfh0gvb42BQB+X-3{4gEx9-!7jO=Cin6z|T~G>ridy6krxA z{Ntf2XipW;7A3p_NTDmJkKa9nk7JZMS`rPNp@Nh0S&^MSwgOE`|0E}Um48vF>^o8R zv|$O)9#ZJ+X|E9YXhvD1LNjN1jyyiMVG+1%2~bv7LTf^t#jU>!h#pFAkOcDU^LX_~!f}h0eY!2E#`Y zWsR0ZLm!Il2j{av`D}n)KsRAWTZ_P~2O9TX;b1WX{OfAN^PMLiJz=R2%Xc69!=2hq zYal;$4RVS%2jIPZuC;#x){C4C&j+u%k34!qXAaA^A9<7znPT*DGLS-(8H~a3(GLxg zArae4fXvu@HrmEAL>LVfO$iz|ma(FuWs&DK-B7R$gQY$`35(%iQI~|}gI|G0dr%op zz6@_FBcLRw%*Nf$YQlZAZ-cl1c?pxd?rHy+8_0#oAuvQuv_tLLxRw0F_Jf*`j=Qp$+CrD4?g!MbIom z;|6mH3bEJA`BTuNlF zMIR>vDKr_{e*`|<+mT!aGE4JWt&Qc6wj)_8D&p(qY6T15j%0Zfma82s>Uyz!a4NMP zRPG=uS9??8n~yA)RF)AHx%mjB&{Q@ED)#0hBpUk7pmI|_yTPWSY&?Q^w5y1FvD}0z z?8S1cLWOS;vNGwcd#gjmv*4?3>I1|)ZY(``1SKiYldHf8DDsX*epkE~6Cbf*JJT{@PJ<7dP-AGy<; z5#M}dtz@)@7|G2?Acbc1I^e*^OBN#%4gCQyx-XyIV`H**C{eZ{aj&KOl(qDbg6S=I z(;rMaBR}L|GOdApE!`7#E%Dt=9`fcyo0FIiN=_Sy6KzVu*Ak@AoIb%|`1k+~ttAri zn?d08s14~;VX;RvpP_L>dQ@3Un-oZ&!&2Xv1Zk54NnJ~pkK;oItiO}i0tjAR1A+uAl`H{7r_(Nt3 z8-K`*_x3~Ppl=R+Mx}H>2wn=L(53XkVEE`nC7>k{51CQQzI?VfpM7rE(Hjbss61}l z=hUIj++I-z&7AqUD8qTu`4#0`3|Bl~NTKr`iox(fn+8$7B;p}6@;#8x_UE(j^4T|b z$|cab(I0S9Huobp`H)%UEFLn8ocTlMy6BU?$Z?no8i7E(AV{GLIs=2@V;mKNmP9;i zMnS*kv!CNiA@mGe-+JeSSVX<|JJAKCR9sxAhAUbvB&y3Lu59 zU?B#>2W?G66_9A?O;ACj0@k3wdc1rgdfn+aa?)3EH$WwLO74B8s*`;>Wq%QT^Xwso z&b}6d;p0z~HCht!MGj=2S-@Hpux54vOQ3MCmrSPsvxUOHS*QwHQ3XrkoL2xTbOkFg z7(T9{%+Zo)=rL4~UBFt~>C=ux?)0;r^i}??LuH>!+1~=+JbOr?v%edI;o~;S8ZC*2 zUWn}D1+1WewXqAJJ&B;dM>O}MabG3lVg~s0Hod@k-gX}>^>zjBwWm9^o7O;n=oC1` zn{Dtu`FY#@lQ9-x4E z4VHTU0{5{pzyV`g1NnL>7IZn8ULIs#Cuak^$?Sm6>@UfjLS)`RA14DTG?@=E7(U)b zLu5$A)=MBWw15q^vFsK`ABpB;G;ShhsgURZ%%wGsELx(1mg4~>^Ub$ zp*cnB@!Efd58_0kp-%>P0XS9IkaS^jqG;NqaYL$5)>5?ssR)*ORT89X2a>v$EFZ_emO7C0YHvogjh0y@ z8C4Raj_BizAcbZ$7lYwrIvQd`qM@5$^i%5BM{Qp7pw^!)(3cj74=lsz zYe`Qzb(>FEtBOAPZnWUhC*Q{k_?J5AcLg3r_jdZ$)&Aq%|kg4^BP1AxgieS9pz)%;# zbAkoG7HttM2#EQ20fUH$U;TKAs<;x~c@>aCS3!I7z{jnWJz5eC{Y_M{qkz3uz+Nd} z+w3Z6iyr;$r0LvIrvm<)AFnC1`HC}}+x~DileaCq2SLrZ>&&L;k+b<0akv+zoCBoL z9B8K<_;?TvaUjvqKLm#l3fTJv?4Jc}r_JF>GWD9x4;&We`=}HbUw+>Er+`7zDSju3 zPv%a+!kNt7RK(M8&WnH)x`>x3GyEP88Y+TBL;p95_^g0^TEITGE1=zRJS+IjsX$$i zpL!PXadH8Bseo7En->5nbO9ewV%R#A5=ToSez6_}>@Q&76|ip#*jEMYKXw`af?7XR zps!HRFZ-Pm%r<5a3{pu9{BFg8dl%JGS z%3)EzvkHHw^l5t{o<5||={Lsjv%*IN4W&<_p*Pk_SVN7~*I1gyQZyFPtY<7upw`nh z{SkE%8*0u|qWYRMiD`Ime;YAHlNX5yy8SN_?n!KpcxJkme0dN(auS(|KVWI1qewQ_mW9j;q zaOyBMBxxUv`JxbhFy=Y)7<1lci;|A(xa^70re0@CMUR})cEp4>4dP57g=R7ogW=<3 zG{l5NL+=VEoi)ZZc9O=5G-ZBC`UuT^Pdd~o#T<;> z>}5Jg)I!UY?(`$BomYKtNRw}2E=NdnM4ja+dgSsPP6%pX$`L>cjexeHfsZ95YV#@jjG28DiB(j{S%lcqUAnWORllQ~+8kmgx+=1BC&IXaUN+zC^T08(fK zv_lPitVcr#NHp|wf#4jCO}6WQ2)*E<%+Wbc@#-8+PM)J_lpt+F!xMxQI>Bc!7(V_+ ziJ>LY(B~q-3p7@)u~`}`)7W%7(`TX9E0T_;3!G%la%HAwIWuLJiL(KH!kdonF>z=n+8~)fUtGdht?(kbUK|ZajG}1@#Mt3 zR4M;YO3C(fL%vl_ckx??OYk|#AA9Wjy{#y|?qC|CTFJng_jj7T)}`@rZPjoq!WbsAf1lgbmOZA6og z#!c!Tlw>cb4GO6OSn3aG?$0qB97Luykgub=1#Zr0opKnh_28wE;|<=R;?S87NKp3^ zs08}>VuBPJR96g!k0LY#ibO--2vCn{>`{$9Y*Xqc?7EAl2O2k}$3%gAJw2&V>IqBz zi6lx-I+WCfWclEb9#tSc>;b74`F+wGQg7(YCnTgz1gRK(91^6^kV-KaK1$FKBoYn% zAAt0{#P$U}qTLATj#$MOht2U(> z!mdm-Gtsyyy&($Zt7)e~X%;N?cakXWbSSB-$@0M=y{< zP)vLS0u8M#5)J)ZVEbBQUutZh&5ZUyf_|-N?nL8e_O+;!udV$Gv%6raf3M*&vVe6K z-52avU|9n>pf43b`#b>MP0sdvlUWa)`Mo6b9g(3;mpBJ) zpEdTQ#tzwJ9v5~SMY9Qwo6OG&nWGAsCt<1ors2l~3Ynt{8EYUX^P@uMkO!Hk$k|bE zGEYNi{wB#BAu=ZVI2lNx$;Y5{ZW13y^xmS+_Xr5@(&_tfP(Uh_L=mG)K|6QT0GM_PM){ zf{J#1(u?Enhj4uyRHikMFQ{&UH)qvFVbw`_-_e5`Z6c-j@#aQ5OPR%zTW{h<+e~q8 zkV127j=}Iz9}RIM5x?gNZiC}&P@D~jvr}wnEre-?XlSb^H?+Z`UcSDDE6`}~Cw*8F zwBZgkb$wYrII}?trvb|QQ#_c_#!~ulZ)UXHlsQZ?D?Jlqp+#FR=|W{=L_F%Fjc`EmF2yK;wwX$|Bn;yjNPaT+-& z_eL=uI`e#qViut=(8p0g3XNh42Ezy6q6#gEhF$>_b8QZMv#Ds!RAG278aIcz%8IB| zIM6Oq`hqwfZi-u-DRdK9sc^6cx|RX$E2UR@*G~IOnG0m?^Qrb3=;O6R3SIl<7z`h@ zeG@GM60tclYF{2_SH;=VIIFcG)Ig^%j*CjprAn47m0V>l1^ODxQVR$D$N*0_kI|0| z%vz_@V_!)A^T|QD1L=D$)l`dEye3GYYq|l0;o~Z*1ucn&ehX?^5ob5X+4XioH$s70 zMM2Z4pcPI*>cM)WNS&YJuXo;y9|^3ad~bp)o-d@(`L4xa_*hAKq9xJL??k?9;_UV~ zTODVs?3C|>&OHZfoRrPmksF<$X%1F9xScsz<#c+?LGrJ3tfR{AMnqm2q|lXZ#9;V% zh$=!$B7SWVmE9L-_r%%Vc3GRCK*h>T+~<^~&cr+pVn%md{|RZ%M+k)xn~!0LuqI7N7Q@@;Uk1>P_X} z(3x8#mCZzDFZwtYNTI3xfWh$bB^shaBL0#XsBDk3m*eb38_WS=cThBk(73^DMxcku9;eau%fqcEZ?9eb@bl%JL@*_Fh;Z5cz=*-t8nb(NS&*h-nOyS7e)<4(-4gt%T7@RUoX29Ea^1BdLH$D948cU;+RRN z@LdWWYdl{oZ+j4F&i#nzPP@Fpw1A2Ez6A3gfyqE02LmZIm_mvft%;!_FeKvZX#n$C zoP8Q+AII5l8&6wd+Dwdntn)OHvpFU!6bHv9Cp^Jh+krDAB65(2i@1l zk8UtUJLHXS2z2H_iS7WQ8;U-T4pL}z1_r~&NHm0wL_?1zO4zYDI~r$4;_Mfj-UMMf zQ8bg#xal23iT27%OE^!j&VZ$!nsBeYw1o5Y${t87@2JDcJmTQ{#p(7~dCEPC{bXx0 z1x-s}X6pWG*A(c?)P((HD-p z0IQ)hTS$P-3E)EXae$D*04&DfqS9y~z!e$#azMK(!ImaiZGv54aqD1S#S7_9)kF%4 zZ^Dq1VBeAGMF!F5gR9ZSCZraTsxv;TB+M&N@IHD3T$>)zVlloh%xfs;J}VOVa!tnO zWwnRWBQ@o?K8z+ut+|QbC1dkq>?T)p0rijK3M;~dw4xP>38|&gF6L4=|JHI|(C3zf zS<4f&@=O%poG7{lnRG>x-S`wg9En5*QZ6K6lfpsO))4;1DTw%0SoDdcap=^h)7J@l z82a@IS1?)0^}Ldm|Hn$|6|GE6NGpx@H1r#jk}tGb-N+-{>KP&7$0}j7s#kO?k5H@< zERFWT9Ni2uCvz%)twY7ZBc_~xNEEa|rEP+$_3dCXvy8=r}qXRKnCHRPi z6}TqBZcnh)3AV~wfy2x-t`&G6N*E6N5l;AZ=o*RYNHyBf?@E}fyjI{{oa+6aRR3TF zt^?4b`}qnSW9aJ>=IzQVlnY}$5AeYMIlu!vz*s}SH({<8t6J197skCj!UoR>f3Prk z2^)BXaeM_7M3avTX9b9`dl_U*um{vUB)0v<(?zCY6w?i++8laMq=nha3fXG9=``09hYEmILES>-3gZd&_^%_ z?>x0fWF(rl8HJI^u$|kk>1cOhJEk-#Ml{2K(`(4-e5*UNEofiUkyN-|liKN*YZ#ui#VbYsz$zO~3&x8!;vJKD^{>j@@Kv9oph2CFY~K;fChWDeK7bJAWd zhZ-v%OA*Jb`NX65fg`js?7q6WTC0x~yXMXh4v-i(n<7?cne-RmFzx<`)m#0Th|@N8 z^9@#i4_%_sq~XSoFM(Ts(zWw-3!5}ael)a@lr}eOl6NGHhp9W@Yr-4Yn zakJ<&(0nRXX)*UZ4u%mhE@K=8#iJ&MJQSNxBMVr;T|xIq3bi2fZQe!}uxz^)+In1R zjA0&zis5v!fVDbp3o3@~WC07bYoV*hmBuLaFjNdX$O2a7v@NI@&L9g|id_p?9#--q7vSa#z|+EYOUJVaJ1bxF zgyx+l@@n5BzZzP`oO5J=jcv@AsN1W}m zS~uU~m39vrU0Th?tzKz&sj+=lZGIc3MdGf3y0o%Qw^h#SoiW;3y_;$81uOVWmYBs? z@a8*-U@VR%x-sp3VO}gcAu~S`jdqH5GTInNWtJ|eYpklRX-GEK)|aiVjNmWLw9Sb0 zo0u7C9g7xgqEmuIOStHdj%YOcU1p@TxPI;2s)oi0UI87;Xd8(}n(Oe}g=q8}@aEQ* zmsP`&Vzt99P&9e~tm(D&8_IO8uAKE1Sjoov%CZfbRyVLZ83;0#CGv?zBU!gjQ%6x|q^X$)U%5#qp&)tH}cL_D$N14wHF`o-wKw|M=&sm|K z6Uws{;<}G-QVl>Fs~OVujfK60EV-{3V`8E zumWMY5KJE!E&@3ahAUM-mj!#hG|cN&{$6*7dA&t>y%AyoFkBCoFASZGsBx>m*W1Fp z-mSde8D{z(f7ADdnSNNAeh^{-3H>q5>m&YN9}V;RwDS7rFw=YdO+OQ6`X9>l3lIxP z==m_OFZp|YIn3*8%In@R)35uRek08EH_G(aUNO(L-M$ezU3H=eg;;+QHcfj z7v=fK5YOKSoBuY{e7kIUY1um4bD(zeF;X`Q9Psb3$z-lnpDyMt|@ELhKuAeyB1(IK=$GP#fcvjnTnj zj0`dnjSdGZpai1Ecrbm=I7J`_o^eW4K$C;LP7L!p)!*y1Ft0}|uk#@mFdK8h3OEvG zgB1wFA~1bmNP-*)!%7v%5j9=_GquQ@`+7{StBgK?R8U6m zffo?=yI=)|y${T=u-{Vr7GVSJjJQ1G8}Z=SBH*=%Eym~h7iB&L)qc_FPl~6x-iVDc ze$wowTz3v}-4VQiiEi%~mDoXR3sx8?trcI3Ojc)iFoWhYR|TC7si3*c1g`~NBC?*! za|&L~;<)Ld_$?yCbS0E~E5v<&@B%RF3syj6rt<6`S)StiMK)4JHVkq>zzhK|AhN+= z1w=M5)bj-8d3=cHvBBm?hnk2zeQwGV=0(HN6GOj=v9ykDu!dh3y5rm^6VekGR1EZ8IF<-%KiEf_v^q5 zz-$dz0g+WG&;F6ER{R!`MU5ITgD~5of^LFT5M~YF1w^({dG?R2R`FXz2Fy-X?oSSJ z|7-99Fgp<}-^l1n?=&!j65pjf?+EdHda!v!f1$E*UWkozzzc}}tYGs|<03GFqQ6{u zzBI)1#lhwg{q@SmHINI4aCeZ2X!J_3#M!RJ%tnnHz)TGu`?@!RtQDDeU-upr&|MG< z24$ z*Qb?N|HJZ0#rMJDuVDIM@jS?ZSbVLb+7GdS$@?6v0GK`nD{S&UR(zj;4}j?t@IjCR z1CHd#YtWw|77*2s%Bw$&-z&aPRM8yYs0@$;qw1=n>IAU>7(0L!5O6!N!eDHp_&x!5 z1Jeh_?jQ#S+*<`4hgd*VS<0(FjJ*`!C#pO!eWJ<-IWQ`wq8bRX02m9w3JBN&D-6c| zitiKf5HNiL9tv_`z(p$Hu@DQ0YP9m|593J1_lfFAFnyw$0CHedvsF|xAQk}QG_V2! zE&(eH#$v_y33v{eJ^{}KIWXX*D&WNsYY~;Wd0eEtrof1s$AyZgMI>$>qsB5YeIi;8 za$rR3R78~!3xKd3tQNtFJGU~h0`J00!3@K9mEvpJ$Q#ZoFnzLF4{~5On^iWA5DN&o z9<0ES>%a^PxkmAQLf!(VPsm$A4h(sl3b`3#0TXaCSiafNW#sApUblyNJzII*6=wPz zf79oNnf|RZeKEuW61phN>t+64FAwv2t@64%%=C5srmqh({fILCkXOvJ_hy3^kn96s z`OaQ6dOujA+_Z9{Ba3ea?NOee4DtMgpLwyAJmzPfSls+Sl=&Az%s&raKw{7Nc^2!! zvwogcVy`LBdqX_G5^VnEQ1c%u^Y4Y2e;2%f#P$VyeoJ{yS)HA&sy7thZ$=NO$i9S} zwkUXN=?m}zBKr)ifLi)QdG?R&BgOZN>?al3_kP}6@qNv2gS{UNwjMQp2GeI@`~_qU z1Mlrtn_PJToRJ%tvjJAX@e?)Lg6ZS69ms)Rdn&KpAr>$RUBL>Ngw9|E2Gk2opMWw! z4h+at0rd{{niJ-=kH6QxVP1zRuMA=VFbo1K0EPruVW-gnir=CZqsDMBeP9{^av)4c zsep?h77*1q<<arRq=fSo)4x^ zzzaYQ4EPuo@G^)6M72bD^@lO3_&!k`3#Lz0D?tv7>Yd(lDR`^5N6fQoz5!kU#IJ$X zBAH^oq`eAO!1vDBg!)){{vgEjd%@=44K;sIng1%p{C@BP68k*Z^QWPne^#D<2=V+~ zu=#I7&9}{yGuA3Ec*bJj1tb;)D`3VBg?jF)Ja-E5+#%R}JFtQaB3qg76=MDf@B$L+ z9^{!{lI1J&xgqA`p*9MYje-yx{lE(du}`S^Au;3T3m_H%!+Bu&!a$o97yEm? zB+Tno%IoD}rg!_BzBs?`{@AWr*Uzq7fl<9{c z7Lbq~=Jip3uaAX!-J`rd8D{z!f78!~nSMu^e#jpbyAbnj!1JATZlkBN(LKaQ*WeI4hnmk(=J8~@zJ_}c=oM3`frTE&0%S^t_A2l8VGquR&W5rLYpr3%0R`Z^q z9|JESvPYC>|E-`uDSnH{aE5(Rxqm*y{d2+YpH=4l-S1KS7Ve|Q-@yz5=5-a>tB?u; z=3n3i%;rDA3c&0ouv%;pi`fDu?u*dY%B&ZAo@kY=A*_jU2MY@85cqYAu$ z=+_3Bk47uO3ai+1#cxp+QKJ^jpv1STpf^D(s9+kw^R0?#v|f4kuh%-oZxIr-Q5|>ir`892L-+!CrTUc|F(P>v>^bZ&qG!fLH(w z*MSu<3D1syyEm;`xSP z^Vfx%zekzB3vvO$-w|y6_F(H#<6ba*4)Xgz4m`*oRslU2?DdafULW!I`e>Nf=akoH zAQk|_(_jS@=aXOs6lc`pKt&fZ=Vh z0$_L(tgutU>x$pv7>*k6gXsg)2OtN+^py(u3y1|o^_lYOf2Ht=;`>DPHJCn89RN8n zDx!3u-%d&Tz&IM&xU;0%xh1MZ>%?g+7fsM>=S7FAot_lc@2 zm_9Ie1356NGZ7WuJZoIgHxJjZvDk&8H!gDe-%xMFGAgr23l~rpmx9pSwc1ASg+yHhfVxAww#Qw=O4k|Z^tYbGj{Vh&^t3u%_SP4Pl3dPnk z5GY&*)_+6cQm>3=Lr39SNClt}ja?tcyfKIg47&G|2UwSWepjgYC0{2nMDki>>Zdsq zm4PE6H?^|5YC~0HWxXaUer7YCtTfhF)vVQ6;umxXqZ_{G7dKX&3j)IE2u2G7N6D*} zZY&=~7mF3Lj#SC91na;neIWkiIaT~jhd#@p&*pTh@GdOU&{$UASXy3->Y~>m(W_IN z5Dge*8|tbnODoD6%e1Kf!0WpMi=@ye^H<|Ujs7fh;_#7?9j%<#uuhH|Jz1o2L!FnF z$!ViKa{WkkxQCPv(g+VF&J~9b^ANK*ag2x7TL^mH_JO@o9R+ZKrBkg%5L?Rs)_3ZiE`p0j*y+ivsw~gNOevg|U zX=C7J<#UQwF08LzTVJ+e1B!a(!l~0&uCJ?H+fYBgoPS{Gw~QIJauF~qYpCS3A$1k2 zBVT`oS4+0(X*8P`nWvlQnR9xWefmvqY}(fGnvU0Ze5~XCj$d|cHcvITfxF#2!`x}^ zg4Fru1(3hkyu|#id4+kkd5w9kd7XK^d82ugd5d|w`8)GY^KSD#^M3OI^Fi}r^HK9L z^KtXf=F{dL^BMCm=5yxr=HJX0&6muV%~#A<&DYJh%(u;V%y-TA%n!|v&Hd&9^IP)| zeRlQBj`V8Y*gX>IGP%5VL*0<7it2S4(L;wKkyvE%n#!`qA;X59kBJwQArI%4cFQ~Ni3 z^ysm}M~xplY>Y<4$Kk_5`{Zn!d_{3V36^Y#3R};cVCFe{4ahC!9j3Wc&oJk<=8JL1&e+ZCsCW5&C zL=NvP^(I1o0V$(;t*Wl9FX~&O4o-7AC=F)emT_YeE9X^}*Vi`Gu4y!vRy8!0Rh!Ai zri!ZCl_Q1?AG@-ocEg6InySXFE0>n6TwGgQ-LP_A5+8?;8ZvzJkP&0Xju^9YbydyE znY9g#%g2r32Y301Ar;ltea#~f8Ef2HS6NY29bsz@YjId#SzljUKcqauDry@d?3k(u zTNW7^VGGvc|3>`3dPIcHSR7%~W`aF$Dh5gXzcs?9S2ZqJy?%OA4RpolsdR>7(`(aS zltc`*tJg!j!gsl1T%^9TuC~6hsIDFmH%7Wm@4e@PR>B-DpynEFjy6}-RMc*6Fi)szY*;yb z*vhJ!^6I9FN_-qLY{>Aj!$*!9GHhj2d41!`@>;AtIB_>LVh(Zou31yHcF4L&*XX^I z<{tQ|Xv|9&f3$B;d9?g*-N*gkIor&=aW^M+zx0VGHpZ8{cyq!39O!u+>yBpW~ zkN@iYr?;Mbec_jLu6p37!B@=dKCbWo8DbkMHxH>^|my_oJD=<>y}=v!ZY3gV$HS zHeh{z^HoOVt-^xHX{{qhMz2T#-g)1HE>t3KOQK1{je@vO5(|h}FNp6*Vw{K#g7~f^ z<`c0|5dR~IJ&D*Pi0?^aZz66I#P=m}AQ3kU;s=sAnTT5i@k2?}9epH;nIySYNPaAd zdYYd|;t?cyqLBPl5|1L{uLSWkNgPJRUkl>rl9)@xlLYY#N$f|&lLc|VB#tHGDT4T= zAMqf40+kCLcM{v?S#Nb+XL{2h>?U-w7R3HB>`OeAYCPK2&tbX)VoQdo@RGR)I;haiTZRLA&Gs-=Gnq# zPf65^wwEO8rI;y+d8B@hP|uP?Jgxq7F!oB`kmLnIeTXFL84Z=h!6bR1kQ^q7dho*~ zQ7^?2lBiGdNJ-Qez)_N@r#V^@_2qYrBzB^ZE)pS)l|;Sj#z~@%(s)UnKP3>M zSMrgPsIMUtBvH@(C`rsFn->e46D3g(X_6%B#V}bCvq=3CpXLIL zQAcU6A90=}>h(Ea67}F0NTPmhE|kPk6#SJU_@gCJFR(?Ds25mL67`emVoB8JeTgLM zaW0iay}*`9;&2M-DiP9hNz|u!g(T{wc#I_Khs?2(IF4-Y7B*K(qJG4!@*}R5#0>li zzqXO)31lGB-RO3Ly2;_YM0FKwTJ9358^Ny8K|@!5_w}wXj*E3W?TdD2t+=Q2k@#b8 zrPcH&=$zY}I$TdTt|_e*e+Cb`lCAKlcci%|_6JVKhb@te=JVk?Ix*AeJULalp}efd zUw1nh`DY{&8RY1fK>r8mZ(6h2aY=jctujb13(j`XhY`3BUz+($*9_yx%;;;G(axRl z_eorhhElK28KiRuHW!+QLQ(3y4?WYPSC^uPM+PI!h1hOsZVP3p_a*cW3O$jR*V!&o zx-=8bB5bs9rOBDmPqU((+v2_E2vR7e#)u~uBhB5j(G2PkiDXl5j@t92)=<+DjzNIq zEK)nmLh}Pg)-zpO5hRyoM?1gnRnz?yLiB7N<^U+(g_F#HXS%i~#rvVy6|cnH)F9oJ zYnYJ3b4YLUKs2;S_17F0dh}dSNDI$bMw(j(z}54o*RY+e??KH z^#t^qxn8-%!;NtW)Gj2o^GBe;Utb}$n1ufVubS?U6fYvhQKQiOM^hw!595_jfIqdg z#zN^gq%?junn49_jogrilB7~Y0a32 z<_&1YX`)e(r1iB&OZP^4my(`2AI)Y|SFWbF53eQJw5G*TT>_=wl2Yb!G=*Z>eLO5!V2P8K&IF9rgB{e)|jcc}TXa*O%YIj1dKUb5;>FyRn?|RZZ zW;>eWr?{)&wa}Zv^~zf$mW0*~q}6^Wn)OrNqn^-M?$OetB)uC+@6KIl3a7bx6y@<= zJ%#;BXx&6wcb|#oI%su%rmGQMZbmzA@Fb=$(*(%Pq_pTPH17*n{JcORV&QjCR3&~3 zO8k8)@k!^RxqXIH;;%vaEIg>NsUfw*SHr_CF9uy79LQK zG(UbVnir0C*CNuor4MS)IX9~OE1_~5sa$a#npuk?k#1OHqgO-z_(X*75SLbNscMXz z)&|?bW~BL9D11PvB<@9H9fK8UX4fcq(ZBSFCJUpTD-w~~rpCIa#?lRy4Gr|Ce09|i zN%c!ooeR~zP|bkqtjy@byy)75(YYE<@jY`3-G9LCN2L48eP}L%?)aIQr%1%;yd@D? z!~b4y3#GkK`k0ii{sWqxv>v@5A+@tjqw{%*NPT5PWn-yGa>LqsPoSTW-iSY;ISOB3 z^qSl?8tJ@xK!m;tqzg8o#jnyLkhvWb{3&VtNE+qPNFLuc+WL*c=<$hYMIu_Ah;B(l z&r3u*MCNrXEv3zEe(hITT33t9zRLOrsC7ZO9U?RT3x8^6X;tm&rZrIL!4)npsKI`D zV^e)iX(PVR%6J|Ny4pJ5u%WibU8fr`@9i@v;7L%u9rK=X8fqy;S`>*AErsasAlf04 z(X9c`ijbFn8667n?RtGpb!83y#8CUTWOFkF?|@+2$ZLhO=Ot&9&Mi(ZMqjdE>NFgY zxC+9T#u>&burxh$`mDJ)Zg>hAd$DAv#IS}Js)~Way_3RC7K$mTzym1twOcV|l#VFN z&q?43T$QERQkPnF%3eO~-9_Ttu~w#vizP|PPKWI8A=@GHK>?qBw_qa8Z-be!yjz6o zp{5q~AfQ+W^4(Adlv~$}q zdGh$lJyUD{A zGt}IQV!qG^700QIA(hY{xrO&d_6{zn;ihsj^&c{IXRs-^a>g~q``f<|K@{31eQun4d5fB#ea#VH}e%j!hUV6UHi_aUU-KQ)bq=T~QM|3KRPfFR1)( zo61V7>2KVNzy6#ti|V3`&M-Jll&+!glI5zD1Fb(%?R<*6>l6>pZL{(~rSmZN(7)T} z@^xkPv?%rI5XtPe8sDH-mf_Od%-9=vz?QldONZ1xMcXxyK5vhL3W`OS{#( z=bQI~%e~Z9rl=nyUtflZyP=Wzed9#HELxuRh9l(`E^=1A(FIQ5WY zWwmbQDbD&$!R)EC=1rTQoV8$nB+}F&a=BwcMD!3By3C=$&4VEDr4Ory@m67^Emi|G z`>1(`ns=%B4>j*m^FB2nQ1c-*A5rr$HJ?!PDK(!_^EowNP_v(!FRA&8ny;xjK+QpF zzM-MiJHmO6jL*Wni6WJQZtR3>D0`iW+pYWsF_X89BSrLGmo12 z)GVN8AvH%+vxu4`HH)cPLd{ZYmQk~unibR>L(Q?&tfXcYnrN&o9??Sm#d=MtUE9=P zIwvl(ytbm!ET{kzbr~~@=gyijzjX16h11Nc26JD7(?;L@@I*Q2Jkl2)z(zj zG@7%fA|$h_#!N0qLJCJmtf!KyudOrdD>pXbsuesOG_l@OOBO@Ba?P5m@+#8DO_N!> z#;h-^!7Wpp2#%@PK$5}rU3F!Jxf=HiCz!Mz!p#8=C6q>77b~0>@u$G9Gnu z!okBfm0KWMWNxTx*ihD3z7CITnEbg{`cO~LZWFtpVzBDUVFpKVEMKHQ6X|a#t1}|yrV0;H;fZfZ;Si5y3aP3Z-0LBe>e~8-y0UVL9ml?$ve^r#&G0g@Cd7_#=CiE+ z1mKH%h_#LDpof(rcGNPOKa=ZKSFNrutKVvF!u=8a7MYTOX{NY=3?2$IE4S3)QAHxb z1{Rvwup~X+OKGktD{n+xW@BxwSzT7Y76nmTk4eH+9_nKgaHY#J}R-jmZn$s!f%qy2NZSlMP2<5|fqG z7O&%NHClv%W%0jimtpP^IGXyZx<(WA1DLor)>An%YO);^U>gf<%#@Mo7GO{_f~7b% zaMlKdUPtv0n1P^oPEhE0y1LOh4zX;<=J7dGDS}NGx2pWy*=s~8p3op_nP#%7rd)_y)iP;jNW)AmgMIv+zWr ziNj>8D08&VA=psFi*!R79flCb$tzZ%*AG8tAYbFux3)sy92e^$a-UjUf`SzXGpyjm z7whSAaO=`kX%5>`K+7D?he~VaVqFU-NyRzZ!@-#|Rxl0E{%sZWTeSgOHfG_}`E$K1 zOak_Cf{pcDR9RMGuEFDi=CpZ99AJ3DkFvvgH+ICbdi+Fy=D@?k**Ml`YE?ze02CQN zRlPo264iU^_s<(6MAkCaKID4*@k_b$YVnn@Qo$@R3X-R^2OOEV@$4} z6;%ybCTSs>1TCETV};Y}u?pbeL;vg<=De+VWCSiwA9$No>#2F=O%{NwkUJqA4~& zE-9japM;%rvI=rYj z8i5`#!8KZ}uo$JV4!7=ADS8 z96hMv0zNiSU$Vt1uD+H|KtPp5Uy_SYcZV;RYl&My%Fi1#c-8yr|;F zB{s0Q4p&&^&e}mM4X%{yafs5D77Bx}>9_=|q_}aD6U*0O6cb~5vBO4enW*#|CNKQ|V`|<@#9*w_4g+%frGA zSZs7jZQa)TsE1&YWzw7 zKZ9!%!F^k->-ci~IAj!?T~@t<+lMBIJ8ou2x`mf>Fxzdt;W$y zK=O3}MsOz>n^Ig+ySmaWUbt}hD5sK&yCv?)}6B;=VpMVOd#y z4T`P^#ox4Hbq&@9=kkJIxu`QYzXRl_Y|oTpS0FZoyRY2R=va3#QHfELMMBytO)WbGz0m6;zUQQ6ZSr0SuG^R4K3K%6^Zpv;=({&>$ zdM_ccWfaS6X}_YJZhXtAMHbjniuE?do$+9CYdl!o8>4e>j-QD0|D&H z$<>a|clv6Fy*h2ROXXq{FJ`IbpPzul#Uj7a;O7;0vjm%cxCpGRuW!Qkgt|g5!r2V- z?Vboo0Wo1$Fg9gY4NmtB_$C8)Pgun912Rkl9WM=ZPf$}XPKT;;MUA=pXS{^4vlyG; z@1sW< z%afUtE;c-4L)60EO>#>V+X zu%@;N=O|B}xN8K?hz!TET!gUi>RyS{Ww6@HY2b^Un1;qGoHofT9Ac9;HYn^ukZ+67 zHj}&(Tnmkif`;~yHeHV068Zn~Z$W-@M%FdW3(V$UA`3=#TGKtZZLFaA_Y_O#$GbW6s6+ zUF4xdhiCk_1<_S7cwEw&ERB~gh#qg1IL3=%yo?*ir*w>ugJSb=JQahk5FMQGVbb~` zb2|GjlYNuP4rH>gGDSxGF<m$`G>{*FtivA@Z@W!o+jpSPR# z0en86K5sMaukiT-`h2PhbRH%=BF(*^J$Km7)A}vJ|8t9BvFJyNW+cMksbG|LDw9Mi zW1UoJn6!+n=`51Pe#vA%$vh^5ffPj^*_1~lOXV>VL3fNSpiQf{gX(8auM;y zvJh`EO!0UzN;}^9P=<|Z6eoHbCaq40w?h_dm&Mv-u~u0Q^b5eV-q)e;;D&6s%W|P_ zgU=HBR``54(08U(7QzKj1*5c6IS$IOK|jc*RA`vAdLoq`S*%+Y>mu_g1p_H+(D!ij z(4p@p(%{f{5ox&4_o8@@hbbN}Mrp@e3uV|?Lvf;~VbU@YZ(bJ5&0_H^mL)^31JC+W zhd$2@+0I35vg+d^W?uDKBIf^E^?fLnjc~zJ!6@xiPJ%LQG*JrZX_&MMk&2bY`e(7e zGLMtNK#CglmYatTeSeV#hrX{!!-YOU@ty)xJYI~_j`u7m!^Sp>6Fm)+)^Nl-G>fq; zHb};MHW=Qcbf_Dz%@7!H=ZEPaH(+ZPtuUvWk>*?+*CVm6M3?NC(li%>^0*yA8Jq*- zJOhl<&fvFDhK&m-a`ZGzT4RyH=qxr;hJP8T-tb4e;p=dZOe^|v6#eC}&7;RC?dWfU zGHmRosL|69XBI?1F^f&eVns56o5AoNsuSG=>$Ica_aSALW6jIzB_%)rjbF4HQ@!u8En=G-|j_#a4G$7gwu{W3RqsmPbE zW8CEJ<@k)VHD9Slz!e#LkBpUN0k8cXBO|CCNzX@5CEoks*~e!=l3zcS5;7lv#*x7& zZDhWJGHiT;j*y{Y(y9V7YqMCTgym}?bU<_m(RpE6D>B-NpZ-|Y8Z6&H(mEjpmTDIk zy(AnP{0vm-gUYvLtJ)ux@4&N9P^hdYRK5p|qk>V|sI)RTDnG*pp+du?wHc^1WwC}V zwowApTFA8#9Ud}D0j3Fw(3Jw!%ZVB=?I3Aw&GN2QC%VAcjv}v@27xX|W}^=>?aA1Q z{>XFy&)%w#*+R&41dStuQQF94Lm4)@qa$Q!n6yp@W~h)GCc5G1yuh4`L}a~OqyaMmlGcS;-nI227Z}@7!~LX(KZk%CIpW9U()*q;&<5xh#uaDq$%W zLQ_Ong3b%eWg;V9FS|8Zrb5!XDg~C^E-ZSzI5s#cm-?VGjco1qM`b#A_Eid%D+!eu zpm9_%N*k3$P=<{;=m-@WCas%+%8gm2rU-f5_DcvZbTNcSZ>o$Sqe$()|6HE zHWwA!QRKyPy?~Zr3BQh(XQyRk{WgD`mV;;Cs&Kl6a9RNx#|fjfaVm#0Y^*{@IMFa^ z{T?{oDM6|b5|yG`gU$=mom%PKtAVr@lGZ&bAl>VNq?e9k{f5so9bHTIsD2$#a zjLrj%V}w!K7+ncv*ti%SVMN2E^><+OLKb^o!i3jrk4J56X zQdaAiU6^b~k=N4m>DJP@x}0-@&s!b+)PaCiB;B#`c#^ zJ<%rf7Y=OOu*v)xKFgiX$swD}-%u(q!v#+TqqI|b8_KY;mr_7a!=&{yQu#59eV@g? zm3iy~11W0TZ9lqs=ri}dNP}k1{#K;nZdUz5@xB97JYI~_j`s^F!^Zm*Cwdwtt+v_I zS?g?;kgTe6Di{&O@_t)_6n^p!1%7DQ*&j6#e zGbn;GY>cGH(bF(#4M7Hjv)Moy{*j=1!yoL1uj4;3t>}kR^b=s4M~_k3(a(l5Y)ql3 z(bEvS<%oWCHXE7EhRX!z2)VhUn}^POmK-f+fbX9aWxM-r^C4-C&-T_{k(;~iDDq2* zk#6$#aC}bPZ(Bgdin4)M%l)>6;MwD|<$l{ZLgr}DI5HTejm%0Y!^RSHgbWRn))XK! zIh#$Cu&fe7$BC{KofnqLA|rl3JWYe;ct~1PQ(&3q!lIXiV}q}N6MaxABU{t_QCSV1 zJyoGnLa3C3#!$0F5h^rHS_^^7{A@Nio6VNM)CswbqN_*e1!g`Hk+;N2 z4VVT?NvndmM@ z=S8IwS;%5puc2}UB(18HqiDU0itQ-!VksBU5-j28Wx0QHC0SqZkJDA)*;NXsb%fJy z&^S&QrH#`qP=<}`&=F2FOj>oosYZfytB|-&bho4Pf>fiGPJ;&0?;vT_r-0Ppf~1#@ zW8?5Kx`T{2_+xY@cy_(QXd_{C7ib(KjMB#FK`6tx>kTcDf+xwdB}1 z{95`48Q_3Bi9X)CF zWk;VUt+YF_5jPcIZ_-zY1K`zuA)AIYJ(0fD9&#upQz8-m&Enq(3wrM&#{#4Of<>F= zTeauo_)}&_LK{Ygp(8M8n6zF882`>@d$ZXq+3e+P_K$4#qQqkYB&;{Ht@|B3EW+d8 z8XkK!JYLc8c-h6{AMVE&L!sffrwWwGaBaWY0u(_}pu9n#6hoAQf>HXQEQB_UOh-qc z&@gFz1W-Q6X76RQceB~PZ1$E!}i? z@Su7TPqTeY=`4Z^o(@L;B^}QrkbH_yfHG{XrYz9YFlqgWYz+LNqB#2{oBbqHsUgvk zo$#jgE;u4YMuRCMBd+!v^o$}PZ=-L2IIe?no&-i| zC$Wh#>Hg?9klK7 zS?-y%jjMyUHORpSt+z7Ifj_%@JoRuD6jhns2!(SY%2B{5Z4|DAGHhIgj!>Xs(#in} z*>RQ`XFcPrhlJoN@BolDhuLoa`W$A8^!Xh26zTIx>>=`ZCoz}8-wm@oe2mf#{|+d_ z#`P37dK%)6AK_bZ)<4er#+eysc`}3FleANeo7XJ_}{=shibWS)V z4yJ*r(T}9)pMX^!Jw|Cq{{oa@V-H1*o`!fp8qtrBv$1hDT89227~aswyP@kfG}brr z(W#M7pveCYqdanq(vJKsD8t4p6ft@lCaoEWd|I59#948iO_IUC4W9P^nC2gRi5t9K ztd-5A)bM9g`1@d%hmTR(;qQksY`jllqo-lgT8!`)#o59*n;&O$<7~Ff;7hQrrE%*f z{nBHRn}od(5z@^Otzz><7W^64x$Y`9TO<*1>ET_)4#J z6;No3vxYd^7-zK-g3;gsAZ-$x-2C-PY!K=5N!+MSVy(#Eoy08^{ur3$;bW9`_$5$= zjUy>+^fXLb%?SVGIQw;+ohW0U3WjxB%9X^)Zus`E5u2R86Gi+qef+AO4lgIafVrb} z-VooysLR}$aA}{`Vg?08&ETm7!7PY!2rx<;f+bLfjrr&Z0vaZ*oq%9RoSiQ7UkWO4 z5py?`E(LeE$?J1>x;uB`!gUt~xD4t%K#bB3umZ}kv62EqPs5~j0RlWP&d!Omvt*2w zU|1KW9Af9WVcO?tb9C1K$sAR|rF~J0IT92#M;8(V>mkY^z$k49HbEISYS9q{G)!8T z0fI~8>|&Y!W>A5PHbAT0qSZpe4js1*MMi=tAM(PfVvhm4irXd19bV|s5}m3*s#$NDl|-5e*r4b#M#qv_M`;n2_g4q(LIUI3(PYbFwbkiJOxSX zuPL?jygx9G4GzrHTIoFL1JcuE_j!Mi_JC*qRe|&zf%FV$93+g=2I(^>!^VHm5lA#l zT3-RA{c-kroP8Q+A4{A*7ouN?Za+FNPWzDyoyTbbI;i3FB_yo_aqmUwK^G_6QRK(i z=K^dF)TbIyANv6H6&XJ057gJ-*#{I*UlULVK;uARlr~TX-c|}5Kfne7MZ=_Z2tfTD zXFtZ-_Y$R;kjoHVD|B9zeijMx!_3HWm+97!w4ym)l#CqTO(Vw!2kA!*r0;z|YD0F7 z9N!hYEqHb`N3PhB93<8bG!7C*X@f+sbcKyfbOaI&lUA3U>8w)@>yX3R<*+t6&IVH- zA=+1T{m^-F>XhSFQ+Exg{*bh~<#?}#ySq5qjv}w74lsg^DGpS-9KJEdcV^mvo_cC4 zAj94LfwI7}yD6Z$5>Nv`<3M4QHc+FW3>$;d5l}QtTDbr!p2MVDK`H{z&Ql=uCXkKGHgsnM!<(5l}Qt zTH^uK*c>)GhmDjd9Vg^UMRzwSxs{_oVJpJv)?)=$GiVO*M-Y=^m$QD6PR1BF(Z!^(45Sq>}BVXGu=Hw)=oM0YDX zFK(4ut*zH^yA6_7RgU*-v-K`uwxh_4tXwOyGOfr;wa=@33hs7tvfdxJ-+^aWDcsf( zZg+sjalR0{|F~cZr%>D^w z*!UYd!izouE&UJCntH!b6f#FlqKi40I&%m?KQ81iMFnkUghXJFs zVfX>cu<r%jQaSppkBJraT`bl&@qw^whu~re6Ye@V8N$av4?^fC6E)uq* z$SdL^pNcp{1}^u90`F0Z*q13NeoIh9LE}(hlr|I{p$r?X(Ge6hOj_3firo^2PC}xy z=(?cu;;>t*i0d^Rx28YZoW0mDN%%+6sC;CbiZ1vg~-d2J4!bK!R9;8~aGGY2H6|7PVMl-X7A$TPzz?aY1$W!SiZ zGD1&7{6-9!?ag7Y!zj8#492Je%^iA{VZnUHH!C6nBwtblyUX|>Ju!qP6+cU#i2!BH`UJ^HLr!C$e7 zz&H-}mR}xafM>VOm0OW*auH=K&^Rg>rHx8=D8mN*6+%LVhDqxPpwc~;bglS#%h{gKH6&+es= z=}E|BgT|4;C~ag0Kp8enbc75I@tZdw(>s^tNLUJmP(pMA(RpF%EwbSC(pQ6J5G1WW zDX{c)VbNE5#|E#L93NB$ldZn~s4(#CJ_;3+P#FRmM+Kv_QJDy3*cgqDP@!Sc8VXcc zE*q4~61i-E#AcEZoh-UybY5&2a*-u7Lc?YnDL7jl!*g-c5hueV>9S;m3z6;U^U4|I z;$kOq-5u-!E?rg8Om1Inc8u_cZ5BlA;R?241lw%TIBXcD4cjvE8EsyGj$or<(wYF+ zigMYwTsB5xwp_@q5Zy88yqFb||1 z<^^Pv{2^Nn5qqM7>?ne)95fCYMrlK~k$gs**P$cGXqdF-0X&WqAAkqED? zl^ROBAZZ<&g3?MCCB3K|8@#BNXdoqhKsuA`uJi}#Eb#1O6-dVrNN0n_LBc24WA#U3)_cH`&E3FKY|Z?$?ZG6;r?{E;HhAgb}HwKRQM}PV2g(M(Ew8Upf`K3 zH+xs+aRKGA&&gvdG@;>5o5i^JWQxWsdZKsC6U-%%Ua;;1S zqqI|TUf^-FlL`%!)=x;~hu-YF-s~Hh$M3;FilT%#^gpY zSAg(R!6@x`AA>S%JV0@xr(x1+lQ*5U%44xS7R_UaWXO+$XYJLYZ z>JJ?z^lkIt{t39?sbG|LDu07AY&=aVpr;|eGe;_&@>qvF)-KOEdS3toDQeJna`Vuk z?;z6P(6_^9`9pAipV^h-eG#U3ycne&@9R*84SLfE#Y@Aam4$eF<*_63Sa%uk8(?^k z(q3-7_7MViegf+52Hf(;r7d1^n@t(K3FABijMC2FBPhcLy?cZ*pkdO=Lk78dEH14{`sJ}cGJ)?X0nedY z;3i=A)9~+;RtANX0llJxXMj=K8MMZ44`JgFMUI|^NsA$aL3u18!^f*YQ^FtQhOgtF zNGtjw6g|DLgh!82+R@XyLSUmaMU9@nI>Z`-=tt$T5qWHwOdyjI@EotB+yv|q8veu5 z%3v&IkR>y~DD4dBeIc-s>tsMfT(cvCqC7TEhTk7lZ}>%S_&WaM(u)2lioO80IsO=> z9sO`9!$yLlMo+_}H4V|1!~LX(Lkt zW!RX2j*y`tUM~S;=I61w5|*h#XqxDzqw~TtUu3j1^0;XwHCSdq(pr=POVWi!FA2v6 zKLgG6L1iY{O8TQR3p{&~Lgi>eg`fjJS0$a*t%~Tmm{;u2N`<3h;@oT zGG~EjpRABMiI6!PG>!~LX(L1LAAt?;>qyQ3GTZamHVMmrdmYJkkrA(#Gc{QF>qvH` zz;dPwi(W5|4UWn-A5^X+RL=BAg};1cmqKMHp`uGM2+$vC!FCU>{(z*z!T#(1k zlc;Df9)Ul4tBAK)EDoGzCj{kOM|T&|VQ)f!0r?IXKW zK)TumNiQA8#^GbcUp{iRKSuoJBfAwwR}n_)R1TT3@-wRF1%(~GcX-IlT<-|oU>JBqxPZb-M5_}fix_s5A|PGaAtaJrRn zqL-5JTEZx8oZf;mY`lt&YKeyUWe{+>OM>*akk}`>chGr3x=X92`!tZ=g`{442&1$y`Wnix@hLjOh=zFV0~kG&$7~7H z0U>lybl;%!!t{_Mhet`|biH3NT1UNk@L24x=T8pj?Ixk31YPIyN22xu{TF<0_^sEb# zUQ3RR!>^@wWc*owjM{@|Kcg_(Ll|`cjbnsS+89|-hK=6n2qPLMt$o1gtvvQd9(yg1 zy(+;P0G_qi*`^Yk%x=c^8%{m(O=br+zR8Twa+5ji$)R^Bm4R@B@OAuq zr4@Y+MgJSv=Fwx6cJ$Xl88$AbsL|6fY4t<&eezj;KI<(Lpm!31e}m|5MCUzA_7O9{ z_uH&|cfai>NLmH?-rBR=+-*mZA3FJN@^){0PTg<2nT%Qaz^mnc+b!VP1^IHntv?}i zD`*@UjM7HtJ}AQme+d(M8sg=}KxS}08z^D9UkLp{bo9C-FD!#aM*MzwxCYA~A!!Xu zfn~T0i(V3r4ZZ>n^g+cYTf_ZPc@R8%m_lVJq4E%D92JbxMr99_VdGJBR4+8d?lMp* z%4g&9*%%4TGeYiJ(ftLT7nmX>B5#Q&X}~-ONo!)h_gINzA6P*{9 zX(A(DFS9jR=tWM}tQ1&gyRhi>;@IG*l=z^+U;H%N9~F9glRZnJGLukw2Q-cfMrot+ z1(adqLv(}+4U<+9s2rWo7D!Z_*FMqvoFMZRIxi|mBMVt9OEpx!hNQJ5XkhG3V0jbmlNiQA8#^Gbsij0@~W7HZv`#6QsD#A#;SPG-G zG3pM3u+ae>VMN2EwGJ4q$!8T3rXE7*2+{RK=Y?sFR!b*nF!h3@wLawtJHds?b`*In zRis->nPmM0f1I+wv)3z}stBiS(0DCjlr~NUP=<|sbc7QPlh#JyR4YNUgv0>R6{7Qk zRIAleqXtp}l2$_sNR2K?dM!CN4!@QLlJQ1=jOaC5c7wvGo-i5=8pjBuv@zNMW!NZ3 zM;OsCY1zQ&fqZs*3XYC_nYBnS!ETqVynP(Ew471x9IOaVnHygWhvQ zSkN$OJqawH$Y+n`vq$pTpCk~clc@8+rtN?+hroEk1w$`_#{?GqT=a;*f&j7qB)}j< z#7{q-qAYg6I?n>5w6mah^1#L=6g_$xCao8c#q;^>xqS9)KHDR+pjY%*e@~gt=UZgJ zfBEs8Hk;47v$^NL&SvUs%Wi;E`|mAgQ&7}wzDPLS2vLp$Mrq?fZ`y&4+t3jXG)!8r z0f$%f*}wAHKl9m35{EyKsNZb9>SAI43z_2N%h$bs3NUCo#cz`MWWFS@a3}M1O5%?& z&Xd3>?IfO}$nZNJbd&@Qlh%Kb#5?)y?R@s8%z)mGiX8a%&c|*=ekhU%SYNzvvV0T%>;o-oQBYJZeoZL61yPOyMrot)1(adqeRPBZ z4e>XpfWnXY?E8H7Z9Y3FA)q%70U)uy@+IX*H-CK!zZdEACFNUfNjWI;cdPIh3ZGt2 z#KXrZ?eN><_pGoHK}X@!Fln_nr?a*uYi+U&lNlz9n9d$c2e7SghpH)FgH=5qVdLauhI18-+Y5!$wbZgaQqd zR!^YN!(`n|*2QFd${@Qlh{q9&nK~qNS`kyokafbB=(~4O_=53W0ZFI z!=MZs^a3CXpN2`RKf>>8GSg&vCd)Nh++b{y7L%!KW2%P4(qra4cE5SVoC)?O=$sPLN5*Cm|&DPCexq{8%LreOlX+2h69tK zCSxWWWU_?G21r1rgAK&QtR78h40X}aXO#&s_^b}nW;LOG9w6XwXLtl=MK#%d}YJLS;%< z`Vr5YR|79dQ!imoflGTbDnvgdCGfc%h_`>k#lqoA-Dsk908=z2xx~I_*jpI z5Rho-7XZQe8k=m_e?NM`MVX`Xo#NFwnw&UCMU)_ILc*WbY(}hm5W~nk$Gn|<+OT^iL-r*Ia`*<(j+YrwzuQN@e zM@~~2QJ^hnI0ZC+!>@to0-Ol}EVfTq>K1Jhx zpm8};qjMqcUb&dwgs;{{)8CQ#oCa9$fUtGd2i7J3EIOSmcB(h6@#Mt3Oez2GO3C(f zL%vl_Pw`uai}60m<=pz5hvQXhEFr3(3}oY9b#`8nr0FW{c3Ppp|NE) zq{G7K7t#ER#tmtOD2zXRzD|L}H_ed22yB78RD1ZX$KZ!M53W@0HeD!woYSfHMYhkl_^ZyizW+=o77z>$zDzy z6;j!-)bG{Y?_)MPh)ioBUq|Z%Zq8_}au}`g;H8n{jozT*(3$s2Q1=k19Q5(U1SvGA z?idUod1wd}iH5!jpdQxPLmGR)rqn~&^%PAnG;T@{ivsz2dQ73z8+orKC z8hgs-G)|bFDVp(U+?<|8E%s`9LE&V;Qh#1^zoB};;bd9^`D)rGU~^Dg6i`ojfSN## zU+@Ms5jyjE32HlmnuI%&!WWBMO^6VRD|N-}>C z854b+45ZLxXbUCy;9EnXcG7XQ^@4B5pm=dqbGMDVn#?xZ$*kJBL~< z?%Y+r4NE;e?!K9h#hoXC)kGpI6dKa+ z7z`h@B@{s-(a`$@!&?ANa_8&xzWy2X1?Usm$=b3Q=A*5(A-*JFnrWU zL)=Kj?|FjT;5Zu;X9MEwR2y1LVVWu$+Um&-ZLp}9udfjbG}`+~AD#ehgab`oUzQKf zY>>iffb#lO4`#Hnls>|n8SOS@4wuY^5i{CXiZg>0nwhm-Qx1F(GZGE`OfV~mvoSU; z+RO<`+NlW*ZL;L1Re&n&B{o5!MO!ZEM%?{GZGuC~vg~rlN^+KqZkjJIa8vT zK`0FLaTJh3qnLuh@WHpJLQA5dmjlHdn*-l$Dq2%03@^h)pAX@4nmuB^R+YM+KaUOS}FwO@|G@Il)*(J~+rnb&Th6-z5_b< z9ISRyHg7|2bb_WixW&Qk%)!l0r^g&5{z}JMs%#x1^2#8Eu51$q!^izp5n2-QYm2CC zL!8|eXY1^;Hba4mm6_P!l%>wZT@HP7o%34E#74^ZQMlsyLJFPlD;NwP+bK`9B;wZx zk?%us_CTE7Z|A#9*u5&6*U-4n2M-}N`%1Z4IUl?ZOMO$^z34VOrJB}2eqMaQsn5LM zc`dJ+Z;-Ri-sg!op))th^TZ=W<}LJbGLS-(`51%Y<2^J)hD7`&F_3vO&YrNbd?JiK z70n(rZY)oVD){ZzHU-OGSn697uxxX%s4Kwo!H>l!Jg9s|zP5Q&`5ZcPtE94psC)Olu%tFE2PW%MUr`$$oz^vP6kqFGW8m9GDqQq$dG90 z?|{r(arTCdrM@s~Aex3~+*sZcRq*w)Tfx$l23XId-izaeB2FCB=@h>!SIs^JPiI)_U&h_niG2zedmvpWKD8LrS57|`Z&~PS{h`zCaitL7 zCc@R4J_zeV;r4msW6+sjN_<}szOLxw_#lPG*B^u7qX!zoN1~zs1bjcn+4phwtr})qv9=FF_q~Je+v7(!n4%r@MmGdH z^MFM6Goc%bK8_AjXmkb!!^bEzgpNc*kLCi%li z6zI(49Q(;uQVt3~AAKAmq|gv&VK975MMDrtH1y_x*ffVV&S4F6tml6h3cJ~&nS;hn zuxSpRl_v62TdG2^9F}^^1cIp!L3RDvK4|?l&XHdPY-qVg_wfO&qL``P0IQ)hTS|Z} z2;e;Qae$D*0L;hWyn<*4fXg%V<$!i&4qKALYIE2X7Pk}3D|sP3shUW3{tXy%BJ8^m zy~rSXf3N~wY(jD#sZPRsl^pX56ugff0oOK-Xt5Yy7v@!zbH9~2_;O9^mSwdEn?`C% zaeWv~j@oh)y<6&*Mc7TQ=0fT}gDb2E6H@Y4=1fQ~h;}oV!1?!<^Xz{A$T4eqf>xe6 z`8Vd|{R5eFN0L4G6h9D&L@nLDkj}{>3SX_*Gc+iKKDp)HbEB6ZA6lYja$| zWF^<~N>=@kmDI~yl`|owAllo|uTMz6gU#xC9^od>2swVNa%@)h@^0c0@>PNb(SDet z8$sq|PUT;9s5p4Ul=C-u^7Uxz+nZ^ftajec#DM4aa4u2HCtRHF_3&K&b*uN8PFr+SYk)xTJQYXLOx z9=-y{82b7g^EPD_%7w9>2e|it4sb6IFxJrT&M|Kht6J197slN@!bZ;sf3Yxl2^)EY zaeM`2M-z_=X9b9`dc*Mm9fd=E)ssZ)%>I*$=Pr=S|6O^dS1#|1?VR2*&diAstVOc7}Zj=0%uSG*xH_ zCW(gLvePiuyc28M$%456y=K!+@=K%^%qE=#%moCqc_$mDFhrVL6qu=<;QeCw;h91T zlW9^aj^cvoaAY_F-!;s`cMbDIYNO2a^On^i94xkuu3;vSQ_n{O1U!^rMz#I@;*w@r{{IyH%%yJe^YC)EUW@MMAG}Jfi-s_ zb;UM5wmPA9Jje=+8v6)uQ zHMQu~%ks>bUUm1Nd89WeOJHTr%0n&uu*k_T&m)&BsJjd!#cbEqK&F4WOKVp)?Y4AK zD{nx|kemAg=Y%a|ccY|00 zTlf-Kk6r}7OEhAk}smw}kDo+6_3^ zYCnz(e_iO@LT8kQDV-ycZgl4_Goxz}W_4*^-V#F1uR2bBHUF&R(z?&hztSVwwYIgr zNIQ6%5eE9F)N~~Ur%M%;Mz^pDrPa-&E~>Q{M*pPSo+Ym}c_<|RDpEfO8DI7l=lP8|&$~!3s@c`-}XR%_RKYqGe;-ViAy8ZuCTUQ{o^yMcYJ0k$7hy&d}c|ixih;&d$zCd@ot)&7eCypZevheE!_VEFh74HZJ7p-;`l7OQq4-=NF9 z0fmT*Je`{N;`7+N9&}en@xOH&G=#xRIk?e)!CTzmJGX(jfa2CmdidULAa1pAg@eKS z+`|uU15M;`o#SD@+dy2&U6g)uTLetN&u&W(;)mQ8HLjDR{!wR~&_3pQA5JiIT?#3^ zh4v};*91$~)k0p1h1cH_Y}Z1jfBdT9D*AWyDs#uL-rkn<2FS9++nS?V{~PHTk#B1t zId2xmBu7tammP^ln?;)?HAp(OU132*b!mB7l~G+@Su~?0fFIu^gSqJ+mT5HlYr9C{pvoDeORK6Q*#9{>rC}r*sj0v(E<~e;p&MOZTr?Yjq^eO% zQXPb9Sb61~B6U_bgp!??1eUkw9 zjiB=>tN~O$h1G+~zp%D4a_fM|ss8R;1iFt)_gMk%GokY-Eao3MEiiJPjI0Ml?&$A6 zC(wNl>Heeu_Y69p!cO#y%-37Kbl*F`ea}E2gQSns0(_hTollDW1Kkgo?uP`pKRwXL zIO$_dfR8hv^GR`Jp!-SEy%FI4%s?N7(#K@~G|u&N5sjV=mCxZ9O}YTe@g-IBW>-g+ zMk7&dfE$feN0W-st(@JWIJ?Eg*$tcXI?i@l>R35t4yjCw81d@x)Ml@Ep$Q2An538e>y z8`15H;dYtOE&fq&4vMn+mtlQ8os=!u}HTfL)h3yS)JjQXD-*E_sj?+kMNrgZ%p%zO&k6%_R?@2GDF zMg2fV-5uomLvPm~1-U*fT_13px$gabg3hPdAEEMGj?w7%Q288{IN=_Zk^cyY{F}e~ zUjp4XO1Ez<>!-U8bXQ?1(D@XW1eH%=5vcqNOO=tE2Sje_@4j)M`o=zI!m z?H8HfB5Bfn`vCVDfj;u24?Vy~N9cS~%n5XVl62oC!2Jn5p#TE6!k<&_MsFrv*hF;vIEpP}DPJ)Uh!0nT^p<`5XzOpz_5q9!d`k z2D*JQOqL0q;~({`pr}*4qn;lWb*7A30y7^B#ZY--pbKxQchp%yQRm92WkIehyTxnoIk_(kJKyAFmm`ajA+tpP$n+&nhsFn68Diz`oFMJ z*1Rj}-O%|Y{Vr5KNxu!%n4$&V8NUf-P(`mxy+=hKL+Mx1H?pFAu=1q37bk7{6$y%FxXN zLN|rZXQCT>WhI`VHH0b%N`0wUGP74_D=7WuGE*j<4lBR8YzJK(ULvzLGI9d18gbmT zmijuGVY>2Ucs(F|N9cT*DxF78AevowU&2@m(dvTp8!;cRLKMpz{u4AF{;W}DI_RegS z)Yr)@nluSYzoX;=ne-G``7MU?p!3P>92wa=v$LeWPG&et=E(4~0>aOP&WG7_sC+V; zCL?=iHdX5DWEM>-gVK-L0-5wYSotxlg3c$ixiYeMX5~^}Co?d+LWW-$5dKo=e3)GV zm1kyjr?&`7zrvTx$V&qvFZOqj>{m)3*9G{v20EYYukv>vO}Y_EzwB?7k#7!&yvpA_ zvR^NKtc9IVhHLy>M5DJuC9ZaLW;U917nF&~BTGNFfH=9AC^P_WFMivu#N{V?;HydR+Q!So$eL6i55)O#d+5K51P524#P;Yfyk4|)V< zK3V-Cqk3cfP3k?eie`9bm4t5JtXj&fn!(HmV-u)+5^e-l5XJ^l?~!mSlpYvcq1!j% z_A=oZ%zUy+lTp1fwv~F1tg@i=$SND%zF9Gu)d?{3!PprppM-U&f-rWJdXI#=Lg|t4 zN$B=XxW7!eFU)+h>Mf&sW9%vQ9$B3XrAJn$pxZaAQ8KIHF!RAU6e^#D2SXKvagfw| zBzy*x9tn>|w{OCeWWp0*Rwpa*=5f4?nt%~+9>+hd7h*Lb_WHpulq zrR!BN^C{@Yps2TaN4+&D>YXy`njqKfyj`yka=lf$e#&j;diG{Q=Tq$CPb++4pv>$i*eNFk*IN1! zI-ktGhstLyeJdk-XZE$!du8^g%==Jz>&0qYZAM*DeO*#Ul$BFSMx)lcQw_6P| z?Hk~fOy8Q5pz=9>qDc**^oZIB-M&%V$f&Jg<}(Q`q4Jr8=1}=2)D}vQgxaCoHz7?X z)ZRa8Mo`qachsDqsNG~#1~VTFCqm_eArGpc%V@6D*IA3vr0!69VCsQxUreXUg!{wH zC#!rJ)%ytPBlR9xod%^xRs+!Oo7EVZ)hL+xU>pIJPr}2X3c@%<>OB%33#CWG1?cuo z_*|LrSupd-YNCwljnR;LkF3sv(j%+M==RNOZ+rVx@JV}@nd_|i5p+I?KY*%EF@yLi z?R}_xK6l1LsBdKCeF2fb@OS@Np!-A8{m%jJ_e1AX*bn}ZzYC0fL`MESAo8#N?hgmL zZoljw{{37#P zvTW%-Gr)Z;&_`$Kqf>y74$%3e7!P#cRk}YhzrThK? z?(+kE43jF;&qXvk04kql6ipfqrN>Ed1iF1sf@jKv#`;Gc9TauEcT^)N>NFX( z2xdOBQ3#dK!8!#hUkoKsdSIB2ZeI-LGNIZ2QD+53t?-UIHz?|5GU_ET^TDtHDjy8< zq4LGB5K0dWm!sPk!!nuB691^RK~a}`M_myV^&c|o4KVY;a2-^h80cZeD(|Q_1w~yg zquv_idX2a1JAzzql&&|x%%`Bcf}-B%9rga8sE^2~4+Xj2z$f(oz0&n3ZZr42A9Oy&egKu{a*Rgbhsx)uqX|U}!B7B|CkDFkPV|mC zDJbd`8TH&C*XMh?E(~&ADqT;9nNLB}f}+myj(TBG)Jhq(JjivGx9jR4*H22x7Rcy#b{km=9%U@59Ou%zM!J z%;q~#`7nD6sydH|#cYAe7c%nRfXJWvyZ<=Q{Q>EIe}MZRpz|s0JO9Yv$jIKa@s-qj z%*H_|{bu8+O!^O4`OU^}(D@+$MMn0{?2y#g$qZA{M6+*b8fyOG>qFs1>vraO6PC$4KIv-|PQ2At* z36<{$_%SGhfTl@(owTD#I+T7ud&r7Tf|Vao2AxmZCqm_$b{>>LY3E9PowPxFfXwX_ z*!ktwA3C4h@}ct0t&fcDy%Ks!y;p7{WNt%Y=a<`H=zLbfAgDakrrVm4Q2Nc-I2n0N zK;$$0-Gl5o(#NC#9}}SS$$q@Q`)Ja+Q2J$GBqN_65P7n{dt_fGeOwseqZB%y>}UA7 zk48(N3RE`7M}g=sZ_NG+HSmd#~3Dsjrh6m@SgwFNd8E zm&^R4|J~nvG^rNK#Jcglg!BGH0fR_Juq!Vw=bs6GU10|=9AS!GOG8|ctGksvU(IskE|X;w{KS4 zWmeC^%m?E(sC*LM0#y*kr=;E^;pd_BNcaVG`zHK`O!!rp`DFEqjOvZ?C8_tw>P;v; zvU&^MzFF;&S$zyMAB-PD<&*G#p$fvdTk1U$-V3Ei!k?krH{l;-!r#KoC#$bzRBw#? zq~0T|AEETfYCpPtv-(43^()MLvN|lIdS`V|>OHdh6H1S)j-cB&t28{}qP@tX(Kd14 z$!!glPr|8C1x;=XsrN`Y9ZHXcW9arxxRXpc2WCE5X)>xe#w@A#$V!LOBdc6=`)1Ww zX4MO3KF3H8sC*Lc29@tUU{@%E7HQXUSaN6I76?VIv=nQ{Tld?sKFRG!t)-K^mqbwW_o^JLVsgIrJcc0DD?^$h8H z8q9nOni>>!rgzlRpr{ox>YO0gbG=HZQ0#XV0Zy4 zpT)TyDxbv}O?m}N4-C7|?Tg`Enb2GQQQruP`kr^x-9b^mkWu%-%m>4#Q2Ai^7^!prhVx4#q_gG_(z!eWc9s_>V2p1t<-yDbpT3_tPY~vH>;!^`-bZn z%zQ8&fyyW0KcEW2_?y&wB%GY%nQ#iaeG_gW6K)DKpR5`~6_iy&srSgLC6pc*Q_=04 z)e2;VooAD7$jQR}YjW~R(I(w!wf~?tDLG}8kW+5rE#2o{3AaZ1yvpJdqx2HK-L7>3 z65CxYk!mH=Ik=SIDg)J!lB(*`vLf2C*K_z4ZX3nN41PIkmfQ?!Uj?h73o0rL=NHXZ zHn(h+0(D9>ew@I~9fuL{;RDVU` zX19&vL#1#htb8a$lh+3+@AgxIL8}h-0oI~}*BvT;ldl;RqIe}U`KvjnNe3sxZb-@O z(mAEoC6$V)_%)k;E?K}g!?x0;xrrv#H-EN&-)8P8-pp zNq-kaip!^!D93a(X(8{gs8$OXo-RlHnUO`bxh?sqh$da)M~EmjO97|r<%D13mp!a* zgq2u*H%O1xX^t~bs^2uy82e+TU?DUa-=@t!E1%tXf0M>%+}C@@m#y#F+8_!2XY`*u zuCjbaWzn2DSmTq&4H-6hRz=B-s>*)F`~^e1pii&K<4b0j6jhb*zOEJ1rbZ6@jGZPM zw5eaC-KZ_ruG5ZapT>`A@5HZ&e-(c?{&}4Lm67DsR;{&ohl=WXwM|zxUE6eh)BR0< zYI?9~jdq1ri(yN&E45|Xatyy-y8(_?X*X&A)Na#m*H&wHXlu1QwRPHh?QU&@cCU87 z_Al*0?O|=R_Nex__N4Z-wnf{fJ)=FV{YTrby`b&Tc4{waFKfHBSGCu*x3sslceVGl z_q7kTPqa_9z1nBm7ur|aH`;#fp!N&WJ*pkku0X1f#2<@48GkDNbo`n4^YItsFU8-C zzZHKc{%(AC{QdaH@lWG>;(JlhSMhsuUds8Q!_)c}eZT&b{ z(<5zb%3DPuEd~~s&#CBII&JpMl<2Wzkw|i6;PjHB>aN|oU5}$p^mLt8SyEg*zl6>K zQT$JiE~J;Pe_e}9XLp=FgZI%=NRIyK(v!e#X3XaO$@rNZZLV=a`N3^U%XkkhwdClO zG)2u{a+{I`{B=EUbJjLbo2rX>cYSVi)sVV=u z_wL=dd#`?dyY*2z@v?ijZhiWouWx>z{O(+JLE}i|*s*A2+S11PuTRcDx~b{i@83V> zU$?#cSdMNy*RN+Z(zU-;Qv(M)IqqrB&OE5r2uL{Cp-G13-=}14UDuL zsDdZE``bn$x6v#q|D>G-pH$>(Sh`|_m(tFf0MgEVDiRs)XJ<_U*`0M>B=W@D^vd}s z{aF)1n)=ACMK^aLWCx^-)@$kPlFI%$gXP&q8-|`Lt@DEXK6#VJlonT(SCvn%)+Uu! z%`2L%8P)Tqm6lKL(XD&m$%D)1%$ZkKT7B{4NrNX(C@-H~HF=DIm)(1H?cTdJrK;b=b zz_xBtGka$A9xR@;NzHI>NIQYf5NS2__?aT@L@sp^eGPeEtA6c@`%i{Dx+ZATm07x| zv}{`WMOE5`rPWoFyLX#hT2?%J-n0_D?Aons_rBeG_UhVg^1R~8>dD3BIQvvq7gkkc z77L5Z%chsk=sGjfGP-HN=!1Xu@AKBGulMXIjuyY#D*yj3*hM@V4|7SYo1c4bZfxS~ zcg}k3)4cQgwCel+9>($h$9v76{$%@y<9<40_2Ykbxou3V{G9(YVslF76jxkaSjEe@ z`{wE6H>Z66(U$f4v0MMKY<;Vj{_g^T7TwhHIB7k0Uo@p<)0A`O-ahef%f}e4`uxAg zQQY5qdgSwWKF>P&=Xc(G z?O*?SIMP&Welq@;Na1Yy6DQUpt3Wl?(+kVRpIO08bUl2PC{oh~=jX+Eu^^Iyzp{q= zuhZHkH6NHbxT?6Q%zNw-a`H|j5;@TtKN#bG$N2fvFS0_?jd8scvP(m-rSt;Vg~+6K zJ6onCo!l<^LAz-4X4wDQ8BtZ}9&;s)c>pKSnv*cl9`_~2X|8b<3FGjQbfl&;E_XEz zG1wmW6UH49<3wHVV9ROH&F%1GJT7#6(7<-l@6w{p8)Dx~Bq;_Z=7>+mBQ>pX!KgX0 zNhFd^wOPY<(Xgtrx;Rb*j;mUT2tI&C|@qz=u-t zcYAiWtWN_U#lV)>a%p~*9j;hmLIJO#aRYJstNAD1^>kDMc6N<(pwK9Mejll+*9AXb z!6l;&Mnzl3qRo3?h!V>g(;Z{*;eMp%H5xO$O(gO+5Q%oimdQl zbF!V@29!11HBOys8g~PYd$}8a;IH(^anE5~4Ifu*^Kf$PieW2h*!4Z|1G{_Euw)zm z4enuTJQ{c-4eZqmKR#CmQoJqLQULf9msVd4`Uef_Hwr&a?BuMG%^A_=Z>WP*CNyjn z4cl@CexzWbWLQg!hVA3S%IXB`k5M<#sNrMq<0FiU(L`fG(x?NjQED_AcQcLC#^T3C zSY4UQxIOr_*ZI@y9Myv{=$|yG-P!o@04Cf%(w=J{ZGKQ4q{gCQx6rVa=itXu<_z0~ zVGZyb7&4X$pN8E^! z+iBD<<@m9vuQOvb%ET8oaa7l#F$%F()2NEe@Z-!=or8KwcC`6+b(B0Wo`W%Kcz(Dm zuBm^Tb+nim@LG06MseBSLH4I#jvq^4-^n_cQj8CHj5>);LXfpIXjBb;WDih+{H%^p z5l}IA(wNt;z>i-s#y%ofB2Z&|q&~mO3Z%{v4Z|06A~maO@uSNiXV`-n){zgh$*JMS zVcdEeckUAWxZrf>ymlwX4d>&E>l9{S)Lk^H@iP3FHN-iNiN@KkQEHYn?rs|Q;Bx%v zJk%LSSzh2CC)rQNs0}pg;T8C?4x^gyY?%~2TZ=ZI<0?!&@e+`GXwdkp@Z(Dnil6Bz z#jEhJdVW>nqMeE{_!d&6=G3+Lad@1w{1(Nd&F@ggs0eA)MjG|(o%r$Ena=rwM%^37 zYO=0hvZ4|UxsQh2whli=j*moAaUP7`0sB)sN9bWkA^zssG~A|^OrKs_Tv}3AUB&Mo zA}}wz0_r2ujvB&Y_ee$z1GNNU)UL=x~*Eza9FZyO)^qstDlgOCV!a}-t z<~KJbg%#zvuPLdl!hjYiq)BANU+9OlD=aO?gFp;u%?GUNREFE}>UouAh1JNqN#vSN zql`gg#*M}_X-y(G32A)6Ss0>-;glwC-RI0HFLTaRRiN59g$fz~-}h^u(+5D19dg_Wh9{_3+NlC53<9f=oLzBo|!dlD> zy^E->ET4_Hk+ALq>y##)BDl*en_W_dZQvU>q^vGNs0VncVeN*EqzXBNl-)Q7CL}qX zuM?Rh)$<@9d2OdrgA0ZZ!!k*E4)-Vt!{m)eg&dlVp$}nb$`YJs63xZoENzFu_TOZi zXDvN?t5jG%uexGhb>XzqIVELP^k)LGZiup2H%qW?nnd<>;_Uc)zQQ>(h{C6E)+BPU z(=5(%PDN!&RaGH9g2a^+fSN?^69nfJRbGfyNvoXG>reE~PK^}8Ss6WW7Vu`m-NVSO zN#uw=Ykn!ce=Dl2EV|fo`3%%4xA+s0H4=|UxSu;ajXHDUps^DQC!9VSN&N~%lgMeQ zJS)wChziD@x=y1;OdK}MD(@)oTT{2@lt(?N$s1EY%PG}POR#e2_;L~~$OX(}F+h8AY6?m57 z#xW8&Ql9fYGsvXqIC>08MI-pzmd7!5*5%G`?z&->mX_fIw9;vX6-9U=Q9|d}GMp6g zNy(xHjU)J1GYc^v=O79@k19NU;;_Oo1w#l#BMxG0s(muWlB=l)7Zlv z3GVj#P7_CtosiGZmzxD6aSoe1uc)jVXRJy%K9et)FXe(E@HjusE2gNQ!&j5Y4ct$6 z+@Qr%9`sMaIkiv3s_t7poSi=7Z%l$Y^@4v2*4>|>oq<;->9@pcM>s-pQN({PpN=TmW1 zHR1YCJB=zFGI&Dan4uF!6bwQ9RXn5HI*mGgbiv>=>^z@FZ^}rT%ObkQ<3e3Hot_rj zr{E0epQic#4sYNSX2p7EE@y?N8(&_Iq`YZYITIiMc@}w$7uhlOqT-oFm2~2bH;J@M zor-6vB}I74pf!n%7ZY2>KQgz@2}QiJW7f4`s(LMWo>#Y43=-6=dmofujBzQueNPpI z&hn;{#a6zs{?TdFkdb4Cjx|OWjEzL*HHqA6krVeNPw{xSSbd1`Bsv;KI-f9V==kx4 zrwkeN&v zKWMBmtYAF7&%GJ?l%E1zIbg}vv)t9!R`Mlt$}2CnCiWd();eqUFma`2?vwpYn!%?0 zvgx|Ls=&bKxZ8<&I4kpW0Ihm)a9Wp{Nxc5+I*lqAJYnbrzPeV6TdHvr#-of>++)&t zyTy46@bmwNe+Ah!DQRnK3bdM|k%FGhrnky$nB1x6-;_!7XIn*D6eRU)R}h_85S@U( z_dU_jPi{ACbU`X!Pb!F>rJvRgfBkuV)BdNx=4}2)#qrAd%g@K>{QQFG6gWKJ&n`U(wn zwh)g=~PD~P1Yg)I5_^y{c_DbD$1Z*%s)jLREx+rISu&^f-8<5Qs{igVlaFR zr99D+Xz0z5Z<93ED2+8pWA)N3^aarAU#jSvI4PTr(j4>+@Y+US53i30eRC>h976C? zAcZdFd<=$n8=y0`ZSUA zU#|K%l`rJ(7PkwlhPPVV<+1AUJZr&C_Tx^*JMZx-1%X8 zqLZ*blFl$!Xpx#s9M?T@UWrazdiuQ4Ftm@`9#p|KaLy}$6uN?cVlaH%K$)W@(a`&% zg5GJYr=9*S=yj*x+eu%=-7{47`IP;w@XfP_6gvA27z`h4C~LGN;>v>TPfKH`q_O^X z0rx=RK2%S03NTMm`1cQ0!62&OUO49!Knh*KqZkYy4^rl6Ni_6fs9;DMJKawIG4#6A zAL691@;^OP_QNUr$Kji24=Hr^&tourY@w{tl4$4!$bL*3J0p#ave}umPA88AK6b%W9O!^v+V-*2)n(a`3w!6PHH~Fo!>w_sWm5y z8CVusuIWW-xW8GgjXnboKZm7$L7My6FLG+P2l7+bxlZxs*?5hsH9u4JKqzwd1vx89 z1F!u}BR%M6PkKr`gmhm*XI_v7OMd@UNM!b*kCTBEn#|7_3?JX3Au=QydMU`vNMj{7 zmIK1*plA-EabuYwDq4n5FZJ09mcy{rFHFEP+rgqP3Cjn+0+o1B`GtJV_NMYHbmoPU z$}FPt8~QjENTI3J!{dASI07F;g+xQY2vp{!v8psS*9JphYJ$FjXy`+BH<)=Sgzgk* zyJkTxX$|D-rApA{WafI1X-v*8@g~y*I`d*lW&x3Diat&TQfM;i z7z`h+&=46C4Sf;F)TFV6HkOz$$`DN^8aI|2Q4wD+OB5{aVW}@pz_P@_qOKRq2dA>o zgGv_pTH;M58#;5bq*6;%H1u&QkU~@Giox)qqai9J8v6C1a%~#BI*qNc!JH)Qx{0Pc z8aJ40QHZ@>ZdAbZfTg}N&3$gY(E(#x1NnNnTF~WWR(O!FRrvfQ7mGKx1A7`K;DkK{EJ)m-T8e4Bu zF@(_s(M&|+rgAr`uougH3YAH))Hf!ab?A7MA7=z9G^2SK3?F4^h!Kf~{xldpnZ};5 zG0hi77l~#88aJjVm9?}@!E`Y!^{okKVMwLuYQ4oVF0B zOVP(UK?=C~Ik_0_kd4>N^r3?Q|fi zYsvC){A=kNa=z1>(Y4T-J0znQh|zWEK`UR`pAK#t|iOI z@vo&v$oWU!j5a}Mekd7zK#Vq{k28W4n$hbR3?Dnt5F-)|{SX)(NMk>xu^-de_cp9I zpwqvz9#ip$%m(~PYN>m=V{o&N1&fIUJ44OIf7g2`uu<9t~yBDr_zK}xa z`y&R!$Cs2RS`rPtVfrvuKb@tdv!rwuNw*#{?}yHfzJ9uVE^elzi(3prpM=-;L*@ux z`=jrP=lfB7LSR4TZRO2vX>RqRG6V->ia2H1w7zsChbTn$8;A)g(cILX`<< z?o^{rKvPi+pMb`q7-s@fDc@wc;`u@foo`E#Z$ruxzDP9mbmZGEowZ44t?hhMp>Qvl zc22%#8zg2w?`-WPT=zaLlK8wcMisPzb6x?Y&=s`DVEAZDnWH7q(6doN`*fCJr=Nvh zclzy}^i|v$p|aN~`)v5;*+UAQ{fQV19~~%bv?SvBII`E%S;usiV;9f`3io=^odV2` z3jdr?735I`498L?{}V!Ge-dSX z3VieIA%)I<6b8e`>6A5E67jSg+4oLoJ=0ltyMQx<-DuH_LF2wk_7*e1pP%$kcb>P6 zg{9sv-M#kuJGGnEKz=LH(<$EUj@OCL+X~28|8(%G`@C%&bY{PF`*~YFkvS86oD8JU zWF})Ud`v_`WJomh(?MonIy=qAGDR4jFPcI$ZY%>uMg0BnPzB2cu+)bnU>WLQQI~|} zgP#FU^Po~hzJ_{JnF^gbL{b?{REp8ZsXz)%r5uCdV+ID3zF3L{TEY^1UACW}+)mzS zd2?C~omnb5%_L51(8oDJ3eD+W42F+&XowSuhF$?qWj3UZ!s0&B+>gc$sZ3cqRSKkk z!BVeGfK=r`QkRb9I)N&u*)4xrZteSr3GQv(l+vbxi_b0pfeXr zPL~mk$!IAtdK-P55v0(Ja`2^m_((%Tj7T)}U10QbI(spl z?MP?Or?daqygERwzm~4wV!dI}=xa$YJ9V2cTC0lQe(kW}(L3Mg)9+n$Cq7nM)WQ4@ zy4TS+t$u3i@l7k`omh_zgVt;G5n?W)ny;mkNYfL^p`XXBp24R_BK(uZSBVAv>L_Oc z=`UC`sM)A|KaPLP>|~6FlWu4T28o9LAz=JBo$XF%@20c2)7hKp>~)*RDX`E#PS+o` zc<99AzY34t3XgXc9&bB5-gI8R9*Bm&J(W-fBDDE&9VntlLivcG41y_#0x3L{aTpCJ z!_W{E5)J)pK-rhhzDQ@ErL#Th>=T>FnNS0nct4v*IQBU>)WhNnL4#kNKNAROiI{to z*PjR;v|hxw*}kE2#v=qT2hv}Z}Wds(=Mfq zOnWw4+&a<%M}(-T3ssa9lg}H}iX!N)rBBB3h~#KGmik0q(4VOPr>5w(i%5wfa0Q(6 zA|Qn>Vi{!?tyxIPqa_g!7h-t05MxbatZ|GrjIsJL>w(E~sP$Gc_d(m-sljX-6Soy~ z&^E?v`LV8hwVi9d=A@)^7$mT7WF%mm`Ulcfm@zFq|oU< zfWh#wp3+83BHr;MeLcoH##l~_X)%^%SMYDLwictS5Zx)n?1(Jw$1gcbC7M!6R$?W2 zRLLW7&ntlxx{_xoH+$_oVEfgIAtCq|n*FhQaW$gR(|TBEBGv?EA%7-x%v{r~Wz=?$rA^sjF+K zuV?1H6Ei=BGJgY3dFGHpXZ{HW!^gXnFD`%ov*Q^VRN|ethajr6n<)VIP5*JYVec+a-4=Hr| zgE1IBPNuZcl4$5PNPl6BT^eJT*trjZLSK|{C$Z2;-@FvL+0%E4$e*T<-?h`>W!2|1 zcXXal5}(4z+uRWdX)dZWgQ7>y;1z^mBuqI1NTCr-#9;Usi-r)8Xz0s;U}=mkw(FmS zUT_g}cM{zSE_I4m=WekxcjCr%IVE@&hVuj=g-&o92E)f>N(?QDhJFJQye`JBiLtBf z97~|kZ%jDEu5;2fuTkdcs{fNYDn&^1#yWE(dgL6fBm}cy$`L>cjbJ_o!$&z9LO`OS z-vR_T$Ji>n{)^BHF3KF;>=dug(W=Bbx|I@KfZ;qrNTCy4g2C`{86}36L_=SP1lPvc zni#v?&T*-*yHYgE(9jX$d}(*BHAVC#%)4XGhX~7IsoxdDy_G1h2Q9(7o$^d;ARUC} z8mB(JDm;h0#Nz z`8OIjq9;Xl{OS2N1<}K>)VC(ApKT5z_3*HK@XOB=9#kG7U)#K?Y=X|*DyeKCDx1;A zsXz)%%ABO}fG^Fn_7(PBnLy$-`^q&D~e~kSQ zW8cNtH#Vmqgz1l>*^kD}X+LVA>o}c&4k?^|f~9^i=DrC%rf&3WzLBQsqzEePb z;{obta(u`e)B)(sgA&vM0(B6592BI`ppx+Gy72Kkd=MxS4gDBE9f`3&V(d4YQnIj1 z5luZbZc0Z)f&4H_%5YB8^jh&)5y2Gou;y z89S1J!WyBELxL0<678DYM9 z&T49MiX0h^8+ZH>H>;kguj}g;G8& z^{fO+*$yT3q;2`&kkS-LZ9O3MBfr_+korSsW=Tlx3DU{v7(F4?2a(t3Er~>HBt`Za@P~*_YK|u-)Y6=F!$3!#)ibO;22T*-8Snmwh)24L3 zuqzbJ1!&xq`icViYC1)sR0K=?Y{C~8A%e2PxMKx3~=e!0hyasvjx|I8m@DCS8dt%mvzc8j?5+{bwP@VTCZK+N(6KC1tLbMe%vRC> zi`iKT%+7Y0sY}dq#gUEAke`{1gSGvciT!?M756TPo$XERCYYFKNn(?T*v;tU#2|$x zwt-^eqXjfXj6{5E0}HJrgB546q6}7;!KT>U?h)4aie@7kH@6aHt<6%n-3Lp(G{gO| z*(?W`X$|CytXNrOMam*8R9;WFL(4H2iTST)JjT>6EsF$C}E>@szgQdP80ouh5GAugg4`Jwq`r_Gb1hbmjud>>^_J9QrsjNTHd%gTe6eDjH%&B7RR1%xW^&LYvmR z!stEG>_+3JRf8(*)7cV**88y37iYL1UM+EGnbttQ#1;zVgln{Y^!=9{Eb&J10d(eK ziK3QJe26}d0#axc`!E_(f! zAHwKQ(HueJCb3Fc5w|KNj>1yECByxw>{f?_X$|Bn;zo}Zaf}??>WzZ_kcD}RMDb5T z5k((I0Vy;J{CNsOQ6CMVAkom*0>v7eLo;E~Tr@4vxH+s*R>XRRLrYld>k>GucQ~jk z!t&u-5veqOy*Gwd(3$HbhC2yEYxHppkV0cvfWh!lj)pLhXy{vj;i(K}X0XRI*rPU& zi=opuXNU)dz3D;WQ%+H)X{`$SuY?B*scurat3?RPWe{o+;i}nld`!>nS+-d+|C@l z=yZC_0okd)v+^cYwi*$6WspKw_Ad;EkGrTMv?Stp#8BDp4EAmYd)qGS0Vq(hG84O< zvecP)R}{dnyKg(M#Y}ua`926&JYPtm^WA~L@UeyRL`$Nf??b*{WU$XN*q#jbNe27K z&Uz=*?#cMV$=du3>CuIg4v0Mtck>f*i$I6OM^3lLbns7)`4`c?qQYKAG+r2_(1raM zgW=6L#N=<_9$HQ~GZxa|yi< zS)%Djl~ekUu+)!axK9>G6(-g|erfwf6wlY_A?LNc@!3z#j(VTpe}c|DBG2!C5}BXT z$H_nnP39;D!^baZhzyB_UO#gfOUYzOnbzaBW5NiVMUrh4jT=i!CKUrL_=0z%Oy{v= z5-jzGnQknNGCdzlT0S_HB;k)+(3x!|nKncw9etb(q|jt?F&I8HG(?6({LUN5w9jN2 zHkQu9C{HvepmAeqFRI|{B}c(>A}sZI0+t*Hi+ZNFeDL*>;X$Pf`O5L8!k{zbl8Q!D zx}uL$ffSm`X&4M2z0nXA5)J(%P+^(u#7vf#$#QKr1BB^7(F{W4X2Vd6y<~bQY=+VR z>rqGdOk8xt#qeahE$QJPGOh7^<(%knG4nE=C)l}8zg$HlxPS4mqlY)PkuWj4OKjZ; z+bHyLY>+}@JBwmQYYNa1HWCf}6kzM0$?`Kawz2@nw~-AnW6Stcbf8$Od>Ln+g;2G>Pm~LRO4Ejto+0WOFHIv}Pt6 zLPnyYj|Q?)nQTNR8YD^RG-gQY$;6PJHwi4{1wOlu%t zVj~(3xW;s4)a;0s1&7NTES3!C?5f3=M%I(a_HUsIxNJ z#7t(`l$Hv+D@C&mjhoV0q7c5eCM%Sd!%{ylfzo7$lDeoYAAC_wR3I51kXDf2$=;Bz zg3dfoLOPcqU5!2t2~rqHeQ8@++UNrf?O;NX_`V2-B7SKArR;0ZzG%-rv+KBl>eyq|F@);a=hUH2+83e>s>S?Fl;QmP`!|&D zN;_Xjq4T9ZLEz&i$`dV#hJFzF{@kAJZ_j>c&%U!$=9_}-QqlkHq-^d-Zua|#A4JX^ z{dXegWwloX?=O6aO1aZ61yblztPMQwu}UG)(Emg!zqe<N)$_oqyOEh zLq-3qD1)OvEXr`uAEA6{3lP3kAcfBN84QMx$0<*=BpP~ytYNHP7E8`z(JXe%PWf5r z^xZ1@dRfk@PtJ1CNAcQT^~a7AeZwq-e-0sdDUd>!@+tu|;Mg%mp94>1@%Xr~d%mqbHP zL%waZ*x#~PD?8thpl~0hZJm70zX|UA0@TV$xb82P*4gAXohtYk&UpopLRauL2EzyK zJwg?bXy{p}ATx`_?DW4uuRHxrCw&!nEL8T{l>N8x&9jFTI{RNR7(V!JCum7D^ju`$ zDT{T;VsX2GU#S4sq1wqQ!0e##kB6$DGgUxal<*25g|47Je)kYQj#1`lNi=kZ3Qo*o zd3O5P3N#`86P@%`{&}IY?@HOzh9x|ENTIW*y+YulIc1HOZylodLH50}SdT2$%`TuF z72rBvdpQM|Jrw@kLRHY0DoC>{fE2m{+Ajn?GOY?o#63GI=%2;%?esgM*PVWUCw-NF zeyHqErR+PwH|Gy2boSjb7(VhSYqTU9`cPy)IExL+Vgu{~dI&q(S_Edj(75jk2a6ft zUsoHEXNX0@GH=04=N+bm*GuiBy{F@N##tULK~}aDv&}`nT)~kF#!!xA<@u_ zL8T~*6=tz1HkiNKjid;L*zdKbD`5C;BqdqyQ|)vIjA;$z>!nc8+IS3zeklw>X=GFPLIlYtbP4DCMxAMWi)t^}DSS*+H^@>koDED;s)^|C_2 z!nY$?o`7YAgGF60mJd#))`QCJL}i6H6~6h%a!F+wQIVUEKnhJ|qo87MK0>0Q-v}x< zWU=dPD$2$qh)27MxEIR}sKQ<>Hz`#379pz=&bl`_R7`6iUo6)Nw1g%2KH9!I(IzAM zP2QYnvk`NZ)dMLsCu;+e&G13TmDqsfc5u4YhV)mvkKC#(ojVjreD{$x z36Sn^AgN2o@^So(_~s*bcr)UgkF1f5Rudz+`3R)Yj9vj8_;}u8M53YJ3q~8V*j+Xz zYljkL8xr?g+MukZ`xQ*D!<&9z!WsE~2a{ z626uoh351L2E)huXlN~wh~EqXr-y7vp9+gTqS=ea4e23eEp1jHeFjT?Qv#&T4kUFg zSw4<`EqzYTH+wVs0y=Y(Wb_Cz`VxJd5v0(J4qz~Re20b@k%+H-fYDP~%(O8b6h?q(^JY?dPc$Y3oP|*31{nP989J)kgp{(>{|Mjyg%d3={M-iZIaVg;`BTEI44M< zIi=v2sNv%%d=MuR@l_IV+HOOtCoJlVrU4o^r0vRDdQpMY5SIGR1V}GBkkqwg`8fWy z)QFtF=*@`!G_ko;GTK3mnxKy}f)tvOj=}KJ9t|-f(a`sR(I;8#qb&A87JJ`@l?$D| z+j>kT9x^)>n;%*0i9ckvu3SCMc42F-cR03KO@sJs% z?8{Y4AT67rs4ZQ=hk7u*&Y}Vc`fc7MU{w~qnjmCYIjEfoI&)f8D=Xu)( zSn8d!-D^*GYB#Nc{LsmEiZ|Qib>j23d&rrd4PJGhx7`b!*(uw8-qw-GY(yU?11U6_ z%@_h4YDN$AXOlFCU$#i#|>TQfMkaVlaGsg@&k*Xy^v0 zoSDrEY%12aPqd#CY<@=LrgA2#uoufDg~|a~>Jt-=qDc-F(;CPZOMyW9*HAHDJm?IM3aoh4e4BE=@crE zQedf{p8%=Qfut@S%g6CEsz=TXy&2Vq&OBc-nnH}^#!`?%Gin8g@X-VfF(T2>XM)l6 zY&Olt)LIz*O*C!LxG_yv*3yLvrna!uXC)kA7dn_sYam}s)55N$cI5p+Z%%2@nX@FP zQsR`3KE9S9h33==gW)3^4RIpT(C30vxeZAd7P+G7jK&SATvQxDlsvSt` zTC#i`|5`eMoL74@qHVOyD#@sl7Yf z`5r38#h0J=-VrcpI>qlK@yUEkuy7{xLn`74IOjz`3SGqWlo@`H2MrZLqM?6|BKBsp zPqW#_b_KLMj%NjXoeI?T_^D?BA14;@1r_iTeDeYzg)ZQIN(@_vQsQVy#4pyPfc@F* zhivv;Hv1-6E*P1JKs1f@+(n<&-ul@ljX;V zXCADx7DbO-iwB6pCots{AcdyzBL>6AmuQFriTImSpzudF`z@ROlFbg;2x!M4021d{ zeoFbnsb8JK-$eQRl=6#mN;xFzcUIw1N}skT;^{*Qoql8dJ}Z1g&`|m$8hT@G7;C7p z`Wj2oSdzvfn)QsO3DkO1O@C0G#D<#ll&HSuOkxUN+uue^(&R-Vf^PqdgnJTOAfDM& zOT0XY9yy6kG-Tcqrknz#&=j&T7(UvdAqpfKdK*w^t+7;%wa{2I8$mX70HjP}Yo~s7 z5>rL_d=guT^7*NxnW*2H#I}^a2DdzYNTJj3hQaVb8vs%IBpP~0q@SZPO=DRa%hXs* zV`+8~-C?2YntrD>k7McjmgCf6YDm&P7_&qn{9w#<<}v2HOcNy?*Kye!p-sKcl!_iX zrJaZgZ5qUxKnl%dC|| zT@Bxs##PNJ-qrM1s>xR>=%c*ul~~OHs)lyA;nhG2UCkw;8oq-Ke36Lf2&iVL#s+I_ zkX^^$q0mQa?t9XqPATSK(>|qHEklci%Z%7&wC}by~vIs=>ARQ1D zj2Hq0fj|-vol&C!1@{dZR1if`U=$Tx8b#Dm!3B3699MJ@cTvC{c)wHCU0r?C-O}&< zKcC0vL+YM7RcHCu>E-slsgP*s#XvAtW25c-X-gV#5mi}2RXNs4UaiW}&N_;F&G8f< zZDqp)gcLf!RhSGLH&S3|Ni_7y2yl|dN;EdXj`21q^s^E!36q>K%@SpeCj6hQ(Hgik z&#JdZqDQXLnS|g@4CM$Qg+@R-)WF6%G=zXeLq8V?&e7NuJO54S1s7$F&T*1g*Jw)O z8cm}BX%iYAAf(U%Zo_2Qc!&Z+OQNCAMS$mPtU_ZmHCC>%GCR^Iq1G!Cj;8aSV9g3; zrDi%SWtNMx0lmX3L-+Asym!E#Sy^wHM2}pic|?J>oZ%E8g{DAz$H2x5Xov#eN=9D{ z3X3#Wqp>QD&9@P}jxhkFT)Y=K`Kyan<1Ch0rJM}si~OBa`-K$#8+Q1RLWlp62%qnK z16w2-`eg|JQjJ}#vA^4~e=Np*BAQRpxF2X-iqPm>NV``qp*P{HwK4Q}Wd27Jtam`z zy6OY#l79xBPL?>?o7Q|XVqUDI|92&2`?(?Cs-~Ctt-~dFpXBjj1?^R1)@k;K6_*ny z+PH=N z36QRLAgLu{nc{Z>%RCqzqZlkk*LySK8^&BG8C^?^4ShWr z-J`L)HMUk`Yiv@PVrWOvWTA1Bx(6xQ<+MQ|m5q`5{hIrI%mxRMX-(vHbhp6G8Ld?g zqctA9G%~!w8&n)R^L`2HJ_414K3+_aLWAmo$*_@+hCq>M=vx5lVU2Cp*aJ4Do?=`t z(ey^+ru48#kk`{=3Z*_6sXv-P=`n|rT1b`+4r#Lj=>ZQ&eaY@)-jMo1XFe(+Z6!#B z=;M$eg@#m&$*@s`h9Hq>=>GP3f>X-(wSv_rt=ptdWZp7a1!LWW=T1~m~n^92d&c>*;FeH;{|(4fjN88*&F zL!d}B^fv(NHI2Qhv6pR1)5W-Q(ab>Oru3RfkXO^&3Z1~IST1}P>4(U|| z(#sx@W|7^uy&+XVXTBvNy-AQ}qmM&^6dID}E>52U(#IP6P-Fkq*dCh`?cxM?7m4QY zXxyAWMlNsBuGpF6lrYd$Zk4+V41>%R)GJs!L+=k~>A?{jZ# zbr@oPCb8`$Y)jC`u|W!r?GEyZZ$O}-+9J`=zXP^!H1?Io_S?*84VInZm_Q+O zL?L5M7W>g-TbPu!LbUQL<; zDa!-WS7f)dH>9tjGj$0mk08-zQydbc(2#z|WZ0lBp$HO*hTa#DddFGMIO`r~-QujP zjp`3E`cKguLE}c%8|m2R?*0lY+Vx2LljPfl-H+tFr$s7^by|7XtyczG|8-p zn9;scoEfCh%&hI2a$tj)k!a|rgIRH$jkRgfW=>GjPEBZNlO;E;Vq{^LScyW5wp`MU zxciA(i9^e@Ch`&+E07Z|xp@rj&!m@lqc{;d(~u}85Q^^T<0v47Mlk@BVWT%1LP4UT zp9K_?Z4M`i5hsi06f|xQla;EOs&JsKq4X&U9Hu%P)T*&;xG>Q6QTkMG478_|IYnYP zn=sG@Qyc@N&=|&GGHlS+Q-py;L!SW*)8p(so5WZ#Xq;$hFDEyN=}JXZC?v*Xq&_R| zetuWskT9)@yduu?sEE_aK!rDo3DB9dB#N1Y!ayHK0Vy~t3?JK2MdFM|1OPLE~ z?(-@4>FDFRLkgYyrI-vGw0#qm0g2cg8M!Zyvn%6lX`I#B5Ne^*FOQ2%&ZSJ2E16tr zl>&W@WvPXOJ~F`5&13YDfm!Etdh83yKc5_eJCFg_P)>F5#dCrbI;ZO~88)t@T+ote z=(ixJo8s(-IJ?eH=msc|t4OGf61vGrNIh6@5TWx^{B_Q2@sYp^iuXpC;_*TX9q$@U zhK&^zCt4B>{Z7QYI?is7vsH1n(hm7f=-g|t+6mdb9kI~~n$}>IgWFkyl}@L}8YKQo z$6CtlZg}LGK?}+_<)n2xygAgubOX?v8~?ciMOCLx5)FvBShwH^l>tf zLX-IzlVRgOXow7n_)B6Svn|e^u(5n127M};y=dH6wuvnG?bZ$j%V!v=Kb?SOhl53} z0LunH7N78-@;TYs;Z5a#(3ww5D%*+5KJ;-akU~@W5tCu#D>OufMEoT&P}vn{FUHyP zHkhBpxPziOgvJeK7ZS1SWw!$6Fh=UH#@&a;ZU>BMP2~0RqC>-c-gzzS@(b^aq0z)Fco(3?V#o4EE_HmqjXyeHhL-RzVqjBT;3@O=FvtPk;0!Hdz#NF44 z{R$U*B3&mwwHVV^PCpiJS?Fs0q0{Ygr4ZjH!qu8S2 z%_(BX;_OJA{Sjxs+4M@p(21g%gvL$p7*ez=FFD6~dNmm%^#(ca%1h31o?h7#sq&6E zoXkHQe7`x}9+juuqu5WjrjXO*9IQ)X6 zA&4XzdP_h|$zjcMSd$#<`QQ0s+#J!&MdK!zl0#>uiTu=-st~NiNWFCe!BmH!T7R|; zs=sDA@{52?EYs*dK7iHaGu0bl4RmH}39uCbT!=mn5Kf`G&q6(5}p3 zOLJIV4!g|aR$yMq6X`|SM6wHS#FQ==-<9Y^hS2+itI)+t8swAeM7&qYF)u^H`{@yI zT}niY#duwqS5wUWZ_2@!Yf`r_t2>kusja~EVGJ2+&xh#UQ@3A^-Q;S|r~c7gVRI_rE2_tm6S%apn}>oRfbGBI$u3d-5fIAQFiTrdUYACWS+4 ztSS79QxNg1u;>#(ho;93C9zmHeoSVLczW8SV*p)8Db+`;|-uN~aa9gH*d zdvnZHqN+vivM}!D9yWM-_>02eDQw^##`6lujwT)#P6Y_JyaGg~q5=d~d5oOyUV;g{ z08bb@uNd>$#J6hkygb?Jk&o#sJ~dD zl4$6sAk>pOvHo_bf1+0}L}2(ccahqKh>S;!XnxYnlRDAf)I2h?KVIX{o6@*3L+Iy# zffV8q%;zCOI-U^i2>TMu3$U(es?iWk5)Hj|UJ+}V$5Qevn2XVCrsT;lkySeDFt;l(Q}bZ`LfGMvLJAXUQYtPM#nEnv5Z8=TPQYJzFA$-1H&+%ct6P%W zYuROOb30#w3q^OFXNX_z%fOOdcy9qF_0(@I5EqMrHV9QrL4Zqg>Ezw3o((?#P0Y7$ zQhMWbac=?6!u3WWb#OS%;}l&L@rk51I^V17Eq*jKO77aVWa-O$r-S!AfNgMJEM}a z3pb!=$bj1m^6AA;B^Zy~Hx@Wk8)Wz2q=?b%!i@#_n_y!YFb?;#b6MLaSofRgdfg`4 z3P1b@rtpDSvNoLx|3zza+Fy-T^tCsjcsa={>JFpIPF>g)h9cwd2Bt z`5V!WDrqxh2UA)IAW<-(l0(%SAEX-r+dW2~cilauo!Lr6^LU#WL)%8uN`PXSg z;R6Nvu0fMKUtYI1rTgV=G^mhviQ=NRyHg+!Qi0sa3q(VKe47LDn;d(ki=z_}RS=$r%F-YmPqtyHdcE!NGI0R7N^dmX>1X9gCnzT& zF;t#}&R6Ev7TBdG*X=Q2pQFE*Fq((CSd&#t#vJ5xbB|lMP9BGQ*m^$V#Vi_L??&!bV}No>z8D4^zVut zkF&`WRNen5j$Wb+tIe+m)1+awwK!Jvtp${M68&hPOe*AMOb1?al68pIUWV}{$pf|( zrKl$nkb+r<*$;;DjsF=we0V$>dU1s{`-G25_;wO2w^Y`UPR zr$#!{(21&cS>Ob5ic}2xoc7GEbXiEYjV=!~+FG6z?DJjiRe=-!CMU?Wuf_ya?h};r zHS{{EB%1%QdgP965Iwm=b|e~Y5p9vwIO&uQrN#4WDk|qy8#R?x(`J@O@CPWGBu6?8 z>=0?xAUZ@DdaB>hp?v5c*3fA5*A9`=AyqTSR8-eQurq9fM2`Zzes(jj9WmYOwEs_vqgEWy(G#W|s_k7gf z{GWm5TT1iI1I#yt&L^?PQ28X*5Gwz~+Dp%E13ahtn{O3pJ}%8?1(?r-&L^>$zvr|- z&-v1`9^g6G-+WG>`JU4Ji2>#rbUul7@$<~aY3NqYZc&`w;^ORvQ_*Z0&`f`?iNtVT6dK4+l?Q2AoG5K0dW7opo1L!At$*5B(TL0*@5dtDmj^+xISIt=r{a1B&G z7_NfK7sE|ZdSJL2-M$#^kO8go_qsC3>uPVWYl6JqFTLK2VLlkvLFI{|MN%|rgSXd> zL0%u0ULOoH{fM{eEkUNYOVish%qO8Ig1kQM?R7_x*B7PNe+QY~>1}#fkm
  • DMvL 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

    P^fi_x798}E0Zum$(nkj7BB#;g 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 qv&skZ5BPaxTC)xond1&MGZ=9L~DWQ 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

    MNP5EaWQb#$NOm2)%T?av&2}_V{bT76 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 Tpv@^9XNi!u=LUTPdk*RjE zXzrhysVrowJP)J$dBnfhCjW=f`n=GD+drjCw9 z+yAMVYKBa8V41qsjpYbss+mWou6KJrLYeaNe1qF_YNndmnc9@3nUX1?c_TEDsgAK| zhd(t_*~nBL%hYB!mLrs@Y>!Oc;`V%mGUes@R=4NWOl8}dx-CgFB~wCkD>RX*{8%*a zPt8yROJ`lc>YttB-3dk1{q z73sdZes!cLy$u^XAR`tHl7$_xU>OMZ;Rfh?pws(sy=aE*#=M~m#FFu1d`-f?4Js%O z*{0~?eJ2II312C##*cf>YgNefq=|06=<6h#u3he#$E3`3@h8uG3^Pl^1A?(=C`P|s zNIXviq0(S%ENo4gMx7DQh93t4^qz=Z52uV8? z#-B&dL<-}5cNoqQM5Ht=ES^kCAGnp2u^yd%(xq4(-+vIJ!&y)&9>D#Bd1(|53;QE? z*olN(IK)qo9F7G+A17(9RBC<#&A6_|XgXgWJG;tGy*&1eMY~fnK7|F#0AC(E$A|^7 zJoY3da%1W-IPoO7pty%^idK{VLL1FzG^sPz48BS>W@{ZSX$)+ne`!o94HvqlS-x}K z(r{sMJQgh_K%Wx=XVp>`S}XrTOC!;7a{Gnbtvk^Y9=Cv)@g$@${VDVt6}ygh2+6Ke(2G@s zem5j*D$&yqgk(h*dRdTy&W`GLSQyZo;Nc=55Iu!H1&|1NatcuUw+M+~lBOGIbBE?o zl4ANmGhl%O4dYXE8UbyPWHkk-{q=mJVUngBXto2iQIcZ%KpVpX2igRmqNftjrb$*) zfZE?!Co+>X-9Vc;K(mq*(+AoN7C6vse2Pvdpv{x4rU13S#7(qF(sTpOa)9O}DW(s! zB`k2Dt?(&2gMc2DWHkk-{k>+Qb&{qVXr=?SO_E~zK-T-9Vcvr_)NPM?Jr#e|v z38+hwq8d;PnjBD9e2UH_Kt|H+6hPt;ezzn|C7@%I6xD#bLz4sQfltv20@O2Ub_yWz zq`Fs!^Bt5cpzJxq^ShdKS@yyXaF=hpyTif?a4!6rRfmcTlX zAXH%Ixxv!XmJYLjHg^l%aCjP&iB93p3(o(Aoh5EKy*twb7P@>6_QX?`u{av&k9;J; zC*r|4`|D-=;U%7QtYuF+>Y#(?H~nJKV*dPw{vt>!w!}L0t%CI-KP6h(#Nm~75*I0d zq>=b*60%JWGXAZOv>Y@^QNj;bUrO2XD8VoY@do&*WXfv?=Uv7zc7OkS`=cYM5z|s_*M{{XaVBh@|#nS)o=K@TI4N3v6fz*xbi}2mg0{gokIzK?N zhBp_YF&BvMeiA7>vLebaUdf(RT>@>rHYQKF4MVIXR@c9cze7H+6}xn4OkdJC-`G(B zu21r`$DT+BvRNx0CG$0t{)Wr?1F6JiNi&~U%;XE0JaYrhbWHO?;D-f{4MKILTjO|k z)^urH<<=OSs_{3s2K@ol0XZUm=8@01SG#A7O0{`CH1wL71m1~G8g$mphFDVgw*(Z{ zMsiR?&-5u4{5AIZF}F2mB0K3t&!@_}!3}F14}_VqPmMQ`ic~KzqtDWBKMWO5C^si* zzV2wIew!yjzXf`@8e0{M@|vRplRbJ?Xdu#mwW};Wweao11+nOA3U#a7s`84Re@*2C zoTNynq2y?M!4i+dBn_oK=Zc*&$R7Ur%=5nT<*<{!=e&TzztbIl!gVmZPh(E(9$#rl zLcfLGQA@gBNnP0QNkZm2*p@`RHd}cggh{`Zmz(P9v;LX{KY1;b2Au0f z`&fV2J%g`}(u|}v1ZDMzdj?-Cr5VndSQ_MZX?YZnxF2=fNm)@n?KsPo(6@><=WB3w)4vkp(8eC~Rh%t$5cIt3UW1s5(;ezi| zOook5(9i`Rb+I1_F8D68FZlk;H9q6b=e+rn>8+EOs4HX9D`GkyvX-bTW9B-xL|x=_ zg;-F$fwB1&OzM}#OiA}P46&;Nx;W&f1Zf_Zi2I>#UM8*t`8^7*BG=;AKWvAX;?2a@ zH&7dJMJ&oX-;vk#F=<*0R!(xs9w58x#nn(j|65{CH{6N35@`C>n+5v&2-iyiZ6nGr zzBv}Xg+Tp4J{&7amFtvvU#bwbqUQw#gHH2?sV90L8yry56~N7e_aO0hxg2<7+!EeH zzt2j5Zd}LHPp1m-)2aI-*qs8miHZC1+bP;fBeB9_$lex*ZZ3H90j}g9MPlBGKN(IB~%+eJ% z!@ofZH^Zp24g6;KcN(C>^wR&~Fl~zaN3h-m4IQS`#dexFOt;vFX(onnr^bJ#)}Mubv` z)Q!XV2;(k0#GV+^?~R#vIZ>t}!;y5CPDk`zIOEXqcUF&ZE6KrFgF7JY!7K>A}u-{wLv3PV-_KSD)!6)QTa0QmNi zJ?L=Zz&X$MY4|wIH@DHsf80aN$MG15K1!$tlE?wgS7#Mc0;^e8hjogs@pMFwY(L3T7dDLV~g(LE$B z^N^lS(q~9o?jfCtF+c5A^)`kZD14||Lk0g_9N(D_1 z55W3$KfgklMFVt&aL@m+LNCN*m|uW~R%q(R_2+RCde&Z{7hy<$F=jrS#tOX{bIcdT z(oFSqYmt0bS>jf3o@nz&(m+z<)^H95p;7DBa4vSm!@#Aa;owdxYYnJUf2GgWmc8t0o-atkthN$2jha3%RkxK8%w8?KVM zr3gH1U_4wz)7(;bL0#-tApBd3P{_EBxt&?K#I3+Dny_vQg-hKEx!l6v9fix?3LZ6k zgvXaGhRn?1X<8{?F<#Q?n zt3!dt;XtPo+6EeC1cykfC#qD3GSy!!)nM>o+d$cnnmOaDYU={4GXfdm#(`iUu^9h& zW-#~zWaFwU$``2G_wuzdMA$gN$HwuH zDIgB;H9u0AALe8JL|+>dg^lq(HpW7xfH>OM{8V8+?qhzEuZ=QcW4ao~G?j^9@MMS- zhhH#sI)sxeYnLvl3!EPe1jAvhVs*h#IfkXxEr``E!dEveMe_upIcl$!eqQH$dtKn? zb-D1m6l#iW)Iy|Kg_c01q~S~mJ!m)!!%7p6a2S9*J0<>z(1@OlZ<6f|4} zk%ES`5GiT63_=eYF2}HvhU)~NtJPkw^7DGVx7Uq+UT+g#Z-JVEhRqOp($Fjv3~lxH zdb^+3dxh7#{7m2HZF-xZ=^euK!%$NM^pKy|o!(w|`FVX>c>RZ;>D}I@_xPE9RhWJW zYKnkf@bmhbx7XMGyuKy8?)5YMwzuhb{7nBKOn>KAb6xv=1DPV&uOad*$6)YFh!jU9 z7Tn*3=U;q0|D-nmqp$fU?d(g-hV5Jjx+}0SWQxE-5Geu+K%@>VM|jTm@tmbL-_+N9 zdttto9Mx!~MKY5?&`jO_7ap5Gjs? zF%T(fm<*u@4RH)BX_zhmouc-7lAqTZ-d<1h^Ey{}t%RC_h6;#0X`mBtmABVAk&0rZ)ABw?uD$EK-L|4Dq^}pra;yeA_cN8 zzMhX4p8NZF?x!~2$JhKQVSc!e`Jrm_Lxg#6UIz)e7q3%<`^i4;Cqky+bpk{RUdIW~ z-pIxXc?z;%XexxNqvUh}dIq#q#c(QQ3S_4U&)&#R67m#eI7$`@_w#(*&xK6E*=&du z$Yu%8-pFPOc?z;%Xc2@e&Xx<%OQEIWtQIl_vL(W^H?nFWPeBIG&J*s>@p1oG$P}EN z1(7E*y3$(#p(^k-!t?n)o>!{P1N~*f#-%u6v&VbT`x#fbN9IGvUGD z9T54Qezyv_2jFcGdH~*zVI|-l0`S97Q=odt&+ATaueQr zE}nnWbs%B7A(3lC40&o+E{Ag?>qkG)dgw_8jpcU0a%B~kH$hF_W;}tLJz>lVps`y zfB@VNY6?_+gja7GdkMJ*s^cK^Ky^HZm8ixDR3o9Lpm8`v3cy1l@}qHxkb3|g3!w+# zaTrzto+<#BLM;Uqzj>T2ye83zo5zVlCL!WCkHOGM5PBdw8N*6Ma|NPGs3|C{fG7nl zzjG^xNO>1t2B9CnGlX1<#=haKg3u$Hc^FnkbB2hf4r&U>H4rHwFNV+$@**MkfV><+ z56EX?SP8jaKu$nSk$`g`@{EQqBUgHRUFGNXBH?w7pXrOeO<&??`ftMY2B;|ly4=s} z)!tsO@$-74@Ve2@^iAHTH~X31DNH}&R&zajGa*w1`yfP~*$W2mhlrP(R8Dkcv4=ss zh36-IJU`)Oo-ZYjd6_2>GykeE|B{dS7a&sv_MDezzAilD;HsssAyXjx5+X${eJ(tE zBm1wAdm;N(Ap6P7djs}d^GCJ!@730Wq2D0%SQvlDu*8A;cB@eb`vN%JK^b!hBE|6& z3^j((!)p@^E4{WBURy#E@}qH>kb3~00HFuq5)3N=PZNMof|>%=6yepI#<-As zpgI*o4^-1JtVFf1qrDWo*U_csS~cH+OhNHm5Tyh&ge_@rLZtZK84sa86P`cu@%)k6 z{D;2gzZd4e^)bI6GDTotsXc$;>-jg~`DY)`2i4|(@HO8!&(2tbJaxu0AX5Yugh-LG zL%yC{2+z%YJZGxSH-Si95bcEdHa_N$f=m%uOO=S!8ajN9F=tKCp>@RtlXDWQxGPQhWZw z*Yj_}^Upq>530@o;A_5NzJ2YNk?&f;Tp0^OrU>ki$}_t}$`a%dB!y4KrtouBE4h3N;~YOZ7ce#jKTZiC1(d%@tn5cxd@x?9Ml2QH)7 zWBy?15eSou-2PedQv&o8(2{E21^O|_6v%c8&)$!M9u@KwWH`gVEZo1~k^e@m-W#cEv6qNrcJbNSiUdU6B zAtjlbeL>S$Q@d{nnS!%0L<(dfi2M%ifRLvk3x={FRB_fufNljX6=yk+DUdZ6p1nD1 zCgdr|z*&)SU*O|jgG|9$9z+Uc9UxMEf!`iNKSFbbJOy?zq(i78w5N#ZSZJvTH6T;K zjzOe^9fi;jc4r|^fep3?32ethPlas&WD0D>5Gk?s6~4VIp|_BGVH+i|4Tqiz+fc|9 zl`sS%PuO%>Ga5ow#wH5S<9$4jRhtL1rwAKUeQcCMra(VgZ9W*92B8Xlx$u0NkLT%X z^FY5y*qHBQqY5$w`Z+4|!C)mseid6GZi^^c1|Dt@i#Gwe?`A9>V0f@w?-d7?uKce-VDM0JK)^b+w<@OT4{a z>gV-V;q_*yDQLI}B1IB5LF88+8-+Y23Bk~95PHzG6~juJwhO@bLQR3{ZsFCtH0~5~ z4^;O<=z;113@cGRDNsEQH3f~kAW{I{0g)e#j|jO3;HMz;0Q@wDm4IInfM0}~0@d@v zt2d3$3b_ZWS0VI3^%{nis6G&=-i4Zi#NJzY>5y zhnfP_e}z|X8b1+o4^&@6=z(fKhLxy(5vUGAO@ZnM;nf?}0U`H5^(%xPsD8t+5>+mq zaM505!C>o%GP$iFQUK0@$S=9gh1>&hI|w}hx5uy&aFGC905t_FO?dUDF;B=nQ0WkQ zpz4faC8~Y`Rd1*%j**@aDFAneNO=v|4MIPTy9&8SG{q2lMAIL`%4kN2Xof;f0eJ{S zO2~sC^n*N5$UPvBgwO->C=4qhPZp3%pr%N`c!)fsp{v=rx7SiXucr#HC;OS6?rnO8 zpXoWm^em_;0-EXPb*{J9DnGA_h1Z3Crk8k|uJJQ{kubf+t>${(bpd3GU{^upnZ01J z9wJ_DQaRCYjMz608-(Y}d_1pHo4>@@{3c=kdLQ%GLZ%4pYPIL9d_8X!p11gTzFBSl zCSUXS3G;VDPXYc;we>sH)`OvK5PBTs+cB&>$ae@p539XCc>01H#Yp5wueJQ+pUnzVp=Zwk^<0qihHn7@;R@=yG8(VD?t8HqvnO2)+wau(H+iIIzZ40Z- zvD%ha+sbN>vf9>G+s10!T5Yb?wzJyyR(rJ7cCgxxR-0$F`Btl0ZG^RS5bu4l8R1bS#uO@PF1pdMQVdSqU#_8{F(ci8)t+v(YAdXEmep2T?QE-^ zW3_W*M=^X=7Or_#JD=gBG!?{@Y0^pLN>gWysM18MA^lJ3sOISi|CQ4mKAY1VK8MrX zU7c$;y))m~t=tEmlTG+4v?4c1!ig{-A87O2Chi3REwE_TJSI3==L zRb;`?l2~A2#nPDz=GRI#c&N=9G;4@(FSV-g3WOCx);CyHbtMlsyqUud-)yzFpbdox z_C;#g>ryaY9t$j~o4J4vDC-DWOJ};!Woqo}`IJS~Zs?Swtqe4Q*rEaftviL*?LJ!f zKno|zjP2H8bw3E8)$jp}fCu^E7k-EzexXM=5e**YW!hke)!)h6hP$lxF{^#tYMj}r^HPw>Iey|F;mqQy(=D(Ym`yR~BL zQkb&etPx)LA5^^{sCriI%Y}JzV(jG zrekmKv-{ )5d!uZ$$(>$BEpZOYo5wLj~dtOHr!XC<`r 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�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

    u8IOQ;eI7d-wWw` zlah9^X!{sjI&||=X$|On0o0vD(o5RJqHXyoQbZ!s)wseQylAEAEC?hHj|D-5#T9rcf*{#cFUu5P5HM4{$rLRJP)m7w9t2^y zcnk^}l&Bil@5l697&E%Ytli(iXw|#N%&wRW4t0heLNY}znMMc`W@?(96+-|HM2fyH1-J^iL2Y1Bd??()q>xUD7L#61NWo=RP7}bx8}KII*l+1 z^rna=zDV(L1W^T{(lh4iAse$xM#iFy^K@_$=2II)A_M@Z7&1sM-&xnqs@73f$U%4X_fx9)HNXpwY(@A0Pm|2Lvz@~~PKknf%{qo(B z8Q{lXu5&JhF(rdz(PLs(leH`u95W4;$1K=L@gO!`)R3)SG4lx6!WxBfH0ot(s-H>x zeQZ;FIy;luk4cRs$Ht;VVmdX6#pkgxGsae(PM_q8j*1iyW$w&^Dzk4aX$zwd$*~1~ zZ@6i1Vf4ax_r?U*i~$836FlSi;4%iiG=~S;cojp$S{{{@b&Yo|=7I-Hm?5#~P`-pY zi-gckPCUW85Ot)WNy#y>=pepOpof@P24Fxa=F5P2Xz;yMoMnJ?F*TZ`BE_RAC+9;G zf6%j?CK^0=we(CU z_LV{GlD|oVKdIY6x6e<}?K9j;JVj5f9UPrGNIX&KD4rzn7lAmlJSgKkUQNQlu_tFt zl)3j1+|wt=f&=0L2rJxVIeV`dzE!nfil0K7fa7nji>c^SR&$U6265_=5nu3lxWPoNdV zr^#|T6p;|N{<|&0OAYKBeT3NK>qU_;n?ab8{DCzwPXRSmfy`6|TBRzGm8w99eCGHM@l9q|PDku= z<7$TRtHhOFa%wDk8lO&HM}s*b20cUh00ySD#6-7WX83F$<(`K8qI8klXLsE5fX6W173W{i;sBmF)udp;uBtc z%8Sjs*usm?c(IiipYviHFShgIOBB(YU9L60Uz1{ObiWoZzQrZ&eTNiwo*v#pnXnUP z3FEI&%21|eJHPlpESbND7X4P28-JmR{)ziaKAbU>*;oFUkFW54Nb+I@6P528B?KDZ zZrn=iw@^Xxs}$Lf&{c9vEXpcBp@NqW|3ie`Nk+VZqKUEbtt2<^x|Mv5bp8yTEE;wz zIX4z%t-p}fw33@+QHJ$iRO9-5X;w?Ppz@#9?ubQiBQyJ;!BW6ywS;?CyMvg>j5(jp zY7Sb?G#)9w-Bv{%zn{1hxP}@%U4EU|eh0bawpf%^{v=*Ur^gLnJ-@|T%d&yGUSANC zv^#f!_P*Ew;yEW~F0cp25VlSEGwZ*Jw9vgiJBYUOjFNS+C^wB(IDeV1dgx}boLzp|yLjK7)HO;dp`ThJ^$RN)rA}kTb zoMyk6XW!3roAS~TQ!;-9(%cHq3j#?WrX|kbg7`0Xr%Ow;Azj{zMLDdk{%;|pTP6M+ z>Hj|bwoW)ApAKW;MBk!(YESgVF;lYK_zr;&1C&`!oEIL_(`l!l&*dFR%O&z9n!KhR z16%ZJl74B-yab&bykN!E(1s)qCy6EA67ChNEzyZ2F7uXfFIjDg&LnY#w}gAmYD?sj z#O2-+?nSFD(S;W+kcq7Ft*{~BKTj#~hb72d+G>k*K*05s6&5pE7 z(-r*Y#kBG(e%n&WhOvB9kp%^$?tfzDc~ECdm8_3N8Bw>0vMmx;(|j#P*OS(6WON}j z`i?6KE}dWe4smrS_2(zqem53n#3GB>$hOx5Gh8fqEEav2wDu&yt77`qG5wmD`9CZ! zal_y|N&`@$)w-Drw-(!hNEQAjG87&`3YW$7Yh(I#wzER?f1{Azq}8vF>C0pK4Kefl z|K7vir0_yJo%lMf54FvchYe?ojrW56_~J-##`OkCyyTHs^x+t55_@)!#LNb^XE%>N z!^Qt%+1QV)WLhsJ@5W9(+nS>NIek$KbH-}+*nD-^$}g^_Ortd#8|R0C(Y%rv zn0(jb_nG`~lD{ctF0m<1vp84CY0AvX5LW~tJAzc*Na~rYg5nQi=1q20<&>jORG;;MwrTSd{xT($A+ff1gGr`}CowPal#`ql0~7JYy^$SX`OR zSxAmWYk9NiM$$5lIFdVw6zG+noVyYVyi}kL(PPr&Mcb zVzB2If5dw5c+#1a0asIRn9J$Y$$*JqbY;NDOg>KX$bieh&2q!Z0MV430p+Ah&VWxm z(f)*Dp2YS0WdP%u3?5{_rdX8wbb_BxX^xx8KG72vmrtL1`t&LJbW*TSjOS#_2X_XX zf>va}Cekv6ICus)o#c@Lr;%r4WC(nQ^ zdkl~=AVkoI%xftd(w%gugp?~CwlHN=Ng2}NipJ?6nv$WfB2{uaZ1seGD*-T#>-S3s z##0R*q{C;iDEDc)pHFFyo5?<%k?hmwo<4m}KFtXBiSg7}KDg6iCR&jWpOKa`iG!zu z(_A(>w%O?*uYcX?u#NR#E$QUxkYT68Rn+qwQH4_|m<{{K7m+GC9lr5|{u=_|Vy@pW9T?9-@E{$&jzzgoi~M{_bKFe!X>qbo-+KD=E%|gw zuuqKVQp*Q-IxIme(&1~;vXnS@IygP%kq(!UOjdL!$y|Z&=0(X5zb~YvH+%Sf0alXM z!*8g@LR-9%&-Y^ZgKxfd<2?AjnmoBGX0kbgEp2d@#0Lj^p>qwfEQ|3;gR@*4Gue{T zW?4oo*T?uOgR?A;nQTz8S*|6P^Vm98tlaz2+8?)?l-BOX;kXI(XdMF_t|LVk%6Bo1 zpT=Jg9z2bII2QdEe;U7>gm63VY)b_{jlY2uG%2|+7G24osoY2n>9nVMJAZs~Ga7t% z2A!wz()L`VXBPOe5q0b>&_p@TpT=Vsnzi0)weqL&bBXab@`0YtpqBE}`1>IY9V=1L zy#iJ7*Ab(o#t$)Lm;H3+0nYRg3VnCX+=Z0l4{4J2D7~LQv)`?4vo`jbjYM^xE(q$_e^i+%o_z@+ zNu{%MBB+i^He=CSc>IggTk-{f%zBNzxBWIS#CG=|vFM*MIvpjk-VG|@bbld!XM)6j zoF(=k}@&_y@Ks1rb3X!bi}sZxi_CdB|0j*M>MAg>!__{ zL%Mc4qE7!r<}knWi#yU4^f`!B_xMS$Cq(>c9_}1Glz!67)NLo*PLEni@~4v|JKPLb zlH5%U_z@{@s_yTgR1B>O6IcdF{(-d@mfHqcZtbtW zWuW@7P@fl|J{L5fz&iO`?igq}DlF>(mJ9sVM*`LN5$cZ!P;Y?d6Ijg8GRwDOp}t>$ z`Xd8%3>7*C1?V^$G#?jB0@WWU)DI6(e{7(R2|~xX03BmM^Ko%hp!&%|eLO(@@qs!j zgpMixZk+6=LRC)$$>;J@L#Kl{vATZVtOn&0RZ-K^F^V;)p-MDMqnnD+4Qn47-7pl* z6b_x?Z?!te>Y3hFX9ZbZAgs;We{E zUl&&Y6Qp{rx9W94s^1r?-vygbK|K( z-d0BhSv_7@9S=62-WUs#&y_G5BwrXNg6IK59L>HkOc4&9I`AE z8f-o=RDt9P15La&-d1M@Sv^ZwofD+G&RcbTkm~b=>T|*76VQSns~31%y)ek?CBo{$ zAk~+8t6mbM`W>PAEjOEMIDZ2)pJ3O5M)Fd}RZLk+zPVservx`K!)?la-^r{I!u-sSWr(0rW!2qYh;KLBZ5zi!$JdLz%!T~T3P4=`Tvm=FPy};)OOi$2!JnI3Hk7q@JmX8*e2L@Ok;IF=4p!$(Q{fGed!~E3`73#fl z9W3ZxxK0x0CkB|G0Gbc3<3aMlb*!-L?b&ESZ{(R8nhc`fRdTv;`c!cFCBrG8`FM7c zubEPH!4RnQxGriSK#=!e+?;q*Lk`C(QM znvZ8^3CrG|)e3qe&w$xQ!u$mR=KlvYAI#1L$0Jz>U*JoHnhj;j?P}SQ&;fEl zf|%?)_I2+=vy^1+ecdO7Lyv;Z$Dv0+^6YR`eHf&m>GwfF_i*@05Ir1Tg=Sxe*9eE7 z1DlUm&jwk2!Q1MKK~~=qR@eDkeO*}fzARrAbPp`v2GIkH^=S6R;#c9-Zm{`u-j5*p z!1O&xL7n%VpnEvH2Sg8t_oCU?VWqRZ20Z{aAFuutR=r{TUC=$eQagKk6+*MGSFMCs z&B5jaV>U=W4rhTB1Y=V{_i(s1h#oMuL9?&JU4+A(z~89~irXS} ztR}&To5u-)CV9kf9@WqZAbNOoBAR_Ynjt)@2AdCrRUkETmfyKmg5-M_UIAhdzNZSh z6pekuSp%X+G&9lc8_n4wng+1>xLgO4ugh~m403snpnJHy07MU$&q1@V%L|3e39$Ke zzy%akZ#M4bmC%UrOX3$z;`PBf+uXw5FL&-~C z>WReEzc19k8=!tYXg-0xWeb2Z8Fp5$bmasQ&^qpTM^J zTmD>FP8yx9t*Xxi-K$6U2+w{7pEM}Aa_J|~d_4OBB%fT`B`kY;_N}0MdG?p^>~}Bg z8EjwkH-GDU{k5y110Z?~jDMq9!oYpI)il>$0H^2r#vB64=lW4YnIL*t%|f%U)po*a z8?gCwLMxDbI-vzfz7Dkq(Zit*X!dnT6ApFpx7s<#YS`OqB*UV?Y6WEXbmcI|Qd_Y+KBf#>0fA#wU)o13}J(iK@-(zW@`2?nd@0f-(jT!?007?uc!7W-RW7-V&+x7Evn ztX?myE(4nn3|E8X2?K3bEcdp0Ly*-t`$~a4N|?%TlE`3s&@$0pS#)I zYd_F@g53;~XF96tCm{J;m9+K~mcI_LywhL(7lG>c3iZDPsNW5mPhda#TmC-K@&RG_ zj{wX2{nhUaRNo}uUi+oxyGAfqkEx*f1a{ERGFu|$2=!S3>YIY*+3QS4JE5aZfR0xF zF183%-&v@~o9Xfx?n0n_ppF8eBkb=6c)X)jRjlv*a$5}*g6J{h=xFwxagGoU_3*b^ z6lArRx7FT3R*w-@OTgxnFvTEwcDAba2g&CWS3`q9^nhV7ntfpyDI6N%Z*^FZ)luG7 zM+aFg7gmo4n-2_SAbG+-6YnH%tCNGQo+_-K9Hja*Z`Bn+s%wPm>0t8-Xj+ifnch~< z46<4$tkwppuJ=~m5TyD!q52s&o9mi?3N)W!p9IOX_f++9kb<^>9u;(H!(}Af=2t_j zK}=3^`?ccNgwwBpOUikd(=UPMbC}}|5d2p z9iaY4(0l^>-rw?f!m@X7d?V-{y|D*Gzux#;IQ=KM{CeYe(0m~OO<4B!Y_Fg<@(f*) zt=S8jOwHeX6VQAxO9#ovvk*u@m$oA4jXYCBIUxFB)?PT>7F>RqwFb?{vzEfLH)hQR zy^&|YtWcPb1en)A^T8|+Bp=UmLGpco-wDJZKsyS0Be&I%4x%5ReMCe@fXfe112iAE zV<7pu9R)GS?QVkJ$ZeoKSon4{`22h;0nNv^Vvu}&>o073XF^{=_wsF|@NES6{Cpb* znolMS1s&!^AbL3b z1)6;w{!uu*3v51KeJiYb!}ztJdwBH|h#p?;MzgP1e+sYmgU!dQeZs1@S9=8A!>hkQ z^ziBcnti?Mh#f9Ei%eD9g?&4>El55Nw+1Pwb6X0!hr@@1=;3fDH2XSSC>)M}&BrTE zSoMZ6PtZNQ(n0j_svDYpy&53A>I*iXYorfIJ`VQ+$#)Id6T~2ldkDHmG{qo#L^BZ0 zzR{G5Xoi8!$K|0Q`MNw9#2}ZC5p)lij|0)e<&kLib$Oz2xeRPR9WV|g&uC~h8~3(a z9%S_tVfDly)lX3Jr1}b>da0Yu zwcm9qXgTd-{ng(csQw9|{!#GxIRA*h_J{qotDz@B^ti}Zq1pE$Un3lP&fn^@ zK~`Vzw)$d_)whJzbzt*>;dPLFlJixNe3DZQy$zxV4C~SC3&Tgkp^g4l-wU$(vA5Mt zK~{GPt2@Bv1H(3ud|=oLQqYvJMbH~v!)oX&5Itb}8qK~i{URLx32Z)I{UEG*uM~C( zx`$W4g6QGZ9yI%U6^hsku7hCnf$;!HJ`Vp0QV@*43%ZBHX%SC{)6wkfa7*EE4%mFW zY6en}SDAwD;Z-XTJz#8&W?!!^gI73tHnc2~hxKb(+O@n4U1ycoQyEH2U(W04H?We{ zxtBt1ymnq)Rdu}PTz1^9H39MCE*1;2g}cDzgMylNPZ04wKO!(_)78GfT6XnXq2iZ( z%|YP7OP-0J<_r=FjsoBC>RC0jYZ|KSBv$@2n}MXIp{{1m84`*Af(~x9#&dptW7VS2 z$Bi5i8Ywu&UbQ@l=lKdU{OKZ=;h|@Enf9zznyjRZeym8Ts+lvrR&pa9e@BiMwW~m? zt)5O4+StM|(9>}cJS8DqT*EAohUfe=fa_(;kJl`_ucHj%id!q}zu+gWhF&x_!vnwGJRw`XkU?HN0Gd(&^x9tx#3{f@Uc-NoCpzUTZ| zKk)XfA9;JuPrN;6H*e4RnYTCjmB-U$4=*$K^0L`JtNe}1P+Dj|s}o9Z7Adv!8s^Sx zsF*sBL23;g%>k*ZuJcFX{UT-RtTX3GS2|9dDpJM`n^aL%JF8;Oyx9u=P6|KacAgsg zq)4f6sH|%sqKmMROt`dcDN<_Y%&)GiudWzAtXx@wGje%1PeuZ$p^u7`b84qgudj9= zp}XF*SJcp_BEV$Jn*?QU1G^F|Gf&gN7}`wwX3uq#mN3%CMasPT>gn@lRh(Tjtzm}C z`S*&HS(Wt-6*UAzUG3SfST|Ti3nUlqLxfc`XIk|Fm%0y%lm*GHG@drkXx^lGQ~a0N zJPZFdYo6Uar+IUB1^k5^KsU`8xC2Qy=yNv49a@z8?@r_}D9EZOjp zo#0mCPNmgIrBJAuO;wgOL7HpIMM|cUsK>>ZsfL=uiR8{#Lrr2nDdD6AB?V83rYt48 z@y-tQIUTu+iP8>-q=}lE;Uh zlwGw|XVPU{@46}tiQ*#k7Rub6&4-jD{j;Pf7BFn|vXjIkh1AdyHdUGspJ(G#%y!c~ z7}HG2Mi4%RWMVWJXN?A@@(xZr%}R(0D|KjaU zAK~q3|FMvNm6vI+S@qYga;;Ua<7LJhR{c$@e2bS&-bRU`qRD!z{*G0Dm)A2lSmk@X zJ?nj5&)Ue#W*_kOW*_o0^CMnneaz`un|Rsm6W-qJQ(k6n=4I9vPS5&`m(8~F_GX{+ zGIJX*v$k`3)(&1a`+~PO`;wQLJ9(M)6{lx?&C6!r@b+fk@-p-tYp2YdBd%qymC-EZ zfX~o$LrfVyY@jOxucxK~uBP*2%AD#2Sa#V%jFfvcH>jayB-Ga>v{=emiJ#}{d~(Uf zerZfOzE>}&sf`-CD0q}SiyM%1^GoH%m@-tpt5ZW)k$1fv-FWJJp+GEoC|zKWM2&{h zvn7g4*%k1;kK6YPgnqBl^?zc@+`8)d0f1gjF86U+xg1t{OHlx!o0y(yF1G7PvcIco zDPb!qgXG0AWqM5=7JszvbFO+dlps{S2aI{vz|YeFxXqi5HMO*GzLre)bD6$|nvQfe zU4pT4UgeyIhN-ipzT>0ia$+xbv0p}E%ixAWi(<;zwRLCK&#kPgRu<7>g#Y=YyJ$i3 z94%JV&^a-svZ|`OzP|C4SRXWjoo7!`o)g%WxDx1Y!Tx&~KynFz>+Y6wZ5>j4e41;p zQ^-Bd;pGU+CwF(yAgrd}8dIiK&uXZYuokmo23FVB+-R+?o3RCz$0tVepD>c+o;Ljt zJ`$(@$w%V!zxYU;p5243u+wvTuoZTC^B!!49ctHuuXNkk(}MxY;Ph^U@c zfjf;^bbE$lfGMrg_++B0yXb=VULNiCypCy`<~I^@z-~~}e)rAJwEcb^&ejjm)})8x zR+iDjTJB2SM8g>gG|5q#!TWUlb*$`(?b_W`_ws`eXEz)3P`|ZbwY~p^rXjSCDVZ{% zuJ(+&%Gt9qgHD++ymZRUxz%UX*A1*p6GYROQ!S@RtCZ zw(FSCuG1E2S8E5fZQ+C3hvAFD--Is>{~BHz-XFd){CD{A@R#A8k?#r@7Ti;?xL|w1 zWd$n>t|<7T;HrXe3a%-5y5QP^HwvyVc)8$)g69fuDtNKrmV!?TZY$VWa7V$T1uF{P zD@d${muaorwAI308|E#{S(dXR=boJ1IX~y@$=REe&@R#z!v13IQf-O06n-#ZPY%{KGHtXwrHPg+q50p7urtk8|^!7xAu#+NBa%&9@G+u_7X(9 z1kqlGXqSg?3_pg5p9nt{emeYIcy;*s@Jr#>!fV4D!XJjWg|`EXZ^AzVojpM3@9@&d zm60ux9g&@puOho5-$!;wevbSS`8BdP@>^toWMRP~Ahx7nDKNVnm|X?DmI1Hp3zh?| zn+k3QR<{DHJAl(YK=r|bhk)5*1&wS9 z`wCYU-e36d!bc0AE_|`@rNZwDcNP9n_*3ET!o!vJ2@~tJmP2R^?O8Kz){J!Z;6e0) zGGuynWkb(iz3^8x6TGG8w7Tl5hWXX#BrLeVqh3H?UH^Jk)yyiGegpO7Y)M=G^zm!{h#S>qk#V^!O{!7pqF!oTduVZW^E} zxTM)X8E|SKxO*hy(5w{))B>IO2=a%L_=YI0hOj^_;E8WsdqufDDOAB{flqv3Q@%^; zBEe^M0Pz*Qgpb4NoAXcbS)D+X$ESez6NiVs2|lYMsBH~m*xb(@2=M_@gYvazR&`xT zWSAJ%v{JOxYuy(V_m55)S5sA2TVFf9L7QAtKd*9@7H^n0t)_NLpI*HOOc_=?d-l9J zH4W!XnLKPtd2Q{i`YGe$_}aT~&))rd_US*MPyZ=XYvxQDSzF(5VsU>qELQdDIc?Ug zh;|q}GaAmBTRp92mSRjlq+xaDw91Cc`nsx~Rf;jKwq7w#u2GB=lp__R>hO((MOXtmjEdM?n%J985bbRb4JC8y0CR)Vy0pvMAC6RqMiF`+T(WIjCT7i0M-QW3?WKdk0)nfd?E@yoM`Vo7bbEemv(Q}5fAhNB++cn_WG-YVJ7|^(>70Zk#@GRr(K~t+_`(c+2%m?rHPp|D7SAMb9^w zosNAroqcMnob;27OUK3A^#AYeNa`OraNfx$MOy5=r+Ra@nfZy^+k{%5DKd;L zaOO^%-gto{U5TyKDQ7)BX<7cdr=|`%yUD;izJI>OQTW4>6}V}voMmO%T!hmwy`q-? z$xW=gGVrq!CD9H;^dfv&prj|R!DOfo>JVx%Bw4t=s&bCE>|#>#p`s`;OMV#S|A74b z>1SIe>5ecXo%lM!*d_F(4~D|Y9oDr<4;|G(-P}QK(HwsZ$&sk9aLZguGW2(!6GuSM zmir2FnoDkOk{n)7RubJY<0Ud7Y|H%&xxHMD$K^J*l!R{VfRBlo>zL4x4(j(E)fSof z8wzle3nlxAx1^Os8_XFAtn8J;DK<-NJ&D!NX$(gUa9mDem+ScW12uhJs|GsWKr-0f zCFg)bQh1kJNnq8kB;LlX(GF5-t4?Z*J`j;?IWoN=gBQJ(#JeOjy`7>Q21L~EkSTYW zk;5WG*N{+?Bk=J824&m5l?ZE=OHS@;l3PY{Z}q|l{$i_;dj)a{CRb(S;rQ4SV%L(` zHGS}bzw|_6X*T@J++wml61+~Bs6d|K4OJVj;!je zws=n#k})B%{g80Vs1oUgWcRhAOt;z^LX zgZYPraiYl}>uNC}@NT{$tho5^B>rPB#K&Ur7g}Q}+1Si%G;(Y*jI1D`(FuIy50;Gl zB1^~+P%w9q%!Z5bu^%$_6?rWTHN)%G^Xn}`avzZxex#u!mM_FdkD-p(zadt@#BAhb za}ywU56PXp7$2t}>x^r6LGCyvSJf!6IHc|+sb)*?F>|h0eL``im+ZC8R@Dd>RlhDM=@$nTm#YTE^ z@p8PlG`~JMX{SQw0g^dp1wQsoaMJJMu-f8INk)c{r0|0kCGqlI_;~ktXS^V(2g1lE zYyJ`uRYT+<61nwme2ki?D6KILs&|5aXLmd;tHDB*y)~p<+!RY@O-V%Yi2cs4V2(bC z5B+3CX)~mis--pSoi=6dPAHbF8-u`1TbZJ!?v00PNgF zLd{p2q31U03ySlTx`cro`JF0e!sx7XvbTC{c4c|b+ zO44w`8hmue&FI`2tL2fIIXDh=yRMgbcqYov~mML0ZI0tt(4fE>eR5V}*B3rq#aCCg= zxCvvC^jfxZ1FuaiI{^|JTuon(2}0Zn&7NI5#~JtOd1^B(-;~5)=zbVEntn0zK8c$r zv|z0O>%YL7seIIZ^a&HkSB#!8;<$wD-jAz4_N8n4gQre+(6hXjHO5cPjCn<{Q?6MS5P{99Yl2;Xu9#%G@6jx>X zD_9aHiHUXITp^kd(MKVgz8J%LGCLnV1#c;MA7f^|E@WxS?wPF~-Uec}vZrun#k6YL zr2s(nY;T^wTakWZYo!AGbLjOe4$KTlJkHb|&}YuCp-30xwwgv zo}QivD~TQGH5CC3YR#OcPHV_kt}Yy1HmrO^IkHn#hILQ|SCsKvqDBWe6W0z5y-$72j)HsHa4K8tPSL&>?|uP5*xA_d-tM zy|BtzHPb5QR$_~$8pB-091M2=^x~$?6#Prfgw1DINaI`EBOw$`8)WMLh zn`fDZYYHcg8ed+F^vPDf65U7`VKA6iMQXnUbGEXKG4{sdGo1c!e;dwqOg2o|NZ(Ai z@q6gRi9>1G zPOq$FEBUSGS60lbsi$D+&(UWqzj7tgxFOK!ipwxtS;rabE9c|U)$Gc;Gto;tsj?Y; zTj6MWudia&;8?&Jjo1mPM6K|$-Yt7cTz(FhUFRywqvihb4UO58hW*~&znPv`PfSjk*I zXbpK&8cY&Z#Jvi8ZX>zv8)EB_p>a6F+dc!_zkS$I-Dap?GX zY1u@&lf4o2^q&J%IdGDymzk<>E$6Fe*Vdh5jZPnenyFmUee{Tl6DvlIpD?MsV#K%! z0+M)9o;w(-lcAAa!Qp(#JDOg$9}PmAkAY~>YY>goD0OZiYJuVl*c zEfwX(5KQ#O@*4$~wF-=|YFz)LL#eU9gR!rJv8RLaO9vhi+h5c-cUW`D&<129y3E|) zVadYXIg{wa+}GiOg-bPjU#yvX@ckP4zECrN!S`kK{UQzMtRXyEH#vl#@`)`zw9`MfPfHr9EVdJN=FgL zk#IUknMARefAcUX7V|G22F1etP3s7Mhe8$e7qyiA9smD`dlUF5iuC_~CJC2>Bd|a+ z2}w^#8ln{U5fC{9A|Mc?0WUB@2oMAUNl@^NatPiRA}WZYD7xw@c(g8{t_mJ_;kvkh z3W#`%f+qt1&r{W1T|Mb;>HU3QufMOCQ}fhQ&-JeAV|pe9jNxN2<%yO=LvMt98>X`c z>8xHltCMb_FNRM4LPg)uN!e_W?x3%S_cr=Ecz+`38&fHx5Q3KiDRe0pz!*NpQ3+^C zH1rlIrFl9_OJ_~&I!d5Gi35QebQ|x?ifWm#0c69PJ84?3`ewd!(B&-jmGtAXmq$Uf; zbyu8MqGK1IK6f|<+Q)4ds^CUA=M_K-UBO*2hL2k*bF?HHdQVi)J)L#6(_evJclzC( z^i|wlLuFq`+20M{JbOr?vtJ8i_*g|*qa_hn7G&Qyo%Km)z3l=XhQfWQ_H_y{`zZW- zhpJ!zRqzO$^9mq^uHYFM!^abpIa(48y$BTyN@u6r=|78Jclv{z^i}?+hsyp8%Kka{ z=Gj9Eo&9Sth7bDj0%cF4p%)|j5$WvAbT-s3;B_e6$Lk2E0P{?R|IknsjG_v*z&Wn~ zQs@dkfH8c$MVX@|(a^`D0wbNBWv9O#z3%i4Cw-OwS)sBYN7;V}-#mLrp|k%C#_+L& zvPMgyptki~| z35TC!q<&$#``Dl8)NUK{Q`dP;@#Z;rkE=C5Q*}Woa<-qGO-u)`gQ<}&^xBmk7Y`!c z7tom(reh?(e<~p|2hhjKKnhLfCm6%WH)x0qiH2SdGE>u8nT_R;7<5=PKcjJDnJOw; zg6|yl848wPFjBuL0m}>ri@GE%AN&eb=0W9G@-@So%5Tt_7fCA9iOTQj<5VDprcwvb z#o^;9d=M294gC^OnVZh4(%BpvOkFXqo@nT+aW|N`D1`15XuVvjfN6k{`uueFx$05} zjAPl^p2Ig_6nw zqN1UXQ-KtkN(UIjhmMA*kZ9<)fXYqj?1pr9oeid=7}rTOozb|#+=N2x^>VucrVB>u zx23z!t+zX1Ov{k3mm36KPUbofGF{2p?cQX%L1*43$=ph0x}%SiffSlde;C6@FEm7k zL_@y^WLBiJWre7Sua{K{mO&V)uS~$Q%E6+p7t05yvfP8pVDh!f zn@SOM=1NKBUZQda`ZyIxp{b09F?^hfhNzHe=nsR+L+NadO~nv{#)xJt8aI`PP=&o% z9#yD}!$^Hy!ddrGhl*(#^2M@7pd~E9_tEy%>1^`;s5hr`pflG=PLB|$bJ52+K?=>O z6vpr|0S$2?(a`?^PEXj7CW{eeqM3rm4e1GG>8w{EO~pw4=>$mY9Z2fZv3#63qiN)P zy*HzB=**`jqo;_`bo6mXkU}$>3uE}0g@zcBXz2e0qZiWI^ERf7#h^<>GY^d$(+kR4 z+N@xjkCFPOgfsGH2a{X;)Flw z;G9S_^w+@YUpAzrV#IZ#xgL!h(!Z3ov{iw014imw5+H4LAgOD~@^Rv8=|*zC)tk{x z(3x8#qt}Vi&FJHdAcbahFO1=185&wkBpUkrVDxS}+h${;pNB)aN;LPOabtQ{SxX-( zm{wz?zCGb={h@=&v<&%L+7@;#-A~>>^yc&cbmn%+=>y`l27R0pq|lt`7nJbvFdE`S zqM`p6oOaldo)9CR6wN=-xFPLO*3xbT(o-0z?@EBQ+kvF6CCkT&ucfES`EGAU>!CAu zNk%(~(FXK!Mvy`?dJo3%u>}n=BGJ%)2BSmi?8kKWLpuA;hV?#l`nT3&D*ll9kW;bw zqqUysA@dIwwgq^|{2kugPdfVtJY@cbO8F2Wcqx!Vm+~2m;bRAtfR;otQ}B7-%z^G$=oyF_@(ULMpOQNCYpn}#JEYnUu8@=xITRZ8ixHCg#uTl0n z@XfP_6gvA;U<@B^C~LGN;`unT*E3jN2FtYzXb**Zz35H>W}d=7H&g`$Q~`r?UIC=g z74(KNd~~JE(UNHB9Z*6040f`e{;BA7r{CU5U*&&tsO&pZ_I==+XAdcK_QPNdAE#5+ zXi3D=a%A5~F=;LG{g(fo|#_%x~4Ur+y&`$@M z{u!*Vjb(xubb)9}(73Vm7Zvf(!-Ewp7h;55sIv`&n8R5XvFaYLG=ES)L^(%&&suS|ec!Gj^*RT z89h$UtGpRK0i9VX8OggI0BMN>NnJ~pj}u=@ACU7U z-i)?GXI?8AEha`EqK`9z6q->keqs+F>1c=%iH5!njNZy%Z)C778SJ$T_Ai@P8>sbn zGxQbK2NsQfmh_fWxA}&(s_5g_77HGI@_jAik!$Y9*Gkv4G5>|`2k4hpKc;&8(n|Rx z)@AL0H5z?|*cMUEcQZ(&>51gh>v5}R;OUVF|7P(WVnKiK$yq@93l{Zi)+xV_p``{TYjgPCWjr@Ytd7_(ib~HqRL_^O6g^U<$6=N-8thtR~ zC3FC!%wdL8zdDDlMEQIUTZr=cBsLfIJCm42>92xYo<5||=|2u*_*g?}qa_ia_>sOI zV|g)_8)I6GW!n|}gGO76(N&1<6k_HfOZ)Llu2PAnRFa)oNdZ;zG~Dw_Acd~vCCUxI zH=+vAl4$5%P)Vm4>kwn@W9($RjF+K9k;+7LQu6Ph+8E80#5h-R;!hgTkG9FDG?%4fXWQynABieJJzy;gn|% zDRkza!Wce2qKwg!Xy|7k^T9DTFvbSNSU)@Y&!BT30E4}gALt}+4p5d&zr^&1Q2Kk| zmZuLXbovKj3?E-m+Gt5M^f5?(bc~IPv5_%0JjRCE75oUbJ}#!ORc}2;J4KkIkRg3I zqO;gYQ3d~v>u~2RHcS-ZbL-(gi~Wpv=D1pCG0`K>Vq=NIFBr-xKnhKvP909+PpTfi zNHp{kP?!*7=f~K&F?P0%pe}R(q#QgGoch%jc)lo~pT*8qCh=@hzjGG5kkY3=N#*H7 z3Z1?t(r-y=!xxE$J_G4bkFjYnHYLU;$Jivhf;iOrteF0aI*HSrBFt&X(4NF8q6$8V zlbuPNB#JnpNz6w)b5^ZM6g_ehXA%V+LpcRVp(%8OF?^hYhA5DTUtfX3+!(8hu{kkT zVI$}c9RMklIM=CPoy00pKA*%n$|P2Z`khIfN9p%~Tb@3o(CH6^F?^g#X`?04&})$X zl`(dCj9qHyJ_ri^nuI%vE1mSs%aNNseV2;-Y5MqGI~`tDeLizX=lLY@EsVU)9fFYN zHMM3?^vD^!nh*@dP>ujnXar+n3?C!W5CReneF+dOjR$JnYEyVuTfu^4x)XqKR% zBgFa9?rLj_=tr0j#hfn@mSUv-U<~(GqP#A&1RrwBGc7|p2+dVaedfJ*kK1>C&afZr zT}RFyiUCROFA=VX&U`Rte~GY$$lQQFP6kqFGIzrmK5j)rWJomhr$FY(7<)X%9*ePc zHk^CJ(0fI*5{(A<$ngemP^+Oc z*Go`O6R7*q$3Z~~4eD_i!^c`Q1d2rbHVU9#h_UBwL{Er8Pm1OrXxxZi5Y_Rg=bIHo zPhq6KDPjF=b`YtDhvkD`exCQB@-+F{>`i4obmk^WWg}79fIdzIQfMkK!x%nHG(?3& zLw^%gw#L}&G4`qr<`psSU!r*xjT_8X1CoK8SLE1Z7BNd0ikeG~e#!^yM^`7!prfXzXDtAP621JqCC_-AiWhoCbL zOHhXh)M4~-P>@1{qJ382;}7^CP$U}qaez7+V@G1_cbgLJrUHG6XzHMGQ#vXNO zrgNIEi;;RX(@iNU)AON`<%2^yqCooH15!Qmo0RE!#;y;Y8O^lM*pW;m-T-|Z5~R?O zXnz*?XoZF#k!a{mGK*NFOx7@yHOOT3GOY(paWOPkG;PqhIW@|3R#P*DQyxa@X_@Z3 z;bsme(=z0%sUe);!4wD8Ad^3s;!kGkp+E7`mQRkGd4tlSGt(rfrUa@j`Zy>^p+R+n zF?_T~L!d}B^eljiWwP{4*3zcbU5x7?nx1IflwzVlzM66rN`)AyXD3j~aVV)LZOaFT zl&(N(=>e%1`OWc$)Ehc8TS970kWNJ(hXg4!q@gf|kN#)~5{ZW19*|DXWbHDUp2_lT zPQ%2|Get8TjhoZSsKq`vbyPTwz(~DAru+Ke(cxrThI}=(6R+Kn0cs>U?&uAw z7&^0q1jPu{DD-hqkV1o+0Au(Vi-tgvXz0BFs%Iwap2@n}lr9kCN`&dAcclh31j#u zM?;WEH1wf>bVeo{oXG}evH>=yDlwG){R@noi^k3A4Af$;rr`>w`D9={Z#^^9{rrEp zgUht+`Jx&um~&nO68)Y-QL5#amG&iAfGaG~Y@kPgy$O272M`3mw8CcBDPGEM9!%SUb zmMe~Ibf)~yWE4i*-g7Wq+Xus{@QH11I)Ax`64S- z7TH8)k(DU#CwMHl$0*2jZ*G5w&McSQrV+Qt(Z{(#3eD|B7{kZYXowq$hJG=)RcErw zOg1}{&9b5WQw-fGnoVfj(5gkf{6scifwmbV^?3=<<~z{TRc86%tE^JtG+TK;%Y)fV z6l1{!0!Pd860~ow-n=SU@Otp^u}0 z6dJ_=7{kXNG=zdgL%$voFQ8aE6 z%aj#yw?g6=M(Qgv-H*!dc1W0(Azu-=Xb1&~hQ1moR@odHi4l!O(*%v1!zyJ(tWh{L#Yp{u1P*H)4(f`qe7IIb8riS$ z#?TBp^8tzBe!|ckeH;U%&=}^y7(Ob{5C#$reIqcun90mc_FN`=#^x~}I(6r|45E9ka=hw+m0UOb53Lit_~S3F-xq4Qk< zWB9m*@j&27pYyyf6_=HLyd(_;>3occE_ zA5dj05s_C0DRgCjhcSFSNEM+a5q~3w%64S3k22YZc3F=@fr^!x*x{6=&csKe0Dj&5 z(0MOrVkhPM1YGfaA%)I&3yk4oBjt&fL_b&t$)5vY+k3z7^xX6V3N%+^6*4QRX809I{B$k1410A23os zn(01S98;KBhWyg@t0pVC@6U`)%9ua~9{4YRTH zUXp1=&RThsNr%pCDao`TG8yROWFUnm(-y|?p`jr%B;s%0K&EvT%e1ky6N3swb21t? zme!&QzFu+_Ecn+6BYHdmORj@OJ=0r0_IxY;n&VlSC43Y)=XU_I*SoP~>y zxEP*Fw6>6fc$2=^}@c69N^HWWk5&JtTE!Zr+j92=z2 z*v_Vy(VAj3gpEW)?*nYTvshsk>tQoHM~pjHH0PmlGwUtt;p?fN!t4Svu$c8tVAjuJ zrY?@I-M#xIh$B{t_jcg9ZjMhv;L&!)p^x;4@ zEQ<}vVntbOkWH;p46PDPH5xayVJOL7X~hb)xfrRB%);egSz^TwF4HpPOKgb4#Vk^I z4RZSB61$ij7kh)c1Uhr11T}&{%|jmt1t~PBMKFesE6@-q5)J)afI2&ijm=_)O=+r zkZwR9hXg4Mq@J{`EN%3GhITL^NPOQ9eNXEm_GxRjyEWU{ntj~bx(8T*G5Ra5#ggbx zXPr-5%L}==yR}$LbThjX?_Z`H+l`v}G2YvM1Ru1??cUZ1zYrmKDUd>!a*HU1Z&?Cg zB;t<-P|AVUY=3LE&#vQEs$-8;#~`ZXfK!J$Y5PSPRExP!l;QmO``483ZFatpLg!0+ zg22a}lqXse4gE0k{i!uO*qVLcntf}h%r^zurlSAJN!dJz-0aU0-;10%`fo+fOBP%m zyua|zRLcE!DUd>!Vr}5@uvH3)hW;l?`J*-atu_0_uHzq2phU5RIQl=FI#l$(i846) zUql%W`lFODZ2`iU3Z&5az64|Vc#iT!OQNCI%PwMdvRQIAi)ORqcFHe9r|(eF*U5HP zeR8&gK8pADsy}{$=<8=A{3{5-OMw)+ly_hZAFophXi3C(<|w66Hfxy88f05X@4HZ- zLFnpYi)9yK^1%g=ez<)p)2?b#_&OVk5C098hSP= z$jW9hJN>WG>rOw*Nngbs3zdBiW&aI)^Xwso&i+>z!w28(1TBe%-WJ*CXR|ihEN&O@ z8x`O>RP&tz%r*-Dc&G~6Q3bR`39kTB=nCrMZx7+)IAxBOL_=q&;FN4uV5g6*KoinG z#Ytb~Ul1z$4wOA@Si-Z16gqp_D+E3oQ`Ttt)**TiWZx~Db;)L(>;hU*0j}e8tz;LuG#&WuFh< zoIj+{*>{F9d=yaDXh}5m!N`7KHXD%5`q>3^5#wlU5e(~w#(h^fP|N`Tx!RCy=ZQym zjMUG_b|3pgoZ3yxke|8+IK`X&@ZLVx+TVcnAZJ6e!K?NokDkz(XJp%tJc@`+A^JEO zNTJCLgfV>dK|^Fn#P$*(GcubEx3LTog9eMH2#p)dNKw&}$jh2;C|J(GNPTny7Q?}! zE(yyAzXA>SpfZGf8QxTeLT8SaRL&wQw6O}O0x2|=@i2yuF=&ViiH2SZDigC=Nj95c zgZZo7NG75X`?J;*1q|Pfq%7Ngs-5D1F)c&BUP=UAPG*7!8NMCK6mK$oJCZUt&9Dg>N4+I|0ia2aCF1 zEFYZ8bPp=D-H1NNn+k0^V$POSDu~J@=;P}JQfMmH_99on2dx(pu~7o3T$;`1WwVQI zFpHspo;DXjvjmMB%%v#AUN2WEV3uN}er2}%+QqCUZQfHHx<75$WlpV2~m-ok3b4dWu2g6Z$3hzq2CTFw`Q}OZ7Ryf zBZx=4intfct*F9YEO#nY_!c3{63)7JI#f){kS~^-1zN%qd>?IJooJI0{Z4OAwAqNc zOmez|IQ;{CeDy#I&B@w;WCMKAaV0h&xfh)7wjur1?jv_AOXofX65oAfRRW~@97yWY zv3#63Bfj~_ecp`t<|C^lqm{%+ZaxAjG^4ix2R>f27?Eh`kATtIZ1$jy$=abr*@ncu zmewk3=`jVxdI=O2XF?q|lr` zg)w}5jE2?{iTKMPaC*{)^qCm3M>KoUxFJ2MtfdVKq6jUwe*GpsXj*PTN5C?;XqQ?lI7#X*HQy={)RUr z`X_MBt&-6eV$=|QoDrnZjC2^oM{6|1h(tr*14f@_v)$QjXEyuThSe52eTVg!N<3tC zDmHgp>xn;Pwy^Ps%y@41v zT}MwSP@?jHs2K(Qky-rRMOU_}@9CqB!w;T%hf=SMCo-;>tIDLLTJnkf1`#!DKCbxBS z5Oq47^9mq^u3#>V;e)m&q6$bf^oFRQK@O{zV?AEJ7`^WF8#w8!xa*-3JSF!&Q`O2o zm9oDCzIpbLLTA4K#_(|&WsR0Z{E!3LH_Ks7b68`$fQ3-F*Gn^}0JEvWzj3GvT2KXx z;G9ba&<6;K*^EN%ldET}bBlY|o_uA8) z+D*%lA38Zs@n&nhPki3?Fgeq6z^nH2wnv~d^KFi)pmxSemp8-$ypkk7* z&fZjBfX?hBsdOYNFQSiAffSm`78t|FW;C>3NW{}+Q0bk+3UgQw8_ZTQ?hVnriN+14 zHwv*o68BTUyoHf^-yHX`($4{7T84bR6bibWOb-t-Z;Cnt)}PgGF60 zmJd#4pa&Jc@zXGGDztl(IaE>^LR9vmk5hpZn#vC_hL11N5ET*)-2j!da#*oV#oG3X z_H)9RpU}9eoP{dv#WGHzatI^!u?a`fIERX98S=$aEYSY-mCb&Ba+ti2^XA02f*LD1 zjUi6IU_9ppDKw`@9bWq%@IjnNH1zS{be;_gnC^8(3e0x^;sOF;_Fs2Lo>M?*Bkh(tr521ZkI*kl`1b1~>| zqG^G~jcJOqmM&5-wZuq$dcqNQk%P&!4Eb7`9Cj_WBJUS@b4rKKoGv+)6Q>OH@wEgg zG^czR!$%Gp;zXjM&jF_j8eQG4`pMvy`?nh9h0C`ChzNHla4jGoJ3&*ZT6Iqaz%_N2{g7S#HS zIr^d;@qy(G`dQL*PTl4+)~cdUzUwV`^vUg*4Rq!KP`! zIFn$!;=oWB!ApV#zZPv0EC`7CPXU97h(G;!jjC7-@4N~~p{t-hdEnzt${sC=hW;+9 z*p|cI%3*Khuq}2Kv_+5pe!_Hat5pI2%a6B|*?hy9%`Ja9n~B?&J&2&@`?Y3M^vKzK zk2pMpp_~Jx&>U!|9r$<@4RIjR(078v$2sgjIqcs#Y`e|jSsLm!n;$zY%>STLTzvU? z@81FjO{e&qBtDtj1q){~cTo|~!#OVkQs^RHqs;JkJZPv05)J)x6tOpleU`&Mu`8h6 zaXc&7>r|kw$ImDkza};e9kZKoh&~=Jo9j^wJ3Vz zT0BG)KE+T@0a9oRKfoA1zCc41NW{N61qw%U*zY;)*Bth0w8gI<)@S*PW|c> z{w~Vrr<7lnQ_9bxerFXPqx5NeBAz~^(CMFqzh{My2pUSCL_+QZlb9yT=abk( zl+RBkjYR#L*4sc47^iH6=8Ogd_eY3vk@6=N zz9${*lwuA8QTFjpa@IkeXD6g_fz4j}|J7|Ibq3XOoa zp@ENuXlO!7H1uL17@@Hysyx$~M{%z?iV~!)Yr}jg7W*yc-Jryo5`_I44bWj50@~|4-&<6+)Wl)tV#GBj@N` zLU133as-e;A0IMLO`OSUkC&jXl%S)|6}L{7iEqvaEe#wXnf)vO{4^A6B?c% zq|gbz0Au+02PKA<`qSiEt9yv|3hyran!zn-tO@a1~fsfbF5Cy)Kj6M$(F4kDJ#ws;7 z+eYv%#sH9V@xIupU!AOKXR^#npwd`uG82O8`3Xg(66HT4UHSpb)qo-@cCv165mM1f^<^?q?;W`>JqVB z@jHPf9*mAt4i=-Ey&3ThV{Vd+ZX`x>!x%`R8D)w;lBXS5h!Kf~z7~ug)YtjCO1jXkNc$8Abo#JH}a>4wHl=_yel zUr)~}l)7W2{!9X;XB|rFLb7~tNKYz|9`}IMgZw`04XGz|<}(t~27*+GJ`M>|Xh_8{ zhL0jN1c^jL{}&*=tg+1++o-V@ZBC=a(6dA{8jYLN%c#X(O|L7Q42;xY)7&4ZUUxW| zmLXqFn+0qRYNG<`MGsJ8$nopmpvFRHz9vDvN}$G}kAs2~8dNEa;p2QX1d2pMe-EJE z(b(G>d();gS&S`(2zWLarz99KGE1Njr~_+J8Vw0ixa|KDw@mCxH)}-TI|)d zPvLYG8CYlWy&9f%D;N5G4ldKO=Zk8WV9t5{SK+n8gV#0Ozqst}^TxISL(IJr+aAKU z5PcjQq|n&zrI`2y1R7dfBpUj6!1j&CzS7tMn;Gqa1pO+}+=s@^>>E)hUt0$iX7^*H z{)2|c$O6`RbYE~#fn^zTKwl|<4tM~1fSeulCbI@Q^9M=hdm=-dE^#uDLX&w4#_+KY z4Ur+y(Ek9L-!%4%#tz$Lo)+WQi)I5FH<{lQGDj6M&tjzhr-rWy6f#E@GL|7H^NT{} zum_pv$k|bEGS5S2{wc{EAu=ZVI2lNx$lasMTAV)#SM2!AZG)K|6 zQFTK(_PM*4f{J#1(hKA6hj6_dRHkLf7gQI)o3rYqu+rT&*5NG}3>@*u%Q!zA6G_=)|8`?loFJE6n z6lk>flYT}5v>^^Ob$wYrII{r?r+&)&(>$2b#!~taZ)UXHlzE0^Rz%EbUn$NEQfOw@ zc1^kPLCi=r^s~UMIL=1cv}iLYC~2oAG_=W*n^rNZu$R~vg%)kOq#JSf6SXl8Ez>gO zOKgNdPPpXeF|V-drFz(C5H0}18p$HF+d89 zVK|K8gSMU`3?v%*6kwPfXOnCaBgCMQqM^N<+$1I|E23N>F$yE~X>s@SyK;wwX&Ler zG09^^oJ9`Gy-|#Y&YUJuOeGWs`Zx+mp;1hLF?{eXs?d^X=oLUQ)8@c8n~K(yh=CWP zadVidtcXg51MMQE&xzyVrnuFaKsSMv3J1&3wG3!qDZSFWcG_RcoFi+WO|?%(AFmx! z=-RJ>F?`VWO|%S1#OBDTeQBIs8)u8+Y=I4-20HzkxTxeps${8B$+gx}pr5fUvT)E> z26(!8oW3$J7dV|B`$F>XCkNmTr1uR}(*nfeH9-np)6Fo3k87zGv?Ln(9jNKHIJ+gz zZn6uy1q#$E3M!?7ZgUD!57t{m>iiUclk;ADC9sV0y%nx_zK}xay9&nev5fLWOQNCQ zhkRGY**$T#BF>iEDc=X3dk$7QDVz5oH#$Mn9IS9~J9Dty>GYU`#6Rg+O_e=>h`cgL zp(|StWB7QCDnd&l{%jGIt&Ot>rUa7r~TLw;U-+^Nre%y}=bn(vdd4c_O851=#G%k#w3L}oksI2lNx$$SE1`1lVR zB10nnB{7hBAPI`Nss zn0|8liTKDuSL^bmk$6?k7Sw7=0Waq|oRL7{kXfG=z>sLyzVbvEy-eG|rC1 z+3z;JF=FUg(Tqdmrgt1A+AA+5*Liw%4o2$9x$c#hlIuLZvJGkF9d$UFM;v^=JKY{D zPq|02pKOh%peebSnc9EaH32#^IoE!&m6VIZFF+rM2q`qg=`ew5 z=o3lf&{>d5KPTvB=r`rMg2_s5;*~7>A1kR-uq<~>N^!Kiq2H2_d>fn9Ej+@Vo)L2W zSmoNR>J;3`BNVCxi=(|TN4JB_shrB+Yf*9Vh$-hE5(RBg`CdyT)Q1e5C2$&FfmjS- zS71?bv_B@R2p_Sq0$1j;dve)|T(;a=foGU2T`O=cN*IFiL!I!e(KQU!k!rZ1-=AwP z_gaDXbE*$}QvHh+xEeqU9_A}>grTp=HSbYYpnO;%{;XY?M=-yGkf7Z{&`axH+%rS_U=n59)&$m z5z>jIXlK}iU|xcGMN@@_V3KI)P4kOb<9wEyZ^4|0UNbdc{)p6q*)U(goJTMl=i4yF zK%}`*fti*M@AKh@X9_7yrb%hV(GIw7Aj1xZzQ0`&+t*H{)=@vu&fM2-$%2J>U6)+l zyj|NR3)bX!TC!kqUi&2rcI8L9&?`>R-OU3Sv@4$m4QYGLg4N>u-sPHR8niulQeU(S zom6j}D3MfeL;nUzePt!phr9bWyt_%o(TQ+3$vIeDf*#y z`mQW7Eqj__T7Hye7lO@JVskYup{x0`y_yK7j{f6UH%wrZ9}bRDe;7R*htcX(0L2xW zR$}V#E*J`K)67Hd@Qxo^@xnjbA@_16q5$0qj0=ypD~?WAiip7PN96Yy@}PNJjB7kC z`%~zGMFy#a;$(obd zxU~I=(km5bMD3Y;r9(*xN66}2%w?6LrjpmBipjOyRx4`f0J1Z`m@3%cr@)m#q)2O-^N*W7?EjuBE=j5RA^3?KKR0ZuMrYZxGH zP{8UHSZDQB(CUo}%z6bLr%%+fI1kIB=0S`y8x$-a(2Np{ z+>>bNHEppQdI5{s5k3@ycB3(4UdupyEXyfu&u8%yuW^bYLHh@t)obuj1ZO&kd+E&i zOdK~ixOmh&L#IxF9L29Uw4V4mRD@O!JG@_QQNY6st*SNfX0lw=Ny z5m$S0s#7daI7#=#F*w=Psg&&MR9c7okpNamds-m}LL~mBJMpHdaBV*BcDgKC_$WUV zzj6-{#|CZ{FyMJU;A{5)4IcL8$9w81+vDk3n0u#N?c*+&4~d_#YX^67{wR?~wNEY+M|{R+&^1&dG5<)^)z z!oCFs{b)w%dTla!tWf5j7b0;Z<2#V-YTw9+;p%~a8=1ZowhrBbJKmJ#Zy%!l`5{`@ zYn)MX&PAq6^MadQ2 z9E13Z?y9cn5y{a$t#TsKXrpMOqlR3{_D@<;;nyRa36|2`ZzyvTWi^#VQS|MoCCAIbGBfjYiV_BOmj3|7W24 z#?pPm0QU``^C_$zR6d2(fy%$ImNIhlfXHe7?wbULmA2~fRa)FGj z2Sm>Ecb^;RzKe9w>$sC+TZhtdPXrRes>us|kM;~(|Ppr{MIqb>@HdaI0j6NdR&O7R(K~bNQ zQJ)BM{j|61^+B#TO4l!7m`_2^2SwfF9d&b1)YoOye+9YT;_Z5Ckn0bm>vu8Cr=V>? zQMY?X{V*u%P8oGakn3IEu6GBy{zbYzAqEf z`xemo6xQ4?GQUOAr2EzZ?lS{@6i6R>fR8-rd{WE}bl*|BZy(_PKgwFMkdUjCM3EojJ2#PvQMlHiI9}J~Xd19aoZ@G8W=|NHF$f&b| zTvvL#t_pH}g>-!>hWQjUFDUAj-chd#in>@vT@d8@T5s1&f?U5NUBBfX<~p6f0i92= zTcGlsy=e3`s7{|dWlCA)z>2xE@C+l#e)19L&oKTa^~y7hT>cCrn)EJ|iHp3Z4V1XV z?UqUZ7o(Il?@D?HbUsOc1eH(HA3`-^;ymw+KY%i*qW7fUqoPls^sDG=Si6?0Fp$dXhSL&6_?A6%}O24_xl1XP^l;2#og02=Xky#5F zIe}M=IBuFteXYzeT?I0{9uPhcIv-}aQ2Au0$;jTBWlOzRW?f}woiNT1Ob6(EGHVZ& zPi7|vM(!gc_X>#I)8BpfK=(tW`@sS32l~4oAl-X&?I-nKT*u1rqXWW^g3gEQNT__c z4wsR=GaDxLwK9t)jf2wfD7jE3JprTq7Q^|_`DAvkjO?A+*-~FCGaMx|W%%g<;ip08 z!)yvvKABCHk-amUB=xm2izdy2(vR6Zne<$Y@?%y7oljW| zd3iwOW&ZAw{Tk_GHOBd5xXRB(GTx>OB%(52Z)K8_?~W@J5;N3mE2;)$>77H+e_h92E5}8Fj0F z)YoNH@5Ay{srO*5=eobo(YeP9{7C!)j$EK0J<=Q4=uY!{aEaQ!)}C9-~QTL+O#x zIq3GyXqwEZ48wd7mO@o4S@FqjB2>Pg!b_kG;yXd=m1^t{oaIn@R5KmjzSUeJtEt8? zpOh=1@=bX*ltC%al6sGn=RxU_@_cmrro2F=T!Udg6L2L|p4HH8>zjgH-z8ly!!VzMZV!sO!aM5SK~e9QQC9`Ie!$!HnjqJkr0W;m!(7kaOz3=y zeGV$m*^5S>fl4elWjWE2#UBQ3k&#~wi2RC|dvPjx$;&;dxcd*J`*#D}Z-dUKu(!M- zi}S)8UXf*CJ7we@0g*rQcmH9a`!A*Y{Q>UxLFZH09{5)(?bo(Zx$%I<_N6ie18uyNx8x*yZjLI;~2g4~)`Cur3D(EuWR_bf5#b{DzC_ONB zLANia(`3TEG0Z2cLK)Tj2S#vjZ zK8SZhRjZf*{FL@FR6gH3;~~`7GV+0d$ou`>?+bMQvvmJcfct~c`4slOf8=iiBOjHK z{|Jcuo4@;C0^Qfowr8wPw*QPJL+4Xi6e^z?J02Lhsf^qxAaX;0_YI)(Ul1A6eais% ze}m4aux5Ud`7K$Fbe|RAJ{IVso%E3(;G+$6J}Jfn-FJ}gPYG~e5a^?)^wBNAM;GXP zQtTAy{xs>ncYyoCKp#cY$3Xuy2Kc#%M*BhKvy7riXF%z35*&hV-;>~3GNF}2#PvcMxBUZKC@8*mCwOC0V-b%Wl(xxn1XI!3>7k=8U9hH2SuIj9d%An)GK7v zOEJs`!#t>bFkB3kFNQ0j^uTZxx_vP$kqIsGkGdcz>Qe8h*9AqrLq@$7!+bE@43#Ga zdRVc{JL;W5QCG^ScL%v%$Mo>Q_zD!Q6Ke=`dCoZr)AV9gIurocD*6U z^(N{1MGW&P$P9|Q**oe>K~cBJsILaO-s#}m zmCsR0_kJ?+fq=;S{oU^ibpNw-|5JebgV6aD_Pu}PZv!JAm687li2R$s`(Fax*Uho- z{gQKBXE4`{MWOR4?6_ZKev6bU-8TquUk^IZS?4}lNFU7td^Gh>v2mdLOz9rKOjpn0 zE&?qBedI|WasMdPf}>6m^1(dR~z03%p&I1i3DkuBTv_PeGG|qE7dYdQni+N*T2x$aR&s z>*^raFG$zVxre!q`DdW>DRwY?F-a{V3?4QeP`GTw&jn;kN~Zf6G7o8`8aZ_$^XjD||HReJK6F z?2?&%j8T4I{sW!QZ2lW6A7V`k3ks(G+pXzr5#Puq4WdVMOM@iqx^s}=zP*X1uEaP3!n^2 zyRFpMN*lEM$=v#2oL_Feq4UYD5Gvo?ddS$`E1{dzd*wDn<~A7P{Bj!zozF@b0F`Ij zbXzkNO1~K!B_odrh`WP4BV+?dY*^l;jA5A(BO26zU%E%W4L>}+&9@)>5 zJ}wIIQ4XC?_EY`bN26s>1+CapsjsyvqDd7{`V~H3CVeqR`7M}g=sZ_NG+HSmd#~5o zQeP`GFuO*EzY61gxLn~M{W5>=(WC`XCf1GL9WO+;QmFfj@Ec`9*ZD_X5)}0&@2EEi zMSWOCeGtQZFgyU2&m^pdDrkAElKNVc5KVdnN)Jry(Cv$9gG~4-4D-qANg369X*@3V z9$7sDrAJoJqT4sCS7lZ&W0()d%~1Iyyb-D(j4w*PN5Zc`>5=g3==M$ceVOn(80M4J z+cK&*#y6$jBdZUf^vG&Ex_z_SBeVJh!+bFAg32f1|3Vdnafj4Q5*=vO0=x z->lN{gp2kfi$+_-eJ8g$R6Yr(K@~K)O{Cr<;S4A}5{{wUH{pDla4v@VWTnZd-Wao` z-Xkj=N{_7CqT4sCo-(U$80K?~bb-nz;Z9Kb-UD`kGKg_|srRU+5K50~dZF95nj%@v zKn(Lqc>q+tDffdiDCN_n-XrBRp!7(22)cb!9xYQY#xS1=7y*@MHFP&?ct;%*6!m-= z^_(ErK^8L-gPZ> zKE*DA%5(Oj(FIV6<)$nr`i&9)#$lO^d|N=|Tm0SM6zG1nbiXpd{XNk66t==Y^76pQ z>ty7$0g)f{cmF`3`=_P*Co#?^`N#deKj!Z}nzSBDkAr*zx_uAwjWVGZ{G&b}6m^q# z)XhOr-;z)AF?=Kw+U_6q{h+A-@s7G9DC&M0 zbuWhbVE7Cw9}J&B6?941CH1wA;b_tqP}mAB;z#@=5pzR6!VjmwJzclXE>2PC>VC!cAntsTk&y)k#nV zWmRA5J+f*Fr3c0|bo*v?9kRmCvq`t+X5;=fIr%oxCf#necTk&@oU%;FDR=Ug?sKn& zTccubWoemFektE>*SY|S?JgEcwUX&fTuN}2fof1$RdxBSiL_&{r}@?HF^Z3={BqPN zxe?O79-{`&n_XFQ@x&R*=9Z08piYUV+~lLKL&{tHlz4u!+M=>nRGs{=)jndi>m-Gh z@Df1b9;sF;5ENEG^;Z;@yT>R#R0{WFln;ey@|qy!Lw-syXx7F)z?!u2x1& z6t83^|1_tsbZ{!h4Jw;aKC`^KtWp^&{>-Kqd8w`}pEXrciNByj8fo~RUwp7?obQuH zDipOGoMzv(e9x?VlrSmyhY{$e^+3BwRb?qD=(!bkdENyDqJJxm zze+HUL~4XFMjgZ`96U*Xwi5@@QQlI>?-H!w*$(-mSIB76p>~m3ljc{KRnf*vBAGUg zk`W|YV1qd3=d@l@Qo+pmllbOMk!$Kku+?kLUKEmC5QT$OIEdg7Z(NW{hjen2f`&Zn z7Wkd3Al#rJGHdS45)poJ6#G8WUa`%h(Ru~G1B(& zlG@8WvI-)Yr*hZc+EIS$h$Z+@c;+M~LQ}}eb+rQY`Vcx=rp#N zcDtggbEDCY)N9dnHu=`l=p4rU6X}+ih#*ooHF6U79f>p?-J-=^l`pS*tl>##KH7cD z7tJ5uR4)lTfIquOWj5J zjoN1ICGBPHU)t;17HzBcruLS$O?yXsPus42sC}e;tnJc1)jreqYWuYP+Lzkb+ClBG z_AAmqrXAO6kp5z%zZ9u2i!YD=1L;2%-*5t3v z-;n=I{?`1R`MZGQv-~~zd-M0@f1dwE{+Ia~k(M=&V#1sBFRhq4yF>Zp8Pigt$BzS8 zr2mw%iParCb-D#>Q1o<|Tv=9HeQ_ChVgX@H^h$c``maN2`HZ|NQ+Xdvd2;lSOHTqH zGj#^f$vy`qX$u z&EN7dSY`BIJ^Y^>-ALuR{-Yc^_UPP2Q~vARy?f8j-Fo%x)I;gS+s>Uj_2_}V!p>cL z_T;JyPl`m2ACE>RFFvX8z43*|)~7!7@na+Ye$PkG=IX{PFP|2TG*7J;A>GP8QTt!t zim1FP8KT`jF|(7J3Jw-?8b`z*O&Hfd(zL(IoyP43(v>tx%71d4#hz5;3L6W${*&V@ z{-hlBY9w-*-#BXyXk60?k;q%S>7DbR^k>ZjXTGYytJ~Ss$xpDHmCv-GkMWbrXN@0HQB{3TVGn*%D(%u?@{Ad|+TV~F ztDZl*Y;yUG2%B<3C$;I5Cst3KTvgqnG{PoVR7Kc%vvq-%r~PsRV$_j; zgbf}7^@u?b4E#So!ivhPiziJlnmY@&;{6~v!~2TRr&BwNib>O9KiTtC%gQP%D=I6? zW>-{J_nut|%+-;!qSjl!>lz(bfYQ6*h;81aX2!JW$5=k;;~L@QkbW|qBGT!fBcb*b z{@Pyj)#rW9dbKL;Js$4p_c9<4v8eQLS_~Ac$_t?Jdt36vv zqowaOEBwC;b_tKh!(7^I`75u?iH&{l{^`$tR&aigWQ~3SyI|Xa)t5R zi`kQ>)V{q?j>M+Xac5tk|1j_Gcb%1a*C{Or-T1f0r{W(NDVah4?1{C?W}}?yDJ2!+ zpI*WJa~=G=C{oh`H){*=W?m$v<`$eEqkUT?HSV8iTva-8mbdL9a`Nv;Byx&nKM?kR z!2aSXmsla`^In}48kde>i|I`loC?Ra+S)WF>C{%yovosc8(~ju$D*plZF4QzJdX2w zO-C5oc3;3wbJ@*Ku*28Xk(ze6;MLTJv2FJw?0yz@qAqu^rDU|c6<$W;TE~t0w~Bt7 z9&KD7dubv`VU(C7zAcZ`G{ZHc=9Gq!NCwqrnQbGps#&#hoB|xzliBq;UjBfjZ*5wK zkgUjvHs0knQ{%P6&>MJ~ZDIH%?t0p8ZCaNMpMhahY{PVMl^w2BVL}0KB)k46QEE_(y8qC7UTNB9Xs= zNVFYn#<;?$Wl^A8$f#~dyllcr*-mdQ%9`P_Q>U8jZY8_7I^hNXa*woo1$H&uuGHq? zZ7{2czsiuYRQP0eH<>j$A1@^x9J3uT+r!Ng*^|vZWOF%g!)w;{ zuxx;1M>aB4Y!VZ^m#luRz{@o~of#u56F=g_QC*A1FvMC(R*059zaIA%}4 zERUPnYxl$M3~pCit1tsr50ceMOYky%kaHXpjdNU9YL;a8 z5ZOJk6ff-tJ9d=ig>E~^emtz!lGRh!;pG8XHQw4ZDSD0;Z9LOen0n$RAPd8{encs0hglKU|8`ynH`i-aX4X zUy#)!ajYim`XwtWgUO?0a?b;J89F)=NyB+CdLPE)p;$RST$D_9o&iVb-y@A^k(zH{ zc2gTz6s*UKeqJQfc}UY}6d$r0|7w}xZq3*9W-_hVfS1WIP3hk>8fko_U8D?m>GMk} z=2p+1TU}y5A4^J(QpE2N@fI@ML}u5)tOyZtWsj!f(63)$8BJo)rb`!+I9dI2wEaQ-QWF>WuC9?6P6mc_Fuu7bNxHpUp3Dl=tlNOmdaR!WWYk5-rNKFL)zk}d+B6!2dpjIX26_`$V zYtFqb%b$f0LDh3BXO&bVm4=ZU^M@G&MvNMcV?%2gIg-z5DC@3d=G019ALQ1r3pK6e z68@YRbAr2|hLNw@&75CiL$JQJuq@w3G7TeliZG*#&xSLtE>_+)T%hD9v6(X~W;xfL zDjXvx0d%CMAHqI{Vdarc{=dVa`rMf28JpWV)PVD{56Vl!$O>DLZhXN{Bs$AIvf~rTGM0 z){k7>ZrI?_qf5xV_0HJVdQ|ADE>*@nupJzOgSelQi9G|^n_o~n1=4BxXn?0 z`o-n+>3Cvg<;3|Vv#V*|Um~j&{+Y_yl;_hNL6tyo`q-kP!J|uzq35X#(vjT#`NPf{ zJ7DCPk};p8GJc5sW;D~Q@K^0j&>SeiGvX0NL8I!Jce4&6$sreS2W-?8_wP|)+N zidki|s_i555E5+|c_4q-5X^+d`WWw9SgtOzLJaOU2xma0G^HjbO$@AwrWmQ$yTKy8blvjLD5Yjyzch7S7KROU9$qx?t zxusYzHBVwlG=hKQ^aPfIb&KP-7CPbJDW8QeQp+co%$|tHP-Qq#m(0Qm8{e4OCz0uh z_Z&}YWSV_Wr#$LVNw;}Gvw}K^=_r049_mMK7e`X@*fAx=MI|E!k0>5}u5vyp#Pr^h zKX&NIF@^kK_(C$Ev#BKTIs7$@+{y=b#yxmE%|{l0gHK(k(TlZa^|ONX+}BU&2v6(otY=8XXe*<-am=MYBpc=;=sC` zQs3cw@RT@HOoz`Vp4c7v!v+lTCu~e*iWrQ zMf}mGzO&WF#RIDG*b%d1{?=;Af`h4J>Ban|)gud*YIwg$GY{kaE%bhYX8wftx6=Eo zHPG2eJR&tMVLiMP{zZBEr^<&9fXCiPD4VVb&r5+6x|DvRl%7^8BpP~BdJ&7HvtzB; zpLQMn|3B8w1HOu4{rl%6p@)8fl7Q&7geus} zMXwDJZ0JQ)u&iE0xhPn$7wm!;u_6lCf%o^!?9R@f?5^y6|9(E6InO*ZPx;QXo(EGrUPz(i zEyrZom_c!(CDG6|#G94IGSgTrjiuQk&x20?QAMBSgluLaHoNL$B4%FoX(Hyotok^m zG9NB@Dv&~_aw#Um#sW$KEs2KS9;xVQtZf?0vGceL3Z$r@*PT36^le2N9DR;R!$F@% z@m>y7JYGnl!C4HsGJv%kW>U#JWUD1!%JoM!+jbOw)OGHg6dk)tKi(1#&|A!+P1JNzfm>kfa26TZs- zv{2Cxr|6%AZ5}P8jDIKnk6~TbK+RuTbP@Ni_6H$iPTr)p{UW4Xz1r6`YCDb>@;?!oxol(Zl7qrKtrdK>Q8XzHwX`k%_(99Rz_B7 z`m{9M-`uHQ;WNca*cpXZO zbf?!I^pJW8>Ar-{JTDC+`TbK7kvV`qP6kqFGCyH5YBbXU&z)RZz{h+XI>zw%qA+o zp^sC66q-scJcWmiW3WL~NHp{dL1jT2t4w3_Z7{XPxH_VtZ{^)!79bJ2Q=odeSOHTH zBlU~Y+~=x`9WbUfk=IM5pv%e3_aIZBj9u(arU7*3MUu=SB9n?fP6kqFGU=EM8_m!V z84?YB3CL8ZvCC{MF)=7ZG?{4JSgJ)vyk3?oSXyJGzAORDatDiAFP05X|wQlg@vk5hpZno4I(h7BDJQ6bULuLqTD)7aH%>`EI<7cs7@Xu6?sgSi%o z*!6Og0;W4g>Nlpj&#gB(U`%Twua~O@T~6jo4>CQ-*iGJKdO~O3D9PMFWO|{GlYtbP z%pgpLjlO7z42gz*JILIc#%{5(6o^5miDobwHjhfE5_}(RU!Be%>koQ!Iukl`gXHu8 zaXJfqoD-zboQg3SHm0H>P9z%oBjEI~4QaXW?Kr+U!75 zOUJTt@{DGY@y*_hN})3!lZ+lEMzhh!89@roXaOd}Mj0AnM53Yp8;qV#V^7(b7K%X^ zie?cSH>RhRTH2;yx(FlnXA{oI+Z;@$HIdiSQ(3OP?r^9>qxg;{-^bIFQs@vTU4uEj>oY zKk;U?89MW0$><|uv;}>f5v0(J-oRwo*olT1k!a{g!RT-r`!S9EkjB2ZVZ8~R{+;!h zia%sN>||{IXw?%vWd6azwiFMUzsGy~N#~$|hs-}yD(}DrPX$uwR6fUK*w{lUpe51J zk0F&m(%5fl>=!$ay-*-U<#F2|P9EyY{U*|&l{0@4X*dt7j#Iq*V2Z~JDRjI)U@~lc zNpYej(a`Ir4`a2{SxP!fN@tOD>ml&JwMb{p?Rc9);Vzg~PP}Fd z1ZF?)Z0-bH^FA$-_`EYl88m}&o&luL8MMY^*l08f@WZ39Ik)tKi&^sf8PU)&9W)M!b>({e=LE1mU7XWi@sP8Z`wi)IWO_f@i&SONb0q+h!8ylpH->V4DQ zwb#$d-Lxk1TZtY{@@6-@Pki21NXGi5gICSxZR4Ob`=;B^+wzIbc=T~HkV2E0g2}Kk z2@R1U(a=u=nL+7nfQ@CU7<8^^iqN>R3=$df&%;9%EazdQJ|qFlPzQ@z5|#~q1{~l) zWg6KU>P_W*=*%IK%3z{Wj6O~UQfMmWm<$^;(GV394SgJ_j7?{w)7dB+%seq}zGy1Y zxWSA?BKAjOLjhBXk@|#m_pxF)U`%Twub0t+E+;d}gG?0}GrY+xfX#uv~$W`qTt0=Q>!_ zda-P9Drb05!QZJz^mDzbtb)#*Dyd8%Dp#V9Q-Ktk$}N}-8`q;DDkK{EOi(FFXT>&^ ze~Ll3ism*nZYm|n!Y-EC3YFV2QZG$7ie@`hOlu-9mSTaHumoS1?dKhp9fB5Hlz(=#Dk)F2#p(3nNm8H3Z#Ewq+XE# zsnUU@mX2lPPZcG;|wRE|H=~;}_FH1PWE_X1Q)c;IGcS{zE+tOS zqmOff6q?g+Oook}XowSuhQ1t}mfDbB6C++1%^PUkkd`X7v{HfeCPwO4BtTl}KvHYT zvT^dY^cERk>CNbE=*%l5qZP#H9rSTVkU}%c!LRFKBMl8PBGJ%ygV8JL?4@+JGo8JV z&i-TbY6G?Ydb)nA^?^mBpC!HGUr#5ImM4-!uP3aY!KdNRF(CJQjabm%nsOG9{(?oF z>J7^857J6kZ9;11ICBxY)?9SFP*)U&fZFAZ`eHgV}$-`y8gJuLnj^| zDm?ZmJl<1yyyNhA%X#}oAR7MhR6-d9*XE}+poks`ypU%EWXM5AxXEu@XPy?CxJex;24mdc}!(zXn!LQC=2n19j=3eFfXMzXS zi}*F$H+d;uoI#`%;5S`rQY4`h=RW04p;p3eTXQz@gNJsK`+ z9%+mtLS)p5GD?cc=M8E`5p*x5Z^rS6CkU}T1 zk|K*%Uq->BB@qu7VtBX^W2rG#KgR0DSnZhgz+@HFdb61Opl#&jV5Y{zZ3P{)_3_?* zW>PmM58B%3_CILdm3a;PnayH}hpXt3mD!XiT#KQc0;JFs?!aW&xCsqWAkok>Kp{QG zTE$q47;A1LxDz@6Qr0lt$zNT=Rw8}AhAl+;d=Zd)%p{L8c?{-x zCXhmB@*Ks6-y2Z|Xh}5m?#QHTjCGE&PBGTOPUCs#kfgE@U6uGdEAe-7;-_oE32`uW zNQ}M*MZXU3j=olMiXYeD``sA2?pL**t z!AZg#hY0Dz5uL@xiY)kVTt_=+u~8xkpIZ<2S?nnMnUiar#YB%hi%lX5KVvAT04X$u zTKGdy*!YvOM@yoi7lFdm7&|A%&Wf=!Yy`ET10dz#nd;=PR^T}zeSQ`@OIgG-ME=fM z>^use{>qhy4=Hr`nh3uog$-LI8u}cBKRd=|#n_A(n;v85+Zn{6*2`l0c6AYFJ4u+c z5TU(@Gej1A5vMzgc)m#Dq!uw3{>-u(izs^JBF-fWI)-uzkU~@FiOI0h5e-ow5x>3y zg#|HI8DsNftlUP>3pxN&7IA@-zq*K(B7MGy^OZ#`7x_DjxQN2<4YNFaNTI_YjLEQZ z3Wbf9L_@De_?N}lB{6of9s3X{^d$**5|=sQo0lLqd-*OF@ze70yLLLfto(e|j?VK* z;#(Mbn>zw7%_TKfQ1r+ZTucZ?Vkk!dDKvsfm<$_Z(GUU>4SgjLtcbB?cK(ym3oc^q zy3noQ3MYAW?Up%fCvIFtgJh7`w`ju>=bJ zri4T6Iwwr?8fA^H`afBtQn)m4sJC)$QPI{&_kq$z0jgy~w z2j1iMou4!8$9h+iv3p}cQu9lMtDrOQi6JQd(Rw|Rxf*?(45ZLxZo_2QxB(53A<@tu z1({7TwlT&Yim?qgoZH3FJ4ACQ8aJFx3Y;wpoHZD!Z;rX|a<(XNtce`XMg`78%E@(u z2dKNq@D^`SYoRkYOHhvysJqd}K|u-)Y9l7Y#(iiA6p8q46hJ*4V^7(L9u|W(iRKYB zZbVOu?D*63Z3?1CF;agvp?X3$g|6dt0y?U2`Vk}bBQf_)=uwB0X-(wE*g*lCgZfSZ^^FIp zpUCi0Z%~J!Gml76hY8dX^l?y-LW4@et|PGVJ8Tdr5)J(XKpl&*KVs}Rn^LkEmm->4 zXxx;Ji3Is!mXzU~rfXxQ9?fu5O3LtjXk^*okp560{pJCw4%to0@H}JJh0cs-*k|lW z1`?}>J`M>|Xh^g*3v9GPLy$-`^u`&(Si=m~AcNJ*V0ALA2TXA>G)FXT(6~7@%y6oy znZl_pM(Ry7+;_vx98RV+kyld#7{P-n4ys-Te=xnm7tms zsCMY%pdf_?)f1CpqZ1keMWUf+0#q!6rDd>|Hlwg!AlW9%l)zn_V=Ad*1 zR9g>FW65wAZ%~EMnVlslMxe%_kAs2~8q`!whK)&R2o#Bi-WQ-+#)nwV=ka{VQdU!xOpX~PchExold5VP8k04D) zABO}fG^7elhK*7*1c^jL9|=gqGuY4!HaLS7*qkcG&??a^K;z~#9J$!lG+NY3a+L{4UVbNd%`W~t;hi@0q>ALj-sG`D9k88#k6L)=I- z^o8J7mBA`9*t`r@W<&e87`jz7&!TZds}lM06WK)yv~3uvFG_%RkpoSwGRp?9vI>RM zJmr0v2eaqM$3@=Eo`=p{B$-`E%(kPCGlLYG*}Iqw8?T`uW+dY86v3=IgI#9RdQS{` zUo?BrxM@`*3;T4oT%q*=M(WEl+z+poJG4w|A}_Ja1aiVP+CKU|Bm>L6QG5iQxlE#1 zN+>=?A4dTxG>QY53>$mV5DF3v{VJeXWpnsSjQCnK-=J}GSfy0WwF-xCF;c%Kfy1>9 z2eoP}8!imr(fn(@F?dN~tyIKq3W?(wso$F6epGgwL&CHs@`||0qasd_f!n-M(7%0Q-YQZ2lTbv_ z$5B8EjROCq1)->ohER}b=xc#ujm@E<7|}>HjnTL{tWhdry~3dhM(XPlIIMR#s1;$^ za8*Q8n!nx~Lo?{ibrQqfgrPb5I0i_eF)YGl*eFLs7)Uhqt-$b11~W6*lNs!Bo5w}a z>02_ygTh|)pzs+dDbuv7g1#(!(jr3->iIXVcrhP$InjYc&~yf z9xtTO@!pEbuyH-biIznC#Tnv#J%jDeV6SAbm+X*lgU-DMuR9@|yOlL~#lh{Y!Anl3 z#~RQ$^>0?*qRj4uN1hp^(3$-UlVRf?$_Ooq_!}`~wkLzVm%-k#)7l6HGFDb%kCT?V z67Puw_;vRk=e<~ok0{=UVT#8KDRjI$F&Q?tQk-Z>H1q?AcYg-^B7^PCV4r2MPwc37 zLG50Q{Z7>87YL6ooOD3!b-0_KiCY9ZBtCJvJ(h!id(5Afe?^JC0&hGqNTCz^5R+l! z4N3?tiH3d{iT#+te#l_oXRvQG*w=PqA3^O->_;WBAC$ztcQP=)brSp9>Gnu0vCfWA zdY{54PY+V)^uEPp*!Y6dLQ5ikgN5{d%V57`u%mWj--&VGi{>C2_bL51q`90vhb-6h zPE?>|Ck9+T(yKZ(pw=;LG{ zg(hAC>l4GluSwnSnvbydYR5+$s~-_ z>t?#K)XVgIENR)`RFZ@}dM~LYldXE0IM{1`d6WX3SvS*u6j>(|QPx5qrvfQ7m1dX> z8?;R^Q6bUL{{||}GFg*M*2o6aT#WmhXj-6ggK36D?3?3O3YeA{skh8@pVC@6U`%Tw zua_nc4YQH+UXp1=##(ukNrTR8Dao`TGU@2!WFUnm(+-niLqkJkNW|Z~flTX6mSJOQ zF9zj_rUM!`mewK*UN1QcmW~*y#}lyRI9Sv(y=8;fONIxPPGl>`n+k)@j7usSQR$36 zP6bkEDg!VXHhQ5UDkK_u7f@lDtYaq2%Vh0rHUq`bL82)@<7UHuobTQ;a)HG-so6GwUbv;q^37VRkM}u$T=< zU^dWUrk0guikDTsf~>a(vT5ABKsL}D+4&e^4v@%BC1l0u(MyqF`A!H;P z`e+~36!Qdl+>cKZ1AF*q(Cw}AYDmzr+7oU3Oe%~ z3F&NtbT#@oBuHT(^`UKLX`>G`w1Wvj;`@H+ds`1ZpypWrpv=+5QH?tq%{quBVyHztkzjyEi!>bc$0%Of0)&?eq|os`hsm(t@0IcDUfFKnk78YnTihFH#C z>rfy?1${#&4;6g_kp@R!5AW?i1m~YKn^3%Oz!Z-cQs{U;#$?!_okl2L5)C~K@wUuj zf6HRc?07$c!hMvsbmBGtCb;tpP%|gsntxncW0Tu-%HUHN=NUi>ox#_b3>&of2xUN` zp=Tk3%q$kO!~X`o?(j36@KxNgP|;^o^xwiZj~-I!=zqav*xEA z#q9)sr374uYOa%j*+$_X50ycC%7C^g;Tb>*ok4BBb zodnG83jeO5GU!7Yq}drj3Y`J%7XllZRt6;Eo*fzV%VPO<_-)ba4!@rhzREv8RP?7( z^trIj`9lgFeK$;ojXa7PEs2Ic6wwdPVg*@jpq)T>F^;wt!LXia+;@e8#R~ABtBuHV zo_O@aNPT#g``91hbmwD>7Ocd0x{E1L_<_aH1uLnnU=+h zve;A`%wO$BG7X8?pS5NvVEAq%C0XuM?F z(}_&6O$JhEGS)UDr4|_y4ZRFx=47$iHWpM`Xn7Wxj%iZyz!*0n2;` zi&`(14NhgY2Nl|GM4#_Xg|;0r=SeE%MCC&C@p^$2nu@i($fdAB^+F;xN&uCMv)H06 zw$KK%0t)D9a}hKv(YV1}j702uxm*FW3M2K)vfSs^%N;PLHIdiLB0-mvS?EEAwinSa z_a<`{bmnD}%%w!;YV>h3kV2E8{YPNKy&cIFAhSG+Ew!=y)pjJyMMk_{u2it_?MPN7 zV7b!4qSlLLgHu`RLFEpja-}yFzWK;1No6Hbk(-Y|3Qc8$pki-6LZYGH1S&UVvFmIq z%Elw`N4tu+i{%DnVHeBI3KhOZ$m)c%?#&Jr)0)VO2){z04`K_9OkNTE4d8<1>)4LYvG1|)ZY(``1SzuJA|Hl=j#QXui&N7f`jy32v2 zmX2lPwnV1&a}hhW-E;-IvAgu`yXYlqlPf zxNGS?rIsF2Fueh5`hy8)adnq}0+D1=1H7sc%kzw8ep>){nVdFbA#E3-v>;sIR$zrCB>4+F~R5U-MabtQ$ zsio%>Out~HzAfQw{hWizv?lUeGQ-x=uVno>Z%)5KXKs_6o+VDdqmOff6q-{C{)iej zj>86VA`w3&0jC`{q*`J`ZPC<0)L*}4g4(+2e0 zu=D5x1yWQVw;gcuP*-lhNP||+{6eJRJn8&~;?0LC9xtTO@eajg*q}{=C|(lrkQwp* zl*JBZv4dIcJ3HiI(7Dn7rkU~el6q8}&?-Vs!67fS0MBgl%HOXd;>;#rU;jWivP6B2Vg@2<^8ML4b zmcuyD08;1-Zp38RxQZf2OQNC2kU?5DYiWm1I}*9WPjkXo`L_%eeFjDU57_3>Lkb=J zI!uO*+bC+ZBpP}fL?6#)+1aeModE4g1pPgtxfhN5Dj63mz@NA2+0OH}`!G_^&34zG z?&NM-6ZxT&?Idru#{0zQZTFKgJsZ4gK5u&fIx{!he%{uW$ZS9#Cj%)onJt(M8+;Qc zv?OBlVvy;S%{tgv9v6e25Djg27SRCZ!AY-~eA^+F<^E`v(HY?hzRdfQ-jiE%H9=4CW) zF#V8-{gHT}0_GKr)CXj{kClNA7}J`_>m^^% z45ZLxKEhb#xhi7#Or00f`vA6(nls>8RcM6 z>&3FcsSNg@!Z&^zKJ;-akU~@W0h3|lD>OufL_;?~WqdX(w5eFz zKGA+o81oYvHp*zN~cJHl!B4^xe1Vp z97t;EST;_cQ7tlF+KN{LfC`gkot z3e71OlVKwp4RIpT(C33wxeZAdBif0kJsLNpa;2846i9g(saGaIs&XKywPe{i`C95g z#;d#;(KcFUrDRk=j5?u@GlCSF(OgW1jbb#!h(tp-!RX0s_INhioXsB1W}9qYWl-zS zWb4bb#Rrz*^s}TVoxIJ*t*W9=zMCz0^vUB{Ojyp{H8S9T`SFUfnlCx4x$`eqGjZFpd*IZ3v&L$Q9=V!t z5Qlp)lyiU-ngi{$0~-&bAr2%O`bXgKK{k6oo4uRO-nKbBK|{S(^8<&4`93nm#h0J= z-W4!tImO>3@x^>wuy7XhV@l#F80Seq3Z29Y6dC@G2Mr}bqM`p6N$ksJpJ%gA?F?vl z9M25)IT@(+__=2SpC%@-pAvW(ws``OLMQM61%|CdDR8tT;t%VQz@cn*Fq?gs&A!QI zU)gDV2(^ABTfb2~zZ`N>Fb^U^`|-|qA_x9>=NqRYzYr<6aO{M9A= zO{C9HDZePEl%pblrwWf#__RF{4w+hk~9|4 ztY<6@pw?40{b6+x>uSzZqS~6Xh$(n){~9q#lNX5yy8SN_?nP`2e`czdczF;#auFM7 zh`b4gate?_Q^>+(*l2-4I^}2 z)9<#{aV%Zma-2L&4MExmW0pvSAB>sKI>wy0X(FYQIxc&`wW-%wQqd!qG?$prra_zu zq|i);Vlr%;f`*uoXz1O*q>ILw#yV;&Ph;(DAj6;rF|n%SiAEQPhPtXuz~HOeQCZbI z<$XJW!&%|(l+AFs;MqV5oegbZ0~=>h7HCN{^a04GzsCA$EMH^2HP+M4hHp#b%BH_} zHvN=r@|6sFEAM+IW;2koq1|nGHjqMRbFs*V?_dL4B;q*&vKgwe!5S;D^Y}Xy`bf=v zPdd~|#T<;->@qD7xlozXoqoi%^Q!L+Y2q!+<#1_^tWln#N0#RZLQsvN908=z2xuD` z*jR>!7L-IoF9d=y8av(2pSGj{7g3cHsVc`f$*Wa)y0ebrUUM7;NL$(P03n4A@K#KQ zjT+Q0QkTToNWbVVV<_HJb2$vPNs*(mcDy8i^jcMrRR% zyD*d^fD{@5?N9?7>(LMb5)J)4AUIcJQ|$a7LNB-|Yjm!Yyt+nH64z)N1xTCF@Bkr& z4)AGAhK)xkFtj8Z`dkEffyPQTHdA9I8Y{LVeFkd1JmF}%zzNnYRaR=Ivr=Y>I2+I> zykc~p?8SQ<{F&u7mPz!;Whx^IwB-z^04X#D+B*g|UO+<>_*OFdB2ZYUu_}#KXl$O1 z;B|}vAm!q{(8*t2tSV=*%nIdXI8Ws7oZ2s<@ZYe*hZH*ePek~9=Ns4}(a;wo{L3|V zsmA_p$Ns4p_nBxuN8^5=aXCVxb0O_sxr{!9->HqJe@EuOG{O1=gsrPSvM%{&(CK8E zlf7xpCnM&iO8S3SQnsHP@~vumh`%~qhR;bJUsljwHRe*y{<2~TaiWcD_%cHZ&FLuR zA@-J`WhT+kuLh?pHMY`*^s^ZBi)emDrD&l3h+46jIq3sXw5(KgVov5Si9QUPtQ$Zq8_}au}`g;H8n_4c?&Q z(3uZNQ1=t49Q5&Gf)pB5H%x|&JTwG~L_^;UP>*VClg2jMl)8&?Jw($JjhoV=B0*kH zPbidnVWj?e0;MM$N@^ilHaMhB3Z#u5kb0BdC%hr`fzEtfLfS%*^3lg3K?)725R+kJ z7#e~^qM`o>ke=7rHjQo7*fTb#aboCr(M&+&=JY&rv8(Atg_D7i`U{%-1J#QTC)1k9 zt7)5n%|UHdKt1CDY9bka(Hqnx=*$-+s2v1qGWs|uNTER$V=`=l1`Y#+@rZt}z)yIN4=k=k&YmW!7CEUKa?0w;lZ7GJB`y{r#gl!r6 zI5tS3vE4yF@e2qvR9hq(`uD*0t;W9A*a4dv?STaS8qwT^#?9ukC&IHbU`CUQVuD}WAo09r@J4tbMV51sjgBy*6+(56eA45ZLx9>rwX*noz} zkZ9f+YL1+Fc$^1cNO!RRwkV2E8EtFt`Zw-Z(@2I4=iVtHg;;ea`HI1{zaqEfR zn_}o&qInyQ8%~S3bEw7Q&Ryj@7^$bn-8a**xbq~?n#hl_<}hOY;>v6q=T8Fpqp-&4 z$EOK?H*McqzDtH3G#!hokHm=jMVi6O6?p<>WSO3!K+DAAZ2+#`kL&v^M>>d zbfzvLGpI6dKa+m<$`VB@{s-(a?JXQqMT+9%o(StaF@ovQhmZM*k_AV`$u{ zdLkYB+}&3}MY}%f`EmC{xV{c5)0)T&s=MILS#?!dbynVY^590BNa=mOxzWy2X1?Us zhq%!;Q=A*5(A*khGHldFL)=Kj-+6-D;5aLYvw?ATstv7)7}``cwAGUv+F+3{udfjb zG}`+~AD#ehgab{jFUtmJR-kYisJuVbgBfisrH}AtM!QX!!zHs}#EkZp;>;k0W@c^I zlmi>Yj6_2p4`zjNHpZq!n>j&AJ2j!9O_toW3Xz3fViOfwwB?d+#NAKSCOWiCYa%bP zF#5 zOok2GdWtZRXy`M5VS1dMZ<81!28|UB?d9YqFzmz#&=01;dpN>ABJEYLL zUyjMJLEAS`8IXw0k&*kVIJ+XwmdDvr8$va7`jWWFZWSe9Ej=qm#} z-8?~G8JJ6*PLF*d`S+6rxC7~THRZGvzIaZMLg#cHCd0-RlnYuC4gDX;>Bcy_KF+SS z6S^J>ri5;E5>gM=>qY4N6o0MrUVJ66n&Q0yrg*%NLdUxXlVM{u#fg?gL%$30 z-Wg}N$JwoMc8eYIUC_DL;7%uG^LE5WCumxOTOHia8rpLDFH%+|pp&kR!N z%r;{(Y&=96p(PQ2wusE`i?e&;Y@MCf7ATOhvJ&?>X{jr5k3-*F=e!pyv4P@!9Hw}@ zkV41%Dkj6m4vG^kiTLwD#JefZHpbaQcD%dAxYtDUIvV%+U=u>KuasMq^T8V!sc(+E zi*AdPs%cH+=f#aqe&$2YdwJD-lZI@1r3y zB;sEZ1DU7e>?s?|XJXLjqS=eajpb>P1;5?ereN8Jk@~X)C#a{@MG~Q4=P`f zt!>^^{tKP?tfaD)sO(1{rvfQ7l^-z~HoitfR7k|XBnB$G;_SsZ+hK$GNsK!znj>i3 zV0Ix9yIyuHV2)y>{%YKPXzX^tnASvIFE2VY%pJ~qSua16vEANeeu2(>Rg!sy$oz^v zP6kqFGPUY)GRI+q$dG90?}E(RarUN-rM4JUM>KWOxUsw~vf%ZyN5PUx6RhV^@5gaM z5hsorbPC_2(6Q$8T6xohNMmkCJa^jT4W#YKDQXt zPfkA-A6e*X{jt;SaitKyCc@R4z6k3??hbh4W6+sjN__hXUuX1je2_xp>xap((H#xp zBhk=*1il~Q?E5(T)@FB#7}sAkr=oGQ`@zaD^1P-WQP>T{Nd0gEyCV)e>r})qv9=9D z_q~Je+mlB(n7keFMmGdH^RPts6QLW5K8_AjXmkc9!^S8ygpNc*kLC-paWV%!|j%thlSn3_XprAhqM)>I)_j*)tk1cFT+f@=NQHmLsU=g1!d*0oHd z`{V#tlFz2z0IQ%gn@E6-3E%?sae$D*0L;hayuxT3fXg%VRe*Ly4qKkXmgca<7Pk)O z6+Dq1luaZ%{{~Fyi1D3>UZj9NA6$tpHZeJmR9)~{CC6Nhgb&ao;H9Y%Ef(W-VO~Ws z_q{O(Kdx!Ib>-3{sgdeZTpvc0p_Y7z-nHr0CD=`_`U2`dohvL46I1eT%$b;680~5< zhw<+%i43AxNWvzC1y$A*{=+GV_)}Q) ziJ)=lEKQ}K6ZACnYja%AWG2`0OjiGonbgW#oij0|Fxtz|uTKcRjm_$M?%`%n4>^9U za%@($@^0oH@>PO`(Y{!tn?U9iPUT-Us5p4UlJgIVf;Ole)Dj8xrwL98oXRT@#Spdv zhZRN#VX=ncBNi&~&K!1o4!bpn-C|YXaPv-A1>T1gMqvC%$NgG#jY4*$8g1xz=a{#6 zRp8y6>iwQn|Dpod0%+d-yaLA<`uZI6cBKksVXWs49{8UfJir}{HS~LP%v(iOi`->l z+{-;|@bvH(g~3zUz&(uP6_6cGJT9CH5N>$|h)hKV2(0oL8Sh?#3A_TZ7-1^lWvp5C zgD6Hc_o2bca?#M6wi(76w_y$2SZDBupfww|p@02_`^8@uEop;aX}8%*ZS{P**=*bf z?|Il_Acd-p=D)#$qF=K%uuhfFBZYJ_k>*4iJ>M+SxG;%_`iBVh7b{c}4gFMvdP*DC z*ADeh^y>Kt4FAksqkXl}rD`Nq%wj_U%?K z{W{)t<Dqk;3a zsrL9$ikf0u&o4&Yd3Qtsi>Gsn2iu3HSXdYxi*+tE^j|>ns6}x+H}`9Jb8`!$b6{>R z{>c`Y`^_>}rXOo>{`S|4GEYx!Eh=bdGgQzqxk9vzyK=!~F;)9wENvotbVT`)>r4{M z%0UAEL5-H;pf=hySIe)3TbK$ZI9iYQXzh<%1+)S;8+82XbmjCP$cqH?mc1Mow;?an zK_HS=D`Cj#dE~N6$<8VP&&cf(SfGseE`bXv$Y{ZmW?H{L+ZRR`@g>B&u*cOUh0(ub z2`@49x_QG`?L2W@U0N8utT1}Ho|jxX8rdL^g0DUllh>5f7HE@JoVGw;LU(&~$h}S#Q9loJX_-f3Epeyi zKCG&j!1UC1`l^7!sR@I?y|hd@&mw83Ne?YC%6Jm*+;^Z1-=yi8kR*!5j~oqLdVOo+u)e5hr#xOp@sNgBA` zZ9p6(o-^&zyU{&E;7W|^CifuWUlgKkXEla62VXtHbThj60SGDV0a$$xCd0;hG;|3j z(a_UzFt)M|#_D^~rDx=st$Yqe*V7RV(lA! zdz^99tB>!%5NUF^kHRgl&)EM^pO0fQLf?Xh>ViZ=&qIB-v+MH-bm<-Q%yvHYsa`6c z!dSB-28!zhfxQMdTXa+8^bSI=bt;nwyy>1uMfD!tBdkkRCXPVw`cx`!rL(T=Ozyto zv>ZD9Jq=?VNQeIc$P1VZ8#~Yt5E2dj@9pqMba{-~OkNa&UPEItFD~{at1my=UiTWO zOr#u6>K-+pABDI=i3b(JwOaakzbsDorpw|);w?DFr{TU-o$uhi-aSuoOUvVVLtXtY z1>9YpSDIkpiX7aVcVD^eJ8t+r_kc7Ecryq0i5PH@4|v}_Kob_y^Q476?g13bu3WPV zd@j}y|6+~e{{VydN_P7nR`PpHhK+C0&`OeM=vQDR2jsE-d90tkm(Vga;&rZP;#S*t;9uNo`_2n- zbntNNQMlIeO0)=seMzVf9SYN+v{K#KlN(&0oYEL1I+WGp;3U0Up&z z@cJ`!qsxn@&4DASst0`0=n<%fl~>H2rp{`@RX;&xR8^Ero2$%f3RS}-1eu&B^1&gM z=I{Bqzxh7{%{P+f8w8lI2c1u1b)fP|tQJ)MiM5oTn+JGq>TkYrp!v8opA}#}6FQ&7 zV*Z}f0zKzR&w7C8w*KaG0?l`q=DP%#XVCd1*3r*1ueW?@zE^TXqHu^*7 z6JozW^TVb2Apz!33$!s#+87gH<8q6HB#NECqmim;(lm4{XSXQMZgFvT!>MSt3}~jm*ODNw7kGP} z6XbP~^tu4Ud{(0pDxb5^e5iaeTm+>DhKtedi(#n@sM_D_WkFt-d3#+RhJZIAg_0NdtDRc^#SSiUJUcWupTN;3=NZ_ zNgKSqJ{aWnQR(&JAk&X|o8BB`daE@3G=}*k^i+`7XT7~{3-bD+^!lG5(>uLQ?+P;g zmNfl3hWRA4JIL$X-d^7c^7@hVx+lo=$KIwt2{Qe&G=11T%ysYgBXmB={s5I{IYy)3 zL*;W+;)Hu#dj2E8^Kbs!5kMWFIetf}*ZujdANoh7}NV3-evVyHYZ(1o|u z+w1Hguk)qXvLMqH-li*qOkXNZUyNZs2`vipdYQM^%Y(eGkY1MtnZCl?^vWR9uSwId zxQDq;=PyC$lk85YJXbFoeF3V|7R;DYQZcxEK^dN5B-u|s;`|xLf23Y{hLOXcVMLQ& zhcdCqtJ^?{OWY?i=npYUsd-n>d!X|P`aP(8f_?|8G1C@#NBkC)K^eUv^&T003Z-90 z-^h#(V3c1*`=Rp*`wOUi!`=&JP}rYIeT}d|J0)gc@sncyu|=S(5nD1}=i}0R0@XIr z=$}%jxSo#(WBj7oRJv{y;5rpLpM|dP6_t2`Ru`%uD7B?tiOjCfW>EUAWu^=|9i#l# zvK4eSc!|hbNY4qps>N~BTA7!!=RW@Cdj*;wA)|RGyL1o!$~C{Ssd#J+BDxyv*M`qQ6nvxGuoPHPHD)f0e)a zXwpqk`bB@6^n6Qz=hgn^5&e2;V=cz{M7YM!L^OH_RN`t^V`ZaB_duB#Jf7>`i*BXJ z+|P9%lL2kQFrR=nLgl&O(da`^1zmnONWDkEo1ydwcni9H1KuhFej3AkqIxRG>$Bco zw*`59MS9)k@AXCL)%&pAA@v?CUWL+w#cp)_vN$ZG!Y@Vr7VjWbKA66PDroV(k$R7S zk3i`W@KJR81{}$-??I1Ym`_xHNUz=)f0KHTsG=F3Q6-_xHws)iWma||?q$|vA@ zPz7PEBlR8uH-*vzV>5L72HaW(9K$f5sM4fYZ;UOa-Xp3kC_SReMz?QNOh(lK!+bEd zhsq~l9jYLVZKd8L;LcEb1l$GPz5(}>0r$Z$pQw6CuihAYNWDi?r$FfuReyB*Mm0)C zH5|iyFb;*vC*Z+Q1z{|ZdXIolhteb9(dhOKc(M$5B8Jt7N_=>nAiXAF#D~XmQl~^D zK0HQ~&VbS*qBGI$8__HoQ3;0mAS{NeMzG?O+cc^)^vGs5 zx_z^`P-atwVLl;OK;;|qJSc-gE|YqXkQYJe5%NXo_6>Qd47nP^d=}s`s64Zw+sI|! zUY7@Xy;^!*6=eDvZ`0QXnf|9Vy&A)O61pkK>#g2iZwvBzxAeLu$n-jI)9ZswKPyc? z;~wUE_GUuolkAgFd9GeG`Z!dg+>~;nBa1%_+9^Hn2=Kh!%e*+1Jm+PeRNVYq(){ZI z=66Hqlh`X>p2d0LB`?o1v5%zZJprEI^Edxap!u()`TYUrzktpsvAzDDKa-vl&d%1O zs!yceYekR9$bQ5)<)q-Mr5~X4iR^o*d}`@i>DfE7uch8AvOi^Hzj=AD#h+{b;_v;a zzx8O+F(^GwjK|TfFmQj|s*`Eo0H)cd5wE}%?a|_ReEI@=7XUlR6ZE;pbEN-wv+lA zwHQt62Bin4?&$W#bgB%vABOovl`p+|A0fS^-Xp33P7u`N5EsD^a!{R-M#^zEdxFS!+fHeB)xiLG^E}ms&k<9h-wPDeWTjf+CCM0 z*4j19b=Ld@Iv>OzK~*D}0)9&S04ksFo$(Or8|nE#fam@G=D!Fue^i?PDZu<8=zJ18 z=Fnk5#)8c^g0d0d{(0fDxZUODpbB0N}%+>FazDb7|LZpbNs!|4)QwB z+w1%wua`=%7h{+YhDA{MU|0y1FNVvY^uTaAx_vRMlmRXG_qsI5>nd-rR|a|ghxB>_ zhWTK)4k}L!^sr*Jx7VA4yxu9j-WFtfjkoE$f=q9artiZrpM>rS^7^2+*N1|CdfgFZdY8B9mx4_1lcqm&4|Cu9LFbd~ zM^Jf|V>J2!R6a)~-TO(;2Le3r_c#AVp!uWH{7(Vq4?*XX*g=2K-vxR;CO!Wi;Q3d7 z^FIfgubpk*`z2?)&S0(;i$dp<*a<(+{1z!yny(jNz7BMrtIln-kT#kH*l6M(VxvIw z8PYs{nXaD0T?ASN+Gs0n#Qnp-81F2jQQY7A)pj%~7fO#Sj*f2MD^3>~P$z${9fG`e z_4e8=$m^-nYd;M0DVThyJQq6}?G2UBAs$T{0Hp_pf#~+dFhT}2)ZgpiAg?36y^ad< zI#GHZk6}I-3Ze4EKo{Og-d-mMd7Ub~o*iWRTyN7wL8eQk=@}U2lhE`aud}_qUJ&H9 zLV7I^GF|Cyx+=)@)6(>l?qRND{&DDhlHClI=juhHk3tpn7-*B!D-T>o@W=eoq-UT^ zEOPs2#V^R9w_}u2^RA$ugU%Lg@$QV;R{88081%edv5v^IfQXn7s{EjYq^{wZLS*^t>;?^XLBNKMgd0Seic+ zVE!O>HZ8n!o$n(D^V+fyyVcB&dQ8?TFOZh%B0v3Z);jmNMw(80E*TDRe%OHI|;enKhL9 z8j*onu5_Oh;9i5yhglX>K9OZY<@*JG49Xy&X;NP!>}Zk>r617lGNUdSiDgEA=Wc2Zv>Y|tJkW9yG`ezEm~&L_5fsC;AVEq!}eLQkppifx39Z79b1#Wol^ zpGqiz$}?=btr-cW--?Zsp2q}uKHc9u$etx_Ob)Oy5jvmfC-|F>CY=qXU-Z+Y=W_!* zPw_X8=*y&y3j%DELgy3xOh5C{XbDt76hJyU{??;OOQB568^1eVhHfQM_ZQ*U$bhc&_qsC3 z>$ToquM6^ezw~+!hWTJv2bIqvtc5D5Jl05kjYWtiJpiQ#rVZ%!#k55R{3wR`M72qJ z^)8K#QtuJf<4}4;^#r(dLF}kFm8j&C*ZA61z~(f>OBH}0ZNa6UqrWWz;DWc zU&An;s9u#`y)nKl^&U~Z1*Jz+Z=>5cs=YF*Pch5~1pFaXK^XT)y+^?Np!5j% z3v~Mid{74bEr$6-^|kcsjq!lgdqnjElpawXLbq>Jf5@nQ#W0_!ewJRnqdFq>9#Q=X zrAJi9(Cr&l8lG^`US!c|i@5LNHiyb5;HFRoEpB6}_Xs#0N{@hJ==KdbR|cGeVLnl5 z(yKSdEUEX1N{7-Ts&?r1jjE4~swal|93$PK@(H*rRKE9souLe3+)3&^vdM?iBb&bH z_RVIP%w{l#`Gi~mm2b!cp$rQ7RH^p}c{r3FA&)?}Z^#p5$b}f@vjAhD^2~8U}cXG+u4G0Z2S^Mkz3^7dL9%c1gIy=ZhPRHEFJa-!cD@oyYfOV2k3c)s4>{I!AR*Gltu2AIDcI-kUD z_4j;Bpyv(J^L+uH@9{UkF3|jA()=cj^9g>Vzx9Xwtw)nKL+NplZ$Y>3LB3T6^t8X% zr-Hmb>+N-0kk?nF*IgLqgW*M}e2Q}iR6fNSO?nkd4-C7}?Tg_(8PMDQUf&Gz`o6c< zJwaagORxJd%m>5gQ2Ai^6sn+0!pBly;~0)6eF>!prUU5q#q^U5_y-L0iRydl)%#B2 zTdDVm>M)cZQ5`|IZ&XP+_6^qw4D-Qw3@V?1|9~n8<8M;$5pZ&jXTT}w_6@kP3^*0T ze4?rkRZvuQrQRc|CQy1{Y>IB*sIEj**m*YThMX+iza}T&DB7f(to9$&CMBn=7IMnX zyruixD`3_rUrRP0{-cO0=Cu=P#_lc~N@3-0q ztagK>a3`z;P`F*Hl?()hTcP?Z3b(k&C^l3IcVm@Vb_?};U zuxga+6Gkc&H4L0;-?bcUpN*oUiv6~Iq`0(fM!DkV5+A%+MtX)9t#&b4CE zWh|}yW67uy3sH)lL-s$&BG}@o5oJFusolo#M`}xONP$NzPK_|o7sge5Fs4E4V`Zt)+qQyTep5O3LgZigG z*lXvP&F_DA*!MfuE%X>;e|V4E^-$gnB1=atN?tms?J-!Qa`diR_%p=3_U zw8|3R*LmLb^CO3U!j_kHS~RNGZqk-%*J*!fo8rf`&*LYwcjJrWU&WWk55=#DAC9kz z{~Et0ems6dd`Zru@&Cr3&)t#xQtqp{)i=ORj_`&b_4vZ)^67Rsok#KrLEQO*4An3wR^Suv;!o|Ec3eB5RU?a~@n!K9$YK>TxFNneeoK5){E_&h@yFti$DfEl z9e*bN@Az}^7ve9+-;KW)|2)1oz7H9G75_T^ZT!3V_wj>Za2WX?NA4?fuE}{I=gpjb zInU>A2ZI-LcjoQ_iI>6RwcOWp-^_h0_nq8#bKlF|llx(AdZcCb9Ze&V#)FE>=g#X~ zI(^Qpl<0{QAQl-kqhwlD=dN9^$LT}#be>*OQe3sL1VC|?!kFk~^w#xX=i<^iZD-8n zeYEb$(Zeo134F}VIlMm^uh^cgB^Q(zKBlyc_fTCWN6Dl6KR%{p5$~*p*W~E99qtj9 zugZ&fH>w|FnoRW^gHoga>frz6==K`UD2Do7diUs~DgSlr)vHgpo_+gt?X7g;ZMUvn zd-q0Px31l~ck4;I^Xf+;Cr(5o(^u5be`8Ai@y)6Ce(=zkf8GAx6FIuEeZW=GNb}S> z5z@u3jN1RQVMGN^!4d9GiJ{eRB7j=ZY21(a|G|WDgCb1^so-fG_P31OPOGH+C&yXv zNkyhU%1{R3tsG}90BMILMe5 z=PoEKt-5H+4%p_6tLMy$_DAugO>T&DLs|zq zL!?#L;%ADqj$G;_`tXmEK-a8qtKxoBV2&;T8eJgmRl2aWYl8@TW z&aS?*SyIyrWQFltjCs>%)V#%Tj>9I=ego?td*hwq_wR1@)4}5dGGdKR!9QVAG>86S z6|2bRA)BfhMdjijcfk#7E&PBfQr!Y~O3UzOQ6#1MdYl}i16n0D8k9J>vUpmV_uS=V z=$@aV-G4H6DC-QPTTSb#@ zX@!>wxX|%QgIYzuON%zDi`_aAq?nW#BfgK1R5!zUq`G5+NF<$dv!?B)X_aL)adZTZ zt7zI)I$nN9iMGd_i7q#4TIA?@npC?BUY^B$lpWrENNbL3p1RaD?*^Lp zN>{w#-v*NNwqss3pI2=2aANF?X*bfe>$~Fxdy3PvWE=kt?rEw&ns^gU?Aa49|5YZE zzpdEF0QeJ2s}CmqgC_MIg_n-GPK|8Ih&Fmtouo3MX{%}4*3?k26+TV7jixm`2QNjP zooRb8Z7-je$e!lhPIE57O?dT&-qsx8*pr0_l{tw4-a)f|DaXr_KF*5KEE7Ky#Zg^@ z#whr@lV;7k6ffgXbq?y~+0jNj)LHVpcoycY;ql?FxVrWL>u51C;q~l@^x_(S7mYvd za=a|Z_+0B;N=mmV;_+>!cl#E zk-xCga-^;iO~cQDBGs#x;-yo8GwoqaYs;tE@g zVOFDEO_HK#YSBh>U5TkDUIKDIO`32OUcMBr_?ezUyb6!V7gi<~?fIC4-#$gEPhE?b zpT{}nw?yDo%03FdLWK!vaVk;qY_Mckfz+e4lg4oL?TUb z9*o|F@#{N8W|mYHoqthP35F-*N*bx|iU%dfbMPi_GhXzwBau@^G>Jwdk)%c&J4Er;AG}D~l@d^l(~5 zRb)vW`ZNtEm|EQi|BrkIFW=BHzbj(<+us4t?8sBm+~NgALk1VkD6PQ5$0bSl?50Jk z`(y56n!ETpygV=kFAK>nEJrtXsI|KT?mIfF77Dy9;GZszROi2hm+|M~WrAfPX=8^v zWTBVK0%E8rnNeC+;tFCZnfT&Oyfiy65;>bP-`F8avxm86!@tMuWi)%qJ9ycP+12%( z6jI1UxoX1Yb~#P__9MK!em-7SCW+jWH+D#+i4S*-aMnfhrd3u7;FuPB$6_yNi@>v z-Mq+b46iCui=+acYhk5@=an?A;R(EagK5?GM`ksNCZn_-?ifAVG1?$9rfE?TeQ@G; zwk1XL%5hU$Qc;PajZwu7A|w7nKcrPrX*nJjVnTC1VRdd9K8sZ?s3nf%-~cW!x^bD65dF;br&BLiXkAq}IK;4n=X zEsj4qvvj)5wfbHd=8!=V03Sct{WNJVbstG6N<(b78OhwIdMeM#Dde1RCW8NxCf6$@GqW6 zQX1r<0xHVpl$7CLC#YYS7U4pKvyq2$R|m07C1e>Nxx|r1_Mhg_+>|?V?8F}3Bavne zB5M=I&a0wvPhni$$jT0*&X_RP3gWbaAw`1=hp2HZKxV^Q4I4?s`J$xk!38-1+6;cu zlF*3n!#v7sb4Lv>96Ai=th$lwg{QHF6N`+Y<0lOrJ8@*eXeHxIBT11a9U`1Ej7 z$cow^fzREM>gnK;lCm8)-3hMco%B5EJ{#^g!F|edTsRYli|dmdI}BqV;h`SL<(~ON ziK4kPiO}azHi#U_oz3aaorkkuWs!iF0(cD~4~kWuJFVh^k_wz0rcLK7+z-l>Gn+<= zV62S3hY^c63+5i>zK-d$7nafkhG`WQ(=M`1J_mKmt^OIxm?^)-kLQt5D`Zs_?JNkCj9%Ng9dgR zIMDr3Ra~H~PpX3k^&Qlg{_%{Y?Y?#I3IPY6i6Hv4YQ-=rJDO zw<06{xQdEP)ZJHHcb|OSR!KAU=Vhq7nT2uqUy!*3FyW+IB@r zmzLp6=+f!9q~Q5l3C@2-WjM>@+r}kz>PPTj^=$Zjl7lE}KdR`oNyCc9&>1CCU5|qp z+tj`~pgyZ>VQ|Wg9)PV#oaLYc^(mOG8|fs@oP(+EjY-D1p<{_(Yk~mOdUBrY#*w) z$W@jUP3P&J#Z5meS$G|VMeY6{bMFBsMX~+y?kr1^B@67%E;};|w9d|!B++3-5eXt7 zi!{N6hy(=#k`xoJE+Ck*7gWS7dX0eEBEbj-OrW9&1}m=LW*feY+Djs`WC~IQiE_@wF$giuE!-upkRF2v_n?PM`Z};d zPORxgqeh-b{|K@8=Q$hX>=XmhDqyd@3Va)GXN^#pGU}qSV@Apm`Ms?Hmw(l+AGV!C zMxNMvNZ-m{uzLp|>F##@jvG+fv%ehwWwhps<^?;Dk>ltLT&~+ikiQHnc|YM; zDubYX-lPc9)Zh;R5Kr5t7mq$?)MQ$Q6Af}&H9ZSQ|6@nt2{+y#XRx3bmyw}IPBXvllSW8IX;HqLcQH>Z_+kWWFsXXSv(!6VH*cf+YZ~ppyw|Iy$f%)7EWZ45q@)(tlzlfDh7oA_ZG75v{P+Lhf0ePSyn=;Q zmGP>5IhCCoj%!w2uU5ONXULOAuQbbPT$$UoRb^yoWn_qn!ZeO*)n`CuQ+ys)85wRI z)2avkQ|T4mpmQ?+N6_)98NQ<$f^T&8@2{EhGb$q^VDJpnI93`TSs6Lg=xH180pp{% zaeNA6JdKW39q|Z_;!qSAgjY@DuU387AFbG)R%}-*wxgAZh##LD8(S^MKQ)h|ZOpOt zN2@v2+w+Igf2=*N9;==k$LCpbYZpG>OrNXc)((8Wg+5;u2c6}_Bd4k*dJpJ;e z{y(4xELQwY-gJf=JQUPIhtgeya-)+&I%Jz$Fai&|)Z2ck1<^d>)1Qq?pX!rul3tbPHj zTfk};*yt-EGrrZ)H*j3G>K8cZ>*BLSUmKrmg1!-jG6+NPP*4jU${FYk8^b6BlvFj1 z76_$z0c%>o8p}9FLVyr8^v#_(bo5O{7#w|L5r%`lCHZ?MOmTlv3+?YjbcT&_uPf#e6Fa!?;wa}ql zfzGfojY2?4Rns^Wp%?|MZ2>Elam;`KA!_IiCk`EbTM-6FUn;_I&?m{?D`ATJi&|)Z z@k0&rx0?J!NmbM62!GobFjl})(%x1A`08(^GAfLiDX{)5i2aSM5llB%Y0BqHciz&cC!=b_c@eiz4m z9e3wY-lxg?`LNBsM=iAXkDxPbEFiB@QWbX=cz;X*>sG)jWB`vs;J#FkaRRWqY5Xff zMbLvHcnrpQ1gM3MU@1Do##7`uN~)ShA4JfrfE_2@e;%!F_j@_+>->)k<^A#G{R^Ha#jy4^P&_jUd!h4OwFdA}aEx%a4r_Wmn$hK&v6 zHA2|K@I@il>Ux|o4EIdkL2r~>S7?u`%V z4}<@Mrg3J0``RDn#4bDXrR!8Dc| z=HM%J<2((^9%vfpW?(tb!J?;xZG+!|#(Gfsoot=wP2~^BtaBBW2}I>jv~en^g{D$F zms8mb8$^Ywrg1T-OeDMha1c^1VTFn%9l$uF!iBnTvFg(t1flG zSawIAFH;0vPG*t^nS;pKrQT#3KxSQ{$V?|P`Do*0Pzz0_5S?M8844mpRnxc{WU30- z42dNwl!`=AjKYnjN<_r-WtN7eH8hQx8CYgHSoD0cZEz|xJgAhAty$hwVvt!g6_skD z5=R@Sf?8-QhoLiU7$}GeRZZh&P`R;yU0=Yim0;Qny$+)2h{6r#Mg$`B&)mdZKV+nI|IR`LaO6(hHi#y%|^*I9T+2v2AcFcX?3hO|}+z zQ|SYlb+4jw4^cTDZJY{fp{Wc;XV~bEf~Zi{G#&+&hYQ$)l8PymhKOP)3OAL95rs^a z$2BU$plK}1SalzFs91JKo-7Xvw1g#iA1&`r!^!&N-keT`%vz*4Jw}{PK^y0UT4+wA z(HS;Ipde0EHH~M$=_v_mjL;Y>ig761ke<>~XR!w9Y-k$KWk6c&K+;pkwo!9N=aBKm z-i*dWW<94EJxh!xpp7#^Ei|KP=nNYdpddz6HI0|S=%oVoqQrEOP`X$Y(^0rFy`<&R zN)6K`&@@(LtjH@JOqSh|=hBN|bLmpDzS5i1Wsq4b6sP6H>2kDjPN;?Egzxo;)72=5 z6ID&)4RCr*LYgZyt`)^~DBO@<({gEz2I+ce8mluPt#Kgfxn$d@c`n^R#@Bc=x)CyK zwPN%pF}ewDoDpiF8Qp`U?6v(_n29}%Yq(Z)HU7Mc_NKo~Y2MM0dXY8sz| z(*_CYDWUPSD4s##hO|M;rA->7XQ63)kpXFw14+*%+eXcE={YjK$(zw)$gD3Eqm9I9 z3EDU#)Iu}*0G(lDH40)xRnyoFMmr1GZw2hv0`{|n^&w=&PxdhtKV;tNL~Q+L=Mx<= z|7v5a#v$|1_$*I4j}16v-b10R#}GUe)Ix{y6*|Ml1_}WsRZU|rLixLZ{aL_%mvMXz z0YcP{+x~Xq&}Z&X5eChi^}7heIjq`8{(b{f++Wl}`}-?8!^XGdCrYZCM!mv5tWF`z zD`dHaET_;uWZn*$8-1NZbuMn@6^bneq0hx;v?R|_Qq?qKh@f>LE0XS)pw;buYsY;ZcTp(sDH zh4wy$&alyjyhce?oR7nMqmZ>NWTi5IatPe{VmJX>_4>pPy6|I_GTzp=oq2bmv}$6T4-1F5j_Ls1YJs+z`eAaiUXJ4Rv| zA(YM##YhxxEXRt7`15dY4a=F(GFr?AQ^K~vSHNRDsEi_8y}hZN1)0@LQRzuk zMx%{WK`k_uiRcU)XQLo0R5gu3pfa$K4Jc&&B$x|@-Xu{>M&SlC5P`@?Vp9V%1)9d- zLie>|I$$ijBhQxsf-Wc1&x6cVGG=;{nFg6PSdlr2$XtXrP6oBmWUA2_HZDg&WT1OQGE*qc62)v3ZY-yWhEN3`a^n9^xa4N$+sNgjmImQ{@ zROUivjZjohCo0#XjZ;A_G?ly188&W4K~$(}8fSyb*g`g1Qu&WinkS0+DBM)WA_|!- z6ErG!L(>?aaTQH)s91JKo-CsUTEY^1UzX=5_mK4o-kk1*%o?vaokN@!ppA1vEi|Xc z&>1!!KtY_SY8n@U(*+XJBBAlPD4sy!hIE0JI#V=A|AnS8IRnxZ2a=vTwvC!IdXkJ! z@n-ZCWY%QGXc94c8f}~rYM~jugwC+B7zHt+s%cyfMwb?{=@Qd2q4csSmZNZEx>U=h zD>Y0jplQs=xWcYCex*03RghUT6sIeQ(<^A>oKOqRX)QX##%dJA ziK?bC3!JJYr1ylz`=a;&g&R_}mP>OqNFPGexF!SA90!t~OSX-g=h8=He2zDxb&y%t zC`Pl1(R#FTMyQ2mREj^zfQ#$&z1<0I$e z2Z3n#4SoxP}MZP2b67vY-=IgQpmn8 zWM4`mCqWEk;(0bnIJP-B^vhzapuz9XTLc115$kL1^Ou4L<%{?=+Yc1ZU<|>-LG1wH zxPAi3r}$iShK;i*3Y1hejlU61Zj|Lj*}g*dj|}AkQtjMuX7ilJxFSSEd1Z_eI;tiNVT`ifsj5vVZXST$}+w0Oy0i=tK56kLVN!{ zI>W|l@){*o@dIgi-!;mPjIu7$^$#F$yWZ7tUC*H-Jw5M|>3KKu{6iS!o}(7p^DogE zHa;PbQBu`3j)&*HqpW9?^@y_W()q6-b6)_xy`AsrIB)gP(x!W+`+dp%uVI$Ek6LK= zx1%#`d`oVlq^fBQf%}7_Y*3U9jIsey)=x(88^p%2sPTxt^%(2~VGV+Z^l(J0*gz2l z|BdSaXBF!wg7DdTxL2{=7|$A(wTg)rwTcZT3VWc+DWDdbLhag|!ao!}Y*E!TMuNhK zC_636PKmPN52I>zb87w#!=)pN~)Sh72KZ@WtT_U zrPB9a5Exfy>?CG5?pv3`H#vQm3jb;P_^zEUFFQV;xubPHS9}Yjwz+*Vq;+-H42l*t zgI5uP6QIfwpcWdzP;`ckfhY(8RZU|K5X_FUnKJ%iXayHBckO8_INJ$cpSzjP+=-3r zTyk(Yx^o9n3+><-bcT)7$uX2vHH}-~;7w6>LzG=7eH;scaa+bEc9Y|#b%QoX*ZsdT zN8>T1bz9aPi54|Sw-SO0P~`|v3yt6+bcT(IC{;4E~8jVs78lvFj12jJksC|eL^_edXS3%zSZF$V=*A z7ur)qKf-)C>U@bX7n;UHQS7Zmc%3K(A9ljC?2dF1S__=`tb6bo+jqWZ$YZ^0$=JhD zAj$p`;X25yhobUJga?Vt^=RW{Pzz0FK03q3EhvZ#RZZhrka;@Fo{X|5qHK|bbGJ~v zM-=y>aKm|8gR?|~vjCdL;;4I!Pqu9m^Zc5dEEojn`C#bH>A~& zS??-H?+~OlXycGj3k~UKbcT)pp&&?9HH{sBv^~mxiL#%f><7u|7oqyAD7K?;bJ~tr z=sr#h&~A;>Z_qS$Mctdw-3}+q?#QpPUj%Fp>L(4<4<4X)km23lpmsuL?NXq25~y8h zp2ozOKqbooiS;V>&vCfjx8A5NQD9%LTrgWqTkY`gjjnXJ+ z8b@VN>gG_=v&pu>A$8Fpb@qUC7TN9Q4QVuF)=>&l1wk5vHVz53(2yphGi;1UL6E3w z8YckK@kOk65$jpRdPq)Fgz8jLOhe)3bUb2_*)%}obP08^&s+N!xzGOxIJhjkKToRO zf;s2aQ{&acgV*KUeh&X~VSqQbE1+WaSJ?Uywi#&S*iZ|N?K&D0zsNvA*r1kg zQp5%qu|bmA^+N9kQQU~a&1?wb#}^%Qa;oFT$r`g;se{dIcm}hR9cFrp*`_$M!A0sj zlR?my-g~LF{C2Vs}Et8m@>9BVu=>+K-815ehfAv0AQ8(6~JgO=EnK`)jia4lv8^$dhcemSm%}Bpa!H z9^sL2PtYI}yt(}sGHblzb`EiS5^bCtYN5F;Luc4{4h3^T4-h;qcd#0hk}?<6@RA)W>rOOhNSh0Q2JC98&J4uRUrzwoXyf` zeFjZqW|8~wYL-LGvODq=n<0=Bt^xAu`1$q zMnNd3Y8ux8#azkZJE8HtD1JcU<}g>wnj19^KSI;EA%nw>4hKDJY#S~NKT-c1y)pa@ znRSE0a6Mu81#KJyYN0Xwh0d_C69r+Qs%hK>40jZ<+a!s$(WMIBG3i{Vota%E>e+WecZ5#z^p;6%9Od%9?P!I~L zn#Mw)SRgqx6dH|0(HMoB!vZZM9@IEAfu`|528Rb74thq|He4Cel=?sDjiDK2)&mN| z{e+=8+BgQ(LSvYY&ag2N1!177X)FhZWkt*?VlNc2rIN=bkQqyg#6e*fIw)M`1Z7!v zR?wGaFW6-0pq_uzivL(kokqOS$^U&wD=4PRF&2*rwa_umMQ7N!ief=YRnvGAF}+^I zUM*s)WI)$KfLKL9X$t6dCm?;6UPZI~9mXo>vp9%fP5xd7Q`}$FLi;-ponhl<@)IRh z@fT z{anO;EMniwz&1kc4(vBAuwS*nes&_Teslu+-f8v-EHlq`QFxm%CJzs_(Bb`v&aknC z!a_+^{00l*{aM6*FJil8U_S}HpGENt3ip!!C&HXX&mpto#y)LH{}r0X-Xiy6u}@=S zcjULW-$n2|M|V4))y8K#8QbT*zW)Z9wO6h0{}7oSXyas13r%JpI>W~AD2NPIO`}e6 zAC_0la*OTbw*5j0?=2+V2nsirykZIlSnvby`o+$%WG*y~dc|%m^@}}^C2bp=O0KX+ zpB0r_WUGELF81s%kMbb1>J`hQ$hyVwvNqZ{71TmgX@<_QL9cNpDpWO%gF&TPF>6xH z8c8tCh2FuUXo12FrWpc}o8wj*n3m8qS{A#Pv{nun%kIeYrHMnsYUF%YWLlB2R^DU^ zAhTL3GA)QqA=)?@)IyUv1f5|cj)KTg6@T*vGOdeQk;HPSP)drT422s@YY_#{mr@N& z3YtbD152rcMPKP{8$4f%JgAhDtx|6)3^FUBsKklNVQAx2Pzz1v7<7h>E+~i!RZXKk zsIX#|DrU)Ic8FxtU8o)_iXJH3Y#3sZDbq<~)0;ZjM;#rDanlhu!=q?h(#b(&+5LIu zq#Q0*ve-GnKE!EPS=5)?7l$34ys@1C6|1Ad)`76~LmS72T4-#;Y0OAfB?`huRnzDO zY!$^UUCfS<%uW`1r-s!qF6tiBE+GL?R zMHEv}xT*C+NHWtZHEPqKX$&mJ?O#i=N(Yx^cjPJ7*WqII(RlT8+Et2OM20K9L0t@) zHBf;%kw8sH8wZ72Xi&4z88)s!L7=E=8m9o%@M1Q!n3;#gXBzHF^-V zaoj?2d~L_ki{jYk#Gy~xRuKlpVr>y&IDh{B1NnQa^cS_z{?a=^VB=2m6D3tmV;B70 z(VA^<&3MGA5Be>rjJ=>HI5aP)gb7!LZq zq5WNj&am+U`H7OMrct+~5360mYL&1^3EMASeg!gPgO0v-iIerUN*weNe3n_izlP}R zm0OEKp`&jg!rXxg#7&grntYTh4%LgbcPLj(+K%XRnsVdzb#AH!6mGj^mh{k?yIz=6~U1dL4k|_ zwa^jJ`$Ax&*p7gz*s~*oiV~KV?zcs&+x-g1eVu0kSN4&|k&s!(m&hZJK13#sHcke$&}4d|Gi-E2L1d_k z*GquRz!Ekg!*V<{jlmgMOb3ge61EL~2O8i(r7zhs zy{Vi4nKf8ZIfqy2bGGmC$Xh{aO&}8h_jEuL* zP}MXp0Gabj*aV41dkG1~qc@DW^W{7d5zm)N8W#TgkP9=gOmeX3`C{APR3>;(q1TNV zlf0?WYe%dL6_trZuOgiSAD7fCR)A%L7-E`nkX z3OATb5s1u}D>X24p=r!0aj&gcI$$ijBhQ!Vf-Wa>kp~%iy@+w8H<{}ovt}qVR}h)& z(ZdcN2;IF)J- zD)$hTYrU!PmygU1Bn-jfk#JWRqx}7*ZgEpQ$ zsD$WFVx(R^f?8-s?*a~NykRqYhK+}-i)?FW-V5X zo+C!zqKz{`Ei|K@=nNY_p&&+7#m_##XjuufB&JqL=$}ls)+k1+iBSWz zaYm?xW@Ml93`6ixPzxQ(5$FsXhfxS9sft5pgtD!KZ7pG2WE@9AfDpCgwrx%v z`pj(=VbIK3TSOSnN#_sbZyKh!zo>=ww>LV&2E8ctEIy4(McbhK)fK2uiBrs2KtM zRl@!#VS8jWr$B%}wF&skiAJA*KSVHm0``btoC(-V{+x%a4r_P!dO zVdFCL8YNZnLk@V~EXJC|SR)z0ObFch(##3KYNGLP6e@xi6u~SQ=MkV5I)Yo#88)sX z&rwpaZ19&bp`W|#6hwxqc=Zy< z^p3Hf63Z7tX_F{6qi|#CEh6Ii(oe%eFLE+Y$iULi!J_AjZG%(k=|P3R_^F>a6?%J< zb%LVOm#BP$Hckb#&{Td!XV~}-1yP}@X_%mLQjAqfD)wui=zUJm*@41M4j7G#u`v=;bD?ywC|aO!V;ZOB(zzO@me4dN zWL#nAI+!fGBhRHVVRNY!SwGjCQvqbw1jT7QaVkU`&n47Cb83gqun|K+oTzFVlfY@B zgk%VfLqu^X3OA&QS}sl1ASIz`Ov!*W)q$kvl5L~rxl~5Rr+PD@*JxQ&6r;(+s2pva z5o)0sosZ72F&YIiqN-_FVDv(aEse3oG4^bXJuP`%0I{(wX3UC-2bSaMXGt$Oaa&96 ztfD91#Wp;8@_jbOf7D5TEATX$*U+!7w%7C}x05ldwJetT)=bf&UZV68v6uo?&H}a2 zEUrRl*r4|u5eurC#_M45YK*Olu@y1)vIH@cRP7&ZS~iUS1mjf)hMokg1PgvIS|L~v z5bI?DgNTSf{dj|-m<{VZ3e-YJLGR>&jXTMElvFj1_YuX~7<(ti-ioo+G75S{kMUu~ zbgs>cfdA#kJKAi%<;>>l1I}jVYs((Opw@?3vng8CY<@r-9)>FCfLdq{^rjuycpL?B zpsHzX1c%RJ?9&+gIL6jV4$qUS*KB^~u&_Qwq`3L=b?;*VgQipbO%k8Xb%KR6nO{&4 zFTywv0=3XVyg{Df?|4v95L7jd{~?HPV(hCJ+bkoXx8rz5@Qo9Jo{wL72Cz9ZfUOk3 z+px_8KrM6tpOIsDbtpNGlB)Q_dIYdN#(s&hpJMEX82e6!@j1lCu9$JFzP@aCLa=^; zhw^ymClLcb-uc1F$nQiDKI@D7O_rN6p0z707e$N8#hpaqOQ>=RsD-BRD>}o*wR0EzXLFDZXJ@#|CgrwE@fDZgt=%5D+AlZE@peR@3+ zcOSLT?jMA|XN8R%6y!ctP2-?=A675U>cm-IoaM$@PTW3YX#la2A2*)TC$V1KIVGwS zcP23ppXIL+bK~kJk%MOcn}mB38)G~xKc0De5G`sF8^qyx6R2_usD-9bg3hqf0tHc^ zs%f+Uh30YAG|n2wSwo2+1{nZpli1veU!TOLB78oHjYar;DQPI;cP6nVxgUpF?mlXv z-S2?Tut6^XBKN6k8g1czX`IF5tR&8g<189y1u}?^&@ha+albu}1L^)&>cnBi;iSA6 zOGF_2Vk~y%G3tCQ5Fyp*y6l3XEhB46MT?r!cEp5U8pN5P7Me+KbcT(iP!JQUnnp)3 zX&+}S&QfufjI%=|kUkKDn3&a*h(>#dhCZuIz~Hl*(q=WOeLh6saAvp@MRPoc;L)HK zIvRR`4QvdjC{R+>G>$Vmj^K(VXnlG)(KhZDOyx|_9X;WP~`|v3ypwYLjxN#QP6}^)if%B;KVrV zFXN|I(twM|$|01MCpy9FS=ry2N3qu&L=MucY`BA{g?4ZrI>W{-{Qt@vEx?f0sabO*TGSk!LJ01IDo21?Xaw|z8rXOc z1tFlSX`BfJXT;g*GX5vf3NG3lo#6zp&(Z0bb2N$^q?gce2T=>{;7jNX8_$qqD5+{1 z=flBs<7|AKogHUm<7~9_bQ#3P#Eh%yT*p~!yf#y3J2PdC6{`U~;f+RfO>f>SF`hLs zYnnuhnx+eg0=;sEQ$Q^=1$uW3Y`lSjDDYRw7}G)FqBxrxXOrXXLW$sg=m3y*^S;Q5 zU!Sb0&SY7WwZ-s45x=vvUqbGGAl*kTwELTc`~1x}utinVxC-uH8E03-*=5rA%|h=> zQGA8MeV}nAT%)y+-d;JA9>VX951@ZX=6}?|egeX)t2WxV{Nc2m%ygo+?EYlLxr0;Y>Uyd3;$x@2at?9Z(o@7X#diX8JQ(dKA8bZ9 zc{AcKjJZ)Ux`7y}7sj9#no*JXBYAoQ3o)XqX*>c(55?I7akend7D!UXLbbIhN>I2- zJ%o^CIxW&j#h__C7I#0#EOHQ8c1NB^4+z|x(L(JqTHwJePKFnGgGxYVJ*GfCN}x*7 z#*+!P(4ab^Gi)SL5Gbme#$teaHqM@ovnM5`PC~D!X}ktV zuf*BPI9ncP%Os~kLiHq33`XJR^a^5;+4QEy$%LlyM%?{C^`^tgvODr@S}9<2P|Gz? z%RE30A;WKagBl8%^@alVI)NI7HVz84(4a=6Gi;oOfLMPfIOSlX_U@}rtwh*rF9M^J)3MB9MZcQq_;gFokMolc|#fxne~x^^dUi- zfHn>Zwa}0}-{SNYAZ?DbFXHU;INKmO(OaA_+@+$p427H1X2c@1X^Y0`O6p**;@`w^ z)~(&>w>Y>gyFX8=F9dVW>vN6Q1`l3WbNk}9x5XPnHR{|UT-ol zLT3G=$ox%YEVOYlsD&m&uTX*w{%Rb5HpRWL9B9?kNir2<}s~aZsp*2K7I5hK(;!Pzq5M2WJ3Pnqct+E0L783cYVd zu?>ZrQmF`#UtEW1l)i(eVPsG`#G#}w+_nv#O>qrUi3g)-HD1t;)(>MZ<4o|R73DzOO4ok3diRy2m{f{X2qHv=+9O1~dyQ_wZ z-uh&u6YfK}t_~{8?#L6WliJ5O-ynP5EnY;p`PEm0M(=(yj?aMB z*MX+zmu-VH>!ES#u6;h*gBiV8%INFOjNUe79j}=6A!hVmDb5VF(9G=DHI>2!F{7$! zoCIc-33j5SMK5!LklxgUf?l%Zrd5e3WQq;ZXwfT|3^U|@ZzV@EA?>{p^Q zY|!hQC=IBJmm?$gxe0bng3U^>Y6+nVGUMumh~!L)WUdy;HFhe{&sb*JIOr<_oNn%? zuMDher_tlRko^0}9@v3YTu(7oV=NvMYN2Dg37ui%8j1xaRZZh|#B^(d-JD=I%7AW$ z0I`aIMpHnyIsxey>&?P-zQo_?d=_5`+(G`{0#n>y)I$5a0G(mu4)PNvRZZhQ_jCGpn2AN??^2lJ{-PGz z-*?d&HeM$`QBoCuJ_vuGPOv8v>@VdHxgM1`vOm&8D2O@h6dV6RIsJA~d&QS3tD2D1i% z$b4C=f!PgB0oW-ykHJHQO{iheFf%HsQWcY}2^Nj&z^+%4SSIIo&KC zS?F&4h12YDrx3p;!rhv_2rH-Iwt3@YkXhdW7i#;#?B0OyBv1*Qp9hu(gvaX*+KVX z&C&Iw(RO*G>jjy$Q=!{I=z61#qeCq;Iuo5?qaO-FM^)2^l=fl!6KrpS{heTcN_sQGS(L*b^kA0f)j%PVzGuTF-hQLEIQd3mMI>6PqAnYY*BWc}^n`_pOm$UJS2B2TtX zr$O^dF*DhJ+BE_)t5&Hz*~%?N;AfzXLqsh!#0lsO8)u;)h*UL=Mu3=K$_^@J^-AsY zzjKA&d7?NUg_~f0DXmIF`O?-@BRCP7Mw1MJO&x-I{z)5@e+QMS9|G31O{2MH0H@HH zO}zn5h0JQA05&Fo)6m8Nq80{V8l97skv0IAG>y4{c1o!}&In)y;f_J3U7z^VrotWZ=D}?Cw%FuawBAbgVGY~ZEBF(TS`FLKzy89<#a|a)-3GtXZnK=qs!6ojY}^K)x!XdK zT#XOlzrli_qFEbQr_AS`qE-`6OLH2%(k!QOWiEI1Z{h0iwyRV%jice}QEgaP>FPgd zHPUbl|IA%Z)iijw^KhNwP7}BCtyw|n2p*=m_iY5F4tf- zZ3pX@zz+8mwJ@IMHm!{Gtc>)4hdpsYmGxowmkHN;84s6P_m|D7p4qnZoU582ddQsW z2itX+Q$4$FC;AVT=04WL5YOh~dL+*807rQ?#L|zJRYs226bhiQ1pQ~e*mn8V&Eh## z>1GH`*hfG!+YadZ7`pV;hRi{iPZAh%A8s?`!ED^EXaWmq>GfBne&3+q%(oNbKK3?I z6hoEIseUezg8`pQ4CvKA`B+(!96dpER7AqJQ%4{i#Mw`ilI^AK$el=+In@hGJ3P?r zKC$3G1Uvot6yQ_XDLA(>G67R?u4z1pDR`ocEwX3fJmcvyYmu6TszG=KEd38|JWsPR zuPq{av0V=4i2fqu`7+*x-x(`blqIS4VsxGk z36e`ZjdrAo7a@s>=jxS_ORVS1>_MycBg9yGB@KLOa#`7dyC*FSby=o`uFJ}jFF|m* zBY@deXt~1nm5(I+eWff(k{KAYY8J-#4Okeny{?)KRafBXehu1&)J?tub5(QbbDiW$ z`aG9D*G{gW&)4F!hQ5GLP*#IIV^izZ7o+B5*k+jLs_Wd{otdlG*qOOkX`mbYG$Tqg zmVS*iZ*psjoKgA0M^3(0mgH7%hA!^KFH^r;eELm|w6MLsm9%SByik^WkviOks9s9J=W8@(#_(>F`L8KdA%fFpoMsTV^eW zHs$tIKBEmf!DfFLqLz9sZQc2#`&`X*?HZD()63$(nDTqLPh%hFsX=H za^|C|3at&S=gPpi90BAsC*HXPJ$jyvi#)ed0LgG-{NXdky_1t zeH!XszCJ_#S7CO;{&KBTox4|gHH2pEpxwp}1eB>hgnADw9 z{Y9xTr54C~e1V)(Jtu)3!JGtL8t=e@K2%b6zuI1V)0R9(v|NCmE(ihBcD78L9!yFs{Ue)|y#Uv}rh548T9ByFh z#c4s+dlal=tS$O}oycIsZz4P>EOUJIc;DUY@S64d0KITG|AG?kL$cuHQB@Y?u3x$E z6=dS;`ej+tt&(LTz1d|VYn~uaeo4-J1ZU_%U57GY3aWDKnf9BCsx>e`|I3^bx;Kf9 zUk#>YJq!TTX7cP~`kYs>zAX81866{4Z9s!IU*e`G=Z4?lKXYrSP07?8d6W9wt>J8i zw#)h5v7)bGIEavS!M%SZn(yxzau_OPygUa)eEhw)416{X-@rK&_4I?1O0B{ju~u zzIsM_U~^INZCP?3^{I_Mrtzb`uI?;L{#Ir;+3V`gGV4dau4*Vha3)qHY-xH255Eos z#`k5`77%zjAv$Iy^DEy=pYByx^zyugFOydEaK}OBYQG8u^zpufh3Kcy6`} zl2J?Q`a>D1M#5V2oefFgN9f{_YHeY@vK-eYjD<7s{lUsWgu)51N#gz$NF2uIOB zxvPewr+4!lE)pJ-AM~WfpV#@LeJq_zUk+3iLqS^$GIlr4feMy8Y)72SCPR^qMBXmN zfyz4jKxG{cRA|)wL!Ex^{SXFkO@liNjI%87mlIS14eq>sv7-|mh7PHh%uV5Q9G~s^ zi>O&jkV4&xU1iDLlwze+t&@z9ep`IDw$t>&XtRhGPgM#c`rjc}S3jSy+}B8iZ<*w? zOnvUqLHxOuN|XiWZDhHH(p#?$%K z^j|cYhmm%TR+)6&lp3p$;z`y`Rs30&H zT_a#`89i1 zMAMv3_)mWf)`bSntN5)fxkK!sjzj|w*13$*q(hH;-~Nkj%W>$8aeAPjMTDxR(Jd6QShZy$El`ovMG5D-HCr}*3R0!9GY@wqERY&DD^SP zjRF^{CUT1BRPUz~?)kLQn9nyF!$`Yn%4&e%Ugi%#Je}l*K--cGC(Y(AyRI#TN=4aM zJWn~BcX^c(WTS=4&_8J63#Q!Y^RVd1i$5@pfH+yiXW|U%+$^O{M#f`9^AtL%U4`^z zAwS8lWwjt_o)YVuj*(>9wH!196S?Wor!t*PRYX(CB+)(-z08V|RI)ggEa4uGB0DX_ z#PBC@Xr1L_o0vuHJ%ww8vQ$OuRI-dl7)^bfrAW1wTGYm%Q3Ru>Z;qU2iLp&O#eEt} z>dv*3al_5LGy5tY;La@iW!;&_(csR-<8fy`8yb2dBkFU|ggb4D2#lxCwJSilb&9@2 zuR0G6#=$A~Y&j!T(bdh<>FVmQ=tmvcH0pF^TAfd31X+8>2HO*UpV5h1F!dhK$k)9_X};K=~;2#ZWAL7+1Im3jb$0N?(_1yghQ1zB=Wz#BY0z zC@=Z9pmmdn(dSDkJdsPz?(s4-4yjWSPbCwib2(LOCmDUdff179wW7sI zCTA5j3WLsG<|;HM+oX`6+!el;X-g)qCheN#UHg<8OYCLZrz+Z{lH5$S@Pr!|dzpjD zr*sG2rzL&1_c9%5)LBrsnqrl_CEqGQF+U+PP$iB00_DNDY7!e2Zc3Z&ssrpoW@9AW z6bn|lIc9VVda!krPigHo6>2dUOG^g|^IpMlAx&oQJuj??I*Y7(3~1spQcqej51%8l3bzf(HLD z=}>y27CJqbqBCqPK|$$BRnzE$^z4;l$I0}39<4^-lyzK)^n5`Weo+*bC|(l9GEuxN zij^pI)7hyzf=|jS((CJ=x@QoKSD@rhUE#D$U9R-1mnB!~z6K4X?g%pZhFd#pLp@R? zD_`S}PbEiEpVj2XU>C7~4fWfk-7jVJ;u)k;!pR+V#`g|sp6IemxkvxQ3CI`tA*lUq zC;R$ssMnIALH1>)&8z=q_8#>(iTBvAPnUm>52;6`%h{}jS6;*)K{q*+&+|HbwE6)B z?hu1f;0{qqmxa2f{O%APaNVTOOjQg?CC{WuSPw&(L^A~^_%(xXpQm;mno15K=_lmf zK$my_poycDdtu&7JyLuMaq?vD;|A(HAf=^a#&+vOm&bB8FS&+RrU6f5-4{U%HL)(=GA{KLQ#{0KRhM z)=7k~F|Cpn<5Ed3{zelIQsU$|>beCo{MKa*ef}RlSDZ?pwo+@I=cb@!yAu}SUgbO6D%DNWYq$lvOekFBB@c>VLzKREU@)P~Cp8U4c z;0{KQUG;C!;JIqAxQKcOnm}Lz5!gweYgZuMPZdvoyQra7a#*Sc2ui!2oJtNSGkdZ} z`JD{WjrRC|aib;LFuNZ%=tfIb{G~E(wCAVTx$;IEL8~z-Wu1$Qs;2wETw%DDDCkRX zn6E90I-;m6ii1$-rn7Ifck=mfKzftlg3liDF5;69CHIY1I4y6qT&ba#CD)C%5i~G4 zcallELu%t@-Dv+KmMA{$7p9W`p+3#XjVoNl0&cV|p=}x$aXa=_u_~3Ek+PfYtzuQm zx`>t#ot4K{@k$P>6*(|9Wt|UR*!}U2Y5|q&zIG%=U#lAzyBwzblzrR5w{&g`>Ps(q zqb#KUQ(XOBI{@oqay`of?bjBq$-?xMH3c4L{(eD@5+|K$DQ!0F?~0~-TE}6DlP~tS z4{kqH9Lh8O9IXuv=eoO1gLCrkrY9D^CB)M6XztshSB=Kyop@*!^HWLQw;lS@b$BR^ zd`ZT!gcw|3{B;*3qa<~m#+O?8!frP&~kmLiEeJ zQFNfeovib?QFMd`civtxFx{QdgfH*zq4epD&-VN|$1jJILfwk1Qpu}Hrwdi$ZHo{TT=+}DWv$jtra-MwTtO?I6?{4XD#5F(8iq>{XESAU<5lB){; zLb0YkwN2kgK2?PADPJT#xu?FoTbN36L*2p{%F8yCgrNoG(a|tuT$U0OATPo0)F>`N z=fLY&G$v=KaINvl=LcTbkcl3oU87YdeSb=gB@VpqPgTrLCApd7geTm%IPl`veEI?2 z=Q2tV`@rh~8nq|Xwdu9Lyz^KcE#6grdDjcwaPT*uO!OfWQ?VjueR=1kjlW&`^3L`3 zTt70WWpCCmy?CO<(hsI8W~7o2k_Y|K#eL7n{*Gn<>0GMaThXr)ZOQBSVljxsu3JjR zBa=Ht<*idbGF?hsy&suQBFivZ*n?w5HRK*RcF}Cp=F5ru0PCP3Z|5^&+U-cNFUi+*okN#@8gZ zJNG+d6E`W>?c`$E!kubvDm#g@?kuHUuS+GbB@d=kuROZJTq#brFGWMfG+jnI^uT@L zzj)xDiOv|O8U=0iscITe;eq?V@@ab(nv7>s)_(z@rcc|mh1F|BF&Bm2oqnpspXAgJ z*VpkY~4OF=;!zKD+C@Z)~JpDN--){Hhl{-+u z*Pow|;LZ#yd8lVu0iul@=znUW9jT>cPk%uJ&x0w#%`5X!fkzujaCgQSSq3P# z8@5ev;vU@t?c`GGcdxsj?+v~w-TO2TGZf4D9|Z7+EBX(=d^PQ=tjQ&Fy)+G9dl652 zS-DVSd%2$WvL>*`_G)?B%ff#EdlY{5-_eMbA?wleJ~8i`X#O6;XVZ92+xAvispJbO zyU9LMvQpM_w1L%t^RGl*Ig3Ac<;n3dOd88vm!A8GhnrGMwcII-vz$EjhYu8Se|Y!^ znS0q~j{d%j4?U-PCH?8r+_u&-a!=V*e|X{gj*@2;j{kS@$Ve1w0GoJpEX8FHv?TpF$znNtb<^KoM z%p-o1A{G~b7fvmcvwzAW89xOZc!FAyO0E=7P)}1s?TQyt$rr`f8_&AAX3qkj)>!&0 zo)6DuXlJFJt^Ey6*D+y zzQJ?u@&(QDPtHcks z$XoimqNNGEq6dG+TeZ~w!y@(9!Qwq(**AOa8W-l%TTk%2wj}rGL-<3JQ&pqCH?DEa z7|8Vp#_QZ++Xut$JtM#K^F)z1n)U8p_O}oR>h&>t;o1K?!u<(Z2)a1B{_0Bmtd*+k zFR7$kCHwmN*<~W@`bz(tO8!F5dMzhDFN%OnAPc&v_NEr;=}oL#!=sULJoe{y(>d#~+Jtb!#{$n(B|mzjJH! z5`QeNU3#ZGhbrzr7XKbS`H9-o|Kdb#2Rb9@-%!w{MOD+-jT5z<@@vac$(3CnM$jr^}5q4EB{tO27YBCj|Vv4Z5r+b((`0B*BrU)X$mZ>=#$0oAN-L zLl5c)XQ;c*Iy5^qN)}B&tqxYmyJPWHB;F-R?+MAvt3ejcZA)8$xqP-;!9$~Vxn{e{ z7H||(0E?zkr`)-tS2Qe7HYm57?DS|@Zq=dRRcZq}L6xTS%R#S@TXH2@ zlk#Mvj6`dqB^n-28dJ}xh>D-`bm50S7)tyhbw#7{WaDx?wKgbE=9lw7$0~w0e)rXs zdKS}XI_CdVUo}pw73tP0mJ^9Ij5N%xn|pMtk(C!t9Y67cDdyCPlSiFBHfK(5PQARG zHpjHesZ%S`LsLD@Pqimk{o7WJME+=%GqT6zvj>cyGBsyTt(;nU^>QLPRTtLD!Kiy6 z8!&P7sPiz864l4%FA~`WQJ;yE&mX1tYQjZ3ATp;;9y{uMtyfcs8s@^uS_LAWNF=Ag zf8>4s=Kl#a-$4h!JYeLe{^lD8nolV6B?0D(A@d0= z>OXQp;K)fevJo(HTYvMVf#y3Y^X&u7Gst`bOZkn=^DV8+cL^}xInYKAW#gCt8{HuD zaj_!M{PD_suK@GM1=<*-Y@8Tiqd#OmE}jr*ewZ?E2ADr7(8fq*<8*&FPW3YpiJT0P z&*c}%JrlygW2a0zZ)y(y<}H$!hgEE9BzF{=wbd1xzzQ1h9MDG>RrLX#l!#c&CP9vCh~voD5fAf=qwmZF*CX={?HyPPdwC@An&IKEeJ9k!Lza zB0odqb5&x&-KR$WJ7DBL{muU#Xuf`-+*;NtbY1AK!15sT2`m>PpTKe;@(--38o5!x z$oc-}4+=CNRpwg-m~R1@PhidcM&?_jxH8{5zIm;q&j=dz95w1#sQF+R4Us1X zy77+p9(6*{sFT#F7X+D}>}`5Vkm)Ow=}V#J6VUXaQD=CMdS%e4v(>28L8h`V)wJoL&#niKC`_d;AfEK@okR*wZ-U5-Y+h0Q%{TMlGdzSZLMyib|W zpxP!9`A5mLp(o*BjNdeys-YVN44n^|&qN>O<&`)=s|QgKlsZbTc_y>78H9dwS*)Bc zgqGi2wt_5+m+-8G8aabkmAG!2D|wb@n69K6-Ut}JEo45-N+I&`EUrfO_N+w7y*%rz zJnH~GKQMK#=JsYm% zS)So4IbRJwAz=7(AoF214k91V#;B3KJv&RuvpkFBUI3vVv+2s|Y0&axHU%;t&nBsn zy*-<#~jCOigL+BUyTs89SfRShVn}_$eDjPQi*th{Q zAMda8Hy_Ep4MIQf=c|$L3K;ngfAjGEL1kkh^n5&A;AbKdxd$R~x67K@NbW-rW;%~^ z-G|YvC7JtN_c`Uz(@^tq=t+n?Cp;2)0-~VX?;<7laCk9<9u6--v#-O;mBTMV&Bv=3 zgGOE9J?hG!QQuLcuJIrBO*N|bW%;_2d$4#HLJt;e(d^4&r}An$)O;rI7l?c?{RC0a zau2T}MV?;eqS@E0Cd#XZQ1ijq z03siU>q8WTv96MPINTIM4~)&w?CWrAev+ z_Vuct^6Ge~`C#k~k&nYYAqv9SL&-fH?hm1d!voOl>+mq;@DQkFc_khm2dhytFyi5H zkdkR0iHFBX?r;b_JUSW8z8;;UJQ@o%AB3YJ%5qjbxs8Iz_bGfNgh6~qD7hAmeBc}p zp+__m(Ciz{#VVSqQ1fwlGDN;EUkG84%NHoQhs)C;^l+K9ClNRQ zkuv{&fcdqM`2_Zk*T`aBc*|>K71%~K@`iwsKk+xeKG6Jk%KX*<^IIVE3G8eCk-t2F`$-JYx8r> z-~C75?QcDjyB9)_g>fI6H3sg-t-8f>1Dsdv8*?s1KG#nqw;qHZqt-{W@2D-*sLi0} zGYL%~@|lE25cxXP5<(A$TA|t3p}2CWwg0F^L8B(TM=cE+wSyX!LCpt43L+m2Nr-}O zqlYMYRxU_Z4!4l6!b{41^wDbw{(WS0^g3`a#VH zV_%4T9PR^A5XN3g?&0u22t6FGM6<8Mrz(esL(Rvlp=wlbjHZ%%cy$_t9$uY}W?!$q zX)Tw6FI&6RT&w0L$b1lQgeWVR9(+mr3?iTJopA{DgBp2Tz{p$u&2I@bzgwB#5nz5h zWIloY;y?0Ffg|r#BmWgJ@*n=@_XL`+S0ZPuc8ULt)q>0?un0sxGqyi) zv+p8!l5%LE|EL3kMjh-usu?uu7&YoBsQJvsNQitc))5f-Vi*gd2ZnKI_Qfz!Idq=? zs1t%lz0iBqNkOAtp+>zFYCagIL*#?uB8Yr3%z)4X!Y!2QdXIW- z(5SboQE!2o4~Cl{^29)g6?b@#dS}q6_o`9n2bo^rZTh|-(~FepN1)~t&_h9^KJGp0 z6G5Xsr$&7`$n;`w(@TO(uTZ9!LCq&1D`?b}-lMJx8g;cA_4OdrYrIXr6=eDwW%^6E zntSgDnNP4AA@WSeNaQn!e6C8``>Bz)1&qAa-~5(9^ShP#9RcRIL*^6MFa9I{6gcu; zHS%8pBmd!VeovtJIx)HTs}*ytV6GX9K;{$Je!r3V7AaquuODE(E@Ymw&TX_%Hkt+4 zXyWf;qd@aT$~=CVuCL)P0xbh=v{g0|{%%0WJIY7|`+L9Kj^wt3(BqC{pxO71(_T4L z?muc-(5M}}N9`Ci>d|V{3aI%cOd2B3$&N&hfXL?(kK`T$p$CTUX!ga>S2@(%f7G5q zqn_YBYQLaShp16cf|?J8N{Bo$(2aMf_o%~yMjfF>JvGSm8Q!Kx2ALkOOpk+_Pe5aW zMxEe2>bXIqPFAB%3^F~%+w{~R(=RF0FSylQ*Zfk*e1csJk>~71BF{n;bPV*gl4}Pp zefcqeBzGBvnMp2xR{Vx?`c-IYIq!0M6=Xi1txzL-9|gUv?;@Awb@ zmNM@>{Awl78a|TyA%uQlzEGZh1}#4@pF-v{n;%2u!)zTySx3ZTw!mbo8u^=mk-zdc zzd6wSPGx?3fcak_^9k%H|B-)CBYV%rcS`Ot8@nL%n~iA#`nHyeLK=7aoqHL|y7 zyOli4GfYW?xZKdxi~A2>2QnXKc@X({mJ3nPrJbYXS)N65^C9$O)>1j$99n+NnnLE| zSz|S_H?xLHp5+;swNt~F1`HpE%!gSCL_VGsL*)AfeiXtWpan{v<#r_3fY1+UClyh9 zX!!wUkomZsg2>nHB!oe3AEM-0Zi9ArnU8O2hC8u`S4k^B3b2ia4UjbQ;chCt@y{a}Cdk=#=u z^z(j{8u^TXkx%zG5AQEfHqH&OF&;7>@6Yx#ABl{GC@5n`D|uE{L~^fhm#9vn*)ytS+~J~Ukp+WIBc6-f1YI5hC!s6W;x@GU zT>?%)r%S+LGiMAZt-o>6tPqUwxc9>+*Wba@2a z9$lW-fbGy3i*Z}4-zA$|bh>2I9nGHE^s}<*jbR=k=b_6p*Q4BBkB;Sfyybc*2%G4Pjz=)5zFLi|-HBly7+y!0M{&N2 zE|202#=VVB7Yw`5?1|xHE1=!pv%Vi|)=%7L-4kop1Jht=;AaD0Yqz#%ky2HemJxE_XiM0FOrVntQk>UW8%5jtHkCZX9g zs+$oNo;(|OXGR*XU*qHN5;E>?L*7F&EL%ZliUy{_grI>$&p#`Dur{rLI_`xcDqJ7Y>k;q;@PO4VWgsXlLDxS~ zSnM1l`H(3*j8PsGg7GV3bw29V2?mW@ng>|JmTp(5_)Wh0=n%N&Mg+3|^+bMO!x$QN=Fs6YNiF==RvA-4*duuaIsmkhbx=zrOeuLv3U zsv%z!GX8Z#?l9VS8u}ZCe3MH`ZY?s9A3&{8V8J!sDQ|+obm<_%rA1C)YKh&_I2gAs zC%~U~Z9sV*P=ayK<^;wTRTbF-aWimzPM~aZU{)OP;gPceB^b9cCs0)~d5S#>?w-M@ zNzy1fYU?M|Ppn^yzv4%6{SdIf1MI*W|DnJh|B=8R|8Wi$2W$J8NI&#BWLz*l^abhI zwZ1g;uMGWbE(y^ld5;OV} zfO(Es@S{GI)`pi~f+E@zBBDLM zrO@Lug&wC0(DAK=jB9P^*+M4d7_yDg-d4yE6Ed-#(SD90+jB_^R=17!g4Jo`xxF=O z6SZLfYEyH;&TbR6I8ECGu68VG!#1ABMRJ<}&hFDHiY677SBw?AzOhXA^VMjK8TtO? zSiGb*9*ftcjrZaidj=M;D;AKBl=F-QINw;13&cXj^)vwX5;Bx$f$S6mWCw4M=Tf{; zMcvJtN{=>yDIFXLySrdORiZAD&P7H&YDPU481*<@)MMNTqy18&eWX#Rml<_>Int-? z@CqaS(MI}L3K>^u=vNuC$dF@%OehvIajcNFN(?#9=pS$NPcUSu(LRw&s?R<#uwLkm z^%B&llhcss+UxI4dDuVI-q0G$a52hjLTP1jdC53w-$?ctDzA#1 z;aZXA#aC_PBCIyQ6sujo4ytnh8ZnkN?bQ|J=~O5HjIQ zNNj(#zB1asHsoF*L;DQ5-;m!J@_>->2O(h}e+V)j^L;Dy(09}y7oYGwNnCgRVCX*z zJ@gYKZM#2<_Rudz|6$Re@T;N!#&s&(C%lVueT@ow+Pi`_dKbtBmlY4;>PP&S5KMTH zY)i%!jw!7wbY9L@(KeW{S@b)qIpGD0u57Ghd!(WX*4mCJXG|$6t|}QT)jyxkyzHWD zN%2vm!AV;J>^D8BeWTYdo+A8gAnz~bZD@(Zv~UC|z@C)z{xMSDU6 z(Voyyv?nwY?QuzMY2|3v-=k*5TRrnV;Gf={|7sJEIq=I!91)3aqmK6Y1hjZVrHjwR zdV#a>fZY)O-gez#O`G0Vv3@C)7X1;di+hY3T2Vf}qGncFh&&-^s=!OY#6%QDwxF3)^F^SP|eS=E~mWqeZOCQ77b z)wJ35?yPrLz2)^*);nD9*Lp|m9jjNZ+^Eb(1ap;}l=;d6L~@66Ct_Np+^gKDJfJ+J zELR>@Rwyf#N0n8|YGtkRgz}W~jIvSLq&%l=R<{IqD2b6D>@0G*KQRR2#4`h5wIjvM9<9Wz9oo0=+7)fNojP|A23MUG2%J7042+$3R_=SFa!+lj_voi< z2S4$^$IoV{+RGdI1_Mp%)e2DG?R|m)yqDqsWZu+3wA)4}cvd69(_l{Hj^O{tqsH|L zH0s6kG`Q2ai<$)jOQSNi#u@Bs9J%@?YK5$E27emY<*h&f52kkfv&I=~K%Ir71A*`X z$FP7k&R7TPJsYvjywI5ljRRsvJpQl3|6@7^*hK{a*0(>p2ls)Z;s2Qd)~~cGf6T;w z)5>5gUiYCpW2|4f?>*d%qI}Fm*pGGH-&sjTMR`R<$&~Vnsvc7+fVnD=)UU;kpE?Eq z%t7iMal|%hSUqV%5P#Y(kUXM3HizUK+9Hyx6Zlqvx9Oy{6>YV7TjTD{ihGQLJ38Yi zfEmVsADC%NOEYeqM!7rJcfgTw!|V6fJ> z>;L;alKa&s|9$yo84ZrDEcvX}#PsT=jpLH8wknKY(@YsVuI4q3bR;$kj(sv?_!l!T z|K_=o?@xNX^S-}Ovr#DS+-AYgngtuw$KU6%Eh-D0HaC&Ylh{M6&w-(7cMx`p!){8H9lkOfsBVoD zUUh94n|8m#?wGI>c{wLrKt_wPBUBH=xsDt4Y8L!4IoO~!p6ibwg;8{j_~ve)x-rff z)p-9FNTJ*evt49XSymHA8{oKw%x+Qf<4=5)mp6PoZgvg?KYull|wfk37-VQYt-4TY@m{o+71F4qIq zZ{w`d6js4T;b4P~Fp=i6Z92dPUp@|0ze_gbng#;@0+C>A*c3RXk<+4y?jWPYbMRy9 z*>-rVkk%xJoxId!cPH7s)gC|aS46F}UWQ#Yw<|Vz*fF+)*sL8`&);J7oxdT!ZRr zF4^tHV|k{Jt8rBKhS7aw)NCYvJc$K2kF=Lt1RETcjpVt=Yzdj&bs2ulW475YnAO5> zh+A{X@X73cGOK?DeiXK|&Gx`-FE@*3Pc{#b&3|wiUcIKPVFMg{(h#9!6CL1#Wc7PF ze$47-uNYbB_=PeY)ir1g#9T|sYRYx^amo4iK|MD;*x*&!%Gwt%gUvD?A1;im6E851 z799rfrU$H99OECN@fY5JA9FE2%h*e4j?efUH3A!fNtTn*z-s(R?3K^lbf035~2u~t7A*(y-Gz%WhFk9#uYL~cf)7gM>6mt zdjo!`m*a;Xn9zv+x_tcR?BKmQ!3Ou{1j?sXO__%KW<`~ig_R{$)26_lzrW@7N6G%g zbNKNC**_KN-zW&@2@Pr+v*Ry9k1eFACzY0!R0ih7CE%2f1;E_L$o7^O@uQ5kgJqbT z9ETb-mTfDFt`VQwnx-3IdYnw>zl0wr$@B%oG@(J*k+g{2O881x{!W(pui?jvQGvkd z360|7@Ya%YZDE*>D=jOnoKP5LOR!Fm?T#Jz@fU2b0V;$WUpFu~sj!gV67Wm5lENwF zxLPZzsKmI2Sf09p{{PV5r&(cX`Iu?rV9swsS;n3qBvXD4Ll-7kHz~U+;7F3BYd@B z65bzUbXSZH)y=|3qZMV7O3LuZx6Z0fm2eHFdXi7ouUWqVlp%)@+Jl`vD#&rX`mG=- zpQk9FmvOZfHPpIsj1`ts8h; zfSO!Xadk;WAsr+fQV)VOGAU39XJz#59l>Y<+&x2~FY(UQikFx7Xt0Yb%jJ%TR91z%|8{Rps=( z29a+S0@;8R>IPPe=}XIK4|3E~9_FtbcucUTy{)_qK^F3FJq4`*$=qd8p4AB$9JMKg_~{56hZxiAum8;2{RFNR%ckLQtDXjc;*n_GEo z_hb$1GhlGvA=-faA%VcOx`F$%23|NQzxT!B`hdP6RyVN3Xu}+v(NH_k+Bi4l^(oW} z@(ScLL(@QLmCJ@`z6rMvDmv3_<1u`KW$2whC?98;p?SUOaGl4e-659GSUBqlQaPRj zv~~ju`s3VW9OJcl`-r3p>yjdL(EDI1v?HOFdWlE!nH5RFu)HB!zx-kJE_yNgL%+sw zWrHPG+qtXnjNnTqmsiX*7WN~a)(T_wuyCbi&V6_StzbQVMsr-|Oo8Fc-0i}wfxYwl z_QREW-N5i{Y>52uqaqf^kWnWiIE#};302A^^b!x^_N;;Vy$kvl@FH9)oDMA*hHUA} zJ#_;Q7)x#*gY;cT+G87DF#|vUKm5y2uMQZd7^2HP74 z8s^7!ZW?SavRpACFRz^S3Z2s)S^@h_A{dlw0vll3MJy+3> z;`JT$dbXnfhSzt}>l+o&*+M)5)n~(cQ2Y6_S`NqmgYw|9$6pjpCxpRMf#y4vo+6cQ zMk=IgYFu(Z7D#5Nnz6slJbIx6DT+K&D33t0l}9H8T`w@4a?wwTG$oY;$fKnNXDR?T-e5Z0HjNxMhr2t8)rZzq3(a@D&8+&ch?!S?vWWQ~t3E=hOvMyD6==RwxemtgF^y7yBvn&eBNa87WhS!>Gmq=h zffOb5s-1_7K2xN@(PxM>Z1mX_?+tLpw!%W~YbT|*y3+x2+^CbQ~d}WYF8LWnLo&hx98Ek?vd^|;wLz1eg z{g6SQWOkt${`_}D^GLz1eg`G|gSGP^jL z4KNdU9Uac&b+Da)ezC-VfUgXOQU*KVoM!;dcLpE87(U*j$RSD9)ZxfLOJ;_ujofm^dG`Ej~<%u=)Zy#C{0c zPO87am0zz}wc_=)U&n}&Sry4+4)ABopE zTl1Z&Bc>u}2gq4bGI$-X7wAYoJ7MlXAL=`ZKK-g>jO5o(g+%5M+Bg|#zRCOsWBB+1 zg2<4nsihz@KADx6SdNH6M};^B;lwgtWHcWitg4eFEXOfYy*diZBpZud5{3_c1}br( z@;mvO*hvwGx;*7^%)ocJ5Wz+F*3Ukk?D4pv%cjbs=*WIlI=KOkMQpGc7VR zh)g}SaWc?+lSzRwd^Cn2GNfwiERd;AX4jio!eUUW5X~W+SgJ)vyk6!?SXyADIwuOt zTpNpAFNP0J<$4z?Y2<6JJC$_w>2oY9vx$m=HckbaZz}Cz3?C{4Q6W`R?*NsB$?Vo- zcC!iQ95JrF5FH?#U=|_~vtI6&z|a>g)w`0Nd+Xgc7~L@B^>VAA%gNmALZ%ZryW5>i zXY}cJS!C`cGF{Nd$w2c>rWcIiqdNqVAyrc!0GTDpY_W+YPYk+Hh~5xREK5X2yk3?` zSo&b3x-<&QG8>CrFNP0JWw8sDzT|6}JC%Ou)0bLQ9waIkp^a04=9|he7{kZK5JZJk zO??bh9!+K|O)8ogR3OA~2q%?Ck%d_-k4scWV5GVxYS(?-rlK2$yjWHWw1g%0b+mbQ zx|F;>?#^i>`t&sxr`5#iGPH3{(0p?$hB17Mh9FL)YUWg5sIhj3gVwx@nT_eN{2q&h^QY~$hFwMkBb!*g)yv@d>8-~1=p7&cz*OK>b?wtOO zK7FgjX$x`s585~M0q+2mk z-4O+8rwvK2CBw&=*V1j|e5X63h3M0FSd3mLMz^DlGlJ%u(StCCk3|qvOQdS*`(X5L zGTUWhqVK??bD0niK{zqJE7j765~k%CsqT*2tv|Fe>4qV%rCok&>0$Ezp*yD)=+k#w zoIW5_rDsly0~EW#=KU+#ezhS~>l9k%oP<>J-Jh z53YE;(0s@H3yk68AjJtus;1UX>BkaNSSW?XrLaJXag+Hl`kd$!Q>^>qdMHI)Vi5W` zyf$w#2k_b(eJ9-C58@L7^Dcj#6a;Yu6Y+$g`A&$w>IENv7zvT8sg00OgA`UTg`H() z6Ne5YDlI?*I~#cc>WO6d0-Pn1u@@kT;*EzZ9xpWC@ir3i)}}b&i&RZbLA=dUSkn~N z#Edry9nOMjX2+{HMPTOr&L(!iHLueG(f2#UltE)S=NUlrok0s2!^hbaIV7o?nvM)w zq_9*o{4}&W!*5}SFXK-26}>{yr^7do9-8my+rSt;T2j=Iq~iWKqE}N`W(vzN6KIPL zXT7L)0(z#zKf_lB*^~i;bDjY--x>6PF?@8Q$RSD9)ON_AZ3@dV!#@|T&hXpX;miDU zd_{i_MSmWA^XQ@Zj(#AF;p0Mz8j@7pEl2cSQdp-H*1=5RVli%z5Q8C{XUQ&N1^E4w z9x3+ywjmg)c29BEUJpBW-7w^r5}oYi^$vI)eZMWAob^ZnubTJUhN4gJo?_l_%Ox_G zppBD(=9|nY7{kYK2qHtOrd|j#y;9f(CYI4+(3L_ILO8MX5*hLL!+j+zS7D^uCkjhn z8;e{Lh7Z02Uf@EdhRr!oe8dLN5QZ=zC+HckbaZz|<5hL7qqZaefnsN$|$08Guk*6Xuhc|hB18H0YOwq z)ztBzQj)@oO)B?^K}&?VAHqqc1X-BHGEt)P07j~%QAg24n~H82@?t3#XbDT~^RjvW zUFjB3Ef>dckl1s<%apsJkB;@Z?ZW!`fn&G#WwvqQ6+&R63 zKK*)&({;pYJK8uWXudh^f-!vTfFMq!YU*5Ynr%XQM~rw^i1#3zkY-D@G+%=BK1QlH zMM0WxLy~LB@Nwp~^Z_}a@6Kp9`t+MDM)Qc#hiK!Bp!sH$f$uKEM=}I4B2`m&fzewj z?2Qz*BZa+|!d@|XwM4i2Zi>3Zc*CO5*OK0{^VZ)ms*2uz?J(fcJKxt*R?m7EA1lpj zslS5e74%K3U+cMi(@J_L)^SzdN`*c`Y=v3%cT-5EkDy#DadS zm9v2M4=id`uaUkV$G>HEF0A3CJp{oZRZ~9)jQ^&vJt^$t6!u{X`yhqAXYx1?Bh)Wb z)J+Btm3aJD;;~2K@v+3?Lz~A3_RIHTqTz2(EhxP(wfn(rj$Q)I#F>nV6hQgL%3jGGH#RxixX3bWc_mKZi}m@GiI+BobyXdBo$==H+l zvVsoUv+&xyXHq+C9khvP_C9Exm3bTH(;J7Q4_DD*Rb~=VScsvV0yN(g9)vM`+zmk# zNY&I-P)G^0W?|Me%$k@8mZA@Uq%};j^Ox7KnMj|nVN;PlU&JONe|r&|Q~1l^mWL0` zclb}j7(P}~*pQ^+9Y4ZX!z?q*GQvy=voteEKKf#y4tmnb%T--t4RBvn&8B9r!E)-KH2hFOl8#&+}}NogV4OYygp;%{rm zPv?Zw;$X^&j=mE`|1!Mt=%M+J{#_Wu#}0}bl2m*_8qs$Tvuobt$_`HuW67{kZM6fq>JntBl;?;B>l!z?e%dYZw1jXviA(APcq z-gfYMo>VqHqr>k{;qQf89zHbR;U9)Ed>o{(AxYKL0)#&-%!Y>9kT4q*W&_O(enq!B zBCM{GFFl6YN$5inA-y@GU2KTRf`7+#kiCly6iIkodN_BnW0+4LQDYYqE!HkJoG2W} zP)-4wZwd(soWkFfJ$#X>sfD00I?S#Jv&+KlQWHTU`T$5ect+d#%N2NqNT2Uwmr09w zsmR~n#jc|8Yr!oKADZv*6%qc~6gGU3s;QF@{=_hw5N6}TY;2f~F*AsuTP+K#FUyNK z(N032fC$Y+94E5ii#XO^#4#d?Gg`zf%%_*tSVYlcE#hRNpkgSe0L?dr&M<}#JUf+B zAQj)f0)=T|RvBhf!>rsy&;@+}BrW1JJAZi*D@FQz5vNLvST6Fn7jXuK-xY3o_|SZZ z-y6p8aV~`oNvft+BmC>b>_1_4tr>eCbf~kUt|YFv!`J_V*v#d-R>V)s$FJJy@G|oA zSUcM1{ZlbpZu(?ji&eF_a^K<{QCu7{f<71R)?* zQ1kA#%LY9n^C4=^HFi>j~7uXyc%u`3ChQjNxMy1c4$I-;DyO&0+SuiRdXYXq^yG zLpTv_7TNK;=i4Mi&tRmwHL8BL*@)!B!|=gRKhL{RSx>&Uxl`GIK7Ff2WeZW+h&E0I znr|xGVGJKS1W_SXQ{M!YoniKRn7wL(d0C8mMTl1+oM3iJV0KAhUc*TB?Wo$>v{NY&Ke0O@d;{TyaL zhS~Qfr=P{pUxYXe;pB7}xzKr>HlSk?r(ZErJsNgigdVdw>4qUc#(oyCIjA2cP~W?N z`i&ePa|d+abtH-D*E&!3sfTl z)e3DK6g1zUI>Q(~+CmU0QZ=>ncPy2q&emNRU@kx<{Q!g7{f;|2!cearnUv7 zoK)62m8q#L)8sTz482&0K@d((ImpG_o6eCq4aP{dU8?i^e~!&bHw<|-wHB~BC{+TL z=>lp9IX=f7R6hFjb`~f`poXH2gM#K8)MyyP$8ZP&MXIKD2dHkTtV=5EWKz0Pj4Kr4 zDhMZ~ZX!WmP3K9JiZD_=H;U4EHYK^53?Cd)7YR})7f55s?|JT!iqWT^YeDKkkjA2o zLxScTQU#3RqZEQ5k*cW!0O_Js);E>)PGxx}r%ExD{u%*BPJ?iAx(KhwJI`97vvT^B#Juj-hf;s2aTjG`H!s|cWe}I3uFvuO-br_;wY+)Nn*sez##|F(e zwp(aUd?N#bu#t)j1bp^UkjjRovY{rkTgABBgjfjSWLALu@j=J@z-&bwDKWc?3=C$M zMll;{Gm}fqaK(`gOSL{T8H&;7XC~(Rl||gUAU4vS*u5B{UuqE>LBtlLjT3|Bo7gIv z6CW)=5HV8mtql}fNh&K&Wksp1FqMrqxjiOEuNGnrgp*r|RBIC@ZjWQ6TAJ$o*leN= zOg9X9krhitRwNZ!q4avROTn$BNhZ2;djfrWsl{yqaeESNoEtRX++Kh&e5{8cZlr4J zba1OmWfiGxN-8Tep}i=EZV_TDgcDko$d_+qGbL!-FjAcn1#PAcO|CM-2d}aUiPIG6 zb(ssZmuQZe?##BMPoH5iyM~y(j5f{;nr~(w!5BW?fgon2;`bE6tU8rlZ_@f$4EjWf zJrGV>)yTr!&gM$AKE+6NPO9_f)m)pFZW!_syIvqCT!YM`@4w_=t~-j)(5KI_P|PM2 zpQDYVfaV*;AsEBQUI;=#s;1ro6bnoa--;363GqFIlfwe3Y8FZye!xiewkQq@Z4PqP z7(N^rekA*a?ihYTpMIN#;a0-%Guk)?XudK031j#;0znu^)zrnnuqc(?ZIbv)4EkG$ zlMqf4i=>LUUm|e|Bh@9T&Rb>o+az?ukXOXrE){W_9Nh1Yg8s^ezQjUtAE5}MjiZ3( z8wLJ&2BAoVAQYr(>T;l1W^$-6Ml=wjA%v5|GN~d~N*o$tq`D%C!%CZjToHy3M@1x& z{YrNXjnSvCurNGK7@DAsV}Rxx!weY1M>zyxAXQVh0K*HZOiyLcrLs*XkD2IGH>Qdk zgE@=(kvT@sM@P^&!vIaCx z{+*Q%D6^%Qk!J?YcVSq}c`G5;dkx0Kjhn2jd}&39t|g)w}*M+rfa zs;Nhi*srPVmsIvsD*GXoeP<^28M>W`{VFB)iF#S`5OICTVOC!igo+oRR?+e8Ia;bNjYr97d|On>(@8 zY3_Pk((u8l#0h`&+M*IqzUnl`!Cv#jqY(P^+Re>dk+qs5$^^7=D$smWX$)idpa&Qe z6;d_zU!c;sIcwCMH88<65##rWK6gLxCVNq~dqpK&C}=mTF>YEe2%^ zkptnx(n4gx>m@_Nf>sroV7C9^b|vT36TfkWW$h)Su!0ZHhsy!xYg02 zIZis_WOy!JmUOfc>4rV8oHjNWJ-fMm2fLNsZdFl#?qA&O=;)4Z0EXxtENtxw+d#B& zY|wmTyOib(R_8+yHc~b9JYeh5oaHuWT}@^q#kk9axE#XCtcS>l*Hcf4*_C8qFuNd% zSx=jpTvmoFURJphvaT-3inx1$tfxD&F&Ls>U?Dr7kQJkiBZKA}*;JY{SUmxPkddmX zgMe&cbJo8(>(`w1F{xFEp_M{ZK{%-mL`r6*eA+Hcyp$i zl;(+XHwiHx!b#~;kqED?Q4*yE7^z+nMQM~xNiHhG2QRAO5+uz9(#_;|lslwb(5GKv zLAsnE-HJ9237Q{B-RQBh^q>z2dV&c-;?Mn1_qOQAzG}g~Xu&>f!9HzaTm#I;81>~A zq9l6JuJct3>qM@9(L&S`UCe%l*W2mBc8j8air3~Z!N+>Y?YT#eA{DT{bn9_QXYGaJo-=`hwMD$MLQtUpj`C*A`Sc3-@m7L?=s_s z<~v?`CJ21oOL0Pys;Ng2?{6*G;TG)Y7VJkeWd2Z)T{8OL?2z@th|PQ-@w14TqyJIF zJb(6$v7aw|j8b{nOa+?nRE!6BJZ7Xqs;2&pRQ_ziPPAah%{-n)2T~Lz#L@q0=OLp% zA=2RJkBc;H^d~7^dIShB6==TWeF?_!@f^hoNvfvSO6$iG(pY>N3#PHtX2{#or|yx_ zC#2a`AD?EU58}01^{3AeeeE<%|1zfFsX+6c$~!QIkJl*$NK)~cIZ~;g#_FcAI%&qy z`z|_=qJ+M_orjFRu1JHUuY=d-FM{*;nT;sk_uz`h3(a@DpTihF=t(0KFR7ZEjCjvZ zWB*EHjm>z!K!@`vJ==~~|Civ-Pe6_BfNTD8X^n^6rcef7!a2_Xn(qw0gE4&2vqvZc zQZ+RV88lC0VKe;i(drDpxgEZYJM1g^bc+55_~y|=^Bw)~FoqBQv=c~DHMJF@&q`x0 z(^$kz-~=V$I8?Lj1oV~?|A?;)T2lt}h!UOwG~XE{;&%_><1|GMNvftYWY8v!Wt-vS zQJ_)bx3R;Q`Dgozz8ytR4=mx)L-QRyJu3u08c@`b{Lvw5S47`Ajde_8?ac(5Q38(R zwX>ao-cjP;-d6_QD1&4(18BZ8py!3aM{^?sQgO|W40@!oTr>Pkv^vA@VTUjC&-E4k z`4oK?d~^QLd`I5_#_*9%QA3idseKWB?=+T|#(J6wbQI(0(IObu8Nzv0*juas|GHZL zH2aQ67mQRdN^>6j{q5X!!;o)Xd3N%8PrNqwTJsaIuH>wL8hF*b<!xHFU_6G0QBj@EGm}}6?(7=rvlA4l~FK;j{*pyLaL?~gGx~v zD@!nc8^gZ4nC+}NX3H^K;_yr zHY1HqH^Iz92m0yZA`tT-oM5g+B4)kZAc0wck?Qqn&b{>p8;ouk@_Lye=yEdCUC7Ym zMbsPI$=rfI{d$YcbwuV?v~e=fe3PN)kHClXaU?f^%-l3K+r;uuk0Y5YGUD}evxJ2| zj$}a;mYZ!Xa=jQnIF;EhR30QMH@j2e4)vZq(G5dhEVm1^geCTMw0U--hm5HA zx^tq3jp&OkPWKR}r_si%2bynA#sf$;!Ur8!;sGQNg46vbq=6@_ z@q`lTF(l4fS|!!eS_#v8@TNW!G3kaOucb%)))IfZ$y#?#^l%dWaf{O$;zSQ6 z;k5+KH>a;)3?H9DP%V*)-wXn$bta^*#fZH^?1OMZS|`=gMhVh>j8r#7LE30Tl55HE zaptx34LRTF&gcO8^bHoH^~C5P+BhROn107dbz9VK{gRDIHw<|#>3(bJ1bKhSozoxa)3;fiwi2g5(Z)GJ^UW!Q zU!sPOQ}98YNX1u4!0A;J68(u}^dt&V3&IKMRjHQVkRa8@NOflvq&I9xaxED?&b*fD zkn=a(8POlu)puHqb`YbwXyc5a`DUcT7(QA+5F=7GbuSowmBzkEW1pq5Pfb{@(5LP( zZc~Yy%y!257e+nto6H6_ev=um&6~`zzB#myQpv#-JQZlZQ|St0_-IEdK$41^%t+-> z8at52_M3ThLkCinZnqt>^N?5WfJlQ@PTw!mu_;=?e&}oMfkdSR_|witUVsxK8NL9=MKbmRoTPX! zhbta0G~e+~fH8brMR7uss;LR-{aAcD3#PNvX1t~7a28B_x_zHHn9k|*{qVFMaLwzq z8V|WmOvkJf;hbjx&36XVU<@DhXd=phR86gm4C_d3hF`}HU&dVvncyzD z`%YCO`g#=oHSo=&hvqx_*)WEWe^boM2 zWzdu|m<#7T18BZ8xC_ScaSKHbNvfuXkwJ1gJKGGOo=D^jKiLjn=6|-Y=u;{Bd*GW# z56ySFKP6nE*YL2>p);@hF7zEEy3i!0)%I>Gu7$RT!ye zr8{d+wR6`ELw@L_+sW%K@H+Z_+hgQRO$V=<_uE#ZPtQs>@3&flagGy3%Q7L{{|$_r@YRG|5$vIEBOu?>Rig;d;K29+M^EH|BXHNor@j-7w_!k}K$PGF@HByiLw}x|7+3KK%lV%=tv- z9kg*W(0r5m494*BAq0^j6^~v5nZD_)w~6I*G3W~+zJzdM=_@kg^)gVxLJx9M2Si~R zXk(G<#qhzY^md`bAN(}XoeDj@NgrTQ=}%Plp^a04=9|hdFoutBA&3g8nyP`yCFv~R zq+&ewiJs?#F~31Lsa%3A%wicKQ8|K<>hP$eXoO8gHw<~PtvNkS>=>r%-|v!btVX zC`g4iB)N19A7{=eft(k*GfG6Cex=1|G%>OsECtOsqsDLuA9W#!5viIw0gT3_v#}`mLpA1;zfdnTQ&GkKMv zTYVv2otrM+uv|o6OM1@ETi;|<6}|J_V8EkyzR#rdFLl!I3amr(PWsl>;WK^6Z3Sl4 zUr3LBYNlwh9-_3FSX5#tX93MOiyL7KAM~6fVnM2=z6usEr?Z#R+17OSq6uOS4K=>7 zsT(jZCKxZFlj^_C`9}VP-*(=uzK~TFzZHGT^`Y@s_ljZ`iB3;~!Tu`mtq?U{d}48mlQ< ztkryvI6R7>oC7r99Oy|q@bNeVaUfMwKLdwP)7dBK?4xwH+vM;p4Ru@1Pi+?ZC&&~h zU%u~sBw)~Tir-1%i@95{uov@lO5%Aq=Se{Goy2Pt8Gerkf|4LrQ@=qH`_kFh>Fi50 z1A01+YX@9m2GRwUuEzc`;{`6cGlkJhL~ z(PGu&5u)%FhH?tfd{g)Z#_(|vf+&!Rzc~d8f2FfO(%J9n?3jswo;Uhvqx{v+(<@@DYHZ@JZFwvy^_Uw!#t>7E)N8 z!UBqMkEJfU)q0Bhl)Q+w75gqxqGB&%2(Qg=BgQG#Ng{w|?~{ac5gTGYy`B<%dJrwv zBGy$9c_R$v6rlO0kOpJ;XbM3TNY&J)pwL8NNeXMIu=*x~bo2p`w1`dY{N+VV66y0r zY$(#_TS~Q!}iN$k=o`v*<6Gvcs9^{XG0ILfsacm3rJEm^#Wvbp2B)4ELUM&71r6zhCi0Z zk#eXnGmn3x zLmi+vuSxsbsp!2Cn^~rLA{Q!Cy3!9gp1kULK^lDta|5Q-2h=D}(PEWne?m}=p&S7; z-w5b2H1IJ8f)PP z9pDle!^fQz7$m8hIuZenP*{P&hM6(mj}G1tdVH3 z*61=q@DPS_1kijVpeNM8$4Ur7K&qx*1q4?rY?PV*TC{?Tv_@Cj$;)drDte8IC_s7$ z4G$2S?*KQ$7(Sk+z#vK0)X50&YK4_5Y`nrs6jp3T`U1Mu@~ETfYCBlHR9dO=_Dbm` zVmF|7c*STw)06i$%%_*vSSHb8EmIj$phwPd3ebF0pl8Rx$7>Kofj>${odF8d6;`FN z3WZHE5xk2r03@Bfr`!3UADZv*zYyW`C*QyqshWBt z!oNXb*D37ZX6#>zabF4XHH7nq#tjIK_Ck7k9`p5yAUTJoRDr7iSe7yw@Z-tgJcXy3!@<2ZbOnw z#Bjy01m?RiI!!ScjBa;l#2*;5&|-8OF|r;Q1I;(1RPjsl^aK`SM5?B)0;5M1wnAac z6}HSI)m#j1Aw(L4lhh+f$tu80*%^5A14x?o*ycBZ0 z#vN1yefnw()MErH18uyRp!o*X0mkr=4MCtt)zl3D^^C&SDeOs;Qb#ealMtODoRpps z3G#Y+R-)7eBh^h&l%BOI$%SP2;E>iyke+mb)Rp``>kg?K`t(f}q>ThA7i}C8G~bZ& zVGJMrAP5qvn)(VLZCBVfg>6yT3nr(bV(2A841;iT+KybzYI`jx>STU|dh;a~3O7DmSc{S~pD2>NR^@Au%yKPExH5ooQq_-tVZ@NI5Kz?_- zLn=j|{(%MQeS$O*Z5$Fb-;i9N;`B8jeW|d|74~0+?J+sgQ=Bl}wL<(G!pZ4Ni!WMJ&#`xM;kmQM8hZCtux&x`7F!JPB@uf%JQ3$Iz+zc}sfcgHpxL-c(Xw!MUH z4%#?2Xuh#MNOR&F5D-*bq-yF<5u2udTxpvxhNK z{YAlTWC81Px-K{@!7>avpzkC=hg<-yAZLf&$*e@5{)1n8af!@P z7c$S0vy<**o=2blw?*bJBBP^?lY!=&3_U^#KKP@dAo&xO)Mk->tZ9TbiLj&yYZx)^ z=)Et7ejvnd2q&DT5&KXJN9?Q04>3|ri8wE&!x8&Vpkc_5u_kb0eB(+_itsyu{8m^) zwBy|bznV5LEk7d1;fU)s<;UpLQzGUyWpV_`eS$U)3Yu?F-@q6?K8K(ZA{95z04gKG zln6^RDIE~w4hnGy!bvGZB*+i0RuZLeF;Z2dD7CUF$s4!fgIALxK}vIh^d0$aWp;Ey}P@Fik|wU=0==1;kw(Xbi%xs5BBgeB=SEMK(sM0t z-H01KW{Puz=9^nX7{f;*1aTu3zvl^Vy(26y!g@y7`6jeRVrY^O^r$B%wB90LUSIts zX!PtS^`amFiWgJqD7BfQniTlj#`0DOE(O8 zi47LW377To7eJ=oGV70 zC&c*>P7Wibsu?YDphrWgqoO#BwmHaEWB71jpvOn4qunvkGo|!V7KSSb13h4hV}Rxx z!yp*L2R(XJfi2tm(sa*`M;RYa*oVkkzc6C%$0ccnH7-7w@8 zF~+4LE+Ge{?kI+#PoH3+7*8lPv~d*Be4`i*WBA~YsDdO_Q_F#3vdMuzY${k?CwC+nl1t>Bo2n5qYUV|Qfh^J?(}>qeX5oF6v}-p+Ia5J zeCK`xjNyYG-$Z3VDjtrE+!sXHO%XOX!e*Ngs?n#;iik|EqD&S@ncQTQ0)35Tu7QI- zGQi!<)AW&nKHF||c`hXXd@>JLAU$rSoMvM#o)a|RIo%Fp__&F3fh1K^??Fy?Mc5q? zw$M!I4s;+_kx(%ubeElwe6ZdjLg!ojLi@G&NMI4gdna7+c%k`@cNvV~V-dv(Nvftk zgm{-m*aH!^B*GS(AwPsZ=Nc@vL)ITaY_vhs8Z5DK+iS4cZgg3L=wInrPMNL1j65@F zzBAhZWB6E089|bYUt2_Gt0L@?2wP#MwGkc2SXzlyc3SdEJYv(=SJF?-L)OPv2ne6YGi0ZnSYS(0r5m62|cH2?UWL z6@N(#WHv|G^Cp(B#GtQ**bCvrvRP!oFSoWySoUG0x-|;RHXDmv0frBLEI#i-Wk31a z=1%1s^yynIDqD!k0km-{(0o(*6~^%K9RyJ!6@N(#RCY$#>k;;<3FbF3?uZaaA)H`# zA`!D*c1d84VWj$Y#Cd4!vcc$vA+ML$Z5sNk_G_zNj+3)p?qq&PpZ>N*<}D&~0&ScO zG~Z+r>Toir;DgAJs;M7=%|9RD3-R zVD?4W*Aez*gne$}$rMAggis-zc=jPBvuX}Wcv@qmdNATVPaKlCn1*zo_}XAhUpf6! zyk()Y_2+i8%b7xan+RuX`XH<=O?Sv0A48vh(870s@U=r5#|O|gpO2A4QBLXrz7lSg#8s^f0*`JB<|0$_r)Kcdtfbq#B>$th`W$efP>Vq{=&KbJG8^@%>>pyHuWZjbh%} z8byhG)!>x+Q34cBNsGk}#e zXOcU>D)i}%EPxFO;54*xfYAH^%!P4wey}CLWozmJK)We}&COu5GuVv=w;cT@o=7Lk zCXk+cCrsL4d|RRy$fNfMH=~Ia#Aj32Ie4#Q=!@Md@L^8% zF;}YpP=U(ZOQ9i>O z*BSnyFn9`U_zXjN1*8X~j|;m3#I(EuM5dww1Xk-9xx~2y!*~T?G5l1(n^?2z$5D(B zt01tlT-DU1mi<`6maKkDV+UW0UcG)x`s*)zUi@~^td{tecFQd!tEbY%X2X_v&BGQ0 zDO6<;{|**9dNghc?^O9bQfOxqX-1&I_QrvR`EfkdzeK3N8=;b_spliqb6c|RW~hIo zRn0|U_%nBb>S>6KM~rBGQ}lCN(zB^~WO{eJ#-BH(af9;cXO9ag#FMb+AwoNo5X}g? z63lC`t`L}C(^j2{9x<+U@Jt}8W%mS@mJn+L}=Oi;+*-j=VW%8e`Ax(R`YP8Xpen{ z_*K6NEa|x`b70g)-JC5>7CDU(sxU!-b24f3ZY%j1*=pA8<@MUnYOLfwLYD2MKH;DH zeiy!t3z&1LA(#h?9!qj?%E6)k2xJF$!?$e1j@W}%Vq~WpBdru@bb9Wi6i63oRCO;r zVwL{2nm_x|toHL~FXH(tcI=OlNjI&>gE`sv=VU)fT5f)@hvcIXY!60YJBzMg>C~IM z8o`|FHRQ%7G}}H{%y}~+SiVWiE?BmmKYM*70HW(7gD%b{N9U_cb0l9LA(PL?kind1 zGR2#~4$ahRy4|;Ob$J@`DmT#Ynv!BYzUWMp2_1>H< zIIaWLxzSZ=9qt8uJHvtRcRMS}4_<|}FQQ3sgVNZ}#^~$3wlhI>D;3OGX;igh?**%A zFSw2G1(fY7I0x2G&CdOkY+X`T% z+3Rzp!5*PCvbU)Xl+C2aVU506)Z#D;;7}rIC)=ZfqhBY^mRlR`yUKjfnE#UZY~w99wLDu(BW_dmETfQ=g4Z z&sfFj(yZ03?V5RlYUXxcGqq7OPg2bsG-_rX%Dxj8fIt05wzmk)pZzc{ps*x3hdj$q z0MAB@fmW5xaJ4koQGYfEGo_fg~?t8TJR6p#rj*7)T4PH-COP-;hLDpjjEyhYTVZVNlUejABX-da#B(4eH=Q%tUW1O{v+PrHLlJ~#r z)iJ#pyQuBWM(XggCZ?A&U1RL%{0$_CyiY{v_K&(V$8iWh<($dS?y0{;v=Q-y+6sgU~T2R{#gyEFWnr7c0QE45|rK7Qc5?6i)G#ZF!v{GLJo!@=(s zJ;=X;$?b!G4=u*4XhNy)qt`o}vAG=l`*{vKV~n#7emnGV*PvHpYwe zQ?&7I44Ut4>>!L0*Z~OI#z@6O8L^Fho5K#8d)Ohg>Ic0xFIqe$_s1OX5#qhrk3`@* zr>m%yvX5}Fz1ed{4Rqb!?9tKNo81%Tht!(aHez_x_Qu2ifx`dRy0sF?{fUzL5v}UC z{45yc7n|9<`6p+t9`|%2)+KE2&pE=kM3P@T!jHJ)KsOdLF${D5BIb-aRK&uEAC8K} zc_V{o#7D#PZ{*qWR$lNBh0Nc|e@_t{!8l%b(0te3X&A%DDF~`NQZ=;&>h2e_=mOX+ z&=Z8vfAOk4x@u1E{(Fx12->95bC2a@I|fPjEsybCJLH_kN4e5b5Xn92uy()2Yad(PkJ7aDFfEl^ zeJ4qeBa;%WdAC(0C{~;A<>|S9knaZYDfV`{xBY8QHg9c+R;==ooNOLIBj?0YY0xfe zmPV4{O1x41mAp45KXC=YY-skuHaI?bUbFN-FjzlWKdx5X`OOORr&N`emsM(2KlC?vDmKQV&B*q8xq@fpj4eiZ`{$&ge22V5#6y{ZoA5>ad6~JG2i4WDrfmuBz zF@RZ*qi;}oanU49WOdbPL|sSG)vvr_a*=G+h%J` zKG}QbQ{L|Xj_JOE<-TqV_jS7i-_F~ThT--pz+?b zmc*L%YWG1Cx!>DfR=dAx;WOXOWkK(7Hihk)~t_W zmOSkXShK!v z&H73#*E`%@?~LX81IzWh80L}Cu2{3~cAxdbShId+&AKO+>(AX?e-X>|am)1)=P<{$ z->>NNNcIvR(iZSya-tK>o>Ap^id1;xL;yBP9iG|STkysqM zJQ53_%R8|oYvu+qX0GS${;Zhp!^NyhRpwA=dkJ053 z^oQsgTr|Ty;t$XnE2Hd)n6lQ z&<=&oGk#pyJGKD&YQz@L*ZGv?K8k9~VDN9NPnvovZjAAh=KrDYO`xMFw)p><5Ef0? zACOE!(i4(~L<-pnxIheqogf_$6^syq1c5*j5PeUL1QgsiR8$Z}5%ehvxU>qWPX!l5 z#RZ=$AmT0xxC6iMt?I6>o^+4&@AuC6pFii2np?N-t$ROpdzqd|rKOy@S)8epq4Qbj z6TPAmPtck`6%R@ysaGPitFsl9eruU7gHFXLzqM=!T|HhRvNm$&7+$sFxM?l*^&-P^ z<;v;xIMZiC=ff-uDxb(SIkR_U8B*^RSq~XmSB&!m(*-)8$T~yi6Iou|nNO87_l+}i zAAk3~;<_Iq-4BZ6zR=%&fpqW9wZGJRaUCnC9}{Q#(a`yD9R-yS*Aa4N@5qKpeZ9!S z3FDyjJ4()%K~KaezhXESI-khSmNR=tc9zuFiwsA}Oga7ZIMYvq&WG7lsC*)uB4_rF zY_inXi!7Wl3ras`^JUO;G0KlwHFQ3a&5<*EM^-8I^&$haE9CT-#hLzJ(D^XC1S-$S z=uU3|lzxdXkuzTzXXb_e?h*aX(#H*Pd|U^ePxROLyALPa0;ON{cgmS>k2CX9fA@%f zmGrR^<9s4q;pZY8z8flWwX3(X;e`94j13;obss>tQe^Juy6a^?>oCkGphuwcT<~!C zVW{F=e%DI9N5C7P^ayw(x_txQBm;g1!+fH8I^L|Cy=UDLZ`Rl4tlRu&eMQddeOSIE z^&TwVfYO7-c69r)I4Gk!fMGt1_XAWun7)H5-r{{D^&SBqg3=@4!|3)6IFx4JgC4;! zpQ!$nvwCCvUFtoe3a5ESm4I&Fs9MOVnqrs_#w4hG0zLt%co-W?y+^<;q4dDm3f;Z| zx0eA&Fw7^a6gjIm#%#@(EanDjvpcsrLxD3zQxK zpNwwbfcwdS`(T()RK4V^-WYpGy+>51K&qL!b_oy$9JOCE7{m@I4hv^$YwgaeY3epW>bS)g+x7MF zT;CyGFU2sQgl>s9>oV_I?~FI=y>iwS@m$~M?Rr%_*PEs5XWheG&)!Vve3E?%D$msm zho68-l$%mcbY$^|L0jd_FU6VpMKAZ_RPwx+ds1=t?@0GM;<(=qoljz~d(AA)3$J?3 zEED@k&b%wm%blCucZ5Zaoq2P&L^?m{xg3jXO1~LTaT(fk$SHcJtQOh3FDNL zf~%H(gw7|j@1gRkrElfT-jRJR^Y&p!Asa1a$k(+D6XW3d4LBp#@Yvi_i=z-+#jE2;EM0GBd9#Ks|w{KK?+S{js&)U0&xz3uOK<9(_ zBdF>nQ@~GYA428xxicO@eIsYyA7|!${_gk2b$?j8|2dBP1JL;-_JjY--^HEzh@AP4 zI5Yp|@BWv#?we%TE7mZ>f5jR==aX0%DxVcQ7I)?ra^|LSW=`^Ve*#qg1(7PBt0KPis;+_*maNFP1p_~;Iu zPl#RPx<5_2?-$2?eq0|#(nq0x7zKVV!r}f<`IJ#OVK9^)C&3};_B{!nDFYhiKkJBi zvySne)rdFi6glf84D(ryQmA|m)`?L0Vkn2w1H)8w`(mh+0nPBAb$Yy6XM4{&C*G`= z%2_YLFdq!_q4L2n4=P^_mqF=);c|5QVpuE#TI4@#UA$SBc+YxuyjgFRv)+VZJ{WF* z$`b=UtXS$j>uvF7T`p(6GoI@e-mdS7=X$Mly&A)O61qR$tPgq5`f$8i*UMSg#dE#E z+x5nHt~X29&tjNQLT0>Kw|LL`e7sq=%2{8E=X#sB>sRBs-XmRq<{sw0_k+$S*^i*| zEXQ#8L#TX?O1k%xGw+Wx^FDv~d*ix4EZzSc$Nd55d=mS?f9CJv&U{49{70ObfAe?$ zOI-JjGVOc62AQrim}|wt(D@{G%x`9XiqlJHn&EmRG zlkV}&boCtWBG5Ljk8J59>K_KicxM?7 z%~~R7Jrl!xFcd@OiGeP>W4&h`7jM>ya@KR=xjxU^b!j};71H%o4D(57O1xR8d(V1d zyjiQ{td;RxS9`mziRbzm>G~=6FxN5v1av;hZh*>j^}^xDp^EnyXr0t64_t=u$Nb@h zXQ7NOa{Ft=FUz1`#3-faT|qw&olj(&<;>oXf}WH5dXeD@`<9%3dz|TC_n-b%>E3(# ztx{ia`f$SAQ2K%SSVs0CM)`sH06L%5d=DxgW;>y(_lQ`m7MSdlGw+Er^XLBVKaK1D zpmcvAj{6^=^GWPG|Czs$GkdSbS5oh>8i%0tTaBYK=sz*aZ#900&IkFga%S(y4oiK# z$gm_yntemlMDw4%5p+Jx5~1>mECH%`hjvKn>qQn$NQTmnSz8%&YmD+^))G3O$ePQU zy_q$Y`g)OpS&p1OE6(&9bUw^7pz?_<9V*`s@FP&h1DYcB^}-G(=ur9r?JhGq8KeAw zGU$B5J_#z{uydh|7j{RfuNO9G_m{DqigA9i^@GkQwtT33W9u#F_O67UQtuVp5EtQjg~Wyj5G6afA=7Jw)8PBj*k-Pe4-!Y?>?Mx4wQb; zPm(jA7iZ=P{_YX|Ea~III6f+%^NIcfKlkBqIaKi~woK~lRYf?V5=y_sFP1^i!zjOk zse#V3D#GC^IkR`Y&X)Rmk%8F)IsN4r=fmYv|JncP?>(GQ2W4#D_}=kCbSsIvKM220 z26VOmtc&B#dcF6oH^iIuK{@OF80LfFKB#;aVI@@Y%43Dp*IR^e!Wt+&Fs((mFQ$z$ z;Kwn{C#rRFR`1eyMCv`FdICz1sGdZ(Z&WYIs9wM@ABK)Y~srQKLFDN~tI)ZNBs8aBRi}oT5hucJb7q>N3J^{CcD&FEYmwJzYQ=#+-ID&59 zfOBNPSs3OMl_qEP#+V`X9#QE~dPLO`-M&%vkx});FrQoRDU#U~Vwg|J1yK2h+#kw#A)hAo9w85g(j(*{==KeHj10LL!+aKC zBvhW+(A})zJ!?t4SF4kvsGr3a?{==R0* zvkdr04D*TVdpWE3ox-is#dqmX&N)L=J(d`@6)rbl^&nDcIm4W-$1`Tc& zZNe>9dn>gG4HB0MIq^2$(tYk#aBEb~ttu-wDlXyM?OGQgvE9WYsa7JLiAxEtGEfaH zudb<>HHmiY^)$c2Jx1|y0lyqIZO{~9UxQJD=FhGwoi}NQvbkl`M5q(PiP!t68@pYw}1R?TvJ!bpaqo`ciuyOw46JRhaf@Xowss^o@u*55#50)qMLNg{+*OXS5O`0{MVitl(ur`aG+q5A< z*lLBaL%2?O%WB`2Q@orPnmK8HDH&IjbpyWD?A&npKY1bBYqbL5Nq#nX!7s3I!Zr}8 zyr{ISrpgW`8k$Q-KEl~0mNj9w6~-Q`-D|a9SnWRE(lWg77v8&hp(&GUCMl6MZAs^; zcl;y!5U?oC(%I!zr4=I!$Ce^cJIJsM@*4z6HTE5Xpym7C3hDb3RD)(>uOj4jzi!~0DbT~&EO)ufp-aqLbQJ+NrP z^x5SXR9E#a<1ZN6`MrBi7*jr@d{T8e@9Q#q%H+_&pRt2x<2LPTwOh1>+6~$f?epj{ z?Y-y~(XXOcMGr=oM1PB37d;w%Jo-hnE_+q>qU_z-S7)!zzBYSr_Vw9cW#5?nWcJP3 zuV&wx{X+I_+0SI(k-a7R&g>7f@6O(ty&`*E_R8$HvuoEP!Uio{wbr5?YUb7@-;{iF z^2+2@$p?~uN#o7`?aiew<;#sQQrrn|4rQM^g)b7>p(^hE@ zXsfj~+QZtvwMVtbwT;>n+Edyy+9qv__Pq9j_8;vPZL79Tdrf;?+pfK-y`}Bc-qqgM zKGZ(eKGQze_Go*xecD&rH`)R1koGHbJ*pkku81y(UWr_nAkU@I+mY$|=#$ZBqR&R3 zi#{KHIr>_3XY{@3`_a#%yQ6zR;Y*M?2r5UTOR}!ZT9fr!*1a9-vKNBPVvxB8WUd35 z8$jkJkhwK`DY)DLCU=9!N)TL~y*B$Hka;|NBiKEa{WPd;0lim2YG?NQVD~8)@6G-a zbRWoBo%3MMnw)>1x?!oBEE`MCb^G1V9IzDD@j zAY3}pH2?x1gYu<+jq$%hxGjb5`bROGcyjOj-kS2STd!Vyy7lbar>m=1)4Fx-+PgRU z^80k_-iMDr|HM$}*s*YE%9SVPzcnHM=!WD6K74rOzwdhg$t>M?u}?`j)H=Cwh;*%u za0sVQ{!ax?9fZ4cEQb?Yhy*O?G>(uz6fsKo%Ds0E(J^^Sx>%VScN<1F|zj$G|b zr&rEDInG)D()4&Q6nfWhoV5rv?yK_vn*Jn<@=yA+7J^jSi0#MG?nG!DkTR;*iW%iq z{jv(>=}Id?Pqo%*etz%V2_q}Ysw%51r`BlWDyrvBnxPprbEi~PPUzmXTb~Jql{06~ zomEkD@q}@O6G|#8XH-uZY2anIo?W{2>e9V;pYFXUOs<$UVMt|l&G`J@{B&2=y~~st zGqSXQATm~S@$B*`6*EF?>T#Ver%#zQ8+S>wx|D_3l*;N5JEtPV&I7vGpDg&RW?I!&yzSS zud1r7sw$sdSyj_-b`>z!gjyE0-}-%zaHo@ydUqVMt((`*m=^Ai@<|!j6laH&JUU0D z)HdYjijU8aRvgg5jbap~ACdiU0{aM_!!^8a^}UBqYO(_GT(_7`8A6B+x~z0;rkJont*t@`}GPvdz1^Mhv3 zefHAFqkkH{{Heb>-!-yTe%Akt*v#^oWwS3Xt>$SwaQoCT8xz0(WYa4B*qyg7Ue)Tg z|J_8OMfdxBo|NvpE}GaPIq~c{caQzYl95KM-v96ODDKxB`R6%jXEi&#s{Esl(=%(A zw@PSvp{y`|<1%~7)cQ9r%8}S2y!Df=1rM>0pWb@e;GvPH7CqVQ6#Su;(i!yUU#u#d zjdW_JmR5>CL4!NVhWMIQsJ0DG(F^fnekif_Mw}nRr?*RJHXzoR?v1@|7m*X3Ekh?+ z_Jy$j1NQT#USv&4?|U02(zp~%b|t;&j#J^dcH3GcCY;hP{877bv!>V^+_9)Gb=zD; zHjm&OT6;1KZM!dFr@8EA$JpWH`cQ2rT=8m~z}U9?33i8toyf~Q*%C6k9oO;NF}T)o zqXF&0-=&0`HNl>u2vQiu#&|WEwMxa0lafNARLadV+fHWHv+CnG2{^7Hvukwx_ydx@ ztwlpZvMe>+>|?i?I$tLYy_SdB5r*q<+tYDdi$-Ml1PohXJF0or_H<0L#Vc4XZ&~rSB*BX3b%-ao8iP+s?6osbb}4P_z}}OZWkP04$!ybb{76Khq*ta_96gVk+hHFzX`d;+To zEi?*}tPZ-Y)Y-`HcCyn(;m1X&u5`t2H-05}-qd!IAftBU@#7IJxP7F(*go9s zkZPpPMP|#$?B=ua<4We3ZHHN7{C0|*ONCEncamAtbMd3Ji(|G6X1lprEPJxKi){Xd z`|#Sey)7Hy*p-0@6`R-q?Ve%IS2Kk z%y6@pR4aL2JR3InrVir6jd5+G)2*Y$gu#x?ketOe{vH~C#^w022;+0Cb1BX75uc-8 zVB;{!N-`Q&iyxW&l}Ub9EmQ=Q%)Mmu))n~i8*J? zm)7A&=K{yd?Dm_E=s zj)}&2mz5eN**!pZk1oNFPJE7on$`&R;$VC@vHIUK3Fx|)*>N1UJEyy=}JsJ z@e+^+$!N?q`0=Hfil6Bz#B1;%e_nNL(N2cV8nQWUC4T%e+9|&U(QvbS6dM&GS>X#@ zq1qSj#g83lI_C?rS`$SzS=TR_Q8`Q=B9puB!;hh3LZOy84~Fl-_}Lvp^uVOF5PuM^ zrhH&Iy;rF!udWU)XxuP_f3**_3WdJR!i(Gu_@SSJ9|_@UEgImOoA5?%ct>vdo7`}- zd6t_gc%)ucd2#8K`i^qpXg@jH@HBoT7>I)$5!>?DGiG#NMYezsqct#0B+ zciVO}Y+u5Iv+}8v@Ry|&!_wK4s%BCS^qw7|W9qNTd>NUKr_;)N;USnDZ=jnUwL%Ag zDW%i!gFgami2Ope55w>qGCcM&etbP46q-J*MFN~A=$*neyKY5}JN)XoGs{aWX3d^U zf8t7*cZK=4WZvpk{J0eF=4-DGA?bursNqX_xVN#axfR|e%$z-=yrw*~AOUYqFt!iO zza#UC?f7vN=BE)cyvc3W#0t(a9& zJx$@}GX8;#pLh#Dro$M2ecg&2c_)QNwk$2BH#qzTw7hh7CGI`TtEw@sIf^YQG$gLR zNoYsTutKAB?5N?Riq9H_ivx`C+%XYkl0pO9l~zGkw+U%X@ma9Y8ihiM+i^*f@4aTuteoXsY4B7yd?H`m{_y>< zhS3Xfq{WODhmagvilP6;(4^3MogXe`l`|@Ct}xspPOEvxZS6vf%0 zNl42ZHfYS4(lZJMmW~*DM(MagV~nB2NVgMi=yBpD=@I1AB=i>dKX^>R*+yXjm^!NwMtDW-iiQ$sz7|bF<3&m(#l=Xeq-4aP(t!mf z1xiYTLW#R@y^R4nm7kL&P-6cmCQk}okI9P%72%YWXjo-wokVc>iY#8m;2(IT3-gAR zj48CsrgZ2)Lz#FEQrXE75^FwlQq_fccu%Ju zzTW-#dcVz+7&G_`WhD|qiQ`*_N-@bS`V2=b;WSM1IFI3oK7C#VJ#Uy)RW<2iYpUm= zZW0Clk{gR#1@_0X%WCTL9o1t6Ohoo zIm6BzTQI7mwB(Et$nrPXB!y0I$>XJip(ZJGL(Z_`!jeHH{Fwc>08mcFj<@@Cy$}fc z!)rK%KZDvo=8vfk=-;h>fA>3Hah7>@G374_L9KH&jgzJYYkQ8{q15fLZe>rs*N21_p0NDP017sMUnoG6wY zx6(M_B!v#3AQ3m64@EJq=ka|jGU89XaOt;d_$#hkZJ(TGn>_$qkvPji2mRA<+a&Y}4u!&! z(xJu(Ty<)fqF-LVZp;}wbW}+`FY}E8pSWDinLBA#4K5BK@0y5YS{H1SdY=$z9RMQ0+q#L?D?l;2OePNN4&{SiIs z@bwG__?Spx?(FJGbbms@8wfsehkf;NpTz8wHr;a_z@?{2=&HP7XN?(ES}?Hqj6tR2 zi;BmLRL(&)81N217|$-8Tv(+Xiw%Hab-kl0aUI1MC{M~y)4i27DzF;mha#L-IR$9)xrf`u(N{1A z*Hm=Uhs;evxz5diQ8H#Ms>c|5j(R?Bi@7sf&YOf!ukqKO#os|q3LO;DICs=eopj)n zZ4(2kC(SFLQfi0AuQf?r|9Q@^QmWOFgGz=J4}@Q;)}+u~Im6BvQCv9O4)QtlCJv?2 zm_#>rxC1MlN)Phwi%lBz&r$h&hbL<>D_}h`lPf^gvx&xjBa5VbW@XjI{M2Gs2wm2H z;U$*c@}jb7ld9-C5lsrUYdIO8a+FWPJ9#ZBG)AmbHUE~6b!wW#^Ezf-^Cqj;yqDoL zDYQ};31(nYE$-0DV3)Yd_l#BQ97=S~+RS6Sm9BXs2aV!4ZlSqJp*t;Z;&$^{KHoB{ z4{)DBN0U$|b*&3Z)KzX1N?h%6^0%K}IVT&s?rz~Re1H`!EFMujrqmc+P)MgSx?fHT zZ51nTt+_mX=p4^JT6S@@w$6QY!A=T|Ygr}lP!qrOKNXZZkILrVYb$uCFz~L7r*)sTdRVxMS?+7jG+M!Aeqndr%+7}4i`?zl zTwEOZAx$+ej!WxmH;(7O9OnewaE>k+1CA~6Zh@{C&Ci{WpZ_2HE6%JQTxWqtX=%=(R8d2O5ug4XK&(cqCSFpHl zRdT;mF=jmf`}BC_{C)c4bADcNcp@C0XXpcL=cUEr^Yuc@c>$bH;?D6Zi1U0H)^@}D zRWzN@U=l7G`XB9z*l+FFFYVZ&cI@YNA|w8pf&NjuO;;Aw;O-JDYW~)4aovIBvGl|I zrQMpkB^q8Y(#%76eIvcD)6Ado`X+jPg$6pCh)1ZlEv!d$UA&;fSo|MR0FV9tq-c5| z44w+4z^U{Xsr0c@A<@tiQi@n8g&l3j{<8BJ00mMMd8ASvp%j@%4+NbY8cVsDM@1Tx zi}{yGgK`n^Hb_Cd1#rdVg%mj6Q80#&K@=xi5)Hj6;!R3nC#0~(DXd|Ng}xX%{Yw>n zk`uCdLW+aFF<#r~8{+lxpl?R0(1+tZ6-a?oIST|>MXDJ(sOMN(Lb z9rA4G^q*Ap8BWM%I%2b{J|be~Ri7ea{@bdLQYv#W1y2Q1;8ZS!F?`IW6ws1r=$(*? zp2D(ISeBi~Wl$hR1-jyeA`J(9F2#E}T=94z1&;R`7{f;$#fg?gL+^%o zPflShg`H%_do2|1qx57aUXvj(aOa2VNlw7}P&&h0p@nMGaa{Mnc_lpd$}{GUz(D)B z?M@k72j@HkNP#oB1IF-i6Ge`eL__a`40@%o9(MT4(CZGrmlM8v>PPfuZ|rm%i?0uMsrK2%S45-?9y`1cExK>=m32F`f~kOF7$ z1dQS1QHmTbiH2T;33`SE1Tj88%04Z<=@4y&7UZ=>>l4$5- zk%5uI&a}hdiC%a3h7-QZ|I9$qkE7_{g>N1`q`=XC4rBP(MNy+A(a_IB^b=CpIVo(s zoxpA}ZjWg8qM_4C?I*bN8-Nck%n4!z7KfH-`lJ-x-z?Wg42Q!nFj7B1#eM8ga&or~ z`Kjw1CwX%`UgK)b&s5zp6*=2S&L*XR*Ma0vclz0bJ~SCfx-X$K&riWfe*aWTWcH(v zlYtbN%+D}}k8jZs84?Y>0%R^oVdXZKgJRGj(HutO#&UtkXfeJ=pwCdS{DP7Cg)vxW zI9Sw@uzc_5(Uf&7^z>J;yzbh;(#$NLtZb{f-WaB$Aip? zNlsj&#kvOU`)%9*UPnn zE+=!f2bmt^>=th_J)tvimSk=sGQH5p$v_HBW&n)gqc0jFL!zPI1v1N0*zGo!0x{?e z(G;R_V_7CL;`OpZ!7>md_2n^GRybJHda-|;9vL15I`ow{x){^Dp_-koBIse3)(FW+uk0qmzh|xy$aYm2=GkOcg@UayQ zF(T2>4};Oc6!udJ`!R)mZ^L>UI{iEAF%^Hve9+0*{K={(ddU2vg{=+`nZL(t`$^}3 zI1ibBp;X?*6g(A3fm8V$#_+L=Qb0?hp&vmif2OeCQ`oO|9=oAHipt}*Kb<_(mHS#$kKe6? zNHp{oNT^vVOHO4c+S$<80FkJ&0L`3i)CEWu$?yd@Q6%FmKue0Z0bKETAq9@Ng^0Ha z#R*>|8hR??ZI{a0q_Wm_ye*+{7fd@RUb77Xv!8dib^@+{pB9RJ-Wj0`TERKb08-!# z+QS$=+EV0bNi_6KWY9j9rP<+Upw}IKdnbGqcUqw6HHtnHzIpVJ0!M!mjNzjLMU9q3 zJRe8&dMe9KWm$FtouP2oi|!;~W-I)&0%ed(88A5K89)l0K|dJ7M-Pe|Es2KS1sQZs zWqEe^r=ZszerG3qm49BK=uf8TPlazDJ*2?V4}&p$oIz2eB@s`{5q+;z)+3d5vlAFD z#*GloNHp%NWG}G-{P{`0ROflyD2&wmrn+mdpOd?38S-0+9!~ORH@uF0-d0S``lW(b z{pW3?p)>oY+RxkaiOiYk<76NOCNlxX@G%w*ks;C0&j6VLsqAzc%S18gJkgY*abp=E zGUD%t2Ps(2$4Gr(43x(Ag>a1%s?fN>j6x#zTVg{2Q;m`Om{j+%VmM$-%aGU0 z2tk*V8RkKzhMXDRWadI=j*(=}Br@~R$H_nnOr{RT@bND+M218|KNn=qPGx7=SQd&w zi$rrJ8aI}+MMk_{&Qq{lg^~Ki7%b;GSk!v4d~hmfc~DtQzRvTevIIJFqNFl`s9cRc zP6bk6D!0QJK5j%qR7f=R3qYkjm6h34?hu2PiRMl;ZYt%-!Y-ES3YEJsQm=?Pil#eM zOv{iLOPN4RSmIxo?dK!6aZZo|b6Nvq__z-ZaU#*sXM@u$ z8`4@a;vvyIjK&RVmQp&^3Z#Eyq+S&RsoH_0mX77)_!&Jy&a1r{Jqn#!B^k{jM(fbW z89@rn=ouKp#|AXSh(tsG7Z_cV%I4dco)v?h6U`)79qW%D={BlJ&G^(QPII`R0g!ef`h<9&t4yAF?coR@FKMZ@2oN+<&`wfSj1 zD56I~`GlYpU?_(IDL9nTu!fT&Gz5i2L;o63_NTIascdg5+nvfjvx%GuHIRw-v$=$0 zzk@?PEcOW+{OY_{AfOU4cPp)Pz3Z4$6ze&gS6-d6s7s41mCQ}w@ zNi_67kxfE`g(B=|D*MY$Wfl$X(R5+!P;(p+BBRcfQ9?vMZ%{J|p}USg8OI}%qp2wM zu{@!_kpEA~=(dwcj9}u~aL$u}6gY{+6j`|TG726oiFmjW!NY|JOOCJ;Bdke;HHugd zOqM{cw~DwA+Gb7;W^zQ_R?tCvB3|3iOqxXGLE8x3{s*nQGOxpYW~)f-;VOD$Wws;= z*JCKB04XqqyI~9;x1b>kBpP}eD5OSMy9jF&VXbWh%b^1xWeroE{M9vVC(`F@*hZw! z7qPX--&w?T3V#LM^6()A4*wAt!^bKL8!d@=$B*#!2+NMJtO(O0EW^&=F&b?Zqbm{J zNyN-Xl=kD7EF}|7$s{8-lU&MVJ>2t5AO+6kd5R6+H=+#Cl4$7NkxADG>k?s|BP`EO z;|1uDq_PlQmH4|T@ppFOr)$D7aWLh@M&E;?e-U1J^pFBazXQhbv6Z4mOCr7?jp+ME zSf2>%WrzM26z?ckp>rPqgS>+;bb>bvl(Oj`8~zXqe>dFn@F4{b{{W2P<4Xz~Es2I+g7C*g z*ysow6=5SHY?z(FPf+XQBKm6e)?eaL!`GL=rx?9`3W) zVa#Wat9KR?J@PCzmMHv!p_~Gwz!VxbXW0lEK?gv} z!86gxU#-A%Mf&_KcDAyJXNmlsv)K6*KK+V54BEaGI5#BnWR4(2mw)muc-BNuTd zQP44zQ-BnhLQfdO$4O|20*Uzc6)4P&u<8h#6JeD$f?m)8kg|w#o&42BtQP6>MVzB7 zVx`F6S;YAies8$t;X?`>ej$wE;}i-TEs2I+i|{Xtuzy9^C3frsq0kq^+(}&Kgm3-} zvDwRaiHM(;kKeV^;brCLvvzczPY|EN$lKf@n9^KOZv{nupjGPP0k*O07?B15w3yGygy=ph_H&t zT#G(V22x-$cfuGxZbCz3NHp}vL1tZqJrZFLN7z~$&Rt^Y-J)5J#tmnk0%xNFX9Y&; z8zSzzoQ(<`%aFr)M1k|La&lek0qP!dywMxfO6bfD64ZJEbuaojC`f@pJpyC+SdE52 zk%;d`0n{@Q_Oy-YQ88$pXdXl3M)Zuxjz2x$q9A%4BlXQO^|Qr6q#hoY4}ST1+Jnk^ z^0mdA$_D7n&63I{qOuWvoC>7CR9=8Fe3)p63W@#*K4T+tAJ`M>|U`VtB5`45nLy$-`^yXyKU)e(Ih6r{kQdcqh!I-?;_BpP};KtPg%3!6Bt6klK1c>Pvnzy&?63&diXI+7qNx z(8nP`3Jhr|jNxMd8iGWkp?3zPyfoG+jp=DD+vYS(3>_|-5op|;@{o&tZaP`vG!i5A zE@|%T|H%#~(=z1M)JeeRpmYUPwg;$DQGXv$@0M=^->`9 z@PIU#{GRF!sSG;v6bY#xL7IX-4hd3VNL4U~j|wydi9|ym3P^*~*q}64n8pfhPSs*) zjcDegadR4sTVpG46Ns^!_(Z)|3^5uOv|1Z)gZx~^D0z$6?pLa7xy3HA1;jW z#&#)&n8PKuVTA26^l@yE0%N;|=EOHL&=58faf5)*K1$Nqm^3!pW_GO@cb#aiN8@Hz zg8cD8$Kp_(rjJ*c-Ao1+v$JBDjdz%-C1$ze$i}3}&rC*RwEdZh{eERB_b!Ny_a=55 zhL~qbV&jO|?dapgAO$A2n&!ku3uuTKiTKtA3avbim8G#sX{8rWDyErN~N^*AqPo?qQl_x;M9fLuXb=fu!WqS=hb4XsAx%THt%E6}!J zq&`0e+QkkuwaP3XyvnK+PP3KQvpkqRPjg)C&Flr}%=wbpMa1ky^l@g80yBFL#_;hb z8e&Eweoqn1YSY+dHm&!?pbtc|3yqsrEwZprXNweCA7Z4wFwOn&YLP?Bv340(R_o( z&0&dBHP%iv3$5Nd`I@zdt>+>I`cY-;abA*1Nt}yNP#i@0b}?$ zh=wqbXy~^C!_qW%i%sHBG3YPR96{qIu~eyuI~5W~F;ZWa=6+Omr$fTD40%P|;!zRD z$ibc7DCn=sn9C%JI|xM>eH;a(z$oyyVhBYeG=zdgLthCLD{Kx;#fWC2X^zItVTDo= zs}v3`FjBuShQlg{gIW=m4_8IBB>Pp~7+OJR-X}5KOBh{UDDJE3#0 z!44;6bGxzzuRFM%HF(wO^jHHLr~b~$JCxaS%*Zo?6gabg!x%p9r;N~&h~E)IX1mhZ z`)TZ5JFQ2cK*q{S>~hjlSK@t<0Ke|O>%0~#@e#%QC|vP)Aq9?iD~#b|6UB*^L_^~o?v_aZ#HaMA&>+u?40CTzIuv1}Si2|AjGpyhRD2CDG6iBC(&+*pF%K`!x1#8vEK#>?5e%iT$J`_M?*6 z_f7`pw@zYTJKY|M#n#y&O7Bz5$+Lku>+o;;6#JGUS)GUq$k~Mh`o$<&Dn)a(2}F z{QeVk<`H>*|BJ}{j6O~VQeZMiVGJL?q9HOQ8hWGjB9@rW64I^5ZO6nQ><>v}!)V-C z64NOeV8Iu>Pe^wjOD15X-Xz_P<%D$4$C8#0P9;J3qt}v31M+o3Iu7>wA08z_XEsT< zA4N7!N0bfG$EiRHOr;f!;e&RoCMqNv`aeLWRXS^t&YIa^T8nZ25KS92ZZNHoh<$V1 zP65*vBlWiF?o(Pj2aIVM@_K3E&@h`huO*pwEwvtR6B9n?fP6kq7G96(I z9~v4WLn40X4P@Giwqh)NgqaVn4kQ#l>R@X-qmQ6bULPX-m1&Q3~ax#_H<&8EK?IzTi9 zXxwZVa?W~wC2Ygc$FV^QjO{F%GhADYhOm)n=%)f(zjT(L&U)L-#*1-hi{>0O zZf5;NKD?g#E6mO#1B=<|G0gfq%+#{7T=BBXSCIAgKsJfH7s&d1Bb$sN=IIjIX@sl{ zeH8vQ74Ya9MiJ{e^sX^nWHVi4*l~$}!n~Rb9 zsB~QZl@cpvG7qdv=HPGpoB{q*77kh)c2s(3=1T~UC%|{;x1t~D7MKFes zOVJQ05)J)qfI2IkjZJ5UP3cN8?kdqNM&qV*mPmxx)&zyp5{%T(jiEHbp`;d-<%1X1 zSOt>d0qJV;JHZ>$HPD&oN=WArq-)W~AwdcPsSj-{OB;Qlp&d*J65sbj-`&25eb%0R z(w=?Po_*Nfx(BGk82!ceq9g{;S?9C%@d-k0jGT#(ryNdp2 zCuH*gVzb{z{2*fH=)V&&FRr^H{{F&;DV2NeR3HUT#oEB*K`Rv!4gD{q@<)62TYL74 zoyTKPAVpC^9Q_|o9xD3ZL>e6ZFCq;G{Sk_nwgBO!0x593&%+o#o}xI>l4$6SGm2Ql z4Avlng)`VOJLDIj(|4)p8)i6F-yp+5AI59D>W>{K`X(8e{zXi|Q-KsXl{aAwAFogf zXi3Cp=18S!2209dCuCSh?+z%CqJqAulZT2vNuDsOC5cm>m@U(Lfn=q6}z@5}pC1z!@~c?;gU( zF^U{5iH6RQ!ATh`*A5?BfyRV?k`unlKQ~bHT_}3mu!KhsDRA_(R|tGGqo~pHtwZ$Q zh`whA>z={7+6lCy1YE~!PbUGhyTZR~pbYv@1}Sz1kOF5w`-Q+qx|IQmxMxQO{W4g- z9ey@?-Qo9h!dLm{2a5hQiarOvIe$ojqwfY|_{gQG(UNHBgAjdT1}n&5{p|$0i*dBI z2!{1U5rVlf2mXxvyv ziHsJ9UeI(y!7>;l^)WG630RZ*^){nQMm|xyj~y$rebX` zaw&XJy^x5F5 zD)#0hBpUiHpmI|NyTPWSY&?SbXjc(;vD}0#>|(i1p~ANaSsHWJz0ILwT86w>ZV+e* zOZ@w2`|3oSjOe#{bE3^g%%zgkt;Fdu^zrI}6qu8>0m(-ApyNtxKyo)Y-DyMmyWL0b zR7&R_1rpzVWJL_5dmKn==~zCFpAp}DdTZ~9F z^fh3#I)mMBW3qNAQMMs**V1aGmL66xy#;UjLosLMhaF6&Wyovk{-CwQcQ<+1n-gtL zVm>4}ttC#hDG9G7NP#(h24nd65DnE5iTKSRa9U?W`dp0IEt)-O+>q8OwX{)zv=<}w z4Ka{5I*`;_vV0tWEqy`GH+nPL2c5Y=GFnfJzC<5q1Sv41gD{4V@6Zq<67jVUFnTtF znKq_FV$fmH{DQ`f=~<wsaijn%3n6vfs4kptwUR5A9!AN~u45U{b zNNO!vK90YZP9W#6dNZOwGHq^?jJ6V^B=m7ckODK(VGJMb(GVjN4ShEleU`yK$zUI4 zun%om9ih{AS&ym2LuMyq^AoF{_(Nt38-K`**Y-o^c;6h_L#gCp3Z4q2z^U|xF?@8P z6ws20hs;Q2e+Ju^!S>pD^nn5?Dv#UtJ9(%pw@;)&D`)N%X*f?hzoB^Z;flu#DR8`l zU<@C$X%NLrA|5g$-k&qrfeiLT2K&wqxd=Kp`k$SU%>#%{K4ca#i-*i2X8w@5KKj@% zavY|FhGHU~5Tw8fjfXLOjHX1;l88smNa&9Y_FD$~#m?qzD3GYK0Dm~ys0;9$NQN)K zFCrOd0gh0-=fD+@7gFGOr@kj_} zCwvumV`PG- z<76NOCbJR7@WD4>LQ5hxF9w;;nJmx7@`M=lq-bcnBR7`LA|w8OxSN9IX^hmn#$f5@ zU{OoL^1;u5c^*_u^3~0o$}`ZJT_u&1iORF+<5VC8rm_{r@UaCA)eDJux(q7)GFg5m z>urPCCdR!gn%B^{!Sq8S_FLlq3Ygb1Qa?S@eXR6%z?haHua|s5my_x3LFNr|*58}V zcIeF0C7IKR%$w-rWFQ45^AU{U<6SgFhD2<=1Tup%S)q;PV=?Fx(R_-=jb)I?h}X+7 z1q*HDqz{e3GR(oE){EtXQz`VI!Z&^z=1qlmZ!(8UDnp3M9`tc4kOEWr5ytTG6&j*K zqM;k0a%Ltgwy9X#KGA+o81pk4Hp*u zN~ctTl!%e~c`=Ym9Y|{FSU!%QQA2WG>dmMTbmn=I(L`b-H=LHLXE!r$t5D@b@0fUH$U;TKQvbYl7c@~fYXF+@N zz{hPAJz5eCeFw7Gp2=R%WUpqjt#%f)MUVb=%yMq8mjVCHkJpveeAQXat$(|kvD=p2 zk4eq9>#e5fk*oO@ad-ejIR{9AInYi!@bM5D;y|LIe*_L6X0i`5*?XC6r_JF>8tS#0 zA37||50EJ?zWluRo`6BiDSju3FXm3c!dc9ZDT$}yoF@S(a1t+5WcWQEG?WC1hW-VT z*ptaV&t#w48PM)Ho*C?MGEnRBbI$}mjZI)5CGZ-2^8_FTPT)fd3|og%;Alz2FV-W0 z1DWiHO!i$S`zDipWvB69sP#jc`pxS3<$#ld`2!-fAMbo8a^R15zHut@E0KiH`Nh4H z<)@g>JXEh1MUSk-gGAvo4CNFc1*Y&LjN#);G(>?!{LLv)_%oCJp2>dAWQT18wBrx} ziSsKzrTppSuP)*5B7J^J`Bgck92WUIRd|%br|pS&_>cmJeeky4y@^==oErqYaEe{`3;PAV`7(QqNAPS#EL(fL|SsK$cmZ7n9 zjYTw;VkglJBXnKU@3q!(6kXr4oIFeoLD~mnhDd}TjOorgMx2)^BBkRxE_-2WQ?IwA zqDL-i4l$ukgE$jNftd_~F?^hYhM16O=-t5NWQ{S6ousi`jdiqv6hRGQVpY#18Yeq6 z)Kz5y24B^alvT}DUUw8YoE7d)*$l=MJR3-Xv!M-a;NvXH0xgM#emb%_Rb%}$manni z8tZ9i!?&ezWpk=`HvN=r@|6sFE3bRTX49Xtq1|nGHjn~mbBV}??_dL8B;q*&vKgeY zLX8#JdHfR!eW>QXCmrOZViqDcyG#p2E>xy;ryp|dyy|;H8hZ-62>`UnkC8_jrpIf(F#my zo>Om)M2}pfvkAdH7|Ibq3XFhusDY1FXb1s`hJHQ}oTsq~cK#2e7hIGzI?qX7U84!H zYcz=hq)ljefRF+Q_zaBU<1q>hEs2Ic69HbRu?me{ps{j|mD!O#3$a(EmNT3Jq`(wt?-=-a84Xe3TgmA2 zL1CW8YBW}*vDr3)9T)>Z%Ef!0lfSxHHO^w0Rm#b5w#eT(wO>r(zh#FHDRB6oi17K& zH}FNGp#C2eOa57OI$7vsZ(8=`#Jp5V|DQ_A_H#qNRZS1^TZaqrKFQ<53fim2tkdidD;5wZ z+PH=AgLu{x#D*Mi#-?}qZlkkH+VDR8^&BO8C^$=4Sh8j z-LJ9xG`3P>D{NBfVrYBOWT0`Ax*sXo<+N5Im5Gu18qNJaX03zBvf*VsCZJz`VpF2?l` zO;0p#N{@>Kc|AR;Q0j$|`V%pfo^&Xwg=G2Qkk%=X9`S(GoBTfM4XF=w<`WXqMuL=& zJ`M>|U`WLH zYwkBxuQ;4c%aB*o76F@s+N6Mb)&o=tIex_()L7`umnEo|2-G8!(kSd@v-;t2sCP>rK$00!q49RmBr_TZDQ;mJBvHxmpm(7WGal&+$h~}SY z+?+l|E_OBTRXANv2G&`8kA`R6%7uQfgUht+c~N~Vm~&qLRe0_4;I)AJ7ni-g-q`9e z#M~pX?Ivss(Z{ht3XJV;niJoEKtr`fqM?5eY~O0^YmM!xyB8z%A2mEi7O>8t`+@@sEX$As`dR_B-viKnIfzH$=q#S}on@w>@kOD*c1IF+{TS5^e5)HjKAoYy0?ork?%DO~ZXB*X@ zV)S34IfBNGswdL1&)t0$RJ7}po*#8TgzM{|GA%=1P~8P@&Z?`zs*Ccvvj;cYL`v`L z&5d@JGV>+3KE#c-nd00a1?JWq#_-Vy4RIq8zvl^Vg;7=zW&NYj&AJ2j!9O_toWijjp~VkHVK+Hy%ZqV6YZ zB@QjqGUO#TQXnT>a`PD4pGhzAMsYH9rXf*`ArxKF$5B8EjG`Zm;iD%SLP4UTp92)* zZ4Rf15vPjgG&F7wQ6QTjx0478_|IYDALmoU%< zQyc@Nz!*lr7(Qt0DZ)Uap-%;dDN#1rCNWYB8YLRq%gIe*ic%333W?DesZWc#pWjtD zBuvYYSHxtGia3)TRCuEp1D!cdqPT!i80h0DAO%J-5ytSrx2Qr(qM=s;#Y~$6-)t&e zTPg;gkH*bmrcx1A3J2OnN}m(O!%cCkGm&lrs}v5Fp{opNUn#xHJ9pY&%A6x}pG~<> zK_AZ@QsCS#hcSH6_DxgrPq4QJx_0DVYk-$=l_a?aF@j?n5?+O^h$5M(D zEs2JH58_=OWp_o{vM9UV4*4GF+-tDh3E8|0vC#>d)?k@~+gXF#olcK6i2aq0m6X|i zn2~1&DR5>RU<@A*Q$}b>#IG$Pv(-^{f0W&4r?n9ZWUQ>jY9}pqCGL0VoA)`d#Y(KD zc%OhP9xtT8@xB3L_;`upL`x!meGu`ki?T|s0J?PA=UqS=AQeLh%+(CjPaM&*3) z7DnnDqVA&G=%i{|hWxzvh?AfBu=848HQy#@8@ByZYm0(q4@T;nW3X&-u&5Pa`QXRm z(;igzlCLe^RK9@D+$^bVA}agP$EiRHOywsS!^hWXhzg1LOJbn1Ey`YrvX^WyKZ|h( zMRN#^8_YH&V%N)d11uT9%Y|K*~d1XY%w%PG&&kLo;^s(uA2P{o=zC4e;IXOC-y5`Y(u(E zd~PwOubh4=-m=iu`eUct<4PgEO@ym8eGt}}rrYn0k3naCDe>(id|lAT@j(iVuOE!z zqdOYHN1~zs1bjb6+4oWQtBlUwZ><&5XtWy!c z#M(Xx-S-ZHfHzuWXm#L%HdJA?-)|FD=#t2d3rS-BlQMZ?#fHda-LqZ!vW}d#7MnG48fKTLACyDA5?!QX2~xC zHnCiz`}hD>)0{260oFigwvYgu6TrFX;{YKA0hkZt+~RNtfXg-XC4hES7F(3X>ay4s z7Pma}DxOFW$|jVVe-lhj!uZZaFH}J953WWRD`}8Rs*~|vCCj`53Gb&zz;($XEfV2% zVO~Qq_q{m_U#@AnX>r}5vI0`KKiAM~X9Hx;-NKyx4D6*$t+S7n)ZDOD&7V-=rZ&HwcTYxo4C4E=#DbD5}W zk-IF62lxzYJ!klv!r&>a`=s-cVJCBSZDBup*5R!puhgY=f!UqE$D!6X?NH}ZS5So z*=*hcuX)&FAcd-p;NQW5qF<{H@J^M_BZYK4k!FROz0fMuyf}e}`lkr>S1VK!4gEBP zdP)b@*ADeB^y>Kt41eY>R67@u@rV)4&zgBk2ilvOM`rfLYy5dr8aJYVe)c<^LOcR{ z9wMaU3DJ(QH^ICJ>x!lt4Z$SQ&|Bmbv1U0eImd!IAH8OBj{Fj-1v4o}z?@Goo8{Or z#Xy9)NrBli2i`A+A08>BAdx1tEDmeM;Y>uR8T#ywMeL3|c3U31HBSVHo2zW|*1W}a z3$uGHzM^%Lj*IIaquVlEQMxa#tBv9eonzjXhcgh7Jx9xbITL-Zptv6EQ5bI5Gq@z{l>oe1!63@Ok(2z23V zQE~Nqjo6FSJ1?$V9}R)~`sj#(!*eOej^-VCSQe`N+WFX*mHuh@CN!P=gLAUy=Q;m@ ze%bS>{w5K}Rw2NH?F@9Gzp)O0fs*Bycm07p?^IACM>Uj44}G;dA_b`TQBBk(V?OHF2q4ZV;h&asE7~n+Ghi-53l~G#9 z1$8UMO-uI$ttg#S^lx(G)(FO&u6SsHe7|&#ngw*!^jGwqpkI|EkE$!Pp)WA>yYl$i ziWY2mzsK@&AI-D6!o8>~_pvyhttO(b?RNt)PKaE`g(#IkM&H ztack_;!9N=F5ze5JM#jci6<6^CjjL{{1s1}iJ!5~!RP5lC#Bq;;b&v@l!TB=`IOHE zpR%GjJPlJ;82ZRgMQpP*<#c_tI^|}sDKF$xJ|BF_n&NOZrmVp)#OC1_Vy!9X7Kbl3 zU*r?fi94T@?TSJ_1nZZ{W)J8FSr`XxU9vly@DKVJq}0wbR5Ug0&=wNI2 znfae7&M)AibUv9xIKS4G^)xNhX{CV$tvhtvIsy+a=ZBJqn{VSx ziW_bFde85l#W{hXsCwltk)I@D_55rj?D^p#^vCywMwJCAj(pDh|$f`QQi1{kPgXukc z?sxQxzcF{##W8Cr&FDS1Fr!=T-0#WkQM^)u^j*&XUmTq4+{t(`cuX>Q9ItS2a*VW8 z`n&w#{N6e^zvXShY2WdKlLqJVq3g*kvEMg&xnh+!LRJ7eb2`iQ1UJe3hIl{e9`4kf zGyMM$_a@L$6y5*#%p|Ml7Q&r5(O08 zH{3-9MbSr5!KGC|Q3My<@KM}F#C-u-To8D_x2n6kdeYt6=l?tB)yJ{r>d)a zdM2G`U?SF>fmeCI(6Hy6!|W(@)hQOm^G*}nvu*N%^t>Lg#wYP8=j*TY!hbP$qYrtT zG++mBlLvgq0nmUvx`3*C5wDbjhv1UvKr^MIu9^9USh-d@X&&vJFF8jJ|Mw#|IY*Ag z*8LK;w<`ohIiFLlE&^@o8TCcBkze8B-?yzSClEeT)A& zEvoBVd;kmnE@N}>cNujDF&K0XprH#T665+2ysz5Znf+?M>8PXohfw~B#`smf`4DgG z=*Mu{e*N28!jbdRChspg zw&|9qzQ41sA1A&$(4F2N3v==Q*jg<|sm}fMHsXZe`T2{MQr;o*5ymU{Aa?ZDj4!ST z`uZOvZ4%l2O|O#i%GlePE{+eA+<;`eMo)CT{m}&|nTKtPu+I0p_3_YgmO^%-EIRmj zSV`N`Tyuu#K%O+m>?|h#<$kBub91(~H9O7+cz~6kIr9pXoNNcVTVmHbX^;^wVk9`8@49FkNesX=FYW|*OJmd z-I>0}78B!_Lv-h;5dZtPppj=_B%dWnfoEw72E#`w8k!{%@ysdAQfq6LrlQMe?KMlZ zK0EYF&G)ttv(zp>FO`y==Jb{TEpe9YunC5)vt(N*&XTQ3@Z&y9!aQM?+EMz`o#}hb zlK5~)&eE|oat227S%MUJmgZwHe9S{bvqT~uJ&##Rvu4TsT$z7zoaQxIv{7XD>yU4F zTF~~9U7+RXIgG@cC90>N#!pliAOXb*zmB4G*3}3kewY0IueQhI0q-p zh`j`c(h;UON-%VvI#F4|)bX$vI>Xj!_GQRJbQyAu&t-`4YF~z2oVI=di;bFKSVelHb%bMy0ZeEd=-T7k~}E_C`$AZa5Pd!xNN5)56B zI@>z&sIxT*e*XQ`VYw{g)#mB>c_=tW3+Qt6McJgRO!qm#lXre=r2;pXAykw%dLsU^j8YAdQLYvQ$4)uq$R zL--Tojgvzi2d0J^CWQ+X)04bRi@50_(=;6ZBQ;b~SUr7IMNMr8f7>r9xiQ`l*3D@c zLezuMjjAduorOSB)ubh<_CqzSs(N;*I;tgC{RUOMwz|A@wlb;}RLvtuGAT{egEyOL z-jR=ZyZ_tQeGBP6#m9XU=sXH*1eHf&4WRNateuS9#wT(sZ}-Rex{pcsSw8MFq4Ov# z>K!@FH*%hgtouaH@pj+A*L@G^{&*kv3_6d(^1UMS^;RI=_x5q$)7M9#^fA!K$BEE+ zq}bor{mIh(5Fhs^`T7_ueT??;aSC)EDUR@UKT*1m`?x>V*GGx;G08iPGre4d!>2># zarlKJ=Ri5Gyk_34+7M1YVf=BkaHuvMDMh!kyM?j4#l-H0t!So9Xu5aQa=)nOx<{Sm z7j=P*IuB+Zvrz+;$1XG%Do+gOL+OIy0(5&~SSS;!^NxD4U(`kJQ5X9~y+KC37G@q8 zu7=73!oC0JQ9wq zc8~h7U(_dL)W`f>Kk4pzt)J`l()DvN^C;+9zo;ABqi*zz`l^ijvY+cM?yk4`xqeT& zej8>U1#R<-y4^kM`+iYBkx_T}x&GAM^=E#r4@%ejoMw(|zrE0T6#FYwuFEkT{uwHd zqY@kL5gGZAPvk$n-T&_EzDc@uY1uH{aiBX2ONP#)un1Hhg@vHeu<<>_w9Y$XZZTalRk7GA34x@q}ajN{qfR$7a#YXeSH*2 zAHBWP=;`Gm9PSR4#}Wuf`a$V(#_5l4&ofSuOlYuo)Pa6chqy-_>KFA?8FdWIJZ57Q zR31mdNT@t9jDykzLmb_n7$(Vt&hUI%)Ji|s)$Xoq{9IooU0(n*kAfEXMZMTP>Lq?rFPBjl`nkTs-SrYb*KbMJZ#c~y z+xctIc@(<^D%aTyhc`oY(!6QY%Bzd2=2hYzM#Q@F5##qTUY2_09!3X#4!{Nq-D0Wz9R1-T|FQ(jP$Ok@WjejV@i_p7DE7`c?Ff)VoylIh0-%{U9s) z7FJ#r?S{@H?OjlLro9tNzqG%Q`g&=Dc5>7@<42<2xrLysms=8_=Ofa60@aS;@ZVCW zgr18VWBjDqN``LX6S^669uwWvEh}*ctua)7P#Q|Tl9{zSTSMtJmzgr@bXa-KWh!*_ zc!|u~%E$@4>cnx=M(XQjhUvj0HUW}1xbo>`XEyJgl>X4VaMUSPUH z=aE?#s5~<3>>K$+8M&WNF0-MCJW;m7%e9}Ara z*D+9ea2+KhyJt31>g#0|j!cBo>nJ%#COsKeUW?%@=sYqzLq>Mb>@=ybml=+d*)sf0 zpYSuF^I$d&Dv!*j%E<1SO_BO~nS~>jP(0ODwS4MWvtV-(ZWd>%K z%J3Kaguf6v4`vrY<(e5?>0Jh;SK&)#~EAluJiG64RjvaU*+vS9JvWf zuk7!Tk#F^hyv*A@vR^5E+zUI843~Sk2#4>2N}TQL&1^VwKa`2dm z51`vK;ZTNk4SE=69$6idQQa~ADfKQ{g)>~UilEywtCljW<}mZXm;#kY!cCy^!`Mjb zT@r2ur3=Q^==Mywy-YX?Gmos&WK?&I?WEo%t1Kv8vdTucXI4yR)fr|U7>|R>BVipX zKa4q2?~-s=C|wdh9^IY^_m>Ixg_%cIy=7E)j6J2^C94ylbjj*ObbDqsQf75B%sem- zg~}u0BB=Z@7D~NK!lyv#lJF>WdnP>Y32^jI_ajeuS8HqQK;mB!F zx@2@Zx;-cljbiE8_9tGXx7xi}csCW29y-!A6?&o@iyX%#Ht~W^6&pXW=_udTX zJc@k=D%aTyho6E3+A5`(4m^6t>el@)t64!tQL|s`^ao-DY&Z z%xo|0lug00mVSlKBeS2O@>okh%E<1SeJ}NHnf)y@`_nCY1Abrgckk#2yuF7bhoN-Y z7>}S^Vc>kb)hN@t08Y;ItT_Ue$MF-6G=|b8Y7=yOMr|vjwuYIP5P`Y61 zfo@Ms17yPeVdjxlfsE>Yg!GYmm#hXt>5|nTbbDqsT4ps8W*!)aL*o%5A046dNHON?zN>Vf@8dqt*GFIJqnD459?*HD z*v;4d0O`KJkNW~&AH$@NBJVT`yKyl|bN!-TB%@vc zGYlA1Y4_7encS;SzLvVpt**TI?Nlpn>v9Z-KZ45R zsHAH@8TnhE$h*DW@A7qjK)V0U$Ne7YJPP~8JMvGykq^trfB8iI!`uBqU-u2Ot!uxe zY{w4fn6WT)9)%tCip(#Ono0LfeB3vJ&UMzgkG9fBYabsiy;E%A>pnxe$2Zf}J={T{ zov)7^=_BTy25j7`42N-j@3pqWkz6QU&Nw={J_^iD9@*XsCD8BEP63+@p^4i#lFLJr!mi7>c2C z#Xu+C3GPuR`bC{Aqn_#K`fPXCC4R0er0Z!g^C)PlU(}iIQP1^@S}mhi`MIufcU|k} z`Z?+P8K;@!n12d7k7CzCL8KIwjskNaPs^C;{m@5n#M z$nLZ8oz%O`#(pThX5)xV`Vg$VX5&xjJdpn`BfDpIKU;%$iGmz0ANYSBCH46JCSP zgIN|-9+_oA<@o`A6iPp!X;NP=?Qleg(hF!0S<&&Z@&d}B^GG`%D$lg@p!7?-lhoHs z8?*<>+)jj@S8n~G^T@3LD$m^d$k^^Hp_kOVZV#}ny-l_;ks-W~L{Ct`8d{}ucm|EyuS4B8nEhD?H*Ev#OFEcQ^ zOoqP%b{-?fVD5KsF zGY5|nRbbDrXNM`j1%sjF>D5JV(wO{I8viciJm#hw>+cT>)+~J~U zk%hx;W1f@S1}cw)TS4VFxyMMoOTy_;x+EM$w`an+GT{y|^T347pZrtrT|KpYWktuvzlSDnj)Baq+AG< zXUc=1^h{i2>Fqn_^PdXl^A z$$qY#L>frA{-){jMvZ^C)&PRIalZ z4ljgCEH`C2(RYmaCl1SG;6gUehutAl7H0O`y<}o!;!U6x*X)|(CvAUua^lu=NRO;&;!{Nv`P`Y6H7Tunhev=9R3Nw$aewI<)uM~cidY7#BLFtm!esp_g z73pAIa2WO1(?MNgZ4hPDZz9!pF#jo59Q@tEN!-Wz|^fU9xHk zr3=PZ==RL&N@Rs6&qi+OkcI2lq@)`~8@b7BZ>Bbql)OyH$+z&9u5+(|+j!Ny>ay~9 z#RdFvyXFZzScwCfRxvJDRKYgUX#iyQFYRTX8VxYu9g(;h8G_ScS^NV zfuL|ZRR2WbR;P{PL#1#ZtUM@$lUDjEAMjFwLFy@>g>P zN(U#vZbjQ%Ih{A_i}1#oyLBR8w0$ zudKGlvETvXmd>I1<<&J<%(M!V%tx$-Z|)o_tEik-rPP(&nl7fokvltwD%2H=#k>mE zvnt9fYfGk<)|S#3x`&1*PAB2PI^m=TI)}=uIX$!cVyX~_LGxr_dVyC-Sw80#6jm=v zs|`L@n+37RYxpZRv^Tuoxm73$d%zn)PJYvr-|F0m5=(x&Gfy!2oz4yTUa{S@dtcZk zeb~88C<4+u%=RM?h2Nx)1>vMmO!-q&{>+p=H{~x(`AbvYX|`XP?Jl$ZTC@#zi#QFw zG23rDA4~ZseP_o1-n9S0wExkx`^jv7Htm1mEiv8XMJpWHLaM3VmAMQ@Ugdq=9DQ4P zUk{~^X0AE5qUH_44c_e>Dw#b;ne$p86>3b|K1>LfYUH3fA-@Z-k-ty?fjwjv_P5y{ zHVZt$Wh!8A=TLR|+<6t%FMZ~(Nn$fG~kdH4*%+1-F_NZTUIr-+>tnP3g?TQ zlJdnONzUhsB&lJ(nCwPo+Zf-lro*g>DK|w+lb@1LlR~*2^$s7&cMZ>1dQBTk~*4l zj@jm#tuET6PQ0b!)4ZbcBO6C|!)BqTd`Ag|QpUAydt3EOs~<^eddkDSw|vv)!3~Y@ zZ2ZtE{U?pBu9{w5I(s%Y(Me;644X7_PWkkj>V9SX1w*@_Pp?Vi%4e0A)|B(Uu5+eN z3GMq0k1}o4HnmQ>Nn4~{rybV5j2+ef7rQj}UF?e3zSz>(AF*p!>Xsfh`v`4i6YL978XzR46v}d&EwDsCX?M3Y+ z?Pcv%ZHu;5dtG}&+orvxy`yc{-q$|RKGHtbzRFE||lr@z2yX@_e%Jk;U!4o5rO+;L&fBJjFAX9mI ztag4mrUQpPY{D1QOUJ*iWfik>rcLL45&Xo~@uZ_sm2(@^N>(Qs($a1BEv}2JOt37{C`P7P8AvWz_ZJsmBYO6~t zYr2+&*wm_;5IeIX#7+zK46)+r_+N|vQ+kBh$>T$8=y0e<4}lQJ|MNp^SVe8|l$pck zRbs4oJ%ldq*s!X=ySAA`)s&eSKGk(YXShPFs;(}dQ&nBte@-bX`N|@NTWYhNo_v=*+uj<=6$XErIz)d1b1|b(WWW0 zbY4Z})T;Apv~w$JYbJH?HmRbrY}UM~<#^e(Ti5P=yZ7wXwcDh5W!1Hl%BryYRM(c& z)M6G(%Bm`-RZQ`E=~wQ|^A|?=E+aZe7sf|BTq|^4Vo`&M&Fq zWjt`}v~lZ_fBtO!O8w{^H!oS)`t|?2K%hl$!g!pt9y`vP+_G8n8FTNNaO~32@z#C* z-{UCmA3FS>GtcPI;=s!CPdd%auDiQ+q}91{h4G7+Ia8GiK!nJh+eDy6<*B1NpBD`1-O2*#< z#wGB;)JTiLiGyp(N-N#RE+!{*rph!-Tamm|o4(?1X`9aLvLJV&Q5O? z%9`aEr%pAEyMe~N(G5TFSEXcGn=r19k1Mly*g1B^up4RE^*!(dPot+{Nf!PaoWs<3 zH1H-G*sB+Qe60+mc94B$^(T75C-W*XFQB!1-Q+G}K8M!3bh>L8T~4O>RT)}MkO z$yg{E=F*~J-|}IV^@8=ss9R{%$)oY(GmMJTL}NkHsC|x6YBU;mD~;2};KzAbU759*vQRbvKQga}j==I>0`t7iWiCyrPbh`{EfGgKtkEKU@{pH5_Oj zEd~a>ogI=<9QOB+{YjVL$70y$ntLh5_=Lx(m)JxExt9iwtizA&K}wL{)DbEID&{^K z^UkIC@dw6O8^(@f_>;lnI)YPhi&x01%4 zxfnmrImzDF?!&l~`M9!rg~c)Iej3$u34Y8RVjssu<8;R;HA@=z0F8TWDSjL`)E-A! zp5q)R*-yf#RW#~}EAe9mMzz@5G7>&r3%8iyhhF{aJ*QC5ZPwlX-Xpo@|@rMP-7#|?1X z(+YU{k~~#Eg&#HWR96v!FPy)VZ|D@hrBirwr*Ml8JByUyq^yL$5h?QETkzurxG5goG8}4g$Qm)Hw5Eom6+^U8T?$UE8#%iGi=hRliY#K^S z30;#rGF~`(>?j;ST1x0pE?=Be?GMjNW=|*MJ>2K3LQTuPgn#Z3s*7+hw+Jueicf>B z))32U8%|R4&DiYORh9O+rv}GKQ!K$y-5_{7ZA_ldLq?AxqsF1h$BjH`!myH}afM?} zDH$>}K0Z{}1X%D%O)}P4N@$pHKCPd_Jg@3zl1U+bfQ%i4&OP> zstS-)N@#!XOukCY<6Er#WXx$w=wUH-c4_sw*st(cQ>XG()So8&^j4t~M60CF*2H|z zK)fe-GKck<^DF3HLuqw&>G|g2^di*Bw|gUyMG=4}xu5%TN1i&NaLo9U@h6P}#6O@& z3H>M!Q^zX2muEb%70-zlZEZ^Ey4;b)MdOE#=ZEfpMKL&&RMTmJ4h&JwATiS7l(23v!=3qA$7QH)AfKj(gu0>?zO4%ldAYs8|kfq zNjQW*nfx!7nt4^~wbr`f0IjIR_cAJ`+Lt~hl{jzW^YF_WH4Wik-Au%LhNo0=+(_DC z#r7)p=akTxR@V8JcH{;yPQKA)YRpXRiKKn$S?>1w+zBJbj4$9v;5va&oS5d$E3K@> z`GqFsQ~*o~eIudJyhtQp!&ge^2JWXj-bck6hen9CKBlgnNwPZkG0M7;RUeS$j^tjies~I+_*w|*Znk~&g@q6OG{?a-}M%M@irxN zlDat5YnI_SVw0b-u35~K_`3t=Mauz{+&DB?FdRK1KDuyx(eR-|JeCN7skwe-l3~EZ}mrupHoSy~7ev!fvSV@&xm-OZtNm9r`?!WPisV{R!mSA5l89j9T z@Zuq;dKu?%XYR<8Mim#GV$pd4y~!hJiIvjDF0NQhrqM?i);Tr<`WH}W@=v&%n6M7a z+k|o*&?;Qd*FjFJ^U7wFR?}HAmJ&*BH3gs8l$YYhgq9K-EVw(lhUzl;J~>V(YxuX! z%=8?8_l4d^eAM)Vvm$qFxJZ=EdJDybJ#JwNe>p|C`vNg?9n{ zLV~lybDu4-4{X|LH}LQ`=Z+jQV)W24@e##iLZNvnp*u|C;!^y1p2+QHAExCwbTkef zXP->t;|s^DdrR9;@+z0JnRTzv-UI0}W+TtxL(F|q@u=c)CGoL^MRbC?oQK^amY0cM zu05Rqud~)xDc-)$aJ@>$dw4A3-L$Yqj2~`Y8RNz?=Qptxz7Azxz9)aMm+2g~C$I(r_TcJ*LCv0CM#bclEtlWclo>>hsMd^gmwy3Um4~^NH8n zGk6J`jEk2g!+Chs8Xts?$47}rkN!L7 zXBUSj!{OO+eX!-cq&R$zUSv8ig!5AF9It{nFTlXM?qS@22-h8l20^$O*Z)c##{NiU z2UFSpRQ6k{sEB_?qkodR{_?_FEMv^5@ki>Cg?pM!pdZG;)Q1)>)$n?;X6(o7>*@7E z&G-$kZ=lzgYM`^8c!cWOVf3hOOD^j;0slu8!ejqKlub{h!ApS@xRgPnl)h#uB*yhf z+AtPMV@Fci-&P%ip+JeEj&!OclqT!wiKLr_CQvQL5m5%!V*D-2pjt$}NomNp5UzN> zkOJpB27}>aDCLQk#JJuZ`KF|?CTXlu8f%bdqA!L{|3*chVyA30Nwd*6!fOkC1HAq> z=vz=JV-bRv0x57QXJasY(62h2E)fR$`dV#aa}{cS!paYjYZQ~nw9b#==8lR`YbzTBNMq< zt3E1n=BqwUbMvRl&GNB z?K)KSIid`XzJn;kMxRIdUIJGs zxPdZ9OJZE_iwb(Dv7T1?x1-mYes4Q{6?e}-*%wgucfdE#9#Y`!S79)GET^o|l87@4 zvLBenPE2F{tpXl|!g;6;v^EaDe5|Le(UKU~i;?~4G8t!t4V3*v%Km-$=Gj9Eoc)&=3?DlvYqTWB^|O)vq%?MB8av%8V5hMAN;JFB&~{Sy z8Ls>W<3lB5l9+)dp{1H$nuhC}yR}iLz~R@h)XzzC9{Z(s?bblPb)9J!Z=8wOe zU$fk)`~jVDuB0-PsQigOP6bk6Dh(o>%3=5*DkR4B^FU=@8mmcTb1g6pgBI^a)AP-2`u&V)0}(N1vVJN9LU#8jiAfP%yl8tl$>4QP9_C9<9tbG0g-8j zK28QwU^3|#3?Hr05E&BV`eh(fm&Pu(utbGXhG;U;II+};iuih2tYB#mOMOuSmc=#} zb-kEAIF*ZCsAQ3^#qLzHp)(dqDhr8rxfqcDOE$DJGSGthtNzQI^C({c$ z<3>s51|riNeVh!Wz+?tvFnshwLu5#d>vw|8?P=^*3rnFeI!QD|Xq;GX7ZvgKvRuJ3 z1eW^U30RifSk(1m`ruSk zY2^K3cTT56XRMZ-9wJU>ppSEc6qr*P2E)f>G{lL-xc)deJ!V0gDlE!HGYyRs(qqcf zS*t*r4om&X1W0RbNb1rtef)byGsyW`cSaS^8Ba<^PY|P-=;Mqa1!go4gW;nR4KX4y zuD<|A&!w?vEll%;(Rrd-fX0dGIb|(vR4|e~}`>-TL;hB=V0rENji(tYIpeRobPpfk2h zPVW(?mFVM~AO+?`-$I9v2hk8G665;E;IzYn^q8<%Bbvw2I3ev&*3xGRB>Dv*{nG?U zpV^SqwPgDE_iO1%a{ie+qqWc(pGrob5TkYIy zzk(~CFQmZv{))ly@eSpPmc+Q;IDHsvn9h>ZStOl>(#@O9d!TcoZ*2&}vOP12FXJ_OjD2E#{3${H<+xId2U^>mh#&N^5H zbb-RTUUa(vBS+!iAy5T*Q~`r?UIC=Q74*ko_~=QQqa`t}cSQwV(phIK{S(mZOuvhr zzRJIIpzM#Q>`#Pmo;{?%*^k6v_&ABOMoS{@mLvP#>8xiu>uwcrim)3cn$c*SXUX1T z2KfDx{^|DpwlT2O`=vYAUVpoG!yL#jC3@P$8{P3b@qSw|IqRPeUiI&{jfKwWmu}r} zDd zkOVA4Z7k}NFn#bHaG(p7Qt~y_oyrvGj3JUr5m6~aAEyE-FqJ9{hL7oJhzf~ueJrSq zNoS+d*+>h_9AP(CG}UOFV8);j>n(9y0aF7@eO$WpSc%(U409k~FQWuqPG+PFnObrd zcPBFsI%Aw9b1IRUk3LQYQeZL*F&I8BL_=gqjO%BC%o*wIGz-fjVYFB@m!olFIYU&$ z*UQ-omMdVXPfoycwv9zyFQyMp4l3p8tjwZvn=ravG2BzZ3dv~(aaxW(&IwXrP7h%)e5^o2oJfr8bHJ(6g0xy#JS>_= z&^RGgDodwEf%IQk>eUI5YHUdA(lLGfdq$6v^BQ+Xk3nZtOGa~v(Hit|MvwwCdJco( zV=WqDL}FaO5R5KJXA3M$&kLg$M6(`^6VnCCTDnBRv;mg-#R*5)B{n9*9LU$wf}m?@ zBYD5XozsiZ85c`V7ZInI(8oDJ3e0I62E)e|G{lL-xV{*i7Fv+r5*BZZ<{dOnNDGy< zv_ygQE-dvc5+E(HA*pN0^zrZ4(tG55i94h1&>2@qMwb(#_tD20K?=;M1Ag-aKGM(- zBNF5KHZXc4oxPUMwxqMo>Fi~TS4XJzx6}38%{MF>eJ$w?yKdt(b5+sXuPr7#dgr@2 z{h`b5!^cXObu?Z^_X_%^)!t?<-?UQRiS<}jxKg8!5IZ5N@pd|iG(DjX^z*3MQ*;uZ zcLKTpTf~BXX`Zuy^baf=)vZ>(AIHCCb^=DjNjEeEgT%Q0DPVk@&UU1;57OED>Fm99 z_KwBlL|Evbr|VCdJappmvBG1A!s7#l$NM&q_w1MN_@d!&PbHMW2yJ{`4~poKP(C9l zg)rq%AO(jq7Ng;07#e~?VqE_oP`*uPyVKdObha~{ePIzf6>1<8?`QJ}$G0{P^|072 zXz;W1E`flSh_O?7{e|E`>qUH zqAV0;N7C8fRwWgg;g+WlDRBCaVlaHHq_okJhpf6OwYSK;Ps)B1yz=ZJ1rs@dasQ-!IDgMp?6frrys^U0p+cT{G{UnE8p6`MYq+Glvv7^Di(MK0cs~(UKU~Pe$fLqpT>(3Zrb0 zmHd~`IS+uL?#UO~$s2{rvKf?^{%}fvC*1P%Aq7r<4+g`>Hs@JBdrSdLak4X>Z{aCk8ySp##m%XZ;oge8zZXV-*Fvf?_wiG5gwNw&Ry&P;u#a` z?P8)w?qU;&!aj3_(JLeLO808$Q~$#(tf z3Oq}c&v&silu0~I)Nk)%=TQ3eKm?vXq`>KGBK>xhHhhs7*JmO9nNc<)%BDrx)F_)` zRS<((uZ-%O)JdFa7h%jmhSnrb6IJj@oN7+w>*7FfzvO-VE8zJ(nd>ST(3j=7f0EJQFeiq`w%Gf%Mz|6F1FJ*E<|qD^j#qG zr|IKY?R0pV^?A%4?eh`wDU7_#9gdL3W%XuI^vD^!ln{)7DMtV)FoFpf3?F0A5CRh8 z`Vt_xJjxbX^-n}ExQMwso-PG1w~JTjZjn8A;=*+)C3qT!^8_IUPH-v)!^b2_3@wRq z{RSj>U6frDWmj1_mP4W6lyHb$XQydgqs-A&|0i=)fsn>c_2x+Q$T_-^5X^)rM*t}> zg83K>A5~}w0f}+_b|APl%9dI6pNC#>QRe7YyLfeumL<;79hBe#4Ce_#3Y_3#42F-3 zC^57o#`P6Q@ZKm}9%Xk~IbJU8t`N-KcoaM08*G8RJ zIqMWS=0FbTQ3cK;%I3P-1=Ky{c%3__d!aMdN>EP{sQb{zK|u-(>QM}ak5y<06p8q5 z6hJ)}WzSlO9ur1uMDsWrC!*&>b^Px6Mg`Fmu+%pste=fGBK7bveel!Ivo2JgBwrid zsjP+0*dVE_Co1dE$EiRHOywmEh7SV`Q6Vv|zYZ!}qwLivd&L5?N!YzCnpe;`!E9B) zY*WB&hNb>y!rIy94#xDs!Mv(0omX5Sy-I$!xkK6lo$;oG^aerNiarhrQea3wV=#Pt zjfNnR7}tLTq&-pgOO*W-Wj|P)ei5d>ie?WQC#OBAh0f!&0Ub~{?S-YjKkB>)Jz#S( z%z^wE`$fR!png(7{on%XH*$Qy9n?PPjQtYSJ_5BLeH;{|z@Q@dbzS)Q3qA-GiE;fX zKpl>98n}A7+sZdz)?uOFf+7q!h_;y=i3n;E)a}kp6Um z)QJ2>GF*4;#?Tqz3~R>@Wgzh;=;M$e1%^b=mx7N}Gz5vnxPDB=FxEVSrDU)s8LUx; zd4nk?Ogo6CBN`{C<{9>CYOQd}fu-Im!+AB_+U8`K1Nmx7ffL-A;-H#j@EcS7&P*fp zC!X4J$#H9UP&#x*D+#J4f$D@l4hm9WP`xl1KDwYGP$b6nOn{1Ju(S-;&Z5*?*!2-j zUo=iiQBfdYP1y>i0$A!<36!#JO6sO<`rwe#6iDq{AoU}^+3t|~LuX`3NbL#I3FzaH zAO(gr0)ydWFdBkHVqEV6NS!m-aT!d{U^y12k;3#8(TqalS{85a7eusNIhL3 zO(DN0xQ9iSqK`v@6c|!92E#`M8iGV(Tps~QCugvs8LTLS68o z#-o0G(6J=6P}5IWnB7PNOlGGgFgx95rYf4x?VIJ&^V#hihB7*cD@2_ zBP{g=3DC~Bp{c9P^ubqIwZdtR^19N6*^3n8e0OFqL1!$G%+4cbo6yIZK?=<5e;5oO zZ=oS(B;xlJ!K^NWU2M_%Kp1@}njL7IwCYfWwVf?iXnh1reNl$<=G9`GmSGO$OYCBS zoN$e@j=qn{!D4q5pFn3Uk|-7uicitUQ9ufe;#&-ckDX`;1&ML}Dxg?uarjPHd@q_G z&^S3PRaVWl3WpzIsb7=8;aZ!6x@t@x4h%oh_-oxU{0yCOjl^&@VfY1o90R1l82-Xw z_}GVrFpwD6Zv}>B8SEyD#35nyw`dNdagtc3tcW`l5=UUE-=5*TRd$C>!Y~K&6>*cx zia1IR?r=vzf5OMOU81;+P=wLPQ9ufe0)Lo?P&7nCC`gR!_X5Roi$il^(LyxGpmB0o zuB?ca3Wt`k)K?^MSZQ-mSA^-qu_9X0_?7M$T0>{7kQnYG3~kWIF+d88VF3oiM->{v zKw?~94-C&|Fe8IKlfj;{c$^QNzAi)DDC|u)3ZJ)&G7NK7(1&Hum}KZiJ^!Q?Ka8jB zPCU@b`*}zksHO`Mi`N7xa7{}w7(OngTF{ah*Iz|VuVk=I8SF)?pevz3t)id;D(Drv zAa#~Dq1*Z%#*6lAaU*^U<$D!e@q8f#&i8fkOyE53$4E99^`^?IEE7Z=(*llNR>_U2U;-mv&r_J5?LR=!yA@P~r?J^zw z(_?h#~2JB?@&Q#NsR0JP}trK_GkTu9vE)n^$uw`b9Ti4+!X(*- z(KxXrXHqf1f-iVC$+T}vMqsHo&U9jFlIeO|()7WpM1((jEvY1tuO^u|*z13IlnkBG zIMccn*(eiPHb5Vz0x2++)))*Q^nh@pLSkG$7F1eivX+^wg$1UKusc>XZP7Tvv_>J; z#c`?vrX4KxcA3sCE!75Nm;?EGX=&3iTG+28nN)I?>P{vNI-{K=)0W7jqmPq;6qrmW z42BO44Ur)czw-t%?K4@1h2=P5lqVYeUE~BT?L`%Qy>w8prC1B}bV^Mc{(+6KK z87@@1kgpEzR2XzdOj6N^N>}u8Dv$zG8HmB~(Hjj>Au+BW4=OB^Y z7EK`<=aONl#ac2w6gER?fO)H2-&twIetdGU)bYXXf zXwF3AWY%BQ!`IUwh1uCOz+^Tsf!QFNnYye@SA1C&D9HM_AS>nW1+qcz$fm%=7$}hq zAY^6e=I?zzyAIM<$I%*FQmZv(lbHe;}*&jEs1e`Kl1&pJ=@cs{nDQOWTng> z3bIW_|C^n%u?M+X?<0N@Idk+siJX@#ywv~s!Uw37`>awR1un&WfX9PoDI~`AzfsCx z?b#pg*+Hw0$Du%pVhM5df7x}Y=>HI9aP$X788-UElrKF3gfA6Hf%AP4gW=;D$`dV# zalKL2FxDW8C1tU27CUOC{1SBf4i$ZaEPK@_W!dP%cx|ovqyG|p<1B>Vgb=(GNP$av z3xna~RVo23iTKPMr8LiCDOs#ZmU;BP4FyV6&^Nd1P|>G|GC2Ascy0Y6IDennlJb2A zu6VwX0_XcF2EzwEX@v46F|MZ}-*#E-*eurC%J(xUoJVOpJ742i!JVIgTH6WN|K-wp z54laJ3OshEEGmAy7^nXCFGyP0EeHC{!Q1;oB{g3d? zvxgKo``lL#jFDUpaL9+YOY;?(NW`lrl$4Vq9maAU})cS?S|Zpb6>c+v%(P^8#hxm9nP?mhkK$1^FrVw)2x6* zT(hHs{#mTRN8tz;0%bpdvd@KY&L2|X?7L$yeB@EqXi1FgLy>(^7AwqR zgRBC22s?VT2+Vq+ab6V`i5cKuR~w#X-|^@TOa0_5=dnNBuH7&P@~x}TF5Vb~*VbNZ zeFD~poDI(cullz<`a)-%oMqke7)E3Y(8tL@3QVR5gW=;uG(?6(JYE81#$>Tk7M3Bx zXsBq0p>bjvBPv=FdP&pc3YL>$sgFy*61TCaOTzTQ&p@MGs0=4xad#>spfkovDyI?^ zdaw$o0x2++Nf-1ATukA&9ty6 z4h>&Fo zyY4ME6~i3J7t3`5En)G$j<(KD^pFw#7I#kcun}XKD$$S9GI{2XD zN<4t%E^xZTg7i;MAGt$WI`=4$_|r$0CqTN#hNLbX)5pJO#2-F#k2@p&@R8+`(cQ#I zK70gHU`B5O4t#7j8Ic&*9|EIQS?qobllg=augBsS~7k7`?d5nIbY|_Xg74mTFK~1V)PCAI3q}b z8STSh`1lD8F(MIP`v9ZovzTFF+AoX_h~^*~C#L6>we+Hb>33M_8xwZx7i~<2Igqa< zBj{TCgS@}!&goC+jE$1h2IBM=`Zy;@fjK4Pm#E?62z(GH67f|MaC*gp)IeA?6ip*E zPDrmPYw0xwQe#-^TN5C?Ww1pFb2;S+FB6k|`oVaoSRxZ?Rj3Y_l@42F+$C{MH`#`Ol-!&p)_ z3um*VR=yQbI2TM(wtb&DoXzR;{qU%raQ*AFdJnm6n2o42;ha|hDR2ezFc?1Q(L_`M ziE%vz6*S3ajk3+#%k$CeOuvbpzKXjMD#2ZH_noR<_RT2!^Wd9j4=Hf=3o#fz{zF-# zB@tibK=!S(S<7tJ!YW`96wdY1+AhFosqk+RsDids!D2Y)6+jAH!HpOUA6HT4Xi1Fg zQB;tY&DvS%(-VoD>8IK0tNhyq%07d#zZt%H_K*T+zXF5d;||IiEs1fxBeIWWv+Qiv z-YS5eNd*1Dl)EwpFmybF-amPq%9~%z^yS$+n9(+T(TN{k8|m znVt<^_3yVm1f7waZQXCnAu_Ac$H_nnOlBPh!v}u|6Iv4S@M4hZlFd3>Se_C_Pm6{g zcjUySZ$h?IB74h{lQo%wGa?(d6U>Rv+QP+#^Ub$fjNa5@Y?@^ z58^~(T%QC^XIhZL!XhG?Bs5M)XDUmlM1hnHOa1HwNF_ETb?KNs{yn1xF+pQqT}1665*|Fq)RlrdpWV2%}>~(-w^r(==r*ovUDK2TOfs z!Vz|^jma4-B%0&UI3ZOjYpGU&lm|<_CIM2d4M|-~rjLKWmO7L3T6aeD7%ihlGO8vx;9+8u;lqZQ1ONZ1!3<+hSEgkLc0g zO_z{zbN7?MdZ1%rww%y|JG?}{1=0`RQ<3m)6lP}-*{wHA2bc)|e;*+^uu&^id zQ!3(FIOjz`3S7iy$_&59gNBMAF|L1&BEHIIUuLt^rNBkD=E0XX`hr`^z4? z1mhQEXx-lVNz}k^@BCn|$nQiE9{Y>)NtT}@p0U5)S`C@whc>0h6r{5I6&k7$QG?YGxalNTFj5XF+LyaYCETXZHX5M2-fm&~->5r+C*jTgg z5;fH9NleCT>)VJCO`aq|==MHII4AKK#50;{iKhqABPTIML*^}E$|*n!Od$({;iD}Y zqCjF?Zwm@-G}cOE$7rm%g&-R`08%Egja|PwiLFHWd=ifl<@2qixv1Zs#CDXv2DdzY zNP*MuhQaVb4*;U{NsQ|`NWX)|G>v6xEK_4qjip&dbccnmYx;fWJdUCBTL-%iLqn3* z!I&iq;Rj=;J&#fQWtu4IUmcgd5!%q}O{wUSQ<_Um=%GQJ38cVGhGH;$oPdUykQmpy zgURt4V;alXSf0i@SwMzC4Ps(ePbC`1+ceZ!Wda7D)qG`E^OV<}1P*(Kdr&neBLuGo zQs8Rn0XFb)8dZUo#JD~X)tsoY{u(RLSRak`vZ~>arEyeqqI)&{m1+u<3i>FodnHyg zh^nEd+wf{21+L}-Q4N2B4SbP^`v|CJsK$ykR%q4nA1L$@n)8};s9lOtgxsuUS}1Cv zWlC52A;*(fJugTTFJUf0NMl63R`$dKnje29zz2ki_p-7k{H*Efnc=8 zPO<8zN78_cSe4^xRgSicS6AgJ_B@Jf&9RgqJ<5hB2q|!aw_`AT+(3z;B{8m_jsz!a zY`n(CSvlSTg??tjDPf|WrZHZbqjCQybF>^GjWg@bk?4_gbOs@~2c{eWq`(O12{rJs z5)C0BF|MBj1ZQh(l2!jB=mi&Lj?T7=SLbL_;vAJyg7gp?o*<;a2|kCx@bNe$hL*&* zJ{t+1tFa1=P1jht#>%WrpNCqnN;sO%wUad}l$n}t&y-Ovb_05cSBCC?d-C3hct%yd zX%anhnktC`J#vOqfE1VlJv#f%v1hpw4E%nt2fN?C{-~Os;ugBs5;0xzD}g00jE+(cCZp@z z8Sw|kTq_w}LyY7DV;}`)lp%geo}R!$j7W^@tH9`fjjhnwy&79?k;)XN?M0J?#!2da zlw>WZ)e5O>Sn3aH&i65^ZA6ASkguZ^0yk%LuW}eIcj2Xx^82(qq`uG@Pf1AY2vPz1I3!4cAr)gVd<;WFkVuT{F9Xs` z8r!I`^%{HL;xty6o+_GgXq=p0LM_&6dR5^Rho!z*bH1T^)#hZF1Nmy&C}49?>lIMX zyMP)`j$d^LH32$fvjp`DftrXu4hm9WP-PelA7`N3Lm4AGN# z0?Qo80e!Ck`ql-|3Uao`oykU6Z7c^a1b-x@w9P{Pmosk~1t|`-EDDFe_aZr!~gZdhS;p0;@w1h~+jWdAi5Mx@5Wm%MV3%hSb z^DP=Dr4FJ%esFbCD18S@T~DCY$)==k+@=q{nluGcmJ6is$!{ljNIyVl=n_&cL86CE zaY&E?L;4GY;e#FtMUY60>wN&JSB&+Dv2HQeHO9JFs16D1zeRHxjT2Qblwf#lYgxY1*#I5$Xv zxgCSS@X-(raU&7G=Lv2_F;*C3gJNue1+AqpZ6z9d)RPlhk*Jriui*+bdiIlkasssB zHZ*m8nLaqPLWR>H<@Ep;X7peweYiU_dfJq6vSc=ln9*~kI5S9rnVFAk>Hr_ajKsKp zDwq|=*l3FuJ-26}vyKG_`uJyXhW$mtZh_ z(BqqE8IXvFBct}EF?L0aEsn8;7KA$J^vhzRl5?n%rAj4Nm`j1a#tpO%tDx(l zK&_&nGAigsyCC&oy6sc%TYveCw(t^m^qKNg>Lp|Xp7ZFHyd zHFU-XNo74z*^NF<1yW!tdodV3zDGk;NW@Gv+)rw%K3|b0A+Yui7+>SM1kvy&NQG+uX_g{{Ip89pF(^ZQHY(P!mdm zkYp2*-6a`F!cYZ5L^?6k|h+=Q3U>Oy`3KkSQ7F6)H zqf+g_e?RBUoH?_Z8QJ&yuIuNz*t6$6?SAg_%$b?9yA#Otw*)h95;K2bj4^{=+{`p- z!I(J$AH)oGBkG4>=KYZNu1QN%uGEY-&C%Ftd7o#&>Sc#SOEMW4`%xcRr7eGqOsGn8!4Gp^PNOb7ig;AhV18w?<8JKLpo1h=?LBQVCOLoaUXA~1%JF=&W7>PA#wc%*hTq#X`ve}}X` zP4-H;>SW$bL1Sm{C{i>lFEMQGUY!a}H6d)Tyu`4zdu19@hQE0mc}C=*2@|5sdRoe4RjCenedc(k>5ci^Ez&Si98Vtw6t= zCDNO+QF4l|gGnLuyApfK5V}8Djv=iyA)iFuajz2AFGa%N(H3w+vJwmgSY7B>5a#~Z zhwE}F`WNw zIM3;SLs)NM01cesq7~u%8-S!IK=xu&{D`6`g9!`u@Q}hG^@a)i;uO00DJ;e~XdF5X z$@F!C<0IaFb(%up3ulldC5A zH?assGJ_?){+Oc`VCDqI%EOIVvFPDb&TbMp+hFCFU@Sue$iOOr6IlhK7~-wKktM#t zn5>bw#X<$H3TwB8wOhj4N}~c#(pT9k@Lr@a3i_k1@M|zM2HBBlTtvMytgm#cz&jbM z_c^lqFBP~3gy!GJDsX&6T^rVKld4b@##$EO{{K3_{Vc$QhPn(@AU9$ymW3f>dwSiT?Tvi;G_uUDgTT((bg8+UR_`*lg1Y?-^{a zNKk|0*mtlXC{FDJ?^O8=DSF3(G_16KF;!_(;%89*=1_k(pi(!Yo(QNXbkh2pQ2)WG zS_EMDGj~dK0gy4oK(jxnpU{b(P0f(${qY`u-jwvl4WZZKfdug|>={J#js>ELurHB$ z9_AHI9U3B&x)HT)-bk%=o|c?vkhu_}dUBrl5~)FEQXVIBA(7cS&m@y80_H}E%#=KM zKOcS=QuN|M>Q5>0bt&<62Er~8b!eB7+L{7wbpc10udgmx+VBq+`Agg7c3y&WMGq`B zMB(&c(LDtvz5+=>>AbYzqfn2f4M&)M7p70T?P;NOSL_PKUAWS_w4FjPiHTj1vQu1g zGhC9y1f=e6#9#DAh@ZXQAnv%Mu1g!92r1z0iO{&=WAh1mSM{aNT(5tMSr(V2;_tb$ zjG_7u`!-uQ_kh7;42Y9hcgaf^nEgOJEn-QxMR!RUu=g0S_gJt6ik|At1sv?ER3x4KMMHz{v&Y3;llgqIw-OGe%N~nd8`^vOL8oIu@0sZ51;w zDoYaMhq{f6imS&I6+s^-LGQs>*Y8ELi*l*5`9KfMfH4c>CGF#5wfTUgJwehgg7(2= z$u}RMqtlqf5=naiw2y`*Z9V|)B_XIU385k;O8OIHvDC8x3Cqcnc4@5k!dUG|l6Le| zt0rw3M3>3}DU*n7JylkcGKyX)3nc5w>UG9p&Web12v@V$~) zTS=^)sorFG{~tOot+|#M#zpOtkP$}&E|UVE3cl=Aq+0>`l50%rS&~&WWGY?OutqM0 zXd`PnwwveDtB+n3It};2T89M6WsjZQJkFB^Jz!~AS47mu3Ybd|mK!2T%H^~XK=&|3Z;*YZ z`cQ#{d!DOlFWlbHG|kW-!clmT7G2X-PSKk+?OeBnOpQ$LH;%buai8)ti9G^pGoEAuJ|vDy%n0=3_lh>K5->NxwQNjyEsk~ zZz1Ic_~gVoYSf1dI=dz^9zaaku0(LX}Q$5^5aV)l@{pC0^&_-U33zX=sF&>KDJe(~Hq)VLW zZSa6Sr}qih?J?d?kd0(K6|z9~wkpQM08?=h_8epn(`7*q)NC*O$E8ekb&Q9BvZCx^ zhAfah+(8*7={$-~FoYBE~bHk^en`j$E0>~2C5*zUOGbD-FO+wosa{?nKhOwN_hfdghYd4G+xSIL_(JCTvO850Y6D``LN z<@-%&NJ%wE5j;lMeNlGF)x)tScoexNXkmEQ?kTGHF@S$?aRc_38tyhO;+(ddVsXC* zJGLx*`CnAVK^Oziel)}{btCGpsEnV@vN(hxbzg!0v$Zn(VOHCE{k0-vJ(;=h2)QI?Isi-EXd~; zN9-1KMR^F@okJJMLB$Et6f&0y;i5xS8%OOfcu?7VmX+k^3>Vw+H1BfxRd&pUZ}D#h z`OLWwwv951*ZDZcgIELdex_D4?As*CRsQC(wPbfNLRBcwM`wGQr{9g~&F5GcGnYOfQLM!oh52cP#*lG$ zkx{6(Dx_(a@@=%%gp1PY!}sX%aH)2%!L=RZ+?BWiv5s_hQ%}oKAM()7h-p`p5X77o z24hX%PoEiV4`JKtd2Cy47awiWnX?0?Dt0yLilvM_Yg%sxDPI<)Mb612aWXA`mU<9j z_t4^uj~y)iM6ssW;Y06L`u@AA?-g!>53R1lNCyF z`5Gfut>Wy${46?bPbBWzviUS7FPnzRgWi_Sp@p3<#^fVh)X_AiDWvP?h}uGq$5%bE z-CZ0i%+Dc{K@_hA;tgGZc=#YCKSaaiL2pq=TuC+4sL;bjLDLDv9YW5MrDDX`P=>`; zp}B?m;g|}|J+=z%#42jMHqId@F(%qb^b~h4%+D)S`H(T)oeT9gY@RJt1BAP9k;)ht1y@orNj0Cu0QT=; zdSNx=m#|r<%WzS*!u%dIf1?Q*+Od>t`$Csv7sda4$NME%Q)NnBS#P>*y#h zTj(El37@0gMno>|Qkb7#Segts6X2#asknP#em6$vL~<(wg3ifIC%-#|rMrztu~wL0 z7z0u>L0Xe#6-2nGEAxIDc|WdDPo_ldaHTn4(|%KAkys(W&D3@J5^(l;{9_ z+KrsB7~{NwUsTP@Jlf-sRQRIFR|#`Hpz|g>+YUkK z;-*v{l^7~*mfw@!(+)*x)8d@M{9s{e6AaL~vyn^Vbj?1uj#iOLVsTbsen)<~ILB^c zUPGBHG@Q2c2qndd+OFyJe&QN|B3>TGvTzq$kQS4fU3xH#3-n$~7hTEj)0Ws32>*&O zE-ImLEmK%#SKt>F`tb<(6NUMSDP0LAwa9}A^1IuS2=<(BTF;Jwkmo{lgUOfLYY>w7 zi#GnABKt&-9v?2d<=<8;0`BMNURC}OE_y9|Mb!TCvOT&m|D-}=$XK>V7wY|KoujBN z!$qUmk$0V)o-W7}OC8g*uRS^s9V4<ht}Prj!k-ojIlsT!+jQHE{O%)Bd2>t&KHqYkI1?1?!%t$dkOd5J=|-M zxg=KT7Maysk#OI~!+md0A47zXfgU~vK;{Cm*wg(OcXxGd-xa&nG3|x zp6;gz_Yn{GCwuxR6F#Q8!#Lf|h0k{?L@tM)&wmz#lPc>L%&Av!y7S==;Q5q#pT8W# z((2~J>V{i$THUY|%@%-Wx<{?_ih7Q7)Hz;J7mBD0pyo0gbr89%Lh~VVrQv)C9cZ`! z!>%+m2tZNys26)hUE~~fu~*dVMAWOH=0d}j5V_E>93od5u7}Wph7}lgrQvn~=oa^= zE4`wwa*n#%E9(6s>OD|%pf<8nqh79`aCW`k%k@U#`dO&C zB=n3|)EAtiZt{xynuz+cm+LLguD5!*eowf52Wl<}ZS#uyzH`(MyrO<4qVDi={kgO2 zonEeg6Rr=~)oj;(`yg{k_E(4;%hBii86uaX5)1AT5&3VA$bY)K|J~DliwyJ9vT26x zK({592$@S_eu!KWQy_9rEJZ|a?GZWI-F-_>_W|KP&BJ|r$XpU@=N6e=A_ax}jvnqa zJ$>X0AF79sT*zD?hCSVP7w)@yxG(VZQ6zlyafi{{&4tg`6C#%q@cH{g=y1j<#<1%d zXP5vq*gfh%uc*VFqmJ;3da{T*0ctL@F%BY^BVi0gt~5-7(1C^shFxixDgd449`zKj zsMDOIp6L~JmWWyjH5VExAabOEPP|plQD=KaoiCzRd%3Q4c3tP?`Xb@_0;stpw9qT+ z#m-SL@rt@cL~ZbLeYvyirCzSz7Ovm4tJ#+G*CBIBb_+y~v*+`@3enI7GiFrQ4y##E zjXey%x$_ZXdl)YZxwMB7W_uVu|2q)I7J0N2ggC|R6rewamQ?dL&^sV=0sRp~E}%bv zXngrXXTJdH{G8fLm z5V;@=ipb8$vW46US#N=?2lU*C=?0k#vaS%hAS>{UJU~S5?-9A5yZb(#?neptBRt#> zb9X;PxOe7tkdQm^I$4CDn-v8QIxF-Uyk`Uk#xfXA1@B z1<-QitPV04Wb;L2XJj=(-Ut~uyHtd~*dzRfkhySn0Yr|-=t}Q02;CB2CL%BKh`h+% zJm zXl8x>yCIAPkA2;HFf0|BeP8zp0cai6TmU@+k>iB>d=Ek7b^3ik$Q=N$htL7=1`N9b z-Y5V+3pE#1&v-?B!8z(Cuc&W|s9W8mz9ynNAC|8OxdRt(LFmB6HVnIRaX_Hj3pJO? z`voEwn)X2CHF-Y@xdY&X5IO)pgke{}N~U=YdKhXhsQwmFooW12$Q@AmG96L*G3<(} ztw7ZZYA!S;LF59s1w>vnHWP9Oz$p+q(3py0SHK+w-~iNIP^F8g&NOxqatBn|5IUgB z!LTbTO`s}(nhT9xAaVh$LgYnbu8=zb?gpU);O-c91zaou_k)@Xsy-sBGmX84+yT`I z5IUe5fMHiuV+5*`pyop32#8z&4}-{y#vwxP0C+5f4uHpD*cI>;0k{-ujZpEM$4Me; z42`&XoG4@xB7XDe^Pd8t1ENzg?22fXKvW4e7YZvNY6O>p%=f?gj~wT zyy2{Z&>@@I7#Mz7-z;3;2sM|4R(M6d#X0J&UQzE9QCEApzRTJ5 zS})fx2-nZq)ogojI%F=%J`IuM?D>38Ld45WDknO!*k;fc5&0F5$S*m$=S#_EC-)>` z?%xyc-|=w24KkO+-gJu0*M--eB8$X66Ong#ME=O#{Rf`zzZdSm@o@h&WG;#Aa*zC_ zh#a#z8(UR7h1_XI4+>=apeHQ~wp#iXG8be&L*!CRKZ(fB$bJxVCuIK!WPdtEZ^HI9 ze|L|5$lbfoe;7iCh4Bc6B@XPjTg|e}3*f{o*PQ(jxg0+}e{%>OqPD=WYt;54YAV!R zCZR1vE|bt2B3D2iAanqfhGADgK>?_vd(=#?s3GU5VXvq?L{trGE;JNE*{t3shsE=0f8r zh+F`Vgvg7=;X>{JcmjkDfJ-p!3ixyZ_!OwQpqebAI@1^tatBmrKGnN3EOJY8VTxRU3XXLgbax0I>N$&1j zK;&K!8Nz)B5BJAG=8{;dTV!@gmLuF}dAJXF`sgBjJ$&?n%mrc(PxmJZ_r)IWi#&ad6h4Nz!x-Y`!si)5V;(z(;#xCp%Ov|8fIYFm4+GtXpVc-*>jnjE9x@msLQ>g-XNl0 z2Q?QOu7Svr2HLE+(K+f(UQt(xsJD8#UhVAq4lmaa2-o*Q%_X6`y`nzo9Q7fus85Kf z>%3gAcXqwO%k>Mw^>a{jNl5pKy2&}}X0NDQMATQjTyJ%D{koUy-NN;kb~XF8A7n1c zeg=_aIr@B`K;&{%(zTz6{GCVSZ`|E~?dkrIaKGQf{a(mi68ptH@*dB~hehPSJR<+$ z?*2DV_f2!mYrljX+X`lzF&|_ui5+!|%r23Vh5HsB?wdj8IP1(ud*LJ1!$(_ph^;-{ zXA1ZDX1ctF+ZgEJ=_6P82)V<6j&qhiAFl7+YTM_}gV5oOqhi?gjMH5J>gpb~z$sw% zsfcNFAcbT8LuI=e3Oa$O}{&w!dsLessX&UTJ^j#t!L z5w*t4b)B>8dN0?{3fE8D)ojQ7laRS2yB;FP+4K1xhsbLiXq}Kt8!n^RHowpR9E7n& zZho!!RRQ`XXh}711HBnC7i2Gp$j)0q&kK1YWH`fa7vZ;ggn!dL{OiKKbNDSn-YC4! z|1N}X#C$H0eF7~vVm^kQABp0jqiorVKxpz=r$Wi1n9q^-Uyk`pA4ZJXB`CScF=O;ECn(bWNk!bXUOyH-REzBFg9;|?|2c0r9|x?gkL29Eq9N))GO-M&QY)N zih7@jdN*`a5vX2-nhTAaAaVh`5h5=dpA&Kiz^_8+0QfZwy8?b!0Dc>4E~wrT zQJragL&zOay$7KKs`oMMifWfY^##;iX#5-^7r>uFzTs!bf~!`bhcO2S!hgT?~=q z?D>2R5b<)8%89;X#6EGjQAEDpBl5NG?yvTAzec!U<>CG|$XpV;#Xa&$&&Usm$oG0g zzT4gXU7qfr5boDO&jtJ=?%p4A_wMtrhtT05-+*D)gM6a^^sIZ-XS|}m;2d?6SJXE} z)U8l+q2V=%T#EA*h+K-(=YI=A2O73v*p-Hl1fcibqrU4E^<(F#JG`QPBckqxnhOnI zLF7Wi7Z7=!5Hvfes19P- z6_r11UT__SnhTAGA#wryH$+}E{wd@RfD^)wfD5`oD4M=R4pO$Le*Tz9ZFFD zUTxXA<#VKmTeeDsIMJ7QwTrk339oe%V*g}~!OFcn>xBD^_I{&%K(Me1UOZU1O^Bro zI19Hx^lvPzwChMdWESp(mJ18MgtcD6d)$QJAhnZufVJu5bcKpv^0k71CodrrKg}5^ z9Gn2X;gxf$=2q2L)=H}UXEy!GOMPus^-M{`e?bQrDfpb9-&nQIbAgczK_dqznpZ7% z;q!b26@E_vRXA1dngXSwrgBDEd2Ma^`E^pzbMUlzpKmq9Rn;?UB*BHIvj@4egbfAB zbXX)jS&#&agoLLG@N8(bn~d?z#`ueTyy>fayyKWG`m^U$*GNa4&%X}N=G4@?m^@sdR8?2h z%$+AWTgse0PHfveJ;A5PKKM|9G9N+b)wB9B;2dNg9w|_27Sua9r$wMu6XUgMt7h~L z6}7`Ch))?;#L_#*&jMv$d0k!E+?wf?#CQUG6mYZ!tNP#F!yI-D zgAh#%a}+)?!w2D^Z9sk0Uu8)5om_g-Iidn~Fwn5re)zd2%+OlX}s4R>fWyd!^ z(&-p)-l|2bmaURnCF4K6Hbb5EMV;alkZ=;Oi-b|UE)qtwx}X){cuuF=vD}NMrSTF< z>tsKdiRh0?vSBZ>(iQ6|5y4iaWThoL92F&LQv3Ed*S`3`LrE>iKGcrZbnYHC}=i*E`b>i@mQ)kbsoLN`fzk3gsux+ z7QQXCIJ_#fK72>$ned&V>%(h9w})p%=oBhyD}#CcGxEA$M)= z;@n-i%X9C|y)yUf+^ciH&%HMHsod*xU(dZE_r=_sa-Yq;Id@a;t+}7%-k$q@?&{oi zxodLY&5eGJtP)b%1w)f@^|z2JZ^44c-&HH+X;Wq2R;8M}vJr_6a+Pd7KN68prs&aIS9HgbYo~`=(ff*WLwAMNhVBmC6S^<- zKYD~gfOxb;yj;C^;!6a?MWWA1wc|Z3fOw}$-<@dQi44zS0Uf-=p5BxQeC?DxIy|%KV z{@hB;Gafk)9pAdt2)O_|QNvm`Nl%XDyL(Z6Q+pWu6(pxgct zhVK1(_X$e>diLqlujldo`}OE64dQLj9zFW@#aREIJ$m+LqO)2m%F&}fW%`nqMcbzq z9a*1z&nFL!fB3eKo(ijxmntiKO1tD{3dx4xZy#Y1VgF>lX@J=78cRdVwwzCcbJ9D2 z{}0CK4OZF?W_cRCliqRZin1yuQ=w;YPkQ9)@c_NE{s}#Uf0BH$Q&FC9(=+CP^d3if zT>A&Tv;GNx#yl_yunjrOo(SoIQjN;BYEETsad?e*G*Q%BX*)t_3_mo3BYv{RJcidHfc|LgJp>|Tm?QmLYi7zOe8;pjy0|9nLoSyf+h z_Uw@hs$t9D4==AT$NQSNPa!6XnzLuae!Ao7MXRi>t*Nc8oL5s@Up%iCG}kLBBRg*S zxwr3&LZsdcM{K(`(K)kxZBahyQ(9qhNH3rzBAxy^E478}wJRTM&c;&vr&SbBg*!Uo z1!qX}bRN$CHRsg@ `fo7%I-RNPj~Sunj4Z@cyA*0W#F-p6%ic)CU4}<+*us?Ukc}7Uu|7wy*dg%zZgx>VRQaB}T zYuiNs32DC1(tNF3;co<37IkHIo6E`O5v-w6`b)H?-M6p{+U(}V*x_qCO0)}3c+uuC zHtqJo?hv=*dD(+4BcqjRc$tKA9Wxr7=G&9*Yuy~r76wRe6pInx9#W#I8F;}Zypln= z8D`tatggB-9fhFd3NpJw#mislsaxANAxdt^@U{NjZYIa;0@W)S%+4@ehpV2>TiZ4z z!zW?b7LTPnx6TY#A#p+huOhp_1$eo+oucGQ0lV1jEKZRrYCH!A)9x|W=4CQqQQu-3v5blVdS(Z(6waLv^!p2=wQLS7irD0*~wE) zcGr>Jn?3M?zhoxTdI@$>W>;bIVPWhBv+K$1+Fp3UUqB$U1e5;j>}GO2GF(B1#~+WE z|44=uZzCSN0{UZ1s~?PRAfx_c@KTs()yRfSU+Z^eBbgI2yOGQ`j>StN3MJDhEi(I# znN>FmRt&3~$m*o=c-aZ708KOslB^EctmJ59x039F6Yz2#sw+#f+l5C1oI9h@Q9TSs zHvB>NeGQ0jXye!cyvu!YIhF__PSTgx!b}N~+Is-3d z-7K>mFx$nwq*RTN{JF!|(*f`Z@C8H#}d&ut5Wq9c_!m=ZjXW8up_fuhYFIhdl94~jls`b{k ze&4AsS2)U1pCS8G-Z+R%T(i6lh@PXdBb+JWzHf-=sO(lBb8oc~A(JH^o zLcZ2_NH#KsWQ8wsD$y73#LGJ;Tk8c`-5)|V8RsvNQ6)?sB$M0j!prDMijsnL(02#) z@59zP+YMy9v$(pg=2!p9WzBH$98{t|!S=l{%<|XcMLk_n5(l^SDXp=0Ub%2ydG++N z+Nzne>dPvp&#dG|P`d>i`R|j_LNXc$qY;DKCMvDpK(xwvWe#Bm;}rJ+S+su=FY|EZ zSB}Cd2sd=CvDb|Y8z-ad5avTNs(l(S4^PF*>&hscg&r^PwQf?V%vdmIP8~iVbhG`4 zYzv>q%bqh8r5`N)z5-^9Ex=j5&h6=D_%RvYyb&+6%M@jS8L|tr>g8s&gREw6#>*pT z;boh0oFa&hI`cxg2qFDLj+7Z2qt zv#W5EDaEeEY&KEwkCgyE567Di@S@JZORaBKTVD&*!hHq4Hwt_^3w%uqeQgSTT?&1} z3w6F004JN0M??-k8Xc@e{}4U<)QGf9KJjWZ87PO8bDK~L1lS)p3Zm=nG+J+OFxO1C3x2D=UPu1a=YMDr+41(8(g3!JU$7zfN%Cw`1>aGOZh<|MB7%Eric$tEe6F}Ofm1#Uc8{}ght=8VR?)pY`^?sew;AHZTilZr zuqnkSn4dfI#+*EP$b{0e(xKx((;pBdDFahjSgPpyB;}gCF(t!FN0hRH9%y1_9~j%% zPX%V5g1;F&DCRE@4<6KW&>;J5AwL-ycZGuo_aEG!{;ZBap?NTbVk_#ToL5m-UvrK~ zydJpL18{RiD;P6k(xkFs!$wc)+oNaMgp$(HINER`MRa_=lZZd=g2R}jtfbn&eS0N7 zX`Rl>U?8-TlvQpOzsc=*ypIcL)2yZ%Zq1|h0ORYfyfLFDj~r=mc!Z6uZcJ?AlMYiO zZqTfwI1dgsAlbw_9STrfz=+8l5A`S6WZukIjnU(WoJ5BieMpz24Ch=})k%lLFeciY zHydTg78CkBN{K$fp#Q{^Wt&Zv^zkTLvA&0_xl+vOA315ru+lQV&^gROXB=y;>y-db z$M;hV_&$r?T8fCJW&v9`)9HN9+JId;)1u`-lZ z;|zdr0$kRtrGkIa*@*WvgH+aKOxe)MBg@8@3@0w>GvOpQJ2Wf41;z7<*1axQZI50sOXyX`e<9O2in73DhSq$h4DLWz&M$G4U= zimxMn;%BtQV($MLXA$ETRZL4WC_l@<-rK0I6F1-{F2;dz(<$tahy8QR{sobs(^0dM zSL={TlZMc(*i$U+oRo9R%jVD@80UX_H%S?4tT;7uYHDebJh!rzFX^M$lzf#prffKB zar}tVQ6;ztkKV}q+?F?H=(v($V@>bRV>EFzWnWI`f1Je2X3&nXxw2+L{yZ_X2U|2T z2^xDZB0(Z(BTFzh<-Cen<+Zd>hLV)Dl(VrDURhqvW_K{hJ-58}9Msu)wd|`tN;He1 zK58uAXUog?s|@*meo*3^fCGUamh^3##2u~&RGBr=bV$7bXw8*{1!GDl4J(U`FDWS< z<#32rqQ-8>8#8?L_z@E#qe~{>iZMyK)nJWZchHBiNy;t87^r=gaQF(8*%h>^@@sPX z{JRdv4_$vK(WR)*ZMdFGyw_o=GxtKQM^I-83{Ly05=8T1S{r~WBn9uMl=x0j2c`{K+ORgc zcmQ-xE%lfB^6@SeAH0;}lZ&HAkIng+CBA8JcxFT$Y&tJ1@tvg(Gn@~B^K#}K@8WS@ z1jA@g+@YcAf(AiYH=_QPHd6Z|P5UiPJD8^JPvaS}9bxsew2e!K)MK|6v!nl!wzOey z@??6^e@nZ+VObFG7YFr&cz-RuZwTu9@%}n`e`yfxY$QIEXa`u2>#_8*PLuI}+z@yy z{+rPB1`L)8dU2;Rh^NxeNQJr))t^36Q_{5~Y1%(#9)lr3iad`D%0o#PdGrS8WMwkt zq95UDP%ipEJPpc)<4s5h-XU9}D%ZDV2!`!BRml?o`f%F?>v+6wp#PqP9mW?b5ZB zbghkS4JP$H;pGbdLF7t3E`j%tr{83VLy;auJN-V*#ar zmbwwO3sO1V~Y$UbXU&sn6wUFzUlR4U77G!g~o^F}&!-jrR%|!$$+* zL`&U>+7o!Yr)yfeR%qhA5(4{C+TFsdYXAn`*v$^xeXPX)=(sYNNEvK_bCv;macA%zjN#)= zLXMWY5p^;$h@@*LoABSqs2zU9f-m!ba$M-A5c&_`o1sT9ZuDQl7(R9oYP8gisAmHG z)O79ibnR3#fn8j0H*da1L(55YC$9VkV{2WX%4cAyvMi{Ur{nr&RdC!`IQ$PZ)w9y= z$9}n$yJ^UluG6jL^;7X4XKS`n^+G6e_6<2JPX}Lnla*fd+MBlZhm-7E$n>+)p~&rh0z5eXY8{B1Sh1S-sS8 zb{RAC9hhlJ&Mt6fCJ8eAe8J2@VkQ}5j2ZOeW+ns1@R5p!n4xY&y$sAm)3u9DS^``t zlQ&st?6gFAMyy^IOSE)^rn)GGmc^|C@DrWZ8T>(lLP z>k5k)-7sYJawTV%F|*u(ncn1Vg)=k9L#AIZn7NLa>4P!G40>@hGZ@D3(H{*lL*0ma z8<@EzU0Z3=GK4D)<;^fOc3N)X8L@g|aWrDOOwc8+F| z^YzXgRY9gdAvk)RIGT+y#u0jPbF=`)@KKG1IHGPueI6V=o31@$(sV9YI*&IC(b#Ev zR;r~<5>4krQ+*+3Mc!o5q#K5;mY#{XmM$Rgo1A(2AIS6<1Wy}@rwcL0ctS63p78M* z@pKs);)%Ku^;PinvPsf1uCbgqSD>+z^s-b-TP2dNgr>SBhNP_)NpdY2K90SXt|I4K zojJN1GJT8S=r!W#8jLZH(2JX++hGhJH=-eqs2fq=1xN3sYuikk=nMT2uI9}hXzVn- zBh}Ie5>0EMslFexT7O{Cq#K5;mbS%POLvm@51e_r3o`wE!P9%h(^`x%p3sY%C;HAS zeB6hIc%p7Z{S-XyFiCopYpmnVV`%Io?T~6|r$iF{E=2u2hNPVqNpdY2K90SXo*?Ht zojF<$nf|%p=riJI1I8Ff=*7*^b{NCQ7Bs{WbtCE_aC9JD+n28Wny&q9lJzcR>KPG!mk2L~V!wA78L-H<`o46VR~e*#AB@Vi>@W&R7|Lf@Ux4}fom9=*8H zkAX3K3?n+dnDJu=d*~KvV6XVXwVn zD|g*6WS0`Xt>pEdcptmpRzl8-Gr(8l{kDma>HRaz{k9@v=46a9X3&e9nW->_kI86= z8R|yVpuvo0S?E!^ccC#0qsI>O`SY{fmoYQOfth-87I9`~0c83l!OY3T%()n2 z%%B%HGYv3?j|wXG*kO4o!7h3@v9` zw8-^h_+YG@;=l?X`J$+2IY%$088&8=wctW+Wkvsh+JtlS1owJPQ)nr*S78-}b{Dmb-7i}!ii+&{UUyw7&# zX%%F8mEdU>@w6Iaj3@Ns=IMSI!^d4{h$res)Op~k+9c@#uJIsm9ztU$sah(XI*Fu* zp{dr!kW^=pB$tlin;iE|F+@0h;Q?F-O=X7EQWg$ZBa}ytTB6ykFwX(`Lx@ ziv>>?5l=5-jPZnC+&pcAF??)6Lp)J8qAmtc4JJu%bB%X+vmK3{qz0*$mP#bO3r+R% z7?PG+B+0d8_&D}jdXJnhb>`@O$n?tvM@xvK4=~0!LN9KP!uXOOe59ixj;I?^w}GQK zGql$;v@IFhs~OtMCSRQ(R^Q1`Z!vCIg7medH?6$&*Nv*8+pjGKd35LdYR3JS-HDHt zF6*SfjN!ZJn^yah9lmKL-HG+OcgWfxeT3Kf!@Dx(JcCa^!+&YEwd9~4JSR&5E;~ssGoz3PcyU~8QMn~+6Nihdl}kxlaB$= zP`}7fpEUSTiH}buK6Xfad?fMlfyKvr*4yo#)UexALCRo+*1u>(3Lg=q>?Bf#K$Ve# zUi_p?gf*OuL_?%dH=_OkQohU3zRA$O&d_#cXkVI)oD4B2JZfr1xKPKB!*!x7mKAbS5DLO9#DwNyqjTNH)diz!*NxrYz7>H=_QHZ2SRD z31~+$w13Q0s!6qXt3~aUHaH@9MqMc*e?aUv$QdaZZlF)bu|;wu1EoHhCG-#S-!D~fU#k+3}Q7kU_WSE zTRG^-0e)FQ2W?BdH}_1M2gE_!6vOTZt-Ug@LOeY+5PP`t5mA{b#KP53Wh|f9aX(&(mj<*pBCKO=1?o zUk$emK6-J(e+0(xv6f(?r7rIH0bdPhxdAO4(1HOi+sxoG(l(0GmWXO4qUQpox&0EB zG6_nVWXEQbPnkRc_be0i;?86(wfy|~f817rBuLa5PF7hjMD`u+i}UqI_)Lf;O7 z9eRHYx?Ds39Fg~lMLvL#zYC`fIeKv;{}RUV@ev_LOWlZi5|EDwXu|^9kbpMG1pgIe z_5)yqGx%W^czuXeHiKf}k0SWH;FiHhFK+mIVGJMN5^S{8ji{x7KPjM13}_Pq+PHu= z#>`+J#OjoQdar!xG093op9q9>b407y1fB)^j_WvU6&u5oaJlrbuVRM~PoL6g72_jf z6`M>f{03FV0(xb?k6zsHgB*Sbf(>8Pji_?~e|A8d70_k`wCMruY%_xp z#AO&!^_CeW$tL5_w!F-#AWU%gw!uM|?!g(e*^ZY^X8{(2JXb zb72f0HE4(e>PFOCK*7p@cB7g9c^CyR(j2X{l9%V`#@IQ!l>jb;IRl7Z+yEED7(Ol{ zU}&iuQSSo4H34mPK)c<lJ>4**gHT^><)`0{_qcp#YlgY4x15~a696TRKSa0!GX3rVK(SlvwZzPo7-P(! z7dJDv!WcfTLqp6^H=;fcX4VC?M*`YI0qp^koZGnS?Yvoq#!k*UiJT1*Ijf10TMzv=w8FB=q7Y z>1PHuW=K|$03BI+Q<7*XiOO_U!GUxAOm z;Dd;wZbUr_q7DbNzXRHzCQAuiFOfG*(AZfz%oAjXnLpE7rkg@j^<~;w@@G138W}zq zNq8UL#F#O%@te8L}D#4#z;ahZj$H;HSm#!hDf4rL~WBfQfrl| zC1q+YGPP!z#s*V}tA=^g35}hnR+&~crAj>ILQ_r2v|kOUT0H57A*-e&IKjpgBdSFv z+n8cIGtDp_duq!g$EnUlsgUU@f~dAcRA-DaqR@+*sN-P_A6?N9QPhp7Ss*HqsikLX z9ZZ(`aJ{~~>4(P7Qh+DOswqcesR){Cb_`277EAJ?ZTMg$rAs7ra3HBa`OR@AsTeXn zTaeU|NIC&yj3o5pCTTQ`;bSlwB8j>YwJS&}$ke)IYHFsIYw|RPtB&Q(I5c*i3XqGr zHg%VH8V^miTc-W|-`(O#Hw;-db>U<)qEv~fTnC~ikmK&oM3q3McN0WuMASr#F{03m zo2Y3phL6c;h$!kt)czo@4-;39@P$AhA>qP4$ErmIhcX z$<<`|U?laCNb2oC(%Iy9fHO%Ikm)A~l8T9>=@?@qp%*tvwJ?T{Dl|kAbtCF%kaSX} zHX>6SmZ=Rfd8*^8^}Jbt#?I48$i=LtaS~7GlYz0{IyTe3|3A*6OE>IUQH|i7GropN zd<}8n>q6#VVIMAxbEfSgsOVz_ZDWYGi!sJ%LoaUHuArFsMg|(9jk>r%z-J$&ncAdG zZKBE9m0a&C-dv5w&RHq)#|Irtm4={ts>Ip#WMFW1N(^VGTAaxxX1HRMP0AFXnM{PX z`I(7%zj7n<&KWz^nX#LoqMsrdn?j7O#28}?y|@{>mtx|h1vJDMb@8nY6k27bR*|Wd zXKH1c+BB25`?&V~ym`cXHkm-vA6%9ni=NMyDpcgk4-@zC@ zcA+6Es2fqQ02Rwj9=_)qKk(*9GuW}?D}F-8S?aZ`c61VU6a zMMG3jH=?cq6{}4iT5*lmylI2R&ckY{BGyVgw1uX6R}2qpEgs~GFnri5B8BYNI@6E} znSPg`;ZCBV9mW_9=*3OLLKwqG4H}|>x)F6FXm~DD(=)ZFGqop8KF)_s-H^#Q3j5GT z;d53}x^7ejeOUIi!3=HGvrk&_qCaU3;(<=?&qI2Fa=H+)SWf80ozpTH!^fqR3tH+% z)Yp*HE1B9$nc8MEq2&-DSDsK2CG?7wkUUE-Vc7g0#%Ak1--zErc&~sfh8MlK@!kSs z__&sEqNOf=aR$8aWNO{pJ zl-VjoWSOBCcV-X67(VW%jL=dSzY#-bJ2JJ8GPMuPv>t%~8A~&!?7aJd z^`6hfXN31rxMFzGiyQA27{kX#!iko;5%oLZ{U%fUI#b(~sePHL?KDwuh1fnB-&m;i zuK|xvoOD3!vUu0Oeksr_Ik_8G+X#P&&v{VFB)vz3AVla<&H*04ijv2}Kk()$82S$gQj zo!(C{hL5i)Ewt3dcd(G&pPAb4nc5*Uu{~VxXWsmR#=fNgi8L3}eaPaVdPG{%e}$%c zIMcpZ9FaIN4B4secb+_}(L>gIapALpq-}gbL9~SHTKg7&_j4@`=i<_AvFouuc z(GWA#ji^ntMrw&!nm^0fZad1A@IXk?^`WuTl9)xwfEIkgyG53@E$N4*+C0lnON%VW zZArriW5v(?(R;y40{Lo@g@e8EhewH!>CLmut;l9sK-mOij1~0aW+fHI@IlW@CRV5$ zQI7*FsaaavEUmRkOgpZ39BMoF&{R8Q*_X65ix}N7WcAY4Vnc6j zy%)@+k+U>sX3`#0+)un>R4iF-yxdY3ah1@_B##liw zZdL}u7(V)-Ay%jxQM-c`ElVrR((<#k&L%g5xawfu3_)Wr84bCZCDTjdW&{}+TOB>K zaMIx?!xQMTq?bjJZrHQRDYSUe^RuiS?9SG>sG?EKKi}-=FDUz4*_x!!5KIUS9ivtphPtEWK{XJ?Xu!P&qV z&IVbW$z^4@Vr5k%QP$UivU290Q#Qz%va_M04-}N0NR(Azj8TSO+?36yn7-&NG(;J7 zBkDL%HYQ6Om8Ff$(uSL?)pFH3-qfS9vo;1PnUz)|v9Vzzu{-qKtvFOqbLsnv= zEMD}H5?{luaZzIDlH(F*qRxX%pCE`DPed)m7$XY3xQSW}WB9lT4G~4%hh6%XzaDjh&@acp|K}rb;X=gQj{$3`pLNte>1bR7 zG(bmvsUt6m!L;gp*-@Ox^_?AgEz!m7XL$c2UD$36>Yw1f`6GC*hurS&i13RLf~A69 z+^Jm4Q(=!RfiLRfM*~RZyN=p79ks8`Jg%cWb{TmLr#!y1@{lL(8=eN`qJPcPuzvpj zBjLT?#EV|scdJuT`chvTF)PCux?J*&ZtwEQTxrz<1q-3A}=9E z{a;odGWCD(G#K^2@iZ*z4-;N`1PCh?^y0?58OHGOG~q-`-H6&Od!*JRTT95+eA(Jj z6Y`6YsXJuqn`B#6pO9@)@56hu>W>~H_06*p{w0K9sh}5kDsRIWK3<~~&{7wlnIn}} z*;-Pz)*{RaHw`9pAapV^l1Zig#|7rnUgehy>!peKzG zUg}2Fbl~lftsR%GrJ8tmLSR2iJ6L%2<2di^1e9t4Zv5lYMi05opbWl%bCv;macA%Y zjNyZxJwh2!H=<@EgRE>VV8Z_qqjvaN7JQlRKwRi^2>nm+&CsJ4H~QaU3?J-iCupe~ zQ9A>DUbfaLTML;9{6PuW4%Iv>0lkyNe<-dDx=;r6h!U0odU0pa6u&)$kE4VfEp;QR zh71a`wR{sk9t9c$ztDm&^Pe9V`fh}t9$3QAqZc=NdR7R0v?kPO*`q_$zCeF`w$>|K z>tQC4MhV!C*W;}O^j;GGJ>trsA7zkkW`JJY8PM}W;3Lb(fV#M5M+U{&T9FAq7o&Fg z#TI;-|Dw3ipGfHQ;G6M}Ufk$=!WcgC2{l^kM${2NKP+1tlC2Fg6X?bD=+PojJ06Yw zs&E*e0rqvZQQ6jxM;~aaCuQ4@{ZUr#x?#wct|32Gwg9Bm4cb+#7u?B40>@hV?1W0%3y}N5w#l3%*obfo3uy|AwfKP!ic?I z=J1SIz08+rVUG`)7emW@ix#^qykm(l-W-cOTuEZE)2EDkMq34glhy8IRmxGzb z*;<21%fCI2WHHZ()yr~;7WO!jWihlYw`h^;#qhycX>efWc4B3@Gb`-jBg+IUONkZn z@DcRlX5|6Siuv#n>PFNRVCA}O?HZF6>A@q2M^6>87t3|X!Yr1XBv#lXLT-#%b#Jm* z(G5dZEZ1;qi5BncX!Gnu4;fK!a^{I1Hlp7sc)EdjdJJQ%deDoTC*uJm8{mVEEB*kI z+riVVCQ1MH^pRVo(z!z-i9LN}bqq;&SR~1%WB53Bj@ZLT?r`RaJ$z)f;AjTeSo9qvNheL=^$4+#GBvH*lBuBs-?{mO}|4^-4wH0Z?6-*kFAz_EVT|#FUfet-;z!i*aRfeyC+gy>B;e^4lcXkGqbYBi zp|O+nid0LlOC&Xirn)tTq}MHyU=BcZ>twLh}8 z-^^@Ig8+$26Y!UnjXVK=@MPEo{Kk{9Cg3pPJsqwXUi9L|I}66}aTei3OWlatBxj_S zkfZr>w4)~8DhTWalaOQWGy8HF`)oZtY5{J1o!00fw@q^pbvB%{4A6@^g9R{#4|+5a zWkB7CnuH8m)ujP2!fF=~h3!h$c;-3*yvm)v=!YJ@(S(4Pn23_W^rqi=vQeEbig zMoV3Mkpt*cbF{WOT5B_bMG)BQCDlqmZ!7WNI<5@bQwEFSoMnJs+!mBhvcE9aD za;D~hug3dr_d}-V<(T_zxx~x^7-P(!7dJB-U<@DZAxvngi-#A3nXWlnfl14gT|4|m|`Si-VzUzhcAZP zu`wVQq;|aaE zc~Y9N-2Z|P;)%Kubt-r|-6YA!HT=9uKw~HAbg6X8B$5)Lsh$}_Qkg}PTsnr2W9O&| zIWKeOs3~OnnS!Hf#F2Qg6nb%UlnRINk%WdgqHaW;1&(IqXwyxa+Hs}hc+(z@ou(O5 zEuACL)B&36?3g3$9E&F1Fl4nfJ>FVMBk$)p^OO#mK3niqMLcC-jMWl)ar2Z1WBABH zLp)J8qRt0TH6}?a*XYcfE@qDq{@A&#gUQFUukn8w(M>M)!%J2n|wsf=62%Y z9;h-N(2JV~deRPjJcx#Ppl(F{3_N_2qkWvCeVC)YZ}RXIsXEQ(Cl(j_$H){XU$*Xj z$jPAT1PqT3CE#eOiyzh_fxS7}FFD$t9PP&( z?RztgPa#$h=BU@p>&sp%1^pKwG`Dy5{6FTt13rpseS2mTdJSAivO$<#$Y^#MdI=Gc zF4BT*zy?ML0fIm<35wpUMv8)p9T5?vSm1IM6)b}SiVX`kEL=M_?1F&hBJe%$IWuQw zHfKim{{O%4`}qCXv**0+d7tynnX|K#S)K#Cyz`w?k>BtneAXB5lPo_$Jo8YETI3_5 z77r2&pF)+ffL_Wh{0w9G_!zQ^_49tN1XiK zQ}_o@pDiiBxt5f}Jb$MOj}d%&JQ0JBUdr(6&mvv^7;bX;~vXj88-rF=w8X)bX> z4-I0RpqDZygJ29Fr=lTFsGHC`gOiS$VQ5BNGx9X!WSfw|5Q8y3t7j1#9UV5@vubcM z*sR7~vzq66e=?`Tnc*&!%^3*6vOzE9Z0G?t@NqU}ftI=ny$`bKtr-QHk*^s&G^3lH z4SOt&C!5~#Yzkc2pS!=7LRU)05Q1Y|QvGX`iz zKRb`VL!h6jdH1A)oK(yKz-E_eKb{MfDed$X&y!buH>Am1n5z)dJhMi5@)1#B|4=a6UdKNxrP0XVsYVH2cen zxx^DaxQ0zLdMWdCnDXGymZ52;ZbH8SJYA<53vH5qm7J!j zW;|%K)P?JH6+{IFNXzGt8vGlmZlDm*BAB?1pE|MOUkko_xJ}xJz zCuHVhf~3tvQa;8QN$90aQX!1tV=x*biMk2>Igs?MW^C7tt(x(a&C@8ZdKPa+qw(_e zEON1{=|vY$325psXxBF8Vvi5df$`GO$oc_L~o z#u!oPrA$-_jN#*aG(;426Z)GV>UGU{O*3AxS(?Q4N_jIGjhCg@d4jB(cDq=b0!{tx zB$jqNEV--6^1(=Y%|+5H5|XBp-`#SO${;h}79_nzBu&E@BMH5fNs>Or=`)b@iDrDH z86RlI9-Ak6iW9P z`oP849tmG_nSXxT`$A6JJgAtT3)=P)ZSyh4XhSb$+U};9xB~(W)fROV`j4RPd(HS( zGxph>(KC=BU&)($(0Dofp6AJGYrl)L)zH*`)^Hh_lXV{L3--InvJ4qP-?|9eCn0DJ zIomI1W-Vmq&w`nsh#7k55@QCvl$m)1#_+Ko4KYLAg#I5e^SfsJsu_oDW*+5wn|QMs zjhC6za&?A)KgFPAwEqkJpo*5Zzw1^nZBSuEVXcDom=)J{N-{#G3G+uIAM4Uq{9C3D) z??6+}j(9iI;fQl3&@yDlSaUeB?zl2DBJ4^ayA;+0((he+wYd8ym0G=8|&uNjReiOX)-8oYB*!%rgXMgNZYGt`y@8y_7k#9@i9w58{lv3H>Z^ zRv0lx*lf|moFJqpHKC!0EP2@~L>6|56}i}=M=t4!i1&(Gk;9g08L|=^!6_%Y#KU9g z`Am9|oQjT+nF&F~XriJM#uydorA$QujNzjj8lr-_3H>}!agNQysa&HsZ%#ww<>4Gx z)r@!XK#zvf$0hMF-r>PrHI@$#4fOaZeY~6odZv^)PS9{Z(LfKFVl<$aG7ZCF3?KC9 zDWZY834JnXm=rN4+Dwe#N+Wqg&vNoIG09aCWiBR0K~tX^@m{|xbC@tKLsk(JB^7ZN zIVh7;F&Z*+s-R*DQIWtHqXNB@sTdDq_+XEyLQCC*UJfc|*gUX@O{vwzT=7CQULIz+ zDx$*013g7bzc_-6n|!M?o;HCME*>mHPZ`j2rSuAU?(}>q^J0M~oZo zgl>iax$=ZcD4|=Ogxm+~%^W&g;%{``^REP!5Z+this3~sWxOk43?EAfCtB(z^m~AJ zMZ{PhF_uM)r8eYyAoI?_3J0>e9N1`qra4&V(Cy5@QfE*y2g!fZv5GQVgNQ6M^is}j z6O7?w17(Dky7;q2WOjeVxHn>~vD4ZN0Wx;Y#QjcM?wPpPVc%Tiyyr8qp71^fR}3$D zDdT+&#_;hx;Y3Sa{P`g8Zj2ZYMvM(M-d$Ypb>6&z#=9PD1T_0hx!JWIya`QxQ^Z?z zo1Iim%aE;$4?6jo8=Uvztoar>+bmxv-iFNFB-V*XiJ9FPW6YqJGBcmR7(U)dL(EVY zza$1`wnU64ZCXC%N}us&FB&f`TX+_1yS3d#%jeM4w23B@Pj29!u^ENTRaJ_@PIfTYb z%uXa?*UK&!F^8e4zZUTx8oL}~Ov{kf%Zm;h=JU>bQ7^xevt4p#euK<>O)&E+G4ngd z7&GXl%uKC%jG1HbLCjD$p}z}ec1Mi2Y+7n_r8>N+i^faKZk`3Jmpv|88j^u^J?i}k z78Jg4Or|A#kBc44p4G}*5=NRZKm5AW9yu{hp<=!-hM$B2 zhPt>t4a9sNF+PhJpG1t0YuI;cQJ`gtez|`{eW)keOc#`o1FiI$(^^hhEC`6~Gui zx}YKYsGHCafWDt2#*Y!>dz-scxn6JHoQB5B-OpBj%Cnk&$i?01(9{nmad*h!&RUAt zDc1Hu)cxpC_x*`eH-MrYl2bPjGV`FI?iZqN5XKmF=%q|u0>8ZUdtk)mCB=~3tE)j81A)1uzWOOHBNuWUoAyrT|J<`IX! zKb&Dn<+=7K_LZ%16f`}GnW_1wUE?7$)1vm3txyz+Uw|=2B6=y4I1R?|F%b=sNZo|q z7$i1~8ug<_-Kcf_?;@@@oi{Vkco}RMrB!JRTiP;Q43q3YYd+lft3_9Lr!27WM)%AU=t#6HpUo%=%qqnK8*7U)wUomFQG32Y1c-L1yN&O z)VSK>EoNTJ66s3WC~fj@fk_SGPW+9cc`IKU54|+aB|d=spy?Dw$8=VC@nKA0MJP(oyER&r zR;YF|7r^NIJi*li^&>{k65U{6;We()L0fZmRc2fhPlF1f%hYYA<#e53BL+MLy;Ych9~sZ zQFE!R0#`FuACR*87Ztb)gyucKDsV(XUmG=-yQ)wW##$C&-G3cm9Sblrq2CuZm+`9R zxr@TMk40E7jqn$R!BSYyB8*}c&_+!@E}RPBVOa(6OnC)xTE#JPmUjw9vkJguq*4K| zV9u)liDE=^KN`#|>n8M!wu6l(ZH-24trdI&q-LYG^y@DyF8;b`Zd=@?-F7Rr)fdxd zvq@XLXRx^O8wJklHnjtfL;XQudl=O!8qt}8y1o0^B8AS9> z1fq?w2a$Ox<`qpP8X}Xr3B76VV54!a(J7L}ue$n@p|< zm|IyyW^SO@X#N(myGY*@GuOu!&U-w< zrR^79-CXI4m%8bvC`zY=^Hw$F2!udQ4|SnooPwt7n`7oCSg&eGCdcVTWp;C$XPVQGXuWpKm&eFe=7tWj84ot0!v|l*yrd$Q=+>}cnbE+Xkb2V?~@@77o zg#NlSS^67puT$aeKm^_vM&M^*WZl){j3TnL6pFYg^vBKPL& zY@Qvc<4(Q?+nG*m+IQQokZkoee9*sOU7jkSn!b6jM>#nRj)7Z&LGx90Ml+O5rC z^A^HBP9NEj%A2nDZ{Ynx8ebT(CKm7iS5q&p z>N{Z!A9tW3-l?0=KSrT_7&HDIGv1FG?^;z>y$mw_)0p`#z@2EN-NoH6=gr;Z;rp2R zK1+|-ZiNCki~_)N;taMERgvBW5}M5w+`&rTtRg>O#LQ3OhtFE|%^0G8pdMU0zS4y+ zF>`z&Scrvyj&V3&4Lkiyk2}Im|4yENg6`%!?$*Fg|0-sF!HWG$dPN>Q)LN2#9W%eO zSCvpLTeO};kHmO&+(p&#Ju6M-CVdQ1J*7O|B-%m?*^+V+B$C&vc3u1mwhJtPTU|rSFUYx5p zLLbkgvP1Wut$*jd$GUPbmUn;_gNMm4sr8?Yb%m*MQk$TIb>$!_ku&pK#uVc#n*WP! zOV}PEA3xdd`!%Eaew4-kMhsRBEBG~*cPOUwA?vjCYs~zHQNU&}ntzz(x{3V#5HmTU z7D-GmBuUx)&a*zb&QR5x8Hjyu5P!t-ev9dR$O7?4%-qL7uque=|IR=>#*+dLI)+rN zv#T0*!g+|Di}8Xz7hWjU$DvtNui&>>-tV!Zx)^wZ2I>?Xisc<<=c?)_$=8oAN9Iom z*v$Nz!iIRE)@l#uign(sHpxY;f&;Otz_j$4h8vo~esRR>kqis<@%XjpH%nsJ(E#3Yo52N7f=b zvW}us`4X0NAUT4XEnpJ5Ld}OOP@37TKd?5 z?chlfs2d-H@+P1#vTMgv-XB(f4r7q~85$y+y7>JDkliS5G>9AZ;zpggwLSiVtA5Fw zuh8ht<7Pb&QzLC>(3Q5m;(yH@?BmUkXA11a-dwXKC}g%IYC^=ITHmvH(5F8OshR~bEmFVJ*x%yhC)9+((BK~! zEUH})j_2jXi)vxuKQxeDkQvX*inDzWeSl;Y-Soex=sGw}!f7ouG(pr&=%=8f^|;Y4 zZbajTW><7wu3C>b_0i}?+>C;d8WrsfN-DYmchHbG&B%|ZqK%}A)(}Bj(T>2UqT8`D zW7|r0?6;s;vA7<$i=khYeYS52QC^q08Dq5^IO_IA>A1oVjKb&InhaRl^;o9)>V z!1#~mcV}6)B7dD&P4e@r*#Y^wj{x5HJpwv<)k7v9@YU}uj+l`5h@p#3R%U7T5u?#q z2lo*J#=OT*1S&X7cZ=tBkJIPS>L}U77#Sh^B;A(AcvXm#bUQLkE9er>>l%kyE_LZ7 zo%dfHWnEzmADz+AQAXW_J`hJ)|G3dNZuE&8z3ro{8&~bln;vNNGvj6-uvp_La|R_x zSx@dDpErHTkLM^mGwCSnjR?}C%n{T)%Gh})#CFzwVgEQgq1R1wj<}H&_bf(swbBoUW|VXW56DKQZ)bC%mCY!WO*8vb$b`R4QRXrzMVY=Gt;CwXLV{qP zMX%{5!()zSosbQ75^0WfFY?TWs61f>Hl?+$^x8tk;<&?BE80%_P;LDYoTe5WalvRuNU1# z|GP_ydv7W-auX2yAJv<_O5rr7(VVmLwi^1;x})wcfBQU z+!Qw!$Bpalz3VcrdKYh&qtTbf&Be&B#@^K#l{2=>u**Z& zBZPGG>IeciuQ$QI=H~T5inx;4ZibVfs+cZsvdt^BLW<&SU>_p;d*Xj(R@GN*U>}A> zLSN!+UxyXk7tdQ8w}z}sF89UFB{+dsxgATkvG=mmuwZ@LunQJIQFsyc3DLcCWPQVOLvB za&~tdxk}9Jb!H1Gt%;kP)X=_#7%Zwk++bwC3`rY z_fQ-X*Ou(zxOssJ1hf7MRB(Oop?Ka#etmD3g(#_R?TUPz#6GF9@)Bk8hUMt53+hd1 zn#);9pFkLm#H^?5iVmtkajHpGP|_oc~w^ z_t)SK!|KPH;{F=ks#3j$1{Ai?YKq#FsoMMzgX@0|zcQvh;P zE=<-%=-z{M?0fm|$b?I5OxHwl8%vjk^M7Cp-+L7(hsC+L_W=seM(HT|!K={pL zxi_C?3xHDz?i(#$v0YK!{YEaIjhkCBSA4TlS6r8J4Z1cfE+VSWfi)x6zKuhCoBap* z-Qo7zQ0AADOgDg}yZzEN5xL(Z~@}z*T^{_#0rrH4J@|r#PfF3}r#nS_N;% z^N^)0Yj(~|Z>zy!=CQiEbIg0nrZg!n&?Zkx%M*t4F)hlx1~a`zN%!M;3z*%2 z;|6TqUw~V3h5=Jnk}L1MI5JnR1I}`V+i}QMHe7+BkK%bB5@BKT>`Z&oI_@m^C)29n zub9GukI0xFlhR;Zxh;+}Rmzx!yQ`!2$L#{l;RWIl<-{UWn^%NOpu2e|JV z=%b(T(I>!1Z^(Qg76iIKL%1Ip;J$yLk5R(MhyWkMAoGEEW}y4A!hIsZ{aJxNiiMAH z{xHt-bD^r|K;(1ysi6xY99>#DdwP|EOQkA)hgDUo)X)SByH+<9t6PMxZdi(@2|!c) zqm~9my+|H)dQj9kBI<0Y`OHQoL_Vv~#Sr<@a2bRW8ZO7MFAehqplbi9R|Z9$FORw) zDC#XD>WxtIq2UIId}z21B3~MAg-}AnZ5Z~Y;cfwFnSa!!K~Y!8qpl2!x=uvB4{AO% ztc6HQL!*!yS}%|K&!DJ}h^P+*xqejcdQ*_=t-|#dsQD!HWKh&?@~GQ`qP{4iJ{RQr zCAsUJL9X8xuHS%~PeQwbqVASQeJ3dDha&2pAlDzsU4IE5Tk+aI|}#h z1Kh^~edG%t-Th&7^>d-Bogwlm0X5VMLdhAY0K>j#oB;w*U;n6mf}#$TM;#Ot^(+x} zB-DInV>m=UN5W8ud}$aBp@fD6hJ9%mCjg!6ANA~@sN>~PF9?b{RYWa?nhy;n5J_pE z6K|P3>a?J!7mKJfgIrh0T~`LVzCyUZ9BMuZ%?XNnr9A3YK~b*}QRfA@zEYqa93VksyjIonuh6vp_Aap~>d?vcS3>CkERu`fmQfdpi3z=P=%^>uf%T@w(HnjZa zG83{Id~swgMC2sCs`+u#T*zx6!*u0|@OnV_c98jS7KO+MnI%!db*IycpW3cj}8bw z3NjyFM?&Po>u?cSj%=uq*FdI*#zN?Klw2r4kB63DF`N&X53+MbWI3|4g}eqb93?YE z_-O&*r$Xk#*<^@(kWCVi<;W%qc@1Q0XeNYyoXruSXG6=6vr5Q(kX}nDI%7F0yfXs)p%OR2?qn+Md2>lXYBqCoE5P818d!WBn__!&+$70BQ&|mNGUJcy_ zp&$CYMC7Fbk(cnLrfa^gNL}MKxmjKRy zP(ouf4Eq8;NdOK*%?DMMh$^SCrI1TdwT4iFsttyHQ5gbN3~D|!o&u2%U>%|$8ruoE z1aJokC4f6(*cWht0NfL5KB&5jsB#*+3b_Q;sSrv~^~SI-s-Xha8Bp_~aS%j4fCoSn zL}Nc8mjE6Hp#<=74Eq8eD*zWktp+Oo;c>KxnnWW$JdP4F7b5=QQ4O69p#;%681_Xp zRUj&bnh%8~5Y+(7Ke~}f;>~mC6MPpD1m$#hJ7K=6OgN+<}(3TLL|+GwvqGYQ5OV7y+K4>6y$ob-1Ut? zuJ07Cmq5)Yq1%F@E|W*SD=6w}5p`vd>os!MYlB>G6Rw}~s(G%xnUMJ;`vgSN*;CcW zAmZibDknO!*u|iiMC9iKBJYs7=S#^mGWR56?%x*f-w1HO3o@U?UX?}W>%z;j$Re>1 zMdUpJk>B%o|4yL$Z-o1=0^ENAnNMPS{Ud)WA}6iR)}^YCg{At#ew(ZR-IP% z1~|QyZ_Xize2yPAR2M=?)Or~9joLy)Z3Z=;NoWd@&m=U4$QMvc2ql0rG3*OS6M#^LM{P35<&^!LJa!?K2HEX z8)`nN#)znL8WTb;L3KWa5>(?b?2GF2lkBD7(~~@Eo>lW>$b2aN5TY8%^kYlfzajGZ z-WeC6z7vu61w{VJ-~AVX?hgz1zXZ7751CJ5Klw-gAu#e$5&1s>k$?Ah|7)Q8x~=UQ ztJT_n#?m13Nlb;vXU2{PMs6x1HwuW{z~6m6i2Ms8Texo-;Qnur`6SlNFEZPbwGr-H z1-K6f`Zz`S$PMt(7BU}*kwEtyg!_1a`@BFOJ%x{M0Y17w<^!=)p!?H=`+@-X`GGzL z3m*ggVf6EJp{l1tI$9nz5fpWjh&lmkKC@8_ zk-(YRlhD0EQU58Ax*;g)qay0YAlIAZt~Up{-X>f>1vQ_9%%G^-`h1YxL;(p zMQSMA*9&l82QulbGaoI4k7fZrn)*X*9OynrxW}F8?ls)QK+8ZM?SzkrKMd%|vs6{= z@BM094dp^8IpgRU_C4ct6oA_MM~wwV?Ie%dIVkFBB5DEDd&Z~_NoZ0~)M@gl7X?MF5K+s6Tvy6nR|UD=B3wV=Rr4J4k3r^>>?Vk$ zv!|+$KooQtXrqw3F1QR~m-*GuQxGN>xqVyl3j*{GXt`?M1Ns@re2{Guk>!_yo)+>N z$Z&>zQ-t3Y5dKyF@GlGZ^6)PSd5!RD=q(8Si1|n$`!}@whDK^zdykJPmuW}_Je=q??hzzYT3SsYeVM4Svo{M$U+bW9omYJ*FdI*8bavD zSxW)BIkfyZ%Ye)WSrZXi&RHWNuYnAl<%;mpfbbe*KAg3N$Ol;~hl4{A~Na-Ek8mH$b4YOA@YTt2VoHGlZCtnY_NU0z}6dje%J~i^TC!6kuSC$ zBDTB|x(T@q+Yo_m5cK@84S>w268b?Tg-zRYwu~8!Oh=9n${N01ubA^ww0X~W# z^Fcq_-@O_-4?;im6GY?-0wRy|cMtS4g^!B@e3U`vgMNyidsQukD5zpfguF&osG)KQ z{Sv=SfW8D;eg#tnnY1cYwL(Oe*Xt}HuYnAl%@yIVf}RgASNKQ&yT5leG!Me$ym8<0 zdIEH;uJugr_3pF1aw?pIucq>FfG(IKd z62LD&C;|K;hJ69QB>=w;H6K*3iKucKUlDQ%s<$DOpxTXLUsQVqs!yQiL*qvf`2hX^ zq97Xg2)P9C=MYK&e}Q3Nz&{DV-$Ts@)wd$5oW^}ZEs%}v8IYzobEeX|)XvKat1AISY6@`Zdlgh7x`6LJaUGa!^e9)e+C$fE`1La6ynzzB$> z+0bq_A&*)V6!m-&^_(Erxv-P zHwf2@ylS57UDrb9lk5VBq_d~0^C05o<|-$;$B2F7utY?@H6ZfM{_bxKbiYctUlHJb zIb=SGE%T4OG%)gd5&8ar$oKlYUlZv5QQ>|g^nAcS=eQ9`40NU*z^{t?& z@5`g^35xoai26Cyd}#O#A|Dz)fhg#d@R5+$IEK~G*APl*+J|9Zntl<0e}TqR3xwE(bOuf(ILkmZu(YzOY~}=dVz1QvYOjvV z#}sxtYLwOpu&;;KpgFTDiZ7Wk-Su$GM(GfztLZoTh-;DXWSO(Ewv9Q#u-7w-^FqbK^{ zNNQB8QEg1ctDK{>w>cMSyEzwW?=UWigPn{6N~d^AMfvPm#bq-mmCo^S@uHw<;_S(; z%o=6T((pVn#q4WZ?yy;u89tLVw?NP5Rt>$$e0nn@9Zj~n^Gkl$*c?f-j2%Ry@tGtkA3;cn*PdIm>pE-A-{Z@S)utAEg{w?kIF z9k%N2S3X|%H$GnXcRpVC55fJ1f>=q-;65>%J*o744}5DOC-|!Ru0OM1vwA}zcJXlW zX&|k82}p81eiKtJ@%Z?OWrG5rUFwWCQ$yd2EbXI=m+x#f^c@pnxOgg6oEZPs9`}rX ziHOCeb7oDLImrot%h;bY?PPpE@~}0I4mGqdrXZZ_DEi7K#WVT?qhDhG1?+3$u#dV% zbsE)eR1fu2J8rLHX>ogD{e<4?&$SAWNsR zT_AN)f9f=U>S8kLI$F7Prq$YYW>7-$17O_%q$xpXtFerib}5T^Ltpl+Kt~T2VQB zhO@3uDuQ3Hf2-x%z5anJCM}X4O={P}qPgQiPS3^U6=Vx?WnORykWojk+$qTXG z0l^v4nH%XdOKND8?I|gfvqXwDLJW^96DF2lQYyjBk1)*o?bZ^tmd|q9y?mC_?z5Jt zhxmA{jeNY;!(#St5fn;i|E9p%U+h2o*Za@@64~spjw{nAR94YEx~aiAX$?^}M<%&j zkmfeQtSl8t)u@X*q;+vuP+i<(&smMBS;d?s177Ys`zvfuNqAR^L~4Xs=0E#t=uWF* zlNJ=$!n?&PjF+v#c*QD=S9xKC-o&4P(N6y@v>~)_^M0+}R{M@6f7g<~XZ7E=`g?f4 z*1xUx155s)CI5)`Lm#s~ofDt*FN|m6*p*-h%y!StfsPt@Dju{~eKw9=1U`O944~k_FB84QlEXmQIrOwTeP^d z;@R~Z8q^>5&+adM-TZ-Vb?}>J%CLfQqbka$R7{vL1D^)RjT$(3+_YJxQz|QZm9RGk z+BrSCjT>D$y>volDI4oBYtlsJ;4gS4dz}_7tF_y-`Pxm|5p84SsPc}^d zd6E5*Ya<6Eiz2^A7DtXnZi&o|E{`mTu83@k-V=E;x;k=ebZzAB=zWo$(FY>WMb}3j zif)K(i#`(hGIC??lHBT5K$n)$thp9xTQz%L!&ME}Hr(IvK*K`~4>zpVuGZ!u>H_Ur zZK1XZ(Qnpn0gffw9on7Ra_t^%m9|=2qpj8M)9%;SX&bbEX%A_SXq&aiv?sJJ+E#75 z_Kfzd_MG;j_L8eWiV)eW&f$4r#w3 z$3L~B+A;08R*f9zMXo`H3z6YsWVa-;G_pLhB63e;b!2VizQ_ZSb&>Uv4UvtJha-JyM$TN`_BCkYtN8XLR7x^r*H}W|${wDH$_G|GtpU1-9Z+xV~q>9p#s!K{i zH$H$uN4=8Xdj54NDVyGI@)R}}!fTp(&?Bb~)0r}zji=!?P5oOI>$qN+PT5R0lFoD} zqW2%u!6#VyR}25~LGEMLalJ5|%FEaY&Z5wHgo8`gL7~#WI{2Ta(vS0b{}G1z9eeiZ zq`Cfe?%us;=We}vcIx38#M{oDI`!y*vHb3xx^!Wp3+pS&@#Cs8>6-faZ;s19wyEKL z|K2d-U(4TnJgO&l92=%8%^TKHNcO={Rl!F)_Rmc?4G`V!lXECT%cADz#JQl6Hg4>IaYf}gtB)Izz}wEPJ{g<>2ht9R#cQ%0Bw0iRl%$Z&|IZt3_j_lAG@jp;z+#< z4%y~Ss;5s?KScRtjctV0AuC2}L{@bzwpL`tS+6}GtINik^~x+M7zcNB0?{VB=IK&g zOu`j5?V_@(%5j}LjVqg3GJW=>QoQZZsYB(Y0b0C#%bzOUE~Dn11fXcaQnoq7jK^J^tr$T<+H$ z{rh?6MjIbqTl(S2)7n(8Xco%2NK_cxqRg5!x#kwdbtE=b&nwvXe2-6NZ9Mt;dJ5+@h~kx4;rTA8+O;>G)wwTwv;x8EV`& z*%+V4X3A|Bkdt>6MTuMX17QCj*k3aFQY$2VXHqMj^s*4_8hXQivWW53X9+Z}-2VQ$Cs z@&;Q(MoTmCG8*SPX4E%R{UJ+jTo=!y2S{#|j1hO7D%H(!&Zx%DU&*H2EVEr?RyngK z9dXccJ(*pvoG0#<6%u-do_OkA-X zo6fMgiEQ2=o5?M33IrqSDX=N>gmI@ufo>+F+8yz-4U4i3?|!5;-DBsTYO=e9>|X7J z7ySCAu-gHH_`ArPUKgx06w?p?HbsIyJI6M{WF;+sMrcnJpo+t;6t=jzYC(srDrHa_Gwa>pXGWn^~ixp=w8aLjhWtPcLNS;TUaPiA+KS)=puQry8Y+XJ(` z%q*FEvRO_x|CouF^*t;b(6OgA5V~xV0p3kkzm?-c!NyR;T0vH` zuE5J#r#T1pf;MX7=iOFfT|5^yD;Yj)jH_$+v5poK25+=cL==zyJ*40ND!eR!ey+8a zQj8B-j2ghkBFHK-8d{B)HmAFS{NlE7Q$WeACYv{}#>?-pv5&}G5vV?HRlTIr3gn(6 zGQ$n;O7)U?cxm6yF?$GR?UwiN%R)c!no2_rgnrJU~XHugA;RJQQ2$3F7s*3FMN>tNfgDb)>d*4Y__LEa|3=;tZQ8AHGWK4Ue;chvkVui}a2 zRaNCPic2R=DdmPxy&hkCzD$N6ZN|$Y7`7XNQ-c~)8$XAyhAVLWwW7SF6!F-FQafIE z#CwIz-gyi!o#^22qz-9XC!{E$jj>Q;d}Zgh#iqIn7c&K1GJloK+i%6o&*Shimdue% z2%$G3dShH;!jC3bmC}x!jEnIVFn*v&Apagjy+%G}zkrvz#d!HZ8PZfm(xJwy@|0<1 z_#jqX!gyjnD$1whgB|Q^Dfn024j2wc@Mgd(c*(pFFKd;lO+%2Tt&XYB#nkTsBd#`3 zMr0Hh(+32$fde7sD0y6!hd~oyXrK)F3;Dpz;<9r30$ZtW&J331&ctVqs@WAYi>nZ= zfwDMvXrkYUQNvM+S_9=sE?ogDp5)vvQ#@lz1+4co>leA03I|v2aBG879YQV*lsmYW z(S>JYh%WA@@4|8~KG)2cQ9jdI#pzqF`q+#q)u+Sj1`XPCQN>BxygY?!F;xEr)dos> zMkVe5BKU378|0!cD`rkForxcgs$Z9UUJAtrnc`rbB{R9a;?fBflZq#mz@)kZ@YYpY z#)b|WJ-WDmzk$X5#|$1kXms(2!hwTu@I#7k8`48*2sAiz@R`I5qb_|9&JIZsC$l3+ zK%{IQVv%pm9Xg^?adOX+5pu?ph{nW#XVV_uc1PBFmxYg z8SLXT%|1C>CGZ)94V2zCURngac=HL=IT=bZtY*?}FML9#!tN2~^r$}Vk}~?ZJE5Xt z!e#916{Y$ah|`z(ry{^nB9AgZt8<5*HKyOlqT-_d!$HRH5HwKwWU#PQ7gY_E<*^wE zPy^yMSaTXEH{}j398ffUZ*G zC4QCA3CBm-Ox$TwHVG$FTskVn5nVhJ3pUz_|nlp z8JS_95NJiKMS0#TVctUG%o82nPcpYR=Z-mZWKljl0KOJk(<&`;{u0U!lv|i$XY7c zaBdSx$m)G5ud{xmNB5)87<4;U1Eo#IB@>FLmsJvnvvA64p!Bzvg7WF*6|@puQd+^6 z+aav_KFb|iJa9l!@rXf1Lkh9GtX{(WEYBUw1VCDs8qLNsE=EV?nL*Z`vOD$3qPE&Owy)~9Z+-^TlyZ~gQnP-XgX}R zF=)5v4jp*rh(RM0XBLiBl-UiGyDUcdcHk)%Yne3$+O|*(HKt4}q4kd64#)3FoLh&s z1xocoEYrKN!AiehvH;m1;GMdrGsAWU<$X-ifWqO0ql*)x`VF8p4(B;(dd376N3v!(}(G$%<{rd2lDg-0RbEWDZsNVz_+}3aZR(l z;xcRXdY8H1af-crp~B-K;+WR-hU|pm+4#(Y#SZwRC8WvubMX5A;9p^z>h!Et)rDI1 zF{Q9;qsh%$)lJK-ewdInezuv?q%hPgvrrvVs1_yAB=l1=2M;gI!27X<>e+gq%zg{! zt!-G)8#?C{g^JWXylaN<5Q=ay{`m0|bACagIvx%$Na%fS=f#EUh57)?c|SOxz?|b< zD$es^Slt<$d^D$^K@iqW=>N$aZ2X>S{F-ST$~1n-n=nDZ-?FUy3FM28C9SLLj7(_VHQa7PD0^SB$M!hVfPL@$C z%c8yzGW}~e^$i@zX1y$j`Z{=TQ(p`3PlWo$l*%ZCV5y*&aw-?V7(T{Q3TUaD&|4st z=2=EYmeIt{qZk6D=%T*4lZTu744wv~z6npmp}r;Iy%4S#Ui4DNTMlFRm`pg)Qa7P% zz}q^@Xq9Dzvy3bo@+`>o18(YDJCMy*z-Cu{m}6#DpT#l%Wz|P0m5ULArGj3{sayeL z_?S&8prvj?KLx4iSw_1oBWmYyB?L&(MZNCi;ikSFPlHh((y|LoyVw2#{^l)+*+XBnWEat3$87(Q+x;JfMW zniBeaLVp*0GxX@CjQ)NY!^cWOjh4DNvjBacETeapQD7(V00iDcwU3j4+1tf`K}s3) zqYT!;Im-aOlrwk?#_;hFAxBHyggzJ<49qh6+wdR9s2Bb~2fmyC{wbk9gU~+#-wZu^ zDWiV@#_+L~P@|=8LN5gR5n0BtEaOZ&ffph09hOK{FIKriJC z-i9%Jyh_N?Qa7QGK?aE|<18EgZj5^2Cmi^0{?AGY{a8Z(4tz88=%tMQGZ@3i9zuwV6fFVN6(QvES@etmK6)*Q!YV4<=|(|+1HSn z7iK||?VpN?nSB^z%%GPtGrzzXKE6jo%uqL>mw}lnSw^W%%R#Pmh&PAPcxjo!Gg^o* zJoV`=T7HG5eo+!F(;ZseC1LqsXP{CEE5DJi>2g+nhs?Z4uriHU`2%B&74%YOr4}y4 z!^cthAXccG&@Tlmv$KrKEaPIEnA%*AuG>ScE*dW}vylkx6sTS@sGqlQ7ejoZTj8rW<7Dt%8|bh?(vfW6YqJGBbT) z3?IGF5Hr+G=*z*(vMgh%O-nzn)Sov4(0FNC#xr8|veHG%KxpbKl4x1!(BiHa%Lij+ zsf3k5nFQW0;) zpz*SDAF{BE<)1EA#zIqHpS0@!(_zK53|X~uDH|EHX%b09O<3!c^y zPv>Hc@q}K=Je9y0KE|UVo~WD99|lhk*(6Qk8l}9MjK)jSL$1=<MSl5T*e{!$W2I~|hT zwPg7?@mg9;&UeZ=x)Cz-CBe~)#L-O{V;rHEGDmmA7(SMup<1GDLVpV!y^&??vT34w z(;-~Rn|siBX?nv|OYgX7S_MsgchYM8jzg1a8M0d1m1-@mChzaad0GRRxm)n`Hu1C; zV~i*CQs#+n--M3`&=615P3Rwhr#&`F4{?o+ym=Unm!v(eTKd>U(j(B+KT0C$V}~Sn zEm=NJyp|p%=O4>C+60;Tk>Kb<;%GC*7)R)(%+Z@LhL4xf5J%Ka=!e14!7SrImhp3z z@uN-FTaf8LSeL2TMdpJ}#^wR5p6DX;&lYX-aFO{(ytl7(_6@km{41sM4nnY0&`UX$ z&tME6dng68)J^C|k;;)QKm#@R;0Y@@!N z4Q_c+kf>_{8avszC!iruhD|_yo{TdA8H6_tt{7hQQpVeq zCuJKsHvHBY^};{Nf$yd}CnfY6p>G4<3_W@&qmRQFKH3s$wA97*aiG_;jds~a)J~v1 z1m1elodnEwF8-q_WspZ17;w%qKriJC3SbN$T?si_>L&CK$e?|;5wqc+icv58_6~eE z|FM+NcO>+^;hUjHFJ<&YVGJMr2{l^k;%Yh2ch5GuW*eRD1cq_F;k+4v#(S3R&S!vK zKPkv|uD6YZrrs;tTYCjg?xtnPwh~>PzajDsSzPa8-c+FR5;GEs*dK`#E@CR7sgKU~9xDll7}GLj^)j5Z%a|D|VWx_l zCFIP^hRhr-m^q7>xdda38T3+SW*&^;;~!{<8R{nV^TEuy*~Zy6E%Uk30^VGM#!Jh& zJR?>w7r1D-7Ml9_Bw8+TXmQtz<%6+uwuBWt=tR*kkh8J~GIP9OWgM|`9mW_d=%vic zQW(R>&1i@f>L&ClV5KzMD6v_&lPfLb&0T1`tdt@PyI7{VSXmBDy)5Y{n&z-#T86Ax zN;tJdOYnKwzJ78yd7mcdX$53vnc!(E@w5_Sj3@L`=4l;_;bRRN;)%KmeHM6{X_K^` zYy6Wp8_;-3n&~Q?N*780f~H=PL{gs;dv z-n@y%OVT`7EiH7B^cFPrYm-P?=#b>DCCkT&*V5bMe4(79-H@5r3XZNJj^4o-;|RT! zIf~-eKlsQ(LmW{zq3;4muVx!BXB#hN8!u!V&)Iyng;;+hTVG~(|t-xspi&0USJmFBiJpTqDPy3^`FL&=?1u1{iJ?(er&qpuK8MpW~SZ0geV zC{cPnZjB7+uPE%B#n*`o`fF3h1$uwMMV;#PuKVNIU1q1k8csT)Au_0&&_4nhA7mSQ zvW@q$jd!w*x3i5mZ9aNKL;oaOf6U@TCq6!K@v+Cn$9pb5-f{SN+j;wDAT{jcsUW2< zLYtq|Acc6b%af39__X-<5!$x--`kN4Vq4#p2yKAVY6nXb#`TX4#dqn9%BPhkun?-63O z)J^DT0QsP>F(7R83md1~;6H=RdjJfQgCF34H~YED=JaIvLkRv}xMlFsOBw!t7{kZc z1RE`N6M7Ngj}9B7!p6w3F+6MxwKF&Xu|77e-|yafjCPVRM*$&yIHFZ-B+r7~<2u|~ z#fI`Ee6}9mRqQb0nPY3LVthobVq=JfU!lraKrdw$YSm&a{7Kov7j+YQF<2NMHqH+l z=Z1~5Z3=2b27+7%&v++)cLko$(`T#Lxvoh(o9FMWViyv8`tw)@AH9^}YaD({f(>8P zP3Y4Be_Gg>8a5_}jY(l+qMbnmVtr;<-{GFbX-*R6R3Nk`aWc<>P2wbH5-0K`PG}Ny z5zm}iV-op@n8X>xf(}*20(vR4&<)1$5l2HTP#1S!frZ&&qcUt<95%{r3c5oEf?Sh0 z+sWTOiIqHkHi;LzCb697?@Zzxg5Lvf8GQ6ohCcwt@Np`^MoZm7$2x-o(F@tc^rV490vb9DXx${dv; zqnF=o(9nVGv_3?H|kA!ewX&>sOa8^gwfVPiwsSZ|ZFoU7i= zn-yrhKAf+SWeVI$jn26 zsDnh*A&fDi&`X)95dQ2OKK=tAL=<%s`f(6-G;ACR8-Lg=rE$G<-qb?lW$7qSkR4{B z9A}xX4NYCm@v;=kkzO>id@z!ZxJdd#LQ);_8_JQc*mWT@)f{`pR&tP7J&ZAu&`X&l zdYlY=WTGLGsGHE6L&D7AS#?=WaStwZI-%oy&k;jiN?!Pm?y}psf~-Jd}!*elUQowu;gB} zEgy`eEEh>FB_#DCzis3s6+mXT79^cSB%O*eMiP1{lXNDG;iE4aB8j>Qy*)^ZhaB(uzoWyGX&JI=I)#(Xh|*m|wUZDv zk{oxG6IBSA*+CFx5K*Hr#)v{MWunHz7(T|JA)=_8(0hTXo;gPM9HXnv(gj?vm^T-q z@v_vDC&;R)w~M6-(9};&VyU;olDnELAB?2#E|R)RNSa7~d&@~Gfy_KrkW@e z3B8m_s(>+kl%XM#sGHEw1W9M)7=v<*0XarLo2N>yTE&~$XuLd~fn4lr8t&rhGBU8P zw+_qkUjHBN&}CZotf&TY&KX|=TzvJD@bwSoUtwP^442b(1ysyog0`VV+m#q&w4s+W zZP!yw+>wEXXrnGR2>9-!D90F`V~nynyMgO1=FN?0yqpywe|*ugP?@Lc=eRh#l?*J- z&Q9X&9EUS^iCL}~WutS%cP68tZGUHCe_mO_ymQ9Rku!D&RLrvlV`GW2r5Iz3p_eja z_ft%KwSa~gqb}~+K%tf97$rHzgdC$d#~5$(_5jyj$D8$Nyu6jVYHgZ}w|_!YFU#?M zZ8psz%(M(yk(IcLY=W!Eie2x=OA2lS1(_!2?O%|YWrDY<#M^@yW4xi4GH*}87(O0F zL%dNppts&b5q9Aj3FG1DgPX|B4JH`~y7Nvq=dvW4t27irs}sn1Cw?J|cnca>Q_ zSd~?{c$(#UKU2clGZf=8IcLv8X3i0uT}qtoz!>8Uy_7k77sl}MIvV1Py7)Uqa8{jT zTxqlQ9#?vwH+#@{*{Vhs_Hwqs#n!)}sn5^xUc6f1uw`0?ti-P5loMUU?W6AlaDLe#;8CqWh(Z;7(Vu*Au6bw(60v-i)<)(0F-R>8gmeE*_df zQ(u$B!&-+2cSTq}JQa~a_G{%dG=t1sBWPGnG&IK;qXE5?X_y0J_$Wt1G*CC8Zv_oc zL&CTk<;@z#*Q5089SltAV97>p?pf{c_$(FEbYLs zeILd%&U=0#{w2bDJzO!o=%tKz8I0lMX2OYTY-oyGxSo<>|Zd3k9#R2wA97lh#|8*ImUZA z#yfUe4?=*9T{E%ANy|MG@9_lKdG{UXJ)emW3GYL2#qgq+GTxV93?EwwCtB(z^nJkl zRgUpRj z4JGy}qOru#OF6L*U<@B`QbK5{o6rv;u>(2A&pF1AImY)n#RBOAo!2)B7IA@bLwug_gRw2Mg)_kz@RpV;r^<`+@8I z$eW+gc$f4)kmdsV9I`;ukGYogpP{KA&G9Z4$6TCPhV0b#8&96q=wau**!b)xXUF90 z`vJ(zqhfvklbHDhV~iQ}QfB5DjN#)qG{g*b6MF4dgN^i7MyQo_x$QVt!t<0#S4HEc zCA}3T16pu{cfD55WyugU^}4ORwA5=Qy)0?@V623=KYA}%Nh4qNTH#=?`Q=eMWM-~*4Ezo$0X@*4X z&2grSn3mAgTek8pX_*c&re(uc<_&>zG33wF6_CDM_Ng$B01OyU< zq-P)vnb62ihzf)y>;#yAs9+2sKoAHd0nvNaNI=1TL)=gV1<|W0n>JoR+`xUo1$RXe zci9CI`QB62UEMwDZkhZ4J>cRJ2xFb}KEbmDbM0 zrVkhG%bPqj&XUoPi&-*VY}gDW1!JqDb1U3*_|5QKdMxQ;L8Ke{ta7p~T=c9~)(&<% zYg|;(U}m3hc64!vZ3sm4&H}bh1lv%IG1$14ebHL`thM$@YvUQ91~Tf4t$9iGrB&yv*5XF4f6ne}ebsFTwjAa=W)R+%JR+mI`_?r*a!lg&kP}Thzrb4Iq{Mt+jovwQtQl zZl^rHG4dEddF;3Huus}Po(AQjf6LRbe*OI?iuVpPUi4y)m(B!%jk_sMwA78LM-cC! z*4lyA+HbA3U(Ar%p&)PBp+97WtRFyZ=I4mtc+3p?UwF)mYp(S_U-&4c^01i-dNHSB z9N@9WNQJr)^)ICIXKU?vYwehs$J1aSMP5P-`ai8a?9dPFPM>G@hhx)ztN$?4i@GvpoMseA0uC!||dAD3=HFXO#g^{3Ae z`owg&e-SQND(J(ptDCP1L{W9bY##fU2AEE{}V=? z;kUBFx5M2srsy*$`k!H&MUP(0(f~Qy#hgJM{O%!aoTkXpQa7S%$RImi%QC~qQJ_)bXItUh@z07W z`i>Mm9azGmM=$2+>8udgXh>0`Wk-joJrI4jbgfIe*2zqu1ts9PUb|Td=v{31cZw;4 zo|HkVnE`q+XF%tLz(y-01M1?L9U0`NYdL24Z87Q$Ki3N1j(<)}(VtJzXTmnaAHA5P z?+j(w$fBsxQa7RwMD+dBwY+q#kC{LhE=Na;K&%@Y=Tl*SJ_GFQYJ=0Q9gpsiR0pLy zul>PR?z*AKmaaT2dA$$bn`^E46R;j+Y;Zd8s=ejW6FhxTy1C_%Psrq8j3I+w%*gbI zGHjfOhLE8yj+X#3Bh$6vCM*NE&_LegqjADAl4rD7+M%cs8!Uq$sg8+)C1Sy1FA2j2 zy8{h(L1i%6inyaP1U!9=KxH(cLIer2?7BgiMKv z40Q4Gk8XyrU=`N_yaU<#+cU0)u5q-8mrJPW?9Am6r(2E%r<9Ly)V1w#~x;Q8Ss9c$@%}>|n znZR5J2KaQi2%5!coWNX(M9g}*#s@ zJ2E$dr(Z3Qxr&gv31bWy^kPPa&L4pd=W!(01DQqXT8#^PDo zQLx-#!D6o$!v;g8#s!rJ2$dV$QDKLVED@+ICRD`XBk0A9%36+!dH4u*BkG+%<@R*# zRudK5!6WcTr;0d><#uFY7R%i>RM-(AOQTlZyDe07Ly;BBtsGi{#s4|lygSh$BkJAm zIMHDv`ci?@U4+xq7-Q9gUd%Wd2as%p4Z5!Q0VEFqr~6Eh{^|6Q`)sB2kPReu`pAP( zAU$M(WG@}V#+hTp4j*~Q9V2%5$b$l-<%E$qd<4CiF?ti=z{V>EM%0a{j{&3A>DnVE zOvVW%wqr<~wY1t+OHbHfdKcEz$D>x{CoGtBLy^_eBeB*JJKf|7cbw>O68&+3(^|rb z4kcl=gkH=zeFbIM_yi5r5_R#LLBMI93DVbG;v3%VMdJi%ovoHO+CcgilIn&ikTzN% z*=xzLaptx39U0%~j?q5w^bG=|^@P#)7-JZr7c)kOp$r?ppdpN?i?4kEqvz8#-Gu1~ z7dpzDV`!W(J#VX}7i=*70ZDax)N1{L1(R+lvRcw(t)=5+{RMZNPJpLx7dUMroc_cZ z!wJ2Zaf-(;QNzaHut7Lc7hfd-PA{7vC2)y4ys3-E3DV29T6)a}QX(YPT~Q#tW`Sg{ zCBw#<*HS$){+c^R^cQ>eT>_(>gi#X47)I#DjFAdu*l3N0Frscm{RS9)m9Bk}u6>rS zePV*u4m@>_u}#G{nXQcVFN}I(o6H7mY?B%9%}r*%Zw~FHRKjqeLM}CIsIFnhPBiA6UCbYQ!HNeVvctp zlwpGo4Wf9di%n+4dnjEykgolfuKi+$oDZH8`a@R8`T@iyHko8Lm&M` zj-!;&5IAB9p%-&P2qbL!y)Wuda68bY;JD#o`Gqbr63?yosfIqEl>=SUDC&MP- z7*EEUfKwFjMKHzUMK9)fr$HGuE~PlpQa7R|WaMjc8Je7-oi^hw1H)M`aT(S=vz)=u zXY1i6sbkep_2Y zW-Z1TGU&yO%tk1~20MfaEp>5tF_7typ@mIYHgTcNyrJWcoUnA@8L`j9oo%o@2T8S4 z6fB)BSnMTX*kCJQ*aa1xY;|@=Wea$ECxOa2gv#?6W2m4PGb%fw3>(|gP`ywWyURc& zH$%(G(0Z7_?Ba5-@#b|jPGEA8i20GYj}4eNAgT7wa9%5YEMRm)k=08MN0%Yf!v&c) z$ygtEWZnW#?=6rypOASQV+Sd@67COjD9TEl0Pzx4&y%;taD*athVFy1Abw`CxZ_9Nt0F}`hT7ij*aqJVF=LDHUXq>2wMiyqVjI*I~7?SGPsHxp5cUE%s5F2EcZWQgK(m5M4bSfE;2!q zxkP|BacG<%U1TerA{$8YkW?>;0;$LX$zD2!jWfq6fs7ZqV^jw`{StxEM8ZfMEQMao z7&U=G*hoS{7*RK(P6I|$GPKDiOij7aS-fe6#tG9DTPx}nHw zX>zQ!)Pk&E=8jV;c=~jKQyJluhA~!4=*5gvCX`_#0}bIs-H18|IF*|qsa&ERZ`z}A zf>ds+r79apS&&pKqd=;%K(g18VdKneDNM$z+%ckKwDd}WQ3YYt0b>j!^kT+nCX`{L z1Px(C-H56Kqh~X;O&QvT4DFc=ZJmkNEU?w*Gt@;H`~%A%`dZSnR^Iw1qpIkW?*;=r z`sDje2K!Pc{jR_|4DX_ET^%^nLvAbJRewGs`qWH5A`Vg7LReHnlwpBh%vf9tW!Ru| zjtC3tM%0&q#fur*3mMwB4DG)r5DQ7v_`;@cfH91~c+mpGUIZ_2EZDth8^?kG(f`ZA zAVm1De!N0iTnFnc3-n^ng3jcDjk_s&wA78L?;wk}GPE}`wAV7Uon{tvM34Gj)O5a8 zD+BhMA8*)Z^EGQWcmCsSMju=D2%PHg)tXH{B4+bl!r@VfG91v083#IP2R0r@LpV@3 zqJ9P(KFQEN&d@&0&~}?RY$j2++5E)9LjM?<;^xcNy$?AUG@bl+lGtSK=2%#h`8g%= z9E`Ih(2F^VS12<49uFEyg1Qm)J0!6;L;E^I`_jySPRDW0V6T;dy&k`IP2kJu1olw^ zufsM=0KJ$K_=Ez((V-MLTI%8#>yf~L4DGiJ?UxMgrwr`}GmTHdR*z(;ci7jL16B(9 zZ-~&`-uZ>+z_xdOvMTZio`lEx;ylUnOZd}|)T%{3B5Lt4q3{(%84BpdjKc3whK=vh z5DL`A-<$#pCo{AY8QLEi+EEh%I&la9@%5E0DJQM`?NfMyr_Yv@KWt0NQJ%k5g@04{ zbUYCYAHA5vuaDnng$)S}g-_jxT3^Z65*4kEqQxs(K+z<{*kefoTTNEfr|grMs93v1 zbrfq7Xzffu^1%jTd{##j8s}JO*k@JaV6a)uw#{mm?R`5Ahc&}pD4RiW z!LmUw=4|Ky8`!vjvOr7Sh}s+3oTq5Hik72jJru2*nGHLZ#*xi=?%CwpvdOV!(8Kn= zTXZ&kC>uK6hGm0Z%-LMYvtcLLz!r6}kAQ3jDq4R<%QN%%7Z~ag#raG+&`L$`kJ!vI z&EvUHnbMQKPFP@ z2ymRD6)M^oGsgSCP%nzQC5*Ge)C+BMH0J+gjvj8WtdWF$cH>%CPY? z1%{To5p^a4yiC!`6m6=al`2|^8R_$2tL0Hw(`8n$dYNserdl(lm-5wsKH-&M_)Kr! z+u=_yuQg44L`>5xLV=E)VJM&%GYWKe3~aoDhEQNf$*A*z!aPN*QnU(1n{7hy4rBn3 z?dCnt%HKX&Rn}zb6}H82HqYN$+OMGS-!;QWFXr&S;Ni2AZ(xhM5%pSxe~qGDrD*>$ zWB-!NeZ`xv(Kt6Wu0d$D7SidJ3+Y4na%DLE9hvV)!T1D(qpLnMZuu9`aLKBhQ7$E>v=(hWscM=Lqp45Jmc%jiKDyc9CL)*YxI zc=}@ks5Jys2xF|6(2E(U&QOMpEHnfZbtCEq0QHQbty8ooO_aKDxvsqFhQ^7~Gdw|7 zPn&Hhb%&(7DGH^{7E1O)GHfuA*4aRM(gma*WOuVWNIk*RHwln75=c21V<4dyGe`wc zhK+nQ1QK;4>PrA=hoWs)w5^Kvyou8&E;^bwW6(Hp+JRimYI@a%Qv{OgD~j_2)vFdx zx}nIbX*&m-0kzcz)blPt6_Vjs-GLelp8kpe>SY3I9L5+>=*0|F36x>uVl)I4btCG# z0P1Z;dsER~H&L3*w|RoBns(bznhHtv{V0@nTPWG9$*{pddea8d>nPFN*fy{A5JEmwyOk~z`xedJ8h{lP`aT_wHY{+ber23bF9~0P+ zIb}n}P-Ms)vmtZD1(|2b*eQ2po&!(+OCWQSkkK*5kU=kIWatPb*kDIPp=Bp3sV#!} zTCNAEo@`aW-Vqj7@MENES7ErZrmd(}K>2>6SrjC(ux2*H}{+ zF}`u7rv%wfAlnLSgmHYDU{BNLqveNWxMk4wnerp>^t7P)Oqm))avx)i0fk=7Kz#>g z*!Ua`l@N8YaR#75K}`v2=_X41xZL-=*^kDFQivzWF0OVqlzxDusz#yI&O*t)a2qyQ zH7Pcb(p^CMk?gi}2k9s9bX93m!Q@u zsC5i#9ZaZBa_PT#a|(?Us%}WfT)TVOprTWs)SRGm6Rwv9m2N1qg6hKYW>|HyVb#(0 zzJm*HbcmGN%N;j5SxV0lxb-C5=$I*n8+tM0)(Fb5Q3nm-MqT`#CvfW@)bfH_pP+WW z30h+=n!+18>d6UOf1WR^ufaCZ=5Rbu=(52x=otwCFG=FzKWwG<3+46RiSd zVU}2-4J|ryNsR=ZJ8Fd%TDqagN^As&oZu3N$I$sqYN0z6=YXe21QcTkicT0~P@oqx z6uD4_jc#ZN3hGAGivY!V6NhuT#Cg0qAB_`-@wTd&Xv2YyhEgX);V{v{!Cp0n4F?Q# ze3UxT9R@m6N}nKLxR_v|1Ev@Z=*0}fa45qD9X&-bP&cAZ0SuFa+9VT+5nN~_Z|E#1 zClZrw6;WnGViY9RX+h`yU73Z1ZYZ*fnB-Csqsc&-I}~HU)29h2rV$Ciy4ZE zP=*b5L={@9X2Ib7jeN$(KvCKX{(3|8xC}elsYGf%}xHOGm#zwD{MFz zijFd%bEVV@_uT1xDSeK}eKzGj8DlJW^kUBa8YsgC9p6M{KwTV;jNF$5wd;f0qM%k| zf=~^fx**6ixs)tO+0Q5Q@C1^36XjF` zUo0o|V$SJSD8t6}lnYwwM%25I(;Y$WwxD*4nb2)uAXlDH2_&cSjkWc_}` zMhi5}!MzsT)*LLe23_VL`d2zuP-ZLPk!6Nn%$aR~GHg6S8KI>ver*w%tqy9B1htiB zS{uPY#oxdM&?T>!^X#G2pQ_)FNpz}EkW%$6PB;I(AT{A28|Pz zEj$bMxV7B|%U(#T+oE9EZoy)&0K*2m7N2uL6cFMDjTB$I-%AN6q%3kqL2rqB|;$A*rf&uZm87epE{ zJAB`1k2^4pA)Kc2ECYpX+u8c>Xv8-80zBdX#i$#Q2RQleHqj~H{of^ zMKgJ$qH)5r7b%%lv)=|!dq}F^2c7qc{We@oMY>OXZD34aIsKAxoq~Ux z2zP7xL0AWJx8EH;4LtpO0pC7?uOr47eCWjtUoMnkqYD~>kGc`{AmIBwsQnt$em1c? zm&={UoAc2)vHRV~PuiiVM{L;jfuwpk3cDi~cE(b~Zn35fg6>xfx}VP+y8h(th&yxx zz|#*4=nfHd12M*+Loa6NB2b2np=by?>PA#Kl&_r*YNvwQ$)I+^M6ZyGj^)ibG*0wR zBSo|F;zQQ%)p$s%aUo~r#fPljD^rmw@05j;e$s;Pgf;9^dA4U1b7yM;IgJltW@`Ux z*F^C2xRANC6$l~mOEAVjL@#C#r$ZSwCZQn^sT)xn0>tEyRzIXAhK&8c%edSO-poYf zL@+r-tI}Auw58Y(EQh4pI10fO3qgDRnKr2Y>W9P^0TT_=7(O!qE6HbyJAhT->5T<| zjR?TG7-ImU7Yl$nP|hll+W@$%h`I!zT_4gGg|wQGcCCS1Sihbn(v`B2GIDN*N;c#> z5PDJ`eLlDWLt0^67O~F3XO)nCEfU^OTfjBRlG3szs|)=`in-SvA$++eW$WUaBgs;A z8SW3m$xw49qIOEzx&WuiRbNKq!x+QxP#B+eN2oBaK<=b3g7IGs;~Bl~3h6a0KqJmj z&YhvGyAVld1lfg6@spAy^`%&-heHbUstgtO#VK_0tFRd3LF3Y?Nv5w8bc?9BgdEO9 zCbzImmi~{KBxEfO6~-6H-6QI4QNgz{vAT_UxZBl3$P25GiB&?@-ONLd9l-**7v|_r zAagE5}k%CnM=d%h#F~nMd`2})cOjbTVVxa<;hqU`c z+PxudnNfj*^yQ8UT#Xb4Lw<X7s*rxatqMh9tYQux`=1>=#vF`{sE>y9dwEs!+(ltL$~>%f_3#gc!BSYuJd9!$ zkReB37ghyux2ytqrn~|;tl}CO?VN%!tO76@u~fk8n6v7~QH*F-qruFwZbVIKldm;u zqcvz_tl&?8t2byvfBl8|#cvlaXoGKQx7kW<^&EQGY}5wtS=d~VLRE&d?_hzE+oTPw zQ{}Tr(L0k!LsG*XO{7Kz0T${>9_k-PsML+9=Off}+i1PaQ2)ZHnuEabXYQoxxrmHK zjA#xi`nhfBY-$#n-V5*X=S@j&cpkmx_NEX|L7#<)-kF4GM%aVEyd3k2rVz(nUu-FoKIjj%rwE|f(Ub~4a}5GSib^xSfuF15@{f% zKrSedMM{C5;p_62ggVfI#E@2UR)-7Zh|LHoe-woB-^^zFcGuw+M6z+To_Y(C z-d^Y}d_Bl-POlR*JUB$LJ}3c}^}*o-hGmho>Ox z2!W5cNlz9LNo<8LkSE%>(`s>xY}^@w8?d>nE;MnYTstAnc*Alro3fSRn5S$;fjk{k zHY1|0!<0Q4)}9D!Ys1PO^^P0m5s;fM_g;>9IRB(_!z{0OQT{Az^cnyJA9d(LB13R}{wQ zt`BEz2-DL;CCmHi*z>Mlgz`hVSEHeein{oU5HQ#g*0zVWtzqr?u%?H#XT#bi1B~kH zAf&z$);FDbC0Ab$9oS#Yn0!4VST$bxWgQTg`1#5 zk=}wahBDsM_&K#7V>S4;S5u5H8l$_$YR5(?oQy#f87{)ex_c{1m7$<7~>^ zqGNGT{n%n}3_IWB_E2+kNPiX?p?WMxJHU~|yu}B2W$}5#`@i@XOqU`sLxDSQWI%W~ zF`|PoMfhj(Wlj-eX<#WdHmuz1CPI@<#f?YrPs6o*&@|ZLt2J>UXkmu#gJ~*;`>9oT zv1^g9GP%3MS?`67A>;Dg9oBcT%hM{{32cEOccGm3>1wTh0H&}A@cFoju2@UD_QK;i zO^jh_c7h*X;Vx6RzYUMeHdE~-2~}b&1?*eE4g)F9XBw{3gLJ1}9K;QNad5z}+>gUqACiT2(6rYo z6xofoJD1D)n1sl@ZvlT~nxbHyCX-nHUI(s=*)$}JTDJ}I=LMSZc>6?7h`z%nn8mZ6 z>^iOwwmS1wA)YOQtoE(xt;MoJY9%fUTS#q1obk5GID<=MGeW~9@?kjZBYufIONjA6 zbQYy~Z+H%j+&2j>opj=}*gS5b_i?#zgtHjydFloV<*b+ghx_X5P=@(e(9mp9H=_QG z`|6KjZGTwX7uLQFYu|*mufp0F=6&@I2&un@^)E1GXZVCz{U-PG7O5U|sMcCDX}OIv zpOmWK=8Es4$vPa?_rs@g3;vPcZI7@k{5|mXZ!G4woEcAhCDpsh>!GmD25nN}9{d3b z{2tbSg#mt>enqg>)vZ| z?F-XaNE7#73ohG=Zrpo$T-Mt483k)uvsN8j2G-+sMot|D{O8b$s0Zx#yOZIp6JcY> zxZj-&>j&8V&H}@Jzx$I-@E0(Jsr-^z{EI)$@(0}0;jB|()fnoI;u)58I;{T{WwG`> zF_`l=v-}lII-h;5IGp!G>rt3lPmG!Xf*AKmmWvHh$32ogOZ*Rd?B2Q;krvj=Jr&OS zJ6xCuG`^*Qy16I9S$~EL>tNtJ8c4{hla2TL@ZOkXoz;u^xb!_SthwY>ZHn;6rTtD3 z<8g^uF&~$HAXo9Z3E5fvBKyfrMckK^oVpa#&k)Kz63$|sU!5A()nyCLx(-7*iL9o6 zgH}{c1+ufGY-ddcvVCic?V(ox4pYv1goTRbIBK@6Fd4(ER%|((NnNn{J&1TPolMd1mtNqDRxz}Dac|%5*|xzL0BcD8>W)Tl)iXlfGT^(NV9<2%r%C+&bH#+yIK;6K~on)aw-H5s(3xDG_Tgx^Vw7y&@k2n2zGXRaQWiM!=JGy!Ir>bq{2D0fKe<*Lii~}m&FTj3Q?7gj3n77fV!!MxZt`MRlP_5& zX$t}ezF1ed+QkmL%W{5hc2+McjfoTtSLDli7w2+*E(wu&y)#=Jtm3flNuiuv(-alz zCC+G#>yD}0E-qR;EMrlH;lAM8VF5|R_vF9 zSVblSn8JkIUfEf>+4R%@>QWkr%j!qyO`-R+RGed9Dn`V~=e5X?WVwOdAW%1Oev6`l z*;QrbvnnH1zIP45;`oj5tqCfd(Sv_BI)X^6`5@fK21Ud7bmWtCMD z{w`8nd?KD4t7q4d;Pn`I!^=yGXTXtQ)kDe3@)5A|%PVFU+qD`q)*-MWRTZVhGi_Qa zU^NIJ$hcIV51u?zy*>Z!ZT>G`^9_ahBp>tj!1G9~E?6FkC4l9fSaadIsgLIrZ}W|O z%?E|~bRYAr!1G9~rMKr)U(Z>>v+Coyt+)A*ulX**{5d}6HSjzV%l7ij>Mci@@9ty1 ztFMhbVWYQ?jq||s2r<{!{2*a|fRFipzBWb)8zX#d3MqZ4?O` z6THK?$jgK*j|a=+@{O={i}G@rPk#sY(tMW7xL3$ynX+@qt!1EJf2r zKvTWFmil?U%-!n@Kd%7-~d7)!tsO_Vc>X z-RmMhueS@Yw?NDThMU0hfZ+zPJYl#4OcxmL#IPp}4~T&7_4c~V&+Bq`uMhfpeN1?L z6k;AQtOCmwh6VvSu-4t{<9=SB5niA2Griv3^aelETZQQ@5c5drIX|!4+`Vr1^ZKgr z`jVgNo$jW0`I&xSn0^Oh9tpkW=XJNc*AM)>ekQ!`@iYCoyXi0dOdk`b4?D#i&wdBN z^GNo0uw2VgmVX7y606$ZNTmbrVK?&o!m@H)%SbcMU=Ny2fJdb2|g5^4Uviu5I{pL=YQd-f!eC{mlVFb*bk09H_cuDYW zdl(_Mham^v0W-SDtJ{EyTih2S=uaVKt9eJzd%*Ju`XjJBg8l%k5ykV}BYq!Dzl`1$ ze3y*A1k)>{pF~FcA?20PKJYxk{uV6Hu)hJ*FYK=bzgE~lJHDlP#}Bmhj!gouR%~%> zp8po+qfl)l%YO-;&Gj67bYwTp6yds|kLzUcJSMunTU2}pEfFj~Q0fT2Ei$t@n}F#x zm#sw5X^`@o%NF3(!iz`NOn8pMtD0XoO$EPJWSFij;a>G|-xfR%%tBy!M5YMO?vbSn zzFTBnMP!{I=LJkh@H`^x0G3B&VPDVZ3D3QJJoofA-`&^zU}1iskNN)I=JSMkcU=1j zz8kJ%h5Io+?ni;=f$K=HJa8Q@JiA9WRPbv>CI`lW>2;M{DuSK}DX(I<7(9>2E)<^K zBfCKGYej~uWTtRG-N*ej@H{Y^0+vT)lZ9vZ$R-JXt;poSEHJ$=n=gW%3n?$mD#7!J zY>x2k9$C5I*NP07T`SyQ?c@I6;CWznC0MSJ(UaZ+Fuf9AB0OK`<9VUCc|?DQuyL!8 zjhn&qi2g=z^K#%$FukI`Pk3JD<9VsKc|^ZT*jNEMj|d<1G9k+kfW_~2wPschJOXBP z@YvUV6vMV6bMEV|7Xhti~514)d z%Wv|25`33{kAUeC@KFqV1}vRzK7*cum`7A6g;#eNPYAwCRPx!bQ3WvU8C7EuRRf55 zz?cMr4aLgumr4H!SYXT#b9}U3NHfF58sJ`Z_CE~ zz*z>SOE%Ln?3vBwBAY6Rd4ya6mS@Pb!SoAxmf*XDJReM#kgve7XUH`oVDWOZl@ncAY%^%5@cgom=NH|~^QGhkH}k|| z=HD0Q-|;d37I+?sz2WAWuM4lac@~L%COq%)@%)ju`44=}{~*lo^D+M|cpiy;1W~DJ+dDK-z~DgL}Vx2yeF`I z%|E=oAN95_2TpVAdv5PX-YdV}c_RUZs{Mm0i2H56hV zFb)RGBj9|n{9qg)_$~pD1k)wp0t|Zwe31zF0*HA;HCA|ahcP1fE>T?!rb|>4FzgxC z-qz+)@KtMvm}Axa0z40hKLe{)GI?xC`vfeHpF3j{>L=lOzmMmA-sZpcHGfo?KjdTn z0C*mW{pRiY7hlh(gy%nfJRkQqf6Ui>V!AnF3F+Q576+b3Vlr4BGj`h7b7SGTfsf}T zZ}auQ@-B!pVZOPK`Ln?DNUVvMXZA>zAk@abH~4wI zOL)Bguwy-k>Y9%3E|>3&|fyL)}X&+AU%^<_WPyWCB`=4X1ZF#VNN%=zpG zo=38uf#q6`viu2H9#aT$&k%rRp!cpizJ_VUagk&=b^dOqgsg6BHx%tkX|qlu4=#@-<| z^fiCBFpqDh+t+Xh0?mDGv=ugj-eEw-Jxf`}^SxJX%YjTVUG6w4hCS~%=ZJthczX@| zdF|xxwX>hs^M%)3h}Ez3Q?^0>t1KyNTzVCaKkPZ$P^fChSd?eFJxh`ZOJ zeqIZO*U=F3fS~{^R~YEVJJ#LnI6towh1ZMxOkd(|y2#ITnJ_&CVjc-i_VYU3-Rot3 zUMqyxazE3R?xw5!Om7jUpLL2kuK7*ic_h05EZ5nSTYKC3F*fx7Y@Y*akw*E4KdN zc~n9kSgv8yW6cmSy=H8b@I1oD^DuAoK=wjmW1NqTLhwAIALDIa4qODLSM zCwQAj^s|JG%Y1BgRQh@cIbEJYZM}md7Nl0L!mD9u)jqlOP8k1JebjwHWqQiT>^duOqYOP#jt0ol zhL}fGZwjyOFupGME>XP?rb|@2G3*)DHzKMpA?5+&=U{mR{3%#|Fzyk2mw@+z=@Rg_ z81@YKHxcm95c7!YN8!~S#{Git64mcuxRDXf# z64faTdq$Ot9WFYHOqQDkJtwy*SRMhVfaN#2jRfB%;50B@0&a<6&ww*Uz#)ivM5PF? z?l7hczDrapm@ZMZ!?0&mJw;UAAm(w6bOFmF;7(w9J_B|H(+}egg71<|4wx?4^un-b zHu)l({t)vBIS(w)ko$n?7xMXn?-KGLFkM0(jA74^$B2*%Am%XvBfxUahMs04?p_Q1 zyk0E4j`uS?!QJ#kKhsl%>B$iDNNAFu*Jw54!l3fIr>+H#L4OqO~Y~@7XF=9V)SSmc<;p6!>Z}YeKnqMKzFZVHjKX@LA-Rtdn znXl)y!t-h$&yRSUU+HUpy)eHHavs4y>23W9Z|ibk1DGxs`9=(TUgTRvKwG@MKIi9k zo4eQTeqP@YUUxyv1BO?@@+i)i!SX0hIq)W!E-<`>VNV!75&`Y@_WGWm*N@%3?(y@w zPk7x6F%KBN2FnA6FTwJ=C44UUwXR_~@I9C=Fzv^%CrpP#z`sMxBdTA8SNA7{p9S9~ zs>5KqM0Etio>2ut<^$JhhIOuGlV=0Bhtl!<8W(p5Zv%H4?OoIc;^LR`e*E36rRUu1 zVK!1ex1yvpQg$UfZr8X0@#8KQ3AQcLnYfkUE(6wp(#oo`S;cf>udDjCP8pkxsqA*t zAg%$zz7bLb=g+PvnpZr-cDQAOc(CK;_**>K3Bcj8^TGj6c@KK3@PUF$*@#D zw`%s>s-lYW%PTFXRrr>22V4z+@?`^wH+YzVHxVW-qJ;N&KjD2IcEWBJc3i@T#`s6Z_{V%a z?o%KcKzg4sMC0NQVqZ6zu7;mA(RSJ;=@uTjtze~@H$4yXU?9@Q#Gn*F*yyq;#yU-fHg>HPzSH9#q|AROy6N+`i@{)Fb#E1 z@P3^?`83rz$)_pt6dzCgn~x`+=HqpwY*wXp${lfD%rQvn`SA z$_g}tHIMo~D_e5Gri_f6MqtBb#eAPvi%Fsh<_YDMwPnYe9E7&Rb&!t~jtQ!6Wa zm9RG&+W9@YO&C);qqMlPl#O+qJ$aIJ_z(`St=p`5wQ{GjP`On(sjLg0QoatJRz3_~ z8~h& zp|!!MLQe#@g`Nq17p%#=E|dLn`nZ%PO_gAqs<}1EE0R|wA4oo!d?fj3aX z98vy2mVYUyl)shJN;R^q30{XB7bC};k>Aqbvf%x}<-v!7D}oOPR|Ovpt`4pVJ{DXX zd?L6m_;m1@;QHXEApRa>a7*y{;D3WJ1YZfh9{e!)QSj^FUS$14@aNz!KrnbcS=YSlPR0UhU1wGd363`GNtp`U;jCMhI4x6bXRQuI(P5hvvapzJv;TV4dQL*PMv!6z*w(d-MV#Q ztV`=l(&^K(H2J#vIqy!$`Flh1qn|u6;y?F)v^k_kUL3PfmYOElm5A4|MwW2fX8-JX z(*U8}AsUAIjX72Z<|KCz^mvq9U#W3lJMJX+ZYxQ;KPpopXJAiq8xkc6Um0}#6LJRr z#9Vb$lG58d#3UhS%mH!FFOj4j^oPo9|Ad?|55($(*#54rEeA+7D%Y|Zr4_lM{$j0C z@-b4Ww4a~TBWuElvXYAO%JL~y%DA%1xy3V-NY&iQW#tpPbn4u5LjUraGw04KtGZ&s zxc(Cg%kcm_VMGLPJ9q2YxqHVhJ$iQOF=0~KtOWbN=lkwoGO*x~ra(c<^Vl1W|OC)V_d8MRXR3>Q`NL?kZU@E8zG^vZE4JwqhfrG&w zF#w$i=n6^8FRLn;G(CUrEa>w01L&z-%P)_4kv4)TpEMonlU>(ut+b+|yaFFW$}6gJ zXIB8^Dk&wu_0C_r%GYKi@h-Stn>MPRF-?9G#gjU&0hWf;Ff9Z21`|eu2s>$pBcaDG-eadEjQoHQAd}8C| z_zUMeF!rn^BO*^geW1?%9r7P}h92hMFFf7U{7*Z>FeTN;%`PMzyX=SeJ}>`(rgdf!7&ap=vC z(!+OTr0Vv#+f~yaq&D>qLhmTo<9RuqEg_|4E$}i1H#(-&w}t#ms@yOU2l*mMt`r?3 zzN#ZtH%Y?_o}i^P%FR%Fi_|J-)rKP*aNJ00H>!B~6FqfT;{<}_-ZZ)4=T0@dzxEKl ziG|q?itF&m({5MeI;6M>ij8pw+`LNDU5O17a(FZ8^$p|Yo~Dx2*5_ zc-e->C^Nj(NNa{e&py?pcRT65(Frg3vtdH-Md(#Cy%G}-E5?pcyMxqj>w*{jxdBp( zGvUA8sb=>_ig%J?w{Cd(&ZbEIw&IKvz#m;&J)v|LDfJqPm+VZdMmC-;H+;{oWXFWm zmXg}mVR(s0p`2}$7OCxLYO`uN%Z1k6q%~*+UcP`}1HG2!Nw_F`+f;Ssx%-506dOKNvqh?na$OYJSF z)y1!b314>bN$oyTYj81MiaJ_qd!Y6WQ;Wu)bnYjef6v0p+8%}u;MkLn2yHsi0X{%l zf0W~8K~HPONK3~z$Z=KILSra=EhnwnSK(#!`PN0fC_`@evRzB8ix)!YK^7mLimU7N zHm(*O3h!h{!iz)xA(HQR4PF*OKGRrB$;W5RN3Fod!O03z8d{B)j6OCehwK`52q>9{ zN$1^b@p2qG<`sDd9M#8neCAaej_h+pYAZ=?X$@XFqX?`it>0eSmcx6B^?kTJ|VO?@`iwY6)K2547|s%1fPk z0{aQjT1{Hd+<=#r&}z7=aX=og$PH&Y603r)h@YO#tBfw% zNzlR9BBko{SK#H?D69My1m%Vg*>vm>lGa+%+VL=6-WhGJ7o_!A5Y=SdzeGl*P2 zM`4K&n}+Q@0T@1OK(Y$Ho+rK5&*Nn&^sXF?Ck1Rl?1J8JVF^#sHa$X$EB=g0`Y$Oq z-G-M*6Y*C*2RD}MeH4yA7!Di`2abjVe}n@k!hw_Fz^QQHbU4uPc3b?$1X#$Ey{%+# z%nNwgcnMw_$-)opK=MO(!DX*xUU0h<702$iGGTI3nEs7** zD$GzucehJyc(*ME7v(Df$97V_{&l=8gK~9M0xCepzD2`)?2?vYZ?TwWY!;qa;}QwN ztDy4&>7;*;m%A^Oq#k`6*O3|)8sa2e>5$$*(s%F2OKPzsOv_&FdIZIU#gMNwHf{d5S0$s%8xISZd{tL9eB zDyqUHCP_DE4vplE7&RPgo{}V;%w+4yWa|goMKh;XK>GmGewDLn3X9m!6{YF`Qc05T z=2pfOTmV_6jwHpuh35+K`FZBd@>$m70{zIaJ_=c??gOh&D3D%&l-&O`6Y)uzSRN{7%_zmi5U9^4`f^15B%)4|@>PcHl=6zpiz_A}DYJA9105UgD+r7x6JGDjV_H zX|~8H0~xJDM)8aAs1z;EpGbskK4hPUY(P3}B_yipAFez{I{W$Mz_ziB>*Q+~Pm<0v zp`;(NJE6>B*}liJ9W$t(ZL$MW{P+~92-arN5A1mXO@qB>*i@ZTr_U>+J*nb~isCDZ z=%=qz^$TFf-|G#LNSXjz&+I&$Idt^cype@Ph5d%Z!f`N?q~0maEnOp3Nz$#ELks#B z4lHC#LT@vdlJe3i&Rm)x7g@qzn(hum;!N$N>FMOpVLOV zyri#QTD|6h=JH|P!X{7Ji`CClk2#9ZDh_nt59XMu8QNO$aMMFjw^)DD+FeWl8uRrikh z`9&iN1`vw$#hN5(WQzH0K+AXngagtE^9F)j`I#;!wi|i;9WGU1q+-k^shCVSW>u)A*;n^R^av%3DX?@vk_Zt?VCq%!jLXFuMlN zc!^TFRh>iKFB3c*d`6q8Y;)W!ezDOh3bZb~Z-Mtj>3z25T-bk7{|eiZ69-^c*IFDB zrH(v+{skjOVfn(E+rMD!$U@uoakdn{5xYH6{*B!!;l3N(i-PXQkd@;!zgU1w1AAJ)dNySB%enm2?r%AKOln`Wbf%`XE9# zi+QCL{4PHj*G)h=X%)J=J zF&aOFCbyU#z|;ZrU$ z4kk%0QYPW&d8PRDLl4h=dG0fdD=x!=a(M;&f}m90ime!@jobGm`|bM`7WpB*?&4Vi zD;{5Y>05g7dpuXpBJ0ASwR0N_?Jiv1Lq-f785vSAQj+E-N%t9u@Tcl%p^<`vo(?`Bf`YL`2ixl?N`O7w8CoyG7m=7!ymiuetQUn5Dj?%5Zol`#rEctJCz=vq-;!Vd@_4-aXj?ThQ^Dq$L=KS!}wZU zJU(&9CxPl4?^DsX2XzIV4@x$uA=;*(mY`hFd7z#k8gBq1JEm?gydMb40TDk1)Ev|r zM0PI#jRN%sH31PX6GZX@Kr=y8K_ft9vki!R^#zRvO#{sVO#pQU(fCLZ*(JRzK=VPR zpur%LD*{ad%?3>dkz7e#+^Yx#3XlRJXXk)QqKJ6SK$LvHC?3g@9`SNqc*G~0ZhFyv z{(tG$#o7%J@Dn^vGTH|SU5CA|i%)^(U<}?*2qjXc|D;S&5Yc}MpWagnMARp;JG-hbZXh&Z_e^~f zM0GJmRFND6p=9Me5aEGKN*)a=1`#$P&>YZNpe~?mLAQe*1`%#;K>a|^fOddTmGT(S zd!PfLwjf+$@+43NXaUH?8kd>e0)%Rn(?F*L zvX*h_%l$zEKm$Sfpg|y9X7UiwP*4O^2pS6-2f}43j|W`{x(HMPnhYuhO#w{>O#_vI zrh_U$IO#y13z`SI95f$<%UZq?R0CQFS_HZdbUkP>XbI>B&>f&VL3e?cg6;+_1Kk6< z7jz$JC1@4s5zwQc)u1(?$3SaAkAv2OHh?yQHi0&So&`Mz(m`85FM?hIy$pH<^eSj4 zXcy=;(CeW0LAya8fIb9$1o{}X2lNT(Q_we{y`XPF-+}glz6b3G{Q&wA^b_bH=n&{I z=m_X2=osh^&~eZS(4Td&d1qE9we(*$+IX}?aYkDgZG!Qh#_dIXd0jk5n}$pSq?lqT zkYW(j8B_<<1e6CF4I;zEpgEwXpb)4F=vq)B=qyk_(CwgyLC=78fa-zTfVzUlfT*gQ zfhK_}K<|O-gPMcdg1Uje0cC;?f?9x5L200tAQjXO)E<-t3WK_XdVqR@azMR6xuE`_ z0ic1Pe9$1!V9*fIP*4O^2pS6-2f6?>9&{n-B2WovGN=?Z1vC{j4O9l24ypuIf#!nd zfi4Hl2VDWW60`tR16l}L1iB7%J!mm#3FrpU9iTfwcY&6I?glLb-2=K8bRTFXXcg!Y z(4(N$pf#Y!Kx;vdgVuvKfHs0Qfi{Dl1w9ASL0dpCf?fi>40;9hDrhHY7w9$6>!9~R zyFnj-J_LOP`WUna^aJy<@`o3s;QhD)`2w|fi@e1(tCDligUtBCK%tz4cTMmuw?ceR?DXj~Gk!^dJP`&j ziKu-|<3$DXrD}h}cpi)wGvjy{i}4&NR(Hm}G@ABk;DmJ}>Ypw0wc{#VsXuZ-ADC=Xoa~}!3GDe>#kT=!qW=5^bJGPoJWSqA9EoWVU%hK<`P za`&DT*8|bt7s%G8mAm z^)tiYj8SL!1FZ1v`1gw``au-^v#`ygM=$2+Ux6}gY^A8tQa7R&Ao>xh+OSk@h?&5v zU^uVW5mo~FFdP0uV#;6?Wv~;*SqA9EoWc80hK)BUaK{Qnm4B0^e}Cy}bDr4J{|t zU*O5F?}EB<`UE}$i=`!sTAYgKo8`*zVKDd|B-Kk(o!5S`mAk3PmadDe^9fX#nxQ2T#8=6_V`vsfdu-k1>V}dNCt&2+FYWGa5pM zx)HSu$V^SuN=;Y}bD<-=If}*!%T%7xVtgrAoneFJ7$nupqF|X}!D257!v?zpmAatv z2icn8j>>WH^veV)(+QOm7-OiQ7c(mKy)@W31sjA4btCHKKxJ;KR+*~JF@dSW|6j{Aga&#Fob6k+APsXlvMEkYu698soop>~Mh*t88%cjgbH;d>TN*f zmQ?MgRP6>6m~*%s{fZaFI-_v{a|;qN>*Y=xFkK+2-jV8DTko`h(G5jbFE?>?88SDx zAk&qM-RX`@H}Ld31Twc1GTkx8kU=kIWcorGHhQ5UWT+ca?*}sXrfSPfSn{|~Ki>35 z(AH5GvG-sB3`Aqp8{|6O{-TD&);rG)`0=MHXhUJZ?i}93<7XQLFCb7Am@- z$ckkZhn8URe~vcqP8X2%$K7!n51zhO;Pe>bbRotVPUyvqQwfw|VY2fsf z3DRUPQOcVsXq+HDWhjg&75JuB6 z#xO!JW{l=S88&92A&jUSQU42!wxnv$nJ~@cLYMPqJ{l)XTWqzo-3HSYkW{xtt;pLg zm~=yt)zWjZ*3y+^eY-nO{{m0nCUDwHIQ<)A3@7wr#tC2YBAjsY0KTfozI3XEPQjBdpk z!w9{YF?s;Xu(1>k)e?0h>U+TGomA~D6Q<={=t15*gvJTeJGNT-zy{L_NUFP|R_hNe zm~=yt)zVwB*3!dd{R4NLR)VMR7C606IIY4M!wJ2ZaiU)_gpD<52q)@B)K7ua9uuUe zxWqc%JdMT)(jHqaePILX8Az(1M}hQ(1(Lm%3>#-&OY6z_7w#Bs08js1VDuSbv=L(r zBlKd%=v^qo#!fVZ5p^T#QDAg9RXdof{hq4*YJ&A1cM5jhGF3Z~s{LW+@eLSA z(YD=o(#pd=b0>HjG;{hNJPm8J>Tim7FHEs`(Th3W-=Pc}-&34usT)xf)AF@CX!gW&aXmhbKVlH{0lYUinI*jUhQ2HI_htNqz})4pmxdq?!x2je zy_ge{@w+Xsal%N5x)HT85^9*HC8ufi&1?c-AW_={G_#n6G%0$& zvn6HF1jbng=*65tYbe7;bBY`-bt7s9GH9Kqoo$Anj!|d$t*!9waGxDh^a@3v0oyEk z^kR-a8_KZJhN4DGUF?q|dNoaJo2G@#1Ui7>tQXZvKyPcqKNM32S(JeW<17R8V$L8J z%COOuB1cQzh}sbubV$>}X87k~)ERyUD||ct;h3U7hoV0ZwpsM(#T@-mD8oiSiW)6- zv0IMlyQgVg)3nZJ0>il6aNdkS;17^oatM353cG7-OiQ7c(l$pbQ(gp&?YL8&RhMmC`h=#6;yDE_5$% z?nC25r4(71#WLN7%Kea3%c8EL=@u%wp~#A*ghNZP_}`b!{gVgC`gC`kmV>9437n=8 zP7h*?;e=kyI6Ves*jR~%aH4KRoei93nINs@5|8ud2{cZSX4y)o(gxChAgNYFfmCUM zWG@}V#+hUEBpI)C$LJ~W^a_E|9KvWF#u!HE#f;GwD8t4EG=vd#BkI3_(Uoc1d=sYU zxzK-kvlWdKrYmi=bd3$BZID#2j=I9Gv0%~-MOI7mW38p_Wc?adLxrNuUo-h-rieH2KGEs*TB zWY{?KT6&+1FLuXhH+cH>0;B5)qYp5~F#7+Pdk^?1ivEB6?h=Z0g0xFW_AX%|2}6?- zA_z#8BFF(YG(rdv1OiDw)JHvOf(0vf5kyf$L#@aWF>#g-4uTZxaA=H(hMp!**B zrqxgNT)t_g+=+Ew-FKBnA0f7ZSL2PAMAGmCqV#&i?CEzhe)kT#_;td9PDJ8ZfI12m zwc=}(@5k|PnVkr280msL8=oeDB6=h!pAaa0A<97kl{zRRp$#Jg z(GVy^#`JFh%AS_&%a-hmmTXr`_L+sqX4%U_D9i$3_E$^xr183oWipFSDKBa**bqSVLmg#JYSKh;CGl|*_Nj%UI+ zPXbiRNi3$wg7Hf!c(g>~;X)V>7s9MwnAHih+F@2RY(6kq0=AwJc23#`b`D0pu-I16 zq^*PZ)-#jZVL54QqT74YIxF)U_%kxXiPKf|$jWR?C@h62M*&pIDBKBU*tii5p+ICz z&jboB!>oCjH4U>S76f;J2Y{3@Y-#7Oj$w0=J|DxTB7HuHO+^0oAZAhc%VCy>4=UyG z*FhOJR#Dh!iNqa0!q>wrFU+E0riEFymBAw=5#3J2$U~IYHv_!`AL5O@nnDq;@zG2qe3jTBOoD*Pxd+`12 z;EldY+4N2fe=vo=3ubxvpi&NhACzI^D+(JekuiNV!XFi8Bg5>}FdG(TL#zyb0$U#& z)>o@rk5P6K#z;g+H%GLJohq{6-*FvguVO<)5*}L*=PGsp{*19ntC;AKtJoMq;a7-q z6hNhnLX8?6g+D2K*dj8fmjH!x!tCrYJ2T8qw;-qq9sp7%&pCGfY6YGx(&ww#naUuZ zF7mfmvGXW=I`E2z4=UyGH4%O@3LCbFjOo)5{?ss=5@wUaY+{&Auri2%t_lE0F^QdU7!pbg=h!` zBJu4jpfEeks={nmm{nL1bOjFpDT6rM&R-qGDv>@P#97K9R*3xVL7YqBcY|3TKB$z# z?+0brIFZ6eOJq!sBm7Il>>puvkrjJ?F!Xr|JBdr}@Qr^UHf#7U67kdU@m)JjFEc-n zv7>c9BtC_a+uXr$Y0OI+LD3^e@N$CS6o_&NK&1@97%0QWsb~lSB4heuK(Hvx7FhX@ zMK5p>W7mPUf{X0r)v;S(kDb`KE};NVhdK`sRLTKPgfeW5qrlJ-8Pl&vfY*lEHDPv@ z6=N9~`i%)w>{>fa;~Hg*uKKTxQ8`>1Hztjd=#gV|13@qqq8tKHDMK&^%CJ#^h9Dp^ zrr!n#ZV9txR{j^D7q}>6bc>z5I!4P9$LMwna4yt&fS^(ia3Pdo;}QxCEs-((9t5}| z%$A4QomPyCgxnRPS&W8ei2bGA73L7pmoV=O+aDq?7mGFPLIBLgaBWNwEtY+R3q zkRdXrKMG{lhuOL?TN`F;EO71+qIZhsE;LSX)+^v_RKQsdNqs}uxy#w8fMY6haMmf{ ztW_4*H7-EiO@=qR1GNG?V}k_hF#>8O`Z!RaQU+=rlwo5v8Ul()d^ZX}JsoCGSr9!e zgw~7Z5j0MSo)+2hr{|j$h#rNc{%k`1Y_=g%r-x~SUw)o)LFF;Bwb>n&4d5BiN>nxx zDjU(qQ2~`QD$he1HVia`3Xw7W6`-;`%w7t!trjp_gxm|F*^0&q%ytEs9SSfnLQ;P% zp>}q-17q6Yz`UfC&Q=$YULw0Y+(Fs~p7ELl=~V)0JNh_Cpi&0u2PnhFztIp#M8@== z0n)xO+Z$%zhuOClPJ4yukD}R!#);EDR5+8h$Yjkdl)4JJZldXq#)(o` zB*?2NM?t9wl6rOmN;x)4>Y{Dh;2^b7Kx*a!QV+75;|@|Wct*AasTF~ABKkN;pi&0u z6ez<+A2b9Kkukj;Kq|;&Z8Mpk$?`0mh6vH2q8Wz9iBkb`vDT&z3QofzskhH`UjIAT zI2ooQuco#FYz~yJ0F~zg)Tv~+gF8?oz%$xQpcnx)5`7#fP$>g-4wPYI3>pH8$e7*( zKy}Y#T{GDU7E0#|xf0QwhsKFgcab2krk)B);~}Y^n1E7G8zr@xOdA}et_nyexPUZ) z?DljAsT4fpL3se_%!bP_^?6YZ5SVkk`YCwzb;0W&+Be zwo4#l43)4AA=oZOABPQ8%CKEUKJkqVGz1%w*dXAukI|WIR3;l~VRp5UyGAri(Ks<1 zjr{RJ$Kt?zO+Q1y>;_UWF*`j0vombW)DkmIamYqx%Fj$jLfZPw#JXQu#;ps)&TvQU zW{4Q4OT@+!Vz;1=BL*sE#8#6}e6)au5F--b+CZU|WwO#tHa?S;WU_NC-0m0B4~S+B z8YgaLO07**aC;DvdU>YvW3#C?V1}v4i>y>Bvhhlhl_>AeaVfa9P%Ld$!2D<85U^&6r!6%^DG)CXw@QLzK~t0 zfVLTu`rHK2F0?^YtIV{)tE^JNX{Pdih6`rTk&g@AF?$|7W3I&P0>W$y`Z#8wQpW5( zD8t6PBc!m;>f~U&K4?YeF#Z?L8kNJ)j}IB!&KxY zcBz1z;2LJlzJHN{h3-&%1fH=#LNTA9_!xa03Q#FSu?Nbqu?r1BL1aw73Q#PuaQIqC zd?T7~(KvBfqEyXN1&8k-sb7aagWY#3}`cMv&C+Nx)&1je}YdrVU3$G$#F3?l5G4XWS!USV=H6K_7&C1)9*c_O6xIIxvv2G7>xOwA7J!UnIb$oorCeE9kuZV!lMf(O^97K?#5?gi$GK2 z6T91GIQXZ>{Au~ul-R5A#uEdTa$^62GHkp_385u2rvHM(e#&G&X0jhL*>{=j8!NGo zz;-6~laknvN@73Q85rN$iG5>tyCjxaXZtC=PvMiN2P)x!2$Fj3EGI0-Ww}0bkXEb`&?)LX&qTv9MGJ1GIP-Zo}xS(&DISrsXeb#sAiJU1^O z>+KHN1c(?XNyvH;WToiikbz1WvRULa7@vZMAR{uS4+CUFve@7(HZY6zw@|ATqE(`) zM&m?n2vV{tZG?i_Y)I;-X5sR$l-LLxF2hvhB{tZ`#TcmI)!*)yB{qi)k8lU-0`QDe zB~Zf&sJZClK!HjbsD)65jZ4rFP(;S`GXd1;S!_%ei&-cw5^`6FW-%HkN~eoNcx{bS zP+9^>{p>U{2bd2TeM>7*5`AdZ`K*<^kQ<-0617B| z*^lu4dD_@+(u@!B-ue-|-yyfVTfzMTxZtUPN;#G5L@NBq64)XVKN>(Pds?wCTd^;! zJg%oacA0tfr#$x9d8mW-rAUKvF}@IK*gt>&mg2p^iWgMM@zR+fuyHfRiI&Kiz8~@a z+=}gM#rC#h-&-N`LqT?^(En_QZ0tj9)_ufY5i^JWdlB>E`Iq~jFMNPfS!tyLD&JOTz%6eYx=|HIBhh5n#OgG2wTNW+HyFvUwpfbdcQ zm2$k#K^Zolq&U$M8PjWJ4`em6Sz0y=X0sz!$j^hP?^L0$k!@FfTDA>+5bv$3KXQ!F z*UpCfEpWk80hMwpuR|F&UZNDx5{b{ukxKn+RyUg+mu=48H^4xO3iS2uJXGlGiZnR% z$Kk#8LvVhd*@)tO6Q+2)pi++aV<^K0oisx65*gE5Al_!#?D%Y!Va59i7|vPR%#PPM zUf|9zKpA$x$v-YlI^?z`W$-DC^9(?xoWVCxh7CGiA)z)?bMy`T? zB&7`6QU-KH3C{pj${EzeZx3PP2t|&T$e7NML18w_x5CF!pb6m@+TpAC=cg2Xdy1Y8 zEaB0EN;!HuD+D$gP}FGo(II*_MBgQwbuQ6u?I#{xA*m0_cFz65cJ79$ z$d|6ZcJfAVytmd`>l3hUWNdIY@JfE<(H%TvP`35RV;~_@gg%Z8sFacE2W8mkiH49N z630sbnNzdbFbkIcLTG?!2BLAoa;nH^ao~APk14PWf}}nw0hX8zi&_$<4Soe0=7P## zvK4bj7_trd^Rh|X6IPI9PKoc@kqqF z*P5gN!%rhA%XTiclWbrNQ<2w8i9nYlbB+r#{5Xj8h zBFqT@WFu_Qyb=eH+zFg+w?I1D=_9u*rE|9e5+jx+aRf>W7;@& zjQHUrce`W64U>lqkoLIBRLO zQcG(UnBIgn{lSD4d94kTVJh-kx;NEY;-{Oeb;pSgCovwBIISU^=ui?~OQ2H5=`$$9 z#)oLAmWaeJgMia|3#8A5#4ge7M&kr&y;4gX6_CDwq`n~mq>VO6YAu;Ij=h%tO~yC6 zWAr6>#s-PeV}#LH=;IiHN*SYHpbQ(|qalol#MeH6(KFf1uwdFRgbs-2S2RwTo>6M) zIR&QQAgOOoSgoJ4VKPibUQ0%*wRDiIKj)6q@8B7mB~H&0PJf_};{+;YoYL_lYS{P- zHV7vo@l_JwwABKshLET!np$X_AZ=A@>173^+K|+@CxG;_4U$?*rj28-rQ^u>%kCJ} z0ngYjG1^8L)kPo22vo`#=}?A^R%i$#B4he4VDwow`y`uvl+8Z0z-j}YzSDe6B_1-{ z85^IN^~4`Co3QbR%y@4-WcK^!&~8el04{hcpi)ky8zMjY0$_SUx+m9C!OC?yhSj@;{}y+yaS*N8+2$8#Y-d}G9%uf zv)R6Ewl|x7Z-qP%JSX%&+aVkK5Sx6+EMgW9nMKU}A#*bHiC^S6Kna}!M?4`=DJOIW zlwo5eC4!bnJZeTle`K?R+3Z&cqRIgLVP~Tbz(J7=AAny)GWGx*rg+bSDIPDV zl;fQOW!N~6;zUbiOs|nMkfr6YU=BNC#aj-BvtZJ4?B~qE9F9I;50BUZC-2je4!NzF z1FutIoM!+kBFccsm|hnd9GAmt<(Q9`=b+aa{&9BrD%`b@37(R>uT)9V z*Q4k!fNdT6fJ!-o8=wpuS5f3>iHzxCWY8jqHM7E}6N#MRx3I%k@o$z=^qCa>O|Z?Q2bFU4 z_dppoZl|cx5*gET5q%_w<>atdRswV;5%~9t<~}set7Jrs0Ds=5=h)BNRzp&6o#U)M z-Ok-G75UW3v6DAi;eF!sw)@GLo&&s+pSL{#p3yqTdft{t$gDvhM+Q{N$ZUi%Z16*v z&=QHmi-AnL99Ce#^0*LsLNs*TkrS47A|rl3+)07uDM;!a6JY6N!=jdiX@jqT1um!< zWUG@qDo=xFbd;!cAXJ_~A4dgL%BXCEGHh%{L-j%=o-PBG;v80#!@60(Y!`Abi{=$H zPGE|Wh;>WcTLI=(Na`o$IOj@l8yLe>Y{(B;TP>E`njOO4}KcrjtZULWSk;V8BD0`MjuB7RLZFQ2xZv#8V#XBWK53%mD6(A z2n!YS*e5#A2{J#UaiVe>vapI}tb)ofkkrQ{%%ZV2Du$`Zi)Dm>_UKnO>-oukvOd-w zCw>&v7>Uzp!s%DYbDTh>j8mWn&;1YBAe@Md>EnRYSr$k^ArTTy8X6}^XDOvqqJWeR zN&VaekVOQ3edcMqM<75s@){3NV_K z!zNlVH4#F`i>4_WCrp!+S~_2WsTm~osR=Xed>baiROGcZG1XdXPS($N$EgK)##D(@ zIpNe2eY}=HrHoT+D8oh$8p4Ulm_7?QRahYDLZXdm+M;oSRH4*TwE|K;B=xEUkg9Ev z)LJra9D6Mlknw7FjOZ9Gqe@~_Nf@<5AIAt(${0{-*GKW2$!#3ow zM|0SE3$Gbq>(Auq3v04L( zj`fh+N_aJ%$w@plQ}oC~l%6Imsvyd-0F^QpmqQsg=$s?Mg2zU;G8F!mxs>+#O_A_x9>=UclXzZOY&tS`=! zEI)-mV}DXDiXK^uzYq$aL6oBaDrFRYgfeV=g@#Zd5`S|FC>+XRzvr;ua@YY20y=RB z0EzXLFDZxY{M8}+U8K*Kl;4yk<$%cFuEM`4d^({@ay3BtgsP4L*Ww{)9Yvh zS#6Eg)L6R4LK+Kb<};SMVC(fX{b6+wYissXqMDjLi0OE5eH$^P$%{k)-QE`o=O8wO zKck+OczF;#auDlkh`bR*ISQasMj;!@u+bC^p+ICzZweHeXsofu8fvV*1wjsY07x0c zCU*YnAT}21^FeGV(&tM_eUZOCh|MT`4Q6@xpi&OMBa~r-4gjL?iHzxa2tTSZO=H;_ z%hFg_V=b&CIzd9$HGQQyj;GS~Eo$dsXb94pjM*X)J{hy@aSYpUTZoj7XO zQqd!av^8NuhX!#>K&6by04T%8iD(EDB4c_dVA4TjOk;%_%hy;N3y^_e12HkGrx6+* zY&6tSWdaO7s)fp^<}2^p2srE!?o8PXf(xDvsFbsz18iX9bjkuPkum)wWYbe)#TqNp zST~Jzv9jUE(m1l|>7Grol1-74K{w@nm&9y(Q#N$E4bKKt%Gq2bvf(G#z!s5sj(}_i zXsn;c`dWEh42FJ+=G>DGuv0PmAvUW_`-)tsOlhYdaGbpAxgky5!dwQI#wkhVDSBji z4kifV5akenN*Mw=h6XkkprHXJGNz9J1j98p)XJZZqya9XDo0aQ4!4t6t8%D4j$*Gl zk^-coYE{80b2T>3%6~0-fr~Om=i14u zV>B*tjK))dbO;R(5LC(mJ`H8qc!UB&OJq!+jsVZsSh>a~YphITrB~%%=10 zV2yHRq$b-VWt554fbQ^0(S58J@6GUMR3r_P=#j%TgHWI&XE+L=QbvK!j)9FA(GUv! zC>eb&P?)2!YK>KDY^DXl8;}7&%Efz*oxeI*)%IW+mC9l`Q{-TzlLdD6hN(|Rj7yaCFIG~vo*VL`YEBTpI$VJJB$p2>=&TxJzGi(` zF^_PfgKPLOgGw2v1C)n2TZV?2$e4aLaJo`si!G3T6+*v><{%m;NLPx)_`~OG6_EHr zGA2k%6F|Dw21zXu(-hwcEOx=@2*qGxbger^{J@x{5~FJfBY9v9sFX3v6hD%u6Ici% zB4he$V05p>?$Ou^jV-s3$`YcjM3ariiPXJF$ttHc3Q{?c)F05C_c3d1hzwJa*U>!! zZjR9kWg0Da!Am2I7xj$VWp!5gF4r0H{Ybwq9fF zER;G6xf4Xw1&tG>M@53Xo}N%p>IzBy@dT8fuu)PA$+W>iTCae#&IP1yWcLYokh+6s zJT5`nNFWuVkAnm%WspWd88!x@A&`iS=`R4J=QXxjW1BSgjD^!kA$poKPZHMw8)}+<_Vcp7EjtYAXRX7JVEj zP$>gd3T4 zjgneTrVS3#YYIrOxPUZ;?7rg;QaO0W+Y+R=2&Ad#;~;@b86?+JoIVFgpK9!5jr~hw zJ1v~(6eqa5NHiCtapLqTa4MihZeLvXzHonz$A>{Gxp6*)lPC;;to0q7nww$B}z zRp1#vN@VsDGIZz?M+Q{N$UF*V*jR&xkRdXr{{dtUYV22y?YEG5Ovr5z%|zC(EgZ3TmG44QZy9lJ zro$2YNua67=U5XMF~4zTG>-5mf&5WeL-gZrg72oSt>t@UI2>`^Q@#(L(K2G~DO*I4 z+z066K!HjbsDDElHa z&H`_aRYwJ@_R9NqF1XPlQhE<}+~{N}qe$Y`op7ULrZ{e(QpT+zlwqSL8p4f8{LT}& z^^35+5!O4xdRd?~5~7VoLq|P1LF*^-<@GgK0gcXn(g!7gHrNJDtuNCC$E>e{Q*Y&c zFBi<{U@3jDJ7#p+lrczRHjpr*bEPz3&;sBd3X$+&!mrbhoS>`ModC6 zilFF-J`M$_l%XhwGHi4~Lr@SI)6W7FXIMC#C?tA{rWYC~4reG;bB=-o9SxWs%YpeCnpjUm5L}=kQfO`eM-dn{I1+a!Y~ziMNDw1h||bGxjPi2z%!;uC?*pW zG4ydLK&1@DIZ%cTenb^oB4c_5pqOsqzz>@W#!H0Yd1#zCOjjzRQo(^vkH@NiRX zbRq2F855)8$-9{`q8I z>_CdIrkv)(7taY)$~j#NW!SiaazRUEOuq>^-4J2dMc7g+q3ggvt|FmQO6UeVA$77| zCqm~-{8Ib9_()(G#d|$W@pwU{9Pe@{!^Sd-6D^T3{cgm2SA^XWVYfxtEmp{PgXbKB zyX=sSI}jT!&@=|O*>KxqaEsmPG6so1=~zLT-2;z2Gf*jKwgJkpv6eDIOC)}_h|E?; z*u4>UkCoO&Fp#k_607aB)RDN?M&G!{elJF14aNI7O!0U@r5x{TP=<}I6en6D@$*5% zyFS9!Mc7&^-W@{jbM`+fSa-*^yya`EtL&RBh8|_pLQ<1NW>+JlDwf1{? z)qIPLZFFBJ-UiRuAlHe<2$^@#$B_Y*GBTe+88$vZL&y+`za$1^o{q4mELc7hLZ6Ff z7aAulPm3)0c5AZ&%Wg>O&nCdK*@i`}0MiDai%+?r@&(!2?2gL6!84wfsB9uszC<5K z1ystY`~+p#_y!H3LL~l@7*N?BVJ}74RtuP)h1@Tq*^kBv%yuMV)yobAm;;d1UyC@W z#ts`8!&Kz;@{)~)vDJPr>*ZH6w!-{f9!5jJ5Q(p+0hrwp_IZST8etz> z@Z<^6)}qnTIN{lil&q@RqrlS^lKNK>=XGL_f{Ud{*NM+fjOi<|p1ce`9E z#J7oXwWbfk+L60G?(i}2jIShoUlM%n(Z}Hfl`?$AP=<}pXb3(cWBN~k@5c!HA;P}1 zusc!6^%PAnG*0Y(H1i8Quj%_0?0Q2||0Myt{Wf;yQp7K@mJNdL2OGNYjvcyw!nx5OhSw^k8%#I}%}sBkWLw{cfQ*T8NGj%~&)} z^o}4!tMbyL_S35~AgQNCot2j!wVz&Did1=rZJdllHhjO^-7b}<>`|;ITjR)SdK4p* z{L`*;z%$aK)|0JJ6p5dUJ`N(NltG*dW!RX2hCn1TrZ)hH^`fj!l+})!&;QOBa??aJ z9gP#gdQn=H#_*-Bv4UU)B=trK2sXA6RO`>OLG@QBD!&L=+cb^tV*{{?d^UCmuo^t0 zkp!?I0XQ3d96(U109XX&{1L%i0GA)rmjJXYqHJN5&5yFnP238MD|jL&P&R>_qU)hj z2>Et|UZ5}CA6$tpHaabzSRHV$5;ZPI!h7fu@ceoKEga@`VO&Kq_qZX7FV{5Qw0Qph zdVzR3t`Eb=P%|!~cWk_A9!`^spHKZmIm7fYIz9h}=;*W&!H&j482`aEp3~!|s4<@h zXvP^Wx-pu66C&w^AUpFRUKa=i`cN!H;gG_<)usyn;uJ{y6c&9VXiS~?_2}yaU1Ivu zsKc4eWGT;N*?*Wxjr?WN(di?CU1R!n3Bl)DSY5|G-0bQh>V;L*!m398&D=wgir|P~ z4~)@`K;}e_%0o%0*zkxU=QoK0ZJ@GOOGKzADcB{@i&r3uA=L^TI3m~wgEbJhSg63e zqU??+yDiFYF)MJ8ahIb4S0jbNkUzzCzXDxDkR7px#q^a?;}*9HT**8h4ddUz0;4!1 z7uKord8D9@CDLf1!Sfk`h9g2e)I%cF-^@^njOo1)>WR6mhZX9d=+%o582-#%AU+$B z@rV)4&zf;!E}c!yBQtv7J^s8Y$qnmEuf-=(h=-xiLj-j!AzBf3BQP((xT2{-Ltqja z(;KxO$Qra}^;(-?&PA_LueJOVsR?G?)&k7A1ZIQQ7MMa1VQx~uY}^{wFN7T)DX3H; z4K*GS)J6nbAVMvsKiOs=yR(4ZUchcGU^f@An+imj*kU0gAfg*L6)c|rCzk!oo8+}w zgsVqKEItJ4M6GCT!H8fRMIg{-@%;BA9T(64i_5p=@+8}omQHWMb`ac!z2D_c0`!ue z-WDLZ`6V;`6;6UfB6q|8f>$EqdiDyTDGaq+JpZvs07yO-8PFD`Kt@eu3%T{%7381SYaXFCt7rW0gAA*zOul$6=8grCzvu+UIrakpZslJyG4C7 z0>OT>>{76{}OJz`05 zT1Y+u$!^A-1@khrqDKo<6|4$*=o%61ZrY9?L6^{??jk3UsN*&ZXvN{#%7j9^u6eBO z7DOX~&UiuiJw~S&uP(^Hzks$`Jrga(MCkog`bJkD5dLSmw3>xky2#GQH-`FVEfcSMH8k%Z}Q?}#czSXp&(;q9q zZ2K;cX4`jp7z%TvC#<0JPyW5piT{bWpj;rNw+)Hj#8xxG+a$hNK9xFJvql7`0eMa6}~*vyX1bBh3Uu7w|MUr=BLSvk}3Ikt%;1 z)1OAV&zXtF=V925=d8(#Y4$>a{v4m~G|e!#U%)ho&v!^o%q!YzNlg?|TS@9Fhg9ci z(Tmi3HF`~x@x@InZ#2iTn7mYw&xMvMLfai?Lg{J3#Y<$2s#Ju__vTxu?|SrcbU>wg z#f;wpW!PATh7ckW>m3k!wSc``z_wX9-35mJasj{-PvU0LM0(k(2KfYX1&Q5nPPX3~ zL*`XkJ5t)%<}8xsAtU;|7uS zXpA=z!|!y3SSqg&-w>LQ*i3ypT_u*{D)9kj@;Z-Nz24#~u@qMcuD1btv?TBVoOg%R z&F3!dFB|jCHKtcbKE_3l0 z(95g-ga4rFUx6}m+=hm#p2(QK7ghhgRqU?{i5;SOQ#5aj<~`ATAez0R*(aJ>2pIE6 zTrX#1n(M#Ng=j^T>TpF=|4F5c@A;&lVU4eVKK;Y+{$X!=`Nj;Izeh}2ycgHW_;E>| z4ym^F-&IQW^c?q-f~UGko_jzXy^|T_<6TeRTe^5TzP)6CbLPO<4WK6#v%YLBHyq}|+d2pg=j6k91tx|(R2<1A3r~-U$muzbZ zg08nqwzPelM(ad>C8`8FL?+)Z2}7u4^>&GepYIHR3e)lX4GantsA1XmF(;DojeTvy;eezXMT_dvv*CEL zGvxT^96r7PJP{G{&I_0Dv6$aa#7|7nriG6FVSv1~gPl$7o(bA?Z9A%V4NJQhq;Vfq zr!c>6A>9YX`y`laVVgUcEACY>;5X6@RJ?D3Y$HpSo>$l~Lb88?q-IGb-dx3pCrCzA zNu`=aSy&H6YV+HjAoocRzsy^;_{aonv|Mm-lKjRJBx%iXmmHfQnU^RTw7j30AlcTE zOu}bef@C{e@+L6_QIN|x=p_lFH05}p)>Om&v6yP-B}me=F(ng*XGVe~O$9D#!6Z|v zNRXt;cbA-*AW2p3kd%WoD?ySfnoBOg^FbQYpn1n0uS}3U$y0K6f+Q6nx4CG3TmpIv z2b7-Z>9?7yiR;R65hVDfEL52K9n5?vV+PDaLrVpbF}NGZ8d;aJ1?Vyw$!l0oEOkl=NGY{J(K>Vy^A>d9hKM?JZbRU61$>T96O}~usvlq26V|iE)v{MJ-UfR$=WVE03*M&n zYRTL5USZzW=#|Oan!U1kTdP+q%mHCMpBL#$auXUI%+L4_X4->LhP5?lXr>Vv!#u%p zu!Stgnrv%@&_kkm3XPE?r=GoqqbY?a?d=I~!ztv6w|LraTT2jh-9FmVwr?7?{z_B{ zcHGBJ7;=tVJ`aDhGyL=T@?u1=iCGkZt3`YfeBLP(F9OZiOX~_CSL-balC)uPm)uH{ z!jD+U+VX|$MRezPAYfl|ni|J1VH%H$Ks9-;)nqYS9+{wM=#+u`?A{P{c8AD_SfokHkHX}^NBV|r^o z_2?lwp6|6Q%r7W3yUY!4yF#NiZE#(Ij20F0F?s^8X0AW4=oa9xbb5Sw$xNkFxqdRS)SvPR!{Vc$Z&9bGjzpsX=TlBwOnMp9Ec-5|dw5*P0zUBU3%c=pg z5_6#;-sSh8xzGsjl(~@bVL@B@pt&w3<1KjXAMe0tWBA0!a{SpeecYnAMBVS7+XadY!=Av|e3!o8GG{Z)^1G#@m{`y7RVHuOj}j92w8&rZdP5eJq#zAABsA z31x)Z0u6mEM`TPNSU8aNFJvbdvOb0Eq(auSkQG}W(PcrxD8@$x>mvN&w?vND;!xOV z<&;Q=MBKwJuUTh)OCCy&QK?DSvgk0Lrk@1`Xj(WK16o+(#9%k%jEk zLN=_B4Jl-UE!+!*0^@>Xc`5LH;LzeT3-eDe)J2#1G0~ZY##qYA7(%bnqBHpCLhYez z4E7tk4o(Tzq2q?Fq3h^WFo$lKifAXNh&gnpsv@18BIeMIR7Fm3ikL$;N)_n>5q)sN z&~-&8zCv|+Vg4E7D^%TVLt-q)&{%dSF`7f5QXb2mP=<|SG&Gh(#`Fmo%kv7^xrJ<8 zAv?<&#a=?RHyUFc1y5U}^hnVZK0tk``>cck5^@&cCv)Qy)$yNPm|s??i!O8gCl?wM z$-2;u7EPiY`#G(P!4-1y<3RB%Gp@@$7MB&~PZFQA^>?b9Lv2TEKdP`taLz!NKE2SGis}$QJQQ0m_4D^Lg_W~Ja}F9s-2MgwWsh%9%%P~y zbqaZ27R9$GZ08Ar?cCOQTiW(bRncFGD#4EX{ah-I_;fIYk$!2%U$h z)bDCh;%PZOEmUB2Q(sOX!RL<*6|PihoWy1`cQsz3-d4Fvv-OknDo4& zi^xK`tyxoqDxOOhUtE~a182Fl=MK%kn2b#0uJY&7``P5i#x~v-G{67G zcZczfVHB+Sqs1PVsENjDspfLl?^TT%1YES}ABFjs@C4>0SaxU#X$r7Tp7Orm$^0jO z{5pO?g1#d%CFEoJuCpSa9J>6?MIQgn1w|!}O-L>klns^wIgu|yjQDN-KM2W-@m{ZR zfaD07gDExtk&s;r>$%6``3G~23chN~FW+90Al%3j=3lJfz*`ICWhAQB@TF=*9yJ_4 znha|A(!%^WrFl6VPz^6Yi*#{iGMC58&2J})pBG6Cc`SS>6iFp4g^Nrx11&SO%F+mg z94jjI(AW0(Vw>Q>)$U?1yG~`Y+dIiF_iYYBLcB}Qw z-D|w;N*tsEX;-quEO5p5TGMXQ@N*r4RU~_q;lJK1Jg1qIhv|mDW7lVxZu&cRec)UM zyIB1%E6l%?FP^uWev;r#7@MQOdz)#-v4jKQ4O6 z6b%LsHV>5at(-ipysA2|I4zKtUONyB#Ao7<-~@xef;X(9bo?|plC0zK>zZJ2KUf1R zDyNTEwHk5O&tS!>E6c`DSF{>~RX>Cv(^`mpg26xwZ_j^uoBz|-d;@8|u8;ZS!1G9~ z7FZsM)d0&ov1Zb96Cclwz0EiDH6M}Yvwh5Gf#;D}*xPdpU(fl{v+m2A)S^g;^g0`29-~nOmd7eI3oK6< zE(FsBhKtbc3B!CDP~6+=rG8!)xO-jb=k!cadH46SkZ`kGcIa)7#ulZ}&6(wlw_)#5@w(;pg=ocdzgIdHqOw z-RWogV|UY^_?iAyn*PNp=GgoF1fEB-KZ502j=|s$V0p|+EVzG3&xd?G|L$%6H(&F| zwY0XDHCs9+x+Af4@H`R=f#s1{04(ps8cWX&d_33lHebird{~-q?qj|wcpiy0@$$^K zNSZX?%Ex@BuZ?_ZL-(2k#>Mz`k`r=JX{kGI#8{Ji#e_d3AO>uJ*KsSxuRjbUJU%!DCedBQLXOcxkp==OwR zoDAqpZ?C8Oc|FJ7>$!ejr%1155c7bc6f9R5=)zm>?scl4*ICl*3_sJA?xw5!OkW~R zUj#9agy#Brz0}?7Wqw{4Nw4$$Okd${da*xi8FM@UQ z>`9Z#D*IK;o`Gi=A?wLUgg?W0LGqPn7*YNVBN%!E%)}y(=Yok#+$S>Ve?dyAc}LJY z!Se|EeXu-&eiy9aq(%&N`|FuleyO9tH%QeI=(9K0mFL}X2+=LEdsV%{{7{G`Y* zT=~+y?&CfWJP*vGV0lEQNzd+)WlO$WWGBeTIzrA1nD*d#MAi;0kH`vqJ@=HJd-!zTNBOuP37!Y8r-J2y>oDorJ+dK^pA=az zG!{&+S#q8X`W#4k6~o!!c|>-m^z0tl>5`um8D`0J>3*t@`zhdgU^WRXkH{uU&+d^; zko=^`f}t5;dSNzK20a^6UYJ#Z=MmW~>DfK93dv83447Rm-CyeC{vY6ZV0IB$u94AB zZyuOli7%0!7x{Qz;B6k!-ym&V>to{@@I0cw%G-P}bR(Ev(cdmT-{RwWnYVdFze?Iz z0XdHdmwTBA2JZw*TwpJ?Yr*on z{H~FFmw-2b=@RfpbbAK8Ne28h#5|&U%FpYw?p`{<@rc1yF(Cry;Ak*4|9)_4lREMNj zcNl+{e3z(#nXXZV(CryjBNWw`ahuWWZsF zc|_GhdUc1fndG}fl?|p#R5|GOjEc#q3LxeIV_UF10@lIugE3F?T>@?orc1yb(Cry; zu?)C7#5|(vD!sbHc!K1+M0FyVE>ZPFw`WvCWK@G7<^kgXusj0p2bLd($ch5uv5{Z};=MQhHtPXZjv@)2sYUKPyc?;}ml|do#fENcKsvTt_b$d>kxMZb~`P z%;FD&wn@)heLQb*GcT5s=iJN_i<^I2nt#K`{0{Iu5_{Fnvsf2icJnL~`$&4;>Ero* zZ}ac^n*Umw|I)|&7vOm$w#(b|XVP=R>TEu$`b6^GMs&Z7>?g=6i-Mz;egw}WvLC?m zsHN|uXZOgyk$ktv{*;mZ?&iG)f3EqPxAz0y)`OwLV7e@ff1z8!zE6dsdr)PQQ z90JQ@{scp{!F2I@9J)QdHkDp8Am%X$jll94ga%-F2Gk5pmw=k1+cO|d2Gq*iYo?#q zh`ZOQpVyAkD}$H^4258Mz>p7?-(|For}c|=tty}Hkk zZj$d3)k$EwMAaMJo>2{#Q4N8Z2aJQk@(6e!Sbi|}mwcCiPX*H@;1THd4EQV=@aYiq zh-!@V>JDQ}@?D}j8%&p|#-ZCYs@<)urQowx4l&27`3ZO)5Pt+#QZjw{lJ+539-lko zA=J0h^By11UwWJW!q@x(Y5r#)^ZUT_NNlgS=kI+zAC{i~@bP@m+x)M-=4)qLBUU5Z zd&JVf^GGZRmdA)4@%7wDdam!|xvsbQl)CCicKvwX~l zeQmUrHd_1G$OX?M#E7r?_R@TzkNJFG8{MUiE3r1@eW^F_Wk21*6NWM{U0|4mZci90WI)rry-xM>I@8_jEI+T8NUs+`%maqGV0pkW2P{t*E(OyC zhRe|H3BzI;&_Zvo^ZmRoarb(qpVynD*XtqX0mHRmxxzpXE0(!?z1h#}UDE6Aex{eZ zo4(u6^crb;HN-p;y4TO^gYI6}`gwg!dR^~ldV{;^jee$|m8PG8m`6f}pV!UqUZ3;x zx=niB>SubpyXlwxOz)PaKXZyX_kQ4cB>NFquH_gEeh8Mwtfal4^t{K%^OxS{zwkAG zK$`#A$NWC@qa~*YVqp7r!;bWtbcZdyq&1XvU_-4AghC2{w=4&HQ+K70E0U7r!gF)=? zy=prcY7M5#6-P(6=M|@e45*#A*8)GU9o@Zl^7GnDdM$>SN5K?<r$NjEh7n-7!ax_^G45W+`guJ^dOgd} z^ttY)OZ-fiOVg7e=8@1uKd)2Wy`JyqwNiSm@H1WIZo1mf^wZMxlTI+U-fqXvNZ4Rew*Ycxetck0@Dkak7Z;ZLdpx655V&n&G*3a!0a8c zk{%I@(E=u4O3%A}Jb&(O{!?G`zew}@e9Z3!&m*z#y*+;`J-d&_*OKot8vDWY8jZhX z(1#%9H5$Kz=K=X|(zAPH2P8i!G7L#w&Dzk^*1X-<1kVGrbg(=k3xVY~wF8o$6j?A- z4@@u2n#rJ>K*|fV#^8BG)=+wO$E?2OCq)L#T1)p)ANLw~9++i=E@I1mU1j{q*d@%jOZX@|gVFT^nGPa(O^NOt)JdfCl z!19c(oAm8o30)-LEw;fjwgHgyime}b9+l7+EZ4AUTXPDSUL!VAdLHiMd8oH}AbX~? zG1kY%Xz)CuALVU67&;3~ujt21&*%Dh9_MWy(a(@J&iAoV4xUH!lfBFbgJod(Rcxu` zCsjo-Q~{<};up%G=RnG~PoUc~s;x4r=ON|+<7Tit z0^S6cAB@jPzDvL_g6R_QOX&6t_$?Xm>k#vZ>NV-r9mZEA-zBQI!E}l09dvs}wM$0z zDa1Tr{1_~cfd2)SAB;OC-zDJPV7dhS1-d;0-YWzC4q_freIvcP!?;KCU84FCOqZzk zq1!X6Lo%v^5c7!YSLxL~s{NAh64jqzx6^(!q3zstvk5qv|fB>H;y3Ino&{ zkAORZ<+%rJ52hc+?IhnNn<6k>vgv_t&uj+DZ2CdWBjmndd4}8@OuvwONxnRJYc{l-jk$Xr?dSDu>Gcdh)8pJtpW|nGvNSyrVjc-i@bfyw z-D|m@*O}7mbU)Lx+)Y>dnZ8<@Ug8vUJny;!Jdb1-g5^4T!QgzbM7b&DMBg#upExX& zo^SB+e4V%XrM~7@Nb`63n7;!&kHl{C_I!)4=QYyvY9G({dYiw;*ZgDB{CdcF1doH1 zy+&oNxAkCX1DGz8d?UI&C;28B(9_;tpYrqith?9EeqLXdUbjQc1BREt@+i)&V0jd0 zF!UOjE->sswaNtsIEj*IC(a7 zeKZ^U*R-@7L>s!%Y;U4Al$O3s(CIhxmiD<9~~ODg##kva0Ix8RO~1URU+Yoid7z$^3FuKdnB(z6w$U=FY4vnKOQxa=2yvbgHHdkg7ZcAg&01k+aeG4JzY0)vcPYl1b*b=#rhmwffX5Xmc%$)Dz&Bn_Mhx&CF-%BPoCmsKjF z;%7EJ$Vzo(`Haa5OZVc7DpqI64S&q;11E}oP1@)+s)9x>* z%PakX0vzXz%3oW+D?jv**{-8Dloone(CO>V_7Ssv6m5v#>D^fnm{fuKFPSjD3favl z3(TXll5oaqKnn(MF9=l8`Oqbk#+TwqYAVk(^X%2&tpx$-l$VxNkDuT;LHc~0_a6-2 zToAZmN_pv&lIjV(tfk&f1%cA?8Ivj$p#H)042JG52+V@`%xVrWJ$=Jj)%$6_g;o>< z%9Ys>46Q5(RF_SkY4>H&d;!=`aja-|KjE9(Mz1(vW3#le$=Aj+KKK|u_P4-3joS-i zJVIN|_C>ROiMN!)bAV*__-Wcfr`#TMI@O7{F zf}sx!0@KQ7*dvbzw>t|0Gpa6}KA~b-mC|274P*JE#OZr4leI#>79i}BiKQi_Qz|Q_ zV^N<`ikVO|P%k|YpM!e-tsqz{w6B1YAgO7y6`976xd1Xhk<1_5(D($A_&xZ`DiE6s zu|p*GmnD|qPZc~ug8QY<1WC*50h0PtNWra#)M1i3D5YHE|D9xhwt#SmSTOuj5Co#3 zLa`dvDHN+w-9oV%)hiUMQ3HG-ovOPbZ>cN-g`RUhtI9Zk9uwTQd3*?)rBb}`$oX4}ndyPIv1+4hj}Mi6hsw2I2A znd4EKav_c{;rj9AK~2!`^=)byFoWp**G!B|1-*T4u5Li*x@)xR*%*SUV5 zjGifW0M)@@pTa;)2?;$Xp@&aIx$5_{qL4ksg>-G1VMbxj{dE)t{T+cZJc6{e)6E(? z!>qA0Ip8#aqmm*UnH1TnNs$dpifl+>Up0*4(BE1aBfl#<6PrA%P+o(F7ffQo@SQy95a#&&|*4;=9=_{)S_H3 z5_H*KJ=lx&PT(^aquO7LOZQSuweC{B$hW zlgEwhKXBaCnPro!DtnajHw^9EZe7NWDw|e@?GNv3KXc-Qz%M`JeB@e9o5r;pwFTO> z+97Ry_O!N1+pImOJ+Hl>y`*i^wrj6wuWCEA*R?mbceHo4_q7kTkG0RV&$Zp! z7uuKF*V?z*UTvTDv$kLR4LSa)9oGKRj%ab@I6txo87@YKS0clu$neIQ z?vAXCtcu(hxj(WdvNp0VvOe-i{-oCt_@_x?SpLZbd z*Sz2I4(9!lcPQ_0-d}m~)|a=Q*Sck(S$qI?Ar1S`EN@>vaoUvh;E^L3gFv52W#g;c zckFl_wwa=*{lv<$(&{;77$WRFArrim-a7uZFD;*zH)%5O3*j{__>+TA1ecjSjrXVF z72mPT;)L?TWy)vpo^&p=p|-;2Z@Em_T>icWmsxedRi^4f-d&T+^eT0gL1ELsTKGRL zX#Mdv-o;-ih7Ls?duYnPPF=fp@6@G7_m16^PQ2~Zv17Mx=3T%SOrJ}T}cSJ*5NxPt~s`6uN}?1@FDUTUET;jNT2@h9%OCj$YT zGVk~&<;*c4W}mYIf$BFMVzxbV9Eke^9B(XiCPMZADWh^NpH@~`9PKC9F>N4vsr(`Y3KG6r%j7$$0IUUec{ZqiRIG* zY|=5Uqf-&?_?hMHO9O0TMOA>ERUTlc2TlmE5tH$MHU6K_Ilu;u4zK}(!5-cpL=695 z7+?d-t4B9#XsWuO)s5!VM!HFo2fbRyD~zJ&zBX(_cJpmPDSa zP_KQ$p!s`yESdRX#i!A)9xrcjBL28m$u#&(c4W!4f!{Qh`sd=bDpG0NavAOFmBqQ$yu>P9*{hA}QmdMg3`Zg0xQf)S((&>KD1CdQ8U)F0ErSg{cB-lV+Cubd9%dUT zuE&TQ8uoa>cZc-S$vhuRIKc3o$@;ICbfTABs_ z^-eX_A1U5Qie0+k<==`T`P+meb^w23X?2IvO{COg2wn)XT{LEnY0EC$IBNhnDJ%^ll+N?Nq#6fa=Op z^mgGGh&hvzW_3R(-AYQ$&%nz%47fGZwzLX1*sm(7zDVshQoG?yyewk2+777I!Y>k~ zFBN=JyPeePW8)PsX>Y6TgxW5ymWVy++(A13z#crlrkkk)ICf?uLPaMrz&lCnw+g(> z>u!%2X&Lwd17>v+8bjdgF4CHL30_X?Wl!pbIl%^7RV_I$&xFo$9v^na@tP-@v&DeI z8#w{##UXz;$)9`~UKT>WwYip(kB_*Iq`=0)$qG^$630tUZ^g;as)h;yC9{%r-n<+y z2ccul$Q$6O4!&YGr^>?H_Brs^FIrSv=v?@FZV#J!S+U>;2B!5!E{Gr>cUHa+)qlQuENV#!WCcXDa5Pr;q9EN#G;)59egV{ z5bw1DFTako%WqyJ*x+tOM}?5I){xfoEAjHiY4&f~12TA3Qd+>6~ zs6e1G*1_Q2kRRDLK#x&M#!tW&Ixw$RjR5||Uxvajq>#S>FZx-5K=G7D!65Ff8pKS6 ziTJ>@vf@IA%3e}=XCq#2g-X;?d9jV@V;Z(ACHM$rMz#E)sRrF9$J=B8y(r$i^f11b6RvPg>mjke!$%Io_-b_nHw$Xih|?jU)x^gFJFphYJ^%FS z6*KH5j-H3r!A>O*?+sIH0af}u3~_?A7&|Fi0?~&cS~u{R&c}&AH!hi2hC7NmWtH^t zCALgJuWlf{aTPxIE~yR#a_a`}719%N=TSC^Za*+q({TR@>28otuiH9+;hRApy(|vZ z;bU+CT&?4-1~wmf3T4Q1PTz^eGa<-Hyuf6Tl+VLlb7|`#{YDHJi26$3g3V2Wn%uF_ zCw&5n9H_1*C>COYN)#9CfRr5w*+;mWJ*_zw{N}G@`ee%Lb1>@$_P3tOv6()zvaG7A zgq}y^l8S`u1|AfMOdnr)epzJ+{^adMjz%$|aYo}n35?C4&oKoUQ(*2;}8eNP=-GWz6U2 zZ9QZ}ztICm^V)hy#9Kxqhua|vs@Zv*#E_zS~*dUxvG+j&bM76S8*piiG3 zeR|NJ&k3c~)*^x2^rGCr1*KKh73a&es}a=(9_|Ceeff-;v#Xu;)0e|}zZe2~u2C@q zL6-0b#ew)QJg<9N4;egW;6O9izj)vBWB}41cY#oDqwNXP8U{8Ztn`&GRU$7l67=B^ zf1GD=tC*mt4DUOL>bX9ain@V)C=$d?lT#GPV?4g^L`M9!pNdD+)z_T2+L}%?@r1<* z$0<}mTRf+|42mYn69_68z+ZqqhM_Yrf?i|S5hYtb10QsjPb`@^9?vPtuojfezygO) z55 z6gPWa>oKRCI=YA#>_&l+SfKbKkL9QmhEL-K^OY{9ajZ`i6ExSreTgl$_S z{bBDA>~(`eFc3oeM|2}=J!CN#T=PaiLSGBQPxE*m5i!o5Sv7w8OtBoscyz0i3O0Qs z_RtBI%{{*~+y#c8;f5c!rVAG3sxo}6Ou3!OO+PCWcbh3CZTM35{}J~l@KF@$|Nl$~ z_Ze6qnS`V#ghm3zeFQup2Et7+9qs!>1z6;EVAK?Ft7^#qSr5p`AY zzzf&KTVWAzQScV|f1axD>gq{%ul@b)>-G2ba%!G>>bc%keN4}!uue;u$r?-}CUaKR zba=?)9@dCeoL^j=PdCz!aAa92i^@vp&_4w({*m0~ks~4yohhvIpQPNG``Il9)RZl% zm|ki}o*GF{Q%`N=nC%C>d3Ro2xe|4H;Fk0$PAbZx~2 zvUCPL@3YUH>Cit(bMqBGf+rBPK3hwIG&T5h94vvHl=I7Hl~vQJFy1`UF=ZMab5@k$ zZeD91DHe2V_^-RH1G9{$eB3%aPgBp%&-1i53L}97<<^LcWjXAU_xT>LrOq0oBlant z+l^hu3?Dsy!~|n>(S%53Ve`m33yHY$Kf&XzwfeyAadaea@i@2HA5ooSi7pU3d60jD zenHW=qT*6xVtxS~rSx@h^T;kSYu0?pDb;!X2WiSimy8-wY#-W9c>m;-YI!%1{Hgyj zQtD(vQ}Hy<6pKK$>tVAPQsWoN|H*V-SDn0 z9>Ea&-fUdEl{T^Q$iFs$o?&kATxK!YG$ zH1uCP7P6l^vL8FLqaE4z9Ysa_NumB;#~qjF*WxK2rr7+sNEm@)A z{W8rwiuc#j`z4zBJ>FkO?=RIrX9w|!)OCRMxZcYz>pThnkIRS0A-_>J{g4JP1yblz zhKf=KS*4I@=t-%CERxFp=*WJz>lg+FN)&aZQ5}&~Sw}x4-6ArHYBB#1Wl$~V@1hK< zMdaHc75V1F70(w^=zJ%@7(PZ&o@hxl^p?oCc`9p~${MG#hN%|%BIxu_RrJlBl+C88 z4*JG;Z=-LB_kRX`D=K9oLhw=`g)ZeB7{kY8DgiBthTa~fv`b|vsjRhKM=2C2Q9<9% zsY6AdBFfon%4P;~vsZmgu1juKGBYvH&4?DUd>!auJN-VrNdi`W#UPN1rXqaL{+7d@q43o-d@(`CbWQ_*g=Dq9xJL`yk(5sf?wv z?smRcLE%11dpY@<42gj|KTNwj3G1Wj40EX#sms7|-4ExL=%mX}T{sQ{?c=sDRd6+& z^9mq^uHf%5hL7tgbF?HH`XE#=AeHsA(_f2TclraI^i|ybLS>&v*{_3do;{?{*>8a{ zd~Bes(UOQO3$i~Ym7SEzhS&w%35EMmJ;f=&JW1g{Bvb|YRKZiHJe8elr~e3g-RTc^(pUMP8Y=sdl>MXd&9jFTI{W8g3?DlvYqTU9dJ(c8 zpUTFjve9+{FF@fwUdKBHm}3?GqeE3Nkt)~)=ez<)p(}V3#_;hnWsa6aL!X2Sj8t}- zo&H|*y3;qD^i}?+h01<1W&aj@^Xwso&i-Qh~ zFj8NdfMuD3MO`nJ4^HJ`4=S1DYneBdEa=RolFAaIqM?sdffSlbPZ-08j)tg^Xz161 z%Boa$RVrI)gXty4(JulqtPdJDm{lmmUN1K&VESUDetoL@+i$SM~rT~o_ z%UV$pUoRUJEWe>X^JY{Do%xVt^dK>sjXur@QfNjC zVGJMh&=4aM4gEoIY{S`X%DamOEarztjI44M7UA4+O0sk3M2Jh36OR>kkqwg`S|l|>1uMm+ndoU=*(S`(F?@r8uW2SkU}%M1;+5P z8V#)_5)J(gFnTSO?XfYf7lSs4=2kRrOs^?x=`97*MvT<=CY-I`axj^eAzw>-!mg#; z$opH~oHjvc?vs2_JW&Ax#7O=91V|q^kkqwg`S|l|=^=9dfj6UV(3$T`M(+`$?dao-Acbc1I*j3C7aC$j zqM`o)Mn_WFcd6{#RQ9zE>ka7iudK&Z{2}uZr(*LvYdz6J=5H-*OYo5SYrMCgbPfx6 z$owOf@)knyQXqvc*%6>^@KiPGB0tHG`9=HAG)S=GYFQN>Z zIrAq`hV!uM56X8xT=9G%h0ga|7{kY>lqXse4ZTTPA#0SzlG9jH8jGY^519``=SJTs zO+FVllhed42BA;Fd;1}C1n>RP_rvr3D83=EpYk_NLlQ?2h!+GYbU{)4r2u^VViiQ9 zp|?Rnt zi$p_DL%to;So<{A&dxUl3ipEP=;Uj*M`HH#&UQ}1_3zUniO)M@R6$!f=M_K-T|p-p z!$$|o94(24o`niJrLlB7{Y><_)9>V@ui{P*mAyvUXTdkm9#ZJ+yTcehI#bqYNyPJU zWUr^OoHUkg7tjL=_j=Kt0?ZtRe|D$}x={rT&UpopLRT;Z#_-XPGDl0Iq4z`uJJHY&9jFTI{Ps&hL2MzYqTWdX*seVkjDC@u|9SIW5u{} zq8X3IeU%&_W`I9G8ItBaZ<~OT`rtJ8+8g53Zd!)?R-&I%yx9lu6Q8#gk+UIb;8p*5 z+eGNh!D;sMwmc$p8u~aHNTJD0fiZkcLPKOoH1tzJW>^|K#l|vK3_3?NrD)t(hKY*! z=iw0wmUA&uAD)0^go8z05|$5s20X=sN*VbY;Z0>4bmnkLrGTiEqmNU86q-sEjNxM@ z8lpm?p-%*r32AIx8XIGSnJ>mI5KT22H<$@1#QsQZC}3(ZQZG((A1j6f#S}rw!=ioFIkfbQg@_V-p(UM53Y32d8;9 zq^)Aa-J-b%jT_QDW$Dx?kp6*@dUXP%8V8cPbSxi#p3%MJyvCc+ebAZJlFGinPQ*de|!oOL3l~~Z9ZgLio{tJu7bz7C+$MIj8od|0<>5Yb9kZ9=d1ID{)Y+o9C zJB_`S#@A#fY`UxbT;`3k(AJeD` zv?Ln(Z>T0I#v(EHM;iOxE@d7K?bmW?yGUys5u&0VR8dk)K5tMfilBQ5eKU?nB!8q~ zsZZhs{f_#-Yk_XNh~yXo&xdnf1fG#BBu~w9W9|erD1nCJ)+1==MKo-7E8I#53E*5)W6=BUfe$ zQCNkcoC2iK6mEereB6MBD3ECA>7bAnV;y6xeT=oU5v+#}fRs5*bLv;;u%jrS&tZE} zKA*&PqJC!*GbsHHaLdz&6gvHTVGJLeDQ&bQ;uAm8*JCUv#19b-LXtVfLH z+GRWg9g0*YqPLQNPbL2zPX2UFI4%yR+{EnrQTETmE6*NM=KYp4nfZXk%uk}s-+)t|Ii%2;e*|Orc$+dtOQNBVMCK!6 ztRTknV{E9M{KwF_4}cNg$rm`uoB7JJ8Jd{>C`$hmxaH|X3Z4F87{kY>lr~xt4ZQ^E z7suGd7@H7d<6>-#UBP!y>yu;p7WLMn*eSxChz#k&5uL>*h${GRT*oeR2Uz_Ug9{492+GKr^)`kk}bxs*QrjV@0gQt0$Gk$wkC8@@<1^f^d>c8tx6 zu^BNoJ;tWl6~v*|=f(7A)k&P~6k*OnhV~@R5LNI=obF8GG*QH#n#3-MXU?lPiK0hN z;#{JjV<@KpDKv%tFouurXov!d`1KViER3<57+VlyRW^bF&;gJ#i3^?j)k&-o*?!%$bFH5+SxY$YG z{2Ow!r|&|MKTRLMYp27@s?TTc=sce!zJ-yuxuX!$ysX{~iXJ(GmlA@}7|Ibq3XNbA zjNxMf8bUy#p)Uu5%VTV*UH@eCf{U2DUUVyXxl_D4cT1hQ6F06aD8bWV&J%G5M zhL0(f7+Mky{W>IgO^jU~V^`WaRzRWOkZ_1yBWyhL4LVF|;Ha`X(f}F~&B;*e!OBmy2;%h-Nt&IzpTu?QXQDh<=25N6h&WVFgC& zx5sdACCckdOYjb-Jkv6ygV5aI)Mws;_qcuM=M4L?-b!+IM+`{ne~EAhrfsf6{j(?O&j9+nS&`FYHP z%0uL9r#F>t(3ww3Dm#eEcJy&7kU~>=2FCDVq9H0I8v0A1vOC6Jh_UBvFwcr{{}j!0 zXxw0SD`560V4lZF{gs5Zv&S2Z<%5HHL0LM_c|dxB{O<9FvvJV1R-0j_GMzO~ zXHC;t<8J<;go}sdP=(cZn&+($+QglYHAKAcre95HBILa zrudVY#^_JHv~?lJZM{M1(3vR`R2u@-6@45Oq|l)H!x%n#pdnBs8hQpm#nM@7I_qFl z8X(3E6wM$sZb~sxAYV;c3Z*=Z)H4$(WjU18leXo9LrPU3b?|^RnEYmWLmC2|nJFQ4 zB1k8qk3)hK8q#PO!^bc*1c^jL?*T};>Fk7brl+$Uo6{IEbgXE`p>cD{MJ@KZsh7fO zJVxq0)7{tqUJfVIGUTi21Oc0a(iKoS9-tGeIO++6D1t~PBsW66* zNoWWZiH1HHpa!M00qLxtP3aslu2eMVqH$9iBnsrK=_G|x8Aj?SCQv%bp`@-R%Lj)v zK!McH1JX3|dy+S#a_GzxC8Qw)X*&8iBuJqlRl^uQD$x)m5)FMcAdO6CBhpzxI?J~? z)rg_BqFIQ>&1ocRu~*YLh0_IOU_Eago9=%8KhD8rTK0TVjS$Q^uL6Zvz6You0t#42PMz#4J}FS#i4j&SWA++uxbkpI26M?}FGF z-o$Rg5c70NY%&pBgFa3SQfOjZC?>vIKtsex#IH86&??edc{(dgXQk7ra?j8y<+nd`zpff8a zw^_vPUi5KpkV12N0><$15E|k}qMMFB*@Ksi=aGI~YpXb5sX^L@yH?wD;GZ#x{=M%GM(Z`uV3eD_a zFous;(GW8d@pp<~R+r8$wrRaB2K`$!`_Q;))u9Uebhb>P^$terOViyCua-HqOv{ij zv5N(A!Zpr5`rai6%e+y%2c5Z8qF6#G-bWut0Vy3e+kJ%AFh;2 z<#o`x=ioIbWpj@*2QNFgojG{X>GYTb8mIov%9~W#dPL-vK?+^jKVS?Ww^K!ENyOiX zp|XAH?Co^+mR;7pP@rOECiXdHsWb7mD1cvg-*VoInRt)#y$`Ntfv4iqN zOQNA4LcRyn*@1NSNjm!|oqb?uy&G!xWE^y|HV+^@x^U6~@rlFT{7Bp)&>``G)9o=G z{M%#xL$uGRu$K{y7X~SGVei5iK3=DS(2{8AM^M;z>FnEd_H{b@GM#;H7xo_1?!vxP z3j0}#h2^Gm0&&z)|M!V=fnQ7Z34#N_2c3SHipFourv7w0F(`sv zmN6!Z#*HO8gNgwb{J^_uhVxi52_y9;8E!01Gdv$lT0S_HB;k+VODYY>SJMm}?DfAq zN`}sCl3_oJY@C5CXFP;&0wSrc(w>x3Qcc26Yn+{+ZSUES*FZe7$5VSnw|sM)Y_BmTU)$ zdZxF0@b!}JL8S-z%J!zhpflr=ibhm=qK{L76q?E@Four-Xow1lhTaQQSO)8!!MbIz zt~Q&YV(2i@wCwrH>F#hbyJa{} zu)8|_auto@{>8(NzTVhIV~E*DV(U%V#-NX5gA^Lu=@c_sSA>SJk!a{A0o#xamY2Z> z+RV-n9Mk;qOaWaa4N$RLGAwt!+r>t>-LWF#8;I3OF7!A51U!VEUtrdBP6)`+GSjhosS zlw_~8B8A#QjMOJ&;PS65u_6bTX&Le*Hp<~*7Am}kJN#T(L<(3xjTNM{kGtI)?GK?(zD5N#_<8-1Xm9ZU!k z-}giRq*EdLs1y636ML@{d#96i53mGd^k+MXB{7W7Iv;hC7jpB1PGT+5&Fp)4{|w#O z?$FG4@ZSC-_@GU0_jf}0r3k@GffTxwYegx1%M$n^5q~s*QVw-u2RpF?b{*GI9iLcr z45vB{Id!O$c2JZ-wU`G)8P1=-e?j?PZ|4gsbiTAF2z=Z`d7>rJ(2pYD?>n)>o!B>> z*jIMSd{dA;D*Er8l+DA)&HfzmjmVj!|4QV%e95K3`wRa-rQBwh0x5JU)&?GTTBVR^ z=)a?sUpuj%JFy?_Iv#)mC5k1)(f{hyp`!m;l)=&eD9UiqAESI}3lP3kAcfBNX&A%D zqm(CF5)Hj^W+7{s$r@y`XeK*ur~C|b`aTtX!%Sz@H^_9*NAccX^~e7t`X-qO|13iA zQXqvcu|;Mg%mp9_hAelw9^RXOQNBtBHs>~>@S(Dt)1@&P`HoM4o<%2Uj%o40cz_c zT>puqwIMiqPr=ez<)p)2?t#_&OVk5C098hR!w$jD?dJN+-v>rOwzNngbs3zdBq zW&b67^Xwso&i*GD!w28(1TBe%-WAz*$z+`~S==t*XDYyTsCID*Fgq*!8PBpNzH1>G}QH#>c71)7k4cPD+7f45NC_oVD;!xEl7q|n*Z zULo+&in2z_w+_(C!K?lwk3rCxBQxzs9)(0E4}F{rq|jsvU<@B8p&>FPVtWaYnUKlG z*;s~)K_f&{h{la&f~aVD?_CkU~?L0%Q0nK|@qXH1u*%Da&M~nQW>J=D+PmQiek8&ssASFnl+XicI&Z zc7_ASv<&%rDHU`%nW-LR_;w^SyvgwGNGc?m=|ra7CIcxn8Ec!7N{bAMhCUBu=47(j zHWpm?2t(=z1iWwD^k$t?09L)(k!mw1!85<2r@N#-IVa~1kH8AzeY(EcOv z;ogqq3XoZr$(Gny{@ZpW%S1(dy{uHQ@a;%eBw$(TU{TkL<%3gM;z8vWqO#JP3g3KW zg`~2asL0JnAcdx~RZy`vA0g4uZvd6+GTAjY6=mZQ#G_qB+>7NpRADccn-nU1i;&d` zXWg3|DyC(~7t1vQEnx}1kG8K)w8@BmlQ$>YY{XnGIo(K{9zY*oJ&;0kvNj;u4j*(} zi490@0jG5~r2n@2$U0@|+^Rt0yN_&0fOM+^NnJXYk3Y|dZ$5IXHzU6J$Og%1Ju#A- zk3b5|=oP?$kLN8$BpUi%V6-KZ-EL#Db|_J{A#tyzEy`NDN5S+uyySwug?cR(ILT7H1j2y@? zAw8$8r56=QO)yg5odD@Y2a>v$EFXVxn;Pwy^Ps%y@49U?w|Y*D(kRl&CyzJLJ@%&fGy!2F;v# zK$PJ;>HLE7&4VkRFQm}KEQo|1c?sp@6lg0ep!zIpbLLTA4O#_;i1${H<+ z_#p?fZ=1#1WU*Fu0ZXB9ua~w?0cIP8f2&Xxw5JM|!8xx0Qs@eY4 zAT^71u+ygn=qjz5t|o-Oph#40=Q~wB3;# zOAk>I|2*7B!SWbJ>b(=N^l`ALOTzNO&w#leR7~>K$D7LI(3!m@m0m>U3G{I)kU~@0 z1!MTwiH6n-iFmpUDnqhZUKSf@gV`;{y(pTO(73@2K_T`>;-LzdmoZX5CCh!R40XVm zmLXp+d4et{Gth&~E97jbH<>-qnWsoHCli@h(Z|U^3Qguc7{kX~Xow7n*m?`7@zWS@Dztl(Ia*Q~ zMO5~qk5hpZn##8@hL6wC5ET*)-2j!-vRIK##oG3X_H)9R@6ouaoQ5jw#WGo;as(sw zNeM^MWQU4r8S=$aB+&l%E1UiNDj`lkVm#*rDKw`@Ltgu@@IjnN zH1sLpbe0V%Dn=xUrU4o^q_dQzQ>s8p#z_5~1W2V0Bz5UnKK?wThUC1|n^7a^%yT58 zsl-TbECnevqqcAeAI;GaBN7dL78uRQV$*F*?ZlwJh^9RnH>MfNS~^d`)Bz*)*$GG3 zc@8GiGURJ%df2tpk-VSh%_$W+bGGDENu1Kq$JY|1(44x!7(TMl5GN81eE~RC*^qQG zqN`|5K;wo~rL3h|1yVPR)N2wT)jE*WwPgAD^J^)WoY#6YqHVOy8p)`d81+COX9OuU zqq#7Kk8(7`h(tp-!RXN}_HY*4mc<^-V)xs;=0UALk)wmFqCtE6q*C=v;!Y^qah9? z8v1+S@J<%{cNY6s7Tarcc!Y*}&E`7}3-jNo6c=B9-ust;LDMPzCW%kxUcthd%=f8? z$Kae70V#A5&r@djJ03Jt1c`?J9~7}ai+!BMKC~;K-EllC*zZ)JuE&o(3-~axfP+-P zOYqGLfE2obcPKGz9ZHF#B@usEj{**7v2U{2S6S?fEcTgQ#=B7KN3-PXDAD^Nj z3MAs+oC1a4ve++K?58aDgN=Z890DM5e&wf>-<541doG9}zT^K8c3jOef01xcVr#@RTWE=w2hk%ZvAKrK+h8cC04X$uOc=vQdo)CW zL_=>63hgwOqOsN*YiT3Mf)0R`No?oTuTEl$D4$PaYf(Nwm9!M~JCoRf(%0aYrw=J~ z`n_QcAG84wrB9-v=OF!TjcFRo)L4ebVj4@ei|B(9x~}QBS@Sr7u5Z~+9j1mP?SnB> z6v7Y23}+r=&f8Q`(w{mm2OzYm*PBw&Bd4?rF`-R^I1@;rnT&uje4L1en2>1beZZub z#+b&sYpk2by4pYrp$0KAtEUl-UJea)R+)goXSKUBtKF3MT?GzjhWk=ABN2jE11WSh zw1EwLoK97sCDG7NK{Y37Y>3A4G&WFU{q1V_wluD4PV%m1h*C|SQo%swegDL2hEg@O zyA7`fQs`08(fKv<(e>EJZ^TN}{0`0l|2UjkW8i zEos0-tjZEvmE)b_)m1sxnMZN2Igt{it!#LLkU}T87RK;#9VLdAL_cjevHjfsf5-2my(P zel8H4qp>M={r8|3T$DLF$0=T&qbZ4VR7MHXCNw-jNTCya9LDhR040W&L_?p81kcl0 zrN(AztU_bucBW52tyd)+P3Jkunw82-&2(nUtPp1d`h-`G?mv6+-idf-RlR8vJ#w1n z5e3?EhEsqPngZ<|10T<$Aqspe8GSJ*EYeu5#;P?o-$w8n#sH9V@m}QAuTEC2Gg)S} zax$DR>UU1<7f|}I+v!6Jo&EX3GJ^^9ts`so*{^@i&S?W}8TK43`yhthkuS&`Gb3?vW zO+WEhhfDD}$>Ylk+N;J~qS;?oTt=K|;~GBAkV13%f$9)@%g{8FXy{jg(@Kpkw;}x~ z2K^+OpV7D>trUgvhtJn2koZP27Nk`PkgjncsY}Fi#qR``doVgqIarLY@n*y~j9Dca zT}_PShB1&rGfEeKBu_iA5F-)|eG3@fuCYxT+o-V(HmM9Tw3BEu(YQ(7j*{%X6#khW=>5s-u=|NE-Ur&!Hlm=j={%``NM;uD(Lb7~t zNcSs{?)88)ko-R44QUW`=ED-wc7l|LJ`M>|Xh=mchL1ut1c^jL|0f_lqp_VD+o7>1 zY)%u!(9=XyjKKDy$&UHHCaA5q*oM3FL^+kMSk~sL#l+%d{aVtgCNaDABO}fG$hYm zoIVDm4>k6_#@^M~KARKm;)HM)isr9q+?+l{E%s_Upm4f`46L*GehtsMl?(j=2bXEt z^F{T(V9t5HtMJaUtIPMcw<|FA?ALG?GwVb6nz{Uq|n%Ip_upu1R7dfBpUkH z!1kraKG)bGn;Gqa1pNll+=|A{>`PH6Ut5P2X18Ia{;h_`$O6_`bYE~-fn^zTK%Xms z4tW6DM9vO-li3WN`K=`L4UwTumpBwtV@GW=4~cQx zM6(@@o6OG&nPUo>M=(lasMN}N9l%+}zJSiuC8RC{i8h|8&!XlW1qVRE2wDKCp|Cjeh4?% zL1kKod_naUyg94h3ag&V`yL+LXcH-Yus1i_S<1|l+y)Uh+GdJ#gA|%uYZ${vBQ(T~ zMEsp6xD~`%ew+=Bvy*LTZN$(N(a=^;ZfFIfUcSCYDbQ%|Cw*iBv{4Q;b$wYrIJ10( z(@^F8$sWvTV<~-?KyB(4sAubR+J5qE_P2GA%>C#KsHcgiCH7L;Ex7CEh4{L1!8g zMKPi1jXsV7QfL%IU<@Dq(GUs}4gD;jIK$>}q8M?KXii4s=5U6xYNje2Xlp2aN&<(e z4hMDBSUy}BX!|IAsy7DOQ_7qoF`P{pXoD$^0a9oT<6sOQwDlBWAkolg0K@b+n`V<3 zF9uBz4ejORCNW)E5tRywi5RKRio2iRRXQY0%aE^#X&x)$G;&bsjiMMjbCyIglTaAw z<0v47Mllt}@WHpJLQA5dR{_Obn*-l$Dq2@62A+$?&0(&xBB~V*w2PF!AdZKd;#OxW z-2_%E94tfEGN65>^lI@Il)*(J~+rn)Y& zoGpv9B{qaQ==96tqLOo|k`+oNS6EAde#WxQ!a-jd;OXXZ`pUpu;&giK3(3Eq%*P$b zkgKSsC5Xjqf)u)@YhVl?S5PfzNi_5uQPcHtc5R%kvJ1Kv3e+kJDyM?3cM4Ju)@w!T z{1m^+c`v>aSWWp}2Uk2_NTKuH0Au)AO?jdv(a>*2zU$-c<~Um$XKU<~Z-vf12kV`b z&6|-MouFwB);hSIIauR#ddxxMpLA@b$~GY)uMAS?%C^B6KJKB4(2|HhTSR4B;_UV~ z+hmuu9ST&e%)}O_EOjPscj%j&ocCfTwo<+i!xhgLQs{hNfiZkMM|q+p5r002eD9C5 zd*kdLJKsHG+^eE_4UPMJa6eMBuaw)B^TF#Fsc(zB7u|NJRMRr#=f!)S`pkQr_wuUw z207dAeV%v|I&+&mPdr3q_M(rIffSm|hcJeZf1@EXB;sEZ1DVI;>@ge5M`F;&qWJ`k z8_VOO3Vyq_Q^B$yBlV{eunqJg6KXUpu|2{0BPoDM@7qQ8|b{P6bkE zD&N5vK0Zf7R7k|XBnB$G{GC`AOq`p)W736p@6!dX0kV1p$OfjQ%F*F2*MEpDrVD`t^$8q*yoV{=3$q_@l zh(<@_#w9F18_ECqA|q(@#!66dzgWYW=>`?Qx|Lzb3-f zn!X6@LE#R0<73d7pGtfO313h2aeRsn5?Uk3D z?L56Y10(eY+3uB>ob5clvJGkF9dkIDzd87Rak@QLo^p?3KiQf>L6fsFGxh(pYbtbR zgKYcBR#G+!KL>prBBam|XTumirlBE-BpP}vKx~oCnq{*l+1B&F^TfD0qM3`vO|V5a zos}l>Q(KBcunHsfHVFh%9D?flvwhI|YnCm42-w7OjqX1Ou!dr$cmu43&TJzAwkCiJ z(Z>No3Ii|?#@&jdodK?!p|1e6E3(^rLDbS$WsNq&vp`l{bRYpicpf=?fUGJ21U`{<}x_{+H#&X_{MB=2~W_~1$AlRikYFQ4LjBaz53%7r9sQkY+BneZP@LByZJqE94^LuW|~`Z+;=LtmBc3MMOA z#Vc9;f2^cox7FDt$wkothJI~A@||r~*YXHAc}B?gW0h^QYS`^29wAR9SQH(MIl2L4 zPUKYnQICp)M@%{YkSJ(_$~Rgfp_9nKSpp~X6^O+Ub_Es|MTcRs3h@yOD{y@_yE&V! z&1P$?6*$sd?^=OdP{JsTAMJ$Sh^{fHj#T3e{kCj#jn@jijZ?kTlj?t2fg1s|+nsy` zjyLqp+2+m4DwGRjGY@dr|2e>2Jir7)za!gRD^|6rT`r6}c!aH<5&p}<;3aJ35hn5# zkQGflE}Ru0!txa$Dite0V3o(nY3?Z~<|_b`5oQIvggL9b8;cRm7BrYyE*g4D=R(%H zGi%w|I)mQ>t=Y0O{p&A0F8;dcvd;LGcIO?`)-9l$&DNdqo~JDaQmWcG{u?YPhP3Sr z@3iuHrjY(jrrD8J&$NxSE=uC5{w7lW$x4+(Lq8d*p4gcUwp0Bby?P!J!#{HusauH5 zc*e-)d(AwtGwn^yGcyO{J^p!98aFPVUWc4QDISA8PZ83eNzu-5Ai+Ez^NOYh4Z$SQ z(A#t=WUace7F{fui_vSg=puhaYQb#YMZjE4Fk5x8VTyrBbB6*mr3<`Y06#oaNMSNf zN-2tB!-r1DFcVuJo>0hc%oVBOm;Tx2jk(L0JcQe@OWQT+x_rq4@!rdq)X`lTE+|=f z8**{Y8gf%^H+pjd{>`jhzHs?@amdZN-PY#XT?2838r$vWTysq>-tjre$y=9;pxyjJ zT-t6FBEFQ}d->A6adA1?OE93h26cL2_f8^LNIpQ)R2L(ddW(IZd+PSFNt>NabpMw_?!Pm`9n z1rf*i4Y{=4M3l526T9>!3-e2aS$MSIb|V*K>$#8^>f*pKPSHD9ZKUIQ$(zHMe0ouI zGD<$((4X&G$nLaCKBFjlmVS4xd8c>bm$svc+E0t;;W&FCFSRCk$}$%y;5 zLwFJeW8PQBBbeWnRM-^rZbVthkAk{7%b2ezzL5K3VPVu%YZT5NE8|190@yjcWV{P| zJeC(lr=jF>L*I>(@3TstUKE|7KbULY_kSq4t+jgHB@0ioD3rV^KI8$EJe!w{cTUOU8$?g)m=%deTSi+ZHBLIYV`8k{s!LO2`4raOFEU?mdD8uW0Qda@edJ3Y zrv&&o2|Aw?hXlGGDcuhbaDQr`kBQR9_y8Ycq4P;`bfEjm(!CMj{ za}kZ60hQ0;7fm`B%HoQeg>z~nmq#N}Y^xWI)JBua(5;-^qBy(7#n}y~qS-Q`nf_5L zf})=19d%An)WtIDLJaenjT)$Y&O!^I^2KlglpYu^M7J-7B{HEp|EL!SMP2G0by-l< z>txhb80LfFDyV!gtc1!J!}U;lV7LL@z8G$i39a>yx+W;iu#my)SW?5UyxD%8RUAG zx9i6qW>)PhkX*k9tZ_)ZyMyM+8MZ zO-7x7VLr1l4l17`VGLBh7>c3vz+j-;7sC{p(3$>GPY;SZ)jR4rK~ZPPs1+FIgP|NM zPYiV7t@MsMJ1FV`8FgNe>uPV;H9@W~lCCerFrR`J2SvTuJL)AtQ7@NKmjt=K!rS%o zAlI)-*Dt$=xlZRVLg!QLE~q?bFB*Lws#6!vm{Cz(P_=L#o?#@}Pd?)O8OA@QUU`O* z&7WaJlU{=|ago<`h7y;!4`kBsVwAGxT}khQ&L`=&q4G)kEvUwqE%wg%O(=sZdR^*0 zD*6ygzly$)6&=DTzlsh*=acpUsC?7@1j?YaKa%=-X@hoh%)a6$#r$)NKvyrf27I3X zknR(xc8*4WmpUc%0z4Sw7tItIx>Z2v7SQ=jbThB4#1ph8Pz6D0B=t&W_Udd4rQcj; z$fVOS%5N?^LRXKM$gI7LoWQG295?NxzFuaSu5L2C9uPhUIv-})Q2Au0$;jTBWlFtQ zX8mMly)n)YOi$>1GV1}APiDD+kx!D52M0tRm(VzI3WB)=zO?NfXavKI2qYHvoTU%FSBUUWGMZPl5=I!Q!&bKF`NyZPiAMz$ljTq zF7@>?!%;FhB)eUoU-J6X4@& z=zOxj(%*eF=>{nMvR@}7uL+2}+TT60-z#5kV}H~6`TMsI;iTM4bKQqzLib~sPeS)X=dY>OEMz0;LCwJ?QpjaYSZy7{h!f?;EImFntA8 z(Byp~^&SZyh0-J8AJFZaa3tNn2R(*iK3V-Hqk3cfMe04Wil%#Jm4t5JtlG$|T4I4D-nLV`Nq%G0X?!2&jA#E`TZsW4_dTBs>;MkA%me+c)9KGT{;otCyAd@K`LPCSb&e z$B9y>WF$U3Mw3p5(j%iY(CwSiESXUShWQ{YhpJw(;*(n$RKB0WOQ8(nJ5}nHYU~f3 zl~8(AGaKE$)toP@sl_m#l&higO?f_)K`GCZdXJPBL+O$71?cuod5KK94#RvV;9{se ztD)P-rQT7O1x39|MqLr)`f6|2tAbqrUAkV4VLk=j5EON-chq%3QE!t`Hw3xfnGg9T+iN2=zNNO6e`czi$))YN-Q^JInj~D9|rA`k)I2Q{H&LIaVmM*%RQ;M z`!}Wg*8<${fzGF}m%Sp3^TLZ>k!4};$;kTxBERkL{;fdwpGo%z1Kb~g&Zn?X{3CxP zBPX1ltw&WKNWIsL9+jDWhjGeD!L^pYh0Z6luc7i;OJB;!-kE(a^=O{fEu9tm|sw{Jq4OsJE8)byaJaqpe-M(3kmsyR$ zFdvMgpz=w$5UL=I!=>IM;R#TBBwU1U--OSS37?K(K3PqYQN1x5Qty$~*-(09H3i+i zS?%v+p9((e7##ukG|0Pq}V&q{mIh(kO232fj$bQj{^TR^8H*yqeG$cSw_*Mkx+V^ z1V^FU_au0lOlX3C)Nw&ki@l>7K~bm6sAU-DGaIE)`5dfMq4LF00i_3q8R+)KP$d(Z z;~#Z)P}KR}Q5OV7y+}sA5W{>hEQZPl!y>4BFgT`!}q3v#`|+x4wMuD43pTQJP0pxc9@-t8Ur zo}j1?$*A`Sx!&gOdV7%Tr=;sAFwCbQGbrj#@2F1)McpN%J{RPAx3}vTgIw>Iu0L`Q zbKmu0*C5Mv26N3=6gr>6j{8OCw@59d`=$Zz8$;(g>)c0s>7#9c zk2d}(whDBgF5Tmo>FPP$MW92Vj~wYE?wfs+XHz;av@2Gu(qMj_H4#6;=1(OGr=VV8t1EKOc#G^^4K&qWOn!1f37FWT<>HOM)us(2hubz09IXEui#c)V`k3ks(G*#;Br5#Puq4WdVS60*u zqx^s}=zP-d4wY}(-JlFgyQ|dKOB=L@%G^%EIKSM6K}w!9%RpyJ|+kFD1pu=`(l6h(WJAW z^vk|XMm{GX@)Upf$bO#mabAFrO6YvDpXuj58m)jTXvLOGeZ5r?O{#*@ukZ_G(u*+4 zZ^6_;=ea7P(P|mld%ez=`g)mx*<~{PB^c+!WR)^8;o7HbJtDiB5=j%bo-`UEK@GRFrNt+ z50z&%bT?~wM=c48dbW&uMv&_%-ma$xxt=LqPscEyf~EyUo#h?1GAQbN8Fg-u>jmDf ztAku$C0(y@4|6^5x&k_%VwXYXIeXFQ5~##-Q_NH-e)6+dJyMpr{9B)cqLdgW+SSd@y_nRnR5jeW|Z^3`dhbh0+7lA$0p<`d%jd zEr$7I^|g%ZeW&oH)O%!g1WJ#rj-uN)tE6oEhU++n`CvQ-l~2OIK^27Y7peD1xIwmO z!pZ3NO}Mp8xCMs!WYr9+psbomy+>AUp!C3)f^OfeRw66xJezb~b|&s$8#K6Hv`IHu z?TyqXHAr49zE-odw%0M-|qNcWT zUK#D!>uG+edyL{^CchlDY|s*EUx`s87SFFPT~szl+1#>aGStb@G z7_{wdA7HIJd)=YpFZo(RA&OTrlYg3Xiga)y#tpBSQ#rS?wxU`YD*nu7FnOu1uADbh zQHj5xLmDago?m>hYSqOjjTTVUb8xbK*K!lS&!?5WHn#<>Bd`8m}Vb7LjJy*eMzNjyErE z-~R8_&uqP?d9$&157_l-yE~t1OnY;W9WrHNb=A!3vbl3HIa4MMFPt)ae#Ok1>cQpw z4MV$lVE-w_6>}=eYASeN&-v4*MUH%rEfO2I?^vhZpe@y|(T-^!$B%3OieDQ4EPh4& zNPI>7=lIp}KjII@{}W%5vpHv3&L=r5bGGDMm2)6xRnBKQ*XBHubA8T>IXC7!lXFwf z<2irN*_pF0=bfBea`xtI$hkjfW6m2nbvGiz1}W{dc<0)MOIlplVq=TVEe^N%uEo(7 zb=sxc5(HkRU7;=4Rv>|Ewd;_|YV9WN@7m4Ut=dNIHf@u(S-V5qqTQw4qy0m>PkT_? zu055{OS1f@fYJS z#rMYl75_NC9}qqRl%D})MfTO%FJgXI66b_;G-X z44Y9=R@<|8?`yG`L{HD@)fMHniz>hsD-2_z7t>qUe?7}9=j6co){SQiFONprwP+k6UG}nQ1V9z z9A`}cX&;M5Ba8jUS(8BHo-U6>dS|&4l>V%VpmBYX+u_UVj{{Oh>$P%DMfH&E0(lnF z3ei)eov=7>V7DpbE6b~^YN}?`YLhE#7M9J?jM|0ME32mT?cHb4l!B_ca~IC5ti52$ zCxbLM1ge?exf z_Ja8p(<|ph*o;4Q7Mxu^x2y)&ww~n?HodAQ!p^FUu+t;`BCKd8{;$RV)A~l($dU*f zF$(JO!yy>>|AGiBtgJ1XHoI`)JlKl&!^>*R@V+Ya`Pa^(YT9hrPxm}Gvx@5Ks_N>B z`Bl}mL*`clb8RH0u+y%u`$b>uPLqN|wq5JGIkTc~WBH^`Zi%x)YA&54QtKM>b46-* zF7*(7O?Y41!5zzoOo2PPT4*zrc{;yx-t?;TYqaw!Yip+T={==#UiqAb(<|_{XYZbU z2KDLJzi00$3(Ko(r<7OW{8L?9T2qU8EG@5^H=}Z9&smW+(QQM=9sPaCz`d(K|72Hr zwEWe!dH=g$=ksVh%!O^&Jp1f|*reBQoBhbg-Oe7^cF_NO7{~i>|8Di6> zAN{?@&EwnVW&h8J&8?VQKL3K!8eYa7Yi1O0PyYIY9h>#z>uy}Wx$R5;yFj2t_h~#% zYTte5Pi@m8`OF2kO!~`;@kZN$|L<`W_jeup>se=JxB6jo#d}?6XVtB5o0M{%Tw(lv zWd8IS_3uZNBe6|%{HwiczkKrGHy0eA^5{oz{bg;d6Y&pZl+K}lw!>Ow^HEOijM6Ic zPlw?Csv&+J6RB&DQ}j~2SsY2OyB6oi=qVkOS`AAyt|>2@=WV-;oct>iiFCK@3t;~% z>=(^A-wH|hjt!G(Tq=THPH+0+R5-cg?l#FuCw7d!*D>0vCH8c7ENV*KHdm0%y*P)~ z^@5>o_bKc&m)-mXJABO=sXGBzyt*bZw(Y)y-4DV})a4Ggf{fO5#7i-*b=+uJ$LLq7 z(N;~c7bKDtMu|D%+ulfB+cdm%Zyt%HQEisl9x|($S06`r;JA{^uGI1JDWugcjA<;mQ>z6!2=Y8E{D~wte1-h1u8uh}WOi*|ykN&_GHYPtzs_x@#v{WU$gqEZy!=Noqer=teRcJO(e_ zyEtoPdwR6h8>*4Ygv?fx*^aSzNyb7+x0V)}9pYy5>IEADtDDGb#{*-gkjCx0P0gV1mMjg+<%e|Oz`$&7XQ?%7l)kuv+ zW^2jp`ZMuzIdjbRz^pO;szAn4;gi`qGHZ$3-@4MCj@dq#eZtKW*^|x9Wb-%Nhu3W# zXxRYAzD#7O*d!)+3t9bCg_p|)IWtC9CVqs7qq-iAF^ILEtma>Ym(xym4(erD(N@o? zR`R@fCT#Ev3*?6zbtu+4BOYpJ`O3_+Co+juEfhGShd>SCMkM`7Hu`xRhW9>B_MZ_QSp^{ z`Ba4BXL?HUN<4sFRFk-9r@;oltclc}yb&)yPIQ*vW$|dMTNN7>Az9&vH<7w$Zo|uK zr#a^fvbrmd)nr}2WJMJ)xtmOG-h`LY#gRw~&V$igF@AGyq!J%4D(NnwqITi@2>qkB z_^<9u*sROOn{M0iqMwDAK@CQ=i8jUKmT$W?Y?>QwmK$xJ8*PyrZJ8Twl^bo1*Uxh! zczRhmy{xvPw5Ghe68Gb(KRiK<)Sdl2UT&vD`*HG@1ibB1qOC@Bk5pGoUs&#GcncYx z^)6o0N+Xf!!`eh6t&HxG8a%8i$4xfwT}tPd;cmSGpId5NA@NKzQrF=FyqK`8i$oDJ zijRq{W_FLvuc#Kb^()^%W;Y$c%hGf4@)DUL)1+^^CAGQ=miWw3R$Wm#qpBK#Ypjr( zpmr zG6SkJ?$J%%qg%R1n@7f{l$O#58-C+i zQ98d0_ngE$Qr8*_rg>ykpuS0Db?)42 z?#yZ=ahNCZf>84X$e*r8>XHz#dE_SHrMT#HjMW-NBFTGjm6RU`=gzH~=Un`10HIkj z9dtwC^&SnQFT=r~Fj^eda%d@r{sTjsN0L)&@TCP&=-ec-Cbw!~?fixH7$!xMn|F!e zGs(O;74xtUezPVN?|eA97fzZ)rk*h7)JcV<1;zOj#+D8rVE{{0n_Uuu6zUuV7X0~T z)zeF-mm^$VPmD7V5y=g@wKr3K@Tg_sU>(bOgH!__#U zwi*14C2J!L_wm|Rbs1AoG@=kEtR|7OMT!&i4WqPVRPiJwLkcoPWJoI=3(Q*Qck6hk}j)yjJoTn+Z=8==^y6B|it}72C zk|Hg<91Tcxlzc`?q!d}qqptwO?9W0T5Ar0B>9ZGA(&LJ<>guu!O6S)SwWpy@Uh9uW z7E53r;(l)HGUl{N`4dV?OHLgJ4?jcEJaS434@(QQwt3{5E@O%cN=B6M!|N2gw(_cq z8SdKJqPA!R|BU6(gntZk*w8*hhq^!citC;A!FSlO!NUgAzx0sQpotcbbWYCe967(d zrnc%lS$Hk-+Qt(eB@(EhlOmovRLm={!Ym;5QxLvMq_cCzm{>fbV6-v1Xo7OSXoDd! zXUOn^5@YmPBa{J+QU2Q8xfh@`bTs9Ygn`a{Vtvu~Pt7A=iemZWwhCMp#p(4k=#roHJ!Q&t z=uGhlPv<)aS~dB>scs=ZN!^bj(Fp$O)IYJ1tUFJ?mDC%DP~|*+hl6XBb-z(M57$6^ zv36PGW)b{XHyiOD6CpaEHjhk5v9FzU25pGJ__qq3H8j3pQfa~> zY86So-eYd8T%DPubIxN3+$54O{EZ)N7^5eQEFGR-lCLbvp2*_bE|W%2D9Pgo;ir-u z&5h*tAGm8CxsDI)gAY{kq)02TGflsGXPW!`vvtm%wS#l$X=o z7=s_@rJW-#0!IGi5vBPPhL_USK)Db!!1=JbSC#`4vuqx@)$hREQtt?B66q8smNPiUa1YaCaN$T|v@+Ofk&We~=Tr{%&tx8+W z%^Gn8<`);|(+BKF_=IJpEGjFVL;uXL_y;hXM^3d)vQ=|%w~FiHqKazz>N-+4iZ95I zyNoHtnX7dCh>}r7!_mE(`?K@ZuI{O7>HFT#`#ukUP;=^>I(5#sPFMHz%=FTIe(z*b3jOo6 zotM@>?o<-`~1QK|chJo^tFG3v+(Vk_~l*)qtneakZ^oj7qiojfv)6Mw6k zBrbvJGYy1F7m$q;ZCW0Sk3}X=#9RM#( zdBKF~6Hh&1@}v_dPde%NiBnFVHGMLU;3B+35Jxb+0|d`I-SgtH>Ur^1&S#_8&Tvx3 zW+OJVa|zK(~Mhzc6 z;ow6LQI7E{1b-*hw|KAM2Dpvmy2V{tadG+_&*o;g57|FUS=_HVd3g8N{2hl*{L7F= zS?RFPKSCH6Em)-&S`Hg8gU0%c%eQVwkCis(65xu}C|4dFk z3YV|;fZ-$Qp4d&4$1f4C{N*55FLGDkiK7x9LQIGfTUp$lMx=gy{XY$fs-Ze5E zRH86);NCD{`NuSWhk>nGS+UlMq9*)8C2)a$8s>fpk3{Q?8o*ae0$UfS(dbAlZWOz%w9)rJ0 zZyneMfBXENCN(`_a|Hj}=XmA+?ekr8J|2HO9uCLb)yI`A*zaxFmNslt8@92H$cTTgVSUzS$;EwU;xh-Vj`Mq) zd376_;4j2)XyR;X^I+ZlG+xh5JDc$OYIfe~J?=iMG`g@is1Ijfz== zVpgx%ML!%m>su9lV?Si4QL&G{0bYCP>*4jTpl?R0jKCB;6-cpD8IQs6F@{n=OQLP< zfmB)-vzEoIxtGTTD3GFpzO|o+ioT^tgQIUQ((uvmN%0;7S3F)wvE!YF!SHcB#fg?g z+e#ze@?ut2%u>ay*bDhI=&WB<^yPlYP8nkJsy-!R=2c%TV*bmj&rm9-V+x)Mq}ZvP zhr#eMi&8*KqHXPkRIFmwzL-^dd7KXgQdH1eejY0N_96|AzEY&&qt8;j7r+&d7gFqa zFT-H?sG~U1l4x7|BHn$987pQvFW$?c2p*;T`0+Xnfq^?eOmlv~)}ge+T$si+502}u z*jJLHFFttI5Ey#LZ5PVm3OMH(K#HBg-!K?HuA#`$l4x58AcJnjtg9FP&FBq=-^~wS z#oaYl^wkvoE%42whZH;d`!N_k7Esh^NyM22(H~gMdKR-9FM$W32p*~j`UyBa75+7` zGU!7YJP7AJ14ywmcnX8z<57wnEs3@@02%ZvW(RxWKaJjC`2GCwRsILZivAFa{vYto zqlXkb`d2X+K9*3_Xi2oK;fQ`{F&kXW4)qdv4T|9LI@C|V8LaR>G*$*9D1+s2&NF}% zJA?Nz7(U*l$kCE$TceSIUCa*i!v6rh!SHQAe3k!Uv7#SC(SHcvJbFm6qyGwn;bSF5 zjg~~)8jtA57PF&@*%4j>Ukkg{qFIB6wv$?XoRT;QAM7||#R|+z%uibri*bE(dwR%V zIQ#~d)-lDwV}GKbyEl+;T}S!JJ4fI(&enXV>Vm1r*;;Zou^7BIG)Z)!|GUzMO8rRp zEp*N?#jxbpPZNmDI`nZekYbbBh{5pj0~#VjqHRq9nG=fHWDm=)!f2CdHlqn*IYDGJ z58rjLPFApNfu(g)2+PSn7PTZ?AN&k7SwrPF@^!MF%J0xQCrK((iON>=aVn5vQ>lkf zXy9Wzd=M29ZR<=>nN`eY6tmMkF!hC91JTe|a)MxHArZP#pn5r50n-SU)>*~Dz3OZq zjN=aE^)f@yYX@WjZ22yM?B^V4Jtw{A{Uqhvwe9hHUsesOzBdOF8 zl{ES|6-cqE?2WVeru*mV}ozG#AAu0$eUyNw- z*A@r&*6VyQjysUo%jJSDCv&NWOjmMtou15o&^gyiGS?89Zs_A=AjKwg5C+3XcQizX zMBBO*WNt2IH+fk42&02V(-%z;%grJqUM~w2Ed5|<-5$cSz{jH2i|d0^xk*E%Klxgq zr!oLK=XOcuHllI}`ZyIxv8jy2VE7n}hNzHeTMvNBeZ}k^kBTjfMu}!Lnjn??kcC$) z4=Gf}z|vY6+I1iDsW|RHUM%+rw1g%4I@&us9ZudK(sMcjI%lEe^dNCM5`CN#q}ZG$ zVK97*LqnWMw5`X%=}`~Tal&G~gMMI28w5{jC=-FcSjECtAVRWWwW}^vWdRD2W zWeTRVU}-H4?a0e~OpZH{*U~d_Yw2wAzD&>Q9O#^-lG766bT0ZhCrGh5;S*BgbP*cj zM51lI3QjM3kmd`EOGR@TnjoZ?m0EgTfpj@6t>qy|ultbHT5^5tdM#Z+&R^Fvx)M5P zxn%SjF}ezUoDrnhjBdkV__zTLF(T2n-UFj|irESe6a6d&$_1ji15FUqJ4!8ms9?Gi zmevQM-TFfxlj9ELwX`B`E!{=lKh$%&8#?C$$?1LKbPxJCCrGh5(Kol@;{i0piA3A_ z6r5IikRBBlkBR1SG(ku!m0J2jf%F6{t{PzOVE9-`DWE0MwzeacKa1JcV)mPt z$JbCGMdfzepMDC(8@W#i8TD1RXZr&)o{h*g%ms9^%x8v-%^}tNwlqoB?DOf z5>`~g3QAa_#J$P90lFai`X%zdxKmUjE-?sw0bYAInG<+zM&A|p_mlX9z`M)es02a$ ziivnakYXo9-zS8Rt!_dj+ExoB)U1RxDPg;L*%Uy5M3n_-=4YcWKogM+Ux3|2GX4Uz zq<9PAipL8ncDyY_ybUQ%_#)A^N)T_G61GPPYwg9`5{h8KwDIG0_CR3X{m#~Y!1>o{ ziSYf-6lKr~&UprqVrS46gW+ROiX1J8wpD=)+Lo|VFZ^=!2E%Xbhp*x;jTL>GqOX8& z9zCSk(dRH2KH5>#Xi3EVaYS#Gu=XXa(o3Kd6v2A2`~;l#3jfMj8DuE~2Io8jNU<}h z!C?64N|B=_(YE$R2AxV+l^1>w^ajK4+t=y;pD8Q1ibR^w~c_#>0aX9Z>uIUhoO&?ffSp}SPX`b(P)SaiMDkx$Q)F{ z4)m~$6Gr1jGXYHy%RwR|{(iW>g5?-kTKz&;`ukYal5lR6m5Jo5zn;pm&^i4i zmA*t}68bn5NU^C*!(jM00S!?h(Y8i_%CHhPq=XIfz?>%RP8ZE|G(j-Kkcjt|*jB*I zfTcCEBzUaYJ{ZRx$m?Z@pv%b&(vX=+&TKuIS&5lKsT{7Mg2!7V ztnqp(^PzLbNh)KB%BASzR3OEsauWu_$JJIL0;o(bVUs*6e-lPGi{=(IK`N7x zg;y+76)LyF(wY)Fil+Kh9CsiumPrCFVTnF3d-qRnBkxo7oNkBCnIbuzNSqd+k8^?) zo700B3?Fx+Ax=HKH!}OdmdR{b3&;&7^ zt<=&53Z|v7w9XG5VHfzA9CskErP*<7X&HIHK+ov~=$!Ktokz>3woOPtWKB z=$uO=ql<~rhv?&sAjM`>i64T%M==^=M51l20HZfc*c&Bmc?o;9guU$XY6rFTPKkB1 z`-UY=UrTz^&)a#!ttxu^wcLeA?|fe^dGMmU@UhZG?VOjX#;(Z(1qu#Jb$y z=bkiugxC?YI`5Q_NXwI`r2luiJ$(;OB={$bZxajpp*d#(=`UC`s9mUhKaPLPtOrKJ zNoO(7x8Vj?DF!CD2_*pN!)c$&M0~`e>feHst?H6Lfn?6s0inX>iVyfD}84c@$Z)_IwH+Es40f zkiyM{6l;=VyQNse6sw>w9<-$@(kWK%W$-vzyTuqt#PSny+9OKu_DiLbNm|LIJe*0EGIoA4uVU4Yxde zNU_7;fWh$bErpGiMB5sL@JFWDh!h)^Vnb4Fke9(PP+MbC*8S?G$4Ea3X9OaoH%GLK z4HH@L@3;=}cdeb^Ewo&%*MWSs@ z0EKZWc65pznPP`~21=XS;WId{{Aj@424g>Gw0z$iXDDh zguf?+4PPYM*2xHeYKonhV#lZ0aVd7Jmq7+<>(rF>lDddf{Un?d5uvw;$BQiZA|B^2 z;;|x$U0TErn9n&iZxKb0T*Om|f(27f0a9!V`(ZGA#c}d6_#9Q#u#r zt)S?UD|jIxI25KF0i@UnMq@C13`0W*NVKhaKyY!2&GGUdgI;hEYqt+w3SR6duddx3 zf9=GD>wF6Ea17@GLW&*WaTp9AV<|ASB-++B2=J;DyCTId^J1I~g>_x%5WC6`)44)f zqs#s)YcvH@I@jf`k?4_YbS)v63R8{%QfvfgU@&}4LqiBiw5^+g;HDJ2!OQ20F99Ze9FnIPO3W=Me?Y!^-BmPy^}?a=cg%>Q3mK zMH1AL1nMsIaZr$AgL(vm;p2WZ1d2p_HwvJhO|fS@M2`xi$3*iunjoTQMRxq|`7#C3 z6R@G`VEAy*5ET+_ z>z|*8R13m~8iMF*9pth&jpDDK0qf{vDibPWnO_0)dksv?J3QGNL zx;`weWNDC6L8~tQDK@D6Fc>~M zp&?Kt+Ey7rrAk?GDcjSd)J@p!FPa0;1SzFNg1nk46iU^ww8}%2Dtt=nrtSLRkct&Z zdukwcC%+YXNHx$oFemw?SdSqiB38c@T?@jiM`!=ZEb zmY^7c8i76z3Q}xP<1iRLMx!B6B-&PYfI6U*bt`3EJxb$+-2~AbgCZ9RxF880{A1(~hV>=Hf&R~gc5MetXeHzZ5^R7yOsvH%nlDRJHltCmYC~`BO6&N zKQkEtYwt4?@BPXR+`Axlgr3-qFmVo-#KsV@o6yIJL5fZ6ewq^>EubM{B;s2eD749? zY*HzkSjr}pvT+`_2ZZ&5qFIP0$ZfJxYf}|&55dx!QX2f&Y^o2;aR>4uo1_%kM5V|k zD6hw93hrT=WU8Lq-=TA+NNy(*w@1*&xj~A}?KupFk0;R(Hxg~@3~-xS%BGjH(@NQ? z9<=9$=@QW_MH7TJQ{>Axva=Lu%V25E4naH1ho)AU>w{O>bcNGt%Ii}#%wC{5&eAh` z5jtnKWOgPodkKA<8Kl_E{)NHt@irP_Mk0Qv2xhgV?0k>bN5bf1(X2!hq*aS7yzOkR zLhBP)T60Q+H?QXUv>bOJFR}9la>6ylJNiB)2Xpl(K7-DgBT>{5iqFxLF+hrq;SUUkk6+Oc1`=)SCSbUslwIeM_){2d6U}xsK@vA86>*C~ zVh1d(n@fYY%5L#VIPO4R5!Y!dVkbGcMUR61@{Mz|MDaI5kwhOy0Vy^L{5=~&Q6CMV zAknt&1d0V7ho-`!nP{4$336DVRKz_BhZeB3?hbLd$LF9{gzFPMB7>d49}G^rwUhrRw8}Z92-pk;M#|tTTyfk%lBv9b~?{j}7T_(&wc&$}P`ufqqUZL3niH zqyyq>pS$y=xI~~s;tRi9vmE@>WBx_7e^X*_Vm6)_q}Yjliox*lE+vGPMBDlmiTzT_ z)|axMO4$#k>^m>9&!7$__KT9(dL^-+{0y8Q{KUTVyETc0>ueLHw+eIe^dQAf?*|Nq zk2RDQS`zUcETp%!l>Ju9HhYQvDC~X`&Ch6pTl!X{IhWpt%uQQ6lr4QdEUoRO!Odca z!o(fOPi?=6tfVw35J!SInrLu5$AZ{9$rZ5b=|us?<|q&^Z}NB~4WJMjxjFDK?b@F&I9&p&=?H z+SWdx!pc~#jAhGMM~_W!VS12g`k)Dx3_~tn$#hZJ^rr#tt&V-maMBSc!ya^5(#1#Q zxZ`={hS-O=xtRWy+M7dJb)=&>CN6K7wEtutX8gg%Z9QfzF8)11lL;b;gO ziMG`f*lNmHbs5{=V|IkFJ5n@9p$Rgp5&7_X>a8#vPXkCeDEpSua9134I(Hq}a$#r#X|gC!!%_B-+*xARAQ129~h_Wvrh^ zZMra>A)1+Jg46~fC9l$kE7b5L;e<7;45xpk#D@F09Csiuv4K7pXMn=1pWiP_>eOGGmdO_0*z zA`xC&V--sCVQC#5qBPd0q!yLygBR6k1(L0SbSe2AtA}(Mbk5Nd(oqEIa`bUXkm5i( zfF3JL5BfkuPcR`!{J9_2*KG%|FWa&&+Op5uvQOH&*8p{}v0iE`O5z~eb-rvXPvp)Q zZAC57#q4Kz{UTl1E=fC|;I;Q7_^5~6u5OFz=U@t+3Z&SnTrE=Jk1T;N67iz}q_VCp zTicec@$$Ha^7z`#qaWq5&d)<#w6!7)%EehD((r%&{yoKetrst(*zwXcLEz&?iW4n~ zwzUcIZfwgov}HfHWj}f$^M``0P|yt)gcpD(PEZP|^P`(%|T~h%|ik+bLdp z1PCt`NU`I60fXV=9~38A5^bwN`2be0oE4U{WI5aEh5RCP)=Cw9y>h?m3(I}xGX;fri4*`QfYlv$3Mz zo1&)&mhk8y#g3ky6#^g4C~CC)(IM9Uh8l(`v@h--FaP*cvTz3|(kHyD16AHK@JI#%?(DEbcY&G|!$9sRx- z3?EsF8ZC*o)gRIKEoXhoS#K|aF2ar;EdsOs&;+jv`-&CdUsoGg?%(m~221OZ^5C&Q z(9hj*2lB0}kDt8L8?U{+*82o(e{wdk9K7;xc^m+pb4a;&%VPkMsYV|s11UC{z8DN2 zJ<$*u67hHmkQr9ahIm-|38Vg^8Gt5;WthllUgE{HWh+r{|AxtvY)uqY29!F=?Dkzl=?EHdKta=LDJ~)-B z8Y=X-5$kk46?*K5bDE?wji{W7K3*@7VpDM+FLEAyP`!|d2PJ^Y+2w3@IXlAxb1@Xq z)5As3%tI3db2bw3>g56j%zRi{=a&cf)(dd`V>o zkzlc0gDkvaxly6Q9}#jxXxF{br{cH+d9hq2&=QvD>uB%nL=PFUZq#$4hmANlNKV%i zr^nI9s|QkSPVNIp7Q+V}SKD-|};!hu05Q21v4@oT@*T=3i z;twCWL(hmmd}M)SbUQJU4|=7=fxMRPjay6n=_U{BInl#OoQEW*g~W*-O2TUiQfy9NVlaGs zf`)2|MEo)coF4NaeI+cu7R_ojK}e4&wX|4)v<8;eq7bCTJ|wl4Tpzn$OW%<5#d=0- zp>q~VMo$u>Z_&pYL5j`jR}6-aAJGsa67jVUFnX?>IUc4>!f3N-wx9`OdQPdO7Zgmt z!O~h5+O1#kF*)u)UQ15gTKb*5zo6%|6*^~`&LefWzUn<=3~F%eG)QtX6|z+m_oL5ZLx z5x1I=&>!XO_j0zy%jQTZkf^c%fB4y`3-G&0hA+Stk&M3p+bQ0o;EKl!DR#UkVlaFh zLvf-d(YESU3}A&7ELp*Jdht$yB3Lkm75;tZWCf?s_rslj!1>o{c@Md*Ux8Vt!a2_X zQtS+7VK98qqlqX35^bw7GH6u68dSKqm(M_NF#JY-_$uxO$OL!E^*dEw^i3%GGvS*@ z4=Hx^br=jE=TOvWNyHa95Pho()}n$n^AeZ?MX+94`3X2J6#mU(Wv~ZjFc;2w29RQB za4iPI$7K{bS`uw5g$#--*q&ba^hBay_{DzsD*ruWMPEwMUk~3rdPuROzZ-+$;}(h< zEs3_(4$)^SSVaYE>m@+XB!d24(cFh7c$UnF72x;VtP1~r+x@V#I#dK}&+>D3+=2Yi zsqm9`+TwNie%k}&%&Gvd{QGSWLg#d-@b0&@Co&7s$H_p7O=d9$!v}u|6Iv4S@M4hZ zRKcn|EKdoer$s}LI|^dyBr@Xfhxb*mJOfLsa|p}6J{GkkTpxS~tkO_%$k)DlD$hda zbe2^1Au7+Ik5hpZo62$whL2@vs9s3K-DOazsbJL=Y<~~T>%#60(fkul5KIjc@!k^m zR=~UoOY6Xj;IY!%2jjQ{dA(E%x}41Z8ZvK@v)+0#E1+`@lw^7lnYYo$$v}!t<}(b2 zj}Orh84~g6C6MV~!TNewJ{Lw`h-MX0C+pAoFKU{*8vHkZ4;rs2o@p$3D^XoM5vN zO_0iA$igd@F$$GmVQGyH9Yte&Dvmpl7t3&g_OH)u-u;tJuW5MYt4^mQC6o{q}O%T#iO6g2cAQi#V8Xtl*!H1-lj_YIB z8Py}_6ZDMgL+6Z_jK&co`CutXu^F|3L-=Tnh8U4(TPK3i@fGYi4^wMlw7Y2bKoi7t zyi!XiDVX+zr8PBlgq`GLa@>KumX3>COKr&eNqSDj&^c2jrzym#1bw`gAjRg?0fXVA z0u6B@(Y8(pr)eG}OIUOi&0c7NkftfMG*f|;g{3tk1Zk!ZNv$Q<$FA2>6*-@&XGD+D za%M1{j|%ow1zS|Xo~U4tdAv@A+Ip_Snp+{> zupB~POZtbOxAT-+RrJnxkqeLB`94v>ztl;;6?hEYuhX}#Htgy{Zl_~b=edgTQ!_=6 ze2CJs#9{_aISWX!SzL(0@IlWxA{Hdt)+=D~QU!aVf-S9J&wC)|kg5BHO~-{Xm|(o* z!%&Oh1;K)!iz#t;xrys9U78k=i&jM2HEa;g$@NpwWkCsH+dIwpos9I(K%1zY81Ku^cfX0Y1N zK&{8GvP>#Xyu?HHWK%#B!0Sc|ttYw-tPqU^Tf(qyWNLj?ze*WqrwiM~}MQkq8=UYir zk-xu)ds6smxaHwPiXDDu42BPS01$;wqHVQD_?2mvPP6hfD@(IfniYFV>o|CXiw? z>5swi(E|-JA1(SW!jHOvF&9Z6M(E~C7Y7i5vdKl5z$ETsLDibjHs^*kc%_^@u z3LO3lccE+!!4y0jNU^h_2iU;J;gkhh5^d{1WYaUvYSOGa&Gt{T{k&}WV`&1}^weil zqhwR9WU#;TdcSZsy(t@dx(&|;QtWKb7TNG8*uWQwxQ~Er`lngnH0$H#aSjyLq3Pf? zX@5Tzr!Qjj%CwKjh02t!^b>(6uNp5%!5(+xBC2u}Rpn4Wd9^AB`|BvKHAhf@^e7u1Af(s<-i*QU zaSa8AmPFe+0s)Rmvr%a_(u?sHD6FGGr-U(nn9e9=jYj@g)@T8ybdJhfBhe$*=tx3v z2TVBvNU;&n6Kde&9yEl2MB6$B2*#(`STFyF(F-oh8jbgpSJ!B4c#S4ffb$><7VBp(<9DK?{0@gsS90t+!B(YEdfqkGfr?likI z%@%m1%7kfK(UhYJlDZcudF8ZFAyolO>%nyJeau21k>d{Jb#%AD%^BUP97YQ?ywc=& zp&nEQI_E(N>Hz{(i9TLTkYa<{7lYv=i-tgvXj_W_>WMUaEX^MAD0LBbT}87Wnjobo zM1s7Yo>nMzgQfLUh|<$OCAE-T9~{zS3ZzFgkoG6PPwOEa0G;!cgtV9-RilqXf)pFl za14fz0cZ#kiMI7JAibDo%hGH~nmy-n8X-&%6U|68K~66s7q6OLQ#jeMv|ddI-%!2g zb8_5)yqcB?*c{Xn1=MpIP@~B4YkE+lp>tl9pk5(RW6;MzL5dA(5(dM^(P#)1iMI7F zK)s!2Z>8BkJxa$3yUC(C9!-$a+af_;O&=(fPJpHLeu&ZsJ|(r9Tpt|LTMDFqY9O6R zem~GdngX5kzJ&B1L7Iv_4hd3hNZO}3eFaFX((Lmz`!vl~dYtGfPMGd&(VT-O$Y~XF z@v3Q!!s!AU;O^q9)412Ioaop1xEyypFRIT4bI$8ih1W_AuZy^UaoSs>$5sauXSKxk zHDQ~BK8_7iY;3pDocIO=8mcW4ZR;ms`ytJ~OS5$zGkOLR^b16D2bv(WA4HzKwl*lt z?t-PYK8@SR0@hJ*jdXP|SoNiu&D83%ow45Zj(=n+cr!5^le(T{f%{A${}wEP!2PGz*$lpjIolw`bX%Hj-?`xt#36r|XozQJJl_#6$D5Q(^P z22hn5md>zpkJ4IU_pNBwp$Sr|6bbT!tD{2c->|f-5T%YjC3WL=eeh~ZE0D@HkiH|o z9rcjDht9Diqz(j$9yY}xL5dCO4-AG6dL$G*rDd!N$YydH%=Sp#A zkYY1)AJHRQjpegWZ{+AD1{b1a>=qY!8>ZB zd|Hk>keAp{ft+y3hsV(KnXFNI6#GEu*b>D^LeUw090jD82?IS~ zierEj8^aI`h7Wr56k#CIwvGpe<1*}6kHk=6G)y$~ETKMB{|!5>kDmPFf{1{9}w9Qebg zlC=|r;W21}98OUxV!FbCo+4$Pp25vcaj7$oE&``39Nd9{GN9*5S=05o)AOaA(`D|b zQSQf~kLM04cJ3EoFnrMCo2U#(#KV!1`}_>MB*W%rSe*x<7CP&qjL75|%4EKh$t7+n z(AQYzx;W?~1Ki!*Ngo+Fb$+Mjxsd$x$v(IOskxkTs>577CrGh#x(b8g;}XgREs3^u zJ#xA>!>-P-E4_rSh61^YgeFl!*ZK*m2kX@$biT!3>Aw~q3EV*OUISM=UP!UyU4X&x zaRbGPmPFgS1M%LTVYg=3%^7x+7xEp@1=rwqKV;`t#6}x5t-;McZhsAK@;fza5dKNW zos`+#n2~1&DRyRyFc>}_ri{>%h@UMYv->mb-VD3jOKUL{$XHp4`~9@kmAKcZ@7(Rb z7Avuk;(ZFPc)XBe$NLrr!^bNWCt4Em^FhS>ScW~4VGn!pt`K%_i{>3P!TsPdgyx+o z7c2Y0yRfttWr9Vw*iY4Q2l9RK5kEiYVgI!}YraR$7VGzk_n~tZ$$jEUBJ% z$*jU)`1lwNks%R(NepD3&9G-YEME$vuSD}Tnjn^EMHc*WYng&&H7u>AAuP*$ENTU~ zKKQZtjE2e@^0iD)7aRDQu=`1lSDQ6Uk3Neon8&#>1r>=h5p zMq&4>Xf~k5IWOl#@ks;Bx{sl50WY~Kimioe|foK|{31ay`WWnoYrGlji z4RG&AeVoCDA~ufWX$xPe&~eA}T6s@Hq&fE^?mMm2gJ}U1=VJ-xBLdSBeH;v=*kIbx zoXOf08UjNizMcj!t26AY3|p09pL=-P3)2pwvCstZtVT*+)vQzS>;+5f+f490u}*)H@Y@77x`a$RXD$#8ubp6rC(Lsuh&c1B1NzAiYooPS4Y6oDy$4vUQwlg_sSbcmABpJBT?HUK2Q&{QU*(#_+;^WcBAwr4`aViGG$FXP#B8j%u z3=o@CvfV0K!%Fx5-$}ymWYL_0CP=VJCGAS1`PSA_Avg_|R*Mk9mOeqX{yZO4f4f!6 zF9J4nU88%~0M4K}Tj~MMgwAOp0X8Rqv(U!@LW%>h8iTXLlkEU5Yg_XH?UG71x02OW zvI|{qRn8?mk*<_YqN4g549UU16VXfbq4x)uqKl0x%#vy!yjQ7oE=0oX=oWBYlSDd| z;&tI%MlpB4wh~{iX}M%x-KHjq+9^0c3?WB*aucg_%Ow}#X>zqEQU74BaAz1*l)bic zRN?SsXJ;;)|KvKa=ze{rQ^x~zNFtFqh+-iL4=L<3(;dRU zI0X?ug+-qT8i!6@6Z$&AeztXGWneOy$(1~l8~(#g>Sb@J991+t+0C}D4h7%NV|6v3 z;YRHYl_pk|9;AL4``|WMFrjopxFm_1rD{Xdn%nZt;%SGF2*=_)9-i|eG=kDMSL+dncM}Pf=&x>CdUDOWW(r&ke z+S=3UVzYTWyyjsGLkcxLgntJMikepK;GHU;M+#|IBCSj`d$Cob`S1cB>YpOi-`r41 zw5?tUwMRSF-3xUadaY^%hCg$csGWt#c*KZiW7_G_j-E};BXhdrHU7LQ*$wGK|JNKy zA#TTb9wMY&3DJvie}Z`?))mbRGz61G+iKBa0BhEPHR<5OoQ+KA9QPZ*cZ~AgNIz%ZJ?Kp(?CSkL-s5%I|t>F|TfC#%f;G zWnSGanZY#+;jU-)UlFFwRMTGBk0MN)s-_2KKaMbMqMG*3u8c5ktePH_{UpM4H`TOH z_R|Q{Mylz-qY62R8tb8|o>=-%tEi|7dVR>-!e0O4ZBeg}cw4X6$GolIYb9?R^!fzH zK=R-$!R)WD%}NhC9RR9Adt@}Mj5LW<7V$%?kpAyY+a|x*z{yq_Gztg7W*mkG&myZt zru*kAo)MASvHVE$4&g+m`m?I+=g4-j;y-kZ_y=bu`rwRF{GVaUVak+#N}Vq5(~36h zR<)n+OeETOU!~72WLEt}RdyA8j!=9W)2ND0!`~D9J*F#Q^ML+hKZ$|h3xsPc;T{oK znTD0!zfv;~YMZpL{<13j6+DbmJQx#h5kFzYtv~gDFZnMK`r*nP!Lr<~ef8HcI6^Tn z=2rTDm772BU*zT&g@2-;qi?sr7#E`;DCMzA%C#fZO@}5+(qwpRG)}b|WwIKN%UHgx z@jb+PKrN>eai02x&cE|AIDgE`^c!6BbX9gSBADO~N_N9s7(}PVW4Z~O?9(t9@7z}f zl@fvvv9kIpa)GnfF~gG+od<9QF^`|E8wQFSTh^K?qqeAhP}?MOY*1U&zIt_4b`63! zRteBpJguXPC&uEf#*~wkDT9k=RM1AO1<^kK5anz!SsfiH5Tha#iH|i9Nx+wJh!V*O zql#)4S7o27qI(BZ<5lFdRoQ2N^`xkZd=>^%BP-G&7pTZn6wXDwq{J}yn3`eT&kq*w z7@L)S4g=3nc^#o1X*~J+=}0J2ZQ6S_7uDU_r1M3s(l}AgY)Z}b zb8ZOE`Pn6Kd4ZbvSTAw!ErJ`bYO`x_mImPLTE%JMEJcj9wRqbCK(!a5)kCVi2r7VD zQkCT+=0H?niOU}~4O6NvtlCS04g~Gcx(ctqO*yn z-jzzsyPz)OmwLEE*h*Og|00)bl|cOihHHvw;E+zZe8XAr;92zP%+l zLl?J7u>LM<3ikS7u$`iV4O}tsii;iWu8>tS@XJZ8lZN--f+=*4PT~I%ZzTo)FfpcZ zM=*u`I@0dWx8N?=;;E?agauA@&s1d{eyXdzkA^7pkMZ}%h(qJQpM8G)KS-e#j7nzj zt%`lesP;(=M!Jupp3tntdS92J>Uo8d`vD}b<5$bOBgk7ao#n$Q(%tvUDeB^&x_7$T%4PSW z4~1%93sR~b;?3z5Y|<;(K73!GFS{%_k zkkw_$LzM6ky~`sETD=bc~vbq5W{wV?9paL%f@SPb^gtD;sopHW{c#H5E!QCJi zp|X3YoDdb_{z2NVI+x3KqF_JY#YOoKHeOL@|2?=ligy*o%Xc4sc(ku(UY`C2t0E(- zWT6IJ1|#9`%l|$3^LW2Pyrb&Z)X!xb z8U3mn(UpGaU|&l{n^YsZ!VVdI3nQiOg6AoE+g!ajulDt@Lkho;`7cWC?wj+)gW7e6 zxRGyJ+@?~>w6;S1Yj7|Zl>q#EoHV3id-}gA{kI!!yzR;1rl1Ed?z)HS&bjQqR8AX% znH%@GRs>z~A2Rf}D*q(?-#(l=Q@p= ztaQy~MOO5ovVUeurmMSAR=@x6$%@Cjm1mXhO0oZe*P-jR7P)M*(5a?H=v333uQ7eJ zE-n$3)4RHLYBo*TwJR5s^eMf69HWT#&pBIg6^tu7?*d7j$53Lt%qn4lr0COm^P%Bi zC;SgMhIqU?_#&*Y61no-v}X5QwpA{8t-E_pTuL3>=OSn{oS|Sd!Ie^V6?^lw zsDxc;9m{jsvd}t~d+X>|sQ;#?vbrsI)ef$3V-0MgD56Ouj%&Z_y57|&u$nDAN!)A z+ifJ`m-adQ(mv;YuWx^0ae!!Q&{&7$oW42vUAp|+fVhA7NG5?>Y>)7pfjwxx$NMa+vVOY8=7+t&EZH>r^~x@Q&~NPFJN!Dbj=6Spmg;x!qb&iX|=qpLi6FDmZ#s!^}RK>8<@ z?W>1VbOX>|GdP#!!Xba{o!-RmlJ^nh{m@-?7#S*Gvn+Qw2oBw)6ib9j2BQxf9FiC! zHn^cQt5P6=6%%XVmBBC?OSL;77ys7%7!1bz^brHqE{XW-A*kKMyxKinSR94MIV`GT z-Cq_|Pvn(EpNCq9=hPuzp^L8{zW!T@d)>EXP~_X%QIT(JHyE>zqcKMY#^fIu&fye9 zJ1P@;zbh6}DY^oA1ARg$^g?L0mnSP zg-pV{*Z_~pWsepcAn{PwCvel7UvW(02}};zJ?|wD;;6ZUbbM&&3x=VZ`${K-hQ4AL zs=3=lgw@1eHw@L>gPH={IBjeM9M#j^=xPR?0eaKLIZ^yUx=ca9;pAwbPkM?%9?=duv#QZNY3-i!tT|902 zqPr4BZSdgprwIl=7{F!{-QclzOfEYxyG(@n?qu2pl?rlR155U*#1%Qv4+IzY(sEdJA6o7VB+{?l*_M zbH&-ASpo-DAf9tVmVsj^V0kVq`S}NjP23+F)Yf4zIMt$|BZ@@ZIsxaO$=>;Aj^0eMG>@4NmtAE^wl2+cGPvWs?e6X#@v zAil*&`;YkIwf9|;D?=kMH;kn1CphvN8tJ>P=I1wp?R^2Q_S&FD&wPvPf))qmTU;Ns z=*KOTY1{J-g6Wmb4Z#ru^L^e73+tqu;>FKS>1-lh*TEUD7lu#?*>rlcfk(l zhKq7pQFHf({Aeo_A9v0Tl%>`Rr;s_h>|9FqzM$98=IpRwdMn>1$ZgIKqMEoi9cX;L7Zob(lRJ+(cWZc28v^^e*EU)zC(f1@Q zZEK2pwR>hRJ1ggQxmUYq=A0?~YS)h;zg{Y<&)_@nBDjp&d4(%^rK;I~pQ7-?d!f?N zP;MpOvHo;$gxDLE5urTaTJ?n@i^mZ;Hbzb0Pmp6d#U}^$^{hfZ)#x3YLX+>-LPAG!TegwESI}hvG3Nf^* z-HFf1Dnl}Tb|3ia@4Fa`)aFxa@6l_zmvZ8Na4owEgW=-~G;}RXBK|}Gu4OOvu4TVO zmvv>%xzxXa{R&+ip6RB@*D!FdqyhY%2OW49wnyFWXa^=U6Fsislvl$ldp)J_EzM!) z#4k;Mq+gnf+3*|FZQ@TdtRssPqAdPRb1FfmA@d-;A24*kfzSF~$gW|5Yd5cME8XF_ zpMP_a4ugv!&iT>({i`;r??b*?_`WV`4_^<)@byE;*9I^Cd3E2=w=D0JzBW-@msbi} zP4Jy`Ub{HW&#%nm_9MLDj=&8>`KQnf#eTFuQRWZH8U8x+pF_UVzOVPm*WabDH59Gm zM%$gfL9Z+leby0Jq|x}wOkNV}LzDgPjha_?2~BploGcHGQiWm*q}`M6F8r%8{O73& zI=uAwHil-VBIEJSt9z4XUSOU%Vo`n#dCj9xeIqZ`&1B~vM#cHx*4_dO+=IO-mlY$3 zjCO?l%xWtik-dou;t#y8xtd;W!>jDy=+zFqiar!~l11d9m_RY8s~ot4;4MHR-Tjup zu0m%L&eppRzzJ4V-<-?d!f_-+Ze!FOUvX`16@;9|s4a3@ps$-k@*25vMX(U;>){m+ z(VK~Wqu@BPaq@X^8ri{bIPVrT5m#h9KRRCyhLfhS$lglsXg^XHBCpW8-^R(dgkAKa zw<3$kMQ;rYq;VU~yL)Kfm@AdguGAhOr~jRmYC~TAm7+JB;@u4)#ShbNr+jFqR5?IyaUbo@` zL=4LEAyh-kLY45%Q0egBnkb#2J-@KR`$~MfAOK?hE&Yu6BCI5T*i`i${K#k@VRvEc z7Q9-N`TQWfi_{L04#bCsiUU7j&w&L8xYWCYmaQYbrc1pm{)0=s{V^Cmx}l*0Rm_fG+3GsOvns`KT$e?xBHkjt?=Pf2CKmOTP36N7z>n_~N|o`44#Y!(edg zi-vfSh`$U4UiW&u`lHKwFz4JGg)H=W;UJ7r2k5s(eR^UZAJtIu^`QAO`(a+f!(f&D zJC)B!oqh1^Vu!-ZKVv*Xo<;>diCxn_31zv_Xc*NzMCN1gD*GtCIwCkwcY-@o4m*m5 zJx0UE(l7;cURc$Sli4_vce-PW(`S}jjSpIdgNL69un>_SgICzJcou})dYEro54oGx z-`!2?QFqgNjBi>rD9eW&i&x4DX-?LYXaYKT%liYUNezYPwi|Duc&O;emU#PvM;y{g9`#_k26?%sb&h z-QPnsJ{?mj^VA03FFH@lf~C_(T_ry3y^Vj^JA;M=wHH_7&1e^T7d9CA%?uid^DVY8 zX)r5jAdVs&v(n&C^u1FRBHd z|CPG#F9q~ku*vq-K`&Y>;D0ffeTlNTDil>9S%HXtOq+%M3uJ#S*)Ph`k3nAM6>)u( z1O6q3S83c0Wab|a{$A}Z4&hhlYJD^gH5J=x#^#-X)^hHo5X}Z(@z*OWyZ|Jyuw6bQNu(s zQF~hb1ZLd=-H>UMCZ3Fmq^c1%>11*fR0F0>KV_miss&eVgvy>dee%Rplu<3AYFdCG z3yVcQ$z-C~Jo65-`)!f#n@RVLBiuKF&X8CGs0@kKgUX!Po^s~a5i_?myKf%pJ|o?i zN4PJ8&X8EjJacj6%vm|J6)|&rv-`?O_g$p>eInd5=nRSFOf&O(tCsG&MY!)8>7$SI zabSdxp3oUWtci4gh;-jC!u`RKK1N6%LnC|)hRzV;p^@&#NcVPx`@R7MPEL8-xTHoA=%>SRE*=2_2=nsttT*11u$ zUL$9{5@rSrmqTU1a4A$q4A(-b!EhbAjTml|0o`n#^`@vSui@YSt&@tdB;yep2sxQIzW?()F`2GbHp()T~SOvo4F8^))%`%TcbE z>s`Md<@$Z;`W=`V5?T>8>j(N-Ka867Gdb(ZDA%9sU4IefdW&@ZYtSrk?e`0GhGf@6 zr7g!~@+YVaMHKAgGKOMnb8!Ms=qIW$n z%JtjQ^_xMnz;^xybcSS?L#184Wb#$04xV-V@sp?boi^)K+`}mF?tEnUJ&c#7Ub%-+ z$?st#3*Lb;T;#Rwpu{Qe3mNpMuu^J15cEpu3_*Vcl_BU4p&B}Iwm#zbp^VDtU8&b( zv~cf!sP;R2J3Wb!ts#Mv%yWs?Q>LKzMo_jT_> zw^C%m`?^ocfF6UHA)rT~(k^&1`7l&br{9HAuL*b&l$wASquUtp5*hHbFf&B;Ow_DP z^|LOEn)OXN>+9xOUz4-y56f4iUc=%oC^alrpxemeR~gj?m>CxDXQ&LAeuOG&@xGUO zO~9L=)C9a4-Nt|urQS8@c9LzE^W9%yRny7j}sfns5x{Xl{l2IK3 zGXuu{P#FU53sn@xK2om8FyhVQ2&q#d5^o-p z1&2eaiRcJ)8zVYVMl=~_285HK$_rM!bDId2@m=@?D5Lm}lX@i^?+xb^C^gwkMYl1V zGi5e2VP*(J*x&E7UeFMx430)U8>&^OEZ;6`qE;;LhDA#xEUEdSsdZ~2%T+l3V z@6CbEknBI8(ym@I`4m*5+>~;nBa7b*S}tdPC1U26bneAg@`BDiskr<1rTcdx+^>Mn zkl35LnZ>^FhHhq=*k^L)l@T+4WOn~yr2BtM_iH2EuYt~x*w^NnzmzkFc4zli)fZB) zThUE2vR`1QYzl!|S`VEevY((b)Y1=fW_@JeNxd$zZ8Ea0y4maT`@Zqm>CwK1yqJbXaf?ptj~&OQUAZ=x42rnzgf>mBGw_AqSNKLl&y2(`ZMj&#T2`!M;#x zFm*w<5mPT2a1G21QB})X^+(A5Qm={XKqxg)^+vZbs-ZHfK`=9590-*m-~muYVeBXM znt+EvsR?*Ex{U!JB?CSjW`?Ln%USgpZK>Bpbu^TksK%n(7}e^w-d6Bs+kjbM*ZcxH z1LDu1%1fpX-_kyT%J8`}ZbE%8XI>XE^IEg}HIeQ&OZOWi+;4!+kl4@WnSYF&dApqX zkBFInH@n{w>AqpPw_^3m%_~+2oguL#RE8DX898$cIdjv9nH!tkH-gGs5GB(6o)PYM zht7~#E7Q#UlB`0yFN<)WiuAFU^wA;0M?2^YA!Z`o?=9WuBHU*qeH=)sq3v`AM zJ4d?jCEeFVxUY`%F+lq0YYwB2$we~R8!AH?B?}ILQnLvTM7MDhJWK{O%slIms98tq zXSJhdJxygQ5yNCCH5iUZw-LiM8PLh*S*J$LdYXRL)1ziRPtJNa z%nTT2LuJ5l22@52=R>K%Z~?lF80N`<=9*`%i<))5e%4E)X1!j{dJW7B7_Nd!i-B%d z+@PQJ#;93um$Tjy<$8hM^&L^J7fRRn!_1J-y-~A1q@VTSs9B$svpyE(dXe7s;waZk zrR(QlW=P11nsu3e))%5?T`p&RCCc^dde?76xn3<@e;G6jUi(33NcJjhQxk0&-`QL%-iM6e?-juyV?DgNcZ(CylcP0 ziogyQSg|B@hQxN7X6BbjO{Duq5$+p6r(JdKV-M-0RfLZg<`A1jx-XUP@y&E~4-XL7 zGtx(U=_6wf12+0BlSy3Pn`%2*&;d%#8OK7m@r<*N45*WN)~cvkJL_lNH)_^ia@HD{ z849KvD(zw?llwzuIK-0$2STaA&>P)G32Wbz59qHY5{CiThEAR@|Aut0pMJU2=S`n1cn?Ywn9pTo zpTNol=40p#tNAae49q@&D(@DtSS>JFD`#FEG4oeu_p2h^|0>;Yh;aWibcV!!G|&9K zoLRpb|CV~qYHWhiv>H2P(0{_pv>IEXGa&y>&a97Yv()EBh9zm7_AY1|rp?pWht9yP z2r5Hl1yDsD+6k%8i!52t1WFULJ!R0XVP#_05;{X<&E?E`W=*9&FETLeAg8a4m_7}i zfmu0JhRDjGGJb%cf-(wdvDD{)aQi_ z+P!6LJz-~xtp++nY}HU1W7}WOt*?arq+S=>Kp9(q*qLJM3!R}7`aq=(n=We(h0?TQ zBjn6OBW50Kb`P>gN*`k)e2jw55dBEA`((jUP@1BjC}$oYG4oindqjV#^l?&zk15a@ zqCdgpKAD^hRaC`JlKQ-=NES?k(vy^%(yt^_r;O zhf)*O2k16N^|g#@70e76KZnW?@TX8kVO%Nont)eBsR?)ux{U$W%Mb9EjCiln~ z7q>N3hJaf_6}7m{rCt+o36z?EQ|LAZ+(8Ch2{S`fX*sJNW4Y98qOzdWMAZ@9#;6XE zQSApa!!gnYDnr1Xp)y_r?hR!W<4#hq$)*}gO*Y-pZOmqX%%(5Q3?cV{${2EQD5FB| zCH0z+4}nq>@<4POLmnwZ9u70Z0t|&pn+;vf+WJ{XMa_D&ob`w(*JJgr$3?k5LApK; zW`=~0jhgjD{j5`>W<5>LdPWN4dUSx}G023*7Iz1Uf^qbD`3%UNTt+l_)o* zoaj47{1b;8LvkFGjcVAYUQ_de%JaGf}fH)z7*tYSuU9tgpk&fZ;W$ z48{2hREFYA7Q6+e2Ez(;8!>z&1Ny)`>w8hNeypE$Wz?)|<*ch=X29?jR0a&Ipo%&r zd@l8Q$8fUXTPQV{)}h;oX`>8yJxOT$K zfN?uihJgQsDhlIPsn-NtSg8%T2;Ihjo6CTkz|0WUZcs%<)llj+QMG_lgRv#LjZs~S zsPN?3f@>evx(I18)1E+b)z8Zikl$3b#tNl7XObGgN;? z;ijOC;zOly7px2vl7;s~Dep5W!Jt(;?*MDwPIrZhU-C7DLL{$5CV!f9pmfj!cKs%w zJmr)rGbc}1OvTS^x|5fg)2Ezzf}#??phFlf@j1VEW7VvKA&e$ac&UA5ec&+`+g z@P$>ac%?s7)iP07P*}LQstHwg;Zs$OdF4M{g~vPN2zbWrcijGGMSszAqQB^Q^cN%x ziO zl~)PB1z)=ISFZfEkc(Ek?HaW3Q}oUMA?`ikqo}$+?%5OwEf5e$HX)haz(BHGdI>@4 zgieqN*uVfGNDv4lq51geN;6p^u`1WmE*QfCYO&MFo2o1QZMK{?5Hq?rbK= z`2OF|iy!ywxpU9C=X~#(J7sq#rv8;Fzvhzm-1WIiN!jdaFm^Thz-}q_zD9|S5;1+>3;GFvn6&;BR1^LZ zR1^Oe?TN=kd*X4E_6f7U65+Fx5QvD`iHnF?ix=(j38Fo*j%ZJ;E7}v2M0=fN(O##q zXs^>mv?nzc?Mclp`(zAolMyo60@Ax#nihBS*M#Ry9-&j z2PFK|>nZelc|z9jWy*Y0_9h8`rwcvt3`qE|+eheeeNEZV+}_`m1GuEB`lj}(I+UyQ zpYAH4A5c{#lV`gN=mr!}AnstUqF1^){~S}4adE%rDl;cnRuxYvtC~}e&UNruHc1iE`NKJ0Iq@=#KP#flLWzmvmAS(G zjZ(nshSLWD9H~qfs1xRyAX0Wp?>2oWV&uSX1!0O7MugHX@F;*G0t9_Qr@f8m%?O5-s%{x9esx?-O{FpiNGh&3et>#G2n))_VZa3v~kaTvxgLIrr zJa4wYAY}ZDrhLh4-)YKSToQ-PD5Z+Yvnxx=rjuz1B7ee|it-C8CeK2l zT`*zHpn?fA=9FGgS<$P6zhRIIdvu#HwsdCcMr#a^;LDZ`nvk2`i}ap`o8+1x>x;7 z-KT!8exZJ)eye`3{-7RE539c;%fHoQ>T&gi8by|ik>zq^S&b~OLWVblR)toFZVlZQ zx;?Zev^I1{XkBQ1=+4lF&|RUsL-&O44c!;o7`i|7K3|KE5lcX zuMgiCzCCQ)f<32%I>98BqF7E1g``p;M=8 zar!A*I!vu7EvcGciU~rAqEFxwdh7bvp`>hP>uDG8wm7`T2M)QmlfwI4Fq5~(<263; zQIIRr3-5!Y9{r;_jt|g??ti>b=|bL^h}ZbQlQnwrK9!4jADjrF&-N0oNH4q(N}K-G z#sBevE)=@!AH~oyuX~;<{p;Mld(Y0@diCtoLu$m^&Ye2-=z+Fg-FtTG%r{NK>C*}P zLD{Lx>*u{WA@BI+hIfDXz^MP-_Wt8xP2cg@ynxcIVO@o`T~`%QaNOtrWZu+3wA;sG zsNY2JG?`OBB7T2NzkW)SemqZ;JN0`uLs96D8Oi_bekOa`My}4oS&#hB?q~9+Z9n|1 zC=+VyXU+lj%buzzLz3MA+WyRWpnh!;+l-2u{eYBFxt7f=t;i1#v{y2<04%mvTk}e&l&YT%mPeWv^YSEn1sbw=2 zHtm#F(itVQCRbcoTG63IVN-EZ&CV@T*jY+fg%w_a|Euu-lr9PzQlzlKL$P_(ASgQi zU!<^tvZ}%RqtMHftQ6IX&eD<`m3pz|!ngllY9eMcg{2uSD`fmTul0eDpP4oWm23x>K z}jyX7D%@cpOzim|0yzu`S zv00_FO6DvouH!t6v?n&f z-;J1bZRgE5tW4by?tby!7kVW3#vl1Ao=Jat%&f9GNT+IAak=>OXSk`8h_Co6(dJm9 zm*UMrB_Vn(*2h4fmT}4bVvXr4+}m~;IeAY}l!$3R5cYqKs8za84rbL^j z;RV-lN*d*6n(ZdD%Got>M1bQ8GP^><%b(D+T}=`R$t`Jt5UT$utD6ORd+qvu zM~&vN3N#4@lDoh}8q2Zi44Z4n<_)r$)?86e1Cc;G*c7>jk<+4qt|g;79r5yP3n#pL zkk(9>ojlcKcOBWi+6gcC>v?usJ75>(b|n@MC&msiyPnLh?SdEl)eSO>xA0%*Hj~FA z!yCx3TQ|IXDH+muTk)tL;Eye>o-n$RjCu{nOQelcBU{n~$#2OCL)wSbAh0|CK1`OWFQtVM& z{qLau11`nOGW2g_uB9}_$9#+$fsMx?>&R$$6faqQr9pm`Eo20g%zCnU^D?{~g^jgf zT#te3wWl*%_6>=WO zSO)`lp#OWhN+~{$E1t5bs#IBA7bnczNPRG4_GnwCDi4UQb=!B>7 z@-10D4@+_@S+=q)CzsfkKLFcuvaG)yFF#DcOI%=RlR!eV6j&yhW9C_w6=g0v!<-D6IPkTMN!K({{$RvT4PW=gjHk8u&^wU5j(e=pGt)nK^KM zGhW=8=J8IRT0W(etUGsenO{ZbpYFlSahO+%kp-rNK?Oc%E*6zqJiT=CRNTbp zd8%VfOlBW8&R`={K% z84-NqlQ;!#Hd$_HCGZO3dh+t#S9qB}1(yc!kx(}h*D4aoiv-SsgKd@ro(1mw()|k? z9;I;uc^La0UfP!^N<(-ca>>tIhE#AZpk%Ju4*$}?>}nHNE`;#2FhP;=yrAS zROhQM#j`G`fX@Rwh?m4>K2`kVcq}vUo}@gC!3LdKBn|d42D?f49$R=8Jg9Z3<4x$O z7Z!AudOnAqujURPGk8exsQzO|491$zV@}wOvo-s+#H?B6vz?PL`jn?WUv2v$um=D- zVKELuF}=mn#qL^+uKz>V21-H-eLsK*WG5*P@{nXudl2ZmZH5oji_aN2a0Jc=VaN$4 zDhUnRD7ajnJ+pK+{>)T;OejuGvH3ynw?O0grj=JLm|QWncq&#*CE9@#S|t+iBqhEb z!+eBcii-7d1B%A>$D1Kz2M->ND?V$$0D>)OSul*IhtF%m9-JV?q&bZrMC~+*$U{7w ztKqzGZ~=~?Ny;WZzAg>_5r!Xp8e*=gvA0sU@79q7=glAIn$Aiz=87yGJ@QWpqbvaz(}DMf`Jf z9OSS$;g;Gnv}30H9_4=4w;6usxc;Myii-w}1nr~P&_L;v!iS~Wt!kiL(`I<#z@ouL zeCO?B#Y~_2yJK#Om;(y_T72J_zd7HpZ|A;!-8W~%DVce1reD8a{d&@{6ahND#W#!L+&W5X<*^#@q@?e!wN^Eu!@FZagjYIZ+ z&fC`3q?_=V$Nbp$N}M&P4IFGi#tG{^O3=QRuxE4>xTz?=!t+R=g z=k*>lVn*W3A1w<{!fle$-mF;K%k**jn8Bk5Nwu1W9;?N|(M6hp9hiY@+l(7Fx+stD zcVFAM=on?g`VylwP_E-0JL57xl%x!^ms@kkj#+PeCMTAsq$dk=8vm_Nas{xRVnz zs(I(h9<&<k` z1%#b|E`B7NyYcsrf5RSm31{V!2 z9E9Ghxcl4M3?DGEaNr1Q&}Yz^q&!OTjg?OsK2Z{e5%tM*4u=!5;%W5Bl67oIht)I4 zJK;y%>WyJ!-ov#S(Zp=!j9RBGD49OFf|mMF1Epok6nvsqIvID3)CNjFk)(OWV4i#` z(F~-BYd#DjK58n)7a=YvEty_ga^Wx%CkI^8`}&YG;Gx1(R55ulzBs{!?g3QnG}f0sRLRj~qODNYPNqNkb*!9*_0h zy7%fV2Xw^U#^d||MKG{%WZ~FieN6v>w9wG0Ujt=)N`-X7I4O5{(b$2-oqG%zhGR4B z!Z@w6&zVLk318Q~{}nsK(nN3P!+vZJi?hJddO_h>x>HIgfen;5rM**3zyX@$gC`ln znE@K&IX=X9Vt>O&R^=5qxbk!Q_xJ!i+F7ToRQ_TJd^<=^u-E~Av^qCF zZy{d)fB09J6-`K87cEqy$CbjajixotNQ!S0eV8Iiey*v~xG=6)%fi68!a$J@p=-Tc z7K|)R!Ta%rfwQzeE&Eq5+0Zcmbo4p9D6S}wgLh5w5pfYdYdvw|)SRDR7?=o$=j&QO z%Xx8OV3Ib_blxA%Cv)d`=f`;-45OU`iUQFN0)uc>*Zyo-z>clCWvX!)@2{ozOH|`myuXg#U#5c2 zR^ox%46q*Asd{ntIQ&1dKRo9DMbUIc7(5kdzEkNdQt4@?LaMICr4}$Hl^t)%{&?4a!Bt8=s1J`@a1)k|e{Q(0oFiM|lqw6A6K4V;jTdZ`Zjx_ED)PsICEL7z;ijKL5*6==Rw zIUmOGF`iO@Bvsd%Bb8>UEG3mSw(=;(2BavVZ|3A7qfZfOaP*Bu8V>pv6z?Rs;_*WB z9d9{|;bR)b2}!E1sfaf-m1U%|U@A+sLY{+d+Cdq8rW3M}f!M674~m$1)u)P>|FP;r zl*(KT!Bc_eJC*;!7(Vd*Bc2MWy4DVu} zpF{Cp3RgT{XujjU0><#MgyMuGRo6Nr-j1n^rLu?>@0Hl#-b*_=@fr+)fji$#BTm5D zFj`?QQ*m;F{kkjGmB6^=1LloHM{B?BLK$2I=R5;wzB9NP#_(|+MGi@-uJuF)-BVdt zEBsr~>JGoV6TXbQtFP$uDEeFBn@11Lcl7tb7(Uig)R3g&$b#tmq_WdfS-zFPz1ZO1 zRr@#z7^h48^L=H|pE9@)&UpsVd}r_&jN#)UiX4(uT`NEagHqW5EBwdN>JER96TZxU zfUoF>Q1nm0H;*2g@91BIF??*Ls3A$!wL(NcDwT~$Wy7olUcv_V{yNG@z!)L%ALc8A zF_ghhIOiEa^PR!lFous;DRM|sb!{9n&{Nr&R`~Cr)g8X>gfH_y(^vH4Df)Nen@11L zcl7&U3?F+aYDiLb?R-Q(A(fq*%FebD*f08hF2olQw46lo0fo{JpOzRC#0*p`D^zWA zD$Z}#s3S+f;g{&CO-gm|`;(pAEknL^o$DlToQ?N5TJx2v3x*q0)t3 zyV55$gJ|2=*k(*hMNfYIR7_;PK^rFn%{Q4}VGJKXKoA*Hb*&6!E=Xmi7M4Sz(_tZw zK)A77ATp}P_gS==5|-c4Q@bz*%S;E0ToR@aegrD@pz=HUn(0mDD7G0F+Eiu`l|RtN zsX+5hB{7auIR+m@g;ZTz04noRS!F7lYk{dF`qdSJzINpXGY^T-nF7_zMG}~L=&3DA zb+1(yIbaOakk?D4pv%e3^&nH9oL%HirUAAYi)=CriA+PZaWc?+lSzXyd^Ck1GNkI- zVvvcZvPLD4B)hztlfmZ->x*UK^qODpu$md0RN=3tTQ#q`0cT;f3`lYA}nrjmti z#!{Qg5~8A_jZ=Z)On0<#GSGaJ=?7!@ z=mkM!NY%C5K<1WIw%WqdUvwHE#6So)mRm$dyk6EySO%e|wk8J4S_g|$bA*MmNAw49O&SnYH1?Z_g8Utyw14%9&)5obZ znoiC)dowD-Hsev7(IdoY2HH3yXucWEgE4%}h9E|y>e@44^i(Q)(!w-fbXp+9LI^je zr=(iiCSh8Hp4zi9EAlo6lVKY2T6)rNEnP(3w|R5=54IW4+MKo$r;E|XIYINy2_G>M zC;U{8b0SsOUIeG-El4XwkCj4P0pW)9yi`lOBuH1Hr?xW&(k=&*TuY{pQ?I3~$oVdB zMpt8-vD0Ss5;3|4ZJZG_-;8dDF?_6opjskT*WLo7H&WSd3lshH2piW5aR-DO(;HGP zy(?i_ho0IyF{|~v4kp7iPmGpdTbKnVF)**JyI=wB0+itJ+-|tkUnuB$+cwqIQ3e3l$?L!&1f^W z8GCI;9}}Z3Xyc5a`DXMcjNxM^1Ti92*N%YEp;UG-mHm>+ezIV_g>Bl8=4~o|llhR7 zv2oC>C%Vb}i-~OsZZiLb_tu@xekZxf{2Qh6E{5Q#K=Yl-J{ZHt9!dd{R9!oURQ^h3 zf26YCtvvQ)15%W3xBcbhAZGxRG!~b}lr-}u^8svgqpy=@-xoI$(!?nSp^w9R>n5{;_qC(%iu?Nkd_rK| z<*%29AP!+5o)9$O2?g+-Ir#X)Oo&unYl4K5(^$haR^Q4d4jYiDGy%y@Hu3~C6v^-j zs4tRnCLo34rSCuTc%k`@w~2^1iQ??yD%7DQ+ z&j6b54Dw+NA6+SONK$pJ12Slz#&WIjd!yAIetRc;nSZXY=sQyMr^7do9-8myhr<{? z22j+Hq~dNlqVJx@x~8$tRsthLzmYgk=(XYJ+0140f={C1LvDD_|cFDwE0AU~ei@ zu+11`QyEB9O3=osK=Vzd9LDf*0R&MYRoBLV%IGvUGK~$lz|0Z-<_b{(;RZ7riCCA! zx&)>YJ+-lE?tMjfz!;_>ua}X6E+;eGgG?1U)4j>e!!~2AP3BA@Gaqf73^de>aMQkup}EGjpPPPYhgD}Re|I%bWs{xXkmI{E>i)rk6i&r)_Yj31! zx0n|!Dt#^KRVQ!bWwWa2@@uCFkFI=QOuKLKdVH+3INNw0&3Do_tqwNy_@5Rm9RHSCZ&<@g zCkTQ;s;=z?jE~aTo;3D;8hba5y`9G1w0NA39@?jA+G8dUjd*+{@z^8rcwgf2uEXPP z=k1#(MZ+&oZ7BUPwDD;TD5AxN@(DrdkFFdFH2+Y>z#2{pAP5Sny7nEQe3Qn$N@HK7 zvHfZ6GmFTX*bHRidNzk}eBkfiF`U&tmd$dn*Ep2q&RQkhL%yEa5dZ{&ZlA)2iu5`q|b4xIBOp!rUsnj#BCFQMQeNyW{D zAZ{)MS;HW!A7n{ERwroQFj;}kTGOC=r%iTpFd7EMX$9@H_3_@iXOa}OciK8=u6?I< zSLRh1&uAKq-CaeCU70CF;c9f{6rlO0a663Q;|2(#K&q~#gF;%6wG6W6LDtMdum;-z zNSebmCx3YkTZ;7g95xr}^GR$b@^>aNgTh}6w>*4kzQcbI#_+L$!iFRjSNsTH3$oTh z77j8s$TF=A9;V)AF}f1boJ5S)h|;?K5|%PirA#toGs&S$9))|J2{hlCY^T`peIv>M zl2l#mf=oIES%)BNA7r^!8qZ-Hl9VQ*lN5gkDgO3O{B%q>A$F$R*yy`b^gG~{M-R<+ z^l!izK6X;nkfh=Z(ulrSko63*?pEk;VuL&MUQXz84fXVlynAfqr&Hu_!6}a%n(xRz zgE4%(PZ2|ss%t|K`QRWM7-ao}tgjXPK5TRE0E4}QALs;c^q0z}Z*2HODg6C#%fpA} zJNyGMhL5i)Y)Dddtq9?d4YDyoHaf^g2H9{cgM-+tjSp(~$fq7-og|Dgh>$LhXcZeR zvf$rw9qFuM!$lIcoO-xdu_GAI7++%*6D{^CHjXI#hOV3fG~W~w6FG&yDSP-LRo99^ zVPcS-7i8xI*;y8XI@kt4(#|u{$zQI(^F;c56+1_o#Ir>H&MG#E!l$2S^YEeh4qp}F zx1g}$i&R~kiSTCx+4LZr7GzU{Y>JgZ2%ELpL2ZXTi8GuejOmEbn#5@$3qFZcok^S` zk~pPFY=iNP*)=9nwAhn4izsO5$|*qeO`#i%;UfY;6iCIluRvj5kW~iR+#oBr5Ol{j z0Fowgo|C^kiIpOKK8bUsNh}xnJCnGO!tVjMJbY-r!ygD^_~=bxLz1d%QG|a z&YU9p66W1O=R<@Q=&9Wm#JQD7uM3sn-A;OjX-GSvvDV4YxE=3t`p(x3>$cuXa&~tR zNNRqFa0Rv*cLl8v5jGH+E78WuK=V!JRv5#_br3{`R9$-nWHtragF*H{kZrW!+$Or- zF2ouLH=IopoGlWZwdkpB4!X~Bwn%VHLk{Ob3C;u3;=0iT)E(q_i#Mos*k)|DK|M;K z)}xJsg6134gD{4VdmsoDsrYUbKs^;?Pg;l`5}h^)@i2rN(NiKje)oKvgy<3U)Siv0 zpKT5zdG|1V@WaoO9#kGBU)#K?Y{oX@S)0mMqOt{ToC-AGRGxz|d>9Z!g;ZU81yptg z*-Jt8f(2%W==Z!3FF?4#?2^FjmcYD-p4w|MwX@qBjOl}ec}Xgr7d#-nM1FUBL)wXL z#%ngDR|(QCv~ft#d_(#P#_;ha1VJKI*M0@013~t4ko_2B-&>r17F~Z4;sAu3(*fi{ z$8lPKj!2viqNjE^=spQO;&3udL%xswEMRj`KT4p!_W<=PIX>bI>JYXWhiy=Y2-IP; zaZu2FgNnm%;^E^@_#jZE>e>l_Iu>Mq1=$}KrFhXVL5M^MH>G1DLB5;Cr8~=X9rV-! z>26AK>7F-@OdlN5UlOE0JRsF2zj5iFD|QmL8G&?b#a7ahSUt3HNYH#kqGuDqM@tBT zM5?YePA_1M(piIaRxh2^O*d~ag+$k|5ZMrJPL0x?YHBKRYK@*+O1k@OxT(X*Fb#P% zHGmV`nBt)7rSlt8{LV~Ww8tLW+K}U>-k>yWGg53&O$bz5v~f_-e1qx+WB6zfL7+(0 zwG4m?rnA&^*21FHUG(cAL{A7erJzWVS5uZmDGxoh%os{p4kdZfHhpkNsS>0X9*}yG z-z;xP`PgP;+K^fiq~2)bkf8a7Gz`Y@(GP+kk*aI$0Vy|~wM%DOI%{ol8ZNqy5Mm^R zn^P`wvDT)J5~oqDS5rFyn}gCMP^~>cjV8w(y+IXXo6*4r#R$|G zv~f_-e1n<@WB3>cL7+(0wO#<#Go5u$XI(8y=Zk*DLQH~iQ|c)a1c_8#8wN;2 z(%Im2HZYy_w>VXbuJosw&~qMyo6`{FVpY>fiPIu7Fz>gHNO#}=AL-ySOnY8bg9UTW zYoNrdzXz|2xqpR!xG>Ti+ker;7-3@@PS`F%8^;FCH?}KiOnf5)g0PW_69jzrQIyWc zrn4~?vnxfvtAw~3!p*D*`Qw9*YGsM4oh>oDo(xQ8XT>l(+hHb`nCXfm8=G!_W-y=g9yC8P9H?f=0#W>3*HlB#BMjIyv%{Q@oXiR*x071k^#kV$4Xr<|_B%Mu8 zXT|AkqQ&iA(fd9jHbS_$l}fcXL*jNndTM3q?vKr8IKT|kkQZ5rRAiH-A}f~OPxL6b z2WXHP-rW9&ZAO{RZ8~v#5N(_rG~e8whB16R3PIdR)wTKHR+Y{w(%GDJHrs;sjOe;m zh-V?((5ghfd?8yTLEDC&+QJxUiyUZjm6<+xl~qWb=1A{ndobHhV=VG!_8hhu3vFf# zh}jObac0nbGkXul@bNkXF(VbfQv|bUI=jT8^}guzfe?Ej+_a*|!dlLjNwhvhPi<+s z`{va$hn8U)@)Em5ASYZSt-bFfa^!^eIILP4so zT>%s;EDqm_9^VP^J%pRX3aM(YmN@)?p4wG09Ikda$W>$daAEk7?63C5@DsKfSJ@b@ zBn&^Jjbni38^fP4hL1xKgn?9DTMZ1W(%B6biN8drzlAsk;U=+4s)$=9635X~yCvOy ztL#>Xgkc);inzg}B2JKlTfI@xA2%{?u~FPiC<18XD4_X9fxlTqDC$5E3Q~1#9Z;;b zI5ZMHl7(mt;pVVbs)!8|hbHK$-5JASgTq0t2-AnFB2vhHgExkz*k;^mV^~iZnxTzj zfaV*+LKwqGIRs%KRoAux!_(=^NM}!^v&SqRi?B`Gk}hr(cBdPKPdiB&hFKN#Vc8QV z8M;x=KWW8_@tD(y2RhaMJfvqSr;9Nb&k36EoL0aXJ}#qNAW7A=mypv7>1;FoV<_O6xIgV=zKrJ2~{q$SV9`yv5;+e?YBb}*g&lFoigXFsH~ z@2tc=#%6b72c^V*krMmK$-wx*N$fkP*(0&oIy+41eTp%8deD5Q_XCXK;|od)l2m*L z3+erl&VEm4N36tt6#ae@;%5l=lKuzMTt?R+%T(>Sw50!np4zc=_hNBeVqzNdL)-5n zd0wMOocH#L&jE6F+TWCv8I%mL;0xaMGMw9zaprbxs(Ic_O|X@QvuZWo5eJWtAr(>*0ZHGIuYK z_4P(J1zn6jHnKAaSqa)WGHAY$&80B|(diI`j8t7431q`F*w74CkiiC7)G9>RN+GHs z+|-66C9Bd3C2Dvwu%eC5z~Nsiu|fxzVH)xh8|rW|3M5{GoOZj!=9A+>Z%_-c%@}Qi z8bzQMqK$)s<{Q*97{kYZAqW(yx^@mgot44HWiZ{Mv|RMNT!?B2H>I;gBD}UHNR(Ef zr*>Wpr3nrtxu{GZyr{-WkaQ17E6MK!Z%9{Qn{l2E>0E+zCE7S7Xnr8|q{qtAgFYbW z2_^)IKlel1->QIp){1@7ihbOQeb~x82UvnW+KyJDB>K^+^I0qVKyG}}O4Jga%zljb z&(VqPR@L|r@2wxfpX?#GpSQyBOECmb1)A?vt`({9N0z`BsrbGZD!ph@1 z%45Ho#~{k%8z&EW(!LUDP%g$7A`R!~@846r*IV&I^Bpfe69hhPqBtQ*)wRQj_t#eJ zKr8lhEB2!mGJhz@ZW;ZrPRPaq#AaPb{48ST=zkP3S1-Bj74rce z_nN7Ys%w8El|NgtqpjF)Rvr&y15y+v#L@rh}P1_@*Pt0_xK0ebyAHaL7>Q9^^`lL(@ zzXL6 z55f6$W)q6{O}OImLh~K(UKqm%J!ypEB~{l_5pRo3c3LKDYQ_5rHn{iF7EZjzX@WaH z05x?2uKDBA8V|WmqYOTUbDjY--x+)dWB8zFk5C4r>RKi;$jD?tEBx=#>JC4{317w? z^c8&;MgIeQ^XQ@Zj{bKT!v}xb2_&hy))vvX$z<7?EMz5cloD|5s%@MEjBJU2$X5pK zCP69?3iGL?w8T6zKQmqW2`Obiz z7Xlv{W(K6}vtbZo!YbDS{^rJ_Mpj$Tx_gUdUF$4VTYC|)fJ09K9QyY@$-uH((xf`Y-U%L7` z$s2v~-dby|Pr!PRv!R*bRr8idPi!-WWLmd83W!V|+Bg|#zR3)PF?^g3L1ak9<0U|5 zbS4{VVHqSk4HlvR!i{CL$f#O*PStb?%MkR`#>QaL9V~K5m_GOsXru>~q2x>VrZNoM zjIlPAGl>d4ScOx8=9|g{7{f;q1W_SX*GfQTawaRzWD_kg|MWDH$w?q|_!emB^G>WT5#bV?Ji2%p^mquFVFS znVD>cg++P@3C5!*jJWG%rpSob%UlTye|*TC7%X!gEONb=J~)*b9#rUYBidYVD)iV9 zV~$OwoTw~78?P5=zNwgx7x^!IP`!|f2PJ^YMVV}2CYx`8S&j|ZP7fD>sD^NZxd@3^ z^>V2MW(9g`mt?xv)=M2QhH1#_Wuc(U$;|g4Lys5HF7+mJ1-2QN*kt}oWUfRTCj-ql z8G8N*e7GM+ayiH>%VbL|EdTU4l4T+zUN0*pEc|gKD`K#$bg; zAlU*Rv|ot_klYSVw_1??>FFc4N~Lp$1c^U=WNi$jI~+)I>6kuFoe_Wd$Q|B{_`^rm z+Kko^Bm3ba(0ns`4RGM&MUxS!x^^EJ-IK}gvM`xXD3KmR;;yB8q*{7F!t^G*Y4^vh z$PYM}4AYR;(p`RQi9g-s0dG$9a1!Hwo6|<(L=Pq5wFJ#Kr_W#vA0I+cEs=^}27%Ki z3(`K(W4{oeL%1Prl4@y-1nCR()HcUJ+TuWxYsvI+>b3MGIp5;V=qqe9HrtFIB}QMP zjWdGgo6#W{!^e*h#E4XU?E{RS&SZv#>9FW@M2O!Y+?bx0YH7QK>38(hw#BU0+Z{}X zX~=8I@LNkq$@_M1PJdvVvCZc6EOGi1ZJZM{-<%TgBWn0K4j;scRD6{LoL;aXC5j$( zgs2PQhV+6|OD{{1lF(Dz6$9yI2a;S%rjJvvrF!K2Wp76G2Y!uRHlv-yr~%qIBWS)E zX)uP5RuII9R9)K-MxSM}PcqrZne0OgR$FY-_L#S+#7$-=W8)LEp7>2>6C1zDjQ7?} z=97JM=yOUX7enw=p!rUv2aMsP1El~-DsD0(m2WcHSDEY!E03PofE1FkX&38g)!x%osP$H0|;#M;f`ZJRq z&1An>*_?w7NK~4DKb>sk2{FN>M|Ss%zPZK9t3> zvRErC0eU78w%;Yh-4O1hWJt^azu%^1IrrP{K~Jqsmb>;eCwId%g-MBDQq)3*;G0bm8a3h zsX+5hWhac`V;cn33#quf3@Z6qEH8`ou)ypR{azO06$m$&d?aFB68DwByo#P$pDg#j z($@iFn1;Mw@&sK@riTZa*T`94Z!){F&FEv3IfKZ&jy6sPnr|{6!x%o^g&;Dd;?YYW zGdPP4w6N?IojwubQwTSf!6GAGFT*7)^dKi~SPYio4i>pyOdp)eKo2VX!B4}zsnFA# zjA1sFp+x0#v~eoXd{g-a#_;hi1W_SX*K|-hGm8~kRLsXd(es?p=T`_fl{1lrRV?Er zDu>Wh8yB+|jd!RRrXequLV@<5k8IZclf&eFyf-KQD5!BZry}C?8~Srj(0p@J5_#@_ z!Uu68Ro5nf)43L;fann?L_CBW(z#OU6ibj2&{I1<22!yDNiH4J$Eh<)BDJyq2K(=F|qp@R0>UoJiHRx!_c8 zLDEEzwnDUna6>AWYN<+sl!KmHWelV$2a;S%rjJvvrCf4e<;{p5qh(auj4Fsxd$e&z z(0ntR1!MRqfgnbt>Y4#YPh_#jve@P<_DB}nWbvAf&Dzsh+OjNh!7_xtmh^;^xAB-+ zRdnUM*@Q<|zK>+_FLlyy1va617k%sMz^OjuwgRIXPiMtGHB+?M4^euGSX81bX93MO zi_2gPAM~6fVnM2|y#N+Fve@=4_G}h=#saaFx|(0uG)x#H2*wTvhFk>O1q*&GdRDL? zAjUHS1`!cI{dkeGSPt(z3uwNxpl9;H$4wMHB&oXg2C~?l#a_)~FK4lxRu=S#9__7| z>D*l-1OCg8SEbo}*_q9q|2Uhmk1e|kgBowum`%}Q&*q!N;cj&09H9B;Ku_9%kNY8r z1F5?9F*tmf#XiVl?`5%fEDn!TSFhRp&|zVGfJ|}lLW8PXe0nBwnP*@H-v|N`h2f`w~ffp2hZMu}`fG=;=6~8GP*e+3fRlpp zGa|HZ@BAoo;J0_acPjE*kwh))i~C8IpJF`YaE)3NEp{y)A_||OE2jX>H-%qd3?E-Z z5Cu~4H>W`1uPpXQ7W+Mm9kCG56Ndmutgn1Y`OC>)p29yw`g}?GU0PC(i2R)@JWk=$ z`}1yz=6CD9o@G)>jkoAWrDj&ETn4?{(e*3OtI z65%^zhBJ>r=WVJ;>6G@%?ikw8YD}qUv8S{RF`>X}5NqeDZURVHBYS&c}unj^h$D{we7+=a3kf+2V|(0pe@ z53qrcvnUHlQgy8lvN>I4`6|m(Sr3(Uv$EljrEz6*x_37DQZ{)~20f(r-D0!pOWDxV zZFn}&d}ni!$c8_`2EIteeFS7PSY-oM*5AtGKiHrRQ{CsJgPl~2fr!m2)BYkCDpNYs zS6okCt@VU7_7vt)3~3CjQJ$j3F3+KaAd0RW0W{wT=rJ_#u@r(PlvG_S1cFg28)4;7 zkE8(?QI$nhm7|>G<*FRv%%eEh976%pqilG9(0m7Y3yk68ItmPuR9!n80ghK$k;=we zG2V&|+PN`@gz-+8Mv*i}WB*U)Xf1{`&aE*=qQ#!0a|pp5=*kg5^NoO>Py-(uAP51e zx;6<2&R5w4EB^=33NF$do$n+s&(Va~IhsrX(nDx?fY5vg_!Nxc<6#O6l2l!rg#a&9 zS((Z%P+6(UN~}nq#%8TNW^cOC3Dzi+X6gcGri@at8qgJ937Sv!;Jppw8Ra#mNwnD0 zG@B^UBWE}TXuc`Xvt!`nMF^t6A0?wL1cmu3t5R8o%H~)I-asD!k`CVUo&4p=s&XdF zsE`)JIU;{&Xk@=Dg%qt)~y6R)|kbf2}Crh2|4bz^S82^>h|BsZib>EOb zs-~;>)!|ZHCwY8WLC>l&mZ;W;6^n@zJ-CKXGc@0vj!+)r*)lZEr0Uw0;IvX@)fS}R zM5o_{I11s0v{EF-Z$4imLE;aRF(F+Y1L+zEl3XIDD}E+W?ZM~-#b7eJ#+wm;V9eDv zqpOIK{lFM#z8R&9AIZ}bScnm+x^@p3-KDZSRkluLYb{b4qH8N5G9lcg?m|jdIc=0k zWud2bpX$Dj+2|lLOhaBrcM9B`(K=~2TI<0}CC3}RL4~l*xX%W4FM$f9jTaL%-=I3f z7(Q|!2o$Nhwi%!vQQ0PyJ!nztBKma|q8o&p(jy{4UQdrpl)9s*_E-$1#~n&?A(=in zq)if}2R$J5Ais}$L+Xib#$z_5Ed(hKZ5$Fb-;fGn3?Bs$1c_8#dmfOUQ`t6^ZB^OR z7N;?y>zP7~g>Z9v4!Ky>^peC$M^EiV)qO$rlEcX`4S6+f6RH(;(cGUKa`S zYI;YabOCy5Z^ux2$Dt%wlj(y)dQF1#iU*|WA)Zcd*f7pt1SkT_jR2IeaMxr%$;(t-X92bW>m z^P<`-m~&nqNxb%W@LJ6Mi^JX*-q@C)i}AUQZ9idKiZ+f7ns02k)0p@M1O(LGL2?^O1U#f+YTgzamExC6q?><5u2udM?Tv-Rky{i5PFvVe6iofjOCV3~#-(03A` zZ#)3qNzM*R+>iOeyHjA_Wp{3ek(>_O%Ua(2v{%#+w={B4u@i^v#g z<7A-uCPR-0rpY6KERpeXJRrnBTZEQbPPrAiovX811;4;Ahj;spWg*I2iIgr+gpV zjI@w-PMI1)avz|LgM#K8)R!=ZkG&97LZsrx89;?YObxM2i_%x3-`7HX1L39=776m5 ztF1)oTlCbl7)os&O7g;O`ry^1N{})=Abm%E+j>L#9@`AfhSY{2(Zi-VBxt@N{Rw0E zphrRxBvN&)2OxC|u`VIjDa1O2SbGcAU!wQlLL7r|qw0oqthKwBgo>W}q~(R&H{p6Y zs0`DP7gQI)o3rX9vFaebZ|}j49wMdn^5#ZQmNN2eZas+`J!Xn?gXWuCV;I9n9SGt^ zDt_k)ZUaNCe~9%Bu`?`aO+?oeA?Q(0ZfFBVzP!GMO3>)pPuh?eXhR)na($UTIJ5o| zr@qqrGd!5lgQc{g-puG}Q^pXRSphMl=Sp#A(0ns9AJ-Iy4`N2DuAK>Hg&{V|qD2pL z!bW;h69heE$xW*eSy&}jB+;TrE@^tmeMhaxp=Fqcyu?NchyUL8`8u3lwKt9D0i$rwefggqy?JQq@e9IMAb^vV^ zBu0r&qlKVnIk`zpl`5i4A~6O%wdo=E{kt-Ugkc);ikRY25oeNvGH(=PvCWunqqu-j z=xF08p!r5I5ytSrA5jHKs;-p-#Vm^hf7nzYS}ZzFf^c(~B~?U)#DSh7rOgfD=B7B+ znMfyr6%q&2&{YQXTq&)>J9m1%lrh)NeGcV56>U6sXufm56vpsDk8h$fAQcZsM(!&@ z?D7y>7Gg^*2vKa)7KcP8lPHrFQYM$1r9fX}S!Uv(j|^~k^8|flU@UPOJ)R56KcDQ6 zGm!i%DW@eEi{}K*cTU&97(OniTp&r+wHuMs^&xg`h+S{MF8T@sYqPiuXFW;_*WB9q(Eg!^bL$6OvS2y94pA39;Kk?3NH)ZH0UXwz=nE zjT5qQ8)Bmcn&#jZ2e&f^tDQ!VIf(s9$2!XFPK?MigXTN4%`k?K2Ph**Qt`7zWOh%8 z-4$YYT4`;;24pPF#63=0@=V<2&^PXM-iw*oNbx=fS3F*5zTaIXiO5Sn$Q+#;<9Z=$ERIpi+7El#S2X~@^b2c7(k2b}lz zQS&Www#9p$cpKY{&GtI+D3N&wZJZ1=-()_8F?@UgL1ak9UlIeEr$X#W3(IGs(>@{g zL%6X#C9>eBTiYZopQEStYz&rd4i>orOdot-eA0u;7vyW3H!VP8@60z!Kw*=-0dTOtQ+`GnZ z2aI7F@_Kp6p<%q>ytnJ+H*&Vyo6PUnX1r#Td6mce_oC z^G=ApWnrl!I@J{-3Brx#9gzjEmpu}ehGbygkNO~l1w||z(`X6bBhfMKd9A$VL8LMF zBknux@dncbU5pQGFz*wX6trHIPs0d#WJMh#6FWTedY91amhkQ>%C61$B{yOn+Qj1 z`XH=54fl;VK89_^*EYVd2ww-ZaeUBxbN9+Jq{=(ya5DaK@crR5dsLouj$+-}nm~glgfTNUf7&$>+l=_I zb!RIsjKt4J8;1zZH^dn*hL0%_1d&u-O9sS-VOBrPlEUWwzY9gbnL^Bha1(48rd4Si zU)oY6g5~I`HHjgZ;t-VU&+*$#^pSbu9S_Em3JLXBIw_q=qdf_`d}rR zSW$cqZR&_?m9TLc68?s60WWE&sKFqw3*!okx!3h!e7PoNYxR=D4V7pajt?WrQ48Kh z>y)x}F`gzDy^z{R@D1h&MF~0Ahl}D11D%XzaQ>6&Jge7@VPgpo(2O&jcSAVmMnuvX zL3ZI&{Gg&J{U{dF@Q}j(Ri+95;uKW;6c%kFXzV&m8q(JZy6M{0Vb@@GCRg)JR{hIN z5_49CixLV0-F5BSnBcQ5R@d?oZt@%$n@q^{#S#F zgGWp`zep6cLFH#PmeA>B;FQ1_yaG`Sek-t`FwhT^Re(z@RN$I0yDiLa3A5E^1r9OR zxGL}-q%aiyhdINqL(_0%N1I0K+WN4u+N%QBbE@}xQvHVtTnC^z_wouHrE43)#%)p+ z+J&)!4{+bV9^gJcz-V2&J8aw{s#@f37slOugpHmf{6k^z6gKh^#_$Tr3dHUgP6dcz zc?F0}MFj|~_C9i^dkV(#3czIeseo57XVLpnj1c!gU}m|hYbn_UtZ_DLlx?oy4`8d& zD4YKJ3m+H1E?S(8Z)s<5B^jMdC!3A4@t%h*I#Q_WNd6rxY{+k#4ewO>JW^<<5@}dT zey*v~xG;`~`j-gxcQaH{b?pp<+B=)|vO@hEty&%e!=JfRqVo_Lj~LPXsv5ns>Dkmg zGNTvXavRpLjR|uh zT8)Nn>@Sg;FdMWHFc%Wc}C(^i-!oZxuz-&Y~2iGCF zxDLr>Z{>>U=4v108gJ!RFZmnm{AJDBwXI(AU8qy_lBJ<8^n%s7()a+Im*Pb2vStc4 zKhEC;x>qk**U)$;7YkGS#Z6VE3trH>O6r}2-WwY7vz8`EkJnIE-bc9zWS-P572Vzn zcdB0cb7(7hivCPQL`>lDw>q-d$GL@p`BIn^$NLoKaWm@WILOhwr_qXCdq=YS9Ck}z z!BBMgd&L>5ef5$@Lkb3bG&FM1h#VSn0T#NCAQy7%@8|l)eo0~AVq|-XuI&T%PjlH` z6Z@r@2N6Lq#XLPafkNa*$Gv6qYYahX-q`~8O;y&T3E zbr}TJG^zMoKnVYCGzmu2N0LlH%9qjtx6tu@?(*Kn;J+qYf5WWU%O zDVzifM}$argK8hayZFU8F~!g0U4wYF1G#)TG-4iYmdmgpX=Ui1&qA8yzQ8$)?VXeEf=fkqn_Eip@J<#y7KzG+!jFF8T`{H-D3 zy}dOf96=}gL66-O$0uoNIK+1nyC7TV9jBRChat_(0z9)E-n<^oMG5(bb90X5(g|>M zgF7_7C!$GdyBKRd>{8AGU>x{I zT$Dpx0)LI8*8qQwi<3#!VC;0Xy3_HQ@09|u6VpbD$+gPxvKNt&pM-jGo`!U;5K|I= z6 z>~gr}!?jzAMXeTV4EhL6ixTsH&&@fSOIIt=%@mcjfLzwhU3Pp*&4X=p3z^2}oS>q9 zoUC{q@r#q6sqG2c9#<5|f#&y=A-WaD@bNSR?Wd&T&k02E=L8}wKEeVK^Ze#n(Qlg& z&p{Z85$qg!E$Qktx&sYby@(NrSSK0L?P#KZSYH1O8SxR|wf9_WdA*vJ*Q@#R`aHU7 z@e#_rNn^aw%)NlNqWJvONRAlgMe5@oWgVL6-zkpr61swAD%HU*yf^A0;H&K=JdN64 zrgkThT9@!{dd)YC&444(;_*|MMQMylcv*Mcdiv|FM49H3sNwj(0f{~ zk|O?BtFK@TANwI_)ge{aT4A+Hx7Mj|M2~NU_)duLh4>Ld*TPao=WCIi))BMGJg?Cr zM%XH*K~NK+$D zSDfe(J6vj|%o#*4Bl25Ea@s`rxymm!GsubLw2jFi#|+0vcUI%6)}mmYnT7M(@m1jf zrIsC$`%bs|RxjBb7BK9bt(Ci)R_I=K;7S-KfC%W7|kh zJ25AJkgJeXRB-<%+F~lLeIzG0W}e!+D=k8S{UyBBQf!@24}4*y*m;$@Y1rH2#LAf) z$%%+4kHN1IqPouO%IEz!4OHWFmW~nF>2W$MYR5SmC;;hRdbu~^Z=JF7)gsm|4t6mp zI!1C>42q6!6dibo@ie6OUPp=Mb>qDfsF!P1=U_a8NvzRV+C}yuclw7@2^^NZ=vJGD zCAr#Z|Dk{XY(=Q7^Xphjbr4ulot$n|0(B|K+UGZ~J5M{QMk>y#B@TbFW7Ml*Atg`K z`;TdOGOZ6wgx;M(Z$R%8^I0UPgE&Ssq=xvMuCy_k-qXsT`7c)f(_joAO(AIICso(- zu=4k?R{rK_s#(xpdc z)juNjonWtiL?J$$*DsROpC+xf+h?sO!x{W!*cm*gBdIm-$%*bU=d}H3SPjG0oXn%h zMogx#bSASM^^cv*R6d!pU300cyk1bojXb+Xyu9)&J#`%etcAgrO!LNlq)9Xy#W2c!)qRQmw zR796k@7mQX2yd_5yu6CfKx6ByyH{6luRTsZfSz7ny#vVe>gpXpFLdP#Q=fmaF!hBo zcG)u^Xkj8%*9x#O4T`V<*4orhbm}j}KnU0FZ4APx$@kfqNt}8Nh*_xzQ}5VWk2kwf zwK=Pobnh(DyddP&5$kd&TuKg#u>9GJcT+k6ZyG&;o7=5>6-A_OV`}S`r$=&%Xx$p_ z_8YSbw&SZTtv9)RxfD@}-P-k8hu6J>t~j*tpv3KiT5Y|TTG2gbsnsdukwjNs52b|9 zwhs%Q6i3BQjAZIUYJP+fI}4*vV((&Ii~X3BgznUYXXs;Ls%t}?({^o`Jk!z|%&&6> zjmRGx$r(eubQ)9`@+(Fd@)fT;E!g->X)JXj_r_2<-IkCzA%*kKv|Q0HQ&c05VfKYj z%z___aNJ2ulkC}}l1r#(I9?mto5Z1OmTrUCX#cexb!%i8tA-l z$iG-z&WAAwO@JU$r0UvPSX{Q^k(`MUvx(Q=h@9ex zaSkuFllc$lozJfu$|$M{5jjH|g=fgG_qi+kveM&ve@2bGCe&7~vH8p;({o*e*K)T& zj_(C4KKBiU48s}MxjjJhty{;bZm*r^8gqNBL&=kKAE1V(dF078q305IbLTpb z-g{TVd>CSvm>9`9U+fYKYj~2Tt_Bg$(x5L2xPy^g)JV|N#YHD`;RzjUh&0MB*z>xv z=EXbv|DYS+|Ihvx`~PJy#(sY(1nvK%>e>|S|C6l!e=(X)w#QG3+2fZ||JXgg4hIz5 zbvbpFC!CjrXV>ae@46zkt0BhatIccJ=wf=(jeIEzh)ayv;8(^DQ+x1NpevuDl7BHn z*TEPwa}5N|5UKc`9cE~%HA8FBRC9**Ax)sf`QFr+8CpmEV`r!d#~$1DPU;#vL&H70 zZt&__;Mw&qudc&9yWZ{9)!XYmUR}lccx+nt#&$Is@e-kvb^2$2KQ*v=Xxsaz)PULjU#Zr7xtCRIPzGpTMoXk(3Q}^>f@)KJx-gEHasds${UHSfV z!N1slw!j$s&7%;s|B$L{GqL~7u=bx9(NuH)`57euR@i@L#OyyislN=J_WWedHMZ-^ z)HRkzf6uP3cy*oX+4WVguH~LxX}zlvz!cA}yS=)WdUk!Cy2cXlj`a<%uA(AhVbOO~ zYIybT`WCvH^TIC7W$vBWN4ELLc!v+?c_fssRvtMWbymSoR^!i@ z!)4+bb5X_kiy!Ea!@KS!GrAg>^)L37?_msY-$Ky7LaMGU!oIQ~!sbO-rM1WWfDOii z2>(_Gu9}b0rF`C{lYapf}_f=(TqAzQ`8cV=l7!us>s1*Dh?#qtiv) zD*is(+>3>=a|7!DnaDM4CDgwvF3!2f9BXzEW}NRu|AOytFb1T<5X6^MU0Vviiz6&* z!TlYru39w~Q!ac*jK(ZQN70u@v+Q3)lN86JsS82Tkg99dh-SGJN7~LK=uf@X+SnLKKP=K*O38MQ{l^*hh+3OR$_ny_;TxI z&GN7-AK_m^#TAD5f>9IdA%&2Kr0Ji1fX=&;N-u>5o)!^b2>Y>#ZDS6V!#g#N@zt+} zudB#cGx9aFc3-^HY3Rh^ulN`6!!X7`Aqav`Dt=%A_*Yx-vqg{ALbMSg7ec#1x?qKE z1Z}!@z0;_ziWpbhQ|586<>pAvO_XMP@+J%e-BDvOxDLdvvpe}=N3YoPu@;4Tendsa(~jh-9!0VJf6q+9zJowA z2}#cYtsxZq5>Q!W-;n{_zz88g5E4iNqSqzLBDjkp7Zg-b6j4zDwN=0c1sB}#Dk^Sp z6?c)%1%dZ_s=BMIC*7_6``_nzc^*=8>eSgjRbAcFGwI~!tPr18_Mm8Y&`Qc%oon35 zzu&f+gX)>=0p`7Fv_0RRr;=g(RN^_1zCiy5eKUTy`E~W(*c$BjYQoNWPC@W z+#GH-*wu=@SLb4tvz7u4feBXT1GzaOzoCDd-$P_J%r(->?vc7boSVa~hLdwKz3a%! z2v;vJdU$yxH-}rD>uU9qyHyUX9;R5MV1>zgfL@QGJnV&0(bt-Uh4ai0Z1dLBxUm%J zY<0JHaL?g`E=Y1#c}5>~Y(HKb$fFeTLW(%iJ0c%+5eD(|%kBS%^UGuyBTyk4I?zc> z=o@f;dCWS$OhK3aWUld;JX8Gr$$hHuS|plF(WvH?cI3Qg`N1%gA~jR16*0|qjr3+= z1eT|fnwXHmb>!1F*_F?)N(7`NaVXpcHVQ2Alt1V)?GX~3UyyjNmVn+{APaXJv0WV z6JwJ+XWF|m4)1a^1Cw3ObF`fPm6Tbf`;&Rk)37VuqJ@*9*}J?;H16gqxWT@@IXCBN zv9DiE9Vs~m#h90r3Vi}i|M+DceSO1t5{0SPdeo`qy}&1FK4qBaw^A06|6~{HtW*kU zT}CbxS-wD7E}}T+`NdgGqv?Ir6aR;UZwZVM<#sf5@R69%x8dO1VjX;UpsVs#GJTU& zY~fq@L1`Z#cVawG=f(d+I`_dCY1~U`pd}H{3r0FGS?Sy_Myx?oIV=0x{iUR=9^{^0 zRS(mhxjC=p>Y~d$On2rQuhL;k3qLiUw}a30T9_KbA6;^qza_-SRXPT(-vQF{-lfTV zh_ZBCUve|PT-6Nu_d)TAAvby$M!2ecEjMR}xT<`_nLy<;dAIj?qU$j(VHRY5F?d&Q z&YMX!?sC@n7B_t~Da3trAmAUaNbr??_gbwl%WHY>Q>~A|g~tZrUi6S0ZufXn=ofk5 ze;Rr>h2G#6TI?2Hp}E}?u*3H7W^T?~VtaU!I#P1pBc~h5X{C3E_PST+ZwSV3B3n8P zxBnm3{T3L*#|vm^-IJKmpULUZKCssPRx#owH2O!m#s_?T(|V+<#wX}YLKWh-#31gY zi^$C}{E{qw9j#(BT}9$+$GxoI$`^N&ga`F~IdC{4wA*d%#ZTfcj#<27AEk&H?lrrSP!L9`J^9fF=gK zVh?!JIp7QoSQ*FtBP6*jPP6%zb3i)`SQW<&5DZws2fXbZ;BqtI9gN@$;zM;o3`+^0 z)igU44%Z3SiByZ6-86s1%<`g=;<7|}N$G?sg&}PC)l);wdo&GIO$ql_hMwa!v=1M8 z+#DJX|K2o|-@A0m(4w;P(4v%3N^12`I8-sSY6ww}K{vFdV8V0+lByb5A>r^5sQQWH-cbwvqF(AAb-G{Fxiac(4D*xmtWM~?omJRi~6aIy2sD; zUU%1@`MEwOT_1K1b6orV3Y|x>zd+@>9K+$Cpz=5>vEiPSk&pXC{=?h-Z@%tpq+6Gk zRnr{@x}&gE=sXIGK;=f^pKbRLB@@`}taku>SP znUDJnUmrQrhwkH}1#})M#(mwlmF`>nxNqg_BTxG1?43qOFBjo(d#F5?KseG3N|!TE zcXWH6ar(%FdU;3f;TN^9d(?h@QO}i8hhvz>Yz&3U<470`l_!Q#P`Y49pxYC}IGNA| z-circxIhr^={>80LYY04i4ubmA>?k2=jS>MR+x*w1yTyX!JP*H=l`S74Y& zL3910UhN+B8o#IuWz>0ouCI4@y~xk?+tT%$&S8%2{B`I&iroQ~>+FTYuR?Xs?8%c0 zOZ$|}F2+5Kh;`>9#_wUgBK68Wj5xoC5sthAW%44gXbvS#ai7VgKfx$v%{!9b1D!|G zA427k^aoH4n=scsu{(%xDJ((-7_03^_4OUN5(?w zb(CBplOB&zUW?%(=sYsJKt^`Y>^!Njlo^ha88ZAdpYT(m^I$d^Dv!)2$;j@RO_cgd znS~?8Pq4zGvG@ASJ) z>Rl4v2&GHHo6zl<@D`cya~S54)w6z4x4K8&<`?x%8Fi<3)YoKG_rr3#)Vr{F3rZIj zyU^{);;_u>AclEN-p^2ZVEPd%zsdVv>Rl2(0;NmBN73z>a45sN20ejc9$6iiQQa~A zA@wd~UilEywtNJplIvD1Gu@+Pw3DqT4g!W-{R@hIwR_ zCZoDzY$Ek8S!F@#l2takJ+opmt5z81f$Rl3U1EovCZPD$SaCez- zR}AyWsKKR2Ft7lV3-HSeo%QN+y^Q@jJ>7aCE+1Zx+FXl z-JS`Ll?ji=uu55pH;MB3itKD6%@pHXZx_;g{%yI9{fX<`XXP|POy>NIlRARX)%ZZLG zeluu?jJ(|^^2=`S#a8m7n|o4m_wP&h@A$ai1)WD>Z@NVm`@-vPk!4|@%E)_sB7f-Z z{sUk4-%9si`?%i^okw9`c}M<2Mo!wD&0AHUNxj>Q9+8>-igC)O;8;t)K*dmQfpGn8zg4hst9T>O$q2P!lL!5^9QW&xACYP&4nS8Gcb? z?os1@QQOI=48uGyI;P`YF_4&9zv?Q3Rj1z$9C40G(7pF!t=_*1AV71NtLHUp>p3u_{^K zGnN9KM`2;8JZ9{aZ{+$iavh(@wY=TefXaJ8q)YcreB7S~okw8}y(05VvTW%-)5m?( z*T)&sM@t_c&7t#1G3M*OjdY*u<37jNM_1{ilaG%M(0QcT&e#3f(tURy_j$fP`b!^u zywm9I9Pq9M7QTAc&y&YCx${OT`){WwP)NSrjU-XN* zLq^^1=X$5R>(~8U?~|^-a1L```$6YX?59wI_ZiYXzL~D>;SK^#e0{W#K4RW!V2pc};V`c6 zz1DU((h^FSGmegK&ofS2nNVx*sIB~>wsVi#-Y@FeGHQ1W^H?x>P`OTaINSv)k3&2h z=>eq+hMws5#4u1M)XzI=AHS%B+@lWmi#l3HJr~0~FpPl86$71k$GArw>lbyrjC!G; z>x#Lsn^yX$g4*Uw4U&p3xUj`_{dc@(=5 zD%aTyho6MX?>5i|saI~e4CJ@@!;$BqOkU*H*NR`2NxzIy%9?j1{UUT8nQfJk-ERfG zAoZ0p!x{En8Ge^f_&2@7zb@Uohu$ zlRl17UbFEBbRNimlabvsJ1X^+GQ*VA(yR-b>Y8`>s?d2bONGiKvj|jvhjvKnD`ggr z)P~ZFSreIbBaHH5)&M$>%<9R=?#${)eWlF6tfdSe_X)2-=fNxsDv!)Eq4N9yKMJKE z&@`#9ly*3xL+J&ygRH16MtK2c(0Qbt3zcWuIZ*ngeY(_FN*lC$%G}PvIIrBgL+6oO z9#o#Wb&;{%S3)PLcgt;{%&i~BdF9pzI**mm8!Fed>9S@JlwLD7Qbr!;6M2ZYdyu_A z`WWluV>EOg*^lyeAC6oIrC0V7WaNu|B9HTSkL-)3k4t@g6hY^a{S+_v;cy{Tek-;> z>MN~^aHIrEufi{vNzcJ3uLV;Mo$IOyhf8H-_w_nc>MLaiX4lE^*I=9nm#e&^|I6EZ zI5H2)_$%LQ8FpsP@$f)j1<1wjs$!ar{E?GT|ZqKZ?%dB3)Fb|B| zpz=s~3sim>pO<=duH{O z%<6Lt^T4URwD$m*Dk>YmjRsdvfhFDPBII)QG_tkQ6Yi=IUm4mXZ@PHrQpJQ8jI zmEYvnlX{ng)1h=pIErr1gj>pl;~3_Vl_sOQW6Y9zm#lOsU9vhI-JV%>m05MdFpp!T z15_Rfw}Z;_8n6wNevDg7y-PKDP`Xsp4c(sA^q1B2!7z`Mdqd@!a!)AzQa)SiT~ZzZ zrAx{K(e0V?D4FsI4D*ry}0H%Zrvox>dWyRL`Mqu2#dxz1iVJP#_d+?3@+-!bB! zI4qTsm-s}!&D;GgzV7dn?pOM_zZ*J_!j^kSUgjHlos7KJC-MW{?pOP|e@eRFfN>tl zKj!Uyy|?#pWFwR=2l*y+dmiLlWJ1q*M}5{W>Q?ut+x()wDWmShFb@o`LFKVHw?pNz zIKz>*pmf2o3*DX=K9mXV_Ky0VU(}D>qwevG`n8O@55qh#dn$J0u17#pD5Gpier6`njB zxjmkR>(`W&C8CYoVYYWt8%arBD&*9=cuUv0*TZe1WOivmVWQ{?{9SrYjG(tdk0L zYB=>44|Nq%-sYvm{geAlDr-g6DG!DT+$`1|8C9fY15G8>_l4J<_NRMI{GkTURX~;`96vR`@5a#0vkE zx3q$Hw+fl-CdGUxYWTfYp@O2~$t6lAS8_+;$VaV0ldxz>L-)4uBh%u zs>S7Ft&m_iCG|JapZdG#PyIvmM@|S9sV7AnIVIXEA$%QH!2Y3CsHk{S;ao>5-+84H zjvQxZ2B7M> zd*ew)Q|sr7DjS&n4bA>WX8&nse`B-1iRh0s-+|cyG;wj}*m0sH4 zIF!^nsX&k=5TvvaC8e|!C8g-1q?FUm{xi(}9J9Zb*`I6nw>Hr*6HOb@pW4>!Zw~|! zESwG|l8&OS(#dQ)^Ojb6hF9T{h?X0gP>^3#oIks)Fmzp2%w+x0wV~>vil6CNh(xk; zLzBGq;Yf41E}1cNW;x$0%!6$aXBSUq7xQ9AONtg&l{!`HR0Y9qoFHZ1#Vd1+>LEBs zdYSe2rZz%WXZlzTFlT3^N&8%r_9#I$k}$oEmfreOiIbEA-P|Y6@rn|T3?!AZLh!i} zIdS7eg`=4B&9ugwX)kTVP8}cidlH3NN6zqXBa~shTPMKx4rMah}pQ@ea<&AIRSD5~; z;gdzx6Z7l#(oK0pu7o*fR)&gFYN&SY|z$2MK&IzE;g4k96MgO{0glR-->tHKhBv zk)S7h>t~zBV%_O$;4Agr`7P zYuuzlyF;6=-KrheHpEV7U&c;p|A}22`!+T&b})8*>~L&x?DyEsv6HdeW7oy+jxC6< zjBSkH8+$f>e{4y7P3)fdgR!0Qhhne9*To)>ua9kwKNb}0=SHqv6v zXO_>NSNp!&Yib{?{cG(bwU5@W(5}_yA?yO}dTo)m7~yZzZbu?ZwY#)`Yj=o{DXbJso>4_I&Jx z*o(1OV{gQE$Nm%hF!p8atJpr2|84BM*blKEV?P7ouRwSd2>%4aQ$V;NzA(Nxesg?D z{Lc7Y@n!Ml@fGoV;w$5;;t$8y#~+Vxj6WOS8h<6eGyX>Wz4+evzWAwlMf2~Q|JeMe z=07+8rTIaiJ>2|A^JC3_Yn~ozQqctaV!d8;^tUORG<|An_|z$25A~W{IH9~vyLPwX zDqr-pnS`s`@;QZ=6`TbyCVVx$bo^^mP&B>8uV~UD-Pbwcn5uN||7+jvyzbg2j68_<5E+{|vn6k@xPgOpq`6NZnU-B_n&-AYv z{-=abr_>$)D2JMD^YS`s%D?uVJ9lm0saw}}U6f9|Y~QY3moDh*+O1u?Zd`Rq%~0sn zsc>l0!kT&Sj>|i_vG#)>uOIg4-5)+3*Ap*a+bJAsRJ&S;bmKdQL%7W2|5V`ALAYBd zbEsKg05zf0I70qN(zsrs`n`CeCU_cms&Oc^GO1KK&V*0n$kjb*^veDx$C(pAnwc-a zpVv5Z5@_6jad^}CA9`i~lm5(!AWaSAHoCpD5E=)hjMi(>^up5a@ji0@()y#POgm$4 zUYDG4!-@(@OUggD1YWl9)TVvsHXXWj?a*c1#G>MH153)v&(G_^_rHP;Z6-~h9@kDoW~}`3nT3;z zria+%f3$y2E0{5%sJNiKO+koFDk%%G3yVVRyimsw8!-j{%kh6=hY%YuI>h=7gnC$C z2nqbZJjD7Jm5-P>t^e#|*oxPEaYcsLC4qNtD~pne(_lZzbysJFrKKgMrG+y~O3S;? zECuHBP=o%>cKp;a{6#C2-T{Yfqk0w7r-qMX`J|1lgWVym73~pe6;=3Nk(SG))}pUE z?`zntX+igKa7X7EZL%^?m*EX%$z^5QrA6gs=b$>QA3-S)-p?ap$5n4d3|R1p+O)iN)ijb=Y&+`1-X| zFPL@Dn9~*yOEm2A{~kwi|L}=_U3fvf?$I@cpPoJ~yJBU-NP|n|3gcHYGbc^1d?lkC ziS@%9p5C*(McdBXhGn+g|9bYHd+VNwzaEx9o&Khoxyojuobt)}CF1X@;Wkbce0Mlh z(HL9we7u+&O0BpJ`(wCA(@5Q3$;M>`6N=q!7myR$0dr0JKCu52_H!m*W`?Ajxm8kW zTpEHcq!%5q6^?DXvwmvi%%6tmzIrb*jnkcCvf39e&`?^2xGZhFt}>E3kOjIkth>5;D831AgGod5~F( zh5vS^nHrA_?;yiYo$%woiXp|@f@cT;fAZ4m3Zpy8sM}!t$Zct_kxd!ly6>q*DibnW zN@iPz;72MJN`|?#$m{?&E3Oo*JFM;^s{zCC<1<)AX`-K8{2FT%)a7g$?VDIZnC+u7(do^F>QcjPZly%Y?2eahpc`p z!H?^@+A~I027W^WM|C9{gAr>bSnIV0c=+B{BU7hQMHG8 zv=}gWCp#pgIL6;grDjQX50c&Ei}B-(ezqNDd5P0b zvL6SlwPf|=4fwGdR&{sQkA%;0`d?Ujk*y(z7e7LPERS`h)<{IlqE0P ziLk-fjzbk^--jQ^M%v5ox>&gGy^4*BkgV{naHTqPLRncpUHONutA@*FEmTnpXPrM|Fv!`6 zANqx%(7=K9BRI{5A8Zw_`yhRSR8mj~E4u5NUsg0@=JZ0Rhj#FQ5AH)1Y%_j53J(?Y zLIZJ@2!$eb@6HKLE5iGl`~q%77s=(NCDZXf2^mxg;a^1y*dHeQz0Z;d-t`!>iH~PL!^NUI*&Ylc|M%-X&%VJ!) zm(MOO&M(Ki>sq0kTMkb29yW3)CRD2xI^L3QH|5g@i{_`{`7@@J!ulY$eod$eKR!>v z$C9Cn2ui3Gx=VN&HR3#UX;nj^)Lqy#<-3C!GfIl>y|4`PRuh*rp^BdHx*qeEdL7n6 z(r7Wsa%et=K8m5WLa7bP@Bu%i-@I1no>nt17kKI8nNY6af=k)HIf6kcx{rio|A2y_&ASzOUuE1M)d2C#aTUc(HVmg zB7bD>L?VCmz)@pD6*a6NRAYCMWaX6;s_2MuwL*F30K6qc`DOGuHm+`t88So0a>Lkz{Z(8Tf>&@r%s+ouYA%c~p{x};%gPrYy3SNrdZ;3g zk~+UZC?8hE^g*_mkg2eHk~=-2Pn%OjZzU&`mQJ`lU(Dl+P^T{UE=49sg*?Um+~0EW zxnp_{ADut?oS}g6I~27-JsR+^v|7q*g>G#*ctoGk{YLY(-owhdprmlJGv|iLIUK^@ zU+$UoSDbtGY~Qn|^IeJ9i_AAAy?S-))s6l{Q6#0h77H~`&1)XIte~vC9N8kfLfSL%cCoOSKA)pW?!nb}`q^&tI!qrD3c6oYQViGDL426A zTHSK+KrDNc-$~xLsxs8n%`Vd--y7HmcS|_fghEsAcUfZc+$kq=7=~}=T>dRKlR?9J z51`|$4llT`;DOr{#bpy{CngqsxawfbX_!8~$B4!A6i@vJQ7pgDLA$uv$i9Ux^<~e^ zNv1=G?bAG+Uu|fmshVf6)6MtP=B-@3l;DBEekXn+8RbaH7I(nL-@V z`Ni1ovB_Rnt!4=SDyAXcGd!jIGX~QRCAKHAb<_$CZ(yA!Xh*9;buMusZ)Rf86CK{q za<{j&95ZP6=sbROd?Tx-y<67&Ukt7lx}6VfkE_sF>f_!q?CpkP7>JSjDZMYZZW@`V z1@nE4L|+YqpW_Lwt+XOjH{r@Z$$|M!McQ|QJ${D=d2W?OxUKhPVx9FKHL5pVzdy}O z%Wg1dLjH966YJuS57!EvW9}0r(@RQeo0wBrDz@8!eD!_Va&Ug%KBM!8^&35K1g_jF zmU2ILw;X)V&=GxxSl(YiZ|Webegd7)aaPWsOt%rO{V)Ui7l_c0cwe7Xp!tSf7D#}$ z@B&*jxU696gi_kxVzoj|8%)IQ)4~aOi=fpC^%8m0_kXaKE-U3NnnNF5h-aP+#OuKb1~LkLo=<(SO7!dJDRY^83}tl?{Phy~JI8Cl(;?`IVI7I)z_K z{fB4x@)_0@2rV9g8Q&NPrPk(W49CUGOjx`Of3ywMyJ#+c{{QfAM0Q1L+I<5*=M%Vd zyb9tx4~7-=;Rc#B&>#pG6Z)S``?KGhvSUrzk*4fWQ&ADW`KN!{bj!lt<+w42*)e`^ zx@g|P+GFU4ajfaX^A>A(y+AXL;Pq|vdY)z+!t2}V^|c!4Y#|<@iYBlg+HTQx&Bx&X z(BAOa{WxWVkDfxj6i9(f=_yL-YL-G`LXV{NXQ4E9vMKw^s-qVaC{fgrPIZLRWE~xm zbnVa>s>L`d%Ai_|zeE{Si^w-64f*zlE1oZ;!1)e`F?{r+JkgSv(CZ-IT4}6C8mpGZ zs-&6dM?j~4qoS{6r)<YYTl9y#6QX>ryEr5rUTjDR3zl!x%osQVD2DOz4eK zN~1K^AdS_t>d1!zB`W9}*>$Ms8;CME`g)=a8+{YX_Y%0``9cbuZwZXyV>0E5mc)dv zA>XVtmYK$)X)Mi3c_wuFuPXX1J7psixml||DstwlK27BOx2rxzrOZMIUJ9hZrCbGL z_?S&4pd~S(pMg^JG}a=G#jQH7h5{uj=ykge6@3d)21g$kW!UI*DBo+~isuU{aK1Of z7(V7vo@hx-=E@W&aF(^Xwr7 z&i+*x!^alN8ZC(leFU-}md1vpu|ZY=uR-BFUWeHQ7(*2Pg924Bk}B8%=ez<)fh%|) z#_;hbWsa7_ggyopB+}TqR{Fcq>r6jkr?2uqH&FItDfym3BW<7~}$styQ6&b}sR6VkxzVC_%``q`20r6p@rqJ7<5E5N6|R3Oc50=!Uux- zbOp;XjMOhp!ZO{)qAm&32R{Q9x={Izd`)+!@;h|KrIN}tqVfm&I2A~NsZ_zOarig^ zA4G-3gnk*Q%uZuvX>67Srm7fMO*HhmwG+&26hc=Dv|g@Iz|dEW^vlznd({;-7{fH= z>!nQ4Wki3$BWkf}&xS6f)3 zVo-)?GSN7(REUcBdRd@gX@-&d{3I+3Y%J<}F@107CRNBB8K6Erhg~Wt@8>rlp#%@YuH&|fWigE2k(;kfz%q=LyS}%7fU^-x=z9h}L zx87lcF-$|gUTzX}Ihh+=$aExUces=31f8)&lDVD8bVeU111T_>UNDA_ZfJ-Mi3$B~ zkXfF_mRVSOi$UjzrVkn?mgS-%zFt--So&h5zA_2RDjSQsUQ8dH$}$%!{m9oUcPjm% zGge9}_Yjo<=;Kr%1*S3z#_%x&4N)O6p+5vF52mp-7L|k;G+H!c&^W0)h$^hb@`yrZ zEJo_~ZW$Mo^f8BHbU8{HWd zL1#QA89hmirlF5Bf)tq1Y#75wF&bh-VnTlbjGjwl&svz~h(VW$W-b~hrstHkv`xWu zIY#PRlXm27HYUR~ zp}z`FuUL>4ixD@7=0-G5NUtbsX{Q3|CXCc~BthC~LsHk0>EoZTrJKq5PIpGPKxgcb zj9w!~x1x_Tf)tq1JurrkrD$j^k(kim1EY7+*e(kbeRmtmRie2UjT6&5%3AtB!E_%+ z>bsM6>kn*9hH1#x(ypLu>3;J5fjg(w&>6cWr}v4|8uW2akOFg}uQ$TSLuiN-i3$A^ zaN1)*dR&ayAetx8I3ev(*3xGRq$e>_-rQ7cpPS6bsFV*7f|mj*a4BEH7(Vt;31~@7=qFIh@ig{F8vD(v z<0~joqH??KxLt=jbAO03Xy%OHL>czYs*{xOKDgrfLJFMkFEECWZzxZ+BqsFg>HS&N zbe5XVBIzuYZr)@*2%Qss)pU7Z+(=Cqml%XTg4fnf<`7hLQs9EZ_!<*@{9zVEVnVNvg6gKT+UcyORSmwj5<;QM1k|;wQ753bD27i!O;Lw`5KLpn03Fik)3em z>$Fhv{mv*=&=Agf1&{()&rsaeo}y>*=gTI*VHcw1&dDUUa(vqlLmh9;kvGs(`^cuK-fu z3cAA>J~~q7Xh}@yZBRk$bk@pB|4j5c({F93ukvpdDEqdQ{aNtMvxgKo`@t}Vk8>z% zv?StgIkNAZ&N`;E_ErHy#JHiN8HUDrmh3EMfZspqo^Ic78;+5Bw{+*)>u%R>n1=jP zqN82B(H^gp@3)O0XWi4mtMdJ}ktf0+SgBWB3?@hRBeZ(9Z#x zUg@ldg=M@Lbg^ji(Kxa65*6|H!~GO2mtdscHwjBW8;iOmOdos)?BPOX0{QCaPGur= zMqf##4^b&VAEyE-FqIM*!^adfM1{nJJ`z-hr?a8yY_J7prWiL%G^J>qV1}a*>n(9Y z0aJ#N`lxj0v68UC7^Wd#FGB@gPG+zRnR0TLa3?bxI%AY1b1spYgFa3MQeZOkU<@Bu zq9HOQCiIIy=7Mx~o`q$;7_>k%3(+{STp%jq>*Znv%k>zkk59sKv5iGtFQyMpgrwOFPpRPM$|y(sA@nr2fmOhdj{3Itlh;(uPY?w{O4-lw^9S_z#|BsonbPOH$z zIYA1{>0ubd$7(dhiNu6H6P$`INbAIiM?|w8jT2I_vUJK6NRMKqUYZ1{%!Z^c9n;4@ zXY?33FLP(~ICMs-WHgHyZ9pGq1Sv41=U@yU8_^IW5)=BBV01+~n`>cuUJQCcG+WR( zFQlrhI}o}4Z4=Lk@sudIlTy-akb=h6>)kAeVh}dz?^o$ z7(RBOAxdp(`)NN2C6vsWx$&7s!c zN!OQ~Z&)yhp)RIA1htg+;|1utLd9ozt(p7rj_ze zti#&gYc%=@@pMEr-bp8srY97qpQp^8KIeo&{FBAEi3R;OCT9WZZ&*~TSf_kHj(^MS zOjyH7J2V7?#Du;VFg{6Vd(zp5>Fk4a_I^5h*Wz&&M(CfX>zhp;I`Q~K;ju^I@u9-w z1DnVD_RDvD(eSsY5=t+GHa@QeMf6B0pAnSa7|NkQ3Jzr?tl^|T8iGP%LjMj>4y3cM z)7k!X_EkFj!Xk1m)IcWQ&*l)012zuzu=rZg;AiLk0s$=%<16L$7lH?^7x8Vj@2Q+o z2*JyN^f%==z5>ao_)-|d$3&_EEr|*JII4+6St!a*rnA4SQi^G4$2#*Hh3esm5EZqi ziXu^Yzd@}igzkCt$vAG2oJ_}3AHxg!3-$k68{JkBsZj);3Fo{BNP&x3M45#vuBPPC zl8BoNQQTaJvf5ErGs>z*S=Fd{!(=hkdc&ympsj1yVAPI^%L+PZYvQ$a&!l=(9<)`_ z?S0TXSLV%#XEcl^AFiTDuFM8R;T8<#6d(nra1V^(;|?@Lfy9KK0Sf6+)-=i*M_D5a z!Aj@=NSVWQyMA>Jn~L)J95xo^^GR$Z>bEB`lhR)Ww>*7Ffzy8s#_+L*(nd=n-ti-S zJ<3`{Sv<N)_ z%CmWvU%(hXKBSD%l9j6{a? z=7@H&;i3xu9oM1uE;d*c;c@BV+{KO}o-wx4E+%^9E;fcJ9K%pf0a9QJRjP0be^K@D zMPfqF2Zixbc2SgF5M}3C2&zH{K+3^0-mYI=fftGL`7U;WGKuGj`t4op5=x(b-<78i zDRBClNWTfC4PPWC^yx@{T9i$VvdK|4Das~V6~v&{i=+C>>LgCHi!i1lLu(Qziz@ge zPO>L)qA21YO=3&LGm0xsqUe#6ID;tY7|JO?3QVCBjNu~}4N)Kw-@XEc*-=&&WwWBJ z#6r*+Isj58akgE*I*DbXd_IY@lu0ZR_1lv;m(uS7w>*7Ffz$5;WB53e(nd>SLa#vj zS4Y{EQFeuudtWH@>yoY{uC~)Ru0(Fu^j#tHr|IKY?R0pV^?A%4?eh`wDU7_#9f**| zb(LmN^vD^!mJkfWP>ujnU<6}e3?IYM5CRet`XV4$7-jRV`p2RdT*Tb9rAxtucJb=m z&9~=HT(~Z#1kZyxPY_bz1Si25KE_dEXh}@ywpJ4-syJ&UhedeTcAz$lQcJP6kq7GAm#VAGf0+G9)JSCqZUIlsy(@>!WO) z1?O%t^d8ZyMB{|BL4mVLfwKxD^^H;IRn8^_j%mo@Jf^@|uWYXCTtMARjyJi3x(_;I zqXhL7fw~`k92BI$pdN!Ue5^%7ph(1bqX6o;D0|jI^tc$bK{QXGaUyz7RLAe0Z&MIG ziIMu&r1i7SMx-7drVoDldDex>Q{-!#JC%*l8CxZlEktD#`ZyIxfvLO%WB4%85ET*= z`Wv9KGs<3zvh5a_m&LeOM6(@@6UK?)4%Cm6%Wf6)*m5)=9%Ksp#@KS$Y*QTDyX>1Q$Y7ttI< z!4xKzM3TzBm1&>7(jYsU^{ps*U~_ViBh&rN!_$f9~@Ge z0;!1$q;BLl+Z|GO=!`50sTn~!6MY;Kq`;5{!5BVzp&>{lCiK>T)GC9Wk-_u~*23a6 zSPUH^nxSZ%oLZq4Yj0|+a2ke@dYcUA`M<5r$uJH1YC1!}=Ad*1R0|hS!^v@5cTgjs zGulW{j6jV<9|r{~FsSh`hL1652o#A4y&FJv&0w7~SVxP}#bR8(Xf8qHq|{Xu$XC-@ z3Z)4csh^od=`5R)x|&QM98zZmQb!j^6Upyc?vM(gGtQKdx)Y>H=;M$e1%^}#WB4dS zLy$;J=z{=hKnClV!TMyd-WI1aF|=GXv(Y#?4L~i{Y8t9=x||Hm`>jJVocI5S+PDnU zo-e9?f;s2aN8#1mh1Zqbe~5p$Fw`B}RTyFnk=Ov^JBAVHZa39Dva?%W=Q&M1=HrV_Wu(8sw!3e4?!7{kX?Xowq$34IQ@m1nTh3^p@^ z6iXRaUBSnyI`lc477+#kky^ z*-OwFb0xFOh}p~NSen7^ut*#igZ>iD2{cX;OO+L| zLLqSyBlYDO&Rb&v0S3~H=zilkE4JT7zO_51EHvj zhER~0(C-6^RThUjVnkih)I;Osuu54GYZMOkF;ZWh#9@uiL0u81566mVK=y0gF*JnE zSS>N!PZ%1Zk7Ixo7{go`!$%1k!a!m|-vSKJXD}m!J(IyUTRbj@PT!OvZWMN=8->r? zMHz;}#iXX;iyAuy|@_ruDR;uYr#NstU3S84-7{kZ4R0~=X6Z&hY zX?q5HIfK1u6?6j>s8tk{M+I%S3sPt4WprEL!+6ntEpEi`pnPwHE1oZ;!1*qRF?`%c zd7>o|zj20q-^pORGT56L>~$;U70@~7;2k?F8SJQ4*pFh|Ponu5jdM%?17$9t_aO^3{iL#`|ALYFi45mv zaZ+Jo8uC-yZ=!gvfBzLaP znXG;$t80O2B*vX4n#O3HU>c$j>*Bbn0;UN@>P<48TUt{ajA0t`^-|xaVbrx>OEOK# zSyOj1Y0w!>B$>uUCLMj845YwhPKPmkXlRHGiTIs2kZG35GAt}-h(S4`!C&=F!qQAs z!PiS%!Ggcn7t&)%SmHJob*DFd@b!}6LZvnNin~)`&>1mFMI$P0(8sAj3QVO3jNzj* z8lpmCLT?KyER*GCvYbqIy2Yla7}`rTz0o+A3_~r}lIftZ=|=|Ut&aAYIO&L!;hA(< z(!oY#nD%_-ok- zj6g%!NKEKw0bBP>mY2!8Sj^5B<1P@*g=n12x{G@Fdg`e#yO<12W<8Ra^|YC(%gS`c zmsOsEtcwe>3EaIv*3%u?L<}){NMvUdvI6vRWRL6!es9^+ZF8VkqNP$5ufH8brg@!y^sk!rXJ0g9pEYBjHe(+*Gp_;WVT}HAGqEIk(XR7F zGkGF6K5Hh{5?#!Giq|jEh3yv2_!zIPUxN30$nCyn2tOYocqxzqmvWmZg+Hy+o_JP%sTo~9S7_>)JgkVltHx^`$ZY{ufKm!`7W{Yg%mhndL{^b z+(mh!B{88NLB5BYv4hRn&&}A6R?7ULAiGrbhwPM%gUHQ#AMvxunWO(v7FONgWY)2>5B|GOxIqdz9f zu+g8OeCZJ&e5pVRobQV;hL2|`PqZW^^lDlCS(Pl7lEuPV?39)AOVH_iRP{XwV zWup({wYBO`{X_KCvk?Aegy5w>3S7$DFouuUs06em;xluUQYVYm%3?LL%%k@mC{Ut; zzK&goioTX8gQKs3*VZqB^Y@wcDc^VDisuU{aK3wC3?KBQ5z3dugr0_cn`E)mvRFea z-_M|M9;Hp}e2votcYXqDXeV6xmrE->Wxe~(^g`k8k6D(+~Y?6WERAK;s34=Hf=zrh$j_|s0%l9

    94HB>oB-pM-AA=38gkigpeBzA^5Q2@G*dXAukC8d* zh#Ymef!R%5ZV4whgV-?}iTv?F$0E$7WMaz%*Tv71;z!k(FACti*DC zi9^9XN=~LaL=PPTy9L95~UvW0A}1+=Y@ROZBhHrE8rT4lNoR%KNdoMu?AD;zL;nS9K3#_SdF zv^fH^*@W3P^fAoPN*J^MKp8gP0U^w&iSH=_v)UZ>Y6GngxzK+(*#lxns}@-p%h>`8 zS|34DnV(}nyjozQrRj>S#IEL$6I_Fh+4nISSl|rBUhuT}0*ZMA#V6=vP@t7C6yHD@ zHui%M6x56=Hv)>q1`gkHiSIc19>k8rVoTNBY{B6NNGeNWaJbpT!CE!C4I2yxN&jYN z7=8p#TOwe%iD38%eGCS)5{BUqD8t545Q2f4QDp^SSe~QaW+3q=7y65n6CidZmRl-f zl?92DkW^OY*pJFqnMi25BCCko94g`z8Cc~E1^wd@+DZY%odks!eGCe;5{3f*Bm_Z` z3PMm&Gpeiw6l)9|>T`((oHPWnpco8CynTkC~QrBtGN`u>0SZtjgqx3$5PnI59 z38(i1lwsolr3Fe&yn}`Ge$P>V%~6jVi5=u}KXURDhoabJa$ZOs1hStEm z7RWRwW6hnB$pTMnCXi`L$Yi6BA%j-J$eamf*a(0SGStL(-hfPtTs6mlr7af439&NWZ4&oui*74>KK`C&&VXV?ZnMC&ME>p-v#L?43< zt%PA4Lq5H=!$1f&YDSfF09#S6T9~VLH82~?uF+UEi2s=E2}~aWL+H~D`n<6WIdfB8xIk!hk)!{f@}i%7-VQA4A~Xr(_1?Qgdn44 zR2dA&2Ii{$bJc#iY99l&DlS^hNeze{wSh>6nQ&>kA}g`} zCN5e(3toN9eo{pk{-o4HZBQA)w}yoI=tYoE5@wM3iQy|{jbHny7s+DEuHz69^~Be!3)fcyDy!BRmh z;Z$zrsj#0cfh}s{O9M#dn-=O9!n{Y{dyjKD35Qy$*=s)1`ke&)Pqsm`M<&PHXZ!Oecj69wK11a(n zV$lC#=3#~YH=YKA{uiEx3H=F*mwp0-l?qx3$NMsrVdHs<6O@`!B`vR?nv$m`<*D90 z^^_6vE8r=6tk9?AnN^>ZXF~7AwNdq_P80g{JhDkED8t4ZlmaL<@tHYN zsh_82I!8K9ML z2H!y$Ht4rUC@8uo*Fa~_>B^&`LOiRDAakHcnCG zpwx^iDl&-VsbM30{1j+R_z^RFEB@hxqHjmh(+`%g=+R0zdit#p*l0jegR-9vQMw}f zv+~qVd1?nEf##HeZN8pmCZKh);NKyk47yPUSw;qEC7c2MUI=XD>KRZIdv;_{l&2ON z;kQPwJ^Ugwd@KHi2}OS{Mc)Rt8UAP`9DPS9!$z2*2Bl_H>5J%l=c&bcYEL79PF#+D zS_EQef!KG2z4-{R*VX#xnI|4yAgP?6XP^81&D=Fzku6=tX7XB3TpMex@d;R0GS)v2 zc*P%ibOTR2KhHSw=tsyDqK_eiR>H{ihB9oN147796F)BjWQOLcgAG{vaG}1O^aHWO zGL&bu$n#1-iCSPeACmtMac2S^MUlq+nGo)91QtjpA?X>Qfj}WQ0S`bR0s=uA@B$-* z06|C~2@3A2kpP0XD6*)afET*TDtNRmpm=}>-mAEt=qlc#93BXK|F^2Ux_Z*x(%-kw z^Z7hZ&0BB1*RQIN>6sMzxFjrwgGF5umJfaf8s$M{IQcTXsf>Wm94D!qMO0{G6;1_G zXeyIn3?Jjs5ET*)y%jhG1 zD%SQQm%#_E7ZR~i0;pV?!xrSQi)}DVp@5z?7eTWOjT_9RD8ybbS14eXW2An0j{Dqt zg#*U44EcIlAn0;37kiMQ?M3t}yvbYxoq4$=a~YAj7JZxyq|jt&{}K3bZ%1+!$SlcW zH8z$%+m2+3sEDtZs}(GKJCfx|Sgv-ksO!b@!Ku`EP`QJsT;{{PvhfJw(XJxy#c~s>uoug%3KhOZ$jYR%?yU|L(=z0X zHA6c6O=}rfdx^yfbC(ej(K60lwBfj~_TFGb)F_N2)Knl(1RltFd z7c5338v6ZUbZ-v3+s0(=P@-%@;$BPlDr@OM1=AbwrazE$Mt;!2WLk!NE!`b2)$BD0{|B~}9-i*G0&fF{+JxYweL?34aDKw)4Fouus&=4aM z@v{#wdOC-hHl~AO&>_(rM&rixw6d0-Q84|2k^1(ev-L9$Cet$HYsn0|mVPDg&vxn;Pwy^Ps%y@4_YhWzfu-pNle_C!OC= zzWH#)^Mw>T-(fI@585<{@+A=unUU|$Ic$Fp`yq#YXQx~Mog4knPRizfy>4y+tCP#3x$L-|Zz&Y+ z1yd*2dCnZo<@EXa@VJw3?fbM^o7~pRMbuev&MSZvx`O#Ih7a1Bh$N$IhPkYM zuJw5NV)VMxZ|J12;;xTM@RZ#9OjRrUG|K)G_~zL|3Y~oojN#+2lr>rs@k0(|-y)Ya z&t*;R0v1EzUN0@20?g(L|E8fTXhjt)fpcB~q|gY4AS0Kxw$rB_ ziQMUDIO(hWTZhU%i?Y83zIpbLLTA4o#_(|)WsR0ZLvM%d`Sh|Xe_~+ps z3YI4^QtzIGrH6w>T@scLeg@3*pkk7*9^O=*g3jzNshmVqo<<+10x2|=oiK)v?PzGd zkcg+tpfVtr<>#`#Hke&v+)JW)8I2pv02E?>Bp#@Mc?Bc&({kO%%0LH_v8Vq^JG4Ejhk zAER+&873;?>t&>Zg*I~1M0nXUi{*n;8R9{OZ~QdUn+omTWR8$jh7*;~(8sAj z3Qgrl7{kX`Xow1lhHik$S-GsxrebaTMEf~m%+F}tRL(*b_F|c+P&t5+`h=vTXre>K zv<&%TDHLe`{K{rOKRHO=Cwg<@TR}~boW>KU!x+ywK?=<&QkU2MJA4o)5)FM4IGtxh zii!~_qN#(%4e2~(=@coDQZZ7$APG{D14&&vmX8x>RF|9=c{8d9oq2&|G?^I5jin%k zX4C=>;iEAcVnm{$&jh3Cxonz^sihe77typrwGN{Le@`uJLc6q-{97{f;{8sbEvq0a-SavPE^MsyTSCp2zI z<;q&BQXqB4NWC%%Qk4TqT}zga6JJYt4>nB;#+d|ThXX@h1kVT-{93e4upl7jzXS{-BL4K_ z1*&2xyz?p`g|343-bz!y}&%ka$$fE2ob z_bD-K9ZHF#B@usEj{^4RvLABUce(7FT=tb+#($vJ59aDC)bq=Jrv&o{WN1I$`A*cp zAMbqQtjMoK5kBV^_fD1{Bc6G%)>;%jaxESp3ZGyorvNE5g&$!IA77#&3MAs+oC1X- zx$L)G_De21WFw#*hX6>NU->EJh*Q5hg};gN`6=ZW<&<(r)bFgqW0XE^PsG!Q6gvGz z_U_qDM|*V-1-%$52iIQfLY}Fous-Xov!dhTaMkT52p^ zW6d3GmkOn zZH6f6gpSKT2yN=Mrd0IEDeXW^Xwx9h1X5@w!(a>_C!--IBpP}TFgZzMOk-U%)>&g6 zZ6F0ugP54rvxvq?4h?lynSjA(wTm*Vot5_;1rBG1dr~!LAOx=lQs`=E0~`1_o2o!d zqM@ILYEIGE0FC8qtgps;+tu)GXz!!;lj(}>0X>5qb2HSP~6$*WX=DsH#=9FR%L2mXk9V}|0WlDGY5!cSEzBi=F zw=h>Aq&cG2@)SLCc@8H8)fmbVKnjh3wxNNK#b{_kNi_6AAQ-K&Gwu3mOB!$yt8zT8 z%F#~o>Z&}`nMZN2IhGQnt!#LLkU}T88piN(6D5Y0L_kJ=#g`DE+M!RLpcISp%KsyHSn@KC8I9@g^M*-rLhW)&9xD{jxhkFT)Z!K>Q^VL%9$*)LOB`E74`jtrk3XNT+vA^26e=Np*BAQRpxF2X-fz;?+NV``q zrVrt3v{Cf$$o!WKtWQALy6OY#l7BXxP8K`Wo0dH}F)vff|Ep56{oIgmRntrS)!|}% zPV)G&g7&I0Yc%`IibceUHm>2*3@J3HLsW;@TZX2YL_@z8oUYc`G8@uiG3Xc3{EEg6 z>1t6JfB1ZZ0*P-VV?nw;3DOM?Bz1{cuK1n6G7m<_DF=(u4c?6ShB4PmM%NJ|xnT^X z(2TOgAIZ}WEX0UJL%$b{?$+3PjoqcOwKl12F|@5{a?rR*-Hnp$<+M>Dm5Y)3{hIr8 z%ti;1X&Lf$v|ixmjP6nnqqQEqG;+Mr8&n)R^L`2HJ_40MA74z6LWAl7WBBNdhCq>M z=$irR5shuq*h4m@o?=`t(ey^+ru2v?kguo56-s?DQhzLo(&G*#bsR8`K2o%oil6 z=LytA^l?y-LW3%XF?^hlhCq>M=x+ejYZ`l1V=vp3ripPSqM44yP3bjJAYV;yE0ktn zr2bYCrMDeQ>T0rla7eEzkY4tHG?V0|_)8`7OE6Bh)i+`r!S+{bb|J=c4TK0TVeJGf7 zUjI>e?eXBXi2E0pz0bX|)nJJEnZ&l2uq{R(#|9}hwmT>$egT1o))t9|{yngLtFf;& zw$Elpdmur-Ry22_aWnf?)XCS@euddOjMRVB@EBRZI*;xP_A9U~Lk{R`1<*bZK#e8_^IM5)J)#koi?(hc$N4CiAEmw^=k>(74I` zs*pLVka-*<^*=OxO`woDs*te^Ihn%>nS&l=o*-vOy~#WYo%x3(bA-s4=;LG{g(gE= zD8UEc8VW7nQAuwTFJP_WtYw^~$62$u^+fMYG4w6byp6^Ur&ZiJ)M9bxuJRp>)HCDm zo9S5Gc@k(D@?)$eoLIlOGSlPyNg#g|)(rjlG{Ntt?OV%#ljB(2^Pciu=*-NxeNUMY zM{)0=kAs2~8q|Mb3?Cn&p(R8j9-IMGBF?lp%dshaA;x_vntf>8loFyqesFbED1C*I zx}HR-qeDqOaa%t4YSI))IUbO{CchoMA$S@$^W7H3^;R7b?Olw+T}`zxqu*C#zc?tTc@-$7+shI~Qw z6uddB?h31J%KNS!+-MUiy}vg%+F8oXm)!ahH`->3bAuF`TQeBLM?EyejYRyNC%6rX zv%zsTFwRc3p*0sn(?vsDJ-ML`5%u!*HC%y4dq3%CBtaYQKvUP3<%2UDtZ*8ryg${0 z8Eq`35BFw9yG@yANM;4ZjP{k{%piqkW^LD$fDd9uqM@G!W`%J!+NMRDIYCJ~HKCzR zmfW-oQH8z4#w)aF%O%~2yPv3ycW9ZGAzxyn1#-eAH;`C`dH)^MK+Uo5RUs#3`aV6^)z2Im)V;tZ<;Mq4Y^f940#))Kz2o zaABbBqx8w%7-&x^bCSexK4G8@rZ@&jp)rhtF?`V0Q-py;L!S-|)8cHZO=7edG)6SE zmy?^sG-XAUDkR2Yq&_q5etuW#kT5Mnz9Oc2tcbJ7L8&*2anPAFC5jn@!ayHK0VyLM}lLNsm;bCeZPp>UvGr1W`lJlqtwI+N)putMQr z8M>AM?JK2Mc-Kz*OPTXz?Q^O2Y3Sp%LkeB{6)=Vm+P;aF0g2cg8MQBuv#a84Nu1T# z5UQcm7sW*-7g8n5l}fI%mID2ZWr>A@zB0hm&Excyfm!2pdh83yzn>h8JCFg_QcX38 z#cP5Tx~3ao3?ElfEoezJ^jlEVia5J5&aSr$x)BQ0Dhev5f>t;MsR!$gB6WU>zutK- zz7kkT`Q8LqJYPtm^IZ#L_*hAKq9xJL??k?9;_UV~TODVs?3C|>&OHZfoRrPmksF<$ zX%1F9xScsz<#c+?LGqt;+(nhGM?_v3q|lXZhB16RNEM+a5r4Lb%I=M`yW?!VUDg&T zP_Z%-_c~>%GjX>=-(2s!7c;Su@_h`hc)pNA=ld#*;p2JA6D^7O^FidhDb5~>vj^>b zcZ+eaiRN`Q?(@MWq-I|!wH!xD)9Ct6eEl#PXWysHq4>|Rj4?6GVRr5`9w#EBA z@fLLEW_g}?l*qh|K28QwXfhwe7(U)ZLu5$Aza$1SPsQ1jHkMDspif1!7mXXsQ=$rf zyR}`x@)<_z+mf(scd)1{!1BS5#V0+ed``Z$dsF!@bmlfmWh+tn0)3ncq|j7;f-!u2 zjfSX@h<`~8RCdMLi*fe64d!Pt?to|xqH%-Sg+lE0vReUj2qX1Zzv=*(9onOBI+uju1sAcZDVw;?BU3_geqiH81fka;`K-n6mQ z6NBoDrU4o^mbXO}e7)>Zu%wZJ^*rjmI8G?y#4(*t;d>N1mOWo9Z+Z}E#{G!rPJ6t; zG{+G0JqhMr0+WtD4hB+aFzqO2v^s`{z>tWarvc1oarSAPeH>>W+IZTFp&dk{qjBT; z3?evyIzcoO(YWayM~U{zOHDXWug<|p zy-vct@=_Dd(<|GMR^CyElX=9!_nXu0vGSCA6#L26Bnq0Ez|7SC)2_+TnROEOldY5l z3cmn-93rI95NE*{KBl4}h$I?%Q$S2huto{iAYncKyGV?iEt)xK+yv7SbXJ%bu##e?djqV3&TK9LHY0%Z(Z>No3Ii}7 z#+?hJ?EtQ`p)Uuts}gKUg4HD0l@_-=^D16QFRCVzn|~8bx?p@)q8AxVpAW7^7aL!v zGpSC(XO)C`B?{h0kAQ2^B3dlQ*M)fv<=lTo0za-v-@2^kU|OWQ6xWAQl3bEvXbk0B`g0gE2-Og zWnz44VYH8--5fXl^5;m*4op0q4@>PO`(f*jDn?dGePURo9s5p4U zl=BaXf;Oo9pd}MJg$$e}a4KJcSPWrTU_oJY5GJbtAF;3k*Cg2O3AQ@HR#_|X40DZZ z1>TDihGYB)C;VOL8j0#iHOkP}CCpV`D{vjBdY>oNKUsly0chv@_zE0t=o=E|?aC^Y z3u6NhaR2{xfctrXF@}Cm!dxv@wWwV#jC**5jh+$yWMS|UHu4B#`3lI5CLb5h3J_uW z3J{fw6(F$6W8^IN6pZ650Fx1B1-y(ot9}5B5zW15Ftc1V^z?QGtXVtOq@8sJe-K); zNjv)2UwB;nb`TEGP!FXb11K@_D9^P9)Pr zr0KIQBFzd@c&bN4s=rvNl4$6sBGr@IvHo_df1p>-M`HMA?jqImkr~ez+5D`TC%2=$ zsd;8*f4s*(Z%X4v4W`!tr%{SWVb4>9bRsF*8TKWZmtbDeRH7l6BpQ124h5`f2bR{s zg1G>_W?BdNBT@@y;|>Dm0)pAJgAG#*M4DR_nCTtheIfktOd*BIG$p+-+Nm(w5gB$e z^xYi`*sXc&mOPPNXY-c4Wi@}`B!6Yg_8phvTG1V+8bUZt%fCIZFq)?fh;&?5^KQKR zvYKOjd?!Ah#*qwQ7jkSW$DvTQD8lOd6qUHYs zb2?rbkhG?f7qR0hX`tsKc1Ak~k66TxCdm(pwHL7%p0tQ5^$AMq)vhV(j@eO^y>XBo z!qI#B{C4>d!EmCYOG?41`Eq{X`sUgIxxP$G^=)gZzHOafkMsLD&!j2#xk_wW?qAaC zUqqkv=r%R~;XF*{d46NAY}o*%tVmPzwF}20YeCDZ1=i>J%1BqVD_f=|dvYkL9wzyF zIML}s9+Poj^f0QQrg-x?Ix{-jM@#-DSd{#^1x-cmvxb-f`}9SwX6pCkDc+oVmCo8Y z>sW_+skttXmeoD<+CKlEa5zg}mnURCrZe@;*6+^ams!hfj_Uj?`-HHp<`p_0t>xz< z%KuebN{=MOd94S|!y?)Q#DYUqaVX8a6G!sn^ibmQxaCxy6U)>nu0z4RoAPaj|1k~a zLK+Ndzy>5cm!Ea;F6>3~uZ7WtSg3!+u3k9nJeJ2c=dnkuv(DcNqnDeH_?&g7Yx&P0 z@D<7c-y=|5Ivr0*13k|=&gkT`j-yHPXaoi)}j|5-Y; ztFLrhC*_iS`teQrPfkBx*(3NO1m}yBuYf10ni_QB;Czz|*po+GOjCuHS) z+7gA@r!DSoCEV#x<|)gndc1uiv2RON<)ma~s&y`^zLgStjGxAyq}N3L^OWx@cfP)B zGJ{_dovBC~c%qPT56Z*d<_=r^tDX0F>3jW|2D&?42%>Fl@}=a=i~ z0oip4t8{^^{|kJD-T~K13w;f`Fs(08!FMG^cAqgh8taT%y^eqJj!lN*Ufn?#$W)K59JO;O?8s?zeZN~5a0V#zj(2C0#Dr?rXHs}mip z3_aa%=ny{ih&41C{k2V`XmG`hQKgkt5$qscC$&K&8mXR(KYfTs4?{Pqym-oN1d^(T zxG9N74?O$pTSZf)%WkBR~fA`G--N&W-oB;RP(D@V=^N*Yn7`d~ItOrDH z@9#bl=)R|Pe^P*Z2Axk~UHl^R^_DN)_X%*{E6~Sa>EpBjAE!X)lj49t_h(4=Lj&BO z9_VAN^f5ZX$C=Riq&Onb{Y2^B2ylN^ppPQyW0HRw=lQvaM$duD=kSZBTnOd3lFIqB zt0GIIktnv%jYg`XDO1p`oZX^0yT!%X4X2`6GNBp%QA>iNUgRBhc2Lv>GU|K`^O=oG zsC>>s^Puv@un&-!~w@TMfVVF-rPXIX9Fo*>sBdb|E8$n|0A`ha_w>)!7t=zNO(5h~B+7>#}pmCsR$6Yen?`A9(I z-~8SG66n5RrhRK!FVl6Py9!H%&Zn>xsC){GK;>Upx{Ta3Aaa_&`$mE8W72(_0Qaq+ z^C_&QUu1rZq)GQ}1Kei?`sgfu=m9?3L+6uXBGCOw(tXze_j!Rn@}-YH{%Q2`a}ka9 zfXZhHL{s`h>2bvwfNtL_&JdZ67|ITA)f<%?k) zlpYuibo*kMBojKVn6wa^Jf^(Nxkw6Bf+0xL{naeGI^0#w}TRwxQ}Gg z|G_9_&AXD`1D#LO??UC1^gB?Ep0dC@Mpm>Bqx>rR0y>|x zKZnXU?Y&S2rTvN2*Ge0-Q)BiOKPBd$TLijVxz*wGd`!AeqS`JR{X^=M(DU$Mj9)a< zW$2~>q0^xAndnAdS&1iT4WJ5wQcvoY%ApFsD+rTbw4?uYohA1vK_a~&x4UR)>0@Z$o)kA=>M>lmnfxQ>#M zy)zpr^|dmKrc8v=?ED=b7c5g0pVvt=fi9| zR6dzalaakMn=19SGK;2^LFvbAflPWnM)@(Tgw7|kc`~whX5~^}D>E>=Qii`gApGB; z^I>)=RGyj9o!%lS{R&?$BQFhzyx8A8vR@&6+z{a7I_P||zsBEvH05R}{j$GJMqU*V zd8NO5WWPcBxC`TaGF@D_CYCcIT9{1k@yWc6fF)NS5Tw+BUiMMmA_AN55U z)%&n~Ug|wqyb7fUi{0q>6{t0oxcgRwDGJ_$F3DhOkJsrN`Y9ZC<3 zEzs?oa9f#h48we~%8*gLF}9X^kF0W_^vEg~-M(2dnN=Q!`C#k>l~2MtR6!WqOT9#`0zMZ>XeMchsS8j*-(09bPl?G zGny$gD#0)xgvC(RN>+Swn*x>Zr|=>ugZNICdZils17|6e9@Wf3w{JC<$ZD!E%qQgv zsC-kN3uREsWm4~v@&YJ5QeKE|-;`@)%GDU=GXa-F-FBQHw3xfCS5=69_D)XW=RIV z&R#V77*t}pDa(nDEdDTPr;Pl3K;#`>?!~F(887#w;_ly)?q3gZzZ*KA!d~%;EY1rr zc}13meIO(635fizzx#Ir-G3$Be-YsRbLe~u+v^|s6B#+_>})-%`bg@%X7r%U>?e#< zP71EI^dodWnSBqH&szFcM)uC^YpM6j><^jQZ(h;s^5>er_(wnF?>(Aw6iSa1<1utA z4BQ{L>Sx!=ds?xB#jkj6Oz zKvk=l!Tgl=K2$#6JL4hLH!||RfXH9?yZ=1U{UPc8=K%Nnq4O#12mi?51x7w9BmW){ z`B#7UhXdU=$gyXvZjS$q)q&2ZuqaeMGj=>Ma&sBENkHVr{_Yz><-Z^@rTf+a?*9Uv zPhltv{WF_b{*fnhqjeKC~Fgl79kofQ;yu6NXVK~XQ0Q7^?X z9}Eki^1*O1RK6H4htdPX73lWGuuLYj#6N0HP}Jq#QLhe)dW(#D6NdR2St6rJL-c$Q6H62HwC%g?Cp9>kn3&I z_0t&UQ;-=Hb-Q=eXM&>clu@4#a=pvj^-DpnKa;LMaSwCf`$6YZ><3VJF2`u}eW-kn zO1k%xk@p2e{=(n==Yj4IN%uboxZe+*Phmg!NB%A_@=+Q2_khU1`nx|I=)PXAeeYK% z*L4PS%~%vVpTds&Mdr6iY0`be0QdEw^PF|=qm}g0BEUy;{}h`By3dmC@ym4e9PT2} zI?zXZ=_Br+2F7?-8I9up-fwM3Q#wHDamCTm?R&*JNhZ|QKWbi3)b8FC>Fv5I z$n{gw^%L%4u4Dc&=zNOZ43+2XMWc^E74#Trlhi8@T!!<<{Lz%Bp-f)n_Ror6kV)^r zC}qvNl70p{pUk$&$li~F{w4LbGQ$=24HhJ#JK=%iv`~3m#e}K-Xu0O@809w`zd`4N{1+M7JF`PlUn?_ANn_2vp=qG`hpz{n z53^LLd@@UcD(KLTNPVr$qA6)m`Y~%QlWvJoe$3LL^U184jO@*T9J9+5=^7r(m34ZUdn6$t@o$-`x7j*xoClx72&(HeBX54CDNA8v>orN*D~4XWDdI zGXhG#85=7jj}C}@roVfTJy-ge7~o?(bUxXS^LHOjIS)#|?5D`c7X(C}s+a? zl^K{VlHsqwI3F&T`A7e&zxQZL4V1}s<9El4(XABf{v!N3nb6h#QI`cpz1}Tz`YX7#+x>RAl)!MGhNpM9=srN|u1t>idei7Zi3BM^5ehtHXvU*iU z^~U(J)O%$07L*=Yy^U_)toF*RKE^N~j2}Yflkk6_3c|QY>OB(v3`&oLKS#H3!avA_ zzr`@0tiF~}y)o{SdXKDrgwi9c{pj}1>WIwhR}AyX>adLJoz+39_sHrGC_S<|if-Sm zGVp|p_9BZ$Tg81RwB-Xq~mC_NI6q1!j%4l>~chWTWr$*A5KbEMuQ zD;-LYtU99GH>-X!tKJyqbBy$a$|vFOQ2E{ic7rmAaaXDLs3spuk81j(+qaqmSgfb}QQ>ES`Qqe zAlH+;T~7{jJwv*lhG9MhO$~}V(>rQuP}I3H>YO0g^SoVG1i8Lex?b)c=6c?B6?8tu zE`iE(_M*`msKjzpmJ|KPh=1d-Qbt}85cx)b_tyuyze~Db6X5=K=zI!W?H_qnVC0Q5 z^1T6(@Ah}UKG6N6()}ik^GW_8fA0_adyl4UhSK98--2%6gM6z@=qdlGPX-Hhv$`5tVdvSDn-V#=f2~tzg=kZ5w%S{$O{tT*Qpl;d@|Ny%uYy~n ze11i7iBWnf-)`5s0Ez7`mPoad=^R{2aFu~-Xh~&NY1tIovDef5O7|GW#|(ZsYEq{O z(!K_xhAo&|QFQT?*~;dYO;Vvwjiz4jqpnNJ8~v1cesY&Z0@qK;-EBy96zQR-P;4Q7-Tk|59R3N3IDYIu6RZW>XyQDI*h;}=|E~ybM z8oebiQe0X#yQ^new-gGYy5J+-~Z=DD#|Y@Dz2&^ceJl-9PU!?;oX%*vrDF9 z!&jj|oF;Vu^9f{4NBc8YcF$Vv4y%36YM-~-7kEqAKjxSH=Df(XDOFPxMoq9|IKJ=o zPyETe2rss1Zb?N^>F6O7icp6uRXV!sr9~QXNRde6ajjbYz2e!84>oRe<^z3pe%bQA zZS|wr75vNrlg3t*�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 diff --git a/libjpeg/bin/jpeg.pdb b/libjpeg/bin/jpeg.pdb deleted file mode 100644 index 7efeb3797b55fc270c8ccbaefabceea6ed06d6a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143360 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
    eQpYqjlP=X7e6nQvDc7 zSw$y>3s}hC?BX8d`y4w4UTFO#w^3diIc=zKsYCmBIoFptDKb6ENfW1RQ>UyeA8y&m z<;qHPr<^*Mq1xoTU3Pm*qC0!GPJVSBL*?hY`5H=ZsCFW^q4EFJH`;!l(fEH#-qd%P zEsCi!yF8$DwbIiC zBxOg`HFw0vwaTx~r-aUpOKaQasI0v180F+uXK_?srMHz~QhNJBv1*UyzM7wnypE6T zzc?pN9bgbX-Yf!mKn1mp^uV@#s&C_*_7Woc9(Gatn|%fL7pyICD^Sn)->(N`m%M_p z;S~k%IsVk0PCb!*A-g~J8BleuIIK&dcb&Q>I(3youMkwE@al>^2#oVCr_NdU9}4S_ zw;`SSdHVNE>Z$SnKxR^33xi3MtBwt4<~j3lk3+M#h&*;vpZ*YCffT1KwFYyZT=VD;{m)3^IV>YiDwZrTXcU5b3D15oyG zgYpr$<%~h&|7rX`jsJHM^3;~3gjL0(k6Cyw{=c%7D#eiPDSp*Ee6^m7uwIY2o>MkW z)$iI+wGL7?RNd!^eLu22h`7qPMLOaWM}O$`zdu%e6=-{bv#yH9CXUU8+;{&~ z<7DYSv&Ul3o4uBG=2ox&_4?mtD!u+!dd}TjQGSqtyhUEam6i59Q+iOZ|NVBrUH|I! zzn^Cm|3u~;z5dTfcKkkt#{bv&|D5^L>;K?7Ke+JK>wkNTO0WNuffMQ3rM=>efvwvW z?-TGHj1DG!jZ{#tM$hJ)$!zDWNMzegctb+5{!^5Zv<}z%!YaE z!QOcS+%3+ZKQr29D1qU@3GpW#@xn=EQ=5vU!VWi=l}Kj|3CZu|En*64cG&`)pYQL8ldAzyGfss z4v-F#Hj_pi@ZT?gyD63W8nT6hTaDWjKMNo20N7J$;O)!>|EJ-@U;%;kW#))91()Zg z*YJ7p9rydd$E%4inJ#iT4*#f+DcM<;dnyatw3roJkqw_mel&c*B@tpuB}xgnjN08bRG$(c>?H`z;?aXt2Q zHdsO6w6&{)O}hXbNbrlUOa=25|L=Nm&w6Kqfp{E0k$yJ<2T9{8{D&-XbT>5xGzChe zKxq6w6_Y)^|GDx1+H%-mB~+>ORtNw2r{n*z4#ReY#|pILE(Jmbx-re%n0%39niYE% z77MM|Gdtdy8-vV!=5H|=t1tY1cuY2Rep|&|bHjm!#?Dh`!b6{_l5YQE{_Y@RuF4(B+x%XFC3$j{nCx!q%5|3|4h0)sBxC)J8h~Uw|h5fTIEZtKjw>_bZG* zJ`J;D`tdm!cvZiT|Ia7CrQ-kdDoFS=SpU-$&=k-V&=k-V&=k-V&=k-V&=k-V&=k-V z&=mL+C=m50w4s~O6wnmV6wnmV6wnmV6wnmV6wnmV6wnmV6wnmV6wnmV6wnmV6wnmV c6wnmV6wnmV6wnmV6wnmV6wnm-zoo$c04i+d1poj5 diff --git a/libjpeg/include/jconfig.h b/libjpeg/include/jconfig.h deleted file mode 100644 index 9b71ed2..0000000 --- a/libjpeg/include/jconfig.h +++ /dev/null @@ -1,52 +0,0 @@ -/* jconfig.vc --- jconfig.h for Microsoft Visual C++ on Windows 9x or NT. */ -/* This file also works for Borland C++ 32-bit (bcc32) on Windows 9x or NT. */ -/* see jconfig.txt for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT -/* #define void char */ -/* #define const */ -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS /* we presume a 32-bit flat memory model */ -#undef NEED_SHORT_EXTERNAL_NAMES -#undef INCOMPLETE_TYPES_BROKEN - -/* Define "boolean" as unsigned char, not enum, per Windows custom */ -#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ -typedef unsigned char boolean; -#endif -#ifndef FALSE /* in case these macros already exist */ -#define FALSE 0 /* values of boolean */ -#endif -#ifndef TRUE -#define TRUE 1 -#endif -#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ - - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#undef RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#define TWO_FILE_COMMANDLINE /* optional */ -#define USE_SETMODE /* Microsoft has setmode() */ -#undef NEED_SIGNAL_CATCHER -#undef DONT_USE_B_MODE -#undef PROGRESS_REPORT /* optional */ - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/libjpeg/include/jmorecfg.h b/libjpeg/include/jmorecfg.h deleted file mode 100644 index 7407ac7..0000000 --- a/libjpeg/include/jmorecfg.h +++ /dev/null @@ -1,446 +0,0 @@ -/* - * jmorecfg.h - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * Modified 1997-2013 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains additional configuration options that customize the - * JPEG software for special applications or support machine-dependent - * optimizations. Most users will not need to touch this file. - */ - - -/* - * Define BITS_IN_JSAMPLE as either - * 8 for 8-bit sample values (the usual setting) - * 9 for 9-bit sample values - * 10 for 10-bit sample values - * 11 for 11-bit sample values - * 12 for 12-bit sample values - * Only 8, 9, 10, 11, and 12 bits sample data precision are supported for - * full-feature DCT processing. Further depths up to 16-bit may be added - * later for the lossless modes of operation. - * Run-time selection and conversion of data precision will be added later - * and are currently not supported, sorry. - * Exception: The transcoding part (jpegtran) supports all settings in a - * single instance, since it operates on the level of DCT coefficients and - * not sample values. The DCT coefficients are of the same type (16 bits) - * in all cases (see below). - */ - -#define BITS_IN_JSAMPLE 8 /* use 8, 9, 10, 11, or 12 */ - - -/* - * Maximum number of components (color channels) allowed in JPEG image. - * To meet the letter of the JPEG spec, set this to 255. However, darn - * few applications need more than 4 channels (maybe 5 for CMYK + alpha - * mask). We recommend 10 as a reasonable compromise; use 4 if you are - * really short on memory. (Each allowed component costs a hundred or so - * bytes of storage, whether actually used in an image or not.) - */ - -#define MAX_COMPONENTS 10 /* maximum number of image components */ - - -/* - * Basic data types. - * You may need to change these if you have a machine with unusual data - * type sizes; for example, "char" not 8 bits, "short" not 16 bits, - * or "long" not 32 bits. We don't care whether "int" is 16 or 32 bits, - * but it had better be at least 16. - */ - -/* Representation of a single sample (pixel element value). - * We frequently allocate large arrays of these, so it's important to keep - * them small. But if you have memory to burn and access to char or short - * arrays is very slow on your hardware, you might want to change these. - */ - -#if BITS_IN_JSAMPLE == 8 -/* JSAMPLE should be the smallest type that will hold the values 0..255. - * You can use a signed char by having GETJSAMPLE mask it with 0xFF. - */ - -#ifdef HAVE_UNSIGNED_CHAR - -typedef unsigned char JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#else /* not HAVE_UNSIGNED_CHAR */ - -typedef char JSAMPLE; -#ifdef CHAR_IS_UNSIGNED -#define GETJSAMPLE(value) ((int) (value)) -#else -#define GETJSAMPLE(value) ((int) (value) & 0xFF) -#endif /* CHAR_IS_UNSIGNED */ - -#endif /* HAVE_UNSIGNED_CHAR */ - -#define MAXJSAMPLE 255 -#define CENTERJSAMPLE 128 - -#endif /* BITS_IN_JSAMPLE == 8 */ - - -#if BITS_IN_JSAMPLE == 9 -/* JSAMPLE should be the smallest type that will hold the values 0..511. - * On nearly all machines "short" will do nicely. - */ - -typedef short JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#define MAXJSAMPLE 511 -#define CENTERJSAMPLE 256 - -#endif /* BITS_IN_JSAMPLE == 9 */ - - -#if BITS_IN_JSAMPLE == 10 -/* JSAMPLE should be the smallest type that will hold the values 0..1023. - * On nearly all machines "short" will do nicely. - */ - -typedef short JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#define MAXJSAMPLE 1023 -#define CENTERJSAMPLE 512 - -#endif /* BITS_IN_JSAMPLE == 10 */ - - -#if BITS_IN_JSAMPLE == 11 -/* JSAMPLE should be the smallest type that will hold the values 0..2047. - * On nearly all machines "short" will do nicely. - */ - -typedef short JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#define MAXJSAMPLE 2047 -#define CENTERJSAMPLE 1024 - -#endif /* BITS_IN_JSAMPLE == 11 */ - - -#if BITS_IN_JSAMPLE == 12 -/* JSAMPLE should be the smallest type that will hold the values 0..4095. - * On nearly all machines "short" will do nicely. - */ - -typedef short JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#define MAXJSAMPLE 4095 -#define CENTERJSAMPLE 2048 - -#endif /* BITS_IN_JSAMPLE == 12 */ - - -/* Representation of a DCT frequency coefficient. - * This should be a signed value of at least 16 bits; "short" is usually OK. - * Again, we allocate large arrays of these, but you can change to int - * if you have memory to burn and "short" is really slow. - */ - -typedef short JCOEF; - - -/* Compressed datastreams are represented as arrays of JOCTET. - * These must be EXACTLY 8 bits wide, at least once they are written to - * external storage. Note that when using the stdio data source/destination - * managers, this is also the data type passed to fread/fwrite. - */ - -#ifdef HAVE_UNSIGNED_CHAR - -typedef unsigned char JOCTET; -#define GETJOCTET(value) (value) - -#else /* not HAVE_UNSIGNED_CHAR */ - -typedef char JOCTET; -#ifdef CHAR_IS_UNSIGNED -#define GETJOCTET(value) (value) -#else -#define GETJOCTET(value) ((value) & 0xFF) -#endif /* CHAR_IS_UNSIGNED */ - -#endif /* HAVE_UNSIGNED_CHAR */ - - -/* These typedefs are used for various table entries and so forth. - * They must be at least as wide as specified; but making them too big - * won't cost a huge amount of memory, so we don't provide special - * extraction code like we did for JSAMPLE. (In other words, these - * typedefs live at a different point on the speed/space tradeoff curve.) - */ - -/* UINT8 must hold at least the values 0..255. */ - -#ifdef HAVE_UNSIGNED_CHAR -typedef unsigned char UINT8; -#else /* not HAVE_UNSIGNED_CHAR */ -#ifdef CHAR_IS_UNSIGNED -typedef char UINT8; -#else /* not CHAR_IS_UNSIGNED */ -typedef short UINT8; -#endif /* CHAR_IS_UNSIGNED */ -#endif /* HAVE_UNSIGNED_CHAR */ - -/* UINT16 must hold at least the values 0..65535. */ - -#ifdef HAVE_UNSIGNED_SHORT -typedef unsigned short UINT16; -#else /* not HAVE_UNSIGNED_SHORT */ -typedef unsigned int UINT16; -#endif /* HAVE_UNSIGNED_SHORT */ - -/* INT16 must hold at least the values -32768..32767. */ - -#ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ -typedef short INT16; -#endif - -/* INT32 must hold at least signed 32-bit values. */ - -#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ -#ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */ -#ifndef _BASETSD_H /* MinGW is slightly different */ -#ifndef QGLOBAL_H /* Qt defines it in qglobal.h */ -typedef long INT32; -#endif -#endif -#endif -#endif - -/* Datatype used for image dimensions. The JPEG standard only supports - * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore - * "unsigned int" is sufficient on all machines. However, if you need to - * handle larger images and you don't mind deviating from the spec, you - * can change this datatype. - */ - -typedef unsigned int JDIMENSION; - -#define JPEG_MAX_DIMENSION 65500L /* a tad under 64K to prevent overflows */ - - -/* These macros are used in all function definitions and extern declarations. - * You could modify them if you need to change function linkage conventions; - * in particular, you'll need to do that to make the library a Windows DLL. - * Another application is to make all functions global for use with debuggers - * or code profilers that require it. - */ - -/* a function called through method pointers: */ -#define METHODDEF(type) static type -/* a function used only in its module: */ -#define LOCAL(type) static type -/* a function referenced thru EXTERNs: */ -#define GLOBAL(type) type -/* a reference to a GLOBAL function: */ -#define EXTERN(type) extern type - - -/* This macro is used to declare a "method", that is, a function pointer. - * We want to supply prototype parameters if the compiler can cope. - * Note that the arglist parameter must be parenthesized! - * Again, you can customize this if you need special linkage keywords. - */ - -#ifdef HAVE_PROTOTYPES -#define JMETHOD(type,methodname,arglist) type (*methodname) arglist -#else -#define JMETHOD(type,methodname,arglist) type (*methodname) () -#endif - - -/* The noreturn type identifier is used to declare functions - * which cannot return. - * Compilers can thus create more optimized code and perform - * better checks for warnings and errors. - * Static analyzer tools can make improved inferences about - * execution paths and are prevented from giving false alerts. - * - * Unfortunately, the proposed specifications of corresponding - * extensions in the Dec 2011 ISO C standard revision (C11), - * GCC, MSVC, etc. are not viable. - * Thus we introduce a user defined type to declare noreturn - * functions at least for clarity. A proper compiler would - * have a suitable noreturn type to match in place of void. - */ - -#ifndef HAVE_NORETURN_T -typedef void noreturn_t; -#endif - - -/* Here is the pseudo-keyword for declaring pointers that must be "far" - * on 80x86 machines. Most of the specialized coding for 80x86 is handled - * by just saying "FAR *" where such a pointer is needed. In a few places - * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. - */ - -#ifndef FAR -#ifdef NEED_FAR_POINTERS -#define FAR far -#else -#define FAR -#endif -#endif - - -/* - * On a few systems, type boolean and/or its values FALSE, TRUE may appear - * in standard header files. Or you may have conflicts with application- - * specific header files that you want to include together with these files. - * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. - */ - -#ifndef HAVE_BOOLEAN -#if defined FALSE || defined TRUE || defined QGLOBAL_H -/* Qt3 defines FALSE and TRUE as "const" variables in qglobal.h */ -typedef int boolean; -#ifndef FALSE /* in case these macros already exist */ -#define FALSE 0 /* values of boolean */ -#endif -#ifndef TRUE -#define TRUE 1 -#endif -#else -typedef enum { FALSE = 0, TRUE = 1 } boolean; -#endif -#endif - - -/* - * The remaining options affect code selection within the JPEG library, - * but they don't need to be visible to most applications using the library. - * To minimize application namespace pollution, the symbols won't be - * defined unless JPEG_INTERNALS or JPEG_INTERNAL_OPTIONS has been defined. - */ - -#ifdef JPEG_INTERNALS -#define JPEG_INTERNAL_OPTIONS -#endif - -#ifdef JPEG_INTERNAL_OPTIONS - - -/* - * These defines indicate whether to include various optional functions. - * Undefining some of these symbols will produce a smaller but less capable - * library. Note that you can leave certain source files out of the - * compilation/linking process if you've #undef'd the corresponding symbols. - * (You may HAVE to do that if your compiler doesn't like null source files.) - */ - -/* Capability options common to encoder and decoder: */ - -#define DCT_ISLOW_SUPPORTED /* slow but accurate integer algorithm */ -#define DCT_IFAST_SUPPORTED /* faster, less accurate integer method */ -#define DCT_FLOAT_SUPPORTED /* floating-point: accurate, fast on fast HW */ - -/* Encoder capability options: */ - -#define C_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ -#define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ -#define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ -#define DCT_SCALING_SUPPORTED /* Input rescaling via DCT? (Requires DCT_ISLOW)*/ -#define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ -/* Note: if you selected more than 8-bit data precision, it is dangerous to - * turn off ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only - * good for 8-bit precision, so arithmetic coding is recommended for higher - * precision. The Huffman encoder normally uses entropy optimization to - * compute usable tables for higher precision. Otherwise, you'll have to - * supply different default Huffman tables. - * The exact same statements apply for progressive JPEG: the default tables - * don't work for progressive mode. (This may get fixed, however.) - */ -#define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */ - -/* Decoder capability options: */ - -#define D_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ -#define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ -#define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ -#define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? (Requires DCT_ISLOW)*/ -#define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ -#define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ -#undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ -#define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */ -#define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */ -#define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */ - -/* more capability options later, no doubt */ - - -/* - * Ordering of RGB data in scanlines passed to or from the application. - * If your application wants to deal with data in the order B,G,R, just - * change these macros. You can also deal with formats such as R,G,B,X - * (one extra byte per pixel) by changing RGB_PIXELSIZE. Note that changing - * the offsets will also change the order in which colormap data is organized. - * RESTRICTIONS: - * 1. The sample applications cjpeg,djpeg do NOT support modified RGB formats. - * 2. The color quantizer modules will not behave desirably if RGB_PIXELSIZE - * is not 3 (they don't understand about dummy color components!). So you - * can't use color quantization if you change that value. - */ - -#define RGB_RED 0 /* Offset of Red in an RGB scanline element */ -#define RGB_GREEN 1 /* Offset of Green */ -#define RGB_BLUE 2 /* Offset of Blue */ -#define RGB_PIXELSIZE 3 /* JSAMPLEs per RGB scanline element */ - - -/* Definitions for speed-related optimizations. */ - - -/* If your compiler supports inline functions, define INLINE - * as the inline keyword; otherwise define it as empty. - */ - -#ifndef INLINE -#ifdef __GNUC__ /* for instance, GNU C knows about inline */ -#define INLINE __inline__ -#endif -#ifndef INLINE -#define INLINE /* default is to define it as empty */ -#endif -#endif - - -/* On some machines (notably 68000 series) "int" is 32 bits, but multiplying - * two 16-bit shorts is faster than multiplying two ints. Define MULTIPLIER - * as short on such a machine. MULTIPLIER must be at least 16 bits wide. - */ - -#ifndef MULTIPLIER -#define MULTIPLIER int /* type for fastest integer multiply */ -#endif - - -/* FAST_FLOAT should be either float or double, whichever is done faster - * by your compiler. (Note that this type is only used in the floating point - * DCT routines, so it only matters if you've defined DCT_FLOAT_SUPPORTED.) - * Typically, float is faster in ANSI C compilers, while double is faster in - * pre-ANSI compilers (because they insist on converting to double anyway). - * The code below therefore chooses float if we have ANSI-style prototypes. - */ - -#ifndef FAST_FLOAT -#ifdef HAVE_PROTOTYPES -#define FAST_FLOAT float -#else -#define FAST_FLOAT double -#endif -#endif - -#endif /* JPEG_INTERNAL_OPTIONS */ diff --git a/libjpeg/include/jpeglib.h b/libjpeg/include/jpeglib.h deleted file mode 100644 index 4073bc5..0000000 --- a/libjpeg/include/jpeglib.h +++ /dev/null @@ -1,1180 +0,0 @@ -/* - * jpeglib.h - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * Modified 2002-2017 by Guido Vollbeding. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file defines the application interface for the JPEG library. - * Most applications using the library need only include this file, - * and perhaps jerror.h if they want to know the exact error codes. - */ - -#ifndef JPEGLIB_H -#define JPEGLIB_H - -/* - * First we include the configuration files that record how this - * installation of the JPEG library is set up. jconfig.h can be - * generated automatically for many systems. jmorecfg.h contains - * manual configuration options that most people need not worry about. - */ - -#ifndef JCONFIG_INCLUDED /* in case jinclude.h already did */ -#include "jconfig.h" /* widely used configuration options */ -#endif -#include "jmorecfg.h" /* seldom changed options */ - - -#ifdef __cplusplus -#ifndef DONT_USE_EXTERN_C -extern "C" { -#endif -#endif - -/* Version IDs for the JPEG library. - * Might be useful for tests like "#if JPEG_LIB_VERSION >= 90". - */ - -#define JPEG_LIB_VERSION 90 /* Compatibility version 9.0 */ -#define JPEG_LIB_VERSION_MAJOR 9 -#define JPEG_LIB_VERSION_MINOR 3 - - -/* Various constants determining the sizes of things. - * All of these are specified by the JPEG standard, - * so don't change them if you want to be compatible. - */ - -#define DCTSIZE 8 /* The basic DCT block is 8x8 coefficients */ -#define DCTSIZE2 64 /* DCTSIZE squared; # of elements in a block */ -#define NUM_QUANT_TBLS 4 /* Quantization tables are numbered 0..3 */ -#define NUM_HUFF_TBLS 4 /* Huffman tables are numbered 0..3 */ -#define NUM_ARITH_TBLS 16 /* Arith-coding tables are numbered 0..15 */ -#define MAX_COMPS_IN_SCAN 4 /* JPEG limit on # of components in one scan */ -#define MAX_SAMP_FACTOR 4 /* JPEG limit on sampling factors */ -/* Unfortunately, some bozo at Adobe saw no reason to be bound by the standard; - * the PostScript DCT filter can emit files with many more than 10 blocks/MCU. - * If you happen to run across such a file, you can up D_MAX_BLOCKS_IN_MCU - * to handle it. We even let you do this from the jconfig.h file. However, - * we strongly discourage changing C_MAX_BLOCKS_IN_MCU; just because Adobe - * sometimes emits noncompliant files doesn't mean you should too. - */ -#define C_MAX_BLOCKS_IN_MCU 10 /* compressor's limit on blocks per MCU */ -#ifndef D_MAX_BLOCKS_IN_MCU -#define D_MAX_BLOCKS_IN_MCU 10 /* decompressor's limit on blocks per MCU */ -#endif - - -/* Data structures for images (arrays of samples and of DCT coefficients). - * On 80x86 machines, the image arrays are too big for near pointers, - * but the pointer arrays can fit in near memory. - */ - -typedef JSAMPLE FAR *JSAMPROW; /* ptr to one image row of pixel samples. */ -typedef JSAMPROW *JSAMPARRAY; /* ptr to some rows (a 2-D sample array) */ -typedef JSAMPARRAY *JSAMPIMAGE; /* a 3-D sample array: top index is color */ - -typedef JCOEF JBLOCK[DCTSIZE2]; /* one block of coefficients */ -typedef JBLOCK FAR *JBLOCKROW; /* pointer to one row of coefficient blocks */ -typedef JBLOCKROW *JBLOCKARRAY; /* a 2-D array of coefficient blocks */ -typedef JBLOCKARRAY *JBLOCKIMAGE; /* a 3-D array of coefficient blocks */ - -typedef JCOEF FAR *JCOEFPTR; /* useful in a couple of places */ - - -/* Types for JPEG compression parameters and working tables. */ - - -/* DCT coefficient quantization tables. */ - -typedef struct { - /* This array gives the coefficient quantizers in natural array order - * (not the zigzag order in which they are stored in a JPEG DQT marker). - * CAUTION: IJG versions prior to v6a kept this array in zigzag order. - */ - UINT16 quantval[DCTSIZE2]; /* quantization step for each coefficient */ - /* This field is used only during compression. It's initialized FALSE when - * the table is created, and set TRUE when it's been output to the file. - * You could suppress output of a table by setting this to TRUE. - * (See jpeg_suppress_tables for an example.) - */ - boolean sent_table; /* TRUE when table has been output */ -} JQUANT_TBL; - - -/* Huffman coding tables. */ - -typedef struct { - /* These two fields directly represent the contents of a JPEG DHT marker */ - UINT8 bits[17]; /* bits[k] = # of symbols with codes of */ - /* length k bits; bits[0] is unused */ - UINT8 huffval[256]; /* The symbols, in order of incr code length */ - /* This field is used only during compression. It's initialized FALSE when - * the table is created, and set TRUE when it's been output to the file. - * You could suppress output of a table by setting this to TRUE. - * (See jpeg_suppress_tables for an example.) - */ - boolean sent_table; /* TRUE when table has been output */ -} JHUFF_TBL; - - -/* Basic info about one component (color channel). */ - -typedef struct { - /* These values are fixed over the whole image. */ - /* For compression, they must be supplied by parameter setup; */ - /* for decompression, they are read from the SOF marker. */ - int component_id; /* identifier for this component (0..255) */ - int component_index; /* its index in SOF or cinfo->comp_info[] */ - int h_samp_factor; /* horizontal sampling factor (1..4) */ - int v_samp_factor; /* vertical sampling factor (1..4) */ - int quant_tbl_no; /* quantization table selector (0..3) */ - /* These values may vary between scans. */ - /* For compression, they must be supplied by parameter setup; */ - /* for decompression, they are read from the SOS marker. */ - /* The decompressor output side may not use these variables. */ - int dc_tbl_no; /* DC entropy table selector (0..3) */ - int ac_tbl_no; /* AC entropy table selector (0..3) */ - - /* Remaining fields should be treated as private by applications. */ - - /* These values are computed during compression or decompression startup: */ - /* Component's size in DCT blocks. - * Any dummy blocks added to complete an MCU are not counted; therefore - * these values do not depend on whether a scan is interleaved or not. - */ - JDIMENSION width_in_blocks; - JDIMENSION height_in_blocks; - /* Size of a DCT block in samples, - * reflecting any scaling we choose to apply during the DCT step. - * Values from 1 to 16 are supported. - * Note that different components may receive different DCT scalings. - */ - int DCT_h_scaled_size; - int DCT_v_scaled_size; - /* The downsampled dimensions are the component's actual, unpadded number - * of samples at the main buffer (preprocessing/compression interface); - * DCT scaling is included, so - * downsampled_width = - * ceil(image_width * Hi/Hmax * DCT_h_scaled_size/block_size) - * and similarly for height. - */ - JDIMENSION downsampled_width; /* actual width in samples */ - JDIMENSION downsampled_height; /* actual height in samples */ - /* For decompression, in cases where some of the components will be - * ignored (eg grayscale output from YCbCr image), we can skip most - * computations for the unused components. - * For compression, some of the components will need further quantization - * scale by factor of 2 after DCT (eg BG_YCC output from normal RGB input). - * The field is first set TRUE for decompression, FALSE for compression - * in initial_setup, and then adapted in color conversion setup. - */ - boolean component_needed; - - /* These values are computed before starting a scan of the component. */ - /* The decompressor output side may not use these variables. */ - int MCU_width; /* number of blocks per MCU, horizontally */ - int MCU_height; /* number of blocks per MCU, vertically */ - int MCU_blocks; /* MCU_width * MCU_height */ - int MCU_sample_width; /* MCU width in samples: MCU_width * DCT_h_scaled_size */ - int last_col_width; /* # of non-dummy blocks across in last MCU */ - int last_row_height; /* # of non-dummy blocks down in last MCU */ - - /* Saved quantization table for component; NULL if none yet saved. - * See jdinput.c comments about the need for this information. - * This field is currently used only for decompression. - */ - JQUANT_TBL * quant_table; - - /* Private per-component storage for DCT or IDCT subsystem. */ - void * dct_table; -} jpeg_component_info; - - -/* The script for encoding a multiple-scan file is an array of these: */ - -typedef struct { - int comps_in_scan; /* number of components encoded in this scan */ - int component_index[MAX_COMPS_IN_SCAN]; /* their SOF/comp_info[] indexes */ - int Ss, Se; /* progressive JPEG spectral selection parms */ - int Ah, Al; /* progressive JPEG successive approx. parms */ -} jpeg_scan_info; - -/* The decompressor can save APPn and COM markers in a list of these: */ - -typedef struct jpeg_marker_struct FAR * jpeg_saved_marker_ptr; - -struct jpeg_marker_struct { - jpeg_saved_marker_ptr next; /* next in list, or NULL */ - UINT8 marker; /* marker code: JPEG_COM, or JPEG_APP0+n */ - unsigned int original_length; /* # bytes of data in the file */ - unsigned int data_length; /* # bytes of data saved at data[] */ - JOCTET FAR * data; /* the data contained in the marker */ - /* the marker length word is not counted in data_length or original_length */ -}; - -/* Known color spaces. */ - -typedef enum { - JCS_UNKNOWN, /* error/unspecified */ - JCS_GRAYSCALE, /* monochrome */ - JCS_RGB, /* red/green/blue, standard RGB (sRGB) */ - JCS_YCbCr, /* Y/Cb/Cr (also known as YUV), standard YCC */ - JCS_CMYK, /* C/M/Y/K */ - JCS_YCCK, /* Y/Cb/Cr/K */ - JCS_BG_RGB, /* big gamut red/green/blue, bg-sRGB */ - JCS_BG_YCC /* big gamut Y/Cb/Cr, bg-sYCC */ -} J_COLOR_SPACE; - -/* Supported color transforms. */ - -typedef enum { - JCT_NONE = 0, - JCT_SUBTRACT_GREEN = 1 -} J_COLOR_TRANSFORM; - -/* DCT/IDCT algorithm options. */ - -typedef enum { - JDCT_ISLOW, /* slow but accurate integer algorithm */ - JDCT_IFAST, /* faster, less accurate integer method */ - JDCT_FLOAT /* floating-point: accurate, fast on fast HW */ -} J_DCT_METHOD; - -#ifndef JDCT_DEFAULT /* may be overridden in jconfig.h */ -#define JDCT_DEFAULT JDCT_ISLOW -#endif -#ifndef JDCT_FASTEST /* may be overridden in jconfig.h */ -#define JDCT_FASTEST JDCT_IFAST -#endif - -/* Dithering options for decompression. */ - -typedef enum { - JDITHER_NONE, /* no dithering */ - JDITHER_ORDERED, /* simple ordered dither */ - JDITHER_FS /* Floyd-Steinberg error diffusion dither */ -} J_DITHER_MODE; - - -/* Common fields between JPEG compression and decompression master structs. */ - -#define jpeg_common_fields \ - struct jpeg_error_mgr * err; /* Error handler module */\ - struct jpeg_memory_mgr * mem; /* Memory manager module */\ - struct jpeg_progress_mgr * progress; /* Progress monitor, or NULL if none */\ - void * client_data; /* Available for use by application */\ - boolean is_decompressor; /* So common code can tell which is which */\ - int global_state /* For checking call sequence validity */ - -/* Routines that are to be used by both halves of the library are declared - * to receive a pointer to this structure. There are no actual instances of - * jpeg_common_struct, only of jpeg_compress_struct and jpeg_decompress_struct. - */ -struct jpeg_common_struct { - jpeg_common_fields; /* Fields common to both master struct types */ - /* Additional fields follow in an actual jpeg_compress_struct or - * jpeg_decompress_struct. All three structs must agree on these - * initial fields! (This would be a lot cleaner in C++.) - */ -}; - -typedef struct jpeg_common_struct * j_common_ptr; -typedef struct jpeg_compress_struct * j_compress_ptr; -typedef struct jpeg_decompress_struct * j_decompress_ptr; - - -/* Master record for a compression instance */ - -struct jpeg_compress_struct { - jpeg_common_fields; /* Fields shared with jpeg_decompress_struct */ - - /* Destination for compressed data */ - struct jpeg_destination_mgr * dest; - - /* Description of source image --- these fields must be filled in by - * outer application before starting compression. in_color_space must - * be correct before you can even call jpeg_set_defaults(). - */ - - JDIMENSION image_width; /* input image width */ - JDIMENSION image_height; /* input image height */ - int input_components; /* # of color components in input image */ - J_COLOR_SPACE in_color_space; /* colorspace of input image */ - - double input_gamma; /* image gamma of input image */ - - /* Compression parameters --- these fields must be set before calling - * jpeg_start_compress(). We recommend calling jpeg_set_defaults() to - * initialize everything to reasonable defaults, then changing anything - * the application specifically wants to change. That way you won't get - * burnt when new parameters are added. Also note that there are several - * helper routines to simplify changing parameters. - */ - - unsigned int scale_num, scale_denom; /* fraction by which to scale image */ - - JDIMENSION jpeg_width; /* scaled JPEG image width */ - JDIMENSION jpeg_height; /* scaled JPEG image height */ - /* Dimensions of actual JPEG image that will be written to file, - * derived from input dimensions by scaling factors above. - * These fields are computed by jpeg_start_compress(). - * You can also use jpeg_calc_jpeg_dimensions() to determine these values - * in advance of calling jpeg_start_compress(). - */ - - int data_precision; /* bits of precision in image data */ - - int num_components; /* # of color components in JPEG image */ - J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ - - jpeg_component_info * comp_info; - /* comp_info[i] describes component that appears i'th in SOF */ - - JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; - int q_scale_factor[NUM_QUANT_TBLS]; - /* ptrs to coefficient quantization tables, or NULL if not defined, - * and corresponding scale factors (percentage, initialized 100). - */ - - JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; - JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; - /* ptrs to Huffman coding tables, or NULL if not defined */ - - UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ - UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ - UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ - - int num_scans; /* # of entries in scan_info array */ - const jpeg_scan_info * scan_info; /* script for multi-scan file, or NULL */ - /* The default value of scan_info is NULL, which causes a single-scan - * sequential JPEG file to be emitted. To create a multi-scan file, - * set num_scans and scan_info to point to an array of scan definitions. - */ - - boolean raw_data_in; /* TRUE=caller supplies downsampled data */ - boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ - boolean optimize_coding; /* TRUE=optimize entropy encoding parms */ - boolean CCIR601_sampling; /* TRUE=first samples are cosited */ - boolean do_fancy_downsampling; /* TRUE=apply fancy downsampling */ - int smoothing_factor; /* 1..100, or 0 for no input smoothing */ - J_DCT_METHOD dct_method; /* DCT algorithm selector */ - - /* The restart interval can be specified in absolute MCUs by setting - * restart_interval, or in MCU rows by setting restart_in_rows - * (in which case the correct restart_interval will be figured - * for each scan). - */ - unsigned int restart_interval; /* MCUs per restart, or 0 for no restart */ - int restart_in_rows; /* if > 0, MCU rows per restart interval */ - - /* Parameters controlling emission of special markers. */ - - boolean write_JFIF_header; /* should a JFIF marker be written? */ - UINT8 JFIF_major_version; /* What to write for the JFIF version number */ - UINT8 JFIF_minor_version; - /* These three values are not used by the JPEG code, merely copied */ - /* into the JFIF APP0 marker. density_unit can be 0 for unknown, */ - /* 1 for dots/inch, or 2 for dots/cm. Note that the pixel aspect */ - /* ratio is defined by X_density/Y_density even when density_unit=0. */ - UINT8 density_unit; /* JFIF code for pixel size units */ - UINT16 X_density; /* Horizontal pixel density */ - UINT16 Y_density; /* Vertical pixel density */ - boolean write_Adobe_marker; /* should an Adobe marker be written? */ - - J_COLOR_TRANSFORM color_transform; - /* Color transform identifier, writes LSE marker if nonzero */ - - /* State variable: index of next scanline to be written to - * jpeg_write_scanlines(). Application may use this to control its - * processing loop, e.g., "while (next_scanline < image_height)". - */ - - JDIMENSION next_scanline; /* 0 .. image_height-1 */ - - /* Remaining fields are known throughout compressor, but generally - * should not be touched by a surrounding application. - */ - - /* - * These fields are computed during compression startup - */ - boolean progressive_mode; /* TRUE if scan script uses progressive mode */ - int max_h_samp_factor; /* largest h_samp_factor */ - int max_v_samp_factor; /* largest v_samp_factor */ - - int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ - int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ - - JDIMENSION total_iMCU_rows; /* # of iMCU rows to be input to coef ctlr */ - /* The coefficient controller receives data in units of MCU rows as defined - * for fully interleaved scans (whether the JPEG file is interleaved or not). - * There are v_samp_factor * DCT_v_scaled_size sample rows of each component - * in an "iMCU" (interleaved MCU) row. - */ - - /* - * These fields are valid during any one scan. - * They describe the components and MCUs actually appearing in the scan. - */ - int comps_in_scan; /* # of JPEG components in this scan */ - jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; - /* *cur_comp_info[i] describes component that appears i'th in SOS */ - - JDIMENSION MCUs_per_row; /* # of MCUs across the image */ - JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ - - int blocks_in_MCU; /* # of DCT blocks per MCU */ - int MCU_membership[C_MAX_BLOCKS_IN_MCU]; - /* MCU_membership[i] is index in cur_comp_info of component owning */ - /* i'th block in an MCU */ - - int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ - - int block_size; /* the basic DCT block size: 1..16 */ - const int * natural_order; /* natural-order position array */ - int lim_Se; /* min( Se, DCTSIZE2-1 ) */ - - /* - * Links to compression subobjects (methods and private variables of modules) - */ - struct jpeg_comp_master * master; - struct jpeg_c_main_controller * main; - struct jpeg_c_prep_controller * prep; - struct jpeg_c_coef_controller * coef; - struct jpeg_marker_writer * marker; - struct jpeg_color_converter * cconvert; - struct jpeg_downsampler * downsample; - struct jpeg_forward_dct * fdct; - struct jpeg_entropy_encoder * entropy; - jpeg_scan_info * script_space; /* workspace for jpeg_simple_progression */ - int script_space_size; -}; - - -/* Master record for a decompression instance */ - -struct jpeg_decompress_struct { - jpeg_common_fields; /* Fields shared with jpeg_compress_struct */ - - /* Source of compressed data */ - struct jpeg_source_mgr * src; - - /* Basic description of image --- filled in by jpeg_read_header(). */ - /* Application may inspect these values to decide how to process image. */ - - JDIMENSION image_width; /* nominal image width (from SOF marker) */ - JDIMENSION image_height; /* nominal image height */ - int num_components; /* # of color components in JPEG image */ - J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ - - /* Decompression processing parameters --- these fields must be set before - * calling jpeg_start_decompress(). Note that jpeg_read_header() initializes - * them to default values. - */ - - J_COLOR_SPACE out_color_space; /* colorspace for output */ - - unsigned int scale_num, scale_denom; /* fraction by which to scale image */ - - double output_gamma; /* image gamma wanted in output */ - - boolean buffered_image; /* TRUE=multiple output passes */ - boolean raw_data_out; /* TRUE=downsampled data wanted */ - - J_DCT_METHOD dct_method; /* IDCT algorithm selector */ - boolean do_fancy_upsampling; /* TRUE=apply fancy upsampling */ - boolean do_block_smoothing; /* TRUE=apply interblock smoothing */ - - boolean quantize_colors; /* TRUE=colormapped output wanted */ - /* the following are ignored if not quantize_colors: */ - J_DITHER_MODE dither_mode; /* type of color dithering to use */ - boolean two_pass_quantize; /* TRUE=use two-pass color quantization */ - int desired_number_of_colors; /* max # colors to use in created colormap */ - /* these are significant only in buffered-image mode: */ - boolean enable_1pass_quant; /* enable future use of 1-pass quantizer */ - boolean enable_external_quant;/* enable future use of external colormap */ - boolean enable_2pass_quant; /* enable future use of 2-pass quantizer */ - - /* Description of actual output image that will be returned to application. - * These fields are computed by jpeg_start_decompress(). - * You can also use jpeg_calc_output_dimensions() to determine these values - * in advance of calling jpeg_start_decompress(). - */ - - JDIMENSION output_width; /* scaled image width */ - JDIMENSION output_height; /* scaled image height */ - int out_color_components; /* # of color components in out_color_space */ - int output_components; /* # of color components returned */ - /* output_components is 1 (a colormap index) when quantizing colors; - * otherwise it equals out_color_components. - */ - int rec_outbuf_height; /* min recommended height of scanline buffer */ - /* If the buffer passed to jpeg_read_scanlines() is less than this many rows - * high, space and time will be wasted due to unnecessary data copying. - * Usually rec_outbuf_height will be 1 or 2, at most 4. - */ - - /* When quantizing colors, the output colormap is described by these fields. - * The application can supply a colormap by setting colormap non-NULL before - * calling jpeg_start_decompress; otherwise a colormap is created during - * jpeg_start_decompress or jpeg_start_output. - * The map has out_color_components rows and actual_number_of_colors columns. - */ - int actual_number_of_colors; /* number of entries in use */ - JSAMPARRAY colormap; /* The color map as a 2-D pixel array */ - - /* State variables: these variables indicate the progress of decompression. - * The application may examine these but must not modify them. - */ - - /* Row index of next scanline to be read from jpeg_read_scanlines(). - * Application may use this to control its processing loop, e.g., - * "while (output_scanline < output_height)". - */ - JDIMENSION output_scanline; /* 0 .. output_height-1 */ - - /* Current input scan number and number of iMCU rows completed in scan. - * These indicate the progress of the decompressor input side. - */ - int input_scan_number; /* Number of SOS markers seen so far */ - JDIMENSION input_iMCU_row; /* Number of iMCU rows completed */ - - /* The "output scan number" is the notional scan being displayed by the - * output side. The decompressor will not allow output scan/row number - * to get ahead of input scan/row, but it can fall arbitrarily far behind. - */ - int output_scan_number; /* Nominal scan number being displayed */ - JDIMENSION output_iMCU_row; /* Number of iMCU rows read */ - - /* Current progression status. coef_bits[c][i] indicates the precision - * with which component c's DCT coefficient i (in zigzag order) is known. - * It is -1 when no data has yet been received, otherwise it is the point - * transform (shift) value for the most recent scan of the coefficient - * (thus, 0 at completion of the progression). - * This pointer is NULL when reading a non-progressive file. - */ - int (*coef_bits)[DCTSIZE2]; /* -1 or current Al value for each coef */ - - /* Internal JPEG parameters --- the application usually need not look at - * these fields. Note that the decompressor output side may not use - * any parameters that can change between scans. - */ - - /* Quantization and Huffman tables are carried forward across input - * datastreams when processing abbreviated JPEG datastreams. - */ - - JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; - /* ptrs to coefficient quantization tables, or NULL if not defined */ - - JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; - JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; - /* ptrs to Huffman coding tables, or NULL if not defined */ - - /* These parameters are never carried across datastreams, since they - * are given in SOF/SOS markers or defined to be reset by SOI. - */ - - int data_precision; /* bits of precision in image data */ - - jpeg_component_info * comp_info; - /* comp_info[i] describes component that appears i'th in SOF */ - - boolean is_baseline; /* TRUE if Baseline SOF0 encountered */ - boolean progressive_mode; /* TRUE if SOFn specifies progressive mode */ - boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ - - UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ - UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ - UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ - - unsigned int restart_interval; /* MCUs per restart interval, or 0 for no restart */ - - /* These fields record data obtained from optional markers recognized by - * the JPEG library. - */ - boolean saw_JFIF_marker; /* TRUE iff a JFIF APP0 marker was found */ - /* Data copied from JFIF marker; only valid if saw_JFIF_marker is TRUE: */ - UINT8 JFIF_major_version; /* JFIF version number */ - UINT8 JFIF_minor_version; - UINT8 density_unit; /* JFIF code for pixel size units */ - UINT16 X_density; /* Horizontal pixel density */ - UINT16 Y_density; /* Vertical pixel density */ - boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */ - UINT8 Adobe_transform; /* Color transform code from Adobe marker */ - - J_COLOR_TRANSFORM color_transform; - /* Color transform identifier derived from LSE marker, otherwise zero */ - - boolean CCIR601_sampling; /* TRUE=first samples are cosited */ - - /* Aside from the specific data retained from APPn markers known to the - * library, the uninterpreted contents of any or all APPn and COM markers - * can be saved in a list for examination by the application. - */ - jpeg_saved_marker_ptr marker_list; /* Head of list of saved markers */ - - /* Remaining fields are known throughout decompressor, but generally - * should not be touched by a surrounding application. - */ - - /* - * These fields are computed during decompression startup - */ - int max_h_samp_factor; /* largest h_samp_factor */ - int max_v_samp_factor; /* largest v_samp_factor */ - - int min_DCT_h_scaled_size; /* smallest DCT_h_scaled_size of any component */ - int min_DCT_v_scaled_size; /* smallest DCT_v_scaled_size of any component */ - - JDIMENSION total_iMCU_rows; /* # of iMCU rows in image */ - /* The coefficient controller's input and output progress is measured in - * units of "iMCU" (interleaved MCU) rows. These are the same as MCU rows - * in fully interleaved JPEG scans, but are used whether the scan is - * interleaved or not. We define an iMCU row as v_samp_factor DCT block - * rows of each component. Therefore, the IDCT output contains - * v_samp_factor * DCT_v_scaled_size sample rows of a component per iMCU row. - */ - - JSAMPLE * sample_range_limit; /* table for fast range-limiting */ - - /* - * These fields are valid during any one scan. - * They describe the components and MCUs actually appearing in the scan. - * Note that the decompressor output side must not use these fields. - */ - int comps_in_scan; /* # of JPEG components in this scan */ - jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; - /* *cur_comp_info[i] describes component that appears i'th in SOS */ - - JDIMENSION MCUs_per_row; /* # of MCUs across the image */ - JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ - - int blocks_in_MCU; /* # of DCT blocks per MCU */ - int MCU_membership[D_MAX_BLOCKS_IN_MCU]; - /* MCU_membership[i] is index in cur_comp_info of component owning */ - /* i'th block in an MCU */ - - int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ - - /* These fields are derived from Se of first SOS marker. - */ - int block_size; /* the basic DCT block size: 1..16 */ - const int * natural_order; /* natural-order position array for entropy decode */ - int lim_Se; /* min( Se, DCTSIZE2-1 ) for entropy decode */ - - /* This field is shared between entropy decoder and marker parser. - * It is either zero or the code of a JPEG marker that has been - * read from the data source, but has not yet been processed. - */ - int unread_marker; - - /* - * Links to decompression subobjects (methods, private variables of modules) - */ - struct jpeg_decomp_master * master; - struct jpeg_d_main_controller * main; - struct jpeg_d_coef_controller * coef; - struct jpeg_d_post_controller * post; - struct jpeg_input_controller * inputctl; - struct jpeg_marker_reader * marker; - struct jpeg_entropy_decoder * entropy; - struct jpeg_inverse_dct * idct; - struct jpeg_upsampler * upsample; - struct jpeg_color_deconverter * cconvert; - struct jpeg_color_quantizer * cquantize; -}; - - -/* "Object" declarations for JPEG modules that may be supplied or called - * directly by the surrounding application. - * As with all objects in the JPEG library, these structs only define the - * publicly visible methods and state variables of a module. Additional - * private fields may exist after the public ones. - */ - - -/* Error handler object */ - -struct jpeg_error_mgr { - /* Error exit handler: does not return to caller */ - JMETHOD(noreturn_t, error_exit, (j_common_ptr cinfo)); - /* Conditionally emit a trace or warning message */ - JMETHOD(void, emit_message, (j_common_ptr cinfo, int msg_level)); - /* Routine that actually outputs a trace or error message */ - JMETHOD(void, output_message, (j_common_ptr cinfo)); - /* Format a message string for the most recent JPEG error or message */ - JMETHOD(void, format_message, (j_common_ptr cinfo, char * buffer)); -#define JMSG_LENGTH_MAX 200 /* recommended size of format_message buffer */ - /* Reset error state variables at start of a new image */ - JMETHOD(void, reset_error_mgr, (j_common_ptr cinfo)); - - /* The message ID code and any parameters are saved here. - * A message can have one string parameter or up to 8 int parameters. - */ - int msg_code; -#define JMSG_STR_PARM_MAX 80 - union { - int i[8]; - char s[JMSG_STR_PARM_MAX]; - } msg_parm; - - /* Standard state variables for error facility */ - - int trace_level; /* max msg_level that will be displayed */ - - /* For recoverable corrupt-data errors, we emit a warning message, - * but keep going unless emit_message chooses to abort. emit_message - * should count warnings in num_warnings. The surrounding application - * can check for bad data by seeing if num_warnings is nonzero at the - * end of processing. - */ - long num_warnings; /* number of corrupt-data warnings */ - - /* These fields point to the table(s) of error message strings. - * An application can change the table pointer to switch to a different - * message list (typically, to change the language in which errors are - * reported). Some applications may wish to add additional error codes - * that will be handled by the JPEG library error mechanism; the second - * table pointer is used for this purpose. - * - * First table includes all errors generated by JPEG library itself. - * Error code 0 is reserved for a "no such error string" message. - */ - const char * const * jpeg_message_table; /* Library errors */ - int last_jpeg_message; /* Table contains strings 0..last_jpeg_message */ - /* Second table can be added by application (see cjpeg/djpeg for example). - * It contains strings numbered first_addon_message..last_addon_message. - */ - const char * const * addon_message_table; /* Non-library errors */ - int first_addon_message; /* code for first string in addon table */ - int last_addon_message; /* code for last string in addon table */ -}; - - -/* Progress monitor object */ - -struct jpeg_progress_mgr { - JMETHOD(void, progress_monitor, (j_common_ptr cinfo)); - - long pass_counter; /* work units completed in this pass */ - long pass_limit; /* total number of work units in this pass */ - int completed_passes; /* passes completed so far */ - int total_passes; /* total number of passes expected */ -}; - - -/* Data destination object for compression */ - -struct jpeg_destination_mgr { - JOCTET * next_output_byte; /* => next byte to write in buffer */ - size_t free_in_buffer; /* # of byte spaces remaining in buffer */ - - JMETHOD(void, init_destination, (j_compress_ptr cinfo)); - JMETHOD(boolean, empty_output_buffer, (j_compress_ptr cinfo)); - JMETHOD(void, term_destination, (j_compress_ptr cinfo)); -}; - - -/* Data source object for decompression */ - -struct jpeg_source_mgr { - const JOCTET * next_input_byte; /* => next byte to read from buffer */ - size_t bytes_in_buffer; /* # of bytes remaining in buffer */ - - JMETHOD(void, init_source, (j_decompress_ptr cinfo)); - JMETHOD(boolean, fill_input_buffer, (j_decompress_ptr cinfo)); - JMETHOD(void, skip_input_data, (j_decompress_ptr cinfo, long num_bytes)); - JMETHOD(boolean, resync_to_restart, (j_decompress_ptr cinfo, int desired)); - JMETHOD(void, term_source, (j_decompress_ptr cinfo)); -}; - - -/* Memory manager object. - * Allocates "small" objects (a few K total), "large" objects (tens of K), - * and "really big" objects (virtual arrays with backing store if needed). - * The memory manager does not allow individual objects to be freed; rather, - * each created object is assigned to a pool, and whole pools can be freed - * at once. This is faster and more convenient than remembering exactly what - * to free, especially where malloc()/free() are not too speedy. - * NB: alloc routines never return NULL. They exit to error_exit if not - * successful. - */ - -#define JPOOL_PERMANENT 0 /* lasts until master record is destroyed */ -#define JPOOL_IMAGE 1 /* lasts until done with image/datastream */ -#define JPOOL_NUMPOOLS 2 - -typedef struct jvirt_sarray_control * jvirt_sarray_ptr; -typedef struct jvirt_barray_control * jvirt_barray_ptr; - - -struct jpeg_memory_mgr { - /* Method pointers */ - JMETHOD(void *, alloc_small, (j_common_ptr cinfo, int pool_id, - size_t sizeofobject)); - JMETHOD(void FAR *, alloc_large, (j_common_ptr cinfo, int pool_id, - size_t sizeofobject)); - JMETHOD(JSAMPARRAY, alloc_sarray, (j_common_ptr cinfo, int pool_id, - JDIMENSION samplesperrow, - JDIMENSION numrows)); - JMETHOD(JBLOCKARRAY, alloc_barray, (j_common_ptr cinfo, int pool_id, - JDIMENSION blocksperrow, - JDIMENSION numrows)); - JMETHOD(jvirt_sarray_ptr, request_virt_sarray, (j_common_ptr cinfo, - int pool_id, - boolean pre_zero, - JDIMENSION samplesperrow, - JDIMENSION numrows, - JDIMENSION maxaccess)); - JMETHOD(jvirt_barray_ptr, request_virt_barray, (j_common_ptr cinfo, - int pool_id, - boolean pre_zero, - JDIMENSION blocksperrow, - JDIMENSION numrows, - JDIMENSION maxaccess)); - JMETHOD(void, realize_virt_arrays, (j_common_ptr cinfo)); - JMETHOD(JSAMPARRAY, access_virt_sarray, (j_common_ptr cinfo, - jvirt_sarray_ptr ptr, - JDIMENSION start_row, - JDIMENSION num_rows, - boolean writable)); - JMETHOD(JBLOCKARRAY, access_virt_barray, (j_common_ptr cinfo, - jvirt_barray_ptr ptr, - JDIMENSION start_row, - JDIMENSION num_rows, - boolean writable)); - JMETHOD(void, free_pool, (j_common_ptr cinfo, int pool_id)); - JMETHOD(void, self_destruct, (j_common_ptr cinfo)); - - /* Limit on memory allocation for this JPEG object. (Note that this is - * merely advisory, not a guaranteed maximum; it only affects the space - * used for virtual-array buffers.) May be changed by outer application - * after creating the JPEG object. - */ - long max_memory_to_use; - - /* Maximum allocation request accepted by alloc_large. */ - long max_alloc_chunk; -}; - - -/* Routine signature for application-supplied marker processing methods. - * Need not pass marker code since it is stored in cinfo->unread_marker. - */ -typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo)); - - -/* Declarations for routines called by application. - * The JPP macro hides prototype parameters from compilers that can't cope. - * Note JPP requires double parentheses. - */ - -#ifdef HAVE_PROTOTYPES -#define JPP(arglist) arglist -#else -#define JPP(arglist) () -#endif - - -/* Short forms of external names for systems with brain-damaged linkers. - * We shorten external names to be unique in the first six letters, which - * is good enough for all known systems. - * (If your compiler itself needs names to be unique in less than 15 - * characters, you are out of luck. Get a better compiler.) - */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_std_error jStdError -#define jpeg_CreateCompress jCreaCompress -#define jpeg_CreateDecompress jCreaDecompress -#define jpeg_destroy_compress jDestCompress -#define jpeg_destroy_decompress jDestDecompress -#define jpeg_stdio_dest jStdDest -#define jpeg_stdio_src jStdSrc -#define jpeg_mem_dest jMemDest -#define jpeg_mem_src jMemSrc -#define jpeg_set_defaults jSetDefaults -#define jpeg_set_colorspace jSetColorspace -#define jpeg_default_colorspace jDefColorspace -#define jpeg_set_quality jSetQuality -#define jpeg_set_linear_quality jSetLQuality -#define jpeg_default_qtables jDefQTables -#define jpeg_add_quant_table jAddQuantTable -#define jpeg_quality_scaling jQualityScaling -#define jpeg_simple_progression jSimProgress -#define jpeg_suppress_tables jSuppressTables -#define jpeg_alloc_quant_table jAlcQTable -#define jpeg_alloc_huff_table jAlcHTable -#define jpeg_start_compress jStrtCompress -#define jpeg_write_scanlines jWrtScanlines -#define jpeg_finish_compress jFinCompress -#define jpeg_calc_jpeg_dimensions jCjpegDimensions -#define jpeg_write_raw_data jWrtRawData -#define jpeg_write_marker jWrtMarker -#define jpeg_write_m_header jWrtMHeader -#define jpeg_write_m_byte jWrtMByte -#define jpeg_write_tables jWrtTables -#define jpeg_read_header jReadHeader -#define jpeg_start_decompress jStrtDecompress -#define jpeg_read_scanlines jReadScanlines -#define jpeg_finish_decompress jFinDecompress -#define jpeg_read_raw_data jReadRawData -#define jpeg_has_multiple_scans jHasMultScn -#define jpeg_start_output jStrtOutput -#define jpeg_finish_output jFinOutput -#define jpeg_input_complete jInComplete -#define jpeg_new_colormap jNewCMap -#define jpeg_consume_input jConsumeInput -#define jpeg_core_output_dimensions jCoreDimensions -#define jpeg_calc_output_dimensions jCalcDimensions -#define jpeg_save_markers jSaveMarkers -#define jpeg_set_marker_processor jSetMarker -#define jpeg_read_coefficients jReadCoefs -#define jpeg_write_coefficients jWrtCoefs -#define jpeg_copy_critical_parameters jCopyCrit -#define jpeg_abort_compress jAbrtCompress -#define jpeg_abort_decompress jAbrtDecompress -#define jpeg_abort jAbort -#define jpeg_destroy jDestroy -#define jpeg_resync_to_restart jResyncRestart -#endif /* NEED_SHORT_EXTERNAL_NAMES */ - - -/* Default error-management setup */ -EXTERN(struct jpeg_error_mgr *) jpeg_std_error - JPP((struct jpeg_error_mgr * err)); - -/* Initialization of JPEG compression objects. - * jpeg_create_compress() and jpeg_create_decompress() are the exported - * names that applications should call. These expand to calls on - * jpeg_CreateCompress and jpeg_CreateDecompress with additional information - * passed for version mismatch checking. - * NB: you must set up the error-manager BEFORE calling jpeg_create_xxx. - */ -#define jpeg_create_compress(cinfo) \ - jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \ - (size_t) sizeof(struct jpeg_compress_struct)) -#define jpeg_create_decompress(cinfo) \ - jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, \ - (size_t) sizeof(struct jpeg_decompress_struct)) -EXTERN(void) jpeg_CreateCompress JPP((j_compress_ptr cinfo, - int version, size_t structsize)); -EXTERN(void) jpeg_CreateDecompress JPP((j_decompress_ptr cinfo, - int version, size_t structsize)); -/* Destruction of JPEG compression objects */ -EXTERN(void) jpeg_destroy_compress JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_destroy_decompress JPP((j_decompress_ptr cinfo)); - -/* Standard data source and destination managers: stdio streams. */ -/* Caller is responsible for opening the file before and closing after. */ -EXTERN(void) jpeg_stdio_dest JPP((j_compress_ptr cinfo, FILE * outfile)); -EXTERN(void) jpeg_stdio_src JPP((j_decompress_ptr cinfo, FILE * infile)); - -/* Data source and destination managers: memory buffers. */ -EXTERN(void) jpeg_mem_dest JPP((j_compress_ptr cinfo, - unsigned char ** outbuffer, - unsigned long * outsize)); -EXTERN(void) jpeg_mem_src JPP((j_decompress_ptr cinfo, - const unsigned char * inbuffer, - unsigned long insize)); - -/* Default parameter setup for compression */ -EXTERN(void) jpeg_set_defaults JPP((j_compress_ptr cinfo)); -/* Compression parameter setup aids */ -EXTERN(void) jpeg_set_colorspace JPP((j_compress_ptr cinfo, - J_COLOR_SPACE colorspace)); -EXTERN(void) jpeg_default_colorspace JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_set_quality JPP((j_compress_ptr cinfo, int quality, - boolean force_baseline)); -EXTERN(void) jpeg_set_linear_quality JPP((j_compress_ptr cinfo, - int scale_factor, - boolean force_baseline)); -EXTERN(void) jpeg_default_qtables JPP((j_compress_ptr cinfo, - boolean force_baseline)); -EXTERN(void) jpeg_add_quant_table JPP((j_compress_ptr cinfo, int which_tbl, - const unsigned int *basic_table, - int scale_factor, - boolean force_baseline)); -EXTERN(int) jpeg_quality_scaling JPP((int quality)); -EXTERN(void) jpeg_simple_progression JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_suppress_tables JPP((j_compress_ptr cinfo, - boolean suppress)); -EXTERN(JQUANT_TBL *) jpeg_alloc_quant_table JPP((j_common_ptr cinfo)); -EXTERN(JHUFF_TBL *) jpeg_alloc_huff_table JPP((j_common_ptr cinfo)); - -/* Main entry points for compression */ -EXTERN(void) jpeg_start_compress JPP((j_compress_ptr cinfo, - boolean write_all_tables)); -EXTERN(JDIMENSION) jpeg_write_scanlines JPP((j_compress_ptr cinfo, - JSAMPARRAY scanlines, - JDIMENSION num_lines)); -EXTERN(void) jpeg_finish_compress JPP((j_compress_ptr cinfo)); - -/* Precalculate JPEG dimensions for current compression parameters. */ -EXTERN(void) jpeg_calc_jpeg_dimensions JPP((j_compress_ptr cinfo)); - -/* Replaces jpeg_write_scanlines when writing raw downsampled data. */ -EXTERN(JDIMENSION) jpeg_write_raw_data JPP((j_compress_ptr cinfo, - JSAMPIMAGE data, - JDIMENSION num_lines)); - -/* Write a special marker. See libjpeg.txt concerning safe usage. */ -EXTERN(void) jpeg_write_marker - JPP((j_compress_ptr cinfo, int marker, - const JOCTET * dataptr, unsigned int datalen)); -/* Same, but piecemeal. */ -EXTERN(void) jpeg_write_m_header - JPP((j_compress_ptr cinfo, int marker, unsigned int datalen)); -EXTERN(void) jpeg_write_m_byte - JPP((j_compress_ptr cinfo, int val)); - -/* Alternate compression function: just write an abbreviated table file */ -EXTERN(void) jpeg_write_tables JPP((j_compress_ptr cinfo)); - -/* Decompression startup: read start of JPEG datastream to see what's there */ -EXTERN(int) jpeg_read_header JPP((j_decompress_ptr cinfo, - boolean require_image)); -/* Return value is one of: */ -#define JPEG_SUSPENDED 0 /* Suspended due to lack of input data */ -#define JPEG_HEADER_OK 1 /* Found valid image datastream */ -#define JPEG_HEADER_TABLES_ONLY 2 /* Found valid table-specs-only datastream */ -/* If you pass require_image = TRUE (normal case), you need not check for - * a TABLES_ONLY return code; an abbreviated file will cause an error exit. - * JPEG_SUSPENDED is only possible if you use a data source module that can - * give a suspension return (the stdio source module doesn't). - */ - -/* Main entry points for decompression */ -EXTERN(boolean) jpeg_start_decompress JPP((j_decompress_ptr cinfo)); -EXTERN(JDIMENSION) jpeg_read_scanlines JPP((j_decompress_ptr cinfo, - JSAMPARRAY scanlines, - JDIMENSION max_lines)); -EXTERN(boolean) jpeg_finish_decompress JPP((j_decompress_ptr cinfo)); - -/* Replaces jpeg_read_scanlines when reading raw downsampled data. */ -EXTERN(JDIMENSION) jpeg_read_raw_data JPP((j_decompress_ptr cinfo, - JSAMPIMAGE data, - JDIMENSION max_lines)); - -/* Additional entry points for buffered-image mode. */ -EXTERN(boolean) jpeg_has_multiple_scans JPP((j_decompress_ptr cinfo)); -EXTERN(boolean) jpeg_start_output JPP((j_decompress_ptr cinfo, - int scan_number)); -EXTERN(boolean) jpeg_finish_output JPP((j_decompress_ptr cinfo)); -EXTERN(boolean) jpeg_input_complete JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_new_colormap JPP((j_decompress_ptr cinfo)); -EXTERN(int) jpeg_consume_input JPP((j_decompress_ptr cinfo)); -/* Return value is one of: */ -/* #define JPEG_SUSPENDED 0 Suspended due to lack of input data */ -#define JPEG_REACHED_SOS 1 /* Reached start of new scan */ -#define JPEG_REACHED_EOI 2 /* Reached end of image */ -#define JPEG_ROW_COMPLETED 3 /* Completed one iMCU row */ -#define JPEG_SCAN_COMPLETED 4 /* Completed last iMCU row of a scan */ - -/* Precalculate output dimensions for current decompression parameters. */ -EXTERN(void) jpeg_core_output_dimensions JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_calc_output_dimensions JPP((j_decompress_ptr cinfo)); - -/* Control saving of COM and APPn markers into marker_list. */ -EXTERN(void) jpeg_save_markers - JPP((j_decompress_ptr cinfo, int marker_code, - unsigned int length_limit)); - -/* Install a special processing method for COM or APPn markers. */ -EXTERN(void) jpeg_set_marker_processor - JPP((j_decompress_ptr cinfo, int marker_code, - jpeg_marker_parser_method routine)); - -/* Read or write raw DCT coefficients --- useful for lossless transcoding. */ -EXTERN(jvirt_barray_ptr *) jpeg_read_coefficients JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_write_coefficients JPP((j_compress_ptr cinfo, - jvirt_barray_ptr * coef_arrays)); -EXTERN(void) jpeg_copy_critical_parameters JPP((j_decompress_ptr srcinfo, - j_compress_ptr dstinfo)); - -/* If you choose to abort compression or decompression before completing - * jpeg_finish_(de)compress, then you need to clean up to release memory, - * temporary files, etc. You can just call jpeg_destroy_(de)compress - * if you're done with the JPEG object, but if you want to clean it up and - * reuse it, call this: - */ -EXTERN(void) jpeg_abort_compress JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_abort_decompress JPP((j_decompress_ptr cinfo)); - -/* Generic versions of jpeg_abort and jpeg_destroy that work on either - * flavor of JPEG object. These may be more convenient in some places. - */ -EXTERN(void) jpeg_abort JPP((j_common_ptr cinfo)); -EXTERN(void) jpeg_destroy JPP((j_common_ptr cinfo)); - -/* Default restart-marker-resync procedure for use by data source modules */ -EXTERN(boolean) jpeg_resync_to_restart JPP((j_decompress_ptr cinfo, - int desired)); - - -/* These marker codes are exported since applications and data source modules - * are likely to want to use them. - */ - -#define JPEG_RST0 0xD0 /* RST0 marker code */ -#define JPEG_EOI 0xD9 /* EOI marker code */ -#define JPEG_APP0 0xE0 /* APP0 marker code */ -#define JPEG_COM 0xFE /* COM marker code */ - - -/* If we have a brain-damaged compiler that emits warnings (or worse, errors) - * for structure definitions that are never filled in, keep it quiet by - * supplying dummy definitions for the various substructures. - */ - -#ifdef INCOMPLETE_TYPES_BROKEN -#ifndef JPEG_INTERNALS /* will be defined in jpegint.h */ -struct jvirt_sarray_control { long dummy; }; -struct jvirt_barray_control { long dummy; }; -struct jpeg_comp_master { long dummy; }; -struct jpeg_c_main_controller { long dummy; }; -struct jpeg_c_prep_controller { long dummy; }; -struct jpeg_c_coef_controller { long dummy; }; -struct jpeg_marker_writer { long dummy; }; -struct jpeg_color_converter { long dummy; }; -struct jpeg_downsampler { long dummy; }; -struct jpeg_forward_dct { long dummy; }; -struct jpeg_entropy_encoder { long dummy; }; -struct jpeg_decomp_master { long dummy; }; -struct jpeg_d_main_controller { long dummy; }; -struct jpeg_d_coef_controller { long dummy; }; -struct jpeg_d_post_controller { long dummy; }; -struct jpeg_input_controller { long dummy; }; -struct jpeg_marker_reader { long dummy; }; -struct jpeg_entropy_decoder { long dummy; }; -struct jpeg_inverse_dct { long dummy; }; -struct jpeg_upsampler { long dummy; }; -struct jpeg_color_deconverter { long dummy; }; -struct jpeg_color_quantizer { long dummy; }; -#endif /* JPEG_INTERNALS */ -#endif /* INCOMPLETE_TYPES_BROKEN */ - - -/* - * The JPEG library modules define JPEG_INTERNALS before including this file. - * The internal structure declarations are read only when that is true. - * Applications using the library should not include jpegint.h, but may wish - * to include jerror.h. - */ - -#ifdef JPEG_INTERNALS -#include "jpegint.h" /* fetch private declarations */ -#include "jerror.h" /* fetch error codes too */ -#endif - -#ifdef __cplusplus -#ifndef DONT_USE_EXTERN_C -} -#endif -#endif - -#endif /* JPEGLIB_H */

    NA@kVSo16vvkLf~ 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 !;Y79R;LCx35% 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

  • VTQD-{R|YoPiw z3akA#iVu~-?XU`<5Kmtpro1ai2?nj&y9Zc{_PRS%{3c&BC`9o}X7X2aj*||KhTX98 zxfSy&YRan=Q}Jsy1ISBFRmJ?-ic0(j9n#3e=ltT0Rr3x3X*7kRj)P;}yOuVr0E;d? zy*q0fOG`^n@4=ezmEMzKJ7@HlIQ`?D{t2Q#V=>F8BO~K%-qMP1&0>{{Y8EW2DJ`qS za-)5bXfM@8@pz`xoUv$@QpIC@y|-YovdZ#VrDx2oEIUilW@5t}lt$Wl3l`L7TUqn*v>XCE00}VAAW0rAr`wm)-YCkbte9XQ9P})SQ27ZeSzB(5`XyxBC>x{vP7q^*p4h# zG2dS-ts*+zHLDk|*NeqwmZh8v9n~aPbx|7f1=E;OziF&7U&HuID-+waxv}b*jrTQa zeB!-*w}009?yU{dP|=A4r;V?woLx0z-aH(i)5Z@QF>TI*^4Zl@1IqXdhIUE6KGPE!dte=bo7nKYSRJVuNRu'vqsP@aUPVv0nN{UwHH*suk+0tL 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 z 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