
    ~f                    \    d dl mZ d dlZd dlZd dlZd dlZddddZddZ e	       Z
d	dZy)
    )annotationsN)sourcec               6    t        j                  | |||       y)zLike warnings.warn(), but category and stacklevel are required.

    You pretty much never want the default stacklevel of 1, so this helps
    encourage setting it explicitly.)category
stacklevelr   N)warningswarn)msgr   r   r   s       S/var/www/cvtools/html/venv/lib/python3.12/site-packages/traitlets/utils/warnings.pyr	   r	   	   s    
 MM#ZO    c                   |j                    d| d| }t        j                  |      D ]  }||j                  v s|} n |j                  j                  dd      d   }||f}t        |      sy	 t        j                  |       xs d}t        j                  |       d   xs d}	t        j                  |t        ||	       y# t        t        f$ r"}
t        |d|
z  z   t        d	       Y d}
~
yd}
~
ww xY w)
zShow deprecation warning about a magic method definition.

    Uses warn_explicit to bind warning to method definition instead of triggering code,
    which isn't relevant.
    .z! is deprecated in traitlets 4.1:    r   Nz	<unknown>z
(inspection failed) %s   )r   )__name__inspectgetmro__dict__
__module__splitshould_warngetsourcefilegetsourcelinesr   warn_explicitDeprecationWarningOSError	TypeErrorr	   )methodclsmethod_namer
   warn_msgparentpackage_namekeyfnamelinenoes              r   deprecated_methodr(      s    ,,q-NseTH..% &//)C
 >>''Q/2L
CsL%%f-<''/27a 	x);UFK Y 
2Q67	
 	

s   15C C4C//C4c                    t         j                  j                  d      }|r|dk7  ry| t        vrt        j	                  |        yy)zZAdd our own checks for too many deprecation warnings.

    Limit to once per package.
    TRAITLETS_ALL_DEPRECATIONS0TF)osenvironget_deprecations_shownadd)r$   env_flags     r   r   r   3   s@    
 zz~~:;HHO
%%$r   )
r
   strr   t.Anyr   intr   r3   returnNone)
r   r3   r   r3   r    r2   r
   r2   r5   r6   )r$   r3   r5   bool)
__future__r   r   r,   typingtr   r	   r(   setr/   r    r   r   <module>r=      s6    "  	   IM PL> e r   