Ë
    •KêjŽ5  ã                  ób  — U d Z ddlmZ g d¢ZddlZddlZddlZddlZddlZddl	m
Z
mZ ddlmZmZmZmZmZmZ ddlmZ ddlmZmZ dd	lmZmZmZmZ dd
lmZmZmZ ddl m!Z!m"Z"m#Z# erddl$m%Z%  e&edd«      Z'de(d<    e)ed«      xrk ejT                  ejV                  ej                  ejX                  ejZ                  ej\                  hej^                  k  xr ej`                  ejb                  v Z2de(d<    e&edd«      Z3de(d<    e4eeh«      Z5de(d<   dZ6de(d<    G d„ d«      Z7dd„Z8dgZ9y)z=The :class:`~._protocol.Files` implementation over :mod:`os`.é    )Úannotations)zfilelock._soft_rw._protocolzfilelock._strictzfilelock._utilÚpathlibN)ÚcontextmanagerÚsuppress)ÚELOOPÚEMLINKÚENOENTÚENOTDIRÚENXIOÚESTALE)ÚPath)ÚTYPE_CHECKINGÚFinal)Ú_GENERATIONS_DIRECTORYÚ_HOLDERS_DIRECTORYÚ_MAX_RECORD_SIZEÚTreeReplacedError)Ú_link_no_followÚ_pin_directoriesÚ _raise_if_hard_links_unsupported)Úensure_directory_existsÚforeign_directory_ownerÚ	write_all)Ú	GeneratorÚ
O_NOFOLLOWz
Final[int]Ú_O_NOFOLLOWÚlinkzFinal[bool]Ú_SUPPORTS_DIR_FDÚO_BINARYÚ	_O_BINARYzFinal[frozenset[int]]Ú_MISSING_ERRNOSg      à?zFinal[float]Ú_WINDOWS_OPEN_GRACEc                  ó¤   — e Zd ZdZdd„Zdd„Zddœdd„Zdd„Zdd„Zdd	„Z	dd
„Z
dd„Zddœdd„Zdd„Zdd„Zeddd„«       Zedd d„«       Zd!d„Zy)"ÚOsFilesziRecord files under a lock's protocol root, opened without following symlinks and owned by this UID alone.c                ó.   — || _         d| _        i | _        y )NF)Ú
_lock_fileÚ	_preparedÚ_identities)ÚselfÚ	lock_files     ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/filelock/_soft_rw/_storage.pyÚ__init__zOsFiles.__init__1   s   € Ø#ˆŒØˆŒØ79ˆÕó    c           	     óf  — | j                  |t        j                  t        z  t	        t        dd«      z  t
        z  «      x}€y 	 t        j                  t        j                  |«      j                  «      s	 t        j                  |«       yg }t        dz   }|dkD  rUt        j                  ||«      x}r=|j                  |«       |t        |«      z  }|dkD  rt        j                  ||«      x}rŒ=dj                  |«      t        j                  |«       S # t        j                  |«       w xY w)NÚ
O_NONBLOCKr   r-   é   )Ú_openÚosÚO_RDONLYr   Úgetattrr    ÚstatÚS_ISREGÚfstatÚst_modeÚcloser   ÚreadÚappendÚlenÚjoin)r)   ÚpathÚfdÚchunksÚ	remainingÚchunks         r+   r:   zOsFiles.read6   sò   € à—*‘*˜T¤2§;¡;´Ñ#<¼wÄrÈ<ÐYZÓ?[Ñ#[Ô^gÑ#gÓhÐhˆBÐqØð
	Ü—<‘<¤§¡¨£× 4Ñ 4Ô5Øô �H‰H�R�Lð #%ˆFÜ(¨1Ñ,ˆIØ˜a’-¬b¯g©g°b¸)Ó.DÐ%D UÐ%DØ—‘˜eÔ$ØœS ›ZÑ'�	ð ˜a’-¬b¯g©g°b¸)Ó.DÐ%D UÑ%Dð —8‘8˜FÓ#ä�H‰H�R�LøŒB�H‰H�R�Lús   Á2D ÂA$D Ã3D ÄD0F)Údurablec               ó6  — | j                  |«      5 \  }}t        j                  |t        j                  t        j                  z  t        j
                  z  t        z  t        z  d|¬«      }d d d «       	 t        |«       |rt        j                  |«       t        j                  |«      }t        j                  |«       |j                  |j                  fS # 1 sw Y   ŒoxY w# t        $ r( t        j                  «       | j                  |«       ‚ w xY w)Ni€  ©Údir_fd)Ú	_relativer2   ÚopenÚO_WRONLYÚO_CREATÚO_EXCLr   r    r   Úfsyncr7   ÚBaseExceptionr9   ÚunlinkÚst_devÚst_ino)r)   r>   ÚdatarC   ÚnamerF   r?   Úcreateds           r+   ÚcreatezOsFiles.createF   sØ   € Ø�^‰^˜DÓ!ð 	u¡^ d¨FÜ—‘˜œrŸ{™{¬R¯Z©ZÑ7¼"¿)¹)ÑCÄkÑQÔT]Ñ]Ð_dÐmsÔtˆB÷	uð		Ü�b˜$ÔÙÜ—‘˜”Ü—h‘h˜r“lˆGô 	�‰�ŒØ�~‰~˜wŸ~™~Ð-Ð-÷	uð 	uûô ò 	Ü�H‰H�RŒLà�K‰K˜ÔØð		ús   ’ACÁ68C' ÃC$Ã'1Dc                ó®  — d }| j                  |«      5 \  }}| j                  |«      5 \  }}	 t        ||||¬«       t        ||«      x}	�!|	t        ||«      k(  r	 d d d «       d d d «       yd d d «       d d d «       |�|‚y# t        $ r Y ŒOt        t        f$ r"}t        | j                  |«       |}Y d }~Œzd }~ww xY w# 1 sw Y   ŒTxY w# 1 sw Y   ŒXxY w)N©Ú
src_dir_fdÚ
dst_dir_fdTF)rG   r   ÚFileExistsErrorÚNotImplementedErrorÚOSErrorr   r&   Ú	_identity)
r)   ÚsourceÚtargetÚfailureÚsource_nameÚ	source_fdÚtarget_nameÚ	target_fdÚerrorÚidentitys
             r+   r   zOsFiles.linkV   sð   € Ø8<ˆØ�^‰^˜FÓ#ð 	Ñ'?¨°YÀÇÁÐPVÓAWð 	Ñ[sÐ\gÐirð Ü ¨[ÀYÐ[dÕeô & k°9Ó=Ð=�ÐJÈxÔ[dØ˜Yó\ò Pð ÷	÷ 	÷ 	÷ 	ð 	ð ÐØˆMØøô #ò ÙÜ'¬Ð1ò  Ü0°·±À%ÔHØ•ûð ú÷	ð 	ú÷ 	ð 	ús\   ”C©B?®B½B?ÁCÁ,CÂ	B<Â
B?ÂB<ÂB7Â2B?Â7B<Â<B?Â?C	ÃCÃCc                óú   — 	 | j                  |«      5 \  }}| j                  |«      5 \  }}t        j                  ||||¬«       d d d «       d d d «       y# 1 sw Y   ŒxY w# 1 sw Y   yxY w# t        $ r Y yw xY w)NrV   FT)rG   r2   ÚreplaceÚPermissionError)r)   r]   r^   r`   ra   rb   rc   s          r+   rg   zOsFiles.replacek   s‹   € ð	Ø—‘ Ó'ð aÑ+C¨K¸ÀTÇ^Á^ÐTZÓE[ð aÑ_wÐ`kÐmvÜ—
‘
˜;¨À	ÐV_Õ`÷a÷ að
 ÷að aú÷ að
 ûô ò 	áð	úsE   ‚A. “A"¨AÁA"ÁA. ÁA	ÁA"Á"A+Á'A. Á+A. Á.	A:Á9A:c           	     óB  — 	 | j                  |t        j                  t        z  t	        t        dd«      z  t
        z  «      }|€y	 t        j                  |«      }t        j                  |j                  «      r*|j                  |j                  f|k7  s|j                  dk7  r	 t        j                   |«       yt#        ||«       t        j                   |«       y# t        $ r}|j                  t        k7  r‚ Y d }~yd }~ww xY w# t        j                   |«       w xY w)Nr/   r   Fr0   T)r1   r2   rI   r   r4   r    r[   Úerrnor   r7   r5   r6   r8   rO   rP   Úst_nlinkr9   r   )r)   r>   rQ   re   r?   rd   Úopeneds          r+   Ú	overwritezOsFiles.overwritet   sã   € ð	Ø—‘˜D¤"§+¡+´Ñ";¼gÄbÈ,ÐXYÓ>ZÑ"ZÔ]fÑ"fÓgˆBð
 ˆ:Øð		ô —X‘X˜b“\ˆFÜ—<‘< §¡Ô/°F·M±MÀ6Ç=Á=Ð3QÐU]Ò3]Ðag×apÑapÐtuÒauØô �H‰H�R�Lô �b˜$Ôä�H‰H�RŒLØøô! ò 	Ø�{‰{œeÒ#ØÜûð	ûô �H‰H�R�Lús+   ‚A C ÁAD Â;D Ã	DÃ&C?Ã?DÄDc                ó  — 	 | j                  |«      5 \  }}t        j                  ||¬«       d d d «       y # 1 sw Y   y xY w# t        $ r2}|j                  t
        vrt        |t        «      s‚ Y d }~y Y d }~y d }~ww xY w©NrE   )rG   r2   rN   r[   rj   r!   Ú
isinstancerh   )r)   r>   rR   rF   rd   s        r+   rN   zOsFiles.unlink‹   sn   € ð	Ø—‘ Ó%ð /©¨$°Ü—	‘	˜$ vÕ.÷/÷ /ñ /ûäò 	ð �{‰{¤/Ñ1¼*ÀUÌOÔ:\Øô ;]Ô1ûð	ús0   ‚A “7®A ·A ¼A Á A Á	A>Á#A9Á9A>c                ó"  — 	 | j                  |«      5 }t        j                  |€|n|«      5 }|D �cg c]  }|j                  ‘Œ c}cd d d «       cd d d «       S c c}w # 1 sw Y   nxY wd d d «       y # 1 sw Y   y xY w# t        $ r g cY S w xY w©N)Ú
_directoryr2   ÚscandirrR   ÚFileNotFoundError)r)   r>   rF   ÚentriesÚentrys        r+   ÚlistdirzOsFiles.listdir•   s†   € ð	Ø—‘ Ó&ð 9¨&´"·*±*ÀVÀ^¹TÐY_Ó2`ð 9ÐdkØ07Ö8 u˜Ÿ
›
Ò8÷9÷ 9ò 9ùÚ8÷9ð 9ú÷ 9÷ 9ñ 9ûä ò 	ØŠIð	ús\   ‚B  “A4­A²AÁAÁ	A4Á	B  ÁAÁA(	Á$A4Á+B  Á4A=Á9B  Á=B  Â BÂB)Úforcec               óœ  — | j                   r|sy |r| j                  j                  «        t        |«       t	        |«      dft	        |t
        «      dft	        |t        «      dffD �]B  \  }}| j                  t        |«      |«      5 \  }}t        t        «      5  t        j                  |d|¬«       d d d «       t        j                  ||d¬«      }|€|j                  j                  «       nt        j                  |«      }d d d «       t        j                   j"                  «      rt%        |dd«      t        j&                  z  r|› d�}	t)        |	«      ‚t+        |«      }
|
�|› d	|
› d
�}	t)        |	«      ‚|j,                  |j.                  f| j                  t        |«      <   �ŒE d| _         y # 1 sw Y   �ŒxY w# 1 sw Y   Œ½xY w)Nr   r0   iÀ  rE   F©rF   Úfollow_symlinksÚst_file_attributeszB exists but is not a directory or is a symlink; refusing to use itú belongs to uid ú5, not to this process's account or the parent's ownerT)r'   r(   Úclearr   r   r   r   rG   Ústrr   rY   r2   Úmkdirr5   Úparentr7   ÚS_ISDIRr8   r4   ÚFILE_ATTRIBUTE_REPARSE_POINTr   r   rO   rP   )r)   Úrootry   Ú	directoryÚdepthrR   rF   Úfoundrƒ   ÚmsgÚowners              r+   ÚpreparezOsFiles.prepareœ   s£  € Ø�>Š>¡%ØÙØ×Ñ×"Ñ"Ô$Ü Ô%ä�$‹Z˜ˆOÜ�$Ô.Ó/°Ð3Ü�$Ô*Ó+¨QÐ/ð!
ó 	JÑˆI�uð
 —‘¤ I£°Ó6ð Y¹.¸4ÀÜœoÓ.ñ 9Ü—H‘H˜T 5°Õ8÷9ô Ÿ™ ¨VÀUÔK�Ø4:°N˜×)Ñ)×.Ñ.Ô0ÌÏÉÐQWÓHX�÷Yô —L‘L §¡Ô/Ü˜5Ð"6¸Ó:¼T×=^Ñ=^Ò^à"˜Ð#eÐf�Ü'¨Ó,Ð,Ü+¨E°6Ó:ˆEØÐ Ø"˜Ð#3°E°7Ð:oÐp�Ü'¨Ó,Ð,Ø/4¯|©|¸U¿\¹\Ð/IˆD×ÑœS ›^Ó,ð+	Jð, ˆ�÷!9ñ 9ú÷Yð Yús%   Â	GÂF5Â5AGÆ5F?Æ:GÇG	c                óX  — d }	 t        | j                  ||«      x}t        «      r|S |j                  t        v ry t        |t
        «      rt        j                  dk7  r|‚|€t        j                  «       t        z   }nt        j                  «       |k\  ry t        j                  d«       Œ¨)NÚwin32gü©ñÒMb`?)rp   Ú_attempt_openÚintrj   r!   rh   ÚsysÚplatformÚtimeÚ	monotonicr"   Úsleep)r)   r>   ÚflagsÚdeadlinerl   s        r+   r1   zOsFiles._openº   s‘   € ð "&ˆØÜ D×$6Ñ$6°t¸UÓ$CÐC˜&ÄSÔIØ�Ø�|‰|œÑ.ØÜ˜f¤oÔ6¼#¿,¹,È'Ò:QØ�ØÐÜŸ>™>Ó+Ô.AÑA‘Ü—‘Ó! XÒ-ØÜ�J‰J�uÔð r-   c                ó¸   — 	 | j                  |«      5 \  }}t        j                  |||¬«      cd d d «       S # 1 sw Y   y xY w# t        $ r}|cY d }~S d }~ww xY wro   )rG   r2   rH   r[   )r)   r>   r–   rR   rF   rd   s         r+   r�   zOsFiles._attempt_openÎ   sR   € ð	Ø—‘ Ó%ð ;©¨$°Ü—w‘w˜t U°6Ô:÷;÷ ;ò ;ûäò 	Ø�Lûð	ús6   ‚A “8®	A ¸A½A ÁA Á	AÁAÁAÁAc              #  ó²   K  — t         j                  j                  |«      \  }}| j                  ||«      5 }|€|n||f–— d d d «       y # 1 sw Y   y xY w­wrr   )r2   r>   Úsplitrs   )r)   r>   rˆ   r‡   rR   rF   s         r+   rG   zOsFiles._relativeÕ   sQ   è ø€ äŸ'™'Ÿ-™-¨Ó-‰ˆ	�4Ø�_‰_˜Y¨Ó.ð 	=°&Ø!˜>‘4¨t°fÐ<Ò<÷	=÷ 	=ñ 	=üs   ‚5A·AÁ	AÁAÁAc              #  óh  K  — |r—t         r‘| j                  ||dz
  «      5 \  }}	 t        j                  |t        j                  t        t        dd«      z  t        z  |¬«      }	 | j                  |||«       	 d d d «       	 –— t        j                  |«       y 	 t!        t#        |«      gt#        |«      j$                  ¢d | d d d…   Ž }|5  d –— d d d «       y # t        $ rH}|j                  t        t        t        t        t        dt        «      hvr‚ |› d�}t        |«      |‚d }~ww xY w# t        $ r t        j                  |«       ‚ w xY w# 1 sw Y   ŒÜxY w# t        j                  «       w xY w# t&        $ r }|j(                  › d�}t        |«      |‚d }~ww xY w# 1 sw Y   y xY w­w)Nr0   ÚO_DIRECTORYr   rE   ÚEFTYPEz7 is not a directory or is a symlink; refusing to use itéÿÿÿÿ)r   rG   r2   rH   r3   r4   r   r[   rj   r   r   r
   r   Ú_admitrM   r9   r   r   ÚparentsÚNotADirectoryErrorÚfilename)	r)   r>   rˆ   rR   Ú	parent_fdr?   rd   rŠ   Úpinss	            r+   rs   zOsFiles._directoryÛ   s�  è ø€ ñ Õ%Ø—‘  e¨a¡iÓ0ð Ñ4E°T¸9ð<ÜŸ™ ¤r§{¡{´W¼RÀÐPQÓ5RÑ'RÔU`Ñ'`ÐirÔs�BðØ—K‘K  D¨)Õ4÷ðØ’ä—‘˜•ð8Ü'¬$¨t«*Ð)J´t¸D³z×7IÑ7IÐ)JÈ6ÈEÐ)RÑSWÐUWÐSWÑ)XÐY�ð ñ Ø’
÷ð øô- ò <à—{‘{¬5´&¼'Ä7Ì5ÐRZÔ\aÓCbÐ*cÑcØØ!˜FÐ"YÐZ�CÜ+¨CÓ0°eÐ;ûð<ûô %ò Ü—H‘H˜R”LØðú÷ð ûô" —‘˜•ûô
 &ò 8ØŸ™Ð(Ð(_Ð`�Ü'¨Ó,°%Ð7ûð8ú÷ð üs    ‚F2 E¥?CÁ%D1Á9F2ÂE  ÂF2Â0E: ÃF2ÃF&Ã	F2Ã	D.Ã&AD)Ä)D.Ä.EÄ1 EÅEÅEÅF2Å E7Å7F2Å:	F#ÆFÆF#Æ#F2Æ&F/Æ+F2c                ó˜  — t        j                  |«      }|j                  |j                  f| j                  j                  |«      k(  ry |�t        j                  |«      n"t        |«      j                  j                  «       }t        ||«      x}�|› d|› d�}t        |«      ‚|j                  |j                  f| j                  |<   y )Nr~   r   )r2   r7   rO   rP   r(   Úgetr   rƒ   r5   r   r   )r)   r?   r>   r£   r‰   rƒ   r‹   rŠ   s           r+   rŸ   zOsFiles._admitÿ   s°   € ô —‘˜“ˆØ�L‰L˜%Ÿ,™,Ð'¨4×+;Ñ+;×+?Ñ+?ÀÓ+EÒEØØ(1Ð(=”—‘˜)Ô$Ä4ÈÃ:×CTÑCT×CYÑCYÓC[ˆÜ,¨U°FÓ;Ð;ˆEÐHØ�FÐ*¨5¨'Ð1fÐgˆCÜ# CÓ(Ð(Ø!&§¡¨u¯|©|Ð!;ˆ×Ñ˜Òr-   N)r*   r�   ÚreturnÚNone)r>   r�   r§   zbytes | None)r>   r�   rQ   ÚbytesrC   Úboolr§   útuple[int, int])r]   r�   r^   r�   r§   rª   )r>   r�   rQ   r©   re   r«   r§   rª   )r>   r�   r§   r¨   )r>   r�   r§   z	list[str])r†   r�   ry   rª   r§   r¨   )r>   r�   r–   r�   r§   ú
int | None)r>   r�   r–   r�   r§   zint | OSError)é   )r>   r�   rˆ   r�   r§   z!Generator[tuple[str, int | None]])r>   r�   rˆ   r�   r§   zGenerator[int | None])r?   r�   r>   r�   r£   r¬   r§   r¨   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r,   r:   rT   r   rg   rm   rN   rx   rŒ   r1   r�   r   rG   rs   rŸ   © r-   r+   r$   r$   .   sv   „ Ùsó:ó
ð  AFõ .ó ó*óó.óð 38õ ó<ó(ð ó=ó ð=ð
 ó!ó ð!ôF
<r-   r$   c                ó‚   — 	 t        j                  | |d¬«      }|j                  |j                  fS # t        $ r Y y w xY w)NFr{   )r2   r5   r[   rO   rP   )r>   rF   Ústs      r+   r\   r\     sB   € ðÜ�W‰W�T &¸%Ô@ˆð �9‰9�b—i‘iÐÐøô ò Ùðús   ‚2 ²	>½>)r>   r�   rF   r¬   r§   ztuple[int, int] | None):r±   Ú
__future__r   Ú__lazy_modules__rj   r2   r5   r‘   r“   Ú
contextlibr   r   r   r   r	   r
   r   r   r   r   Útypingr   r   Úfilelock._soft_rw._protocolr   r   r   r   Úfilelock._strictr   r   r   Úfilelock._utilr   r   r   Úcollections.abcr   r4   r   Ú__annotations__Úhasattrr   rH   r‚   ÚrenamerN   Úsupports_dir_fdrt   Úsupports_fdr   r    Ú	frozensetr!   r"   r$   r\   Ú__all__r²   r-   r+   ú<module>rÄ      s  ðÚ Cå "âcÐ ã Û 	Û Û 
Û ß /ß ?× ?Ý ß '÷ó ÷ aÑ `ß VÑ VáÝ)á! " l°AÓ6€ˆZÓ 6ñ ˆB�Óò %Ø	�‰�"—'‘'˜2Ÿ7™7 B§H¡H¨b¯i©i¸¿¹ÐCÀr×GYÑGYÑYò%à
�
‰
�b—n‘nÐ$ð �+ó ñ    J°Ó2€	ˆ:Ó 2á)2°F¸FÐ3CÓ)D€Ð&Ó Dð %(Ð �\Ó '÷[<ñ [<ó| ð ð�r-   