Ë
    ^ãjg¶  ã                   óÈ  — 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#m$Z$  ejJ                  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„ «       Z/ e$dg«      d„ «       Z0 e$dg«      d„ «       Z1 e$g d ¢«      d!„ «       Z2 e$d"g«      d#„ «       Z3d$„ Z4d%„ Z5d&„ Z6d'„ Z7d(„ Z8ejr                  ju                  d)«       e#d*g¬+«      d,„ «       «       Z;d-„ Z<d.„ Z= e$d/gd0 ej|                  «       d1k(  rd2nd ¬3«      d4„ «       Z?d5„ Z@ e$d6gd0d)¬7«      d8„ «       ZA e$d9gd0¬:«      d;„ «       ZB e$d<gd0¬:«      d=„ «       ZCd>„ ZDd?„ ZEd@„ ZFdA„ ZGdB„ ZHdC„ ZI e$dDgd0¬:«      dE„ «       ZJdF„ ZKejr                  ju                  dG«      dH„ «       ZLdI„ ZMejr                  ju                  dG«      dJ„ «       ZNejr                  ju                  dG«      dK„ «       ZO e$dLg«      dM„ «       ZP e$dNgd0dG¬7«      dO„ «       ZQdP„ ZRdQ„ ZSdR„ ZTdS„ ZUdT„ ZVdU„ ZWdV„ ZXej²                  jµ                  dWdXdYg«      dZ„ «       Z[d[„ Z\d\„ Z]d]„ Z^d^„ Z_d_„ Z`d`„ Zada„ Zbdb„ Zcejr                  ju                  dG«      dc„ «       Zddd„ Zede„ Zfdf„ Zgdg„ Zhdh„ Zidi„ Zj e$djgd*gd0d)¬k«      dl„ «       Zk e#d*g¬+«      dm„ «       Zldn„ Zmej²                  jµ                  dodpdqdrgg«       e#d*g¬+«      ds„ «       «       Zny)té    )ÚdatetimeN)ÚSimpleNamespace)Úassert_array_equalÚassert_array_almost_equal)Ú
CollectionÚLineCollectionÚEventCollectionÚPolyCollection)Úcheck_figures_equalÚimage_comparisonÚ
pcolormeshÚpcolor)Úparamsc                 ó   — | j                   S ©N)Úparam)Úrequests    úc/var/www/html/metafoliadorv2/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_plotr9      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   ÚEventCollection_plot__defaultc                  ó*  — 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&   )r9   Úcheck_segmentsr-   Útestingr   Úget_positionsÚget_orientationÚis_horizontalÚget_linelengthÚget_lineoffsetÚget_linestyleÚ	get_colorÚ
get_colors)Ú_r5   r8   r&   s       r   Ú test__EventCollection__get_propsrH   D   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   Ú#EventCollection_plot__set_positionsc                  ó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   )
r9   r-   ÚhstackÚset_positionsr>   r   r?   r=   r2   r3   ©Úspltr5   r8   Únew_positionss       r   Ú$test__EventCollection__set_positionsrQ   ^   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   Ú#EventCollection_plot__add_positionsc                  ó   — 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+   é#   )r9   r-   rL   Úswitch_orientationÚadd_positionsr>   r   r?   r=   r2   r3   rN   s       r   Ú$test__EventCollection__add_positionsrW   l   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   Ú&EventCollection_plot__append_positionsc                  ó`  — 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+   rK   )
r9   r-   rL   Úappend_positionsr>   r   r?   r=   r2   r3   rN   s       r   Ú'test__EventCollection__append_positionsr[   ~   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   Ú&EventCollection_plot__extend_positionsc                  ó`  — 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+   rK   )
r9   r-   rL   Úextend_positionsr>   r   r?   r=   r2   r3   rN   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   Ú(EventCollection_plot__switch_orientationc                  ó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   )	r9   rU   r@   rA   r?   r=   r2   r4   r3   )rO   r5   r8   Únew_orientationrP   s        r   Ú)test__EventCollection__switch_orientationrd   ž   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   Ú,EventCollection_plot__switch_orientation__2xc                  ó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)
r9   rU   r?   r@   rA   r-   r>   r   r=   r2   rN   s       r   Ú,test__EventCollection__switch_orientation_2xrg   ¯   s´   € ô 6Ó7Ñ€Dˆ$�Ø×ÑÔØ×ÑÔØ×&Ñ&Ó(€MØ�Ñ 4×#7Ñ#7Ó#9Ò9Ð9Ð9Ø×ÑÔÐÐÜ‡J�J×!Ñ! %¨Ñ"4°mÔDÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ;Õ<r   Ú%EventCollection_plot__set_orientationc                  ó.  — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚|j                  «       rJ ‚t	        ||d   |d   |d   |«       | j                  d«       | j                  dd«       | j                  dd	«       y )
Nrb   r)   r$   r#   z EventCollection: set_orientationr+   r,   r   r   )r9   Úset_orientationr@   rA   r=   r2   r4   r3   )rO   r5   r8   rc   s       r   Ú&test__EventCollection__set_orientationrk   Ä   s�   € ä5Ó7Ñ€Dˆ$�Ø €OØ×Ñ˜Ô)Ø˜d×2Ñ2Ó4Ò4Ð4Ð4Ø×!Ñ!Ô#Ð#Ð#Ü�4Ø˜Ñ%Ø˜Ñ&Ø˜Ñ&Ø"ô	$ð
 	‡N�NÐ5Ô6Ø‡M�M�"�bÔØ‡M�M�!�QÕr   Ú$EventCollection_plot__set_linelengthc                  óæ   — 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ìÿÿÿé   )r9   Úset_linelengthrB   r=   r2   r4   )rO   r5   r8   Únew_linelengths       r   Ú%test__EventCollection__set_linelengthrr   Õ   s}   € ä5Ó7Ñ€Dˆ$�Ø€NØ×Ñ˜Ô'Ø˜T×0Ñ0Ó2Ò2Ð2Ð2Ü�4Ø˜Ñ%Ø!Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ4Ô5Ø‡M�M�#�rÕr   Ú$EventCollection_plot__set_lineoffsetc                  óæ   — 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úÿÿÿéüÿÿÿ)r9   Úset_lineoffsetrC   r=   r2   r4   )rO   r5   r8   Únew_lineoffsets       r   Ú%test__EventCollection__set_lineoffsetrx   ä   s}   € ä5Ó7Ñ€Dˆ$�Ø€NØ×Ñ˜Ô'Ø˜T×0Ñ0Ó2Ò2Ð2Ð2Ü�4Ø˜Ñ%Ø˜Ñ&Ø!Ø˜Ñ'ô	)ð
 	‡N�NÐ4Ô5Ø‡M�M�"�bÕr   )Ú#EventCollection_plot__set_linestylery   Ú#EventCollection_plot__set_linewidthc                  óÒ   — 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   )ç      @r}   )r%   é   r~   zEventCollection: set_© )r9   Úsetr/   Úgetpr2   )ÚpropÚvalueÚexpectedrO   r5   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   ÚEventCollection_plot__set_colorc                  ó  — 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)	r9   r-   r.   Ú	set_colorrE   rF   r>   r   r2   )rO   r5   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   rb   z.orientation must be 'horizontal' or 'vertical'r   )Úget_segmentsÚlowerÚ
ValueErrorÚ	enumerate)
r5   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å?r~   )r-   ÚarangeÚreshapeÚmcollectionsr   ÚnormÚ	set_array)Úlinesr5   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«   2  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   )r/   Úaxesrœ   r¢   ÚmpathÚPathr1   r£   r¤   r¥   r   r¦   r§   r¨   )r7   r5   Úcoll_data_lims      r   Útest_no_offsets_datalimr²   9  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   )r/   Úfigurer®   ÚscatterÚdataLimÚbounds)r7   r·   s     r   Útest_add_collectionr¸   D  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Úflattenr0   Ú
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Ñ   O  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      "@éûÿÿÿro   éþÿÿÿr˜   é   é    ©Ú	transform)g      4@g      >@g      .@r}   )r/   r®   r-   rš   Úlinspacer›   Úquiverr£   Ú	transDatar·   r´   rÃ   r¤   ÚAffine2DÚ	translateÚsinÚcosr¶   )r7   rÍ   rÎ   ÚuÚvÚqÚtranss          r   Útest_quiver_limitsrç   i  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Ô   ro   r×   r˜   rØ   rÙ   rÚ   )ro   é   rn   é   r   ©Údecimal)r/   r®   r-   rÜ   rÃ   r¤   rß   rà   rÞ   Úbarbsrá   râ   r   r¶   r·   )r7   rÍ   rÎ   ræ   s       r   Útest_barb_limitsrî   z  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Úarm64g/Ý$�•?)Ú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+   ro   rÍ   rŒ   )ÚunitsÚoffsetsÚoffset_transformÚ
facecolors)r/   r0   r-   rš   rÃ   ÚvstackÚravelÚTÚ	ones_likerœ   ÚEllipseCollectionrÞ   r1   Úautoscale_view)r6   r7   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_rngr/   r0   rœ   rû   rÞ   r   Ú_widthsr.   rø   Ú_heightsÚ_anglesÚdeg2radÚ
get_widthsÚget_heightsÚ
get_anglesr1   r3   r4   r€   )Úrngr  r  r	  rô   r6   r7   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Î   Úkr~   ç      Ð?©r%   gffffffæ?rÎ   )ÚzsÚzdirr˜   r™   )Úmpl_toolkits.mplot3dr  r/   ÚrcParamsr´   Úadd_axesÚlistÚrangerœ   r
   ÚlenÚ	set_alphaÚzipÚextendrˆ   Úadd_collection3dÚ
set_xlim3dÚ
set_zlim3dÚ
set_ylim3d)r  Ú	vertsQuadr6   r7   Ú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+  r/   r0   r-  rœ   ÚRegularPolyCollectionrÞ   r1   rü   )	ÚxxÚyyÚ	xy_pointsÚ	rotationsr6   r7   ÚxyÚalphar©   s	            r   Ú!test_regularpolycollection_rotaterK  î  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 )Nr>  r  )r˜   )ÚsuperÚ__init__r-   rC  )ÚselfÚkwargsÚ	__class__s     €r   rQ  zCtest_regularpolycollection_scale.<locals>.SquareCollection.__init__  s    ø€ Ü‰GÑÑ<¬¯©¨r©Ð<°VÓ<r   c                 óT  — | j                   }d|j                  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@)
r®   r´   ÚdpiÚbboxÚwidthÚviewLimÚheightr¤   rß   Úscale)rR  r7   Ú
pts2pixelsÚscale_xÚscale_ys        r   Úget_transformzHtest_regularpolycollection_scale.<locals>.SquareCollection.get_transform  s{   € à—‘ˆBà §	¡	§¡Ñ-ˆ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__rQ  r_  Ú__classcell__)rT  s   @r   ÚSquareCollectionrN    s   ø„ ô	=ö	Br   rd  r­   r   )r=  rô   rõ   Tr?  )r+   r   r+   r   )	rœ   rD  r/   r0   r-   rC  rÞ   r1   Úaxis)rd  r6   r7   rI  Úcircle_areasÚsquaress         r   Ú test_regularpolycollection_scalerh  ý  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)rV  iE  éð   )rÍ   rÎ   Úind)
r/   r0   rµ   ÚsavefigÚioÚBytesIOrV  r   Úcontainsr   )r6   r7   r©   Úmouse_eventÚfoundÚindicess         r   Útest_pickingrt    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Î   rl  r   ©ç      ø?r{  r~   )r-   rš   r/   r0   r   Údraw_without_renderingr_  rÛ   r   rp  r   )rÍ   rý   r6   r7   Úmeshrx  ry  rÎ   rq  rr  rs  s              r   Útest_quadmesh_containsr~  $  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      Ð¿Trw  )r/   r0   r   r|  r_  rÛ   r   rp  )rÍ   rÎ   r6   r7   r}  ÚpointsÚpointrx  ry  r„   rq  rr  rs  s                r   Útest_quadmesh_contains_concaverƒ  :  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˜   rv  rw  r   )r-   rš   r/   r0   r   Ú_Ar|  r_  rÛ   r   Úget_cursor_datarž   ÚonesÚshaper   )	rÍ   rý   r6   r7   r}  rx  ry  rÎ   rq  s	            r   Útest_quadmesh_cursor_datar‰  O  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™   rz  rw  é	   )r/   r0   r   r-   r‡  r|  r_  rÛ   r   r   r†  )rÍ   r6   r7   r}  rx  ry  rÎ   rq  s           r   Ú)test_quadmesh_cursor_data_multiple_pointsr�  c  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'   )r/   rµ   Údrawr   r   r   Útest_linestyle_single_dashesr‘  o  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“  )rn   rn   rI  )ró   rô   rõ   r   ré   )r/   r0   rœ   rû   rÞ   r1   r3   r4   )r6   r7   r  r  r	  ÚcoordsÚes          r   Útest_size_in_xyr–  t  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!   r|   Ú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©r9  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 )Nr€  r{  ç      @)r   r   r   r   r   r   )r   r   r   )r™   r™   r   r   r   )rÔ   rn   ro   r#  r½  rÅ  z2Line collection with customized caps and joinstyle)r/   r0   r3   r4   r-   r.   Úzerosr   rÁ  rÇ  r1   r2   )r6   r7   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 )Nr~   rº  r½   )r/   r0   rµ   r*  r,  )r6   r7   Ú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 )
Nr~   r   )r9  rJ  rº  r+   )r  r  r   r9  Úm)r&   rJ  r  )r&   )	r-   rš   r/   r0   rµ   r,  r�  r   Úget_facecolors)rÍ   rJ  r6   Ú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   r~   )Úsizei,  Újetr¿   )r9  ÚsÚcmaprÁ   r¡  z{x:g})Úfmt)Ú0Ú1Ú2Ú3Ú4r˜   r   )ÚlocrŒ  )Únumr=  r   rš  )r‚   rJ  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   r   )rÍ   s    r   ú<lambda>z5test_pathcollection_legend_elements.<locals>.<lambda>  s
   € ¨Q¨q©S€ r   )r‚   rè  rá  Úfuncr™   rÓ   )r   r   rÊ  r™   r~   rê   rÓ   rÔ   )ÚnbinsÚmin_n_ticksÚsteps)r+   r   g33333³K@i  )rè  r‚   rá  )r-   r  ÚseedÚrandÚrandintr/   r0   rµ   Úlegend_elementsr+  r.   rE   rà  rš   r   Úlegendr°  Úget_markersizeÚsqrtÚfloatr   ÚmplÚtickerÚMaxNLocatorÚ
add_artistÚcanvasr�  )rÍ   rÎ   r9  rß  r6   r7   rÑ  ÚhÚlrí  r4  Ú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   )Úarrr5   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>9  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-  /  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: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  r~   )
r*  r   rž   r·  r¸  Ú	TypeErrorr-   Ú	not_equalÚ	get_arrayÚany)Úvalsr9  s     r   Útest_collection_set_arrayr5  A  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            	      ó  — g d¢} d}t        j                  t        j                  | d«      t        j                  d|gt	        | «      «      g«      }|j                  t	        | «      ddg«      }t        j                  «       \  }}t        j                  |j                  |j                  «      }|j                  t        ||¬«      «       |j                  dd¬«       t         j                  j!                  |j#                  «       d	d
g«       y )N)r   r   r˜   çš™™™™™É?r   r   rÚ   TF)ÚscalexÚscaleyr   r  )r-   Úcolumn_stackÚrepeatÚtiler+  r›   r/   r0   r¤   Úblended_transform_factoryrÞ   Ú	transAxesr1   r   rü   r>   Úassert_allcloseÚget_xlim)ÚarZ  Úxy_pairsÚ	line_segsÚfr7   ræ   s          r   Útest_blended_collection_autolimrE  Q  sÅ   € Ú€AØ€Fä�‰¤§	¡	¨!¨Q£´·±¸!¸V¸ÄcÈ!ÃfÓ1MÐNÓO€HØ× Ñ ¤# a£&¨!¨Q Ó0€Iä�L‰L‹N�E€A€rÜ×1Ñ1°"·,±,ÀÇÁÓM€EØ×Ñ”n Y¸%Ô@ÔAØ×Ñ˜T¨%ÐÔ0Ü‡J�J×Ñ˜rŸ{™{›}¨r°2¨hÕ7r   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¸®?)r/   r0   rµ   r-   r>   r?  Úget_ylimr@  )r6   r7   s     r   Útest_singleton_autolimrH  _  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Þ   )r€  g      @)r>  )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™   )	r/   r0   rµ   Úgetattrr-   r>   r?  rG  r@  )rÛ   r„   r6   r7   s       r   Útest_autolim_with_zerosrK  f  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Ô   rM  é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))rM  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  r/   r0   rJ  r·  r¸  r�   ÚreÚescaperž   r›   rø   r‡  r   )r   rÍ   rÎ   r8  r6   r7   r5   s          r   Ú"test_quadmesh_set_array_validationrT  v  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                  ój  — 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                  t        j                  d¬«      5  |j!                  t        j"                  d«      «       d d d «       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 # 1 sw Y   ŒÌxY w)Nr�  )r   r   r   r™   r+   r   r   r~   zSetting a PolyQuadMeshr´  rê   )r™   r   r   r˜   )r-   rÃ   r/   r   Úupdate_scalarmappableÚget_facecolorÚmaÚmasked_wherer   r+  Ú	get_pathsr   r·  Úwarnsr   ÚMatplotlibDeprecationWarningrž   r‡  rš   r›   Úmasked_less)rE  rF  ÚzzÚquadmeshÚquadmesh_fcÚpolymeshs         r   Ú'test_polyquadmesh_masked_vertices_arrayrb  ¦  s¸  € Ü�[‰[š¢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×$:Ñ$:Ó$<Ô=ô 
�‰”c×6Ñ6Ø4ô
6ñ 'à×Ñœ2Ÿ7™7 1›:Ô&÷'ô 
�‰�1‹×	Ñ	˜fÓ	%€BØ×Ñ�rÔØ×"Ñ"Ô$Üˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä	�‰×	Ñ	˜2˜qÓ	!€BØ×Ñ�rÔØ×"Ñ"Ô$Üˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ñ)÷'ð 'ús   È9%L)Ì)L2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Ã   rJ  r/   Ústackrù   r   Úget_coordinates)r   rÍ   rÎ   r8  rE  rF  r5   r”  s           r   Útest_quadmesh_get_coordinatesrf  Û  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˜   rO  rP  )r-   rš   r›   r/   r0   r   r‡  rˆ  rž   r  r�  r   r2  )rÍ   rÎ   r8  r6   r7   r5   s         r   Útest_quadmesh_set_arrayri  ç  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   )r/   r0   r   Ú	colormapsr4  Ú	NormalizerJ  r  r�  r-   r   rÕ  rl  rm  )r   r6   r7   rà  r�   r5   s         r   Útest_quadmesh_vmin_vmaxrp    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   )rJ  r+   )r-   rš   r›   Úmaxrø   r/   r0   rJ  r,  r�  r   rÕ  )r   rÍ   rÎ   r8  rJ  Ú
alpha_flatr6   rÖ  r×  Úcoll1Úcoll2s              r   Útest_quadmesh_alpha_arrayrv    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   ç333333ã?)r/   r0   rJ  r-   rš   r›   r·  r¸  r�   r,  rV  )r   r6   r7   Úpcs       r   Útest_alpha_validationrz  -  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   r~   )r7  gš™™™™™Ù?rx  gš™™™™™é?©rß  r=  c                 ó   — d| z  S )Nr~   r   r}  s    r   ró  z=test_legend_inverse_size_label_relationship.<locals>.<lambda>G  s
   € °Q¸±U€ r   )r‚   rè  rô  r   rë   N)	r-   r  rø  r/   r0   rµ   rû  rý  r   )rý   rþ   ÚCÚSÚlegend_sizesr6   r7   rÑ  ÚhandlesÚlabelsrÍ   Úhandle_sizess               r   Ú+test_legend_inverse_size_label_relationshipr…  6  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˜   )rJ  r/   r-   rš   r›   rV  ÚmcolorsÚto_rgba_arrayÚ_get_default_facecolorÚget_cmapr�   rø   Ú
same_colorÚget_edgecolorÚset_facecolorÚset_edgecolorrW  r,  r   rž   r‡  )r   r8  ry  Ú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_zorderrW  )Ú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›   rJ  r/   rž   rø   rV  Úuint8)r   r8  ry  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-   r<  rÜ   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   )r=  r“  )r=  rô   )r¤   r¥   rœ   ÚCircleCollectionÚset_offsetsr£   r·   )Úidentityr=  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Ô   r~   r—   r  z
2021-11-29)r-   rÜ   rá   Útimedelta64Ú
datetime64r/   rµ   Úget_offsetsr¤  r)  r-  r>   r?  r0   )rÍ   rÎ   ÚdrÑ  Úoff0r6   r7   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
  rn   r˜   é1   é4   é5   rN  é7   é8   ©r   r   r™   r˜   r~   )r   r   r   r   r   ©Úmask)r   r-   rX  r.   r/   r0   rµ   )Ú
unmasked_xÚmasked_yr6   r7   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 )NrÀ  ©r   r   r   r   r   rÁ  r   rê   )r   r   r~   )
r-   rX  r.   rš   Úadd_subplotrµ   r¤  r:  Ú
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 )NrÀ  rÆ  rÁ  r   rê   )r-   rX  r.   rš   r/   r0   rµ   r:  r¤  Ú
isinstancer´  Útype)rÍ   rÎ   r6   r7   rÊ  Úmasked_offsetsÚunmasked_offsetss          r   Útest_check_offsets_dtyperÑ    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--ro   r   )r%   r'   rÒ  rJ  )rÇ  r3   r4   r*  ÚvlinesrÍ  Ústrr-  Ú	itertoolsÚcycleÚaxvline)
rÉ   rÊ   rÒ  rÏ   rÐ   r7   rÍ   r¢  ÚgcolrÂ   s
             r   Útest_striped_linesrÝ  %  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   )or   rn  rÙ  ÚplatformrR  Útypesr   Únumpyr-   Únumpy.testingr   r   r·  Ú
matplotlibr   Úmatplotlib.pyplotÚpyplotr/   Úmatplotlib.collectionsÚcollectionsrœ   Úmatplotlib.colorsr4  r‡  Úmatplotlib.pathÚpathr¯   Úmatplotlib.transformsÚ
transformsr¤   r   r   r	   r
   Úmatplotlib.testing.decoratorsr   r   Úfixturer   r9   rH   rQ   rW   r[   r_   rd   rg   rk   rr   rx   r…   rŠ   r=   r    r«   r²   r¸   r  ÚcontextrÑ   rç   rî   Úmachiner  r  r:  rK  rh  rt  r~  rƒ  r‰  r�  r‘  r–  r¨  r²  r»  rÂ  rÈ  rÏ  rÒ  rÚ  r  r  r-  r5  rE  rH  ÚmarkÚparametrizerK  rT  rb  rf  ri  rp  rv  rz  r…  r‘  r™  r�  r¡  r«  r°  r·  r¸  rË  rÑ  rÝ  r   r   r   ú<module>rò     s  ðÝ Û 	Û Û Û 	Ý !ã ß GÛ ã Ý Ý -Ý #Ý Ý +÷Eó Eç Oð €‡�˜ hÐ/Ô0ñó 1ðò%ñP Ð2Ð3Ó4ñ=ó 5ð=ñ2 Ð8Ð9Ó:ñ
ó ;ð
ñ Ð8Ð9Ó:ñó ;ðñ" Ð;Ð<Ó=ñó >ðñ Ð;Ð<Ó=ñó >ðñ Ð=Ð>Ó?ñó @ðñ  ÐAÐBÓCñ=ó Dð=ñ( Ð:Ð;Ó<ñó =ðñ  Ð9Ð:Ó;ñó <ðñ Ð9Ð:Ó;ñó <ðñ ò ó ñ
	7óð
	7ñ Ð4Ð5Ó6ñ1ó 7ð1ò0ò4!ò=ò=ò'ð ‡�×Ñ�7ÓÙ  Ô(ñ)ó )ó ð)ò08ò")ñ Ð5Ð6ÀDØ/˜x×/Ñ/Ó1°WÒ<‘eÀ!ôEñóEðò&(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ò$3ò 8ò=ð ‡�×ÑÐ.ØØð1ó ñ	8ó	ð	8ò-5ò`2*òj	7ò9ò<Fò Bò0#òEð6 ‡�×Ñ�9ÓñBBó ðBBòJ:òò (ò&ò*Nò7ñ( Ð#>Ð"?Ø#˜W°$¸gôGñ%óGð%ñ"   Ô(ñó )ðò Bð  ‡�×Ñ˜ h°°c°
Ð%;Ó<Ù  Ô(ñVó )ó =ñVr   