Ë
    %êñi ¿  ã                   óÈ  — d dl m 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Zd dl	m
Z
mZ d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZm Z m!Z! d dlm"Z" d dl#m$Z$m%Z%  ejL                  dd	g¬
«      d„ «       Z'd„ Z( e%dg«      d„ «       Z) e%dg«      d„ «       Z* e%dg«      d„ «       Z+ e%dg«      d„ «       Z, e%dg«      d„ «       Z- e%dg«      d„ «       Z. e%dg«      d„ «       Z/ e%dg«      d„ «       Z0 e%dg«      d„ «       Z1 e%dg«      d „ «       Z2 e%g d!¢«      d"„ «       Z3 e%d#g«      d$„ «       Z4d%„ Z5d&„ Z6d'„ Z7d(„ Z8d)„ Z9ejt                  jw                  d*«       e$d+g¬,«      d-„ «       «       Z<d.„ Z=d/„ Z> e%d0gd1 ej~                  «       d2k(  rd nd3¬4«      d5„ «       Z@d6„ ZA e%d7gd1d*¬8«      d9„ «       ZB e%d:gd1¬;«      d<„ «       ZC e%d=gd1¬;«      d>„ «       ZDd?„ ZEd@„ ZFdA„ ZGdB„ ZHdC„ ZIdD„ ZJ e%dEgd1¬;«      dF„ «       ZKdG„ ZLejt                  jw                  dH«      dI„ «       ZMdJ„ ZNejt                  jw                  dH«      dK„ «       ZOejt                  jw                  dH«      dL„ «       ZP e%dMg«      dN„ «       ZQ e%dOgd1dH¬8«      dP„ «       ZRdQ„ ZSdR„ ZTdS„ ZUdT„ ZV e$d+g¬,«      ej®                  j±                  dUi dVdWig«      dX„ «       «       ZYej®                  j±                  dYdZd[d\ddd]gd^z  d_fd`dadbgdddcfg«      dd„ «       ZZde„ Z[df„ Z\dg„ Z]ej®                  j±                  dhdidjg«      dk„ «       Z^dl„ Z_dm„ Z`dn„ Zado„ Zbdp„ Zcdq„ Zddr„ Zeds„ Zfejt                  jw                  dH«      dt„ «       Zgdu„ Zhdv„ Zidw„ Zjdx„ Zkdy„ Zldz„ Zm e%d{gd+gd1d*¬|«      d}„ «       Zn e$d+g¬,«      d~„ «       Zod„ Zpej®                  j±                  d€d�d‚dƒgg«       e$d+g¬,«      d„„ «       «       Zq e$g d…¢¬,«      d†„ «       Zry)‡é    )ÚdatetimeN)ÚSimpleNamespace)Úassert_array_equalÚassert_array_almost_equal)Ú
CollectionÚLineCollectionÚEventCollectionÚPolyCollection)ÚFillBetweenPolyCollection)Úcheck_figures_equalÚimage_comparisonÚ
pcolormeshÚpcolor)Úparamsc                 ó   — | j                   S ©N)Úparam)Úrequests    úc/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/matplotlib/tests/test_collections.pyÚpcfuncr      s   € à�=‰=Ðó    c            
      ó€  — t        j                  g d¢«      } t        j                  g d¢«      }d}d}d}d}g d¢}d}d	}t        | |||||||¬
«      }	t        j                  «       \  }
}|j                  |	«       |j                  d«       | ||||||||dœ	}|j                  dd«       |j                  dd«       ||	|fS )z,Generate the initial collection and plot it.)ç        ç      ð?ç       @ç      @g      @g       @g      *@g      5@)g      A@g     €K@g     @V@Ú
horizontalé   ç      à?é   ©r   r   r   r   ÚsolidT)ÚorientationÚ
lineoffsetÚ
linelengthÚ	linewidthÚcolorÚ	linestyleÚantialiasedzEventCollection: default)	Ú	positionsÚextra_positionsr#   r$   r%   r&   r'   r(   r)   éÿÿÿÿé   r   )	ÚnpÚarrayr	   ÚpltÚsubplotsÚadd_collectionÚ	set_titleÚset_xlimÚset_ylim)r*   r+   r#   r$   r%   r&   r'   r(   r)   ÚcollÚfigÚaxÚpropss                r   Úgenerate_EventCollection_plotr:      sÛ   € ä—‘Ò;Ó<€IÜ—h‘hšÓ/€OØ€KØ€JØ€JØ€IÚ€EØ€IØ€Kä˜9Ø'2Ø&0Ø&0Ø%.Ø!&Ø%.Ø'2ô€Dô �l‰l‹n�G€CˆØ×Ñ�dÔØ‡L�LÐ+Ô,Ø#Ø /Ø'Ø%Ø%Ø#ØØ#Ø'ñ	€Eð ‡K�K��BÔØ‡K�K��1ÔØˆt�Uˆ?Ðr   z!EventCollection_plot__default.pngc                  ó*  — t        «       \  } }}t        ||d   |d   |d   |d   «       t        j                  j	                  |d   |j                  «       «       |d   |j                  «       k(  sJ ‚|j                  «       sJ ‚|d   |j                  «       k(  sJ ‚|d   |j                  «       k(  sJ ‚|j                  «       dgk(  sJ ‚|j                  «       g|j                  «       ¢D ]%  }t        j                  j	                  ||d   «       Œ' y )Nr*   r%   r$   r#   ©r   Nr'   )r:   Úcheck_segmentsr.   Útestingr   Úget_positionsÚget_orientationÚis_horizontalÚget_linelengthÚget_lineoffsetÚget_linestyleÚ	get_colorÚ
get_colors)Ú_r6   r9   r'   s       r   Ú test__EventCollection__get_propsrH   E   s  € ä2Ó4�N€A€tˆUä�4Ø˜Ñ%Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ô ‡J�J×!Ñ! %¨Ñ"4°d×6HÑ6HÓ6JÔKà�Ñ 4×#7Ñ#7Ó#9Ò9Ð9Ð9à×ÑÔÐÐà�Ñ $×"5Ñ"5Ó"7Ò7Ð7Ð7à�Ñ $×"5Ñ"5Ó"7Ò7Ð7Ð7à×ÑÓ I ;Ò.Ð.Ð.à—.‘.Ó"Ð7 T§_¡_Ó%6Ð7ò =ˆÜ
�
‰
×%Ñ% e¨U°7©^Õ<ñ=r   z'EventCollection_plot__set_positions.pngc                  óN  — t        «       \  } }}t        j                  |d   |d   g«      }|j                  |«       t        j                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd«       y )	Nr*   r+   r%   r$   r#   zEventCollection: set_positionsr,   éZ   )
r:   r.   ÚhstackÚset_positionsr>   r   r?   r=   r3   r4   ©Úspltr6   r9   Únew_positionss       r   Ú$test__EventCollection__set_positionsrP   _   s›   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1°5Ð9JÑ3KÐLÓM€MØ×Ñ�}Ô%Ü‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4˜Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô)ð 	‡N�NÐ3Ô4Ø‡M�M�"�bÕr   z'EventCollection_plot__add_positions.pngc                  ó   — t        «       \  } }}t        j                  |d   |d   d   g«      }|j                  «        |j	                  |d   d   «       |j                  «        t        j
                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd	«       y )
Nr*   r+   r   r%   r$   r#   zEventCollection: add_positionsr,   é#   )r:   r.   rK   Úswitch_orientationÚadd_positionsr>   r   r?   r=   r3   r4   rM   s       r   Ú$test__EventCollection__add_positionsrU   m   sÉ   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1Ø$Ð%6Ñ7¸Ñ:ð<ó =€Mà×ÑÔØ×Ñ�uÐ.Ñ/°Ñ2Ô3Ø×ÑÔÜ‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ3Ô4Ø‡M�M�"�bÕr   z*EventCollection_plot__append_positions.pngc                  ó`  — t        «       \  } }}t        j                  |d   |d   d   g«      }|j                  |d   d   «       t        j                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd	«       y )
Nr*   r+   r    r%   r$   r#   z!EventCollection: append_positionsr,   rJ   )
r:   r.   rK   Úappend_positionsr>   r   r?   r=   r3   r4   rM   s       r   Ú'test__EventCollection__append_positionsrX      s±   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1Ø$Ð%6Ñ7¸Ñ:ð<ó =€Mà×Ñ˜%Ð 1Ñ2°1Ñ5Ô6Ü‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ6Ô7Ø‡M�M�"�bÕr   z*EventCollection_plot__extend_positions.pngc                  ó`  — t        «       \  } }}t        j                  |d   |d   dd  g«      }|j                  |d   dd  «       t        j                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd	«       y )
Nr*   r+   r   r%   r$   r#   z!EventCollection: extend_positionsr,   rJ   )
r:   r.   rK   Úextend_positionsr>   r   r?   r=   r3   r4   rM   s       r   Ú'test__EventCollection__extend_positionsr[   �   sµ   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1Ø$Ð%6Ñ7¸¸Ð;ð=ó >€Mà×Ñ˜%Ð 1Ñ2°1°2Ð6Ô7Ü‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ6Ô7Ø‡M�M�"�bÕr   z,EventCollection_plot__switch_orientation.pngc                  óF  — t        «       \  } }}d}|j                  «        ||j                  «       k(  sJ ‚|j                  «       rJ ‚|j	                  «       }t        |||d   |d   |«       | j                  d«       | j                  dd«       | j                  dd«       y )	NÚverticalr%   r$   z#EventCollection: switch_orientationr,   r-   r   r    )	r:   rS   r@   rA   r?   r=   r3   r5   r4   )rN   r6   r9   Únew_orientationrO   s        r   Ú)test__EventCollection__switch_orientationr_   Ÿ   s£   € ä5Ó7Ñ€Dˆ$�Ø €OØ×ÑÔØ˜d×2Ñ2Ó4Ò4Ð4Ð4Ø×!Ñ!Ô#Ð#Ð#Ø×&Ñ&Ó(€MÜ�4Ø Ø˜Ñ&Ø˜Ñ&¨ô9ð 	‡N�NÐ8Ô9Ø‡M�M�"�bÔØ‡M�M�!�QÕr   z0EventCollection_plot__switch_orientation__2x.pngc                  ól  — t        «       \  } }}|j                  «        |j                  «        |j                  «       }|d   |j                  «       k(  sJ ‚|j	                  «       sJ ‚t
        j                  j                  |d   |«       t        |||d   |d   |d   «       | j                  d«       y)zc
    Check that calling switch_orientation twice sets the orientation back to
    the default.
    r#   r*   r%   r$   z&EventCollection: switch_orientation 2xN)
r:   rS   r?   r@   rA   r.   r>   r   r=   r3   rM   s       r   Ú,test__EventCollection__switch_orientation_2xra   °   s´   € ô 6Ó7Ñ€Dˆ$�Ø×ÑÔØ×ÑÔØ×&Ñ&Ó(€MØ�Ñ 4×#7Ñ#7Ó#9Ò9Ð9Ð9Ø×ÑÔÐÐÜ‡J�J×!Ñ! %¨Ñ"4°mÔDÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ;Õ<r   z)EventCollection_plot__set_orientation.pngc                  ó.  — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚|j                  «       rJ ‚t	        ||d   |d   |d   |«       | j                  d«       | j                  dd«       | j                  dd	«       y )
Nr]   r*   r%   r$   z EventCollection: set_orientationr,   r-   r   r    )r:   Úset_orientationr@   rA   r=   r3   r5   r4   )rN   r6   r9   r^   s       r   Ú&test__EventCollection__set_orientationrd   Å   s�   € ä5Ó7Ñ€Dˆ$�Ø €OØ×Ñ˜Ô)Ø˜d×2Ñ2Ó4Ò4Ð4Ð4Ø×!Ñ!Ô#Ð#Ð#Ü�4Ø˜Ñ%Ø˜Ñ&Ø˜Ñ&Ø"ô	$ð
 	‡N�NÐ5Ô6Ø‡M�M�"�bÔØ‡M�M�!�QÕr   z(EventCollection_plot__set_linelength.pngc                  óæ   — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚t        ||d   ||d   |d   «       | j	                  d«       | j                  dd«       y )Né   r*   r$   r#   zEventCollection: set_linelengthiìÿÿÿé   )r:   Úset_linelengthrB   r=   r3   r5   )rN   r6   r9   Únew_linelengths       r   Ú%test__EventCollection__set_linelengthrj   Ö   s}   € ä5Ó7Ñ€Dˆ$�Ø€NØ×Ñ˜Ô'Ø˜T×0Ñ0Ó2Ò2Ð2Ð2Ü�4Ø˜Ñ%Ø!Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ4Ô5Ø‡M�M�#�rÕr   z(EventCollection_plot__set_lineoffset.pngc                  óæ   — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚t        ||d   |d   ||d   «       | j	                  d«       | j                  dd«       y )Ng      Àr*   r%   r#   zEventCollection: set_lineoffsetiúÿÿÿéüÿÿÿ)r:   Úset_lineoffsetrC   r=   r3   r5   )rN   r6   r9   Únew_lineoffsets       r   Ú%test__EventCollection__set_lineoffsetro   å   s}   € ä5Ó7Ñ€Dˆ$�Ø€NØ×Ñ˜Ô'Ø˜T×0Ñ0Ó2Ò2Ð2Ð2Ü�4Ø˜Ñ%Ø˜Ñ&Ø!Ø˜Ñ'ô	)ð
 	‡N�NÐ4Ô5Ø‡M�M�"�bÕr   )ú'EventCollection_plot__set_linestyle.pngrp   z'EventCollection_plot__set_linewidth.pngc                  óÒ   — dddgfdddgfdfD ]W  \  } }}t        «       \  }}} |j                  di | |i¤Ž t        j                  || «      |k(  sJ ‚|j	                  d| › �«       ŒY y )Nr(   Údashed)r   )ç      @rs   )r&   é   rt   zEventCollection: set_© )r:   Úsetr0   Úgetpr3   )ÚpropÚvalueÚexpectedrN   r6   rG   s         r   Útest__EventCollection__set_propr{   ô   s‹   € ð ˜( _Ð$5Ð6Ø˜-¨/Ð):Ð;Øð"ò 7Ñˆˆe�Xô
 6Ó7‰ˆˆd�AØˆ�‰Ñ!�D˜%�=Ò!Ü�x‰x˜˜dÓ# xÒ/Ð/Ð/Ø�‰Ð.¨t¨fÐ5Õ6ñ7r   z#EventCollection_plot__set_color.pngc                  ó  — t        «       \  } }}t        j                  g d¢«      }|j                  |«       |j	                  «       g|j                  «       ¢D ]"  }t        j                  j                  ||«       Œ$ | j                  d«       y )N)r   r   r   r   zEventCollection: set_color)	r:   r.   r/   Ú	set_colorrE   rF   r>   r   r3   )rN   r6   rG   Ú	new_colorr'   s        r   Ú test__EventCollection__set_colorr     sp   € ä1Ó3�M€Dˆ$�Ü—‘šÓ&€IØ‡N�N�9ÔØ—.‘.Ó"Ð7 T§_¡_Ó%6Ð7ò 8ˆÜ
�
‰
×%Ñ% e¨YÕ7ð8à‡N�NÐ/Õ0r   c                 ón  — | j                  «       }|j                  «       dk(  s|j                  «       dk(  s|€d}d}n#|j                  «       dk(  rd}d}nt        d«      ‚t        |«      D ]G  \  }}	|	d|f   ||dz  z   k(  sJ ‚|	d|f   ||dz  z
  k(  sJ ‚|	d|f   ||   k(  sJ ‚|	d|f   ||   k(  rŒGJ ‚ y)	zp
    Test helper checking that all values in the segment are correct, given a
    particular set of inputs.
    r   ÚnoneNr   r   r]   z.orientation must be 'horizontal' or 'vertical'r    )Úget_segmentsÚlowerÚ
ValueErrorÚ	enumerate)
r6   r*   r%   r$   r#   ÚsegmentsÚpos1Úpos2ÚiÚsegments
             r   r=   r=     sú   € ð
 × Ñ Ó"€HØ×ÑÓ˜|Ò+Ø× Ñ Ó" fÒ,°Ð0CàˆØ‰Ø	×	Ñ	Ó	 
Ò	*àˆØ‰äÐIÓJÐJô   Ó)ò 0‰
ˆˆ7Ø�q˜$�wÑ :°
¸Q±Ñ#>Ò>Ð>Ð>Ø�q˜$�wÑ :°
¸Q±Ñ#>Ò>Ð>Ð>Ø�q˜$�wÑ 9¨Q¡<Ò/Ð/Ð/Ø�q˜$�wÑ 9¨Q¡<Ó/Ð/Ð/ñ	0r   c                  óF  — t        j                  d«      j                  d«      } t        j                  | t        j                  d«      ¬«      }|j                  d«      dk(  sJ ‚|j                  t        j                  d«      dz   «       |j                  d«      dk(  sJ ‚y )Né   )é   é   r    r�   )r/   r    gUUUUUUå?rt   )r.   ÚarangeÚreshapeÚmcollectionsr   ÚnormÚ	set_array)Úlinesr6   s     r   Útest_collection_norm_autoscaler•   )  sy   € ä�I‰I�b‹M×!Ñ! )Ó,€EÜ×&Ñ& u´B·I±I¸a³LÔA€DØ�9‰9�Q‹<˜5Ò Ð Ð à‡N�N”2—9‘9˜Q“< !Ñ#Ô$Ø�9‰9�Q‹<˜5Ò Ð Ñ r   c                  óü   — t        j                  g «      } | j                  t        j                  «       «      }t        |j                  «       t        j                  j                  «       j                  «       «       y r   )	r‘   ÚPathCollectionÚget_datalimÚmtransformsÚIdentityTransformr   Ú
get_pointsÚBboxÚnull)ÚcolÚcol_data_lims     r   Útest_null_collection_datalimr    3  sW   € Ü
×
%Ñ
% bÓ
)€CØ—?‘?¤;×#@Ñ#@Ó#BÓC€LÜ�|×.Ñ.Ó0Ü"×'Ñ'×,Ñ,Ó.×9Ñ9Ó;õ=r   c                  ór  — t        j                  «       } t        j                  t	        j
                  ddg«      g«      }| j                  |«       |j                  t        j                  «       «      }t        |j                  «       t        j                  j                  «       j                  «       «       y )N©r   r   )r   r   )r0   Úaxesr‘   r—   ÚmpathÚPathr2   r˜   r™   rš   r   r›   rœ   r�   )r8   r6   Úcoll_data_lims      r   Útest_no_offsets_datalimr§   :  s…   € ô 
�‰‹€BÜ×&Ñ&¬¯
©
°F¸FÐ3CÓ(DÐ'EÓF€DØ×Ñ�dÔØ×$Ñ$¤[×%BÑ%BÓ%DÓE€MÜ�}×/Ñ/Ó1Ü"×'Ñ'×,Ñ,Ó.×9Ñ9Ó;õ=r   c                  ó  — t        j                  «        t        j                  «       } | j                  ddgddg«       | j                  j
                  }| j                  g g «       | j                  j
                  |k(  sJ ‚y )Nr   r   )r0   Úfigurer£   ÚscatterÚdataLimÚbounds)r8   r¬   s     r   Útest_add_collectionr­   E  sc   € ô ‡J�J„LÜ	�‰‹€BØ‡J�J��1ˆv˜˜1�vÔØ�Z‰Z×Ñ€FØ‡J�Jˆr�2ÔØ�:‰:×Ñ Ò&Ð&Ñ&r   Úmpl20Úpng)Ú
extensionsc                 óª  — g d¢}g d¢}t        j                  ||«      \  }}|j                  «       }|j                  «       }| j                  «       }|j	                  d«       |j                  d«       d|_        |j                  ||«       |j                  «       }|j	                  d«       |j                  d«       |j                  ||dd¬«       y )N)g¥+ócÒ>gë®`8�F×>gq�[€;uÝ>gƒy7½/¤â>gÖÿ9Ì—ç>gWÇ!Üí>gÄ-–Iåò>g\p5ê÷>gd‘jDþ>g—y¹´K'?gÈ~Í+»=?gFEAL ®?g��|™0j?gÇ÷GKe’?gÞ�´=B?)r   çš™™™™™¹?g²�ï§ÆKÇ?gsh‘í|?Õ?g‡ÙÎ÷Sã?gš™™™™™ñ?r   g…ëQ¸@g�Âõ(\�@g333333(@g      6@gÍÌÌÌÌÌC@g33333ÓQ@Úlogr   ÚoÚ )ÚmarkerÚls)	r.   ÚmeshgridÚflattenr1   Ú
set_xscaleÚ
set_yscaleÚmarginsrª   Úplot)Úfig_testÚfig_refÚx_valsÚy_valsÚxÚyÚax_testÚax_refs           r   Útest_collection_log_datalimrÆ   P  sº   € òJ€Fò€Fô �;‰;�v˜vÓ&�D€A€qØ	�	‰	‹€AØ	�	‰	‹€Aà×ÑÓ!€GØ×Ñ�uÔØ×Ñ�uÔØ€G„OØ‡O�O�A�qÔà×ÑÓ€FØ
×Ñ�eÔØ
×Ñ�eÔØ
‡K�K��1˜S R€KÕ(r   c                  óL  — t        j                  «       } t        j                  d«      t        j                  d«      }}t        j                  ddd«      j                  dd«      x}}t        j                  ||||«      }|j                  | j                  «      j                  dk(  sJ ‚t        j                  «        t        j                  «       } t        j                  ddd«      }t        j                  dd	d«      }t        j                  ||«      \  }}t        j                  «       j                  d
d«      | j                  z   }t        j                  ||t        j                  |«      t        j                   |«      |¬«       | j"                  j                  dk(  sJ ‚y )Né   é
   r   éP   )r   r   g      @g      "@éûÿÿÿrg   éþÿÿÿr�   é   é    ©Ú	transform)g      4@g      >@g      .@rs   )r0   r£   r.   r�   Úlinspacer�   Úquiverr˜   Ú	transDatar¬   r©   r¸   r™   ÚAffine2DÚ	translateÚsinÚcosr«   )r8   rÂ   rÃ   ÚuÚvÚqÚtranss          r   Útest_quiver_limitsrÜ   j  s-  € Ü	�‰‹€BÜ�9‰9�Q‹<œŸ™ 2›€q€AÜ�K‰K˜˜2˜rÓ"×*Ñ*¨2¨qÓ1Ð1€AˆÜ�
‰
�1�a˜˜AÓ€AØ�=‰=˜Ÿ™Ó&×-Ñ-Ð1AÒAÐAÐAä‡J�J„LÜ	�‰‹€BÜ
�‰�B˜˜BÓ€AÜ
�‰�B˜˜2Ó€AÜ�;‰;�q˜!Ó�D€A€qÜ× Ñ Ó"×,Ñ,¨R°Ó4°r·|±|ÑC€EÜ‡J�Jˆq�!”R—V‘V˜A“Y¤§¡ q£	°UÕ;Ø�:‰:×ÑÐ 7Ò7Ð7Ñ7r   c                  óà  — t        j                  «       } t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}t        j                  «       j                  dd«      | j                  z   }t        j                  ||t        j                  |«      t        j                  |«      |¬«       t        | j                  j                  d	d
¬«       y )NrË   rÉ   rg   rÌ   r�   rÍ   rÎ   rÏ   )rg   é   rf   é   r   ©Údecimal)r0   r£   r.   rÑ   r¸   r™   rÔ   rÕ   rÓ   ÚbarbsrÖ   r×   r   r«   r¬   )r8   rÂ   rÃ   rÛ   s       r   Útest_barb_limitsrã   {  s¨   € Ü	�‰‹€BÜ
�‰�B˜˜BÓ€AÜ
�‰�B˜˜2Ó€AÜ�;‰;�q˜!Ó�D€A€qÜ× Ñ Ó"×,Ñ,¨R°Ó4°r·|±|ÑC€EÜ‡I�Iˆa�”B—F‘F˜1“IœrŸv™v a›y°EÕ:ô ˜bŸj™j×/Ñ/°Ø&'ö)r   z EllipseCollection_test_image.pngTÚx86_64g/Ý$�•?)Úremove_textÚtolc            	      ó  — t        j                  «       \  } }t        j                  d«      }t        j                  d«      }t        j                  ||«      \  }}t        j
                  |j                  «       |j                  «       f«      j                  }||d   z  }||d   z  }t        j                  |«      dz  }	t        j                  |||	d||j                  d¬«      }
|j                  |
«       |j                  «        y )Nr�   rŽ   r,   rg   rÂ   r�   )ÚunitsÚoffsetsÚoffset_transformÚ
facecolors)r0   r1   r.   r�   r¸   ÚvstackÚravelÚTÚ	ones_liker‘   ÚEllipseCollectionrÓ   r2   Úautoscale_view)r7   r8   rÂ   rÃ   ÚXÚYÚXYÚwwÚhhÚaaÚecs              r   Útest_EllipseCollectionrù   ‰  sÓ   € ô �l‰l‹n�G€CˆÜ
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ�;‰;�q˜!Ó�D€A€qÜ	�‰�A—G‘G“I˜qŸw™w›yÐ)Ó	*×	,Ñ	,€Bà	
ˆQˆr‰U‰€BØ	
ˆQˆr‰U‰€BÜ	�‰�bÓ	˜BÑ	€Bä	×	'Ñ	'Ø
ˆB�˜# r¸B¿L¹LØô
€Bð ×Ñ�bÔØ×ÑÕr   c                  óÚ  — t         j                  j                  d«      } d}d}d}| j                  d«      dz  }t        j                  «       \  }}t        j                  ||||d|j                  ¬«      }t        |j                  t        j                  |«      j                  «       d	z  «       t        |j                  t        j                  |«      j                  «       d	z  «       t        |j                  t        j                  |«      j                  «       «       t        |j                  «       |«       t        |j!                  «       |«       t        |j#                  «       |«       |j%                  |«       |j'                  d
d«       |j)                  d
d«       | j                  d«      dz  }| j                  d«      dz  }	| j                  d«      dz  }
|j+                  ||	|
¬«       t        |j                  «       |j                  «       «       t        |j!                  «       |	j                  «       «       t        |j#                  «       |
j                  «       «       y )Nr   )r    )rŽ   )é-   )rÉ   r    rÉ   rÂ   )ÚwidthsÚheightsÚanglesré   rè   rê   r   rÌ   é   r    rŽ   é´   )rü   rý   rþ   )r.   ÚrandomÚdefault_rngr0   r1   r‘   rð   rÓ   r   Ú_widthsr/   rí   Ú_heightsÚ_anglesÚdeg2radÚ
get_widthsÚget_heightsÚ
get_anglesr2   r4   r5   rv   )Úrngrü   rý   rþ   ré   r7   r8   rø   Ú
new_widthsÚnew_heightsÚ
new_angless              r   Ú$test_EllipseCollection_setter_getterr  ž  sË  € ä
�)‰)×
Ñ
 Ó
"€Cà€FØ€GØ€FØ�j‰j˜Ó! BÑ&€Gä�l‰l‹n�G€Cˆä	×	'Ñ	'ØØØØØØŸ™ô

€Bô ˜bŸj™j¬"¯(©(°6Ó*:×*@Ñ*@Ó*BÀSÑ*HÔIÜ˜bŸk™k¬2¯8©8°GÓ+<×+BÑ+BÓ+DÀsÑ+JÔKÜ˜bŸj™j¬"¯*©*°VÓ*<×*BÑ*BÓ*DÔEä˜bŸm™m›o¨vÔ6Ü˜bŸn™nÓ.°Ô8Ü˜bŸm™m›o¨vÔ6à×Ñ�bÔØ‡K�K��BÔØ‡K�K��BÔà—‘˜GÓ$ qÑ(€JØ—*‘*˜WÓ%¨Ñ)€KØ—‘˜GÓ$ sÑ*€Jà‡F�F�* k¸*€FÔEä˜bŸm™m›o¨z×/?Ñ/?Ó/AÔBÜ˜bŸn™nÓ.°×0AÑ0AÓ0CÔDÜ˜bŸm™m›o¨z×/?Ñ/?Ó/AÕBr   zpolycollection_close.png)rå   Ústylec                  óî  — ddl m}  dt        j                  d<   ddgddgddgddggddgddgddgddggddgddgd	dgddggddgddgd	dgd	dggg}t        j                  «       }|j                   | |«      «      }g d
¢}t        t        d«      «      }t        j                  |t        |«      z  d¬«      }|j                  d«       g }g }t        ||«      D ]A  \  }	}
|j                  |	gt        |«      z  «       |j                  |
gt        |«      z  «       ŒC |j                  |«       |j                  ||d¬«       |j!                  dd«       |j#                  dd«       |j%                  dd«       y )Nr   )ÚAxes3DTzaxes3d.automarginr   r   r   r   ç      @)ÚrÚgÚbrÃ   Úkrt   ç      Ð?©r&   gffffffæ?rÃ   )ÚzsÚzdirr�   rŽ   )Úmpl_toolkits.mplot3dr  r0   ÚrcParamsr©   Úadd_axesÚlistÚranger‘   r
   ÚlenÚ	set_alphaÚzipÚextendr}   Úadd_collection3dÚ
set_xlim3dÚ
set_zlim3dÚ
set_ylim3d)r  Ú	vertsQuadr7   r8   ÚcolorsÚzposÚpolyr  ÚcsÚzÚcs              r   Útest_polycollection_closer/  É  s‹  € å+Ø(,„C‡L�LÐ$Ñ%ð ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0Ø
ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0Ø
ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0Ø
ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0ð	2€Iô �*‰*‹,€CØ	�‰‘f˜S“kÓ	"€Bâ&€FÜ”�a“‹>€Dä×&Ñ&Ø”C˜“IÑ¨ô/€Dà‡N�N�3Ôð 
€BØ	€BÜ�D˜&Ó!ò (‰ˆˆ1Ø
�	‰	�1�#œ˜I›Ñ&Ô'Ø
�	‰	�1�#œ˜I›Ñ&Õ'ð(ð 	‡N�N�2Ôà×Ñ˜ ¨#ÐÔ.ð ‡M�M�!�QÔØ‡M�M�!�QÔØ‡M�M�!�QÕr   z regularpolycollection_rotate.png)rå   c                  óê  — t         j                  d d…d d…f   \  } }t        j                  | j                  «       |j                  «       g«      }t        j                  ddt         j
                  z  t        |«      «      }t        j                  «       \  }}t        ||«      D ]=  \  }}t        j                  dd||g|j                  ¬«      }|j                  |d¬«       Œ? |j                  «        y )	NrÉ   r   r    r�   )éd   )ÚsizesÚrotationré   rê   T©Úautolim)r.   ÚmgridÚ	transposer¹   rÑ   Úpir   r0   r1   r"  r‘   ÚRegularPolyCollectionrÓ   r2   rñ   )	ÚxxÚyyÚ	xy_pointsÚ	rotationsr7   r8   ÚxyÚalpharž   s	            r   Ú!test_regularpolycollection_rotater@  ï  sË   € ä�X‰X�c�r�c˜3˜B˜3�hÑ�F€BˆÜ—‘˜bŸj™j›l¨B¯J©J«LÐ9Ó:€IÜ—‘˜A˜q¤§¡™w¬¨I«Ó7€Iä�l‰l‹n�G€CˆÜ˜ IÓ.ò -‰	ˆˆEÜ×0Ñ0Ø�V eØ�D¨2¯<©<ô9ˆð 	×Ñ˜# tÐÕ,ð	-ð
 ×ÑÕr   zregularpolycollection_scale.pngc                  ó  —  G d„ dt         j                  «      } t        j                  «       \  }}dg}t        j
                  dz  g} | |||j                  ¬«      }|j                  |d¬«       |j                  g d¢«       y )	Nc                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ú:test_regularpolycollection_scale.<locals>.SquareCollectionc                 óJ   •— t        ‰| �  ddt        j                  dz  i|¤Ž y )Nr3  r  )r�   )ÚsuperÚ__init__r.   r8  )ÚselfÚkwargsÚ	__class__s     €r   rF  zCtest_regularpolycollection_scale.<locals>.SquareCollection.__init__  s    ø€ Ü‰GÑÑ<¬¯©¨r©Ð<°VÓ<r   c                 ó`  — | j                   }d|j                  d¬«      j                  z  }||j                  j                  z  |j
                  j                  z  }||j                  j                  z  |j
                  j                  z  }t        j                  «       j                  ||«      S )z4Return transform scaling circle areas to data space.g      R@T)Úroot)
r£   Ú
get_figureÚdpiÚbboxÚwidthÚviewLimÚheightr™   rÔ   Úscale)rG  r8   Ú
pts2pixelsÚscale_xÚscale_ys        r   Úget_transformzHtest_regularpolycollection_scale.<locals>.SquareCollection.get_transform  s„   € à—‘ˆBà §¡°4 Ó 8× <Ñ <Ñ<ˆJà  2§7¡7§=¡=Ñ0°2·:±:×3CÑ3CÑCˆGØ  2§7¡7§>¡>Ñ1°B·J±J×4EÑ4EÑEˆGÜ×'Ñ'Ó)×/Ñ/°¸ÓAÐAr   )Ú__name__Ú
__module__Ú__qualname__rF  rV  Ú__classcell__)rI  s   @r   ÚSquareCollectionrC    s   ø„ ô	=ö	Br   r[  r¢   r    )r2  ré   rê   Tr4  )r,   r   r,   r   )	r‘   r9  r0   r1   r.   r8  rÓ   r2   Úaxis)r[  r7   r8   r>  Úcircle_areasÚsquaress         r   Ú test_regularpolycollection_scaler_  þ  sr   € ôBœ<×=Ñ=ô Bô �l‰l‹n�G€Cˆà
ˆ€Bä—E‘E˜A‘I�;€LÙØ B¸¿¹ôG€Gà×Ñ�g tÐÔ,Ø‡G�GŠNÕr   c                  ó*  — t        j                  «       \  } }|j                  dgdgdgd¬«      }| j                  t	        j
                  «       | j                  ¬«       t        dd¬«      }|j                  |«      \  }}|sJ ‚t        |d	   dg«       y )
Nr   iè  T)Úpicker)rM  iE  éð   )rÂ   rÃ   Úind)
r0   r1   rª   ÚsavefigÚioÚBytesIOrM  r   Úcontainsr   )r7   r8   rž   Úmouse_eventÚfoundÚindicess         r   Útest_pickingrk    s|   € Ü�l‰l‹n�G€CˆØ
�*‰*�a�S˜1˜# ˜v¨dˆ*Ó
3€CØ‡K�K”—
‘
“ #§'¡'€KÔ*Ü! C¨3Ô/€KØ—\‘\ +Ó.�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÕ+r   c                  óD  — t        j                  d«      } | d d …d f   | d d d …f   z  }t        j                  «       \  }}|j	                  |«      }|j                  «        d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }|j                  |«      \  }	}
|	sJ ‚t        |
d   dg«       d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }|j                  |«      \  }	}
|	sJ ‚t        |
d   dg«       y )Nr�   ©r   r   ©ÚxdataÚydatarÂ   rÃ   rc  r   ©ç      ø?rr  rt   )r.   r�   r0   r1   r   Údraw_without_renderingrV  rÐ   r   rg  r   )rÂ   rò   r7   r8   Úmeshro  rp  rÃ   rh  ri  rj  s              r   Útest_quadmesh_containsru  %  s  € Ü
�	‰	�!‹€AØ	Š!ˆTˆ'‰
�Q�tšQ�w‘ZÑ€Aä�l‰l‹n�G€CˆØ�=‰=˜Ó€DØ×ÑÔ Ø�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€KØ—]‘] ;Ó/�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÔ+à�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€KØ—]‘] ;Ó/�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÕ+r   c                  óX  — ddgddgg} ddgddgg}t        j                  «       \  }}|j                  | |dgg«      }|j                  «        g d¢}|D ]U  }|\  }}}	|j	                  «       j                  ||f«      \  } }t        ||| |¬«      }
|j                  |
«      \  }}||	u rŒUJ ‚ y )Nr   r,   r   ))ç      à¿r  T)r   r  F)r   r  T)r   g      Ð¿Trn  )r0   r1   r   rs  rV  rÐ   r   rg  )rÂ   rÃ   r7   r8   rt  ÚpointsÚpointro  rp  rz   rh  ri  rj  s                r   Útest_quadmesh_contains_concaverz  ;  sÌ   € à
ˆRˆ�1�a�&Ð€AØ
ˆQˆ�!�R�Ð€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜A  ˜uÓ%€DØ×ÑÔ ò€Fð
 ò !ˆØ!&Ñˆˆu�hØ×!Ñ!Ó#×-Ñ-¨u°e¨nÓ=‰ˆˆ1Ü%¨E¸À!ÀqÔIˆØŸ™ {Ó3‰ˆˆwØ˜Ò Ð Ð ñ!r   c                  óü  — t        j                  d«      } | d d …d f   | d d d …f   z  }t        j                  «       \  }}|j	                  |«      }d |_        |j                  «        d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }|j                  |«      �J ‚|j                  t        j                  |j                  «      «       t        |j                  |«      dg«       y )Nr�   rm  rn  r   )r.   r�   r0   r1   r   Ú_Ars  rV  rÐ   r   Úget_cursor_datar“   ÚonesÚshaper   )	rÂ   rò   r7   r8   rt  ro  rp  rÃ   rh  s	            r   Útest_quadmesh_cursor_datar€  P  sÜ   € Ü
�	‰	�!‹€AØ	Š!ˆTˆ'‰
�Q�tšQ�w‘ZÑ€Aä�l‰l‹n�G€CˆØ�=‰=˜Ó€Dà€D„GØ×ÑÔ Ø�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€Kà×Ñ Ó,Ð4Ð4Ð4ð 	‡N�N”2—7‘7˜1Ÿ7™7Ó#Ô$Ü�t×+Ñ+¨KÓ8¸1¸#Õ>r   c                  ór  — g d¢} t        j                  «       \  }}|j                  | | t        j                  d«      «      }|j                  «        d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }t        |j                  |«      t        j                  d«      «       y )N)r   r    r   r    ©rŽ   rŽ   rq  rn  é	   )r0   r1   r   r.   r~  rs  rV  rÐ   r   r   r}  )rÂ   r7   r8   rt  ro  rp  rÃ   rh  s           r   Ú)test_quadmesh_cursor_data_multiple_pointsr„  d  s“   € Ú€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜AœrŸw™w v›Ó/€DØ×ÑÔ Ø�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€Kä�t×+Ñ+¨KÓ8¼"¿'¹'À!»*ÕEr   c                  ól   — t        j                  g d¢g d¢dddgf¬«       t        j                  «        y )N©r   r   r    r   r   )r(   )r0   rª   Údrawru   r   r   Útest_linestyle_single_dashesrˆ  p  s#   € Ü‡K�K’	š9°°b¸"°X°Õ?Ü‡H�H…Jr   zsize_in_xy.pngc                  óþ   — t        j                  «       \  } }d\  }}}d}ddg}t        j                  |||d||j                  ¬«      }|j                  |«       |j                  dd«       |j                  dd«       y )N)©rÉ   rÉ   rÉ   r   rŠ  )rf   rf   r>  )rè   ré   rê   r   rÞ   )r0   r1   r‘   rð   rÓ   r2   r4   r5   )r7   r8   rü   rý   rþ   ÚcoordsÚes          r   Útest_size_in_xyr�  u  sz   € ä�l‰l‹n�G€Cˆà-Ñ€FˆG�VØ€FØ˜Ð!€FÜ×&Ñ&Ø�˜ tØ¨¯©ô	7€Að ×Ñ�aÔà‡K�K��2ÔØ‡K�K��2Õr   c                 ó0  — g d¢}| j                  g d¢|¬«      x}}| j                  g d¢|¬«      }| j                  g d¢|¬«      }| j                  g d¢|¬«      }t        |¬«       t        |¬«       t        |¬	«       t        |¬
«       t        |¬«       y )N)é   rÿ   é   )ÚredÚblueÚgreen)Úindex©r   r    rŽ   )r"   rr   Údashdot)TFT)Ú
edgecolors)rë   )Ú
linewidths)Ú
linestyles)Úantialiaseds)ÚSeriesr   )Úpdr”  rø   ÚfcÚlwr·   r÷   s          r   Útest_pandas_indexingrŸ  †  s�   € ò €EØ�i‰iÒ0¸ˆiÓ>Ð>€BˆØ	�‰’9 EˆÓ	*€BØ	�‰Ò1¸ˆÓ	?€BØ	�‰Ò&¨eˆÓ	4€Bä˜"ÕÜ˜"ÕÜ˜"ÕÜ˜"ÕÜ˜BÖr   Údefaultc                  ó‚  — t        j                  g «      } | j                  ddg«       | j                  g d¢«       | j	                  «       dgdz  k(  sJ ‚| j                  «       g d¢dz  k(  sJ ‚| j                  g d¢«       | j	                  «       dgdz  k(  sJ ‚| j                  «       g d¢k(  j                  «       sJ ‚y )Nú-r•  r<   rß   r    )r¢  r¢  r¢  rŽ   )r‘   r—   Úset_linestylesÚset_linewidthsÚget_linestylesÚget_linewidthsÚall©rž   s    r   Útest_lslw_bcastr©  —  sµ   € ä
×
%Ñ
% bÓ
)€CØ×Ñ˜˜S�zÔ"Ø×Ñ’yÔ!à×ÑÓ I ;°¡?Ò2Ð2Ð2Ø×ÑÓ¢9¨q¡=Ò0Ð0Ð0à×Ñ’Ô'Ø×ÑÓ I ;°¡?Ò2Ð2Ð2Ø×ÑÓ ¢IÑ-×2Ñ2Ô4Ð4Ñ4r   c                  óš   — t        «       } t        j                  t        d¬«      5  | j	                  d«       d d d «       y # 1 sw Y   y xY w)Nz"Do not know how to convert 'fuzzy'©ÚmatchÚfuzzy)r   ÚpytestÚraisesr„   Úset_linestyle©r.  s    r   Útest_set_wrong_linestyler²  ¥  s9   € Ü‹€AÜ	�‰”zÐ)MÔ	Nñ !Ø	�‰˜Ô ÷!÷ !ñ !ús   ¦AÁA
c                  óö   — t        j                  g «      } | j                  «       �J ‚t        j                  g d¬«      } | j                  «       dk(  sJ ‚| j                  d«       | j                  «       dk(  sJ ‚y )NÚround)ÚcapstyleÚbutt)r‘   r—   Úget_capstyleÚset_capstyler¨  s    r   Útest_capstyler¹  «  su   € ä
×
%Ñ
% bÓ
)€CØ×ÑÓÐ%Ð%Ð%Ü
×
%Ñ
% b°7Ô
;€CØ×ÑÓ Ò(Ð(Ð(Ø×Ñ�VÔØ×ÑÓ Ò'Ð'Ñ'r   c                  óö   — t        j                  g «      } | j                  «       �J ‚t        j                  g d¬«      } | j                  «       dk(  sJ ‚| j                  d«       | j                  «       dk(  sJ ‚y )Nr´  )Ú	joinstyleÚmiter)r‘   r—   Úget_joinstyleÚset_joinstyler¨  s    r   Útest_joinstyler¿  µ  su   € ä
×
%Ñ
% bÓ
)€CØ×ÑÓÐ&Ð&Ð&Ü
×
%Ñ
% b°GÔ
<€CØ×ÑÓ 'Ò)Ð)Ð)Ø×Ñ�gÔØ×ÑÓ 'Ò)Ð)Ñ)r   zcap_and_joinstyle.pngc                  ó  — t        j                  «       \  } }|j                  ddg«       |j                  ddg«       t	        j
                  g d¢«      }t	        j
                  dgdgdgg«      t	        j
                  g d¢g«      z   }t	        j                  d	«      }||d d …d d …d
f<   ||d d …d d …df<   t        |g d¢¬«      }|j                  d«       |j                  d«       |j                  |«       |j                  d«       y )Nrw  rr  ç      @)r   r   r   r   r   r   )r   r   r   )rŽ   rŽ   r    r   r   )rÉ   rf   rg   r  r´  r¼  z2Line collection with customized caps and joinstyle)r0   r1   r4   r5   r.   r/   Úzerosr   r¸  r¾  r2   r3   )r7   r8   rÂ   ÚysÚsegsÚline_segmentss         r   Útest_cap_and_joinstyle_imagerÆ  ¿  sÚ   € ä�l‰l‹n�G€CˆØ‡K�K��s�ÔØ‡K�K��s�Ôä
�‰’Ó!€AÜ	�‰�C�5˜3˜% # Ð'Ó	(¬2¯8©8²_Ð4EÓ+FÑ	F€Bä�8‰8�IÓ€DØ€DŠŠAˆqˆ�MØ€DŠŠAˆqˆ�MÜ" 4²<Ô@€MØ×Ñ˜wÔ'Ø×Ñ Ô(à×Ñ�mÔ$Ø‡L�LÐEÕFr   zscatter_post_alpha.pngc                  ó²   — t        j                  «       \  } }|j                  t        d«      t        d«      t        d«      ¬«      }|j	                  d«       y )Nrt   r±  r²   )r0   r1   rª   r  r!  )r7   r8   Úscs      r   Útest_scatter_post_alpharÉ  Ó  s?   € ô �l‰l‹n�G€CˆØ	�‰”E˜!“Hœe A›h¬%°«(ˆÓ	3€BØ‡L�L�Õr   c                  óB  — t        j                  d«      } | dz  }t        j                  d«      \  }\  }}|j	                  | | | |¬«      }|j	                  | | | ¬«      }|j                  |«       t        j                  «        t        |j                  «       d d …df   |«       t        |j                  «       d d …df   |«       t        j                  d«      \  }\  }}|j	                  | | g d¢|¬«      }|j	                  | | d|¬«      }t        j                  «        t        |j                  «       d d …df   |«       t        |j                  «       d d …df   |«       t        j                  d«      \  }\  }}|j	                  | | g d¢¬	«      }|j                  |«       |j	                  | | d¬	«      }|j                  |«       t        j                  «        t        |j                  «       d d …df   |«       t        |j                  «       d d …df   |«       y )
Nrt   r    )r.  r?  r±  r,   )r  r  r  r.  Úm)r'   r?  r  )r'   )	r.   r�   r0   r1   rª   r!  r‡  r   Úget_facecolors)rÂ   r?  r7   Úax0Úax1Úsc0Úsc1s          r   Útest_scatter_alpha_arrayrÑ  Û  s¾  € Ü
�	‰	�!‹€AØ�‰E€Eä—l‘l 1“o�O€C‰ˆ#ˆsØ
�+‰+�a˜˜a uˆ+Ó
-€CØ
�+‰+�a˜˜aˆ+Ó
 €CØ‡M�M�%ÔÜ‡H�H„JÜ�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:Ü�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:ä—l‘l 1“o�O€C‰ˆ#ˆsØ
�+‰+�a˜Ò";À5ˆ+Ó
I€CØ
�+‰+�a˜ #¨Uˆ+Ó
3€CÜ‡H�H„JÜ�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:Ü�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:ä—l‘l 1“o�O€C‰ˆ#ˆsØ
�+‰+�a˜Ò";ˆ+Ó
<€CØ‡M�M�%ÔØ
�+‰+�a˜ #ˆ+Ó
&€CØ‡M�M�%ÔÜ‡H�H„JÜ�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:Ü�s×)Ñ)Ó+ªA¨r¨EÑ2°EÕ:r   c            	      óÂ  — t         j                  j                  d«       t         j                  j                  dd«      \  } }t         j                  j                  d«      }t         j                  j	                  ddd¬«      }t         j                  j	                  ddd¬«      }t        j                  «       \  }}|j                  | |||dd	d¬
«      }|j                  d¬«      \  }}t        |«      dk(  sJ ‚|g d¢k(  sJ ‚t        j                  |D �	cg c]  }	|	j                  «       ‘Œ c}	«      }
|j                  t        j                  d«      dz  «      }t        |
|«       |j                  ||d¬«      }|j                  d¬«      \  }}t        |«      dk(  sJ ‚|j                  ||d¬«      }|j                  ddd¬«      \  }}t!        d„ |D «       «      sJ ‚t!        d„ |D «       «      sJ ‚|j                  ||d¬«      }|j                  dddd„ ¬«      \  }}|D �	cg c]  }	|	j#                  «       ‘Œ }}	t        j$                  t        j                  |t&        «      dz  «      }t)        ||«       |j                  ||d¬«      }t*        j,                  j/                  ddg d¢¬«      }|j                  |¬«      \  }}t        |«      t        |«      k(  sJ ‚g d ¢}|j                  |dd¬!«      \  }}|D �cg c]  }t'        |«      ‘Œ c}|dd  k(  sJ ‚||||fD ]  }|j1                  |«       Œ |j2                  j5                  «        y c c}	w c c}	w c c}w )"Né!N,r    rÉ   r   rt   )Úsizei,  Újetr´   )r.  ÚsÚcmapr¶   r˜  z{x:g})Úfmt)Ú0Ú1Ú2Ú3Ú4r�   r   )Úlocrƒ  )Únumr2  r   r‘  )rx   r?  r'   c              3   óB   K  — | ]  }|j                  «       d k(  –— Œ y­w)r   N)Ú	get_alpha©Ú.0Úlines     r   ú	<genexpr>z6test_pathcollection_legend_elements.<locals>.<genexpr>  s   è ø€ Ò5¨4ˆt�~‰~Ó 3Õ&Ñ5ùó   ‚c              3   óB   K  — | ]  }|j                  «       d k(  –— Œ y­w)r‘  N)Úget_markerfacecolorrâ  s     r   rå  z6test_pathcollection_legend_elements.<locals>.<genexpr>  s   è ø€ ÒA°tˆt×'Ñ'Ó)¨UÕ2ÑAùræ  z{x:.2f}c                 ó   — d| z  S )Nr    ru   )rÂ   s    r   ú<lambda>z5test_pathcollection_legend_elements.<locals>.<lambda>  s
   € ¨Q¨q©S€ r   )rx   rß  rØ  ÚfuncrŽ   rÈ   )r   r    rÁ  rŽ   rt   rß   rÈ   rÉ   )ÚnbinsÚmin_n_ticksÚsteps)r,   r   g33333³K@i  )rß  rx   rØ  )r.   r  ÚseedÚrandÚrandintr0   r1   rª   Úlegend_elementsr   r/   rE   r×  r�   r   Úlegendr§  Úget_markersizeÚsqrtÚfloatr   ÚmplÚtickerÚMaxNLocatorÚ
add_artistÚcanvasr‡  )rÂ   rÃ   r.  rÖ  r7   r8   rÈ  ÚhÚlrä  r)  Úcolors2Úl1Úh2Úlab2Úl2Úl3ÚactsizesÚlabeledsizesÚl4rÞ  Úh5Úlab5ÚlevelsÚh6Úlab6s                             r   Ú#test_pathcollection_legend_elementsr  ø  s  € Ü‡I�I‡N�N�8ÔÜ�9‰9�>‰>˜!˜RÓ �D€A€qÜ
�	‰	�‰�rÓ€AÜ
�	‰	×Ñ˜!˜Q RÐÓ(€AÜ
�	‰	×Ñ˜"˜c¨ÐÓ+€Aä�l‰l‹n�G€CˆØ	�‰�A�q˜A ¨°sÀqˆÓ	I€Bà×Ñ 'ÐÓ*�D€A€qÜˆq‹6�QŠ;Ðˆ;ØÒ)Ò)Ð)Ð)Ü�X‰X°AÖ6¨D�t—~‘~Õ'Ò6Ó7€FØ�g‰g”b—i‘i “l 1‘nÓ%€GÜ�v˜wÔ'Ø	�‰�1�a˜QˆÓ	€Bà×!Ñ! aÐ!Ó(�H€BˆÜˆr‹7�aŠ<Ðˆ<Ø	�‰�2�t ˆÓ	#€Bà×Ñ 7°#¸UÐÓC�D€A€qÜÑ5°1Ô5Ô5Ð5Ð5ÜÑA¸qÔAÔAÐAÐAØ	�‰�1�a˜QˆÓ	€Bà×Ñ 7°°yÙ#0ð ó 2�D€A€qà23Ö4¨$�×#Ñ#Õ%Ð4€HÐ4Ü—7‘7œ2Ÿ8™8 A¤uÓ-°Ñ1Ó2€LÜ˜h¨Ô5Ø	�‰�1�a˜QˆÓ	€Bä
�*‰*×
 Ñ
  q°cÚ'Bð !ó D€Cà×!Ñ! cÐ!Ó*�H€BˆÜˆr‹7”c˜"“gÒÐÐâ€FØ×!Ñ! f°7ÀÐ!ÓH�H€BˆØ"Ö#˜ŒE�!�HÒ# v¨a¨b zÒ1Ð1Ð1à�"�b˜"Ðò ˆØ
�‰�aÕðð ‡J�J‡O�OÕùòC 7ùò  5ùò $s   ÄMÈ$MË>Mc                  ó²   — t        j                  g d¢«      } t        | «      }t         j                  j	                  | t        j                  g d¢«      «       y )N)rŽ   r    r   rÉ   )r.   r/   r	   r>   r   )Úarrr6   s     r   Útest_EventCollection_nosortr  )  s7   € ä
�(‰(’=Ó
!€CÜ˜3Ó€DÜ‡J�J×!Ñ! #¤r§x¡x²Ó'>Õ?r   c                  óþ  — t        j                  dt         j                  ¬«      j                  ddd«      } t	        | «      }t	        t        | «      «      }t        |j                  «      t        |j                  «      k(  sJ ‚t        |j                  |j                  «      D ]]  \  }}t        j                  |j                  |j                  «      sJ ‚t        j                  |j                  |j                  «      rŒ]J ‚ t        j                  dt        ¬«      }| D �cg c]  }t        d„ |D «       «      ‘Œ c}|d d  t	        |«      }t        |j                  «      t        |j                  «      k(  sJ ‚t        |j                  |j                  «      D ]]  \  }}t        j                  |j                  |j                  «      sJ ‚t        j                  |j                  |j                  «      rŒ]J ‚ y c c}w )NrÊ   ©ÚdtyperÉ   r�   r    c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   )Útuple)rã  rÃ   s     r   rå  z2test_collection_set_verts_array.<locals>.<genexpr>:  s   è ø€ Ò0¨œE !ŸHÑ0ùs   ‚)r.   r�   Údoubler�   r
   r  r   Ú_pathsr"  Úarray_equalÚ	_verticesÚ_codesÚemptyÚobjectr  )	ÚvertsÚcol_arrÚcol_listÚapÚlpÚverts_tuplerÂ   Úcol_arr_tupleÚatps	            r   Útest_collection_set_verts_arrayr$  0  sv  € Ü�I‰I�b¤§	¡	Ô*×2Ñ2°2°q¸!Ó<€EÜ˜UÓ#€GÜœd 5›kÓ*€HÜˆw�~‰~Ó¤# h§o¡oÓ"6Ò6Ð6Ð6Ü�g—n‘n h§o¡oÓ6ò 4‰ˆˆBÜ�~‰~˜bŸl™l¨B¯L©LÔ9Ð9Ð9Ü�~‰~˜bŸi™i¨¯©Õ3Ð3Ð3ð4ô —(‘(˜2¤VÔ,€KØ:?Ö@°Q”eÑ0¨aÔ0Õ0Ò@€K‘€NÜ" ;Ó/€MÜˆw�~‰~Ó¤# m×&:Ñ&:Ó";Ò;Ð;Ð;Ü�w—~‘~ }×';Ñ';Ó<ò 5‰ˆˆCÜ�~‰~˜bŸl™l¨C¯M©MÔ:Ð:Ð:Ü�~‰~˜bŸi™i¨¯©Õ4Ð4Ð4ñ5ùò As   Ä"G:rH  ÚstepÚprec                 ó  — t        j                  dd«      }t        j                  |«      }|dz   } |j                  «       j                  |||fi |¤Ž  | j                  «       j                  |ddfi |¤Ž}|j                  |||«       y )Nr   é   çš™™™™™É?r,   g333333ó?)r.   rÑ   rÖ   r1   Úfill_betweenÚset_data)r¾   r¿   rH  ÚtÚf1Úf2r6   s          r   Ú*test_fill_between_poly_collection_set_datar/  B  s€   € ô 	�‰�A�rÓ€AÜ	�‰�‹€BØ	ˆc‰€Bà#€G×ÑÓ×#Ñ# A r¨2Ñ8°Ò8à+ˆ8×ÑÓ×+Ñ+¨A¨r°3ÑA¸&ÑA€DØ‡M�M�!�R˜Õr   )Út_directionr-  r  ÚwhereÚmsg)r-  NNNz't_direction must be 'x' or 'y', got 'z')rÂ   N)r,   r   Nz'x' is not 1-dimensionalrÂ   FrŽ   z0where size \(3\) does not match 'x' size \(\d+\)rÃ   r   r    z5'y' has size \d+, but 'x1' has an unequal size of \d+c                 ó4  — t        j                  dd«      }|€t        j                  |«      nt        j                  |«      }|dz   }|r |j                  |Ž }t        j                  t        |¬«      5  t        | ||||¬«       d d d «       y # 1 sw Y   y xY w)Nr   r(  r)  r«  )r1  )	r.   rÑ   rÖ   Úasarrayr�   r®  r¯  r„   r   )r0  r-  r  r1  r2  r,  r.  s          r   Ú'test_fill_between_poly_collection_raiser5  O  s‚   € ô 	�‰�A�rÓ€AØ�jŒ�‰�Œ¤b§j¡j°£n€BØ	ˆc‰€BÙØˆA�I‰I�uÐˆÜ	�‰”z¨Ô	-ñ GÜ! +¨q°"°bÀÕF÷G÷ Gñ Gús   Á4BÂBc                  óH  — g t        d«      ¢} t        «       }|j                  | «       t        j                  t
        d¬«      5  |j                  d«       d d d «       d| d<   t        j                  | |j                  «       «      j                  «       sJ ‚y # 1 sw Y   ŒCxY w)NrÉ   z^Image data of dtyper«  Úwrong_inputrû   rt   )
r  r   r“   r®  r¯  Ú	TypeErrorr.   Ú	not_equalÚ	get_arrayÚany)Úvalsr.  s     r   Útest_collection_set_arrayr=  _  s„   € ØŒU�2‹Yˆ<€Dô 	‹€AØ‡K�K�Ôô 
�‰”yÐ(>Ô	?ñ #Ø	�‰�MÔ"÷#ð €Dˆ�GÜ�<‰<˜˜aŸk™k›mÓ,×0Ñ0Ô2Ð2Ñ2÷#ð #ús   ÁBÂB!c                  ód  — t        j                  «       \  } }|j                  g d¢g d¢«       t        j                  j                  |j                  j                  |j                  j                  fd«       |j                  j                  |j                  j                  }}g d¢}|D �cg c]  }t        j                  |dg|dgg«      ‘Œ }}t        j                  |j                  |j                  «      }|j!                  t#        ||¬«      «       t        j                  j                  |j                  j                  |j                  j                  fd«       t        j                  j                  |j                  j                  |j                  j                  f||f«       y c c}w )	N)r    rŽ   r�   )çš™™™™™Ù?ç333333ã?r   )r    r�   ©r   r    rŽ   r�   rt   r   r   rÏ   )r   rt   )r0   r1   r½   r.   r>   Úassert_allcloser«   ÚxminÚxmaxÚyminÚymaxr/   r™   Úblended_transform_factoryrÓ   Ú	transAxesr2   r   )Úfr8   Ú	data_yminÚ	data_ymaxrÂ   ÚxiÚvertical_linesrÛ   s           r   Útest_blended_collection_autolimrN  o  s$  € Ü�L‰L‹N�E€A€rð ‡G�GŠI’Ô'Ü‡J�J×Ñ §
¡
§¡°·±·±ÐAÀ6ÔJØŸ:™:Ÿ?™?¨B¯J©J¯O©Oˆy€Iò 	€AØ=>Ö?°r”b—h‘h  Q ¨"¨a¨Ð1Õ2Ð?€NÐ?Ü×1Ñ1°"·,±,ÀÇÁÓM€EØ×Ñ”n ^¸uÔEÔFô ‡J�J×Ñ §
¡
§¡°·±·±ÐAÀ6ÔJä‡J�J×Ñ §
¡
§¡°·±·±ÐAØ )¨9Ð5õ7ùò @s   Â,"F-c                  ó  — t        j                  «       \  } }|j                  dd«       t        j                  j                  |j                  «       ddg«       t        j                  j                  |j                  «       ddg«       y )Nr   g¸…ëQ¸®¿g¸…ëQ¸®?)r0   r1   rª   r.   r>   rB  Úget_ylimÚget_xlim)r7   r8   s     r   Útest_singleton_autolimrR  „  s[   € Ü�l‰l‹n�G€CˆØ‡J�Jˆq�!ÔÜ‡J�J×Ñ˜rŸ{™{›}¨u°d¨mÔ<Ü‡J�J×Ñ˜rŸ{™{›}¨u°d¨mÕ<r   ztransform, expected)rÓ   )rw  g      @)rH  )gffffff@gš™™™™™	@c                 óJ  — t        j                  «       \  }}|j                  ddt        || «      ¬«       |j                  dd«       t        j
                  j                  |j                  «       |«       t        j
                  j                  |j                  «       |«       y )Nr   rÏ   rŽ   )	r0   r1   rª   Úgetattrr.   r>   rB  rP  rQ  )rÐ   rz   r7   r8   s       r   Útest_autolim_with_zerosrU  ‹  sn   € ô �l‰l‹n�G€CˆØ‡J�Jˆq�!œw r¨9Ó5€JÔ6Ø‡J�Jˆq�!ÔÜ‡J�J×Ñ˜rŸ{™{›}¨hÔ7Ü‡J�J×Ñ˜rŸ{™{›}¨hÕ7r   c                 óÒ  — t        j                  d«      }t        j                  d«      }t         j                  j                  d«      }t        j                  «       \  }} t        || «      |||«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |j                  dd«      «       d d d «       t        j                  d«      j                  d	«      }t        j                  t        t        j                  d
«      ¬«      5  |j                  |«       d d d «       t        j                  t        t        j                  d«      ¬«      5  |j                  |j                  «       «       d d d «       t        j                  d«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |«       d d d «       t        j                  d«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |«       d d d «       t        j                  d«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |«       d d d «       t        j                  d«      }t        j                  d«      }t         j                  j                  d«      }t        j                  «       \  }}|j                  |||d¬«      }y # 1 sw Y   �ŒYxY w# 1 sw Y   �ŒúxY w# 1 sw Y   �Œ±xY w# 1 sw Y   �ŒaxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÀxY w)Nr�  rÈ   )é   rÉ   zuFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (10, 7)r«  rÉ   rW  é6   )rß   rƒ  ztFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (6, 9)zsFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (54,))rƒ  rß   rŽ   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 3))rƒ  rß   r�   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 4))rW  rÉ   r    zxFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (7, 10, 2)Úgouraud©Úshading)r.   r�   r  r0   r1   rT  r®  r¯  r„   ÚreÚescaper“   r�   rí   r~  r   )r   rÂ   rÃ   r-  r7   r8   r6   s          r   Ú"test_quadmesh_set_array_validationr^  ›  s¡  € Ü
�	‰	�"‹€AÜ
�	‰	�!‹€AÜ
�	‰	×Ñ˜Ó!€AÜ�l‰l‹n�G€CˆØŒ7�2�vÓ˜q ! QÓ'€Dä	�‰”z¬¯©ðHó*Iô 
Jñ )ð 	�‰�q—y‘y  QÓ'Ô(÷)ô
 	�	‰	�"‹×Ñ˜fÓ%€AÜ	�‰”z¬¯©ðGó*Hô 
Iñ ð 	�‰�qÔ÷ô 
�‰”z¬¯©ðFó*Gô 
Hñ "ð 	�‰�q—w‘w“yÔ!÷"ô 	�‰�	Ó€AÜ	�‰”z¬¯©ðJó*Kô 
Lñ ð 	�‰�qÔ÷ô
 	�‰�	Ó€AÜ	�‰”z¬¯©ðJó*Kô 
Lñ ð 	�‰�qÔ÷ô
 	�‰�
Ó€AÜ	�‰”z¬¯©ðKó*Lô 
Mñ ð 	�‰�qÔ÷ô
 	�	‰	�"‹€AÜ
�	‰	�!‹€AÜ
�	‰	×Ñ˜Ó!€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜A˜q¨)ˆ=Ó4�D÷M)ñ )ú÷ñ ú÷"ñ "ú÷ñ ú÷ñ ú÷ð úsH   Â#"LÄL)Å' L6ÇMÈ/MÊMÌL&Ì)L3Ì6M ÍMÍMÍM&c                  ó®  — t        j                  g d¢g d¢«      \  } }| |z  d d…d d…f   }t        j                  | ||«      }|j	                  «        |j                  «       dd …d d …f   }t         j                  j                  | dk(  |dk(  z  | «      } t        j                  | ||«      }|j	                  «        t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «       t         j                  j                  | dk(  |dk(  z  |«      }t        j                  | ||«      }|j	                  «        t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «       t         j                  j                  | d d…d d…f   dk(  |d d…d d…f   dk(  z  |«      }t        j                  |«      }|j	                  «        t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «       t        j                  d«      j                  d«      }|j                  |«       |j	                  «        t        |j                  «       «      dk(  sJ ‚t         j                  j                  |d	«      }|j                  |«       |j	                  «        t        |j                  «       «      d
k(  sJ ‚y )Nr†  )r   r   r    rŽ   r,   r   r   rt   rß   )rŽ   r    r    r�   )r.   r¸   r0   r   Úupdate_scalarmappableÚget_facecolorÚmaÚmasked_wherer   r   Ú	get_pathsr   r�   r�   r“   Úmasked_less)r:  r;  ÚzzÚquadmeshÚquadmesh_fcÚpolymeshs         r   Ú'test_polyquadmesh_masked_vertices_arrayrj  Ë  st  € Ü�[‰[š¢LÓ1�F€Bˆà
ˆR‰%��"��c�r�c�Ñ	€BÜ�~‰~˜b " bÓ)€HØ×"Ñ"Ô$Ø×(Ñ(Ó*¨1©2ªq¨5Ñ1€Kä	�‰×	Ñ	˜R 1™W¨¨q©Ñ1°2Ó	6€BÜ�z‰z˜"˜b "Ó%€HØ×"Ñ"Ô$äˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä�{ H×$:Ñ$:Ó$<Ô=ô 
�‰×	Ñ	˜R 1™W¨¨q©Ñ1°2Ó	6€BÜ�z‰z˜"˜b "Ó%€HØ×"Ñ"Ô$äˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä�{ H×$:Ñ$:Ó$<Ô=ô 
�‰×	Ñ	˜R    S b S ™\¨QÑ.°2°c°r°c¸3¸B¸3°h±<À1Ñ3DÑEÀrÓ	J€BÜ�z‰z˜"‹~€HØ×"Ñ"Ô$äˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä�{ H×$:Ñ$:Ó$<Ô=ô
 
�‰�1‹×	Ñ	˜fÓ	%€BØ×Ñ�rÔØ×"Ñ"Ô$Üˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä	�‰×	Ñ	˜2˜qÓ	!€BØ×Ñ�rÔØ×"Ñ"Ô$Üˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ñ)r   c                 ó@  — g d¢}g d¢}t        j                  d¬«      }t        j                  ||«      \  }} t        t        | «      |||«      }t        j
                  |j                  |j                  g«      j                  }t        |j                  «       |«       y )Nr†  )r    r�   rß   )r    r    )r  )	r.   r~  r¸   rT  r0   Ústackrî   r   Úget_coordinates)r   rÂ   rÃ   r-  r:  r;  r6   r‹  s           r   Útest_quadmesh_get_coordinatesrn  û  sz   € Ú€AÚ€AÜ
�‰�fÔ€AÜ�[‰[˜˜AÓ�F€BˆØŒ7”3˜Ó  B¨Ó*€Dô �X‰X�r—t‘t˜RŸT™T�lÓ#×%Ñ%€FÜ�t×+Ñ+Ó-¨vÕ6r   c                  ó(  — t        j                  d«      } t        j                  d«      }t        j                  d«      j                  d«      }t        j                  «       \  }}|j                  | |t        j                  |j                  «      «      }|j                  |«       |j                  j                  «        t        j                  |j                  «       |«      sJ ‚|j                  t        j                  d«      «       |j                  j                  «        t        j                  |j                  «       t        j                  d«      «      sJ ‚t        j                  d«      j                  d«      }t        j                  «       \  }}|j                  | |t        j                  |j                  «      d¬«      }|j                  |«       |j                  j                  «        t        j                  |j                  «       |«      sJ ‚|j                  t        j                  d«      «       |j                  j                  «        t        j                  |j                  «       t        j                  d«      «      sJ ‚y )Nr�   rƒ  r‚  r(  )r�   r�   rY  rZ  )r.   r�   r�   r0   r1   r   r~  r  r“   rû  r‡  r  r:  )rÂ   rÃ   r-  r7   r8   r6   s         r   Útest_quadmesh_set_arrayrp    s¤  € Ü
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ
�	‰	�!‹×Ñ˜VÓ$€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜AœrŸw™w q§w¡wÓ/Ó0€Dà‡N�N�1ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¨AÔ.Ð.Ð.ð 	‡N�N”2—7‘7˜1“:ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¬B¯G©G°A«JÔ7Ð7Ð7ä
�	‰	�"‹×Ñ˜fÓ%€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜AœrŸw™w q§w¡wÓ/¸ˆ=ÓC€Dà‡N�N�1ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¨AÔ.Ð.Ð.ð 	‡N�N”2—7‘7˜2“;ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¬B¯G©G°B«KÔ8Ð8Ñ8r   c                 ó2  — t        j                  «       \  }}t        j                  d   }t        j                  j                  dd¬«      } t        || «      dgg||¬«      }|j                  j                  «        t        j                  |j                  «       dd d …f    | |d«      «      «      sJ ‚d\  |_        |_        |j                  j                  «        t        j                  |j                  «       dd d …f    | |d«      «      «      sJ ‚y )NÚplasmar   r   )ÚvminÚvmax)r×  r’   )r   r    )r0   r1   r÷  Ú	colormapsr)  Ú	NormalizerT  rû  r‡  r.   r  rÌ  rs  rt  )r   r7   r8   r×  r’   r6   s         r   Útest_quadmesh_vmin_vmaxrw  %  sÛ   € ä�l‰l‹n�G€CˆÜ�=‰=˜Ñ"€DÜ�:‰:×Ñ Q¨QÐÓ/€DØŒ7�2�vÓ  ˜u¨4°dÔ;€DØ‡J�J‡O�OÔÜ�>‰>˜$×-Ñ-Ó/°²1°Ñ5±t¹DÀ»G³}ÔEÐEÐEð  Ñ€D„IˆtŒyØ‡J�J‡O�OÔÜ�>‰>˜$×-Ñ-Ó/°²1°Ñ5±t¹DÀ»G³}ÔEÐEÑEr   c                 ó–  — t        j                  d«      }t        j                  d«      }t        j                  d«      j                  d«      }||j                  «       z  }|j	                  «       }t        j                  d«      \  }\  }} t        || «      ||||¬«      }	 t        || «      |||«      }
|
j                  |«       t        j                  «        t        |	j                  «       d d …df   |«       t        |
j                  «       d d …df   |«       t        j                  d«      \  }\  }} t        || «      ||||¬«      }	 t        || «      |||«      }
|
j                  |«       t        j                  «        t        |	j                  «       d d …df   |«       t        |
j                  «       d d …df   |«       y )Nr�   rƒ  r‚  r    )r?  r,   )r.   r�   r�   Úmaxrí   r0   r1   rT  r!  r‡  r   rÌ  )r   rÂ   rÃ   r-  r?  Ú
alpha_flatr7   rÍ  rÎ  Úcoll1Úcoll2s              r   Útest_quadmesh_alpha_arrayr}  5  sr  € Ü
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ
�	‰	�!‹×Ñ˜VÓ$€AØ�—‘“‰K€EØ—‘“€Jä—l‘l 1“o�O€C‰ˆ#ˆsØ ŒG�C˜Ó   A q°Ô6€EØ ŒG�C˜Ó   A qÓ)€EØ	‡O�O�EÔÜ‡H�H„JÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÔAÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÔAä—l‘l 1“o�O€C‰ˆ#ˆsØ ŒG�C˜Ó   A q°Ô6€EØ ŒG�C˜Ó   A qÓ)€EØ	‡O�O�EÔÜ‡H�H„JÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÔAÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÕAr   c                 ó@  — t        j                  «       \  }} t        || «      t        j                  d«      j                  d«      «      }t        j                  t        d¬«      5  |j                  ddg«       |j                  «        d d d «       y # 1 sw Y   y xY w)Nrÿ   )rŽ   r�   z^Data array shaper«  r   r@  )r0   r1   rT  r.   r�   r�   r®  r¯  r„   r!  r`  )r   r7   r8   Úpcs       r   Útest_alpha_validationr€  M  sw   € ä�l‰l‹n�G€CˆØ	Œ��VÓ	œRŸY™Y r›]×2Ñ2°6Ó:Ó	;€BÜ	�‰”zÐ)<Ô	=ñ #Ø
�‰�c˜3�ZÔ Ø
× Ñ Ô"÷#÷ #ñ #ús   Á'$BÂBc                  ó.  — t         j                  j                  d«       t         j                  j                  d«      } t         j                  j                  d«      }dt         j                  j                  d«      z
  }d|z  }g d¢}t        j                  «       \  }}|j                  | ||¬«      }|j                  d|d„ ¬	«      \  }}	|D �
cg c]  }
|
j                  «       ‘Œ }}
|D �
cg c]
  }
d|
d
z  z  ‘Œ }}
t        ||d¬«       yc c}
w c c}
w )z|
    Ensure legend markers scale appropriately when label and size are
    inversely related.
    Here label = 5 / size
    rÓ  é2   r   rt   )r)  r?  r@  gš™™™™™é?©rÖ  r2  c                 ó   — d| z  S )Nrt   ru   rƒ  s    r   rê  z=test_legend_inverse_size_label_relationship.<locals>.<lambda>g  s
   € °Q¸±U€ r   )rx   rß  rë  r    rà   N)	r.   r  rï  r0   r1   rª   rò  rô  r   )rò   ró   ÚCÚSÚlegend_sizesr7   r8   rÈ  ÚhandlesÚlabelsrÂ   Úhandle_sizess               r   Ú+test_legend_inverse_size_label_relationshipr‹  V  só   € ô ‡I�I‡N�N�8ÔÜ
�	‰	×Ñ˜Ó€AÜ
�	‰	×Ñ˜Ó€AØ	ŒB�I‰I×Ñ˜RÓ Ñ €AØ	ˆA‰€Aâ'€LÜ�l‰l‹n�G€CˆØ	�‰�A�q˜AˆÓ	€BØ×(Ñ(Ø˜©?ð )ó �O€GˆVð
 18Ö8¨1�A×$Ñ$Õ&Ð8€LÐ8Ø&2Ö3 �A˜˜1™“HÐ3€LÐ3ä˜l¨LÀ!ÖDùò 9ùÚ3s   ÃDÃ-Dc                 óÆ  — t        t        | «      } t        j                  d«      j	                  dd«      } | |dd¬«      }|j                  «        t        j                  |j                  «       «      } |j                  «       |j                  |j                  «       «      «      }t        j                  |j                  «       d«      sJ ‚ | |«      }|j                  d«       |j                  d«       |j                  «        t        j                  |j!                  «       d«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚|j#                  d«       |j                  «        t        j                  |j                  «       g d	¢g«      sJ ‚|j#                  d «       |j                  «        t        j                  |j                  «       g d¢g«      sJ ‚|j                  d «       |j                  «        t        j$                  |j                  «       |«      sJ ‚|j                  d «       |j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       d«      sJ ‚|j'                  d «       |j                  «        t        j                  |j                  «       d«      sJ ‚t        j                  |j!                  «       |«      sJ ‚|j'                  |«       |j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       d«      sJ ‚ | |d
d¬«      }|j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚ | |d
t        j(                  d«      ¬«      }|j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚|j'                  d «       |j                  «        t        j                  |j!                  «       t        j(                  d«      «      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚ | |d
t        j(                  d«      ¬«      }|j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚|j'                  d «       |j                  «        t        j                  |j!                  «       t        j(                  d«      «      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚y )Nrÿ   rŽ   r�   r‘  r�   )r—  rë   r!   r   )r   r   r   r   )r   r   r   )r   r   r   )rÿ   rŽ   )rÿ   r�   )rT  r0   r.   r�   r�   r`  ÚmcolorsÚto_rgba_arrayÚ_get_default_facecolorÚget_cmapr’   rí   Ú
same_colorÚget_edgecolorÚset_facecolorÚset_edgecolorra  r!  r  r“   r~  )r   r-  r  Úface_defaultÚmappeds        r   Útest_color_logicr—  q  s‘  € ä”S˜&Ó!€FÜ
�	‰	�"‹×Ñ˜a Ó#€Aá	�˜e°Ô	7€BØ×ÑÔä×(Ñ(¨×)BÑ)BÓ)DÓE€LØˆR�[‰[‹]˜2Ÿ7™7 1§7¡7£9Ó-Ó.€Fä×Ñ˜b×.Ñ.Ó0°%Ô8Ð8Ð8á	�‹€BØ×Ñ�VÔØ×Ñ�UÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAØ‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0²>Ð2BÔCÐCÐCØ‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAà×Ñ�TÔØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ø×Ñ�TÔØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9à‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9Ü×Ñ˜b×.Ñ.Ó0°,Ô?Ð?Ð?à‡L�L�„OØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9á	�˜i°IÔ	>€BØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAá	�˜i´B·G±G¸GÓ4DÔ	E€BØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAà‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0´"·'±'¸'Ó2BÔCÐCÐCÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAá	�˜i´B·G±G¸GÓ4DÔ	E€BØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAà‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0´"·'±'¸'Ó2BÔCÐCÐCÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÑAr   c                  ó†  — t        d dddg d¢¬«      } | j                  «       d   dk(  sJ ‚t        j                  | j	                  «       d«      sJ ‚| j                  «       dk(  sJ ‚t        j                  | j                  «       g d¢g«      sJ ‚t        d d ¬«      } t        j                  | j                  «       d«      sJ ‚y )	Ngš™™™™™@r  rŽ   )r   r   r   r   )r&   Ú	edgecolorÚzorderrë   r   )Ú	facecolorr�   )r   Úget_linewidthr�  r‘  r’  Ú
get_zorderra  )Úlcs    r   Útest_LineCollection_argsrŸ  ·  s´   € Ü	˜¨°sØ ª\ô
;€Bà×ÑÓ˜aÑ  CÒ'Ð'Ð'Ü×Ñ˜b×.Ñ.Ó0°#Ô6Ð6Ð6Ø�=‰=‹?˜aÒÐÐÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAô 
˜¨Ô	-€BÜ×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ñ9r   c                 óÈ  — t        j                  d«      j                  dd«      } t        t        | «      |«      }|j                  |j                  «       «       |j                  «        |j                  |«       |j                  «        t        j                  dt         j                  ¬«      j                  ddd«      }|j                  |«       |j                  «        y )Nrÿ   rŽ   r�   é$   r  )	r.   r�   r�   rT  r0   r“   rí   r`  Úuint8)r   r-  r  s      r   Útest_array_dimensionsr£  Å  sž   € ä
�	‰	�"‹×Ñ˜a Ó#€AØ	Œ”�fÓ	˜aÓ	 €Bà‡L�L�—‘“ÔØ×ÑÔà‡L�L�„OØ×ÑÔä
�	‰	�"œBŸH™HÔ%×-Ñ-¨a°°AÓ6€AØ‡L�L�„OØ×ÑÕr   c                  óÞ   — t        j                  t        j                  ddd«      d«      j                  } t	        | g«      }|j                  «       \  }t        j                  | |k(  «      sJ ‚y )Nr   r   é   )r    r   )r.   ÚtilerÑ   rî   r   r‚   r§  )r†   rž  Úreadbacks      r   Útest_get_segmentsr¨  Õ  sV   € Ü�w‰w”r—{‘{ 1 a¨Ó-¨vÓ6×8Ñ8€HÜ	˜˜
Ó	#€Bà—‘Ó!�I€Hä�6‰6�(˜hÑ&Ô'Ð'Ñ'r   c                  ó˜  — t        j                  «       } dg}t        j                  |¬«      }t        j                  |d¬«      }t        j                  |¬«      }|j	                  d«       |j                  | «      j                  }|j                  | «      j                  }|j                  | «      j                  }||k7  sJ ‚||k(  sJ ‚y )Nr    )r2  rŠ  )r2  ré   )r™   rš   r‘   ÚCircleCollectionÚset_offsetsr˜   r¬   )Úidentityr2  r�   ÚinitÚlateÚnull_boundsÚinit_boundsÚlate_boundss           r   Útest_set_offsets_later²  Þ  s¹   € Ü×,Ñ,Ó.€HØˆC€Eä×(Ñ(¨uÔ5€Dä×(Ñ(¨u¸hÔG€Dä×(Ñ(¨uÔ5€DØ×Ñ�XÔð ×"Ñ" 8Ó,×3Ñ3€KØ×"Ñ" 8Ó,×3Ñ3€KØ×"Ñ" 8Ó,×3Ñ3€Kð ˜+Ò%Ð%Ð%Ø˜+Ò%Ð%Ñ%r   c                  ó  — t        j                  «       j                  dd«      } t        j                  | ¬«      }t        j                  «       }|j                  | «       | |j                  «       cxk(  r|j                  «       k(  sJ ‚ J ‚y )Nr    )rê   )r™   rÔ   Úskewr‘   r   Úset_offset_transformÚget_offset_transform)r´  r­  r®  s      r   Útest_set_offset_transformr·  ó  st   € Ü×ÑÓ!×&Ñ& q¨!Ó,€DÜ×"Ñ"°DÔ9€Dä×"Ñ"Ó$€DØ×Ñ˜dÔ#à�4×,Ñ,Ó.ÔM°$×2KÑ2KÓ2MÒMÐMÑMÐMÑMr   c                  óÀ  — t        j                  ddd«      } t        j                  | «      }| t        j                  dd«      z  t        j                  d«      z   }t        j                  ||«      }|j                  «       }|j                  t        t        ||«      «      «       t         j                  j                  ||j                  «       «       t        j                  «       \  }}|j                  ||«      }|j                  «       }|j                  t        t        ||«      «      «       t         j                  j                  ||j                  «       «       y )Nr   rÉ   rt   rŒ   rü  z
2021-11-29)r.   rÑ   rÖ   Útimedelta64Ú
datetime64r0   rª   Úget_offsetsr«  r  r"  r>   rB  r1   )rÂ   rÃ   ÚdrÈ  Úoff0r7   r8   s          r   Útest_set_offset_unitsr¾  ý  sñ   € ô 	�‰�A�r˜1Ó€AÜ
�‰ˆq‹	€AØ	ŒB�N‰N˜2˜sÓ#Ñ#¤b§m¡m°LÓ&AÑA€Aä	�‰�Q˜Ó	€BØ�>‰>Ó€DØ‡N�N”4œ˜A˜q›	“?Ô#Ü‡J�J×Ñ˜t R§^¡^Ó%5Ô6ô �l‰l‹n�G€CˆØ	�‰�A�qÓ	€BØ�>‰>Ó€DØ‡N�N”4œ˜A˜q›	“?Ô#Ü‡J�J×Ñ˜t R§^¡^Ó%5Õ6r   Útest_check_masked_offsets)Úbaseline_imagesr°   rå   r  c                  ó:  — t        dddddd«      t        dddddd«      t        dddddd«      t        dddddd	«      t        dddddd
«      g} t        j                  j                  g d¢g d¢¬«      }t	        j
                  «       \  }}|j                  | |«       y )Niæ  rÿ   rf   r�   é1   é4   é5   rX  é7   é8   rA  )r   r   r   r   r   ©Úmask)r   r.   rb  r/   r0   r1   rª   )Ú
unmasked_xÚmasked_yr7   r8   s       r   r¿  r¿    sš   € ô 	��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)ð€Jô �u‰u�{‰{š?²ˆ{ÓA€Hä�l‰l‹n�G€CˆØ‡J�Jˆz˜8Õ$r   c                 óò  — t         j                  j                  g d¢g d¢¬«      }t        j                  dd«      }|j	                  «       }|j                  ||«      }|j                  t         j                  j                  ||g«      «       |j                  g «       |j                  g «       | j	                  «       }|j                  g d¢g d¢«       |j                  g «       |j                  g «       y )NrA  ©r   r   r   r   r   rÇ  r   rß   )r   r    rt   )
r.   rb  r/   r�   Úadd_subplotrª   r«  Úcolumn_stackÚ
set_xticksÚ
set_yticks)r¿   r¾   rÂ   rÃ   rÄ   ÚscatrÅ   s          r   Útest_masked_set_offsetsrÒ  $  sº   € ä
�‰�‰’Oª/ˆÓ:€AÜ
�	‰	�!�Q‹€Aà×"Ñ"Ó$€GØ�?‰?˜1˜aÓ €DØ×Ñ”R—U‘U×'Ñ'¨¨A¨Ó/Ô0Ø×Ñ�rÔØ×Ñ�rÔà× Ñ Ó"€FØ
‡N�N’9šiÔ(Ø
×Ñ�bÔØ
×Ñ�bÕr   c                  ó  — t         j                  j                  g d¢g d¢¬«      } t        j                  dd«      }t	        j
                  «       \  }}|j                  | |«      }t         j                  j                  | |g«      }|j                  |«       t        |j                  «       t        |«      «      sJ ‚t        j                  | |g«      }|j                  |«       t        |j                  «       t        |«      «      sJ ‚y )NrA  rÌ  rÇ  r   rß   )r.   rb  r/   r�   r0   r1   rª   rÎ  r«  Ú
isinstancer»  Útype)rÂ   rÃ   r7   r8   rÑ  Úmasked_offsetsÚunmasked_offsetss          r   Útest_check_offsets_dtyperØ  5  sË   € ä
�‰�‰’Oª/ˆÓ:€AÜ
�	‰	�!�Q‹€Aä�l‰l‹n�G€CˆØ�:‰:�a˜Ó€DÜ—U‘U×'Ñ'¨¨A¨Ó/€NØ×Ñ�^Ô$Ü�d×&Ñ&Ó(¬$¨~Ó*>Ô?Ð?Ð?ä—‘¨¨1 vÓ.ÐØ×ÑÐ%Ô&Ü�d×&Ñ&Ó(¬$Ð/?Ó*@ÔAÐAÑAr   ÚgapcolorÚoranger  r  c           
      óÀ  — | j                  d«      }|j                  d«      }||fD ]&  }|j                  dd«       |j                  dd«       Œ( t        dd«      }g d¢}|j	                  |ddd||d¬«       t        |t        «      r|g}t        |t        j                  |«      t        j                  |«      «      D ]  \  }}}	|j                  |ddd|	|d¬«       Œ  y )	Néo   r   rß   r   )ú:r¢  z--rg   r   )r&   r(   rÙ  r?  )rÍ  r4   r5   r  ÚvlinesrÔ  Ústrr"  Ú	itertoolsÚcycleÚaxvline)
r¾   r¿   rÙ  rÄ   rÅ   r8   rÂ   r™  Úgcolr·   s
             r   Útest_striped_linesrä  E  sé   € ð ×"Ñ" 3Ó'€GØ× Ñ  Ó%€Fà˜Ðò ˆØ
�‰�A�qÔØ
�‰�A�qÕðô 	ˆa�‹€AÚ!€Jà‡N�N�1�a˜ b°JÈØð ô ô �(œCÔ Ø�:ˆä˜1œiŸo™o¨hÓ7Ü$Ÿ?™?¨:Ó6ó8ò V‰ˆˆ4�à�‰�q˜!˜Q¨"¸ÀTÐQTˆÕUñVr   )r¯   ÚpdfÚsvgÚepsc                 ó¢  — | j                  «       }|j                  «       }d}g d¢g d¢g}t        |d¬«      }|j                  |«       t        j                  d|i«      5  t        |d¬«      }d d d «       |j                  |«       |j                  «       |j                  «       |j                  «       cxk(  r|k(  sJ ‚ J ‚y # 1 sw Y   ŒXxY w)Nr   ))r²   r²   )r²   r?  )r?  r?  )r?  r²   ))r@  r@  )r@  çÍÌÌÌÌÌì?)ré  ré  )ré  r@  rÂ   )Úhatchzhatch.linewidth)rÍ  r
   Úset_hatch_linewidthr÷  Ú
rc_contextr2   Úget_hatch_linewidth)r¾   r¿   rÄ   rÅ   rž  ÚpolygonsÚrefÚtests           r   Útest_hatch_linewidthrñ  ]  sÊ   € à×"Ñ"Ó$€GØ× Ñ Ó"€Fà	€Bò 	9Ú8ð€Hô ˜¨Ô
-€CØ×Ñ˜BÔä	�‰Ð*¨BÐ/Ó	0ñ 3Ü˜h¨cÔ2ˆ÷3ð ×Ñ˜#ÔØ×Ñ˜4Ô à×#Ñ#Ó%¨×)@Ñ)@Ó)BÔHÀbÒHÐHÑHÐHÑH÷3ð 3ús   Á CÃC)sr   re  rà  Úplatformr\  Útypesr   Únumpyr.   Únumpy.testingr   r   r®  Ú
matplotlibr÷  Úmatplotlib.pyplotÚpyplotr0   Úmatplotlib.collectionsÚcollectionsr‘   Úmatplotlib.colorsr)  r�  Úmatplotlib.pathÚpathr¤   Úmatplotlib.transformsÚ
transformsr™   r   r   r	   r
   r   Úmatplotlib.testing.decoratorsr   r   Úfixturer   r:   rH   rP   rU   rX   r[   r_   ra   rd   rj   ro   r{   r   r=   r•   r    r§   r­   r  ÚcontextrÆ   rÜ   rã   Úmachinerù   r  r/  r@  r_  rk  ru  rz  r€  r„  rˆ  r�  rŸ  r©  r²  r¹  r¿  rÆ  rÉ  rÑ  r  r  r$  ÚmarkÚparametrizer/  r5  r=  rN  rR  rU  r^  rj  rn  rp  rw  r}  r€  r‹  r—  rŸ  r£  r¨  r²  r·  r¾  r¿  rÒ  rØ  rä  rñ  ru   r   r   ú<module>r     sÈ  ðÝ Û 	Û Û Û 	Ý !ã ß GÛ ã Ý Ý -Ý #Ý Ý +÷Eó Eå <ß Oð €‡�˜ hÐ/Ô0ñó 1ðò%ñP Ð6Ð7Ó8ñ=ó 9ð=ñ2 Ð<Ð=Ó>ñ
ó ?ð
ñ Ð<Ð=Ó>ñó ?ðñ" Ð?Ð@ÓAñó Bðñ Ð?Ð@ÓAñó Bðñ ÐAÐBÓCñó Dðñ  ÐEÐFÓGñ=ó Hð=ñ( Ð>Ð?Ó@ñó Aðñ  Ð=Ð>Ó?ñó @ðñ Ð=Ð>Ó?ñó @ðñ ò ó ñ
	7óð
	7ñ Ð8Ð9Ó:ñ1ó ;ð1ò0ò4!ò=ò=ò'ð ‡�×Ñ�7ÓÙ  Ô(ñ)ó )ó ð)ò08ò")ñ Ð5Ð6ÀDØ+˜8×+Ñ+Ó-°Ò9‘a¸uôFñóFðò&(CñV Ð-Ð.¸DÈÔPñ"ó Qð"ñJ Ð5Ð6ÀDÔIñó Jðñ Ð4Ð5À4ÔHñó Iðò8,ò,ò,!ò*?ò(	Fòñ
 Ð#Ð$°$Ô7ñó 8ðò  ð" ‡�×Ñ�9Óñ
5ó ð
5ò!ð ‡�×Ñ�9Óñ(ó ð(ð ‡�×Ñ�9Óñ*ó ð*ñ Ð*Ð+Ó,ñGó -ðGñ& Ð+Ð,Ø"¨)ô5ñó5ðò;ò:.òb@ò5ñ$   Ô(Ø‡�×Ñ˜ B¨°¨Ð#8Ó9ñó :ó )ðð ‡�×ÑÐGØGØ;Øˆ$��u�g ‘kÐ#VÐWØˆ1ˆaˆ&�$˜ÐVÐWð	Jó ñGóðGò3ò 7ò*=ð ‡�×ÑÐ.ØØð1ó ñ	8ó	ð	8ò-5ò`-*ò`	7ò9ò<Fò Bò0#òEð6 ‡�×Ñ�9ÓñBBó ðBBòJ:òò (ò&ò*Nò7ñ( Ð#>Ð"?Ø#˜W°$¸gôGñ%óGð%ñ"   Ô(ñó )ðò Bð  ‡�×Ñ˜ h°°c°
Ð%;Ó<Ù  Ô(ñVó )ó =ðVñ, Ò <Ô=ñIó >ñIr   