
    2<gi                     B   d dl mZ d dlmZ 	 e 	 d dlmZ 	 d dl	m
Z
  G d	 d
e      Zde_         G d de      Z	 eefZd ZeefZ G d de      ZddZddZ G d de      Zy# e$ r d ZY `w xY w#   G d de      ZY lxY w# e$ r d Z
Y rw xY w# e$ r eZY ]w xY w)    )ref)BoundMethodWeakrefc                     t        | d      S )N__call__)hasattr)objects    F/var/www/html/myenv/lib/python3.12/site-packages/blinker/_utilities.pycallabler
   	   s    vz**    )defaultdictc                   >    e Zd Zd
dZd Zd Zd Zd Zd Zd Z	d	 Z
y)r   Nc                 v    |t        |d      st        d      t        j                  | g|i | || _        y )Nr   zfirst argument must be callable)r   	TypeErrordict__init__default_factory)selfr   akws       r	   r   zdefaultdict.__init__   s<    +OZ8 ABBMM$))b)#2D r   c                 p    	 t         j                  | |      S # t        $ r | j                  |      cY S w xY wN)r   __getitem__KeyError__missing__)r   keys     r	   r   zdefaultdict.__getitem__   s:    -''c22 -'',,-s    55c                 ^    | j                   t        |      | j                         x| |<   }|S r   )r   r   )r   r   values      r	   r   zdefaultdict.__missing__   s4    ##+sm# $ 4 4 66DILr   c                     | j                   t               }n| j                   f}t        |       |d d | j                         fS r   )r   tupletypeitems)r   argss     r	   
__reduce__zdefaultdict.__reduce__%   s>    ##+w++,:tT4==r   c                 "    | j                         S r   )__copy__r   s    r	   copyzdefaultdict.copy,   s    ==?"r   c                 :     t        |       | j                  |       S r   )r    r   r&   s    r	   r%   zdefaultdict.__copy__/   s    4:d22D99r   c                 |    dd l } t        |       | j                  |j                  | j	                                     S )Nr   )r'   r    r   deepcopyr!   )r   memor'   s      r	   __deepcopy__zdefaultdict.__deepcopy__2   s2    4:d22"mmDJJL9; ;r   c                 N    d| j                   dt        j                  |       dS )Nzdefaultdict(z, ))r   r   __repr__r&   s    r	   r/   zdefaultdict.__repr__7   s#    ,0,@,@,0MM$,?A Ar   r   )__name__
__module____qualname__r   r   r   r#   r'   r%   r,   r/    r   r	   r   r      s+    	3	-		>	#	:	;
	Ar   r   )contextmanagerc                 .    d }| j                   |_         |S )Nc                      t        d      )Nz8Python 2.5 or above is required to use context managers.)RuntimeError)r"   r   s     r	   oopszcontextmanager.<locals>.oops@   s      3 4 4r   )r0   )fnr8   s     r	   r4   r4   ?   s    	4 r   c                       e Zd Zd Zd Zd Zy)_symbolc                      |x| _         | _        y)zConstruct a new named symbol.N)r0   name)r   r=   s     r	   r   z_symbol.__init__H   s    $((	r   c                 (    t         | j                  ffS r   )symbolr=   r&   s    r	   r#   z_symbol.__reduce__L   s    		|##r   c                     | j                   S r   )r=   r&   s    r	   r/   z_symbol.__repr__O   s    yyr   N)r0   r1   r2   r   r#   r/   r3   r   r	   r;   r;   F   s    )$r   r;   r?   c                       e Zd ZdZi Zd Zy)r?   a?  A constant symbol.

    >>> symbol('foo') is symbol('foo')
    True
    >>> symbol('foo')
    foo

    A slight refinement of the MAGICCOOKIE=object() pattern.  The primary
    advantage of symbol() is its repr().  They are also singletons.

    Repeated calls of symbol('name') will all return the same instance.

    c                     	 | j                   |   S # t        $ r( | j                   j                  |t        |            cY S w xY wr   )symbolsr   
setdefaultr;   )clsr=   s     r	   __new__zsymbol.__new__d   s@    	?;;t$$ 	?;;))$>>	?s    .AAN)r0   r1   r2   __doc__rC   rF   r3   r   r	   r?   r?   T   s     G?r   c                    t        | d      r*t        | j                        t        | j                        fS t        | d      r*t        | j                        t        | j
                        fS t        | t              r| S t        |       S )N__func__im_func)r   idrI   __self__rJ   im_self
isinstancetext)objs    r	   hashable_identityrQ   q   sf    sJ3<< "S\\"233	i	 3;;CKK11	C	
#wr   c                       e Zd ZdZy)annotatable_weakrefz7A weakref.ref that supports custom instance attributes.N)r0   r1   r2   rG   r3   r   r	   rS   rS      s    Ar   rS   Nc                     t        |       rt        | |      }nt        | |      }|j                         D ]  \  }}t	        |||        |S )zReturn an annotated weak ref.)r
   callable_referencerS   r!   setattr)r   callbackannotationsweakr   r   s         r	   	referencerZ      sO    !&(3"684!'') "
Uc5!"Kr   c                     t        | d      r| j                  t        | |      S t        | d      r| j                  t        | |      S t	        | |      S )z@Return an annotated weak ref, supporting bound instance methods.rM   )target	on_deleterL   )r   rM   r   rL   rS   )r   rW   s     r	   rU   rU      sO    vy!fnn&@!8DD		$)D!8DDvx00r   c                       e Zd ZdZd Zd Zy)lazy_propertyz(A @property that is only evaluated once.c                 4    || _         |j                  | _        y r   )	_deferredrG   )r   deferreds     r	   r   zlazy_property.__init__   s    !''r   c                 r    || S | j                  |      }t        || j                   j                  |       |S r   )ra   rV   r0   )r   rP   rE   r   s       r	   __get__zlazy_property.__get__   s5    ;Ks#T^^,,e4r   N)r0   r1   r2   rG   r   rd   r3   r   r	   r_   r_      s    2(r   r_   r   )weakrefr   blinker._saferefr   r
   	NameErrorcollectionsr   r   
contextlibr4   ImportErrorr   r;   r0   r?   strunicoderO   rQ   	WeakTypesrS   rZ   rU   r_   r3   r   r	   <module>rn      s     /+,A'\)
f 
  ?V ?.>D
 $%	B# B1F _  +++*A)Ad )A\  ^  Ds>   A& A4 B B &A10A14BBBBB