
    d                         d dl Z 	 d dlmZmZ n# e$ r dZd dlmZ Y nw xY w e            Zd Zd Z	d Z
d Zd Zd	 Zd
 Zd Zd Zd Zd Zed Znd Zd ZdS )    N)	Parameter	signature)getfullargspecc                     | dz   S )z Add one to the current value     xs    _/home/feoh/.local/pipx/venvs/poetry/lib/python3.11/site-packages/pyrsistent/_transformations.pyincr          q5L    c                     | dz
  S )z% Subtract one from the current value r   r   r	   s    r   decr      r   r   c                 0    	 | |= dS # t           $ r Y dS w xY w)zL Discard the element and returns a structure without the discarded elements N)KeyError)evolverkeys     r   discardr      s4    CLLL   s    
c                 6    t          j        |           fdS )zE Regular expression matcher to use together with transform functions c                 X    t          | t                    o                    |           S N)
isinstancestrmatch)r   rs    r   <lambda>zrex.<locals>.<lambda>"   s     z#s++< r   )recompile)exprr   s    @r   rexr!      s!    

4A<<<<<r   c                     dS )z  Matcher that matches any value Tr   )_s    r   nyr$   %   s    4r   c              #   j   K   t          dt          |           |          D ]}| |||z            V  d S )Nr   )rangelen)lnis      r   _chunksr+   +   sL      1c!ffa    !a%j r   c                 X    | }t          |d          D ]\  }}t          |||          }|S )N   )r+   _do_to_path)	structuretransformationsr   pathcommands        r   	transformr3   0   s<    A !44 * *g4))Hr   c                     |st          |          r ||           n|S t          | |d                   }t          | ||dd          |          S )Nr   r   )callable_get_keys_and_values_update_structure)r/   r1   r2   kvss       r   r.   r.   7   s\     D%-g%6%6Cwwy!!!GC
y$q'
2
2CYT!""Xw???r   c                     	 |                                  S # t          $ r t          t          |                     cY S w xY wr   )itemsAttributeErrorlist	enumerate)r/   s    r   _itemsr>   ?   sN    *    * * *Ii(()))))*s    &??c                     	 t          | d          r| |         S t          | |          S # t          t          f$ r |cY S w xY w)N__getitem__)hasattrgetattr
IndexErrorr   )r/   r   defaults      r   _getrE   G   s\    9m,, 	"S>!y#&&&!   s   * * A A c                    t                    r`t                    }|dk    rfdt          |           D             S |dk    rfdt          |           D             S t          d          t	          | t
                    fgS )Nr   c                 4    g | ]\  }} |          ||fS r   r   .0kvkey_specs      r   
<listcomp>z(_get_keys_and_values.<locals>.<listcomp>Y   s.    HHHtq!HHQKKHQFHHHr   r-   c                 6    g | ]\  }} ||          ||fS r   r   rH   s      r   rM   z(_get_keys_and_values.<locals>.<listcomp>]   s0    KKKtq!HHQNNKQFKKKr   z5callable in transform path must take 1 or 2 arguments)r5   
_get_arityr>   
ValueErrorrE   _EMPTY_SENTINEL)r/   rL   aritys    ` r   r6   r6   R   s     8$$A:: IHHHvi'8'8HHHHaZZ LKKKvi'8'8KKKK G  
 tIxAABCCr   c                 v    t          |           }t          |j                  t          |j        pd          z
  S )Nr   )r   r'   argsdefaults)fargspecs     r   rO   rO   i   s4     ##7<  3w'7'=2#>#>>>r   c                 |    t          d t          |           j                                        D                       S )Nc              3   ~   K   | ]8}|j         t          j        u r#|j        t          j        t          j        fv 4d V  9dS )r   N)rD   r   emptykindPOSITIONAL_ONLYPOSITIONAL_OR_KEYWORD)rI   ps     r   	<genexpr>z_get_arity.<locals>.<genexpr>n   sX       
 
yIO++94i6UVVV	  WVVV
 
r   )sumr   
parametersvalues)rV   s    r   rO   rO   m   sG     
 
 ||&--//
 
 
 
 
 	
r   c                 6   ddl m} |                                 }|s/|t          u r&t	          |          D ]\  }}t          ||           n;|D ]8\  }}d}|t
          u rd} |            }t          |||          }	|	|us|r|	||<   9|                                S )Nr   )pmapFT)pyrsistent._pmaprd   r   r   reversedrQ   r.   
persistent)
r/   r8   r1   r2   rd   erJ   rK   is_emptyresults
             r   r7   r7   w   s    %%%%%%A Gw&&SMM 	 	DAqAqMMMM	  
	 
	DAqHO##  DFF D'22FQ(!<<>>r   )r   inspectr   r   ImportErrorr   objectrQ   r   r   r   r!   r$   r+   r3   r.   r>   rE   r6   rO   r7   r   r   r   <module>rn      sb   				',,,,,,,,, ' ' 'I&&&&&&&&'
 &((  
  
  = = =    
  @ @ @* * *  D D D, ? ? ? ?
 
 
    s    