§
    /›j[  ã                   óJ   — d dl Z d dlZd dlmZ d dlmZ  G d„ de¦  «        ZdS )é    N)Úunquote)ÚAbstractFileSystemc                   ól   ‡ — e Zd ZdZdZˆ fd„Zdd„Zd„ Z	 	 	 	 dd	„Ze	dde
d
edz  fd„¦   «         Zˆ xZS )ÚDataFileSystemzüA handy decoder for data-URLs

    Example
    -------
    >>> with fsspec.open("data:,Hello%2C%20World%21") as f:
    ...     print(f.read())
    b"Hello, World!"

    See https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
    Údatac                 ó:   •—  t          ¦   «         j        di |¤Ž dS )z!No parameters for this filesystemN© )ÚsuperÚ__init__)ÚselfÚkwargsÚ	__class__s     €úX/home/lighthouse/health/venv/lib/python3.11/site-packages/fsspec/implementations/data.pyr   zDataFileSystem.__init__   s&   ø€ à�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"Ð"Ð"ó    Nc                 óè   — |                      dd¦  «        \  }}|                     d¦  «        rt          j        |¦  «        ||…         S t	          |¦  «                             ¦   «         ||…         S )Nú,é   Úbase64)ÚsplitÚendswithr   Ú	b64decoder   Úencode)r   ÚpathÚstartÚendr   Úprefr   s          r   Úcat_filezDataFileSystem.cat_file   sh   € Ø—Z’Z  QÑ'Ô'‰
ˆˆdØ�=Š=˜Ñ"Ô"ð 	5ÝÔ# DÑ)Ô)¨%°¨)Ô4Ð4Ý�t‰}Œ}×#Ò#Ñ%Ô% e¨C iÔ0Ð0r   c                 óò   — |                      dd¦  «        \  }}|                      |¦  «        }|                      dd¦  «        d                               dd¦  «        d         }|t          |¦  «        d|dœS )Nr   r   ú:ú;r   Úfile)ÚnameÚsizeÚtypeÚmimetype)r   r   Úlen)r   r   r   r   r"   r   Úmimes          r   ÚinfozDataFileSystem.info    so   € Ø—Z’Z  QÑ'Ô'‰
ˆˆdØ�}Š}˜TÑ"Ô"ˆØ�zŠz˜#˜qÑ!Ô! !Ô$×*Ò*¨3°Ñ2Ô2°1Ô5ˆØ¥c¨$¡i¤i¸ÈTÐRÐRÐRr   ÚrbTc                 óv   — d|vrt          d¦  «        ‚t          j        |                      |¦  «        ¦  «        S )NÚrzRead only filesystem)Ú
ValueErrorÚioÚBytesIOr   )r   r   ÚmodeÚ
block_sizeÚ
autocommitÚcache_optionsr   s          r   Ú_openzDataFileSystem._open&   s8   € ð �dˆ?ˆ?ÝÐ3Ñ4Ô4Ð4ÝŒz˜$Ÿ-š-¨Ñ-Ô-Ñ.Ô.Ð.r   r'   c                 ó^   — d|pd› dt          j        | ¦  «                             ¦   «         › �S )z†Format the given data into data-URL syntax

        This version always base64 encodes, even when the data is ascii/url-safe.
        zdata:Ú z;base64,)r   Ú	b64encodeÚdecode)r   r'   s     r   r   zDataFileSystem.encode3   s6   € ð M�t�z˜rÐLÐL­6Ô+;¸DÑ+AÔ+A×+HÒ+HÑ+JÔ+JÐLÐLÐLr   )NN)r)   NTN)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úprotocolr   r   r(   r3   ÚstaticmethodÚbytesÚstrr   Ú__classcell__)r   s   @r   r   r      sÓ   ø€ € € € € ð	ð 	ð €Hð#ð #ð #ð #ð #ð1ð 1ð 1ð 1ðSð Sð Sð ØØØð/ð /ð /ð /ð ðMð M�Uð M #¨¡*ð Mð Mð Mñ „\ðMð Mð Mð Mð Mr   r   )r   r-   Úurllib.parser   Úfsspecr   r   r	   r   r   ú<module>rC      sz   ðØ €€€Ø 	€	€	€	Ø  Ð  Ð  Ð  Ð  Ð  à %Ð %Ð %Ð %Ð %Ð %ð1Mð 1Mð 1Mð 1Mð 1MÐ'ñ 1Mô 1Mð 1Mð 1Mð 1Mr   