SSD2119 driver

resset
Posts: 32
Joined: Thu Dec 20, 2012 11:57 pm
Location: Poland
Has thanked: 2 times
Been thanked: 1 time
Contact:

SSD2119 driver

Postby resset » Sat Mar 02, 2013 1:01 pm

I'm in a (long) process of adopting ChibiOS/* projects to my dev board which is this one: http://www.armkits.com/Product/DM-STF4BB.asp (I have full setup with both LCD & camera).

The first and only thing I did is ChibiOS/GFX gdisp driver for SSD2119 LCD driver found on DM-LCD35RT. I also made appropriate board file that uses FSMC interface.

Here is my work (in SSD2119 branch): https://github.com/resset/ChibiOS-GFX/tree/SSD2119

Basically, I did nothing fancy. SSD2119 is very similar to SSD1289, however orientated horizontally, with greater width than height: 320x240 pixels. It is also initiated differently, there are some differences in power modes handling, orientation switching etc.

What is included and tested:
- initialization
- four orientations (0, 90, 180, 270) and orientation switching support
- power modes: powerOn, powerOff, powerSleep, powerDeepSleep
- backlight control using PWM
- routines: gdisp_lld_clear, gdisp_lld_fill_area, gdisp_lld_blit_area_ex, gdisp_lld_get_pixel_color, gdisp_lld_vertical_scroll are exactly the same as in SSD1289

What is not there:
- there is no GPIO interface yet
- no contrast control

And this is a proof: http://youtu.be/pGBv4OINF5k ;)

So this is my courteous request to review my changes and point mistakes. Thanks in advance!

Mateusz

User avatar
Tectu
Posts: 1226
Joined: Thu May 10, 2012 9:50 am
Location: Switzerland
Contact:

Re: SSD2119 driver

Postby Tectu » Sat Mar 02, 2013 1:11 pm

Hey Mateusz,

Thank you very much for your contribution, this is great!
I ordered the board myself to write the drivers but as I see you already did a great job.
I have to leave now to catch my train but I'll review your driver and merge it into the master this evening / tomorrow - promised! You might want to do a real pull request in the meantime ;-)

It would be nice if you could manage to write some module for ChibiOS/GFX to use the camera as well. Something like GCAM. The module should have a similar architecture to the GDISP module, means, a very strict separating between high level and low level (driver) code.
I would really love that!


~ Tectu

resset
Posts: 32
Joined: Thu Dec 20, 2012 11:57 pm
Location: Poland
Has thanked: 2 times
Been thanked: 1 time
Contact:

Re: SSD2119 driver

Postby resset » Sat Mar 02, 2013 1:39 pm

Pull request made.

There is still some work left with this board:
- STMPE811 touch screen controller driver
- camera driver
- I didn't try to run ARMCM4-STM32F407-LWIP-FATFS-USB demo but I think this one is most suited to this board (ofc it will need some modifications/drivers)

Well... I am not sure if I am the right person to design whole new GFX subsystem, but surely, camera is the thing I want to play with now. My plan is to make it work and then we will see (I will share anything I do). I may need some help with that so you having the same board is really great news:)

Mateusz

User avatar
Tectu
Posts: 1226
Joined: Thu May 10, 2012 9:50 am
Location: Switzerland
Contact:

Re: SSD2119 driver

Postby Tectu » Sat Mar 02, 2013 6:40 pm

Thanks for the pull request. As I'll said, I'll take a look as soon as I got some minutes.

The STMPE811 driver would be appreciated as well!

For the ARMCM4-STM32F407-LWIP-FATFS-USB demo, there's also the Olimex E407, which does the job quite well. Also, the entire reason behind board files is that you don't depend on the actual hardware.

Every camera contribution would be very appreciated. I didn't really order the board yet, but that will follow. I'm not having any time within the next four weeks to do anything beside the maintaining itself and giving support.


~ Tectu

User avatar
Tectu
Posts: 1226
Joined: Thu May 10, 2012 9:50 am
Location: Switzerland
Contact:

Re: SSD2119 driver

Postby Tectu » Sat Mar 02, 2013 6:52 pm

One more question: How did you draw the bitmap? It would be lovely if it's possible to use FatFS to load a picture from the SD card and display it with given coordinates, scales and rotation. Interested?


~ Tectu

inmarket
Posts: 89
Joined: Fri Jul 27, 2012 1:37 pm
Location: Brisbane, Australia

Re: SSD2119 driver

Postby inmarket » Sat Mar 02, 2013 11:44 pm

Yes - a image loader would be fantastic. I would suggest implementing it as a new gwin object eg gwinImage

There are the existing gwin objects in the source tree and also a couple of extra more complex ones under the GADC and GAUDIO demos.

User avatar
Tectu
Posts: 1226
Joined: Thu May 10, 2012 9:50 am
Location: Switzerland
Contact:

Re: SSD2119 driver

Postby Tectu » Sat Mar 02, 2013 11:46 pm

Of course this should be implemented as a sub module of GWIN. gwinImage sounds fantastic. It should use the BaseFileStream* provided by ChibiOS/RT so the user can use any image source.


~ Tectu

resset
Posts: 32
Joined: Thu Dec 20, 2012 11:57 pm
Location: Poland
Has thanked: 2 times
Been thanked: 1 time
Contact:

Re: SSD2119 driver

Postby resset » Sun Mar 03, 2013 8:30 pm

Thanks for merging:)

Image in my demo was hardcoded as C array which I put into gdispBlitArea(), so nothing interesting here. The fun is that I made that array with GIMP (it allows to export any image to C, just add .c extension to file being saved).

Your propositions sound very interesting, but I don't want to make false promises here. What I am interested now is to make ChibiOS/GFX work on this board with all features. So at least for now I'll focus on making drivers.

User avatar
Tectu
Posts: 1226
Joined: Thu May 10, 2012 9:50 am
Location: Switzerland
Contact:

Re: SSD2119 driver

Postby Tectu » Sun Mar 03, 2013 10:25 pm

Wow, this is awesome. I didn't know it's possible to use gimp for this job. Could you release your source code so others see how to do that?
And yes, getting the touch driver working first and maybe the camera as well sounds a lot more important to me as well than a proper image displaying routine.


~ Tectu

resset
Posts: 32
Joined: Thu Dec 20, 2012 11:57 pm
Location: Poland
Has thanked: 2 times
Been thanked: 1 time
Contact:

Re: SSD2119 driver

Postby resset » Mon Mar 04, 2013 6:55 pm

Well... yes. First load any image in gimp and hit File > Export. Use ".c" as extension to the output file. Select only last checkbox (Save as RGB565 16-bit) and you get something similar:

Code: Select all

/* GIMP RGB C-Source image dump (chelmon_avatar.c) */

static const struct {
  unsigned int     width;
  unsigned int     height;
  unsigned int     bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */
  unsigned char    pixel_data[100 * 83 * 2 + 1];
} gimp_image = {
  100, 83, 2,
  "\346\203\346\203\7\204\7\204\7\204(\204(\204\10\204(\204(\204)\204)\204)"
  "\204I\204I\204I\204I\204j\204j\214k\204\213\214\213\214\214\214\214\214\254"
  "\214\254\214\254\224\255\224\315\224\315\224\316\234\356\234\356\234\356"
  "\234\17\235\17\235\17\235\17\235\20\2350\2450\2450\2450\2450\2450\2450\245"
  "0\2450\2450\2450\245P\245P\245P\2450\245/\245\17\245\17\235\17\235\356\234"
  "\356\234\356\234\355\224\255\224\254\224\254\224\214\224\214\214\213\214"
  "k\214j\214J\204J\204*\204)\204\351{\350{\350{\347{\306{\246{\245s\205s\205"
  "sdsckBkBk\"k\2c\342b\301b\301b\241Z\201ZaRAR\40R\0R\340I\340I\7\204\7\204"
  "'\204\10\204(\204(\204(\204I\204)\204)\204)\204)\204I\204J\204j\204J\204"
  "j\204k\204\213\214\213\214\214\214\214\214\214\224\255\224\254\224\315\224"
  "\315\224\315\224\356\224\356\224\356\234\356\234\17\235\17\235\17\245/\245"
  "/\2450\245P\245P\245P\245P\245P\245P\245P\245p\255P\245q\255p\255q\255q\255"
  "p\255p\245P\245P\245P\245O\245/\245\17\235\17\235\17\235\16\235\355\234\315"
  "\234\315\224\254\224\254\224\254\214\213\214\213\214k\214J\214J\204J\204"
  ")\204\11\204\10\204\347{\347{\307{\246{\245s\245s\205s\204sdsCs#k\"k\2c\341"
  "b\301b\301b\241Z\201Z`Z@R\40R\0R\0J(\204\10\204(\204(\204)\204)\204)\204"
  "I\204I\204J\204J\204J\204J\204J\204j\204J\204k\204l\204\214\214\214\214\254"
  "\224\254\224\255\224\315\224\315\224\315\224\315\224\356\224\356\234\356"
  "\234\16\235\17\235\17\235/\2450\245P\245P\245q\245p\245q\255q\255\221\255"
  "q\255\221\255\221\255\221\255\261\255\221\255\261\255\261\255\221\255\221"
  "\255\221\255\221\255q\255p\245p\245P\2450\2450\245/\235\17\245\16\235\356"
  "\234\355\234\315\224\315\224\314\224\254\214\214\214\213\214k\214k\214J\204"
  "*\204)\204\11\204\10|\10|\350{\307{\246{\246{\245s\205sdsDkDsBk\"k\341b\342"
  "b\302b\241b\200Z\200Z`R@R@R\0J(\204(\204(\204H\204I\204I\204I\204I\204I\204"
  "J\204J\204J\204j\204j\204k\204k\214k\204\214\214\214\214\214\214\254\214"
  "\255\224\315\224\315\224\356\224\355\224\356\224\356\234\16\235\17\235/\235"
  "/\235/\245P\245P\245q\245q\255\221\255\221\255\261\255\261\255\261\265\321"
  "\265\321\265\321\265\321\265\321\265\362\265\362\265\362\265\321\265\321"
  "\265\321\265\261\255\261\255\221\255\221\255\220\245p\245P\245P\245/\245"
  "/\235\17\235\16\235\356\234\355\224\315\224\315\224\254\224\214\214l\214"
  "k\214j\214J\204*\204)\204)\204\10|\350{\350{\307{\306{\245s\245s\205sdsD"
  "kCk\"k\2c\2c\341b\301b\240Z\200Z\200Z`R@R\40RH\204H\204(\204(\204I\214)\204"
  "I\204I\204J\204j\214j\204j\214j\214j\214k\214k\214\213\214\214\214\254\214"
  "\254\214\315\224\355\224\315\224\315\224\356\224\356\234\16\235\16\235\17"
  "\235/\235/\245O\245P\245p\245q\255\221\255\221\255\261\255\321\265\321\265"
  "\361\265\361\265\361\265\362\275\22\276\22\276\22\276\22\306\22\276\22\276"
  "\22\276\362\275\22\276\362\265\322\265\322\265\261\255\260\255\220\255\220"
  "\255p\245P\245/\245/\245/\235\16\235\356\234\355\224\355\224\315\224\254"
  "\224\214\214\213\214k\214j\214J\204J\204)\204)\204\10\204\350{\347{\306{"
  "\306{\305s\245s\204sdsCkCk#k\2c\341b\341b\301Z\201Z\200Z`R@R@RH\204H\204"
  "(\204I\214I\214I\214J\204J\214j\214j\214j\214k\214j\214\213\214k\214\213"
  "\214\213\214\254\214\314\224\315\224\315\224\355\224\355\224\356\224\356"
  "\234\356\234\16\235\17\235/\2350\235P\245p\245\220\255\221\255\261\255\261"
  "\255\321\265\321\265\362\275\22\276\22\2762\276\22\306\22\3063\306S\306S"
  "\3063\306S\3063\3063\2763\3062\276\22\276\22\276\22\276\361\265\361\265\321"
  "\265\261\255\221\255p\255P\245O\245O\245/\235\17\235\16\235\356\234\355\224"
  "\315\224\254\224\254\224\213\214\213\214j\204J\204J\204)\204)\204\10\204"
  "\10|\307{\306{\305s\245s\205s\204kdkDk#k#k\2c\342b\301Z\241Z\201Z\200Z@R"
  "@RH\204I\204I\214I\214I\214j\214j\204j\204j\214j\214j\214k\214\213\214\213"
  "\214\213\214\214\214\213\214\254\224\254\224\315\224\315\224\355\224\356"
  "\234\356\234\356\234\17\235\17\245/\2450\245P\245p\245\220\255\220\255\261"
  "\255\321\265\321\265\361\265\22\2762\3063\3063\3063\306.\255\12\214\315\234"
  "S\316t\316t\316\224\316t\316t\306t\306S\306S\306S\3062\3062\276\21\276\361"
  "\265\321\265\261\265\261\255\220\255p\245p\245O\245/\245\17\235\16\235\16"
  "\235\355\224\315\224\254\224\254\224\213\214\213\214j\204J\204I\204)\204"
  ")\204\10\204\347{\347{\307{\246s\246s\205k\205kdkCk#k\"c\342b\302b\302b\240"
  "Z\240Z`Z`ZI\214I\204j\214j\214j\214j\214j\214j\214j\214k\214j\214\213\214"
  "\213\214\213\214\214\214\254\214\254\214\254\224\315\224\315\224\355\224"
  "\356\234\356\234\356\234\17\235/\235/\245P\245p\245\220\255\221\255\261\255"
  "\321\265\361\265\21\276\22\2763\2763\306T\306t\306t\316\261\275Gs\6k&k\16"
  "\245\265\316\265\316\325\316\265\316\265\316\225\316t\316t\316s\306s\306"
  "S\3062\3062\276\22\276\361\265\321\265\321\265\260\255\220\255p\245P\245"
  "/\245/\235\16\235\356\234\355\234\315\224\255\224\254\224\213\214\213\214"
  "j\214J\204J\204)\204)\204\10|\10|\347{\307s\247s\206s\205kdkckCk#k\2c\342"
  "b\302b\240Z\240Z\200Z`Zi\214i\214j\214j\214j\204j\214j\214k\214k\214k\214"
  "\213\214\213\214\213\214\213\214\254\224\214\224\254\224\315\224\315\224"
  "\315\234\356\234\16\235\17\235\17\235/\245O\245p\245p\245\220\255\260\255"
  "\321\265\321\265\22\276\22\2762\276S\306T\306t\306\225\316\225\316\265\316"
  "\261\265hs's\6k\210st\316\25\337\25\337\25\337\365\326\325\326\325\326\265"
  "\326\264\316\224\316t\316s\306S\3062\306\22\276\21\276\361\265\321\265\261"
  "\255\220\255p\245P\245/\245/\245\16\235\356\234\355\234\315\224\315\224\254"
  "\214\213\214\213\214j\214J\204I\204)\204\11\204\350{\347{\307{\246{\246s"
  "\205s\204kckCk\"k\2k\2c\342b\302b\241Z\241Z`Zi\214i\214j\214j\214j\214j\214"
  "\213\214k\214k\214\213\214\213\214\213\214\213\214\253\214\254\224\254\224"
  "\314\224\315\224\315\224\356\234\16\235\17\235\17\235/\245O\245p\245p\255"
  "\220\255\261\255\321\265\361\265\21\2762\2763\3063\306S\316\224\316\265\316"
  "\325\326\365\326\25\337\324\326\352\203HsGsFkk\214V\347u\347V\3572\306K\214"
  "\214\224\224\326\365\326\365\326\325\326\264\316\224\316s\306S\3062\306\22"
  "\276\361\265\321\265\261\255\220\255p\255P\245/\245/\245\16\235\356\234\355"
  "\234\315\224\314\224\254\214\253\214\213\214j\214J\204)\204)\204\10\204\10"
  "|\347{\306{\246{\245s\204s\204kckCk\"k\2k\2c\301b\241b\241Z\200Zj\214j\214"
  "j\214j\214j\214j\214\213\214\213\214\213\214\213\214\214\214\254\214\254"
  "\214\254\224\254\224\314\224\315\224\315\234\356\234\356\234\16\235/\235"
  "/\245O\245p\245p\245\220\255\261\265\321\265\361\2652\2762\306S\306\221\265"
  "\251\203\352\213\22\276\365\3266\337V\347\226\347\227\357\356\244\251{hs"
  "gs\210s\224\326\327\367\267\367J\224H{'sk\2245\347U\347\25\337\365\326\325"
  "\326\264\316\223\316s\306R\3062\306\361\275\321\265\321\265\220\255p\255"
  "p\245O\245/\235\16\235\356\234\355\234\315\224\254\224\253\214\213\214k\214"
  "j\204I\204)\204(\204\10|\347{\307{\306{\246s\245s\204sckCk\"k\2k\2k\341b"
  "\301b\240Z\241Zj\214j\214j\214\213\214\213\214\213\214\213\214\213\214\213"
  "\214\214\214\254\214\254\214\254\224\314\224\314\224\314\224\355\224\356"
  "\234\356\234\16\235/\235/\245P\245p\245\220\255\260\255\260\265\321\265\361"
  "\275\22\2762\306S\306s\306\12\214'sH{\12\204\365\336v\357\267\357\327\367"
  "\371\377t\316\13\204\312{\311{\311{\17\245\371\377\371\377\315\244h\203'"
  "sFs\223\326\226\357\226\347U\347\25\337\365\326\264\316\224\316S\316R\306"
  "2\306\21\276\321\265\321\265\260\255\220\255p\245O\245/\245\16\235\356\234"
  "\315\234\315\224\254\224\254\214\213\214j\214j\204)\204)\204)|\10|\347{\307"
  "{\246s\205s\204sdsckCk\"k\2k\340j\301b\301b\241Z\213\214\213\214k\214k\214"
  "\213\214\213\214\213\214\213\214\214\214\254\224\254\224\254\224\254\224"
  "\314\224\314\224\355\224\356\234\16\235\16\235/\235/\245P\245P\255p\255\220"
  "\255\321\265\321\265\361\275\22\3063\306S\306t\316\224\316\311{'sh{\211{"
  "\220\265\330\367\371\377\372\377\373\377\273\367\216\224+\214\13\204\13|"
  "+\204\272\357\373\377\363\305\211\203's&sJ\214\327\367\266\367\226\357v\347"
  "U\337\25\327\324\326\224\316t\316S\3062\306\22\276\361\265\321\265\260\255"
  "\220\255p\245O\245/\235\16\235\356\234\315\234\314\224\254\224\214\214\213"
  "\214k\214J\204J\204)|\10|\350{\307{\306s\245s\205s\204sckCk#k\3k\1c\341b"
  "\301b\301b\212\214\213\214\213\214\213\214\213\214\213\214\213\214\213\214"
  "\214\214\214\224\254\224\254\224\314\224\315\224\355\224\355\234\356\234"
  "\16\235/\235O\245O\245P\245p\255\220\255\261\255\361\265\362\275\22\3062"
  "\306S\316\224\316\264\316\325\326k\214Gshs\252{\13\204W\357\373\377\374\377"
  "\375\377\375\377\323\275m\224M\214,\204+\204\365\275\375\377\370\346\353"
  "\203\210{FsgsV\357\370\377\327\367\267\357\226\357U\347\25\337\325\326\224"
  "\326s\306s\3062\306\22\276\361\275\321\265\260\255\220\255p\245O\245/\235"
  "\16\235\356\234\315\224\314\224\254\224\213\214k\214K\204J\204I\204\10\204"
  "\10\204\307{\307{\306{\245s\204scsdkCk#k\"k\342b\342b\301b\212\214\213\214"
  "\213\214\213\214\213\214\213\214\213\214\253\224\254\224\254\224\254\224"
  "\314\224\314\224\355\224\355\224\355\234\16\235\16\235/\245O\245p\245\220"
  "\255\220\255\261\255\321\265\361\2752\3063\306S\316\224\316\264\316\365\326"
  "\25\337N\255\210s\251{\352{\13\204\262\265\374\377\376\377\377\377\376\377"
  "\371\336\360\244\317\234\215\224m\214n\214\31\347\334\377n\224\311{gsgs2"
  "\306\372\377\372\377\370\377\327\367\226\357\263\326\320\275\224\326\264"
  "\316s\316S\3062\306\22\276\361\275\321\265\220\255p\255p\245O\245\17\245"
  "\16\235\355\234\315\224\254\224\254\214k\214k\214J\204)\204)\204\10\204\350"
  "{\307{\306{\245s\204s\204sdsCkBk\"k\2k\341b\341b\213\214\213\214\213\214"
  "\213\214\253\214\213\214\253\224\254\224\254\224\254\224\314\224\314\224"
  "\315\224\355\224\355\234\355\234\16\245/\245/\245O\245p\255\220\255\261\255"
  "\321\265\361\275\22\3062\306s\316\224\316\264\326\365\3265\337v\347\223\326"
  "\311{\312\203\13\204L\214\257\224\233\367\377\377\377\377\377\377\335\377"
  "\264\2751\255\357\244\256\224\216\214\360\234\335\377r\265\353\203\210{g"
  "s\316\234\373\377\373\377\371\377\370\377\24\347\207{\344b\213\224\364\326"
  "\264\316t\316S\3162\306\22\276\361\265\321\265\220\255p\255O\245/\245\16"
  "\235\15\235\355\234\314\224\254\224\213\214j\214J\214J\204)\204\11\204\350"
  "{\350{\347{\306s\245s\204sdsCsBk\"k\1k\341b\341b\212\214\212\214\213\214"
  "\253\214\213\214\213\214\253\224\254\224\254\224\254\224\254\224\315\224"
  "\315\224\355\234\356\234\16\235\16\235O\245O\245p\245\220\255\260\265\320"
  "\265\361\275\21\2762\306S\316\224\316\324\316\365\3265\337u\357\326\367\267"
  "\367\254\224\13\204L\214\215\214\316\224\364\275\376\377\377\377\377\377"
  "\377\377\32\357\25\326\222\275\20\245\316\224\257\224:\3575\316\13\214\311"
  "{\210s\251s8\347\374\377\373\377\373\377p\275\305j\203b\6k\25\337\365\326"
  "\264\316s\316S\3062\306\21\276\321\265\260\265\220\255p\245P\245/\245\16"
  "\235\356\234\315\224\314\224\254\224k\214k\214I\204)\204\11\204\10|\347{"
  "\307{\246{\246s\205sdscsCs#k\2k\1c\1c\253\214\213\214\213\214\253\214\253"
  "\214\253\214\254\224\253\224\314\224\314\224\314\224\315\234\355\234\355"
  "\234\355\234\16\235.\245O\245O\245p\255\220\255\261\265\361\275\21\2762\306"
  "S\306\224\316\324\326\25\327U\347\226\357\327\367\371\377\372\377T\316L\214"
  "m\214\256\224\357\234Q\245\330\326\376\377\377\377\377\377\376\377Z\367\226"
  "\336\222\2750\245\320\234\270\336\330\336L\214\311\203\207shs\356\234\374"
  "\377\375\377\374\377,\224\244jcZ\204Z\24\3375\337\365\326\264\316\223\316"
  "R\3062\306\361\275\321\265\260\255\220\255P\245/\245\16\245\356\234\315\234"
  "\314\224\254\224\213\214k\214J\204I\204)\204\10\204\347{\307{\346{\245{\245"
  "s\204scsCkCk\"k\1k\1k\253\214\213\214\253\214\253\214\253\214\254\224\254"
  "\224\253\224\314\224\314\224\314\224\314\234\355\234\355\234\16\235\16\235"
  "/\245O\245p\245\220\255\261\265\321\265\361\275\22\276R\306s\316\264\316"
  "\365\3265\347\225\357\327\367\370\377\373\377\374\377\273\377\257\234\256"
  "\224\316\2340\245r\2555\306\335\377\377\377\377\377\377\377\376\377\233\377"
  "U\326\261\2651\2456\306Z\357m\224\351\203\250{gs\251{\333\377\376\377\375"
  "\377\252\203\244jbZ\204Z\24\337U\347\25\337\324\326\224\316s\316R\306\21"
  "\276\361\275\261\265\220\255p\255O\245.\235\16\235\355\234\315\234\254\224"
  "\254\224\213\214j\214I\204)\204\10\204\347\203\347{\306{\245{\245{\204sc"
  "sdkCk\"k!k\341j\213\224\213\214\253\224\253\224\253\224\254\224\254\224\314"
  "\224\314\224\315\234\315\234\355\234\355\234\15\235\16\235.\245O\245O\245"
  "p\255\220\255\261\265\361\275\21\2762\306r\316\224\316\324\326\25\337U\347"
  "\266\367\370\377\371\377\376\377\376\377\376\377V\316\357\234\17\245q\255"
  "\323\265v\316\375\377\376\377\377\377\377\377\377\377\375\3779\357S\306\222"
  "\255R\255\272\367\215\224\352\203\251{\210s\211sz\357\377\377\275\377\211"
  "{\304j\202Z\204Z\363\336\226\357U\347\25\337\264\326\223\316r\3061\306\21"
  "\276\321\265\260\255\220\255O\245/\245.\245\355\234\355\234\314\224\214\214"
  "\213\214j\214I\204)\204\11\204\350\203\347{\346{\306{\245s\245{dsdkBk\"k"
  "\1k\1k\213\224\213\224\253\224\253\224\253\224\254\224\254\224\314\224\314"
  "\224\314\224\315\234\356\234\356\234\16\235\16\245/\245O\245o\255\220\255"
  "\260\265\320\265\21\276\21\306R\306s\316\264\326\364\326U\347\225\357\327"
  "\377\371\377\373\377\377\377\377\377\377\377\275\367Q\255P\255\262\2654\276"
  "\370\326\375\377\377\377\377\377\377\377\377\377\376\377\335\377\325\326"
  "\362\265Q\245\27\347\356\244\13\204\311{\250{\211{:\357\377\377\275\377\251"
  "\203\304j\202Z\244Z\225\357\326\367u\3575\337\324\326\264\316s\316R\306\21"
  "\276\361\265\260\265\220\255o\255O\245\16\245\356\244\355\234\315\224\254"
  "\224\253\214j\214J\214)\204\11\204\10\204\7|\347{\306{\245s\205s\204sdsB"
  "s\"k\2k\2k\253\224\213\224\253\224\253\224\253\224\254\224\314\224\314\224"
  "\314\224\314\224\315\234\356\234\356\234\16\235.\245/\245O\245o\255\220\255"
  "\320\265\360\275\21\3062\306S\316\223\316\324\3265\337u\357\266\367\370\377"
  "\373\377\375\377\377\377\377\377\377\377\376\377\227\326q\255\322\265T\306"
  "Y\347\375\377\377\377\377\377\377\377\377\377\377\377\377\377x\347T\306\221"
  "\255\23\306O\255K\214\351\203\250{\251{\330\336\376\377\233\367\211{\304"
  "j\243b&k\367\377\326\377\225\367U\347\24\337\264\326s\316R\3061\306\361\275"
  "\320\265\220\265p\255O\245/\245\16\235\355\234\355\234\254\224\253\224\213"
  "\214j\214J\214)\204\10\204\7|\347{\306{\246{\205s\204scsCsCk\"k\2k\253\214"
  "\253\224\253\224\253\224\253\224\314\224\314\224\314\224\314\234\354\234"
  "\355\234\355\234\16\235\16\245/\245/\245O\255p\255\220\265\320\265\361\275"
  "\21\306R\316s\316\264\326\365\336U\347\225\367\367\377\371\377\374\377\376"
  "\377\377\377\377\377\377\377\377\377\375\377\364\275\221\2653\306\27\337"
  "\375\377\377\377\377\377\377\377\377\377\377\377\377\377\271\357u\306\262"
  "\265p\255\322\275k\224\351\203\311{\311{5\306\376\377\330\336Gs\303j\203"
  "ZGk\370\377\367\377\326\367\225\3575\337\324\326\223\316r\3162\306\21\276"
  "\321\275\260\265p\255O\245/\245\16\245\355\234\315\234\254\224\253\224\213"
  "\214j\214I\204(\204\10\204\347{\347{\306{\245{\244s\204{csCkCk\2k\341b\253"
  "\214\253\224\253\224\253\224\253\224\253\224\314\224\314\224\314\234\355"
  "\234\355\234\355\234\16\245\16\245.\245O\255p\255\220\255\220\265\320\275"
  "\21\3062\306S\316\223\316\324\326\24\337u\357\266\367\370\377\373\377\375"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377{\357\222\265\362\275"
  "\265\316\333\367\376\377\377\377\377\377\377\377\377\377\377\377\271\357"
  "\225\316\323\265P\255\221\265l\224\12\204\311{\311{\222\265\375\377\365\305"
  "'s\243b\203Z\6k\371\377\370\377\366\377\225\357U\347\364\336\264\326s\316"
  "R\306\21\306\321\275\260\265\220\255O\245/\245\16\245\355\234\315\234\314"
  "\224\253\224\213\214j\214j\214)\204\10\204\350\203\347\203\306{\245{\244"
  "{\204sdscs\"k\"k!k\253\224\253\224\253\224\253\224\254\224\253\224\313\224"
  "\314\224\314\234\355\234\355\234\15\235\16\235.\245/\245O\255p\255\220\265"
  "\260\265\361\275\21\3062\306s\316\223\316\364\3364\347\225\367\326\377\371"
  "\377\374\377\376\377\377\377\377\377\377\377\377\377\377\377\377\377\376"
  "\377v\326\262\2753\306\27\337\375\377\376\377\377\377\377\377\376\377\334"
  "\377\26\337T\306\262\2550\245\316\234m\214\13\204\311{\311{m\224\374\377"
  "\320\244\6k\243b\243Zgs\373\377\371\377\367\377\265\367t\347\24\337\324\326"
  "\223\316R\3061\306\361\275\261\265\220\255o\255O\245.\245\15\235\355\234"
  "\314\234\253\224\212\214j\214j\204I\204)\204\10\204\347\203\306{\305{\245"
  "s\204s\205scs\"k\"k\"k\253\224\253\224\253\224\253\224\254\224\254\224\313"
  "\224\314\234\315\234\355\234\355\234\355\234.\245.\245O\245O\255o\255\220"
  "\265\320\275\360\275\21\306R\316s\316\264\326\24\337T\347\265\367\367\377"
  "\372\377\375\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\377\274\377\323\275\322\275T\3068\337\334\367\375\377\376\377\334\367"
  "\367\336T\306\322\2650\245\316\234\215\224L\214\13\204\311{\250{\251{\27"
  "\357\13\214\345j\243b\243Z\351\203\373\377\372\377\370\377\265\367t\3574"
  "\337\324\326\223\316R\3061\306\361\275\320\265\220\255o\255O\245.\245\15"
  "\235\355\234\314\234\253\224\213\224j\214J\204)\204)\204\7\204\346{\306{"
  "\245{\245s\205sdsCsBs\"k\2k\253\224\253\224\253\224\253\224\254\224\314\224"
  "\314\234\314\234\315\234\355\234\355\234\15\245.\245.\245O\245O\255o\255"
  "\260\265\320\275\21\3061\306R\316s\316\264\326\24\337u\357\266\367\370\377"
  "\373\377\376\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\377\376\377\270\336\222\265\322\2653\276\225\316\367\326\367\336\266"
  "\3164\276\262\2650\245\316\234\215\224+\204\12|\311{\210sgsgs\311\203Gs\304"
  "b\243Z\244Z*\214\374\377\372\377\370\377\326\377u\3574\347\324\326\223\316"
  "R\3161\306\21\276\320\265\220\265o\255O\245.\235\15\235\355\234\314\234\253"
  "\224\213\224j\214J\214)\204(\204\10\204\6|\306{\305{\205{\204{dsCs#s\"k\2"
  "k\253\224\253\224\253\224\254\224\254\224\314\224\254\224\314\234\314\234"
  "\355\234\355\234\355\244\16\245.\245N\245o\255\217\265\260\265\320\275\21"
  "\3062\306R\316\224\316\324\326\24\347u\357\326\377\371\377\374\377\376\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
  "\335\377\222\265P\255\221\255\322\265\362\265\22\276\262\265q\2550\245\317"
  "\234\215\224L\214\12\204\310{gsFk\5k\345j\345j\304b\244b\243Z\244ZK\214\373"
  "\377\372\377\370\377\326\377u\3574\347\324\336\223\326r\3161\306\21\276\320"
  "\265\220\265o\255O\245.\245\15\235\355\234\314\234\253\224\213\224k\214J"
  "\214)\214\10\204\10\204\347{\306{\245{\205{dscsCsCk\"k\"k\253\224\253\224"
  "\253\224\254\224\254\224\254\224\314\234\314\224\354\234\355\234\355\244"
  "\355\244\16\245.\245O\245o\255\217\255\260\265\320\275\361\3051\306R\316"
  "\224\326\324\3365\347\225\367\367\377\371\377\374\377\376\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\376\377\364"
  "\305\17\245/\2450\245P\2450\245\17\245\357\234\256\224m\214,\214\12\204\250"
  "{gs&k\5c\304b\203ZcZcZcZcZ\203Z\311\203\373\377\371\377\367\377\266\377u"
  "\3575\347\324\336\223\326R\3161\306\21\276\320\265\260\255o\255O\245.\245"
  "\15\235\355\234\314\234\253\224\213\224\212\214J\214I\214(\204\10\204\347"
  "\203\306{\245{\245{\204sdscsCs\"k\2k\213\224\253\224\253\224\254\224\254"
  "\224\254\224\314\234\314\234\314\234\355\234\355\234\16\245\16\245.\245O"
  "\255o\255\220\255\260\265\320\275\21\3061\316r\316\223\326\364\3364\357\225"
  "\367\366\377\371\377\374\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\377v\326\316\244\316\234\317\234"
  "\317\224\256\224\215\224m\224K\214+\204\352\203\251{g{&s\345b\244Z\204Zc"
  "Z#R\"R\"R\"RBR\244b\230\367\370\377\367\377\265\377t\357\24\347\324\336\223"
  "\326R\3161\306\21\276\320\265\260\265o\255O\245.\245\15\245\355\234\314\234"
  "\253\224\212\224j\214J\214)\204(\204\347\203\347\203\306{\305{\245s\204s"
  "dsCs\"k\"k\"k\253\224\253\224\253\224\253\224\254\224\313\224\313\224\314"
  "\234\314\234\315\234\355\244\15\245\16\245.\245O\255O\255\217\255\320\275"
  "\360\275\21\306Q\316r\316\223\326\364\336T\357\225\367\367\377\371\377\375"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377:\357\316\234m\224m\224m\224L\214,\214+\214\12\204\352"
  "\203\250{gs&s\345j\244b\204ZcR#R\2R\2J\1J\1J\1J\"R\217\265\367\377\366\377"
  "\265\367T\357\24\347\264\336\223\326R\3161\306\361\275\320\265\220\265\217"
  "\255O\255/\245\355\244\315\234\314\234\253\224\213\224j\214I\214)\204(\204"
  "\7\204\347\203\306{\305{\245s\204scsCs\"k\"k!k\252\224\213\224\253\224\253"
  "\224\253\224\313\224\313\224\314\234\314\234\354\234\354\244\15\245\16\245"
  ".\245O\255o\255\220\265\260\265\360\275\21\3061\316s\316\223\326\364\336"
  "T\357\264\367\367\377\372\377\375\377\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\375\377\20\255L\224"
  "K\214+\214\12\204\352\203\312\203\251{\250{gs&k\5k\244b\203ZCZ#R\2J\341I"
  "\341I\341I\341I\341I\"R\347{\367\377\265\377\225\3674\357\364\336\263\326"
  "r\316R\3161\306\361\305\260\275\217\265o\255O\245\16\245\356\244\315\234"
  "\314\234\254\224\213\214j\214I\214(\214(\204\7\204\346{\305{\305{\205s\204"
  "scsCsCs\"k!k\252\224\252\224\253\224\253\224\253\224\254\234\254\234\314"
  "\234\314\234\354\234\355\234\15\245.\245.\245N\245o\255\220\265\260\265\360"
  "\275\21\306Q\316r\316\263\326\364\336T\357\225\367\366\377\371\377\374\377"
  "\376\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377\377\365\305L\224\12\214\11\204\311{\250{\210{g{Fs\5"
  "s\345j\244b\204ZcZCR\"R\1R\341I\301A\301A\301A\300I\341I%k\326\377\265\377"
  "t\367\24\347\324\336\223\326s\3161\306\21\306\360\275\260\265\217\255o\255"
  "N\245-\245\355\244\315\234\314\224\253\224\212\224j\214I\214(\204'\204\6"
  "\204\346\203\306{\246{\205{\204sbsBs\"s\"s#s\252\214\212\224\253\224\253"
  "\224\253\224\253\224\254\234\314\234\314\234\354\234\355\234\15\245.\245"
  ".\245N\255o\255\217\265\260\265\320\275\21\3061\316r\316\223\326\364\336"
  "4\357\224\367\366\377\371\377\374\377\376\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\370\346,\224"
  "\311\203\250\203\210{gsGs&s\6k\305j\244bcZcZ#R\2J\341I\341I\241I\241A\200"
  "A\240A\240A\301I\303Z\226\367u\3674\357\364\346\264\336s\326R\3161\306\360"
  "\305\320\275\217\265o\255O\255.\245\15\245\355\234\314\234\254\224\253\224"
  "\212\224i\214I\214(\204\10\204\7\204\346{\306{\246{\205{\203sbsBs\"s\"k\2"
  "k\252\214\212\224\212\224\213\224\253\224\253\224\313\224\314\234\314\234"
  "\354\234\355\234\15\245\16\245.\245O\255o\255\217\265\260\265\320\275\21"
  "\3061\316R\316\223\326\324\3364\347t\367\326\377\370\377\373\377\376\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377:\357\13\214\250\203\207{gs's\346r\345j\305j\204ZcZCR\"R"
  "\2R\341I\300A\300A\240A\201A\200A\200A\240A\241IbR5\357T\357\24\347\324\336"
  "\223\326S\3262\316\21\306\360\275\260\265\220\265o\255.\255.\245\15\245\354"
  "\234\314\234\254\234\213\224\212\214I\214I\214(\204\10\204\347\203\306{\246"
  "{\245{\205{cscsCsBs\"k\1c\212\214\213\224\213\224\213\224\253\224\253\224"
  "\253\224\314\234\314\234\314\234\355\234\15\245\15\245.\245.\255O\255\217"
  "\265\260\265\320\275\361\3051\306R\316s\316\323\336\24\357T\367\265\377\367"
  "\377\372\377\374\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\233\367\352\213\207\203Fs\6k\345j\304"
  "j\244b\204bcZCR\"R\2J\341I\301I\240A\240A\200A`A`A`A\200A\200A\1J\223\336"
  "\24\357\364\346\263\326s\326R\3161\316\360\305\320\275\260\265o\265O\255"
  ".\245\16\245\355\244\314\234\313\234\253\224\213\224j\214I\214(\214(\204"
  "\10\204\347\203\306{\305{\245{\204scsCsCs\2k\"k\1k\212\224\213\224\213\224"
  "\213\224\253\224\253\224\253\224\313\224\314\234\314\234\355\234\355\244"
  "\15\245-\245.\255O\255\217\265\260\265\320\275\360\3051\306R\316r\316r\326"
  "\257\305n\305\20\326\24\367\330\377\373\377\376\377\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\270\336\251\203"
  "F{\5k\345j\305b\244b\204ZcZCR\"R\2J\341I\301I\240A\200A\200A`A`9`9`9`9\200"
  "A\341I\217\275\364\346\263\336\223\326R\3261\316\21\316\360\305\260\275\220"
  "\265o\265/\255.\245\15\245\355\234\313\234\253\224\213\224j\224j\214I\214"
  "(\204\10\204\347\203\347\203\306{\245{\244{\204scsBsCs\"k\2k\1k\212\214\212"
  "\224\213\224\212\224\212\224\253\224\253\224\253\224\314\234\314\234\355"
  "\234\355\234\15\245-\245.\255O\255o\255\217\265\260\275\360\2751\3061\316"
  "\21\316g{cbcj\244j\5s\11\224\22\326\232\377\375\377\376\377\376\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\375\3770\265g{\5s\304j\244b\204"
  "bCZCZBR\"R\2J\342I\301A\240A\240A\200A`A`A`9@9@9`9`A\240AJ\224\263\336\223"
  "\326r\326Q\3161\316\360\305\320\275\260\265\220\265O\265.\255\15\245\355"
  "\244\314\234\314\234\253\224\212\224j\214I\214(\214(\214\7\204\347\203\306"
  "\203\305{\245{\204s\204scsBs#s\"s\2k\341j\212\214\212\214\212\224\212\224"
  "\212\224\213\224\253\224\253\224\314\234\314\234\314\234\355\234\15\245\15"
  "\245.\245/\255o\255\217\265\257\275\360\275\360\3051\316\15\265Cb\2Z\2Z\2"
  "ZCZcb\304rh\213\316\264\266\346\334\377\375\377\376\377\377\377\377\377\377"
  "\377\335\3774\326\210\203\5s\304j\244bcZcZ#R\2R\2R\2J\342I\241I\241A\200"
  "A\200A`A`A@9@9@9@9@9@9\200A\345j\223\326r\326Q\3161\316\20\316\320\305\260"
  "\275\217\265O\255.\255\16\245\15\245\355\244\314\234\253\234\253\224j\224"
  "j\214I\214(\214\10\214\347\203\347\203\306{\245{\245{\205sdsDsCs\"k\2k\1"
  "k\341j\211\214\212\214\212\224\212\224\213\224\213\224\213\224\253\224\253"
  "\234\314\234\314\234\315\234\355\244\15\245.\245/\255O\265o\265\217\275\320"
  "\275\360\305\21\316\260\315\345r\"Z\2R\342Q\2R\"Z\"bbj\243r&{\13\224q\275"
  "v\336{\367\233\377\227\336\215\244G{\344r\243jcbcZCZ#R\2R\342Q\342I\301I"
  "\241A\241A\200A`9@9@A@9\40""9@9\40""1\40""9\40""9@9`9\1J2\316R\3161\316\21"
  "\316\360\305\260\275\217\275o\265O\255.\255\16\245\355\244\314\234\314\234"
  "\253\224\213\224j\224J\214I\214(\204\7\204\347\203\306\203\306{\245{\205"
  "{dsdsCs\"k\"k\2k\1k\0k\211\214\212\214j\214j\214\212\224\212\224\213\224"
  "\254\224\253\224\314\234\314\234\314\234\355\234\15\245\16\245.\255N\255"
  "o\265\217\265\260\275\360\305\21\3161\316\360\305J\224\244b\2R\2R\341Q\341"
  "Q\1Z\"b\203b\243j\305r\6{h\203H{\7{\345r\243j\203jcbCZ#R\2R\2J\302I\241I"
  "\301I\301I\201A\200A`9`9@9@9\40""9\40""1\40""9\40""1\40""1\40""1\40""1`9"
  "\240A\360\3151\316\20\316\360\305\320\275\217\275o\265o\255N\255.\245\15"
  "\245\355\244\314\234\253\234\253\224j\224J\214I\214(\204(\204\7\204\346\203"
  "\306{\305{\245{\204sdscsCs\"s\3k\342j\1k\340ji\214i\214j\214j\214\212\214"
  "\212\224\213\224\213\224\253\224\253\234\314\234\354\234\355\234\355\234"
  "\15\245.\245.\255O\255\220\265\260\275\320\275\20\3061\316Q\316r\326\260"
  "\305\5s\2R\341I\341I\1R\2R!RBZBbbjbjbjCbBb\"ZBZ\2Z\2R\2R\342I\302I\301I\241"
  "I\201I\201I\200A`A`9@9\40""9\40""9\40""9\0""1\0""1\0""1\0""1\0""1\0""1@9"
  "\2009\257\275\20\316\360\305\320\305\260\275\217\265o\265O\255.\255\15\245"
  "\355\244\314\234\254\234\253\224\213\224j\224J\214I\214(\204\10\204\7\204"
  "\346\203\306{\245{\204{\204scsCs\"k\"s\3k\2k\341j\340bI\214i\214i\214j\214"
  "\212\214\212\224\212\224\212\224\253\224\253\224\314\234\314\234\354\234"
  "\354\234\15\245-\255.\255O\255o\265\220\275\320\275\360\305\21\3061\316r"
  "\326\223\3262\326\304j\341I\341I\341I\342Q\1J\1R\1Z\2Z\1Z!Z\1R\2R\2R\341"
  "Q\342Q\342I\302I\301I\241I\241A\240A\200A`A`A`A@9\40""9\40""9\40""1\40""1"
  "\0""1\0""1\0""1\3400\0""1\0""1\40""1\2009\217\275\360\305\320\305\260\275"
  "\217\265o\265O\255.\255\15\245\15\245\314\234\314\234\253\234\213\224j\224"
  "I\214I\214(\214\10\214\7\204\347\203\306\203\305{\245{\204{\204scsCs\"k\2"
  "k\3k\342j\341b\300bi\214i\214i\214j\214j\214i\214\212\224\212\224\253\224"
  "\253\224\253\234\314\234\314\234\354\234\15\245\15\255.\255N\255o\265\217"
  "\265\257\275\320\305\361\3151\316R\316r\326\223\326\360\305g{BZ\1R\1R\1R"
  "\341Q\342Q\342Q\341Q\1R\341I\342I\301I\301I\301I\301I\241I\201A\240I\200"
  "A\200A`A@A@A@9\40""9\40""9\40""9\0""1\0""1\0""9\3408\0""1\0""1\0""1\0""1"
  "\40""9\301Io\265\320\305\257\275\217\265o\265O\255.\255\16\245\355\244\354"
  "\244\314\234\253\234\213\234\213\224j\224I\214(\214(\214\7\204\347\203\347"
  "\203\306\203\245{\204{\204sdsCsCk#k\2k\2k\342j\301b\300bI\214i\214i\214i"
  "\214i\214i\214\212\224\212\224\213\224\253\224\253\234\253\234\314\234\354"
  "\244\355\244\15\245-\245.\255N\255o\265\217\275\257\275\360\305\21\3161\316"
  "R\326r\326\223\336\324\336\222\336M\275\205{AZ\1R\342Q\341Q\341I\301I\301"
  "I\241I\241I\240I\240I\240A\200A\200A\200A`A`A`A@A@9\40""9\40""9\40""9\0""9"
  "\0""1\0""1\0""9\3400\0""1\0""1\0""9\0""9\40""9\201Ik\234N\265\217\265o\265"
  "O\255.\255.\245\15\245\354\244\314\234\253\234\253\234\212\224j\224I\214"
  "I\214(\214'\204\7\204\346\203\306\203\245{\245{\204sdscsCsCk#k\3k\2k\341"
  "j\301b\301bI\214I\214i\214i\214i\214i\214i\214j\214\213\224\213\224\253\224"
  "\253\234\314\234\314\244\355\244\355\244\16\245.\255N\255o\265\217\265\257"
  "\275\320\275\360\3051\316Q\316r\326\222\326\263\336\364\346\24\3574\357r"
  "\336\212\234bb\341Q\300Q\300I\300I\241I\200I\200I\200I\200A\200A\200A`A`"
  "A`A@A@A\40""9\40""9\40""9\0""9\0""9\3400\0""9\0""1\0""1\3400\3400\3400\0"
  """1\0""9\40""9`A\204b\214\234.\255.\255\15\255\15\245\354\244\354\244\314"
  "\234\254\234\213\234\212\224i\224I\214(\214(\214\7\204\6\204\346\203\306"
  "{\245{\245{\204sdsCs\"s\"k\"k\2k\341j\301b\301b\241bH\214I\214I\214I\214"
  "I\214i\214j\214\212\224\212\224\212\224\253\224\253\224\313\234\314\234\354"
  "\234\354\244\15\245.\245.\255O\265o\265\217\275\257\275\360\305\20\3061\316"
  "Q\316r\326\222\326\263\336\323\346\364\346\24\367T\367\322\346\307\213\1"
  "Z\300Q\240I\240I\240I\200I\200A\200A\200A`A@A`9@A\40A\40A\40""9\40""9\0""9"
  "\0""9\0""9\3408\3400\3400\3400\3400\3400\3400\3000\3400\3400\0""9\0""9\301"
  "IJ\224\15\255\15\245\355\244\314\244\254\234\253\234\213\234j\224j\224I\224"
  ")\214(\214\10\214\347\203\346\203\306{\245{\245{\204{dscsCsBs\"k\2k\342b"
  "\301b\301b\301b\241bH\214H\214I\214I\214I\214I\214i\214j\214\212\224\212"
  "\224\213\224\253\224\253\224\314\234\354\234\354\244\15\245\15\245.\255."
  "\255O\265o\265\217\275\260\305\360\305\21\3161\316Q\316r\326s\336\223\336"
  "\323\346\363\3563\357T\3674\367.\275cb\301Q\241I\240I\200I`A`A`A@A`A@9@A"
  "\40A\40A\0""9\0""9\0""9\0""9\3408\0""9\0""1\0""1\3400\3400\3400\3000\300"
  "0\3000\3400\3400\3400\3408\301I\213\234\354\244\314\244\254\244\253\234\213"
  "\234\212\224j\224I\224)\214)\214\10\214\347\213\347\203\306\203\306{\245"
  "{\205{\204sdscsBs\"k\"k\2k\341b\341b\300b\241b\241bH\204H\214I\214I\214I"
  "\214I\214I\214j\214j\214j\224\212\224\213\224\253\224\313\234\314\234\314"
  "\234\355\244\15\245-\245.\255N\255o\265o\265\257\275\320\305\360\305\20\316"
  "1\316Q\316r\326\222\336\223\336\263\336\324\346\364\356\364\3564\357\363"
  "\346\317\305\10\224BZ\241I\201IaA`A`A@A@9\40""9\40""9\40""9\40""9\0""9\0"
  "A\0""9\3408\3408\3408\3408\3400\3400\3000\3000\3000\3400\3000\3000\3000\340"
  "0\0""1\245j\213\244\254\234\253\234\253\224\212\224j\224J\224I\214(\214("
  "\214\10\204\347\203\306\203\306\203\245{\205{\204{cscsCsBk\"k\1k\1c\341b"
  "\341b\301b\241b\240bH\204H\204(\214I\214I\214I\214I\214J\214j\214j\224j\224"
  "\212\224\213\224\253\234\254\234\314\234\354\234\355\244\15\245-\245.\255"
  "N\265o\265\217\275\257\275\320\305\360\305\20\3161\316Q\316Q\326r\326\223"
  "\326\223\336\263\346\323\346\364\356\364\356\24\357\364\356\223\346k\244"
  "CZ\241I`A@A@A\40""9\0""9\0""9\40""9\0""9\0A\0A\3408\3408\3408\3408\3000\300"
  "0\3000\3000\3400\3000\3400\3000\3000\3400\3000\3400\40""9g{\212\234\212\224"
  "\213\224j\224I\224I\214)\214)\214(\214\347\203\306\203\306{\305{\245{\204"
  "{dscscsBs\"k\"k\1c\341b\341j\301b\241b\240b\200b(\204(\214(\204(\214)\204"
  ")\214I\214I\214i\214j\214j\224\212\224\212\224\213\234\253\234\314\234\314"
  "\234\354\244\354\244\15\245.\255.\255N\265n\265\217\265\257\275\320\305\320"
  "\305\20\3160\3161\316Q\326r\326r\326r\336\223\336\223\336\263\346\263\346"
  "\324\346\324\346\263\346R\336J\234\1R\200I`I@A\40""9\0""9\0""9\0""9\0A\0"
  "A\0A\3408\3408\3008\3008\3000\3400\3400\3000\3000\3000\3000\3000\3000\300"
  "0\3400\3400`A\310\213i\224j\224J\224I\214(\214(\214\11\214\7\214\347\203"
  "\306\203\305{\244{\204{\204{dscsCs\"k\"k\2k\2k\341b\241b\301j\240b\200b\200"
  "b(\204(\204(\204(\204(\214)\214)\214I\214I\214i\214j\214j\224\212\224\212"
  "\224\253\234\253\234\313\234\314\244\354\244\15\245\15\255.\255.\255N\265"
  "o\265\217\265\217\275\260\305\320\305\360\305\20\3161\3161\316Q\326Q\326"
  "R\326r\326r\336r\336\223\336\223\336\222\336\222\336r\336\320\315g\203\301"
  "I\200I`A\40A\0A\0""9\40A\0""9\0""9\3408\3408\3408\3408\3008\3000\3400\300"
  "0\3000\3000\3000\2400\3000\3000\3000\3400\3400\300I\350\213(\214(\214(\214"
  "(\214\10\214\347\203\346\203\306\203\305\203\205{\205{\204{dscsCs#s\"s\2"
  "k\341j\341j\301b\241b\240b\240b\200b\200Z'\204(\214\10\204(\204(\214(\204"
  "(\214)\214I\214I\214J\214i\224i\224\212\224\212\224\253\234\253\234\313\234"
  "\314\244\355\244\15\245\15\245.\255.\255N\265N\265o\275\217\275\260\275\320"
  "\305\360\305\360\315\20\316\20\3161\3261\326Q\326Q\326Q\326Q\326r\326R\326"
  "r\326R\326Q\3261\326n\275\351\223\345r\240I@A\40A\40A\40A\0""9\3408\3408"
  "\3408\3408\3008\3000\3000\3000\2400\2400\2400\3000\3000\3000\3000\3400\340"
  "0\0""9\1R\306\203'\214(\214\10\204\347\203\346\203\306\203\305\203\244{\244"
  "{d{d{csCsCk#k\2k\2k\341j\301b\301b\240b\240b\200Z\200Z\200Z'\204\7\204\7"
  "\204\7\204'\214(\214(\214(\214I\214I\214I\214I\214i\224i\224\212\224\213"
  "\224\253\234\253\234\314\234\314\234\354\244\15\245\15\245.\255.\255N\265"
  "O\265o\265\217\275\257\275\257\275\320\305\357\305\360\315\360\315\20\316"
  "0\3161\3161\3161\3261\3161\3161\3161\3261\3160\316\20\316\20\316\320\315"
  "\355\264\244j`A@A\40A\40""9\0""9\3408\3408\3408\3008\3000\3000\2400\2400"
  "\2400\2400\2400\240(\3000\3000\3000\3000\3400\40""9!Z\205{\346\203\7\204"
  "\346\203\346\203\306\203\245{\244{\204{d{c{Cs\"k\"k\"k\2k\341b\341b\301b"
  "\301b\240b\200Z\200Z`Z`Z\7\204\7\204\7\204\7\204\7\204\7\214(\214(\214(\214"
  "(\214)\214I\214i\224i\214j\224\212\224\253\224\253\234\313\234\313\234\314"
  "\244\354\244\354\244\15\245\15\255.\255N\265N\265o\265o\275o\275\217\275"
  "\257\275\257\305\320\305\360\305\360\305\360\315\360\315\360\315\20\316\20"
  "\316\21\316\361\315\360\315\20\316\360\315\360\315\320\305\257\305N\275h"
  "\203`A\40A\40A\0""9\3408\3408\3008\3000\3000\3000\3000\2400\2400\2400\240"
  "(\240(\3000\240(\3000\3000\3000\3400\0""9\"Re{\305\203\306\203\306\203\245"
  "{\245{\204{\204{csCs\"s\"s\"k\"k\1c\341b\341b\301b\240b\200b\201Z\200Z`Z"
  "`Z\6\204\6\204\7\204\7\204\7\204\7\204\10\204(\214(\214(\214(\214)\214I\214"
  "i\214i\224j\224j\224\212\224\253\234\253\234\314\234\314\244\314\244\354"
  "\244\15\245\15\255.\255.\255.\265N\265N\265o\275\217\275\217\275\217\275"
  "\257\305\260\305\260\305\320\305\260\305\320\305\320\305\320\305\320\305"
  "\320\305\320\305\260\305\320\305\260\305\217\275\217\275\16\265g\203`A\40"
  "A\40A\0""9\3408\3008\3000\3000\3000\3000\2400\240(\2400\2400\2400\2400\240"
  "0\2400\3000\3000\3000\3400\0""1\1RDs\205{\205{\244{\204{dscsbsBs\"s\2k\2"
  "k\2k\1c\341b\301b\301b\240b\201b\200Z`Z`Z@Z\6\204\6\204\6\204\7\204\7\204"
  "\7\204\7\204\10\204(\204(\214(\214(\214H\214H\214I\214i\224j\224\212\224"
  "\212\234\212\234\253\234\254\234\314\244\314\244\354\244\355\244\15\245\15"
  "\255\15\255.\255.\265N\265n\265o\275o\275o\275\217\275\217\275\217\275\217"
  "\275\217\275\257\275\257\275\217\305\217\305\217\275\217\275\217\275\217"
  "\275o\275o\275O\265\354\254\207\203\240I@A\40A\3408\3008\3008\3008\3008\240"
  "0\2400\3000\2400\2400\2400\240(\240(\240(\240(\240(\300(\300(\3400\0""1\300"
  "I\343jD{\203sd{d{CsBsBk\"k\2k\2k\341b\342b\301b\241b\240b\200b`Z\200Z`Z`"
  "Z`Z\6\204\346\203\6\204\7\204\7\204\7\204\7\204\347\203\10\204\10\204(\214"
  "\10\204(\214H\214H\214H\214i\224i\224j\224\212\224\212\234\253\234\253\234"
  "\253\244\314\244\354\244\354\244\355\244\15\255\15\255-\255.\255.\265N\265"
  "N\265N\265N\265N\265o\275o\275o\275o\275o\275o\275o\275o\275o\275N\265N\265"
  "O\265.\265.\265.\265\354\254\11\224\301Q@A\0""9\0""9\3408\3000\3008\2400"
  "\2400\3000\2400\2400\2400\240(\200(\240(\240(\200(\240(\300(\300(\300(\340"
  "(`A\202bCkcsCsCsCk\"k\1k\1k\341j\342b\302b\302b\241b\201b\201Z\200Z`Z`Z@"
  "Z@Z\346{\346\203\346\203\346\203\346\203\346\203\6\204\346\203\7\204\10\204"
  "\10\204(\214(\214(\214(\214H\214H\214i\224i\224j\224\212\224\212\234\213"
  "\234\253\234\253\244\313\234\314\244\314\244\354\244\15\245\15\245\15\255"
  "\15\255-\255.\255.\265.\265.\265.\265.\265N\265N\265N\265O\265N\265.\265"
  "N\265.\265N\265.\265.\265\15\255\15\255\15\255\254\244\310\213\300Q@A\0""9"
  "\3408\3000\3000\2400\200(\240(\200(\240(\200(\240(\240(\200(\200(\200(\200"
  "(\200(\240(\240(\300(\300(@1AZ\343j#s\"k\"k\2k\341j\341j\2k\301b\301b\241"
  "b\241b\201b\200Z`Z`Z@Z@Z@Z\346{\346{\346\203\346\203\346\203\346\203\346"
  "\203\346\203\347\203\347\203\10\204\7\204(\214(\214(\214(\214(\214H\214I"
  "\224i\224i\224j\224\212\234\212\234\213\234\253\234\253\244\313\244\314\244"
  "\314\244\314\244\355\254\15\245\15\255\15\255\15\255\15\255\15\255\15\255"
  ".\265-\265.\265.\265.\265.\265-\265-\255\15\255\16\255\15\255\355\254\355"
  "\254\355\254\354\244\314\244\212\234f\203\240I@A\40""9\3400\3400\3000\240"
  "(\240(\200(\200(\200(\200(\200(\200\40\200(\200(\200(`\40\200\40\200(\240"
  "\40\240(\300(\0""1\300I\202b\2k\1k\1k\341j\301j\301b\301b\301b\241b\201Z"
  "\200Z`Z`Z@Z@Z@Z\40R\346{\306{\346{\345{\305{\305\203\305\203\346\203\346"
  "\203\346\203\347\203\347\203\7\204\7\204\7\214(\214(\214(\214(\224I\224I"
  "\224i\224j\224j\224\212\234\212\234\253\234\253\234\253\244\253\244\314\244"
  "\314\244\314\244\354\244\355\244\355\254\355\254\355\254\355\254\15\255\15"
  "\255\15\255\355\254\15\255\15\255\15\255\15\255\355\254\355\254\355\254\354"
  "\244\314\244\314\244\314\244\253\244\253\244I\234\4s`A\40A\3408\3000\240"
  "0\200(\200(\200(\200(\200(\240(\200(`(`(\200(\200\40\200(\200\40\200\40\200"
  "\40\200\40\240(\200(\3000\200A!R\341b\341b\301b\301b\241b\241b\240b\200Z"
  "\200Z\200Z`Z`Z@Z\40Z\40R@R\305{\305{\306{\305{\305{\305\203\305\203\306{"
  "\346\203\346\203\346\203\346\203\347\203\7\204\7\204\7\214\7\214(\214(\214"
  "(\214I\214I\214I\224i\224j\224\212\234j\234\212\234\212\234\253\234\213\234"
  "\253\244\253\244\254\244\314\244\314\244\314\244\354\244\354\244\354\244"
  "\354\254\354\244\354\244\355\254\355\254\15\255\355\254\314\244\314\244\314"
  "\244\314\244\313\244\313\244\253\244\253\244\212\234\212\234\10\214\243j"
  "@A\3408\3000\2400\200(\200(\200(\200(\200(\200(`(`(`(\200\40\200\40\200\40"
  "`\40`\40\200\40\200\40`(\200(\200(\240(\0""1\40R\241Z\301b\241b\241b\241"
  "b\200Z\200Z\200Z\200Z`Z@Z@Z\40Z\40R@R\305{\305{\305{\305{\305{\305{\305{"
  "\305\203\305{\306\203\306\203\306\203\346\203\346\203\7\204\7\204\7\204\7"
  "\214\7\214(\214(\214(\214I\214I\224i\224i\224j\224j\234j\234\212\234\213"
  "\234\213\234\252\234\253\244\253\244\253\244\253\244\254\244\314\244\314"
  "\244\314\244\314\244\314\244\314\244\314\244\354\244\314\244\314\244\313"
  "\244\253\244\253\244\253\234\213\234\212\234\212\234j\234i\234I\224\307\213"
  "!Z\40A\3408\3000\3000\240(\200(\200(\200(\200(\200(`(\200(\200\40`\40\200"
  "(`\40`\40`\40`\40`(`(\200(\200(\200(\3400\240AAZ\201b\241b\241b\201Z\200"
  "Z\200Z`Z`Z@Z@Z\0R\0R\40R\244{\244{\245{\305{\245{\304{\244{\305{\306{\306"
  "{\306{\306\203\346\203\306{\346\203\346\203\347\203\7\204\7\214\7\214'\214"
  "(\214(\214(\214I\224I\224I\224I\224i\224j\224j\234j\234\212\234\212\234\212"
  "\234\213\234\213\234\213\234\253\234\253\244\213\234\213\244\213\234\253"
  "\244\253\244\254\244\314\244\313\244\253\234\212\234\212\234j\234j\234j\234"
  "j\234J\224I\224)\224'\224e\203\240I\40""9\3000\3000\3000\240(\200(\200(\200"
  "(\200(`(`(`(`\40`(`\40`\40`\40`\40`\40`(`(`\40\200\40\200\40\240(@9\340Q"
  "`Z\200Z\200Z\200Z`R@R@Z\40Z@R\40R\0R\0Z\244{\244{\245{\244{\244{\244{\245"
  "{\245{\245{\245{\305{\306\203\305{\305\203\306\203\347\203\347\203\347\203"
  "\346\203\7\204\7\204\7\204(\214'\214'\214(\214(\224I\224I\224i\224i\224i"
  "\224j\224j\234j\234j\234j\234\212\234\212\234\212\234\212\234\212\234\212"
  "\234\212\234\212\234\213\234\213\234\213\234\213\234j\234j\234j\234i\234"
  "i\224I\224I\224(\224(\224'\214\306\213\343r\40A\3408\3000\3000\240(\200("
  "\200(\200(\240(\200\40`(`(\200(`\40`\40\200\40`\40`\40\200\40`(`\40`\40`"
  "\40`\40`\40\200(\0""1\240I@R`Z`Z@Z@Z\40Z\40Z\40R\0R\0R\0R\244{\244s\244{"
  "\244{\244{\204{\245{\245{\245{\245{\245{\245{\305{\245{\306\203\306\203\306"
  "\203\346\203\346\203\346\203\346\203\7\214\7\214\7\214\7\214'\214(\214(\214"
  "(\224H\224H\224I\224I\224I\224I\224I\224I\224i\224j\224j\234j\224j\224j\234"
  "j\234j\234j\224j\234j\234j\224I\224I\224I\224H\224(\224(\224)\224(\214\10"
  "\214\7\214\306\213\205\203!Z\40A\3008\3000\2400\200(\200(\200(\240(`\40`"
  "(`(`\40\200\40\200\40`\40`\40`\40\200\40@\40@\40\200(`\40\200\40`\40`\40"
  "\200\40\340(\200A\0R\40R@R@R@R\40R\40R\0R\0R\0R\203{\243{\243{\204{\204{"
  "\204{\204{\244s\204{\204{\244{\245{\245{\245{\245{\245{\306\203\306\203\306"
  "\203\306\203\346\203\346\203\346\203\347\213\7\214\7\214\7\214\10\214(\214"
  "(\214(\214(\214(\224(\224(\224I\224I\224I\224I\224I\224I\224I\224I\224I\224"
  "I\224I\224I\224I\224H\224I\224)\224(\224(\224'\224\7\224\10\214\10\214\7"
  "\214\347\213\346\213\245\203$s`A\3408\3000\2400\2400\200(\240(\200\40`(`"
  "(`(\200(`\40`\40`\40`\40`\40`\40@\40`(`(\200\40\200\40\200\40`\40`\40`\40"
  "\200\40\40""9\301I\40R@R\40R\0R\40J\0J\0R\340Q\203{\203{\203s\203s\204{\204"
  "{\204{\204{\204{\204{\204{\244{\244{\244{\244{\245{\245{\245\203\245\203"
  "\245\203\305\203\306\203\306\203\346\203\347\203\347\213\347\213\7\214\7"
  "\214\7\214(\214\10\214(\214(\214\10\214(\214(\214(\224(\224(\224(\224(\224"
  "(\224(\224)\224)\224(\224(\214'\214(\224\10\214(\214\10\214\7\214\7\214\346"
  "\213\347\213\346\213\306\213\306\203\305\203e{\203j\40A\3408\2400\2400\200"
  "(\200\40\200(\200(\200(`\40`\40`\40@\40`\40`\40`\40\200(`\40`(`(\200\40\200"
  "\40\200\40`\40`\40`\40`\40\200\40\0""1\240A\0R\0R\0R\0J\0J\340Q\0Rcscscs"
  "cscscscscs\204s\204s\204s\204{\204{\244{\203{\244{\245{\245{\245{\245{\245"
  "{\305\203\305\203\305\203\306\203\306\203\346\203\346\203\346\203\347\213"
  "\7\214\7\214\7\214\10\214\7\214\7\214\7\214\10\214\10\214(\214\10\214\10"
  "\214\10\214\10\214\10\214\10\214\7\214\7\214\7\214\7\214\7\214\7\214\347"
  "\213\347\213\346\213\346\213\305\203\305\203\246\203\245\203\245\203\204"
  "{\4s\300Q\0""9\3400\3000\200(\200(`\40`\40`\40`\40`\40@\40@\40`\40\200\40"
  "\200\40`(`\40@\40@\40`\40`\40`\40`\40`\40\200\40`\30`\40`\40\300(\200A\300"
  "I\0R\340I\340Q\340I\300I\202scsdscscscscsdsdscscscs\203s\203s\203{\204{\204"
  "{\204{\204{\204{\245{\245{\245\203\245\203\305\203\306\203\306\203\306\203"
  "\306\203\346\203\346\213\346\213\347\203\347\213\347\213\346\213\347\213"
  "\7\214\347\213\7\214\7\214\7\214\7\214\347\213\7\214\7\214\7\214\347\213"
  "\346\213\346\213\346\213\306\203\306\203\307\203\306\203\305\203\305\203"
  "\244\203\245\203\205\203\204{d{D{\242j@A\3000\3000\240(\240(\200(`(`\40`"
  "\40`\30`\40`\40`\40`\40`\40`\40@\40@\40`\40`\40`\40`\40@\40`\40`\40\200\40"
  "@\30`\40`\40\240(\40""9\240A\300Q\300I\340Q\300Ibkckckcscsbscscscscscscs"
  "cscscsc{\204{cs\204{\204{\204{\205{\204{\204\203\245{\245{\245{\245\203\306"
  "\203\306\203\306\203\306\203\306\203\346\213\346\213\346\213\346\203\346"
  "\203\347\203\347\203\346\203\346\203\346\213\306\213\306\213\306\203\306"
  "\213\306\213\306\203\306\203\306\203\305\203\245\203\245\203\245\203\245"
  "\203\245\203\205\203\205{\204{d{c{c{\3s\301Q\3408\3000\2400\240(\200(\200"
  "(`(`\40`\30`\40`\40@\40`\40@\40`\40@\40`\40@\40`\40`\40`\40`\40@\40@\40`"
  "\40`\40`\40@\40`\40`\40\3400`A\240I\240I\240IbkBsCsBsbsbscscscscsCscscsc"
  "scsc{cscsd{\204s\204{\204{\204{\204{\205{\245{\245{\245\203\245\203\245\203"
  "\245\203\246\203\305\203\305\203\245\203\305\203\305\203\306\203\306\203"
  "\306\203\306\203\306\203\305\203\305\203\306\203\306\203\246\203\245\203"
  "\306\203\305\203\245\203\245\203\244\203\204\203\205\203\205{\204{d{d{d{"
  "d{c{Cs\"s\203j\40""9\3400\2400\2000\200(\200(`(`\40`\40`\40`\40`\40`\40`"
  "\40`\40@\40@\40`\40`\40`\30`\40`\40`\40`\40@\30@\40`\40@\40@\40@\30\40\30"
  "\240(\40""9\200I\240IBkBsBsBsBsBsBsBkCkcsCsBscsBsbsBscscscscscs\203scs\204"
  "{\205{\205{\204{\204{\204{\245\203\205{\205{\204\203\204\203\244\203\244"
  "\203\245\203\245{\245\203\245\203\245\203\245\203\244\203\244\203\245\203"
  "\245\203\205\203\245\203\245{\245\203\205\203\204\203\204\203\204{\204{\204"
  "{d{c{d{DsDsCs\"s\2s\342j\340Q\3400\2400\2400\200(\200(`\40`\40`\40@\40`\40"
  "@\40`\40@\40@\40@\40`\40@\40`\40`\30`\30@\30@\40@\30`\40@\30@\40\40\30@\30"
  "@\30@\30\40\30`\40\3400\201ABkBsBsBsBkBkBk\"kBkCkCkBkBkBkBsBsBsCsCscscsc"
  "scscsds\204{d{\204{\204{\204{\204{\205{\204{\204\203\204\203\204{\204{\204"
  "{\204{\204\203\204\203\204{\204{\204{\204{\205{\205{\204{\204{\204{d{d{d"
  "{c{c{c{c{CsCs#s#s#s\2s\2s\342r\202b\40""9\3000\2400\200(\240(\200(\200\40"
  "`\40`\40`(`\40`\40`\40`\40@\40@\40@\40@\40`\40@\30@\30@\30@\30`\30@\30@\30"
  "\40\30\40\30@\30@\30\40\30@\30`\40\240\40\"kBkBk\"k\"k\"k\"k\"k#k#kCkBkB"
  "kBk\"kCsBsCsBsBsBsCsCsCscscscsc{d{dsd{d{c{d{d{d{d{d{d{d{\203{\203{\203{d"
  "{d{d{\204{d{c{c{c{c{C{CsCsBsB{Bs#s\3s\"s\2s\2s\342r\342j\242j\341Q\3400\300"
  "0\240(\240(\200(\200(\200(`\40`\40`\40`\40`\30`\30@\40@\40@\40@\40@\40`\40"
  "@\30@\30@\30@\30@\30@\30\40\30\40\30\40\30@\30\40\30\40\30@\30@\30\"k!k!"
  "k\"k\2k\"k\"k\"k\"k#k\"k\"k\"k\"k\"k#k\"k\"k\"k\"kBsBsCs#sCsCsCsCsCsCscs"
  "C{cscsc{c{C{C{C{C{c{c{C{C{D{C{C{C{C{C{C{CsCs#s\"s\"s\"s\"s\3s\2s\2s\1k\341"
  "j\301j\341j\302bbb\40""9\3000\300(\240(\200(\200(`(`\40@\40`\40`\40@\30`"
  "\30@\40@\40\40\40@\40@\40@\30@\30@\30@\30@\30@\30@\30@\30@\30\40\30\40\30"
  "\40\30\40\30@\30\40\30\1k!k!k\1k\2k\2k\"k\2k\2k\2k\"k!k\"k\"k\"k\"k\2k\""
  "k\2k\"k\"k\"s\"s\2k\"k#k#s#s#sCsBs\"sBsCsCsCsBsC{#{C{C{C{C{#s#sCsBs\"{#s"
  "#s#s#s\2s\2s\2s\2s\2s\2s\2s\342j\2k\341j\341j\341j\301b\301b\201b\240I\340"
  "0\300(\240(\240(\2000`(\200(`\40`\40@\40`\40`\30@\40@\40@\40`\40@\40@\30"
  "@\30@\30@\30\40\30@\30\40\30@\30\40\30\40\30\40\30\40\30\40\30\40\20@\30"
  "\1k\1k\1k\1k\2c\2k\2k\2k\2k\2k\2k\2k\1k\1c\"k\1c\1k\2k\2k\2k\"k!k\2k\"k\""
  "k\"k#s\"s\"k\"s\2s\"s\"k\"s\"s\"s\"s\"s\"s#s#s\2s\2s#s#s\"s\"s\"s\3s\3s\""
  "s\"s\2s\2s\1s\341j\342j\342j\342j\342j\342j\342b\341b\301b\302b\301b\201"
  "b!Z\0""9\3000\240(\200(\200(`(\200(`\40`\40`(`\40`\40@\40@\30`\40@\30`\30"
  "@\30\40\30`\30@\30@\30@\30@\30@\30\40\30\40\30\40\30\40\20\40\20\40\20\40"
  "\20\341j\1k\341b\2k\2c\2c\341b\341b\2k\342b\341b\2k\1c\1c\1c\341b\1k\2k\2"
  "k\2k\1k\1k\2k\2k\2k\1k\"k\2k\2k\2k\2k\2s\2k\2s\2s\2s\"s\2s\2s\2s#s\2s\2s"
  "\2s\2s\2s\2s\2s\2k\2s\2s\2k\2k\342j\342j\301j\342j\342j\302j\342j\301b\301"
  "b\301b\301b\241Z\200Z\201bAZ\200A\3000\240(\240(`(\200(\200(\200(`\40`(@"
  "\40@\40@\40@\40@\30@\30`\30`\30@\30`\40@\40@\30\40\30\40\30\40\20\40\30\40"
  "\30\40\30\40\20\40\20\40\20\0\20\341b\1c\341b\342b\342b\342b\2c\342b\2c\342"
  "b\342b\341b\1c\341b\341b\341j\341j\341j\1k\341b\1k\2k\342j\1k\1k\1k\1k\2"
  "k\2k\2k\2k\2k\342j\342j\342j\342j\2k\2k\1k\2s\2k\2k\342j\2k\342r\342j\2s"
  "\1k\342j\2k\342j\341j\341j\342j\302j\301j\301j\301j\302b\302b\241b\301j\240"
  "b\240b\241b\241baZaZ\341Q\3400\2400\200(\2400\240(\240(\200(`\40`\40`\40"
  "@\40@\40\40\40\40\40@\30`\30`\30@\30@\40@\40@\30\40\30\40\30\40\30@\30\40"
  "\20\40\20\40\20\40\20\40\20\40\20\341b\340b\340b\341b\342b\342b\301b\341"
  "b\302b\302b\341b\341b\341b\2k\341b\341j\342b\342b\341b\341b\2c\342j\341j"
  "\341j\341b\2c\2c\2k\2k\342b\2k\341j\341j\341j\341j\342j\341j\341j\341j\342"
  "j\342j\342j\341j\341j\342j\342j\341j\341j\301j\301j\302j\302j\302j\302j\301"
  "j\301j\301j\241b\302b\301b\241b\240b\200b\201b\200b`Z`Z\201ZAR@9\3400\240"
  "(\200(\200(`(`(`(`(@\40@\40\40\40\40\40`\30@\30`\30@\30@\30@\30@\30@\30\40"
  "\30@\30\40\30@\30@\30\40\30\40\20\40\20\40\20\40\20\341b\341b\341b\341b\341"
  "b\341b\301b\301b\302b\302b\341b\341b\341b\302b\301b\301b\342b\341b\342b\341"
  "b\341b\341b\341j\341b\341b\341b\341b\342b\342j\342b\341j\341j\341j\301j\302"
  "j\342j\341j\341j\341j\302j\302j\302b\301b\342j\301b\301j\301j\301b\301j\302"
  "j\242b\302b\302j\241b\241b\241b\241b\241b\241b\241b\201Z\200b\201ZaZ\200"
  "Z`Z`Z@RAR\301I\3400\2400\240(\200(\200(`(`(`(@\40@\40\40\40@\40@\30@\30@"
  "\30@\30@\30@\30@\30@\30\40\30@\30\40\30\40\30\40\30\40\30@\20\40\20\40\20"
  "\0\20\301b\301b\301Z\341b\341Z\341Z\341b\301b\302b\341b\301b\301b\342b\302"
  "Z\302b\301b\301b\342b\301b\301b\301b\341b\341b\301b\341b\302b\342b\302b\342"
  "b\341b\342b\301b\301b\302b\301b\301b\301b\301b\301b\302b\302b\302b\302b\302"
  "b\301b\302b\302b\302b\302j\242b\242b\242b\301b\241b\241b\201b\241b\201b\241"
  "b\241Z\201Z\201ZaZ\201Z\200Z`Z`R`Z`R\"R\40""9\3000\2400\240(\2400\200(`("
  "\200(\200\40`\40@\40@\40@\40@\30`\30`\30@\30@\30@\30@\30@\30@\30@\30\40\30"
  "\40\30\40\30\40\20\0\20\0\20\0\20",
};


Then I changed file extension to "h" and used it as follows.

Code: Select all

#include "ch.h"
#include "hal.h"
#include "chprintf.h"
#include "gfx.h"
#include "chelmon_avatar.h"

void cmd_blit(BaseSequentialStream *chp, int argc, char *argv[])
{
   (void)chp;
   (void)argc;
   (void)argv;

   gdispBlitArea(0, 0, gimp_image.width, gimp_image.height, (const pixel_t*)gimp_image.pixel_data);
}


This rather ugly hack but works;)

Mateusz


Return to “LCD Driver and Graphic Framework”

Who is online

Users browsing this forum: No registered users and 31 guests