MZ@ !L!This program cannot be run in DOS mode. $6߫XXXKX(VXT\XYXCRXC\XRichXPELv:! 0P[<@J@Ad@.text-0 `.rdataP @@@@.data P0P@.reloc@BdAVt$D$W=hAL$PQRhkVD$׃t:D$L$PQlAT$PBP@pA _A^pAtAL$T$ QRhkV׃t^D$ hkP@t3T$L$QVBP@V @pA_A^pAË xAR|A_3^ÐQL$ D$PhkQD$ hA t?T$L$VWRQD$PR@D$ PVhk`AV,@_^Y3YÐQ dAVt$D$W=hAPQhkV׃tT$RlAPD$HQ@ItAT$RhkV׃ tVD$hkP@t,L$VQR@V @pA _A^pAYáxAQ|A_3^YÐD$h0pPhAt9T$VL$ WBQP@L$QVhk`AV,@_^3ÐQ dAVt$D$W=hAPQhkV׃tT$RlAPD$HQ@ItAT$RhkV׃ tVD$hkP@t,L$VQR@V @pA _A^pAYáxAQ|A_3^YÐD$h0pPhAt9T$VL$ WBQP@L$QVhk`AV,@_^3ÐQ dAVt$D$W=hAPQhkV׃tT$RlAPD$HQ@ItAT$RhkV׃ tVD$hkP@t,L$VQR@V @pA _A^pAYáxAQ|A_3^YÐD$L$T$PD$QRhkPhAuËD$ L$QPHT$ыH L$RPʋPQR@pAApAÐD$L$T$PQD$RT$$L$PQhlRhAuËT$S\$VBWS\$D$rJ ދzS\$L$ SPBQP@pA_A^pA[ÐDAD$L$ SUVt$,W=hAPQRhdlV׃u<tA AD$ L$0PQRhdlV׃D$0PHAD$0L$0QLA|$T$0PAjRӋ-TAVՃ hteVՃjVӃ-XAPՋjVӃzPՃlOP|$L$T$;D$St$,l$$PD$4PӋtgWTAjWӃ PXAjWӃPXAMhL$,l$$\$ FSD$VN ڋL$S\$4~‹VUPQR@D$0L$4l$<@\$;l$D$pPAyOGth$lhpP\A_^]3[ËL$0jQӃ-XAPՃPD$0jPT$ӃPՃHD$L$;lj|$t$,T$0WRӃPՃhD$0Gl$,WPӃPXAtsx\$ FS؋VD$N SL$݋^UPQNQ@D$4T$D|$,|$0;T$|$}PA-XAChltApA_^][ApAÐSUVt$(D$W=hAL$ PDAT$0QRPhhlVD$,׃uAtAL$T$ Q AD$0RPQhhlV׃6T$,RHAD$,D$,PLA3L$,PAVQPTA jU@3D$|$ЉT$D$,WPӋtlVTA%jVӃPXAjVӃPXAL$W|$@AL$G;|$L$f́yIAthph$lR\A_^]3[jU@3D$t$FPD$0PӃtKPXAt=HƉT$,PRFӃt&PXAt@GD$@;ʼnD$}3룋 hphlQ\AD$t P,@_^]3[Ët$tAD$|$(|WPUVR@D$$L$ ;tGQUVP@V,@pA_A^pA][ÐD$ L$PT$ QD$RL$PD$,T$QRhplPD$,hA uSUVW|$(W wT$D$t$,L$_o;‰D$L$T$t$,~؋‹ӉD$T$;~ً΋L$t$,\$|&SVRQOPQ|@\$4t$DT$(L$,D$0l$ ;tUVRWQPR@pA_^][ApAÐDAD$L$Vt$W=hAPQRhdlV׃u<tA AD$L$PQRhdlV׃D$PHAD$L$SQAjS@ D$t$~BU T$ Tj mh hiRhRPOQu͋t$]L$ PQSVR@V,@pA[A_pA^_3^ÐD$ L$T$PQD$ RT$$L$$PQhlRhAuSUVW|$$W wT$D$(t$L$_o;‰D$(L$T$t$~؋‹ӉD$(T$;~ً΋L$t$\$SVRQPGP|@pA_A^pA][Ð@SUVD$ WL$PT$$QD$dRL$dPT$,QD$,RT$tL$HPD$tQhl3RPD$@|$H,HHHGGGGGGGGrG\GBRG4@BfI AAI@AJ@I~ItIIIIIIIII~DDpDDDDDDDE E6EJEdE~EEEE2DLDZDF$FH,HHHGGGGGGGGrG\GNgdImageJpegPgdImageJpegPtrSgdImagePngUgdImagePngPtrKgdImageGifLgdImageGifPtrEgdImageGd[gdImageSetPixelQgdImageLineWgdImagePolygonCgdImageFilledPolygonXgdImageRectangleDgdImageFilledRectangle_gdImageArcBgdImageFillToBorderAgdImageFillYgdImageSetBrush\gdImageSetStyleIgdImageGetPixel gdImageBoundsSafe!gdImageChar"gdImageCharUp_gdImageStringcgdImageStringUp$gdImageColorAllocate%gdImageColorClosest(gdImageColorExact'gdImageColorDeallocate*gdImageColorTransparent,gdImageCopy/gdImageCopyResizedMgdImageInterlaceagdImageStringTTFbgdImageStringTTFMX^gdImageSetTransform#gdImageClearTransformJgdImageGetTransform>gdImageCreateFromXbm1gdImageCreateFromGd7gdImageCreateFromGif;gdImageCreateFromPng9gdImageCreateFromJpeg0gdImageCreate@gdImageDestroykgdPilFontCreatelgdPilFontDestroyjgdPilDrawStringmgdPilStringBBoxgdFontGiantgdFontLargegdFontMediumBoldgdFontSmallgdFontTinylibgd.dllHPyErr_SetFromErrnojPyExc_IOError<PyErr_Clear0_Py_NoneStructPyFile_AsFilePyArg_ParseTuplePyFile_TypePy_BuildValueOPyErr_SetStringPyNumber_IntFPyObject_Size`PySequence_GetItemkPySequence_SizePyList_AsTuplePyList_TypePyTuple_TypePyTuple_SizePyArg_ParseTupleAndKeywordsPyNumber_FloatPyExc_ValueError:PyObject_InitPy_FindMethodPy_FatalErrorDPyErr_Occurred5PyDict_SetItemStringyPyString_FromStringPyModule_GetDictPy_InitModule4PyType_Typepython20.dllLfcloseWfopen^free@callocstrrchrmallocXfprintf_iobMSVCRT.dll_initterm_adjust_fdiv]DisableThreadLibraryCallsKERNEL32.dllv:BJ8J )gdPilFontfontstrsize(font, string) return a tuple containing the size in pixels of the given string in the given fontfontstrsizeimage(image[,(w,h)] | file | file,type | (w,h)) create GD image from file.(gd|png|gif|jpg|xbm), file,type (gd|png|gif|jpg|xbm), the existing image, optionally resized to width w and height h or blank with width w and height himagestringTTF(text,font,pos=(0,0),fg=0,size=10,trans=0,render=1,flipXY=0) draw text at pos at using TT font at size pts colour=fg, trans=(degrees or vector matrix). --> bounding rectangle render=0 dont actually draw. flipXY&1==>flip Y, flipXY&2 ==> flip X.stringTTFgetOrigin() returns the origin parameters ((x,y),xmult,ymult)getOriginorigin((x,y)[,xmult,ymult]) set the origin of the image to (x,y) and multiply all x, y, width and height factors by xmult and ymult (typically either 1 or -1)origininterlace() set the interlace bitinterlacecopyResizedTocopyTo(image[, (dx,dy)[, (sx,sy)[, (dw,dh)[, (sw,sh)]]]]) copy from (sx,sy), width sw and height sh to destination image (dx,dy), width dw and height dhcopyResizedTocopyTo(image[, (dx,dy)[, (sx,sy)[, (w,h)]]]) copy from (sx,sy), width sw and height sh to destination image (dx,dy)copyTocolorTransparent(color) set the transparent color to colorcolorTransparentcolorDeallocate(color) deallocate color from the image palettecolorDeallocategetTransparent() returns transparent color index or -1getTransparentgetInterlaced() returns true if the image is interlacedgetInterlacedcolorComponents(color) returns a 3-tulple of the (r,g,b) components of colorcolorComponentscolorsTotal() returns the number of colors currently allocatedcolorsTotalcolorExact((r,g,b)) return an exact color index match for (r,g,b) (returns -1 if unable to)colorExactcolorClosest((r,g,b)) return the color index closest to (r,g,b) (returns -1 if unable to)colorClosestcolorAllocate((r,g,b)) allocate a color index to (r,g,b) (returns -1 if unable to)colorAllocatestringUp(font, (x,y), s, color) vertically draw string s at (x,y) using one of the pre-defined gdmodule fonts (gdFont*)stringUpstring(font, (x,y), s, color) draw string s at (x,y) using one of the pre-defined gdmodule fonts (gdFont*)stringcharUp(font, (x,y), c, color) vertically draw string c at (x,y) using one of the pre-defined gdmodule fonts (gdFont*)charUpchar(font, (x,y), c, color) draw string c at (x,y) using one of the pre-defined gdmodule fonts (gdFont*)charsize() return the 2-tuple size of imagesizeboundsSafe((x,y)) returns true if (x,y) is within imageboundsSafegetPixel((x,y)) color index of image at (x,y)getPixelsetStyle(tuple) set the line bit-style to tuple of colors (use gdStyled when drawing)setStylesetTile(image) set the fill tile to (use gdTiled when filling)setTilesetBrush(image) set the drawing brush to (use gdBrushed when drawing)setBrushfill((x,y), color) flood from point (x,y) in color for those pixels with the same color as the starting pointfillfillToBorder((x,y), border, color) flood from point (x,y) to border color in colorfillToBorderarc(center=(x,y), size=(w,h), start, end, color, fill=-1, mode=gdARC) draw an ellipse centered at (x,y) with width w, height h from start degrees to end degrees in color.arcfilledRectangle((x1,y1), (x2,y2), color) draw a rectangle with upper corner (x1,y1), lower corner (x2,y2) in colorfilledRectanglefilledPolygon(((x1,y1), (x2,y2), ..., (xn, yn)), color) draw a filled polygon using the list or tuple of points (minimum 3) in colorfilledPolygonrectangle((x1,y1), (x2,y2), color[, fillcolor]) draw a rectangle with upper corner (x1,y1), lower corner (x2,y2) in color, optionally filled with fillcolorrectanglepolygon(((x1,y1), (x2,y2), ..., (xn, yn)), color[, fillcolor]) draw a polygon using the list or tuple of points (minimum 3) in color, optionally filled with fillcolorpolygonlines(((x1,y1), (x2,y2), ..., (xn, yn)), color) draw a line along the sequence of points in the list or tuple using colorlinesline((x1,y1), (x2,y2), color) draw a line from (x1,y1) to (x2,y2) in colorlinesetPixel((x,y), color) set the pixel at (x,y) to colorsetPixelwriteGd(f) write the image to f as a GD file, where f is either an open file object or a file name.writeGdgetGifBytes() get the image bytes in GIF format.getGifByteswriteGif(f) write the image to f as a GIF, where f is either an open file object or a file name.writeGifgetPNGBytes() get the image bytes in PNG format.getPNGByteswritePNG(f) write the image to f as a PNG, where f is either an open file object or a file name.writePNGgetJPGBytes(quality=-1) get the image bytes in JPEG format. Quality<0 default or 0-100getJPGByteswriteJPG(f,quality=-1) write the image to f as a JPEG, where f is either an open file object or a file name. Quality<0 default or 0-100writeJPGgetTransform() Get the 6vec 2D affine transformation for the image or None.getTransformsetTransform([a,b,c,d,e,f]) Set the 6vec 2D affine transformation for the image. A None transformation sets the IDENTITY transformation.setTransformgetDotWidth() Get the dot width for the image.getDotWidthsetDotWidth(w) Set the dot width for the image.setDotWidthGD module is an interface to the GD library written by Thomas Bouttel. 'It allows your code to quickly draw images complete with lines, arcs, text, multiple colors, cut and paste from other images, and flood fills, and write out the result as a .PNG, .GIF or .JPG file. This is particularly useful in World Wide Web applications, where these are the formats used for inline images.' It has been extended in some ways from the original GD library.wbz|iO!|is#|izO!(ii)i(ii)(ii)ibad points elementpoints should either contain 2sequences or be of even lengthO!iO!i|i(ii)(ii)i|ipos & size should be 2sequencesmodecolorendstartposOOiii|ii(ii)iiz|zi(ii)i(ii)iii(ii)si(iii)O!|(ii)(ii)(ii)O!|(ii)(ii)(ii)(ii)O!|(ii)(ii)(ii)|ii((ii)ii)(iiiiiiii)bad trans valuebad size valuebad pos valueflipXYrendertransfgfonttextss|OiOOiibad transformation valueO(dddddd)xbmgdgifpngjpgrbneed an extension to determine file type .(gd|png|gif|jpg|xbm)s|sdimensions cannot be 0O!|(ii)image size or source filename required<%dx%d image object at 0x%x>Font value not validisssource font filename required (a '.pil' file)Couldn't get arguments in gdPilFont_drawString O!iisi((ii)(ii))can't initialize module gdgdCHORDgdWEDGEgdPIEgdARCgdTransparentgdTiledgdDashSizegdStyledBrushedgdStyledgdMaxColorsgdBrushed__doc__errorgd.errorgdFontGiantgdFontLargegdFontMediumBoldgdFontSmallgdFontTiny|00!0C0U0Z0i0s0000000000 11;1H1N1W1s111111111111 22252<2X2e2k2t2222222222333-343=3U3\3x33333333334442494>4M4T4]44444455i5n5}555555556%606i666!7y7777778888999&9A9K9W9o9~9999999&:I:m:::::;8;];b;i;{;;;;;;;<%<<<<<==!=1=7=G=`=s=~=====1>8>>>>?0?8?@?H?P?X?`?j????? d0000001#1b1g1t1111112292C2H222222233O3T3c3333333333+42474F4`4g444444455 5&5Q5X5555555)64696F6q6x6666677H7S7X7e7777777788"8G8N8v8|8888888899/959J9Q9l9q9~9999993:8:?:::::;;@;r;w;;;;3>C>P>e>>>>>>?)?^?s???0 00K0Q0u0|0000000011%12171>1U1\1r1~111111112,2B2G2P2^2t2y222343V3l3q33333333 44?4w44445,5d5w5555k6u666666677 7:7M7S7k7q777777777788;8B8q8v8}88888888 9/9H9N9d9j9p9t9}999999999999999999999: ::::#:):/:5:=:C:I:Q:Y:e:s:::::::::::;;; ;-;5;>;F;P;X;b;m;w;;;;;;;;;;;;;<<<<'<<