o w[e@s4dZddlmZdgZd%ddZgZddZeedd Zeed d Z ee d d Z ee ddZ ee ddZ ee ddZ ee ddZeeddZeeddZeeddZeeddZeeddZeed d!Zd"d#Zed$kredSdS)&z|W|r=|SSq)W|rF|dS|rO|ww)Nrb ) isinstancestrropenreadtellseektestsclose)filehflocationtfresr/usr/lib/python3.10/imghdr.pyr s&      cCs|dddvr dSdS)z JPEG data in JFIF or Exif format )sJFIFsExifjpegNrrrrrr test_jpeg%rcC|drdSdS)NsPNG  png startswithrrrrtest_png, r cC|dddvr dSdS)zGIF ('87 and '89 variants)Nr)sGIF87asGIF89agifrrrrrtest_gif2rr$cCr")z-TIFF (can be in Motorola or Intel byte order)N)sMMsIItiffrrrrr test_tiff9rr'cC|drdSdS)zSGI image librarysrgbNrrrrrtest_rgb@ r*cCHt|dkr|dtdkr|ddvr |ddvr"dSd Sd Sd Sd S) zPBM (portable bitmap)rPs14r% pbmNlenordrrrrtest_pbmG ( r5cCr,) zPGM (portable graymap)r-rr.r/s25r%r0pgmNr2rrrrtest_pgmOr6r8cCr,) zPPM (portable pixmap)r-rr.r/s36r%r0ppmNr2rrrrtest_ppmWr6r:cCr()zSun raster filesYjrastNrrrrr test_rast_r+r<cCr()zX bitmap (X10 or X11)s#define xbmNrrrrrtest_xbmfr+r>cCr)NsBMbmprrrrrtest_bmpmr!r@cCs&|dr|dddkrdSdSdS)NsRIFF sWEBPwebprrrrr test_webpssrDcCr)Nsv/1exrrrrrrtest_exryr!rFcCsddl}d}|jddr|jddkr|jdd=d}z|jddr2t|jdd|dWdStdg|dWdStyP|jd|dYdSw)Nrr/z-rr%.z [Interrupted] )sysargvtestallKeyboardInterruptstderrwriteexit)rH recursiverrrtests   rPc Csddl}ddl}|D]W}|j|r?t|ddd|s|r:tdddl}||j||d}t||dq tdq t|ddd|j ztt |Wq t yatd Yq wdS) Nrz/: )endzrecursing down:*z*** directory (use -r) ***:z*** not found ***) rHospathisdirprintglobjoinescaperJstdoutflushrOSError)listrOtoplevelrHrUfilenamerYnamesrrrrJs&     rJ__main__)N)__doc__rUr__all__rr rappendr r$r'r*r5r8r:r<r>r@rDrFrPrJ__name__rrrrsH