Files
old-saburly-wagtail-web/env/lib/python3.10/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-310.pyc

107 lines
9.4 KiB
Plaintext
Raw Normal View History

2024-08-27 20:33:44 +02:00
o
<00><><EFBFBD>fq0<00>@s<>ddlmZddlZddlZddlZddlmZmZmZddl m
Z
m Z m Z m Z Gdd<07>d<07>Zd'd
d <0B>Zd(dd<12>Zdd<14>ZGdd<16>de j <0B>Zd)dd<1B>Zd*d#d$<24>Ze
<EFBFBD>ejee<13>e
<EFBFBD>eje<14>e
<EFBFBD>ejgd%<25><01>e
<EFBFBD>ejd&<26>dS)+<2B>)<01> annotationsN)<03>IO<49>Tuple<6C>cast<73>)<04>Image<67> ImageFile<6C> ImagePalette<74>_binaryc@sVeZdZdZddd<04>Zdd d
<EFBFBD>Zdd d <0A>Zddd<12>Zddd<14>Zddd<16>Z d dd<18>Z
dS)!<21> BoxReaderz}
A small helper class to read fields stored in JPEG2000 header boxes
and to easily step into and read sub-boxes.
<20><><EFBFBD><EFBFBD><EFBFBD>cCs ||_|dk|_||_d|_dS)Nrr )<04>fp<66>
has_length<EFBFBD>length<74>remaining_in_box)<03>selfr r<00>r<00>W/home/amir/Desktop/saburlyweb/env/lib/python3.10/site-packages/PIL/Jpeg2KImagePlugin.py<70>__init__ s

zBoxReader.__init__<5F> num_bytes<65>int<6E>return<72>boolcCs6|jr|j<01><02>||jkrdS|jdkr||jkSdS)NFrT)rr <00>tellrr)rrrrr<00> _can_read&s


zBoxReader._can_read<61>bytescCsh|<00>|<01>s d}t|<02><01>|j<02>|<01>}t|<03>|kr&d|<01>dt|<03><01>d<04>}t|<02><01>|jdkr2|j|8_|S)NzNot enough data in headerzExpected to read z bytes but only got <20>.r)r<00> SyntaxErrorr <00>read<61>len<65>OSErrorr)rr<00>msg<73>datarrr<00> _read_bytes0s
  
zBoxReader._read_bytes<65> field_format<61>str<74>tuple[int | bytes, ...]cCs t<00>|<01>}|<00>|<02>}t<00>||<03>S<00>N)<04>struct<63>calcsizer#<00>unpack)rr$<00>sizer"rrr<00> read_fields>s

 zBoxReader.read_fieldscCs |j}|<00>|<01>}tt<03>|<02>|<01>Sr')rr#r <00>io<69>BytesIO)rr+r"rrr<00>
read_boxesCs
zBoxReader.read_boxescCs |jr|j<01><02>|j|jkSdS)NT)rr rrr<00>rrrr<00> has_next_boxHszBoxReader.has_next_boxcCs<>|jdkr|j<01>|jtj<04>d|_ttttf|<00> d<03><01>\}}|dkr0tt|<00> d<05>d<00>}d}nd}||ks=|<00>
||<00>sCd}t |<04><01>|||_|S) Nrr z>I4srz>Q<><00>zInvalid header length) rr <00>seek<65>os<6F>SEEK_CURrrrrr,rr)r<00>lbox<6F>tbox<6F>hlenr!rrr<00> next_box_typeNs

zBoxReader.next_box_typeN)r )rrrr)rrrr)r$r%rr&)rr )rr)rr) <0B>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__rrr#r,r/r1r:rrrrr s




r r<00>tuple[tuple[int, int], str]c Cs<>|<00>d<01>}t<01>|<01>}||<00>|d<00>}t<03>d|<03>\ }}}}}}} } } } }
||||f} |
dkrMt<03>d|d<05>} | dd@ddkrGd } | | fSd
} | | fS|
dkrWd } | | fS|
d krad } | | fS|
dkrkd} | | fSd}t|<0E><01>)z<>Parse the JPEG 2000 codestream to extract the size and component
count from the SIZ marker segment, returning a PIL (size, mode) tuple.<2E>z >HHIIIIIIIIHrz>B<>&r<00>r3<00>I;16<31>L<>LA<4C><00>RGB<47><00>RGBAz"unable to determine J2K image mode)rr
<00>i16ber(<00> unpack_fromr)r <00>hdr<64>lsiz<69>siz<69>rsiz<69>xsiz<69>ysiz<69>xosiz<69>yosiz<69>_<>csizr+<00>ssiz<69>moder!rrr<00>_parse_codestreamds2

<1A> <04> <08> <08><08><04>rX<00>numr<00>denom<6F>exp<78> float | NonecCs$|dkrdSd|d|d|S)z<>Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution,
calculated as (num / denom) * 10^exp and stored in dots per meter,
to floating-point dots per inch.rN<><4E><00>
i'r)rYrZr[rrr<00> _res_to_dpi<70>sr_cCsbt|<00>}d}d}|<01><01>r,|<01><02>}|dkr|<01><03>}n|dkr(|<01>d<04>ddkr(d}|<01><01>s d}d}d}d}d} d}
|<02><01><00>r|<02><02>}|dkr{|<02>d <09>\} } }}| | f}|d
kr_|d @d kr_d }n<>|d
krfd}n<>|dkrmd}n<>|dkrtd}n<>|dkrzd}n<>|dkr<>|dkr<>|<02>d<16>\} }}}| d
kr<>|dkr<>d}n|dkr<>|dvr<>|<02>d<1B>\}}|<02>dd|<00>}t|<12>d kr<>t<06><06>}
t|<10>D]}|
<EFBFBD>|<02>dd|<00><01>q<>|dkr<>dnd}nA|d k<02>r|<02><03>}|<14><01><00>r|<14><02>}|d!k<02>r|<14>d"<22>\}}}}}}t |||<1B>}t |||<1A>}|du<01>r|du<01>r||f} n|<14><01>s<>|<02><01>s=|du<00>s$|du<00>r*d#}t
|<1E><01>|||| |
fS)$z<>Parse the JP2 header box to extract size, component count,
color space information, and optionally DPI information,
returning a (size, mode, mimetype, dpi) tuple.Nsjp2hsftypz>4srsjpx z image/jpxsihdrz>IIHBrrBr3rCrDr@rErFrGrHrIscolrz>BBBI<42> <00>CMYKspclr)rDrEz>HB<48>><3E>B<>P<>PAsres srescz>HHHHBBzMalformed JP2 header) r r1r:r/r,<00>maxr <00>range<67>getcolorr_r)r <00>reader<65>header<65>mimetyper8r+rW<00>bpc<70>nc<6E>dpi<70>palette<74>height<68>width<74>methrT<00>enumcs<63>ne<6E>npc<70> bitdepths<68>i<>res<65>tres<65>vrcn<63>vrcd<63>hrcn<63>hrcd<63>vrce<63>hrce<63>hres<65>vresr!rrr<00>_parse_jp2_header<65>s<><08>

<02><02>  <02>


  <08><08>(r<>csReZdZdZdZddd<06>Zddd<08>Ze<07>fd d
<EFBFBD><08>Zej d d
<EFBFBD><00>Zd d <0A>Z
<EFBFBD>Z S)<0F>Jpeg2KImageFile<6C>JPEG2000zJPEG 2000 (ISO 15444)r<00>Nonec Csb|j<00>d<01>}|dkrd|_t|j<00>\|_|_n<||j<00>d<04>}|dkrMd|_t|j<00>}|\|_|_|_}|_|dur?||j d<|j<00>d<08><01>
d <09>rL|<00> <0B>nd
}t |<04><01>d |_ d |_d }d }z |j<00><0F>}t<10>|<05>j}Wn1ty<>d }z|j<00><14>}|j<00>d tj<17>|j<00><14>}|j<00>|<07>Wn ty<>d }YnwYnwd d|jd |j|j |j||ffg|_dS)NrH<00><00>O<EFBFBD>Q<EFBFBD>j2kr3<00> jP
<EFBFBD>
<EFBFBD>jp2rnr`sjp2c<32>O<EFBFBD>Qznot a JPEG 2000 filerr <00>jpeg2k<32>rr)r r<00>codecrX<00>_size<7A>_moder<65><00>custom_mimetypero<00>info<66>endswith<74>_parse_commentr<00>_reduce<63>layers<72>filenor5<00>fstat<61>st_size<7A> Exceptionrr4r-<00>SEEK_ENDr+<00>tile)r<00>sigrjrnr!<00>fdr<00>posrrr<00>_open<65>sR 

<02>
 

 <02><04><02> <02>
<EFBFBD>zJpeg2KImageFile._opencCs<>|j<00>d<01>}t<02>|<01>}|j<00>|dtj<06> |j<00>d<01>}|s dS|d}|dvr*dS|j<00>d<01>}t<02>|<01>}|dkrJ|j<00>|d<00>dd<00>|jd<dS|j<00>|dtj<06>q)Nr@Tr)<02><><00><><00>d<00>comment)r rr
rJr4r5r6r<>)rrLr<00>marker<65>typrrrr<> s" 
  
<02>zJpeg2KImageFile._parse_commentcs|jpt<01>jSr')r<><00>super<65>reducer0<00><01> __class__rrr<>#szJpeg2KImageFile.reducecCs
||_dSr')r<>)r<00>valuerrrr<>*s
cCs<>|jrO|jrOd|j>}|d?}t|jd||<00>t|jd||<00>f|_|jd}|dd|j|j|dd|ddf}|dd|j|d|fg|_tj<06>|<00>S)NrrrFrHr<>r@)r<>r<>rr+r<>r<>r<00>load)r<00>power<65>adjust<73>t<>t3rrrr<>.s 
<06>
* zJpeg2KImageFile.load)rr<>) r;r<r=<00>format<61>format_descriptionr<6E>r<><00>propertyr<79><00>setterr<72><00> __classcell__rrr<>rr<><00>s

0
r<><00>prefixrrcCs |dd<01>dkp|dd<03>dkS)NrHr<>r`r<>r)r<>rrr<00>_accept?s<02>r<EFBFBD><00>im<69> Image.Imager <00> IO[bytes]<5D>filename<6D> str | bytesr<73>cCs<>|j}t|t<02>r |<02><03>}|<02>d<01>s|<03>dd<03>rd}nd}|<03>dd<00>}|<03>dd<00>}|<03>dd<00>}|<03>d d
<EFBFBD>}|<03>d d<00>} | durTt| ttf<02>rNtd d <0A>| D<00><01>sTd}
t |
<EFBFBD><01>|<03>dd<10>} |<03>dd<00>} |<03>dd<00>} |<03>dd<03>}|<03>dd<15>}|<03>dd<17>}|<03>dd<10>}|<03>dd<03>}|<03>d<1A>}t|t<02>r<>|<13><03>}|<03>dd<03>}d}t
|d<1D>r<>z|<01> <0B>}Wn t y<>d}Ynw||||| | | | ||||||||f|_ t<0E>||dd|jd|fg<01>dS) Ns.j2k<32>no_jp2Fr<46>r<><00>offset<65> tile_offset<65> tile_size<7A> quality_mode<64>rates<65>quality_layerscss<00>|]
}t|ttf<02>VqdSr')<03>
isinstancer<00>float)<02>.0<EFBFBD> quality_layerrrr<00> <genexpr>\s<02>
<EFBFBD>z_save.<locals>.<genexpr>z,quality_layers must be a sequence of numbers<72>num_resolutionsr<00>codeblock_size<7A> precinct_size<7A> irreversible<6C> progression<6F>LRCP<43> cinema_mode<64>no<6E>mct<63>signedr<64><00>pltr r<>r<>r<>)<11> encoderinfor<6F>r%<00>encoder<65><00>get<65>list<73>tuple<6C>all<6C>
ValueError<EFBFBD>hasattrr<72>r<><00> encoderconfigr<00>_saver+)r<>r r<>r<><00>kindr<64>r<>r<>r<>r<>r!r<><00> cblk_sizer<65>r<>r<>r<>r<>r<>r<>r<>r<>rrrr<>Jsr
      <02><06><02>        

 
  <02><06>"r<>)z.jp2z.j2kz.jpcz.jpfz.jpxz.j2cz image/jp2)rr?)rYrrZrr[rrr\)r<>rrr)r<>r<>r r<>r<>r<>rr<>)<1A>
__future__rr-r5r(<00>typingrrr<00>rrr r
r rXr_r<>r<>r<>r<><00> register_openr<6E><00> register_save<76>register_extensions<6E> register_mimerrrr<00><module>s& 
J
 M
f
G
<04>