page%rishathra@Sun.COM (Bob Page) (05/03/89)
Submitted-by: sco!brianm@uunet.uu.net (Brian Moffet) Posting-number: Volume 89, Issue 112 Archive-name: graphics/colors.1 A SetPalette clone. [uuencoded executable included. ..bob] # This is a shell archive. # Remove anything above and including the cut line. # Then run the rest of the file through 'sh'. # Unpacked files will be owned by you and have default permissions. #----cut here-----cut here-----cut here-----cut here----# #!/bin/sh # shar: SHell ARchive # Run the following text through 'sh' to create: # color.c # color2.c # data.c # gadgets.c # main.c # lmkfile # setcolor.lnk # setcolor.uu # This is archive 1 of a 1-part kit. # This archive created: Wed May 3 00:01:01 1989 echo "extracting color.c" sed 's/^X//' << \SHAR_EOF > color.c X/* X** Brian D. Moffet X** June 13, 1988 X** X** Placed in the Public Domain, Please keep my name on it X** and provide source when you provide the binary. X** X** uunet!sco!alar!brian X*/ X X#include <intuition/intuition.h> X#include <graphics/rastport.h> X X X#define WINWIDTH 260 X#define WINHEIGHT 100 X Xextern char Version[]; Xextern char Author[]; X Xint pen = 0, bpen = 1; Xstruct Window *Set_Win = NULL; Xstruct NewWindow NW; X Xextern struct Screen *S; Xextern int MaxBit; Xextern USHORT colortable[]; X XColor_Window( S ) Xstruct Screen *S; X{ X register int class; X register int code; X APTR ptr; X struct IntuiMessage *mess; X int i; X/* X** Many hard coded numbers are in here, they shouldn't X** be. I should take the size of the window and scale that, X** But this was a quick hack... X** X** The window allows mouse buttons and gadget movement. X** Instead of waiting for a gadget, when I get the first one X** I enter a fast loop to track the mouse. I could get better X** color updating this way. X*/ X X NW.LeftEdge = NW.TopEdge = 0; X NW.Width = WINWIDTH; X NW.Height = WINHEIGHT; X NW.DetailPen = NW.BlockPen = -1; X NW.IDCMPFlags = MOUSEBUTTONS X | CLOSEWINDOW | GADGETDOWN X | GADGETUP; X NW.Flags = WINDOWCLOSE | WINDOWDRAG | X WINDOWDEPTH | SMART_REFRESH X | ACTIVATE | NOCAREREFRESH | X RMBTRAP; X NW.FirstGadget = NULL; X NW.CheckMark = NULL; X NW.Title = Version; X NW.Screen = S; X NW.Type = CUSTOMSCREEN; X X Set_Win = (struct Window *) OpenWindow( &NW ); X X if( Set_Win == NULL ) return( -1 ); X X/* X** Draw Boxes for individual colors. This will handle to 32 X** colors. X*/ X X X pen = 1 << MaxBit; X for( i = 0; i < pen; i++) X { X short sx, sy, w, h; X unsigned short color = colortable[i]; X X SetRGB4( &S->ViewPort, i, (color>>8)&0x000f, X (color>>4)&0x000f, (color)&0x000f ); X X sx = ((i % (pen/2)) + 1) * WINWIDTH / (pen/2+2); X sy = (i < (pen/2)) ? 54 : 63; X w = WINWIDTH / (pen/2 + 2) - 2; X h = 5; X Draw_Box( i, sx, sy, w, h ); X } X X/* X** Draw the border X*/ X X Move(Set_Win->RPort, 40, 19); X Draw(Set_Win->RPort, 250, 19); X Draw(Set_Win->RPort, 250, 52); X Draw(Set_Win->RPort, 40, 52); X Draw(Set_Win->RPort, 40, 19); X X/* X** Add Misc Gadgets X*/ X X Add_Gadgets( Set_Win ); X/* X** Add the proportional gadgets for the individual colors. X*/ X X Add_Prop( 0, 45, 21, 200, 10 ); X Add_Prop( 1, 45, 31, 200, 10 ); X Add_Prop( 2, 45, 41, 200, 10 ); X X pen = 0; X Set_Gadg_Color(); X X/* Process Mouse */ X X while( TRUE ){ X X/* Wait for message, the loop until no more movement */ X X Wait( 1 << Set_Win->UserPort->mp_SigBit ); X X while( mess = (struct IntuiMessage *) X GetMsg( Set_Win->UserPort ) ){ X X class = mess->Class; X code = mess->Code; X ptr = mess->IAddress; X ReplyMsg( mess ); X X switch( class ){ X case CLOSEWINDOW: X CloseWindow( Set_Win ); X return( 0 ); X case MOUSEBUTTONS: X Work_Mouse( code ); X break; X case GADGETDOWN: X Set_Color( pen ); X break; X case GADGETUP: X Do_Gadget( ptr ); X Set_Gadg_Color(); X default: X break; X } X } X } X} X X/* X** Draw a Box of the appropriate color X*/ X XDraw_Box( i, x, y, w, h ) Xint x, y, i, w, h; X{ X SetDrMd( Set_Win->RPort, COMPLEMENT ); X SetAPen( Set_Win->RPort, i ); X RectFill( Set_Win->RPort, x, y, x+w+2, y+h+2 ); X SetDrMd( Set_Win->RPort, JAM1 ); X SetAPen( Set_Win->RPort, i ); X RectFill( Set_Win->RPort, x+1, y+1, x+w+1, y+h+1 ); X} X X/* X** Do the mouse tracking X*/ X X XWork_Mouse( arg ) Xint arg; X{ X int penno; X X if( Set_Win->MouseY < 52 ) X return; X X if( arg == SELECTDOWN || arg == MENUDOWN ) X return; X X if (arg == SELECTUP) X pen = ReadPixel( Set_Win->RPort, Set_Win->MouseX, X Set_Win->MouseY ); X else X bpen = ReadPixel( Set_Win->RPort, Set_Win->MouseX, X Set_Win->MouseY ); X X Set_Gadg_Color(); X} X X/* X * The current color box. The foreground color is X * color 1 and the background color is color 2 X */ X Xstruct IntuiText CColor = { X 1, 0, X JAM2, X 0, 0, X NULL, X " -Current Color- ", X NULL, X}; X X XSet_Gadg_Color() X{ X unsigned short c[3]; X struct Gadget *G; X int i; X X c[0] = colortable[ pen ] & 0x000f; X c[1] = ( colortable[ pen ] >> 4 ) & 0x000f; X c[2] = ( colortable[ pen ] >> 8 ) & 0x000f; X X G = Set_Win->FirstGadget; X X i = 0; X X while( G != NULL ){ X X if( G->GadgetType == PROPGADGET ){ X X if( G->GadgetID == 'R' ) i = 2; X if( G->GadgetID == 'G' ) i = 1; X if( G->GadgetID == 'B' ) i = 0; X ModifyProp( G, Set_Win, NULL, FREEHORIZ, X (USHORT)((0x1110) * c[i]) , 0, X (USHORT)(0x0fff), 0 ); X } X X G = G->NextGadget; X X } X X CColor.FrontPen = pen; X CColor.BackPen = bpen; X X PrintIText( Set_Win->RPort, &CColor, X (WINWIDTH-IntuiTextLength(&CColor))/2, 75 ); X} X X X/* X** This produces a line X*/ X Xextern USHORT SData[]; Xchar *Color_Name[] = {"Red ", "Grn ", "Blu " }; X Xstruct IntuiText IT = { X 1, 0, X COMPLEMENT, X 0, 0, X NULL, X NULL, X NULL, X}; X X/* X** This adds the horizontally moving Proportional Gadgets. X** The HorizBody was found mostly by trial and error, X** As I found the Doc to be less than helpful. X*/ X XAdd_Prop( color, sx, sy, w, h ) Xint color; Xint sx, sy, w, h; X{ X X static struct Gadget G[3]; X static struct PropInfo P[3]; X static struct Image I[3]; X X P[color].Flags = FREEHORIZ; X P[color].HorizBody = (USHORT)(0x0fff); X X I[color].Width = 4; X I[color].Height = 6; X I[color].Depth = 1; X I[color].ImageData = &SData[0]; X I[color].PlanePick = 0x01; X X G[color].LeftEdge = sx; X G[color].TopEdge = sy; X G[color].Width = w; X G[color].Height = h; X X G[color].Flags = GADGHBOX | GADGIMAGE; X G[color].Activation = GADGIMMEDIATE | RELVERIFY; X G[color].GadgetType = PROPGADGET; X G[color].GadgetRender = (APTR)&I[color]; X G[color].SelectRender = NULL; X G[color].SpecialInfo = (APTR)&P[color]; X G[color].GadgetText = NULL; X G[color].GadgetID = (int)(*Color_Name[color]); X X IT.IText = (UBYTE *)Color_Name[color]; X PrintIText(Set_Win->RPort, &IT, sx - IntuiTextLength(&IT), sy ); X X AddGadget( Set_Win, &G[color], -1 ); X OnGadget( &G[color], Set_Win, NULL ); X X} SHAR_EOF echo "extracting color2.c" sed 's/^X//' << \SHAR_EOF > color2.c X/* X** Brian D. Moffet X** June 13, 1988 X** X** Placed in the Public domain. X** Please allow me to retain credit for this, and please X** distribute source with the binaries. X*/ X X#include <intuition/intuition.h> X#include <intuition/screens.h> X X Xextern struct Screen *S; Xextern int MaxBit; Xextern USHORT colortable[]; X Xextern struct Window *Set_Win; X X/* X** This sets the colors when the mouse is moved. X*/ X XSet_Color( pen ) Xint pen; X{ X register struct IntuiMessage *I; X struct Gadget *G; X USHORT *g, *b, *r, class; X unsigned int color; X X G = Set_Win->FirstGadget; X X while( G != NULL ){ X switch( G->GadgetID ){ X case 'R': X r = &( (struct PropInfo *)G->SpecialInfo )->HorizPot; X break; X case 'G': X g = &( (struct PropInfo *)G->SpecialInfo )->HorizPot; X break; X case 'B': X b = &( (struct PropInfo *)G->SpecialInfo )->HorizPot; X default: X break; X } X G = G->NextGadget; X } X X/* X** Mouse Movement while Gadget is down loop X*/ X X while( TRUE ){ X X I = (struct IntuiMessage *) GetMsg( Set_Win->UserPort ); X X class = I->Class; X X if( I != NULL ) ReplyMsg( I ); X X color = ( ( ( *r ) >> 12 ) << 8 ) | X ( ( ( *g ) >> 12 ) << 4 ) | X ( ( ( *b ) >> 12 ) ); X X if( (color) != colortable[ pen ] ){ X X SetRGB4( &S->ViewPort, pen, (color>>8)&0x000f, X (color>>4)&0x000f, (color)&0x000f ); X colortable[ pen ] = color; X } X X if( class == GADGETUP ) return( 1 ); X } X X} SHAR_EOF echo "extracting data.c" sed 's/^X//' << \SHAR_EOF > data.c X/* X** Brian D. Moffet X** June 13, 1988 X** X** Placed in the Public domain. X** Please allow me to retain credit for this, and please X** distribute source with the binaries. X*/ X X/* X * data for chip ram. X */ X Xunsigned short SData[] = X{ X -1, X -1, X -1, X -1, X -1, X -1, X}; X SHAR_EOF echo "extracting gadgets.c" sed 's/^X//' << \SHAR_EOF > gadgets.c X/* X** Brian D. Moffet X** June 13, 1988 X** X** Placed in the Public domain. X** Please allow me to retain credit for this, and please X** distribute source with the binaries. X*/ X X#include <intuition/intuition.h> X#include <graphics/rastport.h> X X#define BETWEEN 5 X Xextern int pen, bpen; Xextern int MaxBit; Xextern unsigned short colortable[]; Xextern unsigned short oldcolortable[]; Xextern struct Window *Set_Win; X XDo_Gadget( addr ) Xregister struct Gadget *addr; X{ X switch( addr->GadgetID ) X { X case 1: /* Make Black and White */ X { X unsigned short r, g, b; X int i; X for (i = 0; i < (1<<MaxBit); i++) X { X r = (colortable[i]>>8) & 0x0f; X g = (colortable[i]>>4) & 0x0f; X b = (colortable[i]>>0) & 0x0f; X make_bw(&r, &g, &b); X colortable[i] = ((r&15)<<8) | ((g&15)<<4) X | ((b&15)); X SetRGB4(ViewPortAddress(Set_Win), i, r, g, b); X } X break; X } X case 2: /* Smear of Colors */ X { X int i; X if ( pen > bpen) X smear( colortable, bpen, pen ); X else X smear( colortable, pen, bpen ); X X for (i = 0; i < (1<<MaxBit); i++) X { X unsigned short r, g, b; X r = (colortable[i]>>8) & 0x0f; X g = (colortable[i]>>4) & 0x0f; X b = (colortable[i]>>0) & 0x0f; X SetRGB4(ViewPortAddress(Set_Win), i, r, g, b); X } X break; X } X case 3: /* Switch Colors */ X { X int j, i; X unsigned short r, g, b; X X j = colortable[pen]; X colortable[pen] = colortable[bpen]; X colortable[bpen] = j; X for (i = 0; i < (1<<MaxBit); i++) X { X r = (colortable[i]>>8) & 0x0f; X g = (colortable[i]>>4) & 0x0f; X b = (colortable[i]>>0) & 0x0f; X SetRGB4(ViewPortAddress(Set_Win), i, r, g, b); X } X break; X } X case 4: /* Make the default palette good */ X { X int i; X for (i = 0; i < (1<<MaxBit); i++) X oldcolortable[i] = colortable[i]; X break; X } X case 5: /* Copy Foreground to Background */ X { X int i; X unsigned short r, g, b; X X colortable[bpen] = colortable[pen]; X for (i = 0; i < (1<<MaxBit); i++) X { X r = (colortable[i]>>8) & 0x0f; X g = (colortable[i]>>4) & 0x0f; X b = (colortable[i]>>0) & 0x0f; X SetRGB4(ViewPortAddress(Set_Win), i, r, g, b); X } X break; X } X case 6: /* Make Palette Original */ X { X int i; X unsigned short r, g, b; X X for (i = 0; i < (1<<MaxBit); i++) X { X colortable[i] = oldcolortable[i]; X r = (colortable[i]>>8) & 0x0f; X g = (colortable[i]>>4) & 0x0f; X b = (colortable[i]>>0) & 0x0f; X SetRGB4(ViewPortAddress(Set_Win), i, r, g, b); X } X break; X } X default: X break; X } X} X X XAdd_Gadgets( W ) Xstruct Window *W; X{ X Add_BW( W ); X Add_Smear( W ); X Add_Ex( W ); X Add_Copy( W ); X Add_OK( W ); X Add_Undo( W ); X} X X Xstruct IntuiText BWText = { X 1, 0, X COMPLEMENT, X 0, 0, X NULL, X "B/W", X NULL, X}; X Xstruct Gadget BWGadget = { X NULL, X 10, -9, 0, 8, X GADGHBOX | GRELBOTTOM, X RELVERIFY, X BOOLGADGET, X NULL, X NULL, X NULL, X 0, X NULL, X 1, X NULL X}; X X XAdd_BW( W ) Xstruct Window *W; X{ X BWGadget.GadgetText = &BWText; X BWGadget.Width = IntuiTextLength(&BWText); X AddGadget( W, &BWGadget, -1 ); X OnGadget( &BWGadget, W, NULL ); X} X Xstruct IntuiText SmearText = { X 1, 0, X COMPLEMENT, X 0, 0, X NULL, X "Smear", X NULL, X}; X Xstruct Gadget SmearGadget = { X NULL, X 30, -9, 0, 8, X GADGHBOX | GRELBOTTOM, X RELVERIFY, X BOOLGADGET, X NULL, X NULL, X NULL, X 0, X NULL, X 2, X NULL X}; X X XAdd_Smear( W ) Xstruct Window *W; X{ X SmearGadget.GadgetText = &SmearText; X SmearGadget.Width = IntuiTextLength(&SmearText); X SmearGadget.LeftEdge = BWGadget.LeftEdge + BETWEEN + X IntuiTextLength(&BWText); X AddGadget( W, &SmearGadget, -1 ); X OnGadget( &SmearGadget, W, NULL ); X} X Xstruct IntuiText ExText = { X 1, 0, X COMPLEMENT, X 0, 0, X NULL, X "Exchange", X NULL, X}; X Xstruct Gadget ExGadget = { X NULL, X 30, -9, 0, 8, X GADGHBOX | GRELBOTTOM, X RELVERIFY, X BOOLGADGET, X NULL, X NULL, X NULL, X 0, X NULL, X 3, X NULL X}; X X XAdd_Ex( W ) Xstruct Window *W; X{ X ExGadget.GadgetText = &ExText; X ExGadget.Width = IntuiTextLength(&ExText); X ExGadget.LeftEdge = SmearGadget.LeftEdge + BETWEEN + X IntuiTextLength(&SmearText); X AddGadget( W, &ExGadget, -1 ); X OnGadget( &ExGadget, W, NULL ); X} X X Xstruct IntuiText CopyText = { X 1, 0, X COMPLEMENT, X 0, 0, X NULL, X "Copy", X NULL, X}; X Xstruct Gadget CopyGadget = { X NULL, X 30, -9, 0, 8, X GADGHBOX | GRELBOTTOM, X RELVERIFY, X BOOLGADGET, X NULL, X NULL, X NULL, X 0, X NULL, X 5, X NULL X}; X X XAdd_Copy( W ) Xstruct Window *W; X{ X CopyGadget.GadgetText = &CopyText; X CopyGadget.Width = IntuiTextLength(&CopyText); X CopyGadget.LeftEdge = ExGadget.LeftEdge + BETWEEN + X IntuiTextLength(&ExText); X AddGadget( W, &CopyGadget, -1 ); X OnGadget( &CopyGadget, W, NULL ); X} X Xstruct IntuiText OKText = { X 1, 0, X COMPLEMENT, X 0, 0, X NULL, X "OK", X NULL, X}; X Xstruct Gadget OKGadget = { X NULL, X 30, -9, 0, 8, X GADGHBOX | GRELBOTTOM, X RELVERIFY, X BOOLGADGET, X NULL, X NULL, X NULL, X 0, X NULL, X 4, X NULL X}; X X XAdd_OK( W ) Xstruct Window *W; X{ X OKGadget.GadgetText = &OKText; X OKGadget.Width = IntuiTextLength(&OKText); X OKGadget.LeftEdge = CopyGadget.LeftEdge + BETWEEN + X IntuiTextLength(&CopyText); X AddGadget( W, &OKGadget, -1 ); X OnGadget( &OKGadget, W, NULL ); X} X X X Xstruct IntuiText UndoText = { X 1, 0, X COMPLEMENT, X 0, 0, X NULL, X "Undo", X NULL, X}; X Xstruct Gadget UndoGadget = { X NULL, X 30, -9, 0, 8, X GADGHBOX | GRELBOTTOM, X RELVERIFY, X BOOLGADGET, X NULL, X NULL, X NULL, X 0, X NULL, X 6, X NULL X}; X X XAdd_Undo( W ) Xstruct Window *W; X{ X UndoGadget.GadgetText = &UndoText; X UndoGadget.Width = IntuiTextLength(&UndoText); X UndoGadget.LeftEdge = OKGadget.LeftEdge + BETWEEN + X IntuiTextLength(&OKText); X AddGadget( W, &UndoGadget, -1 ); X OnGadget( &UndoGadget, W, NULL ); X} SHAR_EOF echo "extracting main.c" sed 's/^X//' << \SHAR_EOF > main.c X/* X** Brian D. Moffet X** June 13, 1988 X** X** Placed in the Public domain. X** Please allow me to retain credit for this, and please X** distribute source with the binaries. X** X*/ X X#include <intuition/intuition.h> X#include <graphics/gfxbase.h> X#include <intuition/intuitionbase.h> X#include <intuition/screens.h> X X#include <stdio.h> X X/* X** Easier to type IB than IntuitionBase X*/ X X#define IB IntuitionBase X#define GB GfxBase X Xextern struct IntuitionBase *IntuitionBase; Xstruct GfxBase *GfxBase=NULL; X Xstruct Screen *S; Xint MaxBit; XUSHORT oldcolortable[32]; XUSHORT colortable[32]; X Xchar Version[]="Setcolor 1.1 PD"; Xchar Author[]="Brian Moffet sco!brianm"; X Xchar *Usage[] = { X "setcolor [-num]", X " -num: number of seconds to delay before attaching to the", X " active window.", X " Gadget Definitions:", X " B/W: make the palette a grey scale palette", X " Smear: blend from color 1 (letters in box) to color 2", X " Exchange: exchange color 1 and color 2", X " Copy: copy color 1 and color 2", X " OK: Set the palette with your new colors", X " Undo: reset colors from last OK or beginning", X NULL X}; X X/* X** setcolor [num] X** where num is the number of seconds befor program takes X** action and attaches itself to your window. X*/ X Xmain( argc, argv ) Xint argc; Xchar *argv[]; X{ X int i; X int del; X X if (!strcmp( argv[1], "-h")) X { X puts( Version ); X puts( Author ); X for (i = 0; Usage[i]; i++) X puts( Usage[i] ); X exit( 0 ); X } X X del = atoi( argv[1] ); X if( del <= 0 ) del = 0; X X IB = (struct IB *)OpenLibrary( "intuition.library", 0 ); X if( IB == NULL ) X { X fprintf( stderr, "Error Opening IB\n" ); X exit( 1 ); X } X GB = (struct GB *)OpenLibrary( "graphics.library", 0 ); X if( GB == NULL ) X { X CloseLibrary( IB ); X fprintf( stderr, "Error Opening GB\n" ); X exit( 2 ); X } X X/* X** Avoid the Delay( 0 ) bug X** Part of my background is to avoid system calls whenever X** Possible. I would have never found the Delay( 0 ) problem.. X*/ X X if( del ) Delay( del * 50 ); X X S = IB->ActiveScreen; X MaxBit = S->BitMap.Depth; X X for( i = 0; i < 32; i++ ) X oldcolortable[i] = colortable[i] = X GetRGB4( S->ViewPort.ColorMap, i ); X X Color_Window( S ); X X i = 32; X while( --i >= 0 ) X { X unsigned short color = oldcolortable[i]; X X SetRGB4( &S->ViewPort, i, (color>>8)&0x000f, X (color>>4)&0x000f, (color)&0x000f ); X } X X CloseLibrary( GB ); X CloseLibrary( IB ); X} X X/* X * Make a color palette into a gray-scale palette. X */ X Xmake_bw( r, g, b ) Xunsigned short *r, *g, *b; X{ X unsigned short v; X X if (*r == *g && *g == *b) X return; /* only shades of grey. */ X X v = (*r * 298 + *g * 588 + *b * 114) / 1000; X *r = v; X *g = v; X *b = v; X} X X/* X * get colors to go "smoothly" from color 1 to color 2 X */ X Xsmear( c, begin, end ) Xunsigned short *c; Xint begin, end; X{ X int d = (end - begin); X int rd, gd, bd; X unsigned short r, g, b; X int i; X X r = (c[begin] >> 8) & 0x0f; X g = (c[begin] >> 4) & 0x0f; X b = (c[begin] >> 0) & 0x0f; X X rd = ((c[end] >> 8) & 0x0f) - r; X gd = ((c[end] >> 4) & 0x0f) - g; X bd = ((c[end] >> 0) & 0x0f) - b; X X for (i = 0; i < d; i++) X { X int j = (i + begin); X X c[j] = ((r + (i * rd) / d) & 0x0f) << 8 X | ((g + (i * gd) / d) & 0x0f) << 4 X | ((b + (i * bd) / d) & 0x0f); X X } X} SHAR_EOF echo "extracting lmkfile" sed 's/^X//' << \SHAR_EOF > lmkfile XCFLAGS=-b0 -cw -v XOBJ=data.o color.o color2.o main.o gadgets.o X Xcolor: $(OBJ) X blink with setcolor.lnk X Xdata.o: data.c X lc $(CFLAGS) -abd data SHAR_EOF echo "extracting setcolor.lnk" sed 's/^X//' << \SHAR_EOF > setcolor.lnk XFROM LIB:c.o+color.o+color2.o+main.o+data.o+gadgets.o XTO setcolor XLIB +LIB:lc.lib+LIB:amiga.lib SHAR_EOF echo "extracting setcolor.uu" sed 's/^X//' << \SHAR_EOF > setcolor.uu X Xbegin 644 setcolor XM```#\P`````````0``````````\```69```!V@```!D```!-````4````.<`K XM``"(````(D````,```&@````:0```10````%````&@```#<````I```#Z0``W XM!9DD2"0`2?D`````1_D```'@<@`@/````)Q@`B;!4<C__"QX``0I3@(8*4\"+ XM($*L`APF;@$4<``B/```,`!.KO[.*6L`F`(42JL`K&<``'`@#Y"O``0&@```- XM`(`I0`'D80`!+B!K`*S1R-'((F@`$-/)T\D@`G(`$ADI20(HT(%2@$)G4H`"4 XM0/_^G\!5@$)W"``@`E.`U($?L@``(`!3@E'(__8?O``@(`!3@A^Q(``@`%'*K XM__@B3R\)8```>"EK`#H!Y'!_4H#1K`'D80``PD'K`%Q.KOZ`0>L`7$ZN_HPIJ XM0`(<+P`D0"`J`"1G$BQL!$`@0"(H```I00(43J[_@B(J`"!G&B0\```#[4ZN4 XM_^(I0`(D9PKEB"!`)V@`"`"D(&P"'"\(2&P!X"!H`"0I:``$`BA.N@!X3KH%7 XM.'``8`0@+P`$+P`@+`(,9P0@0$Z03KH4="QX``0B;`1`3J[^8DZZ`$Y*K`(<A XM9QHB+`(D9P1.KO_<+'@`!$ZN_WPB;`(<3J[^AB`?+FP"($YU<&1@M$/Z`!!PE XM`$ZN_=@I0`1`9^Q.=61O<RYL:6)R87)Y`$YU3G5(YP<P+B\`&"9O`!PL+P`@* XM+P=.NA*06$\D0"`*9@1P_V`V""H``P`#9Q!(>``"0J<O!TZZ#2!/[P`,+P8OW XM"R\J``1.N@\03^\`#"H`2JP!^&<$</]@`B`%3-\,X$YU``````````!P84Y5A XM_\1(YR<P)F\`7"1O`&!^`'P`>@!P`!M\`"#_^W(`*T'_]G3_*T+_\D'M_]`;^ XM0/_Q&T#__"M!_^0K0?_H*TC_S$H39T)P`!`3<AA=06LXL'L0"&;V3OL0!``CI XM8```(``@8```%@`K8```#``M8````GX!8`Y\`6`*>@%@!AM\``'__%*+8+H0+ XM$W(PL`%F!E*+&T'_^W`JL!-F$"!20^@`!"2)*U#_]E*+8`Y(;?_V+PM.N@HT+ XM4$_7P!`3<BZP`68F4HMP*K`39A`@4D/H``0DB2M0__)2BV`.2&W_\B\+3KH*= XM!E!/U\`0$W)LL`%F"AM\``'_\5*+8`AR:+`!9@)2BQ`;<@`2`!M`__!P,%U`Q XM:P`"5+)[``AF]$[[``0`8V```BH`<V```>@`6&```7X`>&```7@`<&```5X`_ XM;V```0P`=6```.(`9&````)*+?_Q9PP@4D/H``0DB2`08`H@4D/H``0DB2`09 XM*T#_[&P*<@%$K?_L*T'_Z$JM_^AG!'`M8`I*!F<$<"M@`G`@&T#_T'``$`8B8 XM+?_H@H!P`!`%@H!G"%*M_\Q2K?_D+RW_["\M_\Q.N@B64$\K0/_(("W_\DJ`E XM:@9R`2M!__(@+?_((BW_\I*`2.T``O_$;RX@;?_,(DC3P6`"$MA3@&3Z<``00 XM+?_[(BW_Q"!M_\Q@`A#`4X%D^B`M__(K0/_(T:W_Y$'M_]`K2/_,2@=G``%0* XM&WP`(/_[8``!1DHM__%G#"!20^@`!"2)(!!@"B!20^@`!"2)(!`K0/_L8`#_- XM8DHM__%G#"!20^@`!"2)(!!@"B!20^@`!"2)(!`K0/_L2BW__&<2(&W_S!#\' XM`#!R`2M!_^0K2/_,+P`O+?_,3KH'\%!/*T#_R&``_R@;?``P__L@+?_R2H!J0 XM!G`(*T#_\DHM__%G#"!20^@`!"2)(!!@"B!20^@`!"2)(!`K0/_L2BW__&<6? XM(&W_S!#\`#`0_`!X<@(K0?_D*TC_S"\`+RW_S$ZZ!\Q03RM`_\AP6+`M__!F5 XM`/Z^2&W_T$ZZ!FA83V``_K`@4D/H``0DB2)0*TG_S&8(0?H`W"M(_\P@;?_,% XM2AAF_%.(D>W_S"M(_^0@+?_R2H!K*K'`;R8K0/_D8"!P`2M`_^0@4D/H``0DS XMB2`0&T#_T$(M_]%@!G``8```C"`M_^0B+?_VLH!L"'0`*T+_]F`$D:W_]DH'\ XM9S93K?_D;1AP`"!M_\P0&"\`*TC_S"!M`!!.D%A/8.)3K?_V;4AP`!`M__LO& XM`"!M`!!.D%A/8.A3K?_V;1)P`!`M__LO`"!M`!!.D%A/8.A3K?_D;1AP`"!M# XM_\P0&"\`*TC_S"!M`!!.D%A/8.(@"TS?#.1.74YU``!.5?_V2.<!,"9O`!XD' XM;P`B*VT`$/_V'AI*!V<T<"6^`&8BL!)F!%**8!HO"TAM__8O"F$`^\Q/[P`,^ XM*T#_^F<$)$!@TG``$`<O`$Z36$]@QDS?#(!.74YU3E7_\$CG(3(F;P`L#*P`[ XM```@`Z9L``"&$!-R(+`!9PQR";`!9P9R"K`!9@12BV#H2A-G:"`L`Z;E@%*LM XM`Z9![`.NT<`D2'`BL!-F)E*+)(M*$V<*<"*P$V<$4HM@\DH39@Q(>``!3KH.4 XM>%A/8)Y"&V":)(M*$V<8$!-R(+`!9Q!R";`!9PIR"K`!9P12BV#D2A-F`F`&= XM0AM@`/]R2JP#IF8&(&P"'&`$0>P#KBE(`ZI*K`.F9GQ!^@$D0^P#;"+8(M@B8 XMV"+8,I`B;`(<(&D`)$AX`"@O*``$2&P#;$ZZ!'Y/[P`,0>P#;"(()#P```/N^ XM+&P$0$ZN_^(I0`(P*4`".'($*4$"-"E``D`I00(\Y8"3R2QX``0K0/_P3J[^= XMVB!M__`B0"-H``@`I'X`*T#_]&`J+&P$0$ZN_\HI0`(P3J[_Q"E``CA!^@"F4 XM(@@D/````^U.KO_B*4`"0'X$(`<`0(`!@:P"+"`'`$"``H&L`C0`K```@`,"$ XM/$JL`(!G!'``8`8@/```@``N`$*L`#0@!P!```$I0``P<`$I0`!6(`<`0``"Y XM*4``4G`"*4``>"`'`$``@"E``'1!^@KR*4@"$"\L`ZHO+`.F3KH`,D*73KH([ XM<$SM3(3_W$Y=3G5C;VXZ,3`O,3`O,S(P+S@P+P`J`````````````````$[YH XM`````````````````````````````````````'!A+PLF;P`(2JL`%&<,""L`7 XM`P`;9@1P`&`V+RP!W$ZZ!VY83R=```0G0``02H!F"G`,*4`$/'#_8!8G;`'<` XM`!1P\\&K`!AP`"=```PG0``()E].=0``````````````````3E7_[$CG+Q`N_ XM+P`T)F\`."@'<#'`JP`89P9P_V```G`(*P`'`!I6P$0`2(!(P"P`2JL`%&8`* XM`(0(*P`"`!MF>G``)T``#'+_OH%G``)"+PM.NO].6$]*@&<,".L`!0`;</]@' XM``(J".L``0`;2@9G#B`K`!0B`$2!)T$`#&`(("L`%"=```Q3JP`,;18@:P`$0 XM0^@``2=)``0@!Q"`<@`2`&`2(`=R`!(`+PLO`6$`_U)03R(`(`%@``'6""L`@ XM`@`;9UAP_[Z`9@9P`&```<(@!QM`__]*!F<B<@J^@68<<@(O`4AZ`;(O*P`<M XM*T'_\$ZZ]]1/[P`,*@!@&G(!+P%(;?__+RL`'"M!__!.NO>X3^\`#"H`?O]@+ XM``#@".L``0`;2@9G4G#_OH!G3%2K``QR"KZ!9B8@:P`$0^@``2=)``00O``-R XM(BL`#$J!:PHO"R\`80#^KE!/4JL`#"!K``1#Z``!)TD`!"`'$(`B*P`,2H%KL XM``$<?O\@*P`$D*L`$"M`__!G<@@K``8`&F=22'@``D*G+RL`'$ZZ!(!/[P`,J XM*T#_[$H&9SA3K?_L;3)"IR\M_^PO*P`<3KH$8$AX``%(;?_]+RL`'$ZZ`Y!/S XM[P`82JP!^&8*$"W__7(:L`%GR"\M__`O*P`0+RL`'$ZZ]MA/[P`,*@!@`GH`< XM</^Z@&8(".L`!0`;8`RZK?_P9P8(ZP`$`!M*!F<.(BL`%"0!1((G0@`,8!@(Q XM*P`"`!MG"'(`)T$`#&`((BL`%"=!``P@:P`0)T@`!+Z`9RY3JP`,;18@:P`$7 XM0^@``2=)``0@!Q"`<@`2`&`2(`=R`!(`+PLO`6$`_9!03R(`<##`JP`89P1P/ XM_V`,</^X@&8$<`!@`B`$3-\(]$Y=3G4-"@````!(YR`P)F\`$"1+2A)G)'``( XM$!)![`#9"#```0@`9PIR`!(`=""2@F`$<@`2`!2!4HI@V"`+3-\,!$YU````` XM``````!P84Y5__A(YP,P)F\`("1O`"0N+P`H($I*&&;\4XB1RBP(($M*&&;\% XM4XB1RR`((DO3P"M)__B\AV,"+`<@!B!*8`(2V%.`9/H@;?_X0C!H`"`+3-\,R XMP$Y=3G4@;P`$(F\`"!(8LAEF"$H!9O9P`$YU;@1P_TYU<`%.=2\+)F\`"'``V XM$!-![`#9"#```P@`9P12BV#L(`LF7TYU("\`""!O``1.5?_T(D]R"DZZ!A0&( XM00`P$L%*@&;P(`D0X;_)9OI"$)"/3EU.=0``("\`""!O``1.5?_T(D\B``)!; XM``<&00`P$L'FB&;P(`D0X;_)9OI"$)"/3EU.=0``,#$R,S0U-C<X.6%B8V1ER XM9B`O``@@;P`$0^\`!#(``D$`#Q+[$-SHB&;R(`DB#UB!$.&RB6;Z0A"0@4YUP XM(&\`!")(<@!P`"\"#!``*V<&#!``+68"4D@0&`0``#!M$@P```EN#"0!Y8'26 XM@M*!TH!@Y@P1`"UF`D2!)!\@"%.`(&\`"""!D(E.=4Y5_^A(YP$R+B\`-$J'$ XM;@9P_V```-)P"+Z`9`(N`"`'5H`N``)'__PD;0`((&T`"-''WZP`%$/L`!`F8 XM42M(__`K2?_T(`MG``"0($L@*P`$T<`K2/_L(FW_\+?)8Q`DBR5'``0L;?_T! XM+(IP`&!XM\EF&BQ3)(X@*P`$(@#2AR5!``0L;?_T+(IP`&!:M<AD")^L`!1P' XM_V!.M<AF+$J39PX@4[/(8PB?K``4</]@.-^K``1*DV<.L]-F"B`I``31JP`$P XM)I%P`&`>*TO_]"MM_^S_Z"938`#_;B!M__0@BD*2)4<`!'``3-],@$Y=3G4`! XM`````````'!A2.<',"XO`!@F;P`<+"\`("\'3KH%_%A/)$`@"F8$</]@'B\&8 XM+PLO*@`$3KH#7$_O``PJ`$JL`?AG!'#_8`(@!4S?#.!.=0``2.<!$"9O``Q^[ XM`!X;2H=G,E.L`$9M%B!L`#Y#Z``!*4D`/B`'$(!R`!(`8-P@!W(`$@!(;``ZA XM+P%.NOHF4$\B`&#&4ZP`1FT6(&P`/D/H``$I20`^<`H0@'(`$@!@$$AL`#I(A XM>``*3KKY^%!/(@`@`4S?"(!.=0``2.</$"XO`!@L+P`<*B\`("\'3KH%/%A/L XM)D`@"V8$</]@'B\%+P8O*P`$3KH"($_O``PH`$JL`?AG!'#_8`(@!$S?"/!.+ XM=0``````````<&%(YP,P+B\`%$J';@9P`&```*1P"+Z`9`(N`"`'5H`N``)'0 XM__Q%[``0)E(@"V=`("L`!+"';3*PAV8,(%,DB)^L`!0@"V!N("L`!)"'<@BP; XM@646($O1QR2()$@DDR5```2?K``4(`M@3"1+)E-@O"`'(BP`A-"!4X!.N@**B XM(BP`A$ZZ`F(L`%"&(`96@"P``D;__"\&3KH&"EA/)D`@"V<2+P8O"TZZ_5(N= XMAV$`_U103V`"<`!,WPS`3G4``````````'!A+P<N+P`(+P=.NO\R6$\N'TYUX XM``!(YP$@+B\`#%*L!#@@;`0T4Z@`#&T6(F@`!$7I``$A2@`$(`<2@'(`$@!@* XM$B`'<@`2`"\(+P%.NOB(4$\B`$S?!(!.=4Y5``!(YP`P)F\`$"1O`!1"K`0X7 XM*4L$-$AM`!`O"DAZ_YQ.NO6$+HM(>/__3KKX3B`L!#A,[0P`__A.74YU``!(' XMYP,0+B\`$$?L`!@@"V<T""L``@`;9B@(*P`!`!MG("`K``20JP`0+`!*AF<2[ XM+P8O*P`0+RL`'$ZZ\,9/[P`,)E-@R"\'3KH$6%A/3-\(P$YU``!(YS<0+B\`( XM'"9O`"`L+P`D2JP"$&<$3KH#@$*L`?@B!R0+)@8L;`1`3J[_T"H`</^Z@&8.G XM3J[_?"E``?AP!2E`!#P@!4S?".Q.=0``2.<_`"XO`!PL+P`@*B\`)$JL`A!G, XM!$ZZ`S1"K`'X(`53@"(')`8F`"QL!$!.KO^^*`!P_[B`9@Y.KO]\*4`!^'`62 XM*4`$/"`%#(`````"9Q8,@`````%G"$J`9A@@!F`4(`30AF`.(@=T`'8`+&P$. XM0$ZN_[Y,WP#\3G4``$CG-Q`N+P`<)F\`("PO`"1*K`(09P1.N@*X0JP!^"('+ XM)`LF!BQL!$!.KO_6*@!P_[J`9@Y.KO]\*4`!^'`%*4`$/"`%3-\([$YU```O\ XM!RXO``A*K`(09P1.N@)V(@<L;`1`3J[_W'``+A].=4CG,``D`"8!2$)(0\3!_ XMQL#`P=1#2$)"0M""3-\`#$YU2H!J```>1(!*@6H```Q$@6$``"!$@4YU80``^ XM&$2`1(%.=4J!:@``#$2!80``!D2`3G4O`DA!-`%F```B2$!(04A"-`!G```&+ XMA,$P`DA`-`"$P3`"2$(R`B0?3G4O`W80#$$`@&0```;AF5%##$$(`&0```;I3 XMF5E##$$@`&0```;EF55#2D%K```&XYE30S0`YJA(0D)"YJI(0X#!-@`P`C0#[ XM2$'$P9""9```"%-#T(%D_G(`,@-(0^>X2$#!028?)!].=4Y5_YY(YS,R?@`@M XM;`(H'BC__W!/OH!O`BX`(`=#[?^O8`(2V%.`9/I"-7BOD\DL>``$3J[^VB9`4 XM2JL`K&=,("L`K.6`)$`L*@`X2H9F!"PK`*!*AF<T(@9!^@"R)`AV"RQL!$!.J XMKO_0($=2AR`(&[P`"@BO(@9![?^O)`@F!RQL!$!.KO_0</]@3DJL!#!F$D/Z] XM`(9P`"QX``1.KOW8*4`$,$'M_Z\I2`"H2'@`/$AX`/IP`"\`+P!(;`#$2&P`Q XML$AL`)Q"ITZZ`0A/[P`@4X!G!'#_8`)P`$S?3,Q.74YU*BH@57-E<B!!8F]R_ XM="!297%U97-T960@*BH``$-/3E1)3E5%``!!0D]25``J*BH@0G)E86LZ(`!I= XM;G1U:71I;VXN;&EB<F%R>0```````````````````"\'+B\`"'``*4`!^$J'; XM:R*^K```;!P@!^>`0>P"+$JP"`!G#B`'YX!![`(LT<`@"&`(<`DI0`0\<``NI XM'TYU``````````!P84CG`0)P`"(\```P`"QX``1.KO[.+@`"AP``,`!*AV8$U XM<`!@($JL`A!G&"!L`A!.D$J`9@1P`&`,2'@`%$ZZ`'983R`'3-]`@$YU8;1.T XM=0``2.<P,BQL!#`@;P`8(F\`'"1O`"`F;P`D("\`*"(O`"PD+P`P)B\`-$ZN. XM_J1,WTP,3G4``$Y5__PO"R9O`!`@"V8$<`!@%B\+3KKW#B9`2&W__"\+3KKWV XMOB`M__PF;?_X3EU.=4CG!P`N+P`0("P``%.`+`!*1FLP(`9(P.>`0>P"+"HPA XM"`!*!6<:"`4``F84(`9(P.>`0>P"+"\P"`1.NOR,6$]31F#,+P=.NNNF6$],Z XMWP#@3G4``$CG."(L;`0P3.\'```83.\`'P`D3J[_9$S?1!Q.=0``2.<`,B9L/ XM!$0@"V<4)%,B2R`K``@L>``$3J[_+B9*8.B1R"E(!$@I2`1$3-],`$YU2.<!G XM,BXO`!1P#-Z`(`=R`"QX``1.KO\Z)D`@"V8$<`!@.B='``A%[`1$(&H`!"=(D XM``21R":(2I)F`B2+2JH`!&<&(FH`!"*+)4L`!$JL``1F!"E+``1!ZP`,(`A,< XMWTR`3G4``````````````````````^P````!````!0``"&X````"````"P``F XM``P````&`````````_(```/I```!VDY5_]Y(YS\0)F\`1G``,\````$$,\``" XM``$",_P!!````08S_`!D```!"'#_$\````$+$\````$*(_P```)H```!#"/\[ XM``,0#@```1"1R"/(```!%"/(```!&"/\````!````1PCRP```2`S_``/```!= XM,$AY```!`DZZ!HY83R/`````"&8&</]@``*`<`$B.0````3CH"/``````'H`/ XMNKD`````;```V"`%T(!!^0```$C1P#`00>L`+'(`,@#@@70/PH)V`#8`Z(/&` XM@G@`.`#(@B\$+P,O`2\%+P@[0/_B3KH&7$_O`!0@.0`````B`$J!:@)2@>*!\ XM(`4O00`<3KH%ZE*!(#P```$$3KH&4"(O`!PD`52"(@).N@70.T#_ZKJO`!QLX XM!'(V8`)R/R0Y`````&H"4H+B@E2"(#P```$$.T'_Z"("3KH%HE6`<@4T+?_J# XM2,(V+?_H2,,[0/_F2,`[0?_D2,$O`2\`+P,O`B\%80`!HD_O`!12A6``_R)(; XM>``32'@`*"!Y````""\H`#).N@5D2'@`$TAX`/H@>0````@O*``R3KH%2$AX: XM`#1(>`#Z('D````(+R@`,DZZ!3)(>``T2'@`*"!Y````""\H`#).N@4<2'@`& XM$TAX`"@@>0````@O*``R3KH%!BZY````"$ZZ!1I(>``*2'@`R$AX`!5(>``MB XM0J=A``-"3^\`4$AX``I(>`#(2'@`'TAX`"U(>``!80`#)DAX``I(>`#(2'@`8 XM*4AX`"U(>``"80`##D*Y`````&$``?I/[P`H('D````((&@`5G``$"@`#W(!P XMX:$O`4ZZ!,Q83R!Y````""\H`%9.N@2D6$\K0/_P2H!GS"!`+B@`%'P`/"@`7 XM&"MH`!S_]"\`3KH$3%A/(`=R(`1!``AKQ+"[$`AF]$[[$`8```!`8```0@``[ XM`"!@```J````"&```!@```(`8````B\Y````"$ZZ!')P`&`L+P9A``#F6$]@[ XM@B\Y`````$ZZ!&!83V``_W0O+?_T3KH$!&$``4!83V``_V),[0C\_\).74YUE XM3E4``$CG/P`N+P`@+"\`)"HO`"@H+P`L2'@``B!Y````""\H`#).N@/\+H<@9 XM>0````@O*``R3KH#L"`$T(94@"(M`!C2A52!+H$O`"\%+P8@>0````@O*``R7 XM3KH#L$*7('D````(+R@`,DZZ`[@NAR!Y````""\H`#).N@-L(`92@"(%4H$DM XM!M2$4H(F!=:M`!A2@RZ#+P(O`2\`('D````(+R@`,DZZ`V1,[0#\_^A.74YUQ XM3E7__"\'+B\`$"!Y````"#`H``QR-+!!;5IR:+Z!9U1R:;Z!9TYR=-*!OH%FE XM(#(H``Y(P4C`+P`O`2\H`#).N@-:3^\`#"/``````&`B,"@`#DC`,B@`#$C!R XM+P$O`"\H`#).N@,V3^\`#"/`````!&$```@N'TY=3G5.5?_R+P<@.0````#0Q XM@$'Y````2")(T\!R#\)1.T'_^B)(T\`R$>A)`D$`#SM!__S1P#`0X$@"0``/, XM.T#__B!Y````""MH`#[_]GX`2JW_]F=D<`,@;?_VL&@`$&9.,"@`)G)2L$%F^ XM`GX"<D>P068"?@%R0K!!9@)^`"`'T(`R-0CZPOP1$'``,`%R`"\!2'@/_R\!> XM+P!(>``"+P$O.0````@O"$ZZ`EQ/[P`@(&W_]BM0__9@EB`Y`````!/`````@ XM'B`Y````!!/`````'TAY````'DZZ`A0B/````022@$J!:@)2@>*!2'@`2R\!' XM2'D````>('D````(+R@`,DZZ`>0N+?_N3EU.=4Y5__A(YS\P+B\`,"PO`#0JJ XM+P`X*"\`/"`'<A9.N@'R0?D```"$(DC3P#*\``(B2-/`,WP/_P`&+T``("`'% XM<A1.N@'.0_D```#&)$G5P#5\``0`!"1)U<`U?``&``8D2=7`-7P``0`()$G57 XMP"5\```````*)$G5P!5\``$`#B]``"0@!W(L3KH!B$7Y`````"9*U\`B!C=!; XM``0F2M?`)`4W0@`&)DK7P"8$-T,`""9*U\`B+0`8-T$`"B9*U\`W?``%``PF' XM2M?`<@,W00`.)DK7P#=!`!`F2M?`(B\`)-/!)TD`$B)*T\"7RR-+`!8B2M/`A XM(B\`(-'!(T@`(B!*T<`A2P`:U<`@!^6`0?D```!$(DC3P"91$A-(@4C!-4$`1 XM)M'`(]````!<2'D```!03KH`L"(&DH`NA2\!2'D```!0('D````(+R@`,DZZO XM`(X@!W(L3KH`O$'Y`````-'`2'C__R\(+SD````(3KH`7"`'<BQ.N@"<0?D`. XM````T<!"ER\Y````""\(3KH`@$SM#/S_V$Y=3G4``$[Y````*$[Y```26$[Y& XM````'$[Y`````$[Y````E$[Y`````$[Y````3$[Y```#Q$[Y`````$[Y````T XM%$[Y````6$[Y````8$[Y````D$[Y`````$[Y````K$[Y````.$[Y```5I$[YQ XM````'$[Y`````$[Y````,$[Y```2.$[Y````>````^P````#````````!T8`I XM``=>```&[````"H````"```&S@``!K(```:.```&B```!G8```9P```&6```! XM!3@```4R```%$@``!0P```4&```%````!/H```3@```$@@``!$H```0T```$> XM$````]0```.R```#A@```W8```-F```#0@```S(```+J```"T@```FP```)0! XM```"0@```>X```'@```!R@```;0```&>```!B````2X```#J````H````)@`- XM``"`````$P````,```;$```&I```!=@```62```%;@```'0```!N````9@``Y XM`&````!6````4````$@````^````-````"X````F````'@```!8````0````8 XM`0````0```=2`````0````8```!<`````P````<```12````K@```)`````!@ XM````"```!;H````"````"0``!P0```<0`````P````T```;F```''```!S0`. XM```'````#@``!V0```<B```&_@``!SH```;R```&^```!T`````&````#P``` XM!U@```<6```'*```!RX```=,```'"@````````/R```#Z@```!D`````````_ XM`0`````@+4-U<G)E;G0@0V]L;W(M(``!``$````````````````,`````%)EB XM9"```$=R;B```$)L=2```````#(````X````/@$``@``````````````````Y XM```````#[`````0````"````3````$@```!$````*@````````/R```#ZP``: XM`$T```/R```#Z0```%!.5?_F2.<W$"XO`#H@>0````@K:``^__A*K?_X9U@@) XM;?_X,"@`)@Q``$)G,`Q``$=G&`Q``%)F-"!M__@@:``B0^@``BM)_^Q@(B!M: XM__@@:``B0^@``BM)__1@$"!M__@@:``B0^@``BM)__`@;?_X*U#_^&"B('D`T XM```(+R@`5DZZ`+!83R9`+"L`%"`+9P@O"TZZ`)A83W``(&W_[#`0X(#H@.&`1 XM<@`@;?_T,A#@@>B!Z8&`@7(`(&W_\#(0X('H@8"!*@`@!]"`0?D```!(T<!P( XM`#`0L(5G0"!Y`````-#\`"P@!>"(<@_`@20%Z(K$@2(%=@_"@R\!+P(O`"\'3 XM+PA.N@`T3^\`%"`'T(!!^0```$C1P"`%,(!P0+Q`9@#_5G`!3-\([$Y=3G5.7 XM^0```"A.^0```!1.^0```#AP80```^P````"`````@```'@````.`````P``( XM``<```#<```!$````,P````"````#0```2X```$T`````0````X```$Z````] XM`````_(```/I````YTY5_^I(YS<P)F\`/DAY```!U"\K``1.N@,Z4$]*@&9$) XM2'D````$3KH#/$AY````%4ZZ`S)03WX`(`?E@$'Y```!J")(T\!*D6<2(`?E( XM@-'`+Q!.N@,06$]2AV#<0J=.N@,B6$\O*P`$3KH#$EA/+`!*AFX"?`!"ITAY8 XM```!V$ZZ`NI03R/````$,$J`9AQ(>0```>I(>0```%Q.N@*\2'@``4ZZ`MY/6 XM[P`,0J=(>0```?Q.N@*V4$\CP`````!F)B\Y```$,$ZZ`LQ(>0```@Y(>0``T XM`%Q.N@*`2'@``DZZ`J)/[P`02H9G$"`&<C).N@*>+P!.N@*`6$\@>0``!#`CK XMZ``X`````'``('D`````$"@`O2/`````!'X`<""^@&P^(`?0@$'Y````"-'`% XM0_D```!(T\`O!R1Y`````"\J`#`O2``H+TD`+$ZZ`A)03R!O`"0P@"!O`"`PS XM@%*'8+PO.0````!.N@((6$]^(%.';40@!]"`0?D````(T<`Z$"!Y`````-#\X XM`"QP`#`%X(!R#\"!=``T!>B"Q(%V`#8%QH$O`R\"+P`O!R\(3KH!VD_O`!1@; XMN"\Y`````$ZZ`=8NN0``!#!.N@',3.T,[/_.3EU.=4Y5__Y(YR$P)F\`&B1O] XM`!XP$C(3LD!F"B!M`!`T$+1`9RK"_`$JP/P"3-*`(&T`$#`0P/P`<M*`(`$B2 XM/````^A.N@$V+@`VAS2',(=,WPR$3EU.=4Y5_]I(YS\0)F\`2BXO`$XL+P!2= XM*@::AR`'T(`R,P@`)`'@2@)"``\F`>A+`D,`#P)!``\@!M"`>``X,P@`.T'_S XMZB($X(%X#\*$>``X`I*$>``X,P@`*T'_^"($Z($[0O_N=`_"@G0`-`.2@G0`' XM-`1P#\2`<``P+?_JE(!"K?_F*T'_]"M"__`[0__L("W_YK"%;```AB('TH`K\ XM0?_BTH$O00`<(BW_^$ZZ`+PB!4ZZ`'1R`#(M_^[2@'`/PH#A@2`M__0O00`@Q XM(BW_YDZZ`)@B!4ZZ`%!R`#(M_^S2@'`/PH#I@20O`""$@2`M_^8B+?_P3KH`\ XM<B(%3KH`*G(`,BW_ZM*`<`_"@(2!("\`'#>""`!2K?_F8`#_=$S?"/Q.74YU= XM``!.^0``$EA.^0``#"1.^0``$'!.^0```,1.^0``#HQ.^0```%!.^0````!.' XM^0````!.^0``%2!.^0``$+!.^0```#A.^0``$CA.^0```#QP80```^P````'6 XM`````````TX```.0```#6@```WX```.$```#9@```U0````!`````0```W(`` XM```*````!@```;@```#,````N@```*X```"0````>@```#X````L````(@``3 XM``X````)````!P```8(```%X```!8@```3H```$P```!*````18```$,```!W XM!`````8````+````T@```)8```'"````_````,(```"&`````0````P```-X, XM`````@````T```.6```#;`````(````.```#B@```V`````````#\@```^H`Y XM``"(`````%-E=&-O;&]R(#$N,2`@4$0`0G)I86X@36]F9F5T('-C;R%B<FEAH XM;FT``'-E=&-O;&]R(%LM;G5M70`)+6YU;3H@;G5M8F5R(&]F('-E8V]N9',@H XM=&\@9&5L87D@8F5F;W)E(&%T=&%C:&EN9R!T;R!T:&4`"2`@("`@(&%C=&EV\ XM92!W:6YD;W<N`"!'861G970@1&5F:6YI=&EO;G,Z```)0B]7.B!M86ME('1H2 XM92!P86QE='1E(&$@9W)E>2!S8V%L92!P86QE='1E``E3;65A<CH@8FQE;F0@# XM9G)O;2!C;VQO<B`Q("AL971T97)S(&EN(&)O>"D@=&\@8V]L;W(@,@``"45XR XM8VAA;F=E.B!E>&-H86YG92!C;VQO<B`Q(&%N9"!C;VQO<B`R``E#;W!Y.B!C8 XM;W!Y(&-O;&]R(#$@86YD(&-O;&]R(#(`"4]+.B!3970@=&AE('!A;&5T=&4@% XM=VET:"!Y;W5R(&YE=R!C;VQO<G,`"55N9&\Z(')E<V5T(&-O;&]R<R!F<F]MI XM(&QA<W0@3TL@;W(@8F5G:6YN:6YG`````"X````^````>````(X```"D````V XMT````0@```$P```!4````7H`````+6@``&EN='5I=&EO;BYL:6)R87)Y`$5RH XM<F]R($]P96YI;F<@24(*`&=R87!H:6-S+FQI8G)A<GD``$5R<F]R($]P96YI1 XM;F<@1T(*`````^P````*````!@```<P```'(```!Q````<````&\```!N```9 XM`;0```&P```!K````:@````````#\@```^L````B```#\D```^H````#____C XM____________```#\@```^D```&@3E7_\DCG-S`F;P`R,"L`)@1```%M``.F& XM#$``!FP``Y[E0$[[``)@```68```T&```7A@``(F8``"5&```O!^`'`!(CD`H XM```$XZ"^@&P``VX@!]"`0?D```!((DC3P#(1X$D"00`/.T'__B)(T\`R$>A)` XM`D$`#SM!__S1P#`0`D``#SM`__I(;?_Z2&W__$AM__Y.N@723^\`#"`'T(!!0 XM^0```$C1P#`M__X"0``/X4`R+?_\`D$`#^E!@$$R+?_Z`D$`#X!!,(`O.0``X XM``A.N@6B<@`R+?_^=``T+?_\=@`V+?_Z+H,O`B\!+P<O`$ZZ!7Q/[P`44H=@R XM`/]&(#D````$(CD`````LH!O%"\!+P!(>0```$A.N@4\3^\`#&`2+P`O`4AY_ XM````2$ZZ!2A/[P`,?`!P`2(Y````!..@O(!L``)Z(`;0@$'Y````2")(T\`RA XM$>!)*@$"10`/(DC3P#(1Z$D"00`/T<`P$`)```\O.0````@[0/_V.T'_^$ZZ[ XM!/)R`#(%=``T+?_X=@`V+?_V+H,O`B\!+P8O`$ZZ!,Y/[P`44H9@C"`Y````X XM`-"`0?D```!((DC3P'(`,A$B2-/`(#D````$T(`D2-7`,I+1P#"!0JW_^"M!' XM__QP`2(Y````!..@(BW_^+*`;``!SM*!0?D```!((DC3P3`1X$@"0``/(DC3+ XMP301Z$H"0@`/T<$R$`)!``\O.0````@[0/_V.T'_\CM"__1.N@1&<@`R+?_V& XM=``T+?_T=@`V+?_R+H,O`B\!+RW_^"\`3KH$'D_O`!12K?_X8()"K?_\<`$BW XM.0````3CH"(M__RR@&P``4S2@4'Y````"-'!0_D```!(T\$PD5*M__Q@TB`YZ XM````!-"`0?D```!((DC3P"`Y`````-"`T<`RD$*M__QP`2(Y````!..@(BW_: XM_+*`;```_-*!0?D```!((DC3P3`1X$@"0``/(DC3P301Z$H"0@`/T<$R$`)!" XM``\O.0````@[0/_Z.T'_]CM"__A.N@-T<@`R+?_Z=``T+?_X=@`V+?_V+H,O; XM`B\!+RW__"\`3KH#3$_O`!12K?_\8()"K?_\<`$B.0````3CH"(M__RR@&QZ< XMTH%!^0```$@B2-/!1?D````(U<$RDB)(T\$P$>!(`D``#R)(T\$T$>A*`D(`D XM#]'!,A`"00`/+SD````(.T#_^CM!__8[0O_X3KH"YG(`,BW_^G0`-"W_^'8`Z XM-BW_]BZ#+P(O`2\M__PO`$ZZ`KY/[P`44JW__&``_W9,WPSL3EU.=2\+)F\`Y XM""\+80``)BZ+80``9"Z+80``RBZ+80`!,"Z+80`!EBZ+80`!_%A/)E].=2\+G XM)F\`"$'Y````!"/(````,B\(3KH"5C/`````($AX__](>0```!@O"TZZ`CI"Y XMER\+2'D````83KH"2D_O`!@F7TYU3E7__"\+)F\`$$'Y````2B/(````>"\(W XM3KH"#C/`````9C`Y````'$C`2'D````$+T``#$ZZ`?(B+P`,TH!:@3/!````W XM8DAX__](>0```%XO"TZZ`<Y"ER\+2'D```!>3KH!WB9M__A.74YU3E7__"\+Y XM)F\`$$'Y````E"/(````PB\(3KH!HC/`````L#`Y````8DC`2'D```!*+T``R XM#$ZZ`88B+P`,TH!:@3/!````K$AX__](>0```*@O"TZZ`6)"ER\+2'D```"H- XM3KH!<B9M__A.74YU3E7__"\+)F\`$$'Y````VB/(```!""\(3KH!-C/`````A XM]C`Y````K$C`2'D```"4+T``#$ZZ`1HB+P`,TH!:@3/!````\DAX__](>0``U XM`.XO"TZZ`/9"ER\+2'D```#N3KH!!B9M__A.74YU3E7__"\+)F\`$$'Y```!G XM'B/(```!3"\(3KH`RC/````!.C`Y````\DC`2'D```#:+T``#$ZZ`*XB+P`,9 XMTH!:@3/!```!-DAX__](>0```3(O"TZZ`(I"ER\+2'D```$R3KH`FB9M__A.7 XM74YU3E7__"\+)F\`$$'Y```!9"/(```!DB\(3KH`7C/````!@#`Y```!-DC`S XM2'D```$>+T``#$ZZ`$(B+P`,TH!:@3/!```!?$AX__](>0```7@O"TZZ`!Y"Z XMER\+2'D```%X3KH`+B9M__A.74YU3OD```(H3OD`````3OD```"03OD```'4D XM3OD````X3OD```!\3OD````P<&$```/L````"P````(```*@```!J@```00`8 XM``*.```!Q````/X```-Z```"[````AH```%R````R@````(````%```&5@``Z XM!F@````3````!P```U````)V```#1@```L8```*6```"?@```?0```&R```!E XM2@```28```$2````H````%8```,T```"L@```F(```'@```!.````$0````M4 XM````"@``!D0```8T```&*@``!A0```8,```&!@``!?H```7T```%V```!<@`8 XM``6^```%J```!:````6:```%C@``!8@```5L```%7```!5(```4\```%-```W XM!2X```4B```%'```!0````3P```$Y@``!-````3(```$P@``!+8```2P```$V XME```!(0```1Z```$9```!%P```16```$2@``!$0```0H```$&```!`X```0"R XM```#_`````$````.```&;@````0````/```&>@``!EP```9B```&=```````9 XM``/R```#Z@```&E"+U<``0`"``````````````````````````````K_]P``6 XM``@`"0`!``$````````````````````````````!`````%-M96%R``$``@``/ XM`````````````$0````````````>__<````(``D``0`!````````````````K XM`````````````@````!%>&-H86YG90```0`"````````````````B@``````R XM`````![_]P````@`"0`!``$````````````````````````````#`````$-O< XM<'D```$``@```````````````-0````````````>__<````(``D``0`!````G XM````````````````````````!0````!/2P```0`"```````````````!&@``] XM`````````![_]P````@`"0`!``$````````````````````````````$````K XM`%5N9&\```$``@```````````````5X````````````>__<````(``D``0`!? XM````````````````````````````!@````````/L````!@````H```%P```!W XM*@```.8```"@````5@```!`````````#\@```^H```!X````*```````````8 XM````````````````````.@``````````````````````````````````````Z XM`````%P`````````````````````````````````````````````````````< XM`````````````````````````````````````(`````$`/__````#@`.````> XM````$_P`````__\````$``0``````````````(C__P````0`!````````!08/ XM`````/__````!``$````````%"(``````"`@("`@("`@("@H*"@H("`@("`@D XM("`@("`@("`@("`@2!`0$!`0$!`0$!`0$!`0$(2$A(2$A(2$A(00$!`0$!`00 XM@8&!@8&!`0$!`0$!`0$!`0$!`0$!`0$!`0$0$!`0$!""@H*"@H("`@("`@("4 XM`@("`@("`@("`@("`A`0$!`@("`@("`@("`@*"@H*"@@("`@("`@("`@("`@" XM("`@("!($!`0$!`0$!`0$!`0$!`0A(2$A(2$A(2$A!`0$!`0$!"!@8&!@8$!W XM`0$!`0$!`0$!`0$!`0$!`0$!`1`0$!`0$(*"@H*"@@("`@("`@("`@("`@("; XM`@("`@("$!`0$"````````(````#[`````,`````````T````+P```"4````` XM`P````L```"L````.@```!@````````#\@```^D````%+PXL>0``!$`B+P`(Q XM3J[_.BQ?3G4```/L`````0````L````$`````````_`````"7T1E;&%Y````% XM`````````````_(```/I````&B\.+'D```(8("\`"$ZN_L(L7TYU+PXL>0``Z XM`A@@;P`(3J[^C"Q?3G4O#BQY```"&")O``A.KOZ&+%].=2\.+'D```(8(F\`U XM"$ZN_F(L7TYU+PXL>0```A@B;P`(("\`#$ZN_=@L7TYU```#[`````4````+` XM````5````$`````L````&`````0````````#\`````-?3W!E;DQI8G)A<GD`8 XM``!0````!%]#;&]S94QI8G)A<GD````````\`````U]297!L>4US9P``````/ XM`"@````"7T=E=$US9P`````4`````E]786ET``````````````````/R```#2 XMZ0```#<O#BQY`````")O``A,[P`#``Q.KO\0+%].=0``+PXL>0`````B;P`(Y XM3.\``P`,3J[_"BQ?3G4``$CG,`(L>0`````@;P`03.\`#P`43J[^X$S?0`Q._ XM=0``2.<P`BQY`````")O`!!,[P`/`!1.KO[.3-]`#$YU```O#BQY`````")OO XM``A,[P`#``Q.KO["+%].=0``+PXL>0`````B;P`(("\`#$ZN_JHL7TYU+PXL- XM>0`````B;P`(("\`#$ZN_IXL7TYU+PXL>0`````@;P`(("\`#$ZN_;HL7TYUH XM```#[`````@````&````R````+````"8````?````%X````^````(`````0`) XM```````#\`````)?1V5T4D="-````,0````"7U-E=$1R360```"L`````E]3; XM971!4&5N````E`````-?4F5A9%!I>&5L``````!X`````U]296-T1FEL;```@ XM`````%@````"7U-E=%)'0C0````X`````E]$<F%W````````'`````)?36]V* XM90`````````````````#\@```^D````I+PXL>0``!#!,[P,```@@+P`03J[_E XMUBQ?3G4``"\.+'D```0P(&\`"$ZN_[@L7TYU2.<`(BQY```$,$SO!P``#$ZN& XM_T9,WT0`3G4``"\.+'D```0P(&\`"$ZN_S0L7TYU+PXL>0``!#!,[P,```A,) XM[P`#`!!.KO\H+%].=2\.+'D```0P(&\`"$ZN_M0L7TYU+PXL>0``!#`@;P`(I XM3J[^MBQ?3G4```/L````!P````L```"4````@````&0```!0````-@```"``= XM```$`````````_`````$7TEN='5I5&5X=$QE;F=T:````)`````$7U9I97=0( XM;W)T061D<F5S<P```'P````#7U!R:6YT251E>'0`````8`````-?3W!E;E=I( XM;F1O=P````!,`````U]/;D=A9&=E=````````#`````#7T-L;W-E5VEN9&]WO X@````'`````-?061D1V%D9V5T`````````````````_(#+ X`` Xend Xsize 14792 SHAR_EOF echo "End of archive 1 (of 1)" # if you want to concatenate archives, remove anything after this line exit