Ë
    ¨ehx[  ã                   óh  — d dl 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	m
Z d dlmZ d dlmZmZ d[d„Zd\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¬«      d„ «       Z edgd¬«      d„ «       Zd„ Zd„ Z edg«      d„ «       Z edg«      d„ «       Z edg ej:                  «       dk(  rd nd¬«      d„ «       Z edg«      d„ «       Z ed g«      d!„ «       Z  ed"g«      d#„ «       Z! ed$gd%¬«      d&„ «       Z" ed'g«      d(„ «       Z# ed)g«      d*„ «       Z$ ed+g«      d,„ «       Z% ed-g«      d.„ «       Z&d/„ Z'd0„ Z(d1„ Z)d2„ Z*d3„ Z+d4„ Z, ed5gd6d7¬8«      d9„ «       Z-d:„ Z.d;„ Z/ ed<gd7¬=«      d>„ «       Z0 ed?gd7¬=«      d@„ «       Z1dA„ Z2 edBgd6d7dCdDi¬E«      dF„ «       Z3 edGgd6d7dC ejh                  dHd gdIdJgg«      i¬E«      dK„ «       Z5dL„ Z6dM„ Z7dN„ Z8dO„ Z9dP„ Z:dQ„ Z;dR„ Z<dS„ Z=ej|                  j                  dTdUdVi d6fdWdid6fg«      dX„ «       Z@dY„ ZAdZ„ ZBy)]é    N)Úimage_comparison)ÚgridspecÚtickerc                 ó
  — | j                  ddg«       | j                  d¬«       |s:| j                  d|¬«       | j                  d|¬«       | j	                  d|¬«       y | j                  g «       | j                  g «       y )	Né   é   é   ©Únbinsúx-label©Úfontsizeúy-labelÚTitle)ÚplotÚlocator_paramsÚ
set_xlabelÚ
set_ylabelÚ	set_titleÚset_xticklabelsÚset_yticklabels)Úaxr   Únodecs      úe/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_constrainedlayout.pyÚexample_plotr      sq   € Ø‡G�GˆQ�ˆF„OØ×Ñ˜AÐÔÙØ
�‰�i¨(ˆÔ3Ø
�‰�i¨(ˆÔ3Ø
�‰�W xˆÕ0à
×Ñ˜2ÔØ
×Ñ˜2Õó    c           	      ó”  — d\  }}t         j                  t        dd|z   |«      t        dd|z   |«      f   \  }}d|dz  z
  |dz  z   |dz  z   t        j                  |dz   |dz  z
  «      z  }| j	                  |||d d…d d…f   d	d
dd¬«      }| j                  d|¬«       | j                  d|¬«       | j                  d|¬«       |S )N)ç333333ã?r   éýÿÿÿr	   r   ç       @é   r   éÿÿÿÿÚRdBu_rg      ð¿ç      ð?T)ÚcmapÚvminÚvmaxÚ
rasterizedr   r   r   r   )ÚnpÚmgridÚsliceÚexpÚ
pcolormeshr   r   r   )r   r   ÚdxÚdyÚyÚxÚzÚpcms           r   Úexample_pcolorr4      sä   € Ø�F€BˆÜ�8‰8”E˜"˜a "™f bÓ)Ü˜"˜a "™f bÓ)ð*ñ +�D€A€qà	
ˆQ�‰V‰�a˜1‘fÑ	˜q A™vÑ	%¬¯©°°a±°¸!¸q¹&Ñ0@Ó)AÑA€AØ
�-‰-˜˜1˜a    S b S ™k°¸sÈØ#'ð ó )€Cà‡M�M�) h€MÔ/Ø‡M�M�) h€MÔ/Ø‡L�L� 8€LÔ,Ø€Jr   zconstrained_layout1.pngc                  ój   — t        j                  d¬«      } | j                  «       }t        |d¬«       y)z,Test constrained_layout for a single subplotÚconstrained©Úlayouté   r   N)ÚpltÚfigureÚadd_subplotr   ©Úfigr   s     r   Útest_constrained_layout1r?   '   s(   € ô �*‰*˜MÔ
*€CØ	�‰Ó	€BÜ�˜bÖ!r   zconstrained_layout2.pngc                  óv   — t        j                  ddd¬«      \  } }|j                  D ]  }t        |d¬«       Œ y)z(Test constrained_layout for 2x2 subplotsr   r6   r7   r9   r   N)r:   ÚsubplotsÚflatr   ©r>   Úaxsr   s      r   Útest_constrained_layout2rE   /   s7   € ô �|‰|˜A˜q¨Ô7�H€CˆØ�h‰hò &ˆÜ�R "Ö%ñ&r   zconstrained_layout3.pngc                  óÊ   — t        j                  ddd¬«      \  } }t        |j                  «      D ]0  \  }}t	        |d¬«      }|dk(  rd}nd}| j                  |||¬	«       Œ2 y
)z3Test constrained_layout for colorbars with subplotsr   r6   r7   r9   r   r	   g{®Gáz´?ç{®Gáz”?)r   ÚpadN)r:   rA   Ú	enumeraterB   r4   Úcolorbar)r>   rD   Únnr   r3   rH   s         r   Útest_constrained_layout3rL   7   se   € ô �|‰|˜A˜q¨Ô7�H€CˆÜ˜CŸH™HÓ%ò *‰ˆˆBÜ˜R¨"Ô-ˆØ�Š7Ø‰CàˆCØ�‰�S˜R SˆÕ)ñ*r   zconstrained_layout4.pngc                  ó    — t        j                  ddd¬«      \  } }|j                  D ]  }t        |d¬«      }Œ | j	                  |dd¬«       y	)
z;Test constrained_layout for a single colorbar with subplotsr   r6   r7   r9   r   ç{®Gáz„?r   ©r   rH   ÚshrinkN©r:   rA   rB   r4   rJ   ©r>   rD   r   r3   s       r   Útest_constrained_layout4rS   E   sM   € ô �|‰|˜A˜q¨Ô7�H€CˆØ�h‰hò .ˆÜ˜R¨"Ô-‰ð.à‡L�L�˜ $¨s€LÕ3r   zconstrained_layout5.pnggü©ñÒMb`?)Útolc                  ó¤   — t        j                  ddd¬«      \  } }|j                  D ]  }t        |d¬«      }Œ | j	                  |dddd	¬
«       y)zZ
    Test constrained_layout for a single colorbar with subplots,
    colorbar bottom
    r   r6   r7   r9   r   FrN   r   Úbottom)r   Úuse_gridspecrH   rP   ÚlocationNrQ   rR   s       r   Útest_constrained_layout5rY   O   sX   € ô �|‰|˜A˜q¨Ô7�H€CˆØ�h‰hò .ˆÜ˜R¨"Ô-‰ð.à‡L�L�˜Ø#¨°cØ"ð õ $r   zconstrained_layout6.pngc            
      óþ  — dt         j                  d<   t        j                  d¬«      } | j                  dd| ¬«      }|d   j	                  dd«      }|d   j	                  dd«      }g }|D ]&  }| j                  |«      }||gz  }t        |d	¬
«       Œ( j                  d«       g }|D ]&  }| j                  |«      }||gz  }t        |d	¬
«      }Œ( | j                  |dddt        j                  d¬«      ¬«       y)z,Test constrained_layout for nested gridspecsFúpcolormesh.snapr6   r7   r   r   ©r;   r   é   r   zx-label
MultiLinerN   g®Gáz®ï?rV   r!   r
   )r   rH   rP   rX   ÚticksN)r:   ÚrcParamsr;   Úadd_gridspecÚsubgridspecr<   r   r   r4   rJ   r   ÚMaxNLocator)r>   ÚgsÚgslÚgsrÚaxslr   Úaxsrr3   s           r   Útest_constrained_layout6rh   ^   s  € ð ',„C‡L�LÐ"Ñ#ä
�*‰*˜MÔ
*€CØ	×	Ñ	˜!˜Q sÐ	Ó	+€BØ
ˆQ‰%×
Ñ
˜A˜qÓ
!€CØ
ˆQ‰%×
Ñ
˜A˜qÓ
!€CØ€DØò &ˆØ�_‰_˜RÓ ˆØ��‰ˆÜ�R "Ö%ð&ð ‡M�MÐ&Ô'Ø€DØò .ˆØ�_‰_˜RÓ ˆØ��‰ˆÜ˜R¨"Ô-‰ð.ð
 ‡L�L�˜Ø $°Ü×)Ñ)°Ô2ð õ 4r   c                  óÊ  — t        j                  d¬«      } | j                  dd«      }|d   j                  dd«      }|d   j                  dd«      }g }g }t	        d«      D ]2  }|| j                  ||   «      gz  }|| j                  ||   «      gz  }Œ4 | j                  «        |d   j                  «       j                  |d   j                  «       j                  kD  sJ ‚y )NT©Úconstrained_layoutr   r   r   r	   )
r:   r;   r`   ra   Úranger<   Údraw_without_renderingÚget_positionÚy0Úy1)r>   ÚGSÚGSAÚGSBÚaxaÚaxbÚis          r   Útest_identical_subgridspecrw   y   sá   € ä
�*‰*¨Ô
-€Cà	×	Ñ	˜!˜QÓ	€Bà
ˆQ‰%×
Ñ
˜A˜qÓ
!€CØ
ˆQ‰%×
Ñ
˜A˜qÓ
!€Cà
€CØ
€CÜ�1‹Xò )ˆØ�—‘  A¡Ó'Ð(Ñ(ˆØ�—‘  A¡Ó'Ð(Ñ(‰ð)ð ×ÑÔ àˆq‰6×ÑÓ ×#Ñ# c¨!¡f×&9Ñ&9Ó&;×&>Ñ&>Ò>Ð>Ñ>r   c                  ót  — t        j                  t        d¬«      5  t        j                  d¬«      } t        j                  dd«      }t        j                  dd|d   «      }t        j                  dd|d   «      }|D ]  }| j                  |«       Œ | j                  «        ddd«       y# 1 sw Y   yxY w)	z2Test for proper warning if fig not set in GridSpeczhThere are no gridspecs with layoutgrids. Possibly did not call parent GridSpec with the "figure" keyword©Úmatchr6   r7   r   r   r   N)
ÚpytestÚwarnsÚUserWarningr:   r;   r   ÚGridSpecÚGridSpecFromSubplotSpecr<   rm   )r>   rc   rd   re   s       r   Útest_constrained_layout7r€   �   s¦   € ä	�‰Üð 3ô
5ñ %ô �j‰j Ô.ˆÜ×Ñ˜q !Ó$ˆÜ×.Ñ.¨q°!°R¸±UÓ;ˆÜ×.Ñ.¨q°!°R¸±UÓ;ˆØò 	 ˆBØ�O‰O˜BÕð	 ð 	×"Ñ"Ô$÷%÷ %ñ %ús   œB	B.Â.B7zconstrained_layout8.pngc                  óè  — t        j                  dd¬«      } t        j                  dd| ¬«      }g }dD ]|  }|dk(  rd	g}ndd
g}|D ]h  }| j	                  |||f   «      }||gz  }t        |d¬«       |dkD  r|j                  d«       |d	k  r|j                  d«       |j                  d«       Œj Œ~ | j	                  |ddd…f   «      }||gz  }t        |d¬«      }| j                  ||dd¬«       y)z/Test for gridspecs that are not completely full)é
   r!   r6   ©Úfigsizer8   r	   r!   r\   ©r   r   r   r   é   é	   r   Ú r   NrN   r   rO   )
r:   r;   r   r~   r<   r4   r   r   r   rJ   )r>   rc   rD   ÚjÚilistrv   r   r3   s           r   Útest_constrained_layout8r‹   �   s  € ô �*‰*˜W¨]Ô
;€CÜ	×	Ñ	˜1˜a¨Ô	,€BØ
€CØò ˆØ�Š6Ø�C‰Eà˜�FˆEØò 	ˆAØ—‘  A q D¡Ó*ˆBØ�B�4‰KˆCÜ˜2¨Õ*Ø�1ŠuØ—‘˜bÔ!Ø�1ŠuØ—‘˜bÔ!Ø�L‰L˜Õñ	ðð 
�‰˜˜Ašq˜D™Ó	"€BØˆBˆ4�K€CÜ
˜ aÔ
(€Cà‡L�L�˜ $¨s€LÕ3r   zconstrained_layout9.pngc                  ó0  — t        j                  ddddd¬«      \  } }|j                  D ]1  }t        |d¬«      }|j	                  d«       |j                  d«       Œ3 j                  d«       | j                  |d	d
¬«       | j                  dd¬«       y)z4Test for handling suptitle and for sharex and shareyr   r6   F©r8   ÚsharexÚshareyr9   r   rˆ   r    rN   r   rO   zTest Suptitleé   N)	r:   rA   rB   r4   r   r   Ú
set_aspectrJ   ÚsuptitlerR   s       r   Útest_constrained_layout9r“   ¹   sŠ   € ô �|‰|˜A˜q¨Ø#(°ô8�H€Cˆà�h‰hò ˆÜ˜R¨"Ô-ˆØ
�‰�bÔØ
�‰�bÕðð ‡M�M�"ÔØ‡L�L�˜ $¨s€LÔ3Ø‡L�L�¨2€LÕ.r   zconstrained_layout10.pngÚx86_64gü©ñÒMb ?c                  óÎ   — t        j                  ddd¬«      \  } }|j                  D ](  }|j                  t	        j
                  d«      d¬«       Œ* j                  dd¬	«       y
)z%Test for handling legend outside axisr   r6   r7   r]   zThis is a label)Úlabelzcenter left)gš™™™™™é?ç      à?)ÚlocÚbbox_to_anchorN)r:   rA   rB   r   r)   ÚarangeÚlegendrC   s      r   Útest_constrained_layout10rœ   È   sV   € ô �|‰|˜A˜q¨Ô7�H€CˆØ�h‰hò 8ˆØ
�‰”—	‘	˜"“Ð%6ˆÕ7ð8à‡I�I�-°
€IÕ;r   zconstrained_layout11.pngc                  óÒ  — t        j                  dd¬«      } t        j                  dd| ¬«      }t        j                  dd|d   «      }t        j                  dd|d   «      }| j                  |d   «      }t        |d¬	«       g }|D ]&  }| j                  |«      }||gz  }t        |d¬	«      }Œ( | j                  |d
d¬«       | j                  |d   «      }t        |d¬	«       y)z"Test for multiple nested gridspecsr6   )é   r	   ©r8   r„   r   r   r\   r   r‡   r   r   ç     €Q@©r   rP   ÚaspectN©	r:   r;   r   r~   r   r<   r   r4   rJ   ©r>   Úgs0rd   Úgsl0r   rD   rc   r3   s           r   Útest_constrained_layout11r§   Ò   sß   € ô �*‰*˜M°7Ô
;€CÜ
×
Ñ
˜A˜q¨Ô
-€CÜ
×
*Ñ
*¨1¨a°°Q±Ó
8€CÜ×+Ñ+¨A¨q°#°a±&Ó9€DØ	�‰˜˜Q™Ó	 €BÜ�˜aÕ Ø
€CØò -ˆØ�_‰_˜RÓ ˆØ�ˆt‰ˆÜ˜R¨!Ô,‰ð-ð ‡L�L�˜ S°€LÔ5Ø	�‰˜˜Q™Ó	 €BÜ�˜aÖ r   zconstrained_layout11rat.pngc                  óà  — t        j                  dd¬«      } t        j                  dd| ddg¬«      }t        j                  dd|d   «      }t        j                  dd|d   ddg¬	«      }| j                  |d   «      }t        |d
¬«       g }|D ]&  }| j                  |«      }||gz  }t        |d
¬«      }Œ( | j                  |dd¬«       | j                  |d   «      }t        |d
¬«       y)z4Test for multiple nested gridspecs with width_ratiosr6   )r‚   r	   rŸ   r   r   é   )r;   Úwidth_ratiosr   )Úheight_ratiosr‡   r   r   r    r¡   Nr£   r¤   s           r   Útest_constrained_layout11ratr¬   æ   së   € ô �*‰*˜M°7Ô
;€CÜ
×
Ñ
˜A˜q¨¸A¸q¸6Ô
B€CÜ
×
*Ñ
*¨1¨a°°Q±Ó
8€CÜ×+Ñ+¨A¨q°#°a±&ÈÈAÈÔO€DØ	�‰˜˜Q™Ó	 €BÜ�˜aÕ Ø
€CØò -ˆØ�_‰_˜RÓ ˆØ�ˆt‰ˆÜ˜R¨!Ô,‰ð-ð ‡L�L�˜ S°€LÔ5Ø	�‰˜˜Q™Ó	 €BÜ�˜aÖ r   zconstrained_layout12.pngc                  óö  — t        j                  dd¬«      } t        j                  dd| ¬«      }| j	                  |dd…d	f   «      }| j	                  |dd…d	f   «      }t        |d
¬«       t        |d
¬«       | j	                  |dd…df   «      }t        |d¬«       | j	                  |dd…df   «      }t        |d¬«       | j	                  |dd…df   «      }t        |d¬«       |j                  d«       y)z/Test that very unbalanced labeling still works.r6   )r©   é   rŸ   r©   r   r\   Nr	   r   é   r   r   T)r   r†   r   )r:   r;   r   r~   r<   r   r   )r>   r¥   Úax1Úax2r   s        r   Útest_constrained_layout12r²   ú   sä   € ô �*‰*˜M°6Ô
:€Cä
×
Ñ
˜A˜q¨Ô
-€Cà
�/‰/˜#˜b˜q˜b !˜e™*Ó
%€CØ
�/‰/˜#˜a™b !˜e™*Ó
%€Cä�˜rÕ"Ü�˜rÕ"à	�‰˜˜Q˜q˜S !˜V™Ó	%€BÜ�˜4Õ Ø	�‰˜˜Q˜q˜S !˜V™Ó	%€BÜ�˜4Õ Ø	�‰˜˜Q™R ˜U™Ó	$€BÜ�˜4Õ Ø‡M�M�)Õr   zconstrained_layout13.pngrG   c                  ó‚  — t        j                  ddd¬«      \  } }|j                  D ]%  }t        |d¬«      }| j	                  ||ddd¬	«       Œ' t        j                  t        «      5  | j                  «       j                  d
d¬«       ddd«       | j                  «       j                  dd¬«       y# 1 sw Y   Œ+xY w)úTest that padding works.r   r6   r7   r]   r   r   ç      4@rG   ©r   rP   r¢   rH   r   )ÚwpadÚhpadNçUUUUUUÕ?©Úw_padÚh_pad)
r:   rA   rB   r4   rJ   r{   ÚraisesÚ	TypeErrorÚget_layout_engineÚsetrR   s       r   Útest_constrained_layout13rÁ     s¬   € ô �|‰|˜A˜q¨Ô7�H€CˆØ�h‰hò CˆÜ˜R¨"Ô-ˆØ�‰�S˜R¨°C¸TˆÕBðCô 
�‰”yÓ	!ñ 4Ø×ÑÓ×#Ñ#¨°Ð#Ô3÷4à×ÑÓ×Ñ g°WÐÕ=÷4ð 4ús   Á)"B5Â5B>zconstrained_layout14.pngc                  óè   — t        j                  ddd¬«      \  } }|j                  D ]%  }t        |d¬«      }| j	                  ||ddd¬	«       Œ' | j                  «       j                  d
d
dd¬«       y)r´   r   r6   r7   r]   r   r   rµ   rG   r¶   gUUUUUU¥?çš™™™™™É?©r»   r¼   ÚhspaceÚwspaceN)r:   rA   rB   r4   rJ   r¿   rÀ   rR   s       r   Útest_constrained_layout14rÇ     sy   € ô �|‰|˜A˜q¨Ô7�H€CˆØ�h‰hò CˆÜ˜R¨"Ô-ˆØ�‰�S˜R¨°C¸TˆÕBðCð ×ÑÓ×ÑØ Ø˜sð  õ $r   zconstrained_layout15.pngc                  ó˜   — dt         j                  d<   t        j                  dd«      \  } }|j                  D ]  }t        |d¬«       Œ y)zTest that rcparams work.Tzfigure.constrained_layout.user   r]   r   N)Úmplr_   r:   rA   rB   r   rC   s      r   Útest_constrained_layout15rÊ   (  sD   € ð 59„C‡L�LÐ0Ñ1Ü�|‰|˜A˜qÓ!�H€CˆØ�h‰hò &ˆÜ�R "Ö%ñ&r   zconstrained_layout16.pngc                  óv   — t        j                  d¬«      \  } }t        |d¬«       | j                  g d¢«      }y)zTest ax.set_position.r6   r7   r]   r   )rÃ   rÃ   çš™™™™™Ù?rÌ   N)r:   rA   r   Úadd_axes©r>   r   r±   s      r   Útest_constrained_layout16rÏ   1  s/   € ô �l‰l -Ô0�G€CˆÜ�˜bÕ!Ø
�,‰,Ò+Ó
,�Cr   zconstrained_layout17.pngc                  ót  — t        j                  d¬«      } t        j                  dd| ¬«      }| j	                  |d   «      }| j	                  |ddd…f   «      }| j	                  |dd…dd	…f   «      }| j	                  |dd…d
f   «      }t        |«       t        |«       t        |«       t        |«       y)zTest uneven gridspecsr6   r7   r	   r\   ©r   r   r   r   Nr   r"   )r:   r;   r   r~   r<   r   )r>   rc   r°   r±   Úax3Úax4s         r   Útest_constrained_layout17rÔ   9  s¤   € ô �*‰*˜MÔ
*€CÜ	×	Ñ	˜1˜a¨Ô	,€Bà
�/‰/˜"˜T™(Ó
#€CØ
�/‰/˜"˜Q ¡˜U™)Ó
$€CØ
�/‰/˜"˜Q™R  1 ˜W™+Ó
&€CØ
�/‰/˜"˜Q™R ˜V™*Ó
%€Cä�ÔÜ�ÔÜ�ÔÜ�Õr   c                  ó&  — t        j                  d¬«      \  } }|j                  «       }t        |«       t        |d¬«       | j	                  «        t        |j                  «       j                  |j                  «       j                  k(  «      sJ ‚y)z
Test twinxr6   r7   r9   r   N)r:   rA   Útwinxr   rm   Úallrn   ÚextentsrÎ   s      r   Útest_constrained_layout18rÙ   J  sl   € ä�l‰l -Ô0�G€CˆØ
�(‰(‹*€CÜ�ÔÜ�˜rÕ"Ø×ÑÔ Üˆr�‰Ó ×(Ñ(¨C×,<Ñ,<Ó,>×,FÑ,FÑFÔGÐGÑGr   c                  ój  — t        j                  d¬«      \  } }|j                  «       }t        |«       t        |d¬«       |j	                  d«       |j	                  d«       | j                  «        t        |j                  «       j                  |j                  «       j                  k(  «      sJ ‚y)z
Test twinyr6   r7   r9   r   rˆ   N)	r:   rA   Útwinyr   r   rm   r×   rn   rØ   rÎ   s      r   Útest_constrained_layout19rÜ   T  s„   € ä�l‰l -Ô0�G€CˆØ
�(‰(‹*€CÜ�ÔÜ�˜rÕ"Ø‡M�M�"ÔØ‡L�L�ÔØ×ÑÔ Üˆr�‰Ó ×(Ñ(¨C×,<Ñ,<Ó,>×,FÑ,FÑFÔGÐGÑGr   c                  ó  — t        j                  ddd«      } t        j                  | | dd…df   «      }t        j                  «       }|j                  g d¢«      }|j                  | | |dd…dd…f   «      }|j                  |«       y)z)Smoke test cl does not mess up added Axeséûÿÿÿr!   r†   N)r   r   r   r   r"   )r)   ÚlinspaceÚhypotr:   r;   rÍ   r-   rJ   )ÚgxÚimgr>   r   Úmeshs        r   Útest_constrained_layout20rä   `  ss   € ä	�‰�R˜˜AÓ	€BÜ
�(‰(�2�rš!˜T˜'‘{Ó
#€Cä
�*‰*‹,€CØ	�‰’lÓ	#€BØ�=‰=˜˜R  S b S¨#¨2¨# X¡Ó/€DØ‡L�L�Õr   c                  ó®  — t        j                  d¬«      \  } }| j                  d«       | j                  «        t	        j
                  |j                  «       j                  «      }| j                  d«       | j                  «        t	        j
                  |j                  «       j                  «      }t        j                  j                  ||«       y)z>#11035: repeated calls to suptitle should not alter the layoutr6   r7   Ú	Suptitle0Ú	Suptitle1N)
r:   rA   r’   rm   r)   Úcopyrn   rØ   ÚtestingÚassert_allclose©r>   r   Úextents0Úextents1s       r   Útest_constrained_layout21rî   k  sŽ   € ä�l‰l -Ô0�G€Cˆà‡L�L�ÔØ×ÑÔ Ü�w‰w�r—‘Ó(×0Ñ0Ó1€Hà‡L�L�ÔØ×ÑÔ Ü�w‰w�r—‘Ó(×0Ñ0Ó1€Hä‡J�J×Ñ˜x¨Õ2r   c                  ó�  — t        j                  d¬«      \  } }| j                  «        t        j                  |j                  «       j                  «      }| j                  dd¬«       | j                  «        t        j                  |j                  «       j                  «      }t        j                  j                  ||«       y)zC#11035: suptitle should not be include in CL if manually positionedr6   r7   ÚSuptitler—   ©r0   N)
r:   rA   rm   r)   rè   rn   rØ   r’   ré   rê   rë   s       r   Útest_constrained_layout22rò   z  s†   € ä�l‰l -Ô0�G€Cˆà×ÑÔ Ü�w‰w�r—‘Ó(×0Ñ0Ó1€Hà‡L�L�˜s€LÔ#Ø×ÑÔ Ü�w‰w�r—‘Ó(×0Ñ0Ó1€Hä‡J�J×Ñ˜x¨Õ2r   c                  óÊ   — t        d«      D ]U  } t        j                  ddd¬«      }|j                  dd«      }|d   j	                  dd«      }|j                  d| › �«       ŒW y	)
zu
    Comment in #11035: suptitle used to cause an exception when
    reusing a figure w/ CL with ``clear=True``.
    r   r6   TÚ123)r8   ÚclearÚnumr   r   rð   N)rl   r:   r;   r`   ra   r’   )rv   r>   rc   Úsubs       r   Útest_constrained_layout23rø   ˆ  sc   € ô �1‹Xò %ˆÜ�j‰j °T¸uÔEˆØ×Ñ˜a Ó#ˆØ�‰e×Ñ  1Ó%ˆØ�‰�x ˜s�^Õ$ñ	%r   ztest_colorbar_location.pngTÚmpl20)Úremove_textÚstylec                  ó$  — dt         j                  d<   t        j                  ddd¬«      \  } }|j                  D ]/  }t	        |«      }|j                  d«       |j                  d«       Œ1 | j                  |dd…d	f   d
¬«       | j                  ||ddd…f   dd¬«       | j                  ||ddd…f   ddd¬«       | j                  ||ddd…f   dd¬«       | j                  ||d   dd¬«       | j                  ||d	d…df   dd¬«       y)zY
    Test that colorbar handling is as expected for various complicated
    cases...
    Fr[   r†   r!   r6   r7   rˆ   Nr   rÌ   )r   rP   r"   r   r—   rV   )r   rP   rX   r   gš™™™™™©?)r   rP   rX   rH   éþÿÿÿr	   ÚtoprÑ   ÚleftÚright)r:   r_   rA   rB   r4   r   r   rJ   rR   s       r   Útest_colorbar_locationr  •  s  € ð ',„C‡L�LÐ"Ñ#ä�|‰|˜A˜q¨Ô7�H€CˆØ�h‰hò ˆÜ˜RÓ ˆØ
�‰�bÔØ
�‰�bÕðð ‡L�L�˜šQ ˜T™¨3€LÔ/Ø‡L�L�˜˜R  ! ˜V™¨S¸8€LÔDØ‡L�L�˜˜Q ¡˜U™¨C¸(È€LÔMØ‡L�L�˜˜R ¡˜V™¨S¸5€LÔAØ‡L�L�˜˜T™¨3¸€LÔ@Ø‡L�L�˜˜Q˜q˜S !˜V™¨S¸7€LÕCr   c                  ó*  — t        j                  ddd¬«      \  } }|d   j                  d«       | j                  «        t	        j
                  |d   j                  «       j                  «      }t        j                  j                  |g d¢d¬	«       y )
Nr   r6   r7   r…   FrÑ   )g›çˆ|—R§?g\å	„�bá?g&�Ñ:ªšÞ?g³Ñ9?Åqï?çñhãˆµøä>)Úrtol)
r:   rA   Úset_visiblerm   r)   rè   rn   rØ   ré   rê   )r>   rD   rí   s      r   Útest_hidden_axesr  ¬  sy   € ô �|‰|˜A˜q¨Ô7�H€CˆØˆ�I×Ñ˜%Ô Ø×ÑÔ Ü�w‰w�s˜4‘y×-Ñ-Ó/×7Ñ7Ó8€Hä‡J�J×ÑØÒ9Àð õ Fr   c            	      óÚ  — dD �]å  } t        j                  ddd¬«      \  }}g }t        |j                  «      D ]Ì  \  }}|j	                  d¬«       t        |«      }|j                  ||| dd¬	«      }||gz  }|j                  j	                  d¬«       |d
k7  sŒa|j                  j                  j                  g «       |j                  j                  j                  g «       |j                  g «       |j                  g «       ŒÎ |j                  «       j                  dddd¬«       |j                  «        | dv rÖt         j"                  j%                  |d   j                  j'                  «       j(                  |d   j                  j'                  «       j(                  «       t         j"                  j%                  |d
   j                  j'                  «       j(                  |d   j                  j'                  «       j(                  «       �Œt         j"                  j%                  |d   j                  j'                  «       j*                  |d
   j                  j'                  «       j*                  «       t         j"                  j%                  |d   j                  j'                  «       j*                  |d   j                  j'                  «       j*                  «       �Œè y )N)r   rÿ   rþ   rV   r   r6   r7   Úin)Ú	directionr   g{®Gáz¤?)r   rX   rP   rH   r   gÇqÇq¬?gš™™™™™¹?rÄ   )rÿ   r   r   r	   )r:   rA   rI   rB   Útick_paramsr4   rJ   r   ÚxaxisÚ	set_ticksÚyaxisr   r   r¿   rÀ   rm   r)   ré   rê   rn   Úx0ro   )rX   r>   rD   ÚcbsrK   r   ÚpcÚcbs           r   Útest_colorbar_alignr  ¹  sG  € Ø6ó DˆÜ—<‘<  1¨]Ô;‰ˆˆSØˆÜ §¡Ó)ò 	'‰FˆB�Ø�N‰N TˆNÔ*Ü Ó#ˆBØ—‘˜b R°(À3Ø"&ð ó (ˆBà�B�4‰KˆCØ�E‰E×Ñ¨ÐÔ-Ø�Q‹wØ—‘—‘×%Ñ% bÔ)Ø—‘—‘×%Ñ% bÔ)Ø×"Ñ" 2Ô&Ø×"Ñ" 2Õ&ð	'ð 	×ÑÓ×#Ñ#¨&¸Ø+.°sð 	$ô 	<ð 	×"Ñ"Ô$ØÐ(Ñ(Ü�J‰J×&Ñ& s¨1¡v§y¡y×'=Ñ'=Ó'?×'BÑ'BØ'*¨1¡v§y¡y×'=Ñ'=Ó'?×'BÑ'BôDä�J‰J×&Ñ& s¨1¡v§y¡y×'=Ñ'=Ó'?×'BÑ'BØ'*¨1¡v§y¡y×'=Ñ'=Ó'?×'BÑ'BöDô �J‰J×&Ñ& s¨1¡v§y¡y×'=Ñ'=Ó'?×'BÑ'BØ'*¨1¡v§y¡y×'=Ñ'=Ó'?×'BÑ'BôDä�J‰J×&Ñ& s¨1¡v§y¡y×'=Ñ'=Ó'?×'BÑ'BØ'*¨1¡v§y¡y×'=Ñ'=Ó'?×'BÑ'BöDñ7Dr   ztest_colorbars_no_overlapV.png)rû   c                  ób  — t        j                  dd¬«      } | j                  dddd¬«      }|D ]m  }|j                  j	                  t        j                  «       «       |j                  dd	¬
«       |j                  ddgddgg«      }| j                  ||d¬«       Œo | j                  d«       y )N)r   r†   r6   rƒ   r   r   T©rŽ   r�   Úbothr  ©Úaxisr	  r	   r†   Úvertical©r   ÚorientationÚfoo)r:   r;   rA   r  Úset_major_formatterr   ÚNullFormatterr
  ÚimshowrJ   r’   ©r>   rD   r   Úims       r   Útest_colorbars_no_overlapVr!  Ù  s�   € ä
�*‰*˜V¨MÔ
:€CØ
�,‰,�q˜! D°ˆ,Ó
6€CØò 8ˆØ
�‰×$Ñ$¤V×%9Ñ%9Ó%;Ô<Ø
�‰˜F¨dˆÔ3Ø�Y‰Y˜˜A˜  A Ð'Ó(ˆØ�‰�R˜B¨JˆÕ7ð	8ð
 ‡L�L�Õr   ztest_colorbars_no_overlapH.pngc                  ób  — t        j                  dd¬«      } | j                  d«       | j                  dddd¬«      }|D ]m  }|j                  j                  t        j                  «       «       |j                  d	d
¬«       |j                  ddgddgg«      }| j                  ||d¬«       Œo y )N)r†   r   r6   rƒ   r  r   r   Tr  r  r  r  r	   r†   Ú
horizontalr  )r:   r;   r’   rA   r  r  r   r  r
  r  rJ   r  s       r   Útest_colorbars_no_overlapHr$  å  s›   € ä
�*‰*˜V¨MÔ
:€CØ‡L�L�ÔØ
�,‰,�q˜! D°ˆ,Ó
6€CØò :ˆØ
�‰×$Ñ$¤V×%9Ñ%9Ó%;Ô<Ø
�‰˜F¨dˆÔ3Ø�Y‰Y˜˜A˜  A Ð'Ó(ˆØ�‰�R˜B¨LˆÕ9ñ	:r   c                  ó|  — t        j                  ddd¬«      \  } }|d   j                  g d¢«       | j                  «        |d   j	                  «       }t
        j                  j                  |ddgddgg«       t        j                  ddd¬«      \  } }|d   j                  g d¢«       |d   j                  t
        j                  j                  d	d	«      «      }| j                  ||d   ¬
«       | j                  «        |d   j	                  «       }t
        j                  j                  |ddgddgg«       y )Nr   r   r6   r7   r   ©rÃ   rÃ   ç333333Ó?r'  rÃ   r—   é   ©r   g)\�Âõ(Ü?)r:   rA   Úset_positionrm   rn   r)   ré   rê   r-   ÚrandomÚrandrJ   )r>   rD   Úppr  s       r   Útest_manually_set_positionr.  ñ  s	  € Ü�|‰|˜A˜q¨Ô7�H€CˆØˆ�F×ÑÒ,Ô-Ø×ÑÔ Ø	ˆQ‰×	Ñ	Ó	€BÜ‡J�J×Ñ˜r S¨# J°°c°
Ð#;Ô<ä�|‰|˜A˜q¨Ô7�H€CˆØˆ�F×ÑÒ,Ô-Ø	ˆQ‰×	Ñ	œ2Ÿ9™9Ÿ>™>¨"¨bÓ1Ó	2€BØ‡L�L�˜˜A™€LÔØ×ÑÔ Ø	ˆQ‰×	Ñ	Ó	€BÜ‡J�J×Ñ˜r S¨# J°°s°Ð#<Õ=r   ztest_bboxtight.pngÚbbox_inchesÚtight)rú   rû   Úsavefig_kwargc                  óX   — t        j                  d¬«      \  } }|j                  d«       y ©Nr6   r7   r$   ©r:   rA   r‘   r=   s     r   Útest_bboxtightr5    s"   € ô �l‰l -Ô0�G€CˆØ‡M�M�"Õr   ztest_bbox.pngr—   g      @r   c                  óX   — t        j                  d¬«      \  } }|j                  d«       y r3  r4  r=   s     r   Ú	test_bboxr7  	  s"   € ô
 �l‰l -Ô0�G€CˆØ‡M�M�"Õr   c                  óü  — t        j                  ddddddi¬«      \  } \  }}}|j                  dd«       |j                  d	«       |j                  d
d«       |j                  d	«       |j                  dd«       |j                  d	«       | j	                  |||f¬«       | j                  «        |j                  j                  j                  «       |j                  j                  j                  «       |j                  j                  j                  «       g}t        j                  j                  |d   j                  |d   j                  g|d   j                  dd¬«       |d   j                  dk\  sJ ‚y)zî
    Tests for a bug in which constrained layout and align_ylabels on
    three unevenly sized subplots, one of whose y tick labels include
    negative numbers, drives the non-negative subplots' y labels off
    the edge of the plot
    r	   r   r6   )gš™™™™™@r®   r«   )r   r   gffffffæ?)r8   r„   Úgridspec_kwr   ÚLabelg      ø¿g      ø?)rD   r   r  )r  ÚatolN)r:   rA   Úset_ylimr   Úalign_ylabelsrm   r  r–   Úget_window_extentr)   ré   rê   r  )r>   rÒ   r°   r±   Úafter_aligns        r   Útest_align_labelsr@    sM  € ô Ÿ<™<¨¨1°]Ø08Ø5Dð GLð 5MôNÑ€C‰ˆ#ˆs�Cð
 ‡L�L��AÔØ‡N�N�7Ôà‡L�L��sÔØ‡N�N�7Ôà‡L�L��AÔØ‡N�N�7Ôà×Ñ˜3  S˜/ÐÔ*à×ÑÔ Ø—9‘9—?‘?×4Ñ4Ó6Ø—9‘9—?‘?×4Ñ4Ó6Ø—9‘9—?‘?×4Ñ4Ó6ð8€Kô ‡J�J×Ñ ¨A¡× 1Ñ 1°;¸q±>×3DÑ3DÐEØ*¨1™~×0Ñ0°q¸uð ô Fð �q‰>×Ñ Ò!Ð!Ñ!r   c                  ó°  — t        j                  d¬«      \  } }| j                  «        |j                  | j                  j                  «       «      }| j                  d«       | j                  d«       | j                  «        |j                  | j                  j                  «       «      }|j                  |j                  dz   kD  sJ ‚|j                  |j                  dz   kD  sJ ‚t        j                  d¬«      \  } }| j                  «        |j                  | j                  j                  «       «      }| j                  dd¬«       | j                  dd¬«       | j                  «        |j                  | j                  j                  «       «      }|j                  |j                  dz   kD  sJ ‚|j                  |j                  dz   kD  sJ ‚y )	Nr6   r7   ÚBooÚBooyg      $@r—   )r1   rñ   )
r:   rA   rm   Úget_tightbboxÚcanvasÚget_rendererÚ	supxlabelÚ	supylabelro   r  )r>   r   Úpos0Úposs       r   Útest_suplabelsrK  4  sj  € Ü�l‰l -Ô0�G€CˆØ×ÑÔ Ø×Ñ˜CŸJ™J×3Ñ3Ó5Ó6€DØ‡M�M�%ÔØ‡M�M�&ÔØ×ÑÔ Ø
×
Ñ
˜3Ÿ:™:×2Ñ2Ó4Ó
5€CØ�6‰6�D—G‘G˜d‘NÒ"Ð"Ð"Ø�6‰6�D—G‘G˜d‘NÒ"Ð"Ð"ä�l‰l -Ô0�G€CˆØ×ÑÔ Ø×Ñ˜CŸJ™J×3Ñ3Ó5Ó6€Dà‡M�M�%˜3€MÔØ‡M�M�%˜3€MÔØ×ÑÔ Ø
×
Ñ
˜3Ÿ:™:×2Ñ2Ó4Ó
5€CØ�6‰6�D—G‘G˜d‘NÒ"Ð"Ð"Ø�6‰6�D—G‘G˜d‘NÒ"Ð"Ñ"r   c                  ó¤   — t        j                  «       } | j                  dd«      }| j                  |dd …dd …f   «      }| j	                  «        y )Nr	   r   r   )r:   r;   r`   r<   rm   )r>   rc   Úsps      r   Útest_gridspec_addressingrN  K  sE   € Ü
�*‰*‹,€CØ	×	Ñ	˜!˜QÓ	€BØ	�‰˜˜A™B ¡˜F™Ó	$€BØ×ÑÕ r   c                  óü  — t        j                  d¬«      \  } }| j                  «        t        j                  t
        d¬«      5  t        j                  «       \  } }| j                  d«       | j                  «        d d d «       t        j                  t
        d¬«      5  t        j                  «       \  } }| j                  dddœ«       | j                  «        d d d «       y # 1 sw Y   ŒixY w# 1 sw Y   y xY w)NTrj   zwill be deprecatedry   rG   rº   )r:   rA   rm   r{   r|   ÚPendingDeprecationWarningÚset_constrained_layoutr=   s     r   Útest_discouraged_apirR  R  sÌ   € Ü�l‰l¨dÔ3�G€CˆØ×ÑÔ ä	�‰Ô/Ø0ô
2ñ %ä—,‘,“.‰ˆˆRØ×"Ñ" 4Ô(Ø×"Ñ"Ô$÷	%ô 
�‰Ô/Ø0ô
2ñ %ä—,‘,“.‰ˆˆRØ×"Ñ"¨T¸DÑ#AÔBØ×"Ñ"Ô$÷	%ð %÷%ð %ú÷%ð %ús   Á9C&Â!<C2Ã&C/Ã2C;c                  óZ   — t        j                  ddi¬«      \  } }| j                  «        y )Nr¼   rG   rj   )r:   rA   rm   r=   s     r   Útest_kwargsrT  c  s$   € Ü�l‰l¨w¸¨oÔ>�G€CˆØ×ÑÕ r   c                  ó<  — t        j                  d¬«      \  } }| j                  «       j                  g d¢¬«       | j	                  «        |j                  «       }|j                  dk  sJ ‚|j                  dk  sJ ‚t        j                  d¬«      \  } }| j                  «       j                  g d¢¬«       | j	                  «        |j                  «       }|j                  dk  sJ ‚|j                  dk  sJ ‚|j                  dkD  sJ ‚|j                  dkD  sJ ‚y )Nr6   r7   )r   r   r—   r—   )Úrectr—   r&  rÃ   )
r:   rA   r¿   rÀ   rm   rn   Úx1rp   r  ro   )r>   r   Úpposs      r   Ú	test_rectrY  h  sì   € Ü�l‰l -Ô0�G€CˆØ×ÑÓ×ÑÒ%5ÐÔ6Ø×ÑÔ Ø�?‰?Ó€DØ�7‰7�SŠ=Ðˆ=Ø�7‰7�SŠ=Ðˆ=ä�l‰l -Ô0�G€CˆØ×ÑÓ×ÑÒ%9ÐÔ:Ø×ÑÔ Ø�?‰?Ó€DØ�7‰7�SŠ=Ðˆ=Ø�7‰7�SŠ=Ðˆ=Ø�7‰7�SŠ=Ðˆ=Ø�7‰7�SŠ=Ð‰=r   c                  ó®  — t        j                  ddddd¬«      \  } }|j                  D ]1  }|j                  t        j
                  j                  dd«      «      }Œ3 | j                  |¬«       | j                  «        |d   j                  «       }t        j                  j                  |j                  d	d
¬«       |d   j                  «       }t        j                  j                  |j                  dd
¬«       t        j                  dddddd¬«      \  } }|j                  D ]1  }|j                  t        j
                  j                  dd«      «      }Œ3 | j                  ||¬«       | j                  «        |d   j                  «       }t        j                  j                  |j                  dd
¬«       t        j                  j                  |j                  dd
¬«       |d   j                  «       }t        j                  j                  |j                  dd
¬«       t        j                  j                  |j                  dd
¬«       y )Nr	   r   Ú
compressedTr�   r(  r)  rÑ   gâX·Ñ Î?çü©ñÒMbP?)r;  r…   g™»–�zæ?)r!   r†   )r8   rŽ   r�   r„   gGrùé·¯?gá“©‚Që?)r   r   gk+ö—Ý“ë?goð…ÉTÁÈ?)r:   rA   rB   r  r)   r+  ÚrandnrJ   rm   rn   ré   rê   r  rW  rp   ro   )r>   rD   r   r  rJ  s        r   Útest_compressed1r^  z  sÓ  € Ü�|‰|˜A˜q¨Ø#'°ô6�H€Cˆà�h‰hò 0ˆØ�Y‰Y”r—y‘y—‘ r¨2Ó.Ó/‰ð0ð ‡L�L�˜€LÔØ×ÑÔ à
ˆd‰)×
 Ñ
 Ó
"€CÜ‡J�J×Ñ˜sŸv™v v°DÐÔ9Ø
ˆd‰)×
 Ñ
 Ó
"€CÜ‡J�J×Ñ˜sŸv™v v°DÐÔ9ô �|‰|˜A˜q¨Ø#'°¸fôF�H€Cˆà�h‰hò 0ˆØ�Y‰Y”r—y‘y—‘ r¨2Ó.Ó/‰ð0ð ‡L�L�˜€LÔØ×ÑÔ à
ˆd‰)×
 Ñ
 Ó
"€CÜ‡J�J×Ñ˜sŸv™v w°TÐÔ:Ü‡J�J×Ñ˜sŸv™v v°DÐÔ9Ø
ˆd‰)×
 Ñ
 Ó
"€CÜ‡J�J×Ñ˜sŸv™v v°DÐÔ9Ü‡J�J×Ñ˜sŸv™v v°DÐÕ9r   c                  óX  — t        j                  ddddddœ¬«      \  } \  }}|j                  d«       |j                  d	«       |j                  d«       |j                  d
«       | j	                  d«      }| j                  «        |j                  «       d
   t        j                  dd¬«      k(  sJ ‚| j	                  dd¬«      }| j                  «        |j                  «       d
   dk(  sJ ‚| j	                  dd¬«      }| j                  «        |j                  «       d
   dk(  sJ ‚y )Nr   )r†   r‚   r[  )g      Ð?g      è?r   )r«   rÅ   )Únrowsr„   r8   r9  Úequalr¹   r   r   g?ÆÜç?r\  )Úabsg\�Âõ(\ï?rñ   F)Ú	in_layout)	r:   rA   r  Úset_box_aspectr’   rm   rn   r{   Úapprox)r>   Úax0r°   Útitles       r   Útest_compressed_suptitlerh  ™  s  € Ü—l‘lØ˜¨Ø&4ÀÑBôD�O€C‰ˆ#ˆsð ‡H�HˆWÔØ×Ñ�sÔà‡H�HˆWÔØ×Ñ�qÔà�L‰L˜Ó!€EØ×ÑÔ Ø×ÑÓ Ñ"¤f§m¡m°FÀÔ&EÒEÐEÐEà�L‰L˜ DˆLÓ)€EØ×ÑÔ Ø×ÑÓ Ñ" dÒ*Ð*Ð*à�L‰L˜¨EˆLÓ2€EØ×ÑÔ Ø×ÑÓ Ñ" dÒ*Ð*Ñ*r   z
arg, state)TT)FFrV  c                 ó^   — t        j                  | ¬«      \  }}|j                  «       |u sJ ‚y )Nrj   )r:   rA   Úget_constrained_layout)ÚargÚstater>   r   s       r   Útest_set_constrained_layoutrm  ±  s-   € ô �l‰l¨cÔ2�G€CˆØ×%Ñ%Ó'¨5Ñ0Ð0Ñ0r   c                  ób  — t        j                  «       \  } }t        j                  t        «      5  | j                  d«       | j                  «       sJ ‚| j                  d«       | j                  «       rJ ‚| j                  d«       | j                  «       sJ ‚	 d d d «       y # 1 sw Y   y xY w)NTF)r:   rA   r{   r|   rP  rQ  rj  r=   s     r   Útest_constrained_togglero  ¼  s“   € Ü�l‰l‹n�G€CˆÜ	�‰Ô/Ó	0ñ ,Ø×"Ñ" 4Ô(Ø×)Ñ)Ô+Ð+Ð+Ø×"Ñ" 5Ô)Ø×-Ñ-Ô/Ð/Ð/Ø×"Ñ" 4Ô(Ø×)Ñ)Ô+Ð+Ñ+÷,÷ ,ñ ,ús   ±A*B%Â%B.c                  ó  — t        j                  dd¬«      } | j                  «        | j                  «        t        j                  d«       ~ t        j                  «        t        d„ t        j                  «       D «       «      rJ ‚y )NT)r‚   r‚   )rk   r„   r×   c              3   ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­w)N)Ú
isinstancerÉ   Ú_layoutgridÚ
LayoutGrid)Ú.0Úobjs     r   ú	<genexpr>z#test_layout_leak.<locals>.<genexpr>Ð  s)   è ø€ ò 0Øô ˜c¤3§?¡?×#=Ñ#=×>ñ 0ùs   ‚.0)	r:   r;   r<   rm   ÚcloseÚgcÚcollectÚanyÚget_objects)r>   s    r   Útest_layout_leakr}  Ç  sm   € ô �*‰*¨°hÔ
?€CØ‡O�OÔØ×ÑÔ Ü‡I�IˆeÔØÜ‡J�J„LÜñ 0Ü Ÿn™nÓ.ô0ô 0ð 0ð 0ð 0r   )r]   F)r]   )Cry  ÚplatformÚnumpyr)   r{   Ú
matplotlibrÉ   Úmatplotlib.testing.decoratorsr   Úmatplotlib.pyplotÚpyplotr:   Úmatplotlib.transformsÚ
transformsÚmtransformsr   r   r   r4   r?   rE   rL   rS   rY   rh   rw   r€   r‹   r“   Úmachinerœ   r§   r¬   r²   rÁ   rÇ   rÊ   rÏ   rÔ   rÙ   rÜ   rä   rî   rò   rø   r  r  r  r!  r$  r.  r5  ÚBboxr7  r@  rK  rN  rR  rT  rY  r^  rh  ÚmarkÚparametrizerm  ro  r}  © r   r   ú<module>rŒ     sÇ  ðÛ 	Û ã Û ã Ý :Ý Ý +ß 'ó	ó
ñ Ð,Ð-Ó.ñ"ó /ð"ñ Ð,Ð-Ó.ñ&ó /ð&ñ Ð,Ð-Ó.ñ
*ó /ð
*ñ Ð,Ð-Ó.ñ4ó /ð4ñ Ð,Ð-°5Ô9ñ$ó :ð$ñ Ð,Ð-°5Ô9ñ4ó :ð4ò4?ò(%ñ  Ð,Ð-Ó.ñ4ó /ð4ñ6 Ð,Ð-Ó.ñ/ó /ð/ñ Ð-Ð.Ø+˜8×+Ñ+Ó-°Ò9‘a¸uôFñ<óFð<ñ Ð-Ð.Ó/ñ!ó 0ð!ñ& Ð0Ð1Ó2ñ!ó 3ð!ñ& Ð-Ð.Ó/ñó 0ðñ* Ð-Ð.°EÔ:ñ>ó ;ð>ñ Ð-Ð.Ó/ñ$ó 0ð$ñ Ð-Ð.Ó/ñ&ó 0ð&ñ Ð-Ð.Ó/ñ-ó 0ð-ñ Ð-Ð.Ó/ñó 0ðò Hò	Hòò3ò3ò
%ñ Ð/Ð0Ø"¨'ô3ñDó3ðDò*
FòDñ@ Ð3Ð4¸GÔDñó Eðñ Ð3Ð4¸GÔDñ:ó Eð:ò>ñ  Ð'Ð(Ø"¨'Ø!.°Ð 8ô:ñó:ðñ
 �?Ð#Ø"¨'Ø!.Ø!1 ×!1Ñ!1°C¸°8¸cÀ1¸XÐ2FÓ!Gð!IôJñó	Jðò
"òD#ò.!ò%ò"!ò
ò$:ò>+ð0 ‡�×Ñ˜ØØØˆ€JØˆd€^�TÐð	(ó ñ1óð1ò
,ó
0r   