§
    dŠtjk	  ã                   óB   — d dl Z d dlmZ d dlmZ  G d„ de¦  «        ZdS )é    N)ÚAbstractFileSystem)Útokenizec                   ó6   — e Zd ZdZd„ ZeZd„ Zd„ Zd„ Zd	d„Z	dS )
ÚAbstractArchiveFileSystema(  
    A generic superclass for implementing Archive-based filesystems.

    Currently, it is shared amongst
    :class:`~fsspec.implementations.zip.ZipFileSystem`,
    :class:`~fsspec.implementations.libarchive.LibArchiveFileSystem` and
    :class:`~fsspec.implementations.tar.TarFileSystem`.
    c                 óR   — dt          | ¦  «        j        › dt          | ¦  «        › d�S )Nz<Archive-like object z at ú>)ÚtypeÚ__name__Úid)Úselfs    úL/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/fsspec/archive.pyÚ__str__z!AbstractArchiveFileSystem.__str__   s*   € ØK¥t¨D¡z¤zÔ':ÐKÐKÅÀ4ÁÄÐKÐKÐKÐKó    c                 ó8   — t          || j        | j        ¦  «        S ©N)r   ÚfoÚprotocol)r   Úpaths     r   ÚukeyzAbstractArchiveFileSystem.ukey   s   € Ý˜˜dœg t¤}Ñ5Ô5Ð5r   c                 ó¤   ‡ — t          |¦  «        dk    rt          ¦   «         S ˆ fd„|D ¦   «         ‰ j        hz
  }|‰                      |¦  «        z  S )z²Returns *all* directory names for each path in paths, including intermediate
        ones.

        Parameters
        ----------
        paths: Iterable of path strings
        r   c                 ó:   •— h | ]}‰                      |¦  «        ’ŒS © )Ú_parent)Ú.0r   r   s     €r   ú	<setcomp>z:AbstractArchiveFileSystem._all_dirnames.<locals>.<setcomp>$   s%   ø€ Ð9Ð9Ð9¨4�D—L’L Ñ&Ô&Ð9Ð9Ð9r   )ÚlenÚsetÚroot_markerÚ_all_dirnames)r   ÚpathsÚdirnamess   `  r   r   z'AbstractArchiveFileSystem._all_dirnames   sZ   ø€ õ ˆu‰:Œ:˜Š?ˆ?Ý‘5”5ˆLà9Ð9Ð9Ð9°5Ð9Ñ9Ô9¸TÔ=MÐ<NÑNˆØ˜$×,Ò,¨XÑ6Ô6Ñ6Ð6r   c                 óø   — |                       ¦   «          |                      |¦  «        }|dv r| j        rddddœS || j        v r| j        |         S |dz   | j        v r| j        |dz            S t          |¦  «        ‚)N>   Ú ú/r#   Ú	directoryr   )Únamer	   Úsizer$   )Ú	_get_dirsÚ_strip_protocolÚ	dir_cacheÚFileNotFoundError)r   r   Úkwargss      r   ÚinfozAbstractArchiveFileSystem.info'   s‘   € Ø�ŠÑÔÐØ×#Ò# DÑ)Ô)ˆØ�9ÐÐ ¤ÐØ¨¸QÐ?Ð?Ð?Ø�4”>Ð!Ð!Ø”> $Ô'Ð'Ø�C‰Z˜4œ>Ð)Ð)Ø”> $¨¡*Ô-Ð-å# DÑ)Ô)Ð)r   Tc                 óî  — |                       ¦   «          i }| j                             ¦   «         D ]þ\  }}|                     d¦  «        }d|v r|                     dd¦  «        d         }nd}||                     d¦  «        k    r|||<   Œ\t          d„ t          |                     d¦  «        dg|                     d¦  «                             d¦  «        z   ¦  «        D ¦   «         ¦  «        r>|                     d¦  «                             dd¦  «        d         }||vr|dddœ}	|	||<   Œÿ|r7t          | 
                    ¦   «         t          j        d¦  «        ¬	¦  «        }	|	S t          |¦  «        S )
Nr$   é   r   r#   c              3   ó(   K  — | ]\  }}||k    V — Œd S r   r   )r   ÚaÚbs      r   ú	<genexpr>z/AbstractArchiveFileSystem.ls.<locals>.<genexpr>>   s>   è è € ð ð á�A�qð �a’ðð ð ð ð ð r   r%   )r&   r'   r	   r&   )Úkey)r(   r*   ÚitemsÚrstripÚrsplitÚallÚzipÚsplitÚstripÚsortedÚvaluesÚoperatorÚ
itemgetter)
r   r   Údetailr,   r    ÚpÚfÚrootÚppathÚouts
             r   ÚlszAbstractArchiveFileSystem.ls3   sz  € Ø�ŠÑÔÐØˆØ”N×(Ò(Ñ*Ô*ð 	'ð 	'‰DˆAˆqØ—’˜‘”ˆAØ�aˆxˆxØ—x’x  QÑ'Ô'¨Ô*��à�Ø�t—{’{ 3Ñ'Ô'Ò'Ð'Ø��a‘�Ýð ð å §
¢
¨3¡¤°"°¸¿ºÀ¹¼×8JÒ8JÈ3Ñ8OÔ8OÑ1OÑPÔPðñ ô ñ ô ð 'ð
 Ÿš ™œ×+Ò+¨C°Ñ3Ô3°AÔ6�Ø Ð%Ð%Ø#(°!¸[ÐIÐI�CØ#&�E˜%‘LøØð 	!Ý˜Ÿš™œ­XÔ-@ÀÑ-HÔ-HÐIÑIÔIˆCØˆJå˜%‘=”=Ð r   N)T)
r
   Ú
__module__Ú__qualname__Ú__doc__r   Ú__repr__r   r   r-   rF   r   r   r   r   r      sx   € € € € € ðð ðLð Lð Lð €Hð6ð 6ð 6ð7ð 7ð 7ð
*ð 
*ð 
*ð!ð !ð !ð !ð !ð !r   r   )r>   Úfsspecr   Úfsspec.utilsr   r   r   r   r   ú<module>rM      sq   ðØ €€€à %Ð %Ð %Ð %Ð %Ð %Ø !Ð !Ð !Ð !Ð !Ð !ðD!ð D!ð D!ð D!ð D!Ð 2ñ D!ô D!ð D!ð D!ð D!r   