Ë
    ¨ehq ã                   óŽ  — d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ	 d dl
mZ 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j@                  jC                  d	 e"«        e"d
d¬«       e"ddd¬«       e" e"d
¬«      ¬«      g«      d„ «       Z#ej@                  jC                  dddg«      ej@                  jC                  dd dgddgddgg«      ej@                  jC                  dd dgddgddgg«      d„ «       «       «       Z$ej@                  jC                  dd
dgddgg«      d„ «       Z%d„ Z&d „ Z'd!„ Z(ej@                  jC                  d"d
dg«      d#„ «       Z)ej@                  jC                  d"d
dg«      d$„ «       Z*d%„ Z+ej@                  jC                  d&ejX                  ejZ                  g«      d'„ «       Z.d(„ Z/ej@                  jC                  d)dd
g«      d*„ «       Z0d+„ Z1d,„ Z2ej@                  jC                  d-d
dg«      d.„ «       Z3ej@                  jC                  d/d
dg«      d0„ «       Z4ej@                  jC                  d1d2d e"dd
¬3«      fd4d
 e"d¬5«      fd2d e" e"d
¬«      ¬«      fd2d e"d
¬6«      fg«      d7„ «       Z5ej@                  jC                  d-d
dg«      d8„ «       Z6ej@                  jC                  d/d
dg«      d9„ «       Z7ej@                  jC                  d:d
dg«      d;„ «       Z8d<„ Z9d=„ Z:ej@                  jC                  d>d?d@g«      dA„ «       Z;ej@                  jC                  d>d?d@g«      dB„ «       Z<dC„ Z=dD„ Z>ej@                  jC                  dEdF«      dG„ «       Z?ej@                  j�                  dHd
¬I«      dJ„ «       ZAdK„ ZBdL„ ZCdM„ ZDej@                  jC                  d	 e"«        e"d e"dN¬O«      ¬P«       e"d
d¬«      g«      dQ„ «       ZEdR„ ZFdS„ ZGdT„ ZHej@                  jC                  dUg dV¢«      dW„ «       ZIdX„ ZJ edYgdZd
¬[«      d\„ «       ZK ed]g¬^«      d_„ «       ZL ed]g¬^«      d`„ «       ZMda„ ZN ed]g¬^«      db„ «       ZO ed]g¬^«      dc„ «       ZP ed]g¬^«      dd„ «       ZQde„ ZRdf„ ZSdg„ ZTdh„ ZUdi„ ZVdj„ ZWej@                  jC                  dkd2d4g«      dl„ «       ZXej@                  jC                  dkd2d4g«      dm„ «       ZYdn„ ZZdo„ Z[dp„ Z\ej@                  jC                  dqdd
g«      dr„ «       Z]ej@                  jC                  dqdd
g«      ds„ «       Z^ e«       dt„ «       Z_ej@                  jC                  dug dv¢«      ej@                  jC                  dqdd
g«      dw„ «       «       Z`ej@                  jC                  dqdd
g«      dx„ «       Zaej@                  jC                  dqdd
g«      dy„ «       Zbej@                  jC                  dqdd
g«       ed]g¬^«      dz„ «       «       Zcd{„ Zdd|„ Zeej@                  jC                  d}dd
g«      ej@                  jC                  d~dd
g«      d„ «       «       Zfy)€é    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/skyplay_api_hub/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d|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ÚonselectÚpresséd   r   ©ÚxdataÚydatarP   ÚonmoveéÇ   Úreleaseéú   Údrawtype)ÚlineÚnone)ç      Y@r_   rd   rd   r_   )r_   rd   rd   r_   r_   )Úerr_msg)r   ÚMockr   ÚwidgetsÚRectangleSelectorr   Úgetr   ÚgeometryÚassert_called_onceÚ	call_argsra   rb   )r   rN   r]   ÚtoolÚepressÚereleases         r   Útest_rectangle_selectorrv   @   s  € ô �y‰yœd°Ô6€Hä×$Ñ$ RÑE°(ÐE¸fÑE€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)r]   ÚinteractiverU   rS   rT   ©ÚstartÚend©r&   r&   ©é   r‚   )r   rl   r   Ú	transDataÚ	transformrm   rn   r   Ú_selection_completedÚassert_not_calledrq   Ú
reset_mockrr   ra   rb   )r   rU   rS   Úx1rT   Úy1r]   Ú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°(ÈØ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   zdrag_from_anywhere, new_center)é<   éK   F©r‚   r&   c                 óî   — t        j                  | 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)r|   Údrag_from_anywhere©r   rQ   ©r_   éx   r}   )é2   éA   ©é   é   ©é#   r˜   ©é¯   é¹   ©rž   éÃ   )é´   é¾   )rm   rn   r   Úcenter)r   r‘   Ú
new_centerrs   s       r   Útest_rectangle_dragr¥   …   s|   € ô ×$Ñ$ R°TØ8JôL€Dô �4˜w¨JÕ7Ø�;‰;˜(Ò"Ð"Ð"ô �4˜x¨XÕ6Ø�;‰;˜*Ò$Ð$Ð$ô �4˜z¨zÕ:Ø�;‰;˜*Ò$Ð$Ñ$r   c                 ót  — t        j                  | 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ª   )r|   rX   Úhandle_propsr’   r“   r}   Úrç333333Ó?Úblack)Úmarkeredgecolorrª   )rm   rn   Ú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¾   �   s0  € Ü×$Ñ$ R°TÜ+/¸#À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                  | 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©r|   r’   r“   r}   )ç        rj   ç      $@ç      ^@r   é   rQ   r   r   r   r™   r&   r˜   )rm   rn   r   Úextents)r   rs   rÅ   ra   rb   Ú	xdata_newÚ	ydata_news          r   Útest_rectangle_resizerÈ   ²   sõ  € Ü×$Ñ$ R°TÔ:€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                  | 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£   )rm   rn   r   r=   ÚraisesÚ
ValueErrorÚ	add_state©r   rs   s     r   Útest_rectangle_add_stater×   Õ   s¡   € Ü×$Ñ$ R°TÔ:€Dä�4˜x¨ZÕ8ä	�‰”zÓ	"ñ ,Ø�‰Ð*Ô+÷,ô 
�‰”zÓ	"ñ  Ø�‰�wÔ÷ à‡N�N�6ÔØ‡N�N�8ÔØ‡N�N�8Õ÷,ð ,ú÷ ð  ús   ¿C Á2CÃ C	ÃCrÕ   c                 ó  — t        j                  | 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˜   ©rm   rn   r   rÅ   rÕ   ©r   rÕ   rs   Úuse_keyrÅ   ra   rb   ÚxdiffÚydiffrÆ   rÇ   s              r   Útest_rectangle_resize_centerrè   ä   s¨  € ä×$Ñ$ R°TÔ:€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                  | 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î   .  s¦  € ä×$Ñ$ R°TÔ:€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                  | 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â   )rm   rn   r   rÕ   r   rÅ   )	r   rs   rÅ   ra   rb   ræ   rç   rÆ   rÇ   s	            r   Ú#test_rectangle_resize_square_centerrð   x  s›  € Ü×$Ñ$ R°TÔ:€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                 ó@  —  || 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Å   ÚlenÚ_stater   r   ÚrotationÚcornersÚnpÚarrayrm   rn   r=   rÓ   rÔ   r³   Úrotation_point)r   rñ   rs   s      r   Útest_rectangle_rotater  ·  s  € ñ ˜"¨$Ô/€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   Å8FÆFc                 ó^  — t        j                  | 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   )rm   rn   r   rÅ   r  r  rÕ   Úremove_state)r   rs   Ústates      r   Útest_rectangle_add_remove_setr  Ú  s¡   € Ü×$Ñ$ R°TÔ:€Dä�4˜z¨zÕ:Ø�<‰<Ð/Ò/Ð/Ð/Üˆt�{‰{Ó˜qÒ Ð Ð Ø/ò %ˆØ�‰�uÔÜ�4—;‘;Ó 1Ò$Ð$Ð$Ø×Ñ˜%Ô Ü�4—;‘;Ó 1Ó$Ð$Ð$ñ	%r   Úuse_data_coordinatesc                 ó   — | j                  d«       t        j                  | 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)r|   r  rÊ   rê   r}   rì   rÒ   r£   r   rÄ   r   rQ   r   g      G@g     ¸`@)Ú
set_aspectrm   rn   r   rÅ   rÕ   r   Ú_aspect_ratio_correction)r   r  rs   rÅ   ra   rb   Úwidthræ   ÚycenterrÆ   rÇ   Úychanges               r   Ú*test_rectangle_resize_square_center_aspectr  ç  sŽ  € à‡M�M�#Ôä×$Ñ$ R°TØ: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                 ó0  — t        j                  | 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)Ú
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_   )rm   ÚEllipseSelectorrÅ   r   Úintrp   Úshaper   )r   rs   ÚerÅ   s       r   Útest_ellipser!  	  s  € ä×"Ñ" 2°"À$ÔG€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Â6Dc                 ó”  — t        j                  | 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±   )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  )é„   r$  )él   éŠ   r%  r&  r{   )rQ   r_   rQ   r_   r   )rm   rn   rÅ   r   r  Úedge_centersr   rµ   Ú
same_colorÚ_corner_handlesÚartistsÚget_markerfacecolorr¹   rÖ   s     r   Útest_rectangle_handlesr,  $  sP  € Ü×$Ñ$ R°BÀDØ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”   r}   ©rj   ç     Àb@g     €[@rÃ   ©rQ   r_   )	r   rl   r   rm   rn   r   rq   rÅ   r‡   ©r   r|   r]   rs   s       r   Ú test_rectangle_selector_onselectr4  C  sw   € ô �y‰yœd°Ô6€Hä×$Ñ$ R°(ÈÔT€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   )r]   r5  r.  r/  r}   r0  ©r  r  ©rÿ   rÿ   )r1  ç      d@r1  r9  )
r   rl   r   rm   rn   r   rq   rÅ   r‡   r†   )r   r5  r]   rs   s       r   Ú&test_rectangle_selector_ignore_outsider:  T  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`   rc   rd   re   rf   )	r   rl   r   r  Útwinxrm   ÚSpanSelectorr   Úassert_called_once_with)r   Úorientationr?  rN   r]   rc   Útaxrs   s           r   Útest_span_selectorrF  k  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   r;  rÀ   ró   )r  r_   r}   )r_   r  r2  )	r   rl   r   rm   rB  r   rq   rÅ   r‡   r3  s       r   Útest_span_selector_onselectrH  ‰  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   r;  )r?  r5  ró   r  r}   )r_   rÍ   r7  r8  )r  rÿ   )
r   rl   r   rm   rB  r   rq   rÅ   r‡   r†   )r   r5  r]   rc   rs   s        r   Ú!test_span_selector_ignore_outsiderJ  ™  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 )Nr;  T)r]   Ú	directionr|   r‘   r{   r“   r}   r2  r—   rš   )r&   rþ   )r˜   r›   rœ   rŸ   )rm   rB  r   r   rÅ   )r   r‘   rs   s      r   Útest_span_selector_dragrM  ¶  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)Nr;  T)r]   rL  r|   Úinvalid_direction)r]   rL  r=  Úinvalid_string)rm   rB  r   rL  Ú_edge_handlesr=   rÓ   rÔ   rÖ   s     r   Útest_span_selector_directionrR  Ð  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 )Nr;  Tr§   r¨   r©   r«   r¬   )r]   rL  r|   rX   r­   r’   r“   r}   r®   r¯   ©r(   rª   )rm   rB  r   r²   r   r³   r´   rµ   r¶   r·   r¸   Ú	get_colorrº   r»   r¼   s      r   Ú)test_span_selector_set_props_handle_propsrV  â  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        | d¬«      }|dk(  rt        j                  }d|d<   t        |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   r|   rX  r;  rL  r]   r{   r“   r}   )rÎ   rÎ   r5  r÷   Úescaperø   r   )	r²   rm   rB  r   rn   r   r…   r5  r   )r   rW  rN   ÚSelectorrs   s        r   Útest_selector_clearr]  ø  sä   € ä�R TÔ*€FØ�6ÒÜ×'Ñ'ˆØ*ˆˆ{ÑÜ!ˆˆzÒä×,Ñ,ˆáÑ�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                  | 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 )NrX  r;  T)r]   rL  r|   r5  rÀ   r{   r“   r}   r2  )r•   r”   )rQ   r•   )	rm   rB  r   rn   r   r…   Úget_visiblerÅ   rÐ   )r   rW  rs   s      r   Útest_selector_clear_methodr`    sù   € à�6ÒÜ×#Ñ# B´ÀØ04Ø9=ô?‰ô ×(Ñ(¨¸Ô>ˆÜ�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)Nr;  TrÀ   rÏ   r£   rÒ   rÑ   )rm   rB  r   r=   rÓ   rÔ   rÕ   rÖ   s     r   Útest_span_selector_add_staterb  0  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•   r;  F)rO   T)rm   ÚToolLineHandlesr*  Úget_animatedr_  Úset_visibleÚset_animatedÚ	positions)r   rh  Útool_line_handler½   s       r   Útest_tool_line_handlerj  >  sÉ   € Ú€IÜ×.Ñ.¨r°9¸lØ7<ô>Ðð #×*Ñ*ò (ˆØ×&Ñ&Ô(Ð(Ð(Ø×%Ñ%Õ'Ð'Ð'ð(ð × Ñ  Ô&Ø×!Ñ! $Ô'à"×*Ñ*ò $ˆØ×"Ñ"Ô$Ð$Ð$Ø×!Ñ!Õ#Ð#Ð#ð$ð ×%Ñ%¨Ò2Ð2Ñ2r   rL  )r;  r=  c                 ó–  — t        j                  dd«      \  }}|j                  ddgddg«       |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À   r;  )rx   g      '@)ry   é   r}   r   )r?   r@   ÚplotrB   rC   Ú
get_xboundÚ
get_yboundrm   rB  ÚprintrQ  rh  Úlistr   )rL  rG   r   Úx_boundÚy_boundrs   ÚboundÚ
press_dataÚ	move_dataÚrelease_dataÚindexÚhandle_positionss               r   Útest_span_selector_boundrz  Q  s;  € ä�l‰l˜1˜aÓ �G€CˆØ‡G�GˆR�ˆH�r˜2�hÔØ‡J�J‡O�OÔØ�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   r;  )rL  r?  r|   r‘   rO   r   r^   r`   rc   FgˆSG-�î?é   r   gÈ„¦C(î¿re   N)r  ÚlinspaceÚpiÚsinr?   r@   rm  ÚpauseÚdraw_artistrB   ÚblitÚbboxrm   rB  r   Ú_get_animated_artistsÚstaler   Ú	get_ydataÚupdate)rG   r   Úlnr‚  rX  ru  rv  rw  rŠ  r‹  rŒ  s           @@@r   Ú,test_span_selector_animated_artists_callbackrš  m  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   )Úargss    r   r]   z4test_snapping_values_span_selector.<locals>.onselect§  s   € Ør   r;  )rL  r   r   ry   )
gš™™™™™¹¿r  r¨   r«   ç333333ã?çffffffæ?çÍÌÌÌÌÌì?g
×£p=
@ç      @ç      @)
rÁ   rÁ   rÁ   r«   r«   r«   ç      ð?r¡  r¡  r¡  )rm   rB  Ú_snapr  rŽ  r  r   )r   r]   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   r]   z)test_span_selector_snap.<locals>.onselectµ  s   ø€ ØˆÕr   r•   r�  r;  )rL  r¦  )é   r›   )r%   é$   )r  Úarangerm   rB  rÅ   r¦  )r   r]   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   ú<lambda>z,test_span_selector_extents.<locals>.<lambda>Ç  ó   � r   r;  T)r5  )r   rQ   )é   é   )r&   r¶  r}   )rm   rB  rÅ   r…   r   )r   rs   ru  rw  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d|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   r`   rc   rÍ   re   r  )ró   r  r7  )r   rl   r   rm   ÚLassoSelectorr   rC  )r   rN   r]   rs   s       r   Útest_lasso_selectorrº  Ö  sm   € ô �y‰yœd°Ô6€Hä× Ñ  ÑA¨hÐA¸&ÑA€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¨   rT  )r]   rX   r®   r¯   )r   rl   r   rm   r¹  r²   r³   rµ   r(  rU  rº   r·   )r   r]   rs   r½   s       r   Útest_lasso_selector_set_propsr¼  æ  sº   € Ü�y‰yœd°Ô6€Hä× Ñ  ¨hÜ'+°#¸SÔ'AôC€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   rl   r   rm   ÚLassorh   rµ   r(  rU  Úget_linestyleÚget_lwr²   rº   Ú	set_colorÚ	set_alpha)r   r]   rs   rh   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   )rx  )ÚinvalidrÊ  r   )r  c                   ó   — y r   r   r   r   r   r³  z#test_CheckButtons.<locals>.<lambda>  r´  r   )rm   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)ri   Ú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«   ©ra   rb   Ú	_keypressú+rø   Ú5rÄ   )r?   ÚrcParamsÚ_setr   rl   r   rm   Ú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   )rm   r   rÎ  Úvalue_selectedÚindex_selectedrÐ   )r   Úradios     r   Útest_RadioButtonsr÷  @  s|   € Ü× Ñ  Ð%FÓG€EØ	×Ñ�QÔØ×Ñ 9Ò,Ð,Ð,Ø×Ñ 1Ò$Ð$Ð$Ø	‡K�K„MØ×Ñ 9Ò,Ð,Ð,Ø×Ñ 1Ò$Ð$Ñ$r   zcheck_radio_buttons.pngÚmpl20)ÚstyleÚremove_textc            
      óê  — t        «       } | j                  d¬«      }|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 )NF©Úrootr¯   )Ú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	   Ú
get_figureÚsubplots_adjustÚadd_axesrm   r   r   )
r   rG   Úrax1Úrb1Úrax2Úcb1Úrax3Úrb3Úrax4Úcb4s
             r   Útest_check_radio_buttons_imager  J  sü   € ä	‹€BØ
�-‰-˜Uˆ-Ó
#€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   ÚC0ri   )r„   ÚsrÉ  ç      Ð?r£   ©r„   Úva)	rm   r   r@   Úadd_subplotÚscatterÚ	transAxesr?   rã  rè  ©Úfig_testÚfig_refr   s      r   Útest_radio_buttonsr)  i  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@)rm   r   r@   Úset_label_propsÚset_radio_props)r'  r(  r0   r1   Úcbs        r   Útest_radio_buttons_propsr2  s  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\* parameter)Úmatchr  r  r#   r.   r  )Úactivecolorr1   ri   )	r=   ÚwarnsÚUserWarningrm   r   rµ   r(  Ú_buttonsr´   )r   Úrbs     r   Ú!test_radio_button_active_conflictr:  ‚  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  )r5  r#   )rm   r   r@   r5  )r'  r(  r1  s      r   Ú%test_radio_buttons_activecolor_changer<  ‹  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   ri   )Úmarkerr„   r  rÉ  rŒ  Úkr   r£   r!  )	rm   r   r@   r#  r$  r%  r?   rã  rè  r&  s      r   Útest_check_buttonsr@  –  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#   r+  r'   r  r  r   r,  )r.   r-  r  r  Tr  r  r.  r.   r-   )rm   r   r@   r/  Úset_frame_propsÚpopÚset_check_props)r'  r(  r0   r5   r6   r1  s         r   Útest_check_button_propsrE  ¢  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   rH  rI  rJ  Ú	slidermax)r?   r@   r=   rÓ   rÔ   rm   ÚSlider)rG   r   s     r   Ú'test_slider_slidermin_slidermax_invalidrN  ¹  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Á   rG  r¡  ©r   rH  rI  rJ  Úvalinitr£  )r   rH  rI  rJ  rQ  rK  rÂ   )r   rH  rI  rJ  rQ  rL  ©r?   r@   rm   rM  Úval)rG   r   Úslider_Úsliders       r   Útest_slider_slidermin_slidermaxrV  Ä  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Á   rG  g      $ÀrP  g      9@)r?   r@   rm   rM  rS  rI  rJ  ©rG   r   rU  s      r   Útest_slider_valmin_valmaxrY  Ò  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Á   rG  gÍÌÌÌÌÌ&@r   )r   rH  rI  rJ  rQ  Úvalstepry   )r   r   r¢  g33333³3@r¢  rR  rX  s      r   Útest_slider_valstep_snappingr\  Ý  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   r+  rµ  r;  )r   rH  rI  rJ  rQ  rD  rQ   )r   r   ç«ªªªªªÚ?r«   r=  )r   r   r«   r^  )r?   r@   rm   rM  ré  rS  ÚpolyÚget_extentsÚtransformedr%  Úinvertedr   Úbounds)rG   r   rU  Úboxs       r   Útest_slider_horizontal_verticalre  è  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«   rP  ç      è?)r?   r@   rm   rM  ré  ÚresetrS  rX  s      r   Útest_slider_resetri  ü  sN   € Ü�l‰l‹n�G€CˆÜ�^‰^˜r¨°A¸aÈÔL€FØ
‡N�N�4ÔØ
‡L�L„NØ�:‰:˜ÒÐÑr   rD  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 )Nr=  ©r   r   rÄ   r   ©r   r   r   rÄ   rÝ  rÁ   r£  r  çÃõ(\�ÂÕ?©r   rH  rI  rJ  rD  rQ  )r  r   rm  rg  )r  rm  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 )Nr=  r   )Ú_handlesr—  Ú	get_xdata)rU  ÚhrD  s     €r   ry  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ž  )rs  r   rž  rg  )r¨   r  )r  r¨   )rÊ  rQ   r"   )r?   r@   rm   ÚRangeSliderr_  r`  ra  r%  rb  r   Ú
get_pointsÚflattenrS  ré  rh  )rD  ÚidxrG   r   rU  rd  ry  s   `      r   Útest_range_sliderrx    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 )
Nr=  rk  rl  rÝ  rÁ   r£  r   rn  )r   r   r   rg  )r?   r@   rm   rt  r_  r`  ra  r%  rb  r   ru  rv  )rD  rw  rG   r   rU  rd  s         r   Ú"test_range_slider_same_init_valuesrz  1  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d|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	   r   rl   r   rm   ÚPolygonSelectorr   rê  rr   )	Úevent_sequenceÚexpected_resultÚselections_countrN   r   r]   rs   ÚetypeÚ
event_argss	            r   Úcheck_polygon_selectorr‚  B  s‹   € ô* 
‹€Bä�y‰yœd°Ô6€Hä×"Ñ" 2ÑC°ÐC¸FÑC€Dà-ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð ×ÑÐ"2Ò2Ð2Ð2Ø×Ñ ?Ð"5°rÐ!:Ò:Ð:Ñ:r   c                 óZ   — dt        | |¬«      fdt        | |¬«      fdt        | |¬«      fgS )Nrc   rß  r^   re   ©r²   rß  s     r   Úpolygon_place_vertexr…  d  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 )Nrc   rß  r^   rÄ   r`   re   r„  rß  s     r   Úpolygon_remove_vertexr‡  j  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ø   rc   rß  r^   rŽ   re   Úon_key_release))r•   rŽ   )r  rŽ   rŽ  rí   r_   rÍ   r   ))rŽ   rŽ   )r�   rŽ   )rŽ   r�   rf   r[  )Ú	functoolsÚpartialr‚  r…  r²   )rˆ  Úcheck_selectorr~  r}  s       r   Útest_polygon_selectorr“  p  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        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¨   rT  r«   r¬   )rX   r­   rˆ  r•   r  r®   r¯   )rm   r|  r²   r…  r   r³   rU  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                  |ddi¬«      }d|_        y )NÚvisibleFrW   )r¨   r  r¯   rŸ  )r@   rm   rn   rÅ   )r'  r(  Úax_testÚ_rs   s        r   Útest_rect_visibilityrš    s>   € ð ×ÑÓ!€GØ×ÑÓ€Aä×$Ñ$ W°YÀÐ4FÔG€DØ'€D…Lr   rw  )r   r   rÄ   c                 ó6  — g d¢}t        |d   Ž t        |d   Ž t        |d   Ž t        |d   Ž g}|j                  | t        dd«      «       |j                  t        dd«      «       t	        j
                  t        j                  |g «      }t        ||d|¬«       y )Nr‹  r   r   r   éÈ   rŠ  )	r…  ÚinsertÚappendr‡  r�  ÚreduceÚoperatorÚiaddr‚  )rw  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Ô:ä×%Ñ%¤h§m¡m°^ÀRÓH€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                 ó.  — g d¢}g t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢t        |d   Ž ¢}t        j                  | |¬«      }|D ]  \  }}t	        ||fi |¤Ž Œ |j
                  |dd k(  sJ ‚y r¥  )r…  r‡  rm   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Ð9JÔK€DØ-ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð �:‰:˜˜q ˜Ò#Ð#Ñ#r   c                 ób  — g d¢}| j                  «       }t        j                  ||¬«      }||_        |j                  |k(  sJ ‚|j                  «       }t        j                  ||¬«      }g t	        |d   Ž ¢t	        |d   Ž ¢t	        |d   Ž ¢t	        |d   Ž ¢}|D ]  \  }	}
t        ||	fi |
¤Ž Œ y )N))r  rs  )r«   r   )r¯   r¨   rŠ  r   r   r   )r#  rm   r|  r¢  r…  r   )r'  r(  rˆ  r¢  r˜  Ú	tool_testÚax_refÚtool_refr}  r€  r�  s              r   Ú"test_polygon_selector_verts_setterr­  F  sØ   € ò 1€EØ×"Ñ"Ó$€Gä×'Ñ'¨ÐCTÔU€IØ€I„OØ�?‰?˜eÒ#Ð#Ð#à× Ñ Ó"€FÜ×&Ñ& vÐARÔS€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                  | d¬	«      }|D ]  \  }}t	        ||fi |¤Ž Œ | j
                  }| j                  d¬
«      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Š  rü  Ú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…  rm   r|  r   rƒ   r  rB   r   r„   Ú_processr  Útestingr   r¢  Ú_boxrÅ   )r   r¢  r}  rs   r€  r�  ÚtrB   s           r   Útest_polygon_selector_boxr¿  \  sÛ  € à‡F�F�	 	€FÔ*Ú2€EðÜ	˜u Q™xÐ	(ðä	˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ðô 
˜u Q™xÐ	(ð	ô
 
˜u Q™xÐ	(ð€Nô ×"Ñ" 2¸Ô>€DØ-ò ,Ñˆ�
Ü��uÑ+ 
Ó+ð,ð
 	�‰€AØ�]‰] ˆ]Ó%×,Ñ,€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   rl   r   rm   r|  r…  r   r³   r…   r_  r  r¼  Úassert_equalÚ
get_xydatarr   rÐ   )	r   r]   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                  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   rg  )r?   Úfigurer@   rm   ÚMultiCursorr  ÚvlinesÚhlinesr
   rc   rB   rC   rq  r—  r_  rÆ  rÇ  )
rÆ  rÇ  rG   Úax1Úax3Úax2ÚmultiÚeventÚlrh   s
             r   Útest_MultiCursorrÔ  «  sš  € ô �*‰*‹,€CØ—‘˜a¨�Ó-�J€Sˆ#Ü
�*‰*‹,×
Ñ
Ó
!€Cô ×ÑØˆs�Cˆj %°Àô€Eô
 ˆu�|‰|Ó Ò!Ð!Ð!Üˆu�|‰|Ó Ò!Ð!Ð!ô
 �s "¨CÔ0€EØ	‡L�L�Ôà‡J�J‡O�OÔð �\‰\ò )ˆØ�{‰{‹} Ó(Ð(Ð(ð)à�\‰\ò +ˆØ�{‰{‹} 
Ó*Ð*Ð*ð+ô  §¡Ö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   Ä5KÅKÅ2K
ÆK
Ç2KÈKÈ/KÉK)gr�  rD   r   Úunittestr   Úmatplotlib.backend_basesr   Úmatplotlib.colorsÚcolorsrµ   r;   rm   Ú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ð   rn   r  r  r  r  r!  r,  r4  r:  rF  rH  rJ  rM  rR  rV  r]  r`  rb  rj  rz  Úbackendrš  r¨  r¯  r·  rº  r¼  rÇ  rØ  rï  r÷  r  r)  r2  r:  r<  r@  rE  rN  rV  rY  r\  re  ri  rx  rz  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ò6Dð> ‡�×Ñ˜¨¨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Ð%:Ó;ñ)ó <ð)ð: ‡�×Ñ˜ 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ñ2+ó 2ó 3ñ2+r   