ó
    {ñ:iQv  ã                   ó
  • S SK r S SKrS SKrS SKJr  S SKrS SKrS SKJ	r	J
r
  S SKrS SKJrJrJr  S SKJrJr  S SKJr  S SKJrJr  S SKrS rS r\R:                  R=                  S	\R>                  " S
5      \R>                  " S
5      \R@                  " S5      4S4\R>                  " S5      \R>                  " S5      \R@                  " S5      4S4\R@                  " S5      \R>                  " S5      \R@                  " S5      4S4\R>                  " S5      \R@                  " S5      \R@                  " S5      4S4\R@                  " S5      \R@                  " S5      \R@                  " S5      4S4\R@                  " S5      \R@                  " S5      \R@                  " S5      4S4\R@                  " S5      \R@                  " S5      \R@                  " S5      4S4\R@                  " S5      \R@                  " S5      \R@                  " S5      4S4S //4S4S /S /S //4S4/
5      S 5       r!S r"S r#\" S/S9S 5       r$\" S/S S!S"S#9S$ 5       r%S% r&\" S&/S S!S/S'9S( 5       r'\" S)/S \RP                  " 5       S*:X  a  S OS+S,9S- 5       r)\" S./S S!S/S'9S/ 5       r*\R:                  R=                  S0/ S1Q5      S2 5       r+\" S3/S!S4S59S6 5       r,\" S7/S!S89S9 5       r-\" S:/S S!S;S#9S< 5       r.S= r/\" S>S?/S S@S,9SA 5       r0SB r1SC r2SD r3\R:                  R=                  SE/ SFQ5      SG 5       r4SH r5\" SI/S S!SJS#9SK 5       r6\" SL/S S!\RP                  " 5       S*:X  a  SMOSNS#9SO 5       r7\" SP/S/S S!SQ9SR 5       r8\R:                  R=                  SS/ STQ5      SU 5       r9\R:                  Ru                  SV5      SW 5       r;\" SX/S/S SY9SZ 5       r<S[ r=\" S\/S/S S]S^9S_ 5       r>\" S`/S/S SY9Sa 5       r?Sb r@Sc rA\R„                  R‡                  Sd5      Se 5       rDSf rESg rF\R:                  R=                  ShSi\RŽ                  4Sj\R�                  4Sk\R’                  4Sl\R”                  4Sm/5      Sn 5       rK\R:                  R=                  So/ SpQ5      Sq 5       rL\" Sr/S/S SsS^9St 5       rMSu rN\R:                  R=                  Sv/ SwQ5      Sx 5       rO\R:                  R=                  Sv/ SwQ5      Sy 5       rPSz rQS{ rRS| rSS} rTS~ rUS rVg)€é    N)Úmock)Úassert_array_almost_equalÚassert_array_almost_equal_nulp)ÚpyplotÚ
rc_contextÚticker)ÚLogNormÚ
same_color)Úcheck_figures_equalÚimage_comparisonc                  óì   • [         R                  " S5      n [         R                  " S5      n[         R                  R                  S5      n[        R                  " 5       u  p4UR                  XU5        g ©Né
   é	   ©r   r   )ÚnpÚarangeÚrandomÚpltÚsubplotsÚcontour)ÚxÚyÚzÚfigÚaxs        Ú`/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/matplotlib/tests/test_contour.pyÚtest_contour_shape_1d_validr      sK   € ä
�	Š	�"‹€AÜ
�	Š	�!‹€AÜ
�	‰	×Ñ˜Ó!€Aä�lŠl‹n�G€CØ‡J�Jˆq�QÕó    c                  ó  • [         R                  " S5      n [         R                  " S5      n[         R                  " X5      u  p#[         R                  R                  S5      n[        R
                  " 5       u  pVUR                  X#U5        g r   )r   r   Úmeshgridr   r   r   r   )r   r   ÚxgÚygr   r   r   s          r   Útest_contour_shape_2d_validr$      s[   € ä
�	Š	�"‹€AÜ
�	Š	�!‹€AÜ�[Š[˜Ó�F€BÜ
�	‰	×Ñ˜Ó!€Aä�lŠl‹n�G€CØ‡J�Jˆr�qÕr   zargs, messager   r   z6Length of x (9) must match number of columns in z (10)r   z3Length of y (10) must match number of rows in z (9))r   r   z4Number of dimensions of x (2) and y (1) do not matchz4Number of dimensions of x (1) and y (2) do not match©r   r   z-Shapes of x (9, 9) and z (9, 10) do not matchz-Shapes of y (9, 9) and z (9, 10) do not match)é   r&   r&   z'Inputs x and y must be 1D or 2D, not 3DzInput z must be 2D, not 3DzDInput z must be at least a (2, 2) shaped array, but has shape (1, 1)c                 óÞ   • [         R                  " 5       u  p#[        R                  " [        [
        R                  " U5      S9   UR                  " U 6   S S S 5        g ! , (       d  f       g = f)N©Úmatch)r   r   ÚpytestÚraisesÚ	TypeErrorÚreÚescaper   )ÚargsÚmessager   r   s       r   Útest_contour_shape_errorr1   &   s@   € ô. �lŠl‹n�G€CÜ	�Š”y¬¯	ª	°'Ó(:Ó	;Ø
�
Š
�DÑ÷ 
<×	;Ö	;ús   ÁAÁ
A,c                  ód  • [         R                  " 5       u  pUR                  [        R                  R                  SS5      / S9  UR                  [        R                  " S5      R                  S5      S/S9nUR                  USS0S9  UR                  [        R                  " S5      5        g )Nr   ©ÚlevelséQ   r%   éd   z%1.2f)Úfmt)
r   r   r   r   r   Úrandr   ÚreshapeÚclabelÚones)r   r   Úcss      r   Útest_contour_no_valid_levelsr=   B   s}   € Ü�lŠl‹n�G€Cà‡J�JŒr�y‰y�~‰~˜a Ó#¨B€JÑ/à	�‰”B—I’I˜b“M×)Ñ)¨&Ó1¸3¸%ˆÐ	@€Bà‡I�Iˆb�s˜G�n€IÑ%à‡J�JŒr�wŠw�v‹Õr   c                  óR  • [         R                  " S5      R                  S5      n [        R                  " 5       u  pUR                  U S5      n[        UR                  5      S:”  d   eUR                  U SS9nUR                  UR                  :H  R                  5       (       d   eg )Né   ©r&   é   é   é   r3   )	r   r   r9   r   r   r   Úlenr4   Úall)r   r   r   Úcs1Úcs2s        r   Útest_contour_NlevelsrH   N   sƒ   € ô 	�	Š	�"‹×Ñ˜fÓ%€AÜ�lŠl‹n�G€CØ
�*‰*�Q˜Ó
€CÜˆs�z‰z‹?˜QÓÐÐØ
�*‰*�Q˜qˆ*Ð
!€CØ�J‰J˜#Ÿ*™*Ñ$×)Ñ)×+Ñ+Ð+Ñ+r   Úpng)Ú
extensionsc                 óÖ   • U R                  5       R                  SS/SS//5      nUR                  5       R                  SS/SS//5      nUR                  UR                  5       5        g )Nr   rC   é   )r   r   Ú	set_pathsÚ	get_paths)Úfig_testÚfig_refÚcs_testÚcs_refs       r   Útest_contour_set_pathsrS   Y   se   € à×ÑÓ!×)Ñ)¨A¨q¨6°A°q°6Ð*:Ó;€GØ×ÑÓ×'Ñ'¨!¨Q¨°!°Q°Ð(8Ó9€Fà×Ñ�f×&Ñ&Ó(Õ)r   Úcontour_manual_labelsTÚmpl20g¤p=
×£Ð?)Úremove_textÚstyleÚtolc                  ó  • [         R                  " [         R                  " SS5      [         R                  " SS5      5      u  p[         R                  " [         R                  " [        U 5      [        U5      /5      S5      n[        R                  " SSS9  [        R                  " XU5      n[         R                  " / SQ5      n[        R                  " X4S9  [         R                  " / S	Q5      n[        R                  " X4S
SS9  g )Nr   r   rL   )é   rL   éÈ   )ÚfigsizeÚdpi))ç      ð?ç      @)r^   çš™™™™™@)r^   ç      @©Úmanual))ç       @r_   )rd   r`   )rd   ra   Úsmall)ÚrÚg)rc   ÚfontsizeÚcolors)r   r!   r   ÚmaxÚdstackÚabsr   Úfigurer   Úarrayr:   )r   r   r   r<   Úptss        r   Útest_contour_manual_labelsrp   a   s¨   € ä�;Š;”r—y’y  BÓ'¬¯ª°1°bÓ)9Ó:�D€AÜ
�ŠŒr�yŠyœ#˜a›&¤# a£&Ð)Ó*¨AÓ.€Aä‡J‚J�v 3Ò'Ü	�Š�Q˜1Ó	€Bä
�(Š(Ò7Ó
8€CÜ‡J‚JˆrÒÜ
�(Š(Ò7Ó
8€CÜ‡J‚Jˆr¨¸
ÓCr   c                  óB  • [         R                  " SS5      n [         R                  " SS5      n[         R                  " X5      u  p#US-  S-  US-  -  S-
  n[        R                  " X#USS/S9nSn[        R
                  " XV/S	9nUS   R                  5       S
:X  d   eg )Niöÿÿÿr   rL   rC   r   r6   r3   )gÍÌÌÌÌÌô?rC   rb   Ú0)r   Úlinspacer!   r   r   r:   Úget_text)r   r   ÚXÚYÚZÚcontoursÚpointÚclabelss           r   Útest_contour_manual_movetor{   o   s–   € Ü
�Š�C˜Ó€AÜ
�Š�C˜Ó€Aä�;Š;�qÓ�D€Aà	ˆ1‰ˆq‰�1�a‘4‰˜!Ñ€Aä�{Š{˜1 ¨A¨s¨8Ñ4€Hð €EÜ�jŠj˜¨'Ñ2€Gð �1‰:×ÑÓ  CÓ'Ð'Ñ'r   Úcontour_disconnected_segments)rV   rW   rJ   c                  ó\  • [         R                  SSS2SSS24   u  pS[         R                  " SU S-   S-  -   US-  -   5      -  nUS[         R                  " SU S-
  S-  -   US-  -   5      -  -  n[        R                  " 5         [        R
                  " XUS/S9nUR                  S	/S
9  g )NéÿÿÿÿrC   y              5@ç{®Gáz„?ç333333Ó?rL   é   r3   )çš™™™™™É?çš™™™™™¹?rb   )r   ÚmgridÚsqrtr   rm   r   r:   )r   r   r   r<   s       r   Ú-test_contour_label_with_disconnected_segmentsr†   ‚   s©   € ô �8‰8�B�q˜�H˜b  3˜hÐ&Ñ'�D€AØ	ŒB�GŠG�D˜A ™G¨™>Ñ)¨A°©FÑ2Ó3Ñ3€AØˆŒR�WŠW�T˜Q ™W¨™NÑ*¨Q°!©VÑ3Ó4Ñ	4Ñ4€Aä‡J‚J„LÜ	�Š�Q˜1 a SÑ	)€BØ‡I�I�j�\€IÒ"r   z$contour_manual_colors_and_levels.pngÚx86_64g;ßO�—n’?)rV   rX   c                  óÂ  • S[         R                  S'   [         R                  " SS5      u  p[        R                  " S5      R                  SS5      n/ SQn/ SQn[        UR                  5       Hl  u  pVUS-  S	:H  n/ S
QUS-     nU(       a'  US;   a  SOS n	US;   a  SOS n
UR                  X#Xš XHS9nOUR                  X#S S XHS9n[         R                  " X¶S9  Mn     g )NFúpcolormesh.snaprL   rA   r?   r&   )ÚredÚyellowÚpinkÚblueÚblack)rL   rA   é   r   ç        )ÚneitherÚminrj   Úboth)rj   r‘   rC   )r’   r‘   r~   )ri   r4   Úextend©r   )r   ÚrcParamsr   r   r   r9   Ú	enumerateÚflatÚcontourfr   Úcolorbar)Ú_ÚaxsÚdatari   r4   Úir   Úfilledr”   Úfirst_colorÚ
last_colorÚcs               r   Ú$test_given_colors_levels_and_extendsr£   Ž   sç   € ð ',„C‡L�LÐ"Ñ#ä�\Š\˜!˜QÓ�F€Aä�9Š9�R‹=× Ñ   AÓ&€Dâ7€FÚ€Fä˜3Ÿ8™8Ö$‰ˆØ�Q‘˜"‘ˆÚ2°1¸±6Ñ:ˆæð  &Ð);Ó;™!ÀˆKØ%Ð);Ó;™ÀˆJØ—‘˜D°Ð)GØ#)ð ð :‰Að —
‘
˜4¨s°¨Ø"(ð ð 9ˆAô 	�Š�QÔò! %r   Úcontourf_hatch_colorsc                  óŠ   • [         R                  " 5       u  pUR                  SS/SS/// SQSS9nUR                  / SQ5        g )Nr   rC   rL   )Ú-Ú/Ú\z//Úgray)ÚhatchesÚcmap)r�   Úgreyr‹   rŠ   )r   r   r™   Úset_edgecolors)r   r   Úcfs      r   Útest_hatch_colorsr¯   ®   sB   € ô �lŠl‹n�G€CØ	�‰�q˜!�f˜q !˜fÐ%Ò/EÈFˆÐ	S€BØ×ÑÒ7Õ8r   zcolor, extend))Údarkredr‘   )r°   r“   ))rf   ç      à?r‘   ))rƒ   r‚   r±   r€   r‘   c                 ó¼   • SS/SS//n[         R                  " 5       u  p4/ SQnUR                  X%XS9nUR                  5        H  n[	        Xp5      (       a  M   e   g )Nr   rC   rL   )r±   ç      è?rC   g      ô?ç      ø?©r4   ri   r”   )r   r   r   Úget_edgecolorsr
   )Úcolorr”   r   r›   r   r4   r<   r¢   s           r   Útest_single_color_and_extendr¸   ¶   s^   € ð
 ˆQˆ�!�Q�Ð€Aä�LŠL‹N�E€AÚ&€FØ	�‰�A¨UˆÐ	B€BØ×ÑÖ ˆÜ˜!×#Ó#Ð#Ð#ò !r   zcontour_log_locator.svgF)rW   rV   c            
      ó¢  • [         R                  " 5       u  pSn[        R                  " SSU5      n[        R                  " SSU5      n[        R                  " X45      u  pV[        R
                  " US-  * US-  -
  5      n[        R
                  " US-  S-  * US-  S-  -
  5      nUSU-  -   n	UR                  U	[        R                  " 5       S	9n
[        U
R                  [        R                  " S
[        R                  " SS5      5      5        U R                  X¡S9n[        UR                  R                  5       U
R                  5        g )Nr6   ç      Àr_   ç       Àrd   rL   r   é2   ©Úlocatorç      $@iúÿÿÿr&   r•   )r   r   r   rs   r!   Úexpr™   r   Ú
LogLocatorr   r4   Úpowerr   rš   r   Ú
get_yticks)r   r   ÚNr   r   ru   rv   ÚZ1ÚZ2r�   r¢   Úcbs               r   Útest_log_locator_levelsrÈ   Ä   s  € ô �lŠl‹n�G€Cà€AÜ
�Š�D˜#˜qÓ!€AÜ
�Š�D˜#˜qÓ!€Aä�;Š;�qÓ�D€Aä	�Š��A‘�˜˜1™‘Ó	€BÜ	�Š�!�b‘&˜1‘�  B¡¨™{Ñ*Ó	+€BØ��R‘‰<€Dà
�‰�D¤&×"3Ò"3Ó"5ˆÐ6€AÜ˜aŸh™h¬¯ª°´r·y²yÀÀQÓ7GÓ(HÔIØ	�‰�aˆÐ	€BÜ˜bŸe™e×.Ñ.Ó0°!·(±(Õ;r   zcontour_datetime_axis.png)rW   c            
      ót  • [         R                  " 5       n U R                  SSSS9  [        R                  " SSS5      n[        R
                  " [        S5       Vs/ s H  o![        R                  " US9-   PM     sn5      n[        R                  " S5      n[        R                  " [        R                  " S5      [        R                  " S5      5      u  pVXV-  n[         R                  " S	5        [         R                  " X4U5        [         R                  " S
5        [         R                  " X4U5        [        R                  " U[        R                     SSS9n[        R                  " US S 2[        R                  4   SSS9n[         R                  " S5        [         R                  " X4U5        [         R                  " S5        [         R                  " X4U5        U R                  5        H<  nUR!                  5        H%  n	U	R#                  S5        U	R%                  S5        M'     M>     g s  snf )Ngš™™™™™Ù?g\�Âõ(\ï?ç333333Ã?)ÚhspaceÚtopÚbottomiÝ  rC   é   )ÚdayséÝ   éÞ   r   )Úaxiséß   éà   Úrighté   )r   rm   Úsubplots_adjustÚdatetimer   rn   ÚrangeÚ	timedeltar   r!   Úsubplotr   r™   ÚrepeatÚnewaxisÚget_axesÚget_xticklabelsÚset_haÚset_rotation)
r   ÚbaseÚdr   r   Úz1Úz2r   r   Úlabels
             r   Útest_contour_datetime_axisrç   Ù   s  € ä
�*Š*‹,€CØ×Ñ˜s¨°SÐÑ9Ü×Ò˜T 1 aÓ(€DÜ
�Š¼UÀ2¼YÓGºY¸œ×+Ò+°Ñ3Ô3¹YÑGÓH€AÜ
�	Š	�"‹€AÜ�[Š[œŸš 2›¬¯	ª	°"«Ó6�F€BØ
‰€AÜ‡K‚K�ÔÜ‡K‚K��aÔÜ‡K‚K�ÔÜ‡L‚L��qÔÜ
�	Š	�!”B—J‘J‘- ¨!Ñ,€AÜ
�	Š	�!’A”r—z‘z�MÑ" B¨QÑ/€AÜ‡K‚K�ÔÜ‡K‚K��aÔÜ‡K‚K�ÔÜ‡L‚L��qÔØ�l‰lŽnˆØ×'Ñ'Ö)ˆEØ�L‰L˜Ô!Ø×Ñ˜rÖ"ó *ò ùò Hs   Á H5z!contour_test_label_transforms.pnggš™™™™™ñ?c                  óœ  • Sn [         R                  " SSU 5      n[         R                  " SSU 5      n[         R                  " X5      u  p4[         R                  " US-  US-  -   * S-  5      S[         R                  -  -  n[         R                  " US-
  S-  S-  US-
  S	-  S-  -   * S-  5      S[         R                  -  S	-  S-  -  nS
Xe-
  -  n[
        R                  " SS5      u  p‰U	R                  X4U5      n
/ SQn/ SQnU
R                  5         U H  u  pU
R                  XSS S9  M     U H  u  pU
R                  XSSS9  M     g )Nçš™™™™™™?rº   r_   r»   rd   rL   rC   r´   r±   r¿   ))éØ   é±   )ig  i"  )i	  i–  ))éþÿÿÿr±   )r   g      ø¿)gffffff@rC   T)ÚinlineÚ	transformF)
r   r   r!   rÀ   Úpir   r   r   r:   Úadd_label_near)Údeltar   r   ru   rv   rÅ   rÆ   rw   r   r   ÚCSÚ
disp_unitsÚ
data_unitss                r   Útest_labelsrõ   ò   s@  € ð
 €EÜ
�	Š	�$˜˜UÓ#€AÜ
�	Š	�$˜˜UÓ#€AÜ�;Š;�qÓ�D€AÜ	�Š�!�Q‘$˜˜A™‘+� Ñ"Ó	# q¬2¯5©5¡yÑ	1€BÜ
�&Š&�Q˜‘U˜c‘M AÑ%¨!¨a©%°3©¸Ñ(:Ñ:Ð;¸aÑ?Ó
@ØŒr�u‰u‰9�s‰?˜SÑ ñ"€Bð 	�‘Ñ€Aä�lŠl˜1˜aÓ �G€CØ	�‰�A˜!Ó	€BÚ5€JÚ0€Jà‡I�I„Kã‰ˆØ
×Ñ˜! t°tÐÓ<ñ ó ‰ˆØ
×Ñ˜! t°uÐÓ=ò r   c                  óî  • [         R                  " SS9u  p[        R                  " [        R                  * S-  [        R                  S-  S5      =p#[        R
                  " X25      u  p2S[        R                  " SU-  5      S-  -  [        R                  " SU-  5      -  nS[        R                  " SU-  5      -  [        R                  " SU-  5      S-  S-   -  nXE-   nUR                  X2U5      n[        R                  R                  US	UR                  S
9 nUR                  SS9  S S S 5        WR                   V	s/ s H
  o™S   S   PM     n
n	SU
;   d   eg ! , (       d  f       N8= fs  sn	f )Nr6   )r]   rL   r¼   r³   r�   rA   r±   Ú"_split_path_and_get_label_rotation)Úwrapsr   )rh   r   rC   )r   r   r   rs   rï   r!   ÚsinÚcosr   r   ÚpatchÚobjectr÷   r:   Úcall_args_list)r›   r   ÚlatsÚlonsÚwaveÚmeanr�   r<   Úmocked_splitterÚcargsÚidxss              r   Útest_label_contour_startr    s?  € ô �LŠL˜SÑ!�E€AÜ—+’+œrŸu™u˜f q™j¬"¯%©%°!©)°RÓ8Ð8€DÜ—’˜TÓ(�J€DØ”2—6’6˜!˜d™(Ó# qÑ(Ñ)¬B¯FªF°1°t±8Ó,<Ñ<€DØ”—’˜˜D™Ó!Ñ!¤b§f¢f¨Q°©XÓ&6¸1Ñ%<¸qÑ%@ÑA€DØ‰;€Dà	�‰�D Ó	%€Bä	�‰×	Ñ	ØÐ4Ø×7Ñ7ð 
ñ 
9à<Kà
�	‰	˜1ˆ	Ñ÷	
9ð &5×%CÒ%CÓDÒ%C˜E�!‰H�QŒKÑ%C€DÐDØ�‹9Ð‰9÷
9õ 
9üò Es   ÄE!ÅE2Å!
E/zcontour_corner_mask_False.pngzcontour_corner_mask_True.pngg®Gázþ?c                  óh  • Sn SnSn[         R                  R                  S/5        [         R                  " [         R                  " SSU 5      [         R                  " SSU 5      5      u  p4[         R
                  " SU-  5      [         R                  " SU-  5      -  U[         R                  R                  X 5      -  -   n[         R                  R                  X 5      U:¬  n[         R                  R                  XVS	9nS
 H,  n[        R                  " 5         [        R                  " XWS9  M.     g )Né<   çffffffî?r^   rC   r   rd   r�   r�   ©Úmask)FT©Úcorner_mask)r   r   Úseedr!   rs   rú   rù   r8   Úmarn   r   rm   r™   )ÚnÚ
mask_levelÚ	noise_ampr   r   r   r
  r  s           r   Útest_corner_maskr  )  sÔ   € ð 	€AØ€JØ€IÜ‡I�I‡N�N�A�3ÔÜ�;Š;”r—{’{ 1 c¨1Ó-¬r¯{ª{¸1¸cÀ1Ó/EÓF�D€AÜ
�Šˆq�‰s‹”B—F’F˜1˜Q™3“KÑ )¬B¯I©I¯N©N¸1Ó,@Ñ"@Ñ@€AÜ�9‰9�>‰>˜!Ó :Ñ-€DÜ
�‰�‰�AˆÐ!€Aã$ˆÜ�
Š
ŒÜ�Š�QÔ0ò %r   c                  óØ   • SS/SS//n [         R                  " 5         [        R                  " [        5         [         R
                  " U SS/5        S S S 5        g ! , (       d  f       g = f)Nrƒ   r€   r±   çffffffæ?r^   r�   )r   rm   r*   r+   Ú
ValueErrorr™   )r   s    r   Útest_contourf_decreasing_levelsr  :  sG   € à
ˆsˆ�c˜3�ZÐ €AÜ‡J‚J„LÜ	�Š”zÕ	"Ü�Š�Q˜˜c˜
Ô#÷ 
#×	"Ö	"ús   ¸AÁ
A)c                  óø   • [         R                  " S5      R                  S5      n [        R                  " SSS9n[        R
                  " XS9n[        UR                  [         R                  " SSS5      5        g )	Nr?   r@   rA   T)ÚnbinsÚ	symmetricr½   iôÿÿÿrB   )	r   r   r9   r   ÚMaxNLocatorr™   r   r4   rs   )r   r¾   r<   s      r   Útest_contourf_symmetric_locatorr  B  sS   € ä
�	Š	�"‹×Ñ˜fÓ%€AÜ�oŠo A°Ñ6€GÜ	�Š�aÑ	)€BÜ˜bŸi™i¬¯ª°S¸"¸aÓ)@ÕAr   c                  ó>  • [         R                  " [         R                  " SSS5      [         R                  " SSS5      5      u  p[         R                  " X5      n[        R
                  " 5         [        R                  " XU5      n[        R                  " U5        g )Nrì   rL   rA   )r   r!   rs   Úhypotr   rm   r   r:   )r   r   rf   r<   s       r   Útest_circular_contour_warningr  J  s_   € ä�;Š;”r—{’{ 2 q¨!Ó,¬b¯kªk¸"¸aÀÓ.CÓD�D€AÜ
�Š�‹€AÜ‡J‚J„LÜ	�Š�Q˜1Ó	€BÜ‡J‚Jˆr…Nr   z-use_clabeltext, contour_zorder, clabel_zorder))Té{   éÒ  )Fr  r   )Tr  N)Fr  Nc                 óJ  • [         R                  " [         R                  " SS5      [         R                  " SS5      5      u  p4[         R                  " [         R                  " [        U5      [        U5      /5      S5      n[        R                  " SS9u  nu  pxUR                  X4XQS9n	UR                  X4XQS9n
U	R                  X S9nU
R                  UU S9nUc  SU-   nOUnU H  nUR                  5       U:X  a  M   e   U H  nUR                  5       U:X  a  M   e   g )Nr   r   rL   )Úncols)Úzorder)r#  Úuse_clabeltext)r   r!   r   rj   rk   rl   r   r   r   r™   r:   Ú
get_zorder)r$  Úcontour_zorderÚclabel_zorderr   r   r   r   Úax1Úax2r<   Ú	cs_filledÚclabels1Úclabels2Úexpected_clabel_zorderr:   s                  r   Útest_clabel_zorderr.  S  s  € ô �;Š;”r—y’y  BÓ'¬¯ª°1°bÓ)9Ó:�D€AÜ
�ŠŒr�yŠyœ#˜a›&¤# a£&Ð)Ó*¨AÓ.€Aä—l’l¨Ñ+�O€C‰ˆ#Ø	�‰�Q˜1ˆÐ	4€BØ—‘˜Q 1�Ð<€IØ�y‰y ˆyÐM€HØ×Ñ }Ø/=ð  ð ?€Hð ÑØ!" >Ñ!1Ñà!.ÐãˆØ× Ñ Ó"Ð&<Õ<Ð<Ð<ñ ãˆØ× Ñ Ó"Ð&<Õ<Ð<Ð<ò r   c                  ó  • [         R                  " SSS5      =p[         R                  " X5      u  p#[         R                  " US-  * US-  -
  5      n[        R
                  " 5       u  pVUR                  X#U/ SQS9nUR                  USS9  g )	Nrº   g®Gáz@çš™™™™™©?rL   )r   r‚   r±   gš™™™™™é?r3   r6   )Úinline_spacing)r   r   r!   rÀ   r   r   r   r:   )r   r   ru   rv   rw   r   r   Ú
contoursets           r   Útest_clabel_with_large_spacingr3  l  sw   € ô �IŠI�d˜D $Ó'Ð'€AÜ�;Š;�qÓ�D€AÜ
�Š��1‘ˆu�q˜!‘t‰|Ó€Aä�lŠl‹n�G€CØ—‘˜A !Ò,?�Ð@€JØ‡I�Iˆj¨€IÒ-r   zcontour_log_extension.pngg´Èv¾Ÿ÷?c            	      óÀ  • S[         R                  S'   [         R                  " SSSS9u  n u  pnU R                  SSS	9  [        R
                  " S
SS5      n[        R                  " SU5      R                  SS5      n[        R                  " SS5      n[        R                  " SU5      nUR                  U[        UR                  5       UR                  5       S9S9nUR                  XW[        UR                  5       UR                  5       S9SS9n	UR                  XW[        UR                  5       UR                  5       S9SS9n
[         R                  " X�S9nUR                  R                  5       S:X  d   e[         R                  " X’S9n[!        UR                  R                  5       [        R"                  " S5      5        [         R                  " X£S9ng )NFr‰   rC   r&   )r   rB   ©r\   r0  r  )ÚleftrÕ   g      Àg      #@i°  r   rÖ   é(   g      Àg      @r¿   )ÚvminÚvmax)Únormr‘   )r4   r:  r”   r“   r•   )g:Œ0âŽyE>g    _ B)ç-Cëâ6?g    €„.A)r   r–   r   r×   r   rs   rÂ   r9   r   r™   r	   r’   rj   rš   r   Úget_ylimr   rn   )r   r(  r)  Úax3Údata_expr�   Ú
levels_expr4   Úc1Úc2Úc3rÇ   s               r   Útest_contourf_log_extensionrC    s…  € ð
 ',„C‡L�LÐ"Ñ#ô Ÿ<š<¨¨1°gÑ>Ñ€C‰ˆ#�CØ×Ñ˜T¨ÐÑ.ô �{Š{˜4  dÓ+€HÜ�8Š8�B˜Ó!×)Ñ)¨"¨bÓ1€Dä—’˜3 Ó#€JÜ�XŠX�c˜:Ó&€Fð 
�‰�dÜ"¨¯©«
¸¿¹»ÑDð 
ð 
F€Bð 
�‰�dÜ"¨¯
©
«¸6¿:¹:»<ÑHØ&ð 
ð 
(€Bð 
�‰�dÜ"¨¯
©
«¸6¿:¹:»<ÑHØ#ð 
ð 
%€Bô 
�Š�bÑ	!€BØ�5‰5�>‰>Ó˜|Ó+Ð+Ð+Ü	�Š�bÑ	!€BÜ" 2§5¡5§>¡>Ó#3´R·X²X¸kÓ5JÔKÜ	�Š�bÑ	!�Br   zcontour_addlines.pngg¸…ëQ¸ž?rÊ   c                  ó¸  • S[         R                  S'   [         R                  " 5       u  p[        R                  R                  S5        [        R                  R                  SS5      S-  nUR                  U5      nUR                  US-   5      nU R                  U5      nUR                  U5        [        UR                  R                  5       SS/S	5        g )
NFr‰   i,N,r   i'  iè  gdÌ]KÈ“\@g6«>W'zÃ@r&   )r   r–   r   r   r   r  r8   Ú
pcolormeshr   rš   Ú	add_linesr   r   r<  )r   r   ru   ÚpcmÚcontrÇ   s         r   Útest_contour_addlinesrI  £  sŸ   € ð ',„C‡L�LÐ"Ñ#ä�lŠl‹n�G€CÜ‡I�I‡N�N�8ÔÜ
�	‰	�‰�r˜2Ó˜uÑ$€AØ
�-‰-˜Ó
€Cà�:‰:�a˜‘fÓ€DØ	�‰�cÓ	€BØ‡L�L�ÔÜ˜bŸe™eŸn™nÓ.°¸:Ð0FÈÕJr   Úcontour_uneven)Úbaseline_imagesrJ   rV   rW   c                  óD  • S[         R                  S'   [        R                  " S5      R	                  SS5      n [         R
                  " SS5      u  pUS   nUR                  U / S	QS
9nUR                  XCSS9  US   nUR                  U / S	QS
9nUR                  XCSS9  g )NFr‰   é   rA   rZ   rC   rL   r   )rL   rA   rZ   r   rÎ   r3   Úproportional)r   ÚspacingÚuniform)r   r–   r   r   r9   r   r™   rš   )r   r   rœ   r   r<   s        r   Útest_contour_unevenrQ  ¶  s—   € ð ',„C‡L�LÐ"Ñ#ä
�	Š	�"‹×Ñ˜a Ó#€AÜ�|Š|˜A˜qÓ!�H€CØ	ˆQ‰€BØ	�‰�QÒ0ˆÐ	1€BØ‡L�L� N€LÑ3Ø	ˆQ‰€BØ	�‰�QÒ0ˆÐ	1€BØ‡L�L� I€LÒ.r   zCrc_lines_linewidth, rc_contour_linewidth, call_linewidths, expected))ç®Gáz®ó?NNrR  )rR  çö(\�Âõ@NrS  )rR  rS  ç®Gáz@rT  c                 ó  • [        U US.S9   [        R                  " 5       u  pE[        R                  " S5      R                  SS5      nUR                  XbS9nUR                  5       S   U:X  d   e S S S 5        g ! , (       d  f       g = f)N)zlines.linewidthzcontour.linewidth)Úrcr?   rA   r&   )Ú
linewidthsr   )r   r   r   r   r   r9   r   Úget_linewidths)Úrc_lines_linewidthÚrc_contour_linewidthÚcall_linewidthsÚexpectedr   r   ru   r<   s           r   Útest_contour_linewidthr]  Æ  s   € ô 
Ð+=Ø-AñCó 
Dä—,’,“.‰ˆÜ�IŠI�c‹N×"Ñ" 1 aÓ(ˆØ�Z‰Z˜ˆZÐ6ˆØ× Ñ Ó" 1Ñ%¨Ó1Ð1Ñ1÷
D÷ 
Dö 
Dús   �A&A=Á=
BÚpdfc                  ód   • [         R                  " [         R                  " SS/SS//5      5        g )NrC   rL   r&   rA   )r   r:   r   © r   r   Útest_label_nonaggra  ×  s&   € ô ‡J‚JŒs�{Š{˜Q ˜F Q¨ FÐ+Ó,Õ-r   Úcontour_closed_line_loop)rK  rJ   rV   c                  ó¼   • / SQ/ SQ/ SQ/ SQ/n [         R                  " SS9u  pUR                  U S/S/SS	9  UR                  S
S5        UR	                  S
S5        g )N)r   r   r   )r   rL   r   )rL   rC   rL   )rL   rL   r5  r±   rÎ   r  )rW  Úalphagš™™™™™¹¿gÍÌÌÌÌÌ @gÍÌÌÌÌÌ@)r   r   r   Úset_xlimÚset_ylim)r   r   r   s      r   Útest_contour_closed_line_looprg  Ý  sV   € ò 
’Išyª)Ð4€Aä�lŠl 6Ñ*�G€CØ‡J�Jˆq�3�% R D°€JÑ4Ø‡K�K��cÔØ‡K�K��cÕr   c                  óN  • [         R                  " SS/SS/5      u  pX-   n[        R                  " 5       u  p4UR	                  XU5      nUR                  XU5      nUR                  UR                  :w  d   eUR                  XR5      nUR                  UR                  :X  d   eg )Nr�   r^   )r   r!   r   r   r™   r   Ú_contour_generator)r   r   r   r   r   Úqcs1Úqcs2Úqcs3s           r   Útest_quadcontourset_reuserm  é  s”   € ô �;Š;˜˜S�z C¨ :Ó.�D€AØ	‰€AÜ�lŠl‹n�G€CØ�;‰;�q˜QÓ€DØ�:‰:�a˜AÓ€DØ×"Ñ" d×&=Ñ&=Ó=Ð=Ð=Ø�:‰:�dÓ€DØ×"Ñ" d×&=Ñ&=Ó=Ð=Ñ=r   Úcontour_manualg{®Gázì?)rK  rJ   rV   rX   c                  ó’  • SSK Jn   [        R                  " SS9u  pSnSS/SS/SS///nSS/SS//SS/SS	///nSS/SS	/SS/SS/SS///nSS/SS/SS/SS/SS//SS	/SS	/SS///nU " U/ S
QXg/SUS9  U " USS/XE/SSS/S9  S	S/SS/SS/S	S/S	S/SS/SS/SS/SS/SS//
/n/ SQ/n	U " USS/U/U	/SUS9  U " US/U/U	/SSS9  g )Nr   )Ú
ContourSet©rA   rA   r5  ÚviridisrL   rC   r&   rA   ©r   rC   rL   T)rŸ   r«   rf   Úk)rW  ri   r�   rB   rZ   )
rC   rL   rL   rL   éO   rC   rL   rL   rL   ru  )ri   rW  )Úmatplotlib.contourrp  r   r   )
rp  r   r   r«   Úlines0Úlines1Úfilled01Úfilled12ÚsegsÚkindss
             r   Útest_contour_manualr}  ö  sw  € õ .ä�lŠl 6Ñ*�G€CØ€Dð �1ˆv˜˜1�v  1˜vÐ&Ð'€FØ�1ˆv˜˜1�vÐ ! Q ¨!¨Q¨Ð 0Ð1€FØ�Q�˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°Ð8Ð9€HØ�Q�˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°Ð8Ø�Q�˜!˜Q˜ ! Q Ð(ð*€Háˆr’9˜xÐ2¸4ÀdÒKÙˆr�A�q�6˜FÐ+¸À3ÈÀ*ÒMð �ˆV�a˜�V˜a ˜V a¨ V¨a°¨VØ�ˆV�a˜�V˜a ˜V a¨ V¨a°¨Vð5ð 6€Dâ-Ð.€EÙˆr�A�q�6˜D˜6 E 7°4¸dÒCÙˆr�A�3˜˜  °ÀÓBr   Ú!contour_line_start_on_corner_edgec                  óœ  • [         R                  " SS9u  p[        R                  " / SQ/ SQ5      u  p#SUS-
  S-  -
  US-
  S-  -   n[        R                  " U[
        S9nS	=US
'   US'   [        R                  R                  XES9nUR                  X#US	S9nU R                  U5      nUR                  X#US	SS9nUR                  U5        g )N)rZ   rB   r5  )r   rC   rL   r&   rA   rs  g333333ó?rL   rC   ©ÚdtypeT)rC   rC   )rC   r&   r	  r  rt  )r  ri   )r   r   r   r!   Ú
zeros_likeÚboolr  rn   r™   rš   r   rF  )	r   r   r   r   r   r
  rŸ   ÚcbarÚliness	            r   Ú&test_contour_line_start_on_corner_edger†    s¿   € ô �lŠl 6Ñ*�G€Cä�;Š;’ª	Ó2�D€AØˆq�1‰u�q‰jÑ˜A ™E A™:Ñ%€AÜ�=Š=˜¤$Ñ'€DØ"Ð"€Dˆ�J��d‘Ü
�‰�‰�AˆÐ!€Aà�[‰[˜˜q¨dˆ[Ð3€FØ�<‰<˜Ó€DØ�J‰J�q˜Q¨D¸ˆJÐ=€EØ‡N�N�5Õr   c                  óÜ  • [         R                  " S5      n [         R                  " [         R                  * [         R                  " U S-
  S-  S5      S-  -  5      n[
        R                  " US5      nUR                  SSSS	9nS
n[        X45        UR                  SSSS	9nSn[        X45        UR                  SSSS	9nSn[        X45        UR                  SSSSS9nSn[        X45        g )N©é   r‰  rB   rL   r   ç      9@r   rC   F©Úpixel)rC   r   é!   çYÄ°Ã˜tÿ?rŽ  gbž•´âÛý?r�   )rC   r   rB   gŸ‘�`3@gDl°p’fù?gö—Ý“‡…á?)r&   r   é   gÍ°QÖo&þ?g�hW!å@g|ïoÐ^}Œ?©rB   r�   ©ÚindicesrŒ  )rB   r   é   gA*ÅŽ@g      @g÷�ð½¿AÙ?)	r   r’  rÀ   rï   Úsumr   r   Úfind_nearest_contourr   )ÚxyÚimgr<   Únearest_contourÚexpected_nearests        r   Útest_find_nearest_contourrš  !  sç   € Ü	�Š�HÓ	€BÜ
�&Š&”"—%‘%�œ2Ÿ6š6 2¨¡6¨A¡+¨qÓ1°%Ñ7Ñ8Ó
9€CÜ	�Š�S˜"Ó	€Bà×-Ñ-¨a°¸%Ð-Ð@€OØ?ÐÜ˜oÔ@à×-Ñ-¨a°¸%Ð-Ð@€OØ>ÐÜ˜oÔ@à×-Ñ-¨a°¸%Ð-Ð@€OØ?ÐÜ˜oÔ@à×-Ñ-¨a°¸FÈ%Ð-ÐP€OØ:ÐÜ˜oÕ@r   c                  ó†  • [         R                  " S5      n [         R                  " [         R                  * [         R                  " U S-
  S-  S5      S-  -  5      n[
        R                  " US5      n[        R                  " [        SS9   UR                  S	S	S
S9  S S S 5        [        R                  " [        SS9   UR                  S	SSS
S9  S S S 5        [        R                  " [        SS9   UR                  SSSSS9  S S S 5        g ! , (       d  f       Nw= f! , (       d  f       NT= f! , (       d  f       g = f)Nrˆ  rB   rL   r   rŠ  r   z'Method does not support filled contoursr(   rC   Fr‹  r�  r‘  )rL   r�   T)r   r’  rÀ   rï   r”  r   r™   r*   r+   r  r•  )r–  r—  r<   s      r   Ú#test_find_nearest_contour_no_filledrœ  7  sø   € Ü	�Š�HÓ	€BÜ
�&Š&”"—%‘%�œ2Ÿ6š6 2¨¡6¨A¡+¨qÓ1°%Ñ7Ñ8Ó
9€CÜ	�Š�c˜2Ó	€Bä	�Š”zÐ)RÓ	SØ
×Ñ  1¨EÐÑ2÷ 
Tô 
�Š”zÐ)RÓ	SØ
×Ñ  2¨v¸UÐÑC÷ 
Tô 
�Š”zÐ)RÓ	SØ
×Ñ  1¨f¸DÐÑA÷ 
TÐ	S÷ 
TÕ	Sú÷ 
TÕ	Sú÷ 
TÕ	Sús$   ÂDÃ D!Ã4D2Ä
DÄ!
D/Ä2
E Údefaultc                  óT  • [         R                  " 5       R                  5       n [         R                  " [        R
                  " SSS5      R                  SS5      / SQS9nU R                  U5        U R                   Vs1 s H  o"R                  5       iM     sn1 Sk:X  d   eg s  snf )Ng�íµ ÷Æ°>r;  r6   r   )gñhãˆµøÄ>gñhãˆµøä>gñhãˆµø?r3   >   ú0.25ú1.00ú4.00)
r   rm   Úadd_subplotr   r   Ú	geomspacer9   r:   Útextsrt   )r   r<   Útexts      r   Ú)test_contour_autolabel_beyond_powerlimitsr¦  F  sw   € ä	�Š‹×	!Ñ	!Ó	#€BÜ	�Š”R—\’\ $¨¨cÓ2×:Ñ:¸2¸rÓBÚ0ñ
2€Bà‡I�Iˆb„Mà(*¯ªÓ1ª �M‰MŽO©Ñ1Ò5MÓMÐMÑMùÒ1s   Â B%c                  óæ  ^• SSK Jm  [        R                  " SS5      n U R	                  SS5      nX-  n[
        R                  " U/ SQ/ SQSS	9nUR                  R                  S
5        UR                  R                  S5        UR                  5         UR                  5       u  pEU/ SQ:X  d   eSn[        U4S jU 5       5      (       d   e[        S [        XF5       5       5      (       d   eg )Nr   )Ú	RectanglerC   r   r~   ©r   rÖ   r¼   )ú#FFFF00ú#FF00FFz#00FFFFr“   rµ   rŠ   r�   )z$x \leq -1e+250s$z$10.0 < x \leq 30.0$z$30.0 < x \leq 50.0$z$x > 1e+250s$)r�   rª  r«  rŠ   c              3   ó<   >#   • U  H  n[        UT5      v •  M     g 7f©N)Ú
isinstance)Ú.0Úar¨  s     €r   Ú	<genexpr>Ú0test_contourf_legend_elements.<locals>.<genexpr>b  s   øé € Ð9²¨AŒz˜!˜Y×'Ð'²ùs   ƒc              3   óZ   #   • U  H!  u  p[        UR                  5       U5      v •  M#     g 7fr­  )r
   Úget_facecolor©r¯  r°  r¢   s      r   r±  r²  c  s*   é € ð :Ú8‘4�1ô ˜!Ÿ/™/Ó+¨Q×/Ð/Ú8ùó   ‚)+)Úmatplotlib.patchesr¨  r   r   r9   r   r™   r«   Úset_overÚ	set_underÚchangedÚlegend_elementsrE   Úzip)r   r   Úhr<   ÚartistsÚlabelsÚexpected_colorsr¨  s          @r   Útest_contourf_legend_elementsrÁ  P  sâ   ø€ Ý,Ü
�	Š	�!�RÓ€AØ	�	‰	�"�aÓ€AØ	‰€Aä	�Š�a¢Ú>Ø#ñ
%€Bð ‡G�G×Ñ�UÔØ‡G�G×Ñ�fÔØ‡J�J„LØ×(Ñ(Ó*�O€GØò 'ó 'ð 'ð 'ð <€OÜÔ9±Ó9×9Ñ9Ð9Ð9Üñ :Ü˜wÔ8ó:÷ :ñ :ð :ñ :r   c                  óF  • [         R                  " SS5      n U R                  SS5      nX-  n/ SQn[        R                  " U/ SQUSS9nUR                  5       u  pVU/ SQ:X  d   e[        S	 U 5       5      (       d   e[        S
 [        XS5       5       5      (       d   eg )NrC   r   r~   )r�   z#00FF00rŠ   r©  r“   rµ   )z
$x = 10.0$z
$x = 30.0$z
$x = 50.0$c              3   ój   #   • U  H)  n[        U[        R                  R                  5      v •  M+     g 7fr­  )r®  Úmplr…  ÚLine2D)r¯  r°  s     r   r±  Ú/test_contour_legend_elements.<locals>.<genexpr>r  s$   é € Ð@º°1Œz˜!œSŸY™Y×-Ñ-×.Ð.ºùs   ‚13c              3   óZ   #   • U  H!  u  p[        UR                  5       U5      v •  M#     g 7fr­  )r
   Ú	get_colorrµ  s      r   r±  rÆ  s  s)   é € ð 1Ú/‘4�1ô ˜!Ÿ+™+›-¨×+Ð+Ú/ùr¶  )r   r   r9   r   r   r»  rE   r¼  )r   r   r½  ri   r<   r¾  r¿  s          r   Útest_contour_legend_elementsrÉ  g  s§   € Ü
�	Š	�!�RÓ€AØ	�	‰	�"�aÓ€AØ	‰€Aâ'€FÜ	�Š�Qš|Ø"Ø"ñ
$€Bð ×(Ñ(Ó*�O€GØÒ?Ó?Ð?Ð?ÜÑ@¹Ó@×@Ñ@Ð@Ð@Üñ 1Ü˜wÔ/ó1÷ 1ñ 1ð 1ñ 1r   zalgorithm, klassÚmpl2005Úmpl2014ÚserialÚthreaded)ÚinvalidNc                 ó6  • [         R                  " SS/SS//5      nUb2  [        R                  " X S9n[	        UR
                  U5      (       d   eg [        R                  " [        5         [        R                  " X S9  S S S 5        g ! , (       d  f       g = f)Nr^   rd   r_   ç      @©Ú	algorithm)	r   rn   r   r™   r®  ri  r*   r+   r  )rÒ  Úklassr   r<   s       r   Útest_algorithm_namerÔ  w  sp   € ô 	�Š�3˜�*˜s C˜jÐ)Ó*€AØÑÜ�\Š\˜!Ñ1ˆÜ˜"×/Ñ/°×7Ñ7Ð7Ñ7ä�]Š]œ:Õ&Ü�LŠL˜Ò0÷ '×&Ö&ús   Á,B
Â

BrÒ  ©rÊ  rË  rÌ  rÍ  c                 ó0  • [         R                  " SS/SS//5      n[        R                  " XSS9  U S:w  a  [        R                  " XSS9  g [        R
                  " [        5         [        R                  " XSS9  S S S 5        g ! , (       d  f       g = f)	Nr^   rd   r_   rÐ  F)rÒ  r  rÊ  T)r   rn   r   r™   r*   r+   r  )rÒ  r   s     r   Ú#test_algorithm_supports_corner_maskr×  ˆ  sm   € ô 	�Š�3˜�*˜s C˜jÐ)Ó*€Aô ‡L‚L�°UÒ;ð �IÓÜ�Š�Q¸Ó>ä�]Š]œ:Õ&Ü�LŠL˜¸TÒB÷ '×&Ö&ús   Á(BÂ
BÚcontour_all_algorithmsg¸…ëQ¸®?c            	      ó®  • / SQn [         R                  R                  S5      n[         R                  " [         R                  " SSS5      [         R                  " SSS5      5      u  p#[         R
                  " SU-  5      [         R                  " SU-  5      -  UR                  SS	S
9-   n[         R                  " U[        S9nSUS'   [         R                  R                  XES9n[        R                  " SS5      u  pg[        UR                  5       U 5       H7  u  p‰UR!                  X#XIS9  UR#                  X#XISS9  UR%                  U	5        M9     g )NrÕ  i¥  r�   r^   r   rZ   r‰  r±   )rZ   r   )ÚscaleÚsizer€  T)r&   r�   r	  rL   rÑ  rt  )rÒ  ri   )r   r   Údefault_rngr!   rs   rù   rú   Únormalr‚  rƒ  r  rn   r   r   r¼  Úravelr™   r   Ú	set_title)
Ú
algorithmsÚrngr   r   r   r
  r›   rœ   r   rÒ  s
             r   Útest_all_algorithmsrâ  ˜  s  € ò >€Jä
�)‰)×
Ñ
 Ó
%€CÜ�;Š;”r—{’{ 3¨¨RÓ0´"·+²+¸cÀ3ÈÓ2JÓK�D€AÜ
�Šˆr�!‰t‹”R—V’V˜B˜q™D“\Ñ! C§J¡J°S¸w JÐ$GÑG€AÜ�=Š=˜¤$Ñ'€DØ€Dˆ�JÜ
�‰�‰�AˆÐ!€Aä�\Š\˜!˜QÓ�F€AÜ˜SŸY™Y›[¨*Ö5‰ˆØ
�‰�A˜!ˆÑ1Ø
�
‰
�1˜¸ˆ
Ñ<Ø
�‰�YÖò 6r   c                  ó  • Sn [         R                  " SSU 5      n[         R                  " SSU 5      n[         R                  " X5      u  p4[         R                  " US-  * US-  -
  5      n[         R                  " US-
  S-  * US-
  S-  -
  5      nXV-
  S-  n[        R
                  " 5       nUR                  SSS9n	U	 HG  n
U
R                  5       nUR                  X4U5      nUR                  US	S
S9  UR                  S5        MI     g )Nré   rº   r_   r»   rd   rL   rC   )Únrowsr"  Tr   )rí   rh   zSimplest default with labels)r   r   r!   rÀ   r   rm   Ú
subfiguresr   r   r:   rß  )rñ   r   r   ru   rv   rÅ   rÆ   rw   r   ÚfigsÚfr   rò   s                r   Útest_subfigure_clabelrè  «  sè   € à€EÜ
�	Š	�$˜˜UÓ#€AÜ
�	Š	�$˜˜UÓ#€AÜ�;Š;�qÓ�D€AÜ	�Š�!�Q‘$�˜!˜Q™$‘Ó	€BÜ	�Š�1�q‘5˜Q‘,� 1 q¡5¨Q¡,Ñ.Ó	/€BØ	‰�A‰€Aä
�*Š*‹,€CØ�>‰> ¨ˆ>Ð+€DãˆØ�Z‰Z‹\ˆØ�Z‰Z˜˜aÓ ˆØ
�	‰	�"˜T¨Bˆ	Ñ/Ø
�‰Ð3Ö4ò	 r   rW   )ÚsolidÚdashedÚdashdotÚdottedc           
      ón  • Sn[         R                  " SSU5      n[         R                  " SSU5      n[         R                  " X#5      u  pE[         R                  " US-  * US-  -
  5      n[         R                  " US-
  S-  * US-
  S-  -
  5      nXg-
  S-  n[        R
                  " 5       u  pšU
R                  XEUSS	S
9nU
R                  USSS9  U
R                  S5        UR                  b   e[        R
                  " 5       u  pÍUR                  XEUSS	U S9nUR                  USSS9  UR                  SU  35        UR                  U :X  d   e[        R
                  " 5       u  nnUR                  XEUSS	U SS9nUR                  USSS9  UR                  SU  35        UR                  U :X  d   eg )Nré   rº   r_   r»   rd   rL   rC   rZ   rt  ©ri   r   T©rh   rí   z0Single color - positive contours solid (default))ri   Ú
linestylesz!Single color - positive contours rë  ©ri   rð  Únegative_linestyles)
r   r   r!   rÀ   r   r   r   r:   rß  rð  )rW   rñ   r   r   ru   rv   rÅ   rÆ   rw   Úfig1r(  ÚCS1Úfig2r)  ÚCS2Úfig3r=  ÚCS3s                     r   Útest_linestylesrù  ¿  s¥  € ð €EÜ
�	Š	�$˜˜UÓ#€AÜ
�	Š	�$˜˜UÓ#€AÜ�;Š;�qÓ�D€AÜ	�Š��A‘�˜˜1™‘Ó	€BÜ	�Š�!�a‘%˜!‘�˜q 1™u q™jÑ(Ó	)€BØ	‰�A‰€Aô —’“�I€DØ
�+‰+�a˜A˜q¨ˆ+Ð
-€CØ‡J�Jˆs˜Q t€JÑ,Ø‡M�MÐDÔEØ�>‰>Ñ!Ð!Ð!ô —’“�I€DØ
�+‰+�a˜A˜q¨¸ˆ+Ð
?€CØ‡J�Jˆs˜Q t€JÑ,Ø‡M�MÐ5°e°WÐ=Ô>Ø�>‰>˜UÓ"Ð"Ð"ô —’“�I€Dˆ#Ø
�+‰+�a˜A˜q¨¸Ø*3ð ð 5€Cà‡J�Jˆs˜Q t€JÑ,Ø‡M�MÐ5°e°WÐ=Ô>Ø�>‰>˜UÓ"Ð"Ñ"r   c           
      ó^  • Sn[         R                  " SSU5      n[         R                  " SSU5      n[         R                  " X#5      u  pE[         R                  " US-  * US-  -
  5      n[         R                  " US-
  S-  * US-
  S-  -
  5      nXg-
  S-  n[        R
                  " 5       u  pšU
R                  XEUSS	S
9nU
R                  USSS9  U
R                  S5        UR                  S:X  d   eU [        R                  S'   [        R
                  " 5       u  pÍUR                  XEUSS	S
9nUR                  USSS9  UR                  SU  S35        UR                  U :X  d   e[        R
                  " 5       u  nnUR                  XEUSS	U S9nUR                  USSS9  UR                  SU  35        UR                  U :X  d   e[        R
                  " 5       u  nnUR                  XEUSS	SU S9nUR                  USSS9  UR                  SU  35        UR                  U :X  d   eg )Nré   rº   r_   r»   rd   rL   rC   rZ   rt  rî  r   Trï  z1Single color - negative contours dashed (default)rê  zcontour.negative_linestylez!Single color - negative contours z(using rcParams))ri   rò  rë  rñ  )r   r   r!   rÀ   r   r   r   r:   rß  rò  r–   )rW   rñ   r   r   ru   rv   rÅ   rÆ   rw   ró  r(  rô  rõ  r)  rö  r÷  r=  rø  Úfig4Úax4ÚCS4s                        r   Útest_negative_linestylesrþ  á  s$  € ð €EÜ
�	Š	�$˜˜UÓ#€AÜ
�	Š	�$˜˜UÓ#€AÜ�;Š;�qÓ�D€AÜ	�Š��A‘�˜˜1™‘Ó	€BÜ	�Š�!�a‘%˜!‘�˜q 1™u q™jÑ(Ó	)€BØ	‰�A‰€Aô —’“�I€DØ
�+‰+�a˜A˜q¨ˆ+Ð
-€CØ‡J�Jˆs˜Q t€JÑ,Ø‡M�MÐEÔFØ×"Ñ" hÓ.Ð.Ð.ð 27„C‡L�LÐ-Ñ.Ü—’“�I€DØ
�+‰+�a˜A˜q¨ˆ+Ð
-€CØ‡J�Jˆs˜Q t€JÑ,Ø‡M�MÐ5°e°WØ%ð&ô 'à×"Ñ" eÓ+Ð+Ð+ô —’“�I€Dˆ#Ø
�+‰+�a˜A˜q¨À%ˆ+Ð
H€CØ‡J�Jˆs˜Q t€JÑ,Ø‡M�MÐ5°e°WÐ=Ô>Ø×"Ñ" eÓ+Ð+Ð+ô —’“�I€Dˆ#Ø
�+‰+�a˜A˜q¨¸Ø*/ð ð 1€Cà‡J�Jˆs˜Q t€JÑ,Ø‡M�MÐ5°e°WÐ=Ô>Ø×"Ñ" eÓ+Ð+Ñ+r   c                  ój  • [         R                  " 5       R                  5       n U R                  5       nU R	                  [
        R                  " S5      R                  S5      5      nUR                  5         U R                  5       U:w  d   eUR                  5         U R                  5       U:X  d   eg )Nr“  rq  )
r   rm   r¢  Úget_childrenr   r   r   r9   r:   Úremove)r   Úorig_childrenr<   s      r   Útest_contour_remover    s   € Ü	�Š‹×	!Ñ	!Ó	#€BØ—O‘OÓ%€MØ	�‰”B—I’I˜b“M×)Ñ)¨&Ó1Ó	2€BØ‡I�I„KØ�?‰?Ó Ó-Ð-Ð-Ø‡I�I„KØ�?‰?Ó Ó-Ð-Ñ-r   c                  óÆ   • [         R                  " 5       u  pSS/SS//n[        R                  " [        SS9   UR                  US9  S S S 5        g ! , (       d  f       g = f)Nr   rC   zcontour\(\) takes from 1 to 4r(   )rw   )r   r   r*   r+   r,   r   )r   r   r�   s      r   Útest_contour_no_argsr    sK   € Ü�lŠl‹n�G€CØ�ˆF�Q˜�FÐ€DÜ	�Š”yÐ(HÓ	IØ
�
‰
�Tˆ
Ñ÷ 
J×	IÖ	Iús   ¹AÁ
A c                  óÊ   • [         R                  " 5       u  pSS/SS//n[        R                  " SS/SUR                  S9nUR                  X#S9nUR                  5       c   eg )Nr   rC   r±   )rî   )Ú	clip_path)r   r   ÚmpatchesÚCircleÚ	transAxesr   Úget_clip_path)r   r   r�   Úcircler<   s        r   Útest_contour_clip_pathr    s`   € Ü�lŠl‹n�G€CØ�ˆF�Q˜�FÐ€DÜ�_Š_˜c 3˜Z¨¸¿¹ÑE€FØ	�‰�DˆÐ	+€BØ×ÑÓÑ)Ð)Ñ)r   c                  ó  • [         R                  R                  SS5      u  p[         R                  " S5      S-  R	                  S5      R                  [        5      n/ SQ/ SQ/ SQ/n[        R                  " UR                  5       5      R                  R                  5       S/:X  d   e[        R                  " U5      R                  R                  5       S/:X  d   e[        R                  " [         R                  R                  X#S95      R                  R                  5       S/:X  d   e[        R                  " UR                  5       5      R                  R                  5       / SQ:X  d   e[        R                  " U5      R                  R                  5       / SQ:X  d   e[        R                  " [         R                  R                  X#S95      R                  R                  5       / SQ:X  d   eUR                  5       n[        R                  " XUR                  5       5      R                  R                  5       S/:X  d   e[        R                  " XU5      R                  R                  5       S/:X  d   e[        R                   " XUR                  5       5      R                  R                  5       / SQ:X  d   e[        R                   " XU5      R                  R                  5       / SQ:X  d   eg )	NrL   r   )r&   r&   )FFF)FTFr±   r	  )r   r±   rC   )r   r   r8   r   r9   Úastyperƒ  r   r   Útolistr4   r  rn   r™   rÞ  Ú
tricontourÚtricontourf)r   r   r   Úms       r   Útest_bool_autolevelr  %  s  € Ü�9‰9�>‰>˜!˜QÓ�D€AÜ	�Š�1‹˜Ñ	×"Ñ" 6Ó*×1Ñ1´$Ó7€AÚ	Ò 4Ò6KÐL€AÜ�;Š;�q—x‘x“zÓ"×)Ñ)×0Ñ0Ó2°r°dÓ:Ð:Ð:Ü�;Š;�q‹>× Ñ ×'Ñ'Ó)¨b¨TÓ1Ð1Ð1Ü�;Š;”r—u‘u—{‘{ 1�{Ð-Ó.×5Ñ5×<Ñ<Ó>À2À$ÓFÐFÐFÜ�<Š<˜Ÿ™›
Ó#×*Ñ*×1Ñ1Ó3²zÓAÐAÐAÜ�<Š<˜‹?×!Ñ!×(Ñ(Ó*ªjÓ8Ð8Ð8Ü�<Š<œŸ™Ÿ™ A˜Ð.Ó/×6Ñ6×=Ñ=Ó?Â:ÓMÐMÐMØ	�‰‹	€AÜ�>Š>˜! §¡£
Ó+×2Ñ2×9Ñ9Ó;À¸tÓCÐCÐCÜ�>Š>˜! Ó"×)Ñ)×0Ñ0Ó2°r°dÓ:Ð:Ð:Ü�?Š?˜1 §¡£Ó,×3Ñ3×:Ñ:Ó<Â
ÓJÐJÐJÜ�?Š?˜1 Ó#×*Ñ*×1Ñ1Ó3²zÓAÐAÑAr   c                  ó  • [         R                  " [         R                  [         R                  /[         R                  [         R                  //5      n [        [        R
                  " U 5      R                  / SQ5        g )N)	g‚vIhÂ%<½gá7ÎQ5½g‚vIhÂ%,½g [n‡½r�   g [n‡=g‚vIhÂ%,=gá7ÎQ5=g‚vIhÂ%<=)r   rn   Únanr   r   r   r4   )r   s    r   Útest_all_nanr  6  sN   € Ü
�Š”2—6‘6œ2Ÿ6™6Ð"¤R§V¡V¬R¯V©VÐ$4Ð5Ó6€AÜœcŸkšk¨!›n×3Ñ3ò@õAr   c                  óÈ  • [         R                  " [         R                  " SSS5      [         R                  " SSS5      5      u  p[         R                  " U 5      [         R                  " U5      -  n[
        R                  " XUSS/S9nUR                  UR                  4 H<  n[        U5      S:X  d   e[        US   5      S:X  d   e[        US   5      S:X  a  M<   e   g )	Nr   r   rL   r±   r3   rB   rC   rA   )
r   r!   r   rù   rú   r   r   ÚallsegsÚallkindsrD   )r   r   r   r<   Úresults        r   Útest_allsegs_allkindsr  =  sµ   € Ü�;Š;”r—y’y  B¨Ó*¬B¯IªI°a¸¸QÓ,?Ó@�D€AÜ
�Šˆq‹	”B—F’F˜1“IÑ€Aä	�Š�Q˜1 a¨ XÑ	.€Bð —:‘:˜rŸ{™{Ó+ˆÜ�6‹{˜aÓÐÐÜ�6˜!‘9‹~ Ó"Ð"Ð"Ü�6˜!‘9‹~ Õ"Ð"Ð"ò ,r   )WrØ   Úplatformr-   Úunittestr   Ú	contourpyÚnumpyr   Únumpy.testingr   r   Ú
matplotlibrÄ  r   r   r   r   Úmatplotlib.colorsr	   r
   r·  Úpatchesr  Úmatplotlib.testing.decoratorsr   r   r*   r   r$   ÚmarkÚparametrizer   Úemptyr1   r=   rH   rS   rp   r{   r†   Úmachiner£   r¯   r¸   rÈ   rç   rõ   r  r  r  r  r  r.  r3  rC  rI  rQ  r]  Úbackendra  rg  rm  r}  r†  rš  rœ  rW   Úcontextr¦  rÁ  rÉ  ÚMpl2005ContourGeneratorÚMpl2014ContourGeneratorÚSerialContourGeneratorÚThreadedContourGeneratorrÔ  r×  râ  rè  rù  rþ  r  r  r  r  r  r  r`  r   r   Ú<module>r0     sœ  ðÛ Û Û 	Ý ã Û ß SÛ ß 8Ñ 8ß 1Ý %ß OÛ òòð ‡�×Ñ˜Ø‡i‚i�ƒl�B—I’I˜a“L "§(¢(¨7Ó"3Ð4Ø=ð?à‡i‚i�ƒm�R—Y’Y˜r“] B§H¢H¨WÓ$5Ð6Ø:ð<à‡h‚hˆxÓ˜"Ÿ)š) B›-¨¯ª°'Ó):Ð;Ø;ð=à‡i‚i�ƒm�R—X’X˜hÓ'¨¯ª°'Ó):Ð;Ø;ð=à‡h‚hˆvÓ˜Ÿš Ó)¨2¯8ª8°GÓ+<Ð=Ø4ð6à‡h‚hˆwÓ˜Ÿš &Ó)¨2¯8ª8°GÓ+<Ð=Ø4ð6à‡h‚hˆyÓ˜2Ÿ8š8 IÓ.°·²¸Ó0AÐBØ.ð0à‡h‚hˆyÓ˜2Ÿ8š8 IÓ.°·²¸Ó0CÐDØ!ð#à	€s€e€XØKðMà€cˆAˆ3�!��ÐØKðMð'+ó ñ,ó-ð,ò	 ò,ñ   Ñ(ñ*ó )ð*ñ Ð*Ð+¸ÀWÐRVÑWñ
Dó Xð
Dò(ñ& Ð2Ð3Ø"¨'¸u¸gñGñ#óGð#ñ Ð9Ð:ÈØ#×+Ò+Ó-°Ó9‘a¸uñFñóFðñ< Ð*Ð+Ø"¨'¸u¸gñGñ9óGð9ð ‡�×Ñ˜ò +Nó Oñ$ó	Oð$ñ Ð,Ð-°WÈ%ÑPñ<ó Qð<ñ( Ð.Ð/°wÑ?ñ#ó @ð#ñ0 Ð6Ð7Ø"¨'°sñ<ñ>ó<ð>ò8ñ2 Ð2Ð4RÐSØ"¨ñ.ñ1ó.ð1ò$òBòð ‡�×ÑÐHòAóBñ=óBð=ò,.ñ& Ð.Ð/Ø"¨'Øññ"óð"ñB Ð)Ð*¸ÀGØ&×.Ò.Ó0°HÓ<‘dÀ$ñHñKó	HðKñ Ð#3Ð"4Ø#˜W°$¸gñGñ/óGð/ð ‡�×ÑØIò L
óñ2óð2ð ‡�×Ñ�UÓñ.ó ð.ñ
 Ð#=Ð">Ø#˜W°$ñ8ñó8ðò
>ñ Ð#3Ð"4Ø#˜W°$¸DñBñCóBðCñ0 Ð#FÐ"GØ#˜W°$ñ8ñó8ðòAò,Bð ‡�×Ñ�9ÓñNó ðNò:ò.1ð  ‡�×ÑØØ�×2Ñ2Ð3Ø�×2Ñ2Ð3Ø�	×0Ñ0Ð1Ø�)×4Ñ4Ð5Øð	óñ1óð1ð ‡�×ÑØÒ=ó?ñCó?ðCñ Ð#;Ð"<Ø#˜W°$¸DñBñ óBð ò"5ð( ‡�×ÑØÒ5ó7ñ#ó7ð#ð@ ‡�×ÑØÒ5ó7ñ&,ó7ð&,òR.òò*òBò"Aó
#r   