Ë
    z¾jm  ã                  óL   — d dl mZ d dlZd dlmZmZmZmZ  G d„ dee   «      Zy)é    )ÚannotationsN)ÚIOÚAnyStrÚGenericÚLiteralc                  ób   — e Zd ZdZd
d„Zdd„Zej                  fdd„Zdd„Z	ddd„Z
dd„Zdd„Zy	)ÚContainerIOzm
    A file object that provides read access to a part of an existing
    file (for example a TAR file).
    c                ór   — || _         d| _        || _        || _        | j                   j	                  |«       y)z­
        Create file object.

        :param file: Existing file.
        :param offset: Start of region, in bytes.
        :param length: Size of region, in bytes.
        r   N)ÚfhÚposÚoffsetÚlengthÚseek)ÚselfÚfiler   r   s       úR/var/www/html/candidateportal/venv/lib/python3.12/site-packages/PIL/ContainerIO.pyÚ__init__zContainerIO.__init__   s0   € ð #ˆŒØˆŒØˆŒØˆŒØ�‰�‰�VÕó    c                 ó   — y)NF© ©r   s    r   ÚisattyzContainerIO.isatty-   s   € Ør   c                ó<  — |dk(  r| j                   |z   | _         n!|dk(  r| j                  |z   | _         n|| _         t        dt        | j                   | j                  «      «      | _         | j                  j                  | j                  | j                   z   «       y)a  
        Move file pointer.

        :param offset: Offset in bytes.
        :param mode: Starting position. Use 0 for beginning of region, 1
           for current offset, and 2 for end of region.  You cannot move
           the pointer outside the defined region.
        é   é   r   N)r   r   ÚmaxÚminr   r   r   )r   r   Úmodes      r   r   zContainerIO.seek0   ss   € ð �1Š9Ø—x‘x &Ñ(ˆD�HØ�QŠYØ—{‘{ VÑ+ˆD�HàˆDŒHä�qœ#˜dŸh™h¨¯©Ó4Ó5ˆŒØ�‰�‰�T—[‘[ 4§8¡8Ñ+Õ,r   c                ó   — | j                   S )ze
        Get current file pointer.

        :returns: Offset from start of region, in bytes.
        )r   r   s    r   ÚtellzContainerIO.tellC   s   € ð �x‰xˆr   c                ó  — |r$t        || j                  | j                  z
  «      }n| j                  | j                  z
  }|sd| j                  j                  v rdS dS | j                  |z   | _        | j                  j                  |«      S )z¥
        Read data.

        :param n: Number of bytes to read. If omitted or zero,
            read until end of region.
        :returns: An 8-bit string.
        Úbr   Ú )r   r   r   r   r   Úread)r   Úns     r   r$   zContainerIO.readK   sp   € ñ Ü�A�t—{‘{ T§X¡XÑ-Ó.‰Aà—‘˜dŸh™hÑ&ˆAÙØ §¡§¡Ñ-�3Ð5°2Ð5Ø—8‘8˜a‘<ˆŒØ�w‰w�|‰|˜A‹Ðr   c                ó¼   — d| j                   j                  v rdnd}d| j                   j                  v rdnd}	 | j                  d«      }|s	 |S ||z   }||k(  r	 |S Œ$)zJ
        Read a line of text.

        :returns: An 8-bit string.
        r"   r   r#   ó   
ú
r   )r   r   r$   )r   ÚsÚnewline_characterÚcs       r   ÚreadlinezContainerIO.readline\   so   € ð  $§'¡'§,¡,Ñ.‘C°BˆØ%(¨D¯G©G¯L©LÑ%8™E¸dÐØØ—	‘	˜!“ˆAÙØð ˆð �A‘ˆAØÐ%Ò%ØØˆð r   c                óV   — g }	 | j                  «       }|s	 |S |j                  |«       Œ')zZ
        Read multiple lines of text.

        :returns: A list of 8-bit strings.
        )r,   Úappend)r   Úlinesr)   s      r   Ú	readlineszContainerIO.readlinesm   s4   € ð ˆØØ—‘“ˆAÙØàˆð �L‰L˜ŒOð	 r   N)r   z
IO[AnyStr]r   Úintr   r1   ÚreturnÚNone)r2   Úbool)r   r1   r   zLiteral[0, 1, 2]r2   r3   )r2   r1   )r   )r%   r1   r2   r   )r2   r   )r2   zlist[AnyStr])Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚioÚSEEK_SETr   r    r$   r,   r0   r   r   r   r	   r	      s3   „ ñó
ó"ð :<¿¹ô -ó&ôó"ô"r   r	   )	Ú
__future__r   r9   Útypingr   r   r   r   r	   r   r   r   ú<module>r=      s%   ðõ  #ã 	ß /Ó /ôc�'˜&‘/õ cr   