+
    :1j                         R t ^ RIHtHtHtHt ^ RIHt ^ RIH	t	 ^ RI
HtHtHtHtHt ^ RIHtHtHt ^ RIHtHtHtHtHtHtHtHt ^RIHt ^RIH t  ^R	I!H"t"H#t# ^R
I$H%t%H&t& ]	! ]'4      t(R t)R t*]"3R lt+R t,R t-R# )zDDisk utility functions for modifying file and directory permissions.)EACCESENOENTEPERMEROFS)chain)	getLogger)X_OKaccesschmodlstatwalk)isdirisfilejoin)S_IEXECS_IMODES_ISDIRS_ISREGS_IWRITES_IXGRPS_IXOTHS_IXUSR)on_win)TRACE)	MAX_TRIESexp_backoff_fn)islinklchmodc                     \        V 4      P                  p\        V4      '       d.   \        V \	        V4      \
        ,          \        ,          4       R# \        V 4      '       d#   \        V \	        V4      \
        ,          4       R# \        V4      '       d#   \        V \	        V4      \
        ,          4       R# \        P                  R V 4       R#   \         d   p\        TRR4      pT\        39   d   \        P                  RT 4       h T\        \         \"        39   d   \        P                  RY4        Rp?R# \        P%                  RY4       h Rp?ii ; i)z path cannot be made writable: %sTerrnoNz,tried to make writable, but didn't exist: %sz%tried make writable but failed: %s
%rFz!Error making path writable: %s
%r)r   st_moder   r
   r   r   r   r   r   r   logdebug	Exceptiongetattrr   r   r   r   warning)pathmodeeenos   &   ?lib/python3.14/site-packages/conda/gateways/disk/permissions.pymake_writabler+      s   T{""4==$07:;  D\\412
 	 T]]$01  II8$? 
a$'6)IIDdKVUE**II>HKK<dF
s1   AC 1C 1C ;C EAE EEc                    \        V 4      P                  p\        V4      '       d$   \        V \	        V4      \
        ( ,          4       R# \        V 4      '       d$   \        V \	        V4      \
        ( ,          4       R# \        V4      '       d$   \        V \	        V4      \
        ( ,          4       R# \        P                  R V 4       R# )z!path cannot be made read only: %sT)r   r    r   r
   r   r   r   r   r   r!   r"   r&   r'   s   & r*   make_read_onlyr.   -   s    ;Dt}}dGDMXI-.  
tWT]hY./
 	 
dGDMXI-.  			5t<    c           	      v   \        V 4      '       dR   \        V 4       F@  w  r#p\        P                  ! WC34       F  p  \	        \
        \        W 4      VR 7       K!  	  KB  	  R# \	        \
        WR 7       R#   \         d8   pTP                  \        8X  d   \        P                  RT 4        Rp?Kx  h Rp?ii ; i))	max_trieszno such file or directory: %sN)r   r   r   from_iterabler   r+   r   OSErrorr   r   r!   r"   )r&   r1   rootdirsfilesr(   s   &&    r*   recursive_make_writabler7   :   s     T{{!%dD++UM:"=$t2BiX ; ", 	}d@  ww&(		"A4HH	s   A66B8+B32B33B8c                 $   \        V 4      '       di   \        V 4      P                  p\        P                  \        R V 4       \        V \        V4      \        ,          \        ,          \        ,          4       R# \        P                  RV 4       R# )zchmod +x %sz Cannot make path '%s' executableN)r   r   r    r!   r   r
   r   r   r   r   errorr-   s   & r*   make_executabler:   L   sV    d||T{""}d+dGDMG+g5?@		4d;r/   c                     \        V 4      '       d.   \        '       d   V P                  R4      # \        V \        4      # R# ).exeF)r<   z.bat)r   r   endswithr	   r   )r&   s   &r*   is_executabler>   U   s.    d||28&t}}-.PfT4>PPr/   N).__doc__r   r   r   r   r   	itertoolsr   loggingr   osr   r	   r
   r   r   os.pathr   r   r   statr   r   r   r   r   r   r   r   common.compatr   common.constantsr    r   r   linkr   r   __name__r!   r+   r.   r7   r:   r>    r/   r*   <module>rK      sa    K . .   / / ' ' X X X # % '  2
 -6 A$<r/   