
    `^                        d dl Z d dlZd dlmZ d dlZd dlmZ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 ej                            d	          Zg Zd d
lmZ eZdD ]>Z ee
e           e            e<    ed	edez              e                    e           ?dD ]vZ ej                    5   ej        de            ee
e           e            e<   ddd           n# 1 swxY w Y    ed	edez              e                    e           wdD ]ZZe                    dd          d         Z ee
e           e            e<    ed	edez              e                    e           [dD ]ZZe                    dd          d         Z ee
e           e            e<    ed	edez              e                    e           [e                    d          Z e                    d          Z!e                    d          Z"e                    d          Z#e                    d          Z$e                    d          Z%e                    d          Z&e                    d          Z'e                    d          Z(e                    d          Z)e                    d          Z*e                    d          Z+e                    d           Z,e                    d!          Z-e                    d"          Z.e                    d#          Z/e                    d$          Z0e                    d%          Z1e                    d&          Z2e                    d'          Z3e                    d	          Z4e                    d(          Z5e                    d)          Z6e                    d*          Z7e                    d+          Z8e                    d,          Z9ej:        j;        Z<e'Z=eg d-z  Zd.D ]>Z ee
e           e            e<    ed	edez              e                    e           ?d/D ]_Ze                    dd          d         Z eej>        e           e            e<    ed	ed0ez              e                    e           `ej>        j?        ej>        j@        z  ZA ed	d1d2           e                    d1           d3D ]_Ze                    dd          d         Z eejB        e           e            e<    ed	ed4ez              e                    e           `ejC        ZCejD        ZDejE        ZEejF        ZFejG        ZGejH        ZHejI        ZIejJ        ZJejK        ZKejL        ZLeg d5z  Zd6d7iZMejN        ZNejO        ZOejP        ZPe
jQ        ZQejR        ZReg d8z  Z G d9 d:ej:                  Z: ee:          Z:e                    d:           d; Ze                    d<           d= ZSe                    d>           d? ZTd@ ZUe                    dA           dB ZVe                    dC           dD ZWe                    dE            edFg dG          ZXdbdHZYe                    dI            G dJ dKeZ          Z[dL Z\e                    dM           dN Z]e                    dO           dP Z^e                    dQ           dbdRZ_e                    dS           dbdTZ`e                    dU           eja        Zaejb        ZbedVdWgz  Z G dX dYeZ          ZcdZ Zd G d[ d\eje                  Ze eee          ZeeeZGed\d	gz  Z G d] d^ejf                  Zf eef          Zfe                    d^           ejg        Zgejh        Zheji        ZiegZj ed	d_d`           eg daz  ZdS )c    N)
namedtuple)overridedeprecated_attr)GLib)PyGIDeprecationWarning)_propertyhelper)_signalhelper)_giGObject)_option)markup_escape_textget_application_nameset_application_nameget_prgnameset_prgname
main_depthfilename_display_basenamefilename_display_namefilename_from_utf8uri_list_extract_urisMainLoopMainContextmain_context_defaultsource_removeSourceIdleTimeoutPollFDidle_addtimeout_addtimeout_add_secondsio_add_watchchild_watch_addget_current_timespawn_asynczGLib.)*PRIORITY_DEFAULTPRIORITY_DEFAULT_IDLEPRIORITY_HIGHPRIORITY_HIGH_IDLEPRIORITY_LOWIO_INIO_OUTIO_PRIIO_ERRIO_HUPIO_NVALIO_STATUS_ERRORIO_STATUS_NORMALIO_STATUS_EOFIO_STATUS_AGAINIO_FLAG_APPENDIO_FLAG_NONBLOCKIO_FLAG_IS_READABLEIO_FLAG_IS_WRITEABLEIO_FLAG_IS_SEEKABLEIO_FLAG_MASKIO_FLAG_GET_MASKIO_FLAG_SET_MASKSPAWN_LEAVE_DESCRIPTORS_OPENSPAWN_DO_NOT_REAP_CHILDSPAWN_SEARCH_PATHSPAWN_STDOUT_TO_DEV_NULLSPAWN_STDERR_TO_DEV_NULLSPAWN_CHILD_INHERITS_STDINSPAWN_FILE_AND_ARGV_ZEROOPTION_FLAG_HIDDENOPTION_FLAG_IN_MAINOPTION_FLAG_REVERSEOPTION_FLAG_NO_ARGOPTION_FLAG_FILENAMEOPTION_FLAG_OPTIONAL_ARGOPTION_FLAG_NOALIASOPTION_ERROR_UNKNOWN_OPTIONOPTION_ERROR_BAD_VALUEOPTION_ERROR_FAILEDOPTION_REMAININGglib_versionignore)	G_MININT8	G_MAXINT8
G_MAXUINT8
G_MININT16
G_MAXINT16G_MAXUINT16
G_MININT32
G_MAXINT32G_MAXUINT32
G_MININT64
G_MAXINT64G_MAXUINT64_   )
G_MINFLOAT
G_MAXFLOATG_MINDOUBLEG_MAXDOUBLE
G_MINSHORT
G_MAXSHORTG_MAXUSHORTG_MININTG_MAXINT	G_MAXUINT	G_MINLONG	G_MAXLONG
G_MAXULONG	G_MAXSIZE
G_MINSSIZE
G_MAXSSIZEG_MINOFFSETG_MAXOFFSETinvalidvoid
GInterfacegcharguchargbooleangintguintglonggulonggint64guint64GEnumGFlagsgfloatgdouble
gchararraygpointerGBoxedGParamPyObjectGTypeGStrvGVariantGString)TYPE_INVALID	TYPE_NONETYPE_INTERFACE	TYPE_CHAR
TYPE_UCHARTYPE_BOOLEANTYPE_INT	TYPE_UINT	TYPE_LONG
TYPE_ULONG
TYPE_INT64TYPE_UINT64	TYPE_ENUM
TYPE_FLAGS
TYPE_FLOATTYPE_DOUBLETYPE_STRINGTYPE_POINTER
TYPE_BOXED
TYPE_PARAMTYPE_OBJECTTYPE_PYOBJECT
TYPE_GTYPE	TYPE_STRVTYPE_VARIANTTYPE_GSTRINGTYPE_UNICHAR
TYPE_VALUE)PidGErrorOptionGroupOptionContext)PARAM_CONSTRUCTPARAM_CONSTRUCT_ONLYPARAM_LAX_VALIDATIONPARAM_READABLEPARAM_WRITABLEzGObject.ParamFlags.PARAM_READWRITEzGObject.ParamFlags.READWRITE)SIGNAL_ACTIONSIGNAL_DETAILEDSIGNAL_NO_HOOKSSIGNAL_NO_RECURSESIGNAL_RUN_CLEANUPSIGNAL_RUN_FIRSTSIGNAL_RUN_LASTzGObject.SignalFlags.)
r   r~   r   rt   r   GObjectWeakRef
GParamSpecGPointerr   Warningzgeneric-c-marshallerT)featureslist_propertiesnewpygobject_versionthreads_inittype_registerc                   J    e Zd Zd	dZed             Zd Zd Zd Zd Z	d Z
dS )
ValueNc                     t           j                            |            |.|                     |           ||                     |           d S d S d S N)GObjectModuler   __init__init	set_value)self
value_typepy_values      6/usr/lib/python3/dist-packages/gi/overrides/GObject.pyr   zValue.__init__   s]    $$T***!IIj!!!#x((((( "!##    c                 *    t          j        |           S r   )r
   _gvalue_get_typer   s    r   __g_typezValue.__g_type   s     #D)))r   c                     | j                             t                    st          j        dt
          d           t          j        | |           d S )Nz2Calling set_boxed() on a non-boxed type deprecated   
stacklevel)_Value__g_typeis_ar   warningswarnr   r
   _gvalue_set)r   boxeds     r   	set_boxedzValue.set_boxed   sZ    }!!*-- 	@MN0Q@ @ @ @
 	e$$$$$r   c                     | j                             t                    st          j        dt
          d           t          j        |           S )Nz2Calling get_boxed() on a non-boxed type deprecatedr   r   )r   r   r   r   r   r   r
   _gvalue_getr   s    r   	get_boxedzValue.get_boxed   sP    }!!*-- 	@MN0Q@ @ @ @t$$$r   c                 @   | j         }|t          k    r|                     |           d S |t          k    r|                     |           d S |t
          k    rOt          |t                    s#|!t          d|t          |                    t          j        | |           d S |t          k    r|                     |           d S |                    t                    r|                     |           d S |t"          k    r|                     |           d S |t&          k    r|                     |           d S |t*          k    r|                     |           d S 	 t          j        | |           d S # t          $ r |t.          k    rt          d           w xY w)NzExpected string but got z+GObject.Value needs to be initialized first)r   r   set_charr   	set_ucharr   
isinstancestr	TypeErrortyper
   r   r   	set_paramr   r   	set_flagsr   set_pointerr   	set_gtyper   set_variantr   )r   r   gtypes      r   r   zValue.set_value   s   IMM(#####j  NN8$$$$$k!!h,, <1Ei!)4>>>!; < < <OD(+++++j  NN8$$$$$ZZ
## 	NN8$$$$$l""X&&&&&j  NN8$$$$$l""X&&&&&h/////   L((#$QRRRs    E7 7&Fc                    | j         }|t          k    r|                                 S |t          k    r|                                 S |t
          k    r|                                 S |                    t                    r| 	                                S |                    t                    r|                                 S |t          k    r|                                 S |t          k    r|                                 S |t           k    r|                                 S 	 t%          j        |           S # t(          $ r |t*          k    rY d S  w xY wr   )r   r   get_charr   	get_ucharr   	get_paramr   r   get_enumr   	get_flagsr   get_pointerr   	get_gtyper   dup_variantr
   r   r   r   )r   r   s     r   	get_valuezValue.get_value  s:   I==??"j  >>###j  >>###ZZ	"" 	==??"ZZ
## 	>>###l""##%%%j  >>###l"" ##%%%t,,,   L((44s   D3 3EEc                 L    d| j         j        d|                                 dS )Nz<Value (z) >)r   namer   r   s    r   __repr__zValue.__repr__$  s*     $(M$6$6$68H8H8H8HIIr   )NN)__name__
__module____qualname__r   propertyr   r   r   r   r   r    r   r   r   r      s        ) ) ) ) * * X*
% % %% % %  @  :J J J J Jr   r   c                 t    t                               |           }|t          k    rt          d| z            |S )Nzunknown type name: %s)r   type_from_namer   RuntimeErrorr   type_s     r   r  r  ,  s9    ((..E2T9:::Lr   r  c                 n    t                               |           }|t          k    rt          d          |S )Nzno parent for type)r   type_parentr   r  )r  parents     r   r  r  6  s4    &&u--F/000Mr   r  c                     t          | d          r| j        } |                                 s&|                                 st	          d| z            d S d S )N	__gtype__z1type must be instantiable or an interface, got %s)hasattrr
  is_instantiatableis_interfacer   r  s    r    _validate_type_for_signal_methodr  @  sp    uk""  ""$$ UU-?-?-A-A UKeSTTTU U U Ur   c                 T    t          |            t                              |           S r   )r  r   signal_list_idsr  s    r   r  r  G  s$    $U+++((///r   r  c                 R    t          |           }t          d |D                       S )Nc              3   J   K   | ]}t                               |          V  d S r   )r   signal_name).0is     r   	<genexpr>z$signal_list_names.<locals>.<genexpr>Q  s0      ;;!**1--;;;;;;r   )r  tuple)r  idss     r   signal_list_namesr  O  s,    
%
 
 C;;s;;;;;;r   r  c                 V    t          |           t                              | |          S r   )r  r   signal_lookupr  s     r   r  r  W  s&    $U+++&&tU333r   r  SignalQuery)	signal_idr  itypesignal_flagsreturn_typeparam_typesc           
          |t          | |          } t                              |           }|J |j        dk    rd S t	          |j        |j        |j        |j        |j        t          |j
                            S )Nr   )r  r   signal_queryr  r  r  r  r   r!  r  r"  )
id_or_namer  ress      r   r$  r$  i  s|    ":u55


$
$Z
0
0C???
}t s}cosy'S_--/ / /r   r$  c                        e Zd Zd Zd Zd ZdS )_HandlerBlockManagerc                 "    || _         || _        d S r   obj
handler_id)r   r+  r,  s      r   r   z_HandlerBlockManager.__init__  s    $r   c                     d S r   r   r   s    r   	__enter__z_HandlerBlockManager.__enter__      r   c                 P    t                               | j        | j                   d S r   )r   signal_handler_unblockr+  r,  r   exc_type	exc_value	tracebacks       r   __exit__z_HandlerBlockManager.__exit__  s"    ,,TXtGGGGGr   Nr   r   r   r   r.  r6  r   r   r   r(  r(    sF        % % %  H H H H Hr   r(  c                 X    t                               | |           t          | |          S )a  Blocks the signal handler from being invoked until
    handler_unblock() is called.

    :param GObject.Object obj:
        Object instance to block handlers for.
    :param int handler_id:
        Id of signal to block.
    :returns:
        A context manager which optionally can be used to
        automatically unblock the handler:

    .. code-block:: python

        with GObject.signal_handler_block(obj, id):
            pass
    )r   signal_handler_blockr(  r*  s     r   r9  r9    s*    " &&sJ777Z000r   r9  c                 v    t                               | ||          \  }}}|r||fS t          |d|           )a%  Parse a detailed signal name into (signal_id, detail).

    :param str detailed_signal:
        Signal name which can include detail.
        For example: "notify:prop_name"
    :returns:
        Tuple of (signal_id, detail)
    :raises ValueError:
        If the given signal is unknown.
    z: unknown signal name: )r   signal_parse_name
ValueError)detailed_signalr  force_detail_quarkr&  r  details         r   r;  r;    sV     +<<_e=OQ QCF
 S&  %%%QRRRr   r;  c                 d    t          || d          \  }}t                              ||           d S )NT)r;  r   signal_remove_emission_hook)r+  r=  hook_idr  r?  s        r   remove_emission_hookrC    s4    )/3EEIv--iAAAAAr   rC  c                 
    d|fS )NFr   ihintreturn_accuhandler_return	user_datas       r   signal_accumulator_first_winsrJ    s    >""r   rJ  c                     | |fS r   r   rE  s       r   signal_accumulator_true_handledrL    s    //r   rL  add_emission_hook
signal_newc                        e Zd Zd Zd Zd ZdS )_FreezeNotifyManagerc                     || _         d S r   )r+  )r   r+  s     r   r   z_FreezeNotifyManager.__init__  s    r   c                     d S r   r   r   s    r   r.  z_FreezeNotifyManager.__enter__  r/  r   c                 8    | j                                          d S r   )r+  thaw_notifyr2  s       r   r6  z_FreezeNotifyManager.__exit__  s    r   Nr7  r   r   r   rP  rP    sA                r   rP  c                 F     t          j                    fd            }|S )Nc                       | i |S r   r   )argskwargsfuncs     r   methz_signalmethod.<locals>.meth  s    tT$V$$$r   )	functoolswraps)rY  rZ  s   ` r   _signalmethodr]    s8     _T% % % % %Kr   c                       e Zd Zd Zd ZeZeZeZeZeZ	eZ
eZeZeZeZeZeZeZeZej        j        Zej        j        Zej        j        Zej        j        ZeZeZeZe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%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-ej        j.        Z.ej        j/        Z/ fdZ0d Z1e2Z3 e4ej5                  Z6 e4ej7                  Z8 e4ej7                  Z9 e4ej:                  Z; e4ej<                  Z=d Z>e>Z? xZ@S )Objectc                      t          d          )Nz%This method is currently unsupported.r  r   rW  kargss      r   _unsupported_methodzObject._unsupported_method  s    BCCCr   c                      t          d          )NzIData access methods are unsupported. Use normal Python attributes insteadra  rb  s      r   _unsupported_data_methodzObject._unsupported_data_method  s     B C C 	Cr   c                 p    t          t          |                                            t          |           S )a  Freezes the object's property-changed notification queue.

        :returns:
            A context manager which optionally can be used to
            automatically thaw notifications.

        This will freeze the object so that "notify" signals are blocked until
        the thaw_notify() method is called.

        .. code-block:: python

            with obj.freeze_notify():
                pass
        )superr_  freeze_notifyrP  r   	__class__s    r   ri  zObject.freeze_notify,  s/     	fd))+++#D)))r   c                 8   |                     dd          }|t          j        j        z  rt          j        j        }nt          j        j        }|t          j        j        z  r,t          |          dk    rt          d|gz            fd}n} || ||g|R  S )a   Connect a callback to the given signal with optional user data.

        :param str detailed_signal:
            A detailed signal to connect to.
        :param callable handler:
            Callback handler to connect to the signal.
        :param *data:
            Variable data which is passed through to the signal handler.
        :param GObject.ConnectFlags connect_flags:
            Flags used for connection options.
        :returns:
            A signal id which can be used with disconnect.
        connect_flagsr   r^   zWUsing GObject.ConnectFlags.SWAPPED requires exactly one argument for user data, got: %sc                 h    t          |          }|                                }|| gz   } |g|R  S r   )listpop)r+  rW  swaphandlers      r   new_handlerz(Object.connect_data.<locals>.new_handlerW  s@     Dzzxxzzse|wt+d++++r   )getr   ConnectFlagsAFTERr
   r   connect_afterconnectSWAPPEDlenr<  )r   r=  rr  datarX  flagsconnect_funcrs  s     `     r   connect_datazObject.connect_data>  s     

?A..=-33 	/;4LL;.L=-55 	"4yyA~~  "GJN"P Q Q Q, , , , , , "K|D/;FFFFFr   c                 x    t          j        | j        j        t          d           |                     |          S )z-Deprecated, please use stop_emission_by_name.r   r   )r   r   stop_emission__doc__r   stop_emission_by_name)r   r=  s     r   r  zObject.stop_emissionr  s5    d(02HUVWWWW))/:::r   )Ar   r   r   rd  rf  get_data	get_qdataset_data
steal_datasteal_qdatareplace_datareplace_qdatabind_property_fullcompat_controlinterface_find_propertyinterface_install_propertyinterface_list_propertiesnotify_by_pspecwatch_closurer   r_  ref_refref_sink	_ref_sinkunref_unrefforce_floating_force_floatingr
   r   get_propertyget_propertiesset_propertyset_propertiesbind_propertyrx  rw  connect_objectconnect_object_afterdisconnect_by_funchandler_block_by_funchandler_unblock_by_funcemitchainweak_ref__copy____deepcopy__ri  r~  r9  handler_blockr]  r1  handler_unblocksignal_handler_disconnect
disconnecthandler_disconnectsignal_handler_is_connectedhandler_is_connectedsignal_stop_emission_by_namer  r  emit_stop_by_name__classcell__rk  s   @r   r_  r_    s"       D D DC C C (H(I'H)J*K+L,M -(N1!4 3)O'M #D$-I!'F#*9O
C"HE(N ;+L[/N;+L[/NK-Mk!GK-M[/N;;7K=!kA;DKE{#H{#H;+L* * * * *$#G #G #GR )M#mM$HIIO}FGGJ&}'NOO(=)RSS)M-*TUU; ; ;
 &r   r_  c                   $     e Zd Zd Z fdZ xZS )Bindingc                 >    t          j        dt          d           | S )NzUsing parentheses (binding()) to retrieve the Binding object is no longer needed because the binding is returned directly from "bind_property.r   r   )r   r   r   r   s    r   __call__zBinding.__call__  s-     d,	< 	< 	< 	< r   c                 R   t           j        t           j        t           j        fdk    r't	          t
          |                                           S t          | d          rt          d          t          | dd           t	          t
          |                                            d S )N)r   9      _unboundz$binding has already been cleared outT)
r   MAJOR_VERSIONMINOR_VERSIONMICRO_VERSIONrh  r  unbindr  r<  setattrrj  s    r   r  zBinding.unbind  s     2D4FG:UU$''..0004$$ 	*CDDDD*d+++'4  '')))))r   )r   r   r   r  r  r  r  s   @r   r  r    sG          	* 	* 	* 	* 	* 	* 	* 	* 	*r   r  r   zGObject.Property)PropertySignalSignalOverrider   r   )kr[  r   collectionsr   	gi.modulegigi.overridesr   r   gi.repositoryr   r   r   propertyhelperr	   signalhelperr
   moduleget_introspection_moduler   __all__r   optionr   getattrglobalsappendcatch_warningssimplefiltersplitnew_namer  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   r   
ParamFlagsREADABLEWRITABLEr   SignalFlagsr   r~   r   rt   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r$  objectr(  r9  r;  rC  rJ  rL  rM  rN  rP  r]  r_  r  r  r  r  r   r   r   r   <module>r     s  0      " " " " " "     2 2 2 2 2 2 2 2       % % % % % % 0 0 0 0 0 0 , , , , , ,       	229==
 !          		  D gdD))GGIIdOOItWt^444NN4  D" 
!	 	"	" . .h(>???!'$--		$. . . . . . . . . . . . . . . OItWt^444NN4G  D zz#q!!"%HgdH--GGIIdOOItWx%7888NN4G  D zz#q!!"%HgdH--GGIIdOOItWx%7888NN4 ++I66((00	--l;;((11	))(33
++J77''//((11	((11	))(33
))(33
**955((11	))(33
))(33
**955**<88++J77))(33
))(33
**955,,Z88))'22
((11	++J77++I66 *
  * * * * >  DgdD))GGIIdOOItWt^444NN41  Dzz#q!!"%Hgm6AAGGIIdOOIt%:X%EFFFNN4  *3%& 	,.L M M M   ! ! !   D zz#q!!"%Hgm7BBGGIIdOOIt%;h%FGGGNN4 
		^

+#^
<	
+     
 #D)%	g)  !  B B B B[J [J [J [J [JM [J [J [J| 	 w               }   U U U0 0 0
   ! ! !< < <
 " # # #4 4 4
     j) ) )* */ / / /& ~   	H 	H 	H 	H 	H6 	H 	H 	H1 1 1* % & & &S S S& " # # #B B B
 % & & &# # # #
 . / / /0 0 0 0
 0 1 1 1
 ) ^
 . .    6     F& F& F& F& F&]! F& F& F&R 
&		
 Hi   * * * * *m# * * *& (7

 y    "		,  	:'9 : : : ??? ?s   1)C&&C*	-C*	