+
     ]ix  c            	      s  a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
Ht ^ RIHtHtHt ^ RIt^ RIHtHtHt ^ RIt^ RIHtHt ^ RIHt ^ RIHtHt ^ R	IH t   ! R
 R4      t! ! R R4      t" ! R R4      t# ! R R4      t$ ! R R4      t%R t&R t']'R 4       t(R t)R t*]PV                  PY                  R. RHO4      R 4       t-R t.R t/R^R^/RRR.//3R^R^/RRRR.//33t0R ]1R!&   R/ / 3R^R^/R^R^// 3R^/R^/RRRR.//33t2R"]1R#&   ]PV                  PY                  R$]04      R% 4       t3]PV                  PY                  R&]24      R' 4       t4R( t5R) t6R* t7R+ t8R, t9R- t:R. t;R/ t<]PV                  PY                  R0]Pz                  ! ^4      P}                  ^^4      R3]Pz                  ! ^4      R3]Pz                  ! ^4      ]Pz                  ! ^4      3.4      R1 4       t?R2 t@R3 tAR4 tBR5 tCR6 tDR7 tER8 tFR9 tGR: tHR; tIR< tJR= tKR> tLR? tMR@ tNRA tORB tP]PV                  PY                  RC. RIO4      RD 4       tQRE tRRF tSRG tTR# )J    )annotationsN)Any)patchMock)datetimedate	timedelta)assert_array_equalassert_approx_equalassert_array_almost_equal)_apicbook)delete_masked_points
strip_math)
ModuleTypec                  s.    ] tR t^tR tR tR tR tRtR# )Test_delete_masked_pointsc           	     	s    \         P                  ! \        4      ;_uu_ 4        \        R \        P
                  ! RR4      4       RRR4       R#   + '       g   i     R# ; i)za stringg      ?g      @N)pytestraises
ValueErrorr   nparangeself   &B/usr/lib64/python3.14/site-packages/matplotlib/tests/test_cbook.pytest_bad_first_argZ,Test_delete_masked_points.test_bad_first_arg   s5    ]]:&& RYYsC-@A '&&&s   "AA 	c                	s   . ROp^^^\         P                  \         P                  ^.p\        W4      w  r4. ROp\        V\         P                  ! V4      V,          4       \        V\         P                  ! V4      V,          4       R# )aN)r   bcdef)r             )r   nanr   r   array)r   Za1Za2Zresult1Zresult2ind   &     r   test_string_seqZ)Test_delete_masked_points.test_string_seq   sa    +Arvvrvvq)/77BHHRL$567BHHRL$56    c           
     	s   \        R ^^4      \        R ^^4      \        R ^^4      \        R ^^4      \        R ^^4      \        R ^^4      .p\        P                  P                  ^^^\        P                  \        P                  ^.. ROR7      p\        W4      p. ROp\        V^ ,          \        P                  ! V4      V,          4       \        V^,          W$,          P                  4       4       R# )i  maskNFFTTFFr    r!   r#   )r   r   mar%   r$   r   r   
compressed)r   Zdatesa_maskedactualr&      &    r   test_datetimeZ'Test_delete_masked_points.test_datetime%   s    $1%xa';$1%xa';$1%xa';= 55;;1a;$L  N%e66!9bhhuoc&:;6!9hm&>&>&@Ar)   c                	s^   \         P                  P                  ^^^\         P                  \         P                  ^.. ROR7      p\        P
                  ! . RO4      p\        W4      p. ROp\        V^ ,          W,          P                  4       4       \        V^,          W$,          4       R# )r!   r*   Nr,   )Zrgr   r   Zmyr-   )	r   r.   r%   r$   mcolorsZto_rgba_arrayr   r   r/   )r   r0   Za_rgbar1   r&   r2   r   	test_rgbaZ#Test_delete_masked_points.test_rgba0   s}    55;;1a;$L  N&&'EF%h76!9hm&>&>&@A6!9fk2r)    N)	__name__
__module____qualname____firstlineno__r   r(   r3   r7   __static_attributes__r8   r)   r   r   r      s    B7	B3r)   r   c                  sd    ] tR t^:tR tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tRtR# )Test_boxplot_statsc                	s2   \         P                  P                  R 4       ^%V n        ^V n        \         P                  P                  V P                  V P                  3RRR7      V n        \        . RO4      V n        \        P                  ! V P                  4      V n        R
RR	RRRRRRRR\         P                  ! . R O4      RRRRRRRR/
V n        R
RR	R/V n        RRRRR\         P                  ! RR.4      /V n        RRRR/V n        RRRR/V n        R# )!i        ?g      ?)sizemeanZsigmarA   medq1q3iqrcilocihiwhislowhishifliersgP$C@g>zzD*@gjtxJ*@gDm(
@Ӿ#W@79qU@g]Y?g6 v-@gIQ;@g inޓ?gN!@g?g =ɳE@geLM?g,#W@N)rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   labelg@ÿ)rK   rL   gEɳE@gqמC@)r   randomZseednrowsncolsZ	lognormaldatasorted
known_keysr   boxplot_statsstd_resultsr%   known_nonbootstrapped_resknown_bootstrapped_ciknown_whis3_resknown_res_percentilesknown_res_ranger   r   r   setup_methodZTest_boxplot_stats.setup_method;   sC   
		s

II''djj$**-E-0 ( >	  "
 
 !..tyy9 &'%%%bhh    $#(**
&  %&&
" (*bhh[9: 
 *)&
" *( 
r)   c                	sJ    \        V P                  \        4      '       g   Q hR # N)
isinstancerU   listr   r   r   test_form_main_listZ&Test_boxplot_stats.test_form_main_listm   s    $**D1111r)   c                	s\    V P                    F  p\        V\        4      '       d   K  Q h	  R # r\   )rU   r]   Zdictr   res   & r   test_form_each_dictZ&Test_boxplot_stats.test_form_each_dictp   s%    ##Cc4(((( $r)   c                	sv    V P                    F(  p\        V4      \        V P                  4      8:  d   K(  Q h	  R # r\   )rU   setrS   r`   rb   r   test_form_dict_keysZ&Test_boxplot_stats.test_form_dict_keyst   s-    ##Cs8s4??3333 $r)   c                	s    V P                   ^ ,          pV P                  P                  4        F  w  r#\        W,          V4       K  	  R# )r    N)rU   rV   itemsr
   )r   ra   keyvalue   &   r   test_results_baselineZ(Test_boxplot_stats.test_results_baselinex   s:    q!88>>@JC%ch6 Ar)   c                	s    \         P                  ! V P                  R R7      pV^ ,          pV P                  P	                  4        F  w  r4\        W#,          V4       K  	  R# )i'  )Z	bootstrapN)r   rT   rQ   rW   rf   r	   r   resultsra   rg   rh   r2   r   test_results_bootstrappedZ,Test_boxplot_stats.test_results_bootstrapped}   sH    %%dii5Aaj44::<JC%0 =r)   c                	s    \         P                  ! V P                  ^R7      pV^ ,          pV P                  P	                  4        F  w  r4\        W#,          V4       K  	  R# )   ZwhisN)r   rT   rQ   rX   rf   r
   rk   r2   r   test_results_whiskers_floatZ.Test_boxplot_stats.test_results_whiskers_float   sH    %%diia8aj..446JC%ch6 7r)   c                	s    \         P                  ! V P                  ^ ^d.R7      pV^ ,          pV P                  P	                  4        F  w  r4\        W#,          V4       K  	  R# )r    ro   N)r   rT   rQ   rZ   rf   r
   rk   r2   r   test_results_whiskers_rangeZ.Test_boxplot_stats.test_results_whiskers_range   sL    %%diiq#h?aj..446JC%ch6 7r)   c                	s    \         P                  ! V P                  ^^_.R7      pV^ ,          pV P                  P	                  4        F  w  r4\        W#,          V4       K  	  R# )r#   ro   N)r   rT   rQ   rY   rf   r
   rk   r2   r   !test_results_whiskers_percentilesZ4Test_boxplot_stats.test_results_whiskers_percentiles   sL    %%diiq"g>aj44::<JC%ch6 =r)   c                	s    . ROp\         P                  ! V P                  VR7      p\        W4       F  w  r4VR,          V8X  d   K  Q h	  \         P                  ! V P                  4      pV F  pRV9  d   K  Q h	  R# )Test1labelsrM   N)rs   r"   ZAardvark   )r   rT   rQ   zip)r   ru   rl   Zlabra   r2   r   test_results_withlabelsZ*Test_boxplot_stats.test_results_withlabels   sn    ,%%dii?F,HCw<3&&& - %%dii0C#%%% r)   c                	s    ^^.p\         P                  ! \        4      ;_uu_ 4        \        P                  ! V P
                  VR7       RRR4       R#   + '       g   i     R# ; i)r!   rt   N)r   r   r   r   rT   rQ   )r   ru   rb   r   test_label_errorZ#Test_boxplot_stats.test_label_error   s=    Q]]:&&		&9 '&&&s   #AA%	c                	s    \         P                  P                  RR7      p\        P                  ! \
        4      ;_uu_ 4        \        P                  ! V4       RRR4       R#   + '       g   i     R# ; i)"   )r@   N)rz   rz   rz   )r   rN   Znormalr   r   r   r   rT   r   rQ   rb   r   test_bad_dimsZ Test_boxplot_stats.test_bad_dims   sE    yy\2]]:&&% '&&&s   A$$A5	c                	s   \         P                  ! ^R7      p\         P                  ! R	V^.4      p\        P                  ! VRR7      p\        P                  ! VRR7      pV^ ,          R,          ^ 8X  g   Q hV^ ,          R,          ^ 8X  g   Q h\        V^ ,          R,          R	^.4       V^ ,          R,          R	8X  g   Q hV^ ,          R,          ^8X  g   Q h\        V^ ,          R,          . 4       R# )
i   )shapeF)Z	autorangeTrH   rI   rJ   Ni)r   ZzerosZhstackr   rT   r
   )r   xZbstats_falseZbstats_trueri   r   "test_boxplot_stats_autorange_falseZ5Test_boxplot_stats.test_boxplot_stats_autorange_false   s    HH3IIsArl#**1>))!t<Ax(A---Ax(A---!,q/(";c2YG1~h'3...1~h'2---!+a.":B?r)   )
rQ   rW   rS   rV   rY   rZ   rX   rP   rO   rU   N)r9   r:   r;   r<   r[   r_   rc   re   rj   rm   rp   rq   rr   rx   ry   r|   r   r=   r8   r)   r   r>   r>   :   sE    0
d2)47
1777&:
&
@r)   r>   c                  s    ] tR t^tR tRtR# )Hashablec                	    R # r\   r8   r   r   r   dummyZHashable.dummy       Tr)   r8   N)r9   r:   r;   r<   r   r=   r8   r)   r   r   r      s    r)   r   c                  s     ] tR t^tRtR tRtR# )
UnhashableNc                	r   r\   r8   r   r   r   r   ZUnhashable.dummy   r   r)   r8   )r9   r:   r;   r<   Z__hash__r   r=   r8   r)   r   r   r      s
    Hr)   r   c                  sn   ] tR t^tR tR tR tR tR tR t	R t
]P                  P                  RR	R
.4      ]P                  P                  R]].4      R 4       4       t]P                  P                  RR	R
.4      ]P                  P                  R]].4      R 4       4       t]P                  P                  RR	R
.4      ]P                  P                  R]].4      R 4       4       t]P                  P                  RR	R
.4      ]P                  P                  R]].4      R 4       4       tR tRtR# )Test_callback_registryc                	sH    R V n         \        P                  ! 4       V n        R# )ZtestN)signalr   CallbackRegistry	callbacksr   r   r   r[   Z#Test_callback_registry.setup_method   s    //1r)   c                	s~    V'       d   V P                   P                  W4      # V P                   P                  W4      # r\   )r   connectZ_connect_picklable)r   sfuncpickles   &&&&r   r   ZTest_callback_registry.connect   s/    >>))!22>>44Q==r)   c                	s8    V P                   P                  V4      # r\   )r   
disconnect)r   cid   &&r   r   Z!Test_callback_registry.disconnect   s    ~~((--r)   c                	s   a  \        V 3R  lS P                  P                   4       4      p\        S P                  P                  P	                  S P
                  4      4      pW8X  g   Q hV# )c              3  sF   <"   T F  w  rVSP                   8H  x  K  	  R # 5ir\   r   )Z.0r   pr   s   &  r   Z	<genexpr>Z/Test_callback_registry.count.<locals>.<genexpr>   s     O2N$!Q$++%2Ns   !)Zsumr   _func_cid_maplenZgetr   )r   Zcount1Zcount2s   f  r   countZTest_callback_registry.count   sQ    O$..2N2NOOT^^--11$++>?r)   c                	s   \         P                  P                  4        . V P                  P                  O. 8X  g   Q hV P                  P                  / 8X  g   Q hV P                  P
                  \        4       8X  g   Q hR # r\   )r   testingbreak_cyclesr   r   Z_pickled_cidsrd   r   r   r   is_emptyZTest_callback_registry.is_empty   sa    


!.--."444~~''2---~~++su444r)   c                	s    \         P                  P                  4        . V P                  P                  O. 8w  g   Q hV P                  P                  / 8w  g   Q hR # r\   )r   r   r   r   r   r   r   r   is_not_emptyZ#Test_callback_registry.is_not_empty   sG    


!.--."444~~''2---r)   c                	s    \         P                  ! 4       pVP                  R R 4       \        P                  ! \        P
                  ! V4      4      pVP                  RR 4      pV^8X  g   Q hR# )r   c                 r   r\   r8   r8   r)   r   <lambda>9Test_callback_registry.test_cid_restore.<locals>.<lambda>   s    r)   r   c                 r   r\   r8   r8   r)   r   r   r      s    tr)   N)r   r   r   r   loadsdumps)r   cbZcb2r   ri   r   test_cid_restoreZ'Test_callback_registry.test_cid_restore   sP    ##%


3%ll6<<+,kk#|,axxr)   r   TFclsc                	s   V P                  4        V! 4       pV P                  V P                  VP                  V4      p\	        V4      \
        J g   Q hV P                  4        V P                  V P                  VP                  V4      pWE8X  g   Q hV P                  4        \        . V P                  P                  O4      ^8X  g   Q h\        V P                  P                  4      ^8X  g   Q h?V P                  4        R# )r!   N)
r   r   r   r   typeintr   r   r   r   )r   r   r   mini_mecid1Zcid2s   &&&   r   test_callback_completeZ-Test_callback_registry.test_callback_complete   s     	 % ||DKK?DzS    ||DKK?||2T^^1123q8884>>++,111 	r)   c                	s   V P                  4        V! 4       pV P                  V P                  VP                  V4      p\	        V4      \
        J g   Q hV P                  4        V P                  V4       V P                  4        R # r\   r   r   r   r   r   r   r   r   r   r   r   r   r      &&&  r   test_callback_disconnectZ/Test_callback_registry.test_callback_disconnect  sg     	 % ||DKK?DzS    	r)   c                	s   V P                  4        V! 4       pV P                  V P                  VP                  V4      p\	        V4      \
        J g   Q hV P                  4        V P                  R 4       V P                  4        R# )fooNr   r   r   r   test_callback_wrong_disconnectZ5Test_callback_registry.test_callback_wrong_disconnect  sj     	 % ||DKK?DzS    	r)   c                	s   V P                  4        V! 4       pV P                  V P                  VP                  V4       V! 4       pV P                  V P                  VP                  V4       V! 4       pV P                  V P                  VP                  V4       V P	                  4        V P                  4       ^8X  g   Q hRpRpV P                  4        R# r"   N)r   r   r   r   r   r   )r   r   r   r   Zmini_me2r   r   'test_registration_on_non_empty_registryZ>Test_callback_registry.test_registration_on_non_empty_registry'  s     	 %T[['--8 5T[[(..&9 5T[[(..&9 	zz|q    r)   c                	s    \        \        P                  ! \        P                  ! \        P
                  ! 4       4      4      R 4      '       g   Q hR# )r   N)hasattrr   r   r   r   r   r   r   r   test_picklingZ$Test_callback_registry.test_picklingB  s9    v||FLL1G1G1I$JK"$ $ 	$ $r)   )r   r   N)r9   r:   r;   r<   r[   r   r   r   r   r   r   r   markparametrizer   r   r   r   r   r   r   r=   r8   r)   r   r   r      sF   2>.5.
 [[Xe}5[[UXz$:; < 60 [[Xe}5[[UXz$:; < 6" [[Xe}5[[UXz$:; < 6" [[Xe}5[[UXz$:; < 62$r)   r   c                sV   \         P                  ! 4       pVP                  R R 4       VP                  \         RR 4       \        P
                  ! \        4      ;_uu_ 4        VP                  R R4       RRR4       V P                  4       pVP                  VP                  u;8X  d	   R8X  g   Q h Q hVP                  \         RR 4       VP                  R R4       V P                  4       pVP                  R8X  g   Q hRVP                  9   g   Q hR#   + '       g   i     L; i)	r   c                 r   r\   r8   r8   r)   r   r   Atest_callbackregistry_default_exception_handler.<locals>.<lambda>I  s    dr)   "_get_running_interactive_frameworkc                 r   r\   r8   r8   r)   r   r   r   L      Tr)   zargument mismatchN c                 r   )znot-noner8   r8   r)   r   r   r   S  s    Zr)   z,takes 0 positional arguments but 1 was given)r   r   r   setattrr   r   	TypeErrorprocessZ
readouterrZoutZerr)Zcapsysmonkeypatchr   Zouterrs   &&  r   /test_callbackregistry_default_exception_handlerr   G  s    				!BJJul#3\C	y	!	!


5-. 
" F::)r)))))35GIJJu)* F::9VZZGGG 
"	!s   #DD(	c                s  a  ! R  R\         4      oR pR pV3R lp\        P                  ! RR7      pVP                  RV4       \        P                  ! VR7      pVP                  RV4       \        P                  ! VR7      pVP                  RV4       \        P
                  P                  RV\        .VS.V\        ..4      ! V 4      # )	c                      ] tR tRtRtR# )%raising_cb_reg.<locals>.TestExceptioni[  r8   Nr9   r:   r;   r<   r=   r8   r)   r   TestExceptionr   [      r)   r   c                     \         hr\   )RuntimeErrorr8   r)   r   raise_runtime_errorZ+raising_cb_reg.<locals>.raise_runtime_error^  s    r)   c                 r   r\   r   r8   r)   r   raise_value_errorZ)raising_cb_reg.<locals>.raise_value_errora  s    r)   c                s8   < \        V \        4      '       d   ShV hr\   )r]   r   )excpr      &r   transformerZ#raising_cb_reg.<locals>.transformerd  s    dL))
r)   NZexception_handlerr   zcb, excp)	Z	Exceptionr   r   r   r   r   r   r   r   )r   r   r   r   Zcb_oldZcb_filtZcb_filt_passr   s   &      @r   raising_cb_regr   Z  s    	  ##d;F
NN5-. $${CGOOE./ ))KHL 12;;"":%+\$:%,m$<%1:$>$@A BFG Gr)   c                s    V P                  \        R R 4       \        P                  ! V4      ;_uu_ 4        VP	                  R4       RRR4       R#   + '       g   i     R# ; i)r   c                 r   r\   r8   r8   r)   r   r   Z@test_callbackregistry_custom_exception_handler.<locals>.<lambda>~  r   r)   r   N)r   r   r   r   r   )r   r   r      &&&r   .test_callbackregistry_custom_exception_handlerr   {  sC    3\C	t		


5 
			s   AA$	c                 s  a \         P                  ! R .R7      p . oV3R lpV P                  R V4       \        P                  ! \
        4      ;_uu_ 4        V P                  RV4       RRR4       V P                  R ^4       \        P                  ! \
        4      ;_uu_ 4        V P                  R^4       RRR4       S^.8X  g   Q hR#   + '       g   i     Lk; i  + '       g   i     L/; i)r   )Zsignalsc                s*   < SP                  V 4       R # r\   )append)r~   rl   r   r   r   Z)test_callbackregistry_signals.<locals>.cb  s    w~~a r)   ZbarN)r   r   r   r   r   r   r   )Zcrr   rl   s     @r   test_callbackregistry_signalsr     s    				0BG JJub	z	"	"


5" 
#JJua	z	"	"


5! 
#qc>> 
#	" 
#	"s   C%CC	C/	c            	     s   R  p \         P                  ! V R7      pR pR pVP                  RV4       VP                  RV4       VP                  4       ;_uu_ 4        VP	                  R4       VP	                  R4       RRR4       VP                  RR7      ;_uu_ 4        VP	                  R4       \
        P                  ! \        RR	7      ;_uu_ 4        VP	                  R4       RRR4       RRR4       \
        P                  ! \        R
R	7      ;_uu_ 4        VP	                  R4       RRR4       \
        P                  ! \        RR	7      ;_uu_ 4        VP	                  R4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)c                s    V hr\   r8   )r   r   r   raise_handlerZ5test_callbackregistry_blocking.<locals>.raise_handler  s    
r)   r   c                     \        R 4      h)1 should be blockedr   r8   r)   r   
test_func1Z2test_callbackregistry_blocking.<locals>.test_func1      .//r)   c                 r   )2 should be blockedr   r8   r)   r   
test_func2Z2test_callbackregistry_blocking.<locals>.test_func2  r   r)   Ztest1Ztest2Nr   r   Zmatchr   )r   r   r   Zblockedr   r   r   r   )r   r   r   r          r   test_callbackregistry_blockingr     s-   			-	@B00JJw
#JJw
# 



7


7 

 
7	#	#


7]]:-BCCJJw D	 
$ 
z)>	?	?


7 
@	z)>	?	?


7 
@	? 
 DC	 
$	# 
@	?	?	?	?sH   #E8"6FF	*FF2G8F		FFF/	2G	G	zline, resultc                s@    \         P                  ! V 4      V8X  g   Q hR# )z+Strip everything from the first unquoted #.N)r   _strip_comment)Zlineresultr   r   test_strip_commentr     s     %///r)   c                 s    \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! R4       RRR4       R#   + '       g   i     R# ; i)zMissing closing quoter   zgrid.color: "aaN)r   r   r   r   r   r8   r)   r   test_strip_comment_invalidr     s3    	z)@	A	A./ 
B	A	A	As   AA	c                 s   R ^R^R^/p . ROp. ROp. ROpV\        \        P                  ! V P                  4       4      4      8X  g   Q hV\        \        P                  ! V P	                  4       4      4      8X  g   Q hV\        \        P                  ! V P                  4       4      4      8X  g   Q hV\        P                  ! V4      8X  g   Q hV\        P                  ! V4      8X  g   Q hR# )r   r   r   Nr   r   r   r!   r"   rn   ))r   r!   )r   r"   )r   rn   )rR   r   Zsanitize_sequenceZkeysZvaluesrf   )r   Zkvir   r   test_sanitize_sequencer     s    	aaa AAA&Au..qvvx89999u..qxxz:;;;;u..qwwy9::::''****''****r)   r   r   Zalias_mappingztuple[tuple[dict, dict], ...]fail_mappingz"tuple[tuple[Any, dict, dict], ...]pass_mappingzinp, kwargs_to_normc           	     s$   \         P                  ! \        4      ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        \
        P                  ! V 3/ VB  R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; ir\   )r   r   r   r   'suppress_matplotlib_deprecation_warningr   normalize_kwargs)inpkwargs_to_normr   r   test_normalize_kwargs_failr     sO    	y	!	!4#O#O#Q#Qs5n5 $R	!	!#Q#Q	!	!	!s#   A>A+	A>+A;6A>>B	zinp, expected, kwargs_to_normc                s    \         P                  ! 4       ;_uu_ 4        V\        P                  ! V 3/ VB 8X  g   Q h R R R 4       R #   + '       g   i     R # ; ir\   )r   r   r   r   )r   expectedr   r   r   test_normalize_kwargs_passr     s@     
	5	5	7	7511#HHHHH 
8	7	7	7s   AA	c                s   \         P                  ! R 4       \        V 4      ^8X  g   Q h\        P                  R,          R8  dz   \
        P                  ! \        4      P                  ^,          pV ^ ,          P                  P                  \        VR,          4      \        VR,          4      34      '       d   Q hR# V ^ ,          P                  \        8X  g   Q hR# )Zoops:Nr"   N
matplotlibZmpl_toolkitsN)rn   i   )r   warn_externalr   sysZversion_infopathlibZPathZ__file__ZparentsZfilenameZ
startswithZstr)ZrecwarnZbasedirrb   r   test_warn_externalr     s    vw<1
w& ,,x(0031:&&113w7M3N36w7O3P3R S S 	S S S
 qz""h...r)   c            	     sT   \         P                  ! \        R 4      ;_uu_ 4       p \        RR7      V n        \
        P                  ! \        RR7      ;_uu_ 4        \        P                  ! R4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   N)Zreturn_valuez	\Adummy\Zr   r   )
r   objectr   r   Z	_getframer   ZwarnsZUserWarningr   r   )Zmock_sys    r   (test_warn_external_frame_embedded_pythonr     sa    	eU	#	#x!t4\\+\::w' ; 
$	#:: 
$	#	#s#   6BB	1BBBB'	c                 $   \         P                  ! ^4      p \         P                  ! ^4      p\         P                  ! ^4      RRR1,          p\        P                  ! WV4      w  r4p\         P                  ! . RO\
        R7      p\         P                  ! . RO\
        R7      p\         P                  ! . RO\
        R7      p\        Wc4       \        Wt4       \        W4       \        P                  ! W4      w  r4\        Wc4       \        Wt4       R# )rv   Ndtyper    r    r!   r!   r"   r"   rn   r    r!   r!   r"   r"   rn   rn   )rn   r"   r"   r!   r!   r    r    )r   r   r   pts_to_prestepasarrayfloatr   	r~   Zy1Zy2ZxsZy1sZy2sZx_targetZ	y1_targetZ	y2_target	            r   test_to_prestepr     s    
		!A	1B	1dd	B''r2LBSzz/u=H

0>I

0>Ix$y&y&""1)GBx$y&r)   c                 Z    \         P                  ! . . 4      p V P                  R8X  g   Q hR# r"   N)r"   r    )r   r   r}   Zstepsr   r   test_to_prestep_emptyr     &      R(E;;&   r)   c                 r   )rv   Nr   r   r   r   )rn   rn   r"   r"   r!   r!   r    )r   r   r   pts_to_poststepr   r   r   r   r   r   test_to_poststepr    s    
		!A	1B	1dd	B((3LBSzz/u=H

0>I

0>Ix$y&y&##A*GBx$y&r)   c                 r   r   )r   r  r}   r   r   r   test_to_poststep_emptyr  0  s&    !!"b)E;;&   r)   c                 r   )rv   Nr   r   )r          ?r  r?   r?         @r  rn   )r    r    r!   r!   r"   r"   rn   rn   )rn   rn   r"   r"   r!   r!   r    r    )r   r   r   pts_to_midstepr   r   r   r   r   r   test_to_midstepr  5  s    
		!A	1B	1dd	B''r2LBSzz<EJH

35AI

35AIx$y&y&""1)GBx$y&r)   c                 r   r   )r   r  r}   r   r   r   test_to_midstep_emptyr	  I  r  r)   argsc                s    \         P                  ! \        4      ;_uu_ 4        \        P                  ! V !   R R R 4       R #   + '       g   i     R # ; ir\   )r   r   r   r   r   )r
  r   r   test_step_failsr  N  s0     
z	"	"d# 
#	"	"	"s   AA	c                 s    ! R  R4      p \        ^4       Uu. uF	  q! 4       NK  	  up;w  r#rErg\        P                  ! 4       pVP                  ! V!   \	        \        V4      ^ ,          4      \	        V4      8X  g   Q h\	        VP                  V4      4      \	        V4      8X  g   Q hVR,           F  p	VP                  W)4      '       d   K  Q h	  VP                  V4       VR,           F  p	VP                  W)4      '       g   K  Q h	  \        P                  ! VR,          VR,          4       F  w  rVP                  W4      '       d   K  Q h	  R# u upi )c                  r   )test_grouper.<locals>.DummyiY  r8   Nr   r8   r)   r   Dummyr  Y  r   r)   r  r!   NNN)ranger   Grouperjoinrd   r^   Zget_siblingsZjoinedZremove	itertoolsproduct)r  _r   r   r   r   r   objsr4   otherABs               r   test_grouperr  X  s    -21X6XEGX66MA!AFFDMtAwqz?c$i'''q~~a !SY...bxx!!!!  HHQKb88A%%%%  !!$r(DH5xx~~~ 6 7s   Ec                 s>    ! R  R4      p \        ^4       Uu. uF	  q! 4       NK  	  pp\        P                  ! 4       pVP                  ! V!   VP                  pV F  pWT9   d   K  Q h	  WB^ ,          ,          pVR,           F  pWE,          VJ d   K  Q h	  R# u upi )c                  r   )#test_grouper_private.<locals>.Dummyim  r8   Nr   r8   r)   r   r  r  m  r   r)   r  r  N)r  r   r  r  Z_mapping)r  r  r  r4   ZmappingZoZbase_set          r   test_grouper_privater  l  s     "1X&XEGXD&AFFDMjjG||  AwH"XXzX%%%  's   Bc                 s   \         P                  ! ^4      p V P                  p^ \        V4      8X  g   Q h^\        V4      8X  g   Q h\        P
                  ! V4      pV^ 8X  g   Q h^ \        V4      8X  g   Q h^\        V4      8X  g   Q hR# )r#   N)r   r   ZflatZnextr   _safe_first_finite)r~   Zitret      r   test_flatiterr   }  ss    
		!A	
BR==R==

"
"2
&C!8O8R==R==r)   c                     \         P                  ! ^\         P                  4      p \        P                  ! V 4      p\         P
                  ! V4      '       g   Q hR# r   )r   fullr$   r   r  ZisnanZarrr       r   test__safe_first_finite_all_nanr%    8    
''!RVV
C

"
"3
'C88C===r)   c                 r!  r   )r   r"  Zinfr   r  Zisinfr#  r$  r   test__safe_first_finite_all_infr'    r&  r)   c                 s
    ! R  R4      p \         P                  ! . R4      p\        P                  ! V4      R8X  g   Q h\	        ^4       Uu. uF	  q ! 4       NK  	  pp\         P                  ! VR4      p\        P                  ! V4      R	8X  g   Q h\        P
                  ! ^4      p\         P                  ! VR4      p\        P                  ! V4      R	8X  g   Q h\	        ^4       Uu. uF"  p\	        ^4       Uu. uF	  q ! 4       NK  	  upNK$  	  pp\         P                  ! VR4      p\        P                  ! V4      R
8X  g   Q h\        P                  P                  ^^4      p\         P                  ! VR4      p\        P                  ! V4      R8X  g   Q h^.^.^..p\         P                  ! VR4      p\        V\        4      '       g   Q h\        V^ ,          \        P                  4      '       d   V^ ,          P                  R8X  g   Q h\        V^,          \        P                  4      '       d   V^,          P                  R8X  g   Q h\        V^,          \        P                  4      '       d   V^,          P                  R8X  g   Q h\        P                  ! ^ 4      \        P                  ! ^4      \        P                  ! ^4      .p\         P                  ! VR4      p\        V\        4      '       g   Q h\        V4      ^8X  g   Q h\        V^ ,          \        P                  4      '       d   V^ ,          P                  R8X  g   Q h. RO^^.^..p\         P                  ! VR4      p\        V\        4      '       g   Q h\        V^ ,          \        P                  4      '       d   V^ ,          P                  R8X  g   Q h\        V^,          \        P                  4      '       d   V^,          P                  R8X  g   Q h\        V^,          \        P                  4      '       d   V^,          P                  R8X  g   Q h ! R R\        P                  4      p\        P
                  ! ^
\        R7      pV! R\        VP                  R7      p\         P                  ! VR4      p\        V4      ^8X  g   Q h\        V^ ,          V4      '       g   Q h. ROp\         P                  ! VR4      p\        V^ ,          4      \        V4      8X  g   Q h\        V^ ,          \        P                  4      '       g   Q hR# u upi u upi u upi )c                  r   )test_reshape2d.<locals>.Dummyi  r8   Nr   r8   r)   r   r  r(    r   r)   r  r~   c                  s4   a  ] tR tRtV 3R ltV 3R ltRtV ;t# )%test_reshape2d.<locals>.ArraySubclassi  c              3  	sj   <"   \         SV `  4        F  p\        P                  ! V4      x  K  	  R # 5ir\   )super__iter__r   r%   )r   rh   	__class__s   & r   r+  Z.test_reshape2d.<locals>.ArraySubclass.__iter__  s&     )+hhuo% ,s   03c                	sJ   < \         P                  ! \        SV `  V4      4      # r\   )r   r%   r*  __getitem__)r   Zitemr,  s   &&r   r-  Z1test_reshape2d.<locals>.ArraySubclass.__getitem__  s    88EG/566r)   r8   )r9   r:   r;   r<   r+  r-  r=   Z__classcell__)r,     @r   ArraySubclassr)    s    	&	7 	7r)   r/  r   )r   ZbufferN)r!   r    )r!   r#   )rn   r#   )r#   rn   r!   )rn   r   )r"   )
   )	r   r   r   r   Zddr   r    Zffr    )r   _reshape_2Dr   r}   r  r   rN   Zrandr]   r^   ndarrayr%   r   r   rQ   )r  xnewr  r~   r/  r   s         r   test_reshape2dr5    s     R%D88D>V###(#(Q(A#Q$D88D>V###
		!AQ$D88D>V###.3Ah7h58	$8a%'8	$hA7Q$D88D>V### 			q!AQ$D88D>V### qcA3AQ$DdD!!!!d1grzz**tAw}}/DDDd1grzz**tAw}}/DDDd1grzz**tAw}}/DDD 
!bhhqk288A;/AQ$DdD!!!!t9>>d1grzz**tAw}}/DDD 
QFQC AQ$DdD!!!!d1grzz**tAw}}/DDDd1grzz**tAw}}/DDDd1grzz**tAw}}/DDD7

 7 			"E"Ae58AQ$D t9>>d1g}---- 	8AQ$DtAw<3q6!!!d1grzz****Q 	$ 
%7s   U(U:U
	UUc                s&   \         P                  ! ^4      P                  ^
^4      pV P                  V. ROR7      p\        P
                  ! VR4      p\        VP                  V4       F$  w  r$\         P                  P                  W$4       K&  	  R# )   Zcolumnsr~   Nr   )
r   r   reshape	DataFramer   r2  rw   Tr   r   )pdXr~   Xnewr4  r2   r   test_reshape2d_pandasr>    sh    
		"b!$A
Q0AQ$DqssD>


%%a. "r)   c                s&   \         P                  ! ^4      P                  ^
^4      pV P                  VRR.R7      p\        P
                  ! VR4      p\        VP                  V4       F$  w  r$\         P                  P                  W$4       K&  	  R# r6  r~   r5   )ZdimsN)
r   r   r8  	DataArrayr   r2  rw   r:  r   r   )xrr<  r~   r=  r4  r2   r   test_reshape2d_xarrayrB    sl    
		"b!$A
Qc3Z(AQ$DqssD>


%%a. "r)   c                sT   \         P                  ! ^4      P                  ^
^4      pV P                  V. ROR7      p\        P
                  ! V4      w  r4\         P                  P                  W4       \         P                  ! ^
4      p\         P                  P                  W54       R# )r6  r7  Nr   )r   r   r8  r9  r   index_ofr   r   )r;  r<  r~   Idxr=  IdxRefr'   r   test_index_of_pandasrF    so    
		"b!$A
Q0Aq!ICJJ!!!*YYr]FJJ!!#.r)   c                sT   \         P                  ! ^4      P                  ^
^4      pV P                  VRR.R7      p\        P
                  ! V4      w  r4\         P                  P                  W4       \         P                  ! ^
4      p\         P                  P                  W54       R# r?  )r   r   r8  r@  r   rC  r   r   )rA  r<  r~   rD  r=  rE  r'   r   test_index_of_xarrayrG    ss    
		"b!$A
Qc3Z(Aq!ICJJ!!!*YYr]FJJ!!#.r)   c                 s   ^^^r!p R.V ,          R.V,          ,           R.V,          ,           p^ V 3W,           W,           V,           3.p\         P                  ! V4      V8X  g   Q h^^reVR.V,          ,           p\         P                  ! V4      V8X  g   Q hR.V,          VRV)  ,           pWUV ,           3WP,           V,           WP,           V,           V,           3.p\         P                  ! V4      V8X  g   Q hVR.V,          ,           p\         P                  ! V4      V8X  g   Q h\         P                  ! R.^,          4      . 8X  g   Q h\         P                  ! . 4      . 8X  g   Q hR# )rn   TFN)r   Zcontiguous_regions)r   r   r   r+   r   r   r   r  r   test_contiguous_regionsrH    sH   A!A6!8ugai4&(*DAac!e%H##D)X555aq5'!)D##D)X555719tCaRy DaC13q5!#a%'*+H##D)X5555'!)D##D)X555##UGAI."444##B'2---r)   c                s    V P                  \        ^4      \        ^
^4      R7      p\        P                  ! V4      pV^ 8X  g   Q hR# )r#   )ZindexN)ZSeriesr  r   r  )r;  r   r1   s   &  r   %test_safe_first_element_pandas_seriesrI  '  s:    
		%(%B-	0A%%a(FQ;;r)   c                 s   R  p R pR Ft  w  r#\         P                  ! W#,          4      P                  W#4      p\        P                  ! V! V^,
          4      V! V^,
          4      4       F  w  rVV ! WEVR7       K  	  Kv  	  R# )c           	     sH   V P                   w  r4. \        ^ V^,
          V4      OV^,
          Np. \        ^ V^,
          V4      OV^,
          Np. p\        P                  ! V4       Fn  w  r\        P                  ! V4       FO  w  r\        P
                  ! WV	^,           1W^,           13,          4      P                  pVP                  V4       KQ  	  Kp  	  \        P                  ! V4      p\        P                  ! V\        P                  ! WVR7      4      '       g   Q hR# )r    rstridecstrideN)r}   r  r  Zpairwiser   Z_array_perimeterr:  r   r   r   Zarray_equalZ_array_patch_perimeters)r~   rK  rL  rowscolsZrow_indsZcol_indsZpolysZrsZrs_nextZcsZcs_nextZpss   &&&          r   checkZ*test_array_patch_perimeters.<locals>.check1  s    WW
7U1d1fg.7Q77U1d1fg.7Q7$--h7KB(11(;++AlBqyL.H,IJLLR   < 8
 

5!~~e#;;"#gGH H 	H Hr)   c                sp    \        ^V ^,           4       Uu. uF  qV,          ^ 8X  g   K  VNK  	  up# u upi r0  )r  )Znr   rb   r   divisorsZ-test_array_patch_perimeters.<locals>.divisors@  s.     AE?9?a!eqj?999s   33rJ  N))r#   r#   )i   i   )i   i	   )r   r   r8  r  r  )rO  rP  rM  rN  r~   rK  rL  r  r   test_array_patch_perimetersrQ  .  sq    H: 1
IIdk"**46 ) 1 1(4!82D2:4!82D!FG!g6!F 1r)   c                 s  aaa  ! R  R4      o ! R RS4      p S! 4       oVVV3R lpV ! 4       oSP                   Sn        V! S4       \        P                  ! SRRR RR	R
 RRRR7
      ;_uu_ 4        SP                   SP                   J g   Q hSP                  SP                  J g   Q hSP                  R8X  g   Q hSP
                  R8X  g   Q hSP                  R	8X  g   Q hSP                  R8X  g   Q hSP                  SP                   8w  g   Q hSP                  R8X  g   Q hSP                  R8X  g   Q hSP                  R8X  g   Q h RRR4       V! S4       R#   + '       g   i     L; i)c                  s    ] tR tRt]! 4       t]! 4       tR tR t]	R 4       t
]R 4       t]R 4       t]P                  R 4       tRtR	# )
test_setattr_cm.<locals>.AiK  c                	s0    R V n         RV n        RV n        R# )aardvarkoverrider   N)rS  rT  _pr   r   r   __init__Z#test_setattr_cm.<locals>.A.__init__O  s    &DM&DMDGr)   c                	r   r\   r8   r   r   r   methZtest_setattr_cm.<locals>.A.methT  s    r)   c                	r   r\   r8   )r   r   r   classyZ!test_setattr_cm.<locals>.A.classyW      r)   c                 	r   r\   r8   r8   r)   r   staticZ!test_setattr_cm.<locals>.A.static[  rY  r)   c                	    V P                   # r\   rU  r   r   r   proptest_setattr_cm.<locals>.A.prop_  s    77Nr)   c                	    Wn         R # r\   r\  )r   Zvalr   r   r]  r^  c  s    Gr)   )rU  rS  rT  N)r9   r:   r;   r<   r   	cls_levelrT  rV  rW  ZclassmethodrX  ZstaticmethodrZ  Zpropertyr]  Zsetterr=   r8   r)   r   r  rR  K  sn    H	8	
	 
	 
	 
	 
	 
	 
	 
	 
	r)   r  c                  r   )test_setattr_cm.<locals>.Big  r8   Nr   r8   r)   r   r  ra  g  s    r)   r  c                sf  < V P                   V P                   Jg   Q hV P                  V P                  J g   Q hSP                  R 8X  g   Q hV P                  V P                  J g   Q hV P                  SP                  J g   Q hV P                  R8X  g   Q h\        V R4      '       d   Q hV P                  R8X  g   Q hV P                  SP                   8X  g   Q hV P                  SP                  J g   Q hRV P                  9  g   Q hRV P                  9  g   Q hRV P                  9  g   Q hR# )rS  rT  extrar   r`  rX  rZ  N)rW  rS  r]  r`  rT  r   monkeyZ__dict__)Zobjr  r   r  s   &r   verify_pre_post_stateZ.test_setattr_cm.<locals>.verify_pre_post_statel  s    xxsxx'''||s||+++zzZ'''xx388###}}+++||z)))3((((xx3zzUZZ'''}}+++#,,...s||+++s||+++r)   ZsquirrelZmoosec                 r   r\   r8   r8   r)   r   r   !test_setattr_cm.<locals>.<lambda>  s    4r)   Zboorb  c                 r   r\   r8   r8   r)   r   r   re    s    4r)   ZbobrX  rZ  )	r]  rS  rW  rT  rb  rc  r`  rX  rZ  N)rW  rc  r   Z_setattr_cmrS  rT  rb  r]  r`  rX  rZ  )r  rd  r  r   r  s     @@@r   test_setattr_cmrf  J  sK    8A  CE,, 	
AzzAH!			J<'5H
. 
. vvzzQZZ'''zzW$$$zzU"""ww'!!!vv###xx5::%%%{{e###xx8###xx8####
.& !'
. 
.s   2CE  E0	c                 sJ   \         P                  p V ! ^ ^4      R8X  g   Q hV ! ^ ^4      R8X  g   Q hV ! ^ ^4      R8X  g   Q hV ! R	^4      R8X  g   Q hV ! R^4      R8X  g   Q hV ! R^4      R8X  g   Q hV ! R
^4      R8X  g   Q hV ! R^4      V ! R^
4      u;8X  d	   R8X  g   Q h Q hR# )r    Z0z-0gHz>gӴ:T?z0.00123z-0.00123z
0.00123456Ng(0gӴ:T)r   Z_format_approx)r    r   r   test_format_approxrg    s    AQ7c>>Q7c>>Q7c>>Wa=D   T1:_a I---q!Z///_a Aor$:JlJJJJJr)   c                 s    \        ^
4       U u. uF)  p \        P                  ! 4       \        V R7      ,           NK+  	  pp RV^ &   \        P
                  ! V4      pVe   W!^,          8X  g   Q hR# u up i )r1  )ZdaysN)r  r   Ztodayr   r   r  )r   Zdatetime_lstr1   r  r   !test_safe_first_element_with_nonerh    sd    >CBiHiDJJL9!#444iLHLO%%l3F&O";;;"; Is   /A/c                 sr    \        R 4      R 8X  g   Q h\        R4      R8X  g   Q h\        R4      R8X  g   Q hR# )z
1 \times 2z$1 \times 2$z1 x 2z	$\rm{hi}$ZhiN)r   r8   r)   r   test_strip_mathri    s;    m$555o&'111l#t+++r)   zfmt, value, resultc                s    \         P                  ! W4      V8X  g   Q h\         P                  ! V \        P                  ! V4      4      V8X  g   Q hR# )z)Apply *value* to the format string *fmt*.N)r   Z_auto_format_strr   Zfloat64)Zfmtrh   r   r   r   test_auto_format_strrj    sA     !!#-777!!#rzz%'89VCCCr)   c                 6    ! R R4      p \        R4      pWn        V\        P                  R&   \        P
                  ! ^
4      pVP                  V4      p\        P                  ! V4      p\        V\        P                  4      '       g   Q h\        WB4       R# )z
Test that torch tensors are converted to NumPy arrays.

We don't want to create a dependency on torch in the test suite, so we mock it.
c                  "    ] tR tRtR tR tRtR# )/test_unpack_to_numpy_from_torch.<locals>.Tensori  c                	r_  r\   rQ   r{   r   r   rV  Z8test_unpack_to_numpy_from_torch.<locals>.Tensor.__init__      Ir)   c                	r[  r\   rn  r   r   r   	__array__Z9test_unpack_to_numpy_from_torch.<locals>.Tensor.__array__      99r)   rn  Nr9   r:   r;   r<   rV  rp  r=   r8   r)   r   Tensorrm        		r)   rs  torchN)r   rs  r   modulesr   r   r   _unpack_to_numpyr]   r3  r   )rs  ru  rQ   Ztorch_tensorr           r   test_unpack_to_numpy_from_torchry    sw      wEL CKK99R=D<<%L##L1Ffbjj)))) v$r)   c                 rk  )z
Test that jax arrays are converted to NumPy arrays.

We don't want to create a dependency on jax in the test suite, so we mock it.
c                  rl  ),test_unpack_to_numpy_from_jax.<locals>.Arrayi  c                	r_  r\   rn  r{   r   r   rV  Z5test_unpack_to_numpy_from_jax.<locals>.Array.__init__  ro  r)   c                	r[  r\   rn  r   r   r   rp  Z6test_unpack_to_numpy_from_jax.<locals>.Array.__array__  rq  r)   rn  Nrr  r8   r)   r   Arrayrz    rt  r)   r{  jaxN)r   r{  r   rv  r   r   r   rw  r]   r3  r   )r{  r|  rQ   Z	jax_arrayr   rx  r   test_unpack_to_numpy_from_jaxr}    sv      U
CICKK99R=D		$I##I.Ffbjj)))) v$r)   c                 sP  a  ! R R4      o\        R4      p V3R lV n        SV n        V \        P                  R&   \
        P                  ! ^
4      pV P                  V4      p\        P                  ! V4      p\        V\
        P                  4      '       g   Q h\        W14       R# )z
Test that tensorflow arrays are converted to NumPy arrays.

We don't want to create a dependency on tensorflow in the test suite, so we mock it.
c                  rl  )4test_unpack_to_numpy_from_tensorflow.<locals>.Tensori  c                	r_  r\   rn  r{   r   r   rV  Z=test_unpack_to_numpy_from_tensorflow.<locals>.Tensor.__init__  ro  r)   c                	r[  r\   rn  r   r   r   rp  Z>test_unpack_to_numpy_from_tensorflow.<locals>.Tensor.__array__  rq  r)   rn  Nrr  r8   r)   r   rs  r~    rt  r)   rs  
tensorflowc                s   < \        V S4      # r\   )r]   )r~   rs  r   r   r   Z6test_unpack_to_numpy_from_tensorflow.<locals>.<lambda>  s    Z6%:r)   N)r   Z	is_tensorrs  r   rv  r   r   r   rw  r]   r3  r   )r  rQ   Z	tf_tensorr   rs  s       @r   $test_unpack_to_numpy_from_tensorflowr    s      L)J:JJ *CKK99R=D!!$'I##I.Ffbjj)))) v$r)   )	)a : no_commentr  )a : "quoted str"r  )za : "quoted str" # commentr  )a : "#000000"r  )za : "#000000" # commentr  )a : ["#000000", "#FFFFFF"]r  )z$a : ["#000000", "#FFFFFF"] # commentr  )z"a : val  # a comment "with quotes"za : val)z# only comment "with quotes" xxr   ))z%.2f m皙?0.20 m)z{:.2f} mr  r  )z{} mr  z0.2 m)constr  r  )z%d or {}r  z0 or {})z{{{:,.0f}}}g     jAz	{200,000})z{:.2%}gUUUUUU?z66.67%)z$%ggRQ@z$2.54)U__conditional_annotations__Z
__future__r   r  r   r   r   Ztypingr   Zunittest.mockr   r   r   r   r   Znumpyr   Znumpy.testingr   r	   r
   r   r   r   r   Zmatplotlib.colorsZcolorsr6   Zmatplotlib.cbookr   r   Ztypesr   r   r>   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Z__annotations__r   r   r   r   r   r   r   r  r  r  r	  r   r8  r  r  r  r   r%  r'  r5  r>  rB  rF  rG  rH  rI  rQ  rf  rg  rh  ri  rj  ry  r}  r  )r  r.  r   <module>r     s   " "    
  % . . 6 6  " # = 3 3D{@ {@|  
C$ C$LH&GB  
B  
* 
0
0
0
	+ 
1c1#u67	1c1#Sz):;</+  
2rN	1c1QQ',	1XQx/C#s+<=>40  .=6 >6
 8%'I'I/ ('(!
'(!
'(!
 
iimAq!3'iimSiimRYYq\"$%
$%
$
(&"	P+f////..78Od	K<, - 	0 	D	D%8%:%r)   