§
    dŠtj7  ã                  óÞ   — d dl mZ d dlZd dlmZmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZmZ d dlmZ d d	lmZ d d
lmZ  ej        d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    )ÚannotationsN)ÚdatetimeÚtimezone)Ú	ENOTEMPTY)ÚBytesIO)ÚPurePathÚPureWindowsPath)ÚAnyÚClassVar)ÚAbstractFileSystem)ÚLocalFileSystem)Ústringify_pathzfsspec.memoryfsc                  ó¸   — e Zd ZU dZi Zded<   dgZdZdZe	d„ ¦   «         Z
dd
„Zdd„Zdd„Zdd„Zdd„Zd„ Zd„ Z	 	 	 	 d d„Zd„ Zd!d„Zd„ Zd„ Zd„ Zd„ Zd"d„ZdS )#ÚMemoryFileSystemz A filesystem based on a dict of BytesIO objects

    This is a global filesystem so instances of this class all point to the same
    in memory filesystem.
    zClassVar[dict[str, Any]]ÚstoreÚ Úmemoryú/c                ób  — t          |t          ¦  «        r8t          |t          ¦  «        rt          j        |¦  «        S t          |¦  «        }|                     d¦  «        }d|v sd|v r|                     d¦  «        S |                     d¦  «                             d¦  «        }|rd|z   ndS )Nz	memory://z::z://r   r   )	Ú
isinstancer   r	   r   Ú_strip_protocolr   ÚremoveprefixÚrstripÚlstrip)ÚclsÚpaths     ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/fsspec/implementations/memory.pyr   z MemoryFileSystem._strip_protocol   s¬   € å�d�HÑ%Ô%ð 	,Ý˜$¥Ñ0Ô0ð ,Ý&Ô6°tÑ<Ô<Ð<å% dÑ+Ô+�à× Ò  Ñ-Ô-ˆØ�4ˆ<ˆ<˜5 D˜=˜=Ø—;’;˜sÑ#Ô#Ð#Ø�{Š{˜3ÑÔ×&Ò& sÑ+Ô+ˆØ!Ð)ˆs�T‰zˆz rÐ)ó    NFc                ó˜  ‡‡‡‡‡— ‰�‰dk     rt          d¦  «        ‚|                      ‰¦  «        Š‰| j        v r7|s‰gS | j        ‰         }‰‰|j        d|j                             ¦   «         dœiS ‰r‰dz   ndŠi Ši Šˆˆˆˆfd„}t          | j                             ¦   «         ¦  «        D ]„\  }}|                     ‰¦  «        sŒ|t          ‰¦  «        d …         }	|r ||¦  «         ‰�|	 
                    d¦  «        dz   ‰k    rŒ^||j        d|j                             ¦   «         dœ‰|<   Œ…|rw| j        D ]'}
|
r#|
                     ‰¦  «        r ||
dz   ¦  «         Œ(‰                     ‰¦  «         ‰dk    r-|                      ‰¦  «        r|                      ‰¦  «        ‰‰<   t          ‰¦  «        }|rˆfd„|D ¦   «         n|S )	Né   zmaxdepth must be at least 1Úfile©ÚnameÚsizeÚtypeÚcreatedr   c                óH  •— |                       d¦  «        }|t          ‰¦  «        k    rx| d |…         }|‰v rd S |t          ‰¦  «        d …         }‰�|                     d¦  «        dz   ‰k    r	|dddœ‰|<   |                      d¦  «        }|t          ‰¦  «        k    °vd S d S )Nr   r    r   Ú	directory©r#   r$   r%   )ÚrfindÚlenÚcount)r#   ÚidxÚparentÚrelÚdirsÚmaxdepthr   Úprefixs       €€€€r   Úadd_ancestor_dirsz0MemoryFileSystem.find.<locals>.add_ancestor_dirsG   s®   ø€ ð —*’*˜S‘/”/ˆCØ�˜D™	œ	’/�/Ø˜d˜s˜dœ�Ø˜T�>�>Ø�EØ�S ™[œ[˜]˜]Ô+�ØÐ# s§y¢y°¡~¤~¸Ñ'9¸XÒ'EÐ'EØ,2¸AÀ{Ð#SÐ#S�D˜‘LØ—l’l 3Ñ'Ô'�ð �˜D™	œ	’/�/�/�/�/�/r   r   c                ó"   •— i | ]}|‰|         “ŒS © r5   )Ú.0r#   Úouts     €r   ú
<dictcomp>z)MemoryFileSystem.find.<locals>.<dictcomp>r   s   ø€ Ð2Ð2Ð2 D��c˜$”iÐ2Ð2Ð2r   )Ú
ValueErrorr   r   r$   r&   Ú	timestampÚtupleÚitemsÚ
startswithr+   r,   Úpseudo_dirsÚupdateÚisdirÚinfoÚsorted)Úselfr   r1   ÚwithdirsÚdetailÚkwargsÚfileliker3   r#   r/   ÚpdirÚnamesr0   r7   r2   s    ``         @@@r   ÚfindzMemoryFileSystem.find+   sX  øøøøø€ ð
 Ð H¨q¢L LÝÐ:Ñ;Ô;Ð;Ø×#Ò# DÑ)Ô)ˆØ�4”:ÐÐàð Ø�v�Ø”z $Ô'ˆHàØ Ø$œMØ"Ø'Ô/×9Ò9Ñ;Ô;ð	ð ðð ð  $Ð,�˜‘�¨ˆØˆØˆð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(õ  $ D¤J×$4Ò$4Ñ$6Ô$6Ñ7Ô7ð 	ð 	‰NˆD�(Ø—?’? 6Ñ*Ô*ð ØØ•s˜6‘{”{�}�}Ô%ˆCØð (Ø!Ð! $Ñ'Ô'Ð'ØÐ#¨¯	ª	°#©¬¸Ñ(:¸XÒ(EÐ(EØàØ œØØ#Ô+×5Ò5Ñ7Ô7ð	ð ˆC�‰IˆIð ð 		,àÔ(ð 2ð 2�Øð 2˜DŸOšO¨FÑ3Ô3ð 2Ø%Ð% d¨S¡jÑ1Ô1Ð1øØ�JŠJ�tÑÔÐð �rŠzˆz˜dŸjšj¨Ñ.Ô.ˆzØ ŸIšI d™OœO��D‘	å�s‘”ˆØ6<ÐGÐ2Ð2Ð2Ð2¨EÐ2Ñ2Ô2Ð2À%ÐGr   Tc                ó6  — |                       |¦  «        }|| j        v r?|s|gS || j        |         j        d| j        |         j                             ¦   «         dœgS t          ¦   «         }|dz   }g }t          | j        ¦  «        D �]}|                     |¦  «        rðd|t          |¦  «        d …         vrM| 	                    || j        |         j        d| j        |         j                             ¦   «         dœ¦  «         Œ~t          |¦  «        t          |¦  «        k    rj||t          |¦  «        d …          
                    dd¦  «        d         z   }||vr2|pg }| 	                    |dddœ¦  «         |                     |¦  «         �Œ
| j        D ]É}|                     |¦  «        r²d|t          |¦  «        d …         vr3||vr.| 	                    |dddœ¦  «         |                     |¦  «         Œc||t          |¦  «        d …          
                    dd¦  «        d         z   }||vr.| 	                    |dddœ¦  «         |                     |¦  «         ŒÊ|s|| j        v rg S t          |¦  «        ‚|r|S t          d„ |D ¦   «         ¦  «        S )	Nr!   r"   r   r    r   r(   r)   c                ó   — g | ]
}|d          ‘ŒS )r#   r5   )r6   Úfs     r   ú
<listcomp>z'MemoryFileSystem.ls.<locals>.<listcomp>²   s   € Ð.Ð.Ð. Q�q˜”yÐ.Ð.Ð.r   )r   r   r$   r&   r:   Úsetr;   r=   r+   ÚappendÚsplitÚaddr>   ÚFileNotFoundErrorrB   )	rC   r   rE   rF   ÚpathsÚstarterr7   Úp2Úppaths	            r   ÚlszMemoryFileSystem.lst   sí  € Ø×#Ò# DÑ)Ô)ˆØ�4”:ÐÐàð Ø�v�ð !Ø œJ tÔ,Ô1Ø"Ø#œz¨$Ô/Ô7×AÒAÑCÔCð	ð ðð õ ‘”ˆØ˜‘*ˆØˆÝ˜œ
Ñ#Ô#ð 	)ñ 	)ˆBØ�}Š}˜WÑ%Ô%ð )Ø˜b¥ W¡¤  Ô0Ð0Ð0à—J’Jà$&Ø$(¤J¨r¤NÔ$7Ø$*Ø'+¤z°"¤~Ô'=×'GÒ'GÑ'IÔ'Ið	ð ñô ð ð õ ˜‘W”W�s 7™|œ|Ò+Ð+à# b­¨W©¬¨¨Ô&8×&>Ò&>¸sÀAÑ&FÔ&FÀqÔ&IÑI�EØ EÐ)Ð)Ø!˜i R˜ØŸ
š
à(-Ø()Ø(3ðð ñô ð ð Ÿ	š	 %Ñ(Ô(Ð(ùØÔ"ð 	)ð 	)ˆBØ�}Š}˜WÑ%Ô%ð )Ø˜b¥ W¡¤  Ô0Ð0Ð0à ��ØŸ
š
¨B¸À;Ð#OÐ#OÑPÔPÐPØŸ	š	 "™œ˜øð $ b­¨W©¬¨¨Ô&8×&>Ò&>¸sÀAÑ&FÔ&FÀqÔ&IÑI�EØ EÐ)Ð)ØŸ
š
¨E¸1ÀkÐ#RÐ#RÑSÔSÐSØŸ	š	 %Ñ(Ô(Ð(øØð 	*Ø�tÔ'Ð'Ð'à�	Ý# DÑ)Ô)Ð)Øð 	ØˆJÝÐ.Ð.¨#Ð.Ñ.Ô.Ñ/Ô/Ð/r   c                ód  — |                       |¦  «        }|| j        v s	|| j        v rt          |¦  «        ‚|                      |¦  «                             d¦  «        rJ|                      |                      |¦  «        ¦  «        r"t          |                      |¦  «        ¦  «        ‚|r\|                      |¦  «                             d¦  «        r4	  | j        |                      |¦  «        |fi |¤Ž n# t          $ r Y nw xY w|r%|| j        vr| j         	                    |¦  «         d S d S d S )Nr   )
r   r   r>   ÚFileExistsErrorÚ_parentÚstripÚisfileÚNotADirectoryErrorÚmkdirrP   )rC   r   Úcreate_parentsrF   s       r   r_   zMemoryFileSystem.mkdir´   sS  € Ø×#Ò# DÑ)Ô)ˆØ�4”:ÐÐ ¨Ô)9Ð!9Ð!9Ý! $Ñ'Ô'Ð'Ø�<Š<˜ÑÔ×#Ò# CÑ(Ô(ð 	9¨T¯[ª[¸¿ºÀdÑ9KÔ9KÑ-LÔ-Lð 	9Ý$ T§\¢\°$Ñ%7Ô%7Ñ8Ô8Ð8Øð 	˜dŸlšl¨4Ñ0Ô0×6Ò6°sÑ;Ô;ð 	ðØ�”
˜4Ÿ<š<¨Ñ-Ô-¨~ÐHÐHÀÐHÐHÐHÐHøÝ"ð ð ð Ø�ðøøøàð 	*�D Ô 0Ð0Ð0ØÔ×#Ò# DÑ)Ô)Ð)Ð)Ð)ð	*ð 	*Ð0Ð0s   Ã"C7 Ã7
DÄDc                ó^   — 	 |                       |d¬¦  «         d S # t          $ r |s‚ Y d S w xY w)NT)r`   )r_   rZ   )rC   r   Úexist_oks      r   ÚmakedirszMemoryFileSystem.makedirsÂ   sX   € ð	Ø�JŠJ�t¨DˆJÑ1Ô1Ð1Ð1Ð1øÝð 	ð 	ð 	Øð Øðð ð ð	øøøs   ‚ ›,«,Ú	overwritec                óJ   — |dk    rdnd}|                       |||¬¦  «         dS )zSSet the bytes of given file

        Avoids copies of the data if possible
        ÚcreateÚxbÚwb)ÚmodeÚdataN)Úopen)rC   r   Úvalueri   rF   s        r   Ú	pipe_filezMemoryFileSystem.pipe_fileÉ   s5   € ð
 ˜xÒ'Ð'ˆtˆt¨TˆØ�	Š	�$˜T¨ˆ	Ñ.Ô.Ð.Ð.Ð.r   c                óú   — |                       |¦  «        }|dk    rd S || j        v rG|                      |¦  «        s| j                             |¦  «         d S t	          t
          d|¦  «        ‚t          |¦  «        ‚)Nr   zDirectory not empty)r   r>   rX   ÚremoveÚOSErrorr   rS   ©rC   r   s     r   ÚrmdirzMemoryFileSystem.rmdirÑ   s‚   € Ø×#Ò# DÑ)Ô)ˆØ�2Š:ˆ:àˆFØ�4Ô#Ð#Ð#Ø—7’7˜4‘=”=ð FØÔ ×'Ò'¨Ñ-Ô-Ð-Ð-Ð-å�iÐ)>ÀÑEÔEÐEå# DÑ)Ô)Ð)r   c                ól  ‡— t                                d‰¦  «         |                      ‰¦  «        Š‰| j        v s5t	          ˆfd„t          | j        ¦  «        | j        z   D ¦   «         ¦  «        r‰dddœS ‰| j        v r(| j        ‰         }‰|j        dt          |dd ¦  «        dœS t          ‰¦  «        ‚)	Nzinfo: %sc              3  óH   •K  — | ]}|                      ‰d z   ¦  «        V — ŒdS )r   N)r=   )r6   Úpr   s     €r   ú	<genexpr>z(MemoryFileSystem.info.<locals>.<genexpr>á   sD   øè è € ð +
ð +
Ø)*ˆA�LŠL˜ ™Ñ$Ô$ð+
ð +
ð +
ð +
ð +
ð +
r   r   r(   r)   r!   r&   r"   )
ÚloggerÚdebugr   r>   ÚanyÚlistr   r$   ÚgetattrrS   )rC   r   rF   rG   s    `  r   rA   zMemoryFileSystem.infoÞ   sí   ø€ Ý�Š�Z Ñ&Ô&Ð&Ø×#Ò# DÑ)Ô)ˆØ�4Ô#Ð#Ð#¥sð +
ð +
ð +
ð +
Ý.2°4´:Ñ.>Ô.>ÀÔAQÑ.Qð+
ñ +
ô +
ñ (
ô (
Ð#ð ØØ#ðð ð ð
 �T”ZÐÐØ”z $Ô'ˆHàØ œØÝ" 8¨Y¸Ñ=Ô=ð	ð ð õ $ DÑ)Ô)Ð)r   Úrbc                óÖ  — |                       |¦  «        }d|v r|                      |¦  «        rt          ‚|| j        v rt	          |¦  «        ‚|}t          |¦  «        dk    rL|                      |¦  «        }|                      |¦  «        rt          |¦  «        ‚t          |¦  «        dk    °L|dv r²|| j        v r?| j        |         }d|v r| 	                    dd¦  «         n| 	                    d¦  «         |S d|v rWt          | ||                     d¦  «        ¦  «        }	| j        s|	                     ¦   «          |	 	                    dd¦  «         |	S t          |¦  «        ‚|dv rad|v r|                      |¦  «        rt          ‚t          | ||                     d¦  «        ¦  «        }	| j        s|	                     ¦   «          |	S | j        j        }
t#          d	|
› d
|›�¦  «        ‚)NÚxr    )r|   Úabzr+bza+bÚar   é   rj   >   úw+búx+brh   rg   zunsupported file mode for z: )r   ÚexistsrZ   r>   ÚIsADirectoryErrorr+   r[   r]   r   ÚseekÚ
MemoryFileÚgetÚ_intransÚcommitrS   Ú	__class__Ú__name__r9   )rC   r   ri   Ú
block_sizeÚ
autocommitÚcache_optionsrF   r.   rM   Úmr#   s              r   Ú_openzMemoryFileSystem._openô   só  € ð ×#Ò# DÑ)Ô)ˆØ�$ˆ;ˆ;˜4Ÿ;š; tÑ,Ô,ˆ;Ý!Ð!Ø�4Ô#Ð#Ð#Ý# DÑ)Ô)Ð)ØˆÝ�&‰kŒk˜AŠoˆoØ—\’\ &Ñ)Ô)ˆFØ�{Š{˜6Ñ"Ô"ð .Ý% fÑ-Ô-Ð-õ �&‰kŒk˜AŠoˆoð Ð-Ð-Ð-Ø�t”zÐ!Ð!Ø”J˜tÔ$�Ø˜$�;�;à—F’F˜1˜a‘L”L�L�Lð —F’F˜1‘I”I�IØ�Ø˜��õ ˜t T¨6¯:ª:°fÑ+=Ô+=Ñ>Ô>�Ø”}ð Ø—H’H‘J”J�Jà—’�q˜!‘”�Ø�å'¨Ñ-Ô-Ð-ØÐ/Ð/Ð/Ø�dˆ{ˆ{˜tŸ{š{¨4Ñ0Ô0ˆ{Ý%Ð%Ý˜4  v§z¢z°&Ñ'9Ô'9Ñ:Ô:ˆAØ”=ð Ø—’‘
”
�
ØˆHà”>Ô*ˆDÝÐJ¸$ÐJÐJÀ$ÐJÐJÑKÔKÐKr   c                ó†  — |                       |¦  «        }|                       |¦  «        }|                      |¦  «        r8t          | || j        |                              ¦   «         ¦  «        | j        |<   d S |                      |¦  «        r'|| j        vr| j                             |¦  «         d S d S t          |¦  «        ‚©N)	r   r]   r‡   r   Úgetvaluer@   r>   rP   rS   )rC   Úpath1Úpath2rF   s       r   Úcp_filezMemoryFileSystem.cp_file'  sË   € Ø×$Ò$ UÑ+Ô+ˆØ×$Ò$ UÑ+Ô+ˆØ�;Š;�uÑÔð 	+Ý *Ø�e˜TœZ¨Ô.×7Ò7Ñ9Ô9ñ!ô !ˆDŒJ�uÑÐÐð �ZŠZ˜ÑÔð 	+Ø˜DÔ,Ð,Ð,ØÔ ×'Ò'¨Ñ.Ô.Ð.Ð.Ð.ð -Ð,õ $ EÑ*Ô*Ð*r   c                ó  — t                                d|¦  «         |                      |¦  «        }	 t          | j        |                              ¦   «         ||…         ¦  «        S # t          $ r}t          |¦  «        |‚d }~ww xY w)Nzcat: %s)rw   rx   r   Úbytesr   Ú	getbufferÚKeyErrorrS   )rC   r   ÚstartÚendrF   Úes         r   Úcat_filezMemoryFileSystem.cat_file4  s‡   € Ý�Š�Y Ñ%Ô%Ð%Ø×#Ò# DÑ)Ô)ˆð	1Ý˜œ DÔ)×3Ò3Ñ5Ô5°e¸C°iÔ@ÑAÔAÐAøÝð 	1ð 	1ð 	1Ý# DÑ)Ô)¨qÐ0øøøøð	1øøøs   ²3A& Á&
BÁ0B Â Bc                ó†   — |                       |¦  «        }	 | j        |= d S # t          $ r}t          |¦  «        |‚d }~ww xY wr“   )r   r   r›   rS   ©rC   r   rž   s      r   Ú_rmzMemoryFileSystem._rm<  sY   € Ø×#Ò# DÑ)Ô)ˆð	1Ø”
˜4Ð Ð Ð øÝð 	1ð 	1ð 	1Ý# DÑ)Ô)¨qÐ0øøøøð	1øøøs   —! ¡
A «;»A c                ó–   — |                       |¦  «        }	 | j        |         j        S # t          $ r}t	          |¦  «        |‚d }~ww xY wr“   )r   r   Úmodifiedr›   rS   r¡   s      r   r¤   zMemoryFileSystem.modifiedC  sY   € Ø×#Ò# DÑ)Ô)ˆð	1Ø”:˜dÔ#Ô,Ð,øÝð 	1ð 	1ð 	1Ý# DÑ)Ô)¨qÐ0øøøøð	1øøøó   —) ©
A³AÁAc                ó–   — |                       |¦  «        }	 | j        |         j        S # t          $ r}t	          |¦  «        |‚d }~ww xY wr“   )r   r   r&   r›   rS   r¡   s      r   r&   zMemoryFileSystem.createdJ  sY   € Ø×#Ò# DÑ)Ô)ˆð	1Ø”:˜dÔ#Ô+Ð+øÝð 	1ð 	1ð 	1Ý# DÑ)Ô)¨qÐ0øøøøð	1øøør¥   c                ó>   — |                       |¦  «        }|| j        v S r“   )r   r   rq   s     r   r]   zMemoryFileSystem.isfileQ  s"   € Ø×#Ò# DÑ)Ô)ˆØ�t”zÐ!Ð!r   c                óz  ‡ — t          |t          ¦  «        r‰                      |¦  «        }nˆ fd„|D ¦   «         }‰                      |||¬¦  «        }t	          |¦  «        D ]X}‰                      |¦  «        r‰                      |¦  «         Œ-‰                      |¦  «        sŒC‰                      |¦  «         ŒYd S )Nc                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r5   )r   )r6   ru   rC   s     €r   rN   z'MemoryFileSystem.rm.<locals>.<listcomp>Y  s'   ø€ Ð:Ð:Ð:°�D×(Ò(¨Ñ+Ô+Ð:Ð:Ð:r   )Ú	recursiver1   )	r   Ústrr   Úexpand_pathÚreversedr]   Úrm_filer„   rr   )rC   r   rª   r1   rT   ru   s   `     r   ÚrmzMemoryFileSystem.rmU  sÇ   ø€ Ý�d�CÑ Ô ð 	;Ø×'Ò'¨Ñ-Ô-ˆDˆDà:Ð:Ð:Ð:°TÐ:Ñ:Ô:ˆDØ× Ò  °ÀXÐ ÑNÔNˆÝ˜%‘”ð 
	ð 
	ˆAØ�{Š{˜1‰~Œ~ð 	Ø—’˜Q‘”��ð
 —[’[ ‘^”^ð Øà—
’
˜1‘”��ð
	ð 
	r   )NFF)T)F)rd   )r|   NTN)NN)FN)rŒ   Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r>   ÚprotocolÚroot_markerÚclassmethodr   rJ   rX   r_   rc   rm   rr   rA   r‘   r—   rŸ   r¢   r¤   r&   r]   r¯   r5   r   r   r   r      sƒ  € € € € € € ðð ð ')€EÐ(Ð(Ð(Ñ(Ø�$€KØ€HØ€Kàð*ð *ñ „[ð*ðGHð GHð GHð GHðR>0ð >0ð >0ð >0ð@*ð *ð *ð *ðð ð ð ð/ð /ð /ð /ð*ð *ð *ð*ð *ð *ð2 ØØØð1Lð 1Lð 1Lð 1Lðf+ð +ð +ð1ð 1ð 1ð 1ð1ð 1ð 1ð1ð 1ð 1ð1ð 1ð 1ð"ð "ð "ðð ð ð ð ð r   r   c                  óR   ‡ — e Zd ZdZd	ˆ fd„	Zed„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )
r‡   zÐA BytesIO which can't close and works as a context manager

    Can initialise with data. Each path should only be active once at any moment.

    No need to provide fs, path if auto-committing (default)
    Nc                ó^  •— t                                d|¦  «         || _        || _        t	          j        t          j        ¬¦  «        | _        t	          j        t          j        ¬¦  «        | _	        |r8t          ¦   «                              |¦  «         |                      d¦  «         d S d S )Nzopen file %s©Útzr   )rw   rx   Úfsr   r   Únowr   Úutcr&   r¤   ÚsuperÚ__init__r†   )rC   r»   r   rj   r‹   s       €r   r¿   zMemoryFile.__init__p  sŽ   ø€ Ý�Š�^ TÑ*Ô*Ð*ØˆŒØˆŒ	Ý”|¥x¤|Ð4Ñ4Ô4ˆŒÝ œ­¬Ð5Ñ5Ô5ˆŒØð 	Ý‰GŒG×Ò˜TÑ"Ô"Ð"Ø�IŠI�a‰LŒLˆLˆLˆLð	ð 	r   c                ó4   — |                       ¦   «         j        S r“   )rš   Únbytes©rC   s    r   r$   zMemoryFile.sizez  s   € à�~Š~ÑÔÔ&Ð&r   c                ó   — | S r“   r5   rÂ   s    r   Ú	__enter__zMemoryFile.__enter__~  s   € Øˆr   c                ó   — d S r“   r5   rÂ   s    r   ÚclosezMemoryFile.close�  ó   € Øˆr   c                ó   — d S r“   r5   rÂ   s    r   ÚdiscardzMemoryFile.discard„  rÇ   r   c                óv   — | | j         j        | j        <   t          j        t
          j        ¬¦  «        | _        d S )Nr¹   )r»   r   r   r   r¼   r   r½   r¤   rÂ   s    r   rŠ   zMemoryFile.commit‡  s,   € Ø#'ˆŒŒ�d”iÑ Ý œ­¬Ð5Ñ5Ô5ˆŒˆˆr   )NNN)rŒ   r°   r±   r²   r¿   Úpropertyr$   rÄ   rÆ   rÉ   rŠ   Ú__classcell__)r‹   s   @r   r‡   r‡   h  sž   ø€ € € € € ðð ðð ð ð ð ð ð ð'ð 'ñ „Xð'ðð ð ðð ð ðð ð ð6ð 6ð 6ð 6ð 6ð 6ð 6r   r‡   )Ú
__future__r   Úloggingr   r   Úerrnor   Úior   Úpathlibr   r	   Útypingr
   r   Úfsspecr   Úfsspec.implementations.localr   Úfsspec.utilsr   Ú	getLoggerrw   r   r‡   r5   r   r   ú<module>r×      s=  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  à %Ð %Ð %Ð %Ð %Ð %Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à	ˆÔ	Ð,Ñ	-Ô	-€ðTð Tð Tð Tð TÐ)ñ Tô Tð Tðn
!6ð !6ð !6ð !6ð !6�ñ !6ô !6ð !6ð !6ð !6r   