+
    ~jg                       ^ RI H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 ^RIHtHt ]P"                  R	8X  dp   ^ RIt^ RIt^ R
IHt RtRt]P.                  ! RRR7      t]P2                  .]P4                  n        ]P8                  ]P4                  n        R R lt ! R R]4      tM ! R R]4      tR.t R# )    )annotationsN)suppress)EACCES)Path)cast)BaseFileLock)ensure_directory_existsraise_on_not_writable_filewin32)wintypesi   l    kernel32T)use_last_errorc                    V ^8  d   QhRRRR/# )   pathstrreturnbool )formats   "f/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/filelock/_windows.py__annotate__r      s     : : : :    c                    \         P                  V 4      pV\        8X  d*   \        P                  ! 4       pV^8X  d   R# V^8X  d   R# R# \        V\        ,          4      # )z
Check if a path is a reparse point (symlink, junction, etc.) on Windows.

:param path: Path to check

:returns: True if path is a reparse point, False otherwise

:raises OSError: If GetFileAttributesW fails for reasons other than file-not-found

F)	_kernel32GetFileAttributesWINVALID_FILE_ATTRIBUTESctypesget_last_errorr   FILE_ATTRIBUTE_REPARSE_POINT)r   attrserrs   &  r   _is_reparse_pointr#      sS     ,,T2++'')CaxaxE8899r   c                  2    ] tR t^2tRtR R ltR R ltRtR# )WindowsFileLockaV  
Uses the :func:`msvcrt.locking` function to hard lock the lock file on Windows systems.

Lock file cleanup: Windows attempts to delete the lock file after release, but deletion is
not guaranteed in multi-threaded scenarios where another thread holds an open handle. The lock
file may persist on disk, which does not affect lock correctness.
c                   V ^8  d   QhRR/# r   r   Noner   )r   s   "r   r   WindowsFileLock.__annotate__;   s     	4 	4d 	4r   c                	   \        V P                  4       \        V P                  4       \        V P                  4      '       d   R V P                   2p\	        V4      h\
        P                  \
        P                  ,          p \
        P                  ! V P                  W P                  4       4      p \        P                  ! V\        P                  ^4       W0P                  n        R#   \         d8   p\
        P                  ! T4       TP                   \"        8w  d   h  Rp?R# Rp?ii ; i  \         d"   pTP                   \"        8w  d   h  Rp?R# Rp?ii ; i)z1Lock file is a reparse point (symlink/junction): N)r
   	lock_filer	   r#   OSErrorosO_RDWRO_CREATopen
_open_modemsvcrtlockingLK_NBLCK_contextlock_file_fdcloseerrnor   )selfmsgflagsfd	exceptions   &    r   _acquireWindowsFileLock._acquire;   s    &t~~6#DNN3 !00I$..IYZcl" 		** 4WWT^^UOO4EF
4NN2v: 24MM.  HHRL &0 1  ??f, -s0   /D3 6&C. .D09,D++D03E>EEc                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r)   X   s     	. 	.d 	.r   c                	   \        R V P                  P                  4      pRV P                  n        \        P                  ! V\        P
                  ^4       \        P                  ! V4       \        \        4      ;_uu_ 4        \        V P                  4      P                  4        RRR4       R#   + '       g   i     R# ; i)intN)r   r5   r6   r2   r3   LK_UNLCKr-   r7   r   r,   r   r+   unlink)r9   r<   s   & r   _releaseWindowsFileLock._releaseX   sr    eT]]778B)-DMM&NN2v2HHRL'""T^^$++- #"""s   $B33C	r   N__name__
__module____qualname____firstlineno____doc__r>   rE   __static_attributes__r   r   r   r%   r%   2   s    		4:	. 	.r   r%   c                  2    ] tR t^ctRtR R ltR R ltRtR# )r%   zWUses the :func:`msvcrt.locking` function to hard lock the lock file on Windows systems.c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r)   f        	& 	&d 	&r   c                	    \         hNNotImplementedErrorr9   s   &r   r>   r?   f       %%r   c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r)   i   rP   r   c                	    \         hrR   rS   rU   s   &r   rE   rF   i   rV   r   r   NrG   r   r   r   r%   r%   c   s    e	&	& 	&r   )!
__future__r   r-   sys
contextlibr   r8   r   pathlibr   typingr   _apir   _utilr	   r
   platformr   r2   r   r    r   WinDLLr   LPCWSTRr   argtypesDWORDrestyper#   r%   __all__r   r   r   <module>rg      s    " 	 
      F<<7 $. ( j>I-5-=-=,>I  )+3>>I  (:.-., -.b&, & r   