Ë
    µ2Úiv  ã                   ó  — d dl Z d dlZd dlmZmZmZmZ d dlZd dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZmZmZ d dlmZ d dlmZmZ d„ Zd„ Z ed	gd
dd¬«      d„ «       Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z% G d„ dejL                  «      Z' G d„ d«      Z( G d„ d«      Z)d„ Z*d„ Z+d„ Z,d„ Z-d „ Z.d!„ Z/d"„ Z0d#„ Z1d$„ Z2d%„ Z3d&„ Z4d'„ Z5d(„ Z6ejn                  jq                  d)g d*¢«      d+„ «       Z9d,„ Z:d-„ Z;d.„ Z< ed/g¬0«      d1„ «       Z=d2„ Z>d3„ Z?y)4é    N)Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚassert_array_almost_equal)Úscale)ÚAffine2DÚBboxÚTransformedBbox)ÚPath)Úimage_comparisonÚcheck_figures_equalc                  ól  —  G d„ dt         j                  «      }  | «       }t        j                  «       }t        j                  t        j                  d«      ||j                  z   ¬«       t        j                  «        d|_	        |j                  j                  «        t        j                  «        y )Nc                   óB   ‡ — e Zd ZdZdxZZdZˆ fd„Zd„ ZeZ	d„ Z
e
Zˆ xZS )ú<test_non_affine_caching.<locals>.AssertingNonAffineTransformz�
        This transform raises an assertion error when called when it
        shouldn't be and ``self.raise_on_transform`` is True.

        é   Fc                 ó„   •— t        ‰| �  |i |¤Ž d| _        t        j                  «       j                  dd«      | _        y )NFé
   )ÚsuperÚ__init__Úraise_on_transformÚmtransformsr   r   Úunderlying_transform)ÚselfÚargsÚkwargsÚ	__class__s      €úW/var/www/html/acx/venv/lib/python3.12/site-packages/matplotlib/tests/test_transforms.pyr   zEtest_non_affine_caching.<locals>.AssertingNonAffineTransform.__init__   s;   ø€ Ü‰GÑ˜dÐ- fÒ-Ø&+ˆDÔ#Ü(3×(<Ñ(<Ó(>×(DÑ(DÀRÈÓ(LˆDÕ%ó    c                 ó^   — | j                   rJ d«       ‚| j                  j                  |«      S ©Nz3Invalidated affine part of transform unnecessarily.)r   r   Útransform_path©r   Úpaths     r   Útransform_path_non_affinezVtest_non_affine_caching.<locals>.AssertingNonAffineTransform.transform_path_non_affine    s4   € Ø×.Ò.ð FØEóFÐ.à×,Ñ,×;Ñ;¸DÓAÐAr   c                 ó^   — | j                   rJ d«       ‚| j                  j                  |«      S r    )r   r   Ú	transformr"   s     r   Útransform_non_affinezQtest_non_affine_caching.<locals>.AssertingNonAffineTransform.transform_non_affine&   s4   € Ø×.Ò.ð FØEóFÐ.à×,Ñ,×6Ñ6°tÓ<Ð<r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
input_dimsÚoutput_dimsÚ	is_affiner   r$   r!   r'   r&   Ú__classcell__©r   s   @r   ÚAssertingNonAffineTransformr      s8   ø„ ñ	ð
 $%Ð$ˆ
�[Øˆ	ô	Mò
	Bð 3ˆò	=ð )Œ	r   r1   r   ©r&   T)r   Ú	TransformÚpltÚaxesÚplotÚnpÚarangeÚ	transDataÚdrawr   Ú	transAxesÚ
invalidate)r1   Úmy_transÚaxs      r   Útest_non_affine_cachingr?      st   € ô)¤k×&;Ñ&;ô )ñ4 +Ó,€HÜ	�‰‹€BÜ‡H�HŒR�Y‰Y�r‹] h°·±Ñ&=Õ>Ü‡H�H„Jð #'€HÔØ‡L�L×ÑÔÜ‡H�H…Jr   c                  ó®  —  G d„ d«      } t        j                  «       }t        j                  t        j                  d«       | d«      ¬«      \  }|j                  dd«       |j                  dd«       t        |j                  «       j                  j                  «       t        j                  «       j                  d«      j                  «       «       y )Nc                   ó   — e Zd Zd„ Zd„ Zy)ú-test_external_transform_api.<locals>.ScaledByc                 ó   — || _         y ©N)Ú_scale_factor)r   Úscale_factors     r   r   z6test_external_transform_api.<locals>.ScaledBy.__init__9   s
   € Ø!-ˆDÕr   c                 óv   — t        j                  «       j                  | j                  «      |j                  z   S rD   )r   r   r   rE   r9   )r   r5   s     r   Ú_as_mpl_transformz?test_external_transform_api.<locals>.ScaledBy._as_mpl_transform<   s0   € Ü×(Ñ(Ó*×0Ñ0°×1CÑ1CÓDØ—n‘nñ%ð &r   N)r(   r)   r*   r   rH   © r   r   ÚScaledByrB   8   s   „ ò	.ó	&r   rJ   r   r2   r   éd   )r4   r5   r6   r7   r8   Úset_xlimÚset_ylimr   Úget_transformÚ_aÚ
get_matrixr   r   r   )rJ   r>   Úlines      r   Útest_external_transform_apirR   7   s–   € ÷&ñ &ô 
�‰‹€BÜ�H‰H”R—Y‘Y˜r“]©h°r«lÔ;�E€DØ‡K�K��3ÔØ‡K�K��3Ôä�D×&Ñ&Ó(×+Ñ+×6Ñ6Ó8Ü×(Ñ(Ó*×0Ñ0°Ó4×?Ñ?ÓAõCr   Úpre_transform_dataTÚmpl20gš™™™™™©?)Úremove_textÚstyleÚtolc                  ó8  — t        j                  «       } t        j                  «       j	                  d«      }| j                  t        j                  d«      j                  dd«      || j                  z   ¬«       | j                  t        j                  ddd«      t        j                  d	dd
«      t        j                  d«      j                  dd«      || j                  z   ¬«       | j                  t        j                  dd«      t        j                  dd«      || j                  z   ¬«       t        j                  ddd«      }t        j                  ddd«      }dt        j                  |«      z  t        j                  |d d …t        j                  f   «      z   }t        j                  |«      t        j                  |d d …t        j                  f   «      z
  }| j!                  |||||| j                  z   t        j"                  ||«      ¬«       |d d d…   |d d d…   }}|d d d…d d d…f   |d d d…d d d…f   }}| j%                  ||dz   |||| j                  z   ¬«       | j'                  |dz
  |dz   |dz  |dz  || j                  z   ¬«       y )Nr   é0   é   é   r2   r   é   é   g      @é	   é   é   é   r   )r&   Ú	linewidthé   )r4   r5   r   r   r   Úcontourfr7   r8   Úreshaper9   Ú
pcolormeshÚlinspaceÚscatterÚsinÚcosÚnewaxisÚ
streamplotÚhypotÚquiverÚbarbs)r>   Útimes10ÚxÚyÚuÚvs         r   Útest_pre_transform_plottingru   I   s$  € ô 
�‰‹€BÜ×"Ñ"Ó$×*Ñ*¨2Ó.€Gà‡K�K”—	‘	˜"“×%Ñ% a¨Ó+°wÀÇÁÑ7M€KÔNà‡M�M”"—+‘+˜a  AÓ&Ü—+‘+˜c 1 aÓ(Ü—)‘)˜B“-×'Ñ'¨¨1Ó-Ø# b§l¡lÑ2ð ô 4ð
 ‡J�JŒr�{‰{˜1˜bÓ!¤2§;¡;¨r°1Ó#5Ø  2§<¡<Ñ/ð ô 1ô 	�‰�A�r˜2Ó€AÜ
�‰�A�q˜"Ó€AØ	Œ"�&‰&�‹)‰”b—f‘f˜Qšq¤"§*¡*˜}Ñ-Ó.Ñ.€AÜ
�‰ˆq‹	”B—F‘F˜1šQ¤§
¡
˜]Ñ+Ó,Ñ,€Aà‡M�M�!�Q˜˜1¨°"·,±,Ñ(>ÜŸH™H Q¨›Nð ô ,ð ‰SˆqˆS‰6�1‘S�q�S‘6€q€AØ‰SˆqˆS‘#�A�#ˆX‰;˜™#˜A˜#™s ˜s˜(™€q€Aà‡I�Iˆa��Q‘˜˜1¨°"·,±,Ñ(>€IÔ?à‡H�HˆQ�‰U�A˜‘E˜1˜a™4  A¡°¸2¿<¹<Ñ1G€HÕHr   c                  óâ  — t        j                  «       } t        j                  t        j                  ddd«      t        j                  ddd«      «      \  }}| j                  ||t        j                  ||z  «      t        j                  «       j                  d«      | j                  z   ¬«       t        j                  ddgd	d
gg«      }t        || j                  j                  «       «       y )Né   r_   çÍÌÌÌÌÌ(@ç      )@çš™™™™™¹?r2   ç      ø?ç×£p=
×ó?ç       @ç      ô?)r4   r5   r7   Úmeshgridrg   rd   Úlogr   r   r   r9   Úarrayr   ÚdataLimÚ
get_points©r>   ÚxsÚysÚexpecteds       r   Ú!test_contour_pre_transform_limitsrˆ   n   s¸   € Ü	�‰‹€BÜ�[‰[œŸ™ R¨¨RÓ0´"·+±+¸dÀDÈ"Ó2MÓN�F€BˆØ‡K�K��BœŸ™˜r B™w›Ü%×.Ñ.Ó0×6Ñ6°sÓ;¸b¿l¹lÑJð ô Lô �x‰x˜#˜t˜Ø˜d˜ð%ó &€Hä˜ "§*¡*×"7Ñ"7Ó"9Õ:r   c                  óô  — t        j                  «       } t        j                  t        j                  ddd«      t        j                  ddd«      «      \  }}| j                  ||t        j                  ||z  «      d d…d d…f   t        j                  «       j                  d«      | j                  z   ¬«       t        j                  dd	gd
dgg«      }t        || j                  j                  «       «       y ©Nrw   r_   rx   ry   éÿÿÿÿrz   r2   r{   r|   r}   r~   )r4   r5   r7   r   rg   Úpcolorr€   r   r   r   r9   r�   r   r‚   rƒ   r„   s       r   Ú test_pcolor_pre_transform_limitsr�   y   sÉ   € ä	�‰‹€BÜ�[‰[œŸ™ R¨¨RÓ0´"·+±+¸dÀDÈ"Ó2MÓN�F€BˆØ‡I�Iˆb�"”b—f‘f˜R "™W“o c r c¨3¨B¨3 hÑ/Ü#×,Ñ,Ó.×4Ñ4°SÓ9¸B¿L¹LÑHð ô Jô �x‰x˜#˜t˜Ø˜d˜ð%ó &€Hä˜ "§*¡*×"7Ñ"7Ó"9Õ:r   c                  óô  — t        j                  «       } t        j                  t        j                  ddd«      t        j                  ddd«      «      \  }}| j                  ||t        j                  ||z  «      d d…d d…f   t        j                  «       j                  d«      | j                  z   ¬«       t        j                  dd	gd
dgg«      }t        || j                  j                  «       «       y rŠ   )r4   r5   r7   r   rg   rf   r€   r   r   r   r9   r�   r   r‚   rƒ   r„   s       r   Ú$test_pcolormesh_pre_transform_limitsr�   …   sÉ   € ä	�‰‹€BÜ�[‰[œŸ™ R¨¨RÓ0´"·+±+¸dÀDÈ"Ó2MÓN�F€BˆØ‡M�M�"�bœ"Ÿ&™&  b¡›/¨#¨2¨#¨s°¨s¨(Ñ3Ü'×0Ñ0Ó2×8Ñ8¸Ó=ÀÇÁÑLð ô Nô �x‰x˜#˜t˜Ø˜d˜ð%ó &€Hä˜ "§*¡*×"7Ñ"7Ó"9Õ:r   c                  ó  — t         j                  j                  d«       t        j                  ddd«      } t        j                  ddd«      }t        j                  | |«      \  }}t        j
                  t        j                  j                  |j                  Ž dz  «      }t        j                  «       }|j                  dd	¬
«      }|j                  dd«       |j                  |||d¬«       |j                  j                  «        y )Né!N,r   é´   rc   rK   iè  r   éo   Úpolar©Ú
projectionée   Úgouraud)Úshading)r7   ÚrandomÚseedrg   r   ÚradiansÚrandÚshaper4   ÚfigureÚadd_subplotÚset_rlimrf   Úcanvasr:   )ÚvaluesÚradiiÚzrr   rq   Úfigr>   s          r   Útest_pcolormesh_gouraud_nansr§   ‘   s½   € Ü‡I�I‡N�N�8Ôä�[‰[˜˜C Ó#€FÜ�K‰K˜˜T 2Ó&€EÜ�;‰;�v˜uÓ%�D€A€qÜ
�
‰
”2—9‘9—>‘> 1§7¡7Ð+¨cÑ1Ó2€Aä
�*‰*‹,€CØ	�‰˜¨ˆÓ	1€Bð ‡K�K��TÔØ‡M�M�!�Q˜ 9€MÔ-à‡J�J‡O�OÕr   c                  ó´  — t        j                  ddgddgddgg«      } t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgd	dgddgg«      }t        ||«       t        j                  j	                  dddd
dd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       y )Nr   r   r_   r‹   r`   r   éþÿÿÿrc   é<   r\   éP   ra   rZ   )r7   r�   r   r   Úfrom_valuesr&   r   )ÚpointsÚtÚactualr‡   s       r   Útest_Affine2D_from_valuesr°   ¤   sA  € Ü�X‰X˜˜1�vØ˜B�xØ˜A�wðó €Fô
 	×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ " a ¨2¨q¨'Ð2Ó3€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ ! R ¨1¨b¨'Ð2Ó3€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ " a ¨1¨a¨&Ð1Ó2€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ ! R ¨1¨a¨&Ð1Ó2€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ó1€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ó1€HÜ˜ Õ)r   c                  óT  — ddg} t        j                  «       }t        | |j                  |j	                  «       j                  | «      «      «       |j                  dd«      j                  «        t        | |j                  |j	                  «       j                  | «      «      «       y )Nç      ð?)r   r   r   r&   ÚinvertedÚ	translaterP   )Úpointr®   s     r   Ú test_affine_inverted_invalidatedr¶   É   sx   € à�#ˆJ€EÜ×ÑÓ€Aä˜˜qŸ{™{¨1¯:©:«<×+AÑ+AÀ%Ó+HÓIÔJà‡K�K��SÓ×$Ñ$Ô&Ü˜˜qŸ{™{¨1¯:©:«<×+AÑ+AÀ%Ó+HÓIÕJr   c                  óX  — t        j                  g d¢«      } t        j                  t        j                  «       t        j                  dd«      «      }|j                  | «      }|j                  |j                  «       dd¬«      }t        |Ž \  }}t        || j                  d d «       y )N))çš™™™™™É?é�ÿÿÿ)çš™™™™™Ù?r¹   )rº   r_   )r¸   r_   r   Úclip)r   r   rK   rK   F)r»   Úsimplifyr‹   )r   Ú_create_closedr   ÚBlendedGenericTransformr   r   ÚLogTransformr$   Úiter_segmentsÚ
get_affineÚzipr   Úcodes)r#   ÚtransÚtpathÚresultÚtpointsÚtcodess         r   Útest_clipping_of_logrÉ   Ô   s˜   € ä×ÑÒMÓN€Dä×/Ñ/Ü×ÑÓ¤× 2Ñ 2°2°vÓ >ó@€Eà×+Ñ+¨DÓ1€EØ× Ñ  ×!1Ñ!1Ó!3Ø&6Ø*/ð !ó 1€Fô ˜6�l�O€GˆVÜ�F˜DŸJ™J s¨˜OÕ,r   c                   ó:   ‡ — e Zd ZdZdZdZdZˆ fd„Zd„ Zd„ Z	ˆ xZ
S )ÚNonAffineForTestzÚ
    A class which looks like a non affine transform, but does whatever
    the given transform does (even if it is affine). This is very useful
    for testing NonAffine behaviour with a simple Affine transform.

    Fr   c                 ó2   •— || _         t        ‰| �  |i |¤Ž y rD   )Ú
real_transr   r   )r   rÍ   r   r   r   s       €r   r   zNonAffineForTest.__init__í   s   ø€ Ø$ˆŒÜ‰Ñ˜$Ð) &Ó)r   c                 ó8   — | j                   j                  |«      S rD   )rÍ   r&   )r   r£   s     r   r'   z%NonAffineForTest.transform_non_affineñ   s   € Ø�‰×(Ñ(¨Ó0Ð0r   c                 ó8   — | j                   j                  |«      S rD   )rÍ   r!   r"   s     r   r$   z*NonAffineForTest.transform_path_non_affineô   s   € Ø�‰×-Ñ-¨dÓ3Ð3r   )r(   r)   r*   r+   r.   r-   r,   r   r'   r$   r/   r0   s   @r   rË   rË   â   s(   ø„ ñð €IØ€KØ€Jô*ò1ö4r   rË   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestBasicTransformc                 ó”  — t        j                  d¬«      j                  t        j                  dz  «      | _        t        j                  d¬«      j                  dd«      | _        t        j                  d¬«      j                  dd«      | _	        t        t        j                  «       j                  dd«      d	¬«      | _        t        t        j                  «       j                  dd«      d
¬«      | _        t        t        j                  «       j                  dd«      d¬«      | _        | j
                  | j                  | j                  z   z   | j                  z   | _        | j
                  | j                  z   | j                  z   | j                  z   | _        | j                  | j                  z   | j                  z   | _        y )NÚta1)Úshorthand_namer   Úta2r   r   Úta3r`   Útn1Útn2Útn3)r   r   Úrotater7   ÚpirÓ   r´   rÕ   r   rÖ   rË   r×   rØ   rÙ   Ústack1Ústack2Ústack2_subset©r   s    r   Úsetup_methodzTestBasicTransform.setup_methodù   sF  € ä×'Ñ'°uÔ=×DÑDÄRÇUÁUÈQÁYÓOˆŒÜ×'Ñ'°uÔ=×GÑGÈÈAÓNˆŒÜ×'Ñ'°uÔ=×CÑCÀAÀqÓIˆŒä#¤K×$8Ñ$8Ó$:×$DÑ$DÀQÈÓ$JØ38ô:ˆŒä#¤K×$8Ñ$8Ó$:×$DÑ$DÀQÈÓ$JØ38ô:ˆŒä#¤K×$8Ñ$8Ó$:×$DÑ$DÀQÈÓ$JØ38ô:ˆŒð —x‘x 4§8¡8¨d¯h©hÑ#6Ñ7¸4¿8¹8ÑCˆŒà—h‘h §¡Ñ)¨D¯H©HÑ4°t·x±xÑ?ˆŒà!ŸX™X¨¯©Ñ0°4·8±8Ñ;ˆÕr   c                 ó¦   — | j                   j                  dk(  sJ ‚| j                  j                  dk(  sJ ‚| j                  j                  dk(  sJ ‚y )Nr\   rc   )rÜ   ÚdepthrÝ   rÞ   rß   s    r   Útest_transform_depthz'TestBasicTransform.test_transform_depth  sL   € Ø�{‰{× Ñ  AÒ%Ð%Ð%Ø�{‰{× Ñ  AÒ%Ð%Ð%Ø×!Ñ!×'Ñ'¨1Ò,Ð,Ñ,r   c                 ó6  — | j                   | j                  | j                  | j                  z   z   z   | j                  z   }|| j                  | j                  | j                  z   z   | j                  z   | j                  | j                  z   | j                  z   | j                  | j                  z   | j                  g}|j                  «       D ��cg c]  \  }}|‘Œ	 }}}t        |«      t        |«      k(  sJ ‚t        ||«      D ]  \  }}||k(  rŒJ ‚ y c c}}w rD   )rÓ   r×   rÕ   rØ   rÖ   Ú_iter_break_from_left_to_rightÚlenrÂ   )r   Ústack3Útarget_transformsÚ_ÚrhÚrÚtarget_stackÚstacks           r   Útest_left_to_right_iterationz/TestBasicTransform.test_left_to_right_iteration  sø   € Ø—(‘(˜dŸh™h¨$¯(©(°T·X±XÑ*=Ñ>Ñ?À4Ç8Á8ÑKˆð $Ø"Ÿh™h¨$¯(©(°T·X±XÑ*=Ñ>À$Ç(Á(ÑJØ"Ÿh™h¨¯©Ñ1°T·X±XÑ=Ø!ŸX™X¨¯©Ñ0Ø!ŸX™Xð	Ðð $×BÑBÓD×E‘E�A�rŠRÐEˆÑEÜ�1‹vœÐ.Ó/Ò/Ð/Ð/ä#&Ð'8¸!Ó#<ò 	)ÑˆL˜%Ø 5Ó(Ð(Ð(ñ	)ùó Fs   ÃDc                 óš  — | j                   | j                  z
  | j                  k(  sJ ‚| j                  | j                  z
  | j                  k(  sJ ‚| j                  | j                  z
  | j                  j	                  «       k(  sJ ‚| j                  | j                  z
  j
                  dk(  sJ ‚t        j                  t        «      5  | j                   | j                  z
   d d d «       | j                  | j                  | j                  z   z   }| j                  | j                  z   }||z
  | j                  k(  sJ ‚|| j                  z
  || j                  j	                  «       z   k(  sJ ‚| j                   | j                  z
  | j                  | j                  | j                  z   z   k(  sJ ‚| j                  | j                  z
  | j                  | j                  z   | j                  z   k(  sJ ‚| j                  | j                  z   | j                  z
  | j                  z   | j                  | j                  z   k(  sJ ‚y # 1 sw Y   �Œ`xY w)Nr`   )rÜ   rÞ   rÓ   rÝ   r³   râ   ÚpytestÚraisesÚ
ValueErrorrÕ   rÖ   r×   )r   Úaff1Úaff2s      r   Útest_transform_shortcutsz+TestBasicTransform.test_transform_shortcuts'  sÒ  € Ø�{‰{˜T×/Ñ/Ñ/°4·8±8Ò;Ð;Ð;Ø�{‰{˜T×/Ñ/Ñ/°4·8±8Ò;Ð;Ð;à×!Ñ! D§K¡KÑ/°4·8±8×3DÑ3DÓ3FÒFÐFÐFØ×"Ñ" T§[¡[Ñ0×7Ñ7¸1Ò<Ð<Ð<ä�]‰]œ:Ó&ñ 	&Ø�K‰K˜$Ÿ+™+Ò%÷	&ð �x‰x˜4Ÿ8™8 d§h¡hÑ.Ñ/ˆØ�x‰x˜$Ÿ(™(Ñ"ˆà�d‰{˜dŸh™hÒ&Ð&Ð&Ø�d—h‘h‰ $¨¯©×):Ñ):Ó)<Ñ"<Ò<Ð<Ð<à�{‰{˜TŸX™XÑ%¨¯©°T·X±XÀÇÁÑ5HÑ)IÒIÐIÐIØ�{‰{˜TŸX™XÑ%¨¯©°D·H±HÑ)<¸t¿x¹xÑ)GÒGÐGÐGà—‘˜DŸH™HÑ$¨¯©Ñ0°4·8±8Ñ;Ø—‘˜4Ÿ8™8Ñ#ò$ð 	%ñ $÷	&ñ 	&ús   ÃI É I
c                 ó   — | j                   | j                  z   }| j                   | j                  z   }||k(  sJ ‚|| j                  k7  sJ ‚|j                  |«      sJ ‚|j                  | j                  «      sJ ‚|j                  | j                   «      rJ ‚|j                  | j                   | j                   z   «      rJ ‚||k(  sJ ‚| j                  j                  | j                  «      sJ ‚| j
                  j                  | j                  «      sJ ‚| j                  j                  | j                  «      sJ ‚| j
                  j                  | j                  «      sJ ‚| j                  j                  | j                  «      rJ ‚| j                  j                  | j
                  «      rJ ‚| j                  j                  | j                   | j                  z   «      sJ ‚| j
                  j                  | j                   | j                  z   «      sJ ‚| j                  j                  | j                  | j                   z   «      rJ ‚y rD   )rÕ   rÓ   Úcontains_branchrÜ   rÖ   rÝ   rÞ   r×   )r   Úr1Úr2s      r   Útest_contains_branchz'TestBasicTransform.test_contains_branch=  sÓ  € Ø�h‰h˜Ÿ™Ñ!ˆØ�h‰h˜Ÿ™Ñ!ˆØ�RŠxˆˆxØ�T—X‘XŠ~Ðˆ~Ø×!Ñ! "Ô%Ð%Ð%Ø×!Ñ! $§(¡(Ô+Ð+Ð+Ø×%Ñ% d§h¡hÔ/Ð/Ð/Ø×%Ñ% d§h¡h°·±Ñ&9Ô:Ð:Ð:à�RŠxˆˆxà�{‰{×*Ñ*¨4¯8©8Ô4Ð4Ð4Ø�{‰{×*Ñ*¨4¯8©8Ô4Ð4Ð4à�{‰{×*Ñ*¨4×+=Ñ+=Ô>Ð>Ð>Ø�{‰{×*Ñ*¨4×+=Ñ+=Ô>Ð>Ð>à×%Ñ%×5Ñ5°d·k±kÔBÐBÐBØ×%Ñ%×5Ñ5°d·k±kÔBÐBÐBà�{‰{×*Ñ*¨4¯8©8°d·h±hÑ+>Ô?Ð?Ð?Ø�{‰{×*Ñ*¨4¯8©8°d·h±hÑ+>Ô?Ð?Ð?à—;‘;×.Ñ.¨t¯x©x¸$¿(¹(Ñ/BÔCÐCÐCÐCr   c                 ó   — t        j                  ddgddgt         j                  dgddggt         j                  ¬«      }| j                  j                  |«      }| j                  j                  |«      }t        j                  ddgd	d
gt         j                  t         j                  gddggt         j                  ¬«      }t        j                  ddgddgt         j                  t         j                  gddggt         j                  ¬«      }t        ||«       t        ||«       t        | j                  j                  |«      |«       t        | j                  j                  «       j                  |«      |«       | j                  | j                  z   j                  «       }| j                  j                  «       j                  «       }t        ||«       | j                  j                  «       j                  «       }t        ||«       y )Nr   r   r_   r`   r‹   )Údtyper²   r}   g      3Àç      (@g      &@g      @g      "Àg      8@)r7   r�   ÚnanÚfloat64rÜ   r'   r&   r   Útransform_affinerÁ   rÕ   rÖ   rP   r   rÝ   )r   r­   Úna_ptsÚall_ptsÚna_expectedÚall_expectedÚexpected_resultrÆ   s           r   Útest_affine_simplificationz-TestBasicTransform.test_affine_simplificationW  s›  € ô —‘˜A˜q˜6 B¨ 8¬b¯f©f°a¨[¸2¸q¸'ÐBÜ "§
¡
ô,ˆà—‘×1Ñ1°&Ó9ˆØ—+‘+×'Ñ'¨Ó/ˆä—h‘h  R ¨4°¨+Ü!#§¡¬¯©Ð 0°2°r°(ð <ÜCEÇ:Á:ôOˆä—x‘x # r ¨S°#¨JÜ"$§&¡&¬"¯&©&Ð!1°C¸°9ð!>ä&(§j¡jô2ˆô
 	" &¨+Ô6ä! '¨<Ô8ô 	" $§+¡+×">Ñ">¸vÓ"FØ".ô	0ô 	" $§+¡+×"8Ñ"8Ó":×"DÑ"DÀVÓ"LØ".ô	0ð
  Ÿ8™8 d§h¡hÑ.×:Ñ:Ó<ˆØ—‘×'Ñ'Ó)×4Ñ4Ó6ˆÜ˜?¨FÔ3à—‘×'Ñ'Ó)×4Ñ4Ó6ˆÜ˜?¨FÕ3r   N)	r(   r)   r*   rà   rã   rî   rõ   rú   r  rI   r   r   rÑ   rÑ   ø   s!   „ ò<ò2-ò
)ò %ò,Dó4#4r   rÑ   c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestTransformPlotInterfacec                 ó^  — t        j                  «       }|j                  g d¢g d¢|j                  ¬«       t	        |j
                  j                  «       t        j                  t        j                  t        j                  gt        j                   t        j                   gg«      «       y )N©rz   ç333333ó?çš™™™™™é?©çÍÌÌÌÌÌì?ç      à?r  r2   )
r4   r5   r6   r;   r   r‚   rƒ   r7   r�   Úinf©r   r>   s     r   Útest_line_extent_axes_coordsz7TestTransformPlotInterface.test_line_extent_axes_coords~  sn   € ä�X‰X‹ZˆØ
�‰’¢¸B¿L¹LˆÔIÜ˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8¤b§f¡f¬b¯f©fÐ%5Ü')§v¡v g´·±¨wÐ%7ð%9ó :õ	;r   c                 óê   — t        j                  «       }|j                  g d¢g d¢|j                  ¬«       t	        |j
                  j                  «       t        j                  ddgddgg«      «       y )Nr
  r  r2   rz   r  r  r  )	r4   r5   r6   r9   r   r‚   rƒ   r7   r�   r  s     r   Útest_line_extent_data_coordsz7TestTransformPlotInterface.test_line_extent_data_coords†  sT   € ä�X‰X‹ZˆØ
�‰’¢¸B¿L¹LˆÔIÜ˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8 c¨C [°3¸°+Ð$>Ó?õ	Ar   c                 ód  — t        j                  «       }t        j                  |j                  |j
                  «      }|j                  g d¢g d¢|¬«       t        |j                  j                  «       t        j                  t        j                  dgt        j                   dgg«      «       y )Nr
  ©é#   éûÿÿÿé   r2   g      Àg     €A@)r4   r5   r   Úblended_transform_factoryr;   r9   r6   r   r‚   rƒ   r7   r�   r  ©r   r>   rÄ   s      r   Ú!test_line_extent_compound_coords1z<TestTransformPlotInterface.test_line_extent_compound_coords1�  s~   € ô �X‰X‹ZˆÜ×5Ñ5°b·l±lØ68·l±lóDˆà
�‰’¢¸ˆÔ?Ü˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8¤b§f¡f¨c ]Ü')§v¡v g¨s ^ð%5ó 6õ	7r   c                 ó6  — t        j                  «       }t        j                  «       j	                  d«      |j
                  z   }|j                  g d¢g d¢|¬«       t        |j                  j                  «       t        j                  ddgddgg«      «       y )	Nr   r
  r  r2   r²   ç      IÀrý   ç     àu@)r4   r5   r   r   r   r9   r6   r   r‚   rƒ   r7   r�   r  s      r   Ú)test_line_extent_predata_transform_coordszDTestTransformPlotInterface.test_line_extent_predata_transform_coords˜  sr   € ä�X‰X‹ZˆÜ×$Ñ$Ó&×,Ñ,¨RÓ0°2·<±<Ñ?ˆØ
�‰’¢¸ˆÔ?Ü˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8 b¨$ Z°#°t°Ð$=Ó>õ	@r   c                 ó¬  — t        j                  «       }t        j                  |j                  t        j
                  «       j                  d«      |j                  z   «      }|j                  g d¢g d¢|¬«       t        |j                  j                  «       t        j                  t        j                  dgt        j                   dgg«      «       y )Nr   r
  r  r2   r  r  )r4   r5   r   r  r;   r   r   r9   r6   r   r‚   rƒ   r7   r�   r  r  s      r   Ú!test_line_extent_compound_coords2z<TestTransformPlotInterface.test_line_extent_compound_coords2   s“   € ô �X‰X‹ZˆÜ×5Ñ5Ø�L‰Lœ+×.Ñ.Ó0×6Ñ6°rÓ:¸R¿\¹\ÑIóKˆà
�‰’¢¸ˆÔ?Ü˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8¤b§f¡f¨d ^´r·v±v°g¸t°_Ð$EÓFõ	Hr   c                 óf  — t        j                  «       }t        j                  «       j	                  dd«      }t        j
                  t        j                  d«      ||j                  z   ¬«       t        j                  ddgddgg«      dz   }t        |j                  j                  «       |«       y )Nr   r2   ç        ç      "@©r4   r5   r   r   r´   r6   r7   r8   r9   r�   r   r‚   rƒ   ©r   r>   ÚoffsetÚexpected_data_lims       r   Útest_line_extents_affinez3TestTransformPlotInterface.test_line_extents_affineª  s€   € Ü�X‰X‹ZˆÜ×%Ñ%Ó'×1Ñ1°"°bÓ9ˆÜ�‰”—‘˜2“¨&°2·<±<Ñ*?Õ@ÜŸH™H r¨2 h°°b°	Ð%:Ó;¸bÑ@ÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr   c                 óÆ  — t        j                  «       }t        j                  «       j	                  dd«      }t        t        j                  «       j	                  dd«      «      }t        j                  t        j                  d«      ||z   |j                  z   ¬«       t        j                  ddgddgg«      dz   }t        |j                  j                  «       |«       y )Nr   r2   r$  r%  r_   )r4   r5   r   r   r´   rË   r6   r7   r8   r9   r�   r   r‚   rƒ   )r   r>   r(  Ú	na_offsetr)  s        r   Útest_line_extents_non_affinez7TestTransformPlotInterface.test_line_extents_non_affine±  s¥   € Ü�X‰X‹ZˆÜ×%Ñ%Ó'×1Ñ1°"°bÓ9ˆÜ$¤[×%9Ñ%9Ó%;×%EÑ%EÀbÈ"Ó%MÓNˆ	Ü�‰”—‘˜2“¨&°9Ñ*<¸r¿|¹|Ñ*KÕLÜŸH™H r¨2 h°°b°	Ð%:Ó;¸bÑ@ÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr   c                 óð  — t        j                  «       }t        j                  «       j	                  dd«      }t        t        j                  «       j	                  dd«      «      }t        ddgddgddgddgg«      }t        j                  |||z   |j                  z   ¬«      }|j                  |«       t        j                  ddgddgg«      dz   }t        |j                  j                  «       |«       y )Nr   r   r2   r$  ç      $@r_   )r4   r5   r   r   r´   rË   r   ÚmpatchesÚ	PathPatchr9   Ú	add_patchr7   r�   r   r‚   rƒ   )r   r>   r(  r,  ÚpthÚpatchr)  s          r   Útest_pathc_extents_non_affinez8TestTransformPlotInterface.test_pathc_extents_non_affine¹  sÔ   € Ü�X‰X‹ZˆÜ×%Ñ%Ó'×1Ñ1°"°bÓ9ˆÜ$¤[×%9Ñ%9Ó%;×%EÑ%EÀbÈ"Ó%MÓNˆ	Ü�Q˜�F˜Q ˜G b¨" X°°A¨wÐ7Ó8ˆÜ×"Ñ" 3Ø-3°iÑ-?À"Ç,Á,Ñ-NôPˆà
�‰�UÔÜŸH™H r¨2 h°°s°Ð%<Ó=ÀÑBÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr   c                 ó�  — t        j                  «       }t        j                  «       j	                  dd«      }t        ddgddgddgddgg«      }t        j                  |||j                  z   ¬«      }|j                  |«       t        j                  ddgddgg«      dz   }t        |j                  j                  «       |«       y )Nr   r   r2   r$  r/  )r4   r5   r   r   r´   r   r0  r1  r9   r2  r7   r�   r   r‚   rƒ   )r   r>   r(  r3  r4  r)  s         r   Útest_pathc_extents_affinez4TestTransformPlotInterface.test_pathc_extents_affineÄ  s«   € Ü�X‰X‹ZˆÜ×%Ñ%Ó'×1Ñ1°"°bÓ9ˆÜ�Q˜�F˜Q ˜G b¨" X°°A¨wÐ7Ó8ˆÜ×"Ñ" 3°&¸2¿<¹<Ñ2GÔHˆØ
�‰�UÔÜŸH™H r¨2 h°°s°Ð%<Ó=ÀÑBÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr   c                 ón  — t        j                  d¬«      }t        j                  «       j	                  dd«      }t        j
                  t        j                  d«      ||j                  z   ¬«       t        j                  ddgddgg«      ddgz   }t        |j                  j                  «       |«       y )Nr”   r•   r   r   r2   r$  r%  r&  r'  s       r   Ú*test_line_extents_for_non_affine_transDatazETestTransformPlotInterface.test_line_extents_for_non_affine_transDataÍ  s‰   € Ü�X‰X Ô)ˆä×%Ñ%Ó'×1Ñ1°!°RÓ8ˆä�‰”—‘˜2“¨&°2·<±<Ñ*?Õ@ô ŸH™H r¨2 h°°b°	Ð%:Ó;¸qÀ"¸gÑEÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr   N)r(   r)   r*   r  r  r  r   r"  r*  r-  r5  r7  r9  rI   r   r   r  r  }  s<   „ ò;òAò	7ò@òHòNòNò	NòNó
Nr   r  c                 óD   — t        | j                  |j                  «       y rD   )r   Úbounds)Úbbox1Úbbox2s     r   Úassert_bbox_eqr>  Ú  s   € Ü�u—|‘| U§\¡\Õ2r   c                  ó¬   — t         j                  j                  ddddd¬«      } | j                  «       }t	        |j
                  | j
                  «       y )Nr$  r²   )Úminpos)r   r	   Úfrom_extentsÚfrozenr   r@  )ÚbboxrB  s     r   Útest_bbox_frozen_copies_minposrD  Þ  s@   € Ü×Ñ×(Ñ(¨¨c°3¸ÀCÐ(ÓH€DØ�[‰[‹]€FÜ�v—}‘} d§k¡kÕ2r   c            	      ó¬  — t         j                  j                  } t         j                  j                  } | dddd«      } | dddd«      } | dddd«      } | dddd«      } | dddd«      }t	         |||«      |«       t	         |||«       | dddd«      «       t	         |||«      |«        |||«      �J ‚t	         |||«       | dddd«      «       y )Nr   r`   r  r{   ç      è?g      @r   )r   r	   rA  Úintersectionr>  )Úbbox_from_extÚinterrø   rù   Úr3Úr4Úr5s          r   Útest_bbox_intersectionrM  ä  sÞ   € Ü×$Ñ$×1Ñ1€MÜ×Ñ×)Ñ)€Eá	�q˜!˜Q Ó	"€BÙ	�s˜C  cÓ	*€BÙ	�s˜A˜t TÓ	*€BÙ	�s˜C  CÓ	(€BÙ	�q˜!˜Q Ó	"€Bô ‘5˜˜R“= "Ô%ä‘5˜˜R“=¡-°°S¸!¸QÓ"?Ô@ä‘5˜˜R“= "Ô%á��R‹=Ð Ð Ð ä‘5˜˜R“=¡-°°1°a¸Ó";Õ<r   c            	      óÔ  — t        j                  ddgddgg«      } t        | t        t	        | «      dt         j                  i«      «       t        t        | «      dt        i«      }|j                  «       D ]  \  }}t        | |«      |k(  rŒJ ‚ d}t        t        | |«      dt        i«      }|j                  «       D ])  \  }}t        t        t        | |«      |«      «      |k(  rŒ)J ‚ y )Nr  r   rF  r	   z.1f)
r   r	   r>  ÚevalÚreprÚstrÚdictÚitemsÚgetattrÚformat)ÚbÚasdictÚkrt   Úfmts        r   Útest_bbox_as_stringsrZ  ú  sÔ   € Ü×Ñ˜2˜q˜' C¨ :Ð.Ó/€AÜ�1”dœ4 ›7 V¬[×-=Ñ-=Ð$>Ó?Ô@Ü”#�a“&˜6¤4˜.Ó)€FØ—‘“ò "‰ˆˆ1Ü�q˜!‹} Ó!Ð!Ð!ð"à
€CÜ”&˜˜C“. 6¬4 .Ó1€FØ—‘“ò 5‰ˆˆ1Ü”Fœ7 1 a›=¨#Ó.Ó/°1Ó4Ð4Ð4ñ5r   c                  ó`   — t        t        j                  d¬«      j                  «      dk(  sJ ‚y )Nr”   r•   aØ  CompositeGenericTransform(
    CompositeGenericTransform(
        CompositeGenericTransform(
            TransformWrapper(
                BlendedAffine2D(
                    IdentityTransform(),
                    IdentityTransform())),
            CompositeAffine2D(
                Affine2D().scale(1.0),
                Affine2D().scale(1.0))),
        PolarTransform(
            PolarAxes(0.125,0.1;0.775x0.8),
            use_rmin=True,
            _apply_theta_transforms=False)),
    CompositeGenericTransform(
        CompositeGenericTransform(
            PolarAffine(
                TransformWrapper(
                    BlendedAffine2D(
                        IdentityTransform(),
                        IdentityTransform())),
                LockableBbox(
                    Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                    [[-- --]
                     [-- --]])),
            BboxTransformFrom(
                _WedgeBbox(
                    (0.5, 0.5),
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                        CompositeAffine2D(
                            Affine2D().scale(1.0),
                            Affine2D().scale(1.0))),
                    LockableBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                        [[-- --]
                         [-- --]])))),
        BboxTransformTo(
            TransformedBbox(
                Bbox(x0=0.125, y0=0.09999999999999998, x1=0.9, y1=0.9),
                BboxTransformTo(
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=8.0, y1=6.0),
                        Affine2D().scale(80.0))))))))rQ  r4   Úsubplotr9   rI   r   r   Útest_str_transformr]    s/   € ô Œs�{‰{ gÔ.×8Ñ8Ó9ð ,>8ò ,8ð ,8ñ ,8r   c                  óp   — t        j                  «       } | j                  d«      }|j                  dk(  sJ ‚y )N©r`   r`   )r   )r   r   r   rž   )r®   rë   s     r   Útest_transform_single_pointr`  8  s0   € Ü×ÑÓ€AØ	×Ñ˜6Ó"€AØ�7‰7�dŠ?Ð‰?r   c                  óŠ   — t        j                  «       \  } }|j                  d«       |j                  j	                  d«       y )Nr€   r_  )r4   ÚsubplotsÚ
set_yscaler9   r&   )r¦   r>   s     r   Útest_log_transformrd  >  s1   € ô �l‰l‹n�G€CˆØ‡M�M�%ÔØ‡L�L×Ñ˜6Õ"r   c                  ó²   — t        j                  ddgddgg«      } t        j                  ddgdt        j                  gg«      }| j	                  |«      rJ ‚y )Nr   r`   )r   r	   r7   rþ   Úoverlaps)ÚarV  s     r   Útest_nan_overlaprh  F  sS   € Ü×Ñ˜1˜a˜& 1 a &Ð)Ó*€AÜ×Ñ˜1˜a˜& 1¤b§f¡f +Ð.Ó/€AØ�z‰z˜!Œ}ÐÐˆ}r   c                  óö  — t        j                  «       } t        j                  g d¢«      }t        j                  ddgddgddgg«      }| j	                  ||«      }t        ||«       t        j                  t        «      5  | j	                  ||dd…dd…f   «       d d d «       t        j                  t        «      5  | j	                  ||dd…d d …f   «       d d d «       y # 1 sw Y   ŒGxY w# 1 sw Y   y xY w)N)r_   é-   rª   r   r`   r   )	r   r   r7   r�   Útransform_anglesr   rð   rñ   rò   )r®   Úanglesr­   Ú
new_angless       r   Útest_transform_anglesrn  L  så   € Ü×ÑÓ€AÜ�X‰X’lÓ#€FÜ�X‰X˜˜1�v  1˜v¨¨1 vÐ.Ó/€Fð ×#Ñ# F¨FÓ3€JÜ˜f jÔ1ô 
�‰”zÓ	"ñ 5Ø	×Ñ˜6 6¨!¨A¨#¨q°¨s¨(Ñ#3Ô4÷5ô 
�‰”zÓ	"ñ 3Ø	×Ñ˜6 6¨!¨A¨#ªq¨&¡>Ô2÷3ð 3÷	5ð 5ú÷3ð 3ús   ÂC#Â>C/Ã#C,Ã/C8c                  óÌ   — t        j                  ddg«      } dt         j                  fddg}|D ]3  }t        j                  t        j                  |Ž «      }t        || «       Œ5 y )Ngü©ñÒMbP¿gü©ñÒMbP?r   ©r   r   )r   güó     )r7   r�   rþ   r   Únonsingularr   )Úzero_expansionÚcasesr   Úouts       r   Útest_nonsingularru  ^  sZ   € ä—X‘X˜v u˜oÓ.€NØ”—‘ˆ[˜& -Ð0€EØò 0ˆÜ�h‰h”{×.Ñ.°Ð5Ó6ˆÜ˜3 Õ/ñ0r   c                  ó4  — t        j                  «       } t        j                  t        «      5  | j                  d«       d d d «       t        j                  t        «      5  | j                  dggg«       d d d «       t        j                  t        «      5  | j                  g «       d d d «       t        j                  t        «      5  | j                  dg«       d d d «       t        j                  t        «      5  | j                  dgg«       d d d «       t        j                  t        «      5  | j                  g d¢g«       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒéxY w# 1 sw Y   ŒÂxY w# 1 sw Y   ŒšxY w# 1 sw Y   ŒqxY w# 1 sw Y   y xY w)Nr`   )r`   r   rc   )r   r   rð   rñ   rò   r&   ÚRuntimeError©r®   s    r   Útest_invalid_argumentsry  g  s1  € Ü×ÑÓ€Aô 
�‰”zÓ	"ñ Ø	�‰�AŒ÷ä	�‰”zÓ	"ñ Ø	�‰�q�c�U�GÔ÷ä	�‰”|Ó	$ñ Ø	�‰�BŒ÷ä	�‰”|Ó	$ñ Ø	�‰�Q�CÔ÷ä	�‰”|Ó	$ñ Ø	�‰�a�S�EÔ÷ä	�‰”|Ó	$ñ !Ø	�‰’Y�KÔ ÷!ð !÷ñ ú÷ð ú÷ð ú÷ð ú÷ð ú÷!ð !úsG   ®EÁ!EÂE*Ã
E6Ã>FÄ3FÅEÅE'Å*E3Å6E?ÆFÆFc                  ó  — g d¢} t        | d¬«      }t        j                  «       }t        j                  ||«      }t	        |j                  «       j                  | «       dt        j                  d«      z  }|j                  t        j                  dz  «       t	        |j                  «       j                  d||fdd|z  f| |fgd	¬
«       dgdz  |_        t	        |j                  «       j                  d||fdd|z  f| |fgd	¬
«       y )N)rp  )r`   r   r_  )r   r`   T)Úclosedr`   r   r\   rp  r   gVçž¯Ò<)Úatol)r   r   r   ÚTransformedPathr   Úget_fully_transformed_pathÚverticesr7   ÚsqrtrÚ   rÛ   r­   )r­   r#   rÄ   Ú
trans_pathrù   s        r   Útest_transformed_pathr‚  |  sö   € Ú-€FÜ�˜tÔ$€Dä× Ñ Ó"€EÜ×,Ñ,¨T°5Ó9€JÜ�J×9Ñ9Ó;×DÑDÀfÔMð 
ŒR�W‰W�Q‹Z‰€BØ	‡L�L”—‘˜‘ÔÜ�J×9Ñ9Ó;×DÑDØ˜b "˜X¨¨1¨r©6 {°b°S¸"°IÐ>Øõ ð
 �(˜Q‘,€D„KÜ�J×9Ñ9Ó;×DÑDØ˜b "˜X¨¨1¨r©6 {°b°S¸"°IÐ>Øö r   c                  ó˜  — t        j                  «       } t        j                  dddd| ¬«      }t        j                  |«      }|j                  «       j                  }| j                  d«       t        |j                  «       j                  |dz  «       |j                  d«       t        |j                  «       j                  |«       y )Nrp  r`   rj  é‡   r2   r   r  )
r   r   r0  ÚWedgeÚTransformedPatchPathr~  r  r   r   Ú
set_radius)rÄ   r4  Útpatchr­   s       r   Útest_transformed_patch_pathr‰  ’  s�   € Ü× Ñ Ó"€EÜ�N‰N˜6 1 b¨#¸Ô?€Eä×-Ñ-¨eÓ4€FØ×.Ñ.Ó0×9Ñ9€Fð 
‡K�K�„NÜ�F×5Ñ5Ó7×@Ñ@À&È1Á*ÔMð 
×Ñ�SÔÜ�F×5Ñ5Ó7×@Ñ@À&ÕIr   Úlocked_element©Úx0Úy0Úx1Úy1c                 óV  — g d¢}|j                  | «       t        j                  j                  «       }t        j                  |fi | di¤Ž}t        || «      dk(  sJ ‚t        |d| z   «      dk(  sJ ‚|D ]  }t        ||«      t        ||«      k(  rŒJ ‚ |j                  |j                  «       dz   «       t        || «      dk(  sJ ‚t        |d| z   «      dk(  sJ ‚|D ]  }t        ||«      t        ||«      k(  rŒJ ‚ t        |d| z   d «       t        |d| z   «      �J ‚t        j                  |j                  «       |j                  «       k(  «      sJ ‚t        |d| z   d«       t        || «      dk(  sJ ‚t        |d| z   «      dk(  sJ ‚|D ]  }t        ||«      t        ||«      k(  rŒJ ‚ y )Nr‹  r   Úlocked_r   rc   )Úremover   r	   ÚunitÚLockableBboxrT  Ú
set_pointsrƒ   Úsetattrr7   Úall)rŠ  Úother_elementsÚorigÚlockedÚelems        r   Útest_lockable_bboxrœ  £  sÒ  € â-€NØ×Ñ˜.Ô)ä×Ñ× Ñ Ó"€DÜ×%Ñ% dÑB¨~¸qÐ.AÑB€Fô �6˜>Ó*¨aÒ/Ð/Ð/Ü�6˜9 ~Ñ5Ó6¸!Ò;Ð;Ð;Øò <ˆÜ�v˜tÓ$¬°°dÓ(;Ó;Ð;Ð;ð<ð 	‡O�O�D—O‘OÓ%¨Ñ*Ô+Ü�6˜>Ó*¨aÒ/Ð/Ð/Ü�6˜9 ~Ñ5Ó6¸!Ò;Ð;Ð;Øò <ˆÜ�v˜tÓ$¬°°dÓ(;Ó;Ð;Ð;ð<ô ˆF�I Ñ.°Ô5Ü�6˜9 ~Ñ5Ó6Ð>Ð>Ð>Ü�6‰6�$—/‘/Ó# v×'8Ñ'8Ó':Ñ:Ô;Ð;Ð;ô ˆF�I Ñ.°Ô2Ü�6˜>Ó*¨aÒ/Ð/Ð/Ü�6˜9 ~Ñ5Ó6¸!Ò;Ð;Ð;Øò <ˆÜ�v˜tÓ$¬°°dÓ(;Ó;Ð;Ð;ñ<r   c                  ó‚  — t        j                  «       } t        j                  «       }| |z   }|j                  «        t        j                  |«      }|j                  s|j                  rJ ‚| j                  dd«       |j                  r|j                  sJ ‚|j                  «       | j                  «       k(  j                  «       sJ ‚|j                  «        t        j                  |«      }|j                  dd«       |j                  rJ ‚|j                  «       | j                  «       k(  j                  «       sJ ‚y ©Nr`   r   rc   r\   )r   r   rP   ÚcopyÚ_invalidr´   r—  ©rg  rV  ÚsÚs1Úb1s        r   Ú	test_copyr¥  Å  sç   € Ü×ÑÓ€AÜ×ÑÓ€AØ	ˆA‰€Aà‡L�L„NÜ	�‰�1‹€BØ�zŠz "§+¢+Ð-Ð-Ø‡K�K��1ÔØ�:Š:˜"Ÿ+š+Ð%Ð%Ø�M‰M‹O˜qŸ|™|›~Ñ-×2Ñ2Ô4Ð4Ð4à‡L�L„NÜ	�‰�1‹€BØ‡L�L��AÔØ�zŠzÐˆ>Ø�L‰L‹N˜aŸl™l›nÑ,×1Ñ1Ô3Ð3Ñ3r   c                  ó¦  — t        j                  «       } t        j                  «       }| |z   }|j                  «        t        j                  |«      }|j
                  s|j
                  rJ ‚| j                  dd«       |j
                  r|j
                  rJ ‚|j                  «       t        j                  «       j                  «       k(  j                  «       sJ ‚|j                  «        t        j                  |«      }|j                  dd«       |j
                  rJ ‚|j                  «       | j                  «       k(  j                  «       sJ ‚y rž  )r   r   rP   rŸ  Údeepcopyr   r´   r—  r¡  s        r   Útest_deepcopyr¨  Ø  sõ   € Ü×ÑÓ€AÜ×ÑÓ€AØ	ˆA‰€Aà‡L�L„NÜ	�‰�qÓ	€BØ�zŠz "§+¢+Ð-Ð-Ø‡K�K��1ÔØ�:Š:˜bŸkškÐ)Ð)Ø�M‰M‹Oœ{×3Ñ3Ó5×@Ñ@ÓBÑB×GÑGÔIÐIÐIà‡L�L„NÜ	�‰�qÓ	€BØ‡L�L��AÔØ�zŠzÐˆ>Ø�L‰L‹N˜aŸl™l›nÑ,×1Ñ1Ô3Ð3Ñ3r   c                  óú   — t        j                  t        j                  «       «      } t        j                  t
        d¬«      5  | j                  t        j                  d«      «       d d d «       y # 1 sw Y   y xY w)Nz`The input and output dims of the new child \(1, 1\) do not match those of current child \(2, 2\)©Úmatchr   )	r   ÚTransformWrapperr   rð   rñ   rò   Úsetr   r¿   rx  s    r   Útest_transformwrapperr®  ë  s\   € Ü×$Ñ$¤[×%9Ñ%9Ó%;Ó<€AÜ	�‰”zð<ô
>ñ &ð 	
�‰Œe× Ñ  Ó$Ô%÷&÷ &ñ &ús   Á%A1Á1A:Úpng)Ú
extensionsc           	      ó$  — t         j                  j                  d«       t         j                  j                  d¬«      }t        j                  ddd«      }t        | |gddg«      D ]§  \  }}|j                  «       }|j                  ||d¬«       |j                  |t        j                  |d	z   d	z  «      t        j                  d	t         j                  z  «      z  «       |j                  j                  «        |j                  d
«       Œ© y )Nr‘   r   )Úsizer  ra   TF)r€   Údensityr   Úlinear)r7   rš   r›   Únormalrg   rÂ   rb  Úhistr6   Úexpr€  rÛ   r¢   r:   rc  )Úfig_testÚfig_refÚsamplesrq   r¦   Ú	log_stater>   s          r   Útest_scale_swappingr¼  ó  sÌ   € ä‡I�I‡N�N�8ÔÜ�i‰i×Ñ BÐÓ'€GÜ
�‰�B˜˜2Ó€Aä˜x¨Ð1°D¸%°=ÓAò  ‰ˆˆYØ�\‰\‹^ˆØ
�‰�˜Y°ˆÔ5Ø
�‰�”2—6‘6˜A˜q™D˜' A™+Ó&¬¯©°´R·U±U±Ó);Ñ;Ô<Ø�
‰
�‰ÔØ
�‰�hÕñ r   c                  ó   — t        j                  t        d¬«      5  t        j                  d d¬«       d d d «       t        j                  t        d¬«      5  t        j                  d d¬«       d d d «       y # 1 sw Y   ŒExY w# 1 sw Y   y xY w)NzZ'fontsize' is not a valid value for units; supported values are 'dots', 'points', 'inches'rª  Úfontsize)Úunitsz3For units of inches or points a fig kwarg is neededÚinches)rð   rñ   rò   r   Úoffset_copyrI   r   r   Útest_offset_copy_errorsrÂ    s|   € Ü	�‰”zðPô
Qñ 8ô 	×Ñ ¨JÕ7÷8ô
 
�‰”zØRô
Tñ 6ä×Ñ ¨HÕ5÷6ð 6÷8ð 8ú÷
6ð 6ús   œA8ÁBÁ8BÂBc                  óÊ  — t        t        j                  «       t        «       j	                  d«      «      } | j                  dd«      sJ ‚| j                  dd«      sJ ‚| j                  dd«      rJ ‚t        t        j                  «       t        «       j                  dd«      «      } | j                  dd	«      sJ ‚| j                  dd	«      rJ ‚| j                  d
d
«      rJ ‚y )Né   r  r  gš™™™™™Ù¿g333333ë?r  g      Ð?r~   r{   rz   )r
   r	   r“  r   Ú
rotate_degÚcontainsr´   Úfully_contains)Úbbs    r   Útest_transformedbbox_containsrÉ    sÁ   € Ü	œŸ™›¤h£j×&;Ñ&;¸BÓ&?Ó	@€BØ�;‰;�r˜2ÔÐÐØ�;‰;�s˜CÔ Ð Ð Ø�{‰{˜2˜rÔ"Ð"Ð"Ü	œŸ™›¤h£j×&:Ñ&:¸3ÀÓ&CÓ	D€BØ�;‰;�t˜SÔ!Ð!Ð!Ø× Ñ   sÔ+Ð+Ð+Ø× Ñ   RÔ(Ð(Ð(Ð(r   )@rŸ  Únumpyr7   Únumpy.testingr   r   r   r   rð   Ú
matplotlibr   Úmatplotlib.pyplotÚpyplotr4   Úmatplotlib.patchesÚpatchesr0  Úmatplotlib.transformsÚ
transformsr   r   r	   r
   Úmatplotlib.pathr   Úmatplotlib.testing.decoratorsr   r   r?   rR   ru   rˆ   r�   r�   r§   r°   r¶   rÉ   r3   rË   rÑ   r  r>  rD  rM  rZ  r]  r`  rd  rh  rn  ru  ry  r‚  r‰  ÚmarkÚparametrizerœ  r¥  r¨  r®  r¼  rÂ  rÉ  rI   r   r   ú<module>r×     sZ  ðÛ ã ÷Jó Jã å Ý Ý %Ý +ß AÑ AÝ  ß Oò#òLCñ$ Ð'Ð(°dÀ'Øôñ Ióð IòF;ò	;ò	;òò&"*òJKò-ô4�{×,Ñ,ô 4÷,B4ñ B4÷JZNñ ZNòz3ò3ò=ò,	5ò/8òdò#òò3ò$0ò!ò* ò,Jð" ‡�×ÑÐ)Ò+CÓDñ<ó Eð<òB4ò&4ò&&ñ   Ô(ñ
 ó )ð
 ò6ó)r   