
    P/Phc                        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 d dlm	Z
 d dlZd dlZd dlmZmZ d dlmZ d dlmZ d dlZd dlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z* d Z+d	 Z,d
 Z-d Z.d Z/d Z0dddi ej1        d          fdddd ej1        d          fdddd ej1        d          fdddi ej1        d          fdddd ej1        d          fdddd ej1        d          fgZ2g dZ3ej4        5                    de2e3          d             Z6d Z7d Z8d Z9d Z:d Z;d Z<ej4        5                    d  e<d!                    d"             Z=ej4        5                    d# e<d$                    d%             Z>ej4        5                    d&d'd(e?fd)d* ej@        d+          d+fd,d-e?fd+ge?fg          d.             ZAej4        5                    d/d0d1e?fd)d* ej@        d+          d+fd,d-e?fd+ge?fg          d2             ZBd3 ZCd4 ZDd5 ZEej4        F                    ejG        d6k    d78          d9             ZHej4        F                    ejG        d6k    o ejI                     d:8          d;             ZJd< ZKej4        5                    d=g d>          d?             ZLej4        5                    d=g d@          dA             ZMej4        5                    d=g dB          dC             ZNej4        5                    d=g dD          dE             ZOej4        5                    d=dFdGg          dH             ZPdS )I    N)mock)cyclerCycler)parse)_api_c_internal_utils)validate_boolvalidate_colorvalidate_colorlist_validate_color_or_linecolorvalidate_cyclervalidate_floatvalidate_fontstretchvalidate_fontweightvalidate_hatchvalidate_hist_binsvalidate_intvalidate_markeveryvalidate_stringlistvalidate_sketch_validate_linestyle_listify_validator)subprocess_run_for_testingc                    t          j        dd           t          j        dd           t           j        d         }t           j        d         }| d	z  }|                    d
d           t          j        d| i          5  t           j        d         | k    sJ 	 d d d            n# 1 swxY w Y   t           j        d         |k    sJ t          j        |          5  t           j        d         dk    sJ 	 d d d            n# 1 swxY w Y   t           j        d         |k    sJ t          j        |ddi          5  t           j        d         dk    sJ 	 d d d            n# 1 swxY w Y   t           j        d         |k    sJ t          j        ddi          d             } |              |             t          j        |           t           j        d         dk    sJ d S )NtextF)usetexlines   )	linewidthtext.usetexlines.linewidthtest_rcparams.rczlines.linewidth: 33utf-8encodingrcfname!   ,   )r)   r'   c                  6    t           j        d         dk    sJ d S )Nr!   r+   mplrcParams     ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/matplotlib/tests/test_rcparams.pyfuncztest_rcparams.<locals>.func>   s!    |-."444444r1   )r.   r'   r/   
write_text
rc_contextrc_file)tmp_pathr   r   rcpathr3   s        r2   test_rcparamsr9   $   s   F6%    F7b!!!!\-(F./I**F
+g>>> 
Mv:6	7	7	7 ; ;|M*6z:::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;<&&0000 
f	%	%	% 5 5|-."444445 5 5 5 5 5 5 5 5 5 5 5 5 5 5<)*i7777 
f*;R)@	A	A	A 5 5|-."444445 5 5 5 5 5 5 5 5 5 5 5 5 5 5<)*i7777 	^&+,,5 5 -,5 	DFFFDFFF K<)*b000000s6   B,,B03B0$D

DDE++E/2E/c                     t          j        g ddddd          } d                                }|t          |           k    sJ d                                }|t	          |           k    sJ dd	gt          |                     d
                    k    sJ dgt          |                     d                    k    sJ d S )N)zApple ChanceryTextilezZapf Chancerycursivez
sans-serifnormal   )font.cursivefont.familyzfont.weight	font.sizea  
RcParams({'font.cursive': ['Apple Chancery',
                           'Textile',
                           'Zapf Chancery',
                           'cursive'],
          'font.family': ['sans-serif'],
          'font.size': 12.0,
          'font.weight': 'normal'})z
font.cursive: ['Apple Chancery', 'Textile', 'Zapf Chancery', 'cursive']
font.family: ['sans-serif']
font.size: 12.0
font.weight: normalr?   rA   zi[vz]r@   family)r.   RcParamslstripreprstrsortedfind_alllist)r'   expected_reprexpected_strs      r2   test_RcParams_classrL   J   s    	 (3 (3 (3 '3&.$&( ( 
) 
)B' (.vxx  DHH$$$$ vxx	  3r77"""" K(F2;;w3G3G,H,HHHHH?d2;;x#8#899999999r1   c                      t          j        ddi          } ddi}t          j        t                    5  |                     |           d d d            d S # 1 swxY w Y   d S )Nfigure.figsize)      @*   rO   rP      )r.   rC   pytestraises
ValueErrorupdate)r'   bad_dicts     r2   test_rcparams_updaterX   k   s    	'3	4	4B ,/H	z	"	"  
		(                 s   AAAc                      t          j        t                    5  t          j        ddi           d d d            d S # 1 swxY w Y   d S )NrN   rQ   )rS   rT   rU   r.   rC   r0   r1   r2   test_rcparams_initrZ   s   s    	z	"	" 7 7&56667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s   >AAc                      ddl m}  t          j        t          d          5   |  | t          d                    dd           d d d            d S # 1 swxY w Y   d S )	Nr   )r   z3 were givenmatchrgb)color      )matplotlib.rcsetupr   rS   rT   	TypeErrorrI   )ccls    r2   test_nargs_cyclerre   x   s    000000	y	7	7	7 * *CCd5kk"""Aq)))* * * * * * * * * * * * * * * * * *s   %AAAc                     t          j                    5  t          j                    5  t          j                                        } | D ]}| |         t          j        |<   	 d d d            n# 1 swxY w Y   t          j                    5  t          j        t          j                   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t                    5  t          d            d d d            n# 1 swxY w Y   t          j        t                    5  t          j                    5  dt          j        d<   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NTzsvg.fonttype)r   'suppress_matplotlib_deprecation_warningr.   r5   r/   copydeepcopyrS   rT   rU   r	   )_copykeys     r2   test_Bug_2543rl      s    
	5	7	7 ( (^ 	/ 	/L%%''E / /$)#JS!!/	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ ^ 	( 	(M#,'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 
z	"	"  d              	z	"	" 0 0^ 	0 	0+/CL(	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   C9A."C.A2	2C5A2	6CB7+C7B;	;C>B;	?CCC2DDD2E:E"E:"E&	&E:)E&	*E::E>E>facer_   rinherit)r_   zaxes.facecolorgedge)r_   axes.edgecolor)zsame facecolorzinherited facecolordifferent facecolorzsame edgecolorzinherited edgecolorrs   zcolor_type, param_dict, target)idsc                    |                     d          |d|  d<   d|  d}t          j        |          5  t          j                    \  }}|                    t          d          d           |                                } t          |j	        |                      |k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr_   zlegend.get_ra   test)label)
popr.   r5   pltsubplotsplotrangelegendgetattrlegendPatch)
color_type
param_dicttargetget_func_axlegs          r2   test_legend_colorsr      s
    /9nnW.E.EJ****+'j'''H	
	#	# > >2
a'''iikk1ws1133v=====	> > > > > > > > > > > > > > > > > >s   A2B77B;>B;c                      dt           j        d<   t           j                            ddgddg          } |                                 dk    sJ d S )Nrn   zlines.markerfacecolorrR   r`   )r.   r/   r   Line2Dget_markerfacecolorlns    r2   test_mfc_rcparamsr      Q    ,/CL()			1a&1a&	)	)B!!##s******r1   c                      dt           j        d<   t           j                            ddgddg          } |                                 dk    sJ d S )Nrn   zlines.markeredgecolorrR   r`   )r.   r/   r   r   get_markeredgecolorr   s    r2   test_mec_rcparamsr      r   r1   c                      dt           j        d<   t          j                    \  } }|                    d          }|                                dk    sJ d S )Nrn   zaxes.titlecolorTitle)r.   r/   rz   r{   	set_title	get_color)r   r   titles      r2   test_axes_titlecolor_rcparamsr      sP    &)CL"#LNNEArLL!!E??######r1   c                     | dz  }|                     dd           t          j        dd          5  t          j        |dd	          }d d d            n# 1 swxY w Y   |                    d
          dk    sJ d S )Nr"   ztimezone: UTCr#   r$   zlocale.getpreferredencodingz	UTF-32-BE)return_valueTFtimezoneUTC)r4   r   patchr.   rc_params_from_fileget)r7   r8   r'   s      r2   test_Issue_1713r      s    **F
o888	1	L	L	L : :$VT599: : : : : : : : : : : : : : :66*&&&&&&s   AAAc                  .    dD ]} | t           j        d<   d S )N)
pngjpegtiffrawrgbappmsgibmppbmsvgzanimation.frame_formatr-   )fmts    r2   test_animation_frame_formatsr      s-    , 5 514-..5 5r1   c           !   #     K   t           g d dD             d dD             R d dddg fD             d	t          d
g fdddgfddgfddgfddgfddgddgfdddgft          ddg          ddgft          j        ddg          ddgff	t                      t          fdt          ffd	t          t          d          d dddgddgdt          j        d          fD             d dD             d	t          t          d          d dddgddgdt          j        d          fD             d dD             d	t          dt          d d!          ft          d"d#d$g          t          d"d#d$g          fd%t          d d!          t          d&g d'          z   fd(t          d d!          t          d)g d*          z   fd+t          d d!          t          d"d#d$g          z  ft          d,d#d$g          t          d"d#d$g          ft          dd-g.          t          d&dd-g          ffd/t          fd0t          fd1t          fd2t          fd3t          fd4t          fd5t          fd6t          fd7t          fd8t          fd9t          fd:t          fd;t          fd<t          fd=t          ft          d>g d?          t          ft          d g d@          t          ffd	t          dAdBt          fdCt          fdDt          ffd	t          dEg dFfg dFg dFfdGdHgfg dIdJdKgft          j        g dL          t          j        g dM          gt          j        g dLg dMg          ft          j        g dLg dMg          t          j        g dLg dMg          ffdNt          ffd	t          dOdPt          fdQt          fdRt          fdSt          fdTt          ffd	t          dUdVt          fdWt          ffd	t           dXdYdZd[g d*fg d*g d*ft          j        d\          t          j        d\          ffdt          ffd	t$          d]d^d_d`dag d*g d*ft'          d          t'          d dd           ft'          dddb          t'          dddb          ffd*t(          fg dct(          fg ddt(          fg det(          fdft(          fdgt(          fdht(          fdit(          fdjt(          fdkt(          fdlt(          fdmt(          fdnt(          fdot(          fdkt(          fdt(          ft+                      t(          ffd	t,          dpdqdrdsdtdudvdwdxdydzd{d|d}d~dgdd~dgffg ddg dffdddgfdddgffdddgfdddgfffdt          fdt          fd                    d          t          fg d*t          fd~t          fdddgft          fd ddgft          fdg d*ft          fddgdft          ff	d	f}|D ]7}|d         }| r|d         D ]\  }}|||fV  "|d         D ]\  }}|||fV  8d S )Nc              3      K   | ]}|d fV  	dS )TNr0   .0r   s     r2   	<genexpr>z/generate_validator_testcases.<locals>.<genexpr>   s>       F FQ4y F F F F F Fr1   )tyyesontrue1rR   Tc              3      K   | ]}|d fV  	dS )FNr0   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s>       H Ha5z H H H H H Hr1   )fnnoofffalse0r   Fc              3   (   K   | ]}|t           fV  d S NrU   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s:       6 6 j/ 6 6 6 6 6 6r1   aardvarkr`   )	validatorsuccessfail za,babz
aardvark, zaardvark, ,)r   r   rR   )r   c              3   "   K   | ]
}|d dgfV  dS )rR   r`   Nr0   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s>       : : !Q[ : : : : : :r1   z1, 2      ?      @)rR   r`   c              3   (   K   | ]}|t           fV  d S r   r   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   s:         j/      r1   )r   r   rR   rR   r`   ra   c              3   "   K   | ]
}|d dgfV  dS )r   r   Nr0   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   sF       B B #s_ B B B B B Br1   z1.5, 2.5)r   r   c              3   (   K   | ]}|t           fV  d S r   r   r   s     r2   r   z/generate_validator_testcases.<locals>.<genexpr>   sB       N N j/ N N N N N Nr1   )r   r   r   r   Nzcycler("color", "rgb")r_   r^   	linestyle---zW(cycler("color", ["r", "g", "b"]) +
                          cycler("mew", [2, 3, 5]))markeredgewidth)r`   ra      zcycler(c='rgb', lw=[1, 2, 3])r   r   z5cycler('c', 'rgb') * cycler('linestyle', ['-', '--'])lsr   )mew   zcycler("bleh, [])zCycler("linewidth", [1, 2, 3])z1cycler('c', [j.__class__(j) for j in ['r', 'b']])z2cycler('c', [j. __class__(j) for j in ['r', 'b']])z2cycler('c', [j.	__class__(j) for j in ['r', 'b']])z2cycler('c', [j.__class__(j) for j in ['r', 'b']])z9cycler('c', [j.__class__(j).lower() for j in ['r', 'b']])z1 + 2zos.system("echo Gotcha")z	import osz9def badjuju(a): return a; badjuju(cycler("color", "rgb"))zcycler("waka", [1, 2, 3])zcycler(c=[1, 2, 3])zcycler(lw=['a', 'b', 'c'])waka)rR   ra   r   )C1rn   rp   ))--|r   )\oOr   )/+*/.xr   r   r   z--_   Xzr,g,b)rn   rp   r   zr, ,rn   )r   rp   bluerp   r   )rR   r   r   r   rR   r   fish)
Nonenoner   r   )AABBCCz#AABBCC)AABBCC00z	#AABBCC00)tab:bluer   )C12r   )z	(0, 1, 0))              ?r   )r   r   )z(0, 1, 0, 1))r   r   r   r   )r   rR   r   rR   r   ztab:verybluez(0, 1)z(0, 1, 0, 1, 0)z(0, 1, none)z(0, 1, "0.5")))	linecolorr   )markerfacecolorr   )mfcr   )markeredgecolorr   )mecr   linemarker)autor   )fdr   )10
   1, 2, 3   )NNrR   rR   皙?r   )r   r   )r   r   ra   )rR   r`   333333?)r   r`   ra   )rR   r`   r   )r   皙?r  )r   r`   ra   )rR   r  r  )rR   r   )r   rR   abc)rR   r   )r   r   r   )r   r   )r   r   )solidr  )r   r   )dashedr  )-.r  )dashdotr  ):r  )dottedr	  r   ) r
  r   r   )DoTtEdr	  )z1, 3)r   )rR   ra   gGz?i  r   g     |@)rR   r`   ra   r   )r   g       @g      @g      @s   dottedr	  zutf-16r   r   r   )r	   r   iternparraysetrU   r   r   r   r   r   r   r   r
   r   r   aranger   slicerc   objectr   encode)validvalidation_testsvalidator_dictr   argr   
error_types          r2   generate_validator_testcasesr     s     #I F FDF F F IH HFH H HI I6 6&2r46 6 6	 	 *"Xc3Z( :,/"ZL1#j\2Cj3*- 3*-C:&&c
3hSz**S#J7	 55*%j/	 	 );;;: :%SzAq6%rx'7'79: : :   		 	 )1===B B)C:Sz)28J+?+?AB B BN NLN N N		 	 &.We,,.[3+66[3+6687gu--/;;<> 6We,,vk999/M/MMOMgu--kC;778: TC;//[3+668!Q(((.A7792 j/&
33 GGHLNJ'-z:
+N /
;(*5/<&))),,j9'#3#3#344jA355	 5	l %5*%j/
#%	 	 )/%oo7se_'''#v7x			**BHYYY,?,?@Xyyy)))4557h			999566Xyyy)))4557 :& 	 	 %
 ":.Z($j1!:."J/		 	& 3 :&Z(
	 
	 )%!+ii+immRYr]]3 z* 
	 
	 )!%-ii+AhhdAt 4 45Aq!nneAq!nn5 i(;;	*;;	*;;	*"I.	* ),Y'Y'I&Y'y)Y'y))$	"88Y'!	 	: *!3!#7!#9!5z%'7)*SkAe}#56"llQ(<(<(<$=>1a&kA1v;/Aq6lR!QL1 z*j)??8,,j999j)$!Q=*-1a&>:.yyy>:.FA;
+		 	qQf + 1 1";/	 	1-i8 - -Vf,,,,,- $2&#9 1 1Zj0000011 1r1   zvalidator, arg, targetTc                     | |          }t          |t          j                  r"t          j                            ||           d S t          |t
                    s
||k    sJ d S t          |          t          |          k    sJ d S r   )
isinstancer  ndarraytestingassert_equalr   rI   )r   r  r   ress       r2   test_validator_validr     s     )C..C&"*%% )

V,,,,,'' )f}}}}}} CyyDLL((((((r1   zvalidator, arg, exception_typeFc                 v    t          j        |          5   | |           d d d            d S # 1 swxY w Y   d S r   )rS   rT   )r   r  exception_types      r2   test_validator_invalidr#    s     
~	&	&  	#                 s   .22zweight, parsed_weight)boldr$  BOLD)d   r&  )100r&  r&  )g4@   z20.6c                     |t           u rCt          j        t                     5  t          |            d d d            d S # 1 swxY w Y   d S t          |           |k    sJ d S r   )rU   rS   rT   r   )weightparsed_weights     r2   test_validate_fontweightr,    s     
""]:&& 	( 	('''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( #6**m;;;;;;   A  AAzstretch, parsed_stretch)expandedr.  EXPANDEDc                     |t           u rCt          j        t                     5  t          |            d d d            d S # 1 swxY w Y   d S t          |           |k    sJ d S r   )rU   rS   rT   r   )stretchparsed_stretchs     r2   test_validate_fontstretchr3    s     ##]:&& 	* 	* )))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* $G,,>>>>>>r-  c                      d t           j        D             } | D ])}t          t           j        |         t                    sJ *d S )Nc                     g | ]}d |v |	S )keymapr0   )r   ks     r2   
<listcomp>z test_keymaps.<locals>.<listcomp>  s    999a8q=====r1   )r.   r/   r  rI   )key_listr7  s     r2   test_keymapsr:    sO    993<999H 1 1#,q/40000001 1r1   c                      t           j        d         dk    sJ t          j                    5  dt           j        d<   d d d            n# 1 swxY w Y   t           j        d         dk    sJ d S )Nbackendzmodule://aardvark)r.   r/   r5   r0   r1   r2   test_no_backend_reset_rccontextr=    s    <	"&99999			 6 6"5Y6 6 6 6 6 6 6 6 6 6 6 6 6 6 6<	"&9999999s   AAAc                     t          j        ddi          5  t           j        d         du sJ t          j        t
                    5  t          j        ddd          5  	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t           j        d         du sJ 	 d d d            d S # 1 swxY w Y   d S )Nr    Fr&   T)r    z	test.blah)r.   r5   r/   rS   rT   KeyErrorr0   r1   r2   test_rcparams_reset_after_failr@    s    
M51	2	2	2 4 4|M*e3333]8$$ 	 	4d#K#KLLL                	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 |M*e333334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4sY   0B5B!A/#B/A33B6A37B:B5B
	
B5B
	B55B9<B9linuxz
Linux only)reasonc                    i t           j        dddt          |           d}t          j        t
          j                  5  t          t          j	        ddg|dt
          j
                   d d d            d S # 1 swxY w Y   d S )Nr   )DISPLAYWAYLAND_DISPLAY
MPLBACKENDMPLCONFIGDIR-cz^import matplotlib;matplotlib.use('tkagg');import matplotlib.pyplot;matplotlib.pyplot.plot(42);T)envcheckstderr)osenvironrF   rS   rT   
subprocessCalledProcessErrorr   sys
executableDEVNULL)r7   rI  s     r2   test_backend_fallback_headlessrS    s    <RZ <RS]]< < <C 
z4	5	5 < <"^T+ 4
(:	< 	< 	< 	<< < < < < < < < < < < < < < < < < <s   +A99A= A=headlessc                    t          t          j                  t          d          k    rt          t                    }ni }t          j        di | i t          j        dt          |           d}t          t          j        ddg|ddd	          j        }|                                                                d
k    sJ d S )Nz8.2.0)exc_typetkinterr   )rF  rG  rH  a)  import matplotlib as mpl; sentinel = mpl.rcsetup._auto_backend_sentinel; assert mpl.RcParams({'backend': sentinel})['backend'] == sentinel; assert mpl.rcParams._get('backend') == sentinel; assert mpl.get_backend(auto_select=False) is None; import matplotlib.pyplot; print(matplotlib.get_backend())T)rI  r   rJ  capture_outputagg)rW  )parse_versionrS   __version__dictImportErrorimportorskiprL  rM  rF   r   rP  rQ  stdoutstriplower)r7   pytest_kwargsrI  r<  s       r2   test_backend_fallback_headfulrc    s     V'((M',B,BBBk222
33]333
IRZ
Ir3x==
I
I
IC(	
+	, d$t
= 
= 
= >D  ==??  ""e++++++r1   c                    |                      t          j        dddd d f           t          j        t          j                  5  t          j        d         t          j        d         dz  k    sJ 	 d d d            n# 1 swxY w Y   t          j        t          j                  5  dt          j        d<   d d d            n# 1 swxY w Y   t          j        d         dk    sJ |                      t          j        dd	           t          j        t          j                  5  t          j        d         t          j        d
         k    sJ 	 d d d            n# 1 swxY w Y   t          j        t          j                  5  dt          j        d<   d d d            n# 1 swxY w Y   t          j        d
         dk    sJ |                      t          j        dd           t          j        t          j                  5  t          j        d         J 	 d d d            n# 1 swxY w Y   |                      t          j        dd           t          j        t          j                  5  dt          j        d<   d d d            n# 1 swxY w Y   t          j        d         dk    sJ d t          j        d<   t          j        	                    t          j        
                                           d S )Nzpatch.linewidth0.0zaxes.linewidthc                     d| z  S Nr`   r0   )olds    r2   <lambda>z"test_deprecation.<locals>.<lambda>9  s
    a#g r1   c                     | dz  S rg  r0   )news    r2   ri  z"test_deprecation.<locals>.<lambda>9  s
    37 r1   r`   rR   zpatch.edgecolor)re  rr   rr   z#abcdzpatch.force_edgecolor)re  Nzsvg.hashsalt)re  foobar)setitemr.   _deprecated_maprS   warnsMatplotlibDeprecationWarningr/   _deprecated_ignore_map_deprecated_remain_as_nonerV   rh   )monkeypatchs    r2   test_deprecationrt  6  sD   .	 "5"57J7JKM M M 
c6	7	7 2 2|-.|,-12 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
c6	7	7 , ,*+&', , , , , , , , , , , , , , ,<()Q...."$5!# # # 
c6	7	7 . .|-.|,-. . . . .. . . . . . . . . . . . . . . 
c6	7	7 2 2*1&'2 2 2 2 2 2 2 2 2 2 2 2 2 2 2<()W4444"$;   
c6	7	7 = =|34<<<<= = = = = = = = = = = = = = = &   
c6	7	7 0 0'/^$0 0 0 0 0 0 0 0 0 0 0 0 0 0 0<'83333#'CL L))++,,,,,sl   ,A??BB(CCC&)EE #E F!!F%(F%H%%H),H)/JJJvalue)bestrR   r   g?ffffff?grx  z	(0.9, .7)c                 $    | t           j        d<   d S )N
legend.locr-   ru  s    r2   test_rcparams_legend_locr}  _  s     "'CLr1   )rv  rR   rw  ry  c                     | dz  }|                     d|            t          j        |          5  t          j        d         |k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nmatplotlibrczlegend.loc: r(   r{  r4   r.   r5   r/   r7   ru  rc_paths      r2   "test_rcparams_legend_loc_from_filer  n  s     'G-e--...	g	&	&	& 3 3|L)U222223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3   AA!A)r   r   z	(1, 2, 3)c                 ~    | t           j        d<   t           j        d         dk    sJ t          |           dk    sJ d S )Npath.sketchr   )r.   r/   r   r|  s    r2   test_validate_sketchr    sE    "'CL<&)33335!!Y......r1   )rR   r   z1 2 3c                    t          j        t          d          5  t          |            d d d            n# 1 swxY w Y   t          j        t          d          5  | t          j        d<   d d d            d S # 1 swxY w Y   d S )Nzscale, length, randomnessr\   r  )rS   rT   rU   r   r.   r/   r|  s    r2   test_validate_sketch_errorr    s   	z)D	E	E	E                	z)D	E	E	E , ,&+]#, , , , , , , , , , , , , , , , , ,s   8<<A;;A?A?r   z(1,2,3)c                     | dz  }|                     d|            t          j        |          5  t          j        d         dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr  zpath.sketch: r(   r  r   r  r  s      r2   #test_rcparams_path_sketch_from_filer    s    'G.u..///	g	&	&	& 8 8|M*i777778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8r  )Qrh   rL  rN  rP  unittestr   r   r   packaging.versionr   rZ  rS   
matplotlibr.   r   r   matplotlib.pyplotpyplotrz   matplotlib.colorscolorsmcolorsnumpyr  rb   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   matplotlib.testingr   r9   rL   rX   rZ   re   rl   to_rgbalegend_color_testslegend_color_test_idsmarkparametrizer   r   r   r   r   r   r  r   r#  rU   r  r,  r3  r:  r=  r@  skipifplatformrS  xdisplay_is_validrc  rt  r}  r  r  r  r  r0   r1   r2   <module>r     s    				     



       ! ! ! ! ! ! ! ! 4 4 4 4 4 4      . . . . . . . .       # # # # # #                                       " : 9 9 9 9 9#1 #1 #1L: : :B  7 7 7
* * *0 0 0* gs^_W_S112yC88W_Ssc22OGOC4H4HIgs^_W_S112yC88W_Ssc22OGOC4H4HI	     9;M2  4 4> >4 4>+ + ++ + +$ $ $' ' '5 5 5[1 [1 [1| 155d;;= =) )= =) 955e<<> > > >
 0ZRXc]]C Z	UJ3  < < < 2RXc]]C Z	UJ5  ? ? ?1 1 1: : :	4 	4 	4 CLG+LAA< < BA< LGI$G$5$G$I$I I   , , ,0#- #- #-R  # # #  ' ' '  # # #  3 3 3 "E"E"EFF/ / GF/ "3"3"344, , 54, 9i"8998 8 :98 8 8r1   