Ë
    ^ãjÑ ã                   ó”  — d dl Z d dlZd dl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 d dlmZmZmZmZmZ d dlZd dlmZ d dlZej<                  d„ «       Zd„ Z ejB                  jE                  d	 e#«        e#d
d¬«       e#ddd¬«       e# e#d
¬«      ¬«      g«      d„ «       Z$ejB                  jE                  dddg«      ejB                  jE                  dd dgddgddgg«      ejB                  jE                  dd dgddgddgg«      d„ «       «       «       Z%d„ Z&ejB                  jE                  dd
dgddgg«      d„ «       Z'd „ Z(d!„ Z)d"„ Z*ejB                  jE                  d#d
dg«      d$„ «       Z+ejB                  jE                  d#d
dg«      d%„ «       Z,d&„ Z-ejB                  jE                  d'ej\                  ej^                  g«      d(„ «       Z0d)„ Z1ejB                  jE                  d*dd
g«      d+„ «       Z2d,„ Z3d-„ Z4ejB                  jE                  d.d
dg«      d/„ «       Z5ejB                  jE                  d0d
dg«      d1„ «       Z6ejB                  jE                  d2d3d e#dd
¬4«      fd5d
 e#d¬6«      fd3d e# e#d
¬«      ¬«      fd3d e#d
¬7«      fg«      d8„ «       Z7ejB                  jE                  d.d
dg«      d9„ «       Z8ejB                  jE                  d0d
dg«      d:„ «       Z9ejB                  jE                  d;d
dg«      d<„ «       Z:d=„ Z;d>„ Z<ejB                  jE                  d?d@dAg«      dB„ «       Z=ejB                  jE                  d?d@dAg«      dC„ «       Z>dD„ Z?dE„ Z@ejB                  jE                  dFdG«      dH„ «       ZAejB                  j…                  dId
¬J«      dK„ «       ZCdL„ ZDdM„ ZEdN„ ZFejB                  jE                  d	 e#«        e#d e#dO¬P«      ¬Q«       e#d
d¬«      g«      dR„ «       ZGdS„ ZHdT„ ZIdU„ ZJejB                  jE                  dVg dW¢«      dX„ «       ZKdY„ ZL edZgd[d
¬\«      d]„ «       ZM ed^g¬_«      d`„ «       ZN ed^g¬_«      da„ «       ZOdb„ ZP ed^g¬_«      dc„ «       ZQ ed^g¬_«      dd„ «       ZR ed^g¬_«      de„ «       ZSdf„ ZTdg„ ZUdh„ ZVdi„ ZWdj„ ZXdk„ ZYejB                  jE                  dld3d5g«      dm„ «       ZZejB                  jE                  dld3d5g«      dn„ «       Z[do„ Z\dp„ Z]dq„ Z^ejB                  jE                  drdd
g«      ds„ «       Z_ejB                  jE                  drdd
g«      dt„ «       Z` e«       du„ «       ZaejB                  jE                  dvg dw¢«      ejB                  jE                  drdd
g«      dx„ «       «       ZbejB                  jE                  drdd
g«      dy„ «       ZcejB                  jE                  drdd
g«      dz„ «       ZdejB                  jE                  drdd
g«       ed^g¬_«      d{„ «       «       Zed|„ Zfd}„ ZgejB                  jE                  d~dd
g«      ejB                  jE                  ddd
g«      d€„ «       «       Zhy)�é    N)Úmock)Ú
MouseEvent)Úcheck_figures_equalÚimage_comparison)Úclick_and_dragÚdo_eventÚget_axÚ
mock_eventÚnoop)Úassert_allclosec                  ó   — t        «       S ©N)r	   © ó    ú_/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/matplotlib/tests/test_widgets.pyÚaxr      s	   € ä‹8€Or   c            
      ó`  — ddl m} m} ddlm}  |«       dvrt        j                  d«       t        j                  dddddg¬	«      \  }} ||d
   ddg«      } ||d   ddgddgddgdœddgddgdœ¬«      } | |d   ddgddg¬«      } | |d   ddgddgddgddgdœddgddgdœdddgi¬«      }|d
   j                  d«       |d   j                  d «       |j                  j                  «        t        j                  «       5 }	|j                  |	d!¬"«       d d d «       y # 1 sw Y   y xY w)#Nr   )ÚCheckButtonsÚRadioButtons)Ú"_get_running_interactive_framework)ÚheadlessNz-Callback exceptions are not raised otherwise.é   )é   r   é   )ÚnrowsÚncolsÚfigsizeÚwidth_ratios©r   r   ÚApplesÚOranges©r   r   ÚredÚorangeé   é   ©ÚcolorÚfontsizeÚ	mistyroseÚ	peachpuff©Ú	edgecolorÚ	facecolor©Úlabel_propsÚradio_props)r   r   T)Úactives)r   r   r(   ÚdarkredÚ
darkorange)r2   r0   Úframe_propsÚcheck_propsÚDefaultÚStylizedÚpdf)Úformat)Úmatplotlib.widgetsr   r   Úmatplotlib.cbookr   ÚpytestÚxfailÚpltÚsubplotsÚ	set_titleÚcanvasÚdrawÚioÚBytesIOÚsavefig)
r   r   r   Úfigr   Ú
default_rbÚ	styled_rbÚ
default_cbÚ	styled_cbÚresult_afters
             r   Útest_save_blitted_widget_as_pdfrM      sq  € ß=ÝCÙ)Ó+Ð3EÑEÜ�‰ÐDÔEä�l‰lØ�q &¸¸1°vô�G€Cˆñ ˜b ™h¨°9Ð(=Ó>€JÙØ
ˆ4‰�8˜YÐ'Ø$ hÐ/Ø"$ b ñ+à#(¨(Ð"3Ø#.°Ð"<ñ>ô	€Iñ ˜b ™h¨°9Ð(=Ø'+¨T lô4€JáØ
ˆ4‰�8˜YÐ'Ø�t�Ø$ hÐ/Ø"$ b ñ+à#(¨(Ð"3Ø#.°Ð"<ñ>à˜y¨,Ð7Ð8ô€Ið €t�H×Ñ�yÔ!Ø€t�H×Ñ�zÔ"à‡J�J‡O�OÔä	�‰‹ð 0˜Ø�‰�L¨ˆÔ/÷0÷ 0ñ 0ús   ÄD$Ä$D-ÚkwargsTr   )ÚuseblitÚbuttoné
   Úpixels)ÚminspanxÚminspanyÚ
spancoords)Úfill©Úpropsc                 ó  — t        j                  t        d ¬«      }t        j                  | |fi |¤Ž}t        |dddd¬«       t        |dddd¬«       t        |dd	d	d¬«       |j                  d
d «      dvr(t        |j                  g d¢g d¢g|j                  ¬«       |j                  «        |j                  \  \  }}}|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|i k(  sJ ‚y )N©ÚspecÚreturn_valueÚpresséd   r   ©ÚxdataÚydatarP   ÚonmoveéÇ   Úreleaseéú   Údrawtype)ÚlineÚnone)ç      Y@r^   rc   rc   r^   )r^   rc   rc   r^   r^   )Úerr_msg)r   ÚMockr   ÚwidgetsÚRectangleSelectorr   Úgetr   ÚgeometryÚassert_called_onceÚ	call_argsr`   ra   )r   rN   ÚonselectÚtoolÚepressÚereleases         r   Útest_rectangle_selectorrv   @   s  € ô �y‰yœd°Ô6€Hä×$Ñ$ R¨Ñ<°VÑ<€DÜˆT�7 #¨S¸Õ;ÜˆT�8 3¨c¸!Õ<ô ˆT�9 C¨s¸1Õ=à‡z�z�*˜dÓ#Ð+;Ñ;Ü˜Ÿ™Ú3Ú2ð4à $§¡õ	/ð
 ×ÑÔ!Ø!)×!3Ñ!3ÑÑ€VˆX˜Ø�<‰<˜3ÒÐÐØ�<‰<˜3ÒÐÐØ�>‰>˜SÒ Ð Ð Ø�>‰>˜SÒ Ð Ð Ø�RŠ<Ð‰<r   rU   Údatazminspanx, x1ç      %@é   zminspany, y1c                 óò  — t        j                  t        d ¬«      }d\  }}|dk(  r>| j                  j	                  ||f«      | j                  j	                  ||f«      z
  \  }}t        j                  | |d|||¬«      }	t        |	||f||f¬«       |	j                  rJ ‚|j                  «        t        |	dd¬«       |	j                  sJ ‚|j                  «        |j                  «        t        |	||f||f¬«       |	j                  rJ ‚|j                  «        |j                  \  \  }
}}|
j                  |k(  sJ ‚|
j                  |k(  sJ ‚|j                  |k(  sJ ‚|j                  |k(  sJ ‚|i k(  sJ ‚y )	NrZ   ©rQ   rQ   rR   T)ÚinteractiverU   rS   rT   ©ÚstartÚend©r&   r&   ©é   r‚   )r   rk   r   Ú	transDataÚ	transformrl   rm   r   Ú_selection_completedÚassert_not_calledrp   Ú
reset_mockrq   r`   ra   )r   rU   rS   Úx1rT   Úy1rr   Úx0Úy0rs   rt   ru   rN   s                r   Útest_rectangle_minspanrŒ   _   s|  € ô
 �y‰yœd°Ô6€Hà�F€BˆØ�XÒØ Ÿl™l×4Ñ4°b¸"°XÓ>Ø Ÿl™l×4Ñ4°b¸"°XÓ>ñ?Ñˆ�(ô ×$Ñ$ R¨¸tØ0:Ø.6ÀôK€Dô �4  B˜x¨b°"¨XÕ6Ø×(Ò(Ð(Ð(Ø×ÑÔ ä�4˜x¨XÕ6Ø×$Ò$Ð$Ð$Ø×ÑÔ!ð ×ÑÔÜ�4  B˜x¨b°"¨XÕ6Ø×(Ò(Ð(Ð(Ø×ÑÔ!Ø!)×!3Ñ!3ÑÑ€VˆX˜Ø�<‰<˜2ÒÐÐØ�<‰<˜2ÒÐÐØ�>‰>˜RÒÐÐØ�>‰>˜RÒÐÐØ�RŠ<Ð‰<r   c                 óâ   — t        j                  | d„ «      }|j                  «       sJ ‚t        j                  t
        j                  d¬«      5  |j                   d d d «       y # 1 sw Y   y xY w)Nc                   ó   — y r   r   ©Úargss    r   ú<lambda>z=test_deprecation_selector_visible_attribute.<locals>.<lambda>†   ó   � r   z was deprecated in Matplotlib 3.8©Úmatch)rl   rm   Úget_visibler=   ÚwarnsÚmplÚMatplotlibDeprecationWarningÚvisible©r   rs   s     r   Ú+test_deprecation_selector_visible_attributer›   …   s[   € Ü×$Ñ$ RÑ);Ó<€Dà×ÑÔÐÐä	�‰”c×6Ñ6Ø>ô
@ñ à�Š÷÷ ñ ús   ÁA%Á%A.zdrag_from_anywhere, new_center)é<   éK   F©r‚   r&   c                 óø   — t        j                  | t        d|¬«      }t        |dd¬«       |j                  dk(  sJ ‚t        |dd¬«       |j                  |k(  sJ ‚t        |d	d
¬«       |j                  dk(  sJ ‚y )NT)rr   r|   Údrag_from_anywhere©r   rQ   ©r^   éx   r}   )é2   éA   ©é   é   ©é#   r§   ©é¯   é¹   ©r­   éÃ   )é´   é¾   )rl   rm   r   r   Úcenter)r   r    Ú
new_centerrs   s       r   Útest_rectangle_dragr´   �   s~   € ô ×$Ñ$ R´$ÀDØ8JôL€Dô �4˜w¨JÕ7Ø�;‰;˜(Ò"Ð"Ð"ô �4˜x¨XÕ6Ø�;‰;˜*Ò$Ð$Ð$ô �4˜z¨zÕ:Ø�;‰;˜*Ò$Ð$Ñ$r   c           	      ó~  — t        j                  | t        dt        dd¬«      t        d¬«      ¬«      }t	        |dd	¬
«       |j
                  }|j                  «       t        j                  dd¬«      k(  sJ ‚|j                  dd¬«       |j                  «       t        j                  dd¬«      k(  sJ ‚|j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ |j                  dd¬«       |j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ y )NTÚbçš™™™™™É?©r.   Úalphaç      à?©r¹   )rr   r|   rX   Úhandle_propsr¡   r¢   r}   Úrç333333Ó?Úblack)Úmarkeredgecolorr¹   )rl   rm   r   Údictr   Ú_selection_artistÚget_facecolorÚmcolorsÚto_rgbaÚ	set_propsÚ_handles_artistsÚget_markeredgecolorÚ	get_alphaÚset_handle_props©r   rs   Úartists      r   Ú.test_rectangle_selector_set_props_handle_propsrÍ   §   s2  € Ü×$Ñ$ R´$ÀDÜ+/¸#ÀSÔ+IÜ26¸S´/ôC€Dô �4˜w¨JÕ7à×#Ñ#€FØ×ÑÓ!¤W§_¡_°SÀÔ%DÒDÐDÐDØ‡N�N˜S¨€NÔ,Ø×ÑÓ!¤W§_¡_°SÀÔ%DÒDÐDÐDà×'Ñ'ò )ˆØ×)Ñ)Ó+¨wÒ6Ð6Ð6Ø×ÑÓ! SÓ(Ð(Ð(ð)ð 	×Ñ¨#°SÐÔ9Ø×'Ñ'ò )ˆØ×)Ñ)Ó+¨sÒ2Ð2Ð2Ø×ÑÓ! SÓ(Ð(Ð(ñ)r   c                 ó  — t        j                  | t        d¬«      }t        |dd¬«       |j                  dk(  sJ ‚|j                  }|d   |d   }}|d	z   |d
z   }}t        |||f||f¬«       |j                  |d   ||d   |fk(  sJ ‚|j                  }|d   |d   |d   |d   z
  dz  z   }}|d	z   |}}t        |||f||f¬«       |j                  |d   ||d   |d   fk(  sJ ‚|j                  }|d   |d   |d   |d   z
  dz  z   }}|dz   |}}t        |||f||f¬«       |j                  ||d   |d   |d   fk(  sJ ‚|j                  }|d   |d   }}|dz   |dz   }}t        |||f||f¬«       |j                  ||d   ||d   fk(  sJ ‚y )NT©rr   r|   r¡   r¢   r}   )ç        ri   ç      $@ç      ^@r   é   rQ   r   r   r   r¨   r&   r§   )rl   rm   r   r   Úextents)r   rs   rÔ   r`   ra   Ú	xdata_newÚ	ydata_news          r   Útest_rectangle_resizer×   ¼   s÷  € Ü×$Ñ$ R´$ÀDÔI€Dä�4˜w¨JÕ7Ø�<‰<Ð4Ò4Ð4Ð4ð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ  2™: u¨q¡yˆy€IÜ�4  u˜~°I¸yÐ3IÕJØ�<‰<˜G A™J¨	°7¸1±:¸yÐIÒIÐIÐIð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ  2™: uˆy€IÜ�4  u˜~°I¸yÐ3IÕJØ�<‰<˜G A™J¨	°7¸1±:¸wÀq¹zÐJÒJÐJÐJð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ  2™: uˆy€IÜ�4  u˜~°I¸yÐ3IÕJØ�<‰<˜I w¨q¡z°7¸1±:¸wÀq¹zÐJÒJÐJÐJð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ  2™: u¨r¡zˆy€IÜ�4  u˜~°I¸yÐ3IÕJØ�<‰<˜I w¨q¡z°9¸gÀa¹jÐIÒIÐIÑIr   c                 óº  — t        j                  | t        d¬«      }t        |dd¬«       t	        j
                  t        «      5  |j                  d«       d d d «       t	        j
                  t        «      5  |j                  d«       d d d «       |j                  d«       |j                  d	«       |j                  d
«       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒIxY w)NTrÏ   ©éF   r¥   ©é}   é‚   r}   Úunsupported_stateÚclearÚmoveÚsquarer²   )rl   rm   r   r   r=   ÚraisesÚ
ValueErrorÚ	add_staterš   s     r   Útest_rectangle_add_staterå   ß   s£   € Ü×$Ñ$ R´$ÀDÔI€Dä�4˜x¨ZÕ8ä	�‰”zÓ	"ñ ,Ø�‰Ð*Ô+÷,ô 
�‰”zÓ	"ñ  Ø�‰�wÔ÷ à‡N�N�6ÔØ‡N�N�8ÔØ‡N�N�8Õ÷,ð ,ú÷ ð  ús   ÁCÁ7CÃCÃCrä   c                 ó  — t        j                  | t        d¬«      }t        |dd¬«       |j                  dk(  sJ ‚|r|j                  d«       d }nd}|j                  }|d	   |d
   }}d\  }}||z   ||z   }
}	t        |||f|	|
f|¬«       |j                  |d   |z
  |	|d   |z
  |
fk(  sJ ‚|j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |d   |z
  |	|d   |d
   fk(  sJ ‚|j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |d   |z
  |	|d   |d
   fk(  sJ ‚|j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |	|d	   |z
  |d   |d
   fk(  sJ ‚|j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |	|d	   |z
  |d   |d
   fk(  sJ ‚|j                  }|d   |d   }}d\  }}||z   ||z   }
}	t        |||f|	|
f|¬«       |j                  |	|d	   |z
  |
|d
   |z
  fk(  sJ ‚y )NTrÏ   rÙ   rÛ   r}   )ç     €Q@ç     @_@ç     @P@g     @`@r²   Úcontrolr   rÓ   ©rQ   r   ©r~   r   Úkeyr   r   rQ   éìÿÿÿr¨   éçÿÿÿ©r&   r§   ©rl   rm   r   r   rÔ   rä   ©r   rä   rs   Úuse_keyrÔ   r`   ra   ÚxdiffÚydiffrÕ   rÖ   s              r   Útest_rectangle_resize_centerrö   î   sª  € ä×$Ñ$ R´$ÀDÔI€Dä�4˜x¨ZÕ8Ø�<‰<Ð5Ò5Ð5Ð5áØ�‰�xÔ Ø‰àˆð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨Ñ.°	Ø# A™J¨Ñ.°	ð;ò ;ð ;ð ;ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨Ñ.°	Ø# A™J¨°©
ð4ò 4ð 4ð 4ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨Ñ.°	Ø# A™J¨°©
ð4ò 4ð 4ð 4ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡z°EÑ'9Ø# A™J¨°©
ð4ò 4ð 4ð 4ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡z°EÑ'9Ø# A™J¨°©
ð4ò 4ð 4ð 4ð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡z°EÑ'9Ø% w¨q¡z°EÑ'9ð;ò ;ð ;ñ ;r   c                 ó  — t        j                  | t        d¬«      }t        |dd¬«       |j                  dk(  sJ ‚|r|j                  d«       d }nd}|j                  }|d	   |d
   }}d\  }}||z   ||z   }
}	t        |||f|	|
f|¬«       |j                  |d   |	|d   |d
   |z   fk(  sJ ‚|j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |d   |	|d   |d
   |z   fk(  sJ ‚|j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |d   |	|d   |d
   |z   fk(  sJ ‚|j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |	|d	   |d   |d
   |z
  fk(  sJ ‚|j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}
}	t        |||f|	|
f|¬«       |j                  |	|d	   |d   |d
   |z
  fk(  sJ ‚|j                  }|d   |d   }}d\  }}||z   ||z   }
}	t        |||f|	|
f|¬«       |j                  |d   |z   |d	   |
|d
   fk(  sJ ‚y )NTrÏ   rÙ   ©r£   és   r}   ©rç   rÒ   ré   g     À\@rá   Úshiftr   rÓ   rë   rì   r   r   rQ   rî   r¨   rï   rð   rñ   rò   s              r   Útest_rectangle_resize_squarerü   8  s¨  € ä×$Ñ$ R´$ÀDÔI€Dä�4˜x¨ZÕ8Ø�<‰<Ð5Ò5Ð5Ð5áØ�‰�xÔ Ø‰àˆð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨	Ø# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨	Ø# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨	Ø# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡zØ# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜I w¨q¡zØ# A™J¨°©
°UÑ(:ð<ò <ð <ð <ð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IØõ à�<‰<˜G A™J¨Ñ.°¸±
Ø% w¨q¡zð3ò 3ð 3ñ 3r   c                 ó´  — t        j                  | t        d¬«      }t        |dd¬«       |j	                  d«       |j	                  d«       t        |j                  d«       |j                  }|d	   |d
   }}d\  }}||z   ||z   }}t        |||f||f¬«       t        |j                  |d   |z
  ||d   |z
  |d
   |z   f«       |j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}}t        |||f||f¬«       t        |j                  |d   |z
  ||d   |z
  |d
   |z   f«       |j                  }|d	   |d   |d
   |d   z
  dz  z   }}d}||z   |}}t        |||f||f¬«       t        |j                  |d   |z
  ||d   |z
  |d
   |z   f«       |j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}}t        |||f||f¬«       t        |j                  ||d	   |z
  |d   |z   |d
   |z
  f«       |j                  }|d   |d   |d
   |d   z
  dz  z   }}d}||z   |}}t        |||f||f¬«       t        |j                  ||d	   |z
  |d   |z   |d
   |z
  f«       |j                  }|d   |d   }}d\  }}||z   ||z   }}t        |||f||f¬«       t        |j                  |d   |z   |d	   |z
  ||d
   |z
  f«       y )NTrÏ   rÙ   rø   r}   rá   r²   rú   r   rÓ   rë   r   r   rQ   rî   r   rï   rð   )rl   rm   r   r   rä   r   rÔ   )	r   rs   rÔ   r`   ra   rô   rõ   rÕ   rÖ   s	            r   Ú#test_rectangle_resize_square_centerrþ   ‚  s�  € Ü×$Ñ$ R´$ÀDÔI€Dä�4˜x¨ZÕ8Ø‡N�N�8ÔØ‡N�N�8ÔÜ�D—L‘LÐ"<Ô=ð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 7¨1¡:°Ñ#5°yØ#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 7¨1¡:°Ñ#5°yØ#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 7¨1¡:°Ñ#5°yØ#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 9¨g°a©j¸5Ñ.@Ø#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™z¨W°Q©Z¸'À!¹*Ñ-DÈÑ,IÑIˆ5€EØ€EØ  5™=¨%ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 9¨g°a©j¸5Ñ.@Ø#*¨1¡:°Ñ#5°w¸q±zÀEÑ7Ið#Kô Lð �l‰l€GØ˜1‘:˜w q™zˆ5€EØ�L€Eˆ5Ø  5™=¨%°%©-ˆy€IÜ�4  u˜~°I¸yÐ3IÕJÜ�D—L‘L 7¨1¡:°Ñ#5°w¸q±zÀEÑ7IØ#,¨g°a©j¸5Ñ.@ð#Bõ Cr   Úselector_classc                 óJ  —  || t         d¬«      }t        |dd¬«       |j                  dk(  sJ ‚t        |j                  «      dk(  sJ ‚t        |dd	¬
«       |j                  dhk(  sJ ‚t        |j                  «      dk(  sJ ‚t        |dd¬«       t        |dd	¬
«       t        |j                  «      dk(  sJ ‚|j                  dk(  sJ ‚t        |j                  dd¬«       d|_        |j                  dk(  sJ ‚t        |j                  t        j                  g d¢g d¢g«      d¬«       t        |dd¬«       t        |j                  dd¬«       |t        j                  k(  r4t        j                  t        «      5  d|j                   _        d d d «       y y # 1 sw Y   y xY w)NTrÏ   ©r^   r^   ©rÝ   éŒ   r}   ©r^   rÝ   r^   r  r   Úon_key_pressr½   ©rí   Úrotater   )r£   é‘   g�Âõ(\�9@g{®Gáz„?)Úatolé-   )gR¸…ë¡]@ç     xa@g=
×£pÝ[@g     �V@)g     ÐW@g=
×£p]@g     b@gÃõ(\�â^@)én   r  )r  é    )r^   r  r^   g
×£p=úb@Úunvalid_value)r   r   rÔ   ÚlenÚ_stater   r   ÚrotationÚcornersÚnpÚarrayrl   rm   r=   râ   rã   rÂ   Úrotation_point)r   rÿ   rs   s      r   Útest_rectangle_rotater  Á  s�  € ñ ˜"¤t¸Ô>€Dä�4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/Üˆt�{‰{Ó˜qÒ Ð Ð ô ˆT�> sÕ+Ø�;‰;˜8˜*Ò$Ð$Ð$Üˆt�{‰{Ó˜qÒ Ð Ð Ü�4˜z¨zÕ:ÜˆT�> sÕ+Üˆt�{‰{Ó˜qÒ Ð Ð à�<‰<Ð/Ò/Ð/Ð/Ü�D—M‘M 5¨tÕ4Ø€D„MØ�=‰=˜BÒÐÐä�D—L‘LÜ—H‘HÒ=Ú=ð?ó @ØFJõLô
 �4˜z¨zÕ:Ü�D—L‘LÐ"<À4ÕHàœ×2Ñ2Ò2Ü�]‰]œ:Ó&ñ 	DØ4CˆD×"Ñ"Ô1÷	Dð 	Dð 3÷	Dð 	Dús   Å=FÆF"c                 óh  — t        j                  | t        d¬«      }t        |dd¬«       |j                  dk(  sJ ‚t        |j                  «      dk(  sJ ‚dD ]X  }|j                  |«       t        |j                  «      d	k(  sJ ‚|j                  |«       t        |j                  «      dk(  rŒXJ ‚ y )
NTrÏ   r  r  r}   r  r   )r  rá   r²   r   )	rl   rm   r   r   rÔ   r  r  rä   Úremove_state)r   rs   Ústates      r   Útest_rectangle_add_remove_setr  ä  s£   € Ü×$Ñ$ R´$ÀDÔI€Dä�4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/Üˆt�{‰{Ó˜qÒ Ð Ð Ø/ò %ˆØ�‰�uÔÜ�4—;‘;Ó 1Ò$Ð$Ð$Ø×Ñ˜%Ô Ü�4—;‘;Ó 1Ó$Ð$Ð$ñ	%r   Úuse_data_coordinatesc                 óª  — | j                  d«       t        j                  | t        d|¬«      }t	        |dd¬«       |j
                  dk(  sJ ‚|j                  d«       |j                  d	«       |r|j
                  }|d
   |d   |d
   |d   z
  }}}d|d   |d   |d   z
  dz  z   }}||z   |}
}	|dz  |z   }t	        |||f|	|
f¬«       t        |j
                  |d   |z
  |	||z
  ||z   g«       y |j
                  }|d
   |d   }}d}||z   |}
}	|d
z  |j                  z  }t	        |||f|	|
f¬«       t        |j
                  |d   |z
  |	ddg«       y )Nçš™™™™™é?T)rr   r|   r  rÙ   rø   r}   rú   rá   r²   r   rÓ   r   rQ   r   g      G@g     ¸`@)	Ú
set_aspectrl   rm   r   r   rÔ   rä   r   Ú_aspect_ratio_correction)r   r  rs   rÔ   r`   ra   Úwidthrô   ÚycenterrÕ   rÖ   Úychanges               r   Ú*test_rectangle_resize_square_center_aspectr#  ñ  s�  € à‡M�M�#Ôä×$Ñ$ R´$ÀDØ:NôP€Dô �4˜x¨ZÕ8Ø�<‰<Ð5Ò5Ð5Ð5Ø‡N�N�8ÔØ‡N�N�8Ôáà—,‘,ˆØ% a™j¨'°!©*°g¸a±jÀ7È1Á:Ñ6M�eˆuˆØ˜g a™j¨G°A©J¸À¹Ñ,CÀqÑ+HÑHˆwˆØ$ u™}¨e�9ˆ	Ø˜!‘)˜eÑ#ˆÜ�t E¨5 >¸	À9Ð7MÕNÜ˜Ÿ™ w¨q¡z°EÑ'9¸9Ø'.°Ñ'8¸'ÀGÑ:Kð'Mõ 	Nð —,‘,ˆØ˜q‘z 7¨1¡:ˆuˆØˆØ$ u™}¨e�9ˆ	Ø˜!‘)˜d×;Ñ;Ñ;ˆÜ�t E¨5 >¸	À9Ð7MÕNÜ˜Ÿ™ w¨q¡z°EÑ'9¸9Ø',¨fð'6õ 	7r   c                 ó:  — t        j                  | t        dd¬«      }d|_        t	        |dd¬«       |j                  dk(  sJ ‚t	        |d	dd
¬«       |j                  dk(  sJ ‚t	        |ddd¬«       |j                  D �cg c]  }t        |«      ‘Œ }}|g d¢k(  sJ ‚t	        |d	dd¬«       |j                  D �cg c]  }t        |«      ‘Œ }}|g d¢k(  sJ ‚|j                  j                  dk(  sJ ‚t        |j                  dd…df   ddg«       yc c}w c c}w )z'For ellipse, test out the key modifiersrQ   T)rr   Ú
grab_ranger|   ©r^   é–   r^   r'  ©rÜ   rÜ   )r  r  r}   )r£   éª   r£   r)  r  rê   rì   )r�   rÜ   r�   rÜ   r{   )rª   r‚   rû   )rQ   rª   rQ   rª   rÛ   z
ctrl+shift)rÚ   rÝ   rÚ   rÝ   )r   éI   Nr   rç   r^   )	rl   ÚEllipseSelectorr   rÔ   r   Úintro   Úshaper   )r   rs   ÚerÔ   s       r   Útest_ellipser/    s  € ä×"Ñ" 2´Ø.0¸dôD€Dà'€D„Lô �4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/ô �4˜z¨z¸yÕIØ�<‰<Ð-Ò-Ð-Ð-ô �4˜x¨X¸7ÕCØ#Ÿ|™|Ö,˜!Œs�1�vÐ,€GÐ,ØÒ&Ò&Ð&Ð&ô �4˜z¨z¸|ÕLØ#Ÿ|™|Ö,˜!Œs�1�vÐ,€GÐ,ØÒ(Ò(Ð(Ð(à�=‰=×Ñ 'Ò)Ð)Ð)Ü�D—M‘M¢! Q $Ñ'¨#¨s¨Õ4ùò -ùò
 -s   ÂDÂ;Dc           	      óž  — t        j                  | t        dddddœ¬«      }d|_        t	        |j
                  d«       |j                  dk(  sJ ‚t	        |j                  d	«       |j                  dk(  sJ ‚t        |d
d¬«       |j                  dk(  sJ ‚t        |dd¬«       |j                  dk(  sJ ‚t        |dd
¬«       |j                  dk(  sJ ‚t        j                  |j                  j                  d   j                  «       d«      sJ ‚t        j                  |j                  j                  d   j                  «       d«      sJ ‚y )NrQ   Tr½   r¶   )ÚmarkerfacecolorrÀ   )rr   r%  r|   r¼   r&  ))r^   r'  r'  r^   )r^   r^   r'  r'  ))r^   rè   r'  rè   )rè   r^   rè   r'  r  )r£   r£   r}   )r£   r'  r£   r'  )é„   r2  )él   éŠ   r3  r4  r{   )rQ   r^   rQ   r^   r   )rl   rm   r   rÔ   r   r  Úedge_centersr   rÄ   Ú
same_colorÚ_corner_handlesÚartistsÚget_markerfacecolorrÈ   rš   s     r   Útest_rectangle_handlesr:  /  sT  € Ü×$Ñ$ R´$Ø02Ø15ØFIØFIñ3KôL€Dð
 (€D„Lä�D—L‘LÐ"NÔOØ�<‰<Ð/Ò/Ð/Ð/Ü�D×%Ñ%ØHôJà�<‰<Ð/Ò/Ð/Ð/ô �4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/ô �4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/ô �4˜x¨ZÕ8Ø�<‰<Ð-Ò-Ð-Ð-ô ×ÑØ×Ñ×$Ñ$ QÑ'×;Ñ;Ó=¸sôDð Dð Dä×ÑØ×Ñ×$Ñ$ QÑ'×;Ñ;Ó=¸sôDð Dñ Dr   r|   c                 ó$  — t        j                  t        d ¬«      }t        j                  | ||¬«      }t        |dd¬«       |j                  «        |j                  dk(  sJ ‚|j                  «        t        |dd¬«       |j                  «        y )NrZ   ©r|   ©r^   r  ©r'  r£   r}   ©ri   ç     Àb@g     €[@rÒ   ©rQ   r^   )	r   rk   r   rl   rm   r   rp   rÔ   r‡   ©r   r|   rr   rs   s       r   Ú test_rectangle_selector_onselectrC  P  sw   € ô �y‰yœd°Ô6€Hä×$Ñ$ R¨¸{ÔK€Dä�4˜z¨zÕ:à×ÑÔ!Ø�<‰<Ð7Ò7Ð7Ð7à×ÑÔÜ�4˜y¨iÕ8Ø×ÑÕ!r   Úignore_event_outsidec                 óŽ  — t        j                  t        d ¬«      }t        j                  | ||¬«      }t        |dd¬«       |j                  «        |j                  dk(  sJ ‚|j                  «        t        |dd¬«       |r"|j                  «        |j                  dk(  sJ ‚y |j                  «        |j                  d	k(  sJ ‚y )
NrZ   ©rD  r=  r>  r}   r?  ©r'  r'  ©r  r  )r@  ç      d@r@  rI  )
r   rk   r   rl   rm   r   rp   rÔ   r‡   r†   )r   rD  rr   rs   s       r   Ú&test_rectangle_selector_ignore_outsiderJ  a  s°   € ä�y‰yœd°Ô6€Hä×$Ñ$ R¨Ø:NôP€Dä�4˜z¨zÕ:Ø×ÑÔ!Ø�<‰<Ð7Ò7Ð7Ð7à×ÑÔä�4˜z¨zÕ:Ùà×"Ñ"Ô$Ø�|‰|Ð;Ò;Ð;Ñ;ð 	×#Ñ#Ô%Ø�|‰|Ð;Ò;Ð;Ñ;r   z$orientation, onmove_callback, kwargsÚ
horizontal)ÚminspanrO   Úvertical)rP   r<  c                 óž  — t        j                  t        d ¬«      }t        j                  t        d ¬«      }|r||d<   | j                  d«       | j	                  «       }t        j                  | ||fi |¤Ž}t        |dddd¬«       t        |dd	d	d¬«       t        |d
ddd¬«       |j                  dd	«       |r|j                  dd	«       y y )NrZ   Úonmove_callbackÚautor]   r^   r   r_   rb   rc   rd   re   )	r   rk   r   r  Útwinxrl   ÚSpanSelectorr   Úassert_called_once_with)r   ÚorientationrO  rN   rr   rb   Útaxrs   s           r   Útest_span_selectorrV  x  s¼   € ô �y‰yœd°Ô6€HÜ�Y‰YœD¨tÔ4€FÙØ$*ˆÐ Ñ!ð ‡M�M�&ÔØ
�(‰(‹*€Cä×Ñ  H¨kÑD¸VÑD€DÜˆT�7 #¨S¸Õ;äˆT�8 3¨c¸!Õ<ÜˆT�9 C¨s¸1Õ=à×$Ñ$ S¨#Ô.ÙØ×&Ñ& s¨CÕ0ð r   c                 ó&  — t        j                  t        d ¬«      }t        j                  | |d|¬«      }t        |dd¬«       |j                  «        |j                  dk(  sJ ‚|j                  «        t        |dd¬«       |j                  «        y )	NrZ   rK  r<  r  )r'  r^   r}   )r^   r'  rA  )	r   rk   r   rl   rR  r   rp   rÔ   r‡   rB  s       r   Útest_span_selector_onselectrX  –  s{   € ä�y‰yœd°Ô6€Hä×Ñ  H¨lØ,7ô9€Dô �4˜z¨zÕ:Ø×ÑÔ!Ø�<‰<˜:Ò%Ð%Ð%à×ÑÔÜ�4˜y¨iÕ8Ø×ÑÕ!r   c                 óH  — t        j                  t        d ¬«      }t        j                  t        d ¬«      }t        j                  | |d||¬«      }t        |dd¬«       |j                  «        |j                  «        |j                  dk(  sJ ‚|j                  «        |j                  «        t        |dd	¬«       |r2|j                  «        |j                  «        |j                  dk(  sJ ‚y |j                  «        |j                  «        |j                  d
k(  sJ ‚y )NrZ   rK  )rO  rD  r  r(  r}   )r^   rÜ   rG  rH  )r'  r  )
r   rk   r   rl   rR  r   rp   rÔ   r‡   r†   )r   rD  rr   rb   rs   s        r   Ú!test_span_selector_ignore_outsiderZ  ¦  sô   € ä�y‰yœd°Ô6€HÜ�Y‰YœD¨tÔ4€Fä×Ñ  H¨lØ06Ø5IôK€Dô �4˜z¨zÕ:Ø×ÑÔ!Ø
×ÑÔØ�<‰<˜:Ò%Ð%Ð%à×ÑÔØ
×ÑÔä�4˜z¨zÕ:Ùà×"Ñ"Ô$Ø× Ñ Ô"Ø�|‰|˜zÒ)Ð)Ñ)ð 	×#Ñ#Ô%Ø×!Ñ!Ô#Ø�|‰|˜zÒ)Ð)Ñ)r   r    c                 ó   — t        j                  | t        dd|¬«      }t        |dd¬«       |j                  dk(  sJ ‚t        |dd	¬«       |r|j                  d
k(  sJ ‚|j                  dk(  sJ ‚t        |dd¬«       |j                  dk(  sJ ‚y )NrK  T)rr   Ú	directionr|   r    r{   r¢   r}   rA  r¦   r©   )r&   r  )r§   rª   r«   r®   )rl   rR  r   r   rÔ   )r   r    rs   s      r   Útest_span_selector_dragr]  Ã  s–   € ô ×Ñ ¬T¸\Ø,0Ø3EôG€Dô �4˜x¨ZÕ8Ø�<‰<˜9Ò$Ð$Ð$ô �4˜x¨XÕ6ÙØ�|‰|˜yÒ(Ð(Ð(à�|‰|˜xÒ'Ð'Ð'ô �4˜z¨zÕ:Ø�<‰<˜:Ò%Ð%Ñ%r   c                 óú  — t        j                  | t        dd¬«      }|j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚t        j                  t        «      5  t        j                  | t        d¬«      }d d d «       d|_        |j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚t        j                  t        «      5  d|_        d d d «       y # 1 sw Y   ŒfxY w# 1 sw Y   y xY w)NrK  T)rr   r\  r|   Úinvalid_direction)rr   r\  rM  Úinvalid_string)rl   rR  r   r\  Ú_edge_handlesr=   râ   rã   rš   s     r   Útest_span_selector_directionrb  Ý  sæ   € Ü×Ñ ¬T¸\Ø,0ô2€Dà�>‰>˜\Ò)Ð)Ð)Ø×Ñ×'Ñ'¨<Ò7Ð7Ð7ä	�‰”zÓ	"ñ CÜ×#Ñ# B´Ø.AôCˆ÷Cð  €D„NØ�>‰>˜ZÒ'Ð'Ð'Ø×Ñ×'Ñ'¨:Ò5Ð5Ð5ä	�‰”zÓ	"ñ *Ø)ˆŒ÷*ð *÷Cð Cú÷*ð *ús   Á#C%ÃC1Ã%C.Ã1C:c           
      ó€  — t        j                  | t        ddt        dd¬«      t        d¬«      ¬«      }t	        |d	d
¬«       |j
                  }|j                  «       t        j                  dd¬«      k(  sJ ‚|j                  dd¬«       |j                  «       t        j                  dd¬«      k(  sJ ‚|j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ |j                  dd¬«       |j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ y )NrK  Tr¶   r·   r¸   rº   r»   )rr   r\  r|   rX   r¼   r¡   r¢   r}   r½   r¾   ©r(   r¹   )rl   rR  r   rÁ   r   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   Ú	get_colorrÉ   rÊ   rË   s      r   Ú)test_span_selector_set_props_handle_propsrf  ï  s4  € Ü×Ñ ¬T¸\Ø,0Ü&*°SÀÔ&DÜ-1¸¬_ô>€Dô
 �4˜w¨JÕ7à×#Ñ#€FØ×ÑÓ!¤W§_¡_°SÀÔ%DÒDÐDÐDØ‡N�N˜S¨€NÔ,Ø×ÑÓ!¤W§_¡_°SÀÔ%DÒDÐDÐDà×'Ñ'ò )ˆØ×ÑÓ! SÒ(Ð(Ð(Ø×ÑÓ! SÓ(Ð(Ð(ð)ð 	×Ñ ¨3ÐÔ/Ø×'Ñ'ò )ˆØ×ÑÓ! SÒ(Ð(Ð(Ø×ÑÓ! SÓ(Ð(Ð(ñ)r   ÚselectorÚspanÚ	rectanglec                 ó¤  — t        | t        d¬«      }|dk(  rt        j                  }d|d<   nt        j                  } |di |¤Ž}t        |dd¬«       t        |d	d	¬«       |j                  rJ ‚d|d
<    |di |¤Ž}|j                  sJ ‚t        |dd¬«       t        |d	d	¬«       |j                  sJ ‚t        |dd¬«       |j                  rJ ‚y )NT)r   rr   r|   rh  rK  r\  r{   r¢   r}   )rÝ   rÝ   rD  r  Úescaper  r   )	rÁ   r   rl   rR  rm   r   r…   rD  r   )r   rg  rN   ÚSelectorrs   s        r   Útest_selector_clearrm    sÜ   € ä�R¤$°DÔ9€FØ�6ÒÜ×'Ñ'ˆØ*ˆˆ{Òä×,Ñ,ˆáÑ�fÑ€DÜ�4˜x¨ZÕ8ô �4˜z¨zÕ:Ø×(Ò(Ð(Ð(à%)€FÐ!Ñ"ÙÑ�fÑ€DØ×$Ò$Ð$Ð$Ü�4˜x¨ZÕ8ô �4˜z¨zÕ:Ø×$Ò$Ð$Ð$äˆT�> xÕ0Ø×(Ò(Ð(Ð(Ð(r   c                 óö  — |dk(  rt        j                  | t        ddd¬«      }nt        j                  | t        d¬«      }t	        |dd¬«       |j
                  sJ ‚|j                  «       sJ ‚|dk(  r|j                  d	k(  sJ ‚|j                  «        |j
                  rJ ‚|j                  «       rJ ‚t	        |dd
¬«       |j
                  sJ ‚|j                  «       sJ ‚|dk(  r|j                  dk(  sJ ‚y y )Nrh  rK  T)rr   r\  r|   rD  rÏ   r{   r¢   r}   rA  )r¤   r£   )rQ   r¤   )	rl   rR  r   rm   r   r…   r•   rÔ   rß   )r   rg  rs   s      r   Útest_selector_clear_methodro  "  sû   € à�6ÒÜ×#Ñ# B´ÀØ04Ø9=ô?‰ô ×(Ñ(¨´dÈÔMˆÜ�4˜x¨ZÕ8Ø×$Ò$Ð$Ð$Ø×ÑÔÐÐØ�6ÒØ�|‰|˜yÒ(Ð(Ð(à‡J�J„LØ×(Ò(Ð(Ð(Ø×ÑÔ!Ð!Ð!ô �4˜x¨YÕ7Ø×$Ò$Ð$Ð$Ø×ÑÔÐÐØ�6ÒØ�|‰|˜xÒ'Ð'Ñ'ð r   c                 óÚ  — t        j                  | t        dd¬«      }t        j                  t
        «      5  |j                  d«       d d d «       t        j                  t
        «      5  |j                  d«       d d d «       t        j                  t
        «      5  |j                  d«       d d d «       |j                  d«       y # 1 sw Y   Œ�xY w# 1 sw Y   ŒZxY w# 1 sw Y   Œ3xY w)NrK  Tr<  rÞ   r²   rá   rà   )rl   rR  r   r=   râ   rã   rä   rš   s     r   Útest_span_selector_add_staterq  <  s³   € Ü×Ñ ¤D¨,Ø,0ô2€Dô 
�‰”zÓ	"ñ ,Ø�‰Ð*Ô+÷,ä	�‰”zÓ	"ñ !Ø�‰�xÔ ÷!ä	�‰”zÓ	"ñ !Ø�‰�xÔ ÷!ð 	‡N�N�6Õ÷,ð ,ú÷!ð !ú÷!ð !ús#   ·C	Á*CÂC!Ã	CÃCÃ!C*c                 óx  — g d¢}t        j                  | |dd¬«      }|j                  D ]&  }|j                  «       rJ ‚|j	                  «       sŒ&J ‚ |j                  d«       |j                  d«       |j                  D ]&  }|j                  «       sJ ‚|j	                  «       rŒ&J ‚ |j                  |k(  sJ ‚y )N)r&   r‚   r¤   rK  F)rO   T)rl   ÚToolLineHandlesr8  Úget_animatedr•   Úset_visibleÚset_animatedÚ	positions)r   rw  Útool_line_handlerÌ   s       r   Útest_tool_line_handlery  J  sÉ   € Ú€IÜ×.Ñ.¨r°9¸lØ7<ô>Ðð #×*Ñ*ò (ˆØ×&Ñ&Ô(Ð(Ð(Ø×%Ñ%Õ'Ð'Ð'ð(ð × Ñ  Ô&Ø×!Ñ! $Ô'à"×*Ñ*ò $ˆØ×"Ñ"Ô$Ð$Ð$Ø×!Ñ!Õ#Ð#Ð#ð$ð ×%Ñ%¨Ò2Ð2Ñ2r   r\  )rK  rM  c                 óª  — t        j                  dd«      \  }}|j                  ddgddg«       |j                  j                  j                  «        |j                  «       }|j                  «       }t        j                  |t        | d¬«      }|j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚| dk(  r|n|}|j                  j                  t        |«      k(  sJ ‚d}d	}|}	t        |||¬
«       |j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚| dk(  rdnd}
||
   |	|
   g}|j                  j                  |k(  sJ ‚y )Nr   rQ   r&   r‚   Tr<  rK  )rx   g      '@)ry   é   r}   r   )r?   r@   ÚplotÚfigurerB   rC   Ú
get_xboundÚ
get_yboundrl   rR  Úprintra  rw  Úlistr   )r\  rG   r   Úx_boundÚy_boundrs   ÚboundÚ
press_dataÚ	move_dataÚrelease_dataÚindexÚhandle_positionss               r   Útest_span_selector_boundrŠ  ]  sC  € ä�l‰l˜1˜aÓ �G€CˆØ‡G�GˆR�ˆH�r˜2�hÔØ‡I�I×Ñ×ÑÔØ�m‰m‹o€GØ�m‰m‹o€Gä×Ñ ¤E¨9À$ÔG€DØ�=‰=‹?˜gÒ%Ð%Ð%Ø�=‰=‹?˜gÒ%Ð%Ð%à  LÒ0‰G°g€EØ×Ñ×'Ñ'¬4°«;Ò6Ð6Ð6à€JØ€IØ€LÜ�4˜z¨yÕ9à�=‰=‹?˜gÒ%Ð%Ð%Ø�=‰=‹?˜gÒ%Ð%Ð%à˜lÒ*‰A°€EØ" 5Ñ)¨<¸Ñ+>Ð?ÐØ×Ñ×'Ñ'Ð+;Ò;Ð;Ñ;r   ÚQtAgg)Úskip_on_importerrorc            	      óV  ‡‡	‡
— t        j                  ddt         j                  z  d«      Š
t        j                  ‰
«      Š	t	        j
                  «       \  } }|j                  ‰
‰	d¬«      \  }|j                  g d¬«      \  Št	        j                  d«       |j                  |«       | j                  j                  | j                  «       ˆˆ	ˆ
fd„}t        j                  ||d|ddd¬	«      }d
dg}ddg}t        |d|d   |d
   d
¬«       t        |d|d   |d
   d
¬«       |j                  «       |‰fk(  sJ ‚|j                   du sJ ‚‰j                   sJ ‚t#        ‰j%                  «       d«       |j'                  «        ‰j                   du sJ ‚ddg}ddg}ddg}t        |d|d   |d
   d
¬«       t        |d|d   |d
   d
¬«       |j                   du sJ ‚‰j                   sJ ‚t#        ‰j%                  «       d«       t        |d|d   |d
   d
¬«       ‰j                   du sJ ‚y)zACheck that the animated artists changed in callbacks are updated.r   r   r^   T)Úanimatedçš™™™™™¹?c                 ó®   •— t        j                  ‰| |f«      \  }}‰|| j                  «       }‰j                  ‰t        j                  ‰|«      «       y r   )r  ÚsearchsortedÚmeanÚset_dataÚ	full_like)ÚvminÚvmaxÚindminÚindmaxÚvÚln2ÚvaluesÚxs        €€€r   r’  z:test_span_selector_animated_artists_callback.<locals>.meanŠ  sI   ø€ äŸ™¨¨T°4¨LÓ9‰ˆ�Ø�6˜&Ð!×&Ñ&Ó(ˆØ�‰�QœŸ™ Q¨Ó*Õ+r   rK  )r\  rO  r|   r    rO   r   r]   r_   rb   FgˆSG-�î?é   r   gÈ„¦C(î¿rd   N)r  ÚlinspaceÚpiÚsinr?   r@   r|  ÚpauseÚdraw_artistrB   ÚblitÚbboxrl   rR  r   Ú_get_animated_artistsÚstaler   Ú	get_ydataÚupdate)rG   r   Úlnr’  rh  r…  r†  r‡  rš  r›  rœ  s           @@@r   Ú,test_span_selector_animated_artists_callbackrª  y  s  ú€ ô 	�‰�A�qœ2Ÿ5™5‘y #Ó&€AÜ�V‰V�A‹Y€Fä�l‰l‹n�G€CˆØ
�'‰'�!�V dˆ'Ó
+�C€BØ�7‰7�2 ˆ7Ó%�D€Cô
 ‡I�Iˆc„NØ‡N�N�2ÔØ‡J�J‡O�O�C—H‘HÔö,ô ×Ñ  D°LØ04Ø,0Ø37Ø(,ô	.€Dð �Q�€JØ�A�€IÜˆT�7 *¨Q¡-°zÀ!±}ÈQÕOÜˆT�8 9¨Q¡<°yÀ±|ÈAÕNØ×%Ñ%Ó'¨B°¨9Ò4Ð4Ð4Ø�8‰8�uÑÐÐØ�9Š9Ðˆ9Ü�C—M‘M“OÐ%7Ô8Ø‡K�K„MØ�9‰9˜ÑÐÐð �Q�€JØ�A�€IØ�q�6€LÜˆT�7 *¨Q¡-°zÀ!±}ÈQÕOÜˆT�8 9¨Q¡<°yÀ±|ÈAÕNØ�8‰8�uÑÐÐØ�9Š9Ðˆ9Ü�C—M‘M“OÐ%8Ô9ÜˆT�9 L°¡OØ ‘?¨1õ.à�9‰9˜ÑÐÑr   c                 ó  — d„ }t        j                  | |d¬«      }|j                  }t        j                  ddd«      }t        j
                  g d¢«      }t        j
                  g d¢«      } |||«      }t        ||«       y )	Nc                   ó   — y r   r   r�   s    r   rr   z4test_snapping_values_span_selector.<locals>.onselect³  s   € Ør   rK  )r\  r   r   ry   )
gš™™™™™¹¿r�  r·   rº   ç333333ã?çffffffæ?çÍÌÌÌÌÌì?g
×£p=
@ç      @ç      @)
rÐ   rÐ   rÐ   rº   rº   rº   ç      ð?r°  r°  r°  )rl   rR  Ú_snapr  rž  r  r   )r   rr   rs   Úsnap_functionÚsnap_valuesr›  Úexpects          r   Ú"test_snapping_values_span_selectorr·  ²  sl   € òô ×Ñ  H¸ÔF€DØ—J‘J€Mä—+‘+˜a  BÓ'€KÜ�X‰XÒJÓK€FÜ�X‰XÒJÓK€FÙ˜6 ;Ó/€FÜ�F˜FÕ#r   c                 óü   ‡ — ˆ fd„}t        j                  d«      dz  }t        j                  ‰ |d|¬«      }d|_        |j                  dk(  sJ ‚d |_        |j
                  �J ‚d|_        |j                  dk(  sJ ‚y )Nc                 ó   •— d‰_         y )NT)Ú_got_onselect)r•  r–  r   s     €r   rr   z)test_span_selector_snap.<locals>.onselectÁ  s   ø€ ØˆÕr   r¤   r�  rK  )r\  rµ  )é   rª   )r%   é$   )r  Úarangerl   rR  rÔ   rµ  )r   rr   rµ  rs   s   `   r   Útest_span_selector_snapr¾  À  s�   ø€ ô ô —)‘)˜B“- !Ñ#€Kä×Ñ  H¸Ø,7ô9€Dà€D„LØ�<‰<˜8Ò#Ð#Ð#à€DÔØ×ÑÐ#Ð#Ð#Ø€D„LØ�<‰<˜8Ò#Ð#Ñ#r   c                 óÊ   — t        j                  | d„ dd¬«      }d|_        |j                  dk(  sJ ‚|j                  sJ ‚d}d}t	        |||¬«       |j                  dk(  sJ ‚y )	Nc                  ó   — y r   r   )Úar¶   s     r   r‘   z,test_span_selector_extents.<locals>.<lambda>Ó  r’   r   rK  TrF  )r   rQ   )é   é   )r&   rÃ  r}   )rl   rR  rÔ   r…   r   )r   rs   r…  r‡  s       r   Útest_span_selector_extentsrÄ  Ñ  sp   € Ü×ÑØ
Ñ˜|À$ô
€Dð €D„Là�<‰<˜7Ò"Ð"Ð"Ø×$Ò$Ð$Ð$ð €JØ€LÜ�4˜z¨|Õ<à�<‰<˜7Ò"Ð"Ñ"r   r#   )r(   )rO   rX   c                 óî   — t        j                  t        d ¬«      }t        j                  | |fi |¤Ž}t        |dddd¬«       t        |dddd¬«       t        |dd	d	d¬«       |j                  g d
¢«       y )NrZ   r]   r^   r   r_   rb   rÜ   rd   r'  )r  r(  rG  )r   rk   r   rl   ÚLassoSelectorr   rS  )r   rN   rr   rs   s       r   Útest_lasso_selectorrÇ  â  sj   € ô �y‰yœd°Ô6€Hä× Ñ   XÑ8°Ñ8€DÜˆT�7 #¨S¸Õ;ÜˆT�8 3¨c¸!Õ<ÜˆT�9 C¨s¸1Õ=à×$Ñ$Ò%IÕJr   c                 óª  — t        j                  t        d ¬«      }t        j                  | |t        dd¬«      ¬«      }|j                  }t        j                  |j                  «       d«      sJ ‚|j                  «       dk(  sJ ‚|j                  dd¬«       t        j                  |j                  «       d«      sJ ‚|j                  «       dk(  sJ ‚y )NrZ   r¶   r·   rd  rW   r½   r¾   )r   rk   r   rl   rÆ  rÁ   rÂ   rÄ   r6  re  rÉ   rÆ   )r   rr   rs   rÌ   s       r   Útest_lasso_selector_set_propsrÉ  ò  s´   € Ü�y‰yœd°Ô6€Hä× Ñ   X´TÀÈ3Ô5OÔP€Dà×#Ñ#€FÜ×Ñ˜f×.Ñ.Ó0°#Ô6Ð6Ð6Ø×ÑÓ Ò$Ð$Ð$Ø‡N�N˜ C€NÔ(Ü×Ñ˜f×.Ñ.Ó0°#Ô6Ð6Ð6Ø×ÑÓ Ò$Ð$Ñ$r   c                 ó  — t        j                  t        d ¬«      }t        j                  | d|«      }|j
                  }t        j                  |j                  «       d«      sJ ‚|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚t        j                  | d|t        dddd¬	«      ¬
«      }|j
                  }t        j                  |j                  «       d«      sJ ‚|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  d«       |j                  d«       t        j                  |j                  «       d«      sJ ‚|j                  «       dk(  sJ ‚y )NrZ   r  r¿   ú-r   Údarkbluer·   r   )Ú	linestyler(   r¹   ÚlwrW   r½   r¾   )r   rk   r   rl   ÚLassorg   rÄ   r6  re  Úget_linestyleÚget_lwrÁ   rÉ   Ú	set_colorÚ	set_alpha)r   rr   rs   rg   s       r   Útest_lasso_set_propsrÔ  ÿ  sK  € Ü�y‰yœd°Ô6€HÜ�=‰=˜˜Z¨Ó2€DØ�9‰9€DÜ×Ñ˜dŸn™nÓ.°Ô8Ð8Ð8Ø×ÑÓ 3Ò&Ð&Ð&Ø�;‰;‹=˜AÒÐÐÜ�=‰=˜˜Z¨¼Ø˜Z¨s°qô::ô ;€Dð �9‰9€DÜ×Ñ˜dŸn™nÓ.°
Ô;Ð;Ð;Ø�>‰>Ó˜sÒ"Ð"Ð"Ø�;‰;‹=˜AÒÐÐØ×ÑÓ 3Ò&Ð&Ð&Ø‡N�N�3ÔØ‡N�N�3ÔÜ×Ñ˜dŸn™nÓ.°Ô4Ð4Ð4Ø�>‰>Ó˜sÒ"Ð"Ñ"r   c                 óì  — d}t        j                  | |d«      }|j                  «       g d¢k(  sJ ‚|j                  d«       |j                  «       g d¢k(  sJ ‚|j	                  «       dgk(  sJ ‚|j                  «        |j                  «       g d¢k(  sJ ‚|j	                  «       g k(  sJ ‚dt        |«      t        |«      dz   fD ]6  }t        j                  t        «      5  |j                  |¬	«       d d d «       Œ8 d
D ]7  }t        j                  t        «      5  |j                  d|¬«       d d d «       Œ9 |j                  d„ «      }|j                  |«       y # 1 sw Y   Œ¢xY w# 1 sw Y   ŒsxY w)N)rÁ  r¶   Úc)TFTr   )FFTrÖ  )FFFéÿÿÿÿr   )rˆ  )Úinvalidr×  r   )r  c                   ó   — y r   r   r   r   r   r‘   z#test_CheckButtons.<locals>.<lambda>'  r’   r   )rl   r   Ú
get_statusÚ
set_activeÚget_checked_labelsrß   r  r=   râ   rã   Ú	TypeErrorÚ
on_clickedÚ
disconnect)r   ÚlabelsÚcheckÚinvalid_indexÚinvalid_valueÚcids         r   Útest_CheckButtonsrå    sn  € Ø€FÜ× Ñ   VÐ-@ÓA€EØ×ÑÓÒ!4Ò4Ð4Ð4Ø	×Ñ�QÔØ×ÑÓÒ!5Ò5Ð5Ð5Ø×#Ñ#Ó%¨#¨Ò.Ð.Ð.Ø	‡K�K„MØ×ÑÓÒ!6Ò6Ð6Ð6Ø×#Ñ#Ó%¨Ò+Ð+Ð+àœc &›k¬3¨v«;°q©=Ð9ò 2ˆÜ�]‰]œ:Ó&ñ 	2Ø×Ñ =ÐÔ1÷	2ð 	2ð2ð )ò 5ˆÜ�]‰]œ9Ó%ñ 	5Ø×Ñ˜Q mÐÔ4÷	5ð 	5ð5ð ×
Ñ
™<Ó
(€CØ	×Ñ�SÕ÷	2ð 	2ú÷	5ð 	5ús   Ã!EÄE*ÅE'	Å*E3	Útoolbar)rh   Útoolbar2Útoolmanagerc                 óš  — t         j                  j                  d|«       t        j                  t
        d ¬«      }t        j                  t
        d ¬«      }t        j                  | d«      }|j                  |«       |j                  |«       |j                  dk(  sJ ‚t        |d«       |j                  d«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  «        |j                  «        |j                  dk(  sJ ‚t        |ddd¬	«       t        |d
d¬«       t        |d
d¬«       |j                  dk(  sJ ‚y )Nræ  rZ   Ú Ú_clickzx**2r   r   rº   ©r`   ra   Ú	_keypressú+r  Ú5rÓ   )r?   ÚrcParamsÚ_setr   rk   r   rl   ÚTextBoxÚ	on_submitÚon_text_changeÚtextr   Úset_valÚ
call_countÚbegin_typingÚstop_typing)r   ræ  Úsubmit_eventÚtext_change_eventrs   s        r   Útest_TextBoxrü  +  s  € ô ‡L�L×Ñ�i Ô)ä—9‘9¤$°TÔ:€LÜŸ	™	¤t¸$Ô?ÐÜ�?‰?˜2˜rÓ"€DØ‡N�N�<Ô Ø×ÑÐ)Ô*à�9‰9˜Š?Ðˆ?äˆT�8Ôà‡L�L�Ôà�9‰9˜ÒÐÐØ×'Ñ'¨1Ò,Ð,Ð,à×ÑÔØ×ÑÔà×"Ñ" aÒ'Ð'Ð'äˆT�8 2¨RÕ0ÜˆT�; CÕ(ÜˆT�; CÕ(à×'Ñ'¨1Ò,Ð,Ñ,r   c                 óú   — t        j                  | d«      }|j                  d«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  «        |j                  dk(  sJ ‚|j                  dk(  sJ ‚y )N©úRadio 1úRadio 2zRadio 3r   r   rÿ  r   )rl   r   rÛ  Úvalue_selectedÚindex_selectedrß   )r   Úradios     r   Útest_RadioButtonsr  K  s|   € Ü× Ñ  Ð%FÓG€EØ	×Ñ�QÔØ×Ñ 9Ò,Ð,Ð,Ø×Ñ 1Ò$Ð$Ð$Ø	‡K�K„MØ×Ñ 9Ò,Ð,Ð,Ø×Ñ 1Ò$Ð$Ñ$r   zcheck_radio_buttons.pngÚmpl20)ÚstyleÚremove_textc            
      óÞ  — t        «       } | j                  }|j                  d¬«       |j                  d«      }t	        j
                  |d«      }|j                  d«      }t	        j                  |dd«      }|j                  d«      }t	        j
                  |dg d	¢g d
¢dœg d
¢g d¢dœ¬«      }|j                  d«      }t	        j                  |ddg d	¢g d
¢dœg d
¢g d¢dœdg d
¢i¬«      }	y )Nr¾   )Úleft)çš™™™™™©?r®  r·   ç333333Ã?rþ  )r
  rº   r·   r  )zCheck 1zCheck 2zCheck 3)FTT)r
  r¾   r·   r  )é   rÂ  r%   )r#   ÚgreenÚblue)r)   r(   )r*   Ú	palegreenÚ	lightbluer,   r/   )r
  r�  r·   r  r(   ©r0   r5   r6   )r	   r}  Úsubplots_adjustÚadd_axesrl   r   r   )
r   rG   Úrax1Úrb1Úrax2Úcb1Úrax3Úrb3Úrax4Úcb4s
             r   Útest_check_radio_buttons_imager  U  sõ   € ä	‹€BØ
�)‰)€CØ×Ñ˜SÐÔ!à�<‰<Ð.Ó/€DÜ
×
Ñ
˜tÐ%FÓ
G€Cà�<‰<Ð.Ó/€DÜ
×
Ñ
˜tÐ%FØ2ó4€Cð �<‰<Ð.Ó/€DÜ
×
Ñ
ØÐ/Ú!,Ú6ñ8â":Ú"IñKô	L€Cð �<‰<Ð.Ó/€DÜ
×
Ñ
ØÐ/Ð1DÚ!,Ú6ñ8â":Ú"IñKàÒ6Ð7ô9�Cr   Úpng)Ú
extensionsc                 óp  — t        j                  | j                  «       ddg«       |j                  g g ¬«      }|j	                  ddgddg|j
                  t        j                  d   dz  dz  d	d
g¬«       |j                  ddd|j
                  d¬«       |j                  ddd|j
                  d¬«       y )NÚteaÚcoffee©ÚxticksÚyticksr  çUUUUUUå?çUUUUUUÕ?ú	font.sizer   ÚC0rh   )r„   ÚsrÖ  ç      Ð?r²   ©r„   Úva)	rl   r   r@   Úadd_subplotÚscatterÚ	transAxesr?   rð  rõ  ©Úfig_testÚfig_refr   s      r   Útest_radio_buttonsr3  t  s©   € ä×Ñ˜×*Ñ*Ó,¨u°hÐ.?Ô@Ø	×	Ñ	 B¨rÐ	Ó	2€BØ‡J�J��Sˆz˜C ˜:°·±Ü—,‘,˜{Ñ+¨aÑ/°AÑ5¸$À¸ð ô Ià‡G�GˆC��e r§|¡|¸€GÔAØ‡G�GˆC��h¨"¯,©,¸8€GÕDr   c                 ó  — dgdgdœ}ddddœ}t        j                  |j                  «       dd	g||¬
«       t        j                  | j                  «       dd	g«      }|j                  |«       |j	                  i |¥ddi¥«       y )Nr#   é   r'   r  r  r   ©r.   r-   Ú	linewidthr   r!  r/   r)  ç      b@)rl   r   r@   Úset_label_propsÚset_radio_props)r1  r2  r0   r1   Úcbs        r   Útest_radio_buttons_propsr<  ~  s�   € à"˜G°"°Ñ6€KØ '°fÈ1ÑM€Kä×Ñ˜×)Ñ)Ó+¨e°XÐ->Ø%0¸kõKô 
×	Ñ	˜h×/Ñ/Ó1°E¸8Ð3DÓ	E€BØ×Ñ�{Ô#ð ×ÑÐ8˜+Ð8 s¨KÑ8Õ9r   c                 ó  — t        j                  t        d¬«      5  t        j                  | ddgdddi¬«      }d d d «       t        j                  j                  j                  «       dd	g«      sJ ‚y # 1 sw Y   Œ<xY w)
Nz"Both the \*activecolor\* parameterr“   r   r!  r#   r.   r  )Úactivecolorr1   rh   )	r=   r–   ÚUserWarningrl   r   rÄ   r6  Ú_buttonsrÃ   )r   Úrbs     r   Ú!test_radio_button_active_conflictrB  �  s{   € Ü	�‰”kØAô
Cñ Fä×!Ñ! " u¨hÐ&7ÀUØ/:¸GÐ.DôFˆ÷Fô
 ×Ñ˜bŸk™k×7Ñ7Ó9¸GÀVÐ;LÔMÐMÑM÷Fð Fús   œA5Á5A>c                 ó²   — t        j                  |j                  «       ddgd¬«       t        j                  | j                  «       ddgd¬«      }d|_        y )Nr   r!  r  )r>  r#   )rl   r   r@   r>  )r1  r2  r;  s      r   Ú%test_radio_buttons_activecolor_changerD  –  sS   € ä×Ñ˜×)Ñ)Ó+¨e°XÐ->Ø%,õ.ô 
×	Ñ	˜h×/Ñ/Ó1°E¸8Ð3DØ*/ô
1€Bà€B…Nr   c           	      óô  — t        j                  | j                  «       ddgddg«       |j                  g g ¬«      }|j	                  ddgddgd|j
                  t        j                  d	   d
z  d
z  ddg¬«       |j	                  ddgddgd|j
                  t        j                  d	   d
z  d
z  ddg¬«       |j                  ddd|j
                  d¬«       |j                  ddd|j
                  d¬«       y )Nr   r!  Tr"  r  r%  r&  r)  r'  r   rh   )Úmarkerr„   r)  rÖ  rœ  Úkr*  r²   r+  )	rl   r   r@   r-  r.  r/  r?   rð  rõ  r0  s      r   Útest_check_buttonsrH  ¡  sô   € ä×Ñ˜×*Ñ*Ó,¨u°hÐ.?À$ÈÀÔNØ	×	Ñ	 B¨rÐ	Ó	2€BØ‡J�J��Sˆz˜C ˜:¨c¸R¿\¹\Ü—,‘,˜{Ñ+¨aÑ/°AÑ5¸&À&Ð9Ið ô Kà‡J�J��Sˆz˜C ˜:¨c¸R¿\¹\Ü—,‘,˜{Ñ+¨aÑ/°AÑ5¸#¸s¸ð ô Eà‡G�GˆC��e r§|¡|¸€GÔAØ‡G�GˆC��h¨"¯,©,¸8€GÕDr   c                 óz  — dgdgdœ}ddddœ}dddœ}t        j                  |j                  «       d	d
gddg|||¬«       t        j                  | j                  «       d	d
gddg«      }|j                  |«       |j	                  i |¥ddi¥«       |j                  d«      |d<   |j                  i |¥ddi¥«       y )Nr#   r5  r'   r  r  r   r6  )r.   r7  r   r!  Tr  r)  r8  r.   r-   )rl   r   r@   r9  Úset_frame_propsÚpopÚset_check_props)r1  r2  r0   r5   r6   r;  s         r   Útest_check_button_propsrM  ­  sÚ   € à"˜G°"°Ñ6€KØ '°fÈ1ÑM€KØ %°AÑ6€Kä×Ñ˜×)Ñ)Ó+¨e°XÐ->ÀÀtÀØ%0¸kØ%0õ2ô 
×	Ñ	˜h×/Ñ/Ó1°E¸8Ð3DØ# T˜ló
,€Bà×Ñ�{Ô#ð ×ÑÐ8˜+Ð8 s¨KÑ8Ô9ð  +Ÿ™¨{Ó;€K�ÑØ×ÑÐ8˜+Ð8 s¨KÑ8Õ9r   c                  óR  — t        j                  «       \  } }t        j                  t        «      5  t        j                  |dddd¬«       d d d «       t        j                  t        «      5  t        j                  |dddd¬«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)Nrê  rÐ   ç      8@rÑ   )r   ÚlabelÚvalminÚvalmaxÚ	slidermin)r   rP  rQ  rR  Ú	slidermax)r?   r@   r=   râ   rã   rl   ÚSlider)rG   r   s     r   Ú'test_slider_slidermin_slidermax_invalidrV  Ä  sˆ   € Ü�l‰l‹n�G€Cˆä	�‰”zÓ	"ñ 'Ü�‰˜" B¨s¸4Ø!%õ	'÷'ô 
�‰”zÓ	"ñ 'Ü�‰˜" B¨s¸4Ø!%õ	'÷'ð '÷'ð 'ú÷'ð 'ús   ±BÁ-BÂBÂB&c                  ó>  — t        j                  «       \  } }t        j                  |dddd¬«      }t        j                  |dddd|¬«      }|j                  |j                  k(  sJ ‚t        j                  |dddd|¬	«      }|j                  |j                  k(  sJ ‚y )
Nrê  rÐ   rO  r°  ©r   rP  rQ  rR  Úvalinitr²  )r   rP  rQ  rR  rY  rS  rÑ   )r   rP  rQ  rR  rY  rT  ©r?   r@   rl   rU  Úval)rG   r   Úslider_Úsliders       r   Útest_slider_slidermin_slidermaxr^  Ï  sŽ   € Ü�l‰l‹n�G€CˆÜ�n‰n ¨"°SÀØ%(ô*€Gô �^‰^˜r¨°CÀØ$'°7ô<€Fà�:‰:˜Ÿ™Ò$Ð$Ð$ä�^‰^˜r¨°CÀØ$(°Gô=€Fà�:‰:˜Ÿ™Ò$Ð$Ñ$r   c                  ó  — t        j                  «       \  } }t        j                  |dddd¬«      }|j                  |j
                  k(  sJ ‚t        j                  |dddd¬«      }|j                  |j                  k(  sJ ‚y )Nrê  rÐ   rO  g      $ÀrX  g      9@)r?   r@   rl   rU  r[  rQ  rR  ©rG   r   r]  s      r   Útest_slider_valmin_valmaxra  Ý  so   € Ü�l‰l‹n�G€CˆÜ�^‰^˜r¨°CÀØ$)ô+€Fà�:‰:˜Ÿ™Ò&Ð&Ð&ä�^‰^˜r¨°CÀØ$(ô*€Fà�:‰:˜Ÿ™Ò&Ð&Ñ&r   c            	      óæ   — t        j                  «       \  } }t        j                  |ddddd¬«      }|j                  dk(  sJ ‚t        j                  |ddddg d¢¬«      }|j                  d	k(  sJ ‚y )
Nrê  rÐ   rO  gÍÌÌÌÌÌ&@r   )r   rP  rQ  rR  rY  Úvalstepry   )r   r   r±  g33333³3@r±  rZ  r`  s      r   Útest_slider_valstep_snappingrd  è  sm   € Ü�l‰l‹n�G€CˆÜ�^‰^˜r¨°CÀØ$(°!ô5€Fà�:‰:˜ÒÐÐä�^‰^˜r¨°CÀØ$(Ò2CôE€Fà�:‰:˜ÒÐÑr   c                  ó¸  — t        j                  «       \  } }t        j                  |ddddd¬«      }|j	                  d«       |j
                  dk(  sJ ‚|j                  j                  «       j                  |j                  j                  «       «      }t        |j                  g d¢«       t        j                  «       \  } }t        j                  |ddddd	¬«      }|j	                  d«       |j
                  dk(  sJ ‚|j                  j                  «       j                  |j                  j                  «       «      }t        |j                  g d
¢«       y )Nrê  r   r5  rÂ  rK  )r   rP  rQ  rR  rY  rT  rQ   )r   r*  ç«ªªªªªÚ?rº   rM  )r*  r   rº   rf  )r?   r@   rl   rU  rö  r[  ÚpolyÚget_extentsÚtransformedr/  Úinvertedr   Úbounds)rG   r   r]  Úboxs       r   Útest_slider_horizontal_verticalrm  ó  s  € Ü�l‰l‹n�G€CˆÜ�^‰^˜r¨°A¸bØ$&°LôB€Fà
‡N�N�2ÔØ�:‰:˜ÒÐÐà
�+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—J‘JÒ 3Ô4ä�l‰l‹n�G€CˆÜ�^‰^˜r¨°A¸bØ$&°Jô@€Fà
‡N�N�2ÔØ�:‰:˜ÒÐÐà
�+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—J‘JÒ 3Õ4r   c                  óÊ   — t        j                  «       \  } }t        j                  |dddd¬«      }|j	                  d«       |j                  «        |j                  dk(  sJ ‚y )Nrê  r   r   rº   rX  ç      è?)r?   r@   rl   rU  rö  Úresetr[  r`  s      r   Útest_slider_resetrq    sN   € Ü�l‰l‹n�G€CˆÜ�^‰^˜r¨°A¸aÈÔL€FØ
‡N�N�4ÔØ
‡L�L„NØ�:‰:˜ÒÐÑr   rT  c           	      ó>  ‡ — ‰ dk(  rg d¢}ng d¢}t        j                  «       \  }}t        j                  |ddd‰ ddg¬	«      }|j                  j                  «       j                  |j                  j                  «       «      }t        |j                  «       j                  «       |   g d
¢«       t        |j                  d«       ˆ fd„}|j                  d«       t        |j                  d«       t         ||«      d«       |j                  j                  «       j                  |j                  j                  «       «      }t        |j                  «       j                  «       |   g d¢«       |j                  d«       t        |j                  d«       t         ||«      d«       |j                  d«       t        |j                  d«       t         ||«      d«       |j                  «        t        |j                  d«       t         ||«      d«       y )NrM  ©r   r   rÓ   r   ©r   r   r   rÓ   rê  rÐ   r²  r�  çÃõ(\�ÂÕ?©r   rP  rQ  rR  rT  rY  )r�  r*  ru  ro  )r�  ru  c                 óÎ   •— ‰dk(  r+| j                   D �cg c]  }|j                  «       d   ‘Œ c}S | j                   D �cg c]  }|j                  «       d   ‘Œ c}S c c}w c c}w )NrM  r   )Ú_handlesr§  Ú	get_xdata)r]  ÚhrT  s     €r   r‰  z+test_range_slider.<locals>.handle_positions"  sS   ø€ Ø˜*Ò$Ø.4¯o©oÖ>¨�A—K‘K“M !Ó$Ò>Ð>à.4¯o©oÖ>¨�A—K‘K“M !Ó$Ò>Ð>ùò ?ùâ>s   •AÁ A")çš™™™™™Ù?r­  )r{  r*  r­  ro  )r·   r�  )r�  r·   )r×  rQ   r"   )r?   r@   rl   ÚRangeSliderrg  rh  ri  r/  rj  r   Ú
get_pointsÚflattenr[  rö  rp  )rT  ÚidxrG   r   r]  rl  r‰  s   `      r   Útest_range_sliderr€    s˜  ø€ à�jÒ Ú‰âˆä�l‰l‹n�G€Cˆä× Ñ Ø�R ¨C¸[Ø�d�ô€Fð �+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—N‘NÓ$×,Ñ,Ó.¨sÑ3Ò5LÔMô �F—J‘J Ô,ô?ð ‡N�N�:ÔÜ�F—J‘J 
Ô+ÜÑ$ VÓ,¨jÔ9à
�+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—N‘NÓ$×,Ñ,Ó.¨sÑ3Ò5IÔJà
‡N�N�:ÔÜ�F—J‘J 
Ô+ÜÑ$ VÓ,¨jÔ9à
‡N�N�8ÔÜ�F—J‘J Ô'ÜÑ$ VÓ,¨fÔ5à
‡L�L„NÜ�F—J‘J Ô,ÜÑ$ VÓ,¨kÕ:r   c           	      ód  — | dk(  rg d¢}ng d¢}t        j                  «       \  }}t        j                  |ddd| ddg¬«      }|j                  j                  «       j                  |j                  j                  «       «      }t        |j                  «       j                  «       |   g d	¢«       y )
NrM  rs  rt  rê  rÐ   r²  r   rv  )r   r*  r   ro  )r?   r@   rl   r|  rg  rh  ri  r/  rj  r   r}  r~  )rT  r  rG   r   r]  rl  s         r   Ú"test_range_slider_same_init_valuesr‚  <  s‘   € à�jÒ Ú‰âˆä�l‰l‹n�G€Cˆä× Ñ Ø�b ¨S¸kØ�Q�ô€Fð �+‰+×
!Ñ
!Ó
#×
/Ñ
/°·±×0EÑ0EÓ0GÓ
H€CÜ�C—N‘NÓ$×,Ñ,Ó.¨sÑ3Ò5GÕHr   c                 óô   — t        «       }t        j                  t        d¬«      }t	        j
                  ||fi |¤Ž}| D ]  \  }}t        ||fi |¤Ž Œ |j                  |k(  sJ ‚|j                  |fi fk(  sJ ‚y)a4  
    Helper function to test Polygon Selector.

    Parameters
    ----------
    event_sequence : list of tuples (etype, dict())
        A sequence of events to perform. The sequence is a list of tuples
        where the first element of the tuple is an etype (e.g., 'onmove',
        'press', etc.), and the second element of the tuple is a dictionary of
         the arguments for the event (e.g., xdata=5, key='shift', etc.).
    expected_result : list of vertices (xdata, ydata)
        The list of vertices that are expected to result from the event
        sequence.
    selections_count : int
        Wait for the tool to call its `onselect` function `selections_count`
        times, before comparing the result to the `expected_result`
    **kwargs
        Keyword arguments are passed to PolygonSelector.
    NrZ   )	r	   r   rk   r   rl   ÚPolygonSelectorr   r÷  rq   )	Úevent_sequenceÚexpected_resultÚselections_countrN   r   rr   rs   ÚetypeÚ
event_argss	            r   Úcheck_polygon_selectorrŠ  M  sˆ   € ô* 
‹€Bä�y‰yœd°Ô6€Hä×"Ñ" 2 xÑ:°6Ñ:€Dà-ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð ×ÑÐ"2Ò2Ð2Ð2Ø×Ñ ?Ð"5°rÐ!:Ò:Ð:Ñ:r   c                 óZ   — dt        | |¬«      fdt        | |¬«      fdt        | |¬«      fgS )Nrb   rì  r]   rd   ©rÁ   rì  s     r   Úpolygon_place_vertexr�  o  s9   € Ø”t %¨uÔ5Ð6Ø”d ¨eÔ4Ð5Øœ 5°Ô6Ð7ð9ð 9r   c                 ó^   — dt        | |¬«      fdt        | |d¬«      fdt        | |d¬«      fgS )Nrb   rì  r]   rÓ   r_   rd   rŒ  rì  s     r   Úpolygon_remove_vertexr�  u  s?   € Ø”t %¨uÔ5Ð6Ø”d ¨e¸AÔ>Ð?Øœ 5°¸aÔ@ÐAðCð Cr   Údraw_bounding_boxc                 óò  — t        j                  t        | ¬«      }g d¢}g t        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢dt	        d¬	«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘dt	        d¬	«      f‘t        dd«      ¢t        dd«      ¢} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢dt	        d¬	«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘dt	        d¬	«      f‘t        dd«      ¢t        dd«      ¢} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢d
t	        dd¬«      f‘dt	        dd¬«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢dt	        d¬	«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘d
t	        dd¬«      f‘dt	        dd¬«      f‘dt	        d¬	«      f‘} |||d«       g d¢}dt	        d¬	«      fd
t	        dd¬«      fdt	        dd¬«      fd
t	        dd¬«      fdt	        dd¬«      fdt	        d¬	«      fdt	        d¬	«      fd
t	        dd¬«      fdt	        dd¬«      fd
t	        dd¬«      fdt	        dd¬«      fdt	        d¬	«      fgt        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢} |||d«       g d¢}g t        dd«      ¢t        dd«      ¢dt	        d¬	«      f‘dt	        d¬	«      f‘t        dd«      ¢t        dd«      ¢t        dd«      ¢t        dd«      ¢} |||d«       y )N©r�  ©©r¤   r¤   ©r'  r¤   ©r¤   r'  r¤   r'  r   ))r�   r¤   r•  r–  r  rê   r  rb   rì  r]   r�   rd   Úon_key_release))r¤   r�   )r'  r�   r–  rû   r^   rÜ   r   ))r�   r�   )r¬   r�   )r�   r¬   re   rk  )Ú	functoolsÚpartialrŠ  r�  rÁ   )r�  Úcheck_selectorr†  r…  s       r   Útest_polygon_selectorr›  {  so  € ä×&Ñ&ÜÐ2CôE€Nò 7€OðÜ	˜b "Ó	%ðä	˜c 2Ó	&ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð	€Nñ �> ?°AÔ6ò 7€OðÜ	˜b "Ó	%ðä	˜c 2Ó	&ðð 
œ )Ô,Ð-ðð 
”4˜b¨Ô+Ð,ð	ð
 
”$˜R rÔ*Ð+ðð 
”4˜b¨Ô+Ð,ðð 
”D˜r¨Ô,Ð-ðð 
œ4 IÔ.Ð/ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð€Nñ �> ?°AÔ6ò 7€OðÜ	˜b "Ó	%ðä	˜c 2Ó	&ðð 
œ 'Ô*Ð+ðð 
”4˜c¨Ô-Ð.ð	ð
 
”$˜S¨Ô,Ð-ðð 
”4˜c¨Ô-Ð.ðð 
”D˜s¨#Ô.Ð/ðð 
œ4 GÔ,Ð-ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð€Nñ �> ?°AÔ6ò 7€Oð	Ü	˜b "Ó	%ð	ä	˜c 2Ó	&ð	ô 
˜b #Ó	&ð	ô 
˜b "Ó	%ð		ð
 
”4˜b¨Ô+Ð,ð	ð 
”$˜R rÔ*Ð+ð	ð 
”4˜b¨Ô+Ð,ð	ð 
”D˜r¨Ô,Ð-ð	€Nñ �> ?°AÔ6ò 7€OðÜ	˜b "Ó	%ðä	˜c 2Ó	&ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð	ð
 
œ 'Ô*Ð+ðð 
”4˜c¨Ô-Ð.ðð 
”$˜S¨Ô,Ð-ðð 
”4˜c¨Ô-Ð.ðð 
”D˜s¨#Ô.Ð/ðð 
œ4 GÔ,Ð-ð€Nñ �> ?°AÔ6ò 7€Oà	œ )Ô,Ð-Ø	”4˜c¨Ô-Ð.Ø	”$˜S¨Ô,Ð-Ø	”4˜c¨Ô-Ð.Ø	”D˜s¨#Ô.Ð/Ø	œ4 IÔ.Ð/Ø	œ 'Ô*Ð+Ø	”4˜c¨Ô-Ð.Ø	”$˜S¨Ô,Ð-Ø	”4˜c¨Ô-Ð.Ø	”D˜s¨#Ô.Ð/Ø	œ4 GÔ,Ð-ðô 
˜b "Ó	%ðô 
˜c 2Ó	&ðô 
˜b #Ó	&ðô  
˜b "Ó	%ð!€Nñ$ �> ?°AÔ6ò 7€Oð	Ü	˜b "Ó	%ð	ä	˜c 2Ó	&ð	ð 
œ (Ô+Ð,ð	ð 
œ4 HÔ-Ð.ð		ô
 
˜b "Ó	%ð	ô 
˜c 2Ó	&ð	ô 
˜b #Ó	&ð	ô 
˜b "Ó	%ð	€Nñ �> ?°AÕ6r   c                 óô  — t        j                  | t        t        dd¬«      t        d¬«      |¬«      }g t	        dd«      ¢t	        dd«      ¢t	        dd«      ¢t	        dd«      ¢}|D ]  \  }}t        ||fi |¤Ž Œ |j                  }|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  d	d
¬«       |j                  «       d	k(  sJ ‚|j                  «       d
k(  sJ ‚|j                  D ],  }|j                  «       dk(  sJ ‚|j                  «       dk(  rŒ,J ‚ |j                  d	d
¬«       |j                  D ],  }|j                  «       d	k(  sJ ‚|j                  «       d
k(  rŒ,J ‚ y )Nr¶   r·   rd  rº   r»   )rr   rX   r¼   r�  r¤   r'  r½   r¾   )rl   r„  r   rÁ   r�  r   rÂ   re  rÉ   rÆ   rÇ   rÊ   )r   r�  rs   r…  rˆ  r‰  rÌ   s          r   Ú,test_polygon_selector_set_props_handle_propsr�  í  s«  € ä×"Ñ" 2´Ü)-°C¸sÔ)CÜ04¸3´Ø5FôH€Dð
Ü	˜b "Ó	%ðä	˜c 2Ó	&ðô 
˜b #Ó	&ðô 
˜b "Ó	%ð	€Nð  .ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð ×#Ñ#€FØ×ÑÓ Ò$Ð$Ð$Ø×ÑÓ Ò$Ð$Ð$Ø‡N�N˜ C€NÔ(Ø×ÑÓ Ò$Ð$Ð$Ø×ÑÓ Ò$Ð$Ð$à×'Ñ'ò )ˆØ×ÑÓ! SÒ(Ð(Ð(Ø×ÑÓ! SÓ(Ð(Ð(ð)ð 	×Ñ ¨3ÐÔ/Ø×'Ñ'ò )ˆØ×ÑÓ! SÒ(Ð(Ð(Ø×ÑÓ! SÓ(Ð(Ð(ñ)r   c                 óŽ   — | j                  «       }|j                  «       }t        j                  |t        ddi¬«      }d|_        y )Nr™   F)rr   rX   )r·   r  r¾   r®  )r@   rl   rm   r   rÔ   )r1  r2  Úax_testÚ_rs   s        r   Útest_rect_visibilityr¡    sC   € ð ×ÑÓ!€GØ×ÑÓ€Aä×$Ñ$ W´tØ,5°uÐ+=ô?€Dà'€D…Lr   r  )r   r   rÓ   c                 ó  — g d¢}t        |d   Ž t        |d   Ž t        |d   Ž t        |d   Ž g}|j                  | t        dd«      «       |j                  t        dd«      «       t	        |g «      }t        ||d|¬«       y )Nr“  r   r   r   éÈ   r’  )r�  ÚinsertÚappendr�  ÚsumrŠ  )r  r�  Úvertsr…  s       r   Útest_polygon_selector_remover¨    sŽ   € ò -€EÜ*¨E°!©HÐ5Ü*¨E°!©HÐ5Ü*¨E°!©HÐ5ä*¨E°!©HÐ5ð	7€Nð ×Ñ˜#Ô3°C¸Ó=Ô>à×ÑÔ/°°SÓ9Ô:ä˜¨Ó,€NÜ˜>¨5°!Ø->ö@r   c                 ó¢   — g d¢}g t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢}t        ||dd  d| ¬«       y )Nr“  r   r   r   r’  )r�  r�  rŠ  )r�  r§  r…  s      r   Ú(test_polygon_selector_remove_first_pointrª  -  sƒ   € â,€EðÜ	˜u Q™xÐ	(ðä	˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ð	ô
 
  a¡Ð	)ð€Nô ˜>¨5°°¨9°aØ->ö@r   c                 ó8  — g d¢}g t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢}t        j                  | t        |¬«      }|D ]  \  }}t        ||fi |¤Ž Œ |j                  |dd k(  sJ ‚y )Nr“  r   r   r   ©rr   r�  )r�  r�  rl   r„  r   r   r§  )r   r�  r§  r…  rs   rˆ  r‰  s          r   Útest_polygon_selector_redrawr­  ;  sæ   € â,€Eð
Ü	˜u Q™xÐ	(ð
ä	˜u Q™xÐ	(ð
ô 
˜u Q™xÐ	(ð
ô 
˜u Q™xÐ	(ð	
ô 
  a¡Ð	)ð
ô 
  a¡Ð	)ð
ô 
˜u Q™xÐ	(ð
€Nô ×"Ñ" 2´Ø5FôH€Dà-ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð �:‰:˜˜q ˜Ò#Ð#Ñ#r   c                 óv  — g d¢}| j                  «       }t        j                  |t        |¬«      }||_        |j                  |k(  sJ ‚|j                  «       }t        j                  |t        |¬«      }g t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢}|D ]  \  }	}
t        ||	fi |
¤Ž Œ y )N))r�  r{  )rº   r¯  )r¾   r·   r¬  r   r   r   )r-  rl   r„  r   r§  r�  r   )r1  r2  r�  r§  rŸ  Ú	tool_testÚax_refÚtool_refr…  rˆ  r‰  s              r   Ú"test_polygon_selector_verts_setterr²  S  sä   € ò 1€EØ×"Ñ"Ó$€Gä×'Ñ'Øœ$Ð2CôE€Ià€I„OØ�?‰?˜eÒ#Ð#Ð#à× Ñ Ó"€FÜ×&Ñ&ØœÐ1BôD€HðÜ	˜u Q™xÐ	(ðä	˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ð	€Nð  .ò 0Ñˆ�
Ü�˜5Ñ/ JÓ/ñ0r   c                 óÞ  — | j                  dd¬«       g d¢}g t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢}t        j                  | t        d¬	«      }|D ]  \  }}t        ||fi |¤Ž Œ | j                  }| j                  j                  }t        d
|g|j                  d«      ¢d‘­Ž j                  «        t        d|g|j                  d«      ¢­Ž j                  «        t        d|g|j                  d«      ¢d‘­Ž j                  «        t        j                  j                  |j                  g d¢«       t        d
|g|j                  d«      ¢d‘­Ž j                  «        t        d|g|j                  d«      ¢­Ž j                  «        t        d|g|j                  d«      ¢d‘­Ž j                  «        t        j                  j                  |j                  g d¢«       t        j                  j                  |j                   j"                  d«       t        d
|g|j                  d«      ¢d‘­Ž j                  «        t        d|g|j                  d«      ¢d‘­Ž j                  «        t        j                  j                  |j                  g d¢«       t        j                  j                  |j                   j"                  d«       y )N)iöÿÿÿr¤   )ÚxlimÚylim))r&   r   )r   r&   )r&   é(   )r¶  r&   r   r   r   rÓ   Tr¬  Úbutton_press_event)r¶  r¶  Úmotion_notify_eventr€   Úbutton_release_event))rQ   r   r¡   )rQ   r&   )r&   rQ   r{   r�   )rž   ©r&   r‚   ©r‚   r¶  ©r¶  r‚   )ç      4@ç      D@r½  r¾  rž   )rº  r»  r¼  )r½  r¾  g      >@r¾  )Úsetr�  rl   r„  r   r   rƒ   r}  rB   r   r„   Ú_processr  Útestingr   r§  Ú_boxrÔ   )r   r§  r…  rs   rˆ  r‰  ÚtrB   s           r   Útest_polygon_selector_boxrÄ  k  sÖ  € à‡F�F�	 	€FÔ*Ú2€EðÜ	˜u Q™xÐ	(ðä	˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ð	ô
 
˜u Q™xÐ	(ð€Nô ×"Ñ" 2´ÈÔM€DØ-ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð
 	�‰€AØ�Y‰Y×Ñ€Fô Ø˜fðAØ'(§{¡{°8Ó'<ðAØ>?òAßAIÁÄÜØ˜vð?Ø()¯©°HÓ(=ò?ß?G¹x¼zÜØ ðCØ)*¯©°XÓ)>ðCØ@AòCßCKÁ8Ä:Ü‡J�J×ÑØ�
‰
Ò:ô<ô Ø˜fðAØ'(§{¡{°8Ó'<ðAØ>?òAßAIÁÄÜØ˜vð?Ø()¯©°HÓ(=ò?ß?G¹x¼zÜØ ðCØ)*¯©°XÓ)>ðCØ@AòCßCKÁ8Ä:Ü‡J�J×ÑØ�
‰
Ò<ô>ô ‡J�J×ÑØ�	‰	×ÑÐ3ô5ô Ø˜fðAØ'(§{¡{°8Ó'<ðAØ>?òAßAIÁÄÜØ ðCØ)*¯©°XÓ)>ðCØ@AòCßCKÁ8Ä:Ü‡J�J×ÑØ�
‰
Ò2ô4ä‡J�J×ÑØ�	‰	×ÑÐ3õ5r   c                 óv  — t        j                  t        d ¬«      }t        j                  | |«      }g d¢g d¢fD ]ý  }|D ]&  \  }}t        ||«      D ]  \  }}t        ||fi |¤Ž Œ Œ( |j                  }|j                  sJ ‚|j                  «       sJ ‚|j                  «       sJ ‚t        j                  j                  |j                  «       |«       |j                  |d d fi fk(  sJ ‚|j                  «        |j                  rJ ‚t        j                  j                  |j                  «       dg«       Œÿ y )NrZ   )r”  r•  r–  r”  )r”  )r^   r¤   r–  r”  r×  r   )r   rk   r   rl   r„  r�  r   rÂ   r…   r•   r  rÁ  Úassert_equalÚ
get_xydatarq   rß   )	r   rr   rs   Úresultrœ  Úyrˆ  r‰  rÌ   s	            r   Ú"test_polygon_selector_clear_methodrÊ  £  s-  € Ü�y‰yœd°Ô6€HÜ×"Ñ" 2 xÓ0€Dâ=Ú=ð?ò ?ˆàò 	4‰DˆAˆqÜ%9¸!¸QÓ%?ò 4Ñ!��zÜ˜˜uÑ3¨
Ó3ñ4ð	4ð ×'Ñ'ˆà×(Ò(Ð(Ð(Ø×ÑÔ!Ð!Ð!Ø×!Ñ!Ô#Ð#Ð#Ü
�
‰
×Ñ × 1Ñ 1Ó 3°VÔ<Ø×!Ñ! v¨c¨r { n°bÐ%9Ò9Ð9Ð9à�
‰
ŒØ×,Ò,Ð,Ð,Ü
�
‰
×Ñ × 1Ñ 1Ó 3°f°XÕ>ñ!?r   ÚhorizOnÚvertOnc                 óÂ  — t        j                  «       j                  dd¬«      \  }}t        j                  «       j                  «       }t        j                  d ||fd| |¬«      }t        |j                  «      dk(  sJ ‚t        |j                  «      dk(  sJ ‚t        |dd¬«      }|j                  |«       |j                  j                  j                  «        |j                  D ]  }|j                  «       d	k(  rŒJ ‚ |j                  D ]  }|j                  «       d
k(  rŒJ ‚ t        |j                  D �cg c]  }|j                  «       sŒ|‘Œ c}«      |rdndk(  sJ ‚t        |j                  D �cg c]  }|j                  «       sŒ|‘Œ c}«      | rdndk(  sJ ‚|j                   |_        |j                    |_        t        |dd¬«      }|j                  |«       t        |j                  D �cg c]  }|j                  «       sŒ|‘Œ c}«      |rdndk(  sJ ‚t        |j                  D �cg c]  }|j                  «       sŒ|‘Œ c}«      | rdndk(  sJ ‚t        |dd¬«      }|j                  |«       |j                  D ]  }|j                  «       d	k(  rŒJ ‚ |j                  D ]  }|j                  «       d
k(  rŒJ ‚ y c c}w c c}w c c}w c c}w )Nr   T)ÚsharexF)rO   rË  rÌ  rº   r*  rì  )rº   rº   )r*  r*  r   ro  )r?   r}  r@   rl   ÚMultiCursorr  ÚvlinesÚhlinesr
   rb   rB   rC   ry  r§  r•   rË  rÌ  )	rË  rÌ  Úax1Úax3Úax2ÚmultiÚeventÚlrg   s	            r   Útest_MultiCursorrØ  º  s   € ô —‘“×&Ñ& q°Ð&Ó6�J€Sˆ#Ü
�*‰*‹,×
Ñ
Ó
!€Cô ×ÑØˆs�Cˆj %°Àô€Eô
 ˆu�|‰|Ó Ò!Ð!Ð!Üˆu�|‰|Ó Ò!Ð!Ð!ô
 �s "¨CÔ0€EØ	‡L�L�Ôà‡J�J×Ñ×ÑÔð �\‰\ò )ˆØ�{‰{‹} Ó(Ð(Ð(ð)à�\‰\ò +ˆØ�{‰{‹} 
Ó*Ð*Ð*ð+ô  §¡ÖD˜°×1AÑ1AÕ1C’ÒDÓEÙ‰˜òð ð ä §¡ÖD˜°×1AÑ1AÕ1C’ÒDÓEÙ‰˜!òð ð ð Ÿ™Ð%€E„MØ—|‘|Ð#€E„LÜ�s "¨CÔ0€EØ	‡L�L�ÔÜ §¡ÖD˜°×1AÑ1AÕ1C’ÒDÓEÙ‰˜òð ð ä §¡ÖD˜°×1AÑ1AÕ1C’ÒDÓEÙ‰˜!òð ð ô
 �s #¨SÔ1€EØ	‡L�L�ÔØ�\‰\ò )ˆØ�{‰{‹} Ó(Ð(Ð(ð)à�\‰\ò +ˆØ�{‰{‹} 
Ó*Ð*Ð*ñ+ùò+ EùâDùò EùâDs0   Ä=KÅKÅ:KÆKÇ:KÈKÈ7KÉK)ir˜  rD   Úunittestr   Ú
matplotlibr—   Úmatplotlib.backend_basesr   Úmatplotlib.colorsÚcolorsrÄ   r;   rl   Úmatplotlib.pyplotÚpyplotr?   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.testing.widgetsr   r   r	   r
   r   Únumpyr  Únumpy.testingr   r=   Úfixturer   rM   ÚmarkÚparametrizerÁ   rv   rŒ   r›   r´   rÍ   r×   rå   rö   rü   rþ   rm   r+  r  r  r#  r/  r:  rC  rJ  rV  rX  rZ  r]  rb  rf  rm  ro  rq  ry  rŠ  Úbackendrª  r·  r¾  rÄ  rÇ  rÉ  rÔ  rå  rü  r  r  r3  r<  rB  rD  rH  rM  rV  r^  ra  rd  rm  rq  r€  r‚  rŠ  r�  r�  r›  r�  r¡  r¨  rª  r­  r²  rÄ  rÊ  rØ  r   r   r   ú<module>rè     s¯  ðÛ Û 	Ý ã Ý /Ý #Ý $Ý ß O÷:õ :ó Ý )ã ð ‡�ñó ðò$0ðN ‡�×Ñ˜ÙƒFÙ�˜aÔ Ù�"˜r¨hÔ7Ù‰t˜ŒÔð	$ó ñóðð2 ‡�×Ñ˜¨°Ð'9Ó:Ø‡�×Ñ˜¨1¨b¨'°A°t°9¸qÀ"¸gÐ)FÓGØ‡�×Ñ˜¨1¨b¨'°A°t°9¸qÀ"¸gÐ)FÓGñ ó Hó Hó ;ð òFð ‡�×ÑÐ9Ø Ð*Ø  (Ð+ð-ó.ñ%ó.ð%ò*)ò* JòFð ‡�×Ñ˜ t¨U mÓ4ñF;ó 5ðF;ðR ‡�×Ñ˜ t¨U mÓ4ñF3ó 5ðF3òR<Cð~ ‡�×ÑÐ)Ø!×3Ñ3°W×5LÑ5LÐMóOñDóOðDòB
%ð ‡�×ÑÐ/°%¸°Ó?ñ7ó @ð7òB5ò8DðB ‡�×Ñ˜¨¨u¨Ó6ñ"ó 7ð"ð  ‡�×ÑÐ/°$¸°Ó?ñ<ó @ð<ð, ‡�×ÑÐ?Ø�5™$ r°4Ô8Ð9Ø�‘t 1”~Ð&Ø�5™$¡T¨t¤_Ô5Ð6Ø�5™$¨4Ô0Ð1ð	Bó ñ1óð1ð0 ‡�×Ñ˜¨¨u¨Ó6ñ"ó 7ð"ð ‡�×ÑÐ/°$¸°Ó?ñ*ó @ð*ð8 ‡�×ÑÐ-°°e¨}Ó=ñ&ó >ð&ò2*ò$)ð, ‡�×Ñ˜ f¨kÐ%:Ó;ñ)ó <ð)ð8 ‡�×Ñ˜ f¨kÐ%:Ó;ñ(ó <ð(ò2ò3ð& ‡�×Ñ˜Ð&@ÓAñ<ó Bð<ð6 ‡�×Ñ�W°$ÐÓ7ñ5ó 8ð5òp$ò$ò"#ð" ‡�×Ñ˜ÙƒFÙ�™d¨Ô/Ô0Ù�˜aÔ ð$ó ñ
Kóð
Kò
%ò#ò*ð. ‡�×Ñ˜Ò$GÓHñ-ó Ið-ò>%ñ Ð,Ð-°WÈ$ÔOñ9ó Pð9ñ<   Ô(ñEó )ðEñ   Ô(ñ:ó )ð:òNñ   Ô(ñó )ðñ   Ô(ñEó )ðEñ   Ô(ñ:ó )ð:ò,'ò%ò'òò5ò(ð ‡�×Ñ˜¨°zÐ(BÓCñ);ó Dð);ðX ‡�×Ñ˜¨°zÐ(BÓCñIó DðIò ;òD9òCð ‡�×ÑÐ,¨u°d¨mÓ<ñn7ó =ðn7ðb ‡�×ÑÐ,¨u°d¨mÓ<ñ)ó =ð)ñ@ Óñ(ó ð(ð ‡�×Ñ˜¢	Ó*Ø‡�×ÑÐ,¨u°d¨mÓ<ñ@ó =ó +ð@ð" ‡�×ÑÐ,¨u°d¨mÓ<ñ
@ó =ð
@ð ‡�×ÑÐ,¨u°d¨mÓ<ñ$ó =ð$ð. ‡�×ÑÐ,¨u°d¨mÓ<Ù  Ô(ñ0ó )ó =ð0ò,55òp?ð. ‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜ E¨4 =Ó1ñ1+ó 2ó 3ñ1+r   