§
    XIŒjW  ã                   ó²  — d dl Z d dlZd dlZd dlmZ d dlZd dlmZmZm	Z	 d dl
mZmZmZmZmZmZmZ 	 d dlmZ n# e$ rZ ed¦  «        e‚dZ[ww xY w	  edd¦  «          ed	d¦  «         n# e$ rZ ee¦  «        e‚dZ[ww xY wd d
lmZmZmZmZmZ ddlm Z  ddl m!Z!m"Z"m#Z#m$Z$m%Z&  ej'        e(¦  «        Z)e j*        d„ ¦   «         Z+ G d„ de"ej,        ¦  «        Z- G d„ de$ej.        ¦  «        Z/ G d„ deej0        ¦  «        Z1 ej2        e-¦  «         G d„ dej3        ¦  «        ¦   «         Z4 ej2        e-¦  «         G d„ dej5        ¦  «        ¦   «         Z6 ej2        e-¦  «         G d„ dej7        ¦  «        ¦   «         Z8e1Z. ej2        e-e j9        ¦  «          ej2        e-e j:        ¦  «          G d„ de#¦  «        Z;e!j<         G d„ de!¦  «        ¦   «         Z=dS )é    N)ÚPath)Ú_apiÚbackend_toolsÚcbook)ÚToolContainerBaseÚMouseButtonÚ
CloseEventÚKeyEventÚLocationEventÚ
MouseEventÚResizeEvent)Úrequire_versionz#The GTK3 backends require PyGObjectÚGtkz3.0ÚGdk)ÚGioÚGLibÚGObjectr   r   é   )Ú_backend_gtk)Ú_BackendGTKÚ_FigureCanvasGTKÚ_FigureManagerGTKÚ_NavigationToolbar2GTKÚTimerGTKc                 óž   — t           j                             t           j                             ¦   «         t          j        | ¦  «        ¦  «        S ©N)r   ÚCursorÚnew_from_nameÚDisplayÚget_defaultr   Úmpl_to_gtk_cursor_name)Ú
mpl_cursors    úNC:\Projects\DSCons\.venv\Lib\site-packages\matplotlib\backends\backend_gtk3.pyÚ_mpl_to_gtk_cursorr$   &   s;   € åŒ:×#Ò#ÝŒ×ÒÑ!Ô!ÝÔ+¨JÑ7Ô7ñ9ô 9ð 9ó    c                   óä  ‡ — e Zd ZdZ ej        d„ ¦  «        Zej        j	        ej        j
        z  ej        j        z  ej        j        z  ej        j        z  ej        j        z  ej        j        z  ej        j        z  ej        j        z  Zdˆ fd„	Zˆ fd„Zd„ Zdd„Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze d„ ¦   «         Z!e ddœd„¦   «         Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+ˆ xZ,S )ÚFigureCanvasGTK3Úgtk3c                 ó   — t           S r   )ÚFigureManagerGTK3)Úclss    r#   ú<lambda>zFigureCanvasGTK3.<lambda>/   s   € Õ3D€ r%   Nc                 ó¦  •— t          ¦   «                              |¬¦  «         d| _        d | _        |                      d| j        ¦  «         |                      d| j        ¦  «         |                      d| j        ¦  «         |                      d| j        ¦  «         |                      d| j	        ¦  «         |                      d| j	        ¦  «         |                      d	| j
        ¦  «         |                      d	| j        ¦  «         |                      d
| j        ¦  «         |                      d| j        ¦  «         |                      d| j        ¦  «         |                      d| j        ¦  «         |                      d| j        ¦  «         |                      d| j        ¦  «         |                      | j        j        ¦  «         |                      d¦  «         t-          j        ¦   «         }|                     d¦  «         |                      ¦   «         }|                     |t,          j        ¦  «         |                     d¦  «         d S )N)Úfigurer   Úscroll_eventÚbutton_press_eventÚbutton_release_eventÚconfigure_eventzscreen-changedznotify::scale-factorÚdrawÚkey_press_eventÚkey_release_eventÚmotion_notify_eventÚenter_notify_eventÚleave_notify_eventÚsize_allocateTs/   .matplotlib-canvas { background-color: white; }zmatplotlib-canvas)ÚsuperÚ__init__Ú_idle_draw_idÚ_rubberband_rectÚconnectr/   r0   r1   r2   Ú_update_device_pixel_ratioÚon_draw_eventÚ
_post_drawr4   r5   r6   r7   r8   r9   Ú
set_eventsÚ	__class__Ú
event_maskÚset_can_focusr   ÚCssProviderÚload_from_dataÚget_style_contextÚadd_providerÚ#STYLE_PROVIDER_PRIORITY_APPLICATIONÚ	add_class)Úselfr.   ÚcssÚ	style_ctxrC   s       €r#   r;   zFigureCanvasGTK3.__init__<   s  ø€ Ý‰Œ×Ò ÐÑ'Ô'Ð'àˆÔØ $ˆÔà�Š�^¨TÔ->Ñ?Ô?Ð?Ø�ŠÐ)¨TÔ-DÑEÔEÐEØ�ŠÐ+¨TÔ-FÑGÔGÐGØ�ŠÐ&¨TÔ-AÑBÔBÐBØ�ŠÐ%¨TÔ-LÑMÔMÐMØ�ŠÐ+¨TÔ-LÑMÔMÐMØ�Š�V¨TÔ-?Ñ@Ô@Ð@Ø�Š�V¨T¬_Ñ=Ô=Ð=Ø�ŠÐ&¨TÔ-AÑBÔBÐBØ�ŠÐ(¨TÔ-CÑDÔDÐDØ�ŠÐ*¨TÔ-EÑFÔFÐFØ�ŠÐ)¨TÔ-DÑEÔEÐEØ�ŠÐ)¨TÔ-DÑEÔEÐEØ�Š�_¨TÔ-?Ñ@Ô@Ð@à�Š˜œÔ1Ñ2Ô2Ð2à×Ò˜4Ñ Ô Ð åŒoÑÔˆØ×ÒÐMÑNÔNÐNØ×*Ò*Ñ,Ô,ˆ	Ø×Ò˜s¥CÔ$KÑLÔLÐLØ×ÒÐ/Ñ0Ô0Ð0Ð0Ð0r%   c                 óŒ   •— t          d| ¦  «                             ¦   «          t          ¦   «                              ¦   «          d S )NÚclose_event)r	   Ú_processr:   Údestroy)rL   rC   s    €r#   rR   zFigureCanvasGTK3.destroy[   s9   ø€ Ý�= $Ñ'Ô'×0Ò0Ñ2Ô2Ð2Ý‰Œ�ŠÑÔÐÐÐr%   c                 óâ   — |                       d¦  «        }|�W|                     t          |¦  «        ¦  «         t          j                             ¦   «         }|                     d¦  «         d S d S )NÚwindowT)Úget_propertyÚ
set_cursorr$   r   ÚMainContextÚdefaultÚ	iteration)rL   ÚcursorrT   Úcontexts       r#   rV   zFigureCanvasGTK3.set_cursor_   sn   € à×"Ò" 8Ñ,Ô,ˆØÐØ×ÒÕ0°Ñ8Ô8Ñ9Ô9Ð9ÝÔ&×.Ò.Ñ0Ô0ˆGØ×Ò˜dÑ#Ô#Ð#Ð#Ð#ð Ðr%   c                 óV  — |€e|                       ¦   «         }|                     |                     ¦   «                              ¦   «                              ¦   «         ¦  «        \  }}}}n|j        |j        }}|| j        z  }|                      d¬¦  «        d         || j        z  z
  }||fS )a—  
        Convert the position of a GTK event, or of the current cursor position
        if *event* is None, to Matplotlib coordinates.

        GTK use logical pixels, but the figure is scaled to physical pixels for
        rendering.  Transform to physical pixels so that all of the down-stream
        transforms work as expected.

        Also, the origin is different and needs to be corrected.
        NT)Úphysicalr   )	Ú
get_windowÚget_device_positionÚget_displayÚget_device_managerÚget_client_pointerÚxÚyÚdevice_pixel_ratioÚget_width_height)rL   ÚeventrT   Útrc   rd   Ústates          r#   Ú_mpl_coordszFigureCanvasGTK3._mpl_coordsg   s­   € ð ˆ=Ø—_’_Ñ&Ô&ˆFØ#×7Ò7Ø×"Ò"Ñ$Ô$×7Ò7Ñ9Ô9×LÒLÑNÔNñPô P‰NˆAˆq�!�U�Uð ”7˜EœGˆqˆAØ�Ô'Ñ'ˆà×!Ò!¨4Ð!Ñ0Ô0°Ô3°a¸$Ô:QÑ6QÑQˆØ�!ˆtˆr%   c                 óâ   — |j         t          j        j        k    rdnd}t	          d| g|                      |¦  «        ¢R ||                      |j        ¦  «        |dœŽ                     ¦   «          dS )Nr   éÿÿÿÿr/   )ÚstepÚ	modifiersÚguiEventF)	Ú	directionr   ÚScrollDirectionÚUPr   rj   Ú_mpl_modifiersri   rQ   )rL   Úwidgetrg   rm   s       r#   r/   zFigureCanvasGTK3.scroll_event}   s~   € Ø”O¥sÔ':Ô'=Ò=Ð=ˆqˆqÀ2ˆÝ�> 4ð 	#Ø×$Ò$ UÑ+Ô+ð	#ð 	#Ø26Ø!×0Ò0°´Ñ=Ô=Ø!ð	#ð 	#ð 	#÷ $,¢8¡:¤: :Øˆur%   c                 ó²   — t          d| g|                      |¦  «        ¢|j        ‘R |                      |j        ¦  «        |dœŽ                     ¦   «          dS )Nr0   ©rn   ro   F©r   rj   Úbuttonrs   ri   rQ   ©rL   rt   rg   s      r#   r0   z#FigureCanvasGTK3.button_press_event…   sk   € ÝÐ'¨ð 	#Ø×$Ò$ UÑ+Ô+ð	#Ø-2¬\ð	#ð 	#à!×0Ò0°´Ñ=Ô=Ø!ð	#ð 	#ð 	#÷ $,¢8¡:¤: :Øˆur%   c                 ó²   — t          d| g|                      |¦  «        ¢|j        ‘R |                      |j        ¦  «        |dœŽ                     ¦   «          dS )Nr1   rv   Frw   ry   s      r#   r1   z%FigureCanvasGTK3.button_release_eventŒ   sk   € ÝÐ)¨4ð 	#Ø×$Ò$ UÑ+Ô+ð	#Ø-2¬\ð	#ð 	#à!×0Ò0°´Ñ=Ô=Ø!ð	#ð 	#ð 	#÷ $,¢8¡:¤: :Øˆur%   c                 ó˜   — t          d| |                      |¦  «        g|                      ¦   «         ¢R d|iŽ                     ¦   «          dS )Nr4   ro   T©r
   Ú_get_keyrj   rQ   ry   s      r#   r4   z FigureCanvasGTK3.key_press_event“   sY   € ÝÐ" DØ—’˜uÑ%Ô%ð	!Ø(,×(8Ò(8Ñ(:Ô(:ð	!ð 	!ð 	!àð	!ð 	!ç!)¢¡¤ Øˆtr%   c                 ó˜   — t          d| |                      |¦  «        g|                      ¦   «         ¢R d|iŽ                     ¦   «          dS )Nr5   ro   Tr|   ry   s      r#   r5   z"FigureCanvasGTK3.key_release_event™   sY   € ÝÐ$ dØ—’˜uÑ%Ô%ð	!Ø(,×(8Ò(8Ñ(:Ô(:ð	!ð 	!ð 	!àð	!ð 	!ç!)¢¡¤ Øˆtr%   c                 óÖ   — t          d| g|                      |¦  «        ¢R |                      |j        ¦  «        |                      |j        ¦  «        |dœŽ                     ¦   «          dS )Nr6   )Úbuttonsrn   ro   F)r   rj   Ú_mpl_buttonsri   rs   rQ   ry   s      r#   r6   z$FigureCanvasGTK3.motion_notify_eventŸ   ss   € ÝÐ(¨$ð 	#°×1AÒ1AÀ%Ñ1HÔ1Hð 	#ð 	#Ø×,Ò,¨U¬[Ñ9Ô9Ø!×0Ò0°´Ñ=Ô=Ø!ð	#ð 	#ð 	#÷ $,¢8¡:¤: :Øˆur%   c                 ó   — t           j                             |                      ¦   «         ¦  «                             ¦   «         }t          d| g|                      |¦  «        ¢R |                      |¦  «        |dœŽ                     ¦   «          d S )NÚfigure_enter_eventrv   ©	r   ÚKeymapÚget_for_displayr`   Úget_modifier_stater   rj   rs   rQ   ©rL   rt   rg   Úgtk_modss       r#   r7   z#FigureCanvasGTK3.enter_notify_event¦   ó�   € Ý”:×-Ò-Ø×ÒÑÔñ ô  ß 2Ò 2Ñ 4Ô 4ð 	åÐ*¨Dð 	&°4×3CÒ3CÀEÑ3JÔ3Jð 	&ð 	&Ø $× 3Ò 3°HÑ =Ô =Ø$ð	&ð 	&ð 	&ç&.¢h¡j¤j j j jr%   c                 ó   — t           j                             |                      ¦   «         ¦  «                             ¦   «         }t          d| g|                      |¦  «        ¢R |                      |¦  «        |dœŽ                     ¦   «          d S )NÚfigure_leave_eventrv   r„   rˆ   s       r#   r8   z#FigureCanvasGTK3.leave_notify_event­   rŠ   r%   c                 ó  — | j         j        }|j        | j        z  |z  }|j        | j        z  |z  }| j                              ||d¬¦  «         t          d| ¦  «                             ¦   «          |                      ¦   «          d S )NF©ÚforwardÚresize_event)	r.   ÚdpiÚwidthre   ÚheightÚset_size_inchesr   rQ   Ú	draw_idle)rL   rt   Ú
allocationÚdpivalÚwinchÚhinchs         r#   r9   zFigureCanvasGTK3.size_allocate´   s„   € Ø””ˆØÔ  4Ô#:Ñ:¸VÑCˆØÔ! DÔ$;Ñ;¸fÑDˆØŒ×#Ò# E¨5¸%Ð#Ñ@Ô@Ð@Ý�N DÑ)Ô)×2Ò2Ñ4Ô4Ð4Ø�ŠÑÔÐÐÐr%   c                 ó<  ‡ — t           j        t          j        j        ft           j        t          j        j        ft           j        t          j        j        ft           j	        t          j        j
        ft           j        t          j        j        fg}ˆ fd„|D ¦   «         S )Nc                 ó$   •— g | ]\  }}‰|z  ¯
|‘ŒS © rœ   )Ú.0ÚnameÚmaskÚevent_states      €r#   ú
<listcomp>z1FigureCanvasGTK3._mpl_buttons.<locals>.<listcomp>Æ   s'   ø€ ÐGÐGÐG™˜˜t°KÀ$Ñ4FÐG�ÐGÐGÐGr%   )r   ÚLEFTr   ÚModifierTypeÚBUTTON1_MASKÚMIDDLEÚBUTTON2_MASKÚRIGHTÚBUTTON3_MASKÚBACKÚBUTTON4_MASKÚFORWARDÚBUTTON5_MASK)r    rn   s   ` r#   r�   zFigureCanvasGTK3._mpl_buttons¼   s~   ø€ õ Ô�sÔ/Ô<Ð=ÝÔ¥Ô!1Ô!>Ð?ÝÔ¥Ô 0Ô =Ð>ÝÔ�sÔ/Ô<Ð=ÝÔ ¥#Ô"2Ô"?Ð@ð
ˆ	ð HÐGÐGÐG yÐGÑGÔGÐGr%   ©Úexcludec                óÀ   ‡ ‡— dt           j        j        dfdt           j        j        dfdt           j        j        dfdt           j        j        dfg}ˆ ˆfd„|D ¦   «         S )NÚctrlÚcontrolÚaltÚshiftr:   c                 ó2   •— g | ]\  }}}‰|k    ¯‰|z  ¯|‘ŒS rœ   rœ   )r�   rž   rŸ   Úkeyr    r®   s       €€r#   r¡   z3FigureCanvasGTK3._mpl_modifiers.<locals>.<listcomp>Ð   s8   ø€ ð :ð :ð :™˜˜t SØ˜c’>�> k°DÑ&8�>ð Ø!�>�>r%   )r   r£   ÚCONTROL_MASKÚ	MOD1_MASKÚ
SHIFT_MASKÚ	MOD4_MASK)r    r®   rn   s   `` r#   rs   zFigureCanvasGTK3._mpl_modifiersÈ   s|   øø€ ð •SÔ%Ô2°IÐ>Ø•CÔ$Ô.°Ð6Ø•cÔ&Ô1°7Ð;Ø•cÔ&Ô0°'Ð:ð	
ˆ	ð:ð :ð :ð :ð :¨Ið :ñ :ô :ð 	:r%   c                 ój  — t          t          j        |j        ¦  «        ¦  «        }t	          j        |t          j        |j        ¦  «        ¦  «        }|                      |j        |¬¦  «        }d|v r)| 	                    ¦   «         r| 
                    d¦  «         d                     g |¢|‘¦  «        S )Nr­   r³   ú+)Úchrr   Úkeyval_to_unicodeÚkeyvalr   Ú_unikey_or_keysym_to_mplkeyÚkeyval_namers   ri   ÚisprintableÚremoveÚjoin)rL   rg   Úunikeyrµ   Úmodss        r#   r}   zFigureCanvasGTK3._get_keyÓ   sž   € Ý•SÔ*¨5¬<Ñ8Ô8Ñ9Ô9ˆÝÔ/Ø•C”O E¤LÑ1Ô1ñ3ô 3ˆà×"Ò" 5¤;¸Ð"Ñ<Ô<ˆØ�dˆ?ˆ?˜v×1Ò1Ñ3Ô3ˆ?Ø�KŠK˜Ñ Ô Ð Ø�xŠx˜˜$˜ ˜Ñ%Ô%Ð%r%   c                 ó¨   — |                       |                      ¦   «         ¦  «        r*|                      ¦   «          |                      ¦   «          d S d S r   )Ú_set_device_pixel_ratioÚget_scale_factorÚqueue_resizeÚ
queue_draw©rL   ÚargsÚkwargss      r#   r?   z+FigureCanvasGTK3._update_device_pixel_ratioÜ   sZ   € ð ×'Ò'¨×(=Ò(=Ñ(?Ô(?Ñ@Ô@ð 	ð ×ÒÑÔÐØ�OŠOÑÔÐÐÐð	ð 	r%   c                 óê   — |                      d¦  «        €d S |j        | j        z  }|j        | j        z  }|dk     s|dk     rd S | j        j        }| j                             ||z  ||z  d¬¦  «         dS )NrT   é   FrŽ   )rU   r’   re   r“   r.   r‘   r”   )rL   rt   rg   ÚwÚhr‘   s         r#   r2   z FigureCanvasGTK3.configure_eventæ   s‚   € Ø×Ò˜xÑ(Ô(Ð0ØˆFØŒK˜$Ô1Ñ1ˆØŒL˜4Ô2Ñ2ˆØˆqŠ5ˆ5�A˜’E�EØˆFàŒkŒoˆØŒ×#Ò# A¨¡G¨Q°©W¸eÐ#ÑDÔDÐDØˆur%   c                 ó<   — || _         |                      ¦   «          d S r   )r=   rÊ   )rL   Úrects     r#   Ú_draw_rubberbandz!FigureCanvasGTK3._draw_rubberbandò   s    € Ø $ˆÔà�ŠÑÔÐÐÐr%   c                 ó  ‡ — ‰ j         €d S ˆ fd„‰ j         D ¦   «         \  }}}}||z   }||z   }|                     ||¦  «         |                     ||¦  «         |                     ||¦  «         |                     ||¦  «         |                     ||¦  «         |                     ||¦  «         |                     ||¦  «         |                     ||¦  «         |                     d¦  «         |                     d¦  «         |                     dd¦  «         |                     ddd¦  «         |                     ¦   «          |                     dd¦  «         |                     ddd¦  «         |                     ¦   «          d S )Nc              3   ó,   •K  — | ]}|‰j         z  V — Œd S r   )re   )r�   ÚdimrL   s     €r#   ú	<genexpr>z.FigureCanvasGTK3._post_draw.<locals>.<genexpr>û   s?   øè è € ð :ð :Øð ˜dÔ5Ñ5ð :ð :ð :ð :ð :ð :r%   r   )rÏ   rÏ   r   rÏ   )	r=   Úmove_toÚline_toÚset_antialiasÚset_line_widthÚset_dashÚset_source_rgbÚstroke_preserveÚstroke)	rL   rt   ÚctxÚx0Úy0rÐ   rÑ   Úx1Úy1s	   `        r#   rA   zFigureCanvasGTK3._post_draw÷   s›  ø€ ØÔ Ð(ØˆFð:ð :ð :ð :Ø#'Ô#8ð:ñ :ô :‰ˆˆB��1à�!‰VˆØ�!‰Vˆð 	�Š�B˜ÑÔÐØ�Š�B˜ÑÔÐØ�Š�B˜ÑÔÐØ�Š�B˜ÑÔÐØ�Š�B˜ÑÔÐØ�Š�B˜ÑÔÐØ�Š�B˜ÑÔÐØ�Š�B˜ÑÔÐà×Ò˜!ÑÔÐØ×Ò˜1ÑÔÐØ�Š�V˜QÑÔÐØ×Ò˜1˜a Ñ#Ô#Ð#Ø×ÒÑÔÐà�Š�V˜QÑÔÐØ×Ò˜1˜a Ñ#Ô#Ð#Ø�
Š
‰Œˆˆˆr%   c                 ó   — d S r   rœ   )rL   rt   rá   s      r#   r@   zFigureCanvasGTK3.on_draw_event  s   € àˆr%   c                 óZ   — |                       ¦   «         r|                      ¦   «          d S d S r   )Úis_drawablerÊ   )rL   s    r#   r3   zFigureCanvasGTK3.draw  s6   € à×ÒÑÔð 	Ø�OŠOÑÔÐÐÐð	ð 	r%   c                 ó^   ‡ — ‰ j         dk    rd S ˆ fd„}t          j        |¦  «        ‰ _         d S )Nr   c                  óZ   •— 	 ‰                      ¦   «          d‰_        n# d‰_        w xY wdS )Nr   F)r3   r<   )rÌ   rL   s    €r#   Ú	idle_drawz-FigureCanvasGTK3.draw_idle.<locals>.idle_draw"  s9   ø€ ð'Ø—	’	‘”�à%&�Ô"Ð"ø Q�Ô"Ð&Ð&Ð&Ð&Ø�5s   ƒ Ÿ	()r<   r   Úidle_add)rL   rë   s   ` r#   r•   zFigureCanvasGTK3.draw_idle  sI   ø€ àÔ Ò"Ð"ØˆFð	ð 	ð 	ð 	ð 	õ "œ]¨9Ñ5Ô5ˆÔÐÐr%   c                 óÀ   — t           j                             ¦   «         }|                     ¦   «         r+|                     d¦  «         |                     ¦   «         °)d S d S )NT)r   rW   rX   ÚpendingrY   )rL   r[   s     r#   Úflush_eventszFigureCanvasGTK3.flush_events*  sd   € åÔ"×*Ò*Ñ,Ô,ˆØ�oŠoÑÔð 	$Ø×Ò˜dÑ#Ô#Ð#ð �oŠoÑÔð 	$ð 	$ð 	$ð 	$ð 	$r%   r   )-Ú__name__Ú
__module__Ú__qualname__Úrequired_interactive_frameworkr   ÚclasspropertyÚmanager_classr   Ú	EventMaskÚBUTTON_PRESS_MASKÚBUTTON_RELEASE_MASKÚEXPOSURE_MASKÚKEY_PRESS_MASKÚKEY_RELEASE_MASKÚENTER_NOTIFY_MASKÚLEAVE_NOTIFY_MASKÚPOINTER_MOTION_MASKÚSCROLL_MASKrD   r;   rR   rV   rj   r/   r0   r1   r4   r5   r6   r7   r8   r9   Ústaticmethodr�   rs   r}   r?   r2   rÔ   rA   r@   r3   r•   rï   Ú__classcell__)rC   s   @r#   r'   r'   -   si  ø€ € € € € Ø%+Ð"Ø&�DÔ&Ð'DÐ'DÑEÔE€Mð ”-Ô1Ø”MÔ5ñ6à”MÔ/ñ0ð ”MÔ0ñ1ð ”MÔ2ñ	3ð
 ”MÔ3ñ4ð ”MÔ3ñ4ð ”MÔ5ñ6ð ”MÔ-ñ.€Jð1ð 1ð 1ð 1ð 1ð 1ð>ð ð ð ð ð$ð $ð $ðð ð ð ð,ð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð1ð 1ð 1ð1ð 1ð 1ðð ð ð ð	Hð 	Hñ „\ð	Hð Ø/3ð :ð :ð :ð :ñ „\ð:ð&ð &ð &ðð ð ð
ð 
ð 
ðð ð ð
ð ð ð<ð ð ðð ð ð

6ð 
6ð 
6ð$ð $ð $ð $ð $ð $ð $r%   r'   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚNavigationToolbar2GTK3c                 ó¢  — t           j                              | ¦  «         |                      t          j        j        ¦  «         i | _        | j        D �]S\  }}}}|€(|                      t          j	        ¦   «         d¦  «         Œ2t          j
                             t          j                             t          t!          j        d|› d�¦  «        ¦  «        ¦  «        t          j        j        ¦  «        }|dv rt          j        ¦   «         nt          j        ¦   «         x| j        |<   }|                     |¦  «         |                     |¦  «         |                     dt3          | |¦  «        ¦  «        |_        |                     |¦  «         |                      |d¦  «         �ŒUt          j        ¦   «         }|                      |d¦  «         t          j        ¦   «         }	|	                     d¦  «         |                     d¦  «         |                      |	¦  «         t          j        ¦   «         }|                      |d¦  «         t          j        ¦   «         | _!        | j!         "                    t          j#        j$        ¦  «         |                      | j!        ¦  «         |  %                    ¦   «          tM          j        | |¦  «         d S )Nrl   Úimagesú-symbolic.svg)ÚzoomÚpanÚclickedu   <small>Â 
Â </small>T)'r   r;   Ú	set_styler   ÚToolbarStyleÚICONSÚ_gtk_idsÚ	toolitemsÚinsertÚSeparatorToolItemÚImageÚnew_from_giconr   ÚIconÚnew_for_stringÚstrr   Ú_get_data_pathÚIconSizeÚLARGE_TOOLBARÚToggleToolButtonÚ
ToolButtonÚ	set_labelÚset_icon_widgetr>   ÚgetattrÚ_signal_handlerÚset_tooltip_textÚToolItemÚLabelÚ
set_markupÚ
set_expandÚaddÚmessageÚset_justifyÚJustificationr§   Úshow_allr   )
rL   ÚcanvasÚtextÚtooltip_textÚ
image_fileÚcallbackÚimagerx   ÚtoolitemÚlabels
             r#   r;   zNavigationToolbar2GTK3.__init__2  s~  € ÝŒ× Ò  Ñ&Ô&Ð&à�Š•sÔ'Ô-Ñ.Ô.Ð.àˆŒØ8<¼ð 	$ñ 	$Ñ4ˆD�, 
¨HØˆ|Ø—’�CÔ1Ñ3Ô3°RÑ8Ô8Ð8ØÝ”I×,Ò,Ý”×'Ò'Ý�Ô,¨XØ0:Ð-IÐ-IÐ-IñKô Kñ Lô LñMô Mõ ”Ô*ñ	,ô ,ˆEð +3°oÐ*EÐ*E•Ô$Ñ&Ô&Ð&Ý”Ñ Ô ð"ˆDŒM˜$Ñ &ð ×Ò˜TÑ"Ô"Ð"Ø×"Ò" 5Ñ)Ô)Ð)à%+§^¢^Ø�7 4¨Ñ2Ô2ñ&4ô &4ˆFÔ"à×#Ò# LÑ1Ô1Ð1Ø�KŠK˜ Ñ#Ô#Ð#Ñ#õ ”<‘>”>ˆØ�Š�H˜bÑ!Ô!Ð!Ý”	‘”ˆØ×ÒØCñ	Eô 	Eð 	Eà×Ò˜DÑ!Ô!Ð!Ø�Š�UÑÔÐå”<‘>”>ˆØ�Š�H˜bÑ!Ô!Ð!Ý”y‘{”{ˆŒØŒ× Ò ¥Ô!2Ô!8Ñ9Ô9Ð9Ø�Š�T”\Ñ"Ô"Ð"à�Š‰ŒˆåÔ'¨¨fÑ5Ô5Ð5Ð5Ð5r%   c           	      ó°  ‡ ‡
— t          j        d‰ j                             ¦   «         t           j        j        t           j        t           j        j        t           j	        t           j        j
        f¬¦  «        Š
‰ j                             ¦   «                              ¦   «         D ]�\  }}t          j        ¦   «         }|                     |¦  «         |D ]}|                     d|› �¦  «         Œ‰
                     |¦  «         ‰ j                             ¦   «         |v r‰
                     |¦  «         Œ�t'          j        ‰
j        d¦  «        ˆ
ˆ fd„¦   «         }‰
                     t.          j        d         ¦  «         ‰
                     ‰ j                             ¦   «         ¦  «         ‰
                     d¦  «         ‰
                     ¦   «         }‰
                     ¦   «         }‰
                     ¦   «         }‰ j                             ¦   «         |                     ¦   «                  d         }‰
                      ¦   «          |t           j        j
        k    rd S t.          j        d         r,tB          j"         #                    |¦  «        t.          j        d<   	 ‰ j        j$         %                    ||¬	¦  «         |S # tL          $ r�}	t          j'        ‰ j                             ¦   «         tQ          |	¦  «        t           j)        j*        t           j+        j
        ¬
¦  «        Š
‰
                     ¦   «          ‰
                      ¦   «          Y d }	~	d S d }	~	ww xY w)NzSave the figure)ÚtitleÚtransient_forÚactionr€   z*.znotify::filterc                  óL  •— ‰                      ¦   «                              ¦   «         }‰j                             ¦   «         |         d         }‰                     t          t          ‰                     ¦   «         ¦  «                             d|› �¦  «        ¦  «        ¦  «         d S )Nr   ú.)	Ú
get_filterÚget_namer)  Úget_supported_filetypes_groupedÚset_current_namer  r   Úget_current_nameÚwith_suffix)rÌ   rž   ÚfmtÚdialogrL   s      €€r#   Úon_notify_filterz<NavigationToolbar2GTK3.save_figure.<locals>.on_notify_filtert  s—   ø€ à×$Ò$Ñ&Ô&×/Ò/Ñ1Ô1ˆDØ”+×=Ò=Ñ?Ô?ÀÔEÀaÔHˆCØ×#Ò#Ý•D˜×0Ò0Ñ2Ô2Ñ3Ô3×?Ò?À	ÀCÀ	À	ÑJÔJÑKÔKñMô Mð Mð Mð Mr%   zsavefig.directoryTr   )Úformat)r3  r*  Úmessage_typer€   ),r   ÚFileChooserDialogr)  Úget_toplevelÚFileChooserActionÚSAVEÚSTOCK_CANCELÚResponseTypeÚCANCELÚ
STOCK_SAVEÚOKr9  ÚitemsÚ
FileFilterÚset_nameÚadd_patternÚ
add_filterÚget_default_filetypeÚ
set_filterÚ	functoolsÚpartialr>   Úset_current_folderÚmplÚrcParamsr:  Úget_default_filenameÚset_do_overwrite_confirmationÚrunÚget_filenamer7  r8  rR   ÚosÚpathÚdirnamer.   ÚsavefigÚ	ExceptionÚMessageDialogr  ÚMessageTypeÚERRORÚButtonsType)rL   rÌ   rž   ÚfmtsÚffr=  r?  ÚresponseÚfnameÚer>  s   `         @r#   Úsave_figurez"NavigationToolbar2GTK3.save_figureb  s  øø€ ÝÔ&Ø#Øœ+×2Ò2Ñ4Ô4ÝÔ(Ô-ÝÔ%¥sÔ'7Ô'>Ý”^¥sÔ'7Ô':ð<ð	
ñ 
ô 
ˆð ”;×>Ò>Ñ@Ô@×FÒFÑHÔHð	&ð 	&‰JˆD�$å”Ñ!Ô!ˆBØ�KŠK˜ÑÔÐØð +ð +�Ø—’˜z C˜z˜zÑ*Ô*Ð*Ð*Ø×Ò˜bÑ!Ô!Ð!ØŒ{×/Ò/Ñ1Ô1°TÐ9Ð9Ø×!Ò! "Ñ%Ô%Ð%øå	Ô	˜6œ>Ð+;Ñ	<Ô	<ð	Mð 	Mð 	Mð 	Mð 	Mñ 
=Ô	<ð	Mð 	×!Ò!¥#¤,Ð/BÔ"CÑDÔDÐDØ×Ò ¤× @Ò @Ñ BÔ BÑCÔCÐCØ×,Ò,¨TÑ2Ô2Ð2à—:’:‘<”<ˆØ×#Ò#Ñ%Ô%ˆØ×ÒÑ Ô ˆØŒk×9Ò9Ñ;Ô;¸B¿KºK¹M¼MÔJÈ1ÔMˆØ�ŠÑÔÐØ•sÔ'Ô*Ò*Ð*Ø�4åŒ<Ð+Ô,ð 	GÝ02´·²ÀÑ0FÔ0F�CŒLÐ,Ñ-ð	ØŒKÔ×&Ò& u°SÐ&Ñ9Ô9Ð9ØˆLøÝð 	ð 	ð 	ÝÔ&Ø"œk×6Ò6Ñ8Ô8½sÀ1¹v¼vÝ œ_Ô2½C¼OÔ<NðPñ Pô PˆFð �JŠJ‰LŒLˆLØ�NŠNÑÔÐÐÐÐÐÐÐøøøøð	øøøs   Ê"J> Ê>
MËBMÍMN)rð   rñ   rò   r;   ri  rœ   r%   r#   r  r  1  s3   € € € € € ð.6ð .6ð .6ð`/ð /ð /ð /ð /r%   r  c                   óB   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚToolbarGTK3r  c                 ó¸  — t          j        | |¦  «         t          j                             | ¦  «         |                      dt          j        j        ¦  «         t          j        ¦   «         | _        | j         	                    t          j
        j        ¦  «         |                      | j        ddd¦  «         |                      ¦   «          i | _        i | _        d S )NÚorientationFr   )r   r;   r   ÚBoxÚset_propertyÚOrientationÚ
HORIZONTALr!  Ú_messager&  r'  r§   Úpack_endr(  Ú_groupsÚ
_toolitems)rL   Útoolmanagers     r#   r;   zToolbarGTK3.__init__—  s¨   € ÝÔ" 4¨Ñ5Ô5Ð5ÝŒ×Ò˜ÑÔÐØ×Ò˜-­¬Ô)CÑDÔDÐDÝœ	™œˆŒØŒ×!Ò!¥#Ô"3Ô"9Ñ:Ô:Ð:Ø�Š�d”m U¨E°1Ñ5Ô5Ð5Ø�Š‰ŒˆØˆŒØˆŒˆˆr%   c                 ó‚  — |rt          j        ¦   «         }nt          j        ¦   «         }|                     |¦  «         |�at           j                             t          j                             |¦  «        t           j	        j
        ¦  «        }|                     |¦  «         |€d}|                      |||¦  «         |                     d| j        |¦  «        }	|                     |¦  «         |                     ¦   «          | j                             |g ¦  «         | j        |                              ||	f¦  «         d S )Nrl   r	  )r   r  r  r  r  r  r   r  r  r  r  r  Ú_add_buttonr>   Ú
_call_toolr  r(  ru  Ú
setdefaultÚappend)
rL   rž   ÚgroupÚpositionr,  ÚdescriptionÚtogglerx   r.  Úsignals
             r#   Úadd_toolitemzToolbarGTK3.add_toolitem¢  s%  € àð 	&ÝÔ)Ñ+Ô+ˆFˆFå”^Ñ%Ô%ˆFØ×Ò˜ÑÔÐàÐ!Ý”I×,Ò,Ý”×'Ò'¨
Ñ3Ô3Ý”Ô*ñ,ô ,ˆEð ×"Ò" 5Ñ)Ô)Ð)àÐØˆHà×Ò˜ ¨Ñ1Ô1Ð1Ø—’ 	¨4¬?¸DÑAÔAˆØ×Ò Ñ,Ô,Ð,Ø�ŠÑÔÐØŒ×"Ò" 4¨Ñ,Ô,Ð,ØŒ˜Ô×$Ò$ f¨fÐ%5Ñ6Ô6Ð6Ð6Ð6r%   c                 ój  — || j         vrˆ| j         r|                      ¦   «          t          j        ¦   «         }|                     t          j        j        ¦  «         |                      |ddd¦  «         |                     ¦   «          || j         |<   | j         |          	                    ||¦  «         d S )NFr   )
rt  Ú_add_separatorr   ÚToolbarr
  r  r  Ú
pack_startr(  r  )rL   rx   r|  r}  Útoolbars        r#   rx  zToolbarGTK3._add_buttonº  s©   € Ø˜œÐ$Ð$ØŒ|ð &Ø×#Ò#Ñ%Ô%Ð%Ý”k‘m”mˆGØ×Ò�cÔ.Ô4Ñ5Ô5Ð5Ø�OŠO˜G U¨E°1Ñ5Ô5Ð5Ø×ÒÑÔÐØ")ˆDŒL˜ÑØŒ�UÔ×"Ò" 6¨8Ñ4Ô4Ð4Ð4Ð4r%   c                 ó0   — |                       |¦  «         d S r   )Útrigger_tool)rL   Úbtnrž   s      r#   ry  zToolbarGTK3._call_toolÅ  s   € Ø×Ò˜$ÑÔÐÐÐr%   c                 óÀ   — || j         vrd S | j         |         D ]D\  }}|                     |¦  «         |                     |¦  «         |                     |¦  «         ŒEd S r   )ru  Úhandler_blockÚ
set_activeÚhandler_unblock)rL   rž   Útoggledr/  r€  s        r#   Útoggle_toolitemzToolbarGTK3.toggle_toolitemÈ  sx   € Ø�t”Ð&Ð&ØˆFØ $¤°Ô 5ð 	-ð 	-ÑˆH�fØ×"Ò" 6Ñ*Ô*Ð*Ø×Ò Ñ(Ô(Ð(Ø×$Ò$ VÑ,Ô,Ð,Ð,ð	-ð 	-r%   c                 óº   — | j                              |g ¦  «        D ]>\  }}| j        D ]1}|| j        |         v r | j        |                              |¦  «         Œ2Œ?d S r   )ru  Úpoprt  rÂ   )rL   rž   r/  Ú_signalr|  s        r#   Úremove_toolitemzToolbarGTK3.remove_toolitemÐ  sv   € Ø!%¤×!4Ò!4°T¸2Ñ!>Ô!>ð 	9ð 	9ÑˆH�gØœð 9ð 9�Ø˜tœ|¨EÔ2Ð2Ð2Ø”L Ô'×.Ò.¨xÑ8Ô8Ð8øð9ð	9ð 	9r%   c                 óÎ   — t          j        ¦   «         }|                     dt           j        j        ¦  «         |                      |ddd¦  «         |                     ¦   «          d S )Nrm  FTr   )r   Ú	Separatorro  rp  ÚVERTICALr…  r(  )rL   Úseps     r#   rƒ  zToolbarGTK3._add_separatorÖ  sQ   € ÝŒm‰oŒoˆØ×Ò˜­¬Ô(@ÑAÔAÐAØ�Š˜˜U D¨!Ñ,Ô,Ð,Ø�Š‰Œˆˆˆr%   c                 ó:   — | j                              |¦  «         d S r   )rr  r  )rL   Úss     r#   Úset_messagezToolbarGTK3.set_messageÜ  s   € ØŒ×Ò Ñ"Ô"Ð"Ð"Ð"r%   N)rð   rñ   rò   Ú_icon_extensionr;   r�  rx  ry  r�  r“  rƒ  rš  rœ   r%   r#   rk  rk  ”  s‘   € € € € € Ø%€Oð	ð 	ð 	ð7ð 7ð 7ð0	5ð 	5ð 	5ð ð  ð  ð-ð -ð -ð9ð 9ð 9ðð ð ð#ð #ð #ð #ð #r%   rk  c                   ó   — e Zd Zd„ ZdS )ÚSaveFigureGTK3c                 ó^   — t                                |                      ¦   «         ¦  «         d S r   )r  ri  Ú"_make_classic_style_pseudo_toolbarrË   s      r#   ÚtriggerzSaveFigureGTK3.triggerâ  s3   € Ý×*Ò*Ø×3Ò3Ñ5Ô5ñ	7ô 	7ð 	7ð 	7ð 	7r%   N©rð   rñ   rò   r   rœ   r%   r#   r�  r�  à  s#   € € € € € ð7ð 7ð 7ð 7ð 7r%   r�  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚHelpGTK3c                 ó@  — dddddœ}|                      d¦  «        }d„ |dd	…         D ¦   «         }|d	         }||v r	||         }nBt          |¦  «        d
k    r|                     ¦   «         }n|                     ¦   «         r|dgz  }d                     |¦  «        |z   S )z‚
        Convert Matplotlib key presses to GTK+ accelerator identifiers.

        Related to `FigureCanvasGTK3._get_key`.
        Ú	BackSpaceÚ	Page_DownÚPage_UpÚScroll_Lock)Ú	backspaceÚpagedownÚpageupÚscroll_lockr»   c                 ó   — g | ]
}d |z   dz   ‘ŒS )ú<ú>rœ   )r�   Úmods     r#   r¡   z0HelpGTK3._normalize_shortcut.<locals>.<listcomp>÷  s    € Ð6Ð6Ð6 C��c‘	˜C‘Ð6Ð6Ð6r%   Nrl   r   z<shift>Ú )ÚsplitÚlenÚ
capitalizeÚisupperrÃ   )rL   rµ   ÚspecialÚpartsrÅ   s        r#   Ú_normalize_shortcutzHelpGTK3._normalize_shortcuté  s¶   € ð %Ø#ØØ(ð	
ð 
ˆð —	’	˜#‘”ˆØ6Ð6¨5°°"°¬:Ð6Ñ6Ô6ˆØ�BŒiˆà�'ˆ>ˆ>Ø˜#”,ˆCˆCÝ�‰XŒX˜Š\ˆ\Ø—.’.Ñ"Ô"ˆCˆCØ�[Š[‰]Œ]ð 	 Ø�Y�KÑˆDà�wŠw�t‰}Œ}˜sÑ"Ð"r%   c                 ó6   — d|vo|                      d¦  «         S )zÖ
        Check for a valid shortcut to be displayed.

        - GTK will never send 'cmd+' (see `FigureCanvasGTK3._get_key`).
        - The shortcut window only shows keyboard shortcuts, not mouse buttons.
        zcmd+zMouseButton.)Ú
startswith)rL   rµ   s     r#   Ú_is_valid_shortcutzHelpGTK3._is_valid_shortcut  s#   € ð ˜SÐ ÐG¨¯ª¸Ñ)GÔ)GÐ%GÐGr%   c           	      óØ  ‡ — t          j        ¦   «         }t          ‰ j        j                             ¦   «         ¦  «        D ]¹\  }}|j        sŒt          j        ¦   «         }|                     |¦  «         | 	                    d„ d ¦  «         t          j
        d                     ˆ fd„‰ j                             |¦  «        D ¦   «         ¦  «        |j        |j        ¬¦  «        }|                     |¦  «         Œºt          j        dd‰ j        j                             ¦   «         ¬¦  «        }|                     ¦   «          |                     |¦  «         |                     ¦   «          d S )Nc                 ó,   — |                       d¦  «        S )NF)Úset_visible)rt   Údatas     r#   r,   z1HelpGTK3._show_shortcuts_window.<locals>.<lambda>  s   € ¨f×.@Ò.@ÀÑ.GÔ.G€ r%   ú c              3   ól   •K  — | ].}‰                      |¦  «        ¯‰                     |¦  «        V — Œ/d S r   )r»  r¸  )r�   rµ   rL   s     €r#   rØ   z2HelpGTK3._show_shortcuts_window.<locals>.<genexpr>  sY   øè è € ð %5ð %5àØ×.Ò.¨sÑ3Ô3ð%5Ø×,Ò,¨SÑ1Ô1ð%5ð %5ð %5ð %5ð %5ð %5r%   )Úacceleratorr2  ÚsubtitleÚHelpT)r2  Úmodalr3  )r   ÚShortcutsSectionÚsortedrv  ÚtoolsrK  r~  ÚShortcutsGroupr$  ÚforallÚShortcutsShortcutrÃ   Úget_tool_keymaprž   ÚShortcutsWindowÚ_figurer)  rC  Úshowr(  )rL   Úsectionrž   Útoolr|  ÚshortcutrT   s   `      r#   Ú_show_shortcuts_windowzHelpGTK3._show_shortcuts_window  sq  ø€ ÝÔ&Ñ(Ô(ˆå  Ô!1Ô!7×!=Ò!=Ñ!?Ô!?Ñ@Ô@ð 	 ð 	 ‰JˆD�$ØÔ#ð Øõ Ô&Ñ(Ô(ˆEØ�KŠK˜ÑÔÐà�LŠLÐGÐGÈÑNÔNÐNåÔ,ØŸHšHð %5ð %5ð %5ð %5à#Ô/×?Ò?ÀÑEÔEð%5ñ %5ô %5ñ 5ô 5ð ”iØÔ)ð+ñ +ô +ˆHð �IŠI�hÑÔÐÐåÔ$ØØØœ,Ô-×:Ò:Ñ<Ô<ð>ñ >ô >ˆð 	�Š‰ŒˆØ�
Š
�7ÑÔÐà�ŠÑÔÐÐÐr%   c                 ó"  — t          j        | j        j                             ¦   «         dt           j        j        t           j        j        |  	                    ¦   «         d¬¦  «        }| 
                    ¦   «          |                     ¦   «          d S )Nr   rÄ  )r2  )r   r`  rÎ  r)  rC  ra  ÚINFOrc  rJ  Ú_get_help_textrY  rR   )rL   r>  s     r#   Ú_show_shortcuts_dialogzHelpGTK3._show_shortcuts_dialog.  st   € ÝÔ"ØŒLÔ×,Ò,Ñ.Ô.Ø�sŒÔ#¥S¤_Ô%7¸×9LÒ9LÑ9NÔ9NØðñ ô ˆð 	�
Š
‰ŒˆØ�ŠÑÔÐÐÐr%   c                 ó†   — t          j        ddd¦  «        €|                      ¦   «          d S |                      ¦   «          d S )NrÏ   é   r   )r   Úcheck_versionrÓ  r×  )rL   rÌ   s     r#   r   zHelpGTK3.trigger6  sG   € ÝÔ˜Q  AÑ&Ô&Ð.Ø×'Ò'Ñ)Ô)Ð)Ð)Ð)à×'Ò'Ñ)Ô)Ð)Ð)Ð)r%   N)rð   rñ   rò   r¸  r»  rÓ  r×  r   rœ   r%   r#   r£  r£  ç  sc   € € € € € ð#ð #ð #ð4Hð Hð Hð ð  ð  ðDð ð ð*ð *ð *ð *ð *r%   r£  c                   ó   — e Zd Zd„ ZdS )ÚToolCopyToClipboardGTK3c                 ó  — t           j                             t          j        ¦  «        }| j                             ¦   «         }|                     ¦   «         \  }}}}t          j        |||||¦  «        }	| 	                    |	¦  «         d S r   )
r   Ú	ClipboardÚgetr   ÚSELECTION_CLIPBOARDr)  r^   Úget_geometryÚpixbuf_get_from_windowÚ	set_image)
rL   rÌ   rÍ   Ú	clipboardrT   rc   rd   r’   r“   Úpbs
             r#   r   zToolCopyToClipboardGTK3.trigger?  sy   € Ý”M×%Ò%¥cÔ&=Ñ>Ô>ˆ	Ø”×'Ò'Ñ)Ô)ˆØ$×1Ò1Ñ3Ô3Ñˆˆ1ˆe�VÝÔ'¨°°1°e¸VÑDÔDˆØ×Ò˜BÑÔÐÐÐr%   Nr¡  rœ   r%   r#   rÜ  rÜ  =  s#   € € € € € ð ð  ð  ð  ð  r%   rÜ  c                   ó   — e Zd ZeZeZdS )r*   N)rð   rñ   rò   r  Ú_toolbar2_classrk  Ú_toolmanager_toolbar_classrœ   r%   r#   r*   r*   N  s   € € € € € Ø,€OØ!,ÐÐÐr%   r*   c                   ó   — e Zd ZeZeZdS )Ú_BackendGTK3N)rð   rñ   rò   r'   ÚFigureCanvasr*   ÚFigureManagerrœ   r%   r#   rê  rê  S  s   € € € € € à#€LØ%€M€M€Mr%   rê  )>rR  Úloggingr[  Úpathlibr   Ú
matplotlibrU  r   r   r   Úmatplotlib.backend_basesr   r   r	   r
   r   r   r   Úgir   Úgi_require_versionÚImportErrorÚerrÚ
ValueErrorrh  Úgi.repositoryr   r   r   r   r   r±  r   r   r   r   r   r   Ú	TimerGTK3Ú	getLoggerrð   Ú_logÚcacher$   ÚDrawingArear'   r„  r  rn  rk  Ú_register_tool_classÚSaveFigureBaser�  ÚToolHelpBaser£  ÚToolCopyToClipboardBaserÜ  ÚConfigureSubplotsGTKÚRubberbandGTKr*   Úexportrê  rœ   r%   r#   ú<module>r     so  ðØ Ð Ð Ð Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1ðBð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð Bð BðFØ8Ð8Ð8Ð8Ð8Ð8Ð8øØð Fð Fð FØ
ˆ+Ð;Ñ
<Ô
<À#ÐEøøøøðFøøøð ð Ð�u˜eÑ$Ô$Ð$ØÐ�u˜eÑ$Ô$Ð$Ð$øØð  ð  ð  ð ˆ+�a‰.Œ.˜aÐøøøøð øøøð
 7Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð €wÔ˜Ñ"Ô"€ð „ð9ð 9ñ „ð9ðA$ð A$ð A$ð A$ð A$Ð'¨¬ñ A$ô A$ð A$ðH`ð `ð `ð `ð `Ð3°S´[ñ `ô `ð `ðFI#ð I#ð I#ð I#ð I#Ð# S¤Wñ I#ô I#ð I#ðX $€Ô#Ð$4Ñ5Ô5ð7ð 7ð 7ð 7ð 7�]Ô1ñ 7ô 7ñ 6Ô5ð7ð $€Ô#Ð$4Ñ5Ô5ðR*ð R*ð R*ð R*ð R*ˆ}Ô)ñ R*ô R*ñ 6Ô5ðR*ðj $€Ô#Ð$4Ñ5Ô5ð ð  ð  ð  ð  ˜mÔCñ  ô  ñ 6Ô5ð ð €Ø "€Ô "Ø�lÔ7ñ9ô 9ð 9à "€Ô "Ø�lÔ0ñ2ô 2ð 2ð-ð -ð -ð -ð -Ð)ñ -ô -ð -ð
 Ôð&ð &ð &ð &ð &�;ñ &ô &ñ Ôð&ð &ð &s-   ´; »AÁ AÁAÁA. Á.BÁ3A?Á?B