)EjTddlmZddlZddlmZdZerddlmZGddZdS)) annotationsN)BytesIOF)IOcHeZdZdZdZddd Zdd ZeddZddZ dS)GimpPaletteFilez'File handler for GIMP's palette format.RGBTfp IO[bytes]limitboolreturnNonecJ|dsd}t|g}d} |r|dkrn|dz }|}|sntjd|r<|r$t |dkrd }t||d t d krd }t||fd td Dz }|rt |dkrnt||_ dS)Ns GIMP Paletteznot a GIMP palette filerTis\w+:|#dzbad palette file)maxsplitzbad palette entryc3BK|]}t|VdSN)int).0ivs EC:\PYTHON\MyICR_Suite\python\Lib\site-packages\PIL/GimpPaletteFile.py z(GimpPaletteFile._read..;s-44aAaD 444444i) readline startswith SyntaxErrorrematchlensplit ValueErrorrangebytespalette)selfr r msgr'rsrs @r_readzGimpPaletteFile._readsD{{}}''88 #+Cc"" "   g FA A x A&&  'Q#(!#&&&##A1vvzz) oo% 4444588444 4G W,,/ 2W~~ rc0||dSr)r+)r(r s r__init__zGimpPaletteFile.__init__As 2rdatar&cv||}|t|d|S)NF)__new__r+r)clsr.r(s r frombyteszGimpPaletteFile.frombytesDs2{{3 74==%((( rtuple[bytes, str]c|j|jfSr)r'rawmode)r(s r getpalettezGimpPaletteFile.getpaletteJs|T\))rN)T)r r r r r r)r r r r)r.r&r r)r r3) __name__ __module__ __qualname____doc__r5r+r- classmethodr2r6rrrrs11G & & & & &D[ ******rr) __future__rr ior TYPE_CHECKINGtypingrrr<rrrAs #"""""  1*1*1*1*1*1*1*1*1*1*r