R
    ¢¤Òj&  ã                   óˆ   €   Q s ] PHs] PHs\O                  s  Q Q\O
                  2      s  Q Q\O                  2      sP! )z,Internal classes used by compression modulesc                   ó>   ` €   \ sQ s]	s n QsQ sQ sQ sQ sQs	U s
P! )Ú
BaseStreamzMode-checking helper functions.c                óB   €   U O                   %       c   [        Q 2      gP! )zI/O operation on closed file)ÚclosedÚ
ValueError©Úselfs   &Ú9/usr/local/lib/python3.15/compression/_common/_streams.pyÚ_check_not_closedÚBaseStream._check_not_closed   s   � Ø�;�;ˆ;ÜÐ;Ó<Ð<ñ ó    c                ó`   €   U O                  2       %       f   [        O                   Q 2      gP! )zFile not open for reading)ÚreadableÚioÚUnsupportedOperationr   s   &r	   Ú_check_can_readÚBaseStream._check_can_read   ó$   � Ø�}‰}�ŠÜ×)Ò)Ð*EÓFÐFñ r   c                ó`   €   U O                  2       %       f   [        O                   Q 2      gP! )zFile not open for writing)Úwritabler   r   r   s   &r	   Ú_check_can_writeÚBaseStream._check_can_write   r   r   c                ó¸   €   U O                  2       %       f   [        O                   Q 2      gU O                  2       %       f   [        O                   Q2      gP! )z3Seeking is only supported on files open for readingz3The underlying file object does not support seeking)r   r   r   Úseekabler   s   &r	   Ú_check_can_seekÚBaseStream._check_can_seek   sS   � Ø�}‰}�ŠÜ×)Ò)ð +Fó Gð Gà�}‰}�ŠÜ×)Ò)ð +Eó Fð Fñ r   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r
   r   r   r   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r	   r   r   	   s%   ø‡ � Ù)ò=òGòG÷Fð Fr   r   c                   ó�   ` `€   \ sQ s]!s nQsQ sQQ ksU 1Q ksQ sQ s	QQ ks
Q sQ	 s\O                  1Q
 ksQ sQsUsU 9s! )ÚDecompressReaderz5Adapts the decompressor API to a RawIOBase reader APIc                ó   €   P	! )Tr   r   s   &r	   r   ÚDecompressReader.readable$   s   � Ùr   c                ó¦   €   Vm         P
U m        ] U m        PU m        V m        V@m        U O                   Q- U O
                  @   U m        V0m        P! )Fr   )Ú_fpÚ_eofÚ_posÚ_sizeÚ_decomp_factoryÚ_decomp_argsÚ_decompressorÚ_trailing_error)r   ÚfpÚdecomp_factoryÚtrailing_errorÚdecomp_argss   &&&&,r	   Ú__init__ÚDecompressReader.__init__'   sP   � ØŒØˆŒ	ØˆŒ	ð ˆŒ
ð  .ÔØ'ÔØ!×1Ò1ÑF°D×4EÑ4EÒFˆÔð  .Ör   c                ó0   :€   PU m         [        RU _	  2       ! ©N)r0   ÚsuperÚclose)r   Ú	__class__s   &€r	   r;   ÚDecompressReader.close;   s   ø� Ø!ˆÔÜ‰w‰}‹Ðr   c                ó8   €   U O                   O                  2       ! r9   )r*   r   r   s   &r	   r   ÚDecompressReader.seekable?   s   � Ø�x‰x× Ñ Ó"Ð"r   c           
     ó.  €   [        U2      9^tt^ 2       p"O                  Q 2      9^tt^ 2       oU O                  [        U2      2      oVCP[        U2      # PPP2       PPP2       [        W2      !  ) %       f   h     K#9 h ) %       f   h     K.9 h)ÚB)Ú
memoryviewÚcastÚreadÚlen)r   ÚbÚviewÚ	byte_viewÚdatas   &&   r	   ÚreadintoÚDecompressReader.readintoB   sY   � Ü˜�]Œ]˜d§I¡I¨c§N¤N°iØ—9‘9œS ›^Ó,ˆDØ$(�j”s˜4“yÐ!÷ %3�]ô �4‹yÐ÷ %3§Nú�]�]ús.   •B®(A1	ÁBÁ1BÁ:BÁ<BÂB	ÂB	c                ó^  €   U] 6  c   U O                  2       ! U%       c   U O                  %       c   Q! Po U O                  O                  %       c†   U O                  O                  9%       f     U O
                  O                  [        2      oU%       f   L·U O                   Q- U O                  @   U m         U O                  O                  V12      oLlU O                  O                  %       c4   U O
                  O                  [        2      oU%       f   [        Q2      gLQoU O                  O                  V12      oU%       f   CJ   U%       f   P	U m        U O                  U m        Q! U 9O                  [!        U2      *          tm        U!  S O                   c     JZ  h 9 h)é    r   zACompressed file ended before the end-of-stream marker was reachedr   )Úreadallr+   r0   ÚeofÚunused_datar*   rD   ÚBUFFER_SIZEr.   r/   Ú
decompressr1   Úneeds_inputÚEOFErrorr,   r-   rE   )r   ÚsizerI   Úrawblocks   &&  r	   rD   ÚDecompressReader.readH   s`  � Ø�!Œ8Ø—<‘<“>Ð!ç�t—y—y�yÙØˆð Ø×!Ñ!×%×%Ð%Ø ×.Ñ.×:Ñ:÷ 7ð 7Ø ŸH™HŸM™M¬+Ó6ð çØà%)×%9Ò%9ñ &)Ø×'Ñ'ò&)�Ô"ðØ×-Ñ-×8Ñ8¸ÓH‘Dð
 ×%Ñ%×1×1Ð1Ø#Ÿx™xŸ}™}¬[Ó9�Hß#Ü&ð (Jó Kð Kð $ð  #�HØ×)Ñ)×4Ñ4°XÓD�ßŠtØßØˆDŒIØŸ™ˆDŒJÙØ�	Š	”S˜“YÕ�	Øˆøð' ×+Ñ+ô âðús   Â=F ÆF,Æ'F,Æ+F,c                óž   €   , oU O                  [        O                  2      9o%       c   UO                  U2       J:  Q O	                  U2      ! )r   )rD   ÚsysÚmaxsizeÚappendÚjoin)r   ÚchunksrI   s   &  r	   rN   ÚDecompressReader.readallq   s<   � Øˆð —i‘i¤§¡Ó,Ð,ˆdÖ,Ø�M‰M˜$Öà�x‰x˜ÓÐr   c                óž   €   U O                   O                  ] 2       P
U m        ] U m        U O                   Q- U O
                  @   U m        P! )rM   r   )r*   Úseekr+   r,   r.   r/   r0   r   s   &r	   Ú_rewindÚDecompressReader._rewind|   s<   � Ø�‰�‰�aÔØˆŒ	ØˆŒ	Ø!×1Ò1ÑF°D×4EÑ4EÒFˆÖr   c                ó¨  €   U[         O                  6X  c   L¤U[         O                  6X  c   U O                  U*           oL{U[         O                  6X  cM   U O
                  ] 6  c(   U O                  [         O                  2      %       c   J'  U O
                  U*           oL[        QO                  U2      2      gVO                  6  c   U O                  2        LVO                  *          oU] 6”  cS   U O                  [        [         O                  U2      2      oU%       f    U O                  ! U[        U2      *          oJY  U O                  ! )rM   zInvalid value for whence: {})r   ÚSEEK_SETÚSEEK_CURr,   ÚSEEK_ENDr-   rD   ÚDEFAULT_BUFFER_SIZEr   Úformatra   ÚminrE   )r   ÚoffsetÚwhencerI   s   &&& r	   r`   ÚDecompressReader.seek‚   sð   � à”R—[‘[Ô ØØ”r—{‘{Ô"Ø—Y‘Y Õ'‰FØ”r—{‘{Ô"à�z‰z˜AŒ~Ø—i‘i¤× 6Ñ 6×7Ò7ÙØ—Z‘Z &Õ(‰FäÐ;×BÑBÀ6ÓJÓKÐKð —I‘IÔØ�L‰L�Nà—i‘iÕˆFð �qŒjØ—9‘9œS¤×!7Ñ!7¸Ó@ÓAˆDßØð �y‰yÐð ”c˜$“iÕŠFà�y‰yÐr   c                ó   €   U O                   ! )z!Return the current file position.)r,   r   s   &r	   ÚtellÚDecompressReader.tell    s   � à�y‰yÐr   )r/   r.   r0   r+   r*   r,   r-   r1   )r   )éÿÿÿÿ)r   r   r   r    r!   r   r6   r;   r   rJ   rD   rN   ra   r   rd   r`   rn   r"   r#   Ú__classcell__)r<   r$   s   @@r	   r&   r&   !   sJ   ù‡ � Ù?òô.õ(ò#òô'òR òGð #%§+¡+ô ÷<ò r   r&   )	r!   r   rY   rg   rQ   ÚBufferedIOBaser   Ú	RawIOBaser&   r   r   r	   Ú<module>rt      s?   ñÙ 2ã 	Û 
à×$Ñ$€ôF�×"Ñ"ô Fô0A�r—|‘|ö Ar   