
    NgR                     P   d dl Z d dlZd dl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 	 d dlZn# e$ rZ ed          edZ[ww xY w	  ej        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"  G d deej#                  Z$ G d de ej%                  Z& G d de	ej%                  Z' ej(        e$           G d dej)                              Z* ej(        e$           G d dej+                              Z, ej(        e$           G d dej-                              Z. ej(        e$ej/                    ej(        e$ej0                   e'Z1 G d de          Z2ej3         G d de                      Z4dS )    N)_apibackend_toolscbook)ToolContainerBaseKeyEventLocationEvent
MouseEventResizeEvent
CloseEventz#The GTK4 backends require PyGObjectGtkz4.0)GioGLibr   Gdk	GdkPixbuf   )_backend_gtk)_BackendGTK_FigureCanvasGTK_FigureManagerGTK_NavigationToolbar2GTKTimerGTKc                        e Zd ZdZdZ ej        d           Zd fd	Z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ddZd Zd Zd Zd Zd Zd Zd Zd Zd Z xZS )FigureCanvasGTK4gtk4Fc                     t           S N)FigureManagerGTK4)clss    \/var/www/html/ai-engine/env/lib/python3.11/site-packages/matplotlib/backends/backend_gtk4.py<lambda>zFigureCanvasGTK4.<lambda>$   s    3D     Nc                 <   t                                          |           |                     d           |                     d           d| _        d | _        |                     | j                   |                     d| j	                   |                     d| j
                   t          j                    }|                    d           |                    d| j                   |                    d| j                   |                     |           t          j                    }|                    d| j                   |                    d	| j                   |                     |           t          j                    }|                    d
| j                   |                    d| j                   |                    d| j                   |                     |           t          j                            t          j        j                  }|                    d| j                   |                     |           |                     d           t          j                    }d}t          j        ddd          |                     |d           n(|                     |!                    d                     | "                                }|#                    |t          j$                   |%                    d           d S )N)figureTr   resizeznotify::scale-factorpressedreleasedzkey-pressedzkey-releasedmotionenterleavescrollz/.matplotlib-canvas { background-color: white; }   	      zutf-8zmatplotlib-canvas)&super__init__set_hexpandset_vexpand_idle_draw_id_rubberband_rectset_draw_func
_draw_funcconnectresize_event_update_device_pixel_ratior   GestureClick
set_buttonbutton_press_eventbutton_release_eventadd_controllerEventControllerKeykey_press_eventkey_release_eventEventControllerMotionmotion_notify_evententer_notify_eventleave_notify_eventEventControllerScrollnewEventControllerScrollFlagsVERTICALscroll_eventset_focusableCssProvidercheck_versionload_from_dataencodeget_style_contextadd_provider#STYLE_PROVIDER_PRIORITY_APPLICATION	add_class)
selfr#   clickkeyr'   r*   cssstyle	style_ctx	__class__s
            r   r0   zFigureCanvasGTK4.__init__&   s   ''' $4?+++Xt0111+T-LMMM ""i!8999j$";<<<E"""$&&M4#7888ND$:;;;C   *,,x!9:::w 7888w 7888F###*..*35 5x!2333F###4   oAQ1%%-ub))))u||G44555**,,	sC$KLLL/00000r!   c                 J    t          d|                                            d S )Nclose_event)r   _processrT   s    r   destroyzFigureCanvasGTK4.destroyU   s$    =$''0022222r!   c                 T    |                      t          j        |                     d S r   )set_cursor_from_namer   mpl_to_gtk_cursor_name)rT   cursors     r   
set_cursorzFigureCanvasGTK4.set_cursorX   s'    !!,"Ef"M"MNNNNNr!   c                 R   |w|                                                                  }|                    |                                                                                                           \  }}}}n|\  }}|| j        z  }| j        j        j	        || j        z  z
  }||fS )a  
        Convert the *xy* position of a GTK event, or of the current cursor
        position if *xy* 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.
        )

get_nativeget_surfaceget_device_positionget_displayget_default_seatget_pointerdevice_pixel_ratior#   bboxheight)rT   xysurfaceis_overxymasks          r   _mpl_coordszFigureCanvasGTK4._mpl_coords\   s     :oo''3355G")"="=  ""3355AACC#E #EGQ44 DAq''K#a$*A&AA!tr!   c                     t          d| g|                                 R ||                     |          d                                 dS )NrJ   )step	modifiersTr	   ru   _mpl_modifiersr]   )rT   
controllerdxdys       r   rJ   zFigureCanvasGTK4.scroll_eventr   s]    D	
#'#3#3#5#5	
 	
<>))*55	
 	
 	
 (***tr!   c                     t          d| g|                     ||f          |                                R d|                     |          i                                 |                                  d S )Nr<   rx   )r	   ru   get_current_buttonrz   r]   
grab_focusrT   r{   n_pressrr   rs   s        r   r<   z#FigureCanvasGTK4.button_press_eventy   s     $	
)-)9)91a&)A)A	
))++	
 	
 	
 ))*55	
 	
 (***r!   c                     t          d| g|                     ||f          |                                R d|                     |          i                                 d S )Nr=   rx   )r	   ru   r   rz   r]   r   s        r   r=   z%FigureCanvasGTK4.button_release_event   su    "D	
+/+;+;QF+C+C	
))++	
 	
 	
 ))*55	
 	
 (*****r!   c           	          t          d| |                     |||          g|                                 R                                   dS )Nr@   Tr   _get_keyru   r]   rT   r{   keyvalkeycodestates        r   r@   z FigureCanvasGTK4.key_press_event   sQ    tT]]67E%J%J	
	
 	
 	
 (***tr!   c           	          t          d| |                     |||          g|                                 R                                   dS )NrA   Tr   r   s        r   rA   z"FigureCanvasGTK4.key_release_event   sQ    t}}VWe'L'L	
	
 	
 	
 (***tr!   c                     t          d| g|                     ||f          R d|                     |          i                                 d S )NrC   rx   ry   rT   r{   rr   rs   s       r   rC   z$FigureCanvasGTK4.motion_notify_event   s_    !4	
*.*:*:Aq6*B*B	
 	
 	
))*55	
 	
 (*****r!   c                     t          d| g|                     ||f          R d|                                 i                                 d S )Nfigure_enter_eventrx   r   ru   rz   r]   r   s       r   rD   z#FigureCanvasGTK4.enter_notify_event   s]     $	
)-)9)91a&)A)A	
 	
 	
))++	
 	
 (*****r!   c                     t          d| g|                                 R d|                                 i                                 d S )Nfigure_leave_eventrx   r   )rT   r{   s     r   rE   z#FigureCanvasGTK4.leave_notify_event   sW     $	
)-)9)9););	
 	
 	
))++	
 	
 (*****r!   c                     |                                   | j        j        }|| j        z  |z  }|| j        z  |z  }| j                            ||d           t          d|                                            |                                  d S )NF)forwardr8   )r9   r#   dpirl   set_size_inchesr
   r]   	draw_idle)rT   areawidthrn   r   winchhinchs          r   r8   zFigureCanvasGTK4.resize_event   s    '')))ko//#50036##E5%#@@@ND))22444r!   c                    |w|                                                                  }|                    |                                                                                                           \  }}}n|                                dt          j        j	        fdt          j        j
        fdt          j        j        fdt          j        j        fg}fd|D             S )Nctrlaltshiftr/   c                 $    g | ]\  }}|z  
|S  r   ).0namert   event_states      r   
<listcomp>z3FigureCanvasGTK4._mpl_modifiers.<locals>.<listcomp>   s'    GGGtK$4FGGGGr!   )rf   rg   rh   ri   rj   rk   get_current_event_stater   ModifierTypeCONTROL_MASKALT_MASK
SHIFT_MASK
SUPER_MASK)rT   r{   rp   rq   rr   rs   	mod_tabler   s          @r   rz   zFigureCanvasGTK4._mpl_modifiers   s    oo''3355G)0)D)D  ""3355AACC*E *E&GQ;; %<<>>KS%23C$-.c&12c&12	
	 HGGGyGGGGr!   c                    t          t          j        |                    t          j        t          j        |                    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             }d                    g |          S )Nr   controlr   r   r/   c                 f    g | ]-\  }}}|k    r!|z  r|d k    r                                 +|.S )r   )isprintable)r   modrt   mod_keyrV   r   unikeys       r   r   z-FigureCanvasGTK4._get_key.<locals>.<listcomp>   sT     D D D&Cw354<F,>,>,@,@ 'r!   +)chrr   keyval_to_unicoder   _unikey_or_keysym_to_mplkeykeyval_namer   r   r   r   r   join)rT   r   r   r   rx   modsrV   r   s      `  @@r   r   zFigureCanvasGTK4._get_key   s    S*62233/OF##% % S%2I>C$-u5c&17;c&17;	
	D D D D D D*3D D D xx$%%%r!   c                     |                      |                                           r|                                  d S d S r   )_set_device_pixel_ratioget_scale_factordrawrT   argskwargss      r   r9   z+FigureCanvasGTK4._update_device_pixel_ratio   sA     ''(=(=(?(?@@ 	IIKKKKK	 	r!   c                 <    || _         |                                  d S r   )r4   
queue_draw)rT   rects     r   _draw_rubberbandz!FigureCanvasGTK4._draw_rubberband   s      $r!   c                 ^    |                      | |           |                     | |           d S r   )on_draw_event
_post_draw)rT   drawing_areactxr   rn   s        r   r6   zFigureCanvasGTK4._draw_func   s2    4%%%c"""""r!   c                 &     j         d S d}d} fd j         D             \  }}}}||z   }	||z   }
|                    ||           |                    ||
           |                    ||           |                    |	|           |                    ||
           |                    |	|
           |                    |	|           |                    |	|
           |                    d           |                    |           |                    ||fd           |                    ddd           |                                 |                    ||f|           |                    ddd           |                                 d S )Nr   r-   c              3   ,   K   | ]}|j         z  V  d S r   )rl   )r   dimrT   s     r   	<genexpr>z.FigureCanvasGTK4._post_draw.<locals>.<genexpr>   s?       : : d55 : : : : : :r!   r   )	r4   move_toline_toset_antialiasset_line_widthset_dashset_source_rgbstroke_preservestroke)rT   widgetr   lwdashx0y0whx1y1s   `          r   r   zFigureCanvasGTK4._post_draw   s    (F: : : :#'#8: : :B1!V!V 	BBBBBBBB!2dD\1%%%1a###dD\4(((1a###

r!   c                     d S r   r   )rT   r   r   s      r   r   zFigureCanvasGTK4.on_draw_event   s    r!   c                 Z    |                                  r|                                  d S d S r   )is_drawabler   r^   s    r   r   zFigureCanvasGTK4.draw  s6     	OO	 	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)r   r3   )r   rT   s    r   	idle_drawz-FigureCanvasGTK4.draw_idle.<locals>.idle_draw  s9    '		%&""Q"&&&&5s    	()r3   r   idle_add)rT   r   s   ` r   r   zFigureCanvasGTK4.draw_idle	  sI    ""F	 	 	 	 	 "]955r!   c                     t           j                                        }|                                r+|                    d           |                                )d S d S )NT)r   MainContextdefaultpending	iteration)rT   contexts     r   flush_eventszFigureCanvasGTK4.flush_events  sd    "**,,oo 	$d### oo 	$ 	$ 	$ 	$ 	$r!   r   ) __name__
__module____qualname__required_interactive_frameworksupports_blitr   classpropertymanager_classr0   r_   rd   ru   rJ   r<   r=   r@   rA   rC   rD   rE   r8   rz   r   r9   r   r6   r   r   r   r   r   __classcell__)rZ   s   @r   r   r   !   s       %+"M&D&'D'DEEM-1 -1 -1 -1 -1 -1^3 3 3O O O   ,                  H H H H& & &"    
# # #  @    

6 
6 
6$ $ $ $ $ $ $r!   r   c                       e Zd Zd Zd ZdS )NavigationToolbar2GTK4c                    t           j                            |            |                     d           i | _        | j        D ]V\  }}}}|'|                     t          j                               1t           j        	                    t          j                            t          t          j        d| d                                        }|dv rt          j                    nt          j                    x| j        |<   }|                    |           |                    d           |                    d           |                    dt)          | |                    |_        |                    |           |                     |           Xt          j                    }|                    d           |                    d	           |                     |           t          j                    | _        | j                            t           j        j                   |                     | j                   t=          j        | |           d S )
Ntoolbarimages-symbolic.svg)zoompanflatimage-buttonclicked   <small> 
 </small>T)r   Boxr0   add_css_class_gtk_ids	toolitemsappend	SeparatorImagenew_from_giconr   Iconnew_for_stringstrr   _get_data_pathToggleButtonButton	set_childr7   getattr_signal_handlerset_tooltip_textLabel
set_markupr1   messageset_justifyJustificationRIGHTr   )	rT   canvastexttooltip_text
image_filecallbackimagebuttonlabels	            r   r0   zNavigationToolbar2GTK4.__init__  s2   9%%%8< 	  	 4D,
H|CMOO,,,I,,'',X0:-I-I-IK K L LM MN NE
 '//&A&A """
DM$& U###  (((  000%+^^7422&4 &4F"##L111KK 	C	E 	E 	E$Ey{{  !2!8999DL!!!'f55555r!   c                 2    t          j        d j                                        t           j        j        d          }| _        t          j                    }|                    d           |	                    d           |
                    |           |                    |           g }d }t           j                                                                                  D ]\  }\  }}t          j                    }|                    |           |D ]}	|	                    d|	            |
                    |           |                    |            j                                        |v r|}||         g|d |         ||dz   d          }|                    dd	||           |                    d|d
                    |                    t(          j                            t.          j                            t4          j        d                                        |                     j                                                   t=          j        |j         d           fd            }
|!                                 d S )NzSave the figureT)titletransient_foractionmodalz	All files*z*.r   formatzFile formatr   savefig.directoryresponsec           
         |                                  }|                     d          }j                                        |         d         }|                                  d _        |t          j        j        k    rd S t          j
        d         r5|                                }|                                t          j
        d<   	 j        j                            |                                |           d S # t          $ rz}t          j        j                                        t          j        j        t          j        j        dt-          |                    }|                                 Y d }~d S d }~ww xY w)Nr(  r   r)  )r(  T)r$  message_typebuttonsr&  r  )get_file
get_choicer  get_supported_filetypes_groupedr_   _save_dialogr   ResponseTypeACCEPTmplrcParams
get_parentget_pathr#   savefig	ExceptionMessageDialogget_rootMessageTypeERRORButtonsTypeOKr  show)dialogr*  filefmtparentemsgrT   s          r   on_responsez7NavigationToolbar2GTK4.save_figure.<locals>.on_responsel  sU   ??$$D##H--C+==??DQGCNN $D3+222|/0 F**4:OO4E4E01"**4==??3*GGGGG   '"&+"6"6"8"8!$!6O.dQ	! ! !
 








s   
3C? ?
F	A/E>>F)"r   FileChooserNativer  r;  FileChooserActionSAVEr1  
FileFilterset_nameadd_pattern
add_filter
set_filter	enumerater0  itemsr  get_default_filetype
add_choice
set_choiceset_current_folderr   Filenew_for_pathospath
expanduserr4  r5  set_current_nameget_default_filename	functoolspartialr7   r@  )rT   r   rA  ffformatsdefault_formatir   fmtsrC  rG  s   `          r   save_figurez"NavigationToolbar2GTK4.save_figureG  s   &#+..00(-	  
 #^
K   
s""(;;==CCEE G  G 		# 		#OA|d!!BKK + +zCzz****b!!!NN4   {//11T99!" >* 0W_n_-E 0N1,--.0(M7GDDD(GAJ///!!#("7"7Gs|,?@AA#C #C 	D 	D 	D @ @ B BCCC		6>:	6	6	 	 	 	 
7	6	, 	r!   N)r   r   r   r0   rd  r   r!   r   r   r     s3        (6 (6 (6T< < < < <r!   r   c                   H    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 ZdS )ToolbarGTK4r   c                    t          j        | |           t          j                            |            |                     dt          j        j                   t          j                    | _        |                     | j                   i | _	        i | _
        t          j                    }|                    d           |                    d           |                     |           t          j                    | _        | j                            t          j        j                   |                     | j                   d S )Norientationr  T)r   r0   r   r  set_propertyOrientation
HORIZONTAL	_tool_boxr  _groups
_toolitemsr  r  r1   _messager  r  r  )rT   toolmanagerr!  s      r   r0   zToolbarGTK4.__init__  s   "4555-)CDDD DN### 	C	E 	E 	E$E	!!#"3"9:::DM"""""r!   c                    |rt          j                    }nt          j                    }|                    |           |                    d           |ft           j                            t          j        	                    |                    }|
                    |           |                    d           |d}|                     |||           |                    d| j        |          }	|                    |           | j                            |g            | j        |                             ||	f           d S )Nr   r   r.   r   )r   r  r  	set_labelr  r  r	  r   r
  r  r  _add_buttonr7   
_call_toolr  rn  
setdefaultr  )
rT   r   grouppositionr  descriptiontoggler   r  signals
             r   add_toolitemzToolbarGTK4.add_toolitem  s1    	"%''FFZ\\FV$$$!I,,''
335 5EU###  000H111	4?DAA,,,""4,,,$$ff%566666r!   c                     d g}| j         |                                         }|+|                    |           |                                }|+||         S r   )rm  get_first_childr  get_next_sibling)rT   rv  rw  childrenchilds        r   _find_child_at_positionz#ToolbarGTK4._find_child_at_position  s_    6U#3355OOE"""**,,E  !!r!   c                 &   || j         vrR| j         r|                                  t          j                    }| j                            |           || j         |<   | j         |                             ||                     ||                     d S r   )rm  _add_separatorr   r  rl  r  insert_child_afterr  )rT   r   rv  rw  	group_boxs        r   rs  zToolbarGTK4._add_button  s    $$| &##%%%		IN!!),,,"+DLU..D00AA	C 	C 	C 	C 	Cr!   c                 0    |                      |           d S r   )trigger_tool)rT   btnr   s      r   rt  zToolbarGTK4._call_tool  s    $r!   c                     || j         vrd S | j         |         D ]D\  }}|                    |           |                    |           |                    |           Ed S r   )rn  handler_block
set_activehandler_unblock)rT   r   toggledtoolitemrz  s        r   toggle_toolitemzToolbarGTK4.toggle_toolitem  sx    t&&F $ 5 	- 	-Hf""6***((($$V,,,,	- 	-r!   c                     | j                             |g           D ]>\  }}| j        D ]1}|| j        |         v r | j        |                             |           2?d S r   )rn  poprm  remove)rT   r   r  _signalrv  s        r   remove_toolitemzToolbarGTK4.remove_toolitem  sv    !%!4!4T2!>!> 	9 	9Hg 9 9t|E222L'..x8889	9 	9r!   c                     t          j                    }|                    dt           j        j                   | j                            |           d S )Nrh  )r   r  ri  rj  rI   rl  r  )rT   seps     r   r  zToolbarGTK4._add_separator  sD    moo(@AAAc"""""r!   c                 :    | j                             |           d S r   )ro  rr  )rT   ss     r   set_messagezToolbarGTK4.set_message  s    """""r!   N)r   r   r   _icon_extensionr0   r{  r  rs  rt  r  r  r  r  r   r!   r   rf  rf    s        %O# # #27 7 70" " "C C C     - - -9 9 9# # #
# # # # #r!   rf  c                       e Zd Zd ZdS )SaveFigureGTK4c                 ^    t                               |                                            d S r   )r   rd  "_make_classic_style_pseudo_toolbarr   s      r   triggerzSaveFigureGTK4.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S )HelpGTK4c                 @   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 `FigureCanvasGTK4._get_key`.
        	BackSpace	Page_DownPage_UpScroll_Lock)	backspacepagedownpageupscroll_lockr   c                     g | ]
}d |z   dz   S )<>r   )r   r   s     r   r   z0HelpGTK4._normalize_shortcut.<locals>.<listcomp>  s     666Cc	C666r!   Nr.   r   z<shift> )splitlen
capitalizeisupperr   )rT   rV   specialpartsr   s        r   _normalize_shortcutzHelpGTK4._normalize_shortcut  s     %#(	
 
 		#665":666Bi'>>#,CCXX\\..""CC[[]] 	 YKDwwt}}s""r!   c                 6    d|vo|                     d           S )z
        Check for a valid shortcut to be displayed.

        - GTK will never send 'cmd+' (see `FigureCanvasGTK4._get_key`).
        - The shortcut window only shows keyboard shortcuts, not mouse buttons.
        zcmd+zMouseButton.)
startswith)rT   rV   s     r   _is_valid_shortcutzHelpGTK4._is_valid_shortcut	  s#     S G)G)G%GGr!   c           	          t          j                    }t           j        j                                                  D ]\  }}|j        st          j                    }|                    |           |	                                }|+|
                    d           |                                }|+t          j        d                     fd j                            |          D                       |j        |j                  }|                    |           t          j        dd j        j                                                  }|                    |           |                                 d S )NF c              3   l   K   | ].}                     |                              |          V  /d S r   )r  r  )r   rV   rT   s     r   r   z#HelpGTK4.trigger.<locals>.<genexpr>&  sY       %5 %5..s33%5,,S11%5 %5 %5 %5 %5 %5r!   )acceleratorr#  subtitleHelpT)r#  r&  r$  )r   ShortcutsSectionsortedrp  toolsrQ  rx  ShortcutsGroupr  r}  set_visibler~  ShortcutsShortcutr   get_tool_keymapr   ShortcutsWindow_figurer  r;  r  r@  )	rT   r   sectionr   toolrv  r  shortcutwindows	   `        r   r  zHelpGTK4.trigger  s   &(( !1!7!=!=!?!?@@ 	# 	#JD$#  &((ENN5!!!))++E#!!%(((..00 # ,HH %5 %5 %5 %5#/??EE%5 %5 %5 5 5 i)+ + +H LL""""$,-6688: : : 	!!!r!   N)r   r   r   r  r  r  r   r!   r   r  r    sD        # # #4H H H" " " " "r!   r  c                       e Zd Zd ZdS )ToolCopyToClipboardGTK4c                    t          j                    5 }| j                            |           | j                                        \  }}t
          j                            |                                t
          j	        j
        dd|||dz            }d d d            n# 1 swxY w Y   | j                                        }|                    |           d S )NT   r+   )ioBytesIOr  
print_rgbaget_width_heightr   Pixbufnew_from_data	getbuffer
ColorspaceRGBget_clipboardset)rT   r   r   fr   r   pb	clipboards           r   r  zToolCopyToClipboardGTK4.trigger9  s    Z\\ 	>QK""1%%%;//11DAq!//090D0H$011a1> >B	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> K--//	bs   B B  B$'B$Nr  r   r!   r   r  r  7  s#            r!   r  c                       e Zd ZeZeZdS )r   N)r   r   r   r   _toolbar2_classrf  _toolmanager_toolbar_classr   r!   r   r   r   K  s        ,O!,r!   r   c                       e Zd ZeZeZdS )_BackendGTK4N)r   r   r   r   FigureCanvasr   FigureManagerr   r!   r   r  r  P  s        #L%MMMr!   r  )5r]  r  rX  
matplotlibr4  r   r   r   matplotlib.backend_basesr   r   r   r	   r
   r   giImportErrorerrrequire_version
ValueErrorrE  gi.repositoryr   r   r   r   r   r  r   r   r   r   r   r   	TimerGTK4DrawingArear   r  r   rf  _register_tool_classSaveFigureBaser  ToolHelpBaser  ToolCopyToClipboardBaser  ConfigureSubplotsGTKRubberbandGTKToolbarr   exportr  r   r!   r   <module>r     s       				 				     1 1 1 1 1 1 1 1 1 1               FIIII F F F
+;
<
<#EF  Bue$$$$       +a..a 
 9 8 8 8 8 8 8 8 8 8 8 8 8 8                   x$ x$ x$ x$ x$' x$ x$ x$vg g g g g3SW g g gT]# ]# ]# ]# ]##SW ]# ]# ]#@ $#$4557 7 7 7 7]1 7 7 657 $#$455F F F F F}) F F 65FR $#$455	 	 	 	 	mC 	 	 65	 # "l79 9 9 " "l02 2 2
- - - - -) - - -
 & & & & &; & & & & &s,   1 AAAA A3"A..A3