Mercurial > flash_v2
changeset 762:6fee91bd8194
Add VGA console support. Misc cleanups.
| author | gthomas |
|---|---|
| date | Tue, 25 Feb 2003 23:44:49 +0000 |
| parents | 8f2b36bfe8db |
| children | 498683482f93 |
| files | packages/hal/arm/xscale/uE250/current/ChangeLog packages/hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl packages/hal/arm/xscale/uE250/current/include/vga_support.h packages/hal/arm/xscale/uE250/current/src/banner.xpm packages/hal/arm/xscale/uE250/current/src/font.h packages/hal/arm/xscale/uE250/current/src/uE250_pci.c packages/hal/arm/xscale/uE250/current/src/uE250_plx.c packages/hal/arm/xscale/uE250/current/src/vga_support.c packages/hal/arm/xscale/uE250/current/src/xilinx-load.c |
| diffstat | 9 files changed, 2564 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/hal/arm/xscale/uE250/current/ChangeLog +++ b/packages/hal/arm/xscale/uE250/current/ChangeLog @@ -1,3 +1,15 @@ +2003-02-25 Gary Thomas <gary@mind.be> + + * src/uE250_pci.c: Initialize super I/O chip - used for legacy devices. + + * src/font.h: + * src/banner.xpm: + * src/vga_support.c: + * include/vga_support.h: New file(s) for VGA console support. + + * src/uE250_plx.c: + * cdl/hal_arm_xscale_uE250.cdl: Add support for console using VGA+PS/2. + 2003-02-24 Gary Thomas <gary@mind.be> * include/plx.h: Clean up unused code.
--- a/packages/hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl +++ b/packages/hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl @@ -98,6 +98,47 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_UE250 RAM for improved performance." } + cdl_component CYGSEM_UE250_VGA_SUPPORT { + display "Support LCD" + flavor bool + default_value 1 + compile vga_support.c + description " + Enabling this option will enable the use the VGA/CRT as a + simple framebuffer, suitable for use with a windowing + package." + + cdl_component CYGSEM_UE250_VGA_COMM { + display "Support VGA/keyboard for comminication channel" + active_if CYGPKG_REDBOOT + flavor bool + default_value 1 + description " + Enabling this option will use the LCD/CRT and keyboard for a + communications channel, suitable for RedBoot, etc." + + cdl_option CYGNUM_UE250_VGA_COMM_FONT_SIZE { + display "VGA console font size" + flavor data + legal_values 8 16 + default_value 16 + description " + This option selects which size font, and ultimately the + number of displayable characters, to be used on the VGA." + } + + cdl_option CYGOPT_UE250_VGA_COMM_LOGO { + display "Logo location" + flavor booldata + legal_values { "TOP" "BOTTOM" } + default_value { "TOP" } + description " + Use this option to control where the logo is placed + on the VGA/CRT screen." + } + } + } + cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD { display "Diagnostic serial port baud rate" flavor data @@ -123,7 +164,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_UE250 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { display "Number of communication channels on the board" flavor data - calculated 1 + calculated 1+CYGSEM_UE250_VGA_COMM description " Channel 0 is the only serial port on the board." }
new file mode 100644 --- /dev/null +++ b/packages/hal/arm/xscale/uE250/current/include/vga_support.h @@ -0,0 +1,82 @@ +#ifndef _VGA_SUPPORT_H_ +#define _VGA_SUPPORT_H_ +//========================================================================== +// +// vga_support.h +// +// VGA support routines +// +//========================================================================== +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 2003 Gary Thomas +// +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. +// +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +// +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. +// +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +//========================================================================== +//#####DESCRIPTIONBEGIN#### +// +// Author(s): gthomas +// Contributors: gthomas +// Date: 2001-09-29 +// Description: Simple VGA support +//####DESCRIPTIONEND#### + +struct vga_info { + short height, width; // Pixels + short bpp; // Depth (bits/pixel) + short type; + short rlen; // Length of one raster line in bytes + short access_size; // Data path width to frame buffer + short stride; // Offset (in bytes) between elements + void *fb; // Frame buffer + void *ctlr; // Controller regs + void (*off)(void); // Turn screen off + void (*on)(void); // Turn screen on +}; + +// Frame buffer types - used by MicroWindows +#define FB_TRUE_RGB565 0x01 +#define FB_TRUE_RGB555 0x02 + +// Exported functions +void vga_init(cyg_uint32 *ctlr); +void vga_clear(void); +int vga_getinfo(struct vga_info *info); +void vga_on(bool enable); +#ifdef CYGSEM_UE250_VGA_COMM +void vga_screen_clear(void); +void vga_moveto(int X, int Y); +void vga_putc(cyg_uint8 c); +int _vga_printf(char const *fmt, ...); +void vga_comm_init(cyg_uint32 *addr); +#endif + +#endif // _VGA_SUPPORT_H_
new file mode 100644 --- /dev/null +++ b/packages/hal/arm/xscale/uE250/current/src/banner.xpm @@ -0,0 +1,488 @@ +// +// LCD/CRT screen banner/logo +// +// Copyright (C) 2003 Gary Thomas +// + +#if 0 // 256 colors +/* XPM */ +static char * banner_xpm[] = { +"640 64 256 2", +" c None", +". c #020202", +"+ c #0A3626", +"@ c #045A84", +"# c #48788D", +"$ c #6795A0", +"% c #86B1C5", +"& c #9EC4D2", +"* c #BCD5DB", +"= c #156082", +"- c #CDE0E1", +"; c #082D1F", +"> c #3C393F", +", c #EAEAED", +"' c #042619", +") c #475D5A", +"! c #042216", +"~ c #363736", +"{ c #6D7A78", +"] c #EFEEF0", +"^ c #031E13", +"/ c #0B4355", +"( c #859695", +"_ c #5B5C5B", +": c #021A12", +"< c #F3F2F4", +"[ c #3D5144", +"} c #0F2F25", +"| c #2E365D", +"1 c #A2AFB1", +"2 c #8E808E", +"3 c #04160D", +"4 c #EDFDFD", +"5 c #03120D", +"6 c #A4949A", +"7 c #124562", +"8 c #73636D", +"9 c #163129", +"0 c #6D8C98", +"a c #BCC5C4", +"b c #53686D", +"c c #34565B", +"d c #484A49", +"e c #B6AFB2", +"f c #020E0A", +"g c #26403C", +"h c #20607B", +"i c #33525A", +"j c #817887", +"k c #225162", +"l c #FAFAFA", +"m c #0A261D", +"n c #0B4E6A", +"o c #3C3852", +"p c #D0D4D7", +"q c #616261", +"r c #292B42", +"s c #959497", +"t c #0D081D", +"u c #FAFEFD", +"v c #485350", +"w c #496868", +"x c #D6C2C0", +"y c #577882", +"z c #0D221A", +"A c #46465F", +"B c #0B0A0C", +"C c #93A4A9", +"D c #E0E0E0", +"E c #344E50", +"F c #71868D", +"G c #B5B9BA", +"H c #19392E", +"I c #101E17", +"J c #5C6E71", +"K c #628C9B", +"L c #327088", +"M c #789497", +"N c #14261F", +"O c #1E5365", +"P c #061A14", +"Q c #A8BBBF", +"R c #E5D8D5", +"S c #286075", +"T c #BCCCCD", +"U c #04527E", +"V c #413F52", +"W c #0F060F", +"X c #353854", +"Y c #2F2A3F", +"Z c #757C93", +"` c #154153", +" . c #4B506A", +".. c #A79AA2", +"+. c #608696", +"@. c #EBE1DB", +"#. c #848689", +"$. c #848C97", +"%. c #8D8A90", +"&. c #222222", +"*. c #133841", +"=. c #41403F", +"-. c #09668F", +";. c #6A6C6D", +">. c #1E312A", +",. c #090513", +"'. c #272626", +"). c #90ADB7", +"!. c #D9D5D3", +"~. c #C8BCBD", +"{. c #637977", +"]. c #336A81", +"^. c #294956", +"/. c #86A4AE", +"(. c #8E9D9E", +"_. c #A38D98", +":. c #1A160E", +"<. c #406A7A", +"[. c #1C1A12", +"}. c #718280", +"|. c #232237", +"1. c #CBCCCE", +"2. c #10414A", +"3. c #070607", +"4. c #063244", +"5. c #054974", +"6. c #7196A8", +"7. c #046289", +"8. c #334A49", +"9. c #27263C", +"0. c #1C5259", +"a. c #78787B", +"b. c #1A5462", +"c. c #585C71", +"d. c #80809A", +"e. c #1E1E1E", +"f. c #4A4A62", +"g. c #355C67", +"h. c #141216", +"i. c #B7A4A4", +"j. c #313055", +"k. c #9BBCCB", +"l. c #5D525A", +"m. c #666666", +"n. c #7A8B86", +"o. c #6C6D84", +"p. c #A6B6B7", +"q. c #3D3F5F", +"r. c #A69EA6", +"s. c #637C89", +"t. c #1A1A1A", +"u. c #487283", +"v. c #110E25", +"w. c #DAD9E0", +"x. c #E7E5E9", +"y. c #141229", +"z. c #174A56", +"A. c #F7F6F7", +"B. c #7BA3B7", +"C. c #828086", +"D. c #294844", +"E. c #9A8C97", +"F. c #C6C4C5", +"G. c #FEFEF6", +"H. c #2A525D", +"I. c #366676", +"J. c #0E5D80", +"K. c #44606A", +"L. c #2E2E44", +"M. c #292F57", +"N. c #2C1E16", +"O. c #06434A", +"P. c #064E72", +"Q. c #737172", +"R. c #180E13", +"S. c #908DA1", +"T. c #171617", +"U. c #135679", +"V. c #2F221A", +"W. c #547077", +"X. c #BDBBBD", +"Y. c #3C555A", +"Z. c #06303B", +"`. c #324640", +" + c #4B6B79", +".+ c #9BB6BE", +"++ c #334A36", +"@+ c #55536B", +"#+ c #666478", +"$+ c #1D1A2D", +"%+ c #869BA5", +"&+ c #9A9C9F", +"*+ c #201E32", +"=+ c #C4B0AF", +"-+ c #0A0205", +";+ c #2D2C2C", +">+ c #B2A2A3", +",+ c #D5CCCC", +"'+ c #045682", +")+ c #0A362A", +"!+ c #9AAEB0", +"~+ c #1A1629", +"{+ c #778C97", +"]+ c #1A4048", +"^+ c #ACCCDE", +"/+ c #3C3A5D", +"(+ c #343147", +"_+ c #464646", +":+ c #F3EAE3", +"<+ c #567D92", +"[+ c #074A81", +"}+ c #83869E", +"|+ c #045E87", +"1+ c #0C4C57", +"2+ c #346076", +"3+ c #677271", +"4+ c #777082", +"5+ c #4F4E54", +"6+ c #504655", +"7+ c #44415D", +"8+ c #CEC5C6", +"9+ c #7B98A8", +"0+ c #968B93", +"a+ c #04020E", +"b+ c #323232", +"c+ c #615D6F", +"d+ c #9495A8", +"e+ c #FEFEFE", +"f+ c #A7A4A8", +"g+ c #6C7B88", +"h+ c #4B424F", +"i+ c #1E2247", +"j+ c #272D52", +"k+ c #5A4A53", +"l+ c #073A47", +"m+ c #3A2616", +"n+ c #E0E6E7", +"o+ c #6C6B7E", +"p+ c #FEFAFC", +"q+ c #1E1219", +"r+ c #B1C5C8", +"s+ c #ABADAD", +"t+ c #044E7C", +"u+ c #545455", +"v+ c #9E959E", +"w+ c #060205", +"x+ c #092F36", +"y+ c #CDCDDE", +"z+ c #78778A", +"A+ c #63828C", +"B+ c #204A56", +"C+ c #0F0E11", +"D+ c #E1E0E9", +"E+ c #9EA5A5", +"F+ c #9C9DAF", +"G+ c #F5FDFD", +"u u e+G.G.G.G.G.G.G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.G.G.G.G.G.e+G.e+G.e+G.e+G.e+G.e+G.e+G.e+G.G.G.G.G.G.G.G.G.e+e+e+e+e+e+e+e+u G+G+u G.e+u u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+D+D+D+D+D+D+D+D+D+D+n+D+n+D+n+D+D+D+D+D D+D+D+D+n+D+n+x.x.x.n+x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.D+x.D+D+D+D+D+D+D+D+D+D+D+w.w.w.w.w.w.w.w.w.w.!.p w.p p y+y+y+y+y+1.1.1.T F.F.a ", +"e+e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u u u u u u u u u u u u u u u G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u u u u u u u u u u u u u u u u e+G.G.G.e+e+u u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+x.n+n+x.x.x.x., , , , , x., x., , , , x.x., , , x., , , , , x.x.x., , , , , , , , , , , , , , , , , , , , , , x., x., , , x.x.x.x.x.x.D+D+x.x.D+D+D+D+D+D+w.w.w.w.w.w.p p !.p y+y+y+y+y+y+y+y+F.", +"e+p+e+G.e+u u u u u e+e+e+e+e+e+e+e+e+e+u u u u u u u e+e+e+e+e+e+e+u u u u u u u u G.G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u u u u u u u u e+e+e+e+e+e+e+e+G.G.G.G.G.e+G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+x.x., , , , x.x., , ] ] , ] , , , , , , , , , ] , , , ] , ] ] ] ] ] ] , ] ] ] ] , ] ] ] ] ] ] ] , , ] ] ] , ] ] ] ] , , ] , , , x.x.x.x.x.x.x.x.D+D+D+D+n+D+D+w.w.w.w.w.w.w.p w.p y+y+y+y+y+y+y+", +"u e+G.e+u e+e+e+e+e+u e+G.e+G.e+G.e+G.G.e+e+e+e+e+e+u e+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+G.G.G.G.e+e+e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+, x.x., , , ] ] , , , , ] , ] , , ] ] ] ] ] ] ] ] ] < ] < ] < < < < ] < ] < ] ] < ] ] < < < < ] ] ] ] ] ] < ] ] ] ] ] ] ] , , , , , , x.x.x.x.x.x.D+D+D+D+D+D+D+D+w.w.w.w.w.w.y+!.p !.p y+y+p y+", +"u e+u l G+G+G+G+G+G+G+u u u u u u u u G+G+G+G+G+G+G+G+G+G+G+G+G+G+u u u u u u u G+G+u u l l l l l l l l l l l l l l l u G+G+G+u u u G+G+G+G+G+G+u u G+G+G+u G+4 4 G+p+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+, , , , ] , , ] ] < < ] ] ] < < ] ] ] ] < < < < < < < < A.A.< < < A.< < < < < < < A.< < < < < A.< < < < < < ] < ] < < ] ] ] ] ] ] , ] , x.x.x.x.x.x.n+x.n+D+D+D+D+D+D+w.w.w.w.w.!.!.!.w.y+p y+p ", +"A.G+A.!+F F F F F F F F F F F F 0 {+0 0 0 0 0 6.0 M 0 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6.M 0 $ K C G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+, ] , ] ] ] ] ] < ] < < < < < < ] < ] < A.< < A.A.< A.A.< A.A.< A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.< < A.< A.< < < < < ] < ] ] ] ] ] ] ] x., x.x.x.x.x.x.D+x.D+D+D+w.w.w.w.w.!.p w.w.!.p p ", +"l 4 4 F / / / / 7 / 7 / 7 / / 7 7 7 7 7 5.5.7 5./ 5.7 5.5.5.5.5.5.5.5.5.5.5.5.P.P.5.5.n P.n P.n P.n P.n P.n P.n P.P.P.P.P.P.5.5.5.n 5.5.5.5.5.5.5.5.5.P.5.7 [+n n +A.u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+, ] ] ] < < < ] A.< A.A.A.< < A.A.G+, < A.G+A.A.l A.A.G+A.G+l A.l l l p+p+l l l A.A.A.l A.l A.l A.A.A.A.A.A.A.A.A.A.A.A.< < < < A.] ] ] ] ] ] ] , , x.x.x.x.x.x.x.D+x.D+D+D+w.w.w.w.w.w.w.w.!.w.", +"u G+< K / 5.[+/ [+/ 5.5.[+5.5.5.5.[+[+5.5.5.[+[+[+[+5.[+5.5.5.[+[+[+[+[+[+[+t+[+[+[+[+[+t+t+t+t+t+t+t+t+t+t+t+t+[+t+[+[+[+[+[+[+[+[+t+n P.P.[+[+[+[+t+t+[+[+[+t+P.# 4 u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+< ] ] < < < < A.< A.A.A.A.l l l l A.A.A.l A.A.l l u l l l l l l l l p+l l p+l l l l l l l l l p+A.A.p+p+p+A.p+A.A.A.A.A.l A.< A.< A.< < ] ] x.x.x.x., , , , x.x.x.x.D+x.@.D+D+D+D+w.w.w.w.w.w.!.", +"u u 4 K 5.5.5.5.5.5.5.5./ [+5.5.5.5.5.5.5.5.[+t+t+t+5.[+[+5.t+P.P.P.t+t+t+[+[+t+t+t+t+t+t+t+t+t+t+t+t+t+t+t+t+U t+U t+t+t+U U U t+t+t+t+t+t+t+t+t+t+t+t+[+n t+U P.# G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+< < < < A.< < A.A.A.l G+A.l l l l l G+l l u u l l u l u l l u l u u p+e+e+e+u u u u l u l e+p+e+p+p+p+p+p+p+p+l l l l A.A.A.A.A.< A.< < y+..2 2 ......>+e ~.x ,+D+D+x.D+@.@.D+R x.D+w.w.w.w.w.w.", +"p+u G+A+5.5.5.5.5.5.[+5.[+5.5.[+5.5.[+5.5.t+P.t+t+P.U t+t+U t+t+t+t+t+t+P.U U t+U U U U U U U U U U U U U U U t+U t+U U U U U U U U U t+t+U U U U U U U U.n U U 5.u.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+< < < A.< A.A.A.l l l l l l l l u u e+l u l l u e+e+e+p+e+u p+e+p+p+u e+u e+p+p+p+e+e+e+e+l u p+e+p+l l l l l p+l l p+p+p+p+A.A.A.A.A., 2 d.S.%.E.6 _.E._._.2 2 2 2 ..X.y+w.w.w.R D+D+w.p w.w.w.", +"G.u G+0 5.5.5.5.5.5.5.5.[+[+t+5.5.5.5.t+5.t+P.t+U t+U P.t+t+t+U U U U U t+t+U U U U U U U U U U U U t+U U U '+U '+U U U U U U U U U '+U U U U U U U U U U t+U '+n u.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+< < < A.A.A.p+l l l l e+u e+u p+e+p+e+p+e+e+p+l p+e+e+u e+u e+e+e+e+e+e+l u u e+e+e+p+u e+e+e+p+p+p+p+p+p+e+p+p+p+l l l p+A.A.A.A.< ,+S.j j 4+o.#+o+j E.d.2 2 j E._._._._...i.=+i..._.z+#+S.e G ", +"l u G++.5.[+[+[+5.[+5.[+5.t+5.t+t+t+t+t+U t+t+t+t+U t+U U U U U U U U U '+'+U U U U U U U U U U U U '+U '+'+U '+U '+'+'+'+'+'+'+'+'+U '+'+'+'+'+U '+U '+U '+U '+n u.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.A.A.A.A.l l l l e+e+l p+u e+e+e+e+e+e+e+e+u e+e+e+u e+e+e+l p+u e+u p+e+e+e+e+p+e+e+e+e+e+e+e+e+e+e+e+e+p+u l p+p+A.A.A.A.A.A.< f+z+z+4+z+4+#+4+o+8 2 2 j j j >+_.2 2 2 _._._.2 j j _.2 4+c+7+", +"G.u G+0 [+[+5.[+[+[+[+t+[+t+t+t+t+t+t+t+U U U U t+U U U U U U U U U '+U U '+'+'+'+'+'+'+'+'+'+'+'+U '+'+'+@ '+@ '+'+'+'+'+'+'+'+'+@ '+U U U U '+U '+'+@ '+'+U '+U # G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.A.p+p+p+p+p+u l G.e+e+G.e+e+G.e+G.e+G.e+G.e+e+G.l w.p w.!.y+x.p !., A.A.p+e+e+e+e+e+e+G.e+e+G.e+e+e+G.e+G.e+u p+G.p+p+p+p+p+:+e 0+4+4+j z+#+j o.#+c+4+4+8 c+4+4+c+6+8 j =+~.=+>+6 _.2 c+l.o R.", +"G.u 4 $ [+[+[+[+[+[+t+t+U t+t+t+t+U U U U '+'+U '+'+'+'+'+'+'+'+'+'+'+'+@ '+@ @ @ @ @ '+'+'+'+'+'+@ '+@ @ @ @ @ @ @ @ @ @ @ @ @ @ '+@ @ @ @ @ '+@ '+'+@ @ '+'+@ U.# 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.A.A.p+l l l p+e+e+e+G.e+e+e+e+e+e+G.e+e+e+e+G.p+w.F+d+f+f+..F+S.d+d+F+F+1.n+D A.u e+e+e+e+G.e+e+e+G.e+e+e+e+G.G.p+G.p+l l , f+E.d.j 2 E.j #+2 4+c+@+@+f.7+f.6+f.7+/+f.c+6 j _.E.2 _.4+q+R.-+w+", +"G.G.G+0 t+U U U U t+t+t+U U U U U U U U U U '+'+U '+'+'+'+'+'+'+'+'+@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ '+'+'+@ '+@ @ @ '+U.U.@ '+U.# 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+p+p+p+e+e+e+e+e+e+e+e+G.G.e+G.e+e+e+G.e+u u G.e+1.v+F+f+e f+d+S.}+$.S.S.d+&+F+e < e+e+G.e+e+G.e+e+e+G.e+e+e+e+G.p+A.] x.X.d.S.2 j z+j j d._.4+8 4+8 6+7+q.7+/+/+A 7+f.c+8 #+c+4+_.6 k+w+w+w+. ", +"G.u 4 $ U t+t+t+t+U U U U U U U U U '+'+'+'+'+'+@ @ @ @ |+@ @ @ @ @ '+@ |+@ @ |+|+@ |+@ @ @ @ @ @ |+@ |+@ |+@ |+|+|+|+@ @ @ @ @ |+@ @ @ @ @ @ |+@ @ '+J.U.J.= J.'+<+4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.p+l e+e+e+e+e+e+G.e+e+e+e+e+e+e+e+e+e+e+G.e+e+@.8+F+i.X.>+F+S.}+d.d.d.}+$.d.S.}+8+G.G.e+e+e+e+G.e+e+e+e+e+p+l G+l F.S.Z o.o+S.E.2 d.o.4+2 S.2 4+4+4+ .A /+7+q./+/+/+7+#+k+@+f.k+V :.B . . . . ", +"G.G.G+0 U U U U U U U '+'+'+'+U U '+U '+'+@ |+@ |+@ @ @ 7.7.|+|+@ @ @ @ |+|+|+|+|+'+= J.-.J.|+J.@ @ @ J.'+7.@ 7.|+|+7.|+|+|+7.|+|+@ @ |+@ |+|+|+|+-.h ].# $ % K U.<+4 G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.p+p+p+e+e+e+e+e+e+e+e+e+G.e+G.e+G.e+G.e+e+u G.,+x s+~.8+=+f+S.}+d.Z d.d.}+d.d.}+F+l u G.G.G.e+e+e+e+G.G.e+e+< f+F+v+}+#+o.4+>+E.E.z+c+4+j j 8 o.@+c+@+7+/+/+| /+/+/+7+@+ .@+7+Y ~+. . . . . . ", +"G.u G+6.U '+'+'+'+'+'+'+@ @ '+@ @ '+@ '+'+@ @ |+7.@ J.U.U.U.J.@ |+7.|+|+|+7.7.7.|+= = L ].S h h S h h L L U.J.@ |+7.7.|+|+7.|+7.|+|+|+|+7.7.@ J.L % % % & ^+^+& <+y 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.e+e+e+e+e+e+A.!.=+e x ,+x e F+S.d.d.d.d.}+d.d.Z }+p !.p D+w.D+A.G.G.G.G.G.] !.i.>+..d.o+4+E...2 2 c+#+d.4+j 8 c+#+c+f.A q./+/+/+A 7+A f.6+/+q+,.. . . . . . . ", +"G.u 4 6.U '+'+'+'+'+'+'+@ |+@ @ @ @ |+|+|+|+|+@ J.b.L $ 6.u.O h J.|+7.7.|+|+7.|+J.h $ * ^+% % & & % % % k.K S h = J.|+7.|+7.7.7.|+@ |+7.7.|+h L <.B.k.).).r+.+9+9+( G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.G.G.G.G.G.G.e+e+e+e+e+G.e+e+e+G.e+G.e+e+e+:+x ~.x ,+@.x =+F+}+d.Z Z Z d.d.Z Z d.S.S.S.F+d+d+F+y+l G.l !.f+E.0+r._.4+4+2 2 j _.2 #+j 4+j j 8 c+@+A /+/+| /+/+/+q.7+/+Y ~+t . . . . . . . . . ", +"G.u G+6.'+@ @ @ @ @ @ |+|+|+|+|+|+|+|+|+7.|+|+J.U.<+k.^+r+r+B.+.L I.= = = = J.h h L $ * T - Q p.^+* ^+k.% % B.+.$ L h J.7.7.7.7.7.7.|+J.J.= = 2+<.W.C a G !+p.p.).Q l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.p+e+e+e+e+e+e+G.e+e+e+e+e+e+e+e+e+G.e+G.G.p+R x x R x R ~.>+>+}+d.z+Z Z d.Z d.Z j d.d.}+$.d+S.S.S.F.F.}+c.@+c.f.c+4+S.}+S.2 4+4+8 8 E.8 #+8 #+#+#+/+/+/+q./+j.j.i+$+v.B -+. . . . . . . . . . ", +"G.u 4 6.'+@ @ |+|+|+@ @ |+|+|+|+|+@ |+|+|+|+J.S $ * * * T ^+^+^+^+).$ <+# ].# # <.<+Q 1 G y+1 C E+Q ^+k.% ).6.B.% B.L h ].-.= J.h = = b.1+l+/ 7 <.u.y 1 y+Q $..+Q T G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l G.G.G.G.e+e+e+e+e+e+e+e+G.e+G.e+e+G.G.G.e+A.R x x R @.@.x i.v+S.S.d.z+z+Z z+Z Z z+z+4+o.o+b #+#+#+#+@+f.7+q.A .7+@+@+c+8 4+j j 4+4+E.4+c+4+4+j @+/+j+i+i+i+q+t W W a+3.. . . . . . . . . . . ", +"G.l G+6.@ |+|+@ |+|+|+|+|+7.7.|+|+|+J.J.= U.h u.K Q - r+^+1 M M )./.6.B.B.6.+. +K.F+F+f+p.a y+1 C r+1 ).9+9+s.0 % u.# L L U.b.U.L h / l+4.l+` S g.6.<+6..+r+/.F k.r+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.e+e+e+G.e+G.e+G.e+G.e+G.e+e+G.G.u !.@.@.R x R @.@.R ,+e }+F+f+d.z+o.4+#+c+c+ .f.f.f.A 7+q./+/+7+@+7+/+/+/+7+7+7+7+/+7+/+/+/+4+4+4+c+@+7+6+/+$+v.t t t t W ,.-+w+. . . . . . . . . . . . . ", +"G.u 4 6.|+|+|+|+|+|+7.7.|+|+7.7.J.J.J.h ].+.+.$ 6.}.Q n+* T C 9+J A+9+6.+.+.2+<. +$.$.$.C T T r+%+k.r+).s.W.W.K.9+K.I.# 2+/ l+l+O.l+4.4.l+n <.# g.g.g.W.9+C ).W.B.1 G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.G.G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+x.1.f+f+,+x R x x R x i.E.S.v+..z+#+@+f.A 7+/+q.q./+q.q./+o /+o j.j.j.j.j.7+7+f.k+7+j./+/+/+/+/+8 8 @+/+*+$+q+v.t t W ,.,.,.a+w+w+. . . . . . . . . . . . . ", +"p+G.G+6.@ |+7.|+7.7.|+7.7.-.|+J.J.I.L K % % 9+0 M Z b G n+- X.d+9+{+6.u.k k K. +s.s.0 $.z+%+p..+9+.+^+9+^.Y.g+y {+# 2+<.2+/ l+4.4.4.2.l+/ h h O k g.]+` W.9+ +^.K.9+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+D !.p l e+e+G.e+G.e+G.e+e+e+e+G.l w.e f+f+~.,+x x ~.e 6 S.d+r.2 z+c+c.f./+/+/+/+/+o (+X /+/+q.X j.j.j.j.j.Y Y j.7+8 E.c+7+/+7+/+/+/+j.j.Y $+R.R.t W ,.,.-+-+w+w+w+w+. . . . . . . . . . . . . . ", +"A.G.4 6.|+7.7.7.-.7.7.-.7.-.-.= L B.k.).B.).9+Z F W.K.{+- w.- y+Q ).+.2+^. .u.9+ +s.y J J J d.{+F %+% # H.u.9+9+B.<+ +u.2+k 2.B+)+g.2.Z.l+/ h S ` g.c 2+<.F W.^.y F G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+c.S.G w.u u p+G.G.u G.G.l l G.A.p G s+e e =+~.i.i.>+%.S.E.F+d.c+c.f.7+/+j./+/+/+7+/+/+7+/+/+o (+(+j./+/+j./+j.j./+/+k+7+/+/+/+/+j.$+N.q+N.q+t W W ,.a+a+. a+w+. . . . . . . . . . . . . . . . . ", +"p+u 4 B.-.7.-.7.7.-.7.7.-.-.= L B.+./.!+/./.9+y F y b g.%+r+D+X.1 1 s.k <.6.}+9+A+A+g+3+J J $.{+s.C 0 2+c <+y 0 /.{+<+g.` g.*.z.I.2+2.l+1+S L b.7 4.B+2+ + +F Z ).d+G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+q. .#+{ d.F+w.p+l A.n+p F.D A.X.f+S.F+y+f+S.d.d.2 }+2 }+z+c+f.A f.f.7+7+/+/+/+7+7+h+7+7+f.h+o o V /+o j.o o /+/+/+/+/+7+7+h+j.q+N.q+q+q+q+W ,.,.w+-+3.. . . w+-+w+. . . . . . . . . . . . . . . ", +"p+u 4 6.-.7.-.-.-.-.-.-.-.h L $ 0 0 %+).T 1 ).<+B.g.Y.g.y .+- - * ^+B.<+# s.@+s.y g+b z+b g+( .+A+0 <.` 7 2+ +0 /.9+s.B+7 2+k l+# B+)+b.L b.O.l+z.Z.` c i b /.F %+Q l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+| q.f.@+c+#+o+F+s+X.F.X.X.s+s+F+F+S.F+e %.d.d.z+o.o.c+@+ .f.f./+/+/+/+7+/+o o o 7+o o h+h+/+/+7+h+7+A h+7+7+h+7+o V V Y N.v.$+N.q+~+R.t W W ,.w+w+W W . . . w+. . . . . . . . . . . . . . . . . ", +"p+u G+B.= h -.L L ].h = ].].# s.Z 9+/./..+& %+u.<+2+O B+B+ +%+* y+^+6.2+<.<.o.( d.F g+$.g+b .b K.<+<.B+B+<.y 6.{+{+s.H.]+H.<.H.<.g.0.S 0.1+l+/ z.l+` B+y K.0 B.s.1 G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l e+l e+e+e+e+e+l e+l l e+e+l e+l l e+l e+e+l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l e+l l e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l e+e+e+e+e+e+e+e+e+e+l e+e+A.e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+| | | A . .c.#+o+4+F+G s+F+d+F+F+d+s S.z+d.Z o.c. .q.A /+7+/+o /+7+/+/+o j.o (+o o o 7+7+7+h+h+V 6+7+h+7+V o o (+o Y v.q+R.q+t R.t t W ,.-+w+w+w+w+. . w+. . w+. . . . . . . . . . . . . . . . ", +"u G+4 %+S L u.].# # L S ].K 0 g+z+%+E+F d+k.+.<.2+2+k k u.y i 6.* .+<.` H. +g+/.F 9+0 ).Q 0 %+K.b +.<.` ` y ).9+Z Z J /.K.k k # k k 0.l+2./ O O +.<.z.l+7 B+k S g..+G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l l e+A.D x.D l e+e+e+e+< ] x.D x.A.< D x.< l l l A., D D x.D ] A.l l e+e+e+e+e+e+e+e+A.< D x.l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l l < D x.A.l l e+e+e+e+e+e+e+e+e+A.D n+] l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+M.| | | q.f. . .c.c.#+z+$.}+}+}+#.d.S.}+d.z+c.f.A 7+V 7+/+/+o j.(+V o o /+o j.7+o /+/+/+o o q.7+o V /+o o o o m+N.q+q+t t v.W W W ,.W W W W w+. . . . 3.w+. . . . . . . . . . . . . . . . . . . ", +"u G.G+B.u.$ k ^. +K.y <.# <+s.g+d.d+E+ +s.).6.O n O 7 L # <+g ^.%+^+6.g.H.g+$.9+F A+s.9+r+).9+ +K.F 6.H.2+<+)./.o.s.%+- .+E E A+z.2.l+4.2.S +.2+<+% ` 7 <.2+O B+k W.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l G C+3.B D e+e+e+e+A.u+3.3._+l w.3.h.F.l A.e+G._+3.3.. h.=.e A.e+e+e+e+e+e+e+e+e+l &+3.&.A.l l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l !.3.C+F.l l e+e+e+e+e+e+e+e+l A.;+w+%.e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+j.M.| | | q.A f. . .c.c.#+4+Z d.d.}+}+z+c.f.7+7+V o /+q.(+(+(+j.j.j.j.(+(+j.(+7+V o > o o (+/+o /+o (+(+V.9.*+~+q+R.W t W ,.,.,.,.-+W B w+. . . . . . . 3.w+w+. . . . . . . . . . . . . . . . . ", +"u G+G+0 2+c i x+Z # +^. .<+g+s.J F d+ . .+.K U.O n 7 # <.B+^.g+%+9+6.H.2+C - - ^+/.2+` ^.Y.K.K.K.W. +c 2+b F+B.Z %+^+T * k.K. +]+k Z.7 7 B+<.g.u.0 c 2.k g.b.` I.W.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.p+G B 3.3.#.G.e+e+e+D C+3.3._+u w.. h.F.u l u l d . B T.B f &.p G.e+e+e+e+e+e+e+e+l b+3.3.&+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u D t.&.F.e+l e+e+e+e+e+e+e+e+G.l ;+. %.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+M.M.| | | | /+f. . . .@+@+@+c.#+o.d.#+5+q.q.X o X V o o (+j.(+j.o o j.(+o o o o (+o Y o (+(+o (+Y $+N.$+*+q+R.W W W W W ,.a+,.a+w+. w+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"G.G.G+F +.9+F E ^.g.W.+.q.F F 6.F {+}+ +K.y g.h b.l+0.<+# B+K.A+B.9+s.^.W.Q r+9+6.2+l+7 7 *.^.W. +s.Y.]+i 2+k.Q F g+%+- p * k. +H.u.7 ` k 2+<.<.g.K.H.7 g.y I.S A+F G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G C+3.. b+l l A.l &+. 3.. =.u D . C+F.p+e+e+e+_+. q !.f+T.3.s l e+e+e+e+e+l e+l X.3.3.B _+l l e+e+l A.!.e F.< e+e+A.D X.G D l l e+l A.D G e p < e+l l l e+] 1.s+X.D A.l l < X.X.n+A.A.A.D G G 1.A.x.w.< D &.. C.D+l l e+, F.s+X., l e+e+G.A.1.e F.< l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+j+j+j+| /+q.q.q.A A . . . .@+ .5+f.V X X (+o X L.L.j.(+j.(+o o o (+(+o (+(+Y (+(+Y Y 9.V.$+*+q+q+$+q+N.$+q+W t W ,.,.a+a+-+w+w+. . . . . . . . . . . w+w+. . . . . . . . . . . . . . . . . . . ", +"p+p+l F Y. +F+K.` H.4.y K.Y.Y. +K.Y.}+ + .s.i O 1+O.O.z.^.]+i K.$ <+W.s..+* ^+g.l+l+7 / z.7 g.0 6.M y <. +s.$.o.0 y Y.s.- - - {+W.g.4./ h 2+7 2.<. + +i K.E <.# +.y 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+X.B . b+. 1.u G.l 5+3.;+3.=.G.D . 5 F.e+e+e+G._+. ;.u < ;+. C.G.e+e+e+e+e+l u l _ 3._+B B 1.l l A.< C.h.f 3.d w.l F.;+3.3.&.e A.A.x.;.h.B 3.C+5+!.A.l A.p =.C+3.B e.Q.x.l D B h.a A.] C.:.3.3.B m.d 3.f+;+3.. B d ] l E+;+C+3.3.;+s+A.l ] ;.C+3.B _ ] e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+9.j+j+j+M.| /+q.q.7+A A A f.f.q.X X o (+X L.L.L.j.(+(+(+(+j.Y (+(+Y (+Y (+Y Y V.$+q+q+~+v.t R.t R.q+q+q+q+R.W W W ,.,.a+a+a+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"l l l ( g.b s.s. +W.i .+.Y.g +K.F 9+#+ +Z W.S 1+O.1+H.H.).C 0 y *.2+6.6.B.<.l+7 z./ S 0.` H.w ( {+K. +9++.u.K.9+J +H W..+* * y k ` k O 2.7 B+B+F y +.A+<+ +2+g.w G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G B . %.3.Q.p+u D C+'.m.. _+u D . C+F.e+e+e+e+_+. 5+f+Q.h.h.X.A.e+e+e+e+l G.l D h.. X.v . m.l l G+X.C+B =.T.B C.] =.3.~ ;+B b+n+< _ B h.d v &.. ;+D A.p &.B e.u+=.C+B _ A.w.3.C+F.A.C.3.B ~ u+;+B B 3.E+v C+3.t.q < f+h.B =.u+> B B X.l s+B T.d h.B &+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+j+M.| | | q.A A A A f./+X X X X (+X X o (+(+(+j.j.(+j.(+j.9.Y Y |.9.V.$+~+q+q+t R.t q+v.y.t R.t t R.W t ,.,.a+a+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"e+A.l %+b %+J b y +.2+W.K.g.g K.) g+Z (.G Q o.S b.O.l+O.B+b }+Y. +B+I./ O z.l+/ / n S l+g.c i Y.( C %+s.c c u.u.# +y c Y.^.s.).).A+^.u.2+z.<.7 g.2+u.y +^.H.7 *.K.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G C+. p t.'.< l %.B C.;.3.=.e+w.. h.F.e+e+e+l _+. . 3.B 3.u+x.l e+e+e+e+e+e+G.C.3.e.A.f+. t.D A.u #.3.'., G #.s+D t.. s+w.$.0+] E+B C+s+< p+p &.. Q.A._ 3.;+D l A.C.'.;+F.w.3.C+X.p t.B a.] u ] ;.3.B f+l ;+3.%.l ] '.3.q A.l A.C.3.=.A.;.3.~ < E+#.~.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+j+9.j+| /+/+q.| q.q.q.q.| X (+(+(+j.L.(+(+X j.(+Y Y 9.9.~+~+*+~+*+~+*+q+~+y.t v.v.t t t t W t v.t t W t t ,.a+a+a+a+a+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"p+p+G+C b J o.b s.Y.^.K.^.y ^.K.J b ).r+a T W.H.O.1+b./ 2+B.d+( s.k z.z.l+O.O.1+b.z.K A+F 0 /.}.g+( a 9+i B+k k 2+K.Y.w g.*.B+^.%+/.K.y <.S H.l+*.H.y +.6.+. +B+B+ +4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G B 3.] d . G l ~ f F.Q.. _+G.D . C+F.e+e+l e+=.. 3 '.&.C+B m.< e+e+e+e+e+l ] '.3.v F.G B 3.%.G.A.X.C+B d &+D l , =.3.;+a.F.] l u+. _ A.p+u p+#.3.'., B B f+u l l G+D D ] w.. h.F.&+3.&.D l A.u w.&.. f+G.'.. #.l G B . s &+E+E+&+3.B !.f+3.T.u+f+D u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+$+i+*+i+i+i+i+j+i+j+j+Y L.9.j.L.(+(+(+L.L.Y L.j.~+$+y.v.v.t v.v.~+v.v.t t t t t t t ,.,.a+W t W ,.,.t a+a+a+a+3.w+. . . . . . . . . . . . . . -+W . . . . . . . . . . . . . . . . . . . . . . . ", +"G.A.l p. +) d.$.W.E E + +i ^.W.{+g+( T 1 y+!+g.0.O.O.<.c Y.Z %+K./ l+1+O.l+5.n O z.% 6.E b Z ).d+F $.}+}+g.g 2+g.g.y y 2+H.*.]+K.9+9+K. +g.B+l+l+g.g.K.s.+.y k ]+b G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+X.f w+, f+3.q p 3.b+< ;.. =.e+D . 5 8+u e+e+e+_+w+q D w.C.5 h.1.e+e+e+e+l u s+3.. 3.w+B 3.. b+< G+< #.&.3.3.&.s+A.F.=.C+3.h.;.] b+3.C.A.p+u l e f 3.1.B f ,+l l G.l u G+G.w.. C+a a.. ~ l G.p+G.A.~ . f+G.;+. $.l &+. 3.B 3.3.. B 3.f e ] ;.[.3.3.;+a e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+9.~+~+~+i+~+i+$+~+$+Y o (+(+(+V V =.h+h+> 6+f.V.*+v.,.,.a+a+,.y.v.t t v.t t t ,.,.a+a+a+t q+t t -+R.W ,.w+-+B B W 3.W w+w+. . . w+w+w+w+-+-+R.b+-+. . . . . . . . . . . . . . . . . 3.. . . . ", +"p+e+l Q n.) C.$.}.w K.0 +<.Y.{+A+) g A+Q 1 T .+y B+]+6.c g+9+2+` O.l+l+/ O.7 7 2.*.c y b g+g+}.$.$.{+J 3+r+n.Y.) W.W.y <.*.*.]++.3+).%+u. +H.B+k 7 z.u.y 6./.u.*. +4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G B . < n+h.h.a.w+#.l Q.. _+u D . C+F.e+e+l e+=.. ;.l l D e.3.e e+e+e+e+e+A._+3.:.;+;+;+;+B 3.s+A.l l !.s ;+3.=.] G+x.s+u+C+C+X.d . _ A.l l u s B [.D C+. s+l u A.l x.x.< - 3.h.F.%.3.;+, A.A.l D '.. s+u '.. #.p+s+B 3.u+;.m.m.q m.q p < A.1.%.&.3.5+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+*+i+~+i+$+*+i+9.$+i+9.L.L.L.;+L.(+(+(+o o Y o 7+~+*+v.,.,.,.,.t y.v.t t v.v.t t a+,.a+a+a+t $+R.v.t ~+h.C+t B C+q+R.R.[.:.h.B C+B 3.B C+R.'.:.m+h+:.N.N.m+N.R.N.R.q+:.R.N.[.3.q+R.N.W R.-+R.[.:.", +"p+p+u r+!+Q a.&+Q 0 Y.y K.i Y.{.A+{+c H W.%+p.Q y 0.w A+s.9+C k l+O./ / l+/ / 4.l+*.>.K.}.$.$.C %+!+9+g+o+a w.1 {.W.H.]+<+w *.*.i A+{+F F y <.].H.I.z.E 0 +.K k *.K.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+X.B . , l _ 3.h.C+p l Q.. =.p+w.w+h.e , , , e+=.w+m.x.D s B f ,+e+e+e+e+l 1.h.. &+x.D n+D _+. u+A.a._+a.l s 3.;+E+_+u+w.p &.B s+s 3.T.X.l A.!.;+. q A.d 3.=.D l l f+b+~ ~.D . C+F.F.C+B C.< l < C.3.. f+l ;+. %.l D e.3.#.] A.A.&+;.a.] q _+s A.a.3.b+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+i+Y Y j.j.Y j.j.(+L.L.L.Y L.L.Y Y L.Y (+L.~+$+v.v.v.t t v.y.v.t t t t ,.,.a+a+a+a+a+a+t t a+a+a+a+3.a+a+a+. w+w+w+. . . . . w+w+. . . w+W N.-+w+. . w+3.-+-+-+w+-+N.V.w+w+-+W -+B -+-+W B ", +"l l l X.).E+!+( C .+( [ k ]+Y.F n.y [ H W.Y.y y A+/.{+%+).g.I.7 1+5./ / 4.` ` 4.*.B+*.x+W.( { Z b ( p.C $.p w.n+T {.H.*. +s. +^.*.^.g.H.H.H.<.H.z.g.$ g.c g.c ` Z.K.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.p+G B 3.:+l s+. 3.=.G.l ;.. d u w.3.3.'.;+;+d x._+3.:.;+'.3.3._ A.e+e+e+e+G.m.. t.] e+G.e+G.f+3.C+1.#.3.h.u+;+3._ p e.C+_+v B '.p ] 5+3.[._ q '.. ;+1.A.F.&.C+;+;._ T.3.u+< w.3.h.a < ;.3.h.d m.d C+C+3.s+l ;+3.#.l l #.C+B _+;.u+C+3.C.l ;.3.I m.&.3.a.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+9.j+M.j.X X /+q.X V o (+(+(+L.Y L.L.(+L.j.Y j+Y i+i+~+~+*+~+*+$+~+y.y.y.t t t t ,.a+t ,.t W -+a+,.a+a+a+. . a+. . . . . . . . . . . . . . w+-+. . . . . . . . . . . . w+. . . w+. . . . . . ", +"u l u X.g+( !+%+1 C T !+E H E {+}.c J c [ A+g g.y s.{.F ^.` k / O.l+l+l+l+4.` H. + +g.H.) W.w 3+) 4+$.( !+p w.a C %+w K.B.A+F .i *.x+*.*.7 g.L g.l+k ` ]+x+4.` 4.K.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u G.l G B B n+G.] h.B s l l ;.B =.l w.. 3.. 3.. '.D d 3.3.. C+&.m.D A.u e+e+e+x.t.3.C.u G.e+u u , t.3.Q.D _ C+3.C+=.!.A.s :.3.B e.&+< G.D _ h.3.. B =.1.A.l l X.=.3.3.3.3 q D l D 3.h.X.A., m.h.3.3.f u+d 3.f+l ;+3.#.A.l , 0+'.3.3.3.t.a.< l w._+3.3.B 5+D e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+9.j+j+j.X X q.q.q.q.X X L.L.L.L.L.(+L.L.Y Y 9.Y j+j+Y 9.i+9.*+*+i+$+~+v.v.t t t t t W t ,.t B W ,.,.a+w+. . . . . . . . . . . . . . . . . . . . . . w+. . . . . . . . . . . . . . . . . . ", +"p+e+u D $.{ n.F (.p.T - ).K.`.M {.) i Y.D.K.c D.^.x+i i ]+` l+n O.l+l+` 4.z.i +. +K.g D.J s.b { b b F ).!+T p.{ .+- %+<+2+]+E s.s.K.]+*.k *.7 2.z.Z.2.g.^.]+4.` ]+W.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.p+, F.F.l l l p F.] l A.w.F.,+u < F.F.F.F.F.1.A.p F.F.1.F.w.A.A.A.p+e+e+e+< F.F.x.e+e+e+G.l A.p F.1.l , G &+s+x.A.A.A.1.E+E+,+A.l A.G+] F.f+E+F., l A.l l u n+X.&+&+8+A.A.l < F.F.] l < < 1.f+&+X., w.F., l 1.F.D l A.l l D s+&+E+p < A.A.A.:+e &+G ] l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+i+j+j.| X X | q.q.q.q.q.X | (+L.Y Y 9.9.9.i+Y 9.Y 9.Y |.Y Y 9.9.Y 9.9.i+*+*+y.y.v.t ,.,.,.W R.t q+B ,.3.a+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"e+l l , p $.b 3+( C p.- - /.b {.K.Y.g.H D.[ ]+W.i x+*.N *.7 / l+l+l+/ ` ^.K.0 .+s.Y.K.) w b ( ( g+{+F <+M +Y.`.{.B.y c ]+c. +{+* r+J H.B+]+2.k <.2.)+<.).+.]+4.]+W.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u G.l A.l A.u A.l u A.A.l u u l u l u l u u G.l l u l l u u l l l l e+e+e+e+u u l l G.e+p+e+l A.A.G.l A.A.l A.l l l < l A.A.G.l l l l l l < A.l u G.l l A.A.p+G.l l u l l l l l G.l G+l A.G+l G.p+l l l G+l l u l u A.l A.l G.A.p+l l A.G+l l G+A.l A.l l G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+j+j+j+M.X q.`.q.`.q.8.A f.5+f.X L.L.Y r j+i+9.i+Y i+i+Y Y j.Y 9.j+9.9.9.9.9.i+*+$+$+~+y.R.t R.v.R.v.B a+a+3.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"e+l l D D a 3+n.!+E+a p - r+#.}.W.c ) D.g.u.)+<+{+Y.x+x+l+` l+l+l+4.k K.g.n.Q G M F ( %+( (.r+r+!+).0 H.} *.g 9+{+b ) g.K.W.{+G - * * /.g.]+B+z.z.]+0.c I.{.^.]+*.Y.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l e+A.u l l l G.l A.l l l l l A.l l u l u G.l l l A.l l A.l l A.l l l l l G.l G.l l l A.l l l l l l l l l A.l l l l l l < l l l l G.l l l l u l l p+l l l u G.l l G.l p+l u G.G+l l G.A.l A.G.l l G.l l l p+l l l l A.G.l u A.l p+l l l l l l l A.l l l l e+e+l l e+l l e+l e+l e+l e+l e+e+l l l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+j+i+j+Y M.| q.q.A A A .c.c.#+o.c.V (+j+9.Y j+Y Y 9.i+9.|.i+9.Y |.9.9.j+L.r r 9.9.9.9.*+9.*+~+h.v.h.h.v.3.. w+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"l u u G 1.p a E+E+}.( T p p {.q J ) +c l+O.+ H.+.J j+x+l+)+4.)+2.k g.W.M r+* }.u+3+}.3+b 3+}.(.!+n.c g c +{.M y W.J %+A+!+^+r+T G r+r+).<.)+*.)+)+H.D.H A+%+^.*.) 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.l p+u x.&+u+Q.p A.A.u A.A.A.l u l < l l G.l l < l A.l A.e G F.E+D s , A.u A.l l l e+l A.A.l l A.X.E+l A.A.A.A.A.l l G.p+!.f+n+s , < l l l l G.l l l l G.l l u p+l l u l l l A.A.] &+D l l A.l l l l A.l l l l p &+< A.A.l &+1.l l l l A.A.A.l A.E+1.l l l l A.l l l l l l e+l e+l l A.s+F.l A.l x.#.< l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+i+M.X X X q.q.8.@+c.#+J o+o.4+Q.#+ .o L.j.9.r Y 9.|.9.i+*+*+9.i+9.|.9.9.L.Y r r r r Y Y Y 9.|.*+$+q+q+t B B 3.a+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"G.l p+1.8+D !.p p.n.m.{ Q - ( v 8.[ M w O.2.]+u.{+u.*.` / l+l+Z.]+g c F !+p.r+3+{.3+_ }.1 r+G C }.) {./.!+.+/.F }.M C C 1 * T r+T Q 1 !+!+/.K.4.; Z.x+; *.) Q /.W.{.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.l w._+d f+_+&., A.] D l A.A.p+x., A.A.x.] A.u l A.G+A._ %.C.m.D &+< A., x.G.l l , ] l A.l G.1.'.s+l ] D l l G+l ] < l %._ F.~ 1.n+A.l l , n+l A.u l l l , ] A.l l :+D l , n+A.D ;+1.D A.u l A.D ] G.A.A.n+@.s u+A.A.D < ;+X.l ] D A.l l < D x.> e l l A.A.< A.A.l A.A.< x.A.l l l ] ~ f+A.] D F.'.< l G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+j+j.X q.q.A .#+Z Z o.o.z+o.o+Z o+#+c+A (+j.Y 9.Y |.|.|.*+i+r 9.|.9.i+9.Y 9.Y 9.r 9.|.9.Y |.Y 9.9.|.|.*+~+t 3.3.w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"l l l D !.!.- p p C }.}.3+C p F g `.) ).M w H D.H.B+z./ l+l+)+*.]+c %+)./.!+( 3+(.E+p.p.T G !+(._ 3+p.1 1 !+n.( C p.(.n.(.G T p.r+!+(.E+!+C M w H.H.} x+D.Y.s.%+).!+G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u l l ;.q , l < G x.&+;+;+_ < Q.=.b+> n+s+;+> 1.u+1.x.d a ~ a.:.e.#.Q.&+b+> ;+1.] _ ;+b+=.G A.A.=.C+s+%.~ ;+Q.] _ ~ s+l 1.[.e.a.:.> '.X., C.b+;+#.A.l l w._ ~ '.X.D '._+'._ ~ ;+&+F.h.=.;+u+] 1._ ~ b+a ] a.b+;+;+#.!.d ~ > h.D E+b+;+u+A.p =.~ =.e.!.l x.d a f+_ n+5+X.s+~ ;+_ x.#.~ a.e.1.E+;+b+~ u+A.e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+j+| q.A .c.#+Z d+(.S.d.z+Z z+z+z+4+c.b c. .q.| r L.r 9.r 9.|.9.9.9.|.|.|.9.&.|.|.9.r 9.Y L.9.Y Y r 9.9.|.&.*+~+h.a+w+w+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"e+u G.n+!.p !.T G 1 a.s+{ v !+p (.v [ n.T p.w i B+/ O.O.l+l+4.*.8.J p.M ( n.++v (.a 1.T s+&+s+s (.s+p.(.(.p.Q (.M ( E+(.$.s+!+s+p.C %+1 E+(.%+{+F {.D.]+g 0 A+I.g b G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.x.e.1.A.A.l l X.'.1.p [.G > a.1.&.G _+m.s X.=.D 1.b+G ;+X.'.G q a._ u+D b+s a._ D E+B ,+u l _ a.E+~ 1.a '.G ~ %.] l , ~ E+a._+w.d a.s =.X.s+&.D A.A.u+q F.#.> G &.D C.'.w.;.5+s b+1.F.;+s+d Q.F.Q.u+s =.p 1.&.s+=.#.D #.;+X.&.e F.&.s+~ C.D %.e.l u < =.v+> =.v+v X.b+X.p ;+s+_+;.X.;+s+;+X.n+=.a.e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+j+q.A 5+@+v+~.F.X.f+..F+e f+j z+o.C.s o.#+c.@+u+ .7+o X L.9.|.9.9.|.&.i+e.|.i+|.9.*+;+9.|.|.|.9.'.9.|.9.|.|.|.|.|.*+C+,.a+3.w+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"e+u u n+p p 1.p s+C.( G p.a.b s+p E+{ !+T T Q W.D.2.O.1+b.z.8.+.F n.(.{ m.J [ { r+a a E+E+C.Q.G 1.G E+s ( E+W.g ) { ( &+(.s ( (.E+}.n.!+1 ( A+F W.g.H H 9 g w y D.K.l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u D [.1.A.A.x.D ;.C.A.] '.s+e.D D ;+D s+b+_+e ~ l e =.G ~ F.;+!.=.s+~ G A.~ G '.F.l F.5 A.l < > f+u+%.p+D '.f+;+n+G.l w.b+1.d &+G.d f+b+&.~ ~ ~ , l p C+b+~ b+_ C._ < a.Q.A.m.Q.m.C.G.n+~ %.C+b+~ b+;.=.s G., '.E+;+D A.&+_ q I ~ > ;+E+:.] l s+d l l G.q =.q ~ ~ F.a.m.A.< ~ f+;+F.s+=.C.q l A.v f+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+V @+o.v+~.,+x.:+:+:+R ,+~.@.@.e %.4+#.e C.Z o.#+o+;.#+c.u+7+L.Y Y Y 9.i+*+i+&.9.9.r |.9.L.9.&.*+*+*+|.*+*+*+*+*+|.|.9.|.&.$+h.B 3.w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"p+G.G.G s+T 1.a p.}.q Q.#.p.n.3+a p T a T p.r+/.) c c w 0. +).1 %+Q (.(.n.J }.p.a r+n.;.&+{ ( E+}.n.E+( ( {.g H H ) }.{ n.}.m.J }.{ C C s.b b w ++9 H + ; ; } + H b G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.p+G.d u+1.s+'.&+a.b+p a.=.1.e.A.1.;+X.u+s '.&+;+F._+_ v+v e =.w.'.X.'.w., &.x.'.C.1.=.> l l < [.1.q d 1.m.u+G ;+A.A.l F.;+!.~ F., ~ 1.=._ X.a.f+l A.D :.s s+m.p _ #.A.5+s < =.s d =.1.a.=.F.&.s s+;.!.u+u+1.Q.b+X.[.&+F.b+a.Q.=.F.#.#.w.C+&+1.;+a.G.l u s e.1.~ m.A.%.b+X.#.=.X.~ D #.m.$.b+~.f+C+p p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+&+v+e D+:+:+:+:+:+] ] :+< :+] @.X.v+C.d.%.s s S.%.C.o.o+o+;.@+V ~ r |.I y.$+*+e.i+*+$+N &.i+$+y.I y.$+t.y.$+~+y.$+*+;+r *+*+*+T.h.3.-+-+-+. . . . . . . . . . . . . . . . . . . . . . . . . . . ", +"G.l G+n._ }.(.s+(.n.m.[ _ J n.}.p.T a 1.a G a 1 p.!+w W.9+)..+!+Q !+) g ) !+(.( !+n.[ 3+1 &+q [ J { J b }.g + 9 H g W.b { {.[ J {.{.{.D.} + H } z ^ ! ! ^ ; } ' ! v G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u l l w._ ~ d s+< < _ ~ m.x.G a.A.X.C.D d _+G w.=.=._ s+s &+p.#.p ;.X.;., w.;.A.G ~ _+=.a.G.u n+_ < D u+~ Q.x.s+#.G.A.G.G a.D ;.D D ;.D 1.d ~ Q., G.l l f+=.=.s < ;.a < ;.1., m.X.m.m.~ _ w.< s ~ =.s+< F._+> _ a.< %.;+_ u+X.] _ ~ q w.l %.~ v _ G l G.l F.C.< C.p l , ;.> ;.w.F.a.:+#.f+D _ ~ q u+] l l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+,+F.,+:+:+:+:+:+:+:+:+:+< :+:+:+@.8+f+%.j s >+..>+6 0+j j j o+_ u+_+X r *+I i+i+e.*+~+$+*+*+z ~+$+P y.P y.y.5 y.9.o 5+r |.e.i+$+I y.h.R.B 3.. . . . . . . . . . . . . . . . . . . . . . . . . . ", +"l G.G.a.++[ ) J J q [ [ [ [ ) ( T a r+G a a n.}.r+n.W.y w M .+p.p.( H H n.n.w w w ) ) w {.[ [ J w ) g w +++ + + + H ++c [ [ H g g 9 ' } } } ; m ' ! : ^ ^ } 9 ; ; Y.u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.l < l G.G.G.A.< G.G.l l u G.l G.A.A.l G.A.A.< l p+A.p+l p+l G.p+l l l 1.e.a.;.~ !.A.G.p+A.G.l l < l G.l p+l G.l p+l l l l l l G.G.A.] l G.u l u G.< ] l G.< p+G.A.G.l l G+l A.< G.l l l A.A.l G.l A.A.A.l l G+A.A.< G.l A.< A.G.l G.< A.l p+e+e+u G.l l l l G.l A.< A.l l A.u l l G.l A.A.A.u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+R R @.@.@.@.@.@.@.:+:+:+:+:+:+:+:+@.8+>+C...=+i.i.>+i.=+6 C.o+#+m.c+7+X j+9.r i+i+$+$+I $+i+$+y.y.y.y.y.y.y.y.I *+(+~ |.~+~+$+$+~+*+> ;+*+v.w+. . . . . . . . . . . . . . . . . . . . . . . . . ", +"G.G.G.3+`.++++v [ ++[ [ [ [ J !+r+1 ( C E+}.) 3+}.++++H [ 0 ( M 0 w H ++w D.++++H ) [ g H H H H >.+ } H + ; ; ; + + + + ; } ; m m z ! ' ; ; ; ^ ^ P : ^ P N z m N ) G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.G.l u G.l l u l G.G.G.l u u A.l G.u l G.l G.G.G.p+G.u l G.G.G.G.G.G.X.a.C.n+l l l G.A.G.l G.G.G.G.G.u G.G.G.G.G.G.G.G.G.u G.G.u u u G.G.G.e+l G.l l G.u l G.l G.G.l G.l G.G.u G.u l l G.G.u G.l l G.l G.G.G.l G.l G.G.l G.G.u G.G.p+G.G.e+e+G.u G.G.G.G.u G.u G.u u u G.G.G.G.u l G.G.p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+@.R @.@.@.@.@.@.@.@.:+:+:+:+:+x.:+:+@.R X.x ~.i.i.i.=+x =+E.4+c+z+;. .f.A q.~ j.j+r j+9.9.i+r i+i+i+M.j.i+y.~+i+|.9.r |.i+9.9.i+9.L.6+6+b+9.*+$+:.,.. . . . . . . . . . . . . . . . . . . . . . ", +"u G.G.;.>.++g ++[ ++++++++[ ++{.M }.{.{.{.) ++++++D.+++ 2.D.++++H + H + H + + + } g H 9 9 } H 9 ; ; ' ; ; ; ' ; + + + ; ' ; ; ' ; ! ! ' ' ; ; ! ^ : : : P 5 f f 5 _+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.e+G.G.G.G.G.p+G.l p+e+G.G.G.G.l G.l l u l l G.u G.G.p+G.u e+e+e+G.l < l l p+G.l l l G.G.G.G.u G.l u G.u e+e+u G.l G.e+G.e+p+u G.p+e+p+e+A.u G.l G.G.G.G.G.u l l G.G.l u l l l l G.G.G.l G.G.G.u G.l l l l G.l l l G.G.G.l G.e+G.p+e+u e+e+e+e+e+u l G.e+G.u G.l G.G.e+p+e+p+e+p+G.e+e+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+R R R R R R @.@.@.@.@.@.@.@.@.@.@.@.@.!.,+,+x i...6 i.=+i.0+4+#+q c.f.A A q./+`.q.X X X q.q.X q.7+ .o+c+6+o L.9.Y (+L.(+r (+o (+~ o 7+6+> (+9.'.|.T.,.w+a+a+. . . . . . . . . . . . . . . . . . ", +"G.G.G.;.I >.++g ++++++g ++D.H D.2.D.H D.g 9 } H + + + + + ; ; ' ! ' ; ; ; } ; m ; m m m ! ^ ' ' ! ! ! ' ; ; ; ; ; ; ; ; ' ' } ' ; ^ ! ' m N } ^ : : : P f 3.B f f =.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+p+e+e+G.e+G.p+G.l e+p+e+G.e+e+p+u e+e+l e+u p+l l l l G.G.l e+e+l e+e+e+e+e+e+l e+e+e+e+e+e+p+e+e+e+e+e+G.e+e+e+e+e+e+e+e+e+p+e+G.u G.G.e+e+G.e+e+G.e+e+e+e+e+e+e+e+G.u G.G.G.G.G.u G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.e+e+e+e+l u e+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+!.!.w.R R R R R R R R @.R @.@.R @.@.D R R R ,+i..._.>+>+i.%.a.#+c. .E f. .E A .A .v .5+@+u+@+#+j ..s j l.l.o 6+d h+7+=.f.d h+A _+6+5+> > o (+(+'.y.t B t ,.,.w+w+. . . . . . . . . . . . . . ", +"G+G+l { I I g H H g `.++H } ; ; + ; 2.H ' } ; ; ; ; + ; ; ; ' ' m ! ! m z 3 : 3 3 : P P P : ^ ! ! ' ' ; ; + ; ' ^ 3 3 ! ! ' + } } ' ; ' ' } } ' ! z ^ P 5 f f B 3.=.l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+!.,+,+,+!.!.!.R !.R w.R D !.!.D w.R R D R D R i.6 2 E.6 >+2 a.c. . .f.f.f. .f.A .@+z+4+4+j Q.z+2 6 e r.E.j 8 c+k+c+@+d 7+6+5+5+l.6+V 6+h+h+6+> (+Y *+~+y.v.v.t ,.B ,.3.3.w+. . . . . . . . . . ", +"G+G+l 3+N f N H } N b+>.3 5 z 3 ^ ! ; m P I f : ! ; } ' ' m ! ^ z ! : : 3 5 f 5 5 5 3 P 3 3 3 : ! ' ' ; ' ; } m P f 3 ^ 5 3 >.H ' ; ' } ' } } ^ I z I 3 5 5 C+f B =.A.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+,+,+,+,+,+,+,+!.!.!.!.!.!.R !.!.!.!.!.!.!.!.!.=+..C.2 0+6 Q.Q.@+ .f.f.A . . .f. .z+r.f+F+f+f+r.f+e x ~.e f+6 %.o+Q.#+u+5+6+6+l.5+6+=.7+=.h+h+(+(+Y |.y.y.v.t v.,.t ,.B h.B 3.. . . . . . . . . ", +"G+l G+E+a.3+3+}.{ { { Q.m.;.;.;.;.;.3+Q.;.;.m.;.3+3+{.{ Q.{ Q.3+{ Q.{ 3+;.;.J J ;.J J ;.;.3+3+{.{.{ {.{ {.}.}.{ { 3+a.}.a.3+}.n.{ }.{ }.{ }.{ 3+3+{ Q.3+3+;.;.;.;.#.l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+,+y+,+,+,+,+,+,+,+!.!.!.!.!.,+!.!.p !.!.!.!.!.~.i.C.Q.2 0+j Q.q @+ .@+ . .@+@+@+c.%.e e X.X.X.X.~.8+,+,+x ~.e >+0+0+4+c+u+@+@+c+l.5+=.o h+6+k+> (+b+L.*+$+y.~+y.y.y.y.y.e.$+:.B B B . . . . . . ", +"u G.G+G+G+G.G+4 4 G.G.G.p+p+G.G.G.G.G.l p+G.G.G.G.G.G.G+p+G.G.p+G.G.G.u G.G.G.G.G.G.G.G+G.u G.G.G+G+G+G.G.G.G.G.G.G+G.G.G.G.G.l G+G+G.4 G+G.G+G.G.u p+G.u u G.l p+p+A.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+F.F.F.8+y+1.1.1.1.8+,+,+1.,+,+1.,+,+8+,+,+,+,+F.i.%.a.0+0+j j ;.#+q #+#+#+3+z+o.C.s+X.~.=+~.~.8+8+8+,+,+8+8+~.e ..f+s C.z+Q.#+8 l.f.V h+h+6+l.h+(+> L.|.$+y.~+$+~+~+T.~+9.V.V.N.[.:.R.w+. . . . ", +"G.G+G.G.G.G+G.G+G.G+u u G.G.G.u u G.u G.G.u u u u G+G.G.u u G.u G.G.u G.G.G.u u G.G.G.G.G.G.G.G.G.G.G.G.p+G.G.G.G.G.u G.G.G.l G.G.G.G.G.G.G.G.G.G.G.e+G.e+e+e+p+G.p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+~.~.~.F.F.F.8+8+8+1.8+8+,+1.1.,+8+1.,+1.1.1.,+F.G 0+C.2 2 j j 4+o+o.Q.z+Q.C.C.2 s =+F.F.8+,+8+8+8+,+8+8+8+8+F.~.e e v+%.C.4+8 ;.8 l.V > h+6+k+> > (+(+9.|.*+*+*+|.*+~+|.(+6+> h+(+m+[.C+w+. . . ", +"G.G.u u G.G.G.G.G.G.G.G.u u u G.u G.u u u u u u u G+G+u u u u u u e+u u e+e+e+e+e+e+e+e+e+e+e+G.G.G.G.G.G.G.e+e+e+e+G.G.p+G.G.G.G.G.G.G.G.e+e+p+e+e+e+e+e+e+e+p+e+p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+~.X.X.~.~.~.~.F.F.8+F.F.F.8+F.8+8+F.8+8+8+8+8+~.G 6 %.0+E.%.%.j j z+a.C.d.%.s %.r.X.~.F.~.F.F.F.F.F.F.F.F.~.F.F.X.e f+r.v+0+2 j Q.l.5+h+6+6+h+> > > (+b+'.|.*+|.Y |.N.9.> k+k+l.l.l.l.N.w+3.. . ", +"e+u u G.G.u u u u u u u e+G.e+e+e+e+e+G.e+G.G.G.G.G.G.u G.u e+e+e+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u e+e+e+e+e+u u e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G X.e e G G G X.X.X.X.~.~.~.F.a ~.F.F.F.F.F.F.X.e &+6 ....v+E.%.2 C.0+E.s r.r.r.e ~.F.~.~.F.~.F.~.~.~.~.~.~.X.X.e e e s+f+E+v+%.C.o+c+c+_ l.l.k+6+> > h+(+Y (+m+o o (+> k+8 8 8 k+k+h+m+q+h.C+C+", +"e+e+u u u u G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u u e+e+e+u u u u u u e+e+e+G.u u u u G.e+e+e+e+e+u u u u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+", +"e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u e+e+e+e+e+e+G.e+G.G.e+e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+"}; +#else +/* XPM */ +static char * banner_xpm[] = { +"640 64 89 1", +" c None", +". c #030304", +"+ c #0E3833", +"@ c #075A83", +"# c #32728A", +"$ c #628E9A", +"% c #8AA9B4", +"& c #A4BCC4", +"* c #AECEDE", +"= c #CEE2E2", +"- c #3A565A", +"; c #063243", +"> c #1A3A2E", +", c #E5E6E9", +"' c #062418", +") c #ECEAEB", +"! c #69787A", +"~ c #48656C", +"{ c #EEEEF2", +"] c #021E12", +"^ c #363636", +"/ c #86959C", +"( c #021A12", +"_ c #F2F2F6", +": c #083D48", +"< c #345057", +"[ c #0A2E22", +"} c #A4AAAC", +"| c #F6F6F6", +"1 c #0E2E26", +"2 c #74727B", +"3 c #104555", +"4 c #5B5C62", +"5 c #16121C", +"6 c #EEFEFE", +"7 c #BABABC", +"8 c #324A36", +"9 c #0E251D", +"0 c #084976", +"a c #797A86", +"b c #100E16", +"c c #526A6E", +"d c #BED1D3", +"e c #958C98", +"f c #2A2F2D", +"g c #B9ADAE", +"h c #CAC4C4", +"i c #9B9AA0", +"j c #204244", +"k c #FBFAFB", +"l c #40423E", +"m c #0E0A1E", +"n c #48515B", +"o c #85828F", +"p c #312E41", +"q c #222222", +"r c #F6FEFE", +"s c #D2D2D3", +"t c #3B3A56", +"u c #527783", +"v c #44405A", +"w c #67646E", +"x c #0A6389", +"y c #22627A", +"z c #A1B6B9", +"A c #211E26", +"B c #DDDADF", +"C c #181820", +"D c #23243B", +"E c #6696A2", +"F c #254E5A", +"G c #376373", +"H c #554755", +"I c #0E060E", +"J c #FEFEF6", +"K c #2D3055", +"L c #748D93", +"M c #06507C", +"N c #62828F", +"O c #0A0A0E", +"P c #585266", +"Q c #FEFEFE", +"R c #728489", +"S c #332418", +"T c #474855", +"U c #B8C6C8", +"V c #7798A6", +"W c #686D76", +"X c #E4E2E3", +"rrQJJJJJJJJQQQQQQQQQQQQQQQQQQQQQQQQJJJJJJJJQJQJQJQJQJQJQJQJJJJJJJJJQQQQQQQQrrrrJQrrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQXXXXXXXXXX,X,X,XXXXXXXXX,X,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,X,XXXXXXXXXXXBBBBBBBBBBBsBssshsshshsUhhU", +"QQJQQQQQQQQQQQQQQQQQQQQQQQQQQrrQrrQrrQrrQrrrrrrrrrrrrrrrrrrrrQrrQrrQrrQrrQrQJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQX,,XXXX))),),),))))XX),),))))),,,)))))))))))))))))))))),),)))XXXXX,BB,,XBXBXBBBsBBBssBssssdssdsh", +"QkQJQrrQrrQQQQQQQQQQrrQrrQrQQQQQQQQQrQQrQQJrrrrrrrrrrrrrrrrQrQQrQQrQQQQQQQQJJJJJQJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQXX))))XX){{{){),),))){){),){){{{{{{){{{{){{{{{{{)){{{){{{{),{))),,,),X,,XXXX,B,BsB=BsBdBshshshsh", +"QQJQrQQQQQrQJQJQJQJJQQQQQQQQkkkkkkkkkkkkkkkQQQQQQQQQQQQQQQQkkkkkkkkkkkkkkkkJJJJQQQJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ),),)){_,)),{){{)_{{{{{{{__{_{____{_{_{{_{{____{{{{{{_{{{{{_{))))))XX,X,XX=XXXBXXBBBBBBsssssdsss", +"rQrkrrrrrrrrrQrrQrQrrrrrr6rrrrrrrQQQQQQQrrrrkkkkkkkkkkkkkkkJrrrQQQrrrrrrQQrrrrr66rkJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)){{{,)_{_|{{{__{{{{________||___|_______|_____|______{_{__{{{{{{){),,,,XXXX,=XBXBBBsBBBBBsBssds", +"|r|}RRRRRRRRRRRRLL$LL$LELLLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVLLE$%rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ,{,{__{{_{______{_{_|__||_||_||_||||||||||||||||||||__|_|_____{_{{{{{{{,),,,,,,X,XXXBBsBBsssBsss", +"k66L:3333333333333330030303000000000000M0000000000000000MMM0M0000M000000000M03000c|rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)_{{___{|_|||__||6)_|r||k||r|kk|kkkkkkkk|||k|k|k||||||||||||____|{{{{{{{)),,,X,X,X,XBXBBBBBBBBBB", +"J6_$00030300M000000000000000000000000000M000MMMMMMMMMMMM00000M00000M0M00000M000MMu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ_{{____|_||||kkkk|||k||kkJkkkkkkkkkkkkkkkkkkkkkk||kkk|k|||||k|_|_k__{{X,,,)))),,,,B,XXBBBBBBBBBs", +"Qr6$0000000030000000000MMM0000MMMMMMM00M0MMMMMMMMMMMMMMMMMMM0MMMMMMMM0MMMMMM0MMMMu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ____|__|||kk|kkkkkkkkrrkkJkrkkJkJJkJQJQJJQkJkQkQkkkkkkkkkkk|||||_|__sieoiiigg7hsXX,XXXXBXBBsBsBB", +"kk6N00000000000000000MMM0MMMMM0M0M0M0@MMMMMMMMMMMMMMMMMMMMMM@M@MMMM00@MMMMMM@MMM0u6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ___|_|||kkkkkkkkrrrkrkkrQQJkJrkQkkQQrQkkkQQQQkQkQkkkkkkkkkkkkkk||k|)ooeeeeeeeeooooi7sBBBBXBBsBBB", +"Jrk$0000000000M0000M0M0MMMM0MMMMMMMMM0M@MMMMMMMMMMMMMM@M@MMMMMMMMM@MMMMMMMMMMM@M0#kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ___|||kkkkkrrrrkQkQkQQkkkQQQQQQQQQQQkrQQQQkrQQQkkkkkkQkkkkkkk||||_seaa22w2aeooe2eeeeeigggieaweg&", +"kJ6N000000000M00MM0MMMMMMM0@MMM@M@M@M@MMMM@M@M@M@M@M@@M@M@@@@@@@@@M@@@@@M@M@M@M@Mu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|||||kkkkrQkkQQQQQQQQQJQQQrQQQkkrQQkQQQQkQQQQQQQQQQQQkQkkk|k||||_ia2222w22woo2o2geooeeeeoaoeo24v", +"JJ6L0M0M000M0MMM0MM0MMMMM@MMMMMMMMM@M@@@@M@M@M@M@M@M@@M@@MMM@M@M@@@MMMM@M@@@M@MMMu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ||kkkkkrkJQQJQQJQJQJQJQQJkBsBBh,ss)||kQQQQQQJQQJQQQJQJQQkJkkkkk)ge22o2wawwP22ww22wHwaghggeee4Pt5", +"Jr6E000000MMMM0MMMMMM@@MM@M@@@@@@@@M@M@@@@@@@@M@@@M@@@@@@@@@@@@@@M@@@@@@@MM@@M@@@u6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|||kkkkkQQQJQQQQQQJQQQQJkBie}}iieiiiih,X|rQQQQJQQQJQQQQJJkJkkkXgeoaoeawe2wPPHvHHHHtHweoeeee25mI.", +"JJ6$MMM@MM0MMMMMMM@MMM@@M@M@MMMM@M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M@@@@@@@@M@M@u6rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkkkkQQQQQQQQJJQJQQQJQrrJQsiiig}ieo/eeiiig_QQJQQJQQQJQQQQJk|{X7oeo2a2ooe2w2wHHvvttvvHP2wP2eeHIII.", +"Jk6EMMM0MM@MM@MM@MM@@@M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x@@@@@@@@@@@@@@@@@@F@y@@u6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|kkQQQQQQJQQQQQQQQQQQJQkXhig7gieoaoooLoeohJJQQQQJQQQQQkkrkhea2weeeow2oeo222HvtvttttHwHPHHHAI....", +"JJk$MM@MMMM@M@@MM@MMM@@@@@@@xx@@@@@@@@xx@@@@x@@@@@@@@x@x@xx@@xxx@@@@@@x@@xy#uE%$@u6rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|kkkQQQQQQQQQJQJQJQJQQQJshghhg}eLoaRoooooikrJJJQQQQJJQQ_}iiow22gee2w22owwPwPvttttttvPHPHS5II....", +"Jk6VMM@M@M@@@@@@@@@@@@@@x@x@@@x@xx@xxxxx@xy##yyyyyy##@@@x@xx@x@xx@@@xx@x#%%%***&Nu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJQQQQQQQQQQQQQQQJQQQQQQ_BgghhhgieoooooRoResBsXBX|JJJJJ)Bigiow2eeoePwo2owPwwHHvtttHvHHHt5I.......", +"JQ6E@M@M@@M@@@@@@@@@@x@@@F#EVc@y@x@x@@xx@yEd*%%*&%%%&$yyx@@x@xx@x@xxx@y##%&%%*zVV/rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJJJJJJJQQQQQJQQQJQJQQQ)hhhsXhgiooaNaooaaReeei/eis|JkB}eeie22oooeow2222wwPvttKtttvvtKCmII.......", +"JrkEMx@@@@@@@@@@@@xxx@@x@uz*UU%N#Gxxxx@yy#Ed*=&&***&%%%NE#y@xxxxxx@@@xxyGu%U7%zz%&kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJkQQQQQQJQQQQQQQQQJQJk|BhhBhB7g}LaaaRaNoaaaooLieeehho4PPHw2eeeo22w2ewwwwwwtttvtKKDAmIII.........", +"Jr6V@@@@x@x@x@xx@@@x@xxyEddd*****%EuuGuuGN&z7d}%}&*&%%E%%%#y#xx@yxxFM+33~#u}s&e&&UrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJJJJQQQQQQQQJQJQQJJJJ|BhhBBXhgeeeoaaaaaaaa2WWcwwwwPTvvHPvPPPw22o22e2w22oPtKDDDmmmmmI...........", +"JkkE@x@@x@x@xxx@x@xxxMyu$&=U*}LV%%E%%E$~~ii}zUd}%*zzVVuE%#u##@F@#y3:;;jyGVNEz&%R&UkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJJQQQJQJQJQJQJQQJJkBXBBhBXBBsgoiio2W2w44PTTHTvvttvPvtttvvvHtHvtt222wHvHtDmmmmmmmII.............", +"Jr6E@@@x@@xxx@xxx@@yGNNEER&X*d%VWNVENNG#~eLoiddU/&*%Nuc~VGGuy3;:3;;;:M~u--GuV%%c%}6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJJJJQQQQQQQQQQQQQ,h}ghhBhhBhgeeiiawPvvvtvvtvtttttKKKKKvvHHvKttpvtwwHHA5mmmmmmmmI...............", +"kQkV@xxxxx@xxx@@@G#$z%VLVa~7,=7eVLV#FF~~N!L/a/zzV%*VF-RuLuy~G3:;;;::3yxF@-jjcVcFGVkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQXsskQQJQJQJQQQQJkBggihhhhhgeeiioaPwvtvvtttKKttttKKKKKKKKvwePHpHvpHpKSDm5mmmmmII.................", +"|J6E@xxxxxxxxxxx#%z%%%VaRu~L=B=sz}NGFnuVcNucWcoLLV%uF#/V%uc#GF:F+G:;;3yyj--y~LcFuRrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ4e7BrQkJJrJJkkJ|s7}ggghggeeeeiowPPvtKtttvvtvvttKKKvtKtKKvtHHtvttp5S5S5mmmmmm..I.................", +"k6_%xxxxxxxxxxy#VN%%%%VuRu~-/UX7z}NF~EoVNN!WuWLL!%$G-NuN%LN-3->3GG::0y#F0;FGccRa%irQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQvnw!oiBkk|,shX|7}eihgeo2eeoooPHvvPvvtttvvvvvTvttvvtKtttttttvvHK5S5555mmmmII....I................", +"kr6Exxxxxxxxxx#EE$/%*}%N%--Guz==d*%uuNPNuacac!/&NL~30Gc$%VNF0GF:uF1F#F0;3;:-Fc%R/&kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKtnP4wWig7h77}giieigeao22wwHPHPttttvttttvttvvttvvvvHvvvvtvvK55AS55555mmmIII.....................", +"kr6%xxx###yx##uNaV%%z*/#uGF3F~Vdd*EG#Gw/oRaLacPcGu~jF~uLLR!FjF#FGGFyFM:0F;3Fu~$%N}rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkQkQQQQQkQkkQQkQkkQkQQkkQQQQQQQQQQQQQQQkQkkQkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkQQQQQQQQQQkQQ|QkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQttKTnP4wW2i7}iiiiiie2oa2PPvvtvtttvttKKtKtttvvvHvvHvvvvttKtp5555555mmmII.........................", +"Qk6/y#uyu##yG$RN2/}R/&N#GGFFuu<VdzG3<u!%NVL%&$/~c$#j3u%Voac%~FFuFF@+::FF$G0:3jFyGz6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkkQ|X,XkQQQQ_{,X,|_X,_kkk|)XX,X{|kkQQQQQQQQ|_X,kkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkk_X,|kkQQQQQQQQQ|X,{kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKKKKvTnn44wa/ooLooeoo2PHHvvvtttKKvtvttKvtttvttvvtvtttttSSm5m55555mmmmII.........................", +"rQ6VuEFFu~uGuuNao/}~N%VFMF0#uujFV*VGFNoVLN!VU%VcGRVFGN%%WN/=z<<N33:;3y$GN%j0~GFjFc6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQk7b.OXQQQJ|P..TkB.5hk|JJT...5lg|QQQQQQQQQki.q|kkkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJkB.bhkkQQQQQQQQk|f.eQkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKKttKvTTnn44w2aooooaPPvvvttvKKKKKKKKKKKvvttttKttttppSSA555mmmmmmmmmII.......I...................", +"rrr$G<<;auuFPuN!uRiTPN$@FM0u#FFa/VVFG%B=*%G3FnG4Gc~-GciVaV**d&GcjF;33FG-u$-3Fy@j#crQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJk7O..oJQQQXbI.TJB.5hrkrkT.OCI(AsJQQQQQQQQr^..ikQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrXCqhrkQQQQQQQQJkf.erJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKKKKKttTPnnPPP4wWowPvvKttvttKKtKttKKvtttKtDtKptppCS5Dmmmm5mmmmmmmIIII...........................", +"JJrRNVR<F<uNvRRVRLouGu-y@:FuujGN%V!FW&UVLG;33;FccN-3<G&&Ra/=dd&cFu3:FGG#-~F3GuGyNRrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJrJ7bI.^kk|ki...lrB.bhkQJJT.4s}CI/kQQQQQkJk7.IbTkkQQk|Bgh_QQ|X77XkkQk|X7gs_QkkkQ{s}7X|kk_77,|||X77s|,B_BA.oXkkQ)hg7)kQQJ|sgh_kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKKK0tttvvvnnnnPnPTvKtKvKKKKKKKtttKKtKKKpKppDSCA5mA5AS5mmmmmmmmIIII..............................", +"kkkL-ciG3F;uG--~~-o~PN<F0330Fj<G$uu!z**y;:03F0-LVLuGcNL2$unN===Lc-;3yG03Gcc<~<~u$u6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJr7O.f.srJJnOf.lJB.(hrQQJl.Wk{f.oJQQQQQkrk4.TOOskk|_obOOTBkhf..qg||,W5OObnB|k|slbIOAWXkXO5U|{o5..OwTI}f..IT{k}fb..f}|k{Wb.O4{QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDKKKKttvvvvvnvnttttKtKKKKKKtKKKKKKKpppSSC55C5mmm555555m5mmmmIII.................................", +"kk|V-cN!cu<PNnjcGRVw~auyM:0FF}%RN;GEE%~:033yF3F~VeGcVNu~/uc>c&dduF0FF:3jFLuNNN~G-~kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJ7O.e.2krBbqw.TJX.bhQQJJT.H}2557|QQQQkJkXC.7n.wkkr7bOlCba{lI^fO^,_4Obnnq.fB|sqOAPlbb4|B.bh|o.O^PfOO.}nb.Cw{}bOlPtOb7k}ICn5OiQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDCKKKKKvTvnvPtttKtKKttKptKKKKtKDSpDDSAA55mmm555mmmm5mmmIIIII....................................", +"Q|k/c/W~uNGuG-j~GaR%7zWGF3:33co-cFG0F0:330G;--<-/%/N<-#cu~u--FN%zNFuGFG0-G#ucFF0>G6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJ7b.sCq_JeOoW.lrB.bhQQQkT...I.P,kJQQQQQJo.A|}.CX|JoOq)7L}XC.}BLe{}Ib}_ksq.2k4.fXk|afShB.b7sCOa_J{WIO}|fOek{q.w|J|oIl|W.^_}ohkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKDKKtv0tvtvvKKKKKKKKptKppSDp55A5D5A55mmmmmmmmmmmmmmmmIIIII......................................", +"kQk%~WWcN-tGFutGW~%UUdcF3MF0GVi/NF33:3:0F3$NLL%Ra/UV<FMFGG-~-;FF/%GuGy-;:<uNVNcjFc6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrk7O._T.7k^Oh2.TJB.bhQQkJl.(SqbOw_QQQQJk{q.nh7O.eJ|7bOTiXk,lIfah)kP.4|kJko.q)OO}rkkrBX{B.5hiOqXk|rBA.}Jq.ok7b.ei}ii.IB}ICn}XrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQCDCKDDDKDKKKKKKKtppKpppK5A5mmm5m5mmmmmmmmmmIImmmImmIIIII................I.......................", +"J|kzunoou<<~c<FcLa/d}s%GF3:~--aV~3:0::0MF0%VFca%/LeooGjGGGuuGF;jG/V~c-F::-GG!$uF3~rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQk7O.{}.wsOf_W.lJB.(hrQJQT.wBBo(bsJQQQkJ}O....O.f_6_LqI.qg|hlOI5W{f.o|kJJg(.hOOhkkJJr6JB.bU2.^kJkJ|^.}kf.Lki.OO.O.b.Og{WCI.fUJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDC55D5DC5CKKKKpvvvHvtHHSDmmmmmm55mmmmmmmIIIIm5mmI5III.mmI.m..........Im^.......................", +"kQk&LGoeR~GLc#nLNnjN&}dzuF3E-NVG33;:3:333:-u~NaReoLuWUo<4cuu#>:jN2%/#c<3F03uuE%u+c6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJrJ7O.{,5ba.o|2.TrX.OhQJkkl.WrJBA.gQQQQJ|TICpfffO.g|k|Bef.l{rXgnbb7n.4|kkkiOCXb.gkr|k,,_=.5he.f)||kXq.}rS.ok}O.PWwW4Wws{|heAInQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDD5DCDDDCDDKKppppppttptv5Dmmmmmm5mmmmmmmIIIIImA5mm55mmIm5m5CC5ObOIObmS5Sv5ASSAbAb5CbAC.5bAI5.bCC", +"kkkU}&2i&L-u~<-!NL<>u/z&uF~NN/iF;033:30;:>K~aeL%VzVaWUB}uc<juc;><NLLRu##<GFFLN$F+~krQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJr7O.)k4.5bsk2.lkB.5g)))Jl.wXXebOhQQQQksb.iXXXBT.P|alaki.fiTPBsqO}iIC7k|sf.w|n.lBJk}p^7X.bhhb.o_k_oI.}kf.eJXqOL)||iW!{wTek2I^JQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKKKKKKKppKppppSpDKK5Ammmmmm55mmmmmmI.I.IImmIIII...I..I............ISI...IIIII.ISS.IIIIIIIIO", +"kkk7%}z/%z/nFj-RLu->c-uuN%L/%-#3M0:3;3j;+3+;c/aac/z%LsB)du-+cNcF+FGF<<~<0-$G--<3;G6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJk7O.)J}..lJkW.TQsI.DffTXT.Cff.O4|QQQJJw.C{JJJJ}.OsoO5PfI4sqbTnOSs)n.C4wS.fh|hqbfW4COP_B.5U|WO5TwTbOIg|f.okkoIOlWnb.okWO]wq.2QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKtKKvtvtppppDKpKpKDKKDD55D5DA555mmmmmmImImIIII.....................I.......................", +"Qkr7a/%/}%U%<><LR-W--Nj-uN!LF3F::::;:;3<ccGF~c~2-2e/}sBU%i~GVNRP<+;::0-#G:F33;;j;-rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrJk7bO,J_COi|kWOlJB.I...SBTI..bqWX|rQQJ,CIoJJJrJ)A.2B4b.bls|/COOAi_JX45..Ols|kJ7l...bwXkXOb7|)w5..OPT.}|fOo|r{eSIOOCa_ksTOOOPBJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKKttvttvttpKppppKpppDKKKKDDDDADA5mmmm.mmImIm.III...........................................", +"kQQXL!LRizd=%GlV!-<-j~-8F;<<j3:M3:;3;3<Nc~>FcNcaccR%%dz!z=/NGj<N!~jKF+3:3;:-<:;3jurQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJJ,hhkk|sh{k_Bhsr_hhhhhdkshhhhB|||kQrJ_hhXJQJJk|shsJ)7i},k|kh}iskk|k{h}}h,k|kkJ,7iih||k{hh{k__s}i7{Bh)JhhXk|kkX}i}s_||k)gi7{JQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKKttKvvvtvKtppppDDDDDDDDKDDKDDKDDDCDm5mmIIImmm5m.I.........................................", +"Qkk)BecW/%z==%c!~-G>8<jc<;+9;3::;:3:F~$zu-~4~~//aLLNV~-8u%u<3P~LdUcFFj3F~3;G%Nj;>crQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrJk|k|r|kr||kkk|Jk6krrJkJrrrrrkkkkJQQQrrkkJQkJk||J|||Jkkkk_J|kJkkkkkk__|rJkk||kJJJrrkkrkJk6k||kJJkk|rkJrk6|k|kJ|kkk|Jkkr|k|kkJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKKKvFtFvvTTHPtppppKDDDKDDDpKpDKDDDKDDD5C55mmmmm5m..........................................", +"QkkBBUWL}}hs=UoRc<~j-c;NL-1;:j:::;F~-L&7VR//ViU&z%LF1:tVLc-G~uL7=dd%yjFMFjF-G!Fj>-rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJ|rkkkJk|kkkkk|kkJkrJkkk|kk|kk|kkkkkJkJkkk|kkkkkkkkk|kkkkkk_|kkkJkkkkJkkkkkkrJkkJkkkrJ6kkJ|k|JkkJkkJkkkkk|JkJ|kkkkkkkkk|kkkkQQkkQkkQkQkQkQkQQkkkkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQCDKDKKKKvvvTTn44wWPvpKDDKpDDDDDDDDAKDKKDKDDKDDDDC5555mI.........................................", +"krr7ssU}iR/Uss!4W~c-:3+FNWK;;;;+3F-uLUdaPWR2cWR/}L-j-cu/uuW/N}*&d7UU%~;+;+FF>N/F+~6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJkkJXiP2s||J|||krk_kkJkk_k|k|g7h}Bi,|r|kkkrk||kk|7}||||||kkJJs}X/)_kkkkJkkkkJkkrkkkJkkk||{iBkk|kk|k|kkkksi_||kihkkkk|||k|}hkkkk|kkkkkkQkQkk|}hk|k,o_kkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDCKKtKvvFP4wuwW22wHKKKDppDDDDADDDDDDDKDKKDKDpDDDDC55mIO.......................................", +"JkkdhXBszLw!&=/n<8L#::j#Lc;33:;;jj-R}zU!!!4N}*7%N4u%}z%RaVi%zdUU*&}%}%~;[;;1;4z%c!kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJkBln}lq)|{Bk||k,)||,{|Jk|k|4oawXi_|),Jkk){k|krsq}J{Bkkkk{_|e4h^h,|kk),k|rkkk){|kk)Bk),kBfdX|rk|X{J||,X/P||X|f7k_B|kk|B,^gkk||_||k||_,|kkk{^}|_Bhf_kJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDKKtvvvPwaaW2aWWa2wwHKKSDpDDDADKDDDDDpDpDpDDSpDDpDDDACII......................................", +"kkkXss=ss%RRW%sRj84%V~>8FFF:::++:-Vz%%/!/}z&U7}i4Wz}z%L/%ziL/7dzUzi}%iL~<F1;j-!/%z6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrkkW4)J|7,iff4_2l^^,}f^hPh)nU^aCAo2i^^fs)4f^l7||lb}e^f2{4^}khCAaC^f7)offo|kkB4^q7XSTq4^fih5lfn{s4^fU)2fffosT^^CX}ffn|sl^lqsr,TU}4,n7g^f4,o^aAh}f^^P|JkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDD;Ktv-~wa/%eaaaa2a2PwPPvKKKDDKDADDDDDDDAADDpDppDpDpDDDDAC5.....................................", +"QrkXBssU7}a}!nzsin-LU&~<F0:::;;+luzL/L8n/UsUzi}/i}&/iz&iL/%i/}}}z%V}}%/LL!8jjLNGj~kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJXAs||kk7qssC7^ahq7Twi7lXhf7f7q7wa4PXfea4XiOhJk42}fsUq7^e_J)^}alBT!el7}qB||P4ho^7qXoqBWne^hhf}TWh2nilBhqgloXof7qghq}^oXeAJJ_li^lin7f7sf}TW7f}f7XlaQkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDKtvPPi7h7}iig}aawoiWwwPPHvttpDDDDDADADDDDApDADDDSDDDADADDAmI...................................", +"QQr,sBss}o/7z2c}s}!zUd&cj33M@j<NRLi!wc-aUUU}io27s7}i/iuj~!/i/i/iiRL}}/NRu-+>1jcu8~kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJXCh||XXWo|{S}AXXfX}fTg^rgl7^hfsl}^7|^7qhJh(_k_^}Pe|Xq}fXJrBfhniJT}fq^^^)ksb^^^4o4_aW|w2woJ,^eb^^^WleJ{f}fB|i4w]^^f}5{|}TkkJwl4^^haw|_^}Shglo4k|n}kJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQtPWi7sX)))BhhXXge2ogoaWwW2wPPvKpppDDADADDKDDKDDAADDADADADADDAAbO................................", +"kJJ7}*hUzRw2ozLWUsUUdzU%~<-~Fc%z/z%iLWRzUULWi!/%RLi//!j>>-R!LNwuRa%%Ncc~81>+[[1++c6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|kJTPs}qiafsalsAkhf7Pefifhl4inglBq7fs)qXfohl^kk|Ahwlswn7f||khfs^h)^hl47a}k|XC/}ws4o|ni_liTlhalhqe}WsPPsWf7Cih^22lheosbisfaJkkeAs^w|e^7ol7^XowL^hibskQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQiigB))))){{){))X7eooeeeeoo2w2wHvpKDCmAAADACADDA5C5CC5CCmAAppAAAC5I..............................", +"Jk6L4RiziLw-4WLRzdhhU7U}z}~uV%zz&}~>~}//}L82ziw8W!ucRj11>luca!8W!!!8[+>19]''][1']nrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrkJB4^ng__4^wX72|7oXnl7Bll4}iizosW7W)BW|7^TlaJJ,4|Xn^2X}oJ|J7aXWXXWXsT^2)Jkk}ll/_WU_wh)w7ww^4B|/^lg_hl^4a|ef4P7{4^wBJe^n47|JJha_osk)W^2Bh!{o}B4^wn_kkkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQshs)))))))))_))))hieaigigeeaao2PPHtKACDDCD5AAACCCC5Cm555DtTpAADAC555I...........................", +"kJJa8--Wc4-8-84/dUU7UULRULuucVzzz/>>RLc~~4~~!n<W~~>c8++++>8<-->jj1'11[[[''(]]11[1-rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJJJ|_kJJJk_JJkrJJkJ|kkJ||_kk|kJJkJkkkrhAaW^s|Jk|JkJ|kJkJkJ|kk|J|kJJJk_kJrkJJ_{JJ_JJkJJk6J||JkkJk||JJkk|kk6|||Jk|_|r|J_|kkJJJJJkkrJk|_|kJ|kkkJk||krJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQBBXXXXXXX))))))))Xhioegggiggeo2wwPvKKDKDDCAC5DD55555C559Ap^DCCCCCA^fAb..........................", +"JJJW888n-88n--c}U}/i}!~WR88>8L/LL~>8c888>--j>>>>f[1>+[['++++[[[9[]''[[[](((](1C[94JJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJJJJJJkJJkkrkJJJkrJ|kJJkJkJJJkJJkJJJJJJ72o,kkkJ|JkJJJJJJJJJJJJJJJJJJJrrJJJJkJkkJJkJkJJkJJJJJJJkkJJJJkkJkJJJkJkJJkJJJJJkJJJrJJJJJJJJJJJrJJJJJJkJJkJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQXBXXXXXXXX)))))X){)B7hhgigghge2wawPTvvKKKKKDDDDDDDKKDmCDDDKADDDDDpHHpDACC.......................", +"JJJWf8j8n888888!LRu!u4888j8+3F88>+>++[++1j>11[>[[['['['[[[+''[[][''''[['](((((OO(lrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrJJJJJJJJJJJkJkkJJJJJkJkkJkkJJJJkJJJJJJk_JkJJk|kJJJJJJkrJJJJJJkJJJJkrJkJkJ|JJkJJJJJJkkJJ|J|kk|JJJkJJJJJkkkkJkkkJJJkJJJkJJQJJJJrkJJJJJkJJJkJkJkJJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQBBBBBBBXXXXXXXXXXXBBshgggeggge2ww4TTTvtttKttvvKtvnW4HtKDDpKpKKtK^tvHt^DDAC......................", +"JJJW]f8j888888>838>8j1[>++[+[[[']'[[[[['[999']'''']'[[[[[[[[''['[('''9[](((CO.OOOlJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrJJJJJJJJJJJJJJJkkJJJJJkJkJkJJJJkrJJkJJkkkkkJJkJJ|JJJJJJkJJJJJJkJJJJJJJJJJJJJJJkJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJrQQQJJJJJrJrJJJJJkJJJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQBsBBBBBBBBBXBXXBXXXBBBhgeegggo2w4PFPT<TnTnnnnPPPwaiiaPPtHTvvvTTHvvHn^tt^pS5mII..................", +"krk!A]8>>j88>[[[+[:>'1[[[[+[[['''''''(](((]](]]''''[[+[']((]''+[['[''119]9](((OO.lkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJJrJrJJJJQQJJJJJJJJJJJJJJJJJJJQQJrJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJrJJQQQQQQQQQQJQQJQQQQQJQJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQsshhsssBsBBBBsBBBBBBBBsgeoeegoa4nPTTTPTvPPa22a2aoegieawwHwPTvHnnPHtHHvHtpKAC5m5mIO..............", +"krkW9O9>1qff((](]'[']]O(][['''']']]((OO(O(b](((('''['[['(O(]((f>'['['11]C'C(O(O(Il|QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJQQQQQQQQQQQQrQrJQJJJQQQQQQQQQQJJJJJJJJJJJJJJQJQQQQQQQQQQQQQQQQQQQQQQJJJJJJJJJJJJJrJrJJQQJJrJJJJJJJJJJJJJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQshssshsBsssBBBsBssBBBBsgg2eee22PPvPvnnnPTai}i}iigghhggeew2wPnHHPnHlvlvv^pDD5CmmmImIO5O..........", +"6kJ}a!2R!!!WwWWWWWW2WWwW!W!!2!2!!2!WWWWcWcWWWWWu!!!!uRR!!!2R2WRL!R!R!R!!W!2WWWWWWokQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJQJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJrJrQJQQQQQQQQQQQQQJrJJJJJJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQshshshhhhBsssBhBBssssBsgg22oeaWwPnPPnPPP4egg77h7hhshhhggee24PPPwPHl^HHHt^KKAC5C55555ACCOOI......", +"JJ6|6J|66JJJkkJJJJJkkJJkJJJ6JJJJJJJJJJJJJJJkJJJJ66rJJJJJJrJJJJJJ6rJ6rJ6JJJJJrkJkJk|QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrQQrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQhhhhssshshhshshshhhhshhhge2ee2aWwwcwWuaWo}7hgh7hhhhshh7gigeo22wwPHvvvHPHptpDC5CCCCC5DSSACCI.....", +"J6JJJ6JJJrJJJJJJJJJJJrJJr6JJrJJJJJrJJJrJJJJJJJJJJJJJkJJJJJJJJJkJJJJJJJJJJJJJJJJkJkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQhhhhhhhhhshhhshBhhsshshhgeooeaa2WW222oaoighhhshhhshhhhh7ggioo2wWwPv^vHH^tpKDDADADACD^H^v^SAb....", +"JJJJJJJJJJJJJJrJrJJJJrrJJ6rJrrrJJJJrJJJJJJJJJJJJJJJJJJJJJJJJkJJJJJJJJJJkJJJJJJJkJkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQgghghhhhhhhhhhhhhhhhhhhhgeeeeee2aaaooeeei7hh7hhhhhhhhhhh7g}iieoa2PHHHHH^tt^pDDADKAADtHHPPPPS....", +"JJrJJJrJrJrJJJJJJJJJJJJJJJJJJJJJJrJJJJJJJJJJJJJJJJJJJJJJJJJrJJJJJJJJQJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ7hgggghghghhhhhhhhhhhhhhgieiieeeoaeeiiiig7hh7hhhhghh7777ggggigeeoW444PPHHttHKDKSttp^Hw2wHHvS55bb", +"JJJrJrJJJJJJJJJJJJJJJJJJJJJJJJQrJQQQQQQQQQQQJrJJJJJrJJrrJJJJJrJJJJQQQQrrrrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ", +"rJJJJJJJJJrQQQQQQQQJJJJJJQJQQQQQQQQQQQQQQQQQQQQQJJrJrrJQQQQJJJJJQQJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ"}; +#endif
new file mode 100644 --- /dev/null +++ b/packages/hal/arm/xscale/uE250/current/src/font.h @@ -0,0 +1,433 @@ +//========================================================================== +// +// font.h +// +// LCD/VGA display fonts +// +//========================================================================== +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 2003 Gary Thomas +// +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. +// +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +// +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. +// +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +//========================================================================== +//#####DESCRIPTIONBEGIN#### +// +// Author(s): gthomas +// Contributors: gthomas +// Date: 2001-02-25 +// Description: Simple LCD/VGA fonts +//####DESCRIPTIONEND#### + +#ifndef _LCD_FONT_H_ +#define _LCD_FONT_H_ + +#if (CYGNUM_UE250_VGA_COMM_FONT_SIZE == 8) +// 8x8 Font - from Helios + +#define FIRST_CHAR 0x20 +#define LAST_CHAR 0x7F +#define FONT_HEIGHT 8 +#define FONT_WIDTH 8 +#define CURSOR_ON 0x7F +#define CURSOR_OFF 0x20 +static char font_table[LAST_CHAR-FIRST_CHAR+1][8] = +{ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* */ + { 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x00 }, /* ! */ + { 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* " */ + { 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00 }, /* # */ + { 0x30, 0xFC, 0x16, 0x7C, 0xD0, 0x7E, 0x18, 0x00 }, /* $ */ + { 0x06, 0x66, 0x30, 0x18, 0x0C, 0x66, 0x60, 0x00 }, /* % */ + { 0x1C, 0x36, 0x36, 0x1C, 0xB6, 0x66, 0xDC, 0x00 }, /* & */ + { 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ' */ + { 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00 }, /* ( */ + { 0x0C, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00 }, /* ) */ + { 0x00, 0x18, 0x7E, 0x3C, 0x7E, 0x18, 0x00, 0x00 }, /* * */ + { 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00 }, /* + */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x0C }, /* , */ + { 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00 }, /* - */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00 }, /* . */ + { 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00 }, /* / */ + { 0x3C, 0x66, 0x76, 0x7E, 0x6E, 0x66, 0x3C, 0x00 }, /* 0 */ + { 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00 }, /* 1 */ + { 0x3C, 0x66, 0x60, 0x30, 0x18, 0x0C, 0x7E, 0x00 }, /* 2 */ + { 0x3C, 0x66, 0x60, 0x38, 0x60, 0x66, 0x3C, 0x00 }, /* 3 */ + { 0x30, 0x38, 0x3C, 0x36, 0x7E, 0x30, 0x30, 0x00 }, /* 4 */ + { 0x7E, 0x06, 0x3E, 0x60, 0x60, 0x66, 0x3C, 0x00 }, /* 5 */ + { 0x38, 0x0C, 0x06, 0x3E, 0x66, 0x66, 0x3C, 0x00 }, /* 6 */ + { 0x7E, 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x00 }, /* 7 */ + { 0x3C, 0x66, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00 }, /* 8 */ + { 0x3C, 0x66, 0x66, 0x7C, 0x60, 0x30, 0x1C, 0x00 }, /* 9 */ + { 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00 }, /* : */ + { 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x0C }, /* ; */ + { 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x00 }, /* < */ + { 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00 }, /* = */ + { 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x00 }, /* > */ + { 0x3C, 0x66, 0x30, 0x18, 0x18, 0x00, 0x18, 0x00 }, /* ? */ + { 0x3C, 0x66, 0x76, 0x56, 0x76, 0x06, 0x3C, 0x00 }, /* @ */ + { 0x3C, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00 }, /* A */ + { 0x3E, 0x66, 0x66, 0x3E, 0x66, 0x66, 0x3E, 0x00 }, /* B */ + { 0x3C, 0x66, 0x06, 0x06, 0x06, 0x66, 0x3C, 0x00 }, /* C */ + { 0x1E, 0x36, 0x66, 0x66, 0x66, 0x36, 0x1E, 0x00 }, /* D */ + { 0x7E, 0x06, 0x06, 0x3E, 0x06, 0x06, 0x7E, 0x00 }, /* E */ + { 0x7E, 0x06, 0x06, 0x3E, 0x06, 0x06, 0x06, 0x00 }, /* F */ + { 0x3C, 0x66, 0x06, 0x76, 0x66, 0x66, 0x3C, 0x00 }, /* G */ + { 0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00 }, /* H */ + { 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00 }, /* I */ + { 0x7C, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00 }, /* J */ + { 0x66, 0x36, 0x1E, 0x0E, 0x1E, 0x36, 0x66, 0x00 }, /* K */ + { 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x7E, 0x00 }, /* L */ + { 0xC6, 0xEE, 0xFE, 0xD6, 0xD6, 0xC6, 0xC6, 0x00 }, /* M */ + { 0x66, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x66, 0x00 }, /* N */ + { 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00 }, /* O */ + { 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x06, 0x00 }, /* P */ + { 0x3C, 0x66, 0x66, 0x66, 0x56, 0x36, 0x6C, 0x00 }, /* Q */ + { 0x3E, 0x66, 0x66, 0x3E, 0x36, 0x66, 0x66, 0x00 }, /* R */ + { 0x3C, 0x66, 0x06, 0x3C, 0x60, 0x66, 0x3C, 0x00 }, /* S */ + { 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00 }, /* T */ + { 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00 }, /* U */ + { 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00 }, /* V */ + { 0xC6, 0xC6, 0xD6, 0xD6, 0xFE, 0xEE, 0xC6, 0x00 }, /* W */ + { 0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00 }, /* X */ + { 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x00 }, /* Y */ + { 0x7E, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x7E, 0x00 }, /* Z */ + { 0x3E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x3E, 0x00 }, /* [ */ + { 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00 }, /* \ */ + { 0x7C, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7C, 0x00 }, /* ] */ + { 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ^ */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF }, /* _ */ + { 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ` */ + { 0x00, 0x00, 0x3C, 0x60, 0x7C, 0x66, 0x7C, 0x00 }, /* a */ + { 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66, 0x3E, 0x00 }, /* b */ + { 0x00, 0x00, 0x3C, 0x66, 0x06, 0x66, 0x3C, 0x00 }, /* c */ + { 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x00 }, /* d */ + { 0x00, 0x00, 0x3C, 0x66, 0x7E, 0x06, 0x3C, 0x00 }, /* e */ + { 0x38, 0x0C, 0x0C, 0x3E, 0x0C, 0x0C, 0x0C, 0x00 }, /* f */ + { 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x3C }, /* g */ + { 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66, 0x66, 0x00 }, /* h */ + { 0x18, 0x00, 0x1C, 0x18, 0x18, 0x18, 0x3C, 0x00 }, /* i */ + { 0x18, 0x00, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x0E }, /* j */ + { 0x06, 0x06, 0x66, 0x36, 0x1E, 0x36, 0x66, 0x00 }, /* k */ + { 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00 }, /* l */ + { 0x00, 0x00, 0x6C, 0xFE, 0xD6, 0xD6, 0xC6, 0x00 }, /* m */ + { 0x00, 0x00, 0x3E, 0x66, 0x66, 0x66, 0x66, 0x00 }, /* n */ + { 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00 }, /* o */ + { 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x06 }, /* p */ + { 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0xE0 }, /* q */ + { 0x00, 0x00, 0x36, 0x6E, 0x06, 0x06, 0x06, 0x00 }, /* r */ + { 0x00, 0x00, 0x7C, 0x06, 0x3C, 0x60, 0x3E, 0x00 }, /* s */ + { 0x0C, 0x0C, 0x3E, 0x0C, 0x0C, 0x0C, 0x38, 0x00 }, /* t */ + { 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00 }, /* u */ + { 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00 }, /* v */ + { 0x00, 0x00, 0xC6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00 }, /* w */ + { 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00 }, /* x */ + { 0x00, 0x00, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x3C }, /* y */ + { 0x00, 0x00, 0x7E, 0x30, 0x18, 0x0C, 0x7E, 0x00 }, /* z */ + { 0x30, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x30, 0x00 }, /* { */ + { 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00 }, /* | */ + { 0x0C, 0x18, 0x18, 0x70, 0x18, 0x18, 0x0C, 0x00 }, /* } */ + { 0x8C, 0xD6, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ~ */ + { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } /* Block cursor */ +}; +#else + +// 8x16 Font - from UniFLEX + +#define FIRST_CHAR 0x00 +#define LAST_CHAR 0xFF +#define FONT_HEIGHT 16 +#define FONT_WIDTH 8 +#define FONT_LEFT_TO_RIGHT +#define CURSOR_ON 0xB1 +#define CURSOR_OFF 0x20 +static char font_table[LAST_CHAR-FIRST_CHAR+1][FONT_HEIGHT] = { +/* 0x00 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x01 */ {0x00,0x00,0x7E,0x81,0xA5,0x81,0x81,0xBD,0x99,0x81,0x81,0x7E,0x00,0x00,0x00,0x00}, +/* 0x02 */ {0x00,0x00,0x7E,0xFF,0xDB,0xFF,0xFF,0xC3,0xC3,0xE7,0xFF,0x7E,0x00,0x00,0x00,0x00}, +/* 0x03 */ {0x00,0x00,0x00,0x00,0x6C,0xFE,0xFE,0xFE,0xFE,0x7C,0x38,0x10,0x00,0x00,0x00,0x00}, +/* 0x04 */ {0x00,0x00,0x00,0x00,0x10,0x38,0x7C,0xFE,0x7C,0x38,0x10,0x00,0x00,0x00,0x00,0x00}, +/* 0x05 */ {0x00,0x00,0x00,0x18,0x3C,0x3C,0xE7,0xE7,0xE7,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x06 */ {0x00,0x00,0x00,0x18,0x3C,0x7E,0xFF,0xFF,0x7E,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x07 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3C,0x3C,0x18,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x08 */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xC3,0xC3,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, +/* 0x09 */ {0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x42,0x42,0x66,0x3C,0x00,0x00,0x00,0x00,0x00}, +/* 0x0A */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0x99,0xBD,0xBD,0x99,0xC3,0xFF,0xFF,0xFF,0xFF,0xFF}, +/* 0x0B */ {0x00,0x00,0x3E,0x0E,0x1A,0x32,0x78,0xCC,0xCC,0xCC,0xCC,0x78,0x00,0x00,0x00,0x00}, +/* 0x0C */ {0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x3C,0x18,0x7E,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0x0D */ {0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x30,0x30,0x70,0xF0,0xE0,0x00,0x00,0x00,0x00}, +/* 0x0E */ {0x00,0x00,0x7F,0x63,0x7F,0x63,0x63,0x63,0x63,0x67,0xE7,0xE6,0xC0,0x00,0x00,0x00}, +/* 0x0F */ {0x00,0x00,0x00,0x18,0x18,0xDB,0x3C,0xE7,0x3C,0xDB,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0x10 */ {0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFE,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00}, +/* 0x11 */ {0x00,0x02,0x06,0x0E,0x1E,0x3E,0xFE,0x3E,0x1E,0x0E,0x06,0x02,0x00,0x00,0x00,0x00}, +/* 0x12 */ {0x00,0x00,0x18,0x3C,0x7E,0x18,0x18,0x18,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00,0x00}, +/* 0x13 */ {0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x66,0x00,0x00,0x00,0x00}, +/* 0x14 */ {0x00,0x00,0x7F,0xDB,0xDB,0xDB,0x7B,0x1B,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00}, +/* 0x15 */ {0x00,0x7C,0xC6,0x60,0x38,0x6C,0xC6,0xC6,0x6C,0x38,0x0C,0xC6,0x7C,0x00,0x00,0x00}, +/* 0x16 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0xFE,0xFE,0x00,0x00,0x00,0x00}, +/* 0x17 */ {0x00,0x00,0x18,0x3C,0x7E,0x18,0x18,0x18,0x7E,0x3C,0x18,0x7E,0x00,0x00,0x00,0x00}, +/* 0x18 */ {0x00,0x00,0x18,0x3C,0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0x19 */ {0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00}, +/* 0x1A */ {0x00,0x00,0x00,0x00,0x00,0x18,0x0C,0xFE,0x0C,0x18,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x1B */ {0x00,0x00,0x00,0x00,0x00,0x30,0x60,0xFE,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x1C */ {0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xFE,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x1D */ {0x00,0x00,0x00,0x00,0x00,0x28,0x6C,0xFE,0x6C,0x28,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x1E */ {0x00,0x00,0x00,0x00,0x10,0x38,0x38,0x7C,0x7C,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00}, +/* 0x1F */ {0x00,0x00,0x00,0x00,0xFE,0xFE,0x7C,0x7C,0x38,0x38,0x10,0x00,0x00,0x00,0x00,0x00}, +/* 0x20 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x21 */ {0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0x22 */ {0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x23 */ {0x00,0x00,0x00,0x6C,0x6C,0xFE,0x6C,0x6C,0x6C,0xFE,0x6C,0x6C,0x00,0x00,0x00,0x00}, +/* 0x24 */ {0x18,0x18,0x7C,0xC6,0xC2,0xC0,0x7C,0x06,0x06,0x86,0xC6,0x7C,0x18,0x18,0x00,0x00}, +/* 0x25 */ {0x00,0x00,0x00,0x00,0xC2,0xC6,0x0C,0x18,0x30,0x60,0xC6,0x86,0x00,0x00,0x00,0x00}, +/* 0x26 */ {0x00,0x00,0x38,0x6C,0x6C,0x38,0x76,0xDC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x27 */ {0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x28 */ {0x00,0x00,0x0C,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0x0C,0x00,0x00,0x00,0x00}, +/* 0x29 */ {0x00,0x00,0x30,0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x30,0x00,0x00,0x00,0x00}, +/* 0x2A */ {0x00,0x00,0x00,0x00,0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x2B */ {0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x2C */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00}, +/* 0x2D */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x2E */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0x2F */ {0x00,0x00,0x00,0x00,0x02,0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x00,0x00}, +/* 0x30 */ {0x00,0x00,0x38,0x6C,0xC6,0xC6,0xD6,0xD6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00,0x00}, +/* 0x31 */ {0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00}, +/* 0x32 */ {0x00,0x00,0x7C,0xC6,0x06,0x0C,0x18,0x30,0x60,0xC0,0xC6,0xFE,0x00,0x00,0x00,0x00}, +/* 0x33 */ {0x00,0x00,0x7C,0xC6,0x06,0x06,0x3C,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x34 */ {0x00,0x00,0x0C,0x1C,0x3C,0x6C,0xCC,0xFE,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00}, +/* 0x35 */ {0x00,0x00,0xFE,0xC0,0xC0,0xC0,0xFC,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x36 */ {0x00,0x00,0x38,0x60,0xC0,0xC0,0xFC,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x37 */ {0x00,0x00,0xFE,0xC6,0x06,0x06,0x0C,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00}, +/* 0x38 */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7C,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x39 */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7E,0x06,0x06,0x06,0x0C,0x78,0x00,0x00,0x00,0x00}, +/* 0x3A */ {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00}, +/* 0x3B */ {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00}, +/* 0x3C */ {0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00,0x00}, +/* 0x3D */ {0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x3E */ {0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00}, +/* 0x3F */ {0x00,0x00,0x7C,0xC6,0xC6,0x0C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0x40 */ {0x00,0x00,0x00,0x7C,0xC6,0xC6,0xDE,0xDE,0xDE,0xDC,0xC0,0x7C,0x00,0x00,0x00,0x00}, +/* 0x41 */ {0x00,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0x42 */ {0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x66,0x66,0x66,0x66,0xFC,0x00,0x00,0x00,0x00}, +/* 0x43 */ {0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0x00,0x00,0x00,0x00}, +/* 0x44 */ {0x00,0x00,0xF8,0x6C,0x66,0x66,0x66,0x66,0x66,0x66,0x6C,0xF8,0x00,0x00,0x00,0x00}, +/* 0x45 */ {0x00,0x00,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xFE,0x00,0x00,0x00,0x00}, +/* 0x46 */ {0x00,0x00,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00}, +/* 0x47 */ {0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xDE,0xC6,0xC6,0x66,0x3A,0x00,0x00,0x00,0x00}, +/* 0x48 */ {0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0x49 */ {0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x4A */ {0x00,0x00,0x1E,0x0C,0x0C,0x0C,0x0C,0x0C,0xCC,0xCC,0xCC,0x78,0x00,0x00,0x00,0x00}, +/* 0x4B */ {0x00,0x00,0xE6,0x66,0x66,0x6C,0x78,0x78,0x6C,0x66,0x66,0xE6,0x00,0x00,0x00,0x00}, +/* 0x4C */ {0x00,0x00,0xF0,0x60,0x60,0x60,0x60,0x60,0x60,0x62,0x66,0xFE,0x00,0x00,0x00,0x00}, +/* 0x4D */ {0x00,0x00,0xC6,0xEE,0xFE,0xFE,0xD6,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0x4E */ {0x00,0x00,0xC6,0xE6,0xF6,0xFE,0xDE,0xCE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0x4F */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x50 */ {0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00}, +/* 0x51 */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xDE,0x7C,0x0C,0x0E,0x00,0x00}, +/* 0x52 */ {0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x6C,0x66,0x66,0x66,0xE6,0x00,0x00,0x00,0x00}, +/* 0x53 */ {0x00,0x00,0x7C,0xC6,0xC6,0x60,0x38,0x0C,0x06,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x54 */ {0x00,0x00,0x7E,0x7E,0x5A,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x55 */ {0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x56 */ {0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x10,0x00,0x00,0x00,0x00}, +/* 0x57 */ {0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xD6,0xD6,0xD6,0xFE,0xEE,0x6C,0x00,0x00,0x00,0x00}, +/* 0x58 */ {0x00,0x00,0xC6,0xC6,0x6C,0x7C,0x38,0x38,0x7C,0x6C,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0x59 */ {0x00,0x00,0x66,0x66,0x66,0x66,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x5A */ {0x00,0x00,0xFE,0xC6,0x86,0x0C,0x18,0x30,0x60,0xC2,0xC6,0xFE,0x00,0x00,0x00,0x00}, +/* 0x5B */ {0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,0x00,0x00,0x00}, +/* 0x5C */ {0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x06,0x02,0x00,0x00,0x00,0x00}, +/* 0x5D */ {0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,0x00,0x00,0x00}, +/* 0x5E */ {0x10,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x5F */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00}, +/* 0x60 */ {0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x61 */ {0x00,0x00,0x00,0x00,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x62 */ {0x00,0x00,0xE0,0x60,0x60,0x78,0x6C,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00}, +/* 0x63 */ {0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC0,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x64 */ {0x00,0x00,0x1C,0x0C,0x0C,0x3C,0x6C,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x65 */ {0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x66 */ {0x00,0x00,0x38,0x6C,0x64,0x60,0xF0,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00}, +/* 0x67 */ {0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x66,0x3C,0x00}, +/* 0x68 */ {0x00,0x00,0xE0,0x60,0x60,0x6C,0x76,0x66,0x66,0x66,0x66,0xE6,0x00,0x00,0x00,0x00}, +/* 0x69 */ {0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x6A */ {0x00,0x00,0x06,0x06,0x00,0x0E,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00}, +/* 0x6B */ {0x00,0x00,0xE0,0x60,0x60,0x66,0x6C,0x78,0x78,0x6C,0x66,0xE6,0x00,0x00,0x00,0x00}, +/* 0x6C */ {0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x6D */ {0x00,0x00,0x00,0x00,0x00,0x6C,0xFE,0xD6,0xD6,0xD6,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0x6E */ {0x00,0x00,0x00,0x00,0x00,0xDC,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00}, +/* 0x6F */ {0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x70 */ {0x00,0x00,0x00,0x00,0x00,0xFC,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0xF0,0x00}, +/* 0x71 */ {0x00,0x00,0x00,0x00,0x00,0x7E,0xCC,0xCC,0xCC,0xCC,0xCC,0x7C,0x0C,0x0C,0x1E,0x00}, +/* 0x72 */ {0x00,0x00,0x00,0x00,0x00,0xDC,0x76,0x66,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00}, +/* 0x73 */ {0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0x60,0x38,0x0C,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x74 */ {0x00,0x00,0x10,0x30,0x30,0xFC,0x30,0x30,0x30,0x30,0x36,0x1C,0x00,0x00,0x00,0x00}, +/* 0x75 */ {0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x76 */ {0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00,0x00,0x00,0x00}, +/* 0x77 */ {0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xD6,0xD6,0xD6,0xFE,0x6C,0x00,0x00,0x00,0x00}, +/* 0x78 */ {0x00,0x00,0x00,0x00,0x00,0xC6,0x6C,0x38,0x38,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00}, +/* 0x79 */ {0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x0C,0xF8,0x00}, +/* 0x7A */ {0x00,0x00,0x00,0x00,0x00,0xFE,0xCC,0x18,0x30,0x60,0xC6,0xFE,0x00,0x00,0x00,0x00}, +/* 0x7B */ {0x00,0x00,0x0E,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,0x00,0x00,0x00,0x00}, +/* 0x7C */ {0x00,0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0x7D */ {0x00,0x00,0x70,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00}, +/* 0x7E */ {0x00,0x00,0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0x7F */ {0x00,0x00,0x00,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xC6,0xFE,0x00,0x00,0x00,0x00,0x00}, +/* 0x80 */ {0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0x0C,0x06,0x7C,0x00,0x00}, +/* 0x81 */ {0x00,0x00,0xCC,0x00,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x82 */ {0x00,0x0C,0x18,0x30,0x00,0x7C,0xC6,0xC6,0xFE,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x83 */ {0x00,0x10,0x38,0x6C,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x84 */ {0x00,0x00,0xCC,0x00,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x85 */ {0x00,0x60,0x30,0x18,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x86 */ {0x00,0x38,0x6C,0x38,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x87 */ {0x00,0x00,0x00,0x00,0x3C,0x66,0x60,0x60,0x66,0x3C,0x0C,0x06,0x3C,0x00,0x00,0x00}, +/* 0x88 */ {0x00,0x10,0x38,0x6C,0x00,0x7C,0xC6,0xC6,0xFE,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x89 */ {0x00,0x00,0xC6,0x00,0x00,0x7C,0xC6,0xC6,0xFE,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x8A */ {0x00,0x60,0x30,0x18,0x00,0x7C,0xC6,0xC6,0xFE,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x8B */ {0x00,0x00,0x66,0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x8C */ {0x00,0x18,0x3C,0x66,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x8D */ {0x00,0x60,0x30,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0x8E */ {0x00,0xC6,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0x8F */ {0x38,0x6C,0x38,0x00,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0x90 */ {0x18,0x30,0x60,0x00,0xFE,0x66,0x60,0x7C,0x60,0x60,0x66,0xFE,0x00,0x00,0x00,0x00}, +/* 0x91 */ {0x00,0x00,0x00,0x00,0x00,0xCC,0x76,0x36,0x7E,0xD8,0xD8,0x6E,0x00,0x00,0x00,0x00}, +/* 0x92 */ {0x00,0x00,0x3E,0x6C,0xCC,0xCC,0xFE,0xCC,0xCC,0xCC,0xCC,0xCE,0x00,0x00,0x00,0x00}, +/* 0x93 */ {0x00,0x10,0x38,0x6C,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x94 */ {0x00,0x00,0xC6,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x95 */ {0x00,0x60,0x30,0x18,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x96 */ {0x00,0x30,0x78,0xCC,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x97 */ {0x00,0x60,0x30,0x18,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0x98 */ {0x00,0x00,0xC6,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x0C,0x78,0x00}, +/* 0x99 */ {0x00,0xC6,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x9A */ {0x00,0xC6,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0x9B */ {0x00,0x18,0x18,0x3C,0x66,0x60,0x60,0x60,0x66,0x3C,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0x9C */ {0x00,0x38,0x6C,0x64,0x60,0xF8,0x60,0x60,0x60,0x60,0xE6,0xFC,0x00,0x00,0x00,0x00}, +/* 0x9D */ {0x00,0x00,0x66,0x66,0x3C,0x18,0x7E,0x18,0x7E,0x18,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0x9E */ {0x00,0xF8,0xCC,0xCC,0xF8,0xC4,0xCC,0xDE,0xCC,0xCC,0xCC,0xC6,0x00,0x00,0x00,0x00}, +/* 0x9F */ {0x00,0x0E,0x1B,0x18,0x18,0x18,0x7E,0x18,0x18,0x18,0x18,0x18,0xD8,0x70,0x00,0x00}, +/* 0xA0 */ {0x00,0x18,0x30,0x60,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0xA1 */ {0x00,0x0C,0x18,0x30,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00}, +/* 0xA2 */ {0x00,0x18,0x30,0x60,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0xA3 */ {0x00,0x18,0x30,0x60,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00}, +/* 0xA4 */ {0x00,0x00,0x76,0xDC,0x00,0xDC,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00}, +/* 0xA5 */ {0x76,0xDC,0x00,0xC6,0xE6,0xF6,0xFE,0xDE,0xCE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0xA6 */ {0x00,0x3C,0x6C,0x6C,0x3E,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xA7 */ {0x00,0x38,0x6C,0x6C,0x38,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xA8 */ {0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x60,0xC0,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00}, +/* 0xA9 */ {0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00}, +/* 0xAA */ {0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00}, +/* 0xAB */ {0x00,0xC0,0xC0,0xC2,0xC6,0xCC,0x18,0x30,0x60,0xDC,0x86,0x0C,0x18,0x3E,0x00,0x00}, +/* 0xAC */ {0x00,0xC0,0xC0,0xC2,0xC6,0xCC,0x18,0x30,0x66,0xCE,0x9E,0x3E,0x06,0x06,0x00,0x00}, +/* 0xAD */ {0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x18,0x3C,0x3C,0x3C,0x18,0x00,0x00,0x00,0x00}, +/* 0xAE */ {0x00,0x00,0x00,0x00,0x00,0x36,0x6C,0xD8,0x6C,0x36,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xAF */ {0x00,0x00,0x00,0x00,0x00,0xD8,0x6C,0x36,0x6C,0xD8,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xB0 */ {0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44}, +/* 0xB1 */ {0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA}, +/* 0xB2 */ {0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77}, +/* 0xB3 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xB4 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xB5 */ {0x18,0x18,0x18,0x18,0x18,0xF8,0x18,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xB6 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xF6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xB7 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xB8 */ {0x00,0x00,0x00,0x00,0x00,0xF8,0x18,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xB9 */ {0x36,0x36,0x36,0x36,0x36,0xF6,0x06,0xF6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xBA */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xBB */ {0x00,0x00,0x00,0x00,0x00,0xFE,0x06,0xF6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xBC */ {0x36,0x36,0x36,0x36,0x36,0xF6,0x06,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xBD */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xBE */ {0x18,0x18,0x18,0x18,0x18,0xF8,0x18,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xBF */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xC0 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xC1 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xC2 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xC3 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xC4 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xC5 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xC6 */ {0x18,0x18,0x18,0x18,0x18,0x1F,0x18,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xC7 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xC8 */ {0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xC9 */ {0x00,0x00,0x00,0x00,0x00,0x3F,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xCA */ {0x36,0x36,0x36,0x36,0x36,0xF7,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xCB */ {0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xF7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xCC */ {0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xCD */ {0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xCE */ {0x36,0x36,0x36,0x36,0x36,0xF7,0x00,0xF7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xCF */ {0x18,0x18,0x18,0x18,0x18,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xD0 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xD1 */ {0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xD2 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xD3 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xD4 */ {0x18,0x18,0x18,0x18,0x18,0x1F,0x18,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xD5 */ {0x00,0x00,0x00,0x00,0x00,0x1F,0x18,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xD6 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xD7 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xFF,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36}, +/* 0xD8 */ {0x18,0x18,0x18,0x18,0x18,0xFF,0x18,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xD9 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xDA */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xDB */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, +/* 0xDC */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, +/* 0xDD */ {0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0}, +/* 0xDE */ {0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F}, +/* 0xDF */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xE0 */ {0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0xD8,0xD8,0xD8,0xDC,0x76,0x00,0x00,0x00,0x00}, +/* 0xE1 */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xFC,0xC6,0xC6,0xC6,0xC6,0xDC,0xC0,0xC0,0x00,0x00}, +/* 0xE2 */ {0x00,0x00,0xFE,0xC6,0xC6,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00}, +/* 0xE3 */ {0x00,0x00,0x00,0x00,0x00,0xFE,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00}, +/* 0xE4 */ {0x00,0x00,0xFE,0xC6,0x60,0x30,0x18,0x18,0x30,0x60,0xC6,0xFE,0x00,0x00,0x00,0x00}, +/* 0xE5 */ {0x00,0x00,0x00,0x00,0x00,0x7E,0xD8,0xD8,0xD8,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00}, +/* 0xE6 */ {0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0xC0,0x00,0x00,0x00}, +/* 0xE7 */ {0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00}, +/* 0xE8 */ {0x00,0x00,0x7E,0x18,0x3C,0x66,0x66,0x66,0x66,0x3C,0x18,0x7E,0x00,0x00,0x00,0x00}, +/* 0xE9 */ {0x00,0x00,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00,0x00}, +/* 0xEA */ {0x00,0x00,0x38,0x6C,0xC6,0xC6,0xC6,0x6C,0x6C,0x6C,0x6C,0xEE,0x00,0x00,0x00,0x00}, +/* 0xEB */ {0x00,0x00,0x1E,0x30,0x18,0x0C,0x3E,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00}, +/* 0xEC */ {0x00,0x00,0x00,0x00,0x00,0x7E,0xDB,0xDB,0xDB,0x7E,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xED */ {0x00,0x00,0x00,0x03,0x06,0x7E,0xDB,0xDB,0xF3,0x7E,0x60,0xC0,0x00,0x00,0x00,0x00}, +/* 0xEE */ {0x00,0x00,0x1C,0x30,0x60,0x60,0x7C,0x60,0x60,0x60,0x30,0x1C,0x00,0x00,0x00,0x00}, +/* 0xEF */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00}, +/* 0xF0 */ {0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00}, +/* 0xF1 */ {0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0xFF,0x00,0x00,0x00,0x00}, +/* 0xF2 */ {0x00,0x00,0x00,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x00,0x7E,0x00,0x00,0x00,0x00}, +/* 0xF3 */ {0x00,0x00,0x00,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x00,0x7E,0x00,0x00,0x00,0x00}, +/* 0xF4 */ {0x00,0x0E,0x1B,0x1B,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, +/* 0xF5 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xD8,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00}, +/* 0xF6 */ {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x7E,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00}, +/* 0xF7 */ {0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0x00,0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xF8 */ {0x00,0x38,0x6C,0x6C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xF9 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xFA */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xFB */ {0x00,0x0F,0x0C,0x0C,0x0C,0x0C,0x0C,0xEC,0x6C,0x6C,0x3C,0x1C,0x00,0x00,0x00,0x00}, +/* 0xFC */ {0x00,0xD8,0x6C,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xFD */ {0x00,0x70,0xD8,0x30,0x60,0xC8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, +/* 0xFE */ {0x00,0x00,0x00,0x00,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,0x00,0x00,0x00,0x00,0x00}, +/* 0xFF */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00} +}; + +#endif + +#endif // _LCD_FONT_H_
--- a/packages/hal/arm/xscale/uE250/current/src/uE250_pci.c +++ b/packages/hal/arm/xscale/uE250/current/src/uE250_pci.c @@ -108,8 +108,10 @@ cyg_hal_plf_pci_init(void) // FIXME: Change MSC values ?? // Set FPGA to 110.6 MHz - *PXA2X0_GPSR0 = (0x01 << 7); - *PXA2X0_GPCR1 = (0x01 << 13); + *PXA2X0_GPDR0 |= (0x01 << 7); + *PXA2X0_GPSR0 |= (0x01 << 7); + *PXA2X0_GPDR1 |= (0x01 << (45-32)); + *PXA2X0_GPCR1 |= (0x01 << (45-32)); // Set busmastering // diag_printf("Activating PCI bridge.\n"); @@ -158,9 +160,12 @@ void { int dev = CYG_PCI_DEV_GET_DEV(devfn); - *vector = _uPCI_BASE_INTERRUPT+(dev-1); - diag_printf("%s.%d - dev: %d = %d\n", __FUNCTION__, __LINE__, dev, *vector); - valid = true;; + if (dev <= 5) { + *vector = _uPCI_BASE_INTERRUPT+(dev-1); + valid = true;; + } else { + valid = false; + } } static void
--- a/packages/hal/arm/xscale/uE250/current/src/uE250_plx.c +++ b/packages/hal/arm/xscale/uE250/current/src/uE250_plx.c @@ -8,7 +8,6 @@ //####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. -// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. // Copyright (C) 2003 Gary Thomas <gary@mind.be> // // eCos is free software; you can redistribute it and/or modify it under @@ -99,6 +98,7 @@ static struct plx_init { { 0xf0,0xffff8000 }, { 0xf4,0x40008001 }, { 0xf8,0x00000243 }, + { 0x900, 0x68 }, { 0xFFFFFFFF,0}, // End marker }; @@ -134,6 +134,20 @@ static void } #endif +static /*__inline__*/ void +write_fdc37c672_configreg(cyg_uint8 regno, cyg_uint8 data) +{ + localbus_writeb(regno, FDC37C672_INDEX); + localbus_writeb(data, FDC37C672_DATA); +} + +static /*__inline__*/ cyg_uint8 +read_fdc37c672_configreg(cyg_uint8 regno) +{ + localbus_writeb(regno, FDC37C672_INDEX); + return localbus_readb(FDC37C672_DATA) & 0xff; +} + /** * Sets up the Base Address Registers of the PLX 9080 */ @@ -173,7 +187,7 @@ initialize_plx_bridge(void) // See what was assigned - for later use cyg_pci_get_device_info(plx_dev, &dev_info); _plx_config_addr = dev_info.base_map[0] + LOCALBUS_CONFIG_OFFSET; - _plx_localbus_addr = dev_info.base_map[3] + LOCALBUS_OFFSET; + _plx_localbus_addr = dev_info.base_map[3]; // A little commercial plug :-) localbus_writeb('M', ASCII_DISPLAY_BASE+8); @@ -181,9 +195,41 @@ initialize_plx_bridge(void) localbus_writeb('N', ASCII_DISPLAY_BASE+16); localbus_writeb('D', ASCII_DISPLAY_BASE+20); + // Configure SMSC FDC36c672 Super I/O controller + + localbus_writeb(0x55,FDC37C672_CONFIG); // Enter FDC37C672 configuration mode + + write_fdc37c672_configreg(7, 3); // parallel port to IRQ 7, IO 0x378 + write_fdc37c672_configreg(0x30, 1); + write_fdc37c672_configreg(0x70, 7); + write_fdc37c672_configreg(0x60, 0x3); + write_fdc37c672_configreg(0x61, 0x78); + + write_fdc37c672_configreg(7, 4); // first serial port to IRQ4, IO 0x3f8 + write_fdc37c672_configreg(0x30, 1); + write_fdc37c672_configreg(0x70, 4); + write_fdc37c672_configreg(0x60, 0x3); + write_fdc37c672_configreg(0x61, 0xf8); + + write_fdc37c672_configreg(7, 5); // second serial port to IRQ5, IO 0x2f8 + write_fdc37c672_configreg(0x30, 1); + write_fdc37c672_configreg(0x70, 3); + write_fdc37c672_configreg(0x60, 0x2); + write_fdc37c672_configreg(0x61, 0xf8); + + write_fdc37c672_configreg(7, 7); // PS/2 Keyboard/mouse to IRQ 1/5, IO 0x60 + write_fdc37c672_configreg(0x30, 1); + write_fdc37c672_configreg(0x70, 1); + write_fdc37c672_configreg(0x72, 5); + + localbus_writeb(0xAA,FDC37C672_CONFIG); // Leave FDC37C672 configuration mode + #ifdef CYGSEM_HAL_LOAD_VGA_FPGA load_vga(uE250_plx_bitstream, sizeof(uE250_plx_bitstream)); #endif +#ifdef CYGSEM_UE250_VGA_COMM + vga_comm_init(dev_info.base_map[2]); +#endif } else { diag_printf("Can't find PLX controller!\n"); }
new file mode 100644 --- /dev/null +++ b/packages/hal/arm/xscale/uE250/current/src/vga_support.c @@ -0,0 +1,1449 @@ +//========================================================================== +// +// vga_support.c +// +// NMI uE250/uPCI - VGA support +// +//========================================================================== +//####ECOSGPLCOPYRIGHTBEGIN#### +// ------------------------------------------- +// This file is part of eCos, the Embedded Configurable Operating System. +// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 2003 Gary Thomas <gary@mind.be> +// +// eCos is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 or (at your option) any later version. +// +// eCos is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with eCos; if not, write to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +// +// As a special exception, if other files instantiate templates or use macros +// or inline functions from this file, or you compile this file and link it +// with other works to produce a work based on this file, this file does not +// by itself cause the resulting work to be covered by the GNU General Public +// License. However the source code for this file must still be made available +// in accordance with section (3) of the GNU General Public License. +// +// This exception does not invalidate any other reasons why a work based on +// this file might be covered by the GNU General Public License. +// +// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. +// at http://sources.redhat.com/ecos/ecos-license/ +// ------------------------------------------- +//####ECOSGPLCOPYRIGHTEND#### +//========================================================================== +//#####DESCRIPTIONBEGIN#### +// +// Author(s): gthomas +// Contributors: gthomas +// Date: 2001-11-03 +// Description: Simple VGA support +//####DESCRIPTIONEND#### + +#include <pkgconf/hal.h> + +#include <cyg/infra/diag.h> +#include <cyg/hal/hal_io.h> // IO macros +#include <cyg/hal/hal_if.h> // Virtual vector support +#include <cyg/hal/hal_arch.h> // Register state info +#include <cyg/hal/hal_intr.h> // HAL interrupt macros + +#include <cyg/hal/vga_support.h> +#include <cyg/hal/hal_cache.h> + +#include <cyg/hal/plx.h> // Localbus I/O + +#include <string.h> + +#ifdef CYGPKG_ISOINFRA +# include <pkgconf/isoinfra.h> +# ifdef CYGINT_ISO_STDIO_FORMATTED_IO +# include <stdio.h> // sscanf +# endif +#endif + +#ifndef FALSE +#define FALSE 0 +#define TRUE 1 +#endif + +// Logical layout +#define VGA_WIDTH 640 +#define VGA_HEIGHT 480 +#define VGA_DEPTH 8 + +static int bg = 0; +static int fg = 1; + +static struct vga_info vga; + +struct VGA_ctlr { + unsigned short rev; + unsigned char enable; + unsigned char _fill1[13]; + struct ADV471 { + unsigned short write_addr; + unsigned short data; + unsigned short pixel_read_mask; + unsigned short read_addr; + unsigned short overlay_data; + unsigned short _fill2[2]; + unsigned short overlay_read_addr; + } clut; + unsigned char _fill3[0x100000-0x20]; + unsigned char fb[1]; +}; + +// Compute the location for a pixel within the framebuffer +static cyg_uint8 * +vga_fb(int row, int col) +{ + cyg_uint8 *res = (cyg_uint8 *)((char *)vga.fb+(row*vga.rlen)+(col*vga.stride)); + return res; +} + +void +vga_on(bool enable) +{ +#if 0 + static bool on = false; + + if (enable) { + if (!on) { + (*vga.on)(); + } + on = true; + } else { + (*vga.off)(); + } +#endif +} + +// Initialize VGA hardware + +static void +vga_set_cmap(volatile struct VGA_ctlr *ctlr, int index, + int red, int green, int blue) +{ + if (index > 255) { + // Invalid index + return; + } + ctlr->clut.write_addr = index; // Select + ctlr->clut.data = red>>2; + ctlr->clut.data = green>>2; + ctlr->clut.data = blue>>2; +} + +void +vga_init(cyg_uint32 *addr) +{ + volatile struct VGA_ctlr *ctlr; + + vga.ctlr = (struct VGA_ctlr *)ctlr = (struct VGA_ctlr *)addr; + vga.fb = ctlr->fb; + vga.bpp = VGA_DEPTH; + vga.height = VGA_HEIGHT; + vga.width = VGA_WIDTH; + vga.rlen = VGA_WIDTH; + vga.stride = 1; + vga.access_size = 1; + vga_set_cmap(ctlr, 0, 0x00, 0x00, 0x00); // 0 -> black + vga_set_cmap(ctlr, 1, 0xFF, 0xFF, 0xFF); // 1 -> white +// diag_printf("VGA init at %p/%p\n", vga.ctlr, vga.fb); + ctlr->enable = 1; +} + +// Get information about the frame buffer +int +vga_getinfo(struct vga_info *info) +{ + if (vga.bpp == 0) { + return 0; // VGA not initialized + } + *info = vga; + return 1; // Information valid +} + +// Clear screen +void +vga_clear(void) +{ +#if 0 + cyg_uint32 *fb_row0, *fb_rown; + cyg_uint32 _bg = (bg<<16)|bg; + + fb_row0 = vga_fb(0, 0); + fb_rown = vga_fb(vga_height, 0); + while (fb_row0 != fb_rown) { + *fb_row0++ = _bg; + } +#endif +} + +#ifdef CYGSEM_UE250_VGA_COMM + +// +// Additional support for VGA/Keyboard as 'console' device +// + +#ifdef CYGOPT_UE250_VGA_COMM_LOGO +#include "banner.xpm" +#endif +#include "font.h" + +// Virtual screen info +static int curX = 0; // Last used position +static int curY = 0; +//static int width = VGA_WIDTH / (FONT_WIDTH*NIBBLES_PER_PIXEL); +//static int height = VGA_HEIGHT / (FONT_HEIGHT*SCREEN_SCALE); + +#define SCREEN_PAN 20 +#define SCREEN_WIDTH 80 +#define SCREEN_HEIGHT (VGA_HEIGHT/FONT_HEIGHT) +#define VISIBLE_SCREEN_WIDTH (VGA_WIDTH/FONT_WIDTH) +#define VISIBLE_SCREEN_HEIGHT (VGA_HEIGHT/FONT_HEIGHT) +static char screen[SCREEN_HEIGHT][SCREEN_WIDTH]; +static int screen_height = SCREEN_HEIGHT; +static int screen_width = SCREEN_WIDTH; +static int screen_pan = 0; + +// Usable area on screen [logical pixel rows] +static int screen_start = 0; +static int screen_end = VGA_HEIGHT/FONT_HEIGHT; + +static bool cursor_enable = true; + +// Functions +static void vga_drawc(cyg_uint8 c, int x, int y); + +static __inline__ void +set_pixel(int row, int col, unsigned char val) +{ + unsigned char *pix = (unsigned char *)vga_fb(row, col); + *pix = val; +} + +#ifdef CYGOPT_UE250_VGA_COMM_LOGO +static int +_hexdigit(char c) +{ + if ((c >= '0') && (c <= '9')) { + return c - '0'; + } else { + if ((c >= 'A') && (c <= 'F')) { + return (c - 'A') + 0x0A; + } else { + if ((c >= 'a') && (c <= 'f')) { + return (c - 'a') + 0x0a; + } + } + } + + return 0; +} + +static int +_hex(char *cp) +{ + return (_hexdigit(*cp)<<4) | _hexdigit(*(cp+1)); +} + +static void +parse_color(char *cp, int *red, int *green, int *blue) +{ + *red = *green = *blue = 0xFF; + while (*cp && (*cp != 'c')) cp++; + if (cp) { + cp += 2; + if (*cp == '#') { + *red = _hex(cp+1); + *green = _hex(cp+3); + *blue = _hex(cp+5); + } + } +} + +#ifndef CYGINT_ISO_STDIO_FORMATTED_IO +static int +get_int(unsigned char **_cp) +{ + char *cp = *_cp; + char c; + int val = 0; + + while ((c = *cp++) && (c != ' ')) { + if ((c >= '0') && (c <= '9')) { + val = val * 10 + (c - '0'); + } else { + return -1; + } + } + *_cp = cp; + return val; +} +#endif + +static int +show_xpm(char *xpm[], int screen_pos) +{ + int i, row, col, offset; + unsigned char *cp; + int nrows, ncols, nclrs, cwid; + short color_index; + int red, green, blue; +//#define HORRIBLY_SLOW_COLOR_MAPPING +#ifdef HORRIBLY_SLOW_COLOR_MAPPING + bool color_match; + short cmap[256][2]; + int j; +#else + // Caution - this is very GIMP specific + short cmap[256][3]; // Enough room for 256 colors + short cmap_col, cmap_row; + unsigned char std_cmap[] = " .+"; +#endif + + cp = xpm[0]; +#ifdef CYGINT_ISO_STDIO_FORMATTED_IO + if (sscanf(cp, "%d %d %d %d", &ncols, &nrows, &nclrs, &cwid) != 4) { +#else + if (((ncols = get_int(&cp)) < 0) || + ((nrows = get_int(&cp)) < 0) || + ((nclrs = get_int(&cp)) < 0) || + ((cwid = get_int(&cp)) < 0)) { + +#endif + diag_printf("Can't parse XPM data, sorry\n"); + return 0; + } +// diag_printf("%d rows, %d cols, %d colors %d chars/pixel\n", nrows, ncols, nclrs, cwid); + if (cwid > 2) { + diag_printf("Color map is too wide - %d\n", cwid); + return 0; + } + + for (i = 0; i < 256; i++) { +#ifdef HORRIBLY_SLOW_COLOR_MAPPING + cmap[i][0] = 0; cmap[i][1] = 0; +#else + cmap[i][0] = 0; cmap[i][1] = 0; cmap[i][2] = 0; +#endif + } + color_index = 0; + for (i = 0; i < nclrs; i++) { + cp = xpm[i+1]; +#ifdef HORRIBLY_SLOW_COLOR_MAPPING + for (j = 0; j < cwid; j++) { + cmap[color_index][j] = cp[j]; + } +#else + if (cwid == 1) { + cmap_col = 0; + } else { + for (cmap_col = 0; cmap_col < 3; cmap_col++) { + if (cp[1] == std_cmap[cmap_col]) { + break; + } + } + } + cmap_row = *cp; + cmap[cmap_row][cmap_col] = color_index; +#endif + parse_color(cp+cwid, &red, &green, &blue); +// diag_printf("Color[%d] = %02x/%02x/%02x\n", color_index, red, green, blue); + vga_set_cmap(vga.ctlr, color_index+2, red, green, blue); + color_index++; + } + +#ifdef CYGOPT_UE250_VGA_COMM_LOGO_TOP + offset = screen_pos; +#else + offset = screen_pos-nrows; +#endif + for (row = 0; row < nrows; row++) { + cp = xpm[nclrs+1+row]; + for (col = 0; col < ncols; col++) { +#ifdef HORRIBLY_SLOW_COLOR_MAPPING + // Horrible, but portable, way to map colors + for (color_index = 0; color_index < nclrs; color_index++) { + color_match = true; + for (j = 0; j < cwid; j++) { + if (cmap[color_index][j] != cp[j]) { + color_match = false; + } + } + if (color_match) { + break; + } + } +#else + if (cwid == 1) { + cmap_col = 0; + } else { + for (cmap_col = 0; cmap_col < 3; cmap_col++) { + if (cp[1] == std_cmap[cmap_col]) { + break; + } + } + } + cmap_row = *cp; + color_index = cmap[cmap_row][cmap_col]; +#endif + set_pixel(row+offset, col, color_index+2); + cp += cwid; + } + } +#ifdef CYGOPT_UE250_VGA_COMM_LOGO_TOP + screen_start = (nrows + (FONT_HEIGHT-1))/FONT_HEIGHT; + screen_end = VGA_HEIGHT/FONT_HEIGHT; + return offset+nrows; +#else + screen_start = 0; + screen_height = offset / FONT_HEIGHT; + screen_end = screen_height; + return offset; +#endif +} +#endif + +void +vga_screen_clear(void) +{ + int row, col; +#ifdef CYGOPT_UE250_VGA_COMM_LOGO + int pos; +#endif + + for (row = 0; row < screen_height; row++) { + for (col = 0; col < screen_width; col++) { + screen[row][col] = ' '; + vga_drawc(' ', col, row); + } + } +#ifdef CYGOPT_UE250_VGA_COMM_LOGO + // Note: Row 0 seems to wrap incorrectly +#ifdef CYGOPT_UE250_VGA_COMM_LOGO_TOP + pos = 0; +#else + pos = (VGA_HEIGHT-1); +#endif + show_xpm(banner_xpm, pos); +#endif // CYGOPT_UE250_VGA_COMM_LOGO + curX = 0; curY = screen_start; + if (cursor_enable) { + vga_drawc(CURSOR_ON, curX-screen_pan, curY); + } +} + +// Position cursor +void +vga_moveto(int X, int Y) +{ + if (cursor_enable) { + vga_drawc(screen[curY][curX], curX-screen_pan, curY); + } + if (X < 0) X = 0; + if (X >= screen_width) X = screen_width-1; + curX = X; + if (Y < screen_start) Y = screen_start; + if (Y >= screen_height) Y = screen_height-1; + curY = Y; + if (cursor_enable) { + vga_drawc(CURSOR_ON, curX-screen_pan, curY); + } +} + +static unsigned long _bitmap[] = { +#ifdef FONT_LEFT_TO_RIGHT + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, +#else + 0x00000000, 0x00000001, 0x00000100, 0x00000101, + 0x00010000, 0x00010001, 0x00010100, 0x00010101, + 0x01000000, 0x01000001, 0x01000100, 0x01000101, + 0x01010000, 0x01010001, 0x01010100, 0x01010101 +#endif +}; + +// Render a character at position (X,Y) with current background/foreground +static void +vga_drawc(cyg_uint8 c, int x, int y) +{ + cyg_uint8 bits; + int l, p; + int xoff, yoff; + unsigned long *pix; + + if ((x < 0) || (x >= VISIBLE_SCREEN_WIDTH) || + (y < 0) || (y >= screen_height)) return; + for (l = 0; l < FONT_HEIGHT; l++) { + bits = font_table[c-FIRST_CHAR][l]; + yoff = y*FONT_HEIGHT + l; + xoff = x*FONT_WIDTH; +#if 0 // Render font characters one bit at a time + for (p = 0; p < FONT_WIDTH; p++) { +#ifdef FONT_LEFT_TO_RIGHT + set_pixel(yoff, xoff + p, (bits & 0x80) ? fg : bg); + bits <<= 1; +#else + set_pixel(yoff, xoff + p, (bits & 0x01) ? fg : bg); + bits >>= 1; +#endif + } +#else // Render characters 4 bits at a time + pix = (unsigned long *)vga_fb(yoff, xoff); +#ifdef FONT_LEFT_TO_RIGHT + *pix++ = _bitmap[(bits & 0xF0) >> 4]; + *pix++ = _bitmap[(bits & 0x0F)]; +#else + *pix++ = _bitmap[(bits & 0x0F)]; + *pix++ = _bitmap[(bits & 0xF0) >> 4]; +#endif +#endif + } +} + +static void +vga_refresh(void) +{ + int row, col; + + for (row = screen_start; row < screen_height; row++) { + for (col = 0; col < VISIBLE_SCREEN_WIDTH; col++) { + if ((col+screen_pan) < screen_width) { + vga_drawc(screen[row][col+screen_pan], col, row); + } else { + vga_drawc(' ', col, row); + } + } + } + if (cursor_enable) { + vga_drawc(CURSOR_ON, curX-screen_pan, curY); + } +} + +static void +vga_scroll(void) +{ + int col; + cyg_uint8 *c1; + cyg_uint32 *lc0, *lc1, *lcn; + cyg_uint32 *fb_row0, *fb_row1, *fb_rown; + + // First scroll up the virtual screen +#if ((SCREEN_WIDTH%4) != 0) +#error Scroll code optimized for screen with multiple of 4 columns +#endif + lc0 = (cyg_uint32 *)&screen[0][0]; + lc1 = (cyg_uint32 *)&screen[1][0]; + lcn = (cyg_uint32 *)&screen[screen_height][0]; + while (lc1 != lcn) { + *lc0++ = *lc1++; + } + c1 = &screen[screen_height-1][0]; + for (col = 0; col < screen_width; col++) { + *c1++ = 0x20; + } +#if 0 // Scrolling like this is *relly* slow + fb_row0 = (cyg_uint32 *)vga_fb(screen_start*FONT_HEIGHT, 0); + fb_row1 = (cyg_uint32 *)vga_fb((screen_start+1)*FONT_HEIGHT, 0); + fb_rown = (cyg_uint32 *)vga_fb(screen_end*FONT_HEIGHT, 0); +#if 0 + while (fb_row1 != fb_rown) { + *fb_row0++ = *fb_row1++; + } +#else + // Optimized ARM assembly "move" code + asm __volatile( + "mov r0,%0;" + "mov r1,%1;" + "mov r2,%2;" + "10: ldmia r1!,{r3-r6};" + "stmia r0!,{r3-r6};" + "ldmia r1!,{r3-r6};" + "stmia r0!,{r3-r6};" + "cmp r1,r2;" + "bne 10b" + : + : "r"(fb_row0), "r"(fb_row1), "r"(fb_rown) + : "r0","r1","r2","r3","r4","r5","r6" + ); +#endif + // Erase bottom line + for (col = 0; col < screen_width; col++) { + vga_drawc(' ', col, screen_end-1); + } +#else // Clear & redraw is faster! + vga_refresh(); +#endif +} + +// Draw one character at the current position +void +vga_putc(cyg_uint8 c) +{ + if (cursor_enable) { + vga_drawc(screen[curY][curX], curX-screen_pan, curY); + } + switch (c) { + case '\r': + curX = 0; + break; + case '\n': + curY++; + break; + case '\b': + curX--; + if (curX < 0) { + curY--; + if (curY < 0) curY = 0; + curX = screen_width-1; + } + break; + default: + if (((int)c < FIRST_CHAR) || ((int)c > LAST_CHAR)) c = '.'; + screen[curY][curX] = c; + vga_drawc(c, curX-screen_pan, curY); + curX++; + if (curX == screen_width) { + curY++; + curX = 0; + } + } + if (curY >= screen_height) { + vga_scroll(); + curY = (screen_height-1); + } + if (cursor_enable) { + vga_drawc(CURSOR_ON, curX-screen_pan, curY); + } +} + +// Basic VGA 'printf()' support + +#include <stdarg.h> + +#define is_digit(c) ((c >= '0') && (c <= '9')) + +static int +_cvt(unsigned long val, char *buf, long radix, char *digits) +{ + char temp[80]; + char *cp = temp; + int length = 0; + + if (val == 0) { + /* Special case */ + *cp++ = '0'; + } else { + while (val) { + *cp++ = digits[val % radix]; + val /= radix; + } + } + while (cp != temp) { + *buf++ = *--cp; + length++; + } + *buf = '\0'; + return (length); +} + +static int +vga_vprintf(void (*putc)(cyg_uint8), const char *fmt0, va_list ap) +{ + char c, sign, *cp; + int left_prec, right_prec, zero_fill, length, pad, pad_on_right; + char buf[32]; + long val; + + while ((c = *fmt0++)) { + cp = buf; + length = 0; + if (c == '%') { + c = *fmt0++; + left_prec = right_prec = pad_on_right = 0; + if (c == '-') { + c = *fmt0++; + pad_on_right++; + } + if (c == '0') { + zero_fill = TRUE; + c = *fmt0++; + } else { + zero_fill = FALSE; + } + while (is_digit(c)) { + left_prec = (left_prec * 10) + (c - '0'); + c = *fmt0++; + } + if (c == '.') { + c = *fmt0++; + zero_fill++; + while (is_digit(c)) { + right_prec = (right_prec * 10) + (c - '0'); + c = *fmt0++; + } + } else { + right_prec = left_prec; + } + sign = '\0'; + switch (c) { + case 'd': + case 'x': + case 'X': + val = va_arg(ap, long); + switch (c) { + case 'd': + if (val < 0) { + sign = '-'; + val = -val; + } + length = _cvt(val, buf, 10, "0123456789"); + break; + case 'x': + length = _cvt(val, buf, 16, "0123456789abcdef"); + break; + case 'X': + length = _cvt(val, buf, 16, "0123456789ABCDEF"); + break; + } + break; + case 's': + cp = va_arg(ap, char *); + length = strlen(cp); + break; + case 'c': + c = va_arg(ap, long /*char*/); + (*putc)(c); + continue; + default: + (*putc)('?'); + } + pad = left_prec - length; + if (sign != '\0') { + pad--; + } + if (zero_fill) { + c = '0'; + if (sign != '\0') { + (*putc)(sign); + sign = '\0'; + } + } else { + c = ' '; + } + if (!pad_on_right) { + while (pad-- > 0) { + (*putc)(c); + } + } + if (sign != '\0') { + (*putc)(sign); + } + while (length-- > 0) { + (*putc)(c = *cp++); + if (c == '\n') { + (*putc)('\r'); + } + } + if (pad_on_right) { + while (pad-- > 0) { + (*putc)(' '); + } + } + } else { + (*putc)(c); + if (c == '\n') { + (*putc)('\r'); + } + } + } + + // FIXME + return 0; +} + +int +_vga_printf(char const *fmt, ...) +{ + int ret; + va_list ap; + + va_start(ap, fmt); + ret = vga_vprintf(vga_putc, fmt, ap); + va_end(ap); + return (ret); +} + +// +// Support VGA/keyboard (PS2) as a virtual I/O channel +// Adapted from i386/pcmb_screen.c +// + + +//----------------------------------------------------------------------------- +// Keyboard definitions + +#define KBDATAPORT 0x0060 // data I/O port +#define KBCMDPORT 0x0064 // command port (write) +#define KBSTATPORT 0x0064 // status port (read) + +#define KBINRDY 0x01 +#define KBOUTRDY 0x02 +#define KBTXTO 0x40 // Transmit timeout - nothing there +#define KBTEST 0xAB + +// Scan codes + +#define LSHIFT 0x2a +#define RSHIFT 0x36 +#define CTRL 0x1d +#define ALT 0x38 +#define CAPS 0x3a +#define NUMS 0x45 + +#define BREAK 0x80 + +// Bits for KBFlags + +#define KBNormal 0x0000 +#define KBShift 0x0001 +#define KBCtrl 0x0002 +#define KBAlt 0x0004 +#define KBIndex 0x0007 // mask for the above + +#define KBExtend 0x0010 +#define KBAck 0x0020 +#define KBResend 0x0040 +#define KBShiftL (0x0080 | KBShift) +#define KBShiftR (0x0100 | KBShift) +#define KBCtrlL (0x0200 | KBCtrl) +#define KBCtrlR (0x0400 | KBCtrl) +#define KBAltL (0x0800 | KBAlt) +#define KBAltR (0x1000 | KBAlt) +#define KBCapsLock 0x2000 +#define KBNumLock 0x4000 + +#define KBArrowUp 0x48 +#define KBArrowRight 0x4D +#define KBArrowLeft 0x4B +#define KBArrowDown 0x50 + +//----------------------------------------------------------------------------- +// Keyboard Variables + +static int KBFlags = 0; + +static CYG_BYTE KBPending = 0xFF; + +static CYG_BYTE KBScanTable[128][4] = { +// Normal Shift Control Alt +// 0x00 + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0x1b, 0x1b, 0x1b, 0xFF, }, + { '1', '!', 0xFF, 0xFF, }, + { '2', '"', 0xFF, 0xFF, }, + { '3', '#', 0xFF, 0xFF, }, + { '4', '$', 0xFF, 0xFF, }, + { '5', '%', 0xFF, 0xFF, }, + { '6', '^', 0xFF, 0xFF, }, + { '7', '&', 0xFF, 0xFF, }, + { '8', '*', 0xFF, 0xFF, }, + { '9', '(', 0xFF, 0xFF, }, + { '0', ')', 0xFF, 0xFF, }, + { '-', '_', 0xFF, 0xFF, }, + { '=', '+', 0xFF, 0xFF, }, + { '\b', '\b', 0xFF, 0xFF, }, + { '\t', '\t', 0xFF, 0xFF, }, +// 0x10 + { 'q', 'Q', 0x11, 0xFF, }, + { 'w', 'W', 0x17, 0xFF, }, + { 'e', 'E', 0x05, 0xFF, }, + { 'r', 'R', 0x12, 0xFF, }, + { 't', 'T', 0x14, 0xFF, }, + { 'y', 'Y', 0x19, 0xFF, }, + { 'u', 'U', 0x15, 0xFF, }, + { 'i', 'I', 0x09, 0xFF, }, + { 'o', 'O', 0x0F, 0xFF, }, + { 'p', 'P', 0x10, 0xFF, }, + { '[', '{', 0x1b, 0xFF, }, + { ']', '}', 0x1d, 0xFF, }, + { '\r', '\r', '\n', 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 'a', 'A', 0x01, 0xFF, }, + { 's', 'S', 0x13, 0xFF, }, +// 0x20 + { 'd', 'D', 0x04, 0xFF, }, + { 'f', 'F', 0x06, 0xFF, }, + { 'g', 'G', 0x07, 0xFF, }, + { 'h', 'H', 0x08, 0xFF, }, + { 'j', 'J', 0x0a, 0xFF, }, + { 'k', 'K', 0x0b, 0xFF, }, + { 'l', 'L', 0x0c, 0xFF, }, + { ';', ':', 0xFF, 0xFF, }, + { 0x27, '@', 0xFF, 0xFF, }, + { '#', '~', 0xFF, 0xFF, }, + { '`', '~', 0xFF, 0xFF, }, + { '\\', '|', 0x1C, 0xFF, }, + { 'z', 'Z', 0x1A, 0xFF, }, + { 'x', 'X', 0x18, 0xFF, }, + { 'c', 'C', 0x03, 0xFF, }, + { 'v', 'V', 0x16, 0xFF, }, +// 0x30 + { 'b', 'B', 0x02, 0xFF, }, + { 'n', 'N', 0x0E, 0xFF, }, + { 'm', 'M', 0x0D, 0xFF, }, + { ',', '<', 0xFF, 0xFF, }, + { '.', '>', 0xFF, 0xFF, }, + { '/', '?', 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { ' ', ' ', ' ', ' ', }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xF1, 0xE1, 0xFF, 0xFF, }, + { 0xF2, 0xE2, 0xFF, 0xFF, }, + { 0xF3, 0xE3, 0xFF, 0xFF, }, + { 0xF4, 0xE4, 0xFF, 0xFF, }, + { 0xF5, 0xE5, 0xFF, 0xFF, }, +// 0x40 + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + + { 0x15, 0x15, 0x15, 0x15, }, + { 0x10, 0x10, 0x10, 0x10, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, +// 0x50 + { 0x04, 0x04, 0x04, 0x04, }, + { 0x0e, 0x0e, 0x0e, 0x0e, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, +// 0x60 + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, +// 0x70 + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, + { 0xFF, 0xFF, 0xFF, 0xFF, }, +}; + +static int KBIndexTab[8] = { 0, 1, 2, 2, 3, 3, 3, 3 }; + +//----------------------------------------------------------------------------- + +static __inline__ cyg_uint8 +inb(cyg_uint32 port) +{ + cyg_uint8 val; + val = localbus_readl(port<<2); + return val; +} + +static __inline__ void +outb(cyg_uint32 port, cyg_uint8 val) +{ + localbus_writel(val, port<<2); +} + +static cyg_bool +KeyboardInit(void) +{ + unsigned char c, s; + + /* flush input queue */ + while ((inb(KBSTATPORT) & KBINRDY)) { + (void)inb(KBDATAPORT); + } + + /* Send self-test - controller local */ + while (inb(KBSTATPORT) & KBOUTRDY) c = inb(KBDATAPORT); + outb(KBCMDPORT,0xAA); + while ((inb(KBSTATPORT) & KBINRDY) == 0) ; /* wait input ready */ + if ((c = inb(KBDATAPORT)) != 0x55) { +#ifdef DEBUG_KBD_INIT + diag_printf("Keyboard self test failed - result: %x\n", c); +#endif + return false; + } + + /* Enable interrupts and keyboard controller */ + while (inb(KBSTATPORT) & KBOUTRDY) ; + outb(KBCMDPORT,0x60); + while (inb(KBSTATPORT) & KBOUTRDY) ; + outb(KBCMDPORT,0x45); + CYGACC_CALL_IF_DELAY_US(10000); // 10ms + + while (inb(KBSTATPORT) & KBOUTRDY) ; + outb(KBCMDPORT,0xAE); // Enable keyboard + + /* See if a keyboard is connected */ + while (inb(KBSTATPORT) & KBOUTRDY) ; + outb(KBDATAPORT,0xFF); + while (((s = inb(KBSTATPORT)) & (KBINRDY|KBTXTO)) == 0) ; /* wait input ready */ + if ((s & KBTXTO) || ((c = inb(KBDATAPORT)) != 0xFA)) { +#ifdef DEBUG_KBD_INIT + diag_printf("Keyboard reset failed - no ACK: %x, stat: %x\n", c, s); +#endif + return false; + } + while (((s = inb(KBSTATPORT)) & KBINRDY) == 0) ; /* wait input ready */ + if ((s & KBTXTO) || ((c = inb(KBDATAPORT)) != 0xAA)) { +#ifdef DEBUG_KBD_INIT + diag_printf("Keyboard reset failed - bad code: %x, stat: %x\n", c, s); +#endif + return false; + } + + // Set scan mode + while (inb(KBSTATPORT) & KBOUTRDY) ; + outb(KBCMDPORT,0x20); + while ((inb(KBSTATPORT) & KBINRDY) == 0) ; /* wait input ready */ + if (! (inb(KBDATAPORT) & 0x40)) { + /* + * Quote from PS/2 System Reference Manual: + * + * "Address hex 0060 and address hex 0064 should be + * written only when the input-buffer-full bit and + * output-buffer-full bit in the Controller Status + * register are set 0." (KBINRDY and KBOUTRDY) + */ + + while (inb(KBSTATPORT) & (KBINRDY | KBOUTRDY)) ; + outb(KBDATAPORT,0xF0); + while (inb(KBSTATPORT) & (KBINRDY | KBOUTRDY)) ; + outb(KBDATAPORT,0x01); + } + + KBFlags = 0; + return true; +} /* KeyboardInit */ + +//----------------------------------------------------------------------------- + +static CYG_BYTE +KeyboardAscii(CYG_BYTE scancode) +{ + CYG_BYTE ascii = 0xFF; + + // Start by handling all shift/ctl keys: + + switch( scancode ) { + case 0xe0: + KBFlags |= KBExtend; + return 0xFF; + + case 0xfa: + KBFlags |= KBAck; + return 0xFF; + + case 0xfe: + KBFlags |= KBResend; + return 0xFF; + + case LSHIFT: + KBFlags |= KBShiftL; + return 0xFF; + + case LSHIFT | BREAK: + KBFlags &= ~KBShiftL; + return 0xFF; + + case RSHIFT: + KBFlags |= KBShiftR; + return 0xFF; + + case RSHIFT | BREAK: + KBFlags &= ~KBShiftR; + return 0xFF; + + case CTRL: + if( KBFlags & KBExtend ) + { + KBFlags |= KBCtrlR; + KBFlags &= ~KBExtend; + } + else KBFlags |= KBCtrlL; + return 0xFF; + + case CTRL | BREAK: + if( KBFlags & KBExtend ) + { + KBFlags &= ~KBCtrlR; + KBFlags &= ~KBExtend; + } + else KBFlags &= ~KBCtrlL; + return 0xFF; + + + case ALT: + if( KBFlags & KBExtend ) + { + KBFlags |= KBAltR; + KBFlags &= ~KBExtend; + } + else KBFlags |= KBAltL; + return 0xFF; + + case ALT | BREAK: + if( KBFlags & KBExtend ) + { + KBFlags &= ~KBAltR; + KBFlags &= ~KBExtend; + } + else KBFlags &= ~KBAltL; + return 0xFF; + + case CAPS: + KBFlags ^= KBCapsLock; + case CAPS | BREAK: + return 0xFF; + + case NUMS: + KBFlags ^= KBNumLock; + case NUMS | BREAK: + return 0xFF; + + case KBArrowUp: + case KBArrowDown: + screen_pan = 0; + vga_refresh(); + break; + case KBArrowLeft: + screen_pan -= SCREEN_PAN; + if (screen_pan < 0) screen_pan = 0; + vga_refresh(); + break; + case KBArrowRight: + screen_pan += SCREEN_PAN; + if (screen_pan > (SCREEN_WIDTH-SCREEN_PAN)) + screen_pan = SCREEN_WIDTH-SCREEN_PAN; + vga_refresh(); + break; + + } + + // Clear Extend flag if set + KBFlags &= ~KBExtend; + + // Ignore all other BREAK codes + if( scancode & 0x80 ) return 0xFF; + + // Here the scancode is for something we can turn + // into an ASCII value + + ascii = KBScanTable[scancode & 0x7F][KBIndexTab[KBFlags & KBIndex]]; + + return ascii; + +} /* KeyboardAscii */ + +//----------------------------------------------------------------------------- + +static int +KeyboardTest(void) +{ + // If there is a pending character, return True + if( KBPending != 0xFF ) return true; + + // If there is something waiting at the port, get it + for(;;) { + CYG_BYTE stat, code; + CYG_BYTE c; + + stat = inb(KBSTATPORT); + + if( (stat & KBINRDY) == 0 ) + break; + + code = inb(KBDATAPORT); + + // Translate to ASCII + c = KeyboardAscii(code); + + // if it is a real ASCII char, save it and + // return True. + if( c != 0xFF ) { + KBPending = c; + return true; + } + } + + // Otherwise return False + return false; + +} /* KeyboardTest */ + +char +KeyboardChar(void) +{ + char c = KBPending; + KBPending = 0xFF; + return c; +} + +static int _timeout = 500; + +static cyg_bool +vga_comm_getc_nonblock(void* __ch_data, cyg_uint8* ch) +{ + if( !KeyboardTest() ) + return false; + *ch = KBPending; + KBPending = 0xFF; + return true; +} + +static cyg_uint8 +vga_comm_getc(void* __ch_data) +{ + cyg_uint8 ch; + + while (!vga_comm_getc_nonblock(__ch_data, &ch)) ; + return ch; +} + +static void +vga_comm_putc(void* __ch_data, cyg_uint8 c) +{ + vga_putc(c); +} + +static void +vga_comm_write(void* __ch_data, const cyg_uint8* __buf, cyg_uint32 __len) +{ +#if 0 + CYGARC_HAL_SAVE_GP(); + + while(__len-- > 0) + vga_comm_putc(__ch_data, *__buf++); + + CYGARC_HAL_RESTORE_GP(); +#endif +} + +static void +vga_comm_read(void* __ch_data, cyg_uint8* __buf, cyg_uint32 __len) +{ +#if 0 + CYGARC_HAL_SAVE_GP(); + + while(__len-- > 0) + *__buf++ = vga_comm_getc(__ch_data); + + CYGARC_HAL_RESTORE_GP(); +#endif +} + +static cyg_bool +vga_comm_getc_timeout(void* __ch_data, cyg_uint8* ch) +{ + int delay_count; + cyg_bool res; + + delay_count = _timeout * 2; // delay in .5 ms steps + for(;;) { + res = vga_comm_getc_nonblock(__ch_data, ch); + if (res || 0 == delay_count--) + break; + CYGACC_CALL_IF_DELAY_US(500); + } + return res; +} + +static int +vga_comm_control(void *__ch_data, __comm_control_cmd_t __func, ...) +{ + static int vector = 0; + int ret = -1; + static int irq_state = 0; + + CYGARC_HAL_SAVE_GP(); + + switch (__func) { + case __COMMCTL_IRQ_ENABLE: + ret = irq_state; + irq_state = 1; + break; + case __COMMCTL_IRQ_DISABLE: + ret = irq_state; + irq_state = 0; + break; + case __COMMCTL_DBG_ISR_VECTOR: + ret = vector; + break; + case __COMMCTL_SET_TIMEOUT: + { + va_list ap; + + va_start(ap, __func); + + ret = _timeout; + _timeout = va_arg(ap, cyg_uint32); + + va_end(ap); + break; + } + case __COMMCTL_FLUSH_OUTPUT: + ret = 0; + break; + default: + break; + } + CYGARC_HAL_RESTORE_GP(); + return ret; +} + +static int +vga_comm_isr(void *__ch_data, int* __ctrlc, + CYG_ADDRWORD __vector, CYG_ADDRWORD __data) +{ +#if 0 + char ch; + + cyg_drv_interrupt_acknowledge(__vector); + *__ctrlc = 0; + if (vga_comm_getc_nonblock(__ch_data, &ch)) { + if (ch == 0x03) { + *__ctrlc = 1; + } + } + return CYG_ISR_HANDLED; +#else + return 0; +#endif +} + +void +vga_comm_init(cyg_uint32 *addr) +{ + static int init = 0; + + if (!init) { + hal_virtual_comm_table_t* comm; + int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT); + + init = 1; + if (!KeyboardInit()) { + // No keyboard - no VGA/CRT display + return; + } + + // Initialize screen + cursor_enable = true; + vga_init(addr); + vga_on(true); + vga_screen_clear(); + + // Setup procs in the vector table + CYGACC_CALL_IF_SET_CONSOLE_COMM(1); // FIXME - should be controlled by CDL + comm = CYGACC_CALL_IF_CONSOLE_PROCS(); + //CYGACC_COMM_IF_CH_DATA_SET(*comm, chan); + CYGACC_COMM_IF_WRITE_SET(*comm, vga_comm_write); + CYGACC_COMM_IF_READ_SET(*comm, vga_comm_read); + CYGACC_COMM_IF_PUTC_SET(*comm, vga_comm_putc); + CYGACC_COMM_IF_GETC_SET(*comm, vga_comm_getc); + CYGACC_COMM_IF_CONTROL_SET(*comm, vga_comm_control); + CYGACC_COMM_IF_DBG_ISR_SET(*comm, vga_comm_isr); + CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, vga_comm_getc_timeout); + + // Restore original console + CYGACC_CALL_IF_SET_CONSOLE_COMM(cur); + } +} + +#ifdef CYGPKG_REDBOOT +#include <redboot.h> + +// Get here when RedBoot is idle. If it's been long enough, then +// dim the VGA. The problem is - how to determine other activities +// so at this doesn't get in the way. In the default case, this will +// be called from RedBoot every 10ms (CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT) + +#define MAX_IDLE_TIME (30*100) + +static void +idle(bool is_idle) +{ + static int idle_time = 0; + static bool was_idled = false; + + if (is_idle) { + if (!was_idled) { + if (++idle_time == MAX_IDLE_TIME) { + was_idled = true; + vga_on(false); + } + } + } else { + idle_time = 0; + if (was_idled) { + was_idled = false; + vga_on(true); + } + } +} + +RedBoot_idle(idle, RedBoot_AFTER_NETIO); +#endif +#endif
--- a/packages/hal/arm/xscale/uE250/current/src/xilinx-load.c +++ b/packages/hal/arm/xscale/uE250/current/src/xilinx-load.c @@ -8,7 +8,6 @@ //####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. -// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. // Copyright (C) 2003 Gary Thomas <gary@mind.be> // // eCos is free software; you can redistribute it and/or modify it under
