
    5bhM                       d Z ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	 ddl
mZmZmZ ddlmZ ddlmZmZ ddlmZ  G d d	e      Z ee      D  ch c]  } | j1                  d
      r|  c} ZdZeZd Zd Zd Zd Z d Z!d Z"dydZ#d Z$d Z%d Z&d Z'dydZ(d Z)d Z*d Z+ G d de,      Z- G d de,      Z. e.       Z/e/j`                  Z0e/jb                  Z2e/jf                  Z4h d Z5d! Z6 G d" d#e7      Z8d$ Z9 G d% d&e,      Z: G d' d(e,      Z; G d) d*e;      Z< e= ee<      D  ch c]$  } | j1                  d+      r| j}                  d+      & c}       Z? G d, d-e7      Z@d. ZA G d/ d0e;      ZB G d1 d2eBe<      ZCd3 ZD G d4 d5e,      ZEd6 ZFe0dddddfdd7d8ZG	 	 dzd9ZHe0dddddfdd7d:ZI G d; d<e,      ZJd= ZKd> ZLeGeI_,        eJeI_M        eHeI_N        eLeI_O        d?eI_P        d@ZQdAZRdBj                  dC eRj                         D              ZUdBj                  dD eRj                         D              ZVh dEZWdF ZXdBj                  eQeReUeVg      j                         D ch c]  }dG|z  	 c}ZYh dHZZdIhZ[eZe[z  Z\eYeWz  Z]e]e\z  Z^h dJZ_dK dL dM dN dOZ`eaeaeaeadPddddQdRddPddSZbdT ZcdU ZddV ZedW ZfecedeeefdXZgdY Zh G dZ d[e;      Zi G d\ d]eie<      Zj G d^ d_ei      Zk G d` daeieC      Zl G db dce;      Zm	  ej                   eej                  d            Zp ee      Zq G dd dee;      Zs G df dgesekeC      Zt G dh die,      Zu eu       Zvdj Zw G dk dlex      Zy eydm      Zz	 	 d{dd7dnZ{do Z| G dp dqe,      Z} e~e{       e~evj                        fZdadadr Zd|dsZ G dt dueC      Zdv Z G dw dx      Zyc c} w c c} w c c}w # er$ r dZpY w xY w)})Mock	MagicMockpatchsentinelDEFAULTANYcallcreate_autospec	AsyncMock
FILTER_DIRNonCallableMockNonCallableMagicMock	mock_openPropertyMockseal    N)iscoroutinefunction)CodeType
ModuleType
MethodType)	safe_repr)wrapspartial)RLockc                       e Zd Zy)InvalidSpecErrorN__name__
__module____qualname__     7/opt/python-3.12.12/usr/lib/python3.12/unittest/mock.pyr   r   )   s    Br!   r   _Tc                     t        |       rt        | t              syt        | d      rt	        | d      } t        |       xs t        j                  |       S )NF__func__)_is_instance_mock
isinstancer
   hasattrgetattrr   inspectisawaitableobjs    r"   _is_async_objr.   5   sG    ji&@sJc:&s#?w':':3'??r!   c                 4    t        | dd       rt        |       S y)N__code__F)r)   r   )funcs    r"   _is_async_funcr2   =   s    tZ&"4((r!   c                 4    t        t        |       t              S N)
issubclasstyper   r,   s    r"   r&   r&   D   s     d3i11r!   c                 j    t        | t              xs" t        | t              xr t        | t              S r4   )r'   BaseExceptionr6   r5   r,   s    r"   _is_exceptionr9   J   s-    3& 	A3@*S-"@r!   c                 V    t        | t              rt        | d      r| j                  S | S Nmock)r'   FunctionTypesr(   r<   r,   s    r"   _extract_mockr>   Q   s%     #}%'#v*>xx
r!   c                 x   	 t        | t              r|s| j                  } d}nRt        | t        t        f      rt        | t              rd}| j
                  } nt        | t              s	 | j                  } |rt        | d       }n| }	 | t        j                  |      fS # t        $ r Y y w xY w# t        $ r Y y w xY wNT)r'   r6   __init__classmethodstaticmethodr%   r=   __call__AttributeErrorr   r*   	signature
ValueError)r1   as_instanceeat_selfsig_funcs       r"   _get_signature_objectrK   Z   s    
 $k}}	D;5	6dK(H}}m,	==D 4&W&&x000  		  s$   )B B- 	B*)B*-	B98B9Fc                     t        | ||      y \  } fd}t        | |       |t        |      _        t        |      _        y )Nc                *     j                   |i | y r4   bind)selfargskwargssigs      r"   checksigz"_check_signature.<locals>.checksig       $!&!r!   )rK   _copy_func_detailsr6   _mock_check_sig__signature__)r1   r<   	skipfirstinstancerT   rS   s        @r"   _check_signaturer[   }   sI    
h	
:C
{ID#"tX&!)DJ"DJr!   c           	      `    dD ]  }	 t        ||t        | |              y # t        $ r Y )w xY w)N)r   __doc____text_signature__r   __defaults____kwdefaults__)setattrr)   rE   )r1   funcopy	attributes      r"   rV   rV      s:    		GYi(@A  		s   !	--c                     t        | t              ryt        | t        t        t        f      rt        | j                        S t        | dd       yy)NTrD   F)r'   r6   rC   rB   r   	_callabler%   r)   r,   s    r"   re   re      sD    #t#k:>?&&sJ%1r!   c                 0    t        |       t        t        fv S r4   )r6   listtupler,   s    r"   _is_listri      s     9u%%r!   c                     	 t        | t              st        | dd       d uS | f| j                  z   D ]  }|j                  j                  d       y y)NrD   TF)r'   r6   r)   __mro____dict__get)r-   bases     r"   _instance_callablero      sZ    @c4 sJ-T99 $==Z(4 % r!   c                    t        |t              }t        |||      }|| S |\  }fd}t        ||       |j                  }|j                         sd}|| d}d|z  }	t        |	|       ||   }
t        |
|        |
S )Nc                  *     j                   | i | y r4   rN   )rQ   rR   rS   s     r"   rT   z _set_signature.<locals>.checksig   rU   r!   rb   )
_checksig_r<   zYdef %s(*args, **kwargs):
    _checksig_(*args, **kwargs)
    return mock(*args, **kwargs))r'   r6   rK   rV   r   isidentifierexec_setup_func)r<   originalrZ   rY   resultr1   rT   namecontextsrcrb   rS   s              @r"   _set_signaturer{      s    
 8T*I"8XyAF~ID#"tX&D%t4G$&*+C 	#wdmGs#Nr!   c                      _         fd}fd}fd}fd}fd}fd}fd}	 fd}
d	 _        d
 _        d  _        t	                _        t	                _        t	                _        j                   _        j                   _	        j                   _
        | _        | _        | _        |	 _        |
 _        | _        | _        | _        | _         _        y )Nc                  (     j                   | i |S r4   )assert_called_withrQ   rR   r<   s     r"   r~   z'_setup_func.<locals>.assert_called_with       &t&&777r!   c                  (     j                   | i |S r4   )assert_calledr   s     r"   r   z"_setup_func.<locals>.assert_called   s    !t!!42622r!   c                  (     j                   | i |S r4   )assert_not_calledr   s     r"   r   z&_setup_func.<locals>.assert_not_called   s    %t%%t6v66r!   c                  (     j                   | i |S r4   )assert_called_oncer   s     r"   r   z'_setup_func.<locals>.assert_called_once   r   r!   c                  (     j                   | i |S r4   )assert_called_once_withr   s     r"   r   z,_setup_func.<locals>.assert_called_once_with   s    +t++T<V<<r!   c                  (     j                   | i |S r4   )assert_has_callsr   s     r"   r   z%_setup_func.<locals>.assert_has_calls   s    $t$$d5f55r!   c                  (     j                   | i |S r4   )assert_any_callr   s     r"   r   z$_setup_func.<locals>.assert_any_call   s    #t##T4V44r!   c                      t               _        t               _        j                          j                  } t        |       r| ur| j                          y y y r4   )	_CallListmethod_calls
mock_calls
reset_mockreturn_valuer&   )retrb   r<   s    r"   r   z_setup_func.<locals>.reset_mock   sL    ({&[""S!#+NN +6!r!   Fr   )r<   called
call_count	call_argsr   call_args_listr   r   r   side_effect_mock_childrenr~   r   r   r   r   r   r   r   rX   _mock_delegate)rb   r<   rS   r~   r   r   r   r   r   r   r   s   ``         r"   ru   ru      s    GL8378=65 GNGG&[G$;G"G,,G**G!00G!3G&=G#/G-G#G)G 1G!3GG!Dr!   c           	           t         j                  j                   _        d _        d  _        t                _         fd}dD ]  }t         |t        ||              y )Nr   c                <     t        j                  |       |i |S r4   )r)   r<   )attrrQ   rR   r<   s      r"   wrapperz"_setup_async_mock.<locals>.wrapper
  s     'wtyy$'888r!   )assert_awaitedassert_awaited_onceassert_awaited_withassert_awaited_once_withassert_any_awaitassert_has_awaitsassert_not_awaited)	asyncio
coroutines_is_coroutineawait_count
await_argsr   await_args_listra   r   )r<   r   rc   s   `  r"   _setup_async_mockr     sV     ++99DDDO$;D
9,	 	i)!<=,r!   c                     d| dd z  | k(  S )N__%s__   r    rx   s    r"   	_is_magicr     s    d1Rj D((r!   c                        e Zd Z	 d Zd Zd Zy)_SentinelObjectc                     || _         y r4   r   rP   rx   s     r"   rA   z_SentinelObject.__init__"  s	    	r!   c                      d| j                   z  S Nzsentinel.%sr   rP   s    r"   __repr__z_SentinelObject.__repr__%      tyy((r!   c                      d| j                   z  S r   r   r   s    r"   
__reduce__z_SentinelObject.__reduce__(  r   r!   N)r   r   r   rA   r   r   r    r!   r"   r   r      s    '))r!   r   c                        e Zd Z	 d Zd Zd Zy)	_Sentinelc                     i | _         y r4   )
_sentinelsr   s    r"   rA   z_Sentinel.__init__.  s	    r!   c                 b    |dk(  rt         | j                  j                  |t        |            S )N	__bases__)rE   r   
setdefaultr   r   s     r"   __getattr__z_Sentinel.__getattr__1  s,    ;  ))$0EFFr!   c                      y)Nr   r    r   s    r"   r   z_Sentinel.__reduce__7  s    r!   N)r   r   r   rA   r   r   r    r!   r"   r   r   ,  s    KGr!   r   >   
_mock_namer   _mock_parentr   _mock_new_name_mock_new_parent_mock_side_effect_mock_return_valuec                 f    t         j                  |        d| z   }| |fd}| |fd}t        ||      S )N_mock_c                 N    | j                   }|t        | |      S t        ||      S r4   )r   r)   )rP   rx   	_the_namerS   s       r"   _getz"_delegating_property.<locals>._getL  s,    !!;4++sD!!r!   c                 Z    | j                   }||| j                  |<   y t        |||       y r4   )r   rl   ra   )rP   valuerx   r   rS   s        r"   _setz"_delegating_property.<locals>._setQ  s,    !!;',DMM)$Cu%r!   )_allowed_namesaddproperty)rx   r   r   r   s       r"   _delegating_propertyr   I  s>    t4I	 "
  $y & D$r!   c                       e Zd Zd Zd Zy)r   c                     t        |t              st        j                  | |      S t        |      }t        |       }||kD  ryt	        d||z
  dz         D ]  }| |||z    }||k(  s y y)NFr      T)r'   rg   __contains__lenrange)rP   r   	len_valuelen_selfisub_lists         r"   r   z_CallList.__contains__^  sw    %&$$T511J	t9xq(Y.23AAa	k*H5  4 r!   c                 >    t        j                  t        |             S r4   )pprintpformatrg   r   s    r"   r   z_CallList.__repr__l  s    ~~d4j))r!   N)r   r   r   r   r   r    r!   r"   r   r   \  s    *r!   r   c                    t        |      }t        |      sy|j                  s$|j                  s|j                  |j
                  y| }|||u ry|j
                  }||r| |_        ||_        |r| |_        ||_        y)NFT)r>   r&   r   r   r   r   )parentr   rx   new_name_parents        r"   _check_and_set_parentr   p  s    % EU#			U11				'				+G

 e** 
 !''#r!   c                       e Zd Zd Zd Zy)	_MockIterc                 $    t        |      | _        y r4   )iterr-   )rP   r-   s     r"   rA   z_MockIter.__init__  s    9r!   c                 ,    t        | j                        S r4   )nextr-   r   s    r"   __next__z_MockIter.__next__  s    DHH~r!   N)r   r   r   rA   r   r    r!   r"   r   r     s    r!   r   c                       e Zd ZeZdZd Zy)BaseNc                     y r4   r    rP   rQ   rR   s      r"   rA   zBase.__init__  s    r!   )r   r   r   r   r   r   rA   r    r!   r"   r   r     s     r!   r   c                      e Zd Z	  e       Z	 	 	 d+dZ	 	 	 d+dZd Zd,dZ	 	 d-dZ	d Z
d	 Zd
Z ee
ee      Zed        Z ed      Z ed      Z ed      Z ed      Z ed      Zd Zd Z eee      Zd.ddddedefdZd Zd Zd Zd Zd Zd Z d Z!d Z"d/dZ#d  Z$d! Z%d" Z&d# Z'd$ Z(d% Z)d& Z*d,d'Z+d( Z,d) Z-d0d*Z.y)1r   NFc                     | f}t        | t              s|xs |}|t        |      rt        | f}t        | j                  |d| j
                  i      }t        t        |       j                  |      }|S )Nr]   )	r5   AsyncMockMixinr.   r6   r   r]   _safe_superr   __new__)clsspecr   rx   spec_setr   _spec_state	_new_name_new_parent_spec_as_instance	_eat_selfunsaferR   basesspec_argnewrZ   s                    r"   r   zNonCallableMock.__new__  sm     #~.'4H#h(?'-3<<CKK(@A4<<SAr!   c                    ||}| j                   }||d<   ||d<   ||d<   ||d<   d|d<   ||}d}|
|d u}
| j                  |||	|
       i |d<   ||d	<   d |d
<   d|d<   d |d<   d|d<   t               |d<   t               |d<   t               |d<   ||d<   |r | j                  di | t	        t
        |       j                  ||||||       y )Nr   r   r   r   F_mock_sealedTr   _mock_wrapsr   _mock_called_mock_call_argsr   _mock_call_count_mock_call_args_list_mock_mock_callsr   _mock_unsafer    )rl   _mock_add_specr   configure_mockr   r   rA   )rP   r   r   rx   r   r   r   r   r   r  r  r  rR   rl   s                 r"   rA   zNonCallableMock.__init__  s*   
  K==#) !%%.!"'2#$#( DHd*ID(,=yI%'!""'%)!"#( &*"#'(#$+4;'('0{#$#,; #) D)&)OT*33%x	
r!   c                 n    	 t        |      }d |_        d |_        d|_        d |_        t        | ||       y N )r>   r   r   r   r   ra   )rP   r<   rc   
inner_mocks       r"   attach_mockzNonCallableMock.attach_mock  s@    	C #4(
"&
&*
# "
$(
!i&r!   c                 *    	 | j                  ||       y r4   )r  rP   r   r   s      r"   mock_add_speczNonCallableMock.mock_add_spec  s    	N
 	D(+r!   c                    t        |      rt        d|d      d }d }g }|{t        |      spt        |t              r|}nt	        |      }t        |||      }|xr |d   }t        |      }	|	D ]*  }
t        t        ||
d             s|j                  |
       , |	}| j                  }||d<   ||d<   ||d<   ||d<   ||d<   y )	Nz#Cannot spec a Mock object. [object=]r   _spec_class	_spec_set_spec_signature_mock_methods_spec_asyncs)r&   r   ri   r'   r6   rK   dirr   r)   appendrl   )rP   r   r   r  r  r  r  r   res	spec_listr   rl   s               r"   r  zNonCallableMock._mock_add_spec  s    T""%HPQ#RSSHTN$%""4j'(99FC!nc!fOD	I!&wtT4'@A ''- " D=="- (&5"#$(!#/ r!   c                     | j                   }| j                  | j                  j                  }|t        u r&| j                  | j                  | d      }|| _        |S )N()r   r   )r   r   r   r   r	  _get_child_mock)rP   r   s     r"   __get_return_valuez"NonCallableMock.__get_return_value  se    %%*%%22C'>d..6&& D ' C !$D
r!   c                 j    | j                   || j                   _        y || _        t        | |d d       y )Nr&  )r   r   r   r   )rP   r   s     r"   __set_return_valuez"NonCallableMock.__set_return_value*  s2    */4D,&+D#!$tT:r!   z1The value to be returned when the mock is called.c                 H    | j                   t        |       S | j                   S r4   )r  r6   r   s    r"   	__class__zNonCallableMock.__class__6  s$    #:r!   r   r   r   r   r   c                     | j                   }|| j                  S |j                  }|8t        |      s-t	        |t
              st        |      st        |      }||_        |S r4   )r   r   r   callabler'   r   r9   )rP   	delegatedsfs      r"   __get_side_effectz!NonCallableMock.__get_side_effectC  s\    ''	)))""N8B<"2y1-:K2B$&I!	r!   c                 T    t        |      }| j                  }||| _        y ||_        y r4   )	_try_iterr   r   r   )rP   r   r0  s      r"   __set_side_effectz!NonCallableMock.__set_side_effectN  s-    % ''	%*D"$)I!r!   r   r   r   r   c                   	 |g }t        |       |v ry |j                  t        |              d| _        d | _        d| _        t               | _        t               | _        t               | _        |rt        | _
        |rd | _        | j                  j                         D ]/  }t        |t              s|t         u r|j#                  |||       1 | j                  }t%        |      r|| ur|j#                  |       y y y )NFr   r6  )idr"  r   r   r   r   r   r   r   r   r   r   r   valuesr'   
_SpecState_deletedr   r&   )rP   visitedr   r   childr   s         r"   r   zNonCallableMock.reset_mockY  s     	8?Gd8wr$x #+'k%K&-D#%)D"((//1E%,0AW<[Y 2
 %%S!coNN7# '6!r!   c                    	 t        |j                         d       D ]H  \  }}|j                  d      }|j                         }| }|D ]  }t	        ||      } t        |||       J y )Nc                 *    | d   j                  d      S )Nr   .)count)entrys    r"   <lambda>z0NonCallableMock.configure_mock.<locals>.<lambda>  s    q1Dr!   )keyr@  )sorteditemssplitpopr)   ra   )rP   rR   argvalrQ   finalr-   rB  s           r"   r  zNonCallableMock.configure_mocky  sm    	, v||~ $E	FHC
 99S>DHHJECc5) C$Fr!   c                    |dv rt        |      | j                  $|| j                  vs|t        v r$t        d|z        t        |      rt        |      | j                  sD| j                  r|| j                  vr*|j                  d      s|t        v rt        |d|d      t        j                  5  | j                  j                  |      }|t        u rt        |      |Jd }| j                  t        | j                  |      }| j                  | ||||       }|| j                  |<   nat        |t               rQ	 t#        |j$                  |j&                  |j(                  |j*                  |j,                        }|| j                  |<   d d d        |S # t.        $ r6 | j0                  d   xs | }t/        d|d	|d
| d|j$                  d	      w xY w# 1 sw Y   S xY w)N>   r  r  zMock object has no attribute %r)assertassretasertaseertassrtz6 is not a valid assertion. Use a spec for the mock if z is meant to be an attribute.)r   rx   r   r   r   r   Cannot autospec attr  from target , as it has already been mocked out. [target=, attr=r  )rE   r  _all_magicsr   r  
startswith_ATTRIB_DENY_LISTr   _lockr   rm   r;  r	  r)   r(  r'   r:  r	   r   r   rZ   r   rx   r   rl   )rP   rx   rw   r   target_names        r"   r   zNonCallableMock.__getattr__  s
   44 &&+4---1D$%F%MNNt_ &&  $*<*<DL^L^@^OPTX\mTm$h ''+h.KMN N ""((,,T2F!$T**##/ $D$4$4d;E--d%4 $ .  .4##D)FJ/
D,V__foov{{F .4##D); #>  ( D"&--"="EK*/x}&/ *##'('&++CD DD/ #> s&   6BGAFG?GGG(c                 |   | j                   g}| j                  }| }d}|dgk(  rd}|B|}|j                  |j                   |z          d}|j                   dk(  rd}|j                  }|Bt        t	        |            }|j
                  xs d}t        |      dkD  r|d   dvr|dz  }||d<   dj                  |      S )Nr@  r&  r  r<   r   )r&  z().r   )r   r   r"  rg   reversedr   r   join)rP   
_name_listr   lastdot_firsts         r"   _extract_mock_namez"NonCallableMock._extract_mock_name  s    ))*
''$C!Dg44s:;C%%-..G ! (:./
*Fz?Q!}M1#
1wwz""r!   c                     | j                         }d}|dvrd|z  }d}| j                  )d}| j                  rd}|| j                  j                  z  }dt	        |       j                  ||dt        |       dS )	Nr  )r<   zmock.z name=%rz spec=%rz spec_set=%r<z id='z'>)rb  r  r  r   r6   r8  )rP   rx   name_stringspec_strings       r"   r   zNonCallableMock.__repr__  s    &&((($t+K'$K~~,%(8(8(A(AAKJtH	
 	
r!   c                    	 t         st        j                  |       S | j                  xs g }t	        t        |             }t        | j                        }| j                  j                         D cg c]  \  }}|t        ur| }}}|D cg c]  }|j                  d      r| }}|D cg c]   }|j                  d      rt        |      r|" }}t        t        ||z   |z   |z               S c c}}w c c}w c c}w )Nr#   )r   object__dir__r  r!  r6   rg   rl   r   rF  r;  rW  r   rE  set)rP   extras	from_type	from_dictm_namem_valuefrom_child_mockses           r"   ri  zNonCallableMock.__dir__  s    F>>$''##)rT
O	'	*.*=*=*C*C*E(*Evwh& *E 	 ( !*C	1c1BQ		C ) #	1c1Bq\ 		 #c&9,y8;KKLMM( D#s   3C3C9%C9/%C>c                 `    |t         v rt        j                   ||      S  j                  r6 j                  *| j                  vr| j
                  vrt        d|z        |t        v rd|z  }t        |      |t        v r j                  | j                  vrt        d|z        t        |      s)t        t               |t        ||             | fd}n^t         |d |       t        t               ||       | j                  |<   n*|dk(  r| _        y t         |||      r| j                  |<    j                   r/t#         |      s# j%                          d| }t        d|       t'        |t(              r| j
                  |<   y t        j                   ||      S )Nz!Mock object has no attribute '%s'z.Attempting to set unsupported magic method %r.c                       g| i |S r4   r    )rQ   kwrv   rP   s     r"   rC  z-NonCallableMock.__setattr__.<locals>.<lambda>  s    HT,GD,GB,Gr!   r-  r@  zCannot set )r   rh  __setattr__r  r  rl   rE   _unsupported_magicsrV  r&   ra   r6   _get_methodr   r   r  r  r(   rb  r'   r   )rP   rx   r   msg	mock_namerv   s   `    @r"   ru  zNonCallableMock.__setattr__  s   >!%%dD%88nn!3!3!?***% !Dt!KLL((BTIC %%[ !!-$d>P>P2P$%H4%OPP$U+T
D+dE*BC G &dE4>T
D%0,1##D)[ $D$T5$=,1##D)WT4%82245Qtf=I ;yk!:;;e\*"'DMM$!!$e44r!   c                    |t         v r;|t        |       j                  v r$t        t        |       |       || j                  vry | j                  j                  |t              }|| j                  v r t        t        |       j                  |       n|t        u rt        |      |t        ur| j                  |= t        | j                  |<   y r4   )rV  r6   rl   delattrr   rm   _missingr   r   __delattr__r;  rE   )rP   rx   r-   s      r"   r}  zNonCallableMock.__delattr__+  s    ;44:+>+>#>DJ%4==( !!%%dH54== .::4@H_ &&h##D)$,D!r!   c                 <    | j                   xs d}t        |||      S r;   )r   _format_call_signaturerP   rQ   rR   rx   s       r"   _format_mock_call_signaturez+NonCallableMock._format_mock_call_signature=  s    (&%dD&99r!   c                 p    d}| j                  ||      }| j                  } | j                   | }||||fz  S )Nz0expected %s not found.
Expected: %s
  Actual: %s)r  r   )rP   rQ   rR   actionmessageexpected_stringr   actual_strings           r"   _format_mock_failure_messagez,NonCallableMock._format_mock_failure_messageB  sF    F::4HNN	888)D&/=AAAr!   c                 "   	 |s| j                   S d }|j                  dd      j                  d      }| j                  }|D ]K  }|j	                  |      }|t        |t              r |S t        |      }|j                  }|j                   }M |S )Nr&  r  r@  )r  replacerG  r   rm   r'   r:  r>   )rP   rx   rS   nameschildrenr=  s         r"   _get_call_signature_from_namez-NonCallableMock._get_call_signature_from_nameJ  s    		 '''T2&,,S1&&DLL&E}
5* = 
	 &e, //++  
r!   c                 x   	 t        |t              r#t        |      dkD  r| j                  |d         }n| j                  }|Pt        |      dk(  rd}|\  }}n|\  }}}	  |j
                  |i |}t        ||j                  |j                        S |S # t        $ r}|j                  d       cY d }~S d }~ww xY w)Nr   r   r  )r'   rh   r   r  r  rO   r   rQ   rR   	TypeErrorwith_traceback)rP   _callrS   rx   rQ   rR   
bound_callrq  s           r"   _call_matcherzNonCallableMock._call_matcherk  s    	 eU#E
Q44U1X>C&&C?5zQ$f%*"dF.%SXXt6v6
D*//:3D3DEE L  .''--.s    2B 	B9B4.B94B9c                     	 | j                   dk7  r<d| j                  xs dd| j                   d| j                         }t        |      y )Nr   
Expected 'r<   z"' to not have been called. Called  times.r   r   _calls_reprAssertionErrorrP   rx  s     r"   r   z!NonCallableMock.assert_not_called  sN    	??aoo//oo&&(*C !%%  r!   c                 `    	 | j                   dk(  rd| j                  xs dz  }t        |      y )Nr   z"Expected '%s' to have been called.r<   )r   r   r  r  s     r"   r   zNonCallableMock.assert_called  s9    	??a7OO-v/C %%  r!   c                     	 | j                   dk(  s<d| j                  xs dd| j                   d| j                         }t        |      y )Nr   r  r<   z#' to have been called once. Called r  r  r  s     r"   r   z"NonCallableMock.assert_called_once  sN    	!#oo//oo&&(*C !%% $r!   c                F    	  j                   ' j                        }d}d|d|}t        |       fd} j                  t	        fd            } j                   j                         }||k7  r%t        |t              r|nd }t         |             |y )Nznot called.z#expected call not found.
Expected: z
  Actual: c                  ,    j                        } | S r4   r  rx  rQ   rR   rP   s    r"   _error_messagez:NonCallableMock.assert_called_with.<locals>._error_message  s    33D&ACJr!   Ttwo)r   r  r  r  _Callr'   	Exception)rP   rQ   rR   expectedactualerror_messager  causes   ```     r"   r~   z"NonCallableMock.assert_called_with  s    	3 >>!77fEH"F)M //	 %%eT6N&EF##DNN3X *8Y ?HTE !12= r!   c                    	 | j                   dk(  s<d| j                  xs dd| j                   d| j                         }t        |       | j                  |i |S )Nr   r  r<   z' to be called once. Called r  )r   r   r  r  r~   rP   rQ   rR   rx  s       r"   r   z'NonCallableMock.assert_called_once_with  sa    	)!#oo//oo&&(*C !%%&t&&777r!   c           	          	 |D cg c]  } j                  |       }}t        d |D        d       }t         fd j                  D              }|sv||vrq|d}n1dj	                  |D cg c]  }t        |t              r|nd  c}      }t        | dt        |        j                  d      j                  d             |y t        |      }g }	|D ]  }
	 |j                  |
        |	r,t         j                  xs d	d
t        |	      d|d      |y c c}w c c}w # t        $ r |	j                  |
       Y lw xY w)Nc              3   B   K   | ]  }t        |t              s|  y wr4   r'   r  .0rq  s     r"   	<genexpr>z3NonCallableMock.assert_has_calls.<locals>.<genexpr>       FAZ9-Ea   c              3   @   K   | ]  }j                  |        y wr4   r  r  crP   s     r"   r  z3NonCallableMock.assert_has_calls.<locals>.<genexpr>  s     M_d003_   zCalls not found.z+Error processing expected calls.
Errors: {}
Expected: z  Actual)prefixr@  r<   z does not contain all of z in its call list, found z instead)r  r   r   r   formatr'   r  r  r  rstriprg   removerG   r"  r   rh   )rP   calls	any_orderr  r  r  	all_callsproblemrq  	not_foundkalls   `          r"   r   z NonCallableMock.assert_has_calls  s   	1 4995aD&&q)59FFMMT__MM	y(=0G ,-3V-5$7-5 *4Ay)AAt$K-5$7.8  %i  !!*5!1 2''z':AA#FGI 	
 O		D'  & 
  &*oo&?&?&+I&6	C 	 7 :$7  '  &'s   D,D$D))EEc                $   	 | j                  t        ||fd            }t        |t              r|nd }| j                  D cg c]  }| j                  |       }}|s|t        |      vr!| j                  ||      }t        d|z        |y c c}w )NTr  z%s call not found)r  r  r'   r  r   _AnyComparerr  r  rP   rQ   rR   r  r  r  r  r  s           r"   r   zNonCallableMock.assert_any_call  s    	,
 %%eT6N&EF&x;151D1DE1DA$$$Q'1DEHL$88">>tVLO #o5 9 F   Bc                L   	 | j                   r,d|v rd|d    nd}| j                         |z   }t        |      |j                  d      }|| j                  d   v rt        di |S t        |       }t        |t              r|t        v rt
        }nt        |t              r0|t        v s| j                  r|| j                  v rt        }nTt
        }nMt        |t              s.t        |t              rt        }n&t        |t              rt         }n|j"                  d   } di |S )Nrx   r@  r&  r   r   r   r    )r  rb  rE   rm   rl   r
   r6   r5   r   _async_method_magicsr   _all_sync_magicsr  CallableMixinr   r   r   rk   )rP   rt  rc   ry  r   _typeklasss          r"   r(  zNonCallableMock._get_child_mock  s	   	! ,2bL!BvJ<(dI//1I=I ++FF;'	n55?r?"T
eY'I9M,ME~.--&&98J8J+J!!E=1%!56!E?3MM!$E{r{r!   c                 V    	 | j                   syd| dt        | j                          dS )Nr  
z: r@  )r   r   )rP   r  s     r"   r  zNonCallableMock._calls_repr'  s2    	 F82i89;;r!   )NNNNNNr  NFNFF)FFr4   )r   )Calls)/r   r   r   r   rY  r   rA   r  r  r  "_NonCallableMock__get_return_value"_NonCallableMock__set_return_value"_NonCallableMock__return_value_docr   r   r-  r   r   r   r   r   r   !_NonCallableMock__get_side_effect!_NonCallableMock__set_side_effectr   boolr   r  r   rb  r   ri  ru  r}  r  r  r  r  r   r   r   r~   r   r   r   r(  r  r    r!   r"   r   r     s`   * GE =AEI<A( >BEI<A*
Z', @E!&0B
; M.0B.0L    
 "(+F%l3J$[1I)*:;N%l3J	* ,.?@K$(-',$!%$ $$@%,-`#6
*N$'5T-$:
BB6&&&>,	8*Z #L
<r!   r   assert_c                       e Zd Z	 d Zy)r  c           	      x    | D ]/  }t        t        ||      D cg c]
  \  }}||k(   c}}      s/ y yc c}}w )NTF)allzip)rP   itemr  r  r  s        r"   r   z_AnyComparer.__contains__A  sO    E(+D%(8(8$Hf F"(8    s   6N)r   r   r   r   r    r!   r"   r  r  <  s    r!   r  c                 x    | | S t        |       r| S t        |       r| S 	 t        |       S # t        $ r | cY S w xY wr4   )r9   re   r   r  r,   s    r"   r4  r4  L  sJ    
{
S
~
Cy  
s   
+ 99c            
       F    e Zd Zddedddddddf
dZd Zd Zd Zd Zd Z	y)	r  Nr  c           
          || j                   d<    t        t        |       j                  |||||||	|
fi | || _        y )Nr   )rl   r   r  rA   r   )rP   r   r   r   r   rx   r   r   r   r   r   rR   s               r"   rA   zCallableMixin.__init__]  sN     /;*+1M4(11%xK	
39	

 'r!   c                     y r4   r    r   s      r"   rW   zCallableMixin._mock_check_sigi  s    r!   c                n     | j                   |i |  | j                  |i |  | j                  |i |S r4   )rW   _increment_mock_call
_mock_callr   s      r"   rD   zCallableMixin.__call__n  sD     	d-f-!!!4262t///r!   c                &     | j                   |i |S r4   )_execute_mock_callr   s      r"   r  zCallableMixin._mock_callv  s    &t&&777r!   c                   d| _         | xj                  dz  c_        t        ||fd      }|| _        | j                  j                  |       | j                  d u}| j                  }| j                  }|dk(  }| j                  j                  t        d||f             | j                  }||rI|j                  j                  t        |||f             |j                  d u}|r|j                  dz   |z   }t        |||f      }	|j                  j                  |	       |j                  r(|rd}
nd}
|j                  dk(  }|j                  |
z   |z   }|j                  }|y y )NTr   r  r&  r  r@  )r   r   r  r   r   r"  r   r   r   r   r   r   )rP   rQ   rR   r  do_method_callsmethod_call_namemock_call_name	is_a_callr   this_mock_callr`  s              r"   r  z"CallableMixin._increment_mock_cally  so   1
 tVn$/""5) ++47?? ,,"d*	ub$%789 ++% ((//7Gv6V0WX"-":":$"F"'2'='='CFV'V$ #ND&#ABN"")).9))CC'66$>	!,!;!;c!AN!R &66K- %r!   c                   | j                   }|Bt        |      r|t        |      st        |      }t        |      r
| ||i |}|t        ur|S | j
                  t        ur| j                  S | j                  r(| j                  j                  t        ur| j                  S | j                   | j                  |i |S | j                  S r4   )	r   r9   re   r   r   r   r   r   r	  )rP   rQ   rR   effectrw   s        r"   r  z CallableMixin._execute_mock_call  s     !!V$v&f ( L00W$""'1$$$4#6#6#C#C7#R$$$'#4##T4V44   r!   )
r   r   r   r   rA   rW   rD   r  r  r  r    r!   r"   r  r  [  s8     d$d!RT	'
08,7\!r!   r  c                       e Zd Zy)r   Nr   r    r!   r"   r   r     s    7r!   r   c                 :    d}|D ]  }|| v st        |d       y )N)	autospect	auto_specset_specz5 might be a typo; use unsafe=True if this is intended)RuntimeError)kwargs_to_checktypostypos      r"   _check_spec_arg_typosr    s1    2E?"(OP  r!   c                       e Zd ZdZg ZdddZd Zd Zd Ze	j                  d        Zd	 Zd
 Zd Zd Zd Zd Zd Zy)_patchNFr  c
                ~   | |t         urt        d      |t        d      |
st        |	       t        |      rt	        d|d|d      t        |      rt	        d|d|d      || _        || _        || _        || _        || _	        || _
        d| _        || _        || _        |	| _        g | _        d| _        y )Nz,Cannot use 'new' and 'new_callable' togetherz1Cannot use 'autospec' and 'new_callable' togetherzCannot spec attr z0 as the spec has already been mocked out. [spec=r  z? as the spec_set target has already been mocked out. [spec_set=F)r   rG   r  r&   r   getterrc   r  new_callabler   create	has_localr   autospecrR   additional_patchers
is_started)rP   r  rc   r  r   r  r   r   r  rR   r  s              r"   rA   z_patch.__init__  s    #'! B  # G  !&)T""#I= 166:XQ@A A X&"#I= 1AAIAOP P "(	  #% r!   c                 f   t        | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  	      }| j                  |_
        | j                  D cg c]  }|j                          c}|_        |S c c}w r4   )r  r  rc   r  r   r  r   r   r  rR   attribute_namer  copy)rP   patcherps      r"   r  z_patch.copy7  s    KK499KKMM4,,dkk

 "&!4!4"66'
6AFFH6'
# '
s   B.c                     t        |t              r| j                  |      S t        j                  |      r| j                  |      S | j                  |      S r4   r'   r6   decorate_classr*   r   decorate_async_callabledecorate_callable)rP   r1   s     r"   rD   z_patch.__call__D  sM    dD!&&t,,&&t,//55%%d++r!   c                     t        |      D ]^  }|j                  t        j                        s#t	        ||      }t        |d      s<| j                         }t        || ||             ` |S NrD   )r!  rW  r   TEST_PREFIXr)   r(   r  ra   )rP   r  r   
attr_valuer  s        r"   r
  z_patch.decorate_classL  sa    JD??5#4#45 -J:z2iikGE4!45  r!   c              #   R  K   g }t        j                         5 }|j                  D ]U  }|j                  |      }|j                  |j                  |       2|j                  t        u sE|j                  |       W |t        |      z  }||f d d d        y # 1 sw Y   y xY wwr4   )

contextlib	ExitStack	patchingsenter_contextr  updater  r   r"  rh   )rP   patchedrQ   keywargs
extra_args
exit_stackpatchingrI  s           r"   decoration_helperz_patch.decoration_helperZ  s     
!!#z#-- ..x8**6OOC(\\W,%%c* . E*%%D"" $##s#   B'AB+'B	B'B$ B'c                      t        d      rj                  j                          S t               fd        g_        S )Nr  c                  l    j                  | |      5 \  }} |i |cd d d        S # 1 sw Y   y xY wr4   r  rQ   r  newargsnewkeywargsr1   r  rP   s       r"   r  z)_patch.decorate_callable.<locals>.patchedo  s=    ''(,(025Kg{W442 2 2s   *3r(   r  r"  r   rP   r1   r  s   ``@r"   r  z_patch.decorate_callablei  sK    4%NN!!$'K	t	5 
	5 "Fr!   c                      t        d      rj                  j                          S t               fd        g_        S )Nr  c                     K   j                  | |      5 \  }} |i | d {   cd d d        S 7 # 1 sw Y   y xY wwr4   r  r   s       r"   r  z/_patch.decorate_async_callable.<locals>.patched  sN     ''(,(025Kg{!7:k::2 2 ;2 2s#   A646
A6?Ar#  r$  s   ``@r"   r  z_patch.decorate_async_callablez  sK    4%NN!!$'K	t	; 
	; "Fr!   c                 H   | j                         }| j                  }t        }d}	 |j                  |   }d}|t        v rt        |t              rd| _
        | j                  s|t        u rt	        |d|      ||fS # t        t
        f$ r t        ||t              }Y iw xY w)NFTz does not have the attribute )r  rc   r   rl   rE   KeyErrorr)   	_builtinsr'   r   r  )rP   targetrx   rv   locals        r"   get_originalz_patch.get_original  s    ~~	t,H E9FJ!?DK{{x72 7=tD   ) 	6vtW5H	6s   A> > B! B!c                 L   	 | j                   rt        d      | j                  | j                  | j                  }}}| j
                  | j                  }}| j                  }| j                         | _	        |du rd }|du rd }|du rd }||t        d      |||dvrt        d      | j                         \  }}|t        u rl|id}	|du r|}|du r|}d }n|	|du r|}d }n|du r|}||%|t        u rt        d      t        |t              rd}	||}
nb|t        |      rt         }
nN||D|}||}t#        |      rd|v}nt%        |       }t        |      rt         }
n|rt&        }
nt(        }
nt(        }
i }|||d	<   |||d
<   t        |
t              r+t+        |
t,              r| j.                  r| j.                  |d<   |j1                  |        |
di |}|	rFt3        |      r:|}||}t#        |      st5        |      st&        }
|j7                  d        |
d|dd||_        n||t        urt        d      |t        u rt        d      t;        |      }|du r|}t3        | j                        r)t=        d| j.                  d| j                  d|d      t3        |      rMt?        | j                  d| j                        }t=        d| j.                  d|d| j                  d|d	      tA        |f|| j.                  d|}n|rt        d      |}|| _!        || _"        tG        jH                         | _%        d| _         	 tM        | j                  | j.                  |       | jN                  ui }| j                  t        u r||| jN                  <   | jP                  D ]A  }| jJ                  jS                  |      }|j                  t        u s1|j1                  |       C |S |S #   | jT                  tW        jX                          s Y y xY w)NzPatch is already startedFzCan't specify spec and autospec)TNz6Can't provide explicit spec_set *and* spec or autospecTz!Can't use 'spec' with create=TruerD   r   r   rx   r&  r'  zBautospec creates the mock for you. Can't specify autospec and new.z%Can't use 'autospec' with create=TruerR  z: as the patch target has already been mocked out. [target=rU  r  r   rS  rT  )r   _namez.Can't pass kwargs to a mock we aren't creatingr    )-r  r  r  r   r   r   rR   r  r  r*  r  r,  r   r'   r6   r.   r
   ri   r/  r   r   r5   r   rc   r  r&   ro   rH  r   r  r   r)   r	   temp_originalis_localr  r  _exit_stackra   r  r  r  __exit__sysexc_info)rP   r  r   r   r   rR   r  rv   r+  inheritKlass	this_specnot_callable_kwargsrZ  new_attrr  r  rI  s                      r"   	__enter__z_patch.__enter__  s    ??9::"hh		4==8T==$++&((kkm 5=DuHuH 4=>>!5L(TUU++-%'>h.Gt|t#'HD!t##HDT!#8#7w&#$GHHh-"G '$-"9!!X%9 	' (II&#-Y#>L'/	':#:L +%E!0E%E!G"&#&.
# 5$'5/2t~~"&..NN6""'"C,S1 !	' (I +&y10EF##( $4SD $4+2$4 ! '!(  7" GHHH~H4# -&+DNN+= >#{{oWXLCD D !*%dkk:t{{K&+DNN+=]"o &#{{oWXLCD D
 "( BX(,B:@BC LMM%%//1	DKK:"".
88w&7:Jt223 $ 8 8H**88BC||w."))#. !9 "!J	 4==#,,.1 2s   BO= &O= ;O= =$P#c                    	 | j                   sy | j                  r>| j                  t        ur,t	        | j
                  | j                  | j                         nt        | j
                  | j                         | j                  sYt        | j
                  | j                        r| j                  dv r+t	        | j
                  | j                  | j                         | `| `| `| j                  }| `
d| _          |j                  | S )N)r]   r   r_   __annotations__r`   F)r  r0  r/  r   ra   r*  rc   r{  r  r(   r1  r2  )rP   r4  r  s      r"   r2  z_patch.__exit__=  s    ==T//w>DKK1C1CDDKK0;;T^^(L += = T^^T5G5GHMK%%
"z""H--r!   c                 ^    	 | j                         }| j                  j                  |        |S r4   )r;  _active_patchesr"  rP   rw   s     r"   startz_patch.startV  s*    ;!##D)r!   c                     	 	 | j                   j                  |        | j                  d d d       S # t        $ r Y y w xY wr4   )r?  r  rG   r2  r   s    r"   stopz_patch.stop]  sG    #	  ''-
 }}T4..	  		s   1 	==)r   r   r   r  r?  rA   r  rD   r
  r  contextmanagerr  r  r  r,  r;  r2  rA  rC  r    r!   r"   r  r    sg    NO AF# L
, # #""0Xt.2/r!   r  c                     	 | j                  dd      \  } }t	        t
        j                  |       |fS # t        t        t        f$ r t        d|       w xY w)Nr@  r   z,Need a valid target to patch. You supplied: )rsplitr  rG   rE   r   pkgutilresolve_name)r*  rc   s     r"   _get_targetrI  i  sj    G"MM#q1	 7''0);; z>2 G:6*EG 	GGs	   3 #Ar  c                x     	 t               t        u rt         d       fd}
t        |
||||||||	|
      S )Nz3 must be the actual object to be patched, not a strc                       S r4   r    r*  s   r"   rC  z_patch_object.<locals>.<lambda>  s    Vr!   r  )r6   strr  r  )r*  rc   r  r   r  r   r   r  r  rR   r  s   `          r"   _patch_objectrN  r  sX    
 F|sjKL
 	
 F	3f(L& r!   c                     	 t               t        u rt        t        j                         }n fd}|st        d      t        |j                               }|d   \  }	}
t        ||	|
|||||i 	      }|	|_	        |dd  D ]:  \  }	}
t        ||	|
|||||i 	      }|	|_	        |j                  j                  |       < |S )Nc                       S r4   r    rL  s   r"   rC  z!_patch_multiple.<locals>.<lambda>  s    r!   z=Must supply at least one keyword argument with patch.multipler   r   )r6   rM  r   rG  rH  rG   rg   rF  r  r  r  r"  )r*  r   r  r   r   r  rR   r  rF  rc   r  r  this_patchers   `            r"   _patch_multiplerR    s    ( F|s--v6K
 	
  E1XNIs	3fh,G 'G)	3IsD&(lB
 '0###**<8 $ Nr!   c                J    	 t        |       \  }	}
t        |	|
||||||||
      S )Nr  )rI  r  )r*  r  r   r  r   r   r  r  rR   r  rc   s              r"   r   r     s=    FN $F+FI	3f(L& r!   c                   R    e Zd Z	 ddZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zy)_patch_dictc                     || _         t        |      | _        | j                  j                  |       || _        d | _        y r4   )in_dictdictr9  r  clear	_original)rP   rW  r9  rY  rR   s        r"   rA   z_patch_dict.__init__/  s4    6l6"
r!   c                     t        |t              r| j                  |      S t        j                  |      r| j                  |      S | j                  |      S r4   r	  )rP   fs     r"   rD   z_patch_dict.__call__8  sM    a&&q))&&q)//22%%a((r!   c                 2     t               fd       }|S )Nc                      j                          	  | i |j                          S # j                          w xY wr4   rU  _unpatch_dictrQ   rt  r\  rP   s     r"   _innerz-_patch_dict.decorate_callable.<locals>._innerA  s8    %$~"~""$""$s   + =r   rP   r\  rb  s   `` r"   r  z_patch_dict.decorate_callable@       	q	% 
	% r!   c                 2     t               fd       }|S )Nc                     K   j                          	  | i | d {   j                          S 7 # j                          w xY wwr4   r_  ra  s     r"   rb  z3_patch_dict.decorate_async_callable.<locals>._innerM  sD     %^^+""$ ,""$s%   A7 57 A7 A		Arc  rd  s   `` r"   r  z#_patch_dict.decorate_async_callableL  re  r!   c                    t        |      D ]{  }t        ||      }|j                  t        j                        s/t        |d      s<t        | j                  | j                  | j                        } ||      }t        |||       } |S r  )r!  r)   rW  r   r  r(   rU  rW  r9  rY  ra   )rP   r  r   r  	decorator	decorateds         r"   r
  z_patch_dict.decorate_classX  so    JD -J 1 12Z0'dkk4::N	%j1	tY/  r!   c                 <    	 | j                          | j                  S r4   )rU  rW  r   s    r"   r;  z_patch_dict.__enter__c  s    ||r!   c                    | j                   }t        | j                  t              r$t	        j
                  | j                        | _        | j                  }| j                  }	 |j                         }|| _	        |rt        |       	 |j                  |       y # t        $ r i }|D ]
  }||   ||<    Y Cw xY w# t        $ r |D ]
  }||   ||<    Y y w xY wr4   )r9  r'   rW  rM  rG  rH  rY  r  rE   rZ  _clear_dictr  )rP   r9  rW  rY  rv   rD  s         r"   rU  z_patch_dict._patch_dicti  s    dllC("//=DL,,

	-||~H " 	+NN6"  	- H ' 		-  	+%c{ 	+s$   $B 	B; B87B8;CCc                     | j                   }| j                  }t        |       	 |j                  |       y # t        $ r |D ]
  }||   ||<    Y y w xY wr4   )rW  rZ  rm  r  rE   )rP   rW  rv   rD  s       r"   r`  z_patch_dict._unpatch_dict  sS    ,,>>G	-NN8$ 	-'}  	-s   7 AAc                 >    	 | j                   | j                          yNF)rZ  r`  )rP   rQ   s     r"   r2  z_patch_dict.__exit__  s    >>% r!   c                 f    	 | j                         }t        j                  j                  |        |S r4   )r;  r  r?  r"  r@  s     r"   rA  z_patch_dict.start  s*    ;!%%d+r!   c                     	 	 t         j                  j                  |        | j	                  d d d       S # t        $ r Y y w xY wr4   )r  r?  r  rG   r2  r   s    r"   rC  z_patch_dict.stop  sG    #	""))$/
 }}T4..	  		s   5 	A AN)r    F)r   r   r   rA   rD   r  r  r
  r;  rU  r`  r2  rA  rC  r    r!   r"   rU  rU    s>    8)		+8
-/r!   rU  c                 n    	 | j                          y # t        $ r t        |       }|D ]  }| |=  Y y w xY wr4   )rY  rE   rg   )rW  keysrD  s      r"   rm  rm    s9     G}C s    44c                  b    	 t        t        j                        D ]  } | j                           y r4   )r\  r  r?  rC  )r   s    r"   _patch_stopallrv    s#    A&001

 2r!   testzlt le gt ge eq ne getitem setitem delitem len contains iter hash str sizeof enter exit divmod rdivmod neg pos abs invert complex int float index round trunc floor ceil bool next fspath aiter zDadd sub mul matmul truediv floordiv mod lshift rshift and xor or pow c              #   &   K   | ]	  }d |z    yw)zi%sNr    r  ns     r"   r  r    s     7&6519&6   c              #   &   K   | ]	  }d |z    yw)zr%sNr    rz  s     r"   r  r    s     5$4q$4r|  >   ri  __get____set__r   
__delete__
__format__r   __missing____getstate____reversed____setstate____getformat____reduce_ex____getnewargs____subclasses____getinitargs____getnewargs_ex__c                 "    	 fd}| |_         |S )Nc                     | g|i |S r4   r    )rP   rQ   rt  r1   s      r"   methodz_get_method.<locals>.method  s    D&4&2&&r!   )r   )rx   r1   r  s    ` r"   rw  rw    s    @'FOMr!   r   >   	__aexit__	__anext__
__aenter__	__aiter__>   __del__r   rA   r   __prepare__ru  __instancecheck____subclasscheck__c                 ,    t         j                  |       S r4   )rh  __hash__r   s    r"   rC  rC    s    V__T2r!   c                 ,    t         j                  |       S r4   )rh  __str__r   s    r"   rC  rC    s    FNN40r!   c                 ,    t         j                  |       S r4   )rh  
__sizeof__r   s    r"   rC  rC    s    v006r!   c                 j    t        |       j                   d| j                          dt        |        S )N/)r6   r   rb  r8  r   s    r"   rC  rC    s3    $t*"5"5!6a8O8O8Q7RRSTVW[T\S]^r!   )r  r  r  
__fspath__r   y              ?g      ?)__lt____gt____le____ge____int__r   __len__r2  __complex__	__float____bool__	__index__r  c                       fd}|S )Nc                 Z    j                   j                  }|t        ur|S | u ryt        S r@   )__eq__r   r   NotImplemented)otherret_valrP   s     r"   r  z_get_eq.<locals>.__eq__  s/    ++00'!N5=r!   r    )rP   r  s   ` r"   _get_eqr    s     Mr!   c                       fd}|S )Nc                 ^    j                   j                  t        urt        S | u ryt        S rp  )__ne__r   r   r  )r  rP   s    r"   r  z_get_ne.<locals>.__ne__#  s*    ;;))8N5=r!   r    )rP   r  s   ` r"   _get_ner  "  s     Mr!   c                       fd}|S )Nc                  l    j                   j                  } | t        u rt        g       S t        |       S r4   )__iter__r   r   r   r  rP   s    r"   r  z_get_iter.<locals>.__iter__,  s/    --22g8O G}r!   r    )rP   r  s   ` r"   	_get_iterr  +  s     Or!   c                       fd}|S )Nc                      j                   j                  } | t        u rt        t	        g             S t        t	        |             S r4   )r  r   r   _AsyncIteratorr   r  s    r"   r  z"_get_async_iter.<locals>.__aiter__6  s8    ..33g!$r(++d7m,,r!   r    )rP   r  s   ` r"   _get_async_iterr  5  s    -
 r!   )r  r  r  r  c                     t         j                  |t              }|t        ur||_        y t        j                  |      }| ||       }||_        y t
        j                  |      }| ||       |_        y y r4   )_return_valuesrm   r   r   _calculate_return_value_side_effect_methodsr   )r<   r  rx   fixedreturn_calculatorr   side_effectors          r"   _set_return_valuer  F  s{    tW-EG#/33D9$(.*(,,T2M *40 !r!   c                       e Zd Zd Zd Zy)
MagicMixinc                    | j                           t        t        |       j                  |i | | j                          y r4   )_mock_set_magicsr   r  rA   )rP   rQ   rt  s      r"   rA   zMagicMixin.__init__Y  s6    .J%..;;r!   c           	      z   t         t        z  }|}t        | dd       U|j                  | j                        }t               }||z
  }|D ]&  }|t        |       j                  v st        | |       ( |t        t        |       j                        z
  }t        |       }|D ]  }t        ||t        ||               y )Nr  )_magicsr  r)   intersectionr  rj  r6   rl   r{  ra   
MagicProxy)rP   orig_magicsthese_magicsremove_magicsrB  r  s         r"   r  zMagicMixin._mock_set_magics_  s     44"4$/;&33D4F4FGLEM',6M&DJ///D%( ' $c$t**=*=&>>T
!EE5*UD"9: "r!   N)r   r   r   rA   r  r    r!   r"   r  r  X  s     ;r!   r  c                       e Zd Z	 ddZy)r   c                 J    	 | j                  ||       | j                          y r4   r  r  r  s      r"   r  z"NonCallableMagicMock.mock_add_specy  &    	N
 	D(+r!   Nr  )r   r   r   r  r    r!   r"   r   r   w  s
    7 r!   r   c                       e Zd Zy)AsyncMagicMixinNr   r    r!   r"   r  r    s    r!   r  c                   4     e Zd Z	 ddZdddef fdZ xZS )r   Fc                 J    	 | j                  ||       | j                          y r4   r  r  s      r"   r  zMagicMock.mock_add_spec  r  r!   )r   r   c                   |r#| j                   rt        | j                         rd} t               j                  |d|i| y )NFr   )r   r   superr   )rP   r   rQ   rR   r-  s       r"   r   zMagicMock.reset_mock  s<    $//*
 !LDF|FvFr!   r  )r   r   r   r  r  r   __classcell__r-  s   @r"   r   r     s&    	  9> 
G 
G 
Gr!   r   c                        e Zd Zd Zd ZddZy)r  c                      || _         || _        y r4   rx   r   )rP   rx   r   s      r"   rA   zMagicProxy.__init__  s    	r!   c                     | j                   }| j                  }|j                  |||      }t        |||       t	        |||       |S )N)rx   r   r   )rx   r   r(  ra   r  )rP   rB  r   ms       r"   create_mockzMagicProxy.create_mock  sM    		""/5 # 7q!&!U+r!   Nc                 "    | j                         S r4   )r  )rP   r-   r  s      r"   r~  zMagicProxy.__get__  s    !!r!   r4   )r   r   r   rA   r  r~  r    r!   r"   r  r    s    "r!   r  c                        e Zd Z ed      Z ed      Z ed      Z fdZd Zd Z	d Z
d Zd	 Zd
 ZddZd Z fdZ xZS )r   r   r   r   c                    t               j                  |i | t        j                  j                  | j
                  d<   d| j
                  d<   d | j
                  d<   t               | j
                  d<   t        r7t        t              }t        |j
                  d<   t        |j
                  d<   nt        t              }t        j                  t        j                  z   t        j                  z   |_        d|_        d	|_        d|_        d|_        || j
                  d
<   d| j
                  d<   t)               | j
                  d<   i | j
                  d<   d | j
                  d<   y )Nr   r   _mock_await_count_mock_await_args_mock_await_args_listr   r  r  )rQ   rR   r0   r
   r   r_   r`   r=  )r  rA   r   r   r   rl   r   	_CODE_SIGr   _CODE_ATTRSr   r*   CO_COROUTINE
CO_VARARGSCO_VARKEYWORDSco_flagsco_argcountco_varnamesco_posonlyargcountco_kwonlyargcountrh   )rP   rQ   rR   	code_mockr-  s       r"   rA   zAsyncMockMixin.__init__  s6   $)&) *1););)I)Io&-.)*,0()1:-.'=I08I}-4=I01':I    !$$% 	
 !"	 2	'(	$&'	#$-j!$/j!(-n%*,&'+/'(r!   c                  K   t        ||fd      }| xj                  dz  c_        || _        | j                  j	                  |       | j
                  }|_t        |      r|t        |      s	 t        |      }t        |      r&|t        |      r ||i | d {   }n ||i |}|t        ur|S | j                  t        ur| j                  S | j                  At        | j                        r | j                  |i | d {   S  | j                  |i |S | j                  S # t        $ r t        w xY w7 7 7w)NTr  r   )r  r   r   r   r"  r   r9   re   r   StopIterationStopAsyncIterationr   r   r   r   r	  )rP   rQ   rR   r  r  rw   s         r"   r  z!AsyncMockMixin._execute_mock_call  sT     tVn$/A##E*!!V$v&-!&\F
 !( L$V,%t6v6600W$""'1$$$'"4#3#34-T--t>v>>>#4##T4V44   - % - -,- 7 ?s=   A-E0D- ;#EE A+E
E"E-D==EEc                 b    	 | j                   dk(  rd| j                  xs d d}t        |      y )Nr   	Expected r<   z to have been awaited.r   r   r  r  s     r"   r   zAsyncMockMixin.assert_awaited	  s@    	 q doo788NOC %% !r!   c                 |    	 | j                   dk(  s,d| j                  xs d d| j                    d}t        |      y Nr   r  r<   z$ to have been awaited once. Awaited r  r  r  s     r"   r   z"AsyncMockMixin.assert_awaited_once	  sR    	 1$t8&9 :#//09C %% %r!   c                :    	  j                   ! j                        }t        d| d       fd} j                  t	        fd            } j                   j                         }||k7  r%t        |t              r|nd }t         |             |y )NzExpected await: z
Not awaitedc                  0    j                  d      } | S )Nawait)r  r  r  s    r"   r  z:AsyncMockMixin.assert_awaited_with.<locals>._error_message(	  s    33D&3QCJr!   Tr  )r   r  r  r  r  r'   r  )rP   rQ   rR   r  r  r  r  s   ```    r"   r   z"AsyncMockMixin.assert_awaited_with 	  s    	 ??"77fEH #3H:]!KLL	 %%eT6N&EF##DOO4X *8Y ?HTE !12= r!   c                    	 | j                   dk(  s,d| j                  xs d d| j                    d}t        |       | j                  |i |S r  )r   r   r  r   r  s       r"   r   z'AsyncMockMixin.assert_awaited_once_with2	  se    	 1$t8&9 :#//09C %%'t''888r!   c                $   	 | j                  t        ||fd            }t        |t              r|nd }| j                  D cg c]  }| j                  |       }}|s|t        |      vr!| j                  ||      }t        d|z        |y c c}w )NTr  z%s await not found)r  r  r'   r  r   r  r  r  r  s           r"   r   zAsyncMockMixin.assert_any_await=	  s    	 %%eT6N&EF&x;151E1EF1EA$$$Q'1EFHL$88">>tVLO $6 9 Gr  c           	      B    	 |D cg c]  } j                  |       }}t        d |D        d       }t         fd j                  D              }|sb||vr]|d}n1dj	                  |D cg c]  }t        |t              r|nd  c}      }t        | dt        |       d j                         |y t        |      }g }	|D ]  }
	 |j                  |
        |	rt        t        |	      d      |y c c}w c c}w # t        $ r |	j                  |
       Y Xw xY w)Nc              3   B   K   | ]  }t        |t              s|  y wr4   r  r  s     r"   r  z3AsyncMockMixin.assert_has_awaits.<locals>.<genexpr>W	  r  r  c              3   @   K   | ]  }j                  |        y wr4   r  r  s     r"   r  z3AsyncMockMixin.assert_has_awaits.<locals>.<genexpr>X	  s     S>Rt11!4>Rr  zAwaits not found.z,Error processing expected awaits.
Errors: {}r  z	
Actual: z not all found in await list)r  r   r   r   r  r'   r  r  rg   r  rG   r"  rh   )rP   r  r  r  r  r  
all_awaitsr  rq  r  r  s   `          r"   r   z AsyncMockMixin.assert_has_awaitsJ	  sa   
	 4995aD&&q)59FFMSd>R>RSS
z)=1G ,-3V-5$7-5 *4Ay)AAt$K-5$7.8  %i  !!*5!1 2 3#3346 	
 *%
	D'!!$' 
  49)4DF 7 :$7  '  &'s   C7,C<	DDDc                 |    	 | j                   dk7  r,d| j                  xs d d| j                    d}t        |      y )Nr   r  r<   z# to not have been awaited. Awaited r  r  r  s     r"   r   z!AsyncMockMixin.assert_not_awaitedv	  sR    	 q t8&9 :#//09C %% !r!   c                v    	  t               j                  |i | d| _        d | _        t	               | _        y Nr   )r  r   r   r   r   r   )rP   rQ   rR   r-  s      r"   r   zAsyncMockMixin.reset_mock	  s:    	 	D+F+({r!   r  )r   r   r   r   r   r   r   rA   r  r   r   r   r   r   r   r   r   r  r  s   @r"   r   r     s\    &}5K%l3J*+<=O0B&!P&&>$	9*X&+ +r!   r   c                       e Zd Zy)r
   Nr   r    r!   r"   r
   r
   	  s    'r!   r
   c                        e Zd Z	 d Zd Zd Zy)_ANYc                      yr@   r    rP   r  s     r"   r  z_ANY.__eq__	  s    r!   c                      yrp  r    r  s     r"   r  z_ANY.__ne__	  s    r!   c                      y)Nz<ANY>r    r   s    r"   r   z_ANY.__repr__	  s    r!   N)r   r   r   r  r  r   r    r!   r"   r  r  	  s    8r!   r  c           	         d| z  }d}dj                  |D cg c]  }t        |       c}      }dj                  |j                         D cg c]  \  }}|d| c}}      }	|r|}|	r|r|dz  }||	z  }||z  S c c}w c c}}w )Nz%s(%%s)r  z, =)r]  reprrF  )
rx   rQ   rR   r  formatted_argsrI  args_stringrD  r   kwargs_strings
             r"   r  r  	  s    $GN))$7$3T#Y$78KII171?:33 M $d"N-'^## 8s   A>B
c                       e Zd Z	 	 	 ddZ	 	 ddZd Zej                  Zd Zd Z	d Z
d Zed	        Zed
        Zd Zd Zy)r  Nc                 n   d}i }t        |      }|dk(  r|\  }}}nh|dk(  r2|\  }	}
t        |	t              r|	}t        |
t              r|
}n9|
}n6|	|
}}n1|dk(  r,|\  }t        |t              r|}nt        |t              r|}n|}|rt        j	                  | ||f      S t        j	                  | |||f      S )Nr       r   r   )r   r'   rM  rh   r   )r   r   rx   r   r  	from_kallrQ   rR   _lenfirstseconds              r"   r   z_Call.__new__	  s    5z19!&D$QY!ME6%%fe,!D#F$ffQYFE%%E5)==tVn55}}S4v"677r!   c                 .    || _         || _        || _        y r4   )r   r   _mock_from_kall)rP   r   rx   r   r  r  s         r"   rA   z_Call.__init__	
  s    "(r!   c                 "   	 t        |      }d}t        |       dk(  r| \  }}n| \  }}}t        | dd       r't        |dd       r| j                  |j                  k7  ryd}|dk(  rdi }}n|dk(  r|\  }}}nv|dk(  r5|\  }	t        |	t              r|	}i }nXt        |	t              r|	}di }}nAd}|	}n<|dk(  r6|\  }
}t        |
t              r|
}t        |t              r|i }}nd|}}n|
|}}ny|r||k7  ry||f||fk(  S # t        $ r	 t        cY S w xY w)	Nr  r   r   Fr   r    r  r   )r   r  r  r)   r   r'   rh   rM  )rP   r  	len_other	self_name	self_argsself_kwargs
other_name
other_argsother_kwargsr   r  r  s               r"   r  z_Call.__eq__
  sV   	"E
I 	t9>%)"I{04-Iy+D.$/GE>SW4X%%););;
>')2J!^380J
L!^FE%'"
!E3'"
+-rL

$!^!ME6%%"
fe,/5rJ/16J+0&L
y0 L)i-EEE_  	"!!	"s   C< <DDc                    | j                   t        d||fd      S | j                   dz   }t        | j                   ||f||       S )Nr  r&  r   r  r   r  r  s       r"   rD   z_Call.__call__H
  sH    ??""dF+$77%dootV44MMr!   c                 r    | j                   t        |d      S | j                   d|}t        || d      S )NF)rx   r  r@  )rx   r   r  r(  )rP   r   rx   s      r"   r   z_Call.__getattr__P
  s6    ??"de44//40$tu==r!   c                 ^    |t         j                  v rt        t         j                  | |      S r4   )rh   rl   rE   __getattribute__)rP   r   s     r"   r+  z_Call.__getattribute__W
  s'    5>>!  %%dD11r!   c                 D    t        |       dk(  r	| \  }}||fS | \  }}}||fS )Nr   )r   r  s       r"   _get_call_argumentsz_Call._get_call_arguments]
  s:    t9>LD& V| "&D$V|r!   c                 (    | j                         d   S r  r-  r   s    r"   rQ   z
_Call.argse
      '')!,,r!   c                 (    | j                         d   S )Nr   r/  r   s    r"   rR   z_Call.kwargsi
  r0  r!   c                     | j                   s(| j                  xs d}|j                  d      rd|z  }|S t        |       dk(  rd}| \  }}n'| \  }}}|sd}n|j                  d      sd|z  }nd|z  }t	        |||      S )Nr   r&  zcall%sr   zcall.%s)r  r   rW  r   r  )rP   rx   rQ   rR   s       r"   r   z_Call.__repr__m
  s    ##??,fDt$$Kt9>DLD&!%D$__T* 4'$%dD&99r!   c                     	 g }| }|,|j                   r|j                  |       |j                  }|,t        t	        |            S r4   )r  r"  r   r   r\  )rP   valsthings      r"   	call_listz_Call.call_list
  sR    	 $$E"&&E  $((r!   )r    r  NFT)r    NNFT)r   r   r   r   rA   r  rh  r  rD   r   r+  r-  r   rQ   rR   r   r6  r    r!   r"   r  r  	  s|    $ :?8@ >C)2Fj ]]FN>2 - - - -:*
)r!   r  )r  c          	         	 t        |       rt        |       } t        | t              }t        |       rt	        d| d      t        |       }d| i}	|rd| i}	n| i }	|	r|rd|	d<   |st        |       |j                  d|      }|}
|d}
|	j                  |       t        }t        j                  |       ri }	n=|r|rt        d	      t        }n't        |       st        }n|r|rt!        |       st        } |d|||
|d
|	}t        | t"              rt%        ||       }|rt'        |       nt)        | |||       ||s||j*                  |<   |j                  dd       }|r|sd|vrt-        | |dd||      |_        t1        |       D ]  }t3        |      r	 t5        | |      }d|i}|rt9        ||      r|j                  |       |rd|i}t        |t"              st;        |||||      }||j*                  |<   n~|}t        | t"              r|j<                  }t?        | ||      }||d<   tA        |      rt        }nt        } |d||||d|}||j*                  |<    |       |_        t)        |||       t        |t"              stC        |||        t        |      r|r |jD                  di | |S # t6        $ r Y Cw xY w)Nz'Cannot autospec a Mock object. [object=r  r   r   Tr  rx   r  zJInstance can not be True when create_autospec is mocking an async function)r   r   r   rx   r   r   r&  )rZ   r.  r   r   rc  r  )r   rx   r   r   )rY   r    )#ri   r6   r'   r&   r   r2   r  rH  r  r   r*   isdatadescriptorr  r
   re   r   ro   r=   r{   r   r[   r   r	   r   r!  r   r)   rE   r(   r:  r<   
_must_skipr   ra   r  )r   r   rZ   r   r.  r  rR   is_typeis_async_funcr9  r   r6  r<   wrappedrB  rv   child_kwargsr  r   rY   child_klasss                        r"   r	   r	   
  s"   ,* ~ Dzt$G "**. 4 5 	5"4(MtnGt$	8'+#$f%JJvu%EI	NN6E% 	  > ? ?t_$	X&8&>$ (W	(&(D $& dD)d#tWh78(,u% jj$'GxN&$@+D(T2629; TU	tU+H )ww.h/&1L(M2XxuhGC),D&F$."48I(1L%"8,'' BV%5*0B4@BC),D&*}CXsi@ c=)D%%g n 6%f%KU  		s   K  	KKc                 .   	 t        | t              s|t        | di       v ry| j                  } | j                  D ]X  }|j
                  j                  |t              }|t        u r,t        |t        t        f      r yt        |t              r|c S  y |S )Nrl   F)r'   r6   r)   r-  rk   rl   rm   r   rC   rB   r=   )r   rB  r:  r  rw   s        r"   r9  r9  (  s     dD!GD*b11~~##E73Wf|[9:. N  Nr!   c                       e Zd Z	 	 ddZy)r:  Nc                 X    || _         || _        || _        || _        || _        || _        y r4   )r   idsr   r   rZ   rx   )rP   r   r   r   rx   rB  rZ   s          r"   rA   z_SpecState.__init__F  s,    	  	r!   )FNNNF)r   r   r   rA   r    r!   r"   r:  r:  D  s    48/4r!   r:  c                 v    t        | t              rt        j                  |       S t        j                  |       S r4   )r'   bytesioBytesIOStringIO)	read_datas    r"   
_to_streamrI  \  s*    )U#zz)$${{9%%r!   c           	      f  	
 	 t              }|d g

fd}
fd}
fd	
fd
fd}t        Vdd l}t        t	        t        |j                              j                  t	        t        |j                                          at        +dd l}t        t	        t        |j                                    a	| t        dt              } t        t        	      j                  _        d j                  _        d j                  _        d j                   _        d j"                  _        |j                  _         	       
d
<   
d
   j                   _        |j"                  _        j&                  _        |j(                  _        	
fd}|| _        | _        | S )Nc                      j                   j                  j                   j                  S  d   j                   | i |S r  )	readlinesr   rQ   rR   _statehandles     r"   _readlines_side_effectz)mock_open.<locals>._readlines_side_effectr  sC    ((4##000"vay""D3F33r!   c                      j                   j                  j                   j                  S  d   j                   | i |S r  )readr   rM  s     r"   _read_side_effectz$mock_open.<locals>._read_side_effectw  s=    ;;##/;;+++vay~~t.v..r!   c               ?   `   K           E d {    	  d   j                   | i | 7 wr  )readline)rQ   rR   _iter_side_effectrN  s     r"   _readline_side_effectz(mock_open.<locals>._readline_side_effect|  s<     $&&&$&)$$d5f55  	's   .,.c               3      K   j                   j                  	 j                   j                   d   D ]  } |   y wr  )rU  r   )linerN  rO  s    r"   rV  z$mock_open.<locals>._iter_side_effect  sB     ??''3oo222 1IDJ s   A Ac                  x    j                   j                  j                   j                  S t         d         S r  )rU  r   r   )rN  rO  s   r"   _next_side_effectz$mock_open.<locals>._next_side_effect  s1    ??''3??///F1Ir!   r   open)rx   r   )r   r   c                      t              d<   j                  j                  d   k(  r        d<   d   j                  _        t        S )Nr   r   )rI  rU  r   r   )rQ   rR   rW  rN  rO  rH  s     r"   
reset_datazmock_open.<locals>.reset_data  sH    y)q	??&&&)3-/F1I*0)FOO'r!   )rI  	file_spec_iorg   rj  r!  TextIOWrapperunionrF  	open_specr\  r   r;  r   writerR  rU  rL  r   r  r   )r<   rH  
_read_datarP  rS  r[  r`  r^  rV  rW  rN  rO  s    `      @@@@r"   r   r   c  s\   
 I&J$F4
/
6
 S!2!234::3s3;;?O;PQR	 S]+,	|f95I&F$*F! $FLL#FKK#'FOO $(F!/FKK%'F1I"()FOO#9F "3FOO"3FOO "DDKr!   c                   "    e Zd Z	 d ZddZd Zy)r   c                    t        di |S )Nr    )r   )rP   rR   s     r"   r(  zPropertyMock._get_child_mock  s    "6""r!   Nc                      |        S r4   r    )rP   r-   obj_types      r"   r~  zPropertyMock.__get__  s	    vr!   c                      | |       y r4   r    )rP   r-   rJ  s      r"   r  zPropertyMock.__set__  s	    S	r!   r4   )r   r   r   r(  r~  r  r    r!   r"   r   r     s    #r!   r   c                    	 d| _         t        |       D ]d  }	 t        | |      }t	        |t
              s!t	        |j                  j                  |      t              rK|j                  | u sZt        |       f y # t        $ r Y sw xY wr@   )r  r!  r)   rE   r'   r   r   rm   r:  r   r   )r<   r   r  s      r"   r   r     s     DD		d#A !_-a&&**40*=%G   		s   A<<	BBc                       e Zd Z	 d Zd Zy)r  c                 z    || _         t        t              }t        j                  |_        || j                  d<   y )Nr  r0   )iteratorr   r   r*   CO_ITERABLE_COROUTINEr  rl   )rP   rn  r  s      r"   rA   z_AsyncIterator.__init__  s/     #X6	$::	$-j!r!   c                 ^   K   	 t        | j                        S # t        $ r Y t        w xY wwr4   )r   rn  r  r  r   s    r"   r  z_AsyncIterator.__anext__  s1     	&& 	  	s   - -	*-*-N)r   r   r   rA   r  r    r!   r"   r  r    s    .!r!   r  r  )NFNNN)FFNNr  )__all__r   r  rE  r*   r   r3  builtinsrG  r   typesr   r   r   unittest.utilr   	functoolsr   r   	threadingr   r  r   r!  rW  r)  r   r  r   r.   r2   r&   r9   r>   rK   r[   rV   re   ri   ro   r{   ru   r   r   rh  r   r   r   r   MISSINGr|  DELETEDr;  r   r   rg   r   r   r   r   r   	frozensetremoveprefixrX  r  r4  r  r   r  r  rI  rN  rR  r   rU  rm  rv  rX  multiplestopallr  magic_methodsnumericsr]  rG  inplaceright_non_defaultsrw  r  r  _sync_async_magics_async_magicsr  rV  rv  r  r  r  r  r  r  r  r  r  r  r   r  r   r  rF   rA   r  r  rG   r   r
   r  r   r  rh   r  r   r	   r9  r:  r6   r  r=   r_  rc  rI  r   r   r   r  )rx   r  s   00r"   <module>r     s  &   	   
   ' 2 2 # $ Cy C "(mHmd4??33GTmH	
 @2 F	#
&6."b>6)	)f 	)  ;


 &* *(6 6 X
<d X
<x O$$y! 	i $  4  g!D g!V8=/ 8zY/V Y/z
<  'Ttd &+: ?C04.d $u4OCHOdV/& V/r 
   " K 	 ((7hnn&67
75HNN$455 HHmXw67==?? !Hv? @ !] $'99]* .  306^	  "  	 1$; ;>	 : 	 	j 	G
D GB" "$!!!'(*;*;T"BCIh-K
E+T E+P( (V
6 
 f$$v)E v)r u CGS*/Sl8	 	 		 		&Od4 $0! !e] IP ld  Is*   N;3N;0)O &O:+O
 
OO