
    ij                    r    d dl mZ d dlZd dlmZmZmZmZ  G d de      Z	 ed      Z
 G d dee
         Zy)	    )annotationsN)AnyCallableGenericTypeVarc                      e Zd ZdddZy)ClassPropertyNc                `    | j                   J  | j                   j                  d |             S N)fget__get__)selfclsowners      9/DATA/.local/lib/python3.12/site-packages/path/classes.pyr   zClassProperty.__get__   s.    yy$$$-tyy  u-//    r   )r   r   r   ztype | Nonereturnr   )__name__
__module____qualname__r    r   r   r	   r	      s    0r   r	   _Tc                  ,    e Zd ZU dZded<   ddZddZy)	multimethodz|
    Acts like a classmethod when invoked from the class and like an
    instancemethod when invoked from the instance.
    Callable[..., _T]funcc                    || _         y r   )r   )r   r   s     r   __init__zmultimethod.__init__   s	    	r   c                    | t        j                  | j                  |      S t        j                  | j                  ||      S )z\
        If called on an instance, pass the instance as the first
        argument.
        )	functoolspartialr   )r   instancer   s      r   r   zmultimethod.__get__   sB      dii/	
 ""499eX>	
r   N)r   r   )r"   z	_T | Noner   ztype[_T] | Noner   r   )r   r   r   __doc____annotations__r   r   r   r   r   r   r      s    
 	
r   r   )
__future__r   r    typingr   r   r   r   propertyr	   r   r   r   r   r   <module>r(      s8    "  2 20H 0 T]
'"+ 
r   