§
    ‚Øj\U  ã                   ó¨  — d dl Z d dlZd dlZd dlZd dlmZmZ d dlZd dl	m
Z
mZmZ d dlmZ d dlmZmZ d dlmZ  edgdd¬	¦  «        d
„ ¦   «         Z edgdd ej        ¦   «         dk    rd nd¬¦  «        d„ ¦   «         Z edgdd¬	¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zej                             dd ej        dz  ej        dz  ej        dz  g¦  «        ej                             dd dg¦  «        d„ ¦   «         ¦   «         Zd„ Z  edgddd¬¦  «        d„ ¦   «         Z! e
g d ¢¬!¦  «        d"„ ¦   «         Z" e
g d ¢¬!¦  «        d#„ ¦   «         Z# ed$gdd¬	¦  «        d%„ ¦   «         Z$ ed&gdd¬	¦  «        d'„ ¦   «         Z%d(„ Z&d)„ Z' ed*gdd¬	¦  «        d+„ ¦   «         Z( ed,gdd¬	¦  «        d-„ ¦   «         Z) ed.gd/¬0¦  «        d1„ ¦   «         Z*d2„ Z+d3„ Z,dS )4é    N)Úassert_array_almost_equalÚassert_array_equal)Úcheck_figures_equalÚimage_comparisonÚremove_ticks_and_titles)ÚpatchesÚ
transforms)ÚPathÚclippingTÚ_classic_test)Úremove_textÚstylec                  ó  — t          j        ddd¦  «        } t          j        dt           j        z  | z  ¦  «        }t	          j        ¦   «         \  }}|                     | |d¬¦  «         |                     dd¦  «         d S )	Nç        ç       @ç{®Gáz„?é   ç      ð?)Ú	linewidthgš™™™™™É¿gìQ¸…ëÑ¿)ÚnpÚarangeÚsinÚpiÚpltÚsubplotsÚplotÚset_ylim)ÚtÚsÚfigÚaxs       ú™/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_simplification.pyÚtest_clippingr#      so   € å
Œ	�#�s˜DÑ!Ô!€AÝ
Œˆq•”‰w�q‰yÑÔ€AåŒl‰nŒn�G€CˆØ‡G‚GˆAˆq˜C€GÑ Ô Ð Ø‡K‚K��uÑÔÐÐÐó    ÚoverflowÚx86_64gyé&1¬|?)r   r   Útolc                  óø   — t          j        g d¢¦  «        } t          j        t          | ¦  «        ¦  «        }t	          j        ¦   «         \  }}|                     | |¦  «         |                     dd¦  «         d S )N)r   r   ç      @g     jAr   é   )r   Úarrayr   Úlenr   r   r   Úset_xlim©ÚxÚyr    r!   s       r"   Útest_overflowr1      si   € õ 	ŒÐ'Ð'Ð'Ñ(Ô(€AÝ
Œ	•#�a‘&”&ÑÔ€AåŒl‰nŒn�G€CˆØ‡G‚GˆAˆq�M„M€MØ‡K‚K��1ÑÔÐÐÐr$   Úclipping_diamondc                  ó  — t          j        g d¢¦  «        } t          j        g d¢¦  «        }t          j        ¦   «         \  }}|                     | |¦  «         |                     dd¦  «         |                     dd¦  «         d S )N)r   r   r   ç      ð¿r   )r   r   r4   r   r   g333333ã¿g333333ã?)r   r+   r   r   r   r-   r   r.   s       r"   Útest_diamondr5   *   s|   € å
ŒÐ+Ð+Ð+Ñ,Ô,€AÝ
ŒÐ+Ð+Ð+Ñ,Ô,€AåŒl‰nŒn�G€CˆØ‡G‚GˆAˆq�M„M€MØ‡K‚K��cÑÔÐØ‡K‚K��cÑÔÐÐÐr$   c                  óÀ  — t          g d¢¦  «        } |                      d¬¦  «        }t          |j        dg¦  «         |j        t           j        gk    sJ ‚t          g d¢t           j        t           j        t           j        g¦  «        } |                      d¬¦  «        }t          |j        dg¦  «         |j        t           j        gk    sJ ‚t          g d¢t           j        t           j        t           j        g¦  «        } |                      ¦   «         }|                      d¬¦  «        }t          |j        |j        ¦  «         t          |j        |j        ¦  «         d S )N)©r   r   ©é   r   ©r   r9   )é
   r;   é   r<   ©Úclipr7   )r7   r8   )r   é   )	r
   Úcleanedr   ÚverticesÚcodesÚSTOPÚMOVETOÚLINETOÚCURVE3)ÚpathÚ
simplifiedÚsimplified_clippeds      r"   Útest_clipping_out_of_boundsrJ   5   sB  € åÐ(Ð(Ð(Ñ)Ô)€DØ—’Ð#3�Ñ4Ô4€JÝ�zÔ*¨V¨HÑ5Ô5Ð5ØÔ¥¤	˜{Ò*Ð*Ð*Ð*õ Ð(Ð(Ð(Ý”�dœk­4¬;Ð7ñ9ô 9€Dà—’Ð#3�Ñ4Ô4€JÝ�zÔ*¨V¨HÑ5Ô5Ð5ØÔ¥¤	˜{Ò*Ð*Ð*Ð*õ Ð(Ð(Ð(Ý”�dœk­4¬;Ð7ñ9ô 9€Dà—’‘”€JØŸšÐ+;˜Ñ<Ô<ÐÝ�zÔ*Ð,>Ô,GÑHÔHÐHÝ�zÔ'Ð);Ô)AÑBÔBÐBÐBÐBr$   c                  óú  — t           j                             d¦  «         t           j                             d¬¦  «        dz  } t	          j        ¦   «         \  }}|                     | dd¬¦  «        }|j                             ¦   «          |d          	                    ¦   «         }|d          
                    ¦   «         }|                     |¦  «        }|                     d¬	¦  «        }|j        j        d
k    sJ ‚d S )Nr   éPÃ  ©Úsizeé2   Úroundr   ©Úsolid_joinstyler   T©Úsimplifyi¨c  )r   ÚrandomÚseedÚuniformr   r   r   ÚcanvasÚdrawÚget_pathÚget_transformÚtransform_pathr@   rA   rN   ©r/   r    r!   Úp1rG   Ú	transformrH   s          r"   Ú
test_noiser`   L   sØ   € Ý„I‡N‚N�1ÑÔÐÝ
Œ	×Ò˜uÐÑ%Ô%¨Ñ*€AåŒl‰nŒn�G€CˆØ	�Š� G°sˆÑ	;Ô	;€Bð „J‡O‚OÑÔÐØˆaŒ5�>Š>ÑÔ€DØ�1”×#Ò#Ñ%Ô%€IØ×#Ò# DÑ)Ô)€DØ—’ t�Ñ,Ô,€JàÔÔ# uÒ,Ð,Ð,Ð,Ð,Ð,r$   c                  ó–  — d„ } g d¢}g d¢} | ||¦  «        }t          ddgddgddgddgg|j        d d	…d d …f         ¦  «         g d¢}g d
¢} | ||¦  «        }t          ddgddgddgddgg|j        d d	…d d …f         ¦  «         g d¢}g d¢} | ||¦  «        }t          ddgddgddgddgddgg|j        d d	…d d …f         ¦  «         g d¢}g d¢} | ||¦  «        }t          ddgddgddgg|j        d d	…d d …f         ¦  «         g d¢}g d¢} | ||¦  «        }t          ddgddgddgddgg|j        d d	…d d …f         ¦  «         d S )Nc                 ój  — t          j        ¦   «         \  }}|                     | |¦  «        }|d                              ¦   «         }|d                              ¦   «         }|                     |¦  «        }|                     d¬¦  «        }|                     ¦   «                              |¦  «        }|S )Nr   TrS   )r   r   r   rZ   r[   r\   r@   Úinverted)r/   r0   r    r!   r^   rG   r_   rH   s           r"   Ú_get_simplifiedz9test_antiparallel_simplification.<locals>._get_simplified^   s•   € Ý”,‘.”.‰ˆˆRØ�WŠW�Q˜‰]Œ]ˆà�!Œu�~Š~ÑÔˆØ�q”E×'Ò'Ñ)Ô)ˆ	Ø×'Ò'¨Ñ-Ô-ˆØ—\’\¨4�\Ñ0Ô0ˆ
Ø×'Ò'Ñ)Ô)×8Ò8¸ÑDÔDˆ
àÐr$   )r   r   r   r   r   r9   )ç      à?r9   éÿÿÿÿr9   r   re   r   re   r4   r   r   éþÿÿÿ)re   r9   rf   r9   rg   re   g       À)re   r9   rf   r9   r   re   )re   r9   r   r9   r?   re   r)   )re   r9   r   r9   r9   re   )r   rA   )rd   r/   r0   rH   s       r"   Ú test_antiparallel_simplificationrh   ]   s_  € ð
ð 
ð 
ð 	ÐÐ€AØÐÐ€Aà �  AÑ&Ô&€Jå  C˜yØ " C˜yØ " B˜xØ " C˜yð*ð )Ô1°#°2°#°q°q°q°&Ô9ñ	;ô ;ð ;ð 	ÐÐ€AØÐÐ€Aà �  AÑ&Ô&€Jå  C˜yØ " B˜xØ " C˜yØ " C˜yð*ð )Ô1°#°2°#°q°q°q°&Ô9ñ	;ô ;ð ;ð 	ÐÐ€AØÐÐ€Aà �  AÑ&Ô&€Jå  C˜yØ " B˜xØ " C˜yØ " B˜xØ " C˜yð	*ð
 )Ô1°#°2°#°q°q°q°&Ô9ñ;ô ;ð ;ð 	ÐÐ€AØÐÐ€Aà �  AÑ&Ô&€Jå  C˜yØ " B˜xØ " C˜yð*ð )Ô1°#°2°#°q°q°q°&Ô9ñ;ô ;ð ;ð 	ÐÐ€AØÐÐ€Aà �  AÑ&Ô&€Jå  C˜yØ " B˜xØ " B˜xØ " C˜yð*ð )Ô1°#°2°#°q°q°q°&Ô9ñ	;ô ;ð ;ð ;ð ;r$   Úangleé   r?   r   Úoffsetre   c                 ó†  — d}t           j                             d¦  «         t           j                             d¦  «        |z
  |z  }d|d<   d|d<   t          j        | ¦  «        |z  }t          j        | ¦  «        |z  }|dd …                              ¦   «         }|dd …                              ¦   «         }|dd …                              ¦   «         }|dd …                              ¦   «         }	|dk    r/t          ddg||g||	g|d         |d         gddggg d¢¬¦  «        }
n+t          ddg||g|d         |d         gddggg d	¢¬¦  «        }
t          t          j	        ||g¦  «        j
        ¦  «        }|                     d
¬¦  «        }t          |
j        |j        ¦  «         t          |
j        |j        ¦  «         d S )Né   i!N,é   r   r9   rf   )r9   r   r   r   r   )rB   )r9   r   r   r   TrS   )r   rU   rV   Úrandr   ÚcosÚmaxÚminr
   ÚvstackÚTr@   r   rA   r   rB   )ri   rk   ÚscaleÚvert_offsetsr/   r0   Úx_maxÚx_minÚy_maxÚy_minÚ
p_expectedÚpÚp2s                r"   Útest_angled_antiparallelr~   ¬   sÐ  € ð €EÝ„I‡N‚N�8ÑÔÐõ ”I—N’N 2Ñ&Ô&¨Ñ/°5Ñ8€Là€L��Oà€L��Oå
Œˆu‰Œ˜Ñ$€AÝ
Œˆu‰Œ˜Ñ$€Að ˆaˆbˆbŒE�IŠI‰KŒK€EØˆaˆbˆbŒE�IŠI‰KŒK€EàˆaˆbˆbŒE�IŠI‰KŒK€EØˆaˆbˆbŒE�IŠI‰KŒK€Eà�‚z€zÝ˜A˜q˜6Ø! 5˜>Ø! 5˜>Ø˜bœE 1 R¤5˜>Ø˜q˜6ð	#ð
 !0  ð1ñ 1ô 1ˆ
ˆ
õ ˜A˜q˜6Ø! 5˜>Ø˜bœE 1 R¤5˜>Ø˜q˜6ð#ð !-  ð	.ñ .ô .ˆ
õ 	�RŒY˜˜1�vÑÔÔ Ñ!Ô!€AØ	
�Š˜DˆÑ	!Ô	!€Bå˜jÔ1Ø œkñ+ô +ð +å�zÔ'¨¬Ñ2Ô2Ð2Ð2Ð2r$   c                  óf  — t           j                             d¦  «         t          j        t          j        dt           j        dz  d¦  «        ¦  «        t           j                             d¬¦  «        dz  z   } t          j        ¦   «         \  }}| 	                    | dd¬¦  «        }|j
                             ¦   «          |d                              ¦   «         }|d                              ¦   «         }|                     |¦  «        }|                     d¬	¦  «        }|j        j        d
k    sJ ‚d S )Nr   r   rL   rM   r   rP   rQ   TrS   i˜b  )r   rU   rV   r   Úlinspacer   rW   r   r   r   rX   rY   rZ   r[   r\   r@   rA   rN   r]   s          r"   Útest_sine_plus_noiser�   Ú   s   € Ý„I‡N‚N�1ÑÔÐÝ	Œ•”˜A�rœu s™{¨EÑ2Ô2Ñ	3Ô	3Ý	Œ×	Ò	 Ð	Ñ	&Ô	&¨Ñ	-ñ
.€Aõ Œl‰nŒn�G€CˆØ	�Š� G°sˆÑ	;Ô	;€Bð „J‡O‚OÑÔÐØˆaŒ5�>Š>ÑÔ€DØ�1”×#Ò#Ñ%Ô%€IØ×#Ò# DÑ)Ô)€DØ—’ t�Ñ,Ô,€JàÔÔ# uÒ,Ð,Ð,Ð,Ð,Ð,r$   Úsimplify_curvegœÄ °rh‘?c                  óÔ  — t          j        t          dddt          j        dfddddgt          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        g¦  «        d¬¦  «        } t          j	        ¦   «         \  }}| 
                    | ¦  «         |                     d	d
¦  «         |                     d	d
¦  «         d S )Nr7   ©r9   r   ©r9   r9   r9   )r   r   ©r   r   Únone)Úfcr   r   )r   Ú	PathPatchr
   r   ÚnanrD   rF   Ú	CLOSEPOLYr   r   Ú	add_patchr-   r   )Úpp1r    r!   s      r"   Útest_simplify_curverŽ   ì   sÁ   € õ Ô
Ýˆf�f˜f¥r¤v¨q k°6¸6À6ØðåŒk�4œ;­¬µT´[Å$Ä+ÝŒk�4œ;­¬ð8ñ	9ô 	9ð ðñ ô €Cõ Œl‰nŒn�G€CˆØ‡L‚L�ÑÔÐØ‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐÐÐr$   )ÚpngÚpdfÚsvg)Ú
extensionsc                 ó>  — |                       dd¦  «                             ¦   «         }|                      dd¦  «                             ¦   «         }t          dt          j        gddgddgddgddggt          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          dt          j        gddgddgddgdt          j        ggt          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          ddgddgddgdt          j        gddggt          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          ddgddgddgdt          j        gddggt          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          dt          j        gddgddgddgddgddgddgddgdt          j        gddgg
t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        g
¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          dt          j        gddgddgddgdt          j        gddgddgddgdt          j        gddgg
t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        g
¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          d	d	gdd	gdt          j        gddgd	dgd	d	ggt          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          d	d	gdd	gdt          j        gddgd	dgd	d	ggt          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          ddgddgddgdt          j        gddgddggt          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          ddgddgddgdt          j        gddgddggt          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          d	d	gdd	gdt          j        gddgddgd	dgd	d	ggt          j        t          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          d	d	gdd	gdt          j        gddgddgd	dgd	d	ggt          j        t          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          ddgddgddgdt          j        gddgddgddggt          j        t          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          ddgddgddgdt          j        gddgddgddggt          j        t          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          ddgddgddgddgdt          j        gddgddggt          j        t          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         t          ddgddgddgddgdt          j        gddgddggt          j        t          j        t          j        t          j        t          j        t          j        t          j        g¦  «        }|d                              t          j
        |d¬¦  «        ¦  «         g |j        ¢|j        ¢D ]}|                     d
d
¬¦  «         Œt          | ¦  «         t          |¦  «         d S )Nr   éýÿÿÿr?   r   r‡   ©Ú	facecolorrg   r9   rf   )g      Àg      @)ÚxlimÚylim)r   Úflattenr
   r   rŠ   rD   rE   r‹   rŒ   r   r‰   rF   ÚCURVE4ÚflatÚsetr   )Úfig_testÚfig_refÚax_testÚax_refrG   r!   s         r"   Útest_closed_path_nan_removalr¡   ü   sB	  € à×Ò  1Ñ%Ô%×-Ò-Ñ/Ô/€GØ×Ò˜a Ñ#Ô#×+Ò+Ñ-Ô-€Fõ Ø
�bŒfˆ˜˜2�w  A ¨¨Q¨°"°b°Ð:Ý	Œ•d”k¥4¤;µ´½T¼^ÐLñNô N€Dð ˆA„J×Ò�Ô*¨4¸6ÐBÑBÔBÑCÔCÐCÝØ
�bŒfˆ˜˜2�w  A ¨¨Q¨°"µb´f°Ð>Ý	Œ•d”k¥4¤;µ´½T¼[ÐIñKô K€Dð ˆ1„I×Ò�Ô)¨$¸&ÐAÑAÔAÑBÔBÐBõ Ø
ˆbˆ�A�r�7˜Q ˜F R­¬ L°2°r°(Ð;Ý	Œ•d”k¥4¤;µ´½T¼^ÐLñNô N€Dð ˆA„J×Ò�Ô*¨4¸6ÐBÑBÔBÑCÔCÐCÝØ
ˆbˆ�A�r�7˜Q ˜F R­¬ L°2°r°(Ð;Ý	Œ•d”k¥4¤;µ´½T¼[ÐIñKô K€Dð ˆ1„I×Ò�Ô)¨$¸&ÐAÑAÔAÑBÔBÐBõ Ø
�bŒfˆ˜˜2�w  A ¨¨Q¨°"°b°Ø
ˆbˆ�A�r�7˜Q ˜F R­¬ L°2°r°(ð	<å	Œ•d”k¥4¤;µ´½T¼^Ý	Œ•d”k¥4¤;µ´½T¼^ð	MñNô N€Dð
 ˆA„J×Ò�Ô*¨4¸6ÐBÑBÔBÑCÔCÐCÝØ
�bŒfˆ˜˜2�w  A ¨¨Q¨°"µb´f°Ø
ˆbˆ�A�r�7˜Q ˜F R­¬ L°2°r°(ð	<å	Œ•d”k¥4¤;µ´½T¼[Ý	Œ•d”k¥4¤;µ´½T¼[ð	JñKô K€Dð
 ˆ1„I×Ò�Ô)¨$¸&ÐAÑAÔAÑBÔBÐBõ Ø
ˆbˆ�A�r�7˜Q¥¤˜K¨!¨Q¨°"°a°¸2¸r¸(ÐCÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œð	ñô €Dð ˆA„J×Ò�Ô*¨4¸6ÐBÑBÔBÑCÔCÐCÝØ
ˆbˆ�A�r�7˜Q¥¤˜K¨!¨Q¨°"°a°¸2¸r¸(ÐCÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œð	ñô €Dð ˆ1„I×Ò�Ô)¨$¸&ÐAÑAÔAÑBÔBÐBõ Ø
ˆbˆ�A�r�7˜Q ˜F Q­¬ K°"°a°¸2¸r¸(ÐCÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œð	ñô €Dð ˆA„J×Ò�Ô*¨4¸6ÐBÑBÔBÑCÔCÐCÝØ
ˆbˆ�A�r�7˜Q ˜F Q­¬ K°"°a°¸2¸r¸(ÐCÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œð	ñô €Dð ˆ1„I×Ò�Ô)¨$¸&ÐAÑAÔAÑBÔBÐBõ Ø
ˆbˆ�A�r�7˜Q¥¤˜K¨!¨Q¨°!°Q°¸"¸a¸À2ÀrÀ(ÐKÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œ•d”nð	&ñ'ô '€Dð ˆA„J×Ò�Ô*¨4¸6ÐBÑBÔBÑCÔCÐCÝØ
ˆbˆ�A�r�7˜Q¥¤˜K¨!¨Q¨°!°Q°¸"¸a¸À2ÀrÀ(ÐKÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œ•d”nð	&ñ'ô '€Dð ˆ1„I×Ò�Ô)¨$¸&ÐAÑAÔAÑBÔBÐBõ Ø
ˆbˆ�A�r�7˜Q ˜F Q­¬ K°!°Q°¸"¸a¸À2ÀrÀ(ÐKÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œ•d”kð	#ñ$ô $€Dð ˆA„J×Ò�Ô*¨4¸6ÐBÑBÔBÑCÔCÐCÝØ
ˆbˆ�A�r�7˜Q ˜F Q­¬ K°!°Q°¸"¸a¸À2ÀrÀ(ÐKÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œ•d”kð	#ñ$ô $€Dð ˆ1„I×Ò�Ô)¨$¸&ÐAÑAÔAÑBÔBÐBõ Ø
ˆbˆ�A�r�7˜Q ˜F Q¨ F¨Qµ´¨K¸"¸a¸À2ÀrÀ(ÐKÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œ•d”kð	#ñ$ô $€Dð ˆA„J×Ò�Ô*¨4¸6ÐBÑBÔBÑCÔCÐCÝØ
ˆbˆ�A�r�7˜Q ˜F Q¨ F¨Qµ´¨K¸"¸a¸À2ÀrÀ(ÐKÝ	Œ•d”k¥4¤;µ´½T¼[Ý	Œ•d”kð	#ñ$ô $€Dð ˆ1„I×Ò�Ô)¨$¸&ÐAÑAÔAÑBÔBÐBð ,�”Ð+˜vœ{Ð+ð 3ð 3ˆØ
�Š�K kˆÑ2Ô2Ð2Ð2Ý˜HÑ%Ô%Ð%Ý˜GÑ$Ô$Ð$Ð$Ð$r$   c           
      óØ  — g }t          d¦  «        D ]„}d|z  dz   }ddgddgddgddgd|dz  z
  dgd|dz  z
  |g|dz  |g|dz  dgg}t          j        ||d¬¦  «        }t          j        ||d d…d d …f         f¦  «        }|                     |¦  «         Œ…t          j        t          |d         ¦  «        t          j        ¦  «        }t          j	        |d<   t          j
        |d	<   t          j        |t          |¦  «        ¦  «        }t          j        |¦  «        }|                      d
¦  «         t          ||¦  «        }|                      t          j        |d¬¦  «        ¦  «         |                     d
¦  «         |                     ¦   «         }t          j        ||t          j
        k    <   t          ||¦  «        }|                     t          j        |d¬¦  «        ¦  «         d S )Né   gš™™™™™¹?g      à¿g      ø?r9   r   r   )Úaxisrf   )rm   rm   r‡   r•   )Úranger   ÚrollÚconcatenateÚappendÚfullr,   r
   rE   rD   r‹   ÚtileÚset_size_inchesÚ
add_artistr   r‰   Úcopy)r�   rž   rA   r¦   rk   ÚpatternrB   rG   s           r"   Útest_closed_path_clippingr¯   h  sæ  € à€HÝ�a‘”ð !ð !ˆØ�t‘˜cÑ!ˆð �3ˆK˜$ ˜¨¨T {°S¸#°Jà�˜!‘‰^˜SÐ! A¨°©
¡N°FÐ#;Ø�a‰Z˜Ð  6¨A¡:¨sÐ"3ð	
ˆõ ”'˜' 4¨aÐ0Ñ0Ô0ˆÝ”. '¨7°2°A°2°q°q°q°5¬>Ð!:Ñ;Ô;ˆà�Š˜Ñ Ô Ð Ð õ ŒG•C˜ œÑ$Ô$¥d¤kÑ2Ô2€EÝŒ{€Eˆ!�HÝ”€Eˆ"�IÝŒG�E�3˜x™=œ=Ñ)Ô)€EÝŒ~˜hÑ'Ô'€Hà×Ò˜VÑ$Ô$Ð$Ý�˜%Ñ Ô €DØ×Ò�Ô)¨$¸&ÐAÑAÔAÑBÔBÐBð ×Ò˜FÑ#Ô#Ð#Ø�JŠJ‰LŒL€EÝ%)¤[€Eˆ%•4”>Ò
!Ñ"Ý�˜%Ñ Ô €DØ×Ò•wÔ(¨¸Ð@Ñ@Ô@ÑAÔAÐAÐAÐAr$   Úhatch_simplifyc            	      óâ   — t          j        ¦   «         \  } }|                     t          j        ddddd¬¦  «        ¦  «         |                     dd¦  «         |                     dd¦  «         d S )Nr7   r9   Fú/)ÚfillÚhatchgÍÌÌÌÌÌÜ?gš™™™™™á?)r   r   rŒ   Ú	Rectangler-   r   )r    r!   s     r"   Ú
test_hatchr¶   ‘  sf   € åŒl‰nŒn�G€CˆØ‡L‚L•”˜v q¨!°%¸sÐCÑCÔCÑDÔDÐDØ‡K‚K��dÑÔÐØ‡K‚K��dÑÔÐÐÐr$   Ú	fft_peaksc                  óz  — t          j        ¦   «         \  } }t          j        d¦  «        }|                     t          t          j                             t          j        dt          j        z  dz  |z  ¦  «        t          j	        t          |¦  «        ¦  «        z  ¦  «        ¦  «        ¦  «        }| j                             ¦   «          |d                              ¦   «         }|d                              ¦   «         }|                     |¦  «        }|                     d¬¦  «        }|j        j        dk    sJ ‚d S )Ni   r   r   r   TrS   é$   )r   r   r   r   r   ÚabsÚfftr   r   Úblackmanr,   rX   rY   rZ   r[   r\   r@   rA   rN   )r    r!   r   r^   rG   r_   rH   s          r"   Útest_fft_peaksr½   ™  só   € åŒl‰nŒn�G€CˆÝ
Œ	�%ÑÔ€AØ	�Š••R”V—Z’Z¥¤ q­¬¡w¨s¡{°1¡}Ñ 5Ô 5µb´kÅ#ÀaÁ&Ä&Ñ6IÔ6IÑ IÑJÔJÑKÔKÑ	LÔ	L€Bð „J‡O‚OÑÔÐØˆaŒ5�>Š>ÑÔ€DØ�1”×#Ò#Ñ%Ô%€IØ×#Ò# DÑ)Ô)€DØ—’ t�Ñ,Ô,€JàÔÔ# rÒ)Ð)Ð)Ð)Ð)Ð)r$   c                  óš  — d} t          j        t          j        | ¦  «        d¬¦  «        }|                     t          |¦  «        dz  df¦  «        }t          |¦  «        }|                     t          j	        ¦   «         d¬¦  «        }t          |¦  «        }t          |¦  «        dk    sJ ‚|d         d         t          j        k    sJ ‚d S )	NsÌ  
ZwAAAAku+v9UAQAA+Tj6/z8CAADpQ/r/KAMAANlO+v8QBAAAyVn6//UEAAC6ZPr/2gUAAKpv+v+8
BgAAm3r6/50HAACLhfr/ewgAAHyQ+v9ZCQAAbZv6/zQKAABepvr/DgsAAE+x+v/lCwAAQLz6/7wM
AAAxx/r/kA0AACPS+v9jDgAAFN36/zQPAAAF6Pr/AxAAAPfy+v/QEAAA6f36/5wRAADbCPv/ZhIA
AMwT+/8uEwAAvh77//UTAACwKfv/uRQAAKM0+/98FQAAlT/7/z0WAACHSvv//RYAAHlV+/+7FwAA
bGD7/3cYAABea/v/MRkAAFF2+//pGQAARIH7/6AaAAA3jPv/VRsAACmX+/8JHAAAHKL7/7ocAAAP
rfv/ah0AAAO4+/8YHgAA9sL7/8QeAADpzfv/bx8AANzY+/8YIAAA0OP7/78gAADD7vv/ZCEAALf5
+/8IIgAAqwT8/6kiAACeD/z/SiMAAJIa/P/oIwAAhiX8/4QkAAB6MPz/HyUAAG47/P+4JQAAYkb8
/1AmAABWUfz/5SYAAEpc/P95JwAAPmf8/wsoAAAzcvz/nCgAACd9/P8qKQAAHIj8/7cpAAAQk/z/
QyoAAAWe/P/MKgAA+aj8/1QrAADus/z/2isAAOO+/P9eLAAA2Mn8/+AsAADM1Pz/YS0AAMHf/P/g
LQAAtur8/10uAACr9fz/2C4AAKEA/f9SLwAAlgv9/8ovAACLFv3/QDAAAIAh/f+1MAAAdSz9/ycx
AABrN/3/mDEAAGBC/f8IMgAAVk39/3UyAABLWP3/4TIAAEFj/f9LMwAANm79/7MzAAAsef3/GjQA
ACKE/f9+NAAAF4/9/+E0AAANmv3/QzUAAAOl/f+iNQAA+a/9/wA2AADvuv3/XDYAAOXF/f+2NgAA
29D9/w83AADR2/3/ZjcAAMfm/f+7NwAAvfH9/w44AACz/P3/XzgAAKkH/v+vOAAAnxL+//04AACW
Hf7/SjkAAIwo/v+UOQAAgjP+/905AAB5Pv7/JDoAAG9J/v9pOgAAZVT+/606AABcX/7/7zoAAFJq
/v8vOwAASXX+/207AAA/gP7/qjsAADaL/v/lOwAALZb+/x48AAAjof7/VTwAABqs/v+LPAAAELf+
/788AAAHwv7/8TwAAP7M/v8hPQAA9df+/1A9AADr4v7/fT0AAOLt/v+oPQAA2fj+/9E9AADQA///
+T0AAMYO//8fPgAAvRn//0M+AAC0JP//ZT4AAKsv//+GPgAAojr//6U+AACZRf//wj4AAJBQ///d
PgAAh1v///c+AAB+Zv//Dz8AAHRx//8lPwAAa3z//zk/AABih///TD8AAFmS//9dPwAAUJ3//2w/
AABHqP//ej8AAD6z//+FPwAANb7//48/AAAsyf//lz8AACPU//+ePwAAGt///6M/AAAR6v//pj8A
AAj1//+nPwAA/////w==z<i4)Údtyper   )r   r   ç      Y@rÀ   r=   r9   r   )r   Ú
frombufferÚbase64ÚdecodebytesÚreshaper,   r
   Úiter_segmentsr	   ÚIdentityTransformÚlistrD   )ÚdataÚvertsrG   Úsegss       r"   Útest_start_with_movetorË   ©  s¼   € ð€Dõ, ŒM�&Ô,¨TÑ2Ô2¸%Ð@Ñ@Ô@€EØ�MŠM�3˜u™:œ:¨™?¨AÐ.Ñ/Ô/€EÝ�‰;Œ;€DØ×Ò�jÔ:Ñ<Ô<Ø#;ð ñ =ô =€Då�‰:Œ:€DÝˆt‰9Œ9˜Š>ˆ>ˆ>ˆ>Ø�Œ7�1Œ:�œÒ$Ð$Ð$Ð$Ð$Ð$r$   c                 ó°  — dt           j        d<   t          j        d¦  «        }t          j                             d¦  «        }t          j        |d<   t          j        ¦   «         \  }}|                     ||¦  «         t          j
        t          ¦  «        5  |                     t          j        ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NFzpath.simplifyi€„ iè  )r   ÚrcParamsr   r   rU   ro   rŠ   r   r   ÚpytestÚraisesÚOverflowErrorÚsavefigÚioÚBytesIO)Úhigh_memoryÚxxÚyyr    r!   s        r"   Ú(test_throw_rendering_complexity_exceededr×   Ë  sç   € Ø$)…C„L�Ñ!Ý	Œ�9Ñ	Ô	€BÝ	Œ�Š˜	Ñ	"Ô	"€BÝŒv€B€t�HåŒl‰nŒn�G€CˆØ‡G‚GˆB��O„O€OÝ	Œ•}Ñ	%Ô	%ð "ð "Ø�Š•B”J‘L”LÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   Â'CÃCÃCÚclipper_edgec                  ó  — d} t          j        d¬¦  «        }|                     dddd¬¦  «         |                     ddd¬	¦  «        }|                     | ¦  «         |j                             t          j        d
¦  «        ¦  «         |j                             t          j        d
¦  «        ¦  «         |j         	                    d¦  «         |j         	                    d¦  «         | 
                    dd¦  «         d S )N)
r   r9   r   r   r   r?   r   rj   r   rm   r:   )Úfigsizer   )ÚleftÚbottomÚwspaceÚhspace)r   r   r   r   )r   rm   F)r˜   Úautoscale_onr9   rÜ   rÛ   rm   é	   )r   ÚfigureÚsubplots_adjustÚadd_axesr   ÚxaxisÚset_major_locatorÚMultipleLocatorÚyaxisÚset_ticks_positionr-   )Údatr    r!   s      r"   Útest_clipperrê   ×  så   € à
(€CÝ
Œ*˜VÐ
$Ñ
$Ô
$€CØ×Ò˜Q q°¸1ÐÑ=Ô=Ð=à	�ŠÐ&¨VÀ%ˆÑ	HÔ	H€BØ‡G‚GˆC�L„L€LØ„H×Ò�sÔ2°1Ñ5Ô5Ñ6Ô6Ð6Ø„H×Ò�sÔ2°1Ñ5Ô5Ñ6Ô6Ð6Ø„H×Ò Ñ)Ô)Ð)Ø„H×Ò Ñ'Ô'Ð'à‡K‚K��1ÑÔÐÐÐr$   Úpara_equal_perpc                  ó  — t          j        g d¢dgdz  z   ¦  «        } t          j        g d¢dgdz  z   ¦  «        }t          j        ¦   «         \  }}|                     | dz   |dz   ¦  «         |                     | dz   |dz   d¦  «         d S )N)r   r9   r   r9   r   rf   r   r9   r9   é€   )r9   r9   r   r9   r   rf   r   r   r   Úro)r   r+   r   r   r   r.   s       r"   Útest_para_equal_perprï   ç  s“   € å
ŒÐ*Ð*Ð*¨a¨S°3©YÑ6Ñ7Ô7€AÝ
ŒÐ*Ð*Ð*¨a¨S°3©YÑ6Ñ7Ô7€AåŒl‰nŒn�G€CˆØ‡G‚GˆA�‰E�1�q‘5ÑÔÐØ‡G‚GˆA�‰E�1�q‘5˜$ÑÔÐÐÐr$   Úclipping_with_nansÚmpl20)r   c                  ó  — t          j        ddd¦  «        } t          j        | ¦  «        }t           j        | d d d…<   t	          j        ¦   «         \  }}|                     | |¦  «         |                     dd¦  «         d S )Nr   g…ëQ¸@i¸  éd   g      Ð¿g      Ð?)r   r€   r   rŠ   r   r   r   r   r.   s       r"   Útest_clipping_with_nansrô   ñ  sm   € å
Œ�A�x Ñ&Ô&€AÝ
Œˆq‰	Œ	€AÝŒv€A€e€eˆ€e�HåŒl‰nŒn�G€CˆØ‡G‚GˆAˆq�M„M€MØ‡K‚K��tÑÔÐÐÐr$   c                  óÜ  — t          ddggdz  ¦  «        } t          |                      g d¢¬¦  «        ¦  «        }|g k    sJ ‚t          ddgddggd	d
g¦  «        } t          |                      g d¢¬¦  «        ¦  «        }d„ |D ¦   «         ddgd	fddgd
fgk    sJ ‚t          ddggd	g¦  «        } t          |                      g d¢¬¦  «        ¦  «        }d„ |D ¦   «         ddgd	fgk    sJ ‚d S )NgêŒ 9Y>)Frm   )r   r   ró   ró   r=   rO   é(   éK   éA   r9   r   c                 ó6   — g | ]\  }}t          |¦  «        |f‘ŒS © ©rÇ   ©Ú.0r/   r0   s      r"   ú
<listcomp>z&test_clipping_full.<locals>.<listcomp>  ó&   € Ð1Ð1Ð1™d˜a �d�1‰gŒg�qˆ\Ð1Ð1Ð1r$   c                 ó6   — g | ]\  }}t          |¦  «        |f‘ŒS rú   rû   rü   s      r"   rþ   z&test_clipping_full.<locals>.<listcomp>  rÿ   r$   )r
   rÇ   rÅ   )r|   rH   s     r"   Útest_clipping_fullr  ü  sC  € Ýˆt�Tˆlˆ^˜aÑÑ Ô €AÝ�a—o’oÐ+;Ð+;Ð+;�oÑ<Ô<Ñ=Ô=€JØ˜ÒÐÐÐåˆr�2ˆh˜˜R˜Ð! A q 6Ñ*Ô*€AÝ�a—o’oÐ+;Ð+;Ð+;�oÑ<Ô<Ñ=Ô=€JØ1Ð1 jÐ1Ñ1Ô1Ø�2ˆh˜ˆ]˜b "˜X q˜MÐ*ò+ð +ð +ð +õ 	ˆr�2ˆhˆZ˜!˜ÑÔ€AÝ�a—o’oÐ+;Ð+;Ð+;�oÑ<Ô<Ñ=Ô=€JØ1Ð1 jÐ1Ñ1Ô1Ø�2ˆh˜ˆ]ˆOòð ð ð ð ð r$   c                  ó4  — t          dddt          j        t          j        fgt           j        t           j        t           j        t           j        g¦  «        t          g d¢t           j        t           j        t           j        t           j        g¦  «        g} t          g d¢t           j        t           j        t           j        t           j        t           j        t           j        g¦  «        }| D ]L}|                     d¬¦  «        }t          |j	        |j	        ¦  «         t          |j
        |j
        ¦  «         ŒMt          dddt          j        t          j        fdd	d
t          j        t          j        fgt           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        g¦  «        }t          g d¢t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        g
¦  «        }|                     d¬¦  «        }t          |j	        |j	        ¦  «         t          |j
        |j
        ¦  «         t          dddt          j        t          j        fdd
dddg	t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        g	¦  «        }t          dddt          j        t          j        fdd
ddddg
t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        g
¦  «        }|                     d¬¦  «        }t          |j	        |j	        ¦  «         t          |j
        |j
        ¦  «         d S )Nr…   r:   r†   )r…   r:   r†   )rö   rO   )r…   r:   r†   r…   r…   r7   TrS   ©rf   r   ©rg   r   ©rg   r9   )
r…   r:   r†   r…   r  r  r  r  r  r7   r„   )r9   rf   )r   rf   )rf   rf   )rf   r9   )r   rf   r7   )r
   r   rŠ   rD   rE   r‹   rC   r@   r   rA   rB   )ÚpathsÚexpected_pathrG   Úsimplified_paths       r"   Útest_simplify_closepolyr	    s  € õ �6˜6 6­B¬FµB´FÐ+;Ð<Ý”;¥¤­T¬[½$¼.ÐIñKô KåÐ4Ð4Ð4Ý”;¥¤­T¬[½$¼.ÐIñKô KðL€Eõ ÐIÐIÐIÝœ+¥t¤{µD´KÅÄÝœ+¥t¤yð2ñ3ô 3€Mð ð Gð GˆØŸ,š,°˜,Ñ5Ô5ˆÝ˜=Ô1°?Ô3KÑLÔLÐLÝ˜=Ô.°Ô0EÑFÔFÐFÐFõ �˜ ­"¬&µ"´&Ð)9Ø˜' 7­R¬VµR´VÐ,<ð>å”�dœk­4¬;½¼Ý”�dœk­4¬;½¼ðHñIô I€Dõ ð Oð Oð Oåœ+¥t¤{µD´KÅÄÝœ+¥t¤{µD´KÅÄÝœ+¥t¤yð2ñ3ô 3€Mð —l’l¨D�lÑ1Ô1€OÝ�}Ô-¨Ô/GÑHÔHÐHÝ�}Ô*¨OÔ,AÑBÔBÐBõ �˜ 'Ý”&�"œ&Ð! 8¨W°gØ˜ð"õ ”�dœk­4¬;Ý”�dœk­4¬;½¼Ý”¥¤ð.ñ/ô /€Dõ ˜& '¨7Ýœ6¥2¤6Ð*¨H°g¸wØ! 7¨Fð4õ œ+¥t¤{µD´KÝœ+¥t¤{µD´KÅÄÝœ+¥t¤{µD´Ið?ñ@ô @€Mð —l’l¨D�lÑ1Ô1€OÝ�}Ô-¨Ô/GÑHÔHÐHÝ�}Ô*¨OÔ,AÑBÔBÐBÐBÐBr$   )-rÂ   rÒ   ÚplatformÚnumpyr   Únumpy.testingr   r   rÎ   Úmatplotlib.testing.decoratorsr   r   r   Úmatplotlib.pyplotÚpyplotr   Ú
matplotlibr   r	   Úmatplotlib.pathr
   r#   Úmachiner1   r5   rJ   r`   rh   ÚmarkÚparametrizer   r~   r�   rŽ   r¡   r¯   r¶   r½   rË   r×   rê   rï   rô   r  r	  rú   r$   r"   ú<module>r     s  ðØ €€€Ø 	€	€	€	Ø €€€à Ð Ð Ð Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gà €€€ðDð Dð Dð Dð Dð Dð Dð Dð Dð Dà Ð Ð Ð Ð Ð à *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø  Ð  Ð  Ð  Ð  Ð  ð Ð�:�,¨D¸ÐHÑHÔHðð ñ IÔHðð Ð�:�,¨D¸Ø+˜8Ô+Ñ-Ô-°Ò9Ð9�a�a¸uðFñ Fô Fðð ñFô Fðð ÐÐ%Ð&°DÀÐPÑPÔPðð ñ QÔPððCð Cð Cð.-ð -ð -ð"G;ð G;ð G;ð^ „×Ò˜ 1 b¤e¨A¡g¨r¬u°Q©w¸¼¸a¹Ð"@ÑAÔAØ„×Ò˜ A r 7Ñ+Ô+ð)3ð )3ñ ,Ô+ñ BÔAð)3ðX-ð -ð -ð$ ÐÐ#Ð$°$¸oØðñ ô ðð ñô ðð ÐÐ 5Ð 5Ð 5Ð6Ñ6Ô6ðh%ð h%ñ 7Ô6ðh%ðV ÐÐ 5Ð 5Ð 5Ð6Ñ6Ô6ð%Bð %Bñ 7Ô6ð%BðP ÐÐ#Ð$°$¸oÐNÑNÔNðð ñ OÔNðð Ð�;�-¨T¸ÐIÑIÔIð*ð *ñ JÔIð*ð%ð %ð %ðD	"ð 	"ð 	"ð Ð�>Ð"°¸OÐLÑLÔLðð ñ MÔLðð ÐÐ$Ð%°4¸ÐOÑOÔOð ð  ñ PÔOð ð ÐÐ'Ð(°Ð8Ñ8Ô8ðð ñ 9Ô8ððð ð ð 0Cð 0Cð 0Cð 0Cð 0Cr$   