From 033aa74501fc559e44d4578e704761f8dab0b4a4 Mon Sep 17 00:00:00 2001 From: Russ Date: Sat, 1 Feb 2020 13:14:12 -0800 Subject: [PATCH] first commit --- .gitignore | 8 + LICENSE | 21 + README.md | 43 +++ docs/vga1_16x16.png | Bin 0 -> 1065 bytes docs/vga1_16x32.png | Bin 0 -> 1153 bytes docs/vga1_8x16.png | Bin 0 -> 717 bytes docs/vga1_8x8.png | Bin 0 -> 565 bytes docs/vga1_bold_16x16.png | Bin 0 -> 1124 bytes docs/vga1_bold_16x32.png | Bin 0 -> 1230 bytes docs/vga2_16x16.png | Bin 0 -> 2416 bytes docs/vga2_16x32.png | Bin 0 -> 2689 bytes docs/vga2_8x16.png | Bin 0 -> 1656 bytes docs/vga2_8x8.png | Bin 0 -> 1303 bytes docs/vga2_bold_16x16.png | Bin 0 -> 2425 bytes docs/vga2_bold_16x32.png | Bin 0 -> 2712 bytes examples/scroll_font.py | 66 ++++ examples/ttgo_fonts.py | 62 +++ examples/ttgo_hello.py | 63 +++ examples/ttgo_scroll.py | 65 ++++ fonts/vga1_16x16.py | 104 +++++ fonts/vga1_16x32.py | 104 +++++ fonts/vga1_8x16.py | 104 +++++ fonts/vga1_8x8.py | 104 +++++ fonts/vga1_bold_16x16.py | 104 +++++ fonts/vga1_bold_16x32.py | 104 +++++ fonts/vga2_16x16.py | 264 +++++++++++++ fonts/vga2_16x32.py | 264 +++++++++++++ fonts/vga2_8x16.py | 264 +++++++++++++ fonts/vga2_8x8.py | 264 +++++++++++++ fonts/vga2_bold_16x16.py | 264 +++++++++++++ fonts/vga2_bold_16x32.py | 264 +++++++++++++ fonts/vga_8x16.bin | Bin 0 -> 4096 bytes fonts/vga_8x8.bin | Bin 0 -> 2048 bytes lib/st7789py.py | 760 +++++++++++++++++++++++++++++++++++++ utils/font_from_romfont.py | 91 +++++ utils/png_from_font.py | 69 ++++ 36 files changed, 3456 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 docs/vga1_16x16.png create mode 100644 docs/vga1_16x32.png create mode 100644 docs/vga1_8x16.png create mode 100644 docs/vga1_8x8.png create mode 100644 docs/vga1_bold_16x16.png create mode 100644 docs/vga1_bold_16x32.png create mode 100644 docs/vga2_16x16.png create mode 100644 docs/vga2_16x32.png create mode 100644 docs/vga2_8x16.png create mode 100644 docs/vga2_8x8.png create mode 100644 docs/vga2_bold_16x16.png create mode 100644 docs/vga2_bold_16x32.png create mode 100644 examples/scroll_font.py create mode 100644 examples/ttgo_fonts.py create mode 100644 examples/ttgo_hello.py create mode 100644 examples/ttgo_scroll.py create mode 100644 fonts/vga1_16x16.py create mode 100644 fonts/vga1_16x32.py create mode 100644 fonts/vga1_8x16.py create mode 100644 fonts/vga1_8x8.py create mode 100644 fonts/vga1_bold_16x16.py create mode 100644 fonts/vga1_bold_16x32.py create mode 100644 fonts/vga2_16x16.py create mode 100644 fonts/vga2_16x32.py create mode 100644 fonts/vga2_8x16.py create mode 100644 fonts/vga2_8x8.py create mode 100644 fonts/vga2_bold_16x16.py create mode 100644 fonts/vga2_bold_16x32.py create mode 100644 fonts/vga_8x16.bin create mode 100644 fonts/vga_8x8.bin create mode 100644 lib/st7789py.py create mode 100755 utils/font_from_romfont.py create mode 100755 utils/png_from_font.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..34a9310 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.vscode +.idea +__pycache__ +sphinx/build +*~ +*.pyc +*.o +*.P diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ecd5bbf --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Ivan Belokobylskiy + +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 +AUTHORS OR COPYRIGHT HOLDERS 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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..61bcf0e --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +st7789.py +========= + +This is a fork of devbis' st7789py_mpy module from +https://github.com/devbis/st7789py_mpy. + +I modified the original driver for one of my projects by adding support for +display rotation, scrolling and drawing text using 8 and 16 bit wide bitmap +fonts with heights that are multiples of 8. Included are 12 bitmap fonts +derived from classic pc text mode fonts and a couple of example +programs that run on the TTGO T-Display. + +This is a work in progress. More documentation can be found at +https://penfold.owt.com/st7789py/ and videos of the example programs running +can be seen at https://www.youtube.com/watch?v=atBa0BYPAAc and +https://www.youtube.com/watch?v=2cnAhEucPD4. + +Slow ST7789 driver for MicroPython +================================== + +This is a slow MicroPython driver for 240x240 ST7789 display without CS pin +from Ali Express. It also supports 135x240 TTGO Display + + + +Version: 0.1.4 + +The performance is quite low due to python function call overhead. +If you have a chance to build firmware and you are using +ESP8266/ESP32 controllers, you should try the fast driver +https://github.com/devbis/st7789_mpy + +Examples +-------- + + # ESP8266 + import machine + import st7789py + spi = machine.SPI(1, baudrate=40000000, polarity=1) + display = st7789py.ST7789(spi, 240, 240, reset=machine.Pin(5, machine.Pin.OUT), dc=machine.Pin(4, machine.Pin.OUT)) + display.init() + display.pixel(120, 120, st7789py.YELLOW) + diff --git a/docs/vga1_16x16.png b/docs/vga1_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..053c26e767f882097a3f43476a491a2b2ecdef36 GIT binary patch literal 1065 zcmV+^1lIeBP)zwe4WcWl=;Cz|^!WriK{03X337s2_ymEMUKs9t)E_5u)4l;7 z(3t_spokOyLQ)?o$|d@?Z~J%5F;UaT%l-qT=>)O^k?xv~di@dPc=rmALA6b%+S?!% z^my7hW=(?0cljnS5Yf;1vE8r>2#LH5FHpFF5U!=5y9B9zf%*zU;=Mg5$j^QzlD`E` zQ1jY!Jgq$~i^$MPwc&Z4QzZuyKWP%EUY()J)9%&mC0x--b@JzG$PR8Vi5JBaM71?- z{aLL(-?h6H{36p(*A8}Q20!b;k9yEUywOWux{ue6RfkS-YG7#|b};!~gi)$OY<-rHma4EfSlCiV-q2hpim&4LS|2Y0dnMA@CZmfqQ!z4@)KGvHQf#^LZKNr zkn=;+A@Mop8a?EudvJ~H5r^Lyq~9X#>O9uv2S52q4{St#3>bRe zu*to}PWPe^dJ3h&dxFpt$HU&F-l8B)V&V&syho^KdU-kEQ-mI8#}P;nCFl=S;m5@n z=;_2MR0VBYrl<46=?0Q^W8-^|Abu{;<7szZAV1xBI$XmA!p+FI; zR_CGwfDRdwURvvfKIRB*vQBoA#FOGoNpXce<0n8x@&Ay$o0<1a_xU2N%wjr0BNt@# zMkW=I!Ia}CYlJOYAlZ3ZWk%~i*1uBZ)mdMfX+1uN1I#}C3I!0w)$BvL4 zHkQX6Q_o%bP@wb!soDyXdHrjM*3g}B*ux`QWz@4BRcptGF?vD;56`~8sveu)87U5% zy@?Qd0n>?HsfL~N=!s_(C#a8*VDX%}N=&giFU zJH=sW74!sBvCo2i^n0*M!m2W<+)Qw7;kAQN_H)#)HB zOVH1^YdDHS45R1aA~RDjiD#3<3#7X3Q98+Gofb#{M)mRBIyJ4VLACf7A}U@%wXAoh j!+XfQhraFGzSjN*?Cs17O=PrF00000NkvXXu0mjfVB__k literal 0 HcmV?d00001 diff --git a/docs/vga1_16x32.png b/docs/vga1_16x32.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e5076358d6f8011ff1d314694dfece423fdec9 GIT binary patch literal 1153 zcmV-{1b+L8P)gB>frk^$;1;n`4CRWG5l` zeTFNb=C$c?oG*7aYz=gft$UuE;Oy)oh=q)KP=cXrx9BP;8S_( zY|I?K5fW8ULfh+OIXfkvgH?p2o=!236PGE%aDr7V+Hh+AP@k~lIp^f z-XV{)up^Z)R}MW;p%AX=(Fw49(~&W!V484;RK$v)M`*ZN0Nq@ZNn0{yT8_k}bT5Lo z1Svk}MELWl<8{S~`x1AihA-1=p9aWE-gPA50@w`Hv%1{x6pgac&l^@C=`iu}I{eHXA z0OgS5QlZ0(ApQ)HNAdEqrK56aHvtA9LLx%{P)L6}*(&JifKllyXx*ZCIzAq1AueC2 zt+%AEoiemLJRIvFJHA_Pdr{nJJk>xuMlL3JXH0@#Y9J>9bmbNZ4kl<@1991zhYD3# z4A3gaQwd~7Hf9W86ft}yH4i%ybdK>7=mk_3PyuRc+kN=P5Y$6zKyAVpN}E1pD2HzyBrcC2ekn!JFXZj*v!FjCpSMfp zkvh}`ZdyZrZlkXU+9HS#G8BKn$#e_EBlRaiVh(+vcp+p4Dj0*B%phAcJPu(wO04a( z_2&>Sfc{;M zw|&`e=I*@#;>QVmW~Rg)kaFb^jgS+So^d^fu}|}skkd3mDG`bwN}D`n@hC|H1dos_ zzVs}3ZYzh<28khFN_jeTdAWMX3=C=aaFm^L?2-t5f2)94aS?_r8fYF*JVL6oF_RQQ zY|ISFZoTKC11VJMAO?`qyXnl>v}{+|+9`%_J#-Z_9}NLFLi$E%kwq3+4z!6aZk6L6a~U-(WKJ2Z#+tX<(b1DJnLL%?sbnxp z^`yJxQqw}4X3H}ccOSaDr+3e?QXld60lxwY*;i9gk#g3|&|_p3EzGX=pW=EQgEjT+ ztdhzDJ7o>ZJl!4_$#jLhkQqtCw$Rf`<(7|-P1CILx%n=ndaq((oW-1!oP&a4y8T_J zB-KKcgvdcvERL1C-mqTD?DMKiu;$CY%44N6hC|e1Pjw8Veq&OP@ zpN>aEE6LtKC9AV$U@c|PP%jMHXtqLjWf~15m3y_-MqoBv$kZo_xmBhMB1^rpC9iiZ z%Aex==pS?T>@W5QW~moB#E6KcA{ZX_wKx&icy+a|lz&uW9Ps*jC=^4^LOZ4b`+mq^ z`motm%5~O`h4@>WRVb9#0V%eZqP8rzuY^~P29_iO3SlE+N%ioBeZS8w)psn*DLEOA zbfi_uhcSEQqYyH3Beu7OC;D0>;+-AZZ?aG*J-~#<-Zvs9S7_rr*qcUyqp1Yex`|K= z5d^y&X;bRLF-KV2#Yj6L_fQ6_8y#p*p3Wot?9Y5#gE?K+;?>#HzZOiwo)V~gwJe`| z(D!c2A(ZcB>3IFp^g^FyXL+W+FWK8Jx&^}bZGGD&a^yaBpd)0gl_nfgwh2M^uxXSE z4ZoxKLY%k~PSg=~)YIPUy=R>DmywP6b)-}3WzT&>bko7udkeVPPBc~)W_$jOFHWLN00000NkvXXu0mjfXEap> literal 0 HcmV?d00001 diff --git a/docs/vga1_8x8.png b/docs/vga1_8x8.png new file mode 100644 index 0000000000000000000000000000000000000000..8af6ec75a59a5d5660fb17d8306efc1e7e930553 GIT binary patch literal 565 zcmV-50?Pe~P)c_4ZsM>fwBEh%g1AUqzC{A{AW7)(n59C8ZQX?Llr#? z%9_`#va%~`+D_`46;^?muqvqq3d;2%(4a(-(a(2&Rv+vrrEPO9B{3C}6mmqq1R?@3 z$`T_2tz#)h5M&UmN7(whEReF)GSIWEZkjCVt|%x162G!!xK{3(F1NHx$)*v272&Qe zmE7Vlt$Fgh`Aj6fC?dxF9tjMFKePCHAuRaxR2aq3{&v(-!Er1N%oy6so2&ytjr-$4 zP$8)mxK>5vP8p3Pisx_S$GNSFcVbD4&-{R}`QkqdLawzUvcb43vOkza{KdPBy&*~f zL`Ubrf)PO#C>lW#9<1r>SK)vN6dM6ry`poPy-zNZZ~l{CU2OjI^xEfkQd{NK3G~Tb zFODz6D3trSP1%fzBMi}Lgx^!|(I8d2)B$vahTT}gQuz)M^a#flRn96Qp`7s*4O1G@ z*~}hif5bQQy6_#}+35zJhj)mtX_6UE!<3gQGt7*XG=Oy|w(@Z3`!j4*>?kBbPOcD? znBZpg*BV>Q4>uIddD#v;FP&LYH5uXVw!QmH{V?$l=u`p{5hqn*00000NkvXXu0mjf DKS=`$ literal 0 HcmV?d00001 diff --git a/docs/vga1_bold_16x16.png b/docs/vga1_bold_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..1df216b2a8effec4fe8f37f177576e49fe3d42be GIT binary patch literal 1124 zcmV-q1e^PbP)D_!|os|p2^hYR~GsiBB}-t^L9=~o^6p?@ux&C_ z4b`C9SIg?f?m)h5U4N+w7H%LhweK!%+V~BIizV-A-d)C+Hk#P8NKdn$^e)`Ig-n31 zhGvhK^_6&D-Y|4UUd@8vC?=Gx4K^0h4JNwYM3Y>gdo;BP31V+s@$hjJxK4!e()-y@ zoKr=_wMZ>CfP^xo{?@1!L9#dHR3^w~$WKs;S{##3dO)6pqXR|}ObQqia>9>E_xQI) z3l>EZ7mEPHhxBmz7?aLPin!o8))Zl(Q4_?EaX3m^pP@KeBb@)Yy4;j}>FEn-+1=<& z_FA0SYSi7Q<&pu}PopLiT<>~hHQom5P1Nc!b@upM%8g$Ui`Z4zR~5CmkqZcQIh>`c zQDdBQ3z0Q}Qx@?9UZM^qk1C|o5wXsx;_)PF=$Y^ME+-0ZMyB)mh+heM8t{}xl{IK^ zcY^kTQTlFzp1)`~67-Qj&Jg1H{NkDwwAcLReb@&fH%!n|^Y}7Du3u?7FUw(f!(>x0 zva)GqIH2LhPSkvYuqoMiWZGr_Q9_(pJRxmgat$AwIF>MrgwEq*t=j`MH9S zL*1FxyV{-fd|>0`@pXuHH-zzLQhmFfy(wpIg0#yz{l>wejQLtW%gZ`R6A8Ivg|e?@ zlLHsf{VmXRP5*&(0^81XwnJbW>tRiAF>B5z>6QxiRud016JyciD5A?Da@AnRd90c` zt5XLM(%-8NK*#~4&D0Jl{h^Q>R#5x_B=njl&dcf2lT8XOHZ`ImpO}J<^t8BRxaA1p}F!)I+l4tk58QXVUW&}ti=0XZ|TLvy2=B3fd_O$BY~w8^awgh7g}}MBLqAGSA`aWUcVtN z`A>sa(lH*2)MG@E<)2N8GxKpqM0dN}-R}0Ew`F$=NMwTShoEJrkn#BIEG_)PUke$( z+N?J0h&WgsHk{6+1hV1r%W5NPj>$CSP8P(KK}7W^1SG^o06jyY6vD)D!E_0-VS?u6 z$bxhkR~v&xv~7awu^x2_CpVA<>B(wCZrN4C<#1S#a!5?$`pYGlLnjMT!(xgh=V*3I z!ng=Z!?9zLf#y)rs|d#{AmcG$OLO=xo3k{_f{y5^8G6UAg5I?(=yRI!%g%Zm7NHtV zs0I^Ebg(+dG{)yc>})3v0UHD%Cc=2>^%N@X@*$C`gH*8rB$Ox(UQMQj7b$>Vml3iF zauXDjDI7#B4;lbD5)KtG3SeR$F(K*QLBz74=ifDnumFLi3JZ_L9OIYc;UHpJP$e;? z1wYOz6fATY4(1L)ods^8-I5xxmH1wBK*>E+5*B_-V~Z)?7mDMriFB zn|Dt z5}Yh1pnVDCC_>3C2T0Vx4}i8MkQ}zJ7%IeDh1M$hPa1SnJmo+Z6Q9GkF@I_Jnr_ea zcoyRs(ErzNSLYdD0wtGNI7Kr{t7H@=gKix*ZXo$k3KNlE|2#q)6!5W-a79oIUB|!t zkswCF^~G7;t%FE8BwFf6$m&OED=nS0m3dIiC_6)tS%=n3Ta!Wvvcv13n|p##lmsnI z&RX3pNKMH!X_{lMz)w}MLSb{cd$NXyqs z|M&PpNauQ7hEhl^wnUH_E0h9P&XW8Z=<#OIbWYbn+ThyW^tMM*w$|b12a6VE|0?~w zy=Fn=tO^+#Nwk5^wsGP}sCu-Ab~hKoFxt@og2X!=2oRDS;xQF|nUH>*Z zeO6mEXK&HaRiuvz%c12NwD9^^LHcVTa|TV16{x!vbRn-lgd~_4zI89o#iy|lj$wkV z000R$NklJKDi(|EDD|WLXn$%O2KoCE$alWOb5>>51m$%x zZ2A%U?@#;w{9RV&wQfdeZ=BKA;A`Bfd>DL}S9!hZMrdO#BwZXL^zrS}r+u&Mvxhwc zMbi}O(psaeIeVB%+V@4{`~8qto!@TXzgK~}BdBN>(53|hDQ|xM^rY*&26XEq^y#T7 zd{;DQ4`&YvvM#F@lHR}X{HE14Opv;BR-lDWB)&>^f;4A0-A>u_adfa#R?;;yCc3*- z+udlVWO3b0#zf~^bz?unckT~5_zR#{+Gx1v?Tu1Dli}QEAZKw*jl-VWmj3C+xT^y( zY=#wxJlLH*0Lp8n;J*pV%Du#E7xGdm>+(v>tb9{MXr>bdoKw!~dLx5@ zQ&{mCxUB-KQe9q3h>>Ug&9k}txq6X1qcq%7+I}PLDpT|lSHyK&Ej(2$pX5% zJGahh1q|=S58VjC0axX@vw^xKy~wl)3NwhhD^<{yKzThv^#UTr>*64g?_qiTjj%x3 zeO9^dSkgF%2;Jpncz3MR!W^XdomPOBqcdtD>EhmO(Ot3=VluDn5-J+Ih2qKL0;y%o z%H`|)==Ew__274E$g`Nv8Lch4@vY=w#a`3&Dc>V^P^8$raR?q~so{MXCNHgoirW?y z8P@3F5IoM&@|2gj06MXzyU7?b0)+%==`u<}X0yuL;Hg7ZTdal(UZVsSV$faOBa38> z3(9)V1e#|t_v2#FU0TUV^gToBm!x)-L@mT<*b$`hUQnzJtAA z6Du21AB~H2=I$&Iu~WogaZf2!g@SBNL+50wqs3p%Re$qVG_=gnxO{^JL^lrQkfj8p z-kno*B(a5M1{R{2B3IF~Kok=h^Yr(g*FTw~hgUlt5?X zgqE|?&SB?HA1B!x0h@R=lZSgWWwtyMLaAkGCx5TzYJ)?FV=fE?Cn z0X;e=qch=`N2%#GKA1!HM(kv12JUY74v<|yx^<@DluC=B1C%U2chRZR{Bzsa7TwR< zXDy@1*BlX;VQngN%rfudMS|oD@Y)fCeEmA4j-i$Auz{dZX?0(;d0DiVElVN~?%w%& zvN{L9HE@nITf-2=0%a#>lQ)V!rXF6SoIo{0)}^v1rX89{6I4_uAg5lFWCTLjGo9>A zC*Kxr(H9+=AW3opt>-6`4E#cqeM(Wj2z|G9hhN$ zEwh+%W{;iOrsHI2utdVu0!6owe^L@d?xduFoOzCqs9X**nbP_M2vRf^+A1VT3#e!T znQ(E)D;+R0f%e1Ho#G@$sps+$Ia7~{#|Fg{lvkS@M3Rkm8X*9Vyiav&mz5X;Z6$lL z_ySs*btOAIhs<;68??_@@vMuBnMPFeW`?X&i=&}BAHKLK$&yQH!6A>K9)RDibuu2}C?9QWCr)WTmn@l0*yH3@VycNV%e;E9yjv5U;vpXt~<0 zn{9avRD4b46<$YHwhDI2xv3#`^bq5zG7+M&(Gs#RG1X%;DV_rFTUfqEMOtTam{JJDsBYcgk5K+$-&=06 z3TB9QWqq)lc#>7;A3{CG00l*YvMTIHN&9{dY1vksi=+|yy_!Qg-(z$nX$eg_amkMI z$jl($?T0YP=nzTR;o+#tw}395Ic;>))QVN+Ps&a!?b*ULYaw20OT}#w6SGXKk&($m z@pDff1sAi@JGy3&j@P!?8bI={JC%}lhK!lIW83F|CcAbQ@Jho;KlT zW&)RVvTnzcqywAHj&@lmL=r)~I&0}5Wc}-B1^ri7>FX`e-@bi%icV&wwZk(WN3Gtx z`S{WMSD?SQq=BKK8tCJp<;PQ!=-ZHlE#-4b11?AqNw~v(wIT`M#-om58)Yp=cLMsy zN}6iigux~0@Ba!K2=aQM+%stU!}GeNxF#%ChHOAfkB}oW7Lw-DBsNoo%iX^KN>f`L zfM?wCPkneA{^<~I=tGJDdG(?sF8$hc(kNT+uQVU!fYOZ9IS1DLXsSR8l$`Q~YY;&obDa zxFo-b+bpV72V=Ial-ddhgxv^TJowgO=UwBl0OddSXu7>VTpe)M$xvt^$xeBTCor-q$)FR1W4 z&onxQe6O+psbTTmPS?D}XvUMQ|4f$uLbrZVd%cDmp+eC8zVs_htSe(3O`EOX=8|!I zKqcb`$pRBJKYZ!qp-qHhcLXh$pbAIbF{`9~0zoz&$VFNB6-=PqC2~U(tOLRt7;mwK9=Nr`F{^{C|lpiFV34z?b!c- id%p$rqy1=K-Tnt$bOc8~PWUAN0000}b6000U|NklCnUBa5$uwv7;R2C`b9v$S}B{9}AUT+2Jv(vw9EZ zrWjUz8uY(++y3+_t8&Ae5!wnRxD@!ac&N^Yq3rTHH>+-hR#HOU*)9e8{Nd}DZO_fg z{ni3S(-iDnO2MQ!xle(hZrc}4*>8uu?#lK0<42~c;RF?JI<#s5LDl;|zI^2-H-K)+ z6zI#>rYO6jIk`W%50F$@JyRD2ef-#!tCkydaA>%a4jN4m1)<^8&^ovZR4TdZHcXz* z`tC&tu98)BO`Hx5zhUdm%%5I_g8TAj?{xSWYj!Qa@$qM&xlD(YdV)!Zo|Nwly@iYp zwh(&H*dOFzYBkUpvf*d!)I?}a|M5nsiybkxlb1p?`nr>QK)GQI!)gy@)wWN7>byh4 zNu3%SuJej9sq)&nV(FnqsSIOVXi>+f%6& zXTb29e^aGFaQTbsR7p*ZCo_->21utu)bNUFUOOl^BV^JcGNvhZ4k~-NF@8ok0m|;O zT6Kr&M#H8+w|S+n4oxt2b`%65W8QKGXx=R%3G&9g6Kga)xC#PcUdshg(a1H78Qj-F zED7>xHNVdf?&G0Dd30bcf_@D_0*eVbqa_J%%GM>f%nl|_@5Vz&HYi@myitfVN|NAp zbbDS&6%VO(QInSnt`*{pQnWtGD_j7TOn|O43ke750CCrNl>i|7pPk(vaj)hmaj@!zB>sDjti1;JziLolFyvCYTtLpqms(GYieSMcNJ~Xp;gV>>RoZ zMObB_)8J1rP|?Ad&V3bg?wix(QFf>d1|N@seqZ?}gZAgL~QLPMD~KsxlGl$0SSG!%WJODB@WsS2@o32Y?4I@&G`dT zNIn|VOB4iS1}Lvr*9bb&yGj}aK+*8d>Y~dk*fp=p-nnl&H1nCql7NMfSO|SDd8-wk zR6@r?96{M`!jOX)H%MVld#FWuby1L{;Yf=a8b~MsU|>s^cI%0&L_z8uoWqvRHPpFh z_P5DvuPzRH#su7OlL9GOwByydN4E`4t4y5++0wGTLLtUMwvLhr(S&a=#ikI#S_1S= zNxOLWsR*_TQS!3K8vL=KILL+75t6PDcc3l`qUF{EDw^dGQ$xsfCBAQ)p4KtuR@~LJ$!`kG5MW zwh(`)@O@hBCZROQO*Is1?&vM8d_r_ZS1QE)wQkk|kb70lXQC)* zFB?Hl7aDFIIlr9;rRO1}K?pjfDXo`yh!i6c6e=EKcC!k5Oy{?hb~HHP7!Cv~li$We zMemB8K*Db*bBgBb zVxXx?7Z5{$cF&H`?*N6#*||I(@yvcz4-dl;`k5g-p*LxeySwGkRLzTRdIqvFXW#?W zad%U@K;*c1$d&+Acyy+qlqkA&N~8+Pnl6e#mN zBY|BSbar313VYcG=LS&N$EFx>FLxI^9LtP{bPIJt<(2Y~5-{iG?(%k27Y8*C68N5w z#MkPGRf?ceCPJ-iIK5!MJcw=qw7H%bGYUGp$9fh@q^4I4T*dD7F?>TO1uBGt%AR9$ z$H09z8*c12M3VwB_UGP>*^?3l{me3!5Z(wX9J<|BYs;j+<@uq zlbh`KP?iW`(>kvR@Q`mfL6hZ86l6a-z2MW3uuVXa^vB)eAqvh)dT2bVMUYN}>{nI1 zIv4QmVF-eTIt@a@tqI14 v3hGwV+s8M`BcVrM{zagp9OWoS`KjdpA^8Z6^V?VE00000NkvXXu0mjfHPrTf literal 0 HcmV?d00001 diff --git a/docs/vga2_8x16.png b/docs/vga2_8x16.png new file mode 100644 index 0000000000000000000000000000000000000000..c76c26b1d7f99acca8aa95fdc95ebe0709b14a37 GIT binary patch literal 1656 zcmV-;28a2HP)ksH8bs*-;_#KrRtK#jD3^eCLKQB zgPLYQ`|9X%djB(i3qWYc{P7_W`uEIElp^%KIeH9PD@xU{PQAEq#KT#S++_!s=2?wM z5qkb2#!J-s)AOLj!%ITXE>WvV2zsrbJ0}5XU}#SM-rJHBazecbu)Kuq>V#z{YPeXy zRzU41g#B(bk|%fY;xGN7y>HS`-z4w#`jaTODqEKyHc#l=VL_)v|+as(CO3oQpL%6=?t|9L^BqWMhc<=?K zp@1|{7rgL-kZ5>DZI7tVQ?wSm=N=JHGZK?cboPbSxD6{GTMf3ftQ z^5vv4))<2sG5Yl)CC8dmb9{W7P`paWo7Oyf)FQGvMndP_wWhAy2)x#3=LyB6b?yoI zmstyu#^r!u^P;f1C-VuJ!f4qr` zDND$B<1_N&3HJl~D-vs-iZwJAunmpA{Z!YILjy? zYTt$I8u{Q8G6Sldt6c3Cs#qv*M)k$1F>gxPMm6=^&yZ?()7Rb(oXiK*XLh`8jt~u) zS95nAs03n&Lnj?U_K!&GZG`jGtwjE%YY@9`Xi(5*SV$J ztEBZ!L|2nDdZ@4B#?2eFF1_V`|7P_G*~!JjCrnF>S2Ms{1%V16gRl&}H%jEN8GZ(d z@d7h2q2!!yno1jfa5aiUky2Wlkmo3rLyR%Ep%6)>`K^qlW<0 zkN#!?q!fm10o~VXMdmM(1#;R(ZgKO~Pj1+83ZVA8saMG%cPk@^<%lDkt83}B}6;l%Lwu_6r zPMAzKx?6-fUvU%gC!(VF(qwB=)7^dErft+i6{_y ziFMW%+Nh+J5U!YSi}_2HY>m*J1eP7|=5v%_1`_-^^`FTbGI=wVsn zGui+1fByM4`aG>w$yQfoyed~?Ehx&OSZl3TR}rEuU@ zrN@^+2jzpKH{FBoO*hgK;%0X^=sJ2nI6{?PE9*frM3=7xQ8fU)=$G^IZufhmj+F-o z_~$Jx*wE^_?&#p)sOwgkw&mUIX-O}%2VWQZIH_aWtQ#qD*WF7f__U=1wXi=3*CS0G z1iLRQ(odu+v{5u>j)!mFGzrb8t%a!p6aC?A<_JwgkMO8Fn<>6uQx~|Qiujy zh&&>6!eB@3XSDIeK_g!)*6#V65cGCbx1jc8vT@6gEJ$aIyLNqc+d+hFmzTo{Pw?FV zL(jeT($i~P)KGNr>2+yUB@LzY&@Ye=&`ZBV zK@d=T5bn(wcANUNxrDGMXDN$bXQW+cW8Bi-BJaMp{`s$&d83(G1H7}#d%LT4VSr&r zA3s7y-ws(h1%rO}o;f<1GWuznopSiXJl!$JkMvqaOF#SYmv4+bdBNzHXUV zq11WVnDF%T^~POVY(DwLd|HD5P>O??;AP+-9^XOpXbgyW9qHvro9U;ZHKK&OI1pNn zy_ss-j-m@jGs+pw*M>Ld90oQ_Dl~hBM4nZHF19@EX|GYE%y)^NH5Xn3nA=x*+kl2T}_R`_By_8`UJ!Go+QH*yARRaYHYXA-b2 z1Ptqq7<*ukgdX2GzZwTcamLlBIRl1Atp_jOvW z(0R5cu&88{nw{OCRwAnA8WEC^_+?QyhUUsB?@IS0Mri zK@Zck$!6>CZBQo`tNotx)p+sf-dj`6?+WH zO=x*a8jTt23W|bODD9z2<;0XZt%1f`86U-bNVI$i0r}WD&%Ntu2~ujUYsuAE)K;z# z#uU<|be}TIQOT91kiL_oLu=9=q3jcxffQ}@pXtP>8<2`NCQf2l_`mo7mOfph4r5VW zROD%+@xNabTW4ge?;D!aD~zXG!K_Lj|61Y_0{dPoGIDZKt4Y#4oy{!gX+DReR36CD z&C;afi!uDzDyG?dtSB%3D@;e69E{0ak%7=0wYsPhqvzh8gvNZKi>+R}-kbr9>92p@ zm=XXxO})SW@t2g~7NBkERb)T>{KrjHRLd5YS8cv(m)k0A+NOD z1^JCMHWoX>KcE5H!$Z2=P~lsuVHl1N508goN#QMas>7DwWDox*n&i@|Ua1i@wO>=@ zhVGH;Nl0$KK84(QGo$tq-gn$Xvx{Km1#GVRYv~@;<7jh3_RuJlqioPr9 z3l>Ey^~M&Zucrfk*}AG?dVw>#+0E4S^dHAX`LsPnu{P%Z%|>{q*5898t@1J>hg|>w N002ovPDHLkV1g%tcTfNT literal 0 HcmV?d00001 diff --git a/docs/vga2_bold_16x16.png b/docs/vga2_bold_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc37b04f8224c709b275f5569bdae8fc9577531 GIT binary patch literal 2425 zcmV-<35NEGP)000RPcTRDNoFCSfmt=iHwd(QTLK0K zS_szEUqw=qV|UW&?uUMFnu2Xv`cy0yi^U>sV}6xi<%gDG(AQfa-}@e)RZ}%1RJV3m z9SijFYIAg9vE|FLKpPjVbqW#ZAt%IEw+r@TjOjNfqck2RWi`zIF6O!-DnqJX& zmzZzzg0CvJzj*7$m?ay|`hk1YWNV!iZUJ%Q?O|_?n&Aw@J;-(fR7JJf2raf7^-bSY zJ*s0#RH_qc%bTiEGaDamf+jlgDH)==U3Cgc1+4f4@&h+Rx;nW^mQ+ovOOoI~Go30? zeALMg%bU^&Z5`j<8}c%0d@(9qXlAF1b@BtOR9yDC#aXA`4;L(cV%p37_kGKYnh<5k zUX}r@L-(KIkV2tB%0((y@NuM?@Z?10%B{)-WO_*pH3WN^e4h=4f zR)k29ZpI13)$xV8QD}7Gq90VgzO7kdyHjX$gxlg(B;w@y)&%YUxg^$b22s5Y-KkD9 zyRqWzjUkxQI>nrsNpisv^`_VfSJ}*S2q7AZXNylGAz8h{Vr1 zxQHW@BykC;AMRvk<7?4~HstiaMRnQv^6s|0@1q3fNya#!jod@(w+Uf=OIf$ljA!vhS#GmS#4*74By8G869xt^jX$BD&%qVg&auiJE@EwkJtJ+rJfZ9MEo%K^qL$8AOQw0wGa0JcC*@nL(X& zoh=YMbKpr0bIb^_FS%93s8Ztos(M%S1>ClLEkw|1~Dq7(818?(iyU3C45 zZv0Z&d_~gzDxY~3geZ%((1H^O$)n|}m-AVX8Hs%diLKb0W;OZAE_HhaIkPZo-=t`44jIfI_^1M7^e9ck~)i7haqF`JD{`iiDb-{k$b+_7VmZY zMd(i}X@!yt)-MLx;;d9NXwf2lpzZ{!XHZ$cG_Qb?6H~0k;+u{_kldDCrq7T~(*|)? z$CDpxAke$t5rRC+UGzr$7!Y?Y!f1v#2X-cANi&GuSD^bHLXaYW{4iF>eF_LcjAN#= zr|V%3IXnPZryT{PN$-BIIe}L@jSvq6-`H-!9<|saiW_d7T6_kb*!B4~0ejT`_-4J=2NS!wuLdYG_%YYVU`f*^Q8uMSa?_;nl`I-`mubiKtfdJ5Te+;==fVHq!F9C0Uw`>QY2 zX%O3|hoA>M>7MgetzIChxCAjHSuc8Tv*QJL)L0@*_?AKSajafR(tF)c<=IMn+FGuo zghR^Ey+BxZ^6=@&^VrEcjZj$2cVt5dDSu3Qk+M!$`a)8wpc?9SwA0>-CuJyQOwrgE z6W(gLyp8xxrK;Y)KOD4^)hcQoycex*Za#nZ{srjgmNW=7Gy~rrdU?MjNjAP^7CIwo zzyS#=31>KO&PcMP@7ZmWtaStvHry zK*{frqcUcarqa|mvxk@D|L+dvp`Ct8p~=sW_!$1`5Kj0e`+$D?q9k4Pos}exG}r-> ztbS?KyOb;Twv<0rHx6n4U(oj~{-`fG@3H@1Njf`QCn5*W*}P^65(%!YDO)DC6DWU+ zn$&W+B~vzEka%p4viIbyB+Ehmp&&~pmCwsaW-TJ2T6+4?&(cv)N z=qRPnS+9KK+;_Ipkfk4Ir)lG+K$Gh6gNGamO4TtmpMn|_ZHmA){}+TIn*IxdvuC0N zQ9nYlDUkfWk|b%eExIr?G!sdADUqwgSug6(AnpBWbu@?ac&nO2Gd9|uO4=Ote-BgW r!uCxy?}kgz*~>o)`c;0FZ!Z4>f_$UFa?o$O00000NkvXXu0mjfbPbbb literal 0 HcmV?d00001 diff --git a/docs/vga2_bold_16x32.png b/docs/vga2_bold_16x32.png new file mode 100644 index 0000000000000000000000000000000000000000..e527303609d785ec24e1867d14e4d246da1d4883 GIT binary patch literal 2712 zcmV;J3TO3+P)}b6000VKNklPtZKUt@^v?V25JXrO$2p$(C0snhwZ6sh!n6P zSmPNo&K(aq5Y%l?HhjG6`=ajn_NPzg0~eejJW4LKZUI5n&DG&p2Cfi>I-dg_j=}oQ z1|qyG8j}xwRlYOy8e+SbK{v)+v4L6Nb8j@!V9tTK z>WQ1y9uL-NBcBU#?_*N|R0K7f30m#8rwphrIuxAM(O7U%d396NYL1Ceumd!!0zM@} zR5t521CpY0WzHbqbJa>W9UMj)G^i`)1s~MGjbuPW6%SnCiG)S6-ZyyYK z89w}Id~hV`P&Ac-tHAd#l+l?!wx?&IXuezpo$tS4T3HrI@n-87@5k<(p z2r6noWy3EX2v^OjITtFM>)Y#FR~h3t{($k$OOgZGaCLKiOOVQ$a%ZYpg;aSEOrASq z<$_cKVZa}5hFpjX&KJsBp~<<9)sY0D8n16lu0*?6XnTS~#cNcX1mWcR)>PWTm+H7e z@*ygBRr|0CM$<`xAY7U30;|f5&7zpgf>fQW98qURQ^8d>$1@-V$f(R{zQu0Q&61!A zol9w+kh7pCB?R-r0F(wV~G#L^%H2$dlhJYyy>BmKx>fUE{5 zmIS@~OTvyofrE#zYPd2b*pm{|;KY(3PZ|vIhdVe5M`lpRQpJEK1-g?-8ea=W9-f@u zw_N+wq1eNjpM=FXF(tSg$^Lld-r~XxSM_W;`h1G z8t&Pxn{`9RpCWX>fA=L1^4(0`W-2&0%P9xC?}%nqFsn?4HaSpb1kz?1AVLGbVdyRg zqG9+FQ!(xi&>AlPEsQSOQwn6c;G_BO%KyQ9%X;Isr-h9tK)NJ8m5?xGRK|2?CSFR5uAi*IqXWT>#zh%Z85~rr-I{ zyDvPoB|xtF@I{qL1!P0S?!Jszq%s#`chhbh zOcj98W z;M}3MCp%1cQz2G^84W}1;wva(h&wquj~MtRLbw6QpJq^a2}CAA-M1m91;<0gDgZQA zK@w#5geKYB)^o_`UBST;-T_T*mjca&WI!E<)u$y1vJKwL=H<|@D#M~l6fCJ2qzUt( zVgaohq!p+=2PzlPxTI3Q7WBZqJ_}JO#eBCdRh498*>Q9cvXl<7dtrCOQ-+;FZ~sJK z<5~HtGvZ;BA?}t4JtI^$+_ghgmk+UH73hACz(x^3zR!SAaPE(Q5M*%(>Fm@jCIbrW z=8+KCQ-$Qv+ds<_k(x>-#LnK=wq3FFS?v&L8*Uag-+ag{r8oTWo(U{NWeOAcfns7r#%7WX2=P5V^AlOPU75B%^4JxpvCZKOPC zu>kosXORNghlBCi&?`!k^GkA5^}{PPg~eHrxS1Y-5e6_jKv?jL4hcvYo;6vb zs^CH}7!`+f2&PWB;3Sn4ke(#BZtWEof8)AT3S_Nrv6uuYqDls9AF?3hd0@uEWhqWj zbFvjS1=Vzw2Neh3$3)x&Sy^!RT?W(@hj?oVvARC0OM>KMA3;v9=RwDM4mmmFW`Vjq z$O4+Ql_w`lbl&DdzTfubwOPdZxKff#2yJ`*fOP1QEX>9~%_Kodfzc0)p3ar^!|7En z6o$jxw>(q~0k#fjc~A`Xp^O3z9h)QMY{(ABeallMEU}ABgIGE=33sDzEVu?)2YT4t z&p>!=IGy`;Gq_ZN|LF{hC z=|pHqCIw^XMwbFTEk*y_7Q`Ir$4XKB@yGF~9aIfN4FvDgmb(<_=H~Nf?_UGDlqt7N zy+D24^X6U5gA`rAM~L*Dir(e##I_<1G-b<=|3Bxz6&iSJORik9k9pt(wQh|xjo z*#-I?pg1_I$y?pnt6$Z_kNyJv%n(laCUoWQ}CJ?kOBYNn%M@D1jx1m#ovOa zVOeg;%r^fdKuB$DPqMAaSxFRE@^2Dk(a5Dkt`4hf8YUB%An@!oUrC=4@8xQ56O&Ht%G60|*Gm2W6^H$kD!gXF6!gE~!F%cC>YXF?jR>!Ah5StnJR4{7(F z7o5(3;t*EU$9if~dj^Ec)PLhJhaPRPNrIxfh2g&ldh+rw0$t=H7rDq!CI1IWjYp7^ SmZ&xW0000 tft.width - font.WIDTH: + col = 0 + line += font.HEIGHT + + if line > tft.height-font.HEIGHT: + utime.sleep(3) + tft.fill(st7789.BLUE) + line = 0 + col = 0 + + utime.sleep(3) +main() diff --git a/examples/ttgo_hello.py b/examples/ttgo_hello.py new file mode 100644 index 0000000..f6b6f24 --- /dev/null +++ b/examples/ttgo_hello.py @@ -0,0 +1,63 @@ +""" +ttgo_hello.py + + Writes "Hello!" in random colors at random locations on a + LILYGO® TTGO T-Display. + + https://www.youtube.com/watch?v=atBa0BYPAAc + +""" +import random +from machine import Pin, SPI +import st7789py as st7789 + +# Choose a font + +# from fonts import vga1_8x8 as font +# from fonts import vga2_8x8 as font +# from fonts import vga1_8x16 as font +# from fonts import vga2_8x16 as font +# from fonts import vga1_16x16 as font +# from fonts import vga1_bold_16x16 as font +# from fonts import vga2_16x16 as font +# from fonts import vga2_bold_16x16 as font +# from fonts import vga1_16x32 as font +# from fonts import vga1_bold_16x32 as font +# from fonts import vga2_16x32 as font +from fonts import vga2_bold_16x32 as font + +def main(): + tft = st7789.ST7789( + SPI(2, baudrate=30000000, polarity=1, phase=1, sck=Pin(18), mosi=Pin(19)), + 135, + 240, + reset=Pin(23, Pin.OUT), + cs=Pin(5, Pin.OUT), + dc=Pin(16, Pin.OUT), + backlight=Pin(4, Pin.OUT), + rotation=0) + + while True: + for rotation in range(4): + tft.rotation(rotation) + tft.fill(0) + col_max = tft.width - font.WIDTH*6 + row_max = tft.height - font.HEIGHT + + for _ in range(100): + tft.text( + font, + "Hello!", + random.randint(0, col_max), + random.randint(0, row_max), + st7789.color565( + random.getrandbits(8), + random.getrandbits(8), + random.getrandbits(8)), + st7789.color565( + random.getrandbits(8), + random.getrandbits(8), + random.getrandbits(8)) + ) + +main() diff --git a/examples/ttgo_scroll.py b/examples/ttgo_scroll.py new file mode 100644 index 0000000..8937885 --- /dev/null +++ b/examples/ttgo_scroll.py @@ -0,0 +1,65 @@ +""" +ttgo_fonts.py + + Smoothly scrolls numbers up the screen on the LILYGO® TTGO T-Display + Only works with fonts with heights that are even multiples of the + screen height, 8 or 16 pixel high. + +""" +import utime +import random +from machine import Pin, SPI +import st7789py as st7789 + +# choose a font + +# import vga1_8x8 as font +# import vga2_8x8 as font +# import vga1_8x16 as font +# import vga2_8x16 as font +# import vga1_16x16 as font +# import vga1_bold_16x16 as font +# import vga2_16x16 as font +import vga2_bold_16x16 as font + +def main(): + tft = st7789.ST7789( + SPI(2, baudrate=30000000, polarity=1, phase=1, sck=Pin(18), mosi=Pin(19)), + 135, + 240, + reset=Pin(23, Pin.OUT), + cs=Pin(5, Pin.OUT), + dc=Pin(16, Pin.OUT), + backlight=Pin(4, Pin.OUT), + rotation=0) + + last_line = tft.height - font.HEIGHT + tfa = 40 + tfb = 40 + tft.vscrdef(tfa, 240, tfb) + + tft.fill(st7789.BLUE) + scroll = 0 + counter = 0 + while True: + tft.fill_rect(0,scroll, tft.width, 1, st7789.BLUE) + + if scroll % font.HEIGHT == 0: + counter += 1 + tft.text( + font, + str(counter), + 0, + (scroll + last_line) % tft.height, + st7789.WHITE, + st7789.BLUE) + + tft.vscsad(scroll+tfa) + scroll +=1 + + if scroll == tft.height: + scroll = 0 + + utime.sleep(0.005) + +main() diff --git a/fonts/vga1_16x16.py b/fonts/vga1_16x16.py new file mode 100644 index 0000000..41776a4 --- /dev/null +++ b/fonts/vga1_16x16.py @@ -0,0 +1,104 @@ +WIDTH = 16 +HEIGHT = 16 +FIRST = 0x20 +LAST = 0x7f +_FONT = \ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x01\x80\x0f\xf0\x39\x9c\x71\x8e\x71\x80\x39\x80\x0f\xf0\x01\x9c\x01\x8e\x71\x8e\x39\x9c\x0f\xf0\x01\x80\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x1c\x1e\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x07\x00\x0e\x3c\x1c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xc0\x1c\x70\x38\x38\x1c\x70\x07\xc0\x0f\xce\x38\xfc\x70\x78\x70\x78\x38\xfc\x0f\xce\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\xe0\x01\xc0\x03\x80\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xe0\x01\xc0\x03\x80\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x01\xc0\x03\x80\x07\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x38\x03\xe0\x3f\xfe\x03\xe0\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\x80\x07\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x07\x00\x0e\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xe0\x1c\x38\x38\x3c\x38\x7c\x38\xdc\x39\x9c\x3b\x1c\x3e\x1c\x3c\x1c\x1c\x38\x07\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x03\xc0\x0f\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x38\x1c\x00\x0e\x00\x0e\x00\x1c\x00\x70\x01\xc0\x07\x00\x1c\x00\x38\x00\x3f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x38\x1c\x00\x0e\x00\x0e\x00\x1c\x01\xf0\x00\x1c\x00\x0e\x00\x0e\x38\x1c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xf0\x03\xf0\x07\x70\x0e\x70\x1c\x70\x38\x70\x3f\xfc\x00\x70\x00\x70\x00\x70\x00\x70\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x38\x00\x38\x00\x38\x00\x3f\xf0\x00\x1c\x00\x0e\x00\x0e\x00\x0e\x38\x1c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf8\x00\x38\x00\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x1c\x0e\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x07\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xe0\x01\xc0\x03\x80\x07\x00\x0e\x00\x1c\x00\x0e\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x70\x00\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x07\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xe0\x1c\x38\x38\x1c\x00\x38\x00\x70\x00\xe0\x01\xc0\x01\xc0\x00\x00\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x38\x1c\x70\x0e\x71\xfe\x73\x8e\x73\x8e\x73\x8e\x71\xfc\x70\x00\x38\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x38\x1c\x38\x1c\x3f\xfc\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x3e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x1c\x1c\x0e\x38\x03\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1c\x38\x1c\x70\x1c\xe0\x1d\xc0\x1f\x80\x1f\x80\x1d\xc0\x1c\xe0\x1c\x70\x1c\x38\x1c\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x78\x1e\x7c\x3e\x7e\x7e\x77\xee\x73\xce\x71\x8e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x0e\x3c\x0e\x3e\x0e\x3f\x0e\x3b\x8e\x39\xce\x38\xee\x38\x7e\x38\x3e\x38\x1e\x38\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\xee\x1c\x7c\x07\xf8\x00\x1c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x38\xe0\x38\x70\x38\x38\x38\x1c\x38\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x38\x1c\x70\x0e\x70\x00\x38\x00\x0f\xf0\x00\x1c\x00\x0e\x70\x0e\x38\x1c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x0e\x70\x07\xe0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x71\x8e\x73\xce\x77\xee\x3e\x7c\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x1c\x38\x1c\x1c\x38\x0e\x70\x07\xe0\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x0e\x1c\x1c\x0e\x38\x07\x70\x03\xe0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x00\x1c\x00\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x07\x00\x0e\x00\x1c\x00\x3f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x00\x0e\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x70\x00\x38\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00'\ +b'\x00\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x00\x0e\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x0e\x0f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x07\xfe\x1c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x38\x0e\x38\x0e\x3f\xfe\x38\x00\x38\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xf8\x03\x80\x03\x80\x03\x80\x03\x80\x0f\xf0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x0e\x00\x0e\x1f\xf8\x00\x00'\ +b'\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3b\xf8\x3c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x00\x00\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\xe0\x0f\x80\x00\x00'\ +b'\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x0e\x70\x0e\xe0\x0f\xc0\x0e\xe0\x0e\x70\x0e\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x78\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xe0\x38\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x38\x00\x38\x00\x38\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xfe\x1c\x0e\x38\x0e\x38\x0e\x1c\x0e\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfc\x38\x00\x38\x00\x0f\xf8\x00\x0e\x00\x0e\x1f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1f\xfc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x0e\x38\x1c\x1c\x38\x0e\x70\x07\xe0\x03\xc0\x01\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x39\xce\x3b\xee\x1f\x7c\x0e\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x0e\x70\x07\xe0\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x1c\x1c\x0e\x38\x07\x70\x03\xe0\x01\xc0\x03\x80\x07\x00\x0e\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x00\x1c\x00\x70\x01\xc0\x07\x00\x1c\x00\x3f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xf8\x01\xc0\x03\x80\x03\x80\x03\x80\x1e\x00\x03\x80\x03\x80\x03\x80\x01\xc0\x00\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1f\x00\x03\x80\x01\xc0\x01\xc0\x01\xc0\x00\x78\x01\xc0\x01\xc0\x01\xc0\x03\x80\x1f\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x9e\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x07\x70\x1c\x1c\x70\x07\x70\x07\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ + +FONT = memoryview(_FONT) + diff --git a/fonts/vga1_16x32.py b/fonts/vga1_16x32.py new file mode 100644 index 0000000..849069d --- /dev/null +++ b/fonts/vga1_16x32.py @@ -0,0 +1,104 @@ +WIDTH = 16 +HEIGHT = 32 +FIRST = 0x20 +LAST = 0x7f +_FONT = \ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\x80\x01\x80\x0f\xf0\x0f\xf0\x39\x9c\x39\x9c\x71\x8e\x71\x8e\x71\x80\x71\x80\x39\x80\x39\x80\x0f\xf0\x0f\xf0\x01\x9c\x01\x9c\x01\x8e\x01\x8e\x71\x8e\x71\x8e\x39\x9c\x39\x9c\x0f\xf0\x0f\xf0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x1c\x1e\x1c\x1e\x38\x1e\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x3c\x0e\x3c\x1c\x3c\x1c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xc0\x07\xc0\x1c\x70\x1c\x70\x38\x38\x38\x38\x1c\x70\x1c\x70\x07\xc0\x07\xc0\x0f\xce\x0f\xce\x38\xfc\x38\xfc\x70\x78\x70\x78\x70\x78\x70\x78\x38\xfc\x38\xfc\x0f\xce\x0f\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x38\x0e\x38\x03\xe0\x03\xe0\x3f\xfe\x3f\xfe\x03\xe0\x03\xe0\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x3f\xfe\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1c\x38\x1c\x38\x38\x3c\x38\x3c\x38\x7c\x38\x7c\x38\xdc\x38\xdc\x39\x9c\x39\x9c\x3b\x1c\x3b\x1c\x3e\x1c\x3e\x1c\x3c\x1c\x3c\x1c\x1c\x38\x1c\x38\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x03\xc0\x03\xc0\x0f\xc0\x0f\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x00\x1c\x00\x38\x00\x38\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x01\xf0\x01\xf0\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf0\x01\xf0\x03\xf0\x03\xf0\x07\x70\x07\x70\x0e\x70\x0e\x70\x1c\x70\x1c\x70\x38\x70\x38\x70\x3f\xfc\x3f\xfc\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x00\x1c\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf8\x3f\xf8\x00\x38\x00\x38\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x0e\x1c\x0e\x07\xfe\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x70\x00\x70\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x70\x0e\x70\x0e\x71\xfe\x71\xfe\x73\x8e\x73\x8e\x73\x8e\x73\x8e\x73\x8e\x73\x8e\x71\xfc\x71\xfc\x70\x00\x70\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x3f\xfc\x3f\xfc\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x3e\x38\x3e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x03\xe0\x03\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x70\x1c\x70\x1c\xe0\x1c\xe0\x1d\xc0\x1d\xc0\x1f\x80\x1f\x80\x1f\x80\x1f\x80\x1d\xc0\x1d\xc0\x1c\xe0\x1c\xe0\x1c\x70\x1c\x70\x1c\x38\x1c\x38\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x7c\x3e\x7c\x3e\x7e\x7e\x7e\x7e\x77\xee\x77\xee\x73\xce\x73\xce\x71\x8e\x71\x8e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x3c\x0e\x3c\x0e\x3e\x0e\x3e\x0e\x3f\x0e\x3f\x0e\x3b\x8e\x3b\x8e\x39\xce\x39\xce\x38\xee\x38\xee\x38\x7e\x38\x7e\x38\x3e\x38\x3e\x38\x1e\x38\x1e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\xee\x38\xee\x1c\x7c\x1c\x7c\x07\xf8\x07\xf8\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\xe0\x38\xe0\x38\x70\x38\x70\x38\x38\x38\x38\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x70\x0e\x70\x0e\x70\x00\x70\x00\x38\x00\x38\x00\x0f\xf0\x0f\xf0\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x70\x0e\x70\x0e\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x71\x8e\x71\x8e\x73\xce\x73\xce\x77\xee\x77\xee\x3e\x7c\x3e\x7c\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x07\x70\x07\x70\x03\xe0\x03\xe0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x1c\x00\x1c\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x70\x00\x70\x00\x38\x00\x38\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x0f\xfe\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xf8\x3f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x0e\x38\x0e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x07\xfe\x07\xfe\x1c\x0e\x1c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\xf8\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x0f\xf0\x0f\xf0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x1f\xf8\x1f\xf8\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3b\xf8\x3b\xf8\x3c\x0e\x3c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x00\x70\x00\x70\x00\x00\x00\x00\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\xe0\x00\xe0\x0f\x80\x0f\x80\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x0e\x38\x0e\x70\x0e\x70\x0e\xe0\x0e\xe0\x0f\xc0\x0f\xc0\x0e\xe0\x0e\xe0\x0e\x70\x0e\x70\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x78\x3e\x78\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xe0\x3f\xe0\x38\x38\x38\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xfe\x07\xfe\x1c\x0e\x1c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x0e\x1c\x0e\x07\xfe\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x1f\xf8\x1f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1f\xfc\x1f\xfc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x0e\x70\x0e\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x39\xce\x39\xce\x3b\xee\x3b\xee\x1f\x7c\x1f\x7c\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x07\x70\x07\x70\x03\xe0\x03\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x1c\x00\x1c\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x00\x1c\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\xf8\x01\xc0\x01\xc0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x1e\x00\x1e\x00\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xf8\x00\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x1f\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x78\x00\x78\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x03\x80\x03\x80\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x07\x9e\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\x70\x07\x70\x1c\x1c\x1c\x1c\x70\x07\x70\x07\x70\x07\x70\x07\x7f\xff\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ + +FONT = memoryview(_FONT) + diff --git a/fonts/vga1_8x16.py b/fonts/vga1_8x16.py new file mode 100644 index 0000000..73ca5ae --- /dev/null +++ b/fonts/vga1_8x16.py @@ -0,0 +1,104 @@ +"""converted from vga_8x16.bin """ +WIDTH = 8 +HEIGHT = 16 +FIRST = 0x20 +LAST = 0x7f +_FONT =\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x18\x3c\x3c\x3c\x18\x18\x18\x00\x18\x18\x00\x00\x00\x00'\ +b'\x00\x66\x66\x66\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x6c\x6c\xfe\x6c\x6c\x6c\xfe\x6c\x6c\x00\x00\x00\x00'\ +b'\x18\x18\x7c\xc6\xc2\xc0\x7c\x06\x06\x86\xc6\x7c\x18\x18\x00\x00'\ +b'\x00\x00\x00\x00\xc2\xc6\x0c\x18\x30\x60\xc6\x86\x00\x00\x00\x00'\ +b'\x00\x00\x38\x6c\x6c\x38\x76\xdc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x30\x30\x30\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x0c\x18\x30\x30\x30\x30\x30\x30\x18\x0c\x00\x00\x00\x00'\ +b'\x00\x00\x30\x18\x0c\x0c\x0c\x0c\x0c\x0c\x18\x30\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x66\x3c\xff\x3c\x66\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x18\x18\x7e\x18\x18\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18\x18\x30\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x02\x06\x0c\x18\x30\x60\xc0\x80\x00\x00\x00\x00'\ +b'\x00\x00\x38\x6c\xc6\xc6\xd6\xd6\xc6\xc6\x6c\x38\x00\x00\x00\x00'\ +b'\x00\x00\x18\x38\x78\x18\x18\x18\x18\x18\x18\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\x06\x0c\x18\x30\x60\xc0\xc6\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\x06\x06\x3c\x06\x06\x06\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x0c\x1c\x3c\x6c\xcc\xfe\x0c\x0c\x0c\x1e\x00\x00\x00\x00'\ +b'\x00\x00\xfe\xc0\xc0\xc0\xfc\x06\x06\x06\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x38\x60\xc0\xc0\xfc\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\xfe\xc6\x06\x06\x0c\x18\x30\x30\x30\x30\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\x7c\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\x7e\x06\x06\x06\x0c\x78\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x18\x18\x00\x00\x00\x18\x18\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x18\x18\x00\x00\x00\x18\x18\x30\x00\x00\x00\x00'\ +b'\x00\x00\x00\x06\x0c\x18\x30\x60\x30\x18\x0c\x06\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7e\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x60\x30\x18\x0c\x06\x0c\x18\x30\x60\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\x0c\x18\x18\x18\x00\x18\x18\x00\x00\x00\x00'\ +b'\x00\x00\x00\x7c\xc6\xc6\xde\xde\xde\xdc\xc0\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x10\x38\x6c\xc6\xc6\xfe\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\xfc\x66\x66\x66\x7c\x66\x66\x66\x66\xfc\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x66\xc2\xc0\xc0\xc0\xc0\xc2\x66\x3c\x00\x00\x00\x00'\ +b'\x00\x00\xf8\x6c\x66\x66\x66\x66\x66\x66\x6c\xf8\x00\x00\x00\x00'\ +b'\x00\x00\xfe\x66\x62\x68\x78\x68\x60\x62\x66\xfe\x00\x00\x00\x00'\ +b'\x00\x00\xfe\x66\x62\x68\x78\x68\x60\x60\x60\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x66\xc2\xc0\xc0\xde\xc6\xc6\x66\x3a\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\xc6\xc6\xfe\xc6\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x18\x18\x18\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x1e\x0c\x0c\x0c\x0c\x0c\xcc\xcc\xcc\x78\x00\x00\x00\x00'\ +b'\x00\x00\xe6\x66\x66\x6c\x78\x78\x6c\x66\x66\xe6\x00\x00\x00\x00'\ +b'\x00\x00\xf0\x60\x60\x60\x60\x60\x60\x62\x66\xfe\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xee\xfe\xfe\xd6\xc6\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xe6\xf6\xfe\xde\xce\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\xfc\x66\x66\x66\x7c\x60\x60\x60\x60\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\xc6\xd6\xde\x7c\x0c\x0e\x00\x00'\ +b'\x00\x00\xfc\x66\x66\x66\x7c\x6c\x66\x66\x66\xe6\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\x60\x38\x0c\x06\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x7e\x7e\x5a\x18\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x6c\x38\x10\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\xc6\xc6\xd6\xd6\xd6\xfe\xee\x6c\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\x6c\x7c\x38\x38\x7c\x6c\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x66\x66\x66\x66\x3c\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\xfe\xc6\x86\x0c\x18\x30\x60\xc2\xc6\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x30\x30\x30\x30\x30\x30\x30\x30\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x80\xc0\xe0\x70\x38\x1c\x0e\x06\x02\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x3c\x00\x00\x00\x00'\ +b'\x10\x38\x6c\xc6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00'\ +b'\x00\x30\x18\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x78\x0c\x7c\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\xe0\x60\x60\x78\x6c\x66\x66\x66\x66\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\xc6\xc0\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x1c\x0c\x0c\x3c\x6c\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\xc6\xfe\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x1c\x36\x32\x30\x78\x30\x30\x30\x30\x78\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x76\xcc\xcc\xcc\xcc\xcc\x7c\x0c\xcc\x78\x00'\ +b'\x00\x00\xe0\x60\x60\x6c\x76\x66\x66\x66\x66\xe6\x00\x00\x00\x00'\ +b'\x00\x00\x18\x18\x00\x38\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x06\x06\x00\x0e\x06\x06\x06\x06\x06\x06\x66\x66\x3c\x00'\ +b'\x00\x00\xe0\x60\x60\x66\x6c\x78\x78\x6c\x66\xe6\x00\x00\x00\x00'\ +b'\x00\x00\x38\x18\x18\x18\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xec\xfe\xd6\xd6\xd6\xd6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xdc\x66\x66\x66\x66\x66\x66\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xdc\x66\x66\x66\x66\x66\x7c\x60\x60\xf0\x00'\ +b'\x00\x00\x00\x00\x00\x76\xcc\xcc\xcc\xcc\xcc\x7c\x0c\x0c\x1e\x00'\ +b'\x00\x00\x00\x00\x00\xdc\x76\x66\x60\x60\x60\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\xc6\x60\x38\x0c\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x10\x30\x30\xfc\x30\x30\x30\x30\x36\x1c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xcc\xcc\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc6\xc6\xc6\xc6\xc6\x6c\x38\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc6\xc6\xd6\xd6\xd6\xfe\x6c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc6\x6c\x38\x38\x38\x6c\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\x7e\x06\x0c\xf8\x00'\ +b'\x00\x00\x00\x00\x00\xfe\xcc\x18\x30\x60\xc6\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x0e\x18\x18\x18\x70\x18\x18\x18\x18\x0e\x00\x00\x00\x00'\ +b'\x00\x00\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x00\x00\x00\x00'\ +b'\x00\x00\x70\x18\x18\x18\x0e\x18\x18\x18\x18\x70\x00\x00\x00\x00'\ +b'\x00\x76\xdc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x10\x38\x6c\xc6\xc6\xc6\xfe\x00\x00\x00\x00\x00'\ + +FONT = memoryview(_FONT) diff --git a/fonts/vga1_8x8.py b/fonts/vga1_8x8.py new file mode 100644 index 0000000..6824a2f --- /dev/null +++ b/fonts/vga1_8x8.py @@ -0,0 +1,104 @@ +"""converted from vga_8x8.bin """ +WIDTH = 8 +HEIGHT = 8 +FIRST = 0x20 +LAST = 0x7f +_FONT =\ +b'\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x18\x3c\x3c\x18\x18\x00\x18\x00'\ +b'\x66\x66\x24\x00\x00\x00\x00\x00'\ +b'\x6c\x6c\xfe\x6c\xfe\x6c\x6c\x00'\ +b'\x18\x3e\x60\x3c\x06\x7c\x18\x00'\ +b'\x00\xc6\xcc\x18\x30\x66\xc6\x00'\ +b'\x38\x6c\x38\x76\xdc\xcc\x76\x00'\ +b'\x18\x18\x30\x00\x00\x00\x00\x00'\ +b'\x0c\x18\x30\x30\x30\x18\x0c\x00'\ +b'\x30\x18\x0c\x0c\x0c\x18\x30\x00'\ +b'\x00\x66\x3c\xff\x3c\x66\x00\x00'\ +b'\x00\x18\x18\x7e\x18\x18\x00\x00'\ +b'\x00\x00\x00\x00\x00\x18\x18\x30'\ +b'\x00\x00\x00\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x18\x18\x00'\ +b'\x06\x0c\x18\x30\x60\xc0\x80\x00'\ +b'\x38\x6c\xc6\xd6\xc6\x6c\x38\x00'\ +b'\x18\x38\x18\x18\x18\x18\x7e\x00'\ +b'\x7c\xc6\x06\x1c\x30\x66\xfe\x00'\ +b'\x7c\xc6\x06\x3c\x06\xc6\x7c\x00'\ +b'\x1c\x3c\x6c\xcc\xfe\x0c\x1e\x00'\ +b'\xfe\xc0\xc0\xfc\x06\xc6\x7c\x00'\ +b'\x38\x60\xc0\xfc\xc6\xc6\x7c\x00'\ +b'\xfe\xc6\x0c\x18\x30\x30\x30\x00'\ +b'\x7c\xc6\xc6\x7c\xc6\xc6\x7c\x00'\ +b'\x7c\xc6\xc6\x7e\x06\x0c\x78\x00'\ +b'\x00\x18\x18\x00\x00\x18\x18\x00'\ +b'\x00\x18\x18\x00\x00\x18\x18\x30'\ +b'\x06\x0c\x18\x30\x18\x0c\x06\x00'\ +b'\x00\x00\x7e\x00\x00\x7e\x00\x00'\ +b'\x60\x30\x18\x0c\x18\x30\x60\x00'\ +b'\x7c\xc6\x0c\x18\x18\x00\x18\x00'\ +b'\x7c\xc6\xde\xde\xde\xc0\x78\x00'\ +b'\x38\x6c\xc6\xfe\xc6\xc6\xc6\x00'\ +b'\xfc\x66\x66\x7c\x66\x66\xfc\x00'\ +b'\x3c\x66\xc0\xc0\xc0\x66\x3c\x00'\ +b'\xf8\x6c\x66\x66\x66\x6c\xf8\x00'\ +b'\xfe\x62\x68\x78\x68\x62\xfe\x00'\ +b'\xfe\x62\x68\x78\x68\x60\xf0\x00'\ +b'\x3c\x66\xc0\xc0\xce\x66\x3a\x00'\ +b'\xc6\xc6\xc6\xfe\xc6\xc6\xc6\x00'\ +b'\x3c\x18\x18\x18\x18\x18\x3c\x00'\ +b'\x1e\x0c\x0c\x0c\xcc\xcc\x78\x00'\ +b'\xe6\x66\x6c\x78\x6c\x66\xe6\x00'\ +b'\xf0\x60\x60\x60\x62\x66\xfe\x00'\ +b'\xc6\xee\xfe\xfe\xd6\xc6\xc6\x00'\ +b'\xc6\xe6\xf6\xde\xce\xc6\xc6\x00'\ +b'\x7c\xc6\xc6\xc6\xc6\xc6\x7c\x00'\ +b'\xfc\x66\x66\x7c\x60\x60\xf0\x00'\ +b'\x7c\xc6\xc6\xc6\xc6\xce\x7c\x0e'\ +b'\xfc\x66\x66\x7c\x6c\x66\xe6\x00'\ +b'\x3c\x66\x30\x18\x0c\x66\x3c\x00'\ +b'\x7e\x7e\x5a\x18\x18\x18\x3c\x00'\ +b'\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00'\ +b'\xc6\xc6\xc6\xc6\xc6\x6c\x38\x00'\ +b'\xc6\xc6\xc6\xd6\xd6\xfe\x6c\x00'\ +b'\xc6\xc6\x6c\x38\x6c\xc6\xc6\x00'\ +b'\x66\x66\x66\x3c\x18\x18\x3c\x00'\ +b'\xfe\xc6\x8c\x18\x32\x66\xfe\x00'\ +b'\x3c\x30\x30\x30\x30\x30\x3c\x00'\ +b'\xc0\x60\x30\x18\x0c\x06\x02\x00'\ +b'\x3c\x0c\x0c\x0c\x0c\x0c\x3c\x00'\ +b'\x10\x38\x6c\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\xff'\ +b'\x30\x18\x0c\x00\x00\x00\x00\x00'\ +b'\x00\x00\x78\x0c\x7c\xcc\x76\x00'\ +b'\xe0\x60\x7c\x66\x66\x66\xdc\x00'\ +b'\x00\x00\x7c\xc6\xc0\xc6\x7c\x00'\ +b'\x1c\x0c\x7c\xcc\xcc\xcc\x76\x00'\ +b'\x00\x00\x7c\xc6\xfe\xc0\x7c\x00'\ +b'\x3c\x66\x60\xf8\x60\x60\xf0\x00'\ +b'\x00\x00\x76\xcc\xcc\x7c\x0c\xf8'\ +b'\xe0\x60\x6c\x76\x66\x66\xe6\x00'\ +b'\x18\x00\x38\x18\x18\x18\x3c\x00'\ +b'\x06\x00\x06\x06\x06\x66\x66\x3c'\ +b'\xe0\x60\x66\x6c\x78\x6c\xe6\x00'\ +b'\x38\x18\x18\x18\x18\x18\x3c\x00'\ +b'\x00\x00\xec\xfe\xd6\xd6\xd6\x00'\ +b'\x00\x00\xdc\x66\x66\x66\x66\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\x7c\x00'\ +b'\x00\x00\xdc\x66\x66\x7c\x60\xf0'\ +b'\x00\x00\x76\xcc\xcc\x7c\x0c\x1e'\ +b'\x00\x00\xdc\x76\x60\x60\xf0\x00'\ +b'\x00\x00\x7e\xc0\x7c\x06\xfc\x00'\ +b'\x30\x30\xfc\x30\x30\x36\x1c\x00'\ +b'\x00\x00\xcc\xcc\xcc\xcc\x76\x00'\ +b'\x00\x00\xc6\xc6\xc6\x6c\x38\x00'\ +b'\x00\x00\xc6\xd6\xd6\xfe\x6c\x00'\ +b'\x00\x00\xc6\x6c\x38\x6c\xc6\x00'\ +b'\x00\x00\xc6\xc6\xc6\x7e\x06\xfc'\ +b'\x00\x00\x7e\x4c\x18\x32\x7e\x00'\ +b'\x0e\x18\x18\x70\x18\x18\x0e\x00'\ +b'\x18\x18\x18\x18\x18\x18\x18\x00'\ +b'\x70\x18\x18\x0e\x18\x18\x70\x00'\ +b'\x76\xdc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x10\x38\x6c\xc6\xc6\xfe\x00'\ + +FONT = memoryview(_FONT) diff --git a/fonts/vga1_bold_16x16.py b/fonts/vga1_bold_16x16.py new file mode 100644 index 0000000..aff4de1 --- /dev/null +++ b/fonts/vga1_bold_16x16.py @@ -0,0 +1,104 @@ +WIDTH = 16 +HEIGHT = 16 +FIRST = 0x20 +LAST = 0x7f +_FONT = \ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x07\xe0\x0f\xf0\x0f\xf0\x0f\xf0\x07\xe0\x03\xc0\x03\xc0\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x3c\x3c\x3c\x1c\x38\x0c\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x07\xe0\x1e\x78\x3c\x3c\x3c\x00\x1e\x00\x07\xe0\x00\x78\x00\x3c\x3c\x3c\x1e\x78\x07\xe0\x03\xc0\x03\xc0\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x78\x00\xf0\x01\xe0\x03\xc0\x07\x80\x0f\x00\x1e\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xc0\x1e\xf0\x3c\x78\x1e\xf0\x07\xc0\x0f\x9e\x3f\xfc\x78\xf8\x78\x78\x3c\xfc\x0f\x9e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x0f\x00\x0f\x00\x0f\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xe0\x03\xc0\x07\x80\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x07\x80\x03\xc0\x01\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xe0\x00\xf0\x00\x78\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x78\x00\xf0\x01\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x0f\xf0\x7f\xfe\x0f\xf0\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x7f\xfe\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\x80\x07\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x78\x00\xf0\x01\xe0\x03\xc0\x07\x80\x0f\x00\x1e\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xe0\x1e\x78\x3c\x3c\x3c\x7c\x3c\xfc\x3d\xbc\x3f\x3c\x3e\x3c\x3c\x3c\x1e\x78\x07\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x0f\xc0\x3f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xe0\x3c\x78\x00\x3c\x00\x3c\x00\x78\x00\xf0\x03\xc0\x0f\x00\x1e\x00\x3c\x3c\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x3c\x3c\x00\x1e\x00\x1e\x00\x3c\x03\xf0\x00\x3c\x00\x1e\x00\x1e\x3c\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xf0\x03\xf0\x07\xf0\x0f\xf0\x1e\xf0\x3c\xf0\x3f\xfc\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x00\x3c\x00\x1e\x00\x1e\x00\x1e\x3c\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x3c\x3c\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x3c\x3c\x00\x3c\x00\x78\x00\xf0\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x1e\x1e\x07\xfe\x00\x1e\x00\x1e\x00\x1e\x00\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xe0\x03\xc0\x07\x80\x0f\x00\x1e\x00\x3c\x00\x1e\x00\x0f\x00\x07\x80\x03\xc0\x01\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x80\x03\xc0\x01\xe0\x00\xf0\x00\x78\x00\x3c\x00\x78\x00\xf0\x01\xe0\x03\xc0\x07\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xe0\x1e\x78\x3c\x3c\x00\x78\x00\xf0\x01\xe0\x03\xc0\x03\xc0\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xfc\x3c\x1e\x78\x1e\x79\xfe\x7b\x8e\x7b\x8e\x7b\x8e\x79\xfc\x78\x00\x3c\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x07\xe0\x0f\xf0\x1e\x78\x3c\x3c\x3c\x3c\x3f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x3c\x1f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x3c\x7f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x7f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xfe\x1e\x0e\x1e\x06\x1e\x00\x1e\x60\x1f\xe0\x1e\x60\x1e\x00\x1e\x06\x1e\x0e\x7f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xfe\x1e\x0e\x1e\x06\x1e\x00\x1e\x60\x1f\xe0\x1e\x60\x1e\x00\x1e\x00\x1e\x00\x7f\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x7e\x3c\x1e\x3c\x1e\x1e\x3e\x07\xf6\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xfe\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xfe\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x3c\x78\x1f\xf0\x07\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7e\x3c\x1e\x78\x1e\xf0\x1f\xe0\x1f\xc0\x1f\xc0\x1f\xe0\x1e\xf0\x1e\x78\x1e\x3c\x7e\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\x80\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x06\x1e\x0e\x7f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x78\x1e\x7c\x3e\x7e\x7e\x7f\xfe\x7b\xde\x79\x9e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3e\x1e\x3f\x1e\x3f\x9e\x3d\xde\x3c\xfe\x3c\x7e\x3c\x3e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x3c\x1f\xf0\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x7f\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3d\xde\x3c\xfe\x1e\x7c\x07\xf8\x00\x1c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x3c\x1f\xf0\x1f\xe0\x1e\xf0\x1e\x78\x1e\x3c\x7e\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x3c\x3c\x78\x1e\x3c\x00\x0f\x00\x03\xc0\x00\xf0\x00\x3c\x78\x1e\x3c\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xfe\x73\xce\x63\xc6\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x0f\xf0\x07\xe0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x79\x9e\x7b\xde\x7f\xfe\x3e\x7c\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x1e\x78\x0f\xf0\x07\xe0\x03\xc0\x07\xe0\x0f\xf0\x1e\x78\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x0f\xf0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x38\x3c\x30\x78\x00\xf0\x01\xe0\x03\xc0\x07\x80\x0f\x00\x1e\x0c\x3c\x1c\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x3c\x00\x1e\x00\x0f\x00\x07\x80\x03\xc0\x01\xe0\x00\xf0\x00\x78\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x07\xe0\x0f\xf0\x1e\x78\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00'\ +b'\x03\xc0\x03\xc0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xe0\x00\x78\x0f\xf8\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\xf0\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x3c\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x1e\x0f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xf8\x00\x78\x00\x78\x00\x78\x07\xf8\x1e\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x3c\x1e\x3c\x1e\x3f\xfe\x3c\x00\x3c\x1e\x0f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xf0\x0f\x3c\x0f\x0c\x0f\x00\x0f\x00\x3f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x9e\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\xf8\x00\x78\x3c\x78\x0f\xe0\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x78\x0f\x9e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x3f\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x00\x00\x03\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x00\x00\xfc\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x3c\x3c\x1e\x78\x07\xe0\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x1e\x0f\x3c\x0f\x78\x0f\xf0\x0f\x78\x0f\x3c\x3f\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x7c\x7f\xfe\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf8\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf0\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x3c\x0f\xf0\x0f\x00\x0f\x00\x3f\xc0\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x1e\x78\x3c\x78\x3c\x78\x1e\x78\x07\xf8\x00\x78\x00\x78\x00\xfe\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf8\x0f\x9e\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x3c\x1e\x3c\x00\x0f\xf8\x00\x1e\x3c\x1e\x0f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\x80\x03\x80\x07\x80\x07\x80\x7f\xf8\x07\x80\x07\x80\x07\x80\x07\x80\x07\x9e\x01\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x1e\x78\x07\xe0\x01\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x79\x9e\x7b\xde\x3f\xfc\x1e\x78\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x0e\x70\x07\xe0\x03\xc0\x07\xe0\x0e\x70\x3c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x07\xfe\x00\x1e\x00\x3c\x0f\xf0\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3c\x3c\x00\xf0\x03\xc0\x0f\x00\x3c\x3c\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xfc\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x3f\x80\x03\xc0\x03\xc0\x03\xc0\x01\xe0\x00\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x07\x80\x03\xc0\x03\xc0\x03\xc0\x01\xfc\x03\xc0\x03\xc0\x03\xc0\x07\x80\x3f\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\x9e\x3c\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x03\xf0\x0f\x3c\x3c\x0f\x3c\x0f\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ + +FONT = memoryview(_FONT) + diff --git a/fonts/vga1_bold_16x32.py b/fonts/vga1_bold_16x32.py new file mode 100644 index 0000000..0946a49 --- /dev/null +++ b/fonts/vga1_bold_16x32.py @@ -0,0 +1,104 @@ +WIDTH = 16 +HEIGHT = 32 +FIRST = 0x20 +LAST = 0x7f +_FONT = \ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1c\x38\x1c\x38\x0c\x30\x0c\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x07\xe0\x07\xe0\x00\x78\x00\x78\x00\x3c\x00\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x78\x3c\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x1e\x3c\x1e\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xc0\x07\xc0\x1e\xf0\x1e\xf0\x3c\x78\x3c\x78\x1e\xf0\x1e\xf0\x07\xc0\x07\xc0\x0f\x9e\x0f\x9e\x3f\xfc\x3f\xfc\x78\xf8\x78\xf8\x78\x78\x78\x78\x3c\xfc\x3c\xfc\x0f\x9e\x0f\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe0\x01\xe0\x00\xf0\x00\xf0\x00\x78\x00\x78\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x7f\xfe\x7f\xfe\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x7f\xfe\x7f\xfe\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x7c\x3c\x7c\x3c\xfc\x3c\xfc\x3d\xbc\x3d\xbc\x3f\x3c\x3f\x3c\x3e\x3c\x3e\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xc0\x0f\xc0\x3f\xc0\x3f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xe0\x0f\xe0\x3c\x78\x3c\x78\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x1e\x00\x1e\x00\x3c\x3c\x3c\x3c\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x03\xf0\x03\xf0\x00\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf0\x01\xf0\x03\xf0\x03\xf0\x07\xf0\x07\xf0\x0f\xf0\x0f\xf0\x1e\xf0\x1e\xf0\x3c\xf0\x3c\xf0\x3f\xfc\x3f\xfc\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x03\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x3f\xf0\x00\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x00\x1e\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x3f\xf0\x3c\x3c\x3c\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x3c\x3c\x3c\x3c\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x07\xfe\x07\xfe\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x07\x80\x07\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x0f\x00\x0f\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\xf0\x00\xf0\x00\x78\x00\x78\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x3c\x1e\x3c\x1e\x78\x1e\x78\x1e\x79\xfe\x79\xfe\x7b\x8e\x7b\x8e\x7b\x8e\x7b\x8e\x7b\x8e\x7b\x8e\x79\xfc\x79\xfc\x78\x00\x78\x00\x3c\x00\x3c\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3f\xfc\x3f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x1f\xf0\x1f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x7f\xf0\x7f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x7f\xf0\x7f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x1e\x0e\x1e\x0e\x1e\x06\x1e\x06\x1e\x00\x1e\x00\x1e\x60\x1e\x60\x1f\xe0\x1f\xe0\x1e\x60\x1e\x60\x1e\x00\x1e\x00\x1e\x06\x1e\x06\x1e\x0e\x1e\x0e\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x1e\x0e\x1e\x0e\x1e\x06\x1e\x06\x1e\x00\x1e\x00\x1e\x60\x1e\x60\x1f\xe0\x1f\xe0\x1e\x60\x1e\x60\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x7f\x80\x7f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x7e\x3c\x7e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3e\x1e\x3e\x07\xf6\x07\xf6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xfe\x3f\xfe\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xfe\x03\xfe\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x3c\x78\x3c\x78\x1f\xf0\x1f\xf0\x07\xc0\x07\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x3c\x7e\x3c\x1e\x78\x1e\x78\x1e\xf0\x1e\xf0\x1f\xe0\x1f\xe0\x1f\xc0\x1f\xc0\x1f\xc0\x1f\xc0\x1f\xe0\x1f\xe0\x1e\xf0\x1e\xf0\x1e\x78\x1e\x78\x1e\x3c\x1e\x3c\x7e\x1e\x7e\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x80\x7f\x80\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x06\x1e\x06\x1e\x0e\x1e\x0e\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x7c\x3e\x7c\x3e\x7e\x7e\x7e\x7e\x7f\xfe\x7f\xfe\x7b\xde\x7b\xde\x79\x9e\x79\x9e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3e\x1e\x3e\x1e\x3f\x1e\x3f\x1e\x3f\x9e\x3f\x9e\x3d\xde\x3d\xde\x3c\xfe\x3c\xfe\x3c\x7e\x3c\x7e\x3c\x3e\x3c\x3e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x1f\xf0\x1f\xf0\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x7f\x80\x7f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3d\xde\x3d\xde\x3c\xfe\x3c\xfe\x1e\x7c\x1e\x7c\x07\xf8\x07\xf8\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x1f\xf0\x1f\xf0\x1f\xe0\x1f\xe0\x1e\xf0\x1e\xf0\x1e\x78\x1e\x78\x1e\x3c\x1e\x3c\x7e\x1e\x7e\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x78\x1e\x78\x1e\x3c\x00\x3c\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x00\x3c\x00\x3c\x78\x1e\x78\x1e\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x73\xce\x73\xce\x63\xc6\x63\xc6\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x79\x9e\x79\x9e\x7b\xde\x7b\xde\x7f\xfe\x7f\xfe\x3e\x7c\x3e\x7c\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x38\x3c\x38\x3c\x30\x78\x30\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x1e\x0c\x1e\x0c\x3c\x1c\x3c\x1c\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x0f\x00\x0f\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\xf0\x00\xf0\x00\x78\x00\x78\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x7f\xff\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xe0\x0f\xe0\x00\x78\x00\x78\x0f\xf8\x0f\xf8\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x0f\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\xf0\x0f\xf0\x0f\x3c\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x3c\xf8\x3c\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x1e\x3c\x1e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf8\x01\xf8\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x07\xf8\x07\xf8\x1e\x78\x1e\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x0f\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xfe\x3f\xfe\x3c\x00\x3c\x00\x3c\x1e\x3c\x1e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x0f\x0c\x0f\x0c\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xf0\x3f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x3f\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x9e\x0f\x9e\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\xf8\x0f\xf8\x00\x78\x00\x78\x3c\x78\x3c\x78\x0f\xe0\x0f\xe0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x78\x0f\x78\x0f\x9e\x0f\x9e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x3f\x1e\x3f\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\x00\x00\x00\x03\xf0\x03\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x03\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\xfc\x00\xfc\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x1e\x0f\x1e\x0f\x3c\x0f\x3c\x0f\x78\x0f\x78\x0f\xf0\x0f\xf0\x0f\x78\x0f\x78\x0f\x3c\x0f\x3c\x3f\x1e\x3f\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x03\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x03\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x7c\x7e\x7c\x7f\xfe\x7f\xfe\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf8\x3c\xf8\x0f\x3c\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf0\x3c\xf0\x0f\x3c\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x3c\x0f\x3c\x0f\xf0\x0f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x3f\xc0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x07\x9e\x1e\x78\x1e\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x1e\x78\x1e\x78\x07\xf8\x07\xf8\x00\x78\x00\x78\x00\x78\x00\x78\x00\xfe\x00\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf8\x3c\xf8\x0f\x9e\x0f\x9e\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x3f\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x0f\xf8\x0f\xf8\x00\x1e\x00\x1e\x3c\x1e\x3c\x1e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x01\x80\x03\x80\x03\x80\x07\x80\x07\x80\x07\x80\x07\x80\x7f\xf8\x7f\xf8\x07\x80\x07\x80\x07\x80\x07\x80\x07\x80\x07\x80\x07\x80\x07\x80\x07\x9e\x07\x9e\x01\xf8\x01\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x0f\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x79\x9e\x79\x9e\x7b\xde\x7b\xde\x3f\xfc\x3f\xfc\x1e\x78\x1e\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x07\xfe\x07\xfe\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x3c\x3c\x3c\x3c\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x3c\x3c\x3c\x3c\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\xfc\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\x80\x3f\x80\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\xfc\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x3f\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x01\xfc\x01\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x07\x80\x07\x80\x3f\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x9e\x0f\x9e\x3c\xf8\x3c\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\xc0\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ + +FONT = memoryview(_FONT) + diff --git a/fonts/vga2_16x16.py b/fonts/vga2_16x16.py new file mode 100644 index 0000000..8fcf182 --- /dev/null +++ b/fonts/vga2_16x16.py @@ -0,0 +1,264 @@ +WIDTH = 16 +HEIGHT = 16 +FIRST = 0 +LAST = 255 +_FONT = \ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x60\x06\xc0\x03\xcc\x33\xc0\x03\xc0\x03\xcf\xf3\xc3\xc3\xc0\x03\x60\x06\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x7f\xfe\xff\xff\xf3\xcf\xff\xff\xff\xff\xf0\x0f\xfc\x3f\xff\xff\x7f\xfe\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1e\x78\x3f\xfc\x7f\xfe\x7f\xfe\x7f\xfe\x3f\xfc\x1f\xf8\x07\xe0\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x01\x80\x03\xc0\x07\xe0\x0f\xf0\x1f\xf8\x0f\xf0\x07\xe0\x03\xc0\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x03\xe0\x03\xe0\x1d\xdc\x3f\xfe\x3f\xfe\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x07\xf0\x1f\xfc\x7f\xff\x7f\xff\x7f\xff\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x0f\xf0\x0f\xf0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x3f\xf0\x0f\xf0\x0f\xfc\x3f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x3c\x3c\x30\x0c\x30\x0c\x3c\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x0f\xc3\xc3\xcf\xf3\xcf\xf3\xc3\xc3\xf0\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x1f\x00\x3b\x00\x70\x07\xe0\x1c\x38\x38\x1c\x38\x1c\x1c\x38\x07\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xe0\x0e\x38\x1c\x1c\x1c\x1c\x0e\x38\x03\xe0\x01\xc0\x01\xc0\x1f\xfc\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xff\x0e\x07\x0f\xff\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x3e\x00\x7e\x00\x3c\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1f\xfe\x1c\x0e\x1f\xfe\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x1e\x3c\x3e\x7c\x1c\x38\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x01\xc0\x39\xce\x1d\xdc\x0f\xf8\x7e\x3f\x0f\xf8\x1d\xdc\x39\xce\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x30\x00\x3c\x00\x3f\x00\x3f\xc0\x3f\xf0\x3f\xfc\x3f\xf0\x3f\xc0\x3f\x00\x3c\x00\x30\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x0c\x00\x3c\x00\xfc\x03\xfc\x0f\xfc\x3f\xfc\x0f\xfc\x03\xfc\x00\xfc\x00\x3c\x00\x0c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x07\xf0\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1d\xdc\x07\xf0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x00\x00\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1f\xff\x71\xce\x71\xce\x71\xce\x71\xce\x1f\xce\x01\xce\x01\xce\x01\xce\x01\xce\x01\xce\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x0f\xf8\x38\x0e\x0e\x00\x03\xe0\x0e\x38\x38\x0e\x38\x0e\x0e\x38\x03\xe0\x00\x38\x38\x0e\x0f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\x3f\xff\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x07\xf0\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1d\xdc\x07\xf0\x01\xc0\x3f\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x07\xf0\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1d\xdc\x07\xf0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x1c\x3f\xff\x00\x1c\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x0e\x00\x3f\xff\x0e\x00\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x38\x1c\x7f\xfe\x38\x1c\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x03\xc0\x07\xe0\x0f\xf0\x1f\xf8\x3f\xfc\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x3f\xfc\x1f\xf8\x0f\xf0\x07\xe0\x03\xc0\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x01\x80\x0f\xf0\x39\x9c\x71\x8e\x71\x80\x39\x80\x0f\xf0\x01\x9c\x01\x8e\x71\x8e\x39\x9c\x0f\xf0\x01\x80\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x1c\x1e\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x07\x00\x0e\x3c\x1c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xc0\x1c\x70\x38\x38\x1c\x70\x07\xc0\x0f\xce\x38\xfc\x70\x78\x70\x78\x38\xfc\x0f\xce\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\xe0\x01\xc0\x03\x80\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xe0\x01\xc0\x03\x80\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x01\xc0\x03\x80\x07\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x38\x03\xe0\x3f\xfe\x03\xe0\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\x80\x07\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x07\x00\x0e\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xe0\x1c\x38\x38\x3c\x38\x7c\x38\xdc\x39\x9c\x3b\x1c\x3e\x1c\x3c\x1c\x1c\x38\x07\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x03\xc0\x0f\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x38\x1c\x00\x0e\x00\x0e\x00\x1c\x00\x70\x01\xc0\x07\x00\x1c\x00\x38\x00\x3f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x38\x1c\x00\x0e\x00\x0e\x00\x1c\x01\xf0\x00\x1c\x00\x0e\x00\x0e\x38\x1c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xf0\x03\xf0\x07\x70\x0e\x70\x1c\x70\x38\x70\x3f\xfc\x00\x70\x00\x70\x00\x70\x00\x70\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x38\x00\x38\x00\x38\x00\x3f\xf0\x00\x1c\x00\x0e\x00\x0e\x00\x0e\x38\x1c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf8\x00\x38\x00\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x1c\x0e\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x07\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xe0\x01\xc0\x03\x80\x07\x00\x0e\x00\x1c\x00\x0e\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x70\x00\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x07\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xe0\x1c\x38\x38\x1c\x00\x38\x00\x70\x00\xe0\x01\xc0\x01\xc0\x00\x00\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x38\x1c\x70\x0e\x71\xfe\x73\x8e\x73\x8e\x73\x8e\x71\xfc\x70\x00\x38\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x38\x1c\x38\x1c\x3f\xfc\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x3e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x1c\x1c\x0e\x38\x03\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1c\x38\x1c\x70\x1c\xe0\x1d\xc0\x1f\x80\x1f\x80\x1d\xc0\x1c\xe0\x1c\x70\x1c\x38\x1c\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x78\x1e\x7c\x3e\x7e\x7e\x77\xee\x73\xce\x71\x8e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x0e\x3c\x0e\x3e\x0e\x3f\x0e\x3b\x8e\x39\xce\x38\xee\x38\x7e\x38\x3e\x38\x1e\x38\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\xee\x1c\x7c\x07\xf8\x00\x1c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x38\xe0\x38\x70\x38\x38\x38\x1c\x38\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x38\x1c\x70\x0e\x70\x00\x38\x00\x0f\xf0\x00\x1c\x00\x0e\x70\x0e\x38\x1c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x0e\x70\x07\xe0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x71\x8e\x73\xce\x77\xee\x3e\x7c\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x1c\x38\x1c\x1c\x38\x0e\x70\x07\xe0\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x0e\x1c\x1c\x0e\x38\x07\x70\x03\xe0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x00\x1c\x00\x38\x00\x70\x00\xe0\x01\xc0\x03\x80\x07\x00\x0e\x00\x1c\x00\x3f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x00\x0e\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x70\x00\x38\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00'\ +b'\x00\x00\x07\x00\x03\x80\x01\xc0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x00\x0e\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x0e\x0f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x07\xfe\x1c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x38\x0e\x38\x0e\x3f\xfe\x38\x00\x38\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xf8\x03\x80\x03\x80\x03\x80\x03\x80\x0f\xf0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x0e\x00\x0e\x1f\xf8\x00\x00'\ +b'\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3b\xf8\x3c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x00\x00\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\xe0\x0f\x80\x00\x00'\ +b'\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x0e\x70\x0e\xe0\x0f\xc0\x0e\xe0\x0e\x70\x0e\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x78\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xe0\x38\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x0e\x38\x0e\x38\x1c\x3f\xf0\x38\x00\x38\x00\x38\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xfe\x1c\x0e\x38\x0e\x38\x0e\x1c\x0e\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x38\x1c\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfc\x38\x00\x38\x00\x0f\xf8\x00\x0e\x00\x0e\x1f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1f\xfc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x0e\x38\x1c\x1c\x38\x0e\x70\x07\xe0\x03\xc0\x01\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x39\xce\x3b\xee\x1f\x7c\x0e\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x0e\x70\x07\xe0\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x1c\x1c\x0e\x38\x07\x70\x03\xe0\x01\xc0\x03\x80\x07\x00\x0e\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x00\x1c\x00\x70\x01\xc0\x07\x00\x1c\x00\x3f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xf8\x01\xc0\x03\x80\x03\x80\x03\x80\x1e\x00\x03\x80\x03\x80\x03\x80\x01\xc0\x00\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1f\x00\x03\x80\x01\xc0\x01\xc0\x01\xc0\x00\x78\x01\xc0\x01\xc0\x01\xc0\x03\x80\x1f\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x9e\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x07\x70\x1c\x1c\x70\x07\x70\x07\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf8\x1c\x0e\x38\x06\x38\x00\x38\x00\x38\x00\x38\x00\x38\x06\x1c\x0e\x07\xf8\x00\x38\x00\x1c\x0f\xf8\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x38\x00\xe0\x03\x80\x00\x00\x0f\xf8\x38\x0e\x38\x0e\x3f\xfe\x38\x00\x38\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x07\x70\x1c\x1c\x00\x00\x0f\xf8\x00\x0e\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x00\x00\x0f\xf8\x00\x0e\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x00\x01\xc0\x00\x70\x00\x00\x0f\xf8\x00\x0e\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xe0\x0e\x38\x03\xe0\x00\x00\x0f\xf8\x00\x0e\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x38\x1c\x38\x00\x38\x00\x38\x1c\x0f\xf0\x00\x70\x00\x38\x0f\xf0\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x07\x70\x1c\x1c\x00\x00\x0f\xf8\x38\x0e\x38\x0e\x3f\xfe\x38\x00\x38\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x00\x00\x0f\xf8\x38\x0e\x38\x0e\x3f\xfe\x38\x00\x38\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x00\x01\xc0\x00\x70\x00\x00\x0f\xf8\x38\x0e\x38\x0e\x3f\xfe\x38\x00\x38\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x07\x70\x1c\x1c\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0e\x00\x03\x80\x00\xe0\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x1c\x38\x1c\x38\x00\x00\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x38\x1c\x3f\xfc\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x0e\x70\x03\xc0\x00\x00\x03\xc0\x07\xe0\x0e\x70\x1c\x38\x38\x1c\x3f\xfc\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x70\x01\xc0\x07\x00\x00\x00\x3f\xfc\x38\x00\x38\x00\x38\x00\x3f\xe0\x38\x00\x38\x00\x38\x00\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x7e\x03\xc7\x03\xc7\x7f\xfe\xe3\xc0\xe3\xc0\x7f\xff\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xff\x0e\xe0\x1c\xe0\x38\xe0\x70\xe0\x7f\xfe\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xff\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x07\x70\x1c\x1c\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x00\x01\xc0\x00\x70\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x0e\x70\x38\x1c\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0e\x00\x03\x80\x00\xe0\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x00\x00\x38\x0e\x1c\x1c\x0e\x38\x07\x70\x03\xe0\x01\xc0\x03\x80\x07\x00\x0e\x00\x00\x00'\ +b'\x00\x00\x1c\x1c\x1c\x1c\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x1c\x1c\x1c\x1c\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x0f\xf8\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x1e\x0f\xf8\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xf0\x07\x1c\x07\x00\x07\x00\x1f\xc0\x07\x00\x07\x00\x07\x00\x07\x00\x3f\x0e\x3f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x0e\x1c\x1c\x0e\x38\x07\x70\x03\xe0\x3f\xfe\x01\xc0\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\x80\x70\xe0\x70\x70\x70\xe0\x7f\x9c\x70\x1c\x70\x7f\x70\x1c\x70\x1c\x70\x1c\x70\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x78\x01\xce\x01\xc0\x01\xc0\x01\xc0\x1f\xfc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x39\xc0\x0f\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x70\x01\xc0\x07\x00\x00\x00\x0f\xf8\x00\x0e\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x70\x01\xc0\x07\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x70\x01\xc0\x07\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x70\x01\xc0\x07\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x07\x9c\x3c\xf0\x00\x00\x3f\xe0\x38\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x07\x9e\x3c\xf0\x00\x00\x3c\x0e\x3e\x0e\x3f\x0e\x3b\x8e\x39\xce\x38\xee\x38\x7e\x38\x3e\x38\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x38\x70\x38\x70\x0f\xfc\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xc0\x38\x70\x38\x70\x0f\xc0\x00\x00\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\x80\x03\x80\x00\x00\x03\x80\x03\x80\x03\x80\x07\x00\x1c\x00\x38\x1c\x1c\x38\x07\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x00\x07\x00\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x00\x78\x00\x38\x00\x38\x1c\x38\x70\x01\xc0\x07\x00\x1c\x7c\x70\x0e\x00\x1c\x00\x70\x00\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x38\x00\x78\x00\x38\x00\x38\x1c\x38\x70\x01\xc0\x07\x00\x1c\x1c\x70\x7c\x01\xdc\x01\xfe\x00\x1c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xc0\x01\xc0\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x8e\x0e\x38\x38\xe0\x0e\x38\x03\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\xe0\x0e\x38\x03\x8e\x0e\x38\x38\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30'\ +b'\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc'\ +b'\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xc0\x01\xc0\xff\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xf8\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xc0\x01\xc0\xff\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x38\x00\x38\xff\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xf8\x00\x38\xff\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x38\x00\x38\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xc0\x01\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xff\x01\xc0\x01\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x3f\x07\x00\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\x07\x00\x07\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x3f\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x3f\x07\x00\x07\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x3f\x00\x00\xff\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xff\x01\xc0\x01\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\x01\xc0\x01\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\xff\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xff\x01\xc0\xff\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00'\ +b'\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0e\x39\xdc\x70\xf8\x70\xf0\x70\xf8\x39\xdc\x0f\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x38\x0e\x38\x0e\x3f\xf8\x38\x0e\x38\x0e\x3f\xf8\x38\x00\x38\x00\x18\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x38\x0e\x38\x00\x0e\x00\x03\x80\x00\xe0\x03\x80\x0e\x00\x38\x00\x38\x0e\x3f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\x1c\x38\x38\x38\x38\x38\x38\x38\x1c\x70\x07\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x1c\x0f\xf0\x0e\x00\x0e\x00\x38\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x9e\x3c\xf8\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1f\xfc\x01\xc0\x07\xf0\x0e\x38\x1c\x1c\x1c\x1c\x1c\x1c\x0e\x38\x07\xf0\x01\xc0\x1f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x0e\x38\x0e\x38\x0e\x38\x3e\x3e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xf0\x0e\x38\x0e\x00\x03\x80\x00\xe0\x07\xf8\x1c\x1c\x38\x1c\x38\x1c\x1c\x38\x07\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x7c\x73\xce\x73\xce\x73\xce\x3e\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x38\x0f\xf0\x38\xfc\x71\xce\x73\x8e\x3f\x1c\x0f\xf0\x1c\x00\x38\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xf0\x0e\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x38\x00\x38\x00\x38\x00\x0e\x00\x03\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x07\xf0\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x00\x00\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x0e\x00\x03\x80\x00\xe0\x00\x38\x00\xe0\x03\x80\x0e\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x70\x01\xc0\x07\x00\x1c\x00\x07\x00\x01\xc0\x00\x70\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\x01\xc7\x01\xc7\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x71\xc0\x71\xc0\x1f\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x3c\xf0\x00\x00\x07\x9e\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x0f\xc0\x38\x70\x38\x70\x0f\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x7f\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\xf8\x70\x1c\x70\x07\x70\x01\xf0\x00\x70\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x7f\x80\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x3f\x00\xe1\xc0\x01\xc0\x07\x00\x1c\x00\x70\x00\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + +FONT = memoryview(_FONT) + diff --git a/fonts/vga2_16x32.py b/fonts/vga2_16x32.py new file mode 100644 index 0000000..b1e0d86 --- /dev/null +++ b/fonts/vga2_16x32.py @@ -0,0 +1,264 @@ +WIDTH = 16 +HEIGHT = 32 +FIRST = 0 +LAST = 255 +_FONT = \ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x60\x06\x60\x06\xc0\x03\xc0\x03\xcc\x33\xcc\x33\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xcf\xf3\xcf\xf3\xc3\xc3\xc3\xc3\xc0\x03\xc0\x03\x60\x06\x60\x06\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x7f\xfe\x7f\xfe\xff\xff\xff\xff\xf3\xcf\xf3\xcf\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x0f\xf0\x0f\xfc\x3f\xfc\x3f\xff\xff\xff\xff\x7f\xfe\x7f\xfe\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x78\x1e\x78\x3f\xfc\x3f\xfc\x7f\xfe\x7f\xfe\x7f\xfe\x7f\xfe\x7f\xfe\x7f\xfe\x3f\xfc\x3f\xfc\x1f\xf8\x1f\xf8\x07\xe0\x07\xe0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x01\x80\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1f\xf8\x1f\xf8\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x03\xe0\x03\xe0\x03\xe0\x03\xe0\x1d\xdc\x1d\xdc\x3f\xfe\x3f\xfe\x3f\xfe\x3f\xfe\x1d\xdc\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\xf0\x07\xf0\x1f\xfc\x1f\xfc\x7f\xff\x7f\xff\x7f\xff\x7f\xff\x7f\xff\x7f\xff\x1d\xdc\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x3f\xfc\x3f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xfc\x3f\xfc\x3f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x30\x0c\x30\x0c\x30\x0c\x30\x0c\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x0f\xf0\x0f\xc3\xc3\xc3\xc3\xcf\xf3\xcf\xf3\xcf\xf3\xcf\xf3\xc3\xc3\xc3\xc3\xf0\x0f\xf0\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x7f\x00\x1f\x00\x1f\x00\x3b\x00\x3b\x00\x70\x00\x70\x07\xe0\x07\xe0\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xe0\x03\xe0\x0e\x38\x0e\x38\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x03\xe0\x03\xe0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1f\xfc\x1f\xfc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\x0f\xff\x0e\x07\x0e\x07\x0f\xff\x0f\xff\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x3e\x00\x3e\x00\x7e\x00\x7e\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xfe\x1f\xfe\x1c\x0e\x1c\x0e\x1f\xfe\x1f\xfe\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x0e\x1c\x1e\x1c\x1e\x3c\x3e\x3c\x3e\x7c\x1c\x7c\x1c\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x39\xce\x39\xce\x1d\xdc\x1d\xdc\x0f\xf8\x0f\xf8\x7e\x3f\x7e\x3f\x0f\xf8\x0f\xf8\x1d\xdc\x1d\xdc\x39\xce\x39\xce\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x30\x00\x3c\x00\x3c\x00\x3f\x00\x3f\x00\x3f\xc0\x3f\xc0\x3f\xf0\x3f\xf0\x3f\xfc\x3f\xfc\x3f\xf0\x3f\xf0\x3f\xc0\x3f\xc0\x3f\x00\x3f\x00\x3c\x00\x3c\x00\x30\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0c\x00\x3c\x00\x3c\x00\xfc\x00\xfc\x03\xfc\x03\xfc\x0f\xfc\x0f\xfc\x3f\xfc\x3f\xfc\x0f\xfc\x0f\xfc\x03\xfc\x03\xfc\x00\xfc\x00\xfc\x00\x3c\x00\x3c\x00\x0c\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\xf0\x07\xf0\x1d\xdc\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1d\xdc\x1d\xdc\x07\xf0\x07\xf0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x00\x00\x00\x00\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\x1f\xff\x71\xce\x71\xce\x71\xce\x71\xce\x71\xce\x71\xce\x71\xce\x71\xce\x1f\xce\x1f\xce\x01\xce\x01\xce\x01\xce\x01\xce\x01\xce\x01\xce\x01\xce\x01\xce\x01\xce\x01\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x0e\x00\x0e\x00\x03\xe0\x03\xe0\x0e\x38\x0e\x38\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0e\x38\x0e\x38\x03\xe0\x03\xe0\x00\x38\x00\x38\x38\x0e\x38\x0e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\xf0\x07\xf0\x1d\xdc\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1d\xdc\x1d\xdc\x07\xf0\x07\xf0\x01\xc0\x01\xc0\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\xf0\x07\xf0\x1d\xdc\x1d\xdc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1d\xdc\x1d\xdc\x07\xf0\x07\xf0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x00\x1c\x00\x1c\x3f\xff\x3f\xff\x00\x1c\x00\x1c\x00\x70\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x0e\x00\x0e\x00\x3f\xff\x3f\xff\x0e\x00\x0e\x00\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xff\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x7f\xfe\x7f\xfe\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x01\x80\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1f\xf8\x1f\xf8\x3f\xfc\x3f\xfc\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x3f\xfc\x3f\xfc\x1f\xf8\x1f\xf8\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\x80\x01\x80\x0f\xf0\x0f\xf0\x39\x9c\x39\x9c\x71\x8e\x71\x8e\x71\x80\x71\x80\x39\x80\x39\x80\x0f\xf0\x0f\xf0\x01\x9c\x01\x9c\x01\x8e\x01\x8e\x71\x8e\x71\x8e\x39\x9c\x39\x9c\x0f\xf0\x0f\xf0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x1c\x1e\x1c\x1e\x38\x1e\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x3c\x0e\x3c\x1c\x3c\x1c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xc0\x07\xc0\x1c\x70\x1c\x70\x38\x38\x38\x38\x1c\x70\x1c\x70\x07\xc0\x07\xc0\x0f\xce\x0f\xce\x38\xfc\x38\xfc\x70\x78\x70\x78\x70\x78\x70\x78\x38\xfc\x38\xfc\x0f\xce\x0f\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x38\x0e\x38\x03\xe0\x03\xe0\x3f\xfe\x3f\xfe\x03\xe0\x03\xe0\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x3f\xfe\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1c\x38\x1c\x38\x38\x3c\x38\x3c\x38\x7c\x38\x7c\x38\xdc\x38\xdc\x39\x9c\x39\x9c\x3b\x1c\x3b\x1c\x3e\x1c\x3e\x1c\x3c\x1c\x3c\x1c\x1c\x38\x1c\x38\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x03\xc0\x03\xc0\x0f\xc0\x0f\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x00\x1c\x00\x38\x00\x38\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x01\xf0\x01\xf0\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf0\x01\xf0\x03\xf0\x03\xf0\x07\x70\x07\x70\x0e\x70\x0e\x70\x1c\x70\x1c\x70\x38\x70\x38\x70\x3f\xfc\x3f\xfc\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x00\x1c\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf8\x3f\xf8\x00\x38\x00\x38\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x0e\x1c\x0e\x07\xfe\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x70\x00\x70\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x70\x0e\x70\x0e\x71\xfe\x71\xfe\x73\x8e\x73\x8e\x73\x8e\x73\x8e\x73\x8e\x73\x8e\x71\xfc\x71\xfc\x70\x00\x70\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x3f\xfc\x3f\xfc\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x3e\x38\x3e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x00\x1c\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x03\xe0\x03\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x70\x1c\x70\x1c\xe0\x1c\xe0\x1d\xc0\x1d\xc0\x1f\x80\x1f\x80\x1f\x80\x1f\x80\x1d\xc0\x1d\xc0\x1c\xe0\x1c\xe0\x1c\x70\x1c\x70\x1c\x38\x1c\x38\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x7c\x3e\x7c\x3e\x7e\x7e\x7e\x7e\x77\xee\x77\xee\x73\xce\x73\xce\x71\x8e\x71\x8e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x3c\x0e\x3c\x0e\x3e\x0e\x3e\x0e\x3f\x0e\x3f\x0e\x3b\x8e\x3b\x8e\x39\xce\x39\xce\x38\xee\x38\xee\x38\x7e\x38\x7e\x38\x3e\x38\x3e\x38\x1e\x38\x1e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\xee\x38\xee\x1c\x7c\x1c\x7c\x07\xf8\x07\xf8\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\xe0\x38\xe0\x38\x70\x38\x70\x38\x38\x38\x38\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x70\x0e\x70\x0e\x70\x00\x70\x00\x38\x00\x38\x00\x0f\xf0\x0f\xf0\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x70\x0e\x70\x0e\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x70\x0e\x71\x8e\x71\x8e\x73\xce\x73\xce\x77\xee\x77\xee\x3e\x7c\x3e\x7c\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x07\x70\x07\x70\x03\xe0\x03\xe0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x1c\x00\x1c\x00\x38\x00\x38\x00\x70\x00\x70\x00\xe0\x00\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x1c\x00\x1c\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x0e\x00\x0e\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x70\x00\x70\x00\x38\x00\x38\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x00\x07\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x0f\xfe\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xf8\x3f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x0e\x38\x0e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x07\xfe\x07\xfe\x1c\x0e\x1c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\xf8\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x0f\xf0\x0f\xf0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x1f\xf8\x1f\xf8\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3b\xf8\x3b\xf8\x3c\x0e\x3c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x00\x70\x00\x70\x00\x00\x00\x00\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\xe0\x00\xe0\x0f\x80\x0f\x80\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x38\x0e\x38\x0e\x70\x0e\x70\x0e\xe0\x0e\xe0\x0f\xc0\x0f\xc0\x0e\xe0\x0e\xe0\x0e\x70\x0e\x70\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x78\x3e\x78\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x39\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xe0\x3f\xe0\x38\x38\x38\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x1c\x38\x1c\x3f\xf0\x3f\xf0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xfe\x07\xfe\x1c\x0e\x1c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x0e\x1c\x0e\x07\xfe\x07\xfe\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x38\x1c\x38\x1c\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x1f\xf8\x1f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1f\xfc\x1f\xfc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x0e\x70\x0e\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x39\xce\x39\xce\x3b\xee\x3b\xee\x1f\x7c\x1f\x7c\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x07\x70\x07\x70\x03\xe0\x03\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x1c\x00\x1c\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x00\x1c\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\xf8\x01\xc0\x01\xc0\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x1e\x00\x1e\x00\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x01\xc0\x01\xc0\x00\xf8\x00\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x1f\x00\x03\x80\x03\x80\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x78\x00\x78\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x03\x80\x03\x80\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x07\x9e\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\x70\x07\x70\x1c\x1c\x1c\x1c\x70\x07\x70\x07\x70\x07\x70\x07\x7f\xff\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf8\x07\xf8\x1c\x0e\x1c\x0e\x38\x06\x38\x06\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x06\x38\x06\x1c\x0e\x1c\x0e\x07\xf8\x07\xf8\x00\x38\x00\x38\x00\x1c\x00\x1c\x0f\xf8\x0f\xf8\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\xe0\x00\xe0\x03\x80\x03\x80\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\x70\x07\x70\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x0f\xfe\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x0f\xfe\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x07\x00\x01\xc0\x01\xc0\x00\x70\x00\x70\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x0f\xfe\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xe0\x03\xe0\x0e\x38\x0e\x38\x03\xe0\x03\xe0\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x0f\xfe\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x1c\x38\x1c\x38\x00\x38\x00\x38\x00\x38\x00\x38\x1c\x38\x1c\x0f\xf0\x0f\xf0\x00\x70\x00\x70\x00\x38\x00\x38\x0f\xf0\x0f\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\x70\x07\x70\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x07\x00\x01\xc0\x01\xc0\x00\x70\x00\x70\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x00\x38\x00\x38\x00\x38\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\x70\x07\x70\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x03\x80\x03\x80\x00\xe0\x00\xe0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x3f\xfc\x3f\xfc\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x0e\x70\x0e\x70\x03\xc0\x03\xc0\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x1c\x38\x1c\x38\x38\x1c\x38\x1c\x3f\xfc\x3f\xfc\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xe0\x3f\xe0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x7e\x3e\x7e\x03\xc7\x03\xc7\x03\xc7\x03\xc7\x7f\xfe\x7f\xfe\xe3\xc0\xe3\xc0\xe3\xc0\xe3\xc0\x7f\xff\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\x07\xff\x0e\xe0\x0e\xe0\x1c\xe0\x1c\xe0\x38\xe0\x38\xe0\x70\xe0\x70\xe0\x7f\xfe\x7f\xfe\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xff\x70\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x07\x70\x07\x70\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x07\x00\x01\xc0\x01\xc0\x00\x70\x00\x70\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0e\x70\x0e\x70\x38\x1c\x38\x1c\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x03\x80\x03\x80\x00\xe0\x00\xe0\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x07\x70\x07\x70\x03\xe0\x03\xe0\x01\xc0\x01\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x0e\x00\x0e\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x00\x00\x00\x00\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x1e\x38\x1e\x0f\xf8\x0f\xf8\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf0\x01\xf0\x07\x1c\x07\x1c\x07\x00\x07\x00\x07\x00\x07\x00\x1f\xc0\x1f\xc0\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x3f\x0e\x3f\x0e\x3f\xf8\x3f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x07\x70\x07\x70\x03\xe0\x03\xe0\x3f\xfe\x3f\xfe\x01\xc0\x01\xc0\x3f\xfe\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x80\x7f\x80\x70\xe0\x70\xe0\x70\x70\x70\x70\x70\xe0\x70\xe0\x7f\x9c\x7f\x9c\x70\x1c\x70\x1c\x70\x7f\x70\x7f\x70\x1c\x70\x1c\x70\x1c\x70\x1c\x70\x1c\x70\x1c\x70\x1c\x70\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x78\x01\xce\x01\xce\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x1f\xfc\x1f\xfc\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x39\xc0\x39\xc0\x0f\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x00\x0e\x00\x0e\x0f\xfe\x0f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x0f\xfe\x0f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x00\x00\x00\x00\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9c\x07\x9c\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x3f\xe0\x3f\xe0\x38\x38\x38\x38\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x9e\x07\x9e\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x3c\x0e\x3c\x0e\x3e\x0e\x3e\x0e\x3f\x0e\x3f\x0e\x3b\x8e\x3b\x8e\x39\xce\x39\xce\x38\xee\x38\xee\x38\x7e\x38\x7e\x38\x3e\x38\x3e\x38\x1e\x38\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x38\x70\x38\x70\x38\x70\x38\x70\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xc0\x0f\xc0\x38\x70\x38\x70\x38\x70\x38\x70\x0f\xc0\x0f\xc0\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x00\x00\x00\x00\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x07\x00\x07\x00\x1c\x00\x1c\x00\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x78\x00\x78\x00\x38\x00\x38\x00\x38\x1c\x38\x1c\x38\x70\x38\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x7c\x1c\x7c\x70\x0e\x70\x0e\x00\x1c\x00\x1c\x00\x70\x00\x70\x00\xfe\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x38\x00\x78\x00\x78\x00\x38\x00\x38\x00\x38\x1c\x38\x1c\x38\x70\x38\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x1c\x1c\x1c\x70\x7c\x70\x7c\x01\xdc\x01\xdc\x01\xfe\x01\xfe\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x8e\x03\x8e\x0e\x38\x0e\x38\x38\xe0\x38\xe0\x0e\x38\x0e\x38\x03\x8e\x03\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\xe0\x38\xe0\x0e\x38\x0e\x38\x03\x8e\x03\x8e\x0e\x38\x0e\x38\x38\xe0\x38\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30'\ +b'\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc'\ +b'\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xc0\xff\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xc0\xff\xc0\x01\xc0\x01\xc0\xff\xc0\xff\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x38\xff\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xf8\xff\xf8\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xc0\xff\xc0\x01\xc0\x01\xc0\xff\xc0\xff\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x38\xff\x38\x00\x38\x00\x38\xff\x38\xff\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xf8\xff\xf8\x00\x38\x00\x38\xff\x38\xff\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x38\xff\x38\x00\x38\x00\x38\xff\xf8\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\xf8\xff\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xc0\xff\xc0\x01\xc0\x01\xc0\xff\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xc0\xff\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xff\x01\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xff\x01\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xff\xff\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xff\x01\xff\x01\xc0\x01\xc0\x01\xff\x01\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x3f\x07\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x3f\x07\x3f\x07\x00\x07\x00\x07\xff\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\x07\xff\x07\x00\x07\x00\x07\x3f\x07\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x3f\xff\x3f\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\x3f\xff\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x3f\x07\x3f\x07\x00\x07\x00\x07\x3f\x07\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\x3f\xff\x3f\x00\x00\x00\x00\xff\x3f\xff\x3f\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\xff\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xff\x01\xff\x01\xc0\x01\xc0\x01\xff\x01\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\x01\xff\x01\xc0\x01\xc0\x01\xff\x01\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\x07\xff\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\xff\xff\xff\xff\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38\x07\x38'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xff\xff\xff\x01\xc0\x01\xc0\xff\xff\xff\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\xff\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\x01\xff\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00'\ +b'\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0e\x0f\x0e\x39\xdc\x39\xdc\x70\xf8\x70\xf8\x70\xf0\x70\xf0\x70\xf8\x70\xf8\x39\xdc\x39\xdc\x0f\x0e\x0f\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xf8\x3f\xf8\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xf8\x3f\xf8\x38\x00\x38\x00\x38\x00\x38\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x38\x0e\x38\x0e\x38\x00\x38\x00\x0e\x00\x0e\x00\x03\x80\x03\x80\x00\xe0\x00\xe0\x03\x80\x03\x80\x0e\x00\x0e\x00\x38\x00\x38\x00\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\x07\xff\x1c\x38\x1c\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x38\x1c\x70\x1c\x70\x07\xc0\x07\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x1c\x0e\x1c\x0f\xf0\x0f\xf0\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x9e\x0f\x9e\x3c\xf8\x3c\xf8\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xfc\x1f\xfc\x01\xc0\x01\xc0\x07\xf0\x07\xf0\x0e\x38\x0e\x38\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x07\xf0\x07\xf0\x01\xc0\x01\xc0\x1f\xfc\x1f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x3f\xfe\x3f\xfe\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x1c\x1c\x1c\x1c\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x3e\x3e\x3e\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x03\xf0\x0e\x38\x0e\x38\x0e\x00\x0e\x00\x03\x80\x03\x80\x00\xe0\x00\xe0\x07\xf8\x07\xf8\x1c\x1c\x1c\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x1c\x38\x1c\x38\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x7c\x3e\x7c\x73\xce\x73\xce\x73\xce\x73\xce\x73\xce\x73\xce\x3e\x7c\x3e\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x38\x00\x38\x0f\xf0\x0f\xf0\x38\xfc\x38\xfc\x71\xce\x71\xce\x73\x8e\x73\x8e\x3f\x1c\x3f\x1c\x0f\xf0\x0f\xf0\x1c\x00\x1c\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x03\xf0\x0e\x00\x0e\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x3f\xf0\x3f\xf0\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x38\x00\x0e\x00\x0e\x00\x03\xf0\x03\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1c\x1c\x1c\x1c\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x38\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x3f\xfe\x3f\xfe\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x03\x80\x03\x80\x00\xe0\x00\xe0\x00\x38\x00\x38\x00\xe0\x00\xe0\x03\x80\x03\x80\x0e\x00\x0e\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x70\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x00\x1c\x00\x07\x00\x07\x00\x01\xc0\x01\xc0\x00\x70\x00\x70\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x7c\x01\xc7\x01\xc7\x01\xc7\x01\xc7\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0'\ +b'\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x71\xc0\x71\xc0\x71\xc0\x71\xc0\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x07\x9e\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x07\x9e\x07\x9e\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xc0\x0f\xc0\x38\x70\x38\x70\x38\x70\x38\x70\x0f\xc0\x0f\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\x01\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7f\x00\x7f\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\xf8\x70\xf8\x70\x1c\x70\x1c\x70\x07\x70\x07\x70\x01\xf0\x01\xf0\x00\x70\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\x80\x7f\x80\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x70\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x3f\x00\xe1\xc0\xe1\xc0\x01\xc0\x01\xc0\x07\x00\x07\x00\x1c\x00\x1c\x00\x70\x00\x70\x00\xff\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x1f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + +FONT = memoryview(_FONT) + diff --git a/fonts/vga2_8x16.py b/fonts/vga2_8x16.py new file mode 100644 index 0000000..39c56c5 --- /dev/null +++ b/fonts/vga2_8x16.py @@ -0,0 +1,264 @@ +"""converted from vga_8x16.bin """ +WIDTH = 8 +HEIGHT = 16 +FIRST = 0x00 +LAST = 0xff +_FONT =\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x7e\x81\xa5\x81\x81\xbd\x99\x81\x81\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x7e\xff\xdb\xff\xff\xc3\xe7\xff\xff\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x6c\xfe\xfe\xfe\xfe\x7c\x38\x10\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x10\x38\x7c\xfe\x7c\x38\x10\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x18\x3c\x3c\xe7\xe7\xe7\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x18\x3c\x7e\xff\xff\x7e\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x18\x3c\x3c\x18\x00\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xff\xe7\xc3\xc3\xe7\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x3c\x66\x42\x42\x66\x3c\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xc3\x99\xbd\xbd\x99\xc3\xff\xff\xff\xff\xff'\ +b'\x00\x00\x1e\x0e\x1a\x32\x78\xcc\xcc\xcc\xcc\x78\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x66\x66\x66\x66\x3c\x18\x7e\x18\x18\x00\x00\x00\x00'\ +b'\x00\x00\x3f\x33\x3f\x30\x30\x30\x30\x70\xf0\xe0\x00\x00\x00\x00'\ +b'\x00\x00\x7f\x63\x7f\x63\x63\x63\x63\x67\xe7\xe6\xc0\x00\x00\x00'\ +b'\x00\x00\x00\x18\x18\xdb\x3c\xe7\x3c\xdb\x18\x18\x00\x00\x00\x00'\ +b'\x00\x80\xc0\xe0\xf0\xf8\xfe\xf8\xf0\xe0\xc0\x80\x00\x00\x00\x00'\ +b'\x00\x02\x06\x0e\x1e\x3e\xfe\x3e\x1e\x0e\x06\x02\x00\x00\x00\x00'\ +b'\x00\x00\x18\x3c\x7e\x18\x18\x18\x7e\x3c\x18\x00\x00\x00\x00\x00'\ +b'\x00\x00\x66\x66\x66\x66\x66\x66\x66\x00\x66\x66\x00\x00\x00\x00'\ +b'\x00\x00\x7f\xdb\xdb\xdb\x7b\x1b\x1b\x1b\x1b\x1b\x00\x00\x00\x00'\ +b'\x00\x7c\xc6\x60\x38\x6c\xc6\xc6\x6c\x38\x0c\xc6\x7c\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xfe\xfe\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x18\x3c\x7e\x18\x18\x18\x7e\x3c\x18\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x18\x3c\x7e\x18\x18\x18\x18\x18\x18\x18\x00\x00\x00\x00'\ +b'\x00\x00\x18\x18\x18\x18\x18\x18\x18\x7e\x3c\x18\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x18\x0c\xfe\x0c\x18\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x30\x60\xfe\x60\x30\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\xc0\xc0\xc0\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x28\x6c\xfe\x6c\x28\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x10\x38\x38\x7c\x7c\xfe\xfe\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\xfe\xfe\x7c\x7c\x38\x38\x10\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x18\x3c\x3c\x3c\x18\x18\x18\x00\x18\x18\x00\x00\x00\x00'\ +b'\x00\x66\x66\x66\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x6c\x6c\xfe\x6c\x6c\x6c\xfe\x6c\x6c\x00\x00\x00\x00'\ +b'\x18\x18\x7c\xc6\xc2\xc0\x7c\x06\x06\x86\xc6\x7c\x18\x18\x00\x00'\ +b'\x00\x00\x00\x00\xc2\xc6\x0c\x18\x30\x60\xc6\x86\x00\x00\x00\x00'\ +b'\x00\x00\x38\x6c\x6c\x38\x76\xdc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x30\x30\x30\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x0c\x18\x30\x30\x30\x30\x30\x30\x18\x0c\x00\x00\x00\x00'\ +b'\x00\x00\x30\x18\x0c\x0c\x0c\x0c\x0c\x0c\x18\x30\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x66\x3c\xff\x3c\x66\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x18\x18\x7e\x18\x18\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18\x18\x30\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x18\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x02\x06\x0c\x18\x30\x60\xc0\x80\x00\x00\x00\x00'\ +b'\x00\x00\x38\x6c\xc6\xc6\xd6\xd6\xc6\xc6\x6c\x38\x00\x00\x00\x00'\ +b'\x00\x00\x18\x38\x78\x18\x18\x18\x18\x18\x18\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\x06\x0c\x18\x30\x60\xc0\xc6\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\x06\x06\x3c\x06\x06\x06\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x0c\x1c\x3c\x6c\xcc\xfe\x0c\x0c\x0c\x1e\x00\x00\x00\x00'\ +b'\x00\x00\xfe\xc0\xc0\xc0\xfc\x06\x06\x06\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x38\x60\xc0\xc0\xfc\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\xfe\xc6\x06\x06\x0c\x18\x30\x30\x30\x30\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\x7c\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\x7e\x06\x06\x06\x0c\x78\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x18\x18\x00\x00\x00\x18\x18\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x18\x18\x00\x00\x00\x18\x18\x30\x00\x00\x00\x00'\ +b'\x00\x00\x00\x06\x0c\x18\x30\x60\x30\x18\x0c\x06\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7e\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x60\x30\x18\x0c\x06\x0c\x18\x30\x60\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\x0c\x18\x18\x18\x00\x18\x18\x00\x00\x00\x00'\ +b'\x00\x00\x00\x7c\xc6\xc6\xde\xde\xde\xdc\xc0\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x10\x38\x6c\xc6\xc6\xfe\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\xfc\x66\x66\x66\x7c\x66\x66\x66\x66\xfc\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x66\xc2\xc0\xc0\xc0\xc0\xc2\x66\x3c\x00\x00\x00\x00'\ +b'\x00\x00\xf8\x6c\x66\x66\x66\x66\x66\x66\x6c\xf8\x00\x00\x00\x00'\ +b'\x00\x00\xfe\x66\x62\x68\x78\x68\x60\x62\x66\xfe\x00\x00\x00\x00'\ +b'\x00\x00\xfe\x66\x62\x68\x78\x68\x60\x60\x60\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x66\xc2\xc0\xc0\xde\xc6\xc6\x66\x3a\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\xc6\xc6\xfe\xc6\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x18\x18\x18\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x1e\x0c\x0c\x0c\x0c\x0c\xcc\xcc\xcc\x78\x00\x00\x00\x00'\ +b'\x00\x00\xe6\x66\x66\x6c\x78\x78\x6c\x66\x66\xe6\x00\x00\x00\x00'\ +b'\x00\x00\xf0\x60\x60\x60\x60\x60\x60\x62\x66\xfe\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xee\xfe\xfe\xd6\xc6\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xe6\xf6\xfe\xde\xce\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\xfc\x66\x66\x66\x7c\x60\x60\x60\x60\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\xc6\xd6\xde\x7c\x0c\x0e\x00\x00'\ +b'\x00\x00\xfc\x66\x66\x66\x7c\x6c\x66\x66\x66\xe6\x00\x00\x00\x00'\ +b'\x00\x00\x7c\xc6\xc6\x60\x38\x0c\x06\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x7e\x7e\x5a\x18\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x6c\x38\x10\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\xc6\xc6\xd6\xd6\xd6\xfe\xee\x6c\x00\x00\x00\x00'\ +b'\x00\x00\xc6\xc6\x6c\x7c\x38\x38\x7c\x6c\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x66\x66\x66\x66\x3c\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\xfe\xc6\x86\x0c\x18\x30\x60\xc2\xc6\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x30\x30\x30\x30\x30\x30\x30\x30\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x80\xc0\xe0\x70\x38\x1c\x0e\x06\x02\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x3c\x00\x00\x00\x00'\ +b'\x10\x38\x6c\xc6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00'\ +b'\x00\x30\x18\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x78\x0c\x7c\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\xe0\x60\x60\x78\x6c\x66\x66\x66\x66\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\xc6\xc0\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x1c\x0c\x0c\x3c\x6c\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\xc6\xfe\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x1c\x36\x32\x30\x78\x30\x30\x30\x30\x78\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x76\xcc\xcc\xcc\xcc\xcc\x7c\x0c\xcc\x78\x00'\ +b'\x00\x00\xe0\x60\x60\x6c\x76\x66\x66\x66\x66\xe6\x00\x00\x00\x00'\ +b'\x00\x00\x18\x18\x00\x38\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x06\x06\x00\x0e\x06\x06\x06\x06\x06\x06\x66\x66\x3c\x00'\ +b'\x00\x00\xe0\x60\x60\x66\x6c\x78\x78\x6c\x66\xe6\x00\x00\x00\x00'\ +b'\x00\x00\x38\x18\x18\x18\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xec\xfe\xd6\xd6\xd6\xd6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xdc\x66\x66\x66\x66\x66\x66\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xdc\x66\x66\x66\x66\x66\x7c\x60\x60\xf0\x00'\ +b'\x00\x00\x00\x00\x00\x76\xcc\xcc\xcc\xcc\xcc\x7c\x0c\x0c\x1e\x00'\ +b'\x00\x00\x00\x00\x00\xdc\x76\x66\x60\x60\x60\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\xc6\x60\x38\x0c\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x10\x30\x30\xfc\x30\x30\x30\x30\x36\x1c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xcc\xcc\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc6\xc6\xc6\xc6\xc6\x6c\x38\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc6\xc6\xd6\xd6\xd6\xfe\x6c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc6\x6c\x38\x38\x38\x6c\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\x7e\x06\x0c\xf8\x00'\ +b'\x00\x00\x00\x00\x00\xfe\xcc\x18\x30\x60\xc6\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x0e\x18\x18\x18\x70\x18\x18\x18\x18\x0e\x00\x00\x00\x00'\ +b'\x00\x00\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x00\x00\x00\x00'\ +b'\x00\x00\x70\x18\x18\x18\x0e\x18\x18\x18\x18\x70\x00\x00\x00\x00'\ +b'\x00\x76\xdc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x10\x38\x6c\xc6\xc6\xc6\xfe\x00\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x66\xc2\xc0\xc0\xc0\xc0\xc2\x66\x3c\x18\x70\x00\x00'\ +b'\x00\x00\xcc\x00\x00\xcc\xcc\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x0c\x18\x30\x00\x7c\xc6\xfe\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x10\x38\x6c\x00\x78\x0c\x7c\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\xcc\x00\x00\x78\x0c\x7c\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x60\x30\x18\x00\x78\x0c\x7c\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x38\x6c\x38\x00\x78\x0c\x7c\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7c\xc6\xc0\xc0\xc0\xc6\x7c\x18\x70\x00\x00'\ +b'\x00\x10\x38\x6c\x00\x7c\xc6\xfe\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\xc6\x00\x00\x7c\xc6\xfe\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x60\x30\x18\x00\x7c\xc6\xfe\xc0\xc0\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x66\x00\x00\x38\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x18\x3c\x66\x00\x38\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x60\x30\x18\x00\x38\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\xc6\x00\x10\x38\x6c\xc6\xc6\xfe\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x38\x6c\x38\x10\x38\x6c\xc6\xfe\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x0c\x18\x00\xfe\x66\x62\x68\x78\x68\x62\x66\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xec\x36\x36\x7e\xd8\xd8\x6e\x00\x00\x00\x00'\ +b'\x00\x00\x3e\x6c\xcc\xcc\xfe\xcc\xcc\xcc\xcc\xce\x00\x00\x00\x00'\ +b'\x00\x10\x38\x6c\x00\x7c\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\xc6\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x60\x30\x18\x00\x7c\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x30\x78\xcc\x00\xcc\xcc\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x60\x30\x18\x00\xcc\xcc\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\xc6\x00\x00\xc6\xc6\xc6\xc6\xc6\xc6\x7e\x06\x0c\x78\x00'\ +b'\x00\xc6\x00\x7c\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\xc6\x00\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x18\x18\x7c\xc6\xc0\xc0\xc0\xc6\x7c\x18\x18\x00\x00\x00\x00'\ +b'\x00\x38\x6c\x64\x60\xf0\x60\x60\x60\x60\xe6\xfc\x00\x00\x00\x00'\ +b'\x00\x00\x66\x66\x3c\x18\x7e\x18\x7e\x18\x18\x18\x00\x00\x00\x00'\ +b'\x00\xf8\xcc\xcc\xf8\xc4\xcc\xde\xcc\xcc\xcc\xc6\x00\x00\x00\x00'\ +b'\x00\x0e\x1b\x18\x18\x18\x7e\x18\x18\x18\xd8\x70\x00\x00\x00\x00'\ +b'\x00\x18\x30\x60\x00\x78\x0c\x7c\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x0c\x18\x30\x00\x38\x18\x18\x18\x18\x18\x3c\x00\x00\x00\x00'\ +b'\x00\x18\x30\x60\x00\x7c\xc6\xc6\xc6\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x18\x30\x60\x00\xcc\xcc\xcc\xcc\xcc\xcc\x76\x00\x00\x00\x00'\ +b'\x00\x00\x76\xdc\x00\xdc\x66\x66\x66\x66\x66\x66\x00\x00\x00\x00'\ +b'\x76\xdc\x00\xc6\xe6\xf6\xfe\xde\xce\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x6c\x6c\x3e\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x38\x6c\x6c\x38\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x30\x30\x00\x30\x30\x60\xc0\xc6\xc6\x7c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\xfe\xc0\xc0\xc0\xc0\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\xfe\x06\x06\x06\x06\x00\x00\x00\x00\x00'\ +b'\x00\x60\xe0\x62\x66\x6c\x18\x30\x60\xdc\x86\x0c\x18\x3e\x00\x00'\ +b'\x00\x60\xe0\x62\x66\x6c\x18\x30\x66\xce\x9a\x3f\x06\x06\x00\x00'\ +b'\x00\x00\x18\x18\x00\x18\x18\x18\x3c\x3c\x3c\x18\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x36\x6c\xd8\x6c\x36\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xd8\x6c\x36\x6c\xd8\x00\x00\x00\x00\x00\x00'\ +b'\x11\x44\x11\x44\x11\x44\x11\x44\x11\x44\x11\x44\x11\x44\x11\x44'\ +b'\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa'\ +b'\xdd\x77\xdd\x77\xdd\x77\xdd\x77\xdd\x77\xdd\x77\xdd\x77\xdd\x77'\ +b'\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x18\x18\x18\x18\x18\x18\x18\xf8\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x18\x18\x18\x18\x18\xf8\x18\xf8\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x36\x36\x36\x36\x36\x36\x36\xf6\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x00\x00\x00\x00\x00\x00\x00\xfe\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x00\x00\x00\x00\x00\xf8\x18\xf8\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x36\x36\x36\x36\x36\xf6\x06\xf6\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x36\x36\x36\x36\x36\x36\x36\x36\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x00\x00\x00\x00\x00\xfe\x06\xf6\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x36\x36\x36\x36\x36\xf6\x06\xfe\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x36\x36\x36\x36\x36\x36\x36\xfe\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x18\x18\x18\x18\x18\xf8\x18\xf8\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\xf8\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x18\x18\x18\x18\x18\x18\x18\x1f\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x18\x18\x18\x18\x18\x18\x18\xff\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\xff\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x18\x18\x18\x18\x18\x18\x18\x1f\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x18\x18\x18\x18\x18\x18\x18\xff\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x18\x18\x18\x18\x18\x1f\x18\x1f\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x36\x36\x36\x36\x36\x36\x36\x37\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x36\x36\x36\x36\x36\x37\x30\x3f\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x3f\x30\x37\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x36\x36\x36\x36\x36\xf7\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xff\x00\xf7\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x36\x36\x36\x36\x36\x37\x30\x37\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x00\x00\x00\x00\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x36\x36\x36\x36\x36\xf7\x00\xf7\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x18\x18\x18\x18\x18\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x36\x36\x36\x36\x36\x36\x36\xff\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xff\x00\xff\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x00\x00\x00\x00\x00\x00\x00\xff\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x36\x36\x36\x36\x36\x36\x36\x3f\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x18\x18\x18\x18\x18\x1f\x18\x1f\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x1f\x18\x1f\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x00\x00\x00\x00\x00\x00\x00\x3f\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x36\x36\x36\x36\x36\x36\x36\xff\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x18\x18\x18\x18\x18\xff\x18\xff\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x18\x18\x18\x18\x18\x18\x18\xf8\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x1f\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0'\ +b'\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f'\ +b'\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x76\xdc\xd8\xd8\xd8\xdc\x76\x00\x00\x00\x00'\ +b'\x00\x00\x78\xcc\xcc\xcc\xd8\xcc\xc6\xc6\xc6\xcc\x00\x00\x00\x00'\ +b'\x00\x00\xfe\xc6\xc6\xc0\xc0\xc0\xc0\xc0\xc0\xc0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xfe\x6c\x6c\x6c\x6c\x6c\x6c\x00\x00\x00\x00'\ +b'\x00\x00\xfe\xc6\x60\x30\x18\x18\x30\x60\xc6\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7e\xd8\xd8\xd8\xd8\xd8\x70\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x66\x66\x66\x66\x66\x66\x7c\x60\x60\xc0\x00'\ +b'\x00\x00\x00\x00\x76\xdc\x18\x18\x18\x18\x18\x18\x00\x00\x00\x00'\ +b'\x00\x00\x7e\x18\x3c\x66\x66\x66\x66\x3c\x18\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x38\x6c\xc6\xc6\xfe\xc6\xc6\xc6\x6c\x38\x00\x00\x00\x00'\ +b'\x00\x00\x38\x6c\xc6\xc6\xc6\x6c\x6c\x6c\x6c\xee\x00\x00\x00\x00'\ +b'\x00\x00\x1e\x30\x18\x0c\x3e\x66\x66\x66\x66\x3c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x7e\xdb\xdb\xdb\x7e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x03\x06\x7e\xdb\xdb\xf3\x7e\x60\xc0\x00\x00\x00\x00'\ +b'\x00\x00\x1c\x30\x60\x60\x7c\x60\x60\x60\x30\x1c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x7c\xc6\xc6\xc6\xc6\xc6\xc6\xc6\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\xfe\x00\x00\xfe\x00\x00\xfe\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x18\x18\x7e\x18\x18\x00\x00\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x00\x30\x18\x0c\x06\x0c\x18\x30\x00\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x00\x0c\x18\x30\x60\x30\x18\x0c\x00\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x0e\x1b\x1b\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x18\x18\x18\x18\x18\x18\x18\x18\x18\xd8\xd8\xd8\x70\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x18\x00\x7e\x00\x18\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x76\xdc\x00\x76\xdc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x38\x6c\x6c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x18\x18\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x0f\x0c\x0c\x0c\x0c\x0c\xec\x6c\x6c\x3c\x1c\x00\x00\x00\x00'\ +b'\x00\x6c\x36\x36\x36\x36\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x3c\x66\x0c\x18\x32\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7e\x7e\x7e\x7e\x7e\x7e\x7e\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ + +FONT = memoryview(_FONT) diff --git a/fonts/vga2_8x8.py b/fonts/vga2_8x8.py new file mode 100644 index 0000000..2570e78 --- /dev/null +++ b/fonts/vga2_8x8.py @@ -0,0 +1,264 @@ +"""converted from vga_8x8.bin """ +WIDTH = 8 +HEIGHT = 8 +FIRST = 0x00 +LAST = 0xff +_FONT =\ +b'\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x7e\x81\xa5\x81\xbd\x99\x81\x7e'\ +b'\x7e\xff\xdb\xff\xc3\xe7\xff\x7e'\ +b'\x6c\xfe\xfe\xfe\x7c\x38\x10\x00'\ +b'\x10\x38\x7c\xfe\x7c\x38\x10\x00'\ +b'\x38\x7c\x38\xfe\xfe\xd6\x10\x38'\ +b'\x10\x38\x7c\xfe\xfe\x7c\x10\x38'\ +b'\x00\x00\x18\x3c\x3c\x18\x00\x00'\ +b'\xff\xff\xe7\xc3\xc3\xe7\xff\xff'\ +b'\x00\x3c\x66\x42\x42\x66\x3c\x00'\ +b'\xff\xc3\x99\xbd\xbd\x99\xc3\xff'\ +b'\x0f\x07\x0f\x7d\xcc\xcc\xcc\x78'\ +b'\x3c\x66\x66\x66\x3c\x18\x7e\x18'\ +b'\x3f\x33\x3f\x30\x30\x70\xf0\xe0'\ +b'\x7f\x63\x7f\x63\x63\x67\xe6\xc0'\ +b'\x18\xdb\x3c\xe7\xe7\x3c\xdb\x18'\ +b'\x80\xe0\xf8\xfe\xf8\xe0\x80\x00'\ +b'\x02\x0e\x3e\xfe\x3e\x0e\x02\x00'\ +b'\x18\x3c\x7e\x18\x18\x7e\x3c\x18'\ +b'\x66\x66\x66\x66\x66\x00\x66\x00'\ +b'\x7f\xdb\xdb\x7b\x1b\x1b\x1b\x00'\ +b'\x3e\x61\x3c\x66\x66\x3c\x86\x7c'\ +b'\x00\x00\x00\x00\x7e\x7e\x7e\x00'\ +b'\x18\x3c\x7e\x18\x7e\x3c\x18\xff'\ +b'\x18\x3c\x7e\x18\x18\x18\x18\x00'\ +b'\x18\x18\x18\x18\x7e\x3c\x18\x00'\ +b'\x00\x18\x0c\xfe\x0c\x18\x00\x00'\ +b'\x00\x30\x60\xfe\x60\x30\x00\x00'\ +b'\x00\x00\xc0\xc0\xc0\xfe\x00\x00'\ +b'\x00\x24\x66\xff\x66\x24\x00\x00'\ +b'\x00\x18\x3c\x7e\xff\xff\x00\x00'\ +b'\x00\xff\xff\x7e\x3c\x18\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x18\x3c\x3c\x18\x18\x00\x18\x00'\ +b'\x66\x66\x24\x00\x00\x00\x00\x00'\ +b'\x6c\x6c\xfe\x6c\xfe\x6c\x6c\x00'\ +b'\x18\x3e\x60\x3c\x06\x7c\x18\x00'\ +b'\x00\xc6\xcc\x18\x30\x66\xc6\x00'\ +b'\x38\x6c\x38\x76\xdc\xcc\x76\x00'\ +b'\x18\x18\x30\x00\x00\x00\x00\x00'\ +b'\x0c\x18\x30\x30\x30\x18\x0c\x00'\ +b'\x30\x18\x0c\x0c\x0c\x18\x30\x00'\ +b'\x00\x66\x3c\xff\x3c\x66\x00\x00'\ +b'\x00\x18\x18\x7e\x18\x18\x00\x00'\ +b'\x00\x00\x00\x00\x00\x18\x18\x30'\ +b'\x00\x00\x00\x7e\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x18\x18\x00'\ +b'\x06\x0c\x18\x30\x60\xc0\x80\x00'\ +b'\x38\x6c\xc6\xd6\xc6\x6c\x38\x00'\ +b'\x18\x38\x18\x18\x18\x18\x7e\x00'\ +b'\x7c\xc6\x06\x1c\x30\x66\xfe\x00'\ +b'\x7c\xc6\x06\x3c\x06\xc6\x7c\x00'\ +b'\x1c\x3c\x6c\xcc\xfe\x0c\x1e\x00'\ +b'\xfe\xc0\xc0\xfc\x06\xc6\x7c\x00'\ +b'\x38\x60\xc0\xfc\xc6\xc6\x7c\x00'\ +b'\xfe\xc6\x0c\x18\x30\x30\x30\x00'\ +b'\x7c\xc6\xc6\x7c\xc6\xc6\x7c\x00'\ +b'\x7c\xc6\xc6\x7e\x06\x0c\x78\x00'\ +b'\x00\x18\x18\x00\x00\x18\x18\x00'\ +b'\x00\x18\x18\x00\x00\x18\x18\x30'\ +b'\x06\x0c\x18\x30\x18\x0c\x06\x00'\ +b'\x00\x00\x7e\x00\x00\x7e\x00\x00'\ +b'\x60\x30\x18\x0c\x18\x30\x60\x00'\ +b'\x7c\xc6\x0c\x18\x18\x00\x18\x00'\ +b'\x7c\xc6\xde\xde\xde\xc0\x78\x00'\ +b'\x38\x6c\xc6\xfe\xc6\xc6\xc6\x00'\ +b'\xfc\x66\x66\x7c\x66\x66\xfc\x00'\ +b'\x3c\x66\xc0\xc0\xc0\x66\x3c\x00'\ +b'\xf8\x6c\x66\x66\x66\x6c\xf8\x00'\ +b'\xfe\x62\x68\x78\x68\x62\xfe\x00'\ +b'\xfe\x62\x68\x78\x68\x60\xf0\x00'\ +b'\x3c\x66\xc0\xc0\xce\x66\x3a\x00'\ +b'\xc6\xc6\xc6\xfe\xc6\xc6\xc6\x00'\ +b'\x3c\x18\x18\x18\x18\x18\x3c\x00'\ +b'\x1e\x0c\x0c\x0c\xcc\xcc\x78\x00'\ +b'\xe6\x66\x6c\x78\x6c\x66\xe6\x00'\ +b'\xf0\x60\x60\x60\x62\x66\xfe\x00'\ +b'\xc6\xee\xfe\xfe\xd6\xc6\xc6\x00'\ +b'\xc6\xe6\xf6\xde\xce\xc6\xc6\x00'\ +b'\x7c\xc6\xc6\xc6\xc6\xc6\x7c\x00'\ +b'\xfc\x66\x66\x7c\x60\x60\xf0\x00'\ +b'\x7c\xc6\xc6\xc6\xc6\xce\x7c\x0e'\ +b'\xfc\x66\x66\x7c\x6c\x66\xe6\x00'\ +b'\x3c\x66\x30\x18\x0c\x66\x3c\x00'\ +b'\x7e\x7e\x5a\x18\x18\x18\x3c\x00'\ +b'\xc6\xc6\xc6\xc6\xc6\xc6\x7c\x00'\ +b'\xc6\xc6\xc6\xc6\xc6\x6c\x38\x00'\ +b'\xc6\xc6\xc6\xd6\xd6\xfe\x6c\x00'\ +b'\xc6\xc6\x6c\x38\x6c\xc6\xc6\x00'\ +b'\x66\x66\x66\x3c\x18\x18\x3c\x00'\ +b'\xfe\xc6\x8c\x18\x32\x66\xfe\x00'\ +b'\x3c\x30\x30\x30\x30\x30\x3c\x00'\ +b'\xc0\x60\x30\x18\x0c\x06\x02\x00'\ +b'\x3c\x0c\x0c\x0c\x0c\x0c\x3c\x00'\ +b'\x10\x38\x6c\xc6\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\xff'\ +b'\x30\x18\x0c\x00\x00\x00\x00\x00'\ +b'\x00\x00\x78\x0c\x7c\xcc\x76\x00'\ +b'\xe0\x60\x7c\x66\x66\x66\xdc\x00'\ +b'\x00\x00\x7c\xc6\xc0\xc6\x7c\x00'\ +b'\x1c\x0c\x7c\xcc\xcc\xcc\x76\x00'\ +b'\x00\x00\x7c\xc6\xfe\xc0\x7c\x00'\ +b'\x3c\x66\x60\xf8\x60\x60\xf0\x00'\ +b'\x00\x00\x76\xcc\xcc\x7c\x0c\xf8'\ +b'\xe0\x60\x6c\x76\x66\x66\xe6\x00'\ +b'\x18\x00\x38\x18\x18\x18\x3c\x00'\ +b'\x06\x00\x06\x06\x06\x66\x66\x3c'\ +b'\xe0\x60\x66\x6c\x78\x6c\xe6\x00'\ +b'\x38\x18\x18\x18\x18\x18\x3c\x00'\ +b'\x00\x00\xec\xfe\xd6\xd6\xd6\x00'\ +b'\x00\x00\xdc\x66\x66\x66\x66\x00'\ +b'\x00\x00\x7c\xc6\xc6\xc6\x7c\x00'\ +b'\x00\x00\xdc\x66\x66\x7c\x60\xf0'\ +b'\x00\x00\x76\xcc\xcc\x7c\x0c\x1e'\ +b'\x00\x00\xdc\x76\x60\x60\xf0\x00'\ +b'\x00\x00\x7e\xc0\x7c\x06\xfc\x00'\ +b'\x30\x30\xfc\x30\x30\x36\x1c\x00'\ +b'\x00\x00\xcc\xcc\xcc\xcc\x76\x00'\ +b'\x00\x00\xc6\xc6\xc6\x6c\x38\x00'\ +b'\x00\x00\xc6\xd6\xd6\xfe\x6c\x00'\ +b'\x00\x00\xc6\x6c\x38\x6c\xc6\x00'\ +b'\x00\x00\xc6\xc6\xc6\x7e\x06\xfc'\ +b'\x00\x00\x7e\x4c\x18\x32\x7e\x00'\ +b'\x0e\x18\x18\x70\x18\x18\x0e\x00'\ +b'\x18\x18\x18\x18\x18\x18\x18\x00'\ +b'\x70\x18\x18\x0e\x18\x18\x70\x00'\ +b'\x76\xdc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x10\x38\x6c\xc6\xc6\xfe\x00'\ +b'\x7c\xc6\xc0\xc0\xc6\x7c\x0c\x78'\ +b'\xcc\x00\xcc\xcc\xcc\xcc\x76\x00'\ +b'\x0c\x18\x7c\xc6\xfe\xc0\x7c\x00'\ +b'\x7c\x82\x78\x0c\x7c\xcc\x76\x00'\ +b'\xc6\x00\x78\x0c\x7c\xcc\x76\x00'\ +b'\x30\x18\x78\x0c\x7c\xcc\x76\x00'\ +b'\x30\x30\x78\x0c\x7c\xcc\x76\x00'\ +b'\x00\x00\x7e\xc0\xc0\x7e\x0c\x38'\ +b'\x7c\x82\x7c\xc6\xfe\xc0\x7c\x00'\ +b'\xc6\x00\x7c\xc6\xfe\xc0\x7c\x00'\ +b'\x30\x18\x7c\xc6\xfe\xc0\x7c\x00'\ +b'\x66\x00\x38\x18\x18\x18\x3c\x00'\ +b'\x7c\x82\x38\x18\x18\x18\x3c\x00'\ +b'\x30\x18\x00\x38\x18\x18\x3c\x00'\ +b'\xc6\x38\x6c\xc6\xfe\xc6\xc6\x00'\ +b'\x38\x6c\x7c\xc6\xfe\xc6\xc6\x00'\ +b'\x18\x30\xfe\xc0\xf8\xc0\xfe\x00'\ +b'\x00\x00\x7e\x18\x7e\xd8\x7e\x00'\ +b'\x3e\x6c\xcc\xfe\xcc\xcc\xce\x00'\ +b'\x7c\x82\x7c\xc6\xc6\xc6\x7c\x00'\ +b'\xc6\x00\x7c\xc6\xc6\xc6\x7c\x00'\ +b'\x30\x18\x7c\xc6\xc6\xc6\x7c\x00'\ +b'\x78\x84\x00\xcc\xcc\xcc\x76\x00'\ +b'\x60\x30\xcc\xcc\xcc\xcc\x76\x00'\ +b'\xc6\x00\xc6\xc6\xc6\x7e\x06\xfc'\ +b'\xc6\x38\x6c\xc6\xc6\x6c\x38\x00'\ +b'\xc6\x00\xc6\xc6\xc6\xc6\x7c\x00'\ +b'\x18\x18\x7e\xc0\xc0\x7e\x18\x18'\ +b'\x38\x6c\x64\xf0\x60\x66\xfc\x00'\ +b'\x66\x66\x3c\x7e\x18\x7e\x18\x18'\ +b'\xf8\xcc\xcc\xfa\xc6\xcf\xc6\xc7'\ +b'\x0e\x1b\x18\x3c\x18\xd8\x70\x00'\ +b'\x18\x30\x78\x0c\x7c\xcc\x76\x00'\ +b'\x0c\x18\x00\x38\x18\x18\x3c\x00'\ +b'\x0c\x18\x7c\xc6\xc6\xc6\x7c\x00'\ +b'\x18\x30\xcc\xcc\xcc\xcc\x76\x00'\ +b'\x76\xdc\x00\xdc\x66\x66\x66\x00'\ +b'\x76\xdc\x00\xe6\xf6\xde\xce\x00'\ +b'\x3c\x6c\x6c\x3e\x00\x7e\x00\x00'\ +b'\x38\x6c\x6c\x38\x00\x7c\x00\x00'\ +b'\x18\x00\x18\x18\x30\x63\x3e\x00'\ +b'\x00\x00\x00\xfe\xc0\xc0\x00\x00'\ +b'\x00\x00\x00\xfe\x06\x06\x00\x00'\ +b'\x63\xe6\x6c\x7e\x33\x66\xcc\x0f'\ +b'\x63\xe6\x6c\x7a\x36\x6a\xdf\x06'\ +b'\x18\x00\x18\x18\x3c\x3c\x18\x00'\ +b'\x00\x33\x66\xcc\x66\x33\x00\x00'\ +b'\x00\xcc\x66\x33\x66\xcc\x00\x00'\ +b'\x22\x88\x22\x88\x22\x88\x22\x88'\ +b'\x55\xaa\x55\xaa\x55\xaa\x55\xaa'\ +b'\x77\xdd\x77\xdd\x77\xdd\x77\xdd'\ +b'\x18\x18\x18\x18\x18\x18\x18\x18'\ +b'\x18\x18\x18\x18\xf8\x18\x18\x18'\ +b'\x18\x18\xf8\x18\xf8\x18\x18\x18'\ +b'\x36\x36\x36\x36\xf6\x36\x36\x36'\ +b'\x00\x00\x00\x00\xfe\x36\x36\x36'\ +b'\x00\x00\xf8\x18\xf8\x18\x18\x18'\ +b'\x36\x36\xf6\x06\xf6\x36\x36\x36'\ +b'\x36\x36\x36\x36\x36\x36\x36\x36'\ +b'\x00\x00\xfe\x06\xf6\x36\x36\x36'\ +b'\x36\x36\xf6\x06\xfe\x00\x00\x00'\ +b'\x36\x36\x36\x36\xfe\x00\x00\x00'\ +b'\x18\x18\xf8\x18\xf8\x00\x00\x00'\ +b'\x00\x00\x00\x00\xf8\x18\x18\x18'\ +b'\x18\x18\x18\x18\x1f\x00\x00\x00'\ +b'\x18\x18\x18\x18\xff\x00\x00\x00'\ +b'\x00\x00\x00\x00\xff\x18\x18\x18'\ +b'\x18\x18\x18\x18\x1f\x18\x18\x18'\ +b'\x00\x00\x00\x00\xff\x00\x00\x00'\ +b'\x18\x18\x18\x18\xff\x18\x18\x18'\ +b'\x18\x18\x1f\x18\x1f\x18\x18\x18'\ +b'\x36\x36\x36\x36\x37\x36\x36\x36'\ +b'\x36\x36\x37\x30\x3f\x00\x00\x00'\ +b'\x00\x00\x3f\x30\x37\x36\x36\x36'\ +b'\x36\x36\xf7\x00\xff\x00\x00\x00'\ +b'\x00\x00\xff\x00\xf7\x36\x36\x36'\ +b'\x36\x36\x37\x30\x37\x36\x36\x36'\ +b'\x00\x00\xff\x00\xff\x00\x00\x00'\ +b'\x36\x36\xf7\x00\xf7\x36\x36\x36'\ +b'\x18\x18\xff\x00\xff\x00\x00\x00'\ +b'\x36\x36\x36\x36\xff\x00\x00\x00'\ +b'\x00\x00\xff\x00\xff\x18\x18\x18'\ +b'\x00\x00\x00\x00\xff\x36\x36\x36'\ +b'\x36\x36\x36\x36\x3f\x00\x00\x00'\ +b'\x18\x18\x1f\x18\x1f\x00\x00\x00'\ +b'\x00\x00\x1f\x18\x1f\x18\x18\x18'\ +b'\x00\x00\x00\x00\x3f\x36\x36\x36'\ +b'\x36\x36\x36\x36\xff\x36\x36\x36'\ +b'\x18\x18\xff\x18\xff\x18\x18\x18'\ +b'\x18\x18\x18\x18\xf8\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1f\x18\x18\x18'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\xff\xff\xff\xff'\ +b'\xf0\xf0\xf0\xf0\xf0\xf0\xf0\xf0'\ +b'\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f'\ +b'\xff\xff\xff\xff\x00\x00\x00\x00'\ +b'\x00\x00\x76\xdc\xc8\xdc\x76\x00'\ +b'\x78\xcc\xcc\xd8\xcc\xc6\xcc\x00'\ +b'\xfe\xc6\xc0\xc0\xc0\xc0\xc0\x00'\ +b'\x00\x00\xfe\x6c\x6c\x6c\x6c\x00'\ +b'\xfe\xc6\x60\x30\x60\xc6\xfe\x00'\ +b'\x00\x00\x7e\xd8\xd8\xd8\x70\x00'\ +b'\x00\x00\x66\x66\x66\x66\x7c\xc0'\ +b'\x00\x76\xdc\x18\x18\x18\x18\x00'\ +b'\x7e\x18\x3c\x66\x66\x3c\x18\x7e'\ +b'\x38\x6c\xc6\xfe\xc6\x6c\x38\x00'\ +b'\x38\x6c\xc6\xc6\x6c\x6c\xee\x00'\ +b'\x0e\x18\x0c\x3e\x66\x66\x3c\x00'\ +b'\x00\x00\x7e\xdb\xdb\x7e\x00\x00'\ +b'\x06\x0c\x7e\xdb\xdb\x7e\x60\xc0'\ +b'\x1e\x30\x60\x7e\x60\x30\x1e\x00'\ +b'\x00\x7c\xc6\xc6\xc6\xc6\xc6\x00'\ +b'\x00\xfe\x00\xfe\x00\xfe\x00\x00'\ +b'\x18\x18\x7e\x18\x18\x00\x7e\x00'\ +b'\x30\x18\x0c\x18\x30\x00\x7e\x00'\ +b'\x0c\x18\x30\x18\x0c\x00\x7e\x00'\ +b'\x0e\x1b\x1b\x18\x18\x18\x18\x18'\ +b'\x18\x18\x18\x18\x18\xd8\xd8\x70'\ +b'\x00\x18\x00\x7e\x00\x18\x00\x00'\ +b'\x00\x76\xdc\x00\x76\xdc\x00\x00'\ +b'\x38\x6c\x6c\x38\x00\x00\x00\x00'\ +b'\x00\x00\x00\x18\x18\x00\x00\x00'\ +b'\x00\x00\x00\x18\x00\x00\x00\x00'\ +b'\x0f\x0c\x0c\x0c\xec\x6c\x3c\x1c'\ +b'\x6c\x36\x36\x36\x36\x00\x00\x00'\ +b'\x78\x0c\x18\x30\x7c\x00\x00\x00'\ +b'\x00\x00\x3c\x3c\x3c\x3c\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00'\ + +FONT = memoryview(_FONT) diff --git a/fonts/vga2_bold_16x16.py b/fonts/vga2_bold_16x16.py new file mode 100644 index 0000000..d3acadc --- /dev/null +++ b/fonts/vga2_bold_16x16.py @@ -0,0 +1,264 @@ +WIDTH = 16 +HEIGHT = 16 +FIRST = 0 +LAST = 255 +_FONT = \ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x60\x06\xc0\x03\xcc\x33\xc0\x03\xc0\x03\xcf\xf3\xc3\xc3\xc0\x03\x60\x06\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x7f\xfe\xff\xff\xf3\xcf\xff\xff\xff\xff\xf0\x0f\xfc\x3f\xff\xff\x7f\xfe\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1e\x78\x3f\xfc\x7f\xfe\x7f\xfe\x7f\xfe\x3f\xfc\x1f\xf8\x07\xe0\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x01\x80\x03\xc0\x07\xe0\x0f\xf0\x1f\xf8\x0f\xf0\x07\xe0\x03\xc0\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x07\xe0\x07\xe0\x3c\x3c\x7c\x3e\x7c\x3e\x3c\x3c\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x0f\xf0\x3f\xfc\xff\xff\xff\xff\xff\xff\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x0f\xf0\x0f\xf0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x3f\xf0\x0f\xf0\x0f\xfc\x3f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x3c\x3c\x30\x0c\x30\x0c\x3c\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x0f\xc3\xc3\xcf\xf3\xcf\xf3\xc3\xc3\xf0\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x1f\x00\x3f\x00\x7b\x07\xf0\x1e\x78\x3c\x3c\x3c\x3c\x1e\x78\x07\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xe0\x1e\x78\x3c\x3c\x3c\x3c\x1e\x78\x07\xe0\x03\xc0\x03\xc0\x3f\xfc\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xff\x0f\x0f\x0f\xff\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\x00\x7f\x00\x3e\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1f\xfe\x1e\x1e\x1f\xfe\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3e\x3e\x7e\x7e\x3c\x3c\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\xf3\xcf\x0f\xf0\xfc\x3f\x0f\xf0\xf3\xcf\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x30\x00\x3c\x00\x3f\x00\x3f\xc0\x3f\xf0\x3f\xfc\x3f\xf0\x3f\xc0\x3f\x00\x3c\x00\x30\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x0c\x00\x3c\x00\xfc\x03\xfc\x0f\xfc\x3f\xfc\x0f\xfc\x03\xfc\x00\xfc\x00\x3c\x00\x0c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x0f\xf0\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x0f\xf0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x00\x00\x0f\x0f\x0f\x0f\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xff\xf3\xcf\xf3\xcf\xf3\xcf\xf3\xcf\x3f\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x0f\xfc\x3c\x0f\x0f\x00\x03\xf0\x0f\x3c\x3c\x0f\x3c\x0f\x0f\x3c\x03\xf0\x00\x3c\x3c\x0f\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\x3f\xff\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x0f\xf0\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x0f\xf0\x03\xc0\x3f\xfc\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x0f\xf0\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x0f\xf0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\x3c\x3f\xff\x00\x3c\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x0f\x00\x3f\xff\x0f\x00\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x30\x3c\x3c\xff\xff\x3c\x3c\x0c\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x03\xc0\x07\xe0\x0f\xf0\x1f\xf8\x3f\xfc\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x3f\xfc\x1f\xf8\x0f\xf0\x07\xe0\x03\xc0\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x07\xe0\x0f\xf0\x0f\xf0\x0f\xf0\x07\xe0\x03\xc0\x03\xc0\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x3c\x3c\x3c\x1c\x38\x0c\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x07\xe0\x1e\x78\x3c\x3c\x3c\x00\x1e\x00\x07\xe0\x00\x78\x00\x3c\x3c\x3c\x1e\x78\x07\xe0\x03\xc0\x03\xc0\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x78\x00\xf0\x01\xe0\x03\xc0\x07\x80\x0f\x00\x1e\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xc0\x1e\xf0\x3c\x78\x1e\xf0\x07\xc0\x0f\x9e\x3f\xfc\x78\xf8\x78\x78\x3c\xfc\x0f\x9e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x0f\x00\x0f\x00\x0f\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xe0\x03\xc0\x07\x80\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x07\x80\x03\xc0\x01\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xe0\x00\xf0\x00\x78\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x78\x00\xf0\x01\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x0f\xf0\x7f\xfe\x0f\xf0\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x7f\xfe\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\x80\x07\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x78\x00\xf0\x01\xe0\x03\xc0\x07\x80\x0f\x00\x1e\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xe0\x1e\x78\x3c\x3c\x3c\x7c\x3c\xfc\x3d\xbc\x3f\x3c\x3e\x3c\x3c\x3c\x1e\x78\x07\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x0f\xc0\x3f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xe0\x3c\x78\x00\x3c\x00\x3c\x00\x78\x00\xf0\x03\xc0\x0f\x00\x1e\x00\x3c\x3c\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x3c\x3c\x00\x1e\x00\x1e\x00\x3c\x03\xf0\x00\x3c\x00\x1e\x00\x1e\x3c\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xf0\x03\xf0\x07\xf0\x0f\xf0\x1e\xf0\x3c\xf0\x3f\xfc\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x00\x3c\x00\x1e\x00\x1e\x00\x1e\x3c\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x3c\x3c\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x3c\x3c\x00\x3c\x00\x78\x00\xf0\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x1e\x1e\x07\xfe\x00\x1e\x00\x1e\x00\x1e\x00\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xe0\x03\xc0\x07\x80\x0f\x00\x1e\x00\x3c\x00\x1e\x00\x0f\x00\x07\x80\x03\xc0\x01\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\x80\x03\xc0\x01\xe0\x00\xf0\x00\x78\x00\x3c\x00\x78\x00\xf0\x01\xe0\x03\xc0\x07\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xe0\x1e\x78\x3c\x3c\x00\x78\x00\xf0\x01\xe0\x03\xc0\x03\xc0\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xfc\x3c\x1e\x78\x1e\x79\xfe\x7b\x8e\x7b\x8e\x7b\x8e\x79\xfc\x78\x00\x3c\x00\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x07\xe0\x0f\xf0\x1e\x78\x3c\x3c\x3c\x3c\x3f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x3c\x1f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x3c\x7f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x7f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xfe\x1e\x0e\x1e\x06\x1e\x00\x1e\x60\x1f\xe0\x1e\x60\x1e\x00\x1e\x06\x1e\x0e\x7f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xfe\x1e\x0e\x1e\x06\x1e\x00\x1e\x60\x1f\xe0\x1e\x60\x1e\x00\x1e\x00\x1e\x00\x7f\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x7e\x3c\x1e\x3c\x1e\x1e\x3e\x07\xf6\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xfe\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xfe\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x3c\x78\x1f\xf0\x07\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7e\x3c\x1e\x78\x1e\xf0\x1f\xe0\x1f\xc0\x1f\xc0\x1f\xe0\x1e\xf0\x1e\x78\x1e\x3c\x7e\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\x80\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x06\x1e\x0e\x7f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x78\x1e\x7c\x3e\x7e\x7e\x7f\xfe\x7b\xde\x79\x9e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3e\x1e\x3f\x1e\x3f\x9e\x3d\xde\x3c\xfe\x3c\x7e\x3c\x3e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x3c\x1f\xf0\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x7f\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3d\xde\x3c\xfe\x1e\x7c\x07\xf8\x00\x1c\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xf0\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x3c\x1f\xf0\x1f\xe0\x1e\xf0\x1e\x78\x1e\x3c\x7e\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x3c\x3c\x78\x1e\x3c\x00\x0f\x00\x03\xc0\x00\xf0\x00\x3c\x78\x1e\x3c\x3c\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x7f\xfe\x73\xce\x63\xc6\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x0f\xf0\x07\xe0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x79\x9e\x7b\xde\x7f\xfe\x3e\x7c\x1c\x38\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x1e\x78\x0f\xf0\x07\xe0\x03\xc0\x07\xe0\x0f\xf0\x1e\x78\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x0f\xf0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x38\x3c\x30\x78\x00\xf0\x01\xe0\x03\xc0\x07\x80\x0f\x00\x1e\x0c\x3c\x1c\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x3c\x00\x1e\x00\x0f\x00\x07\x80\x03\xc0\x01\xe0\x00\xf0\x00\x78\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x07\xe0\x0f\xf0\x1e\x78\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00'\ +b'\x03\xc0\x03\xc0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xe0\x00\x78\x0f\xf8\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\xf0\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x3c\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x1e\x0f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\xf8\x00\x78\x00\x78\x00\x78\x07\xf8\x1e\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x3c\x1e\x3c\x1e\x3f\xfe\x3c\x00\x3c\x1e\x0f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xf0\x0f\x3c\x0f\x0c\x0f\x00\x0f\x00\x3f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x9e\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\xf8\x00\x78\x3c\x78\x0f\xe0\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x78\x0f\x9e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x3f\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x00\x00\x03\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x00\x00\xfc\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x3c\x3c\x1e\x78\x07\xe0\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x1e\x0f\x3c\x0f\x78\x0f\xf0\x0f\x78\x0f\x3c\x3f\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x7c\x7f\xfe\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf8\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf0\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x3c\x0f\xf0\x0f\x00\x0f\x00\x3f\xc0\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x1e\x78\x3c\x78\x3c\x78\x1e\x78\x07\xf8\x00\x78\x00\x78\x00\xfe\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf8\x0f\x9e\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x3c\x1e\x3c\x00\x0f\xf8\x00\x1e\x3c\x1e\x0f\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\x80\x03\x80\x07\x80\x07\x80\x7f\xf8\x07\x80\x07\x80\x07\x80\x07\x80\x07\x9e\x01\xf8\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x1e\x78\x07\xe0\x01\x80\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x79\x9e\x7b\xde\x3f\xfc\x1e\x78\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x0e\x70\x07\xe0\x03\xc0\x07\xe0\x0e\x70\x3c\x3c\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x07\xfe\x00\x1e\x00\x3c\x0f\xf0\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3c\x3c\x00\xf0\x03\xc0\x0f\x00\x3c\x3c\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xfc\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x3f\x80\x03\xc0\x03\xc0\x03\xc0\x01\xe0\x00\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x07\x80\x03\xc0\x03\xc0\x03\xc0\x01\xfc\x03\xc0\x03\xc0\x03\xc0\x07\x80\x3f\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\x9e\x3c\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x03\xf0\x0f\x3c\x3c\x0f\x3c\x0f\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf8\x1e\x1e\x3c\x06\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x06\x1e\x1e\x07\xf8\x00\x78\x00\x1e\x0f\xf8\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x3c\x00\xf0\x03\xc0\x00\x00\x0f\xfc\x3c\x0f\x3c\x0f\x3f\xff\x3c\x00\x3c\x0f\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc0\x03\xf0\x0f\x3c\x00\x00\x0f\xf0\x00\x3c\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x00\x00\x0f\xf0\x00\x3c\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\x00\x03\xc0\x00\xf0\x00\x00\x0f\xf0\x00\x3c\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xf0\x0f\x3c\x03\xf0\x00\x00\x0f\xf0\x00\x3c\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x3c\x3c\x3c\x00\x3c\x00\x3c\x3c\x0f\xf0\x00\xf0\x00\x3c\x0f\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xc0\x03\xf0\x0f\x3c\x00\x00\x0f\xfc\x3c\x0f\x3c\x0f\x3f\xff\x3c\x00\x3c\x0f\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x00\x00\x0f\xfc\x3c\x0f\x3c\x0f\x3f\xff\x3c\x00\x3c\x0f\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\x00\x03\xc0\x00\xf0\x00\x00\x0f\xfc\x3c\x0f\x3c\x0f\x3f\xff\x3c\x00\x3c\x0f\x0f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x00\x00\x0f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x0f\xf0\x3c\x3c\x00\x00\x0f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x00\x0f\x00\x03\xc0\x00\x00\x0f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x0f\x3c\x0f\x00\xc0\x03\xf0\x0f\x3c\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3c\x0f\x3c\x0f\x3c\x0f\x00\x00\x00\x00\x00\x00'\ +b'\x03\xf0\x0f\x3c\x03\xf0\x00\x00\x03\xf0\x0f\x3c\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3c\x0f\x3c\x0f\x3c\x0f\x00\x00\x00\x00\x00\x00'\ +b'\x00\xf0\x03\xc0\x0f\x00\x00\x00\x3f\xff\x0f\x0f\x0f\x00\x0f\x00\x0f\xfc\x0f\x00\x0f\x00\x0f\x0f\x3f\xff\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x03\xcf\x03\xcf\x7f\xfe\xf3\xc0\xf3\xc0\x7f\xff\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xff\x0f\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3f\xff\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3f\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x01\x80\x07\xe0\x1e\x78\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\x00\x03\xc0\x00\xf0\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x0f\xf0\x3c\x3c\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\x00\x03\xc0\x00\xf0\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x07\xfe\x00\x1e\x00\x3c\x0f\xf0\x00\x00'\ +b'\x00\x00\x3c\x1e\x3c\x1e\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x3c\x1e\x3c\x1e\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x03\xc0\x1f\xf8\x78\x1e\x78\x00\x78\x00\x78\x00\x78\x1e\x1f\xf8\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xf0\x0f\x3c\x0f\x0c\x0f\x00\x3f\xc0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\x0f\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x78\x1e\x1e\x78\x07\xe0\x03\xc0\x03\xc0\x7f\xfe\x03\xc0\x7f\xfe\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\xff\xf0\x3c\x3c\x3c\x3c\x3f\xf0\x3c\x0c\x3c\x3c\x3c\xff\x3c\x3c\x3c\x3c\x3c\x3c\xff\x0f\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xfc\x03\xcf\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xf3\xc0\x3f\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xf0\x03\xc0\x0f\x00\x00\x00\x0f\xf0\x00\x3c\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xf0\x03\xc0\x0f\x00\x00\x00\x0f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xf0\x03\xc0\x0f\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xf0\x03\xc0\x0f\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x1f\x9e\x79\xf8\x00\x00\x79\xf8\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x1f\x9e\x79\xf8\x00\x00\x78\x1e\x78\x1e\x7e\x1e\x7f\x9e\x7f\xfe\x79\xfe\x78\x7e\x78\x1e\x78\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x3c\xf0\x3c\xf0\x0f\xfc\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xc0\x3c\xf0\x3c\xf0\x0f\xc0\x00\x00\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x03\xc0\x03\xc0\x03\xc0\x07\x80\x1e\x00\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3c\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x00\x0f\x00\x0f\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x00\xfc\x00\x3c\x0f\x3c\x3c\x3c\xf0\x03\xc0\x0f\x00\x3c\xfc\xf0\x0f\x00\x3c\x00\xf0\x03\xff\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x00\xfc\x00\x3c\x0f\x3c\x3c\x3c\xf0\x03\xc0\x0f\x0f\x3c\x3f\xf0\xe7\x03\xff\x00\x0f\x00\x0f\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x03\xc0\x03\xc0\x07\xe0\x0f\xf0\x0f\xf0\x0f\xf0\x07\xe0\x03\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xcf\x0f\x3c\x3c\xf0\x0f\x3c\x03\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf0\x0f\x3c\x03\xcf\x0f\x3c\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30\x03\x03\x30\x30'\ +b'\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc\x33\x33\xcc\xcc'\ +b'\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f\xf3\xf3\x3f\x3f'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xc0\x03\xc0\xff\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xfc\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xc0\x03\xc0\xff\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3c\x00\x3c\xff\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xfc\x00\x3c\xff\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3c\x00\x3c\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xc0\x03\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xff\x03\xc0\x03\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\x0f\x00\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\x0f\x00\x0f\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3f\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\x0f\x00\x0f\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3f\x00\x00\xff\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xff\x03\xc0\x03\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\x03\xc0\x03\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\xff\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xff\x03\xc0\xff\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00'\ +b'\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x1f\xfc\x3c\xf8\x3c\xf0\x3c\xf8\x1f\xfc\x07\x9e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x3c\x1e\x3c\x1e\x3f\xf8\x3c\x1e\x3c\x1e\x3f\xf8\x3c\x00\x3c\x00\x0c\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfe\x3c\x1e\x3c\x00\x0f\x00\x03\xc0\x00\xf0\x03\xc0\x0f\x00\x3c\x00\x3c\x1e\x3f\xfe\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xfe\x1e\x78\x3c\x78\x3c\x78\x3c\x78\x1e\xf0\x07\xc0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\xf8\x0f\x00\x0f\x00\x3c\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xcf\x3c\xfc\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\xfc\x03\xc0\x0f\xf0\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xf0\x03\xc0\x3f\xfc\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xfe\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x07\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xf0\x3c\x3c\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x3c\x3c\x1e\x78\x1e\x78\x1e\x78\x7e\x7e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xfc\x0f\x00\x0f\x00\x03\xc0\x00\xf0\x07\xfc\x1e\x3c\x3c\x3c\x3c\x3c\x1e\x78\x07\xe0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\xf3\xcf\xf3\xcf\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x38\x0f\xf0\x3c\xfc\x79\xde\x7b\x9e\x3f\x3c\x0f\xf0\x1c\x00\x38\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x03\xf0\x0f\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x3c\x00\x3c\x00\x3c\x00\x0f\x00\x03\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x07\xf0\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x7f\xfe\x03\xc0\x03\xc0\x03\xc0\x00\x00\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x0f\x00\x03\xc0\x00\xf0\x00\x3c\x00\xf0\x03\xc0\x0f\x00\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\xf0\x03\xc0\x0f\x00\x3c\x00\x0f\x00\x03\xc0\x00\xf0\x00\x00\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xfc\x03\xcf\x03\xcf\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xf3\xc0\xf3\xc0\x3f\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x7f\xfe\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xcf\x3c\xfc\x00\x00\x0f\xcf\x3c\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x0f\xc0\x3c\xf0\x3c\xf0\x0f\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\xff\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\xfc\xf0\x3c\xf0\x0f\xf0\x03\xf0\x00\xf0\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\xf3\xc0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x3f\x00\xf3\xc0\x03\xc0\x0f\x00\x3c\x00\xf0\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + +FONT = memoryview(_FONT) + diff --git a/fonts/vga2_bold_16x32.py b/fonts/vga2_bold_16x32.py new file mode 100644 index 0000000..0fa3b88 --- /dev/null +++ b/fonts/vga2_bold_16x32.py @@ -0,0 +1,264 @@ +WIDTH = 16 +HEIGHT = 32 +FIRST = 0 +LAST = 255 +_FONT = \ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x60\x06\x60\x06\xc0\x03\xc0\x03\xcc\x33\xcc\x33\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xcf\xf3\xcf\xf3\xc3\xc3\xc3\xc3\xc0\x03\xc0\x03\x60\x06\x60\x06\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x7f\xfe\x7f\xfe\xff\xff\xff\xff\xf3\xcf\xf3\xcf\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x0f\xf0\x0f\xfc\x3f\xfc\x3f\xff\xff\xff\xff\x7f\xfe\x7f\xfe\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x78\x1e\x78\x3f\xfc\x3f\xfc\x7f\xfe\x7f\xfe\x7f\xfe\x7f\xfe\x7f\xfe\x7f\xfe\x3f\xfc\x3f\xfc\x1f\xf8\x1f\xf8\x07\xe0\x07\xe0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x01\x80\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1f\xf8\x1f\xf8\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x07\xe0\x07\xe0\x3c\x3c\x3c\x3c\x7c\x3e\x7c\x3e\x7c\x3e\x7c\x3e\x3c\x3c\x3c\x3c\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x3f\xfc\x3f\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3f\xfc\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x3f\xfc\x3f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xfc\x3f\xfc\x3f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x30\x0c\x30\x0c\x30\x0c\x30\x0c\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x0f\xf0\x0f\xc3\xc3\xc3\xc3\xcf\xf3\xcf\xf3\xcf\xf3\xcf\xf3\xc3\xc3\xc3\xc3\xf0\x0f\xf0\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x7f\x00\x1f\x00\x1f\x00\x3f\x00\x3f\x00\x7b\x00\x7b\x07\xf0\x07\xf0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\x0f\xff\x0f\x0f\x0f\x0f\x0f\xff\x0f\xff\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\x00\x3f\x00\x7f\x00\x7f\x00\x3e\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xfe\x1f\xfe\x1e\x1e\x1e\x1e\x1f\xfe\x1f\xfe\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3e\x1e\x3e\x3e\x7e\x3e\x7e\x7e\x3c\x7e\x3c\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xf3\xcf\xf3\xcf\x0f\xf0\x0f\xf0\xfc\x3f\xfc\x3f\x0f\xf0\x0f\xf0\xf3\xcf\xf3\xcf\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x30\x00\x3c\x00\x3c\x00\x3f\x00\x3f\x00\x3f\xc0\x3f\xc0\x3f\xf0\x3f\xf0\x3f\xfc\x3f\xfc\x3f\xf0\x3f\xf0\x3f\xc0\x3f\xc0\x3f\x00\x3f\x00\x3c\x00\x3c\x00\x30\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0c\x00\x3c\x00\x3c\x00\xfc\x00\xfc\x03\xfc\x03\xfc\x0f\xfc\x0f\xfc\x3f\xfc\x3f\xfc\x0f\xfc\x0f\xfc\x03\xfc\x03\xfc\x00\xfc\x00\xfc\x00\x3c\x00\x3c\x00\x0c\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x3f\xfc\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x3f\xfc\x0f\xf0\x0f\xf0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x00\x00\x00\x00\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\xf3\xcf\xf3\xcf\xf3\xcf\xf3\xcf\xf3\xcf\xf3\xcf\xf3\xcf\xf3\xcf\x3f\xcf\x3f\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x3c\x0f\x3c\x0f\x0f\x00\x0f\x00\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x0f\x3c\x0f\x3c\x03\xf0\x03\xf0\x00\x3c\x00\x3c\x3c\x0f\x3c\x0f\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x3f\xfc\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x3f\xfc\x0f\xf0\x0f\xf0\x03\xc0\x03\xc0\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x3f\xfc\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x3f\xfc\x0f\xf0\x0f\xf0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x00\x3c\x00\x3c\x3f\xff\x3f\xff\x00\x3c\x00\x3c\x00\xf0\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x3f\xff\x3f\xff\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xff\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x30\x0c\x30\x3c\x3c\x3c\x3c\xff\xff\xff\xff\x3c\x3c\x3c\x3c\x0c\x30\x0c\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x01\x80\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1f\xf8\x1f\xf8\x3f\xfc\x3f\xfc\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x3f\xfc\x3f\xfc\x1f\xf8\x1f\xf8\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1c\x38\x1c\x38\x0c\x30\x0c\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x7f\xfe\x7f\xfe\x1c\x38\x1c\x38\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x07\xe0\x07\xe0\x00\x78\x00\x78\x00\x3c\x00\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x78\x3c\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x1e\x3c\x1e\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xc0\x07\xc0\x1e\xf0\x1e\xf0\x3c\x78\x3c\x78\x1e\xf0\x1e\xf0\x07\xc0\x07\xc0\x0f\x9e\x0f\x9e\x3f\xfc\x3f\xfc\x78\xf8\x78\xf8\x78\x78\x78\x78\x3c\xfc\x3c\xfc\x0f\x9e\x0f\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe0\x01\xe0\x00\xf0\x00\xf0\x00\x78\x00\x78\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x7f\xfe\x7f\xfe\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x7f\xfe\x7f\xfe\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\x80\x03\x80\x07\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x7c\x3c\x7c\x3c\xfc\x3c\xfc\x3d\xbc\x3d\xbc\x3f\x3c\x3f\x3c\x3e\x3c\x3e\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xc0\x0f\xc0\x3f\xc0\x3f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xe0\x0f\xe0\x3c\x78\x3c\x78\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x1e\x00\x1e\x00\x3c\x3c\x3c\x3c\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x03\xf0\x03\xf0\x00\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf0\x01\xf0\x03\xf0\x03\xf0\x07\xf0\x07\xf0\x0f\xf0\x0f\xf0\x1e\xf0\x1e\xf0\x3c\xf0\x3c\xf0\x3f\xfc\x3f\xfc\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x03\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x3f\xf0\x00\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x00\x1e\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x3f\xf0\x3c\x3c\x3c\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x3c\x3c\x3c\x3c\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x07\xfe\x07\xfe\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x07\x80\x07\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x0f\x00\x0f\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\xf0\x00\xf0\x00\x78\x00\x78\x00\x3c\x00\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xe0\x07\xe0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x00\x78\x00\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x3c\x1e\x3c\x1e\x78\x1e\x78\x1e\x79\xfe\x79\xfe\x7b\x8e\x7b\x8e\x7b\x8e\x7b\x8e\x7b\x8e\x7b\x8e\x79\xfc\x79\xfc\x78\x00\x78\x00\x3c\x00\x3c\x00\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3f\xfc\x3f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x1f\xf0\x1f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x7f\xf0\x7f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x7f\xf0\x7f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x1e\x0e\x1e\x0e\x1e\x06\x1e\x06\x1e\x00\x1e\x00\x1e\x60\x1e\x60\x1f\xe0\x1f\xe0\x1e\x60\x1e\x60\x1e\x00\x1e\x00\x1e\x06\x1e\x06\x1e\x0e\x1e\x0e\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x1e\x0e\x1e\x0e\x1e\x06\x1e\x06\x1e\x00\x1e\x00\x1e\x60\x1e\x60\x1f\xe0\x1f\xe0\x1e\x60\x1e\x60\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x7f\x80\x7f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x7e\x3c\x7e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3e\x1e\x3e\x07\xf6\x07\xf6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xfe\x3f\xfe\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xfe\x03\xfe\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x3c\x78\x3c\x78\x1f\xf0\x1f\xf0\x07\xc0\x07\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x3c\x7e\x3c\x1e\x78\x1e\x78\x1e\xf0\x1e\xf0\x1f\xe0\x1f\xe0\x1f\xc0\x1f\xc0\x1f\xc0\x1f\xc0\x1f\xe0\x1f\xe0\x1e\xf0\x1e\xf0\x1e\x78\x1e\x78\x1e\x3c\x1e\x3c\x7e\x1e\x7e\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x80\x7f\x80\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x06\x1e\x06\x1e\x0e\x1e\x0e\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x7c\x3e\x7c\x3e\x7e\x7e\x7e\x7e\x7f\xfe\x7f\xfe\x7b\xde\x7b\xde\x79\x9e\x79\x9e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3e\x1e\x3e\x1e\x3f\x1e\x3f\x1e\x3f\x9e\x3f\x9e\x3d\xde\x3d\xde\x3c\xfe\x3c\xfe\x3c\x7e\x3c\x7e\x3c\x3e\x3c\x3e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x1f\xf0\x1f\xf0\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x7f\x80\x7f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3d\xde\x3d\xde\x3c\xfe\x3c\xfe\x1e\x7c\x1e\x7c\x07\xf8\x07\xf8\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\xf0\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x3c\x1e\x3c\x1f\xf0\x1f\xf0\x1f\xe0\x1f\xe0\x1e\xf0\x1e\xf0\x1e\x78\x1e\x78\x1e\x3c\x1e\x3c\x7e\x1e\x7e\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x78\x1e\x78\x1e\x3c\x00\x3c\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x00\x3c\x00\x3c\x78\x1e\x78\x1e\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x73\xce\x73\xce\x63\xc6\x63\xc6\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x79\x9e\x79\x9e\x7b\xde\x7b\xde\x7f\xfe\x7f\xfe\x3e\x7c\x3e\x7c\x1c\x38\x1c\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x38\x3c\x38\x3c\x30\x78\x30\x78\x00\xf0\x00\xf0\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x07\x80\x07\x80\x0f\x00\x0f\x00\x1e\x0c\x1e\x0c\x3c\x1c\x3c\x1c\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x1e\x00\x1e\x00\x0f\x00\x0f\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\xf0\x00\xf0\x00\x78\x00\x78\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x1e\x78\x1e\x78\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x7f\xff\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xe0\x0f\xe0\x00\x78\x00\x78\x0f\xf8\x0f\xf8\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x0f\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\xf0\x0f\xf0\x0f\x3c\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x3c\xf8\x3c\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x1e\x3c\x1e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf8\x01\xf8\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x07\xf8\x07\xf8\x1e\x78\x1e\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x0f\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xfe\x3f\xfe\x3c\x00\x3c\x00\x3c\x1e\x3c\x1e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x0f\x0c\x0f\x0c\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xf0\x3f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x3f\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x9e\x0f\x9e\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\xf8\x0f\xf8\x00\x78\x00\x78\x3c\x78\x3c\x78\x0f\xe0\x0f\xe0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x78\x0f\x78\x0f\x9e\x0f\x9e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x3f\x1e\x3f\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\x00\x00\x00\x03\xf0\x03\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x03\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\xfc\x00\xfc\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x3f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x1e\x0f\x1e\x0f\x3c\x0f\x3c\x0f\x78\x0f\x78\x0f\xf0\x0f\xf0\x0f\x78\x0f\x78\x0f\x3c\x0f\x3c\x3f\x1e\x3f\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x03\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x03\xfc\x03\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x7c\x7e\x7c\x7f\xfe\x7f\xfe\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x7b\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf8\x3c\xf8\x0f\x3c\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf0\x3c\xf0\x0f\x3c\x0f\x3c\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x3c\x0f\x3c\x0f\xf0\x0f\xf0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x3f\xc0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x07\x9e\x1e\x78\x1e\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x1e\x78\x1e\x78\x07\xf8\x07\xf8\x00\x78\x00\x78\x00\x78\x00\x78\x00\xfe\x00\xfe\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf8\x3c\xf8\x0f\x9e\x0f\x9e\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\xc0\x3f\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x0f\xf8\x0f\xf8\x00\x1e\x00\x1e\x3c\x1e\x3c\x1e\x0f\xf8\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x01\x80\x03\x80\x03\x80\x07\x80\x07\x80\x07\x80\x07\x80\x7f\xf8\x7f\xf8\x07\x80\x07\x80\x07\x80\x07\x80\x07\x80\x07\x80\x07\x80\x07\x80\x07\x9e\x07\x9e\x01\xf8\x01\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x0f\x9e\x0f\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x01\x80\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x79\x9e\x79\x9e\x7b\xde\x7b\xde\x3f\xfc\x3f\xfc\x1e\x78\x1e\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x0e\x70\x0e\x70\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0e\x70\x0e\x70\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x07\xfe\x07\xfe\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x3c\x3c\x3c\x3c\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x3c\x3c\x3c\x3c\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\xfc\x01\xe0\x01\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\x80\x3f\x80\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x01\xe0\x01\xe0\x00\xfc\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x3f\x00\x07\x80\x07\x80\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x01\xfc\x01\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x07\x80\x07\x80\x3f\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x9e\x0f\x9e\x3c\xf8\x3c\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\xc0\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf8\x07\xf8\x1e\x1e\x1e\x1e\x3c\x06\x3c\x06\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x06\x3c\x06\x1e\x1e\x1e\x1e\x07\xf8\x07\xf8\x00\x78\x00\x78\x00\x1e\x00\x1e\x0f\xf8\x0f\xf8\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x0f\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3f\xff\x3c\x00\x3c\x00\x3c\x0f\x3c\x0f\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\xc0\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x00\x3c\x00\x3c\x0f\xfc\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x0f\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x00\x3c\x00\x3c\x0f\xfc\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x0f\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x00\x3c\x00\x3c\x0f\xfc\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x0f\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x03\xf0\x03\xf0\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x00\x3c\x00\x3c\x0f\xfc\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x0f\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x00\xf0\x00\xf0\x00\x3c\x00\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\xc0\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3f\xff\x3c\x00\x3c\x00\x3c\x0f\x3c\x0f\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3f\xff\x3c\x00\x3c\x00\x3c\x0f\x3c\x0f\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3f\xff\x3c\x00\x3c\x00\x3c\x0f\x3c\x0f\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x0f\xc0\x0f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x0f\xc0\x0f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x0f\xc0\x0f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x00\xc0\x00\xc0\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3f\xff\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x03\xf0\x03\xf0\x00\x00\x00\x00\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\xff\x3f\xff\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\x0f\x0f\x0f\x0f\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\xfc\x0f\xfc\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x0f\x0f\x0f\x3f\xff\x3f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x7f\xfe\x7f\xfe\xf3\xc0\xf3\xc0\xf3\xc0\xf3\xc0\x7f\xff\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\x03\xff\x0f\x3c\x0f\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3f\xff\x3f\xff\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3f\x3c\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x01\x80\x07\xe0\x07\xe0\x1e\x78\x1e\x78\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x0f\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x0f\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x07\xfe\x07\xfe\x00\x1e\x00\x1e\x00\x3c\x00\x3c\x0f\xf0\x0f\xf0\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x1f\xf8\x1f\xf8\x78\x1e\x78\x1e\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x1e\x78\x1e\x1f\xf8\x1f\xf8\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x03\xf0\x0f\x3c\x0f\x3c\x0f\x0c\x0f\x0c\x0f\x00\x0f\x00\x3f\xc0\x3f\xc0\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3f\x0f\x3f\x0f\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1e\x78\x1e\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x7f\xfe\x7f\xfe\x03\xc0\x03\xc0\x7f\xfe\x7f\xfe\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\xff\xf0\xff\xf0\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3f\xf0\x3f\xf0\x3c\x0c\x3c\x0c\x3c\x3c\x3c\x3c\x3c\xff\x3c\xff\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\xff\x0f\xff\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\xfc\x03\xcf\x03\xcf\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x3f\xfc\x3f\xfc\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xf3\xc0\xf3\xc0\x3f\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x00\x3c\x00\x3c\x0f\xfc\x0f\xfc\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x0f\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x00\x00\x00\x00\x0f\xc0\x0f\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x00\x00\x00\x00\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xcf\x0f\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x9e\x1f\x9e\x79\xf8\x79\xf8\x00\x00\x00\x00\x79\xf8\x79\xf8\x1e\x3c\x1e\x3c\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x1f\x9e\x1f\x9e\x79\xf8\x79\xf8\x00\x00\x00\x00\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x7e\x1e\x7e\x1e\x7f\x9e\x7f\x9e\x7f\xfe\x7f\xfe\x79\xfe\x79\xfe\x78\x7e\x78\x7e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xc0\x0f\xc0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x0f\xc0\x0f\xc0\x00\x00\x00\x00\x3f\xf0\x3f\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x07\x80\x07\x80\x1e\x00\x1e\x00\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x3f\xff\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\xfc\x00\xfc\x00\x3c\x0f\x3c\x0f\x3c\x3c\x3c\x3c\x3c\xf0\x3c\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x3c\xfc\x3c\xfc\xf0\x0f\xf0\x0f\x00\x3c\x00\x3c\x00\xf0\x00\xf0\x03\xff\x03\xff\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3c\x00\xfc\x00\xfc\x00\x3c\x0f\x3c\x0f\x3c\x3c\x3c\x3c\x3c\xf0\x3c\xf0\x03\xc0\x03\xc0\x0f\x0f\x0f\x0f\x3c\x3f\x3c\x3f\xf0\xe7\xf0\xe7\x03\xff\x03\xff\x00\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x07\xe0\x07\xe0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x0f\xf0\x07\xe0\x07\xe0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xcf\x03\xcf\x0f\x3c\x0f\x3c\x3c\xf0\x3c\xf0\x0f\x3c\x0f\x3c\x03\xcf\x03\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xf0\x3c\xf0\x0f\x3c\x0f\x3c\x03\xcf\x03\xcf\x0f\x3c\x0f\x3c\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30\x03\x03\x03\x03\x30\x30\x30\x30'\ +b'\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc\x33\x33\x33\x33\xcc\xcc\xcc\xcc'\ +b'\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f\xf3\xf3\xf3\xf3\x3f\x3f\x3f\x3f'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xc0\xff\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xc0\xff\xc0\x03\xc0\x03\xc0\xff\xc0\xff\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3c\xff\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xfc\xff\xfc\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xc0\xff\xc0\x03\xc0\x03\xc0\xff\xc0\xff\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3c\xff\x3c\x00\x3c\x00\x3c\xff\x3c\xff\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xfc\xff\xfc\x00\x3c\x00\x3c\xff\x3c\xff\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3c\xff\x3c\x00\x3c\x00\x3c\xff\xfc\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\xfc\xff\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xc0\xff\xc0\x03\xc0\x03\xc0\xff\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xc0\xff\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xff\x03\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xff\x03\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xff\xff\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xff\x03\xff\x03\xc0\x03\xc0\x03\xff\x03\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\x0f\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\x0f\x3f\x0f\x00\x0f\x00\x0f\xff\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\x0f\xff\x0f\x00\x0f\x00\x0f\x3f\x0f\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3f\xff\x3f\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\x3f\xff\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3f\x0f\x3f\x0f\x00\x0f\x00\x0f\x3f\x0f\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\x3f\xff\x3f\x00\x00\x00\x00\xff\x3f\xff\x3f\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\xff\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xff\x03\xff\x03\xc0\x03\xc0\x03\xff\x03\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\x03\xff\x03\xc0\x03\xc0\x03\xff\x03\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\x0f\xff\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\xff\xff\xff\xff\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c\x0f\x3c'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xff\xff\xff\x03\xc0\x03\xc0\xff\xff\xff\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xff\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\x03\xff\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\ +b'\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00'\ +b'\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff'\ +b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x9e\x07\x9e\x1f\xfc\x1f\xfc\x3c\xf8\x3c\xf8\x3c\xf0\x3c\xf0\x3c\xf8\x3c\xf8\x1f\xfc\x1f\xfc\x07\x9e\x07\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x0f\xf8\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xf8\x3f\xf8\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xf8\x3f\xf8\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x0c\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x3c\x1e\x3c\x1e\x3c\x00\x3c\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x3c\x00\x3c\x00\x3c\x1e\x3c\x1e\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xfe\x07\xfe\x1e\x78\x1e\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x3c\x78\x1e\xf0\x1e\xf0\x07\xc0\x07\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\x1e\x0f\xf8\x0f\xf8\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x3c\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xcf\x0f\xcf\x3c\xfc\x3c\xfc\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x03\xc0\x03\xc0\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x0f\xf0\x0f\xf0\x03\xc0\x03\xc0\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3f\xfe\x3f\xfe\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x1e\x3c\x1e\x3c\x07\xf0\x07\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf0\x0f\xf0\x3c\x3c\x3c\x3c\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x1e\x78\x7e\x7e\x7e\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xfc\x03\xfc\x0f\x00\x0f\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x07\xfc\x07\xfc\x1e\x3c\x1e\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x3c\x1e\x78\x1e\x78\x07\xe0\x07\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\xf3\xcf\xf3\xcf\xf3\xcf\xf3\xcf\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1c\x00\x38\x00\x38\x0f\xf0\x0f\xf0\x3c\xfc\x3c\xfc\x79\xde\x79\xde\x7b\x9e\x7b\x9e\x3f\x3c\x3f\x3c\x0f\xf0\x0f\xf0\x1c\x00\x1c\x00\x38\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x03\xf0\x03\xf0\x0f\x00\x0f\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3f\xf0\x3f\xf0\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x3c\x00\x0f\x00\x0f\x00\x03\xf0\x03\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xf0\x07\xf0\x1e\x3c\x1e\x3c\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x3c\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x3f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x7f\xfe\x7f\xfe\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x00\x3c\x00\x3c\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\xf0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x3c\x00\x3c\x00\x0f\x00\x0f\x00\x03\xc0\x03\xc0\x00\xf0\x00\xf0\x00\x00\x00\x00\x3f\xfc\x3f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\xfc\x03\xcf\x03\xcf\x03\xcf\x03\xcf\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0'\ +b'\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x03\xc0\xf3\xc0\xf3\xc0\xf3\xc0\xf3\xc0\x3f\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xfe\x7f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xcf\x0f\xcf\x3c\xfc\x3c\xfc\x00\x00\x00\x00\x0f\xcf\x0f\xcf\x3c\xfc\x3c\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x0f\xc0\x0f\xc0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x0f\xc0\x0f\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\xff\x00\xff\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\x00\xf0\xfc\xf0\xfc\xf0\x3c\xf0\x3c\xf0\x0f\xf0\x0f\xf0\x03\xf0\x03\xf0\x00\xf0\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\xf3\xc0\xf3\xc0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x3c\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x3f\x00\x3f\x00\xf3\xc0\xf3\xc0\x03\xc0\x03\xc0\x0f\x00\x0f\x00\x3c\x00\x3c\x00\xf0\xc0\xf0\xc0\xff\xc0\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x0f\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\ +b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' + +FONT = memoryview(_FONT) + diff --git a/fonts/vga_8x16.bin b/fonts/vga_8x16.bin new file mode 100644 index 0000000000000000000000000000000000000000..0f3cbdf6e199ce54e28ba49dafd83ba0ba5c54d9 GIT binary patch literal 4096 zcmZu!y=xpt6dxSeYB?+25(~L;;c{`{yo5yplYb#isznYP7ei2WImoiM8vhSYpCyKmn2$Gn*{W*^$~zs}F!zdJu~h0^Y> zcDu{XZl}00wgWW9ftNfeni$Q>a(G`X%7k&CN^}vh1qdlvm3C zW_EqM?Y6hqvo}nBkc^IwyW^u#@<7>3sLopNupx5*Jca)H>gwu`M+A&Ft}3i^wn$wg z4E#+g6BOwXeVR|fv84Xf8=yCcbfsOYRMwGKU6n`5&1^PP?Y#QbcJ^scKPZZ(@#e9N z;x$EIzMhfaP@59=jrxO7pA0!HwDUhLXIbMeW=)d3b&ZeU!lhYWxwj%#SX)e1sMmyX zl%^7beuI}GOJyO?QiiOLur7C{W}A7C9d9eBg3G;tiL;?By~Klr{L^|Hs@7sb6%)p+ zm_ipo>(e-4cd8S3QYJ~_%bOmScHY6|Ba!b=jQfaQRKOiT+o6NJ#4P*`ks><1w~$Y# z>bO**ci-baTy_sxOFX}U=juEyRYaqRg%15GqVx4N1`F%;dNou34k#fVIVAk|=zxYg z{$B91zCeVt3*De*Yl&Fbb}RI*K7BQPRh`zFFU70sHj-aESN|Y5Sz>c)kD8C66#5Z& zL%-i|U}`#r(Ho)PRt&+O`_y$PCqVVz+;!^@Jo9M@8u45qc9^!29R7^lDP~{lW6+055-#=l2xe_z)BU4ll|FSqt+8 zEYbj4f5L51#C2kR41v^dsX5J4-A^NgdPWK2?xYFqL5vfPc(OCbCo5TwzIlgxb*A6X zA~826_8+}Bs3(NYpg+JLEws@58ESsgMLBTVx08FxT(#cKQf#Q1%<2i zC;k|BhQp-^L#E*l;bFevT$KS8<_DNQj>qkC`5W;Yb8P4HjxzFrQSp~5r2WJG_PF@l zM3Z;uXK-hFx?6!w>jN8rsp`-gi8U54n6!T5GQ z-~KaS!z9OVMvp)t>QefH&V{%>RPQ){L>G_5AHoOzqrsy61>QK-3N^3 zjyUohf7Q&#$3k?5&iGBfI@Uqe6Jg<_jW01l!PqYCIAF#A zvrECh{c-sD>F?p^-`|HHB<^dl9V~9MfR6?4^y$6m2KYYzT@v^`pMSE~-5&ie(b-^( z@&%mzg8nFadJX=m-;X_Aak+>4MPqil?jMi+i?RfMFYoF6e4GV-_3yclho8^$lin2G zPVyoBvkCf{Z)ZO5$p?O=2Y%-J-1DC=3g_z{{#rZm8k;zK3%ZO<)!2uXrg8S>IzmF5{$lNEP zAK}Jw%o2j*yTwm1l?L`r0{p*LjhVx|s$jax50&4~SLfxiS>#U_^yh`wsMqH(!!RKc zaq98WBbumRK%9UKyfTf&0){011b7_kd;iek9Ts}&hkU*JXl*I+SnjOAh~qrXo_W`0 LxfSSnqPPD6Uqait literal 0 HcmV?d00001 diff --git a/fonts/vga_8x8.bin b/fonts/vga_8x8.bin new file mode 100644 index 0000000000000000000000000000000000000000..824b61dede6a4f6f2907386bdd0cc01f64d4d065 GIT binary patch literal 2048 zcmX|Cy=o*!5H1vqlVPQ>VTAN(H^Kiha<&L|EpN0+jzf{On5Db`}_N5#yEoaUbfcO)^2f}s2k36Q{fz{jf9hTvv(&U z@$xZ#zqMZo_QZXt9>~Z6%79~+wXJ5AUCU!xmM6%^e?;wUZ^02SsE+$(B3ZZ+P8`=#1ga2KugJ7*>wL2+tEol2N{Sd~ zCRvstmQ~3DtfQ83iF^q2`5b%+d^QL(W;;W!2^jGXAWsv%YwBz(T5q);?ZXaX#5k}G z`J*9Y{@^SCWp=<8hy0~_?PQ?TsZs;9K_sC7l}wi~C9x2mebyk&eAf2(xk`D~m#H3J z64$EdI&t`E8kZOKWwPgqvOc=sZ~J=Gmjwba&{JW=!z~&H{RVq*r9-oc7t|?t=VXj_ zZ`)fTF6)yzCE-$@{lY+}=;KrmbX3fnxU5T*VTbF7_>?NDZy!taGmZofl-jiIfBtX( zelS!<-JQaJ$_Fze#>f2WNA>uq7Y~eeW9N#gsxj|TQNbCGkCR7F#;ho=D4B#T6Pc_l zcVydL@E=Ft|C`Y+4ooQR5v=fQTanLyOV3w-rss!$(u1OXqD@?F6!{4Bgf}{h{6+ti zQU5{=<0%SHS%5K@EyZpPCZbgel&WHdU~TBO`C{yXg$)l0lDc`@#; zC)#uQ*wb!L)bShc-SV&HRAy~^*ZLOo19LAPB&I*+fAFO)aZk|icX#L)40ur8U>i#! zP8m)f7uy;w5!{qN6?D2`H`d literal 0 HcmV?d00001 diff --git a/lib/st7789py.py b/lib/st7789py.py new file mode 100644 index 0000000..f75375f --- /dev/null +++ b/lib/st7789py.py @@ -0,0 +1,760 @@ +""" +st7789 tft driver in MicroPython based on devbis' st7789py_mpy module from +https://github.com/devbis/st7789py_mpy. + +I added support for display rotation, scrolling and drawing text using 8 and 16 +bit wide bitmap fonts with heights that are multiples of 8. Included are 12 +bitmap fonts derived from classic pc text mode fonts. +""" + +import time +from micropython import const +import ustruct as struct + +# commands +ST7789_NOP = const(0x00) +ST7789_SWRESET = const(0x01) +ST7789_RDDID = const(0x04) +ST7789_RDDST = const(0x09) + +ST7789_SLPIN = const(0x10) +ST7789_SLPOUT = const(0x11) +ST7789_PTLON = const(0x12) +ST7789_NORON = const(0x13) + +ST7789_INVOFF = const(0x20) +ST7789_INVON = const(0x21) +ST7789_DISPOFF = const(0x28) +ST7789_DISPON = const(0x29) +ST7789_CASET = const(0x2A) +ST7789_RASET = const(0x2B) +ST7789_RAMWR = const(0x2C) +ST7789_RAMRD = const(0x2E) + +ST7789_PTLAR = const(0x30) +ST7789_VSCRDEF = const(0x33) +ST7789_COLMOD = const(0x3A) +ST7789_MADCTL = const(0x36) +ST7789_VSCSAD = const(0x37) + +ST7789_MADCTL_MY = const(0x80) +ST7789_MADCTL_MX = const(0x40) +ST7789_MADCTL_MV = const(0x20) +ST7789_MADCTL_ML = const(0x10) +ST7789_MADCTL_BGR = const(0x08) +ST7789_MADCTL_MH = const(0x04) +ST7789_MADCTL_RGB = const(0x00) + +ST7789_RDID1 = const(0xDA) +ST7789_RDID2 = const(0xDB) +ST7789_RDID3 = const(0xDC) +ST7789_RDID4 = const(0xDD) + +COLOR_MODE_65K = const(0x50) +COLOR_MODE_262K = const(0x60) +COLOR_MODE_12BIT = const(0x03) +COLOR_MODE_16BIT = const(0x05) +COLOR_MODE_18BIT = const(0x06) +COLOR_MODE_16M = const(0x07) + +# Color definitions +BLACK = const(0x0000) +BLUE = const(0x001F) +RED = const(0xF800) +GREEN = const(0x07E0) +CYAN = const(0x07FF) +MAGENTA = const(0xF81F) +YELLOW = const(0xFFE0) +WHITE = const(0xFFFF) + +_ENCODE_PIXEL = ">H" +_ENCODE_POS = ">HH" +_DECODE_PIXEL = ">BBB" + +_BUFFER_SIZE = const(256) + +_BIT7 = const(0x80) +_BIT6 = const(0x40) +_BIT5 = const(0x20) +_BIT4 = const(0x10) +_BIT3 = const(0x08) +_BIT2 = const(0x04) +_BIT1 = const(0x02) +_BIT0 = const(0x01) + +def color565(red, green=0, blue=0): + """ + Convert red, green and blue values (0-255) into a 16-bit 565 encoding. + """ + try: + red, green, blue = red # see if the first var is a tuple/list + except TypeError: + pass + return (red & 0xf8) << 8 | (green & 0xfc) << 3 | blue >> 3 + +def _encode_pos(x, y): + """Encode a postion into bytes.""" + return struct.pack(_ENCODE_POS, x, y) + +def _encode_pixel(color): + """Encode a pixel color into bytes.""" + return struct.pack(_ENCODE_PIXEL, color) + +class ST7789(): + """ + ST7789 driver class + + Args: + spi (spi): spi object + width (int): display width + height (int): display height + reset (pin): reset pin + dc (pin): dc pin + cs (pin): cs pin + backlight(pin): backlight pin + xstart (int): display xstart offset + ystart (int): display ystart offset + rotation (int): display rotation + """ + def __init__(self, spi, width, height, reset, dc, cs=None, backlight=None, + xstart=-1, ystart=-1, rotation=0): + """ + Initialize display. + """ + if (width, height) != (240, 240) and (width, height) != (135, 240): + raise ValueError( + "Unsupported display. Only 240x240 and 135x240 are supported." + ) + + self._display_width = self.width = width + self._display_height = self.height = height + self.spi = spi + self.reset = reset + self.dc = dc + self.cs = cs + self.backlight = backlight + self._rotation = rotation % 4 + + self.hard_reset() + self.soft_reset() + self.sleep_mode(False) + + self._set_color_mode(COLOR_MODE_65K|COLOR_MODE_16BIT) + time.sleep_ms(50) + self.rotation(self._rotation) + self.inversion_mode(True) + time.sleep_ms(10) + self.write(ST7789_NORON) + time.sleep_ms(10) + if backlight is not None: + backlight.value(1) + self.fill(0) + self.write(ST7789_DISPON) + time.sleep_ms(500) + + def write(self, command=None, data=None): + """SPI write to the device: commands and data.""" + if self.cs: + self.cs.off() + + if command is not None: + self.dc.off() + self.spi.write(bytes([command])) + if data is not None: + self.dc.on() + self.spi.write(data) + if self.cs: + self.cs.on() + + def hard_reset(self): + """ + Hard reset display. + """ + if self.cs: + self.cs.off() + if self.reset: + self.reset.on() + time.sleep_ms(50) + if self.reset: + self.reset.off() + time.sleep_ms(50) + if self.reset: + self.reset.on() + time.sleep_ms(150) + if self.cs: + self.cs.on() + + def soft_reset(self): + """ + Soft reset display. + """ + self.write(ST7789_SWRESET) + time.sleep_ms(150) + + def sleep_mode(self, value): + """ + Enable or disable display sleep mode. + + Args: + value (bool): if True enable sleep mode. if False disable sleep + mode + """ + if value: + self.write(ST7789_SLPIN) + else: + self.write(ST7789_SLPOUT) + + def inversion_mode(self, value): + """ + Enable or disable display inversion mode. + + Args: + value (bool): if True enable inversion mode. if False disable + inversion mode + """ + if value: + self.write(ST7789_INVON) + else: + self.write(ST7789_INVOFF) + + def _set_color_mode(self, mode): + """ + Set display color mode. + + Args: + mode (int): color mode + COLOR_MODE_65K, COLOR_MODE_262K, COLOR_MODE_12BIT, + COLOR_MODE_16BIT, COLOR_MODE_18BIT, COLOR_MODE_16M + """ + self.write(ST7789_COLMOD, bytes([mode & 0x77])) + + def rotation(self, rotation): + """ + Set display rotation. + + Args: + rotation (int): 0-Portrait, 1-Landscape, 2-Inverted Portrait, + 3-Inverted Landscape + """ + self._rotation = rotation % 4 + if self._rotation == 0: # Portrait + madctl = ST7789_MADCTL_RGB + self.width = self._display_width + self.height = self._display_height + if self._display_width == 135: + self.xstart = 52 + self.ystart = 40 + + elif self._rotation == 1: # Landscape + madctl = ST7789_MADCTL_MX | ST7789_MADCTL_MV | ST7789_MADCTL_RGB + self.width = self._display_height + self.height = self._display_width + if self._display_width == 135: + self.xstart = 40 + self.ystart = 53 + + elif self._rotation == 2: # Inverted Portrait + madctl = ST7789_MADCTL_MX | ST7789_MADCTL_MY | ST7789_MADCTL_RGB + self.width = self._display_width + self.height = self._display_height + if self._display_width == 135: + self.xstart = 53 + self.ystart = 40 + else: # Inverted Landscape + madctl = ST7789_MADCTL_MV | ST7789_MADCTL_MY | ST7789_MADCTL_RGB + self.width = self._display_height + self.height = self._display_width + if self._display_width == 135: + self.xstart = 40 + self.ystart = 52 + + self.write(ST7789_MADCTL, bytes([madctl])) + + def _set_columns(self, start, end): + """ + Send CASET (column address set) command to display. + + Args: + start (int): column start address + end (int): column end address + """ + if start <= end <= self.width: + self.write(ST7789_CASET, _encode_pos( + start+self.xstart, end + self.xstart)) + + def _set_rows(self, start, end): + """ + Send RASET (row address set) command to display. + + Args: + start (int): row start address + end (int): row end address + """ + if start <= end <= self.height: + self.write(ST7789_RASET, _encode_pos( + start+self.ystart, end+self.ystart)) + + def set_window(self, x0, y0, x1, y1): + """ + Set window to column and row address. + + Args: + x0 (int): column start address + y0 (int): row start address + x1 (int): column end address + y1 (int): row end address + """ + self._set_columns(x0, x1) + self._set_rows(y0, y1) + self.write(ST7789_RAMWR) + + def vline(self, x, y, length, color): + """ + Draw vertical line at the given location and color. + + Args: + x (int): x coordinate + Y (int): y coordinate + length (int): length of line + color (int): 565 encoded color + """ + self.fill_rect(x, y, 1, length, color) + + def hline(self, x, y, length, color): + """ + Draw horizontal line at the given location and color. + + Args: + x (int): x coordinate + Y (int): y coordinate + length (int): length of line + color (int): 565 encoded color + """ + self.fill_rect(x, y, length, 1, color) + + def pixel(self, x, y, color): + """ + Draw a pixel at the given location and color. + + Args: + x (int): x coordinate + Y (int): y coordinate + color (int): 565 encoded color + """ + self.set_window(x, y, x, y) + self.write(None, _encode_pixel(color)) + + def blit_buffer(self, buffer, x, y, width, height): + """ + Copy buffer to display at the given location. + + Args: + buffer (bytes): Data to copy to display + x (int): Top left corner x coordinate + Y (int): Top left corner y coordinate + width (int): Width + height (int): Height + """ + self.set_window(x, y, x + width - 1, y + height - 1) + self.write(None, buffer) + + def rect(self, x, y, w, h, color): + """ + Draw a rectangle at the given location, size and color. + + Args: + x (int): Top left corner x coordinate + y (int): Top left corner y coordinate + width (int): Width in pixels + height (int): Height in pixels + color (int): 565 encoded color + """ + self.hline(x, y, w, color) + self.vline(x, y, h, color) + self.vline(x + w - 1, y, h, color) + self.hline(x, y + h - 1, w, color) + + def fill_rect(self, x, y, width, height, color): + """ + Draw a rectangle at the given location, size and filled with color. + + Args: + x (int): Top left corner x coordinate + y (int): Top left corner y coordinate + width (int): Width in pixels + height (int): Height in pixels + color (int): 565 encoded color + """ + self.set_window(x, y, x + width - 1, y + height - 1) + chunks, rest = divmod(width * height, _BUFFER_SIZE) + pixel = _encode_pixel(color) + self.dc.on() + if chunks: + data = pixel * _BUFFER_SIZE + for _ in range(chunks): + self.write(None, data) + if rest: + self.write(None, pixel * rest) + + def fill(self, color): + """ + Fill the entire FrameBuffer with the specified color. + + Args: + color (int): 565 encoded color + """ + self.fill_rect(0, 0, self.width, self.height, color) + + def line(self, x0, y0, x1, y1, color): + """ + Draw a single pixel wide line starting at x0, y0 and ending at x1, y1. + + Args: + x0 (int): Start point x coordinate + y0 (int): Start point y coordinate + x1 (int): End point x coordinate + y1 (int): End point y coordinate + color (int): 565 encoded color + """ + steep = abs(y1 - y0) > abs(x1 - x0) + if steep: + x0, y0 = y0, x0 + x1, y1 = y1, x1 + if x0 > x1: + x0, x1 = x1, x0 + y0, y1 = y1, y0 + dx = x1 - x0 + dy = abs(y1 - y0) + err = dx // 2 + if y0 < y1: + ystep = 1 + else: + ystep = -1 + while x0 <= x1: + if steep: + self.pixel(y0, x0, color) + else: + self.pixel(x0, y0, color) + err -= dy + if err < 0: + y0 += ystep + err += dx + x0 += 1 + + def vscrdef(self, tfa, vsa, bfa): + """ + Set Vertical Scrolling Definition. + + To scroll a 135x240 display these values should be 40, 240, 40. + There are 40 lines above the display that are not shown followed by + 240 lines that are shown followed by 40 more lines that are not shown. + You could write to these areas off display and scroll them into view by + changing the TFA, VSA and BFA values. + + Args: + tfa (int): Top Fixed Area + vsa (int): Vertical Scrolling Area + bfa (int): Bottom Fixed Area + """ + struct.pack(">HHH", tfa, vsa, bfa) + self.write(ST7789_VSCRDEF, struct.pack(">HHH", tfa, vsa, bfa)) + + def vscsad(self, vssa): + """ + Set Vertical Scroll Start Address of RAM. + + Defines which line in the Frame Memory will be written as the first + line after the last line of the Top Fixed Area on the display + + Example: + + for line in range(40, 280, 1): + tft.vscsad(line) + utime.sleep(0.01) + + Args: + vssa (int): Vertical Scrolling Start Address + + """ + self.write(ST7789_VSCSAD, struct.pack(">H", vssa)) + + def _text8(self, font, text, x0, y0, color=WHITE, background=BLACK): + """ + Internal method to write characters with width of 8 and + heights of 8 or 16. + + Args: + font (module): font module to use + text (str): text to write + x0 (int): column to start drawing at + y0 (int): row to start drawing at + color (int): 565 encoded color to use for characters + background (int): 565 encoded color to use for background + """ + for char in text: + ch = ord(char) + if (font.FIRST <= ch < font.LAST + and x0+font.WIDTH <= self.width + and y0+font.HEIGHT <= self.height): + + if font.HEIGHT == 8: + passes = 1 + size = 8 + each = 0 + else: + passes = 2 + size = 16 + each = 8 + + for line in range(passes): + idx = (ch-font.FIRST)*size+(each*line) + buffer = struct.pack('>64H', + color if font.FONT[idx] & _BIT7 else background, + color if font.FONT[idx] & _BIT6 else background, + color if font.FONT[idx] & _BIT5 else background, + color if font.FONT[idx] & _BIT4 else background, + color if font.FONT[idx] & _BIT3 else background, + color if font.FONT[idx] & _BIT2 else background, + color if font.FONT[idx] & _BIT1 else background, + color if font.FONT[idx] & _BIT0 else background, + color if font.FONT[idx+1] & _BIT7 else background, + color if font.FONT[idx+1] & _BIT6 else background, + color if font.FONT[idx+1] & _BIT5 else background, + color if font.FONT[idx+1] & _BIT4 else background, + color if font.FONT[idx+1] & _BIT3 else background, + color if font.FONT[idx+1] & _BIT2 else background, + color if font.FONT[idx+1] & _BIT1 else background, + color if font.FONT[idx+1] & _BIT0 else background, + color if font.FONT[idx+2] & _BIT7 else background, + color if font.FONT[idx+2] & _BIT6 else background, + color if font.FONT[idx+2] & _BIT5 else background, + color if font.FONT[idx+2] & _BIT4 else background, + color if font.FONT[idx+2] & _BIT3 else background, + color if font.FONT[idx+2] & _BIT2 else background, + color if font.FONT[idx+2] & _BIT1 else background, + color if font.FONT[idx+2] & _BIT0 else background, + color if font.FONT[idx+3] & _BIT7 else background, + color if font.FONT[idx+3] & _BIT6 else background, + color if font.FONT[idx+3] & _BIT5 else background, + color if font.FONT[idx+3] & _BIT4 else background, + color if font.FONT[idx+3] & _BIT3 else background, + color if font.FONT[idx+3] & _BIT2 else background, + color if font.FONT[idx+3] & _BIT1 else background, + color if font.FONT[idx+3] & _BIT0 else background, + color if font.FONT[idx+4] & _BIT7 else background, + color if font.FONT[idx+4] & _BIT6 else background, + color if font.FONT[idx+4] & _BIT5 else background, + color if font.FONT[idx+4] & _BIT4 else background, + color if font.FONT[idx+4] & _BIT3 else background, + color if font.FONT[idx+4] & _BIT2 else background, + color if font.FONT[idx+4] & _BIT1 else background, + color if font.FONT[idx+4] & _BIT0 else background, + color if font.FONT[idx+5] & _BIT7 else background, + color if font.FONT[idx+5] & _BIT6 else background, + color if font.FONT[idx+5] & _BIT5 else background, + color if font.FONT[idx+5] & _BIT4 else background, + color if font.FONT[idx+5] & _BIT3 else background, + color if font.FONT[idx+5] & _BIT2 else background, + color if font.FONT[idx+5] & _BIT1 else background, + color if font.FONT[idx+5] & _BIT0 else background, + color if font.FONT[idx+6] & _BIT7 else background, + color if font.FONT[idx+6] & _BIT6 else background, + color if font.FONT[idx+6] & _BIT5 else background, + color if font.FONT[idx+6] & _BIT4 else background, + color if font.FONT[idx+6] & _BIT3 else background, + color if font.FONT[idx+6] & _BIT2 else background, + color if font.FONT[idx+6] & _BIT1 else background, + color if font.FONT[idx+6] & _BIT0 else background, + color if font.FONT[idx+7] & _BIT7 else background, + color if font.FONT[idx+7] & _BIT6 else background, + color if font.FONT[idx+7] & _BIT5 else background, + color if font.FONT[idx+7] & _BIT4 else background, + color if font.FONT[idx+7] & _BIT3 else background, + color if font.FONT[idx+7] & _BIT2 else background, + color if font.FONT[idx+7] & _BIT1 else background, + color if font.FONT[idx+7] & _BIT0 else background + ) + self.blit_buffer(buffer, x0, y0+8*line, 8, 8) + + x0 += 8 + + def _text16(self, font, text, x0, y0, color=WHITE, background=BLACK): + """ + Internal method to draw characters with width of 16 and heights of 16 + or 32. + + Args: + font (module): font module to use + text (str): text to write + x0 (int): column to start drawing at + y0 (int): row to start drawing at + color (int): 565 encoded color to use for characters + background (int): 565 encoded color to use for background + """ + for char in text: + ch = ord(char) + if (font.FIRST <= ch < font.LAST + and x0+font.WIDTH <= self.width + and y0+font.HEIGHT <= self.height): + + if font.HEIGHT == 16: + passes = 2 + size = 32 + each = 16 + else: + passes = 4 + size = 64 + each = 16 + + for line in range(passes): + idx = (ch-font.FIRST)*size+(each*line) + buffer = struct.pack('>128H', + color if font.FONT[idx] & _BIT7 else background, + color if font.FONT[idx] & _BIT6 else background, + color if font.FONT[idx] & _BIT5 else background, + color if font.FONT[idx] & _BIT4 else background, + color if font.FONT[idx] & _BIT3 else background, + color if font.FONT[idx] & _BIT2 else background, + color if font.FONT[idx] & _BIT1 else background, + color if font.FONT[idx] & _BIT0 else background, + color if font.FONT[idx+1] & _BIT7 else background, + color if font.FONT[idx+1] & _BIT6 else background, + color if font.FONT[idx+1] & _BIT5 else background, + color if font.FONT[idx+1] & _BIT4 else background, + color if font.FONT[idx+1] & _BIT3 else background, + color if font.FONT[idx+1] & _BIT2 else background, + color if font.FONT[idx+1] & _BIT1 else background, + color if font.FONT[idx+1] & _BIT0 else background, + color if font.FONT[idx+2] & _BIT7 else background, + color if font.FONT[idx+2] & _BIT6 else background, + color if font.FONT[idx+2] & _BIT5 else background, + color if font.FONT[idx+2] & _BIT4 else background, + color if font.FONT[idx+2] & _BIT3 else background, + color if font.FONT[idx+2] & _BIT2 else background, + color if font.FONT[idx+2] & _BIT1 else background, + color if font.FONT[idx+2] & _BIT0 else background, + color if font.FONT[idx+3] & _BIT7 else background, + color if font.FONT[idx+3] & _BIT6 else background, + color if font.FONT[idx+3] & _BIT5 else background, + color if font.FONT[idx+3] & _BIT4 else background, + color if font.FONT[idx+3] & _BIT3 else background, + color if font.FONT[idx+3] & _BIT2 else background, + color if font.FONT[idx+3] & _BIT1 else background, + color if font.FONT[idx+3] & _BIT0 else background, + color if font.FONT[idx+4] & _BIT7 else background, + color if font.FONT[idx+4] & _BIT6 else background, + color if font.FONT[idx+4] & _BIT5 else background, + color if font.FONT[idx+4] & _BIT4 else background, + color if font.FONT[idx+4] & _BIT3 else background, + color if font.FONT[idx+4] & _BIT2 else background, + color if font.FONT[idx+4] & _BIT1 else background, + color if font.FONT[idx+4] & _BIT0 else background, + color if font.FONT[idx+5] & _BIT7 else background, + color if font.FONT[idx+5] & _BIT6 else background, + color if font.FONT[idx+5] & _BIT5 else background, + color if font.FONT[idx+5] & _BIT4 else background, + color if font.FONT[idx+5] & _BIT3 else background, + color if font.FONT[idx+5] & _BIT2 else background, + color if font.FONT[idx+5] & _BIT1 else background, + color if font.FONT[idx+5] & _BIT0 else background, + color if font.FONT[idx+6] & _BIT7 else background, + color if font.FONT[idx+6] & _BIT6 else background, + color if font.FONT[idx+6] & _BIT5 else background, + color if font.FONT[idx+6] & _BIT4 else background, + color if font.FONT[idx+6] & _BIT3 else background, + color if font.FONT[idx+6] & _BIT2 else background, + color if font.FONT[idx+6] & _BIT1 else background, + color if font.FONT[idx+6] & _BIT0 else background, + color if font.FONT[idx+7] & _BIT7 else background, + color if font.FONT[idx+7] & _BIT6 else background, + color if font.FONT[idx+7] & _BIT5 else background, + color if font.FONT[idx+7] & _BIT4 else background, + color if font.FONT[idx+7] & _BIT3 else background, + color if font.FONT[idx+7] & _BIT2 else background, + color if font.FONT[idx+7] & _BIT1 else background, + color if font.FONT[idx+7] & _BIT0 else background, + color if font.FONT[idx+8] & _BIT7 else background, + color if font.FONT[idx+8] & _BIT6 else background, + color if font.FONT[idx+8] & _BIT5 else background, + color if font.FONT[idx+8] & _BIT4 else background, + color if font.FONT[idx+8] & _BIT3 else background, + color if font.FONT[idx+8] & _BIT2 else background, + color if font.FONT[idx+8] & _BIT1 else background, + color if font.FONT[idx+8] & _BIT0 else background, + color if font.FONT[idx+9] & _BIT7 else background, + color if font.FONT[idx+9] & _BIT6 else background, + color if font.FONT[idx+9] & _BIT5 else background, + color if font.FONT[idx+9] & _BIT4 else background, + color if font.FONT[idx+9] & _BIT3 else background, + color if font.FONT[idx+9] & _BIT2 else background, + color if font.FONT[idx+9] & _BIT1 else background, + color if font.FONT[idx+9] & _BIT0 else background, + color if font.FONT[idx+10] & _BIT7 else background, + color if font.FONT[idx+10] & _BIT6 else background, + color if font.FONT[idx+10] & _BIT5 else background, + color if font.FONT[idx+10] & _BIT4 else background, + color if font.FONT[idx+10] & _BIT3 else background, + color if font.FONT[idx+10] & _BIT2 else background, + color if font.FONT[idx+10] & _BIT1 else background, + color if font.FONT[idx+10] & _BIT0 else background, + color if font.FONT[idx+11] & _BIT7 else background, + color if font.FONT[idx+11] & _BIT6 else background, + color if font.FONT[idx+11] & _BIT5 else background, + color if font.FONT[idx+11] & _BIT4 else background, + color if font.FONT[idx+11] & _BIT3 else background, + color if font.FONT[idx+11] & _BIT2 else background, + color if font.FONT[idx+11] & _BIT1 else background, + color if font.FONT[idx+11] & _BIT0 else background, + color if font.FONT[idx+12] & _BIT7 else background, + color if font.FONT[idx+12] & _BIT6 else background, + color if font.FONT[idx+12] & _BIT5 else background, + color if font.FONT[idx+12] & _BIT4 else background, + color if font.FONT[idx+12] & _BIT3 else background, + color if font.FONT[idx+12] & _BIT2 else background, + color if font.FONT[idx+12] & _BIT1 else background, + color if font.FONT[idx+12] & _BIT0 else background, + color if font.FONT[idx+13] & _BIT7 else background, + color if font.FONT[idx+13] & _BIT6 else background, + color if font.FONT[idx+13] & _BIT5 else background, + color if font.FONT[idx+13] & _BIT4 else background, + color if font.FONT[idx+13] & _BIT3 else background, + color if font.FONT[idx+13] & _BIT2 else background, + color if font.FONT[idx+13] & _BIT1 else background, + color if font.FONT[idx+13] & _BIT0 else background, + color if font.FONT[idx+14] & _BIT7 else background, + color if font.FONT[idx+14] & _BIT6 else background, + color if font.FONT[idx+14] & _BIT5 else background, + color if font.FONT[idx+14] & _BIT4 else background, + color if font.FONT[idx+14] & _BIT3 else background, + color if font.FONT[idx+14] & _BIT2 else background, + color if font.FONT[idx+14] & _BIT1 else background, + color if font.FONT[idx+14] & _BIT0 else background, + color if font.FONT[idx+15] & _BIT7 else background, + color if font.FONT[idx+15] & _BIT6 else background, + color if font.FONT[idx+15] & _BIT5 else background, + color if font.FONT[idx+15] & _BIT4 else background, + color if font.FONT[idx+15] & _BIT3 else background, + color if font.FONT[idx+15] & _BIT2 else background, + color if font.FONT[idx+15] & _BIT1 else background, + color if font.FONT[idx+15] & _BIT0 else background + ) + self.blit_buffer(buffer, x0, y0+8*line, 16, 8) + x0 += font.WIDTH + + def text(self, font, text, x0, y0, color=WHITE, background=BLACK): + """ + Draw text on display in specified font and colors. 8 and 16 bit wide + fonts are supported. + + Args: + font (module): font module to use. + text (str): text to write + x0 (int): column to start drawing at + y0 (int): row to start drawing at + color (int): 565 encoded color to use for characters + background (int): 565 encoded color to use for background + """ + if font.WIDTH == 8: + self._text8(font, text, x0, y0, color, background) + else: + self._text16(font, text, x0, y0, color, background) diff --git a/utils/font_from_romfont.py b/utils/font_from_romfont.py new file mode 100755 index 0000000..c25042f --- /dev/null +++ b/utils/font_from_romfont.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python +""" +Convert fonts from the font-bin directory of spacerace's +https://github.com/spacerace/romfont repo. + +Reads all romfont bin files from the specified -input-directory (-i) and writes +python font files to the specified -output-directory (-o). Optionally limiting +characters included to -first-char (-f) thru -last-char (-l). + +Example: + + font_from_romfont -i font-bin -o pyfont -f 32 -l 127 + +requires argparse +""" +import os +import re +import argparse + +def convert_font(file_in, file_out, width, height, first=0x0, last=0xff): + chunk_size = height + with open(file_in, "rb") as bin_file: + bin_file.seek(first * height) + current = first + with open(file_out, 'wt') as font_file: + print(f'"""converted from {file_in} """', file=font_file) + print(f'WIDTH = {width}', file=font_file) + print(f'HEIGHT = {height}', file=font_file) + print(f'FIRST = 0x{first:02x}', file=font_file) + print(f'LAST = 0x{last:02x}', file=font_file) + print(f'_FONT =\\\n', sep='', end='', file=font_file) + for chunk in iter(lambda: bin_file.read(chunk_size), b''): + print('b\'', sep='', end='', file=font_file) + for data in chunk: + print(f'\\x{data:02x}', end='', file=font_file) + print('\'\\', file=font_file) + current += 1 + if current > last: + break + + print('', file=font_file) + print('FONT = memoryview(_FONT)', file=font_file) + +def auto_int(x): + return int(x, 0) + +def main(): + + parser = argparse.ArgumentParser( + description='Convert fomfont.bin font files in input to python in font_directory.') + parser.add_argument('input', help='file or directory containing binary font file(s).') + parser.add_argument('output', help='file or directory to contain python font file(s).') + parser.add_argument('-f', '--first-char', type=auto_int, default=0x20) + parser.add_argument('-l', '--last-char', type=auto_int, default=0x7f) + args = parser.parse_args() + + file_re = re.compile(r'^(.*)(\d+)x(\d+)\.bin$') + + is_dir = os.path.isdir(args.input) + if is_dir: + bin_files = os.listdir(args.input) + else: + bin_files = [args.input] + + for bin_file_name in bin_files: + match = file_re.match(bin_file_name) + if match: + font_width = int(match.group(2)) + font_height = int(match.group(3)) + + if is_dir: + bin_file_name = args.input+'/'+bin_file_name + + if is_dir: + font_file_name = ( + args.font_directory + '/' + + match.group(1).rstrip('_').lower()+ + f'_{font_width}x{font_height}.py') + else: + font_file_name = args.output + + print("converting", bin_file_name, 'to', font_file_name) + + convert_font( + bin_file_name, + font_file_name, + font_width, + font_height, + args.first_char, + args.last_char) +main() \ No newline at end of file diff --git a/utils/png_from_font.py b/utils/png_from_font.py new file mode 100755 index 0000000..76a8b64 --- /dev/null +++ b/utils/png_from_font.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python + +""" +Imports all the python font files from the specified -input-directory (-i) and +creates png samples of each font in the specified -output-directory (-o). + +Example: + png_from_font.py font_directory png_directory + +Requires argparse, importlib and pypng +""" + +import os +import importlib +import png +import argparse + +def create_png(font_file_name, png_file_name): + + module_spec = importlib.util.spec_from_file_location('font', font_file_name) + font = importlib.util.module_from_spec(module_spec) + module_spec.loader.exec_module(font) + char_count = font.LAST - font.FIRST + column_count = 16 + row_count = (char_count // column_count) + + with open(png_file_name, 'wb') as png_file: + image = png.Writer((16+2) * font.WIDTH, (row_count+3) * font.HEIGHT, bitdepth=1) + image_data = [[0 for j in range((16+2) * font.WIDTH)] for i in range((row_count+3)* font.HEIGHT)] + font_count = len(font.FONT)+1 + for chart_row in range(row_count+2): + for chart_col in range(16): + chart_idx = chart_row * 16 + chart_col + for char_line in range(font.HEIGHT): + for char_byte in range(font.WIDTH//8): + ch_idx = chart_idx * font.HEIGHT * font.WIDTH//8 + char_byte + char_line * font.WIDTH//8 + print(chart_idx, char_count) + if (chart_idx <= char_count): + data = font.FONT[ch_idx] + else: + data = 0 + + for bit in range(8): + png_row = (chart_row+1)*font.HEIGHT+char_line + png_col = (chart_col+1)*font.WIDTH+char_byte*8+bit + if data & 1 << 7-bit: + image_data[png_row][png_col] = 1 + else: + image_data[png_row][png_col] = 0 + + print("Creating", png_file_name) + image.write(png_file, image_data) + +def main(): + parser = argparse.ArgumentParser( + description='Convert 8bit font-bin.bin font files in bin_directory to python in font_directory.') + parser.add_argument( + 'font_directory', help='directory containing python font files. (input)') + parser.add_argument( + 'png_directory', help='directory to contain binary font files. (output)') + args = parser.parse_args() + + for file_name in os.listdir(args.font_directory): + if file_name.endswith('.py'): + font_file_name = args.font_directory+'/'+file_name + png_file_name = args.png_directory+'/'+os.path.splitext(file_name)[0]+'.png' + create_png(font_file_name, png_file_name) + +main()