ó
    F\h
  ã                   ó®   • S r SSKrSSKrSSKrSSKJrJr  SSKJrJr   " S S\R                  5      r
 " S S	\5      r " S
 S\5      r " S S\\
5      rg)z+
Interface adapters for low-level readers.
é    N)ÚBinaryIOÚListé   )ÚTraversableÚTraversableResourcesc                   óò   • \ rS rSrSr\\R                  S\4S j5       5       r	\R                  S\
S    4S j5       r\R                  S\
\   4S j5       r\R                  S\S\4S j5       r\S	 5       rS
rg)ÚSimpleReaderé   zE
The minimum, low-level interface required from a resource
provider.
Úreturnc                 ó   • g)z@
The name of the package for which this reader loads resources.
N© ©Úselfs    Ú1/usr/lib/python3.13/importlib/resources/simple.pyÚpackageÚSimpleReader.package   ó   � ó    c                 ó   • g)zW
Obtain an iterable of SimpleReader for available
child containers (e.g. directories).
Nr   r   s    r   ÚchildrenÚSimpleReader.children   r   r   c                 ó   • g)z<
Obtain available named resources for this virtual package.
Nr   r   s    r   Ú	resourcesÚSimpleReader.resources!   r   r   Úresourcec                 ó   • g)z*
Obtain a File-like for a named resource.
Nr   )r   r   s     r   Úopen_binaryÚSimpleReader.open_binary'   r   r   c                 ó>   • U R                   R                  S5      S   $ )NÚ.éÿÿÿÿ)r   Úsplitr   s    r   ÚnameÚSimpleReader.name-   s   € à�|‰|×!Ñ! #Ó& rÑ*Ð*r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚpropertyÚabcÚabstractmethodÚstrr   r   r   r   r   r   r#   Ú__static_attributes__r   r   r   r	   r	      s·   † ñð
 Ø×Ñð˜ó ó ó ðð
 	×Ñð˜$˜~Ñ.ó ó ðð 	×Ñð˜4 ™9ó ó ðð
 	×Ñð Cð ¨Hó ó ðð
 ñ+ó ó+r   r	   c                   ó>   • \ rS rSrSrS\4S jrS rS rS r	S r
S	rg
)ÚResourceContaineré2   zA
Traversable container for a package's resources via its reader.
Úreaderc                 ó   • Xl         g ©N©r2   )r   r2   s     r   Ú__init__ÚResourceContainer.__init__7   s   € Ø�r   c                 ó   • g©NTr   r   s    r   Úis_dirÚResourceContainer.is_dir:   ó   € Ør   c                 ó   • g©NFr   r   s    r   Úis_fileÚResourceContainer.is_file=   ó   € Ør   c                 óÀ   ^ • U 4S jT R                   R                   5       n[        [        T R                   R	                  5       5      n[
        R                  " X5      $ )Nc              3   ó<   >#   • U  H  n[        TU5      v •  M     g 7fr4   )ÚResourceHandle)Ú.0r#   r   s     €r   Ú	<genexpr>Ú,ResourceContainer.iterdir.<locals>.<genexpr>A   s   øé € ÐNÒ8M°”  d×+Ð+Ò8Mùs   ƒ)r2   r   Úmapr0   r   Ú	itertoolsÚchain)r   ÚfilesÚdirss   `  r   ÚiterdirÚResourceContainer.iterdir@   s@   ø€ ÜN¸¿¹×8MÒ8MÓNˆÜÔ$ d§k¡k×&:Ñ&:Ó&<Ó=ˆÜ�Š˜uÓ+Ð+r   c                 ó   • [        5       er4   )ÚIsADirectoryError)r   ÚargsÚkwargss      r   ÚopenÚResourceContainer.openE   s   € ÜÓ!Ð!r   r5   N)r%   r&   r'   r(   r)   r	   r6   r:   r?   rM   rS   r.   r   r   r   r0   r0   2   s'   † ñð˜|ô òòò,õ
"r   r0   c                   óF   • \ rS rSrSrS\S\4S jrS rS r	SS jr
S	 rS
rg)rD   éI   z1
Handle to a named resource in a ResourceReader.
Úparentr#   c                 ó   • Xl         X l        g r4   )rW   r#   )r   rW   r#   s      r   r6   ÚResourceHandle.__init__N   s   € ØŒØ�	r   c                 ó   • gr9   r   r   s    r   r?   ÚResourceHandle.is_fileR   r<   r   c                 ó   • gr>   r   r   s    r   r:   ÚResourceHandle.is_dirU   rA   r   c                 ó¤   • U R                   R                  R                  U R                  5      nSU;  a  [        R
                  " U/UQ70 UD6nU$ )NÚb)rW   r2   r   r#   ÚioÚTextIOWrapper)r   ÚmoderQ   rR   Ústreams        r   rS   ÚResourceHandle.openX   sF   € Ø—‘×#Ñ#×/Ñ/°·	±	Ó:ˆØ�d‹?Ü×%Ò% fÐ>¨tÒ>°vÑ>ˆFØˆr   c                 ó   • [        S5      e)NzCannot traverse into a resource)ÚRuntimeError)r   r#   s     r   ÚjoinpathÚResourceHandle.joinpath^   s   € ÜÐ<Ó=Ð=r   )r#   rW   N)Úr)r%   r&   r'   r(   r)   r0   r-   r6   r?   r:   rS   rg   r.   r   r   r   rD   rD   I   s/   † ñðÐ0ð ¸ô òòôõ>r   rD   c                   ó   • \ rS rSrSrS rSrg)ÚTraversableReaderéb   z´
A TraversableResources based on SimpleReader. Resource providers
may derive from this class to provide the TraversableResources
interface by supplying the SimpleReader interface.
c                 ó   • [        U 5      $ r4   )r0   r   s    r   rK   ÚTraversableReader.filesi   s   € Ü  Ó&Ð&r   r   N)r%   r&   r'   r(   r)   rK   r.   r   r   r   rk   rk   b   s   † ñõ'r   rk   )r)   r+   r`   rI   Útypingr   r   r   r   ÚABCr	   r0   rD   rk   r   r   r   Ú<module>rq      sS   ðñó Û 	Û ß !ç 2ô"+�3—7‘7ô "+ôJ"˜ô "ô.>�[ô >ô2'Ð,¨lõ 'r   