+
    LV-j	C  ã                   ó"  € ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RI	t	^ RI
Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ]P*                  ! R4      t ! R R	]4      tR
 tR t]! ^R7      RR R ll4       t ! R R]P6                  4      tR# )é    N)Ú	lru_cache)ÚAbstractFileSystem)Úcompr)Úget_compression)Ú
isfilelikeÚstringify_pathzfsspec.localc                   óB  a a€ ] tR t^t oRtRtR#tRtR$V 3R llt]	R 4       t
R%R ltR$R ltR tR$R	 ltR
 tR tR tR tR tR&R ltR&R ltR%V3R lR lltR tR tV3R lR ltR tR'R ltR tR(R ltR%R ltR tR t ]!R 4       t"]!R 4       t#R  t$R! t%R"t&Vt'V ;t(# ))ÚLocalFileSystemzäInterface to files on local storage

Parameters
----------
auto_mkdir: bool
    Whether, when opening a file, the directory containing it should
    be created (if it doesn't already exist). This is assumed by pyarrow
    code.
Ú/Tc                ó4   <€ \         SV `  ! R/ VB  Wn        R # )N© )ÚsuperÚ__init__Ú
auto_mkdir)Úselfr   ÚkwargsÚ	__class__s   &&,€Úm/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/fsspec/implementations/local.pyr   ÚLocalFileSystem.__init__"   s   ø€ Ü‰ÒÑ"˜6Ò"Ø$Žó    c                ó   € R # )Úlocalr   ©r   s   &r   ÚfsidÚLocalFileSystem.fsid&   s   € ár   c                óÔ   € V P                  V4      pV P                  V4      '       d   \        V4      hV'       d   V P                  VR R7       R# \        P
                  ! V3/ VB  R# ©T©Úexist_okN)Ú_strip_protocolÚexistsÚFileExistsErrorÚmakedirsÚosÚmkdir)r   ÚpathÚcreate_parentsr   s   &&&,r   r%   ÚLocalFileSystem.mkdir*   sP   € Ø×#Ñ# DÓ)ˆØ�;‰;�t×ÒÜ! $Ó'Ð'ßØ�M‰M˜$¨ˆMÖ.ä�HŠH�TÑ$˜VÔ$r   c                óV   € V P                  V4      p\        P                  ! WR 7       R# )r   N)r    r$   r#   )r   r&   r   s   &&&r   r#   ÚLocalFileSystem.makedirs3   s   € Ø×#Ñ# DÓ)ˆÜ
�Š�D×,r   c                óT   € V P                  V4      p\        P                  ! V4       R # ©N)r    r$   Úrmdir©r   r&   s   &&r   r-   ÚLocalFileSystem.rmdir7   s   € Ø×#Ñ# DÓ)ˆÜ
�Š�Žr   c                óÐ  € V P                  V4      pV P                  V4      p. pVR ,          R8X  dy   \        P                  ! V4      ;_uu_ 4       pV FI  p V'       d   V P                  V4      MV P                  VP                  4      pVP                  V4       KK  	  RRR4       V# V'       d   V.M	VR,          .pV#   \         d     K|  i ; i  + '       g   i     T# ; i)ÚtypeÚ	directoryNÚname)r    Úinfor$   Úscandirr&   ÚappendÚFileNotFoundError)	r   r&   Údetailr   Ú	path_infoÚinfosÚitÚfr4   s	   &&&,     r   ÚlsÚLocalFileSystem.ls;   sÌ   € Ø×#Ñ# DÓ)ˆØ—I‘I˜d“Oˆ	ØˆØ�VÕ Ô+Ü—’˜D×!Ô! RÛ�Að÷ 06˜tŸy™y¨œ|¸4×;OÑ;OÐPQ×PVÑPVÓ;W˜ØŸ™ TÖ*ñ ÷ "ð ˆ÷ $*�Y‘K°	¸&Õ0AÐ/BˆEàˆøô -ô Úðú÷ "Ö!ð ˆús1   ÁCÁACÂCÃC	ÃCÃC	ÃCÃC%	c           
     ó  € \        V\        P                  4      '       dª   VP                  R R7      pVP	                  4       pVP                  R R7      '       d   RpMVP                  R R7      '       d   RpMRpVP                  pV'       d     VP                  RR7      pVP                  pV P                  VP                  4      pMÉV P                  V4      p\        P                  ! VR R7      p\        P                  ! VP                  4      pV'       d   \        P                  ! VRR7      pVP                  p\        P                  ! VP                  4      '       d   RpM+\        P                  ! VP                  4      '       d   RpMRp\        VRVP                   4      pRVRVR	VR
VRV/p	R F  p
\        VRV
 24      Wš&   K  	  V'       d   \        P"                  ! V4      V	R&   V	#   \         d    ^ p ELUi ; i)F)Úfollow_symlinksr2   ÚfileÚotherTÚst_birthtimer3   Úsizer1   ÚcreatedÚislinkÚst_Údestination)ÚmodeÚuidÚgidÚmtimeÚinoÚnlink)Ú
isinstancer$   ÚDirEntryÚstatÚ
is_symlinkÚis_dirÚis_fileÚst_sizeÚOSErrorr    r&   ÚS_ISLNKÚst_modeÚS_ISDIRÚS_ISREGÚgetattrÚst_ctimeÚreadlink)r   r&   r   ÚoutÚlinkÚtrD   Úout2Úcreated_timeÚresultÚfields   &&,        r   r4   ÚLocalFileSystem.infoN   s¯  € Ü�dœBŸK™K×(Ò(à—)‘)¨E�)Ó2ˆCØ—?‘?Ó$ˆDØ�{‰{¨5ˆ{×1Ò1Ø‘Ø—‘¨e�×4Ò4Ø‘à�à—;‘;ˆDßðØŸ9™9°T˜9Ó:�DØŸ<™<�Dð ×'Ñ'¨¯	©	Ó2‰Dð ×'Ñ'¨Ó-ˆDÜ—'’'˜$°Ô6ˆCÜ—<’< §¡Ó,ˆDßÜ—g’g˜d°DÔ9�Ø—;‘;ˆDÜ�|Š|˜CŸK™K×(Ò(Ø‘Ü—’˜cŸk™k×*Ò*Ø‘à�ô ˜s N°C·L±LÓAˆð �DØ�DØ�AØ�|Ø�dð
ˆó EˆEÜ# C¨3¨u¨g¨Ó7ˆF‹Mñ EçÜ$&§K¢K°Ó$5ˆF�=Ñ!ØˆøôA ô Ø“Dðús   ÂG3 Ç3HÈHc                ó.   € \         P                  ! V4      # r,   )ÚospÚlexists)r   r&   r   s   &&,r   rh   ÚLocalFileSystem.lexists�   s   € Ü�{Š{˜4Ó Ð r   c                óz  € V P                  V4      pV P                  V4      pV P                  '       d#   V P                  V P                  V4      R R7       V P	                  V4      '       d   \
        P                  ! W4       R# V P                  V4      '       d   V P                  VR R7       R# \        V4      hr   )
r    r   r#   Ú_parentÚisfileÚshutilÚcopyfileÚisdirÚmkdirsr7   )r   Úpath1Úpath2r   s   &&&,r   Úcp_fileÚLocalFileSystem.cp_file„   s‰   € Ø×$Ñ$ UÓ+ˆØ×$Ñ$ UÓ+ˆØ�?�?ˆ?Ø�M‰M˜$Ÿ,™, uÓ-¸ˆMÔ=Ø�;‰;�u×ÒÜ�OŠO˜EÖ)Ø�Z‰Z˜×ÒØ�K‰K˜¨ˆKÖ-ä# EÓ*Ð*r   c                ób   € V P                  V4      p\        P                  P                  V4      # r,   )r    r$   r&   rl   r.   s   &&r   rl   ÚLocalFileSystem.isfile�   s%   € Ø×#Ñ# DÓ)ˆÜ�w‰w�~‰~˜dÓ#Ð#r   c                ób   € V P                  V4      p\        P                  P                  V4      # r,   )r    r$   r&   ro   r.   s   &&r   ro   ÚLocalFileSystem.isdir”   s%   € Ø×#Ñ# DÓ)ˆÜ�w‰w�}‰}˜TÓ"Ð"r   c                óÜ   € \        V4      '       d6   \        VR 4      ;_uu_ 4       p\        P                  ! WR4       RRR4       R# V P                  ! W3/ VB #   + '       g   i     R# ; i©ÚrbN)r   Úopenrm   Úcopyfileobjrs   )r   rq   rr   Úcallbackr   r<   s   &&&&, r   Úget_fileÚLocalFileSystem.get_file˜   sT   € Ü�e×ÒÜ�e˜T×"Ô" aÜ×"Ò" 1Ô,÷ #Ñ"ð —<’< Ñ7°Ñ7Ð7÷ #×"Ð"ús   ¦AÁA+	c                ó(   € V P                   ! W3/ VB # r,   )rs   )r   rq   rr   r~   r   s   &&&&,r   Úput_fileÚLocalFileSystem.put_fileŸ   s   € Ø�|Š|˜EÑ3¨FÑ3Ð3r   c                ó    <€ V ^8„  d   QhRS[ /# )é   Ú	recursive©Úbool)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚLocalFileSystem.__annotate__¢   s   ø€ ÷ "ñ "©$ñ "r   c                óÞ   € V P                  V4      pV P                  V4      pV P                  '       d#   V P                  V P                  V4      RR7       \        P
                  ! W4       R# )z�Move files/directories
For the specific case of local, all ops on directories are recursive and
the recursive= kwarg is ignored.
Tr   N)r    r   r#   rk   rm   Úmove)r   rq   rr   r†   r   s   &&&&,r   ÚmvÚLocalFileSystem.mv¢   sR   € ð
 ×$Ñ$ UÓ+ˆØ×$Ñ$ UÓ+ˆà�?�?ˆ?Ø�M‰M˜$Ÿ,™, uÓ-¸ˆMÔ=ä�Š�EÖ!r   c                óx   € V P                  V4      pV P                  V4      p\        P                  ! W3/ VB  R # r,   )r    r$   r_   ©r   ÚsrcÚdstr   s   &&&,r   r_   ÚLocalFileSystem.link¯   s3   € Ø×"Ñ" 3Ó'ˆØ×"Ñ" 3Ó'ˆÜ
�Š�Ñ#˜FÔ#r   c                óx   € V P                  V4      pV P                  V4      p\        P                  ! W3/ VB  R # r,   )r    r$   Úsymlinkr’   s   &&&,r   r—   ÚLocalFileSystem.symlink´   s3   € Ø×"Ñ" 3Ó'ˆØ×"Ñ" 3Ó'ˆÜ
�
Š
�3Ñ&˜vÔ&r   c                ó    <€ V ^8„  d   QhRS[ /# ©r…   Úreturnr‡   )r‰   rŠ   s   "€r   r‹   rŒ   ¹   s   ø€ ÷ :ñ :™dñ :r   c                ó^   € \         P                  P                  V P                  V4      4      # r,   )r$   r&   rF   r    r.   s   &&r   rF   ÚLocalFileSystem.islink¹   s    € Ü�w‰w�~‰~˜d×2Ñ2°4Ó8Ó9Ð9r   c                óP   € \         P                  ! V P                  V4      4       R # r,   )r$   Úremover    r.   s   &&r   Úrm_fileÚLocalFileSystem.rm_file¼   s   € Ü
�	Š	�$×&Ñ& tÓ,Ö-r   c                óŽ  € \        V\        4      '       g   V.pV F¥  pV P                  V4      pV P                  V4      '       de   V'       g   \	        R 4      h\
        P                  ! V4      \        P                  ! 4       8X  d   \	        R4      h\        P                  ! V4       K�  \        P                  ! V4       K§  	  R# )z+Cannot delete directory, set recursive=Truez'Cannot delete current working directoryN)rO   Úlistr    ro   Ú
ValueErrorrg   Úabspathr$   Úgetcwdrm   ÚrmtreerŸ   )r   r&   r†   ÚmaxdepthÚps   &&&& r   ÚrmÚLocalFileSystem.rm¿   s…   € Ü˜$¤×%Ò%Ø�6ˆDãˆAØ×$Ñ$ QÓ'ˆAØ�z‰z˜!�}Š}ß Ü$Ð%RÓSÐSÜ—;’;˜q“>¤R§Y¢Y£[Ô0Ü$Ð%NÓOÐOÜ—’˜aÖ ä—	’	˜!–ó r   c                ó°   € \        V P                  \        4      '       d   V P                  MV P                  ^ ,          pV P                  V4      pV RV 2# )r   ú://)rO   ÚprotocolÚstrr    )r   r3   r®   s   && r   Úunstrip_protocolÚ LocalFileSystem.unstrip_protocolÎ   sH   € Ü$.¨t¯}©}¼c×$BÒ$B�4—=’=ÈÏÉÐVWÕHXˆØ×#Ñ# DÓ)ˆØ�˜3˜t˜fÐ%Ð%r   c                ó¶   € V P                  V4      pV P                  '       d*   R V9   d#   V P                  V P                  V4      RR7       \	        W3RV /VB # )ÚwTr   Úfs)r    r   r#   rk   ÚLocalFileOpener)r   r&   rI   Ú
block_sizer   s   &&&&,r   Ú_openÚLocalFileSystem._openÓ   sO   € Ø×#Ñ# DÓ)ˆØ�?�?ˆ?˜s dœ{Ø�M‰M˜$Ÿ,™, tÓ,°tˆMÔ<Ü˜tÑ=¨dÐ=°fÑ=Ð=r   c                ód  € V P                  V4      pV P                  '       d#   V P                  V P                  V4      R R7       V P	                  V4      '       d   \
        P                  ! VR4       M\        VR4      P                  4        V'       d   \
        P                  ! V^ 4       R# R# )Tr   NÚa)
r    r   r#   rk   r!   r$   Úutimer|   ÚcloseÚtruncate)r   r&   r½   r   s   &&&,r   ÚtouchÚLocalFileSystem.touchÙ   sy   € Ø×#Ñ# DÓ)ˆØ�?�?ˆ?Ø�M‰M˜$Ÿ,™, tÓ,°tˆMÔ<Ø�;‰;�t×ÒÜ�HŠH�T˜4Õ ä��s‹O×!Ñ!Ô#ßÜ�KŠK˜˜aÖ ñ r   c                ó¦   € V P                  VR 7      p\        P                  P                  VR,          \        P                  P                  R7      # )©r&   rE   ©Útz©r4   ÚdatetimeÚfromtimestampÚtimezoneÚutc©r   r&   r4   s   && r   rE   ÚLocalFileSystem.createdä   sE   € Ø�y‰y˜dˆyÓ#ˆÜ× Ñ ×.Ñ.Ø��O¤× 1Ñ 1× 5Ñ 5ð /ó 
ð 	
r   c                ó¦   € V P                  VR 7      p\        P                  P                  VR,          \        P                  P                  R7      # )rÁ   rL   rÂ   rÄ   rÉ   s   && r   ÚmodifiedÚLocalFileSystem.modifiedê   s>   € Ø�y‰y˜dˆyÓ#ˆÜ× Ñ ×.Ñ.¨t°G­}Ä×ARÑAR×AVÑAVÐ.ÓWÐWr   c                ó&  € V P                  V4      p\        P                  R 8X  d$   VP                  R ^4      ^ ,          ;'       g    R # VP                  R ^4      ^ ,          p\	        V4      ^8:  d   VR,          R8X  d   V^ ,          R,           # V# )r   ºé   r…   NÚ:ú:/)r    r$   ÚsepÚrsplitÚlen)Úclsr&   Úpath_s   && r   rk   ÚLocalFileSystem._parentî   s|   € à×"Ñ" 4Ó(ˆÜ�6‰6�SŒ=à—;‘;˜s AÓ& qÕ)×0Ð0¨SÐ0ð —K‘K  QÓ'¨Õ*ˆEÜ�5‹z˜QŒØ˜•: Ô$à  �8 d�?Ð*àˆLr   c                óÒ  € \        V4      p\        V P                  \        4      '       d   V P                  3MV P                  pR  V 4       pV F-  pVP	                  V4      '       g   K  VP                  V4      p M	  \        V4      p\        P                  R8w  d¤   VR,          R8X  d   VR,          VR,          rMVVR,          R8X  dG   VP                  R^4      ;pR	8X  g!   VP                  RV^,           4      ;pR	8X  d   TRrMVRV WR rMRpVP                  R4      ;'       g    V P                  pWQ,           # VP                  R4      ;'       g    V P                  # )
c              3   óD   "  € T F  pR F  q!V,           x € K  	  K  	  R# 5i)r­   N)r­   rÑ   r   )Ú.0r®   rÓ   s   &  r   Ú	<genexpr>Ú2LocalFileSystem._strip_protocol.<locals>.<genexpr>  s   é € ÐR±6 xÃ\¸c˜s—N’NÁ\‘N³6ùs   ‚ r   rÏ   rÑ   :Nr…   Nºr…   NNú//Ú Néÿÿÿÿ)r   rO   r®   r¯   Ú
startswithÚremoveprefixÚmake_path_posixr$   rÓ   ÚfindÚrstripÚroot_marker)rÖ   r&   ÚprotosÚprefixesÚprefixÚdriveÚindex1Úindex2s   &&      r   r    ÚLocalFileSystem._strip_protocolþ   s>  € ä˜dÓ#ˆÜ$.¨s¯|©|¼S×$AÒ$A�#—,‘,‘ÀsÇ|Á|ˆÙR±6ÓRˆÛˆFØ�‰˜v×&Ô&Ø×(Ñ(¨Ó0�Ùñ ô
 ˜tÓ$ˆÜ�6‰6�SŒ=ð �C�y˜CÔð # 2�h¨¨R­‘tØ�b•˜TÔ!ð #Ÿi™i¨¨QÓ/Ð/�F°BÔ6Ø"Ÿi™i¨¨V°a­ZÓ8Ð8�FØô;ð #'¨™4à"& w¨ -°°g°™4ð �à—;‘;˜sÓ#×6Ð6 s§¡ˆDØ•<Ðð —;‘;˜sÓ#×6Ð6 s§¡Ð6r   c                ó   € R # ©Tr   r   s   &r   Ú_isfilestoreÚLocalFileSystem._isfilestore#  s   € ñ r   c                óD   € \        V4      p\        P                  ! W4      # r,   )r   r$   Úchmod)r   r&   rI   s   &&&r   rô   ÚLocalFileSystem.chmod)  s   € Ü˜dÓ#ˆÜ�xŠx˜Ó#Ð#r   )r   )rA   r   )Frð   r,   ©FNrz   ))Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rç   r®   Ú
local_filer   Úpropertyr   r%   r#   r-   r=   r4   rh   rs   rl   ro   r   r‚   r�   r_   r—   rF   r    rª   r°   r·   r¾   rE   rÌ   Úclassmethodrk   r    rñ   rô   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   rŠ   s   @@r   r
   r
      sæ   ù‡ € ñð €KØ€HØ€J÷%ð ñó ðô%ô-òôò&1òf!ò
+ò$ò#ô8ô4÷"ò "ò$ò
'÷
:ð :ò.ôò&ô
>ô	!ò
òXð ñó ðð ñ"7ó ð"7òH÷$ò $r   r
   c                óN  € \        V \        4      '       gk   \        V \        \        \        34      '       d   \        V 4      ! R V  4       4      # \        V 4      p \        V \        4      '       g   \        RV : R24      h\        P                  R8X  d‹   V P                  R4      '       d   V # V P                  R4      '       d   \        P                  ! V 4      # V P                  R4      '       d   V R,          p M	V R8X  d   R	p \        P                  ! 4        RV  2# V R
,          R8X  d   V R,          R8X  d
   V R,          p V R,          R8X  d5   \        V 4      ^8:  d   V ^ ,          R,           # V P                  RR4      p V # V R
,          R8X  d    \!        \        P                  ! V 4      4      # V P                  R4      '       d!   RV R,          P                  RR4      ,           # V P                  R4      '       dG   V P                  RR4      p \        P"                  ! \        P                  ! 4       4      ^ ,           V  2# V P                  RR4      p V P                  R4      '       d   V R,          p M	V R8X  d   R	p \!        \        P                  ! 4       4       RV  2# )z-Make path generic and absolute for current OSc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir,   )rä   )rÛ   r©   s   & r   rÜ   Ú"make_path_posix.<locals>.<genexpr>2  s   é € Ð?¹$°Qœo¨a×0Ð0»$ùs   ‚zcould not convert z
 to stringr   Ú~z./rÞ   Ú.rà   :r   rÐ   N:r…   é   NrÑ   :rÐ   NNrÏ   rÒ   Ú\rß   )z\\rß   )r  r   )rO   r¯   r£   ÚsetÚtupler1   r   Ú	TypeErrorr$   rÓ   râ   rg   Ú
expanduserr¦   rÕ   Úreplacerä   Ú
splitdriverÁ   s   &r   rä   rä   .  s  € ä�dœC× Ò Ü�dœT¤3¬Ð.×/Ò/Ü˜”:Ñ?¹$Ó?Ó?Ð?ä! $Ó'ˆDÜ˜d¤C×(Ò(ÜÐ"4°T±H¸JÐ GÓHÐHÜ	‡v�v�„}à�?‰?˜3×ÒàˆKØ�_‰_˜S×!Ò!Ü—>’> $Ó'Ð'Ø�_‰_˜T×"Ò"Ø˜•8‰DØ�SŒ[ØˆDÜ—)’)“+�˜a ˜vÐ&Ð&ð ��9˜Ô  S¥	¨SÔ 0à˜•8ˆDØ��9˜Ôä�4‹y˜AŒ~à˜A•w •~Ð%Ø—<‘<  cÓ*ˆDØˆKØ�#�Y˜#ÔÜ"¤3§>¢>°$Ó#7Ó8Ð8Ø�_‰_˜^×,Ò,à˜$˜r�(×*Ñ*¨4°Ó5Õ5Ð5Ø�_‰_˜[×)Ò)à—<‘<  cÓ*ˆDÜ—n’n¤R§Y¢Y£[Ó1°!Õ4Ð5°d°VÐ<Ð<à—<‘<  cÓ*ˆDØ�‰˜t×$Ò$Ø˜B•x‘Ø˜”Ø�Ü%¤b§i¢i£kÓ2Ð3°1°T°FÐ;Ð;r   c                óÂ   € V P                  \        P                  4      ;'       g:    \        P                  RJ;'       d     V P                  \        P                  4      # )z¥Return True if the path ends with a path separator.

A forward slash is always considered a path separator, even on Operating
Systems that normally use a backslash.
N)Úendswithr$   rÓ   ÚaltseprÁ   s   &r   Útrailing_sepr  a  s=   € ð �=‰=œŸ™Ó ×XÐX¤R§Y¡Y°dÐ%:×%WÐ%W¸t¿}¹}ÌRÏYÉYÓ?WÐXr   )Úmaxsizec                ó0   € V ^8„  d   QhR\         R\         /# )r…   Úmaskr›   ©Úint)r‰   s   "r   r‹   r‹   n  s   € ÷ 	ñ 	”Cð 	¤Cñ 	r   c                ó^   € \         P                  ! V 4      p\         P                  ! V4       V# )z°Get the current umask.

Follows https://stackoverflow.com/a/44130549 to get the umask.
Temporarily sets the umask to the given value, and then resets it to the
original value.
)r$   Úumask)r  Úvalues   & r   Ú	get_umaskr  m  s!   € ô �HŠH�T‹N€EÜ‡H‚HˆU„OØ€Lr   c                   óø   a € ] tR tRt o R!R ltR tR tR tR tR t	R	 t
V 3R
 lR ltV 3R lR ltR tR tR tR tR tR tR tR tR"V 3R lR llt]R 4       tR tV 3R lR ltR tR tR tR tR tV tR# )#rµ   iz  Nc                óÚ   € \         P                  R V4       Wn        W n        W@n        RV n        W0n        \        W4      V n        \        P                  V n        V P                  4        R# )zopen file: %sN)ÚloggerÚdebugr&   rI   r´   r<   Ú
autocommitr   ÚcompressionÚioÚDEFAULT_BUFFER_SIZEÚ	blocksizer·   )r   r&   rI   r   r´   r!  r   s   &&&&&&,r   r   ÚLocalFileOpener.__init__{  sP   € ô 	�‰�_ dÔ+ØŒ	ØŒ	ØŒØˆŒØ$ŒÜ*¨4Ó=ˆÔÜ×/Ñ/ˆŒØ�
‰
Žr   c                óü  € V P                   e   V P                   P                  '       EdQ   V P                  '       g   RV P                  9  dt   \	        V P
                  V P                  R7      V n         V P                  '       d;   \        V P                  ,          pV! V P                   V P                  R7      V n         MN\        P                  ! 4       w  r#\        P                  ! V4       W0n        \	        W0P                  R7      V n         RV P                  9  dZ   V P                   P                  ^ ^4      V n        V P                   P                  ^ 4       V P                  V P                   n        R # R # R # )Nr³   ©rI   )r<   Úclosedr   rI   r|   r&   r!  r   ÚtempfileÚmkstempr$   r¼   ÚtempÚseekrD   )r   ÚcompressÚir3   s   &   r   r·   ÚLocalFileOpener._openˆ  sð   € Ø�6‰6Š>˜TŸV™VŸ]Ÿ]™]Ø��ˆ #¨T¯Y©YÔ"6Ü˜dŸi™i¨d¯i©iÔ8�”Ø×#×#Ð#Ü$ T×%5Ñ%5Õ6�HÙ% d§f¡f°4·9±9Ô=�D”Føô #×*Ò*Ó,‘�Ü—’˜”Ø ”	Ü˜d¯©Ô3�”Ø˜$Ÿ)™)Ô#Ø ŸF™FŸK™K¨¨1Ó-�”	Ø—‘—‘˜A”Ø"Ÿi™i�—‘–ñ $ñ +r   c                óÈ   € R V P                   9  d   \        hV P                  4        V P                  P	                  V4       V P                  P                  W!,
          4      # ©Úr)rI   r¤   r·   r<   r,  Úread)r   ÚstartÚends   &&&r   Ú_fetch_rangeÚLocalFileOpener._fetch_rangeš  sB   € à�d—i‘iÔÜÐØ�
‰
ŒØ�‰�‰�EÔØ�v‰v�{‰{˜3�;Ó'Ð'r   c                óò   € R V n         VP                  RR 4      pV P                  P                  V4       RVR,          9   d5   R V n         V P	                  4        V P                   P                  V4       R # R # )NÚlocr2  rI   )r<   ÚpopÚ__dict__Úupdater·   r,  )r   Ústater9  s   && r   Ú__setstate__ÚLocalFileOpener.__setstate__¢  s\   € ØˆŒØ�i‰i˜˜tÓ$ˆØ�‰×Ñ˜UÔ#Ø�%˜•-ÔØˆDŒFØ�J‰JŒLØ�F‰F�K‰K˜Öñ  r   c                ó
  € V P                   P                  4       pVP                  R 4       RV P                  9   d    V P                  P                  4       VR&   V# V P                  P                  '       g   \        R4      hV# )r<   r2  r9  z+Cannot serialise open write-mode local file)r;  Úcopyr:  rI   r<   Útellr(  r¤   )r   Úds   & r   Ú__getstate__ÚLocalFileOpener.__getstate__«  se   € Ø�M‰M×ÑÓ ˆØ	�‰ˆcŒ
Ø�$—)‘)ÔØ—v‘v—{‘{“}ˆAˆe‰Hð ˆð —6‘6—=—=�=Ü Ð!NÓOÐOØˆr   c                óº  € V P                   '       d   \        R 4      h \        P                  ! V P                  V P
                  4        Rp\        P                  ! V P
                  V\        V4      ( ,          4       R#   \         d     R# i ; i  \         d=   p\        P
                  P                  T P
                  4      '       g   Th Rp?R# Rp?ii ; i)z0Can only commit if not already set to autocommité¶  N)r   ÚRuntimeErrorrm   rŽ   r+  r&   r$   rô   r  ÚPermissionErrorr!   )r   r  Úes   &  r   ÚcommitÚLocalFileOpener.commitµ  s    € Ø�?�?ˆ?ÜÐQÓRÐRð	Ü�KŠK˜Ÿ	™	 4§9¡9Ô-ðØ�Ü—’˜Ÿ™ D¬I°d«OÐ+;Õ$;Ö<øÜô Úðûô ô 	ô
 —7‘7—>‘> $§)¡)×,Ò,Ø�õ -ûð	ús)   Ÿ+B Á4B ÂBÂBÂCÂ1CÃCc                ó€   € V P                   '       d   \        R 4      h\        P                  ! V P                  4       R# )z#Cannot discard if set to autocommitN)r   rH  r$   rŸ   r+  r   s   &r   ÚdiscardÚLocalFileOpener.discardÉ  s'   € Ø�?�?ˆ?ÜÐDÓEÐEÜ
�	Š	�$—)‘)Ör   c                ó    <€ V ^8„  d   QhRS[ /# rš   r‡   )r‰   rŠ   s   "€r   r‹   ÚLocalFileOpener.__annotate__Î  s   ø€ ÷ ñ ™$ñ r   c                ó   € R # rð   r   r   s   &r   ÚreadableÚLocalFileOpener.readableÎ  s   € Ùr   c                ó    <€ V ^8„  d   QhRS[ /# rš   r‡   )r‰   rŠ   s   "€r   r‹   rQ  Ñ  s   ø€ ÷ $ñ $™$ñ $r   c                ó    € R V P                   9  # r1  r'  r   s   &r   ÚwritableÚLocalFileOpener.writableÑ  s   € Ø˜$Ÿ)™)Ñ#Ð#r   c                ó:   € V P                   P                  ! V/ VB # r,   )r<   r3  ©r   Úargsr   s   &*,r   r3  ÚLocalFileOpener.readÔ  ó   € Ø�v‰v�{Š{˜DÐ+ FÑ+Ð+r   c                ó:   € V P                   P                  ! V/ VB # r,   )r<   ÚwriterZ  s   &*,r   r_  ÚLocalFileOpener.write×  s   € Ø�v‰v�|Š|˜TÐ, VÑ,Ð,r   c                ó:   € V P                   P                  ! V/ VB # r,   )r<   rB  rZ  s   &*,r   rB  ÚLocalFileOpener.tellÚ  r]  r   c                ó:   € V P                   P                  ! V/ VB # r,   )r<   r,  rZ  s   &*,r   r,  ÚLocalFileOpener.seekÝ  r]  r   c                ó:   € V P                   P                  ! V/ VB # r,   )r<   ÚseekablerZ  s   &*,r   rf  ÚLocalFileOpener.seekableà  ó   € Ø�v‰v�Š Ð/¨Ñ/Ð/r   c                ó:   € V P                   P                  ! V/ VB # r,   )r<   ÚreadlinerZ  s   &*,r   rj  ÚLocalFileOpener.readlineã  rh  r   c                ó:   € V P                   P                  ! V/ VB # r,   )r<   Ú	readlinesrZ  s   &*,r   rm  ÚLocalFileOpener.readlinesæ  s   € Ø�v‰v×Ò Ð0¨Ñ0Ð0r   c                ó6   € V P                   P                  4       # r,   )r<   r¼   r   s   &r   r¼   ÚLocalFileOpener.closeé  s   € Ø�v‰v�|‰|‹~Ðr   c                ó    <€ V ^8„  d   QhRS[ /# rš   r  )r‰   rŠ   s   "€r   r‹   rQ  ì  s   ø€ ÷ %ñ %¡Sñ %r   c                ó8   € V P                   P                  V4      # r,   )r<   r½   )r   rD   s   &&r   r½   ÚLocalFileOpener.truncateì  s   € Ø�v‰v�‰˜tÓ$Ð$r   c                ó.   € V P                   P                  # r,   )r<   r(  r   s   &r   r(  ÚLocalFileOpener.closedï  s   € à�v‰v�}‰}Ðr   c                ó6   € V P                   P                  4       # r,   )ÚrawÚfilenor   s   &r   rx  ÚLocalFileOpener.filenoó  s   € Ø�x‰x�‰Ó Ð r   c                ó   <€ V ^8„  d   QhRR/# )r…   r›   Nr   )r‰   rŠ   s   "€r   r‹   rQ  ö  s   ø€ ÷ ñ �tñ r   c                ó:   € V P                   P                  4        R # r,   )r<   Úflushr   s   &r   r|  ÚLocalFileOpener.flushö  s   € Ø�‰�‰Žr   c                ó6   € V P                   P                  4       # r,   )r<   Ú__iter__r   s   &r   r  ÚLocalFileOpener.__iter__ù  s   € Ø�v‰v�‰Ó Ð r   c                ó.   € \        V P                  V4      # r,   )r[   r<   )r   Úitems   &&r   Ú__getattr__ÚLocalFileOpener.__getattr__ü  s   € Ü�t—v‘v˜tÓ$Ð$r   c                ó   € R V n         V # rð   )Ú
_incontextr   s   &r   Ú	__enter__ÚLocalFileOpener.__enter__ÿ  s   € ØˆŒØˆr   c                óL   € R V n         V P                  P                  WV4       R# rö   )r†  r<   Ú__exit__)r   Úexc_typeÚ	exc_valueÚ	tracebacks   &&&&r   rŠ  ÚLocalFileOpener.__exit__  s   € ØˆŒØ�‰�‰˜¨YÖ7r   )
r†  r   r$  r!  r<   r´   rI   r&   rD   r+  )TNNr,   ) r÷   rø   rù   rú   r   r·   r6  r>  rD  rK  rN  rS  rW  r3  r_  rB  r,  rf  rj  rm  r¼   r½   rý   r(  rx  r|  r  rƒ  r‡  rŠ  rÿ   r   )rŠ   s   @r   rµ   rµ   z  sª   ø‡ € ôò(ò$(òòòò(÷
ð ÷$ð $ò,ò-ò,ò,ò0ò0ò1ò÷%ò %ð ñó ðò!÷ð ò!ò%ò÷8ð 8r   rµ   )rG  )rÅ   r"  Úloggingr$   Úos.pathr&   rg   rm   rQ   r)  Ú	functoolsr   Úfsspecr   Úfsspec.compressionr   Úfsspec.corer   Úfsspec.utilsr   r   Ú	getLoggerr  r
   rä   r  r  ÚIOBaserµ   r   r   r   Ú<module>r˜     sƒ   ðÛ Û 	Û Û 	Ý Û Û Û Ý å %Ý $Ý 'ß 3à	×	Ò	˜>Ó	*€ôX$Ð(ô X$òv0<òf	Yñ �1Ôö	ó ð	ôK8�b—i‘iö K8r   