- // linear framebuffer driver for QNX 8.0 by Pierre-Marie Baty <pm@pmbaty.com> 
-   
- // compile and link with: cc -Wall fbwrite.c -lpng -o fbwrite 
-   
-   
- // standard C includes 
- #include <stdint.h> 
- #include <stdio.h> 
- #include <stdlib.h> 
- #include <string.h> 
- #include <errno.h> 
- #include <assert.h> 
- #include <ctype.h> 
-   
- // platform-specific includes 
- #include <unistd.h> // POSIX 
- #include <sys/mman.h> // POSIX 
- #ifdef __QNXNTO__ 
- #include <sys/neutrino.h> // QNX 
- #include <hw/inout.h> // QNX 
- #endif // __QNXNTO__ 
-   
- // the PNG library 
- #include <png.h> 
-   
-   
- /* codepage 837 
- ================ 
-  ☺☻♥♦♣♠•◘○◙♂♀♪♫☼ 
- ►◄↕‼¶§▬↨↑↓→←∟↔▲▼ 
-  !"#$%&'()*+,-./ 
- 0123456789:;<=>? 
- @ABCDEFGHIJKLMNO 
- PQRSTUVWXYZ[\]^_ 
- `abcdefghijklmno 
- pqrstuvwxyz{|}~⌂ 
- ÇüéâäàåçêëèïîìÄÅ 
- ÉæÆôöòûùÿÖÜ¢£¥₧ƒ 
- áíóúñѪº¿⌐¬½¼¡«» 
- ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐ 
- └┴┬├─┼╞╟╚╔╩╦╠═╬╧ 
- ╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ 
- αßΓπΣσµτΦΘΩδ∞φε∩ 
- ≡±≥≤⌠⌡÷≈°∙·√ⁿ²■  
- ================ */ 
-   
-   
- // character tables 
- #define CHAR_PIXELS_W 8 
- #define CHAR_PIXELS_H 16 
- #define _ 0x00, 
- #define B 0xff, 
- static const uint8_t characters_table_16x16_8x16_bold[] = // https://www.youtube.com/watch?v=Tl7VfKYbRjg 
- { 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B _ B _ _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ B B B B _ _ _ B B B B _ _ _ _ B B B B B B _ B B B B B B B _ _ _ _ _ _ _ _ 
-         B _ B _ _ _ _ _ B _ _ _ _ _ _ B B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ B B B _ _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ 
-         B _ B _ _ _ _ _ B _ B _ _ B _ B B B _ B B _ B B _ B B _ B B _ _ _ _ _ B _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ B B _ B _ _ B B _ _ B B _ _ _ B B B B B B _ B B B B B B B _ _ _ B B _ _ _ 
-         _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B B B B B B B B B B B B B B _ _ _ B B B _ _ _ _ _ B B B B _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ B B B B _ _ B B _ _ _ _ B B _ _ B B _ _ B _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B B B _ B B _ B B 
-         _ _ B _ B _ _ _ B _ _ _ _ _ _ B B B B B B B B B B B B B B B B _ _ B B B B B _ _ B B B _ _ B B B B B B B B B B B _ _ _ B B _ _ _ B B B _ _ B B B _ B B _ _ B B _ B _ _ B B _ _ B _ B B B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B B B _ _ 
-         _ _ B _ B _ _ _ B _ B B B B _ B B B _ _ _ _ B B B B B B B B B _ B B B B B B B _ B B B _ _ B B B B B B B B B B B _ _ B B B B _ _ B B _ _ _ _ B B _ B _ _ _ _ B _ B _ B B B B _ B B B _ _ B B _ _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B B B B _ _ B B B 
-         _ _ B _ B _ _ _ B _ _ B B _ _ B B B B _ _ B B B B B B B B B B _ _ B B B B B _ _ B B B _ _ B B B _ B B B B B B _ _ _ B B B B _ _ B B _ _ _ _ B B _ B _ _ _ _ B _ B _ B B B B _ B B B _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B B B _ _ 
-         _ _ _ B B _ _ _ B _ _ _ _ _ _ B B B B B B B B B _ B B B B B _ _ _ _ B B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B _ _ B B B _ B B _ _ B B _ B _ _ B B _ _ B B B _ _ B B _ _ _ B B B B B B _ _ B B B _ _ _ _ _ B B _ _ B B B B B _ B B _ B B 
-         _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B B B B B B B _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ B B B B _ _ B B _ _ _ _ B B B B _ _ B B _ _ _ _ _ B B _ _ _ B B B B _ _ _ _ B B B _ _ B B B _ _ _ B B _ _ _ 
-         _ _ _ _ B _ _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ B B B B _ _ _ _ _ _ B B _ _ _ B B B _ _ _ _ _ B B B _ _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B B B B B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B B B _ _ _ _ _ _ _ _ _ B B B _ _ _ B B B B _ _ _ B B _ _ B B _ B B _ B B _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B B B B _ _ _ _ _ _ _ B B B B _ _ B B B B B B _ _ B B _ _ B B _ B B _ B B _ B B _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B B B B B B B _ 
-         B B B B B _ _ _ _ _ B B B B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ B B _ B B _ B B _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ B _ _ _ _ _ B B B _ _ _ B B B B B B B _ 
-         B B B B B B B _ B B B B B B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B B B _ B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B B _ _ _ _ B B B B B _ _ 
-         B B B B B _ _ _ _ _ B B B B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B B B _ B B B B B B B _ B B _ _ _ _ _ _ B B B B B B B _ _ B B B B B _ _ _ B B B B B _ _ 
-         B B B B _ _ _ _ _ _ _ B B B B _ _ B B B B B B _ _ B B _ _ B B _ _ _ _ B B _ B B _ B B _ B B _ _ B B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ B B B B B _ _ _ _ B B B _ _ _ 
-         B B B _ _ _ _ _ _ _ _ _ B B B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ B B B _ _ _ B B B B B B B _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ B B B B B B B _ _ _ B _ B _ _ _ B B B B B B B _ _ _ B B B _ _ _ 
-         B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ B B _ _ _ _ B B _ _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ B _ _ _ _ 
-         B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ B B _ B B B B _ _ _ B B _ B B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B _ _ B _ _ _ B B _ B B _ _ B B _ _ _ _ B _ B B _ _ _ _ B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ 
-         _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B B B B B B _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B B B B _ _ _ _ _ _ B B _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B B B B B B B _ B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ B _ _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B B B B _ _ B _ _ _ _ B B _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ B B B _ _ _ _ _ _ B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ B B _ _ B B B B B B B _ _ _ B B B _ _ _ B B B B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ 
-         _ B B _ B B _ _ _ _ B B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B B _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ 
-         B B _ _ _ B B _ _ B B B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _ 
-         B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ 
-         B B _ B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B B B _ _ B B _ _ B B _ _ B B B B B B _ _ B B B B B B _ _ _ _ _ _ B B _ _ _ B B B B B _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ 
-         B B _ B _ B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ B B B B B B B _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ 
-         B B _ _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B B B B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ 
-         B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ B B B _ _ _ _ B B B B B B _ B B B B B B B _ _ B B B B B _ _ _ _ _ B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ _ B B _ _ _ _ _ B B B B B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B B B B B B _ _ _ _ B B B B _ _ B B B B B _ _ _ B B B B B B B _ B B B B B B B _ _ _ B B B B _ _ B B _ _ _ B B _ _ _ B B B B _ _ _ _ _ B B B B _ B B B _ _ B B _ B B B B _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B B B B _ _ 
-         _ B B B B B _ _ _ _ B B B _ _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ B B B _ B B B _ B B B _ _ B B _ B B _ _ _ B B _ 
-         B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ _ _ B _ _ B B _ _ B B _ _ B B _ _ _ B _ _ B B _ _ _ B _ B B _ _ _ _ B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ B B B B B B B _ B B B B _ B B _ B B _ _ _ B B _ 
-         B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ B _ _ _ _ B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B B B B B B _ B B B B B B B _ B B _ _ _ B B _ 
-         B B _ B B B B _ B B _ _ _ B B _ _ B B B B B _ _ B B _ _ _ _ _ _ _ B B _ _ B B _ _ B B B B _ _ _ _ B B B B _ _ _ B B _ _ _ _ _ _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ B B _ B _ B B _ B B _ B B B B _ B B _ _ _ B B _ 
-         B B _ B B B B _ B B B B B B B _ _ B B _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ B _ _ _ _ B B _ B _ _ _ B B _ B B B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ B B B _ B B _ _ _ B B _ 
-         B B _ B B B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ 
-         B B _ B B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ _ B _ _ B B _ _ B B _ _ B B _ _ _ B _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ 
-         B B _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ 
-         _ B B B B B _ _ B B _ _ _ B B _ B B B B B B _ _ _ _ B B B B _ _ B B B B B _ _ _ B B B B B B B _ B B B B _ _ _ _ _ _ B B B _ B _ B B _ _ _ B B _ _ _ B B B B _ _ _ B B B B _ _ _ B B B _ _ B B _ B B B B B B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B B B B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ 
-         B B B B B B _ _ _ B B B B B _ _ B B B B B B _ _ _ B B B B B _ _ _ B B B B B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B B B B B B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B B B B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ B _ B B _ B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B _ _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B B B B _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ B B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B B B B _ _ B B _ _ _ B B _ _ B B B B B _ _ _ _ B B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ B _ B B _ _ B B B B B _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ B B _ B B _ _ B B B B B B B _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ _ B _ _ _ B B _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ _ _ _ B B _ B B B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ B B B _ _ _ B B B _ B B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B B B B _ _ _ _ _ B B B B B _ _ B B B _ _ B B _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ _ B _ _ _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ B B B B _ _ B B B B B B B _ _ _ B B B B _ _ _ _ _ _ _ _ B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ B B B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ B B _ _ _ _ _ B B B _ B B _ _ B B _ B B _ _ _ _ B B B _ _ _ _ _ _ _ B B B _ _ B B _ _ B B _ _ _ _ B B _ _ _ B B B _ B B _ _ B B _ B B B _ _ _ B B B B B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B B B _ _ _ B B _ _ B B _ _ _ B B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B B B B B B _ _ B B _ _ B B _ B B _ _ _ B B _ 
-         _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B _ _ B B _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B B B B B B _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B B B _ _ _ _ _ _ B B _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ 
-         _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B B B _ _ _ _ _ _ B B _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ 
-         _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ 
-         _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ B B _ _ _ B B _ B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ 
-         _ _ _ _ _ _ _ _ _ B B B _ B B _ _ B B B B B _ _ _ B B B B B _ _ _ B B B _ B B _ _ B B B B B _ _ _ B B B B _ _ _ _ B B B B B _ _ B B B _ _ B B _ _ _ B B B B _ _ _ _ _ _ _ B B _ B B B _ _ B B _ _ _ B B B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ B B B B B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ B B _ _ _ _ B B B _ _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ 
-         B B _ B B B _ _ _ B B B _ B B _ B B _ B B B _ _ _ B B B B B _ _ B B B B B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ 
-         _ B B _ _ B B _ B B _ _ B B _ _ _ B B B _ B B _ B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ 
-         _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ 
-         _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ B B B _ _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ 
-         _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ B _ B B _ _ _ B B B _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ 
-         _ B B _ _ B B _ B B _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ B B _ _ B B _ _ _ B B _ B B _ _ B B B B B B B _ _ B B _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ 
-         _ B B B B B _ _ _ B B B B B _ _ B B B B _ _ _ _ _ B B B B B _ _ _ _ _ B B B _ _ _ B B B _ B B _ _ _ B B B _ _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B B B B B _ B B B B B B B _ _ _ _ _ B B B _ _ _ _ B B _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B B B B _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ B B _ B B _ _ 
-         _ _ B B B B _ _ B B _ _ B B _ _ _ _ _ B B _ _ _ _ _ B B B _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ B B _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ 
-         _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ 
-         B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ 
-         B B _ _ _ _ _ _ B B _ _ B B _ _ _ B B B B B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ 
-         B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ 
-         B B _ _ _ _ _ _ B B _ _ B B _ _ B B B B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B _ _ _ _ _ _ B B B B B B B _ B B B B B B B _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B B B B B B _ 
-         B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B B B _ B B _ _ _ B B _ 
-         B B _ _ _ _ B _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ 
-         _ B B _ _ B B _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ 
-         _ _ B B B B _ _ _ B B B _ B B _ _ B B B B B _ _ _ B B B _ B B _ _ B B B _ B B _ _ B B B _ B B _ _ B B B _ B B _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ 
-         _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ B B B _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B B _ _ _ B B _ _ _ B B _ _ _ B B _ _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ _ _ B B _ B B 
-         B B B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ B B _ _ _ B B _ _ B B B B B _ _ _ B B _ _ B _ _ _ B B _ _ B B _ B B _ _ B B _ _ _ _ _ B B _ _ _ 
-         _ B B _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ _ _ _ _ _ B B B B _ _ B B B B B _ _ _ _ _ _ B B _ _ _ 
-         _ B B _ _ _ B _ B B B _ B B _ _ B B _ _ B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ B _ _ _ _ _ B B _ _ _ 
-         _ B B _ B _ _ _ _ _ B B _ B B _ B B B B B B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B B B B B _ B B _ _ B B _ _ _ B B B B B B _ 
-         _ B B B B _ _ _ _ _ B B _ B B _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B B B _ _ _ _ B B _ _ _ 
-         _ B B _ B _ _ _ _ B B B B B B _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ _ _ _ _ B B B B B B _ B B _ _ B B _ _ _ _ _ B B _ _ _ 
-         _ B B _ _ _ B _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B B B B _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ _ 
-         _ B B _ _ B B _ B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ B B B _ _ B B _ _ _ _ B B _ _ _ B B _ _ B B _ _ B B _ B B _ _ _ 
-         B B B B B B B _ _ B B _ B B B _ B B _ _ B B B _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B _ B B _ _ B B B _ B B _ _ B B B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ B B _ _ _ B B B B B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ _ B B B _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B _ _ B B _ _ _ B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B B B _ _ _ _ _ B B B _ _ _ _ B B B B B _ _ B B _ _ B B _ _ B B _ B B B _ _ B B B B _ B B _ _ _ B B B B B _ _ _ B B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ B B _ B B _ _ _ 
-         _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B B B B B B _ B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ 
-         _ B B B B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ B B B B _ _ B B B B B B _ _ B B B B B _ _ _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ B B _ B B _ 
-         B B _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ B B _ _ B B _ _ _ B B B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ 
-         B B _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ B B B _ _ B B _ _ B B B _ _ _ B B B B _ _ _ _ B B _ B B _ B B _ B B _ _ _ 
-         B B _ _ B B _ _ _ _ _ B B _ _ _ B B _ _ _ B B _ B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B _ _ _ _ B B _ B _ _ B B _ B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B B _ B B _ _ _ B B B B _ _ _ B B B B B _ _ _ B B B _ B B _ _ B B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B B B _ B B _ _ _ B B _ B B _ B B B B B B B _ B B B B _ B B _ _ _ B B _ B B _ B B B B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B _ B B _ B B B B B B B _ B B B B B _ _ _ B B B B _ B B _ _ _ B B _ B B _ B B B B _ B B _ B B B B B B B _ B B B B B B B _ B B B B B _ _ _ B B B B B _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B B B B _ _ B B _ B B _ _ _ B B _ B B B _ _ B B B B B B B B B B _ B B B B B B B B B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B B B B B B B B B 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B B B B B B B B B B B B B B B B B B B B B _ _ _ B B B B B B B B B B B B B B B B B B B B B _ _ _ B B B B B _ _ B B _ B B B _ _ B B B B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B B B B B B B B B 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ B B B B B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         B B B B B B B B B B B B B B B B B B B B B B B B _ _ B B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B B B B B B B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ B B B B B B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ B B B B _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ B B B B B _ _ 
-         _ _ _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ B B _ _ _ B B B B _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ B B _ _ _ B B _ 
-         _ B B B _ B B _ B B _ _ B B _ _ B B _ _ _ _ _ _ B B B B B B B _ _ _ B B _ _ _ _ _ B B B B B B _ _ B B _ _ B B _ B B _ B B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B _ _ _ B B B B B B _ _ B B B B B B _ _ B B _ _ _ _ _ B B _ _ _ B B _ 
-         B B _ B B B _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ B B B B B B B _ B B _ _ _ B B _ _ _ B B B B B _ B B _ B B _ B B B B _ B B _ B B _ B B B B B _ _ B B _ _ _ B B _ 
-         B B _ B B _ _ _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ B B _ B B B B _ B B _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ 
-         B B _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ B B _ B B _ B B B B B B _ _ B B _ B B _ _ _ _ _ B B _ _ _ B B _ 
-         B B _ B B _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ B B B B _ _ B B _ _ _ B B _ _ B B _ B B _ _ _ B B _ _ B B _ _ B B B B B B _ _ B B B B B B _ _ B B _ _ _ _ _ B B _ _ _ B B _ 
-         B B _ B B B _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ B B _ B B _ _ B B _ _ _ B B _ B B _ B B _ _ _ _ B B _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ B B _ 
-         _ B B B _ B B _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ B B _ B B _ _ B B B B B B B _ _ B B B _ _ _ _ _ B B B B B _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ B B B _ _ _ B B B _ B B B _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ B B B _ _ B B _ _ _ B B _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ B B _ B B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ B B _ _ B B _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ 
-         B B B B B B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ B B B B B B _ B B B _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B B _ _ B _ _ B B B B B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ B B _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B _ B B _ _ B B B B B B _ _ B B B B B B _ _ _ _ B _ _ _ _ 
-         B B B B B B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ B _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ B _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ B B _ _ _ B B _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ B _ _ _ _ 
-         B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
- }; 
- static const uint8_t characters_table_16x16_8x16_light[] = 
- { 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ B B B B _ _ _ B B B B _ _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ B _ _ _ _ 
-         B _ B _ _ _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B _ B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ B B _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ _ B _ B _ _ B _ _ B _ 
-         _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ B B B B B B B _ B _ _ B _ _ B _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ _ B B _ _ _ B B B _ B B B _ _ _ B B B B _ _ B B _ _ _ B B _ _ _ _ _ B _ B _ _ B _ _ _ _ B _ _ _ _ B B B B _ _ _ B B B B B _ _ B _ B _ B _ _ 
-         _ _ B _ B _ _ _ B _ B _ B _ B _ B B _ B _ B B _ B _ _ B _ _ B _ _ B _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ B B B B _ _ B B _ _ _ B B _ _ B B _ _ B B _ B _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ _ B B B _ _ _ 
-         _ _ B _ B _ _ _ B _ _ _ _ _ B _ B B B B B B B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B _ B _ B _ _ B _ _ _ _ _ B _ _ _ B B B B _ _ B B _ _ _ B B _ _ B _ _ _ _ B _ B _ B B B _ B _ _ B B B B _ _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ B B B _ B B B _ 
-         _ _ B _ B _ _ _ B _ B B B _ B _ B B B B B B B _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ B _ B B B _ B _ B _ B B B _ B _ _ _ _ B B _ _ _ B B B _ B B B _ _ B _ _ _ _ B _ B _ B B B _ B _ B _ _ _ _ B _ _ _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ _ B B B _ _ _ 
-         _ _ _ B B _ _ _ B _ _ B _ _ B _ B B _ _ _ B B _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ B _ B _ B _ _ _ B _ B _ B _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ B B _ _ B B _ B _ _ B _ _ B _ B _ _ _ _ B _ _ _ B B B B B B _ _ B B B _ _ _ _ _ _ B _ B B B _ _ B _ B _ B _ _ 
-         _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ B B B _ B B B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ B B B B _ _ B B _ _ _ B B _ B _ _ _ _ B _ _ _ _ _ B B _ _ _ B B B B _ _ _ _ B B B _ B B B _ B _ _ B _ _ B _ 
-         _ _ _ _ B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ B B B B _ _ _ _ _ _ B B _ _ _ B B B _ _ _ _ _ B B B _ B B _ _ _ _ _ B _ _ _ _ 
-         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B 
-         _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ B B B B B B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ 
-         _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ 
-         _ B B B _ _ _ _ _ _ _ _ B B B _ _ B _ B _ B _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ B _ B _ B _ _ _ B _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ 
-         _ B B B B _ _ _ _ _ _ B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ 
-         _ B B B B B _ _ _ _ B B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ B B B _ _ B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ B _ _ _ _ _ _ B B B B B B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ 
-         _ B B B B _ _ _ _ _ _ B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ 
-         _ B B B _ _ _ _ _ _ _ _ B B B _ _ B _ B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B B B B _ _ _ B B B B B B B _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ B _ B _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ B B B B B B _ _ _ B _ _ B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ 
-         _ B B _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ B B B B B B B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ B _ B _ _ _ _ B _ _ B B B B B B B _ _ B B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B B _ _ _ B B _ _ B _ _ _ B _ _ _ _ B B B B _ _ B B B _ _ _ B _ _ _ B B B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B B _ _ _ B B _ _ B _ _ _ B _ _ _ B _ _ B _ B _ B _ B _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B B B B B B B _ _ B _ _ B _ _ _ B B B _ B _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ B B B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ B _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B B _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ B _ B _ _ B _ _ _ B _ B B B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ B _ _ B _ _ B _ _ B _ B _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ B B B B _ _ B _ _ _ B B B _ _ B B B B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B B B B B _ _ 
-         _ _ B B B B _ _ _ _ _ _ B _ _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ _ _ _ B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B B B B B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _ 
-         _ B _ _ _ _ B _ _ _ _ B B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ 
-         _ B _ _ _ _ B _ _ _ B _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ B B B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _ 
-         _ B _ B B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ B B B B _ _ _ _ B _ _ _ B _ _ _ B B B B _ _ _ B B B B B _ _ _ _ _ _ B _ _ _ _ _ B B B B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ 
-         _ B _ B B _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ B _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ 
-         _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ B B B B B B B _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ 
-         _ _ B B B B _ _ _ _ B B B B B _ _ B B B B B B _ _ B B B B B _ _ _ _ _ _ _ _ B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B B B B _ _ _ _ _ B B _ _ _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B _ _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B _ _ _ _ B _ _ _ _ B B B _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B B B B _ _ 
-         B _ _ _ _ _ B _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ B B _ _ B B _ _ B B _ _ _ B _ _ B _ _ _ _ B _ 
-         B _ B B B _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ B B _ B _ _ B _ B _ _ B _ _ B _ _ _ _ B _ 
-         B _ B _ B _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ B B _ B _ _ B _ _ B _ B _ _ B _ _ _ _ B _ 
-         B _ B _ B _ B _ _ B _ _ _ _ B _ _ B B B B B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B B B B B _ _ _ B B B B B _ _ B _ _ B B B _ _ B B B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ B B _ _ B _ _ _ _ B _ 
-         B _ B _ B _ B _ _ B B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ 
-         B _ _ B B B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ 
-         B _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ 
-         _ B B B B B _ _ _ B _ _ _ _ B _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ B B B B B _ _ _ B _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ _ _ B B B _ _ _ _ B B _ _ _ _ _ B _ _ _ _ B _ _ _ B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B B B B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B _ _ _ _ B B B B _ _ _ B B B B B B B _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B B B B B B _ _ _ B B B B _ _ _ B _ _ _ _ _ _ _ _ B B B B _ _ _ _ B _ B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ B _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B B B B B _ _ _ B _ _ _ _ B _ _ B B B B B _ _ _ _ _ B B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ B B _ B _ _ _ _ _ B _ _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ B B _ B _ _ _ _ B _ B _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ _ _ _ B _ _ B _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ B B _ B _ _ _ B _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ _ _ _ B _ _ B _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ B _ _ B _ _ _ B B _ _ B B _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ _ _ _ _ B B B B _ _ _ B _ _ _ _ B _ _ _ B B B B _ _ _ _ _ _ B _ _ _ _ _ B B B B _ _ _ _ _ B B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B B B B B B _ _ _ B B B B _ _ _ _ _ _ _ B _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ B _ B B B _ _ _ _ B B B B _ _ _ _ B B B _ B _ _ _ B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ B _ B B B _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B B B _ B B _ _ _ B B B B B _ _ _ _ B B B B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B B _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ B B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B B _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B B B B _ _ _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ 
-         _ _ _ _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B B B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ 
-         _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ B B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ 
-         _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ 
-         _ _ _ _ _ _ _ _ _ _ B B B B B _ _ B B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B B B B B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ B B B B B _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ _ B B B B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ B B B _ _ _ _ B B B B B _ _ _ B _ B B _ _ _ _ B B B B B _ _ B B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B B B B B B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ 
-         _ B B _ _ _ B _ _ B _ _ _ _ B _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ B B _ _ _ B _ _ _ B _ B _ _ _ 
-         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B _ _ B _ _ B _ _ _ B _ _ 
-         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ _ _ B B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B B _ _ B _ _ _ _ _ B _ 
-         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ 
-         _ B _ _ _ _ B _ _ B _ _ _ B B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ B _ _ B _ _ _ _ B _ _ _ B B B B B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ 
-         _ B B B B B _ _ _ _ B B B _ B _ _ _ B _ _ _ _ _ _ B B B B B _ _ _ _ _ _ B B B _ _ _ B B B B B _ _ _ _ B B _ _ _ _ B B _ B B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ B B B B B B _ _ _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B B _ _ _ B B B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ 
-         _ _ B B B B _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ B _ B _ _ _ _ _ _ B _ _ _ _ _ _ B B B B _ _ _ _ B B B _ _ _ 
-         _ B _ _ _ _ B _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B B B B B _ _ 
-         _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ 
-         _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B B B B B B _ B _ _ _ _ _ B _ 
-         _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B _ _ _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ B B B B B B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B B B B B B B _ 
-         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ 
-         _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ 
-         _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ 
-         _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ B _ _ _ _ _ B _ B B B B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B _ _ _ _ B B _ _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ B _ _ B _ _ _ B B B B B _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ 
-         _ B B B B B _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ B _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B B B B B _ _ _ B _ _ _ B _ _ _ _ B _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ 
-         _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ 
-         _ B _ _ _ _ _ _ _ B B _ B B _ _ B _ _ _ B _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ B _ _ _ _ B B B B B _ _ _ _ _ _ B _ _ _ _ 
-         _ B B B B _ _ _ _ _ _ B _ _ B _ B B B B B B B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ 
-         _ B _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ B B B _ _ _ _ B _ _ _ _ 
-         _ B _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ B B B B B _ _ _ B B _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ 
-         _ B _ _ _ _ _ _ B _ _ B _ _ B _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B B _ B _ B B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ 
-         _ B B B B B _ _ _ B B B B B _ _ B _ _ _ B B B _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ B _ _ _ _ B B _ _ B B _ _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B B _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ B _ _ B B _ _ B _ _ _ _ 
-         _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ B B _ _ B _ _ _ _ _ B _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B B _ _ _ _ _ _ B _ _ B _ _ B _ _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ 
-         _ _ B B B B _ _ _ _ B B _ _ _ _ _ _ B B B B _ _ _ B _ _ _ _ B _ _ B B B B B _ _ B _ B _ _ _ B _ _ _ B B B B B _ _ _ B B B B _ _ _ _ _ B _ _ _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B B _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ B _ 
-         _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _ _ B _ _ B _ _ _ _ _ _ _ _ B _ _ B 
-         _ _ B B B B B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ B _ B _ _ B B B B B B _ _ B B B B B B _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ B B _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ B _ 
-         _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B B _ _ _ B _ _ _ B B _ _ _ _ B B _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ 
-         _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B _ B _ _ _ B _ B _ _ _ _ B B _ _ _ _ _ _ B _ _ B _ _ B _ _ B _ _ _ 
-         _ _ B B B B B _ _ _ _ B _ _ _ _ _ _ B B B B _ _ _ _ B B B B B _ _ B _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B B B _ _ _ _ B B _ _ _ _ _ _ _ B _ _ B B _ _ B _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B B B _ B B _ _ _ B B _ B B _ B B B B B B B _ B B B B _ B B _ _ _ B B _ B B _ B B B B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ B B B B B _ _ _ B B B B B _ _ _ B B B B _ B B _ B B B B B B B _ B B B B B _ _ _ B B B B _ B B _ _ _ B B _ B B _ B B B B _ B B _ B B B B B B B _ B B B B B B B _ B B B B B _ _ _ B B B B B _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ B _ _ _ B _ _ B _ B _ B _ B _ _ B B B _ B B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ B _ _ _ B _ B _ B _ B _ B B B _ B B B _ B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B B B B _ _ B B _ B B _ _ _ B B _ B B B _ _ B B B B B B B B B B _ B B B B B B B B B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B B B B B B B B B 
-         _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ B B B B B B B B B B B B B B B B B B B B B _ _ _ B B B B B B B B B B B B B B B B B B B B B _ _ _ B B B B B _ _ B B _ B B B _ _ B B B B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B _ _ B B _ B B B B B B B B B B B B B B B _ B B B B B B B B B B B 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ B B B B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B B B B _ _ _ B B B B B _ _ _ _ _ _ _ _ _ _ B B _ B B _ B B B B B B B B _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ B B B B B B B B B B B B 
-         B B B B B B B B B B B B B B B B B B B B B B B B _ _ B B B B B B _ _ _ B B B B B _ _ _ B B B B B _ _ B B B B B B B B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ B B B B B B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ B B _ B B _ _ _ B B _ B B _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ B B B B B B B B B B B B B B B B B B B B _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B B B _ _ B B B B B B B _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ B _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ 
-         _ B B B _ B B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B B B B B B _ _ _ B _ _ _ _ _ _ _ B B B B B _ _ B _ _ _ _ B _ _ B B B B B B _ B _ _ B _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ _ B _ B _ _ _ B B B B B _ B _ _ _ _ _ B _ 
-         B _ _ _ B _ _ _ _ B B B B B _ _ _ B _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ B _ B B B B B B B _ B _ _ _ _ _ B _ _ _ _ B B _ _ _ B _ B _ B _ B _ B _ _ B _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _ 
-         B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ B _ B _ _ _ _ _ B _ B _ _ _ _ _ B _ _ _ B _ _ B _ _ B _ _ B _ _ B _ B _ B _ _ _ B _ _ B B B B B _ _ B _ _ _ _ _ B _ 
-         B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ B _ _ B _ _ _ B _ _ _ _ _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ _ _ _ B _ _ _ _ _ B _ B _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ B _ _ _ _ B _ B _ B _ B _ B _ _ B _ _ _ B _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ B _ 
-         _ B B B _ B B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ B B _ _ B _ _ B _ _ _ _ _ B _ _ _ B B B _ _ _ _ B B B B B _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ _ _ B B B _ _ _ B B _ _ _ B B _ _ B _ _ _ _ B _ _ B _ _ _ B _ _ B _ B B B _ _ _ _ _ B B B B B _ B _ _ _ _ _ B _ 
-         _ _ _ _ _ _ _ _ _ B B B B B _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B B B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B _ 
-         _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B B _ _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B _ _ B _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ B B B _ _ _ _ _ 
-         B B B B B B B _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ B _ _ _ _ B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B _ _ B _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B B _ _ B _ _ B _ _ _ _ _ B _ _ _ _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ 
-         B B B B B B B _ _ B B B B B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ B B B B B B B _ _ _ _ _ B B _ _ _ _ B B _ _ _ _ _ _ B B B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ B _ _ _ _ B B B B _ _ _ _ _ B B B B _ _ _ _ B _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ B _ B _ _ _ 
-         B B B B B B B _ _ _ _ B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ B _ _ B _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B B _ _ _ _ _ B _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
-         _ _ _ _ _ _ _ _ _ B B B B B _ _ _ B B B B B B _ _ B B B B B B _ _ _ _ B B _ _ _ B _ _ B B _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B B _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ B B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B _ _ _ 
-         _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B B _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
- }; 
- #undef B 
- #undef _ 
-   
-   
- // text styles 
- #define TEXTSTYLE_NONE          0 
- #define TEXTSTYLE_BOLD          (1 << 0) 
- #define TEXTSTYLE_DIM           (1 << 1) 
- #define TEXTSTYLE_ITALIC        (1 << 2) 
- #define TEXTSTYLE_UNDERLINE1    (1 << 3) 
- #define TEXTSTYLE_UNDERLINE2    (1 << 4) 
- #define TEXTSTYLE_STRIKETHROUGH (1 << 5) 
-   
-   
- // handy macros 
- #define ROUND_TO_MULTIPLE_OF_32(num) (((num) + 31) & -32) // this macro is valid for all multiples that are powers of 2 
- #define GET_NEXT_CHARACTER() (repeat_count > 0 ? (repeat_count--, current_char) : (accumulated_character_count > 0 ? accumulated_characters[(--accumulated_character_count, accumulated_character_index++)] : ((int) (accumulated_character_index = 0), getchar ()))) 
-   
-   
- #if (SIZE_MAX != UINTPTR_MAX) // compile-time assertion 
- #error size_t is not aligned with natural integer size on this platform! 
- #endif 
-   
-   
- int main (int argc, char **argv) 
- { 
-         // program entrypoint 
-   
-         typedef struct rbgtriple_s 
-         { 
-                 int r; 
-                 int g; 
-                 int b; 
-         } rbgtriple_t; 
-   
-         static const rbgtriple_t ansi_colors_normal[10] = 
-         { 
-                 {   0,   0,   0 }, // 0: black 
-                 { 153,   0,   0 }, // 1: red 
-                 {   0, 166,   0 }, // 2: green 
-                 { 153, 153,   0 }, // 3: yellow 
-                 {   0,   0, 178 }, // 4: blue 
-                 { 178,   0, 178 }, // 5: magenta 
-                 {   0, 166, 178 }, // 6: cyan 
-                 { 191, 191, 191 }, // 7: white 
-         }; 
-         static const rbgtriple_t ansi_colors_bright[10] = 
-         { 
-                 { 102, 102, 102 }, // 0: black 
-                 { 230,   0,   0 }, // 1: red 
-                 {   0, 217,   0 }, // 2: green 
-                 { 230, 230,   0 }, // 3: yellow 
-                 {   0,   0, 255 }, // 4: blue 
-                 { 230,   0, 230 }, // 5: magenta 
-                 {   0, 230, 230 }, // 6: cyan 
-                 { 230, 230, 230 }, // 7: white 
-         }; 
-         static const rbgtriple_t ansi_256_colors[256] = // regular 8-bit ANSI colors table 
-         { 
-                 // standard colors 
-                 { 0x00, 0x00, 0x00 }, { 0x80, 0x00, 0x00 }, { 0x00, 0x80, 0x00 }, { 0x80, 0x80, 0x00 }, { 0x00, 0x00, 0x80 }, { 0x80, 0x00, 0x80 }, { 0x00, 0x80, 0x80 }, { 0xc0, 0xc0, 0xc0 }, // 0-7 
-                 // high intensity colors 
-                 { 0x80, 0x80, 0x80 }, { 0xff, 0x00, 0x00 }, { 0x00, 0xff, 0x00 }, { 0xff, 0xff, 0x00 }, { 0x00, 0x00, 0xff }, { 0xff, 0x00, 0xff }, { 0x00, 0xff, 0xff }, { 0xff, 0xff, 0xff }, // 8-15 
-                 // color cubes 
-                 { 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x5f }, { 0x00, 0x00, 0x87 }, { 0x00, 0x00, 0xaf }, { 0x00, 0x00, 0xd7 }, { 0x00, 0x00, 0xff }, // 16-21 
-                 { 0x00, 0x5f, 0x00 }, { 0x00, 0x5f, 0x5f }, { 0x00, 0x5f, 0x87 }, { 0x00, 0x5f, 0xaf }, { 0x00, 0x5f, 0xd7 }, { 0x00, 0x5f, 0xff }, // 22-27 
-                 { 0x00, 0x87, 0x00 }, { 0x00, 0x87, 0x5f }, { 0x00, 0x87, 0x87 }, { 0x00, 0x87, 0xaf }, { 0x00, 0x87, 0xd7 }, { 0x00, 0x87, 0xff }, // 28-33 
-                 { 0x00, 0xaf, 0x00 }, { 0x00, 0xaf, 0x5f }, { 0x00, 0xaf, 0x87 }, { 0x00, 0xaf, 0xaf }, { 0x00, 0xaf, 0xd7 }, { 0x00, 0xaf, 0xff }, // 34-39 
-                 { 0x00, 0xd7, 0x00 }, { 0x00, 0xd7, 0x5f }, { 0x00, 0xd7, 0x87 }, { 0x00, 0xd7, 0xaf }, { 0x00, 0xd7, 0xd7 }, { 0x00, 0xd7, 0xff }, // 40-45 
-                 { 0x00, 0xff, 0x00 }, { 0x00, 0xff, 0x5f }, { 0x00, 0xff, 0x87 }, { 0x00, 0xff, 0xaf }, { 0x00, 0xff, 0xd7 }, { 0x00, 0xff, 0xff }, // 46-51 
-                 { 0x5f, 0x00, 0x00 }, { 0x5f, 0x00, 0x5f }, { 0x5f, 0x00, 0x87 }, { 0x5f, 0x00, 0xaf }, { 0x5f, 0x00, 0xd7 }, { 0x5f, 0x00, 0xff }, // 52-57 
-                 { 0x5f, 0x5f, 0x00 }, { 0x5f, 0x5f, 0x5f }, { 0x5f, 0x5f, 0x87 }, { 0x5f, 0x5f, 0xaf }, { 0x5f, 0x5f, 0xd7 }, { 0x5f, 0x5f, 0xff }, // 58-63 
-                 { 0x5f, 0x87, 0x00 }, { 0x5f, 0x87, 0x5f }, { 0x5f, 0x87, 0x87 }, { 0x5f, 0x87, 0xaf }, { 0x5f, 0x87, 0xd7 }, { 0x5f, 0x87, 0xff }, // 64-69 
-                 { 0x5f, 0xaf, 0x00 }, { 0x5f, 0xaf, 0x5f }, { 0x5f, 0xaf, 0x87 }, { 0x5f, 0xaf, 0xaf }, { 0x5f, 0xaf, 0xd7 }, { 0x5f, 0xaf, 0xff }, // 70-75 
-                 { 0x5f, 0xd7, 0x00 }, { 0x5f, 0xd7, 0x5f }, { 0x5f, 0xd7, 0x87 }, { 0x5f, 0xd7, 0xaf }, { 0x5f, 0xd7, 0xd7 }, { 0x5f, 0xd7, 0xff }, // 76-81 
-                 { 0x5f, 0xff, 0x00 }, { 0x5f, 0xff, 0x5f }, { 0x5f, 0xff, 0x87 }, { 0x5f, 0xff, 0xaf }, { 0x5f, 0xff, 0xd7 }, { 0x5f, 0xff, 0xff }, // 82-87 
-                 { 0x87, 0x00, 0x00 }, { 0x87, 0x00, 0x5f }, { 0x87, 0x00, 0x87 }, { 0x87, 0x00, 0xaf }, { 0x87, 0x00, 0xd7 }, { 0x87, 0x00, 0xff }, // 88-93 
-                 { 0x87, 0x5f, 0x00 }, { 0x87, 0x5f, 0x5f }, { 0x87, 0x5f, 0x87 }, { 0x87, 0x5f, 0xaf }, { 0x87, 0x5f, 0xd7 }, { 0x87, 0x5f, 0xff }, // 94-99 
-                 { 0x87, 0x87, 0x00 }, { 0x87, 0x87, 0x5f }, { 0x87, 0x87, 0x87 }, { 0x87, 0x87, 0xaf }, { 0x87, 0x87, 0xd7 }, { 0x87, 0x87, 0xff }, // 100-105 
-                 { 0x87, 0xaf, 0x00 }, { 0x87, 0xaf, 0x5f }, { 0x87, 0xaf, 0x87 }, { 0x87, 0xaf, 0xaf }, { 0x87, 0xaf, 0xd7 }, { 0x87, 0xaf, 0xff }, // 106-111 
-                 { 0x87, 0xd7, 0x00 }, { 0x87, 0xd7, 0x5f }, { 0x87, 0xd7, 0x87 }, { 0x87, 0xd7, 0xaf }, { 0x87, 0xd7, 0xd7 }, { 0x87, 0xd7, 0xff }, // 112-117 
-                 { 0x87, 0xff, 0x00 }, { 0x87, 0xff, 0x5f }, { 0x87, 0xff, 0x87 }, { 0x87, 0xff, 0xaf }, { 0x87, 0xff, 0xd7 }, { 0x87, 0xff, 0xff }, // 118-123 
-                 { 0xaf, 0x00, 0x00 }, { 0xaf, 0x00, 0x5f }, { 0xaf, 0x00, 0x87 }, { 0xaf, 0x00, 0xaf }, { 0xaf, 0x00, 0xd7 }, { 0xaf, 0x00, 0xff }, // 124-129 
-                 { 0xaf, 0x5f, 0x00 }, { 0xaf, 0x5f, 0x5f }, { 0xaf, 0x5f, 0x87 }, { 0xaf, 0x5f, 0xaf }, { 0xaf, 0x5f, 0xd7 }, { 0xaf, 0x5f, 0xff }, // 130-135 
-                 { 0xaf, 0x87, 0x00 }, { 0xaf, 0x87, 0x5f }, { 0xaf, 0x87, 0x87 }, { 0xaf, 0x87, 0xaf }, { 0xaf, 0x87, 0xd7 }, { 0xaf, 0x87, 0xff }, // 136-141 
-                 { 0xaf, 0xaf, 0x00 }, { 0xaf, 0xaf, 0x5f }, { 0xaf, 0xaf, 0x87 }, { 0xaf, 0xaf, 0xaf }, { 0xaf, 0xaf, 0xd7 }, { 0xaf, 0xaf, 0xff }, // 142-147 
-                 { 0xaf, 0xd7, 0x00 }, { 0xaf, 0xd7, 0x5f }, { 0xaf, 0xd7, 0x87 }, { 0xaf, 0xd7, 0xaf }, { 0xaf, 0xd7, 0xd7 }, { 0xaf, 0xd7, 0xff }, // 148-153 
-                 { 0xaf, 0xff, 0x00 }, { 0xaf, 0xff, 0x5f }, { 0xaf, 0xff, 0x87 }, { 0xaf, 0xff, 0xaf }, { 0xaf, 0xff, 0xd7 }, { 0xaf, 0xff, 0xff }, // 154-159 
-                 { 0xd7, 0x00, 0x00 }, { 0xd7, 0x00, 0x5f }, { 0xd7, 0x00, 0x87 }, { 0xd7, 0x00, 0xaf }, { 0xd7, 0x00, 0xd7 }, { 0xd7, 0x00, 0xff }, // 160-165 
-                 { 0xd7, 0x5f, 0x00 }, { 0xd7, 0x5f, 0x5f }, { 0xd7, 0x5f, 0x87 }, { 0xd7, 0x5f, 0xaf }, { 0xd7, 0x5f, 0xd7 }, { 0xd7, 0x5f, 0xff }, // 166-171 
-                 { 0xd7, 0x87, 0x00 }, { 0xd7, 0x87, 0x5f }, { 0xd7, 0x87, 0x87 }, { 0xd7, 0x87, 0xaf }, { 0xd7, 0x87, 0xd7 }, { 0xd7, 0x87, 0xff }, // 172-177 
-                 { 0xd7, 0xaf, 0x00 }, { 0xd7, 0xaf, 0x5f }, { 0xd7, 0xaf, 0x87 }, { 0xd7, 0xaf, 0xaf }, { 0xd7, 0xaf, 0xd7 }, { 0xd7, 0xaf, 0xff }, // 178-183 
-                 { 0xd7, 0xd7, 0x00 }, { 0xd7, 0xd7, 0x5f }, { 0xd7, 0xd7, 0x87 }, { 0xd7, 0xd7, 0xaf }, { 0xd7, 0xd7, 0xd7 }, { 0xd7, 0xd7, 0xff }, // 184-189 
-                 { 0xd7, 0xff, 0x00 }, { 0xd7, 0xff, 0x5f }, { 0xd7, 0xff, 0x87 }, { 0xd7, 0xff, 0xaf }, { 0xd7, 0xff, 0xd7 }, { 0xd7, 0xff, 0xff }, // 190-195 
-                 { 0xff, 0x00, 0x00 }, { 0xff, 0x00, 0x5f }, { 0xff, 0x00, 0x87 }, { 0xff, 0x00, 0xaf }, { 0xff, 0x00, 0xd7 }, { 0xff, 0x00, 0xff }, // 196-201 
-                 { 0xff, 0x5f, 0x00 }, { 0xff, 0x5f, 0x5f }, { 0xff, 0x5f, 0x87 }, { 0xff, 0x5f, 0xaf }, { 0xff, 0x5f, 0xd7 }, { 0xff, 0x5f, 0xff }, // 202-207 
-                 { 0xff, 0x87, 0x00 }, { 0xff, 0x87, 0x5f }, { 0xff, 0x87, 0x87 }, { 0xff, 0x87, 0xaf }, { 0xff, 0x87, 0xd7 }, { 0xff, 0x87, 0xff }, // 208-213 
-                 { 0xff, 0xaf, 0x00 }, { 0xff, 0xaf, 0x5f }, { 0xff, 0xaf, 0x87 }, { 0xff, 0xaf, 0xaf }, { 0xff, 0xaf, 0xd7 }, { 0xff, 0xaf, 0xff }, // 214-219 
-                 { 0xff, 0xd7, 0x00 }, { 0xff, 0xd7, 0x5f }, { 0xff, 0xd7, 0x87 }, { 0xff, 0xd7, 0xaf }, { 0xff, 0xd7, 0xd7 }, { 0xff, 0xd7, 0xff }, // 220-225 
-                 { 0xff, 0xff, 0x00 }, { 0xff, 0xff, 0x5f }, { 0xff, 0xff, 0x87 }, { 0xff, 0xff, 0xaf }, { 0xff, 0xff, 0xd7 }, { 0xff, 0xff, 0xff }, // 226-231 
-                 // grayscale 
-                 { 0x08, 0x08, 0x08 }, { 0x12, 0x12, 0x12 }, { 0x1c, 0x1c, 0x1c }, { 0x26, 0x26, 0x26 }, { 0x30, 0x30, 0x30 }, { 0x3a, 0x3a, 0x3a }, // 232- 
-                 { 0x44, 0x44, 0x44 }, { 0x4e, 0x4e, 0x4e }, { 0x58, 0x58, 0x58 }, { 0x60, 0x60, 0x60 }, { 0x66, 0x66, 0x66 }, { 0x76, 0x76, 0x76 }, // 
-                 { 0x80, 0x80, 0x80 }, { 0x8a, 0x8a, 0x8a }, { 0x94, 0x94, 0x94 }, { 0x9e, 0x9e, 0x9e }, { 0xa8, 0xa8, 0xa8 }, { 0xb2, 0xb2, 0xb2 }, // 
-                 { 0xbc, 0xbc, 0xbc }, { 0xc6, 0xc6, 0xc6 }, { 0xd0, 0xd0, 0xd0 }, { 0xda, 0xda, 0xda }, { 0xe4, 0xe4, 0xe4 }, { 0xee, 0xee, 0xee }  // -255 
-         }; 
-         const rbgtriple_t default_foreground_color = { 127, 127, 127 }; // gray 
-         const rbgtriple_t default_background_color = {   0,   0,   0 }; // black 
-         const rbgtriple_t transparent_color        = {  -1,  -1,  -1 }; // transparent 
-         rbgtriple_t custom_foreground_color        = { 127, 127, 127 }; // gray 
-         rbgtriple_t custom_background_color        = {   0,   0,   0 }; // black 
-         const rbgtriple_t *fg_color = &default_foreground_color; // gray 
-         const rbgtriple_t *bg_color = &default_background_color; // black 
-         struct framebuffer_s 
-         { 
-                 size_t base_address; // user-supplied 
-                 size_t size_in_bytes; // user-supplied 
-                 size_t width_in_pixels; // user-supplied 
-                 size_t height_in_pixels; // user-supplied 
-                 char pixel_format[5]; // user-supplied 
-   
-                 uint8_t *virtual_address; // calculated (result of mmap) 
-                 rbgtriple_t pixel_indices; // red, green and blue pixel indices in a pixel DWORD (0, 1, 2 or 3) -- calculated out of a user-supplied format string 
-                 size_t pixel_size_in_bytes; // calculated 
-                 size_t stride_in_pixels; // calculated 
-                 size_t stride_in_bytes; // calculated 
-   
-                 size_t max_character_lines; // calculated 
-                 size_t max_character_columns; // calculated 
-                 int cursor_line; // calculated 
-                 int cursor_column; // calculated 
-                 const uint8_t *characters_table_16x16_8x16; // calculated 
-                 int text_style; // calculated 
-         } fb = { 0 }; 
-   
-         static char accumulated_characters[4096]; 
-         size_t accumulated_character_index = 0; 
-         size_t accumulated_character_count = 0; 
-         size_t accumulated_character_startidx; 
-         size_t column_offset_in_framebuffer; 
-         size_t line_offset_in_framebuffer; 
-         size_t char_row_in_chartable; 
-         size_t char_col_in_chartable; 
-         size_t offset_in_framebuffer; 
-         size_t offset_in_chartable; 
-         size_t char_index; 
-         size_t char_curx; 
-         size_t char_cury; 
-         int current_char; 
-         int next_char; 
-         int escseq_integers[5]; 
-         int final_taint; 
-         int character; 
-         int want_debuginfo; 
-         int is_pixel_lit; 
-         int is_backspace = 0; 
-         int repeat_count = 0; 
-         int code_count; 
-         int code_index; 
-         int row_index; 
-         png_struct *png; 
-         png_info *png_info_struct; 
-         char image_color_type; 
-         char image_bit_depth; 
-         char *confstr_word; 
-         int image_height; 
-         int image_width; 
-         int pixel_index; 
-         int is_eos; 
-         uint8_t *image_row; 
-         FILE *fp; 
-   
-         // tell if we want debug info by looking for the presence of a FRAMEBUFFER_DEBUG environment variable 
-         want_debuginfo  = (getenv ("FRAMEBUFFER_DEBUG") !=-  NULL );
-   
-         // check that we have all that we need 
-         if (argc == 6) 
-         { 
-                 // collect linear framebuffer parameters from command-line arguments if available 
-                 fb. base_address     = strtoul (- argv [1],-  NULL , 0);
-                 fb. size_in_bytes    = strtoul (- argv [2],-  NULL , 0);
-                 fb. width_in_pixels  = strtoul (- argv [3],-  NULL , 0);
-                 fb. height_in_pixels = strtoul (- argv [4],-  NULL , 0);
-                 strcpy (- fb. pixel_format,-  argv [5]);
 
-         } 
- #ifdef _CS_GRAPHICS 
-         else if (confstr (_CS_GRAPHICS, accumulated_characters, sizeof (accumulated_characters)) > 0) 
-         { 
-                 // else (if not supplied from the command line) read them from the _CS_GRAPHICS confstr if available 
-                 confstr_word = accumulated_characters; // parse _CS_GRAPHICS configuration string value and stop at each word separator 
-                 for (char_index = 0; char_index < sizeof (accumulated_characters); char_index++) 
-                         if ((strchr (" \t_",-  accumulated_characters [- char_index ]) !=-  NULL ) || (- accumulated_characters [- char_index ] == 0))
 
-                         { 
-                                 is_eos = (accumulated_characters[char_index] == 0); // see if we're at end of string 
-                                 accumulated_characters[char_index] = 0; // split the conf string at each word separation 
-                                 if      (- fb. base_address     == 0)-  fb. base_address     = strtoul (- confstr_word ,-  NULL , 0);
 
-                                 else if (- fb. size_in_bytes    == 0)-  fb. size_in_bytes    = strtoul (- confstr_word ,-  NULL , 0);
 
-                                 else if (- fb. width_in_pixels  == 0)-  fb. width_in_pixels  = strtoul (- confstr_word ,-  NULL , 0);
 
-                                 else if (- fb. height_in_pixels == 0)-  fb. height_in_pixels = strtoul (- confstr_word ,-  NULL , 0);
 
-                                 else if (- fb. pixel_format[0]  == 0) strcpy (- fb. pixel_format,-  confstr_word );
 
-                                 if (is_eos) 
-                                         break; // if end of string is reached, stop parsing 
-                                 confstr_word = &accumulated_characters[char_index + 1]; // else remember where the next word starts 
-                         } 
-         } 
- #endif // _CS_GRAPHICS 
-   
-         // do we have NO framebuffer specification ? 
-         if (fb.base_address == 0) 
-         { 
-                 if ((- argc  < 2) || ((strcmp (- argv [1], "-?") != 0) && (strcmp (- argv [1], "--help") != 0)))
 
-                         fprintf (- stderr , "error: must specify framebuffer address, size, and pixel format (or set the _CS_GRAPHICS configuration string to 'fbaddr_fbsize_width_height_pixfmt')\n");
 
-                 else 
-                         fprintf (- stdout , "Linear framebuffer printer for QNX 8.0 by Pierre-Marie Baty <pm@pmbaty.com>\n");
 
-                          
-                 fprintf (- stdout , "usage (_CS_GRAPHICS set to 'fbaddr_fbsize_width_height_pixfmt'):\n");
 
-                 fprintf (- stdout , "   <pipe>|fbwrite\n");
 
-                 fprintf (- stdout , "usage (_CS_GRAPHICS not set):\n");
 
-                 fprintf (- stdout , "   <pipe>|fbwrite <fbaddr> <fbsize> <width> <height> <pixfmt>\n");
 
-                 fprintf (- stdout , "   printf 'Hello world!'|fbwrite 0x400000000 1920000 800 600 BGRx\n");
 
-                 fprintf (- stdout , "Most control chars and ANSI escape sequences are supported, with additions.\n");
 
-                 fprintf (- stdout , "   addition: transparent foreground color:  ESC[38;5;256m\n");
 
-                 fprintf (- stdout , "   addition: transparent background color:  ESC[48;5;256m\n");
 
-                 fprintf (- stdout , "   addition: draw image at cursor location: ESC]1;<image_pathname>BEL\n");
 
-                 fprintf (- stdout , "Debug info is printed if the FRAMEBUFFER_DEBUG environment variable is present.\n");
 
-         } 
-   
-         // consistency checks 
-         if ((fb.size_in_bytes == 0) || (fb.width_in_pixels == 0) || (fb.height_in_pixels == 0)) 
-         { 
-                 fprintf (- stderr , "error: neither the framebuffer size in bytes, nor width in pixels nor height in pixels can be zero\n");
 
-         } 
-   
-         // compute framebuffer stride based on byte size and pixel height 
-         fb. pixel_size_in_bytes = strlen (- fb. pixel_format);
-         if ((fb.pixel_size_in_bytes < 1) || (fb.pixel_size_in_bytes > 4)) 
-         { 
-                 fprintf (- stderr , "error: invalid/unsupported pixel size (%zd) from pixel format '%s'\n",-  fb. pixel_size_in_bytes,-  fb. pixel_format);
 
-         } 
-         fb.stride_in_bytes  = fb.size_in_bytes / fb.height_in_pixels; 
-         fb.stride_in_pixels = fb.stride_in_bytes / fb.pixel_size_in_bytes; 
-   
-         // compute max character lines and columns in framebuffer 
-         fb.max_character_lines = fb.height_in_pixels / CHAR_PIXELS_H; 
-         fb.max_character_columns = fb.width_in_pixels / CHAR_PIXELS_W; 
-   
-         // compute red, green and blue offsets in a single pixel 
-         for (char_index = 0; char_index < fb.pixel_size_in_bytes; char_index++) 
-         { 
-                 character = fb.pixel_format[char_index]; 
-                 if      ((character == 'R') || (character == 'r')) fb.pixel_indices.r = char_index; 
-                 else if ((character == 'G') || (character == 'g')) fb.pixel_indices.g = char_index; 
-                 else if ((character == 'B') || (character == 'b')) fb.pixel_indices.b = char_index; 
-         } 
-   
-         // make the light font the default font 
-         fb.characters_table_16x16_8x16 = characters_table_16x16_8x16_light; 
-   
-         // map the passed physical address to a virtual memory region 
-         fb.virtual_address = mmap (NULL, fb.size_in_bytes, PROT_READ | PROT_WRITE | PROT_NOCACHE, MAP_SHARED | MAP_PHYS, NOFD, fb.base_address); 
-         if (fb.virtual_address == NULL) 
-         { 
-                 fprintf (- stderr , "fatal: can't mmap() %zd bytes of framebuffer at 0x%zx\n",-  fb. size_in_bytes,-  fb. base_address);
 
-                         ; // when we die because of a mmap() failure, we don't want to break the input pipe as this would terminate all feeding processes, so sink everything into oblivion 
-                 exit (- EXIT_FAILURE ); // once we've received a hangup signal, we can safely commit suicide in a low-carbon, green and Earth-friendly manner.
 
-         } 
-   
-         // dump framebuffer info if requested 
-         if (want_debuginfo) 
-         { 
-                 fprintf (- stderr , "Framebuffer info:\n");
 
-                 fprintf (- stderr , "      base address: 0x%zx\n",-  fb. base_address);
 
-                 fprintf (- stderr , "      size in bytes: %zd\n",-  fb. size_in_bytes);
 
-                 fprintf (- stderr , "      width in pixels: %zd\n",-  fb. width_in_pixels);
 
-                 fprintf (- stderr , "      height in pixels: %zd\n",-  fb. height_in_pixels);
 
-                 fprintf (- stderr , "      pixel format: '%s'\n",-  fb. pixel_format);
 
-                 fprintf (- stderr , "      red pixel index: %d\n",-  fb. pixel_indices- . r); // calculated
 
-                 fprintf (- stderr , "      red pixel index: %d\n",-  fb. pixel_indices- . g); // calculated
 
-                 fprintf (- stderr , "      red pixel index: %d\n",-  fb. pixel_indices- . b); // calculated
 
-                 fprintf (- stderr , "      virtual address: 0x%zx\n", (size_t)-  fb. virtual_address); // calculated (result of mmap)
 
-                 fprintf (- stderr , "      pixel size in bytes: %zd\n",-  fb. pixel_size_in_bytes); // calculated
 
-                 fprintf (- stderr , "      stride in pixels: %zd\n",-  fb. stride_in_pixels); // calculated
 
-                 fprintf (- stderr , "      stride in bytes: %zd\n",-  fb. stride_in_bytes); // calculated
 
-                 fprintf (- stderr , "      max character lines: %zd\n",-  fb. max_character_lines); // calculated
 
-                 fprintf (- stderr , "      max character columns: %zd\n",-  fb. max_character_columns); // calculated
 
-                 fprintf (- stderr , "      cursor line: %d\n",-  fb. cursor_line); // calculated
 
-                 fprintf (- stderr , "      cursor column: %d\n",-  fb. cursor_column); // calculated
 
-         } 
-   
-         // read characters, either repeating the current one, or unwinding the accumulator, or from stdin 
-         while ((current_char = GET_NEXT_CHARACTER ()) != EOF) 
-         { 
-                 // is it a special character ? 
-                 if (current_char == '\x07') // bell 
-                 { 
- #ifdef __QNXNTO__ 
-                         static size_t pit = 0; 
-                         static size_t kbd = 0; 
-                         uint8_t byte; 
-                         if (pit == 0) 
-                         { 
-                                 ThreadCtl (_NTO_TCTL_IO_LEVEL, (void *) _NTO_IO_LEVEL_1); // give ourselves hardware I/O privileges 
-                                 pit = mmap_device_io (sizeof (size_t), 0x40); // map 8 bytes at address 0x40 (programmable interrupt timer) 
-                                 kbd = mmap_device_io (sizeof (size_t), 0x60); // map 8 bytes at address 0x60 (keyboard controller) 
-                         } 
-                         out8 (pit + 3, 0xb6); // set the PC speaker to output a square wave PCM 
-                         out8 (pit + 2, (uint8_t) ((uint16_t) (1193180 / 440) >> 0)); // set the PC speaker period: low byte 
-                         out8 (pit + 2, (uint8_t) ((uint16_t) (1193180 / 440) >> 8)); // set the PC speaker period: high byte 
-                         byte = in8 (kbd + 1); // read PC speaker state 
-                         if (byte != (byte | 3)) 
-                                 out8 (kbd + 1, byte | 3); // start beeping if necessary 
-                         usleep (100 * 1000); // wait 100 milliseconds 
-                         out8 (kbd + 1, in8 (kbd + 1) & 0xfc); // stop the PC speaker 
- #endif // __QNXNTO__ 
-                         if (want_debuginfo) 
-                                 fprintf (- stderr , "Received bell\n");
 
-                         continue; // and proceed to the next character 
-                 } 
-                 else if (current_char == '\x08') // backspace 
-                 { 
-                         if (fb.cursor_column == 0) // back up one character with line wraparound 
-                         { 
-                                 if (fb.cursor_line > 0) // can we move to the previous line? 
-                                 { 
-                                         fb.cursor_line--; // move one line up 
-                                         fb.cursor_column = fb.max_character_columns - 1; // position at end of line 
-                                 } 
-                         } 
-                         else 
-                                 fb.cursor_column--; // back up one character 
-                         current_char = ' '; // and erase it 
-                         is_backspace = 1; // remember not to advance the cursor 
-                         if (want_debuginfo) 
-                                 fprintf (- stderr , "Received backspace\n");
 
-                 } 
-                 else if (current_char == '\t') // tab 
-                 { 
-                         current_char = ' '; // turn tabs to spaces 
-                         repeat_count = 7; // and repeat them 8 times 
-                         if (want_debuginfo) 
-                                 fprintf (- stderr , "Received tab\n");
 
-                 } 
-                 else if (current_char == '\n') // line feed 
-                 { 
-                         fb.cursor_line++; // jump down to next line 
-                         fb.cursor_column = 0; // reset cursor to beginning of line 
-                         if (want_debuginfo) 
-                                 fprintf (- stderr , "Received newline\n");
 
-                         continue; // and proceed to the next character 
-                 } 
-                 else if (current_char == '\x0c') // form feed 
-                 { 
-                         memset (- fb. virtual_address, 0,-  fb. size_in_bytes); // clear entire scren
 
-                         fb.cursor_line = 0; // move cursor vertically to top of screen 
-                         if (want_debuginfo) 
-                                 fprintf (- stderr , "Received form feed\n");
 
-                         continue; // and proceed to the next character 
-                 } 
-                 else if (current_char == '\r') // carriage return 
-                 { 
-                         fb.cursor_column = 0; // if so, reset cursor to beginning of line 
-                         if (want_debuginfo) 
-                                 fprintf (- stderr , "Received carriage return\n");
 
-                         continue; // and proceed to the next character 
-                 } 
-                 else if (current_char == '\x1b') // possible sequence 
-                 { 
-                         next_char  = getchar (); // read one character in advance
-                         if (next_char == EOF) 
-                                 break; // end of stream 
-                         else if (accumulated_character_count < sizeof (accumulated_characters)) 
-                         { 
-                                 accumulated_character_startidx = accumulated_character_count; // remember where the accumulated data starts 
-                                 accumulated_characters[accumulated_character_count++] = next_char; // accumulate it 
-   
-                                 if (next_char == ']') // possible OSC sequence 
-                                 { 
-                                         if (want_debuginfo) 
-                                                 fprintf (- stderr , "Received possible OSC escape sequence\n");
 
-          
-                                         // read characters in the accumulator until we find a BEL (in case of OSC sequences the terminator is a BEL code) 
-                                         while (((- next_char  = getchar ()) !=-  EOF ) && (- next_char  != 0x07) && (- accumulated_character_count  + 1 < sizeof (- accumulated_characters )))
 
-                                                 accumulated_characters[accumulated_character_count++] = next_char; // accumulate it 
-                                         if (next_char == EOF) 
-                                                 break; // end of stream 
-                                         else if (accumulated_character_count + 1 == sizeof (accumulated_characters)) 
-                                                 fprintf (- stderr , "warning: character accumulator full while reading possible OSC escape sequence. Unwinding.\n");
 
-                                         else // it's a BEL and the accumulator is not full yet 
-                                         { 
-                                                 accumulated_characters[accumulated_character_count] = 0; // terminate the accumulated string ourselves 
-   
-                                                 // see what sort of OSC sequence this is 
-                                                 if (strncmp (&- accumulated_characters [- accumulated_character_startidx ], "]1;", 3) == 0) // set icon name (i.e. background picture name)
 
-                                                 { 
-                                                         fp  = fopen (&- accumulated_characters [- accumulated_character_startidx  + 3], "rb"); // attempt to open the icon file
-                                                         if (fp != NULL) 
-                                                         { 
-                                                                 image_row = NULL; 
-                                                                 png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); 
-                                                                 png_info_struct = png_create_info_struct (png); 
-                                                                 if ((- png  !=-  NULL ) && (- png_info_struct  !=-  NULL ) && (setjmp (- png_jmpbuf  (- png )) == 0))
 
-                                                                 { 
-                                                                         png_init_io (png, fp); // read and convert any color_type into 8bit depth, RGBA format - see http://www.libpng.org/pub/png/libpng-manual.txt 
-                                                                         png_read_info (png, png_info_struct); 
-                                                                         image_color_type = png_get_color_type (png, png_info_struct); 
-                                                                         image_bit_depth = png_get_bit_depth (png, png_info_struct); 
-                                                                         if (image_bit_depth == 16) 
-                                                                                 png_set_strip_16 (png); // convert all 16-bit samples to 8-bit 
-                                                                         if (image_color_type == PNG_COLOR_TYPE_PALETTE) 
-                                                                                 png_set_palette_to_rgb (png); // convert all palette indexes to RGB colors 
-                                                                         if ((image_color_type == PNG_COLOR_TYPE_GRAY) && (image_bit_depth < 8)) 
-                                                                                 png_set_expand_gray_1_2_4_to_8 (png); // convert all low bit depth grayscales to 8 bits (note: PNG_COLOR_TYPE_GRAY_ALPHA is always 8 or 16bit depth) 
-                                                                         if (png_get_valid (png, png_info_struct, PNG_INFO_tRNS)) 
-                                                                                 png_set_tRNS_to_alpha (png); // convert all tRNS transparency chunks to an alpha channel 
-                                                                         if ((image_color_type == PNG_COLOR_TYPE_RGB) || (image_color_type == PNG_COLOR_TYPE_GRAY) || (image_color_type == PNG_COLOR_TYPE_PALETTE)) 
-                                                                                 png_set_filler (png, 0xFF, PNG_FILLER_AFTER); // set 0xff as the alpha value of all color types that don't have an alpha channel 
-                                                                         if ((image_color_type == PNG_COLOR_TYPE_GRAY) || (image_color_type == PNG_COLOR_TYPE_GRAY_ALPHA)) 
-                                                                                 png_set_gray_to_rgb (png); // convert all grayscale color types to RGB 
-                                                                         png_read_update_info (png, png_info_struct); // commit our changes to the PNG info structure 
-                                                                         image_width = png_get_image_width (png, png_info_struct); 
-                                                                         image_height = png_get_image_height (png, png_info_struct); 
-                                                                         image_row  = (uint8_t *) malloc (- png_get_rowbytes  (- png ,-  png_info_struct )); // we'll be reading one row at a time: allocate space for one
-                                                                         if (image_row != NULL) 
-                                                                         { 
-                                                                                 if ((fb.cursor_column * CHAR_PIXELS_W) + image_width > fb.width_in_pixels) 
-                                                                                         image_width = fb.width_in_pixels - fb.cursor_column; // cap image width so that it doesn't extend past the framebuffer on the right 
-                                                                                 for (row_index = 0; row_index < image_height; row_index++) 
-                                                                                 { 
-                                                                                         // compute the offset of the concerned line in the framebuffer 
-                                                                                         line_offset_in_framebuffer = ((fb.cursor_line * CHAR_PIXELS_H) + row_index) * fb.stride_in_bytes; 
-                                                                                         if (line_offset_in_framebuffer > fb.size_in_bytes) 
-                                                                                                 break; // don't draw past the bottom of the framebuffer 
-                                                                                         png_read_row (png, image_row, NULL); // read one scanline at a time and draw it onto the framebuffer 
-                                                                                         for (pixel_index = 0; pixel_index < image_width; pixel_index++) 
-                                                                                         { 
-                                                                                                 // compute the offset of the concerned column in the framebuffer and draw the pixel 
-                                                                                                 column_offset_in_framebuffer = ((fb.cursor_column * CHAR_PIXELS_W) + pixel_index) * fb.pixel_size_in_bytes; 
-                                                                                                 offset_in_framebuffer = line_offset_in_framebuffer + column_offset_in_framebuffer; 
-                                                                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.r] = image_row[4 * pixel_index + 0]; // red 
-                                                                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.g] = image_row[4 * pixel_index + 1]; // green 
-                                                                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.b] = image_row[4 * pixel_index + 2]; // blue 
-                                                                                         } 
-                                                                                 } 
-                                                                         } 
-                                                                         else 
-                                                                                 fprintf (- stderr , "error: can't allocate enough memory for PNG row\n");
 
-                                                                 } 
-                                                                 else 
-                                                                         fprintf (- stderr , "error: can't read '%s': invalid/unsupported PNG image\n", &- accumulated_characters [- accumulated_character_startidx  + 3]);
 
-                                                                 if (image_row != NULL) 
-                                                                         free (- image_row ); // free the single scanline buffer
 
-                                                                 fclose (- fp ); // close the input file
 
-                                                         } 
-                                                         else 
-                                                                 fprintf (- stderr , "error: can't open '%s': %s\n", &- accumulated_characters [- accumulated_character_startidx  + 3], strerror (- errno ));
 
-   
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to the next character 
-                                                 } 
-                                                 else 
-                                                         accumulated_characters[accumulated_character_count++] = next_char; // not a supported OSC sequence, restore BEL terminator into the accumulator 
-                                         } 
-                                 } 
-                                 else if (next_char == '[') // possible ANSI escape sequence 
-                                 { 
-                                         if (want_debuginfo) 
-                                                 fprintf (- stderr , "Received possible ANSI escape sequence\n");
 
-   
-                                         // read characters in the accumulator until we find a something that's NOT a number nor a semicolon (in case of ANSI sequences the terminator is a letter) 
-                                         while (((- next_char  = getchar ()) !=-  EOF ) && (isdigit (- next_char ) || (- next_char  == ';')) && (- accumulated_character_count  + 1 < sizeof (- accumulated_characters )))
 
-                                                 accumulated_characters[accumulated_character_count++] = next_char; // accumulate it 
-                                         if (next_char == EOF) 
-                                                 break; // end of stream 
-                                         else if (accumulated_character_count + 1 == sizeof (accumulated_characters)) 
-                                                 fprintf (- stderr , "warning: character accumulator full while reading possible ANSI escape sequence. Unwinding.\n");
 
-                                         else // it's a terminator character and the accumulator is not full yet 
-                                         { 
-                                                 accumulated_characters[accumulated_character_count] = 0; // terminate the accumulated string ourselves 
-   
-                                                 // see what sort of ANSI escape sequence this is 
-                                                 if (next_char == 'A') // CUU: move cursor up 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                 escseq_integers[0] = 1; // read optional value (default to 1) 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified CUU:%d escape sequence\n",-  escseq_integers [0]);
 
-                                                         fb.cursor_line = (escseq_integers[0] > fb.cursor_line ? 0 : fb.cursor_line - escseq_integers[0]); // move cursor up N lines 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'B') // CUD: move cursor down 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                 escseq_integers[0] = 1; // read optional value (default to 1) 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified CUD:%d escape sequence\n",-  escseq_integers [0]);
 
-                                                         fb.cursor_line = (fb.cursor_line + escseq_integers[0] < fb.max_character_lines - 1 ? fb.cursor_line + escseq_integers[0] : fb.max_character_lines - 1); // move cursor down N lines 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'C') // CUF: move cursor forward 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                 escseq_integers[0] = 1; // read optional value (default to 1) 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified CUF:%d escape sequence\n",-  escseq_integers [0]);
 
-                                                         fb.cursor_column = (fb.cursor_column + escseq_integers[0] < fb.max_character_columns - 1 ? fb.cursor_column + escseq_integers[0] : fb.max_character_columns - 1); // move cursor right N columns 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'D') // CUB: move cursor backwards 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                 escseq_integers[0] = 1; // read optional value (default to 1) 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified CUB:%d escape sequence\n",-  escseq_integers [0]);
 
-                                                         fb.cursor_column = (escseq_integers[0] > fb.cursor_column ? 0 : fb.cursor_column - escseq_integers[0]); // move cursor left N columns 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'E') // CNL: move cursor at beginning of next line 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                 escseq_integers[0] = 1; // read optional value (default to 1) 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified CNL:%d escape sequence\n",-  escseq_integers [0]);
 
-                                                         fb.cursor_line = (fb.cursor_line + escseq_integers[0] < fb.max_character_lines - 1 ? fb.cursor_line + escseq_integers[0] : fb.max_character_lines - 1); // move cursor one line down 
-                                                         fb.cursor_column = 0; // set cursor at beginning of line 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'F') // CPL: move cursor at beginning of previous line 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                 escseq_integers[0] = 1; // read optional value (default to 1) 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified CPL:%d escape sequence\n",-  escseq_integers [0]);
 
-                                                         fb.cursor_line = (escseq_integers[0] > fb.cursor_line ? 0 : fb.cursor_line - escseq_integers[0]); // move cursor one line up 
-                                                         fb.cursor_column = 0; // set cursor at beginning of line 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'G') // CHA: move cursor at horizontal absolute position 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                 escseq_integers[0] = 1; // read optional value (default to 1) 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified CHA:%d escape sequence\n",-  escseq_integers [0]);
 
-                                                         fb.cursor_column = (escseq_integers[0] - 1 < fb.max_character_columns - 1 ? escseq_integers[0] - 1 : fb.max_character_columns - 1); // move cursor at the desired column 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'H') // CUP: move cursor at absolute position 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d;%d", &- escseq_integers [0], &- escseq_integers [1]) != 1)
 
-                                                         { 
-                                                                 escseq_integers[1] = 1; // read optional value (default to 1) 
-                                                                 if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                         escseq_integers[0] = 1; // read optional value (default to 1) 
-                                                         } 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified CUP:%d:%d escape sequence\n",-  escseq_integers [0],-  escseq_integers [0]);
 
-                                                         fb.cursor_line   = (escseq_integers[0] - 1 < fb.max_character_lines   - 1 ? escseq_integers[0] - 1 : fb.max_character_lines   - 1); // move cursor at the desired line 
-                                                         fb.cursor_column = (escseq_integers[1] - 1 < fb.max_character_columns - 1 ? escseq_integers[1] - 1 : fb.max_character_columns - 1); // move cursor at the desired column 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'J') // ED: erase part of display 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                 escseq_integers[0] = 0; // read optional value (default to 1) 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified ED:%d escape sequence\n",-  escseq_integers [0]);
 
-                                                         if (escseq_integers[0] == 0) 
-                                                         { 
-                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++) 
-                                                                 { 
-                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor 
-                                                                         column_offset_in_framebuffer = (fb.cursor_column * CHAR_PIXELS_W) * fb.pixel_size_in_bytes; // column offset of cursor 
-                                                                         memset (&- fb. virtual_address[- line_offset_in_framebuffer  +-  column_offset_in_framebuffer ], 0,-  fb. stride_in_bytes --  column_offset_in_framebuffer ); // erase from cursor to end of line
 
-                                                                 } 
-                                                                 offset_in_framebuffer = (fb.cursor_line + 1) * CHAR_PIXELS_H * fb.stride_in_bytes; // offset of next character line 
-                                                                 memset (&- fb. virtual_address[- offset_in_framebuffer ], 0,-  fb. size_in_bytes --  offset_in_framebuffer ); // erase from next line to end of screen
 
-                                                         } 
-                                                         else if (escseq_integers[0] == 1) 
-                                                         { 
-                                                                 offset_in_framebuffer = fb.cursor_line * CHAR_PIXELS_H * fb.stride_in_bytes; // offset of beginning of current line 
-                                                                 memset (&- fb. virtual_address[0], 0,-  offset_in_framebuffer ); // erase from start of screen to beginning of current line
 
-                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++) 
-                                                                 { 
-                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor 
-                                                                         column_offset_in_framebuffer = (fb.cursor_column * CHAR_PIXELS_W) * fb.pixel_size_in_bytes; // column offset of cursor 
-                                                                         memset (&- fb. virtual_address[- line_offset_in_framebuffer ], 0,-  column_offset_in_framebuffer ); // erase from beginning of line to cursor
 
-                                                                 } 
-                                                         } 
-                                                         else if ((escseq_integers[0] == 2) || (escseq_integers[0] == 3)) 
-                                                                 memset (- fb. virtual_address, 0,-  fb. size_in_bytes); // clear entire scren
 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'K') // EL: erase part of line 
-                                                 { 
-                                                         if (sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0]) != 1)
 
-                                                                 escseq_integers[0] = 0; // read optional value (default to 1) 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified EL:%d escape sequence\n",-  escseq_integers [0]);
 
-                                                         if (escseq_integers[0] == 0) 
-                                                         { 
-                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++) 
-                                                                 { 
-                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor 
-                                                                         column_offset_in_framebuffer = (fb.cursor_column * CHAR_PIXELS_W) * fb.pixel_size_in_bytes; // column offset of cursor 
-                                                                         memset (&- fb. virtual_address[- line_offset_in_framebuffer  +-  column_offset_in_framebuffer ], 0,-  fb. stride_in_bytes --  column_offset_in_framebuffer ); // erase from cursor to end of line
 
-                                                                 } 
-                                                         } 
-                                                         else if (escseq_integers[0] == 1) 
-                                                         { 
-                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++) 
-                                                                 { 
-                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor 
-                                                                         column_offset_in_framebuffer = (fb.cursor_column * CHAR_PIXELS_W) * fb.pixel_size_in_bytes; // column offset of cursor 
-                                                                         memset (&- fb. virtual_address[- line_offset_in_framebuffer ], 0,-  column_offset_in_framebuffer ); // erase from beginning of line to cursor
 
-                                                                 } 
-                                                         } 
-                                                         else if ((escseq_integers[0] == 2) || (escseq_integers[0] == 3)) 
-                                                         { 
-                                                                 for (row_index = 0; row_index < CHAR_PIXELS_H; row_index++) 
-                                                                 { 
-                                                                         line_offset_in_framebuffer = (fb.cursor_line * CHAR_PIXELS_H + row_index) * fb.stride_in_bytes; // line offset of cursor 
-                                                                         memset (&- fb. virtual_address[- line_offset_in_framebuffer ], 0,-  fb. stride_in_bytes); // clear entire line
 
-                                                                 } 
-                                                         } 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else if (next_char == 'm') // SGR: select graphics rendition 
-                                                 { 
-                                                         if (   ((- code_count  = sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d;%d;%d;%d;%d", &- escseq_integers [0], &- escseq_integers [1], &- escseq_integers [2], &- escseq_integers [3], &- escseq_integers [4])) == 4)
 
-                                                             || ((- code_count  = sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d;%d;%d;%d", &- escseq_integers [0], &- escseq_integers [1], &- escseq_integers [2], &- escseq_integers [3])) == 4)
 
-                                                             || ((- code_count  = sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d;%d;%d", &- escseq_integers [0], &- escseq_integers [1], &- escseq_integers [2])) == 3)
 
-                                                             || ((- code_count  = sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d;%d", &- escseq_integers [0], &- escseq_integers [1])) == 2)
 
-                                                             || ((- code_count  = sscanf (&- accumulated_characters [- accumulated_character_startidx  + 1], "%d", &- escseq_integers [0])) == 1)
 
-                                                             || (code_count == 0)) 
-                                                         { 
-                                                                 if (code_count == 0) 
-                                                                 { 
-                                                                         escseq_integers[0] = 0; // default to reset 
-                                                                         code_count = 1; 
-                                                                 } 
-                                                                 for (code_index = 0; code_index < code_count; code_index++) 
-                                                                         if (escseq_integers[code_index] == 0) 
-                                                                         { 
-                                                                                 fg_color = &default_foreground_color; // reset color: default foreground 
-                                                                                 if ((bg_color->r != -1) || (bg_color->g != -1) || (bg_color->b != -1)) 
-                                                                                         bg_color = &default_background_color; // reset color: default background (unless it's transparent) 
-                                                                                 fb.text_style = TEXTSTYLE_NONE; // reset effects 
-                                                                                 fb.characters_table_16x16_8x16 = characters_table_16x16_8x16_light; // normal font 
-                                                                         } 
-                                                                         else if (escseq_integers[code_index] == 1) 
-                                                                                 fb.text_style = (fb.text_style & ~TEXTSTYLE_DIM) | TEXTSTYLE_BOLD; // increase intensity 
-                                                                         else if (escseq_integers[code_index] == 2) 
-                                                                                 fb.text_style = (fb.text_style & ~TEXTSTYLE_BOLD) | TEXTSTYLE_DIM; // decrease intensity 
-                                                                         else if (escseq_integers[code_index] == 3) 
-                                                                                 fb.text_style |= TEXTSTYLE_ITALIC; // enable italics 
-                                                                         else if (escseq_integers[code_index] == 4) 
-                                                                                 fb.text_style |= TEXTSTYLE_UNDERLINE1; // enable underline 
-                                                                         else if (escseq_integers[code_index] == 9) 
-                                                                                 fb.text_style |= TEXTSTYLE_STRIKETHROUGH; // enable strikethrough 
-                                                                         else if (escseq_integers[code_index] == 20) 
-                                                                                 fb.characters_table_16x16_8x16 = characters_table_16x16_8x16_bold; // gothic font 
-                                                                         else if (escseq_integers[code_index] == 21) 
-                                                                                 fb.text_style |= TEXTSTYLE_UNDERLINE1 | TEXTSTYLE_UNDERLINE2; // enable double underline 
-                                                                         else if (escseq_integers[code_index] == 22) 
-                                                                                 fb.text_style &= ~TEXTSTYLE_BOLD; // normal intensity 
-                                                                         else if (escseq_integers[code_index] == 23) 
-                                                                         { 
-                                                                                 fb.text_style &= ~TEXTSTYLE_ITALIC; // disable italics and gothic font 
-                                                                                 fb.characters_table_16x16_8x16 = characters_table_16x16_8x16_light; // normal font 
-                                                                         } 
-                                                                         else if (escseq_integers[code_index] == 24) 
-                                                                                 fb.text_style &= ~(TEXTSTYLE_UNDERLINE1 | TEXTSTYLE_UNDERLINE2); // disable underlines 
-                                                                         else if (escseq_integers[code_index] == 29) 
-                                                                                 fb.text_style &= ~TEXTSTYLE_STRIKETHROUGH; // disable strikethrough 
-                                                                         else if ((escseq_integers[code_index] >= 30) && (escseq_integers[code_index] <= 37)) 
-                                                                                 fg_color = &ansi_colors_normal[escseq_integers[code_index] - 30]; // normal foreground 
-                                                                         else if ((escseq_integers[code_index] == 38) && (code_index + 3 == code_count) && (escseq_integers[code_index + 1] == 5)) 
-                                                                         { 
-                                                                                 if (escseq_integers[code_index + 2] < 256) 
-                                                                                 { 
-                                                                                         custom_foreground_color.r = ansi_256_colors[escseq_integers[code_index + 2]].r; 
-                                                                                         custom_foreground_color.g = ansi_256_colors[escseq_integers[code_index + 2]].g; 
-                                                                                         custom_foreground_color.b = ansi_256_colors[escseq_integers[code_index + 2]].b; 
-                                                                                         fg_color = &custom_foreground_color; // 256-colors table indexed foreground color 
-                                                                                 } 
-                                                                                 else 
-                                                                                         fg_color = &transparent_color; // not in the ANSI standard ;) 
-                                                                         } 
-                                                                         else if ((escseq_integers[code_index] == 38) && (code_index + 5 == code_count) && (escseq_integers[code_index + 1] == 2)) 
-                                                                         { 
-                                                                                 custom_foreground_color.r = escseq_integers[code_index + 2]; 
-                                                                                 custom_foreground_color.g = escseq_integers[code_index + 3]; 
-                                                                                 custom_foreground_color.b = escseq_integers[code_index + 4]; 
-                                                                                 fg_color = &custom_foreground_color; // 24-bit foreground color 
-                                                                         } 
-                                                                         else if (escseq_integers[code_index] == 39) 
-                                                                                 fg_color = &default_foreground_color; // default foreground color 
-                                                                         else if ((escseq_integers[code_index] >= 40) && (escseq_integers[code_index] <= 47)) 
-                                                                                 bg_color = &ansi_colors_normal[escseq_integers[code_index] - 40]; // normal background 
-                                                                         else if ((escseq_integers[code_index] == 48) && (code_index + 3 == code_count) && (escseq_integers[code_index + 1] == 5)) 
-                                                                         { 
-                                                                                 if (escseq_integers[code_index + 2] < 256) 
-                                                                                 { 
-                                                                                         custom_foreground_color.r = ansi_256_colors[escseq_integers[code_index + 2]].r; 
-                                                                                         custom_foreground_color.g = ansi_256_colors[escseq_integers[code_index + 2]].g; 
-                                                                                         custom_foreground_color.b = ansi_256_colors[escseq_integers[code_index + 2]].b; 
-                                                                                         bg_color = &custom_foreground_color; // 256-colors table indexed background color 
-                                                                                 } 
-                                                                                 else 
-                                                                                         bg_color = &transparent_color; // not in the ANSI standard ;) 
-                                                                         } 
-                                                                         else if ((escseq_integers[code_index] == 48) && (code_index + 5 == code_count) && (escseq_integers[code_index + 1] == 2)) 
-                                                                         { 
-                                                                                 custom_background_color.r = escseq_integers[code_index + 2]; 
-                                                                                 custom_background_color.g = escseq_integers[code_index + 3]; 
-                                                                                 custom_background_color.b = escseq_integers[code_index + 4]; 
-                                                                                 bg_color = &custom_background_color; // 24-bit background color 
-                                                                         } 
-                                                                         else if (escseq_integers[code_index] == 49) 
-                                                                                 bg_color = &default_background_color; // default background color 
-                                                                         else if ((escseq_integers[code_index] >= 90) && (escseq_integers[code_index] <= 97)) 
-                                                                                 fg_color = &ansi_colors_bright[escseq_integers[code_index] - 90]; // bright foreground 
-                                                                         else if ((escseq_integers[code_index] >= 100) && (escseq_integers[code_index] <= 107)) 
-                                                                                 bg_color = &ansi_colors_bright[escseq_integers[code_index] - 100]; // bright background 
-                                                         } 
-                                                         if (want_debuginfo) 
-                                                                 fprintf (- stderr , "Identified SGR (color) escape sequence\n");
 
-                                                         accumulated_character_count = accumulated_character_startidx; // rewind the accumulator 
-                                                         continue; // and proceed to next character 
-                                                 } 
-                                                 else 
-                                                         accumulated_characters[accumulated_character_count++] = next_char; // not a supported ANSI escape sequence, restore terminator character into the accumulator 
-                                         } 
-                                 } 
-                         } // end if "accumulator is not full yet" 
-                 } // end if "current character is ESC" 
-   
-                 // compute row and column in character table 
-                 char_row_in_chartable = current_char / 16; 
-                 char_col_in_chartable = current_char % 16; 
-   
-                 // if debug output is enabled, print the character that's about to be written 
-                 if (want_debuginfo) 
-                         fprintf (- stderr , "Will draw char '%c' at screen pos %d,%d at position in the table: row=%zd col=%zd\n",-  current_char ,-  fb. cursor_line,-  fb. cursor_column,-  char_row_in_chartable ,-  char_col_in_chartable );
 
-   
-                 // for each of the 16 rows of this character, then for each of the 16 columns of it... 
-                 for (char_cury = 0; char_cury < CHAR_PIXELS_H; char_cury++) 
-                 { 
-                         // compute the offset of the concerned line in the framebuffer 
-                         line_offset_in_framebuffer = ((CHAR_PIXELS_H * fb.cursor_line) + char_cury) * fb.stride_in_bytes; 
-   
-                         for (char_curx = 0; char_curx < CHAR_PIXELS_W; char_curx++) 
-                         { 
-                                 // compute pixel offset in character table and determine if this pixel should be lit 
-                                 offset_in_chartable = (char_row_in_chartable * (16 * CHAR_PIXELS_W) * CHAR_PIXELS_H) + (char_cury * (16 * CHAR_PIXELS_W)) + char_col_in_chartable * CHAR_PIXELS_W + char_curx; 
-                                 assert (- offset_in_chartable  < sizeof (- characters_table_16x16_8x16_light ) && "offset in chartable beyond end of table");
 
-                                 is_pixel_lit = (fb.characters_table_16x16_8x16[offset_in_chartable] != 0); 
-   
-                                 // if debug output is enabled, print whether this pixel is lit 
-                                 if (want_debuginfo) 
-                                         fprintf (- stderr , "%c", (- is_pixel_lit  ? 'B' : ' '));
 
-   
-                                 // compute the offset of the concerned column in the framebuffer 
-                                 column_offset_in_framebuffer = ((CHAR_PIXELS_W * fb.cursor_column) + char_curx) * fb.pixel_size_in_bytes; 
-                                 if (fb.text_style & TEXTSTYLE_ITALIC) 
-                                 { 
-                                         // characters which have the italic style are bent rightways (TODO: smooth grayscale blending instead of blocky Bresenham here) 
-                                         if (char_cury < 1 * CHAR_PIXELS_H / 4) 
-                                         { 
-                                                 if (line_offset_in_framebuffer + column_offset_in_framebuffer + 3 * fb.pixel_size_in_bytes < fb.size_in_bytes) 
-                                                         column_offset_in_framebuffer += 3 * fb.pixel_size_in_bytes; 
-                                         } 
-                                         else if (char_cury < 2 * CHAR_PIXELS_H / 4) 
-                                         { 
-                                                 if (line_offset_in_framebuffer + column_offset_in_framebuffer + 2 * fb.pixel_size_in_bytes < fb.size_in_bytes) 
-                                                         column_offset_in_framebuffer += 2 * fb.pixel_size_in_bytes; 
-                                         } 
-                                         else if (char_cury < 3 * CHAR_PIXELS_H / 4) 
-                                         { 
-                                                 if (line_offset_in_framebuffer + column_offset_in_framebuffer + 1 * fb.pixel_size_in_bytes < fb.size_in_bytes) 
-                                                         column_offset_in_framebuffer += 1 * fb.pixel_size_in_bytes; 
-                                         } 
-                                 } 
-   
-                                 // compute the framebuffer offset of this pixel 
-                                 offset_in_framebuffer = line_offset_in_framebuffer + column_offset_in_framebuffer; 
-                                 assert (- offset_in_framebuffer  <-  fb. size_in_bytes && "offset in framebuffer beyond end of buffer");
 
-   
-                                 // smack this bitch up? 
-                                 if (is_pixel_lit 
-                                     || ((fb.text_style & TEXTSTYLE_STRIKETHROUGH) && (char_cury == CHAR_PIXELS_H / 2)) 
-                                     || ((fb.text_style & TEXTSTYLE_UNDERLINE2)    && (char_cury == CHAR_PIXELS_H - 3)) 
-                                     || ((fb.text_style & TEXTSTYLE_UNDERLINE1)    && (char_cury == CHAR_PIXELS_H - 1))) 
-                                 { 
-                                         if (fg_color->r != -1) // is its red component NOT an explicit transparent color ? 
-                                         { 
-                                                 final_taint = fg_color->r; 
-                                                 if (fb.text_style & TEXTSTYLE_BOLD) 
-                                                         final_taint += 76; // if the current character style is bold, increase lightness 
-                                                 else if (fb.text_style & TEXTSTYLE_DIM) 
-                                                         final_taint -= 76; // else if it's dim, decrease lightness 
-                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.r] = (final_taint < 0 ? 0 : (final_taint < 255 ? final_taint : 255)); // clamp it between 0 and 255 and paint it (red component) 
-                                         } 
-                                         if (fg_color->g != -1) // is its green component NOT an explicit transparent color ? 
-                                         { 
-                                                 final_taint = fg_color->g; 
-                                                 if (fb.text_style & TEXTSTYLE_BOLD) 
-                                                         final_taint += 76; 
-                                                 else if (fb.text_style & TEXTSTYLE_DIM) 
-                                                         final_taint -= 76; 
-                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.g] = (final_taint < 0 ? 0 : (final_taint < 255 ? final_taint : 255)); // clamp it between 0 and 255 and paint it (blue component) 
-                                         } 
-                                         if (fg_color->b != -1) // is its blue component NOT an explicit transparent color ? 
-                                         { 
-                                                 final_taint = fg_color->b; 
-                                                 if (fb.text_style & TEXTSTYLE_BOLD) 
-                                                         final_taint += 76; 
-                                                 else if (fb.text_style & TEXTSTYLE_DIM) 
-                                                         final_taint -= 76; 
-                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.b] = (final_taint < 0 ? 0 : (final_taint < 255 ? final_taint : 255)); // clamp it between 0 and 255 and paint it (green component) 
-                                         } 
-                                 } 
-                                 else // this pixel should be extinct 
-                                 { 
-                                         if (bg_color->r != -1) 
-                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.r] = (bg_color->r & 0xff); // paint background color (red component) unless it's transparent 
-                                         if (bg_color->g != -1) 
-                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.g] = (bg_color->g & 0xff); // paint background color (green component) unless it's transparent 
-                                         if (bg_color->b != -1) 
-                                                 fb.virtual_address[offset_in_framebuffer + fb.pixel_indices.b] = (bg_color->b & 0xff); // paint background color (blue component) unless it's transparent 
-                                 } 
-                         } 
-   
-                         // if debug output is enabled, print the framebuffer offsets concerned at the end of the character scanline 
-                         if (want_debuginfo) 
-                                 fprintf (- stderr , "|   offsets 0x%zx-0x%zx\n",-  line_offset_in_framebuffer  + ((- CHAR_PIXELS_W  *-  fb. cursor_column) + 0) *-  fb. pixel_size_in_bytes,-  line_offset_in_framebuffer  + ((- CHAR_PIXELS_W  *-  fb. cursor_column) +-  char_curx ) *-  fb. pixel_size_in_bytes);
 
-                 } 
-   
-                 // advance cursor by one column, and wraparound if necessary 
-                 if (is_backspace) 
-                         is_backspace = 0; // that was a backspace: don't advance this time, but remember to advance next time 
-                 else 
-                 { 
-                         fb.cursor_column++; // advance the cursor by one column 
-                         if (fb.cursor_column == fb.max_character_columns) 
-                         { 
-                                 fb.cursor_line++; // wraparound: move one line down 
-                                 fb.cursor_column = 0; // and position the cursor at the beginning of the line 
-                         } 
-                 } 
-   
-                 // if we should make the console scroll up, do so 
-                 if (fb.cursor_line == fb.max_character_lines) 
-                 { 
-                         offset_in_framebuffer = CHAR_PIXELS_H * fb.stride_in_bytes; // offset of second character line 
-                         memmove (&- fb. virtual_address[0], &- fb. virtual_address[- offset_in_framebuffer ],-  fb. size_in_bytes --  offset_in_framebuffer ); // move (max - 1) lines up
 
-                         offset_in_framebuffer = (fb.max_character_lines - 1) * CHAR_PIXELS_H * fb.stride_in_bytes; // offset of last character line 
-                         memset (&- fb. virtual_address[- offset_in_framebuffer ], 0,-  fb. size_in_bytes --  offset_in_framebuffer ); // erase last character line
 
-                         fb.cursor_line = fb.max_character_lines - 1; // and jump back it 
-                 } 
-         } 
-   
-         // finished, cleanup 
-         munmap (fb.virtual_address, fb.size_in_bytes); 
-   
-         exit (- EXIT_SUCCESS ); // *stamp* glory to Arstotzka!
 
- } 
-