+
    ‘°³jŠ  ã                  óü   a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHtH	t	H
t
 ^RIHtHt ^RIHtHt ^RIHt RtR	]R
&   RtR]R&   ]	R,          t ! R R]
4      t ! R R]4      tR R ltR R ltR R lt. ROtR# )é    )ÚannotationsN)Úsuppress)ÚFinalÚLiteralÚ
NamedTuple)Ú	host_nameÚprocess_start_token)ÚSoftFileLockÚ_read_lock_file)Ú	write_allz
filelock/2z
Final[str]Ú	_PROTOCOLz
Final[int]Ú_MAX_PIDc                  ód   € ] tR t^t$ RtR]R&   R]R&   R]R&   RtR	]R
&   RtR]R&   RtR]R&   Rt	R# )ÚOwnerRecordz+The owner published in a protocol 2 marker.ÚintÚpidÚstrÚhostnameÚ	OwnerModeÚmodeNú
str | NoneÚtokenzfloat | NoneÚlease_durationú
int | NoneÚstart© )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r   r   r   Ú__static_attributes__r   ó    ÚQ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/filelock/_marker.pyr   r      s2   ‡ Ù5à	ƒHØƒMØ
ƒOØ€Eˆ:ÓØ#'€N�LÓ'Ø€Eˆ:×r$   r   c                  ó˜   € ] tR t^#t$ RtR]R&   ]R R l4       t]R R l4       t]R R	 l4       t	R
 R lt
R R ltR R ltR R ltRtR# )ÚMarkerSoftFileLockzAAn existence lock whose marker carries a protocol 2 owner record.r   Ú_owner_modec               ó   € V ^8„  d   QhRR/# ©é   ÚreturnúOwnerRecord | Noner   )Úformats   "r%   Ú__annotate__ÚMarkerSoftFileLock.__annotate__*   s   € ÷ "ñ "Ð)ñ "r$   c                ó"   € V P                  4       # )z•
The owner named by the marker on disk.

:returns: the published record, or ``None`` when no marker exists or its record is malformed or protocol 1

)Ú_read_owner©Úselfs   &r%   ÚownerÚMarkerSoftFileLock.owner)   s   € ð ×ÑÓ!Ð!r$   c               ó   € V ^8„  d   QhRR/# )r+   r,   r   r   )r.   s   "r%   r/   r0   4   s   € ÷ Lñ L�Zñ Lr$   c                óF   € V P                  4       ;pf   R# VP                  # )z”
The PID of the process holding this lock, read from the marker.

:returns: the PID, or ``None`` when no marker exists or its record is unreadable

N)r2   r   ©r4   r5   s   & r%   r   ÚMarkerSoftFileLock.pid3   s&   € ð "&×!1Ñ!1Ó!3Ð3˜Ò<ˆtÐKÀ%Ç)Á)ÐKr$   c               ó   € V ^8„  d   QhRR/# )r+   r,   Úboolr   )r.   s   "r%   r/   r0   >   s   € ÷ `ñ ` Dñ `r$   c                ó¼   € V P                  4       pVRJ;'       dB    VP                  \        P                  ! 4       8H  ;'       d    VP                  \        4       8H  # )z{
Whether the marker on disk names this process.

:returns: ``True`` when the marker's PID and hostname match this process

N)r2   r   ÚosÚgetpidr   r   r9   s   & r%   Úis_lock_held_by_usÚ%MarkerSoftFileLock.is_lock_held_by_us=   sI   € ð × Ñ Ó"ˆØ˜DÐ ×_Ð_ U§Y¡Y´"·)²)³+Ñ%=×_Ð_À%Ç.Á.ÔT]ÓT_ÑB_Ð_r$   c               ó   € V ^8„  d   QhRR/# )r+   r,   ÚNoner   )r.   s   "r%   r/   r0   H   s   € ÷ ñ ˜Tñ r$   c                ó&   € V P                  4        R# )a  
Remove the marker whoever holds it, so a later contender can acquire.

Forced breaking voids mutual exclusion: the previous holder keeps running and keeps using whatever the lock
protects. Reserve it for an operator clearing a marker whose holder is known to be gone.
N)Ú
break_lockr3   s   &r%   Úforce_breakÚMarkerSoftFileLock.force_breakH   s   € ð 	�‰Ör$   c               ó   € V ^8„  d   QhRR/# r*   r   )r.   s   "r%   r/   r0   Q   s   € ÷ ñ Ð/ñ r$   c                	óÂ   € \        \        \        4      ;_uu_ 4        \        \	        V P
                  4      ^ ,          4      uuRRR4       #   + '       g   i     R# ; i)r   N)r   ÚOSErrorÚ
ValueErrorÚparse_markerr   Ú	lock_filer3   s   &r%   r2   ÚMarkerSoftFileLock._read_ownerQ   s7   € Ü”gœz×*Õ*Ü¤°·±Ó ?ÀÕ BÓC÷ +×*×*Ñ*áús   �%AÁA	c               ó    € V ^8„  d   QhRRRR/# )r+   Úfdr   r,   rC   r   )r.   s   "r%   r/   r0   V   s   € ÷ ?ñ ? 3ð ?¨4ñ ?r$   c                	óL   € \        V\        V P                  4       4      4       R # )N)r   Úencode_markerÚ_published_record)r4   rP   s   &&r%   Ú_write_lock_infoÚ#MarkerSoftFileLock._write_lock_infoV   s   € Ü�"”m D×$:Ñ$:Ó$<Ó=Ö>r$   c               ó   € V ^8„  d   QhRR/# )r+   r,   r   r   )r.   s   "r%   r/   r0   Y   s   € ÷ 
ñ 
 ;ñ 
r$   c           	     	ó¢   € \        \        P                  ! 4       \        4       V P                  \        \        P                  ! 4       4      R 7      # ))r   r   r   r   )r   r>   r?   r   r(   r	   r3   s   &r%   rS   Ú$MarkerSoftFileLock._published_recordY   s4   € ÜÜ—	’	“Ü“[Ø×!Ñ!Ü%¤b§i¢i£kÓ2ô	
ð 	
r$   r   N)r   r   r   r    r!   r"   Úpropertyr5   r   r@   rF   r2   rT   rS   r#   r   r$   r%   r'   r'   #   sd   ‡ ÙKð Óàô"ó ð"ð ôLó ðLð ô`ó ð`õõõ
?÷
ñ 
r$   r'   c               ó    € V ^8„  d   QhRRRR/# )r+   Úrecordr   r,   Úbytesr   )r.   s   "r%   r/   r/   b   s   € ÷ 	;ñ 	;˜+ð 	;¨%ñ 	;r$   c                óº  € \         RV P                   2RV P                   2RV P                   2.pV P                  e   VP                  RV P                   24       V P                  e    VP                  RV P                  : 24       V P                  e   VP                  RV P                   24       RP                  R V 4       4      P                  4       # )	z>Render an owner record as the bytes a protocol 2 marker holds.zpid=zhost=zmode=ztoken=z	duration=zstart=Ú c              3  ó*   "  € T F	  q R 2x € K  	  R# 5i)Ú
Nr   )Ú.0Úlines   & r%   Ú	<genexpr>Ú encode_marker.<locals>.<genexpr>k   s   é € Ð1©5 4�V˜2•;«5ùs   ‚)
r   r   r   r   r   Úappendr   r   ÚjoinÚencode)r[   Úliness   & r%   rR   rR   b   s»   € ä˜$˜vŸz™z˜lÐ+¨u°V·_±_Ð4EÐ-FÈ%ÐPV×P[ÑP[È}ÐH]Ð^€EØ‡|�|ÒØ�‰�v˜fŸl™l˜^Ð,Ô-Ø×ÑÒ(Ø�‰�y ×!6Ñ!6Ñ 9Ð:Ô;Ø‡|�|ÒØ�‰�v˜fŸl™l˜^Ð,Ô-Ø�7‰7Ñ1©5Ó1Ó1×8Ñ8Ó:Ð:r$   c               ó    € V ^8„  d   QhRRRR/# )r+   Úcontentr   r,   r-   r   )r.   s   "r%   r/   r/   n   s   € ÷ 
!ñ 
!˜*ð 
!Ð);ñ 
!r$   c                ó  € V '       d9   V P                  4       P                  4       ;p'       d   V^ ,          \        8w  d   R# / pVR,           F&  pVP                  R4      w  rEpV'       g    R# WbV&   K(  	  \	        V4      # )zcReturn the owner a protocol 2 marker names, or ``None`` when the record is malformed or protocol 1.N:é   NNÚ=)ÚstripÚ
splitlinesr   Ú	partitionÚ_build_record)rj   rh   Úfieldsrb   ÚkeyÚ	separatorÚvalues   &      r%   rL   rL   n   so   € ç G§M¡M£O×$>Ñ$>Ó$@Ð@˜5Ö@ÀUÈ1ÅXÔQZÔEZÙØ€FØ�b—	�	ˆØ $§¡¨sÓ 3Ñˆ˜ßÚØˆs‹ñ	 ô
 ˜Ó Ð r$   c               ó    € V ^8„  d   QhRRRR/# )r+   rr   zdict[str, str]r,   r-   r   )r.   s   "r%   r/   r/   {   s   € ÷ qñ q˜.ð qÐ-?ñ qr$   c           	     ó  € V P                  R 4      ;pf   R# VR8X  d   RMRpV P                  R4      pV'       d   RV 9  d   R#  \        V R,          4      pRV 9   d   \        V R,          4      MRpRV 9   d   \        V R,          4      MRp^Tu;8:  d   \        8:  g    R#  R# T P                  R4      pTR8X  d.   Te(   Te$   \
        P                  ! T4      '       d   T^ 8”  g   R# \        YCY'YVR	7      #   \         d     R# i ; i)
r   NÚleaseÚunknownÚhostr   Údurationr   r   )r   r   r   r   r   r   )Úgetr   ÚfloatrK   r   ÚmathÚisfiniter   )rr   Ú	publishedr   r   r   r{   r   r   s   &       r%   rq   rq   {   sÿ   € ð
 —Z‘Z Ó'Ð'ˆ	Ò0ÙØ!*¨gÔ!5‘g¸9€DØ�z‰z˜&Ó!€Hß�u FÔ*ÙðÜ�&˜•-Ó ˆØ0:¸fÔ0D”5˜ 
Õ+Ô,È$ˆØ(/°6Ô(9”�F˜7•OÔ$¸tˆð �Ö”xÕÙð  ÙØ�J‰J�wÓ€Eð ˆw„˜EšM¨XÒ-=ÄdÇmÂmÐT\×F]ÒF]ÐbjÐmnÔbnÙÜ˜3¸ÐZbÔpÐpøô ô Úðús   ÁAC: Ã:D	ÄD	iÿÿÿ)rx   ry   )r'   r   r   rR   rL   )Ú__conditional_annotations__Ú
__future__r   r~   r>   Ú
contextlibr   Útypingr   r   r   Ú	_identityr   r	   Ú_softr
   r   Ú_utilr   r   r"   r   r   r   r'   rR   rL   rq   Ú__all__)r�   s   @r%   Ú<module>r‰      sw   øðß "Ð "ã Û 	Ý ß -Ñ -ç 5ß 0Ý ð
 %€	ˆ:Ó $à €ˆ*Ó  ð Ð&Õ'€	ô�*ô ô<
˜ô <
õ~	;õ
!õqò8‚r$   