3 }\ @sddlmZmZmZmZddlmZdZddZddZ d d Z d d Z d dZ ee e e e gZ GdddeZGdddeZdS))pilogsinsqrt)o8g|=cCsR||kr"|tkrdSd||Sn,||}d|}|tkr>dSdd||SdS)Ngg?g?)EPSILON)middleposr l/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-install-i584jbuk/Pillow/PIL/GimpGradientFile.pylinearsr cCs|tdtt|tS)Ng?)rmaxr)r r r r r curved+srcCs$tt dtt||ddS)Ng@g?)rrr )r r r r r sine/srcCstdt||ddS)Ng?)rr )r r r r r sphere_increasing3srcCsdtdt||dS)Ng?r)rr )r r r r r sphere_decreasing7src@seZdZdZdddZdS) GradientFileNcCszg}d}|j|\}}}}}} xJt|D]<} | t|d} x*|| krj|d7}|j|\}}}}}} qBW||} | tkr| dd} n| ||| | || } ttd|d|d| |dd}ttd|d|d| |dd}ttd|d|d| |dd}ttd|d|d| |dd}|j||||q*Wdj|dfS) Nrrg?rZRGBA)gradientrangefloatrrintappendjoin)selfentriesZpaletteixx0x1xmrgb0rgb1segmentixwZscalergbar r r getpaletteBs$  ,,,,zGradientFile.getpalette)r)__name__ __module__ __qualname__rr/r r r r r>src@seZdZddZdS)GimpGradientFilecCs|jdddkrtd|j}|jdr:|jj}t|}g}xt|D]}|jj}dd|ddD}|d|d }} |d } |d d } |d d} tt|d} t|d }|dkrtd|j || | | | | fqPW||_ dS)N s GIMP Gradientznot a GIMP gradient filesName: cSsg|] }t|qSr )r).0r)r r r {sz-GimpGradientFile.__init__.. rrrr zcannot handle HSV colour space) readline SyntaxError startswithstriprrsplitSEGMENTSIOErrorrr)rfplinecountrr(sr*r"r#r$r%r&r'Zcspacer r r __init__is(      zGimpGradientFile.__init__N)r0r1r2rEr r r r r3gsr3N)mathrrrr_binaryrrr rrrrr?objectrr3r r r r s )