Files
serveur-d-authentification/venv/lib/python3.10/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-310.pyc

575 lines
58 KiB
Plaintext
Raw Normal View History

o
<00>Q<EFBFBD>jQO<00>@s<> ddlmZddlZddlZddlZddlZddlZddlZddlZddl m
Z
m Z ddl m Z ddlmZmZddlmZmZmZddlmZmZmZmZmZmZdd lmZdd
lmZ dd lm!Z!dd l"m#Z#m$Z$dd lm%Z%dZ&e&r<>ddl m'Z'ddlm(Z(ddl)m*Z*m+Z+m,Z,e<04>-e.<2E>Z/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>dZ?d Z@d!ZAd"ZBd#ZCd$ZDd%ZEd&ZFd'ZGd(ZHd)ZId*ZJd+ZKd,ZLd-ZMd.ZNd/ZOd0ZPd1ZQd2ZRd3ZSd4ZTd5ZUd6ZVd7ZWd8ZXd9ZYd:ZZd;Z[d<Z\d=Z]idd><3E>d?d@<40>dAdB<64>dCdD<64>dEdF<64>dGdH<64>dIdJ<64>dKdL<64>dMdN<64>dOdP<64>dQdR<64>dSdT<64>dUdV<64>dWdX<64>dYdZ<64>d[d\<5C>d]d^<5E>Z^d_d`<60>e^<5E>_<EFBFBD>D<00>Z`ie3ddaddadbfdc<64>e4ddaddadbfdc<64>e3ddad?dadbfdd<64>e4ddad?dadbfdd<64>e3ddaddadbfde<64>e4ddaddadbfde<64>e3ddad?dadbfdf<64>e4ddad?dadbfdf<64>e3ddaddgdbfdh<64>e4ddaddgdbfdh<64>e3ddad?dgdbfdi<64>e4ddad?dgdbfdi<64>e3ddaddgdbfdj<64>e4ddaddgdbfdj<64>e3ddad?dgdbfdk<64>e4ddad?dgdbfdk<64>e3ddaddldbfdm<64>ie4ddaddldbfdm<64>e3ddad?dldbfdn<64>e4ddad?dldbfdn<64>e3ddaddldbfdo<64>e4ddaddldbfdo<64>e3ddad?dldbfdp<64>e4ddad?dldbfdp<64>e3ddaddqdbfdr<64>e4ddaddqdbfdr<64>e3ddad?dqdbfds<64>e4ddad?dqdbfds<64>e3ddaddqdbfdt<64>e4ddaddqdbfdt<64>e3ddgddqdbfdt<64>e4ddgddqdbfdt<64>e3ddad?dqdbfdu<64>e4ddad?dqdbfdu<64><01>ie3ddaddvdbfdw<64>e3ddaddxdbfdy<64>e3ddaddxdbfdy<64>e4ddaddxdbfdz<64>e3ddad?dxdbfd{<7B>e3ddgddxdbfd|<7C>e4ddgddxdbfd}<7D>e3dd~dddbfd<><64>e4dd~dddbfd<><64>e3ddadddbfd<><64>e3ddgdddbfd<><64>e4ddgdddbfd<><64>e3dd~dddbfd<><64>e4dd~dddbfd<><64>e3ddadd<>dgfd<><64>e4ddadd<>dgfd<><64>e3d?dadd<>dbfd<><64><01>ie4d?dadd<>dbfd<><64>e3d?dad?d<>dbfd<><64>e4d?dad?d<>dbfd<><64>e3d?dadd<>dbfd<><64>e4d?dadd<>dbfd<><64>e3d?dadd<>d<EFBFBD>fd<><64>e4d?dadd<>d<EFBFBD>fd<><64>e3d?dadd<>d<EFBFBD>fd<><64>e4d?dadd<>d<EFBFBD>fd<><64>e3d?dadd<>d<EFBFBD>fd<><64>e4d?dadd<>d<EFBFBD>fd<><64>e3d?dadd<>dafd<><64>e4d?dadd<>dafd<><64>e3d?dadd<>d<EFBFBD>fd<><64>e4d?dadd<>d<EFBFBD>fd<><64>e3d?dadd<>d<EFBFBD>fd<><64>e4d?dadd<>d<EFBFBD>fd<><64><01>ie3d?dadd<>dgfd<><64>e4d?dadd<>dgfd<><64>e3d?dadd<>d<EFBFBD>fd<><64>e4d?dadd<>d<EFBFBD>fd<><64>e3d?dadd<>d<EFBFBD>fd<><64>e4d?dadd<>d<EFBFBD>fd<><64>e3d?dadd<>d<EFBFBD>fd<><64>e4d?dadd<>d<EFBFBD>fd<><64>e3d?dadd<>dbfd<><64>e4d?dadd<>dbfd<><64>e3d?dadd<>dbfd<><64>e4d?dadd<>dbfd<><64>e3d?dadd<>d<EFBFBD>fd<><64>e4d?dadd<>d<EFBFBD>fd<><64>e3d?dadd<>dafd<><64>e4d?dadd<>dafd<><64>e3d?dadd<>dgfd<><64><01>ie4d?dadd<>dgfd<><64>e3dAdaddadbfd<><64>e4dAdaddadbfd<><64>e3dAdad?dadbfd<><64>e4dAdad?dadbfd<><64>e3dAdaddgdbfd<><64>e4dAdaddgdbfd<><64>e3dAdad?dgdbfd<><64>e4dAdad?dgdbfd<><64>e3dAdaddldbfd<><64>e4dAdaddldbfd<><64>e3dAdad?dldbfd<><64>e4dAdad?dldbfd<><64>e3dAdaddqdbfd<><64>e4dAdaddqdbfd<><64>e3dAdadd<>d<EFBFBD>fd<><64>e4dAdadd<>d<EFBFBD>fd<><64><01>ie3dAdadd<>dgfd<><64>e4dAdadd<>dgfd<><64>e3dAdad?dqdbfd<><64>e4dAdad?dqdbfd<><64>e3dEdadd<>dbfd<><64>e4dEdadd<>dbfd<><64>e3dEdadd<>d<EFBFBD>fd<><64>e4dEdadd<>d<EFBFBD>fd<><64>e3dEdadd<>d<EFBFBD>fd<><64>e4dEdadd<>d<EFBFBD>fd<><64>e3dEdadd<>dbfd<><64>e4dEdadd<>dbfd<><64>e3dGdaddqdbfdt<64>e4dGdaddqdbfdt<64>e3dGdadd<>dbfd<><64>e4dGdadd<>dbfd<><64>e3dKdadd<>dbfd<><64><01>e4dKdadd<>dbfd<>i<01>Zaebd<62>d<EFBFBD><64>eaD<00><01>Zcgd<><64>Zd<5A>d
d<EFBFBD>d<EFBFBD><EFBFBD>Ze<5A>d d<>dDŽZf<5A>d d<>d˄ZgiZhiZi<5A>d d<>dЄZjGd<>dȄd<>e<10>Zke
d<EFBFBD>elemgefZn<5A>dd<>dׄZo<5A>dd<>dڄZp<5A>dd<>d߄Zqe&<26>r<>e erefZsne ZsGd<>d҄d<>es<65>Ztehet_heiet_ie%<25>_<EFBFBD>D]#\ZuZvev<65>wd<77>d<EFBFBD><64>Zvexetd<74>ev<65><00>eheud<00>exetd<74>ev<65><00>eieu<00><00>q<>[h[i[u[vGd<>d<EFBFBD><64>d<>et<65>ZyeyZzGd<>d<EFBFBD><64>d<>ej<18>Z{id<>d<EFBFBD>e3dddadf<06>d<>d<EFBFBD>e3dddqdf<06>d<>d<EFBFBD>e3ddd<>d?f<06>d<>d<EFBFBD>e3dAddqdf<06>d<>d<EFBFBD>e3dAdd<>d?f<06>d<>d<EFBFBD>e3dd?ddf<06>d<>d<EFBFBD>e3dddxdf<06>d<>d<EFBFBD>e3dddxdf<06>d<>d<EFBFBD>e3ddAddf<06>d<>d<EFBFBD>e3d?dd<>df<06>d<>d<EFBFBD>e3d?dd<>df<06>d<>d<EFBFBD>e3d?dd<>d?f<06>d<>d<EFBFBD>e3dEdd<>df<06>d<>d<EFBFBD>e3dGdd<>df<06>d<>d<EFBFBD>e3dKdd<>df<06>d<>d<EFBFBD>e4dddxdf<06>Z|<7C>d<11>d<01>d<02>Z}G<00>d<03>d<04><00>dej~<7E>Z<5A>d<11>d<05>d<06>Z<>e<17><>e{j<>e{ee<65>e<17><>e{j<>e}<7D>e<17><>e{j<>e<EFBFBD><65>e<17><>e{j<><6A>d<07>dg<02>e<17><>e{j<><6A>d <09>dS(<00>)<01> annotationsN)<02>Callable<6C>MutableMapping)<01>Fraction)<02>Number<65>Rational)<03>IO<49>Any<6E>cast<73>)<06>ExifTags<67>Image<67> ImageFile<6C>ImageOps<70> ImagePalette<74>TiffTags)<01>i16be)<01>i32be<62><01>o8)<02> DeferredError<6F>is_path<74><01>TYPESF)<01>Iterator)<01>NoReturn)<03>Buffer<65> IntegralLike<6B>StrOrBytesPath<74>sIIsMM<4D><4D><00>iiiii
i<00>iiiiiii(i-i1i2i;i=i@iBiC<00>DiEiJiRiSi[iii<><69>i<><69>iI<69>is<69>ii<69>i<>ii<><69>i<><69><00>raw<61><00>
tiff_ccitt<EFBFBD><00>group3<70><00>group4<70><00>tiff_lzw<7A><00> tiff_jpeg<65><00>jpeg<65><00>tiff_adobe_deflatei<03><00> tiff_raw_16i<05><00>packbitsi)<29><00>tiff_thunderscani<6E><69><00> tiff_deflateit<69><00> tiff_sgilogiu<69><00> tiff_sgilog24im<69><00>lzmaiP<69><00>zstdiQ<69><00>webpcCsi|]\}}||<01>qS<00>r<)<03>.0<EFBFBD>k<>vr<r<<00>v/home/sorel/systeme_gestion_cerfig/serveur-d-authentification/venv/lib/python3.10/site-packages/PIL/TiffImagePlugin.py<70>
<dictcomp><3E>srA<00>r r<)<02>1z1;I)rCz1;IR)rCrC)rCz1;R)r%)<02>LzL;2I)rDzL;2IR)rDzL;2)rDzL;2R)r))rDzL;4I)rDzL;4IR)rDzL;4)rDzL;4R)r1)rDzL;I)rDzL;IR)rDrD)rDzL;R)<01> )<02>I;16zI;12)<01>)rFrF)<02>I;16BrH)rFzI;16R)<02>IzI;16S)rIzI;16BS)r')<01> )<02>F<>F;32F)rKzF;32BF)rIzI;32N)rI<00>I;32S)rIzI;32BS)r1r1)<02>LArN)r1r1r1)<02>RGBrO)rOzRGB;R)r1r1r1r1)<02>RGBArP<00>r)rO<00>RGBX)r1r1r1r1r1<00>rr)rO<00>RGBXX)r1r1r1r1r1r1)rrr)rO<00>RGBXXX)rP<00>RGBa)r r)rP<00>RGBaX)r rr)rP<00>RGBaXX)r%r)rP<00>RGBAX)r%rr)rP<00>RGBAXX)i<>)rGrGrG)rOzRGB;16L)rOzRGB;16B)rGrGrGrG)rPzRGBA;16L)rPzRGBA;16B)rOzRGBX;16L)rOzRGBX;16B)rPzRGBa;16L)rPzRGBa;16B)<02>PzP;1)r[zP;1R)r[zP;2)r[zP;2R)r[zP;4)r[zP;4R)r[r[)r[<00>PX)<02>PAr])r[zP;R)<02>CMYKr^)r^<00>CMYKX)r^<00>CMYKXX)r^zCMYK;16L)r^zCMYK;16B)<02>LABraccs<00>|] }t|d<00>VqdS)r)N)<01>len)r=<00>key_tpr<r<r@<00> <genexpr><00><02>rd)sMM*sII*sMM*sII*sMM+sII+<00>prefix<69>bytes<65>return<72>boolcCs|<00>tt<02><01>S<00>N)<03>
startswith<EFBFBD>tuple<6C>PREFIXES<45>rfr<r<r@<00>_accept"<00>ro<00>val<61>float | Fraction | IFDRational<61>max_val<61>int<6E>!tuple[IntegralLike, IntegralLike]cCs<t|<00>dk}t|r d|n|<00><01>|<01>}|r|ddd<02>S|S)Nr <00><><EFBFBD><EFBFBD><EFBFBD>)<03>abs<62> IFDRational<61>limit_rational)rqrs<00>inv<6E>n_dr<r<r@<00>_limit_rational&s r|rx<00>min_valcCspt|<00>}|j|jf}tdd<02>|D<00><01>|krt|t|<02><01>}tdd<02>|D<00><01>}t|<05>|kr6t|d|d|<01>}|S)Ncs<01><00>|]}t|<01>VqdSrj<00><01>float<61>r=<00>ir<r<r@rd4<00><02>z)_limit_signed_rational.<locals>.<genexpr>csr~rjrr<>r<r<r@rd7r<>rr )r<00> numerator<6F> denominator<6F>minr|rwrl<00>max)rqrsr}<00>fracr{<00> n_d_floatr<r<r@<00>_limit_signed_rational.s  r<><00>op<6F>strr csd <09>fdd<08> }|S)
N<EFBFBD>selfrx<00>args<67>tuple[float, ...]rh<00>bool | float | Fractioncst|j<01><00>|<01>Srj)<02>getattr<74>_val<61>r<>r<><00>r<>r<r@<00>delegateFsz_delegate.<locals>.delegate)r<>rxr<>r<>rhr<>r<)r<>r<>r<r<>r@<00> _delegateEsr<>c@sdeZdZdZ dZ dAdBd
d <0B>ZedCd d<0E><04>ZedDdd<10><04>ZdEdd<14>Z dFdd<17>Z
dDdd<19>Z dGdd<1E>Z dHd d!<21>Z dId#d$<24>Z ed%<25>Zed&<26>Zed'<27>Zed(<28>Zed)<29>Zed*<2A>Zed+<2B>Zed,<2C>Zed-<2D>Zed.<2E>Zed/<2F>Zed0<64>Zed1<64>Zed2<64>Zed3<64>Zed4<64>Zed5<64>Z ed6<64>Z!ed7<64>Z"ed8<64>Z#ed9<64>Z$ed:<3A>Z%ed;<3B>Z&ed<<3C>Z'ed=<3D>Z(ed><3E>Z)e*e+d?<3F>r<>ed?<3F>Z,d@Sd@S)Jrxz<>Implements a rational class where 0/0 is a legal value to match
the in the wild use of exif rationals.
e.g., DigitalZoomRatio - 0.00/0.00 indicates that no digital zoom was used
)<03>
_numerator<EFBFBD> _denominatorr<72>r <00>valuerrr<>rtrh<00>NonecCs<>|t|t<01>r|j|_|j|_|j|_dSt|t<07>r#|j|_|j|_ntr,t t
|<01>|_n||_||_|dkr=t d<03>|_dS|dkrHt|<01>|_dSt |<01>|krXtt |<01>|<02>|_dSt||<00>|_dS)z<>
:param value: either an integer numerator, a
float/rational/other number, or an IFDRational
:param denominator: Optional integer denominator
Nr<00>nanr ) <0A>
isinstancerxr<>r<>r<>r<>r<>r<00> TYPE_CHECKINGr
rr<>rt)r<>r<>r<>r<r<r@<00>__init__\s(


 zIFDRational.__init__rcC<01>|jSrj)r<><00>r<>r<r<r@r<>~<00>zIFDRational.numeratorcCr<>rj)r<>r<>r<r<r@r<><00>r<>zIFDRational.denominator<6F>max_denominator<6F>tuple[IntegralLike, int]cCs>|jdkr |j|jfSt|jt<04>sJ<00>|j<03>|<01>}|j|jfS)z<>
:param max_denominator: Integer, the maximum denominator value
:returns: Tuple of (numerator, denominator)
r)r<>r<>r<>r<>r<00>limit_denominator)r<>r<><00>fr<r<r@ry<00>s
   zIFDRational.limit_rationalr<6C>cCstt|j<02><01>Srj)r<>r<>r<>r<>r<r<r@<00>__repr__<5F>rpzIFDRational.__repr__cCs
|j<00><01>Srj)r<><00>__hash__r<5F>r<r<r@r<><00><00>
zIFDRational.__hash__<5F>other<65>objectricCs0|j}t|t<02>r |j}t|t<03>rt|<02>}||kSrj)r<>r<>rxr<>)r<>r<>rqr<r<r@<00>__eq__<5F>s 

zIFDRational.__eq__<5F>%list[float | Fraction | IntegralLike]cCs|j|j|jgSrj)r<>r<>r<>r<>r<r<r@<00> __getstate__<5F><00>zIFDRational.__getstate__<5F>statecCs^t<00>|d<01>|\}}}t|ttf<02>sJ<00>||_tr tt|<03>|_ n||_ t|t
<EFBFBD>s*J<00>||_ dS<00>Nr) rxr<>r<>r<>rr<>r<>r
rr<>rtr<>)r<>r<>r<>r<>r<>r<r<r@<00> __setstate__<5F>s 

zIFDRational.__setstate__<5F>__add__<5F>__radd__<5F>__sub__<5F>__rsub__<5F>__mul__<5F>__rmul__<5F> __truediv__<5F> __rtruediv__<5F> __floordiv__<5F> __rfloordiv__<5F>__mod__<5F>__rmod__<5F>__pow__<5F>__rpow__<5F>__pos__<5F>__neg__<5F>__abs__<5F> __trunc__<5F>__lt__<5F>__gt__<5F>__le__<5F>__ge__<5F>__bool__<5F>__ceil__<5F> __floor__<5F> __round__<5F>__int__NrB)r<>rrr<>rtrhr<>)rhr<00>rhrt)r<>rtrhr<><00>rhr<>)r<>r<>rhri)rhr<>)r<>r<>rhr<>)-<2D>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F> __slots__r<5F><00>propertyr<79>r<>ryr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>hasattrrr<>r<r<r<r@rxNs\ <0C>"  





 
 <04><>ImageFileDirectory_v2<76>idx<64>size<7A>$Callable[[_LoaderFunc], _LoaderFunc]csd<06><00>fdd<05> }|S)N<>func<6E> _LoaderFuncrhcsBddlm}|j<02>d<03>r|jdd<00><00>dd<06>|<01><<00>|ft<05><|S)Nr r<00>load_r+<00>_<> )rrr<>rk<00>replace<63>_load_dispatch)r<>r<00>r<>r<>r<r@<00> decorator<6F>s
  z#_register_loader.<locals>.decorator)r<>r<>rhr<>r<)r<>r<>r<>r<r<>r@<00>_register_loader<65>sr<><00>2Callable[[Callable[..., Any]], Callable[..., Any]]csd<06>fdd<05> }|S)Nr<4E><00>Callable[..., Any]rhcs |t<00><|Srj)<01>_write_dispatch)r<><00>r<>r<r@r<><00>sz#_register_writer.<locals>.decorator)r<>r<>rhr<>r<)r<>r<>r<r<>r@<00>_register_writer<65>sr<><00> idx_fmt_name<6D>tuple[int, str, str]r<>csbddlm}|\}<02>}|||<t<02>d<03><00><00><02><01> dd<12><00>fd d<0E> }<04>|ft|<<00>fdd<10>t|<dS)Nr r<00>=Tr<54>r<><00>datarg<00>
legacy_apirirh<00>tuple[Any, ...]cs|<00>t|<01><01><00><00><00><00>|<01>Srj)<02>_unpackrb<00>r<>r<>r<><00><02>fmtr<74>r<r@<00> basic_handler<65>sz&_register_basic.<locals>.basic_handlercsd<01><00><01>fdd<03>|D<00><01>S)N<>c3s<00>|] }<01><01><00>|<01>VqdSrj)<01>_pack<63>r=r<>)r<>r<>r<r@rd<00>rez4_register_basic.<locals>.<lambda>.<locals>.<genexpr><3E><01>join<69>r<><00>values)r<>r<>r@<00><lambda><3E>sz!_register_basic.<locals>.<lambda><3E>T)r<>r<>r<>rgr<>rirhr<>)rr<00>struct<63>calcsizer<65>r<>)r<>rr<><00>namer<65>r<r<>r@<00>_register_basic<69>s 
<12> rc@sReZdZUdZiZded<iZded<   d}d~dd<11>Zedd<13><00>Z edd<13><00>Z
eddd<17><04>Z e j d<>dd<17><04>Z d<>dd<1C>Z d<>dd<1F>Zd<>d!d"<22>Zd<>d$d%<25>Zd<>d(d)<29>Zd<>d+d,<2C>Zd<>d-d.<2E>Zd<>d0d1<64>Zd<>d2d3<64>Zd<>d5d6<64>Zd<>d:d;<3B>Zd<>d=d><3E>Zeeeejd?d@fejdAdBfejdCdDfej dEdFfej!dGdHfej"dIdJfej#dKdLfej$dAdBfej%dMdNfg <09><02>e&dOdO<64>d<>d<EFBFBD>dQdR<64><05>Z'e(dO<64>d<>dTdU<64><04>Z)e&dVdO<64>d<>d<EFBFBD>dWdX<64><05>Z*e(dV<64>d<>dZd[<5B><04>Z+e&d\d]<5D> Pd<50>d<EFBFBD>d_d`<60><05>Z,e(d\<5C>d<>dbdc<64><04>Z-e&dddO<64>d<>d<EFBFBD>dedf<64><05>Z.e(dd<64>d<>dgdh<64><04>Z/e&did]<5D> Pd<50>d<EFBFBD>djdk<64><05>Z0e(di<64>d<>dldm<64><04>Z1d<31>dqdr<64>Z2d<32>dsdt<64>Z3d<33>dudv<64>Z4d<34>d<EFBFBD>dydz<64>Z5d<35>d{d|<7C>Z6dS)<29>r<EFBFBD>aThis class represents a TIFF tag directory. To speed things up, we
don't decode tags unless they're asked for.
Exposes a dictionary interface of the tags in the directory::
ifd = ImageFileDirectory_v2()
ifd[key] = 'Some Data'
ifd.tagtype[key] = TiffTags.ASCII
print(ifd[key])
'Some Data'
Individual values are returned as the strings or numbers, sequences are
returned as tuples of the values.
The tiff metadata type of each item is stored in a dictionary of
tag types in
:attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v2.tagtype`. The types
are read from a tiff file, guessed from the type added, or added
manually.
Data Structures:
* ``self.tagtype = {}``
* Key: numerical TIFF tag number
* Value: integer corresponding to the data type from
:py:data:`.TiffTags.TYPES`
.. versionadded:: 3.0.0
'Internal' data structures:
* ``self._tags_v2 = {}``
* Key: numerical TIFF tag number
* Value: decoded data, as tuple for multiple values
* ``self._tagdata = {}``
* Key: numerical TIFF tag number
* Value: undecoded byte string from file
* ``self._tags_v1 = {}``
* Key: numerical TIFF tag number
* Value: decoded data in the v1 format
Tags will be found in the private attributes ``self._tagdata``, and in
``self._tags_v2`` once decoded.
``self.legacy_api`` is a value for internal use, and shouldn't be changed
from outside code. In cooperation with
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`, if ``legacy_api``
is true, then decoded tags will be populated into both ``_tags_v1`` and
``_tags_v2``. ``_tags_v2`` will be used if this IFD is used in the TIFF
save routine. Tags should be read from ``_tags_v1`` if
``legacy_api == true``.
z"dict[int, tuple[int, _LoaderFunc]]r<>zdict[int, Callable[..., Any]]r<><00>II*N<>ifhrgrf<00> bytes | None<6E>group<75>
int | Nonerhr<>cCs<>t|<01>sdt|<01><01>d<02>}t|<04><01>|dur|n|dd<04>|_|jtkr&d|_n|jtkr/d|_nd}t|<04><01>|ddk|_||_i|_ |<00>
<EFBFBD>|jrV|<00> d |d
d<03><00>d n |<00> d |d d<03><00>d |_ d|_ dS)a<>Initialize an ImageFileDirectory.
To construct an ImageFileDirectory from a real file, pass the 8-byte
magic header to the constructor. To only set the endianness, pass it
as the 'prefix' keyword argument.
:param ifh: One of the accepted magic headers (cf. PREFIXES); also sets
endianness.
:param prefix: Override the endianness of the file.
znot a TIFF file (header z not valid)Nr%<00>><3E><znot a TIFF IFD<46>+<00>Qr1rrDr)F)ro<00>repr<70> SyntaxError<6F>_prefix<69>MM<4D>_endian<61>II<49>_bigtiffr<00>tagtype<70>resetr<74><00>next<78> _legacy_api)r<>rrfr<00>msgr<r<r@r<>Gs(

<1A><04>
zImageFileDirectory_v2.__init__cCr<>rj)r r<>r<r<r@r<>n<00>zImageFileDirectory_v2.<lambda>cCr<>rj)<01>_offsetr<74>r<r<r@r<>orricCr<>rj)rr<>r<r<r@r<>qr<>z ImageFileDirectory_v2.legacy_apir<69>rcCs d}t|<02><01>)Nz"Not allowing setting of legacy api)<01> Exception)r<>r<>rr<r<r@r<>uscCs(i|_i|_i|_i|_d|_d|_dSrj)<06>_tags_v1<76>_tags_v2<76>_tagdatar<00>_nextrr<>r<r<r@rzs 
zImageFileDirectory_v2.resetr<74>cCs tt|<00><01>Srj)r<><00>dictr<74>r<r<r@<00>__str__<5F><00> zImageFileDirectory_v2.__str__<5F>dict[str, Any]cs<00>fdd<02><08><00><00>D<00>S)z<>
:returns: dict of name|key: value
Returns the complete tag dictionary, with named tags where possible.
cs"i|] \}}t<00>|<01>j<02>j|<02>qSr<)r<00>lookuprr<>)r=<00>coder<65>r<>r<r@rA<00>s<10><06>z/ImageFileDirectory_v2.named.<locals>.<dictcomp>)<01>itemsr<73>r<r<>r@<00>named<65>s
<06>zImageFileDirectory_v2.namedrtcC<01>tt|j<02>t|j<03>B<00>Srj)rb<00>setrrr<>r<r<r@<00>__len__<5F><00>zImageFileDirectory_v2.__len__<5F>tagr cCsf||jvr|j|}|j|}|j|\}}||||j<04>||<|j|}|jr1t|ttf<02>s1|f}|Srj)rrrr<>r<>r<>rlrg)r<>r)r<><00>typr<70><00>handlerrqr<r<r@<00> __getitem__<5F>s



z!ImageFileDirectory_v2.__getitem__r<5F>cC<01>||jvp ||jvSrj)rr<00>r<>r)r<r<r@<00> __contains__<5F><00>z"ImageFileDirectory_v2.__contains__cCs|<00>|||j<01>dSrj)<02>_setitemr<6D>)r<>r)r<>r<r<r@<00> __setitem__<5F>r0z!ImageFileDirectory_v2.__setitem__r<5F>c
stttf}t<03>||j<05><02>t||<04>r|gn|}||jvr<><72>jr%<25>j|j|<n<>tj |j|<t
dd<02>|D<00><01>rS|D]}t|t <0B>s?J<00>|dkrKtj |j|<nq6tj |j|<n<>t
dd<02>|D<00><01>r<>d}d}d} |D]/}t|t<0E>smJ<00>|r|d|krydks|nd}|r<>d|kr<>d ks<>nd}| r<>|dkr<>d} qd|r<>tj|j|<nH|r<>tj|j|<n?| r<>tj|j|<n6tj|j|<n/t
d
d<02>|D<00><01>r<>tj|j|<nt
d d<02>|D<00><01>r<>tj|j|<nt
d d<02>|D<00><01>r<>tj|j|<|j|tj kr<>d d<0E>|D<00>}n|j|tj k<02>rdd<0E>|D<00>}|j|tjk<02>ot|t<16>}
|
<EFBFBD>s!t<17>fdd<02>|D<00><01>}|<03>r'|jn|j} |
<EFBFBD>s<><73>jdk<02>sL|j|tjk<02>sL<73>jdu<00>r<>t|<05>dk<02>r<>|<03>s<>|<03>r^|j|tj tj fv<00>r^|f}z|\| |<WdSt<1C>y<>t<1D>d|<01>dt|<05><01>d<14><05>|d| |<YdSw|| |<dS)Ncs<01><00>|]}t|t<01>VqdSrj)r<>rx<00>r=r?r<r<r@rd<00><00><02>z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>rcsr3rj)r<>rtr4r<r<r@rd<00>r5TrFi<00><><EFBFBD>i<00>csr3rj)r<>r<>r4r<r<r@rd<00>r5csr3rj)r<>r<>r4r<r<r@rd<00>r5csr3rj)r<>rgr4r<r<r@rd<00>r5cSs&g|]}t|t<01>r|<01>dd<01>n|<01>qS)<02>asciir<69>)r<>r<><00>encoder4r<r<r@<00>
<listcomp><3E>s<18><06>z2ImageFileDirectory_v2._setitem.<locals>.<listcomp>cSs"g|] }t|t<01>r t|<01>n|<01>qSr<)r<>rtr<>r4r<r<r@r8<00>s"c3s(<00>|]}t|t<01>r<0E><00>|<01>n|VqdSrj)r<>r<><00>cvt_enumr<6D><00><01>infor<r@rd<00>s
<02><16>
<EFBFBD>r zMetadata Warning, tag z had too many entries: z , expected 1)rrgr<>rr!rr<>r<00>type<70> UNDEFINED<45>allrx<00>SIGNED_RATIONAL<41>RATIONALrt<00>SHORT<52> SIGNED_SHORT<52>LONG<4E> SIGNED_LONG<4E>DOUBLE<4C>ASCII<49>BYTErrlrr<00>lengthrb<00>
ValueError<EFBFBD>warnings<67>warn) r<>r)r<>r<><00> basetypesr<73>r?<00>short<72> signed_short<72>long<6E>is_ifd<66>destr<r:r@r1<00>s<>

  <02> <02> <02> <08> <08>  <08><06><04><02> zImageFileDirectory_v2._setitemcCs.|j<00>|d<00>|j<02>|d<00>|j<03>|d<00>dSrj)r<00>poprrr.r<r<r@<00> __delitem__sz!ImageFileDirectory_v2.__delitem__<5F> Iterator[int]cCr%rj)<04>iterr&rrr<>r<r<r@<00>__iter__r(zImageFileDirectory_v2.__iter__r<5F>r<>r<>cCst<00>|j||<02>Srj)r<><00>unpackr)r<>r<>r<>r<r<r@r<>
<00>zImageFileDirectory_v2._unpackr<6B>cGstj|j|g|<02>R<00>Srj)r<><00>packr)r<>r<>r<>r<r<r@r<> r(zImageFileDirectory_v2._pack<63>HrMrDrO<00>bz signed byte<74>hz signed short<72>lz signed longr<67>r<><00>d<>doubler <00>long8r TcC<01>|Srjr<r<>r<r<r@<00> load_byte!<00>zImageFileDirectory_v2.load_byte<74>bytes | int | IFDRationalcCs*t|t<01>r t|<01>}t|t<02>rt|f<01>}|Srj)r<>rxrtrg<00>r<>r<>r<r<r@<00>
write_byte%s


z ImageFileDirectory_v2.write_byter%cCs"|<01>d<01>r |dd<02>}|<01>dd<04>S)N<>rvzlatin-1r<31>)<02>endswith<74>decoder<65>r<r<r@<00> load_string-s
  z!ImageFileDirectory_v2.load_string<6E>str | bytes | intcCs0t|t<01>r t|<01>}t|t<03>s|<01>dd<02>}|dS)Nr6r<>rg)r<>rtr<>rgr7<00>r<>r<>r<r<r@<00> write_string3s

 z"ImageFileDirectory_v2.write_stringr+r1<00>)tuple[tuple[int, int] | IFDRational, ...]c<01>X|<00>t|<01>d<00>d<02>|<01>}d<0E>fdd <09> <0C>t<02>fd
d <0B>t|ddd <0C>|d dd <0C><00>D<00><01>S)Nr)rD<00>artr[rh<00>tuple[int, int] | IFDRationalc<01><00>r||fSt||<01>Srj<00>rx<00>rpr[<00>r<>r<r@<00>combineB<00>z4ImageFileDirectory_v2.load_rational.<locals>.combinec3<01><00>|]
\}}<02>||<02>VqdSrjr<<00>r=<00>num<75>denom<6F>rvr<r@rdE<00><02>z6ImageFileDirectory_v2.load_rational.<locals>.<genexpr>r%r <00>rprtr[rtrhrq<00>r<>rbrl<00>zip<69>r<>r<>r<><00>valsr<<00>rvr<>r@<00> load_rational<<00>0z#ImageFileDirectory_v2.load_rationalrxc<01>d<01><00>fdd<03>|D<00><01>S)Nr<4E>c3s(<00>|]}<01>jdgt|d<01><02>R<00>VqdS)<03>2Ll<00><EFBFBD>N)r<>r|<00>r=r<>r<>r<r@rdIs<02>
<EFBFBD>z7ImageFileDirectory_v2.write_rational.<locals>.<genexpr>r<>r<>r<r<>r@<00>write_rationalGs<08>z$ImageFileDirectory_v2.write_rationalr/cCrarjr<r<>r<r<r@<00>load_undefinedMrcz$ImageFileDirectory_v2.load_undefinedcCs0t|t<01>r t|<01>}t|t<02>rt|<01><01>dd<02>}|S)Nr6r<>)r<>rxrtr<>r7rlr<r<r@<00>write_undefinedQs

z%ImageFileDirectory_v2.write_undefined<65>
cro)Nr)r]rprtr[rhrqcrrrjrsrtrur<r@rv_rwz;ImageFileDirectory_v2.load_signed_rational.<locals>.combinec3rxrjr<ryr|r<r@rdbr}z=ImageFileDirectory_v2.load_signed_rational.<locals>.<genexpr>r%r r~rr<>r<r<>r@<00>load_signed_rationalYr<>z*ImageFileDirectory_v2.load_signed_rationalcr<>)Nr<4E>c3s*<00>|]}<01>jdgt|dd<02><03>R<00>VqdS)<04>2li<6C><69><EFBFBD>i<00>N)r<>r<>r<>r<>r<r@rdfs
<02><18>
<EFBFBD>z>ImageFileDirectory_v2.write_signed_rational.<locals>.<genexpr>r<>r<>r<r<>r@<00>write_signed_rationalds<08>z+ImageFileDirectory_v2.write_signed_rational<61>fp<66> IO[bytes]r<>cCs8|<01>|<02>}t|<03>|krd|<02>dt|<03><01>d<03>}t|<04><01>|S)Nz&Corrupt EXIF data. Expecting to read <20> bytes but only got z. )<03>readrb<00>OSError)r<>r<>r<><00>retrr<r<r@<00> _ensure_readks
 <04><06><02>z"ImageFileDirectory_v2._ensure_readc
Cst|<00><00>|<01><01>|_<02>z|jr|<00>d|<00>|d<02><02>n |<00>d|<00>|d<04><02>d}t|<02>D]<5D>}|jr7|<00>d|<00>|d<07><02>n |<00>d|<00>|d <09><02>\}}}}t<07>||j <09>j
}t <0B> |d
<EFBFBD>} d |<08>d |<04>d | <09>d |<05>d<0E> }
z |j |\} } Wnty{t<0F>d|
|<05>Yq(w|| } | |jr<>dndkr<>|<01><01>}|<00>|jr<>dnd|<07>\}|
d|<0E>d|<0F><00>7}
|<01>|<0F>t<12>|| <0A>}|<01>|<0E>n|d| <0A>}t|<07>| kr<>t<15>d| <0A>dt|<07><01>d|<04><00><06>t<0F>|
<EFBFBD>q(|s<>t<0F>|
<EFBFBD>q(||j|<||j|<|
d7}
|
| dkr<>d| <0A>d<1A>nt|<07>7}
t<0F>|
<EFBFBD>q(|j<03>r|<00>d|<00>|d<02><02>n |<00>d|<00>|d<10><02>\|_WdSt<1B>y9}
zt<15>t|
<EFBFBD><01>WYd}
~
dSd}
~
ww)Nr r1rZr%r<00>HHQ8s<38><00>HHL4srE<00>unknownztag: <20> (<28>
) - type: <20>)z%s - unsupported type %sr)rDz Tag Location: z - Data Location: z/Possibly corrupt EXIF data. Expecting to read r<>z. Skipping tag z
- value: rJ<00><table: <20> bytes>)r<00>tellrrr<>r<><00>rangerr!rr<>r<00>getr<74><00>KeyError<6F>logger<65>debug<75>seekr<00>
_safe_readrbrJrKrrr
rr<>r<>)r<>r<><00> tag_countr<74>r)r*<00>countr<74><00>tagname<6D>typnamer<00> unit_sizer+r<><00>here<72>offsetr<r<r@<00>loadusx
<16><04> <16>
<EFBFBD>  <02>
    <04><04><04><04>



  <18> <0C><08><02>zImageFileDirectory_v2.loadcCs`|j|<00>d|jr
dnd<03>}|jr||<00>ddd<06>7}||jr'|<00>dd<08>7}|S|<00>d d<05>7}|S)
NrZr<00>*<00>HHr1rr rGrD)r r<>r<00>r<>rr<r<r@<00>_get_ifh<66>s<0E>zImageFileDirectory_v2._get_ifhrr<>c
s`|<00>|jrdndt|j<03><01>}g}|jrdnd}|jrdnd}<05>t|<02>t|j<03>|jr+dnd|7<00>d}t|j<03><05><00>D]<5D>\}}|tkrGt|<03>}|j|} t<08> d|| t
|<08><01>| t j ko_t |t<0E>}
|
r<EFBFBD>t|<00><10>|d <09>} |j|} | <0C><05>D]\} }|| | <qs| <0B><11><00>}nt |t<12>r<>|n|f} |j| |g| <0C>R<00>}t <0B>||j<15>j}|
r<EFBFBD>d
nt<17>| d <0B>}d |<10>d |<07>d|<11>d | <09>d<0F> }|t|<0F>dkr<>dt|<0F><01>d<12>nt| <0C>7}t<08> |<12>|
r<EFBFBD>d}n| t jt jt jfvr<>t|<0F>}nt| <0C>}t|<0F>|kr<>|<03>|| ||<0F>|d<14>df<05>q;|<03>|| ||<00>|<04><00>|f<05><00>t|<0F>ddd7<00>q;|du<01>rb||\}} }}}|<0F>rK|j| \}}<15>fdd<18>||||j <20>D<00>} |j| |g| <0C>R<00>}n|<00>||<00>!||<08>d<00><00>}|| |||f||<|D]'\}} }}}t<08> d|| |t
|<08>t
|<0F><01>||<00>|j<01>r<>dnd|| ||<08>7}<02>qd||<00>|d<19>7}|D]\}} }}}||7}t|<0F>d@<00>r<>|d7}<02>q<>|S)Nr rZrDr1r)r<>rEzTag %s, Type: %s, Value: %s)r<00>ifdr<64>zsave: r<>r<>z ) - value: rGr<>r<>r rgr<>r%csg|]}|<01><00>qSr<r<)r=rq<00>r<>r<r@r8<00><00>z1ImageFileDirectory_v2.tobytes.<locals>.<listcomp>rz%s %s %s %s %sr<73>r<>)"r<>rrbr<00>sortedr#<00> STRIPOFFSETSrr<>r<>r
rrCr<>rr<>r<><00>tobytesrlr<>r!rr<>rr<>r<>rGrFr=<00>append<6E>ljustr<74>r<>r<>)r<>r<><00>result<6C>entriesr<73><00>fmt_size<7A> stripoffsetsr)r<>r*rPr<>r<><00>ifd_tag<61> ifd_valuer<65>r<>r<>rr<>r<>r+r<r<>r@r<><00>sp"<04>


 (

 

<EFBFBD><04>zImageFileDirectory_v2.tobytescCsB|<01><00>dkr |<01>|<00><02><00>|<01><00>}|<00>|<02>}|<01>|<03>|t|<03>Sr<>)r<><00>writer<65>r<>rb)r<>r<>r<>r<>r<r<r@<00>saves 

 zImageFileDirectory_v2.save)rNN)rrgrfrrrrhr<>)rhri)r<>rirhr<00>rhr<>r<>)rhr r<><00>r)rtrhr <00>r)r<>rhri<00>r)rtr<>r rhr<>)r)rtr<>r r<>rirhr<>)r)rtrhr<><00>rhrT)r<>r<>r<>rgrhr<>)r<>r<>r<>r rhrgr<>)r<>rgr<>rirhrg)r<>rdrhrg)r<>rgr<>rirhr<>)r<>rkrhrg)r<>rgr<>rirhrn)r<>rxrhrg)r<>rdrhrg)r<>r<>r<>rtrhrg)r<>r<>rhr<>)rhrgrQ)r<>rtrhrg)r<>r<>rhrt)7r<37>r<>r<>r<>r<><00>__annotations__r<5F>r<>r<>rfr<>r<><00>setterrrr$r'r,r/r2r1rSrVr<>r<><00>list<73>maprrrArC<00> SIGNED_BYTErBrD<00>FLOATrE<00>IFD<46>LONG8r<38>rbr<>rfrjrmr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<r<r<r@r<>s<>
 <  <0C> '   






^











<02><02><04>  <0E>
 <0E>


C Pr<50>r<>r<><00>write_cs<>eZdZUdZd$<24>fdd<08> Zed d
<EFBFBD><00>Zed d
<EFBFBD><00>Zd ed < e d%dd<11><04>Z
d&dd<13>Z d'dd<18>Z d(dd<1B>Z d)dd<1E>Zd*d d!<21>Zd+d"d#<23>Z<10>ZS),<2C>ImageFileDirectory_v1a<31>This class represents the **legacy** interface to a TIFF tag directory.
Exposes a dictionary interface of the tags in the directory::
ifd = ImageFileDirectory_v1()
ifd[key] = 'Some Data'
ifd.tagtype[key] = TiffTags.ASCII
print(ifd[key])
('Some Data',)
Also contains a dictionary of tag types as read from the tiff image file,
:attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v1.tagtype`.
Values are returned as a tuple.
.. deprecated:: 3.0.0
r<>r <00>kwargsrhr<>cst<00>j|i|<02><01>d|_dS)NT)<03>superr<72>r)r<>r<>r<><00><01> __class__r<r@r<>7s
zImageFileDirectory_v1.__init__cCr<>rj)rr<>r<r<r@r<>;rzImageFileDirectory_v1.<lambda>cCr<>rj)rr<>r<r<r@r<><rzdict[int, int]r<00>originalr<6C>cCs(||jd<01>}|j|_|j|_|j|_|S)a2Returns an
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`
instance with the same data as is contained in the original
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2`
instance.
:returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`
rn)rfrrr)<03>clsr<73>r<>r<r<r@<00>from_v2Bs
zImageFileDirectory_v1.from_v2cCs4t|jd<01>}t|j<03>|_t|j<04>|_t|j<05>|_|S)a2Returns an
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2`
instance with the same data as is contained in the original
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`
instance.
:returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2`
rn)r<>rfrrrr)r<>r<>r<r<r@<00>to_v2Ts
  zImageFileDirectory_v1.to_v2r)r<>ricCr-rj)rrr.r<r<r@r/er0z"ImageFileDirectory_v1.__contains__rtcCr%rj)rbr&rrr<>r<r<r@r'hr(zImageFileDirectory_v1.__len__rTcCr%rj)rUr&rrr<>r<r<r@rVkr(zImageFileDirectory_v1.__iter__r<5F>cCsdD] }|<00>|||<03>qdS<00>N)FT)r1)r<>r)r<>r<>r<r<r@r2ns<04>z!ImageFileDirectory_v1.__setitem__cCsn||jvr&|j|}|j|}|j|\}}dD] }|<00>|||||<06>|<06>q|j|}t|ttf<02>s5|f}|Sr<>)rrrr<>r1r<>rlrg)r<>r)r<>r*r<>r+<00>legacyrqr<r<r@r,rs



z!ImageFileDirectory_v1.__getitem__)r<>r r<>r rhr<>)r<>r<>rhr<>)rhr<>r<>r<>r<>r<>r<>)r<>r<>r<>r<>r<>r<><00>tags<67>tagdatar<61><00> classmethodr<64>r<>r/r'rVr2r,<00> __classcell__r<r<r<>r@r<>$s
   




r<>cs<>eZdZdZdZdZ d'd(<28>fd d <0C> Zd)d d<0E>Zed*dd<11><04>Z d+dd<14>Z
d+dd<16>Z d*dd<18>Z d,dd<1B>Z d-<2D>fdd<1E> Zd)dd <20>Zd)d!d"<22>Zd-d#d$<24>Zd)d%d&<26>Z<12>ZS).<2E> TiffImageFile<6C>TIFFz
Adobe TIFFFNr<4E><00>StrOrBytesPath | IO[bytes]<5D>filename<6D>str | bytes | Nonerhr<>cs| | t<00><00>||<02>dSrj)r<>r<>)r<>r<>r<>r<>r<r@r<><00>s
zTiffImageFile.__init__cCs<>|jdusJ<00>|j<00>d<02>}|ddkr||j<00>d<02>7}t|<01>|_|jj|_|_d|_|j|_g|_ d|_
t <0B> d<06>t <0B> d|j<05>t <0B> dt |<01><01>|<00>d <09>dS)
z#Open the first image in a TIFF fileNr1r%rrvz*** TiffImageFile._open ***z - __first: %sz - ifh: %sr)r<>r<>r<><00>tag_v2r<00>_TiffImageFile__first<73>_TiffImageFile__next<78>_TiffImageFile__frame<6D>_fp<66>
_frame_pos<EFBFBD> _n_framesr<73>r<>r
<00>_seekr<6B>r<r<r@<00>_open<65>s  

zTiffImageFile._openrtcCsj|j}|dur+|<00><01>}|<00>t|j<04><01>|jdur&|<00>|<00><01>d<00>|jdus|<00>|<02>|jdus2J<00>|jS)Nr )r<>r<>r<>rbr<>r<>)r<><00>current_n_frames<65>currentr<r<r@<00>n_frames<65>s

<EFBFBD>
zTiffImageFile.n_frames<65>framecCsV|<00>|<01>sdS|<00>|<01>|jdur'|jj|jks"|jj|jks"|jr)d|_dSdSdS)z%Select a given frame as current imageN)<08> _seek_checkr<6B><00>_im<69>imr<6D><00>
_tile_size<EFBFBD>mode<64>readonly)r<>r<>r<r<r@r<><00>s


<02>
<04>zTiffImageFile.seekcCs<>t|jt<02>r
|jj<03>|j|_t|j<06>|kr<>|jsd}t|<02><01>t <09>
d||j |j|j<04> <0C><00>|jdkr7d}t |<02><01>|j<04>|j<07>|j<06>|j<07>t <09>
d|j<04> <0C><00>|j<10>|j<04>|jj|jvr`d|_n|jj|_|jdkro|d|_t|j<06>dkr||jdk|_|j d7_ t|j<06>|ks|j<04>|j|<00>|j<10>|j<04>t|jvr<>|jt}t|t<16>r<>t|<03>dkr<>|d}||jd<n d|jvr<>|jd=|<00><18>t<19>|j<10>|_|_||_ |<00><1D>dS) Nzno more images in TIFF filez9Seeking to frame %s, on frame %s, __next %s, location: %slzUnable to seek to framezLoading tags, location: %srr <00>xmp)r<>r<>r<00>exr<78>rbr<>r<><00>EOFErrorr<72>r<>r<>r<>rIr<>r<>r<>r<>rr<><00> is_animated<65>XMPrlr;<00> _reload_exifr<66>r<>r)r<><00>_setup)r<>r<>rr<>r<r<r@r<><00>sV <04>



 <0E>

 
 zTiffImageFile._seekcCr<>)zReturn the current frame number)r<>r<>r<r<r@r<><00>r<>zTiffImageFile.tell<6C>dict[int, dict[str, bytes]]cCs<>i}|j<00>tjj<04>}|rt|<02>d<01>rtt|<02>dkrtt|dd<04><00>}t<08> |ddd<00>d}zt
|d|d|<00><00>}Wn t j yEY|Sw|d|d||<00>}d|i||<|t<08> d||d<00>dd <09>}|<02>d<01>rtt|<02>dks|S)
a5
Returns a dictionary of Photoshop "Image Resource Blocks".
The keys are the image resource ID. For more information, see
https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_pgfId-1037727
:returns: Photoshop "Image Resource Blocks" in a dictionary.
s8BIMrEr)r-r r%r<>r<>N) r<>r<>r <00>Base<73>ImageResourcesrkrb<00>i16<31>math<74>ceil<69>i32r<32><00>error)r<><00>blocksrq<00>id<69>nr<6E>r<>r<r<r@<00>get_photoshop_blocks<6B>s"<02> "<16> z"TiffImageFile.get_photoshop_blocks<6B>Image.core.PixelAccess | Nonecs|jr
|jr
|<00><02>St<03><00><04>Srj)<05>tile<6C>use_load_libtiff<66> _load_libtiffr<66>r<>r<>r<>r<r@r<>s 
zTiffImageFile.loadcCs:|jdurt<01>|j<03>tj<04>|j|j<03>|_tj<08> |<00>dSrj)
r<EFBFBD>r <00>_decompression_bomb_checkr<6B><00>core<72>newr<77>r<>r<00> load_preparer<65>r<r<r@rs
 zTiffImageFile.load_preparecCsd|jsd|_|<00><02>}tjD] }||vrq |<01>|<02>q tj|dd<02>tj j
|j vr0|j tj j
=dSdS)NT)<01>in_place) r<><00>!_close_exclusive_fp_after_loading<6E>getexifr<00>TAGS_V2_GROUPS<50>get_ifdr<00>exif_transposer r<00> Orientationr<6E>)r<><00>exif<69>keyr<r<r@<00>load_end"s
 <04>zTiffImageFile.load_endc
Cstj<00>|<00>|<00><02>t|j<04>dksd}t|<01><01>|jdd}|jdd}|jdus,J<00>zt|jd<06>o7|j<06><08>}t|jd<07>rC|j<06> <09>Wn tyOd}Ynw|ret
|t <0B>sYJ<00>t |<03>}||d <t |<05>}t<00> |jd
||j<0F>}z |<06>|j|<02>Wnty<>}zd }t|<01>|<07>d}~ww|jo<>|j }t|jd <0C>r<>t<15>d <0A>|<06>|j<06><18><00>\} }
n<|r<>t<15>d<0E>|s<>|j<06>d<03>t<1A>|dtj<1C>} |<06>d<0F>\} }
t<1A>|| tj<1D>nt<15>d<10>|j<06>d<03>|<06>|j<06><1E><00>\} }
g|_d|_|<00> <20>|r<>|j<06>!<21>d|_|
dk<00>rd|
<EFBFBD><00>}t|<01><01>tj<00>|<00>S)zWOverload method triggered when we detect a compressed tiff
Calls out to libtiffr zNot exactly one tilerr'N<>fileno<6E>flushFr%<00>libtiffzCouldn't set the image<67>getvaluez5have getvalue. just sending in a string from getvaluez3have fileno, calling fileno version of the decoder.sfpfpz+don't have fileno or getvalue. just readingzdecoder error )"r r<>rrbr r<>r<>r<>rrr<>rlr<><00> _getdecoderr<72><00> decoderconfig<69>setimager<65>rI<00> _exclusive_fpr<70>r<>r<>rir!r<><00>os<6F>lseek<65>SEEK_CUR<55>SEEK_SETr<54>r<>r<00>close) r<>r<00>extentsr<73>r<><00> args_list<73>decoder<65>e<> close_self_fpr
<00>err<72>posr<r<r@r3sj  
<04> <02>
<08><02> 

 
 


 zTiffImageFile._load_libtiffc Cs<>d|jvr d}t|<01><01>t|j<00>td<03>|_|j<00>td<03>|_|j<00>td<04>}|jdkr+d}|j<00>t d<03>}t
<EFBFBD> d<07>t
<EFBFBD> d|j<05>t
<EFBFBD> d |<02>t
<EFBFBD> d
|j<07>t
<EFBFBD> d |<03>t
<EFBFBD> d |j<00>t <0C><01>z |jt }|jt}Wntyz}zd }t|<01>|<06>d}~wwt|t<12>r<>t|t<12>s<>d}t|<01><01>||f|_|j<00>tjj<17>}|dvr<>||f|_n||f|_t
<EFBFBD> d|j<19>|j<00>td<12>}t|<08>dkr<>t|<08>t|<08>kr<>|df}|j<00>td<12>} |j<00>td<13>}
|j<00>t |jdkr<>|dvr<>dnd<03>} |dvr<>d} n |dkr<>d} nd} |jdk<02>r|
<EFBFBD>rt|
<EFBFBD>dk<02>r| dt|
<EFBFBD> <00>} | t|
<EFBFBD>8} d}
| t|
<EFBFBD>7} t| <09>} | t!k<04>r4t
<EFBFBD>"d| <0B>d}t#|<01><01>| | k<00>r@| d| <0B>} n| | k<04>rN| dk<02>rN| | } t| <09>| k<03>r[d}t#|<01><01>|jj$|||| |
f}t
<EFBFBD> d|<0E>z t%|\|_&}Wnt<0F>y<>}z t
<EFBFBD> d<1E>d}t#|<01>|<06>d}~wwt
<EFBFBD> d |<0F>t
<EFBFBD> d!|j'<27>|j|j(d"<|j<00>t)d<03>}|j<00>t*d<03>}|<10>r<>|<11>r<>|j<00>t+<2B>}|dk<02>r<>||f|j(d#<n,|dk<02>r<>|d$|d$f|j(d#<n|du<00>r<>||f|j(d#<||f|j(d%<n||f|j(d%<d}}}g|_,t-<2D>p|jd&k|_.|j.<2E>rn|dk<02>r*|dd<15>d|dd<0E>}t
<EFBFBD> d|<0E>t%|\|_&}|dk<02>r>|jd'k<02>r>|jdk<02>r>d(}n|d)k<02>rFd*}n|<0F>/d+<2B><01>rT|dd,<2C>d-}||jd.|jj0f}|j,<2C>1t2<74>3d/dd||fd|<16><04>n<>t4|jv<00>szt5|jv<00>r0t4|jv<00>r<>|jt4}|j<00>t6|<05>}|}n%|jt5}|j<00>t7<74>}|j<00>t8<74>}t|t<12><02>r<>t|t<12><02>s<>d0}t|<01><01>|}||k<02>r<>||k<02>r<>|jdk<03>r<>|d,d<0E>}|D]b}|||k<04>r<>|t9| <09>d1}nd}|}|jdk<02>r<>||}|| }|t|<1C>df}|j,<2C>1t2<74>3|j||t|||<04>t|||<05>f||<1E><04>||7}||k<05>r-d||}}||k<05>r-d}|d7}<15>q<>n t
<EFBFBD> d2<64>d}t#|<01><01>t:|jv<00>rI|jt:|j(d3<|j'd4v<00>red5d6<64>|jt;D<00>}t<<3C>=d7d8<64>>|<1F><01>|_?dSdS)9z-Setup this image object based on current tagsi<01>z+Windows Media Photo files not yet supportedr rr.r-z*** Summary ***z- compression: %sz - photometric_interpretation: %sz- planar_configuration: %sz- fill_order: %sz- YCbCr subsampling: %szMissing dimensionsNzInvalid dimensions)r+r-r/r1z
- size: %srBr<)r%r-r')r%r-r1r+r)r%z.More samples per pixel than can be decoded: %sz#Invalid value for samples per pixelzunknown data organizationzformat key: %sz- unsupported formatzunknown pixel modez- raw mode: %sz- pil mode: %s<> compression<6F>dpigR<67><1E><>Q@<40>
resolutionr$r0rOrF<00>I;16N)z;16Bz;16Lrv<00>NFr zInvalid tile dimensionsr1z- unsupported data organization<6F> icc_profile<6C>r[r]cSsg|]}t|d<00><01>qS<00>r!r)r=r[r<r<r@r8<00>sz(TiffImageFile._setup.<locals>.<listcomp><3E>RGB;Lr<4C>)@r<>r<><00>COMPRESSION_INFOr<4F><00> COMPRESSION<4F> _compression<6F>PLANAR_CONFIGURATION<4F>_planar_configuration<6F>PHOTOMETRIC_INTERPRETATION<4F> FILLORDERr<52>r<><00>YCBCRSUBSAMPLING<4E>
IMAGEWIDTH<EFBFBD> IMAGELENGTHr<48><00> TypeErrorr<72>rtrIr<>r rr<00>_sizer<65><00> SAMPLEFORMATrbr<>r<><00> BITSPERSAMPLE<4C> EXTRASAMPLES<45>SAMPLESPERPIXEL<45>MAX_SAMPLESPERPIXELrr rf<00> OPEN_INFO<46>_moder<65>r;<00> X_RESOLUTION<4F> Y_RESOLUTION<4F>RESOLUTION_UNITr <00> READ_LIBTIFFrrhr<>r<>r<00>_Tiler<65><00> TILEOFFSETS<54> ROWSPERSTRIP<49> TILEWIDTH<54>
TILELENGTH<EFBFBD>sum<75>
ICCPROFILE<EFBFBD>COLORMAPrr$r<><00>palette) r<>r<00>photo<74> fillorder<65>xsize<7A>ysizer.<00> orientation<6F> sample_format<61> bps_tuple<6C> extra_tuple<6C>samples_per_pixel<65> bps_count<6E>bps_actual_countr<00>rawmode<64>xres<65>yres<65>resunit<69>x<>y<>layerrp<00>offsetsr\<00>w<> tilewidthr<68><00>stride<64> tile_rawmoder<65>rZr<r<r@r<><00>sD


  

<08><02>
 

<04>   
<04>
<04> 

<08><02>    


 
 
  
 " 

     <02><04>

<04><02>
  <04>zTiffImageFile._setuprj)r<>r<>r<>r<>rhr<>r<>r<>)r<>rtrhr<>)rhr)rhr )r<>r<>r<><00>format<61>format_descriptionrr<>r<>r<>r<>r<>r<>r<>r r<>rrrr<>r<>r<r<r<>r@r<><00>s$<10>
 
1



ar<61>rCrDrNr[r]rIrMrF<00>I;16LrKrLrOrRrPr^<00>YCbCrrarHr<><00> Image.Imager<65>r<>r<><00> str | bytesc6 Cs<> z t|j\}}}}}}Wnty%} z d|j<01>d<02>}
t|
<EFBFBD>| <09>d} ~ ww|j} |j} t|d<03>} | <0B>d<04>r9d| _z| d}WntyU|j <09>d<06>}t
|t <0B>rSd}Ynw|dur]d}n |dkrdd }n|d
krjd }t po|dk}d | t <|jd | t<|jd | t<d| vr<>| d}nd| vr<>| d}t
|t<11>r<>t<12><13>}|<11>|<10>|}ni}t<15>dt|<10><01>t
|t<18>r<>|<10><19>}|D]/}t
|tj<13>r<>|tjvr<>|<10>|<12>| |<n|<10>|<12>| |<z
|j|| j|<Wq<>ty<>Yq<>wi}t|d<11>r<>|j <20><19>}i|<13>t!|di<00><03>}|<14>t <0A>dk<02>r t"|v<00>r t#|v<00>r|t#t$|t"<00>8<|t"=t%t&fD] }||v<00>r.||=<00>q$t|d<12><02>rot't(t)t*t+t,fD]0}||j-v<00>rm|t*k<02>r]|j-j|tj.tj/fv<01>r]||=<00>q>|j-|| |<|j-j|| j|<<00>q>| <0B>d|j <09>d<14><01>}|<16>r<>|| t0<t1dft(dft)dft(dft)dft'dft2dft3dft4dft5dff
D]\}}|| v<00>r<>| || |<<00>q<>| <0B>d<1E>}|<18>r<>d| t'<|d | t(<|d | t)<|dk<03>r<>|| t6<t$|<07>d k<03>r<>t$|<07>| t#<|du<01>r<>|| t"<|d k<03>r<>|| t&<t7| v<01>r<>|| t7<nK|jd v<00>rF| t7d k<02>rF|jd!k<02>rA|<00>8<EFBFBD>}|<19><14>}|du<01>r@t9|j:<3A>D]}t9|j;<3B>D]}|||fd"k<02>r4d nd"|||f<<00>q'<27>q |}nt<<3C>=|<00>}|jd#v<00>r<>|j><3E>?d$d%<25>}g}t$|<1D>d&}t9d&<26>D]} |d'd(<28>||| || d <00>D<00>7}|d gd)|7}<1E>q_|| t@<| t| t}!}"t$|<07>|!|d d*d+}#tA| v<01>r<>|<0F>r<>| <0B>d,tB<74>}$|#d k<02>r<>d ntC|$|#|"<22>}%|d k<02>r<>tC|%d*d+d+|"<22>}%n|"}%|%d k<02>r<>d }%|%| tA<|#d k<02>r<>d n|#| tA}&|"| tAd | tA}'|&d-k<05>r<>tjD| jtE<|&f|'d |#|"|&|'d f| tE<tFt9d |&|'|&<26><03>| tG<tH<74>|d <0C>| tI<|jd.k<02>r:tJd/tKd0i<02>L<EFBFBD>D] \}}(| <0A>M||(<28><00>q.tNtOtPtQg})|<0F>r<>d1| v<00>rq| d1}*t
|*t <0B><02>r\|*d k<00>s\|*d2k<04>rbd3}
tR|
<EFBFBD><01>|d k<03>rmd4}
tR|
<EFBFBD><01>|*| tS<t<15>d5<64>t<15>d6tT| <0A>L<EFBFBD><00><01>d }+t|d7<64><02>r<>z |<01>Ud <0A>|<01>V<EFBFBD>}+Wn tWjX<6A>y<>Ynwi},|)tYtKtEtGtZt[g7})t6|d i}-t\<5C>]| <0A>L<EFBFBD>|<14>L<EFBFBD><00>D]z\}}.|tj^v<01>r|tjv<00>r<>tj_|,|<n5|| jv<00>r<>| j||,|<n't
|.t t`tatf<04><02>s<>t
|.tF<74><02>rtbd8d9<64>|.D<00><01><01>rt<1A>c|<15>jd}/|/<2F>r|/|,|<||-v<01>r4||)v<01>r4t
|.ta<74><02>r"|.<2E>ed:d;<3B>d<|-|<<00>q<>t
|.tf<74><02>r0t`|.<2E>|-|<<00>q<>|.|-|<<00>q<>t&|-v<00>rLt$|-t&<00>d k<02>rL|-t&d |-t&<t<15>d=tT|-<2D>L<EFBFBD><00><01>|jd>v<00>r^d?}t|-<2D>L<EFBFBD><00>}0|0<>g<EFBFBD>|||+||0|,f}1t<12>h|jd@|1| <0C>}2|2<>i|j>dA|j<00> |2<>etjjk<6A>d d<00>\}3}4|+<2B>s<>|<01>l|4<>|3<>r<>n<02>q<>|3d k<00>r<>dB|3<>dC<64>}
t|
<EFBFBD><01>n"|)D]}| |=<00>q<>| <0A>m|<01>}5tj<74>n||tj<74>oddA|j|5||#d f<03>g<01>dD| v<00>r<>tp|dD| <0A>dSdS)ENzcannot write mode z as TIFFrn<00>big_tiffTr2r$r.r0r6r2r r<00>tiffinforzTiffinfo Keys: %sr)r<>r%r7<00> descriptionr4<00> x_resolution<6F> y_resolution<6F>resolution_unit<69>software<72> date_time<6D>artist<73> copyrightr3rB)rCrDrCr r8rOr:r'cSsg|]}|d<00>qSr9r<r4r<r<r@r8Gr<>z_save.<locals>.<listcomp>r!r/r1<00>
strip_sizerru)r r )rr <00><>r r<>r <00>quality<74>dzInvalid quality settingz5quality setting only supported for 'jpeg' compressionzSaving using libtiff encoderz Items: %srcss <00>|] }t|tttf<03>VqdSrj)r<>rtr<>rxr4r<r<r@rd<00>s<02>z_save.<locals>.<genexpr>r6r<>rgzConverted items: %s)rFrHrtr5r rSzencoder error z when writing image file<6C>_debug_multipage)q<> SAVE_INFOr<4F>r<>r<><00> encoderinfo<66> encoderconfigr<67>r<>rr;r<>rt<00> WRITE_LIBTIFFr>r<>rCrDrgr <00>Exifr<66>r<>r<>r<>r<>r<>rrrrrr<>r)r<>rIrJrb<00>EXIFIFDrGrPrNrO<00>IPTC_NAA_CHUNK<4E>PHOTOSHOP_CHUNKr<4B>r<>rGr=rX<00>IMAGEDESCRIPTION<4F>SOFTWARE<52> DATE_TIME<4D>ARTIST<53> COPYRIGHTrHr@<00>copyr<79><00>height<68>widthr<00>invertr<74><00>
getpaletterYrT<00>
STRIP_SIZEr<EFBFBD>rC<00>STRIPBYTECOUNTSrlr<><00>COMPRESSION_INFO_REVr<rB<00>REFERENCEBLACKWHITEr#<00>
setdefaultrUrVrS<00>TILEBYTECOUNTSrI<00> JPEGQUALITYr<59>r<>r<00>io<69>UnsupportedOperation<6F> OSUBFILETYPE<50>TRANSFERFUNCTION<4F>SUBIFD<46> itertools<6C>chain<69> LIBTIFF_COREr<45>r<>r<>r>r!r<r7rx<00>sort<72> _getencoderr$r<00>MAXBLOCKr<4B>r<><00>_saverR<00>setattr)6r<36>r<>r<>rfrfr[rr<00>bits<74>extrar.rr<>r<>r<>r2r r;rr<00>
legacy_ifd<EFBFBD> supplied_tagsr)<00>iccr<63>r3<00> inverted_im<69>pxrkrj<00>lut<75>colormap<61>colorsr<73>rnr\rp<00> im_strip_size<7A>rows_per_strip<69>strip_byte_counts<74>strips_per_image<67> default_value<75> blocklistr<74>r<><00>types<65>attsr<73>r<r<>rp<00>encoder<65>errcoder<65>r<>r<r<r@r<><00>s<>
<08><02>

   
<04><02> 


<02>
 <02>


<08>
<04> <08> <08>
<04> <0C>
<04>
  
 



 
&<04><02>
   &
 
<02>

  
<EFBFBD><08> <02>
<EFBFBD> 
 

 
 <02><06>
    <04><04>   <04>  
<04>
 <02>

<04>
<04>r<EFBFBD>c@sHeZdZgd<01>Zhd<02>ZdVdWd
d <0B>ZdXd d <0A>ZdXdd<0F>ZdXdd<11>ZdYdd<13>Z dZdd<17>Z
d[dd<1A>Z e j fd\dd<1E>ZdXdd <20>Zd]d#d$<24>ZdXd%d&<26>Zd^d)d*<2A>Zd_d,d-<2D>Zd`d.d/<2F>Zd[d0d1<64>Zd[d2d3<64>Zedad7d8<64><04>Z 9dbdcd<d=<3D>Zddd>d?<3F>Zddd@dA<64>ZdddBdC<64>ZdedDdE<64>ZdddFdG<64>ZdddHdI<64>ZdXdJdK<64>Z dXdLdM<64>Z!dfdOdP<64>Z" dgdhdSdT<64>Z#dUS)i<>AppendingTiffWriter)rr r r%r)r1r r r%r)r1r)r1r)r%r)r1><00><00><00> <00> r"r#F<>fnr<6E>rrirhr<>cCs~|t|<01>r(||_d|_z t||rdnd<03>|_Wnty't|d<02>|_Yn wttt|<01>|_d|_|j<04> <09>|_
|<00> <0B>dS)NTzw+bzr+bF) rr<><00>close_fp<66>openr<6E>r<>r
rrgr<><00> beginning<6E>setup)r<>r<>rr<r<r@r<>s <02>  zAppendingTiffWriter.__init__cCs<>|j<00>|jtj<04>d|_d|_|j<00>d<02>|_}d|v|_ |s$d|_
dSd|_
|t vr1d}t |<02><01>|<00> |<01>t<0F>r:dnd<08>|j rH|j<00>dtj<10>|<00><11>|<00><12>dS) Nrr)<00>+TFzInvalid TIFF file headerrr)r<>r<>r<>r&r)<00>whereToWriteNewIFDOffset<65>offsetOfNewPager<65><00>IIMMr<00>isFirstrm<00> RuntimeError<6F> setEndianrkrr(<00>skipIFDs<44>goToEnd)r<><00>iimmrr<r<r@r<>s"
 zAppendingTiffWriter.setupcCs<>|jrdS|j<01>|j<03>|j<01>d<01>}|sdS||jkr!d}t|<02><01>|jr,|j<01>dtj <09>|<00>
|jr3dnd<01>}||j7}|j dusBJ<00>|j<01>|j <0B>|<00> ||jrQdnd<01>|j<01>|<03>|<00> <0A>dS)Nr)z1IIMM of new page doesn't match IIMM of first pager1)r<>r<>r<>r<>r<>r<>r<>rr&r(<00>_readr<64><00>_write<74>fixIFD)r<>r<>r<00>
ifd_offsetr<r<r@<00>finalize*s$ 

  zAppendingTiffWriter.finalizecCs|<00><00>|<00><01>dSrj)r<>r<>r<>r<r<r@<00>newFrameDs zAppendingTiffWriter.newFramecCs|Srjr<r<>r<r<r@<00> __enter__IszAppendingTiffWriter.__enter__r<5F>r<>cGs|jr |<00><01>dSdSrj)r<>r*r<>r<r<r@<00>__exit__Ls <04>zAppendingTiffWriter.__exit__rtcCs|j<00><01>|jSrj)r<>r<>r<>r<>r<r<r@r<>Pr<>zAppendingTiffWriter.tellr<6C><00>whencecCs*|tjkr
||j7}|j<03>||<02>|<00><05>S)z<>
:param offset: Distance to seek.
:param whence: Whether the distance is relative to the start,
end or current position.
:returns: The resulting position, relative to the start.
)r&r)r<>r<>r<>r<>)r<>r<>r<>r<r<r@r<>Ss

zAppendingTiffWriter.seekcCs^|j<00>dtj<03>|j<00><04>}d|d}d|krdkr'nn|j<00>t|<02><01>|j<00><04>|_dS)NrrG)r<>r<>r&<00>SEEK_ENDr<44>r<>rgr<>)r<>r1<00> pad_bytesr<r<r@r<>`s 
 zAppendingTiffWriter.goToEnd<6E>endianr<6E>cCsB||_|j<00>d<01>|_|j<00>d<02>|_|j<00>d<03>|jrdnd|_dS)NrDrZr<>r )r<><00>longFmt<6D>shortFmtr<00> tagFormat)r<>r<>r<r<r@r<>js zAppendingTiffWriter.setEndiancCs| |<00>|jrdnd<03>}|dkr|j<02><03>|jrdnd|_dS|j<02>|<01>|<00>|jr+dnd<05>}|j<02>||jr7dndtj<07>q)NTr1r)rr%r<>rE)r<>rr<>r<>r<>r<>r&r()r<>r<><00>num_tagsr<r<r@r<>ps <06> <02>zAppendingTiffWriter.skipIFDsr<73>rcCs |j<00>|<01>Srj)r<>r<>rer<r<r@r<>}rzAppendingTiffWriter.write<74>
field_sizecCs.z dddd<04>|WStyd}t|<02><01>w)NrZrDr )r%r)r1zoffset is not supported)r<>r<>)r<>r<>rr<r<r@<00>_fmt<6D>s  <02>zAppendingTiffWriter._fmtcCs&t<00>|j|<00>|<01>|j<04>|<01><01>\}|Srj)r<>rWr<>r<>r<>r<>)r<>r<>r<>r<r<r@r<><00>s<06>zAppendingTiffWriter._readcC<01>
|<00>d<01>S<00>Nr%<00>r<>r<>r<r<r@<00> readShort<72>r<>zAppendingTiffWriter.readShortcCr<><00>Nr)r<>r<>r<r<r@<00>readLong<6E>r<>zAppendingTiffWriter.readLong<6E> bytes_writtenr<00>expectedcCs0|dur||krd|<00>d|<01><00>}t|<02><01>dSdS)Nz wrote only z bytes but wanted )r<>)r<>r<>rr<r<r@<00>_verify_bytes_written<65>s<08>z)AppendingTiffWriter._verify_bytes_writtenrr<><00>new_field_sizecCsJ|j<00>| tj<03>|s |}|j<00>t<05>|j|<00>|<03>|<01><02>}|<00> ||<03>dSrj)
r<EFBFBD>r<>r&r(r<>r<>rYr<>r<>r<>)r<>r<>r<>r<>r<>r<r<r@<00> _rewriteLast<73>s<04>z AppendingTiffWriter._rewriteLastcCs|<00>|dd<02>dS)Nr%r)<00>r<>rlr<r<r@<00>rewriteLastShortToLong<6E>rXz*AppendingTiffWriter.rewriteLastShortToLongcC<01> |<00>|d<01>Sr<>r<>rlr<r<r@<00>rewriteLastShort<72>rz$AppendingTiffWriter.rewriteLastShortcCr<>r<>r<>rlr<r<r@<00>rewriteLastLong<6E>rz#AppendingTiffWriter.rewriteLastLongcCs0|j<00>t<02>|j|<00>|<02>|<01><02>}|<00>||<02>dSrj)r<>r<>r<>rYr<>r<>r<>)r<>r<>r<>r<>r<r<r@r<><00>s<04>zAppendingTiffWriter._writecC<01>|<00>|d<01>dSr<><00>r<>rlr<r<r@<00>
writeShort<EFBFBD>r<>zAppendingTiffWriter.writeShortcCr<>r<>r<>rlr<r<r@<00> writeLong<6E>r<>zAppendingTiffWriter.writeLongcCs |<00><00>|jr|j<02><03>dSdSrj)r<>r<>r<>r*r<>r<r<r@r*<00>s<04>zAppendingTiffWriter.closec
Cs*|<00>|jrdnd<02>}t|<01>D]<5D>}t<03>|j|j<06>|jrdnd<01><01>\}}}|j|}||}|jr1dnd}||k} | sG|<00>|<08>|j }
|<00>
|
|<08>||j vr<>|j<06> <0C>} t <0A>dt<0F>|<03>j|t<12>|d<06>|||<05>| ru|<00>||<06>|j<06>| |<00>q|j<06>|
<EFBFBD>|<00>||<06>|j<06>| <0B>q| r<>|j<06>|tj<17>qdS)Nr1r%rEr)z;fixIFD: %s (%d) - type: %s (%d) - type size: %d - count: %dr<64>)r<>rr<>r<>rWr<>r<>r<><00>
fieldSizesr<EFBFBD>r<><00>Tagsr<73>r<>r<>rr!r<>rr<><00> _fixOffsetsr<73>r&r() r<>r<>r<>r)<00>
field_typer<EFBFBD>r<><00>
total_sizer<EFBFBD><00>is_localr<6C><00>cur_posr<r<r@r<><00>sB 
<EFBFBD>
 



<04>
  <02><04>zAppendingTiffWriter.fixIFDr<44>cCs<>t|<01>D]^}|<00>|<02>}||j7}d}|jr |dvr |dkr d}n
|dkr*|dkr*d}|r\|dkr6d }t|<06><01>|<00>|||<05>| dd}|j<06>|tj <09>|<00>
|<05>|j<06>d|tj <09>q|<00>||<02>qdS)
Nr)r%r)lr1r%rr)r znot implemented) r<>r<>r<>rr<>r<>r<>r<>r&r(r<>)r<>r<>r<>r<>r<>r<>r<00>rewindr<r<r@r<><00>s& 


<04>zAppendingTiffWriter._fixOffsets<74>isShort<72>isLongcCs$|rd}n|r
d}nd}|<00>||<04>S)Nr%r)r)r<>)r<>r<>rrr<>r<r<r@<00>
fixOffsets s  zAppendingTiffWriter.fixOffsetsN)F)r<>r<>rrirhr<>r<>)rhr<>)r<>r<>rhr<>r<>)r<>rtr<>rtrhrt)r<>r<>rhr<>)r<>rrhrt)r<>rtrhr<>)r<>rtrhrt)r<>rr<>rtrhr<>rQ)r<>rtr<>rtr<>rtrhr<>)r<>rtrhr<>)r<>rtr<>rtrhr<>)r<>rtr<>rtrhr<>)FF)r<>rtrrirrirhr<>)$r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r)r<>r<>r<>r<>r<>r<>r<>r<>r<><00> staticmethodr<64>r<>r<>r<>r<>r<>r<>r<>r*r<>r<>rr<r<r<r@r<><00>sD










  <0C>







)<10>r<EFBFBD>c
Cs<>t|j<01>dg<00><02>}t|d<02>s|st|||<02>S|<00><05>}z\t|<01><01>@}|g|D]2}|<06>|<00>}t|d<03>s4d|_t |dd<05>}t
|<08>D]} |<06> | <09>|<06> <0C>t|||<02>|<05> <0A>q>||_q%Wd<00>n1sbwYW|<00> |<04>dSW|<00> |<04>dS|<00> |<04>w)N<> append_imagesr<73>r<>r<r )r<>r<>r<>r<>r<>r<>r<><00>_attach_default_encoderinfor<6F>r<>r<>r<>r<>r<>)
r<EFBFBD>r<>r<>r<00>cur_idx<64>tf<74>imsr<73><00>nfrr<72>r<r<r@<00> _save_all s, 


  
 
<02><1E><02>r z.tifz.tiffz
image/tiff)rfrgrhri)rqrrrsrtrhru)rqrxrsrtr}rtrhru)r<>r<>rhr )r<>rtr<>rtrhr<>)r<>rtrhr<>)r<>r<>rhr<>)r<>rvr<>r<>r<>rwrhr<>)<29><>
__future__rr<>r<><00>loggingrr&r<>rJ<00>collections.abcrr<00> fractionsr<00>numbersrr<00>typingrr r
<00>r r rrrr<00>_binaryrrrrr<00>_utilrrrr<>rr<00>_typingrrr<00> getLoggerr<72>r<>rQr<>r<>rr r<>rCrDrHr<r@rAr<>r<>rJrTr<>rNrOr>rPr<>r<>r<>r<><00> PREDICTORrYrUrVrSr<>r<>rIrG<00>
JPEGTABLESrBr<>r<>r<>r<>rXr<>r<>r<><00>IMAGEJ_META_DATA_BYTE_COUNTS<54>IMAGEJ_META_DATAr;r#r<>rLr<>rKrmror|r<>r<>r<>r<>rxrgrir<>r<>r<>rrt<00>
_IFDv2Baser<EFBFBD>r<>r<>r<>r<>r<><00>ImageFileDirectoryr<79>r<>r<><00>BytesIOr<4F>r <00> register_openrr<00> register_save<76>register_save_all<6C>register_extensions<6E> register_mimer<r<r<r@<00><module>sX (        
<02><02><02><02><02><02><02> <02>
<02> <02> <02> <02><02><02><02><02><04><02><02><02><02><02><02> <02>
<02> <02> <02> <02><02><02><02><02><02><04><02><02><02><02><02><02><02><02><02><02><02><02> <02>!<02>"<02>#<02>$<06>%<02>&<02>'<02>(<02>)<02>*<02>+<02>,<02>-<02>.<02>/<02>0<02>1<02>2<02>3<02>4<02>5<06>6<02>7<02>8<02>9<02>:<02>;<02><<02>=<02>><02>?<02>@<02>A<02>B<02>C<02>D<02>E<02>F<06>G<02>H<02>I<02>J<02>K<02>L<02>M<02>N<02>O<02>P<02>Q<02>R<02>S<02>T<02>U<02>V<02>W<06>X<02>Y<02>Z<02>[<02>\<02>]<02>^<02>_<02>`<02>a<02>b<02>c<02>d<02>e<02>f<02>g<02>h<06>i<02>j<02>k<02>l<02>m<02>n<02>o<02>p<02>q<02>r<02>s<02>t<02>u<02>v<02>y<02>z<02>{<04>|<06>
      \<02><02><02><02><02><02> <02>
<02> <02> <02> <02><02><02><02><02><04><.