+
    i                    F   ^ RI Ht ^ RIHt ]'       g   R]9   d   ^RIHt M^ RIt ^ RI	t
R tR tR tR	 t ! R
 R]4      t^ RIt]P&                  t^ RIHtHtHt ^ RIt]P2                  t]P4                  t]P6                  t]P8                  t]P:                  t]t]R8H  t ^ RI!t!^ RI"t"^ RI#t#^ RI$t$^ RIt^ RI%t% ^ RI
t	]]&3t'](])3t*]&t+^ RI,t,RSR lt-R t.R t/^ t0^t1^t2^t3^t4^t5^t6^t7^ t8^@t9^t:Rt;^ t<^t=^t>^ t? ^t@ ^tA ^tB ^tC  ! R R]D4      tE ! R R]E4      tF ! R R]D4      tGR tHR tIR tJ ! R R]E4      tK ! R R]E4      tL ! R R ]D4      tM ! R! R"]M4      tN ! R# R$]M4      tOR% tPR& tQ]QtRR' tSR( tTRTR) ltUR* tVRUR+ ltW^RV^RW^RX^RY/tXRZR, ltYR- tZR[R. lt[R\R/ lt\R]R0 lt]R]R1 lt^R2 t_ ! R3 R4]D4      t`]`! 4       taR5 tb^tc ^td ^te ^tf ^tg RshR6 tiR7 tj]j! 4         ! R8 R94      tk]k! 4       tl]lP                  ]nm        R: tnR; to]P                  tp]P                  tqR< R= ltrR> tsR? ttR@ tuRA RB ltvRC RD ltwRE RF ltxRG RH ltyRI RJ ltzRK RL lt{RM RN lt|RO RP lt} ! RQ RR]D4      t~]P                  ! ]~4       R#   ] d	    ^ RI
t
 EL_i ; i   ^ RI	t	]3t'](3t*]t+ EL; i)^    )annotations)version_info.)_ida_idaapiNc                     R V P                   P                  4       ,           pRV P                  P
                  : RV P                  P                  : RV: R2#   \        P                   d    Rp LPi ; i)z	proxy of  <r   z; z >)this__repr____builtin__	Exception	__class__
__module____name__)selfstrthiss   & BC:\Users\user\Downloads\ida93sp2\portable_win\python\ida_idaapi.py
_swig_reprr      sg    		 2 2 44 "^^669     s   !A A43A4c                   a  V 3R  lpV# )c                  < VR 8X  d   S! WV4       R# VR8X  d   V P                   P                  V4       R# \        W4      '       d5   \        \	        \        V 4      V4      \        4      '       d   S! WV4       R# \        RV ,          4      h)r
   thisownz(You cannot add instance attributes to %sN)r
   ownhasattr
isinstancegetattrtypepropertyAttributeError)r   namevaluesets   &&&r   set_instance_attrE_swig_setattr_nondynamic_instance_variable.<locals>.set_instance_attr   su    6>E"YIIMM% T  ZT
D0I& &E" !K"       )r!   r"   s   f r   *_swig_setattr_nondynamic_instance_variabler&      s    
 r$   c                   a  V 3R  lpV# )c                   < \        W4      '       d+   \        \        W4      \        4      '       g   S! WV4       R# \	        R V ,          4      h)z%You cannot add class attributes to %sN)r   r   r   r   r   )clsr   r    r!   s   &&&r   set_class_attr?_swig_setattr_nondynamic_class_variable.<locals>.set_class_attr(   s:    3j1CX&N&N5! !H3!NOOr$   r%   )r!   r*   s   f r   '_swig_setattr_nondynamic_class_variabler,   &   s    P
 r$   c                   a  V 3R lpV# )zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclassc                p   < S! V P                   V P                  V P                  P                  4       4      # N)r   	__bases____dict__copy)r)   	metaclasss   &r   wrapper$_swig_add_metaclass.<locals>.wrapper3   s'    s}}cll6G6G6IJJr$   r%   )r3   r4   s   f r   _swig_add_metaclassr6   0   s    KNr$   c                  >    ] tR t^8tRt]! ]P                  4      tRtR# )_SwigNonDynamicMetazKMeta class to enforce nondynamic attributes (no new attributes) for a classr%   N)	r   r   __qualname____firstlineno____doc__r,   r   __setattr____static_attributes__r%   r$   r   r8   r8   8   s    U9$:J:JKKr$   r8   )TupleListUnion    c                ,   ^ RI pVP                  ! 4       ^,          w  r4rVrxVP                  ! V4      p	V	f   \        P                  R,          p	V \        P                  P                  4       9   dp   \        P                  V ,          p
\        P                  P                  ^8  d   ^ RIpVP                  V
4       M\        V
4       \        P                  V ,          p
M(^ RIpVP                  W4      p
V
\        P                  V &   \        WV
4       R# )a!  
Load, or reload a module.

When under heavy development, a user's tool might consist of multiple
modules. If those are imported using the standard 'import' mechanism,
there is no guarantee that the Python implementation will re-read
and re-evaluate the module's Python code. In fact, it usually doesn't.
What should be done instead is 'reload()'-ing that module.

This is a simple helper function that will do just that: In case the
module doesn't exist, it 'import's it, and if it does exist,
'reload()'s it.

The importing module (i.e., the module calling require()) will have
the loaded module bound to its globals(), under the name 'modulename'.
(If require() is called from the command line, the importing module
will be '__main__'.)

For more information, see: <http://www.hexblog.com/?p=749>.
N__main__)inspectstack	getmodulesysmoduleskeysr   major	importlibreloadimport_modulesetattr)
modulenamepackagerD   	frame_objfilenameline_numberfunction_namelinesindeximporter_modulemrK   s   &&          r   requirerY   [   s    * EL	F FFAIU''	2O++j1S[[%%''KK
#!!Q&Q1IKK
###J8"#JO+r$   c                   V P                   pV P                  pV'       g   Q hV'       g   Q h\        P                  V,          p\	        W14      pVP
                  V n        Wn         W@P                  R &   \        W1V 4       R# )origN)r   r   rG   rH   r   r;   r1   rN   )replacementr   modnamemodr[   s   &    r   _replace_module_functionr_      sh    D$$GK4N7
++g
C3D,,K#' C{#r$   c                    \        V 4       V # r/   )r_   )funcs   &r   replfunrb      s    T"Kr$      c                      ] tR t^tRt]tRtR# )pyidc_opaque_object_tz:This is the base class for all Python<->IDC opaque objectsr%   N)r   r   r9   r:   r;   PY_ICID_OPAQUE__idc_cvt_id__r=   r%   r$   r   re   re      s
    D#Nr$   re   c                  t    ] tR t^tRtRR ltR tR tR tR t	R t
R	 tR
 t]! R 4      t ]! R 4      tRtR# )py_clinked_object_tz7
This is a utility and base class for C linked objects
Nc                	r    V'       d   R MRV n         V'       d	   Wn        R# V P                  4       V n        R# )TFN)__static_clink___create_clink	__clink__r   lnks   &&r   __init__py_clinked_object_t.__init__   s$    (+ #););)=r$   c                &    V P                  4        R# )z<Delete the link upon object destruction (only if not static)N)_freer   s   &r   __del__py_clinked_object_t.__del__   s    

r$   c                    V P                   '       g5   V P                  e%   V P                  V P                  4       RV n        R# R# R# )z/Explicitly delete the link (only if not static)N)rk   rm   
_del_clinkrt   s   &r   rs   py_clinked_object_t._free   s7    $$$)COODNN+!DN *D$r$   c                H    V P                  4       pVP                  V 4       V# )z Returns a new copy of this class)r   assign)r   insts   & r   r2   py_clinked_object_t.copy   s    ~~Dr$   c                    R# )zO
Overwrite me.
Creates a new clink
:returns: PyCapsule representing the C link
Nr%   rt   s   &r   rl   !py_clinked_object_t._create_clink        	r$   c                    R# )z,
Overwrite me.
This method deletes the link
Nr%   rn   s   &&r   rx   py_clinked_object_t._del_clink       
 	r$   c                    R# )z<
Overwrite me.
Returns the C link pointer as a 64bit number
Nr%   rt   s   &r   _get_clink_ptr"py_clinked_object_t._get_clink_ptr   r   r$   c                    R# )zc
Overwrite me.
This method allows you to assign an instance contents to anothers
:returns: Boolean
Nr%   r   others   &&r   r{   py_clinked_object_t.assign   r   r$   c                	    V P                   # r/   )rm   rt   s   &r   <lambda>py_clinked_object_t.<lambda>   s    $..r$   c                	"    V P                  4       # r/   )r   rt   s   &r   r   r      s    d&9&9&;r$   )rm   rk   r/   )r   r   r9   r:   r;   rp   ru   rs   r2   rl   rx   r   r{   r   clink	clink_ptrr=   r%   r$   r   ri   ri      sM    >" 01E*;<I0r$   ri   c                  &    ] tR t^tRtR tR tRtR# )object_tz-Helper class used to initialize empty objectsc                	    Wn         R # r/   r1   )r   kwdss   &,r   rp   object_t.__init__   s    r$   c                    \        W4      # )z>Allow access to object attributes by index (like dictionaries)r   )r   idxs   &&r   __getitem__object_t.__getitem__   s    t!!r$   r   N)r   r   r9   r:   r;   rp   r   r=   r%   r$   r   r   r      s    7"r$   r   c                $    V P                  ^ 4      # r   )atrt   s   &r   _qvector_frontr      s    771:r$   c                    T P                  V P                  4       '       d   V P                  4       ^,
          4      # ^ 4      #    )r   sizert   s   &r   _qvector_backr     s-    77diikk499;?99q99r$   c              #  X   "   \        \        V 4      4       F  pW,          x  K  	  R# 5i)zSHelper function, to be set as __iter__ method for qvector-, or array-based classes.N)rangelen)r   is   & r   _bounded_getitem_iteratorr     s     3t9g s   (*c                  &    ] tR tRtRtR tR tRtR# )plugin_ti  z$Base class for all scripted plugins.c                	    R # r/   r%   )r   args   &&r   runplugin_t.run      r$   c                	    R # r/   r%   rt   s   &r   termplugin_t.term  r   r$   r%   N)r   r   r9   r:   r;   r   r   r=   r%   r$   r   r   r     s    .r$   r   c                      ] tR tRtRtRtR# )	plugmod_ti  z*Base class for all scripted multi-plugins.r%   N)r   r   r9   r:   r;   r=   r%   r$   r   r   r     s    4r$   r   c                  >    ] tR tRtRtR tR tR t]! ]]4      t	Rt
R# )pyidc_cvt_helper__i  z
This is a special helper object that helps detect which kind
of object is this python object wrapping and how to convert it
back and from IDC.
This object is characterized by its special attribute and its value
c                	    Wn         W n        R # r/   )rg   r    )r   cvt_idr    s   &&&r   rp   pyidc_cvt_helper__.__init__#  s    $
r$   c                	    Wn         R # r/   __idc_cvt_value__)r   vs   &&r   __set_valuepyidc_cvt_helper__.__set_value'  s    !"r$   c                	    V P                   # r/   r   rt   s   &r   __get_valuepyidc_cvt_helper__.__get_value*  s    %%%r$   )rg   r   r    N)r   r   r9   r:   r;   rp   _pyidc_cvt_helper____set_value_pyidc_cvt_helper____get_valuer   r    r=   r%   r$   r   r   r     s"    #&[+.Er$   r   c                     a  ] tR tRtRtV 3R lt^ R ^R ^R ^R /tRR ltR	 tR
 t	R t
R tR tR tR tR tRtV ;t# )PyIdc_cvt_int64__i/  z8Helper class for explicitly representing VT_INT64 valuesc                	D   < \         V P                  V `  \        V4       R # r/   )superr   rp   PY_ICID_INT64r   r   r   s   &&r   rp   PyIdc_cvt_int64__.__init__2      dnnd,]A>r$   c                	    W,           # r/   r%   abs   &&r   r   PyIdc_cvt_int64__.<lambda>4  s    AEr$   c                	    W,
          # r/   r%   r   s   &&r   r   r   4  s    QUr$   c                	    W,          # r/   r%   r   s   &&r   r   r   4  s    er$   c                	    W,          # r/   r%   r   s   &&r   r   r   5  s    qur$   c                	    V P                   p\        V4      \        V 4      8X  d   VP                   pMTpV'       d   TpTpTpV P                  V P                  V,          ! WE4      4      # r/   )r    r   r   _PyIdc_cvt_int64____op_table)r   op_nr   revr   r   ts   &&&&   r   __opPyIdc_cvt_int64__.__op7  sX    JJ;$t*$AAAAA~~dood3A9::r$   c                	&    V P                  ^ V4      # r   _PyIdc_cvt_int64____opr   s   &&r   __add__PyIdc_cvt_int64__.__add__C      yyE""r$   c                	&    V P                  ^V4      # r   r   r   s   &&r   __sub__PyIdc_cvt_int64__.__sub__F  r   r$   c                	&    V P                  ^V4      # )   r   r   s   &&r   __mul__PyIdc_cvt_int64__.__mul__I  r   r$   c                	&    V P                  ^V4      #    r   r   s   &&r   __div__PyIdc_cvt_int64__.__div__L  r   r$   c                	(    V P                  ^ VR4      # )r   Tr   r   s   &&r   __radd__PyIdc_cvt_int64__.__radd__O      yyE4((r$   c                	(    V P                  ^VR4      # )r   Tr   r   s   &&r   __rsub__PyIdc_cvt_int64__.__rsub__R  r   r$   c                	(    V P                  ^VR4      # )r   Tr   r   s   &&r   __rmul__PyIdc_cvt_int64__.__rmul__U  r   r$   c                	(    V P                  ^VR4      # )r   Tr   r   s   &&r   __rdiv__PyIdc_cvt_int64__.__rdiv__X  r   r$   r%   F)r   r   r9   r:   r;   rp   r   r   r   r   r   r   r   r   r   r   r=   __classcell__r   s   @r   r   r   /  s]    B?)A0BQ J,.J
;####)))) )r$   r   c                  2   a  ] tR tRtRtV 3R ltR tRtV ;t# )PyIdc_cvt_refclass__i\  z=Helper class for representing references to immutable objectsc                	D   < \         V P                  V `  \        V4       R # r/   )r   r   rp   PY_ICID_BYREFr   s   &&r   rp   PyIdc_cvt_refclass__.__init___  r   r$   c                ,    \        V P                  4      # )z=Returns the string as a C string (up to the zero termination))as_cstrr    rt   s   &r   cstrPyIdc_cvt_refclass__.cstrb  s    tzz""r$   r%   )	r   r   r9   r:   r;   rp   r  r=   r   r   s   @r   r   r   \  s    G?# #r$   r   c                    \        V \        4      '       d   V P                  p V P                  R4      pVR8X  d   V # V RV # )z
Returns a C str from the passed value. The passed value can be of type refclass (returned by a call to buffer() or byref())
It scans for the first \x00 and returns the string value up to that point.
 N)r   r   r    find)valns   & r   r  r  g  s@    
 #+,,iiAr'3&s2Aw&r$   c                   ^ RI p\        P                  P                  ^8  d'   \	        V 4      \
        8X  d   V P                  R4      p M\        V 4      p T P                  RVP                  4       '       d   R,           4      # R,           4      # )zHConvenience function to convert a string into appropriate unicode formatNUTF-8zUTF-16BELE)
_ida_idarG   r   rJ   r   bytesdecodeunicodeencode	inf_is_be)sr  s   & r   as_UTF16r  r  sj    
"7e!AAJ88H(:(:(<(<GHH$GHHr$   c                    V R,          # )z,Returns a number as an unsigned int32 number    r%   r   s   &r   	as_uint32r    s    z>r$   c                    \        V ^ 4      # )z)Returns a number as a signed int32 number)	as_signedr  s   &r   as_int32r     s    Qr$   c                    V ^V^,
          ,          ,          '       d!   V ( ^V,          ^,
          ,          ^,           ) # V ^V,          ^,
          ,          # )zc
Returns a number as signed. The number of bits are specified by the user.
The MSB holds the sign.
r%   )r   nbitss   &&r   r  r    sW    
 ./eai-?-?qbAJ!##q() Q!KJ F r$   c                Z    ^ RI pVP                  4       '       d
   V R,          # V R,          # )z/Truncate EA for the current application bitnessNrA   r  )r  inf_is_64bit)ear  s   & r   TRUNCr&    s1    (0(=(= )
 )
2$$ Jr$   c                    VR8X  d   TpW8  d   Yr^W!,
          ^,           ,          ^,
          V,          ( pW,          V,	          # )zb
Copy bits from a value
:param v: the value
:param s: starting bit (0-based)
:param e: ending bit
r
  r%   )r   r  emasks   &&& r   	copy_bitsr*    sB     	Bwu11519n!Q&'DH?r$   c                    \        V 4      pV\        9  d   R# V'       d   ^M^ p\        P                  ! \        V,          V,          W4      ^ ,          # )a  
Unpack a buffer given its length and offset using struct.unpack_from().
This function will know how to unpack the given buffer by using the lookup table '__struct_unpack_table'
If the buffer is of unknown length then None is returned. Otherwise the unpacked value is returned.
N)r   __struct_unpack_tablestructunpack_from)buffersignedoffsr  s   &&& r   struct_unpackr2    sI     	FA%%QaF3A6v>Ma 
 
r$   c                    \         P                  ! V R4      pRP                  VP                  4       4      pVP	                  4        V#   \
         d0   p\        T4      : R\        P                  ! 4       : 2u Rp?# Rp?ii ; i)z"
Executes a command with popen().
rr   
N)	ospopenjoin	readlinescloser   str	traceback
format_exc)cmdfr  r(  s   &   r   IDAPython_ExecSystemr@    sa    ;HHS#GGAKKM"		 ;q69#7#7#9::;s   AA
 
B$A?9B?Bc                   ^ RI p RP                  VP                  ! WW#4      4      #    \        T4      .pT'       d8    TP	                  RP                  TP
                  ! T4      4      4       M  i ; iRP                  T4      u # ; i)z[
This function is used to format an exception given the
values returned by a PyErr_Fetch()
Nr   r5  )r<  r8  format_exceptionr;  append	format_tb)etyper    tblimitr<  partss   &&&&  r   IDAPython_FormatExcrI    sx    
 	 wwy11%JKK URWWY%8%8%<=>yys    !( B0A0/B0A22Bc                   \         P                  P                  V 4      p\        V4      '       d5   V\        P                  9  d    \        P                  P                  V4       \        P                  pV'       d   V .\        V4      ,           \        n        MV .\        n        RpWa9   pV'       d	   W,          pWV&    \        P                  P                  ^8  d   \        V R4      ;_uu_ 4       p	V	P                  4       p
RRR4       Rp\        P                  ! R4      pX
P                  RRR7      P                  R	4       F/  pVP!                  V4      pV'       g   K  VP#                  ^4      p M	  \        V
P                  V4      V R
4      p\%        W4       M\'        W4       RpV'       d   XW&   MW V\        n        V#   + '       g   i     L; i  \(         dC   p\+        T4      : R	\,        P.                  ! 4       : 2pT'       d   \1        T4        Rp?LwRp?ii ; i  T'       d   XY&   T\        n        i Y T\        n        i ; i)zP
Run the specified script.

This function is used by the low-level plugin code.
__file__rbNr  z\s*#.*coding[:=]\s*([-\w.]+).*ASCIIreplace)errorsr5  exec)r6  pathdirnamer   rG   rC  argvlistr   rJ   openreadrecompiler  splitmatchgrouprP  execfiler   r;  r<  r=  print)rQ  gprint_errorscript_argspath_dirrS  	FILE_ATTRhas__file__old__file__finrawencodingencoding_patlinerZ  codePY_COMPILE_ERRr(  s   &&&&              r   IDAPython_ExecScriptrl    s    wwt$H
8}}1!88D6D--6I.KliL!!Q&dD!!Shhj "H::&IJL

79
=CCDI$**405${{1~H	 J
 3::h/v>DMT &AL1 "!  "%(VY-A-A-CD.!"
 &AL  sJ   3G 4GAG %A
G G	G H+)8H&!H. &H++H. .'Ic           	     ^   V'       d   RV9   d
   VR,          MRp\         P                  V,          p\        P                  P	                  V 4      w  rV\        P                  P                  V4      ^ ,          pRpRp	 ^ RIp
V
P                  P                  Wp4      pV
P                  P                  V4      pV\         P                  V&   VP                  P                  V4       V'       dk   \        WGV4       \        VRR \        V4       4       4      pV F  p\        W\        WN4      4       K  	  \        VRR4      '       d   VP                  4       pRpW3#   \          dE   p\#        T4      : R\$        P&                  ! 4       : 2pT'       d   \)        T4        Rp?Y3# Rp?ii ; i)z
Load processor module.
r   rC   N__all__c              3  X   "   T F   pVP                  R 4      '       d   K  Vx  K"  	  R# 5i)_N
startswith).0attrs   & r   	<genexpr>(IDAPython_LoadProcMod.<locals>.<genexpr>  s+      76 I $ 4 8<t Is   *
*PROCESSOR_ENTRYr5  )rG   rH   r6  rQ  rY  splitextimportlib.utilutilspec_from_file_locationmodule_from_specloaderexec_modulerN   r   dirrw  r   r;  r<  r=  r]  )rQ  r^  r_  pnameparentra  
path_fnameprocmod_nameprocobjfprK   specprocmodparent_attrspark  r(  s   &&&              r   IDAPython_LoadProcModr  
  sb    :?AjM
E[[F77==.H77##J/2LG	B"~~55lI..11$7$+L!(F'2"69 76I 76 7L"WV%89 #w 1488!113
 ""	  "%(VY-A-A-CD.!""	"s   >CE F,(8F''F,c                `   V'       d   RV9   d
   VR,          MRp\         P                  V,          p\        P                  P	                  V 4      ^,          p\        P                  P                  V4      ^ ,          p\        WFR4      '       d   \        WF4       \         P                  V RpV# )z
Unload processor module.
r   rC   N)rG   rH   r6  rQ  rY  rx  r   delattr)scriptr^  r_  r  r  script_fnamer  rk  s   &&&     r   IDAPython_UnLoadProcModr  *  s     :?AjM
E[[F77==(+L77##L1!4LvT**%KK%Nr$   c                  a	a
aaaaaa ^ RI o^ RIHo ^ RIHo ^ RIHp ^ RIHp V! R4      p\        P                  P                  p\        P                  R8  d   ^ RIHp M^ RIHp V! RR	7      p\        P                  R8  d   ^ R
I Ho M
 ! R R4      oR V	3R llo	VV3R loVV3R l4       o
R oVV
VVV3R l4       pRp V! SP!                  \        P"                  ! V 4      4      4      pV#     T# ; i)r   N)tee)zip_longest)TypeVar)OptionalT)cache)	lru_cache)maxsize)	TypeAliasc                      ] tR tRtRtR# ).IDAPython_GetDocstrings.<locals>.ast_TypeAliasiK  r%   N)r   r   r9   r:   r=   r%   r$   r   ast_TypeAliasr  K  s    r$   r  c                    V ^8  d   QhRRRR/# )r   sourcer;  returnr%   )formats   "r   __annotate__-IDAPython_GetDocstrings.<locals>.__annotate__N  s       s r$   c                .  <a  S '       d   S ^ ,          R9  d   S # S P                  4       o \        ;QJ d    V 3R lR 4       F  '       g   K   RM	  RM! V 3R lR 4       4      '       g+   S P                  R^4      w  rVR,           S! V4      ,           # S # )r   c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5ir/   rq  )rs  xr  s   & r   ru  ;IDAPython_GetDocstrings.<locals>._dedent.<locals>.<genexpr>R  s!     N1MA6$$Q''1Ms   !TFr5  ) 	)zasync zdef zclass )lstripanyrY  )r  
first_linerest_dedents   f  r   r  (IDAPython_GetDocstrings.<locals>._dedentN  sp    +5MsN1MNsssN1MNNN%||D!4J$wt}44Mr$   c                @   < S! V 4      w  r\        VR4       S! W4      # )z1s -> (s0,s1), (s1,s2), (s2, s3),  ..., (sN, None)N)next)iterabler   r   r  r  s   &  r   _pairwise_longest2IDAPython_GetDocstrings.<locals>._pairwise_longestX  s"    8}Q1  r$   c                &   < \        S! V 4      4      # )z/
Returns the list of all nodes in tree's body.
)rT  )tree_nodes_iters   &r   _nodes'IDAPython_GetDocstrings.<locals>._nodes^  s    
 K%&&r$   c              3  <   "   V P                    F  pVx  K	  	  R # 5ir/   )body)r  r   s   & r   r  ,IDAPython_GetDocstrings.<locals>._nodes_itere  s     AG s   c                  < / p/ pS! V 4      p\        V4      ^8X  d4   \        V^ ,          4      S	P                  J d   V^ ,          P                  pS! V4       EF  w  rE\	        VS
4      '       d   VP
                  P                  pEM \	        VS	P                  4      '       dP   \	        VP                  S	P                  4      '       d*   VP                  '       d   VP                  P                  pM\	        VS	P                  4      '       df   \        VP                  4      ^8X  dL   \	        VP                  ^ ,          S	P                  4      '       d   VP                  ^ ,          P                  pM4\	        VS	P                  4      '       d   VP                  '       d   EKM  EKP  \	        VS	P                  4      '       g   EKo  \	        VP                  S	P                   4      '       g   EK  \	        VP                  P                  \"        4      '       g   EK  \$        P&                  ! VP                  P                  4      P)                  4       W&   EK  	  V# r   )r   r   ClassDefr  r   r   id	AnnAssigntargetNamesimpleAssigntargetsFunctionDefExprr    Constantr;  rD   cleandocstrip)r  var_docstringsfunc_docstringsnodesr   r   r   r  r  astr  s   &      r   
_walk_tree+IDAPython_GetDocstrings.<locals>._walk_treei  s   tu:?tE!H~=!HMME%e,DA!]++vvyyAs}}--*QXXsxx 3 3hhhxx{{Aszz**s199 00%aiilCHH==yy|As//AFFF!SXX&&:aggs|| , , 44'.'7'7'F'L'L'N$ -  r$   )r   	   )r      )r  	itertoolsr  r  typingr  r  rD   	SignatureemptyrG   r   	functoolsr  r  r  parse	getsource)objr  r  r  r  r  r  r  resr  r  r  r  r  r  r  r  s   &        @@@@@@@@r   IDAPython_GetDocstringsr  9  s    %A##))E
6!#'$'
7"2	 	 ! ' '  . C7#4#4S#9:; JJs   +C4 4C9c                      ] tR tRtRtR tR tR tR tRR lt	R t
R	 tR
 tR tR tRR ltR tR tR tR tR tR t]P.                  ! R4      tR tRtR# )__IDAPython_Completion_Utili  z2Internal utility class for auto-completion supportc                	    R # r/   r%   rt   s   &r   rp   $__IDAPython_Completion_Util.__init__  r   r$   c                	   / R R bRRbRRbRRbRRbRRbRRbRRbRRbR	R	bR
RbRR	bRR	bRRbRRbRRbRRb/ RRbRRbRRbRRbRRbRRbRRbRRbRR bRRbRRbRRbRRbRRbRR	bR RbR!R	bC/ R"RbR#RbR$RbR%R	bR&R	bR'R	bR(RbR)R	bR*RbR+RbR,R	bR-RbR.RbR/R	bR0RbR1RbR2R	bC/ R3RbR4R	bR5R	bR6RbR7RbR8RbR9RbR:RbR;RbR<R	bR=RbR>R	bR?RbR@RbRARbRBRbRCR	bC/ RDR	bRER	bRFR	bRGRbRHRbRIRbRJRbRKRbRLRbRMRbRNRbRORbRPRbRQRbRRRbRSRTbRUR	bC/ RVR	bRWRbRXR	bRYRbRZRbR[RbR\R	bR]RbR^RbR_RbR`RbRaRbRbRbRcR	bRdR	bReRbRfRbCRgR	RhR/CpWP                  4       9   d,   W!,          pR ^R^R^R^R^R^R^R^R^R	^RT^/pWC,          pW53# TpRipW53# )jcharshortintlongz	long longzunsigned charzunsigned shortzunsigned intzunsigned longzunsigned long longaflags_toff_ttime_tsize_tuint_fast8_tuint_fast16_tuint_fast32_tuint_fast64_t	uintptr_twint_t
__cpu_mask_Atomic_worducharushortuintint8uint8int16uint16int32uint32uint64int64	ulonglonglonglong	wchar16_t	wchar32_tea_tsel_tasize_tadiff_tuval_tsval_tea32_tea64_terror_t
op_dtype_tinode_t	diffpos_t	qtime32_t	qtime64_tflags_t	flags64_ttid_t	bgcolor_t	qhandle_tcomp_tcm_tatype_t
idastate_tnodeidx64_tnodeidx32_t	nodeidx_t	reftype_ttype_tp_listcolor_tenum_tbmask_tconst_ttif_cursor_tcpidx_tcplen_ttwidget_type_tinput_event_modifiers_tview_event_state_toptype_thelp_tpid_tthid_tregister_class_t	bpttype_tmangled_name_type_tdiff_degree_tssize_tdiridx_t
blob_idx_tfixup_type_t
graph_id_tlayout_type_tignore_name_def_tp_string	bmask64_tbte_ttype_sign_targloc_type_t	biggest_tregnum_tlxtypeutc_timestamp_tlofi_timestamp_tproblist_id_tnfds_tregoff_t	srclang_tN)rI   )r   tnamertypesresolvedt2szr   s   &&    r   __resolve_type*__IDAPython_Completion_Util.__resolve_type  s   26&& 26'7 26E5 26&2626.=26-/?26 N26 -<	26 23G	26
 26
 )01E26 *26 -5o26 O26 .=26 -o26 _26 /:?26 n26 '3O26 E26 $+O26 >F26 %n26 7=f26 _26 '.w26 9A26 &u26 /726 *26 -4[26  -!26  0:;!26" )#26" ,7#26$ (%26$ +23G%26& +'26& .7'26( *)26( -5k)26( DL+26* %&:+26* =F-26,  -26, 3< /26. #./26. AL1260  41260 7@3262 ()=3262 @G 5264 #.~5264 @K7266 _7266 /5o7268 u9268 +E9268 4A ;26: #0;26< -=26< 0;O=26> o?26> (0?26> CLA26@ &';A26@ >G C26B #,-AC26D 0E26D 3<UE26F uG26F /G26H &uI26H /CEI26J K26J *25K26J ;B5K26L eM26L 0M26N O26N !6uO26P YQ26P )34HQ26R .S26R 1?U26T +,@U26V UW26V %8W26V AKY26X )*>Y26X AH[26Z +E[26Z 4CE[26\ ]26\ +5g]26\ @H_26^ 01E_26`  4a26` 7Fc26b &c26b 9C +ue26f KKM!}HAw5!VQ?A'7N?A';Q	1ND >D ~ HD~r$   c                	  aa ^ RI oV3R loV3R lp. p\        \        V4      4       F<  pW,          R8X  d   K  VP                  V! W,          .SP                  .4      4       K>  	  V! R.SP
                  .4      P                  V4      pV# )r   Nc                D   < SP                    V V  SP                   V 2# r/   	SCOLOR_ON
SCOLOR_OFFr  cils   &&r   r   ;__IDAPython_Completion_Util.__render_rets.<locals>.<lambda>  "    BLL>!QCqcBr$   c           
     x   < R P                  \        W4       UUu. uF  w  r#S! W#4      NK  	  upp4      # u uppi r   r8  zipstrscsr  rP  hs   &&  r   r   rR    *    bgg3t=&I=41qw=&IJ&I   6
void, )	ida_linesr   r   rC  
SCOLOR_REGSCOLOR_DEFAULTr8  )r   retshatmpr   retstrr[  rQ  s   &&    @@r   __render_rets)__IDAPython_Completion_Util.__render_rets  s{    BJs4y!Aw& JJr47)bmm_56 " TFR../055c:r$   c                	  aa	 ^ RI o	V	3R loV3R lp. p\        \        V4      4       EF  pW&,          f8   W6,          f.   VP                  V! W,           .S	P                  .4      4       KE  W&,          fW   W6,          eM   VP                  V! W,           RW6,           .S	P                  S	P
                  S	P                  .4      4       K  W&,          eX   W6,          fN   VP                  V! W,           RW&,           .S	P                  S	P
                  S	P                  .4      4       EK  W&,          f   EK  W6,          f   EK   VP                  V! W,           RW&,           RW6,           .S	P                  S	P
                  S	P                  S	P
                  S	P                  .4      4       EK  	  V! R.S	P
                  .4      P                  V4      pV# )r   Nc                D   < SP                    V V  SP                   V 2# r/   rL  rO  s   &&r   r   ;__IDAPython_Completion_Util.__render_args.<locals>.<lambda>  rS  r$   c           
     x   < R P                  \        W4       UUu. uF  w  r#S! W#4      NK  	  upp4      # u uppi rU  rV  rX  s   &&  r   r   rk    r\  r]   = : r_  )	r`  r   r   rC  SCOLOR_LOCNAMErb  SCOLOR_NUMBERra  r8  )
r   argstypesdefaultsrd  re  r   argstrr[  rQ  s
   &&&&    @@r   __render_args)__IDAPython_Completion_Util.__render_args  s   BJs4y!AxHK$7

2$'nr/@/@.ABC!hk&=

2$'Ux{mE"NB$5$5r7G7GHI J K%(+*=

2$'TehZAB"NB$5$5r}}DF G H%(+*A

2$'TehZ%{m&(*(9(92"NBMM23D3Db!M(#$ % " TFR../055c:r$   c                	  aa ^ RI oV3R loV3R lpV P                  W#V4      pV'       d   \        V4      ^ 8X  d   V.pV P                  V4      p	T! V R.V'       d   SP                  MSP
                  SP                  .4      V ,           p
\        V	4      ^ 8  d%   W! R.SP                  .4      V	,           ,          p
V
# W! R.SP                  .4      ,          p
V
# )r   Nc                D   < SP                    V V  SP                   V 2# r/   rL  rO  s   &&r   r   <__IDAPython_Completion_Util.__render_proto.<locals>.<lambda>  rS  r$   c           
     x   < R P                  \        W4       UUu. uF  w  r#S! W#4      NK  	  upp4      # u uppi rU  rV  rX  s   &&  r   r   ry    r\  r]  (z) -> ))r`  '_IDAPython_Completion_Util__render_argsr   '_IDAPython_Completion_Util__render_retsSCOLOR_MACROSCOLOR_CNAMErb  )r   r   rq  rr  rs  rc  is_ctorrd  rt  rf  protor[  rQ  s   &&&&&&&    @@r   __render_proto*__IDAPython_Completion_Util.__render_proto  s    BJ##D:s4yA~6D##D)tfs#boobL"++&- .39(<v;?R	B$5$5#67&@@E  R 1 1233Er$   c                	   aa ^ RI oV3R loV3R lpV! VP                  ^04       RVR .SP                  SP                  SP                  .4      pV# )r   Nc                D   < SP                    V V  SP                   V 2# r/   rL  rO  s   &&r   r   ?__IDAPython_Completion_Util.__render_constant.<locals>.<lambda>  rS  r$   c           
     x   < R P                  \        W4       UUu. uF  w  r#S! W#4      NK  	  upp4      # u uppi rU  rV  rX  s   &&  r   r   r    r\  r]  rm  #018x)r`  ljustSCOLOR_DNAMErb  rp  )r   r   rt  rd  outr[  rQ  s   &&&  @@r   __render_constant-__IDAPython_Completion_Util.__render_constant   sU    BJTZZ^$$u?"L"++R-=-=B? @
r$   c                	t   aa ^ RI oV3R loV3R lpV! VP                  ^04       .SP                  .4      pV# )r   Nc                D   < SP                    V V  SP                   V 2# r/   rL  rO  s   &&r   r   >__IDAPython_Completion_Util.__render_default.<locals>.<lambda>
  rS  r$   c           
     x   < R P                  \        W4       UUu. uF  w  r#S! W#4      NK  	  upp4      # u uppi rU  rV  rX  s   &&  r   r   r    r\  r]  )r`  r  SCOLOR_UNKNAME)r   r   rd  r  r[  rQ  s   &&  @@r   __render_default,__IDAPython_Completion_Util.__render_default  s8    BJTZZ^$&):):(;<
r$   c           	     	x  aa ^ RI oV3R loV3R lpV P                  V4      w  rVVf   VR pM^VR ^VR ^VR ^VR /V,          p\        V RV 24      pR	R
P                  ^0V,
          4       R	2p	V! V RV W.SP                  SP
                  SP                  SP
                  SP                  .4      p
V
# )r   Nc                D   < SP                    V V  SP                   V 2# r/   rL  rO  s   &&r   r   A__IDAPython_Completion_Util.__render_int_member.<locals>.<lambda>  rS  r$   c           
     x   < R P                  \        W4       UUu. uF  w  r#S! W#4      NK  	  upp4      # u uppi rU  rV  rX  s   &&  r   r   r    r\  r]  r  z#04xz#06xz#010xrn  r  =)r`  (_IDAPython_Completion_Util__resolve_typer   rjustro  rb  ra  rp  )r   r   typr  rd  rp  szval_fmtpref_leneq_padr  r[  rQ  s   &&&&       @@r   __render_int_member/__IDAPython_Completion_Util.__render_int_member  s    BJ##C(:UGs4jA3t*u+E{5579G$r#'(SYYrH}-.a0TFTcUV=NB--r}}bNB,,@. / 
r$   c           	     	*  aa ^ RI oV3R loV3R lpVf   R# . pRpVP                  4        EF  pVP                  R4      p\        P                  ! RV R2V4      p\        V4      ^ 8X  d   KB  Vf   R	V9   d   KO  Vf   R
V9   d   K\  \        P                  ! RV4      pV'       dL   V! VP                  ^4       .SP                  .4      pW\        RVP                  ^4       24      R ,           pVP                  R4      '       d&   VP                  RV! R.SP                  .4      4      p. p	Rp
VP                  R4      p\        \        V4      4       Fa  p\        V
4      \        W,          4      ,           ^,           ^8  d    V	P                  V
 4       W,           R2p
KO  WV,           R2,          p
Kc  	  \        V
4      ^ 8  d   V	P                  V
 4       VP                  RP                  V	4      4       EK  	  RP                  V4      # )r   Nc                D   < SP                    V V  SP                   V 2# r/   rL  rO  s   &&r   r   =__IDAPython_Completion_Util.__render_docstr.<locals>.<lambda>"  rS  r$   c           
     x   < R P                  \        W4       UUu. uF  w  r#S! W#4      NK  	  upp4      # u uppi rU  rV  rX  s   &&  r   r   r  #  r\  r]  r   Fz 
	z(\d). \(z+This function has the following signatures:z)This method has the following signatures:z:param ([a-zA-Z0-9+_-]+)[:\s].*z:param z:returnsr  r  r5  )r`  
splitlinesr  rW  rZ  r   r[  ro  rr  rN  SCOLOR_ASMDIRrY  r   rC  r8  )r   docr   rd  r  ignlrX   colored_namefinalcurlinere  r   r[  rQ  s   &&&          @@r   __render_docstr+__IDAPython_Completion_Util.__render_docstr   s   BJ;!A	"A74&,a0A1v{"OST"T"MQR"RHH?C#%!''!*&7":K:K9L#ML$wqwwqzl-C)D)E'FFA<<
++		*b(b%>' /( )Aggcls3xA7|c#&k1A5;y2%(VHA,!fXQ</ ) w<!#LLG9.

499U+,9 ": yy~r$   c                	J   VP                  R 4      pRpRpRV9   d2   VP                  R4       Uu. uF  qDP                  R 4      NK  	  upw  rRV9   d2   VP                  R4       Uu. uF  qDP                  R 4      NK  	  upw  rVP                  R4      pWV3# u upi u upi )r  Nr  :rp  )r  rY  r  )r   r   defaultr  zs   &&   r   __parse_arg'__IDAPython_Completion_Util.__parse_argG  s    iin#:25))C.A.QGGCL.ALC#:.1iin=nn=HCjjo  	 B=s   B(B Nc                	   ^ RI p. p. . . . 3w  rgrVe   \        V4      ^ 8X  d   VP                  WgW34       V# Ve   TpVP                  4        EF  p
VP                  ! RV R2V
4      pV'       g   K%  \        Wg,           V,           V	,           4      ^ 8  d   VP                  WgW34       . . . . 3w  rgrV
\        R4      R p
RV
9   da   V
P                  R4      ^,          P                  R4      pVR8X  d   . p	M1VP                  R4       Uu. uF  qP                  R	4      NK  	  p	pM. p	^ p^p\        V
P                  R
4      \        V
4      4       FV  pW,          R
8X  d   V^,          pK  W,          R8X  g   K*  V^,          pV^8X  g   K<  WP                  R
4      ^,           V p M	  EKa  RV9   d   . pVP                  R4       FK  pV P                  V4      w  pppVP                  V4       VP                  V4       VP                  V4       KM  	  EK  	  \        Wg,           V,           V	,           4      ^ 8  d   VP                  WgW34       \        V4      ^ 8X  d   . . . . 3.# V# u upi )r   Nz
    (\d). r  z    0.  -> z() r^  ,r  r{  r|  )
rW  r   rC  r  rZ  rY  r  r   r  %_IDAPython_Completion_Util__parse_arg)r   r   r  altnamerW  r  rq  rr  rs  rc  r  rX   re  r   olvlr   r  r  s   &&&&               r   __proto_from_docstring2__IDAPython_Completion_Util.__proto_from_docstringR  s>   &("b"n#X;#c(a-JJX45JD!A;tfC0!4Aqt|h.56:JJX<=.0"b"n+Xc)no&Q;''&/!,2259Cf}!69iinEnnEDqvvc{CF3Ats{qq!8"#FF3K!OA"6C! 4 S=D3A(,(8(8(;%CgKK$LL%OOG,	 (; "D t|h&-.2JJX45s8q=R$%%
5  Fs   I.c                	   . p. p. p. pR  p	\        V4       F  w  rWP                  ! 4       9  d   VP                  R4       MVP                  V	! WK,          4      4       V'       d\   V
\        V4      \        V4      ,
          8  d<   V
\        V4      \        V4      ,
          ,
          pVP                  W<,          4       K  VP                  R4       K  	  RVP                  ! 4       9  d   . pMZVR,          R8X  d   . pMI\	        VR,          4      \
        8X  d   VR,           Uu. uF
  q! V4      NK  	  ppMV	! VR,          4      .pVP                  W%Wg34       V# u upi )c                    \        V 4      \        J d   V # V P                  P                  R9   d   V # V \        \        \
        \        39   d   V P                  # V P                  P                  # )r  )r  rr  )r   r;  r   r   boolr  floatr   )r  s   &r   __repr_typeE__IDAPython_Completion_Util.__proto_from_argspec.<locals>.__repr_type  sV    CyC
))-@@
sC//||#}}---r$   Nr  r^  )	enumeraterI   rC  r   r   rT  )r   r   rq  rs  r   rr  	_defaultsrc  r  %_IDAPython_Completion_Util__repr_typer   r   r  r4  s   &&&&&         r   __proto_from_argspec0__IDAPython_Completion_Util.__proto_from_argspec  s3   		.  oFA**,,T"[)9:;ATS]!::TS]23  -  & & ;++--D"f,D+h'(D0,7,AB,AqKN,ADBDH 567D

D12
	 Cs   (E c                	   . pR pRpRp/ p \        V4      pTf   / pT EF  p \        Y(4      p	Rp
Rp \        \        \        T4      T4      4      \        J p
\        T	4      \        8H  pR\        \        T	4      4      9   p\        T	4      P                  R8H  pT'       d   K  T
'       Ed   \        TR4      pTP                  TP                  pp\        T4      pYP                  4       9   d	   Yx,          MRpT P                  TT4      pT'       g	   T'       d    \        \        \        P                  T,          R	T 24      T R	T R
24      p\        P                  ! T4      P                  R4      ^,          pT'       d   T P                  TTT	4      pMT P!                  T.T.R.4      pTP#                  TTTT.34       EK  \        TR4      pTTP                  4       9   d   TT,          pM\        T	4      P                  pT P!                  T.T.R.4      pTP#                  TTTT.34       EK  T'       d\   T P%                  Y4      pYP                  4       9   d
   Yx,          pMRpT P                  TT4      pTP#                  TTTT.34       EKz  \        P&                  ! T	4      '       g:   \        P(                  ! T	4      '       g   \        P*                  ! T	4      '       Ed=   \        P,                  ! T	4      w  pppp pp\        P                  ! T	4      pT P                  TT4      pRp\        P*                  ! T	4      pT'       d   TMTpT\        T	4      9  d"   \        T	4      P                  R4      ^,          pTR8X  dQ   TeM   T P/                  TTTR7      pT F/  pT P0                  ! T.TO5RT/ pTP#                  TTTT.34       K1  	  EK  T P3                  TTTT4      ^ ,          pT P0                  ! T.TO5RT/ pTP#                  TTTT.34       EK  \        P*                  ! \        T	4      4      '       du   \        T	4      P                  R8X  d[   YP                  4       9   d
   Yx,          pMRpT P                  TT4      pT P5                  T4      pTP#                  TTT. 34       EK  \        P*                  ! \        T	4      4      '       d   \7        T	4      '       g   \        T	4      P                  pTR8X  d   TP                  R8w  d   EK
  \        P                  ! T	4      pTf   RpT P                  TT4      pT P!                  T.T.R.4      pTP#                  TTTT.34       EKg  \        P                  ! T	4      pTf   RpT P                  TT4      pT P5                  T4      pTP#                  TTT. 34       EK  	  \9        TR R7      p\;        T!  w  p p!p"p\=        T 4      \=        T!4      \=        T"4      3#     EL	; i    EL; i   Rp EL; i   TP#                  YR. 34        EK0  ; i)i  i  rc   NFSwigPyObjectr  r   r   rp  _getr  unk__annotations__r  rq  )r  r  r;  modulerC   c                ^    \        V ^,           Uu. uF  p^V,          NK  	  up4      # u upi r   )sum)r4  r  s   & r   r   9__IDAPython_Completion_Util.build_hints.<locals>.<lambda>  s%    qt,Dt!a1fft,D(E,Ds   *)key)r  r   r   r   r  r;  r   r   rI   )_IDAPython_Completion_Util__render_docstrrG   rH   rD   getdocrY  -_IDAPython_Completion_Util__render_int_memberr}  rC  +_IDAPython_Completion_Util__render_constant
isfunctionismethodisclassgetfullargspec0_IDAPython_Completion_Util__proto_from_docstring(_IDAPython_Completion_Util__render_proto._IDAPython_Completion_Util__proto_from_argspec*_IDAPython_Completion_Util__render_defaultcallablesortedrW  rT  )#r   namesnsr  W_CMEMBW_CTORW_FUNCvar_docsr   rt  is_proppclassis_intis_spo	is_typingr^   r)   r  docrgetterr  hintannotsrq  varargsrp  rs  r  r  weightprotsprotcompshintsdocss#   &&&                                r   build_hints'__IDAPython_Completion_Util.build_hints  s   	.r2H HDcr("748T#:;xGG ds*'3tDz?: J11X=	7$R5F%00&//C6v>H,0MMO,C(.C//T:D(%,WS[[5E"#C5	.+/2e1TF$,?&AF").."8">">v"Fq"IC "#'#;#;D#t#LD#'#5#5tfsedV#LD

D$wi#@A!(1B!C6;;=0"(,C"&t*"5"5C#114&3%$H

D$wi#@A11$=D}}.&n //T:DJJdD7)<=''--1A1A$ 2 2 ..@G&A''+A-<D'1h1f!...C//T:D"G%ood3G'.VFF3t9,"%d)//#"6q"9&(S_ $ ; ;D#$+ !< !-$)D#'#6#6t $*d $*!($*DJJdD6('CD %*
  $88t$f ../ 1#224  $    

D$vh#?@__T$Z00T$ 6h%6(}}.&n //T:D006DJJdD"56__T$Z00$t*--Ch2;;*+D !...C{ //T:D--tfsedVDDJJdD7)<=!...C{ //T:D006DJJdD"56C J SEF #S	udAE{DKd33W	"("'CP

DB/0s   X X5$X#A	X5#X5,A&X5X5A X+<X5A X5A,X56X5>AX5X55X5X5.A%X5B	X5 AX5*BX5A#X5)AX5AX5X #X(%X5+X2/X55Yc                	     V^ ,          VR,          ,          p\        RV,          4       R#   \         d;   p\        R\        T4      : R\        P                  ! 4       : 24        Rp?R# Rp?ii ; i)r   :r   NNzIDAPython_Completion_Util: %sz)debug() got exception during debug(*args=z):
N)r]  r   r;  r<  r=  )r   rq  msgr(  s   &*  r   debug!__IDAPython_Completion_Util.debug  s[    	4q'DH$C1C78 	4D	9//13 4 4	4s   )- A2/A--A2c                	r    \        V4       Uu. uF  q3P                  V4      '       g   K  VNK  	  up# u upi r/   )r  rr  )r   rX   prefixr  s   &&& r   dir_namespace)__IDAPython_Completion_Util.dir_namespace$  s)    q6:6a\\&%96:::s   44c                	   R p \        W4      p\        V4      '       d   VP                  R4      '       g   RpM+\        V\        4      '       g   \        VRR4      '       d   RpVe   Ve   WT8X  d	   W%,          pV#     L; i)N?r{  __iter__F[)r   r  rr  r   string_types)r   r  r   ri  syntax_charto_addrt  s   &&&&&  r   maybe_extend_syntactically6__IDAPython_Completion_Util.maybe_extend_syntactically'  s    		2$D~~s++ FD,//744 4 ;#6&:OND	s   2A= A= +A= =Bc                	|  a aaaa . p. R NRNRNRNRNRNRNRNRNR	NR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRHNRINRJNRKNRLNRMNRNNRONRPNRQNRRNRSNRTNRUNRVNRWNRXNRYNRZNR[NR\NR]NR^NR_NR`NRaNRbNRcNRdNReNRfNRgNRhNRiNRjNRkNRlNRmNRnNRoNRpNRqNRrNRsNRtNRuNRvNRwNRxNRyNRzNR{NR|NR}NR~NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRN Uu. uF	  pRV R2NK  	  ppVP                  . RO4        \        P                  R,          oVP                  R4      p\	        ^ \        V4      ^,
          4       F  p\        SWx,          4      oK  	  VR,          p	S P                  SV	4      pV'       g'   \        V4      ^8X  d   S P                  \        V	4      pV	R9  d   V U
u. uF  qV9   d   K  V
P                  R4      '       d   V
\        P                  9   d   K9  V
P                  R4      '       d   KR  V
P                  R4      '       d   Kk  V
P                  R4      '       d   K  V
NK  	  pp
S P                  VS4      w  rKpV Uu. uF.  p\        V4      ^ 8  d   RVP                  RR4      ,           MRNK0  	  pp\        VVVV 3R lV4      pVRR o\        \        V3R lV4      4      pWKV3# u upi u up
i u upi   \         d   p Rp?R# Rp?ii ; i)absaddaenteraexitaiterandanextr   awaitbasesr  r/  r  callceilclassclass_getitemclosurerj  complexcontainsr2   deepcopyrs  delr  deletedelitemdictr  divmodr  entereqexitfiler  floorfloordivr  fspathra   futuregegetr   getattributegetitem
getnewargsgetstateglobalsgthashiaddiand	ifloordivilshiftimatmulimodimulrV   initinit_subclassinstancecheckr  invertioripowirshiftisubiteritruedivixor
kwdefaultsler   length_hintlshiftlt
match_argsmatmulmissingr^   r  mro_entriesmulr   nenegnewr  objclassorpospowpreparequalnameraddrandrdivmodreduce	reduce_exrelease_bufferreprreversed	rfloordivrlshiftrmatmulrmodrmulrorroundrpowrrshiftrshiftrsubrtruedivrxorr   r!   set_namerN   setitemsizeofslotsr;  subsubclasscheck
subclassesr<  truedivtrunctype_paramstyping_prepare_substtyping_substweakrefxorbuiltinscachedr}  rP   r  subclasshookfirstlinenostatic_attributes__rC   r   _ida___get__set__from_ptrval__z    r5  z
    r   c                ,   < SP                  SV SS4      # r/   )r  )r4  ri  match_syntax_charr  r   s   &r   r   <__IDAPython_Completion_Util.get_candidates.<locals>.<lambda>m  s    D$C$CB'%)r$   Nc                6   < R P                  SV .,           4      # )r   )r8  )r4  ns_partss   &r   r   r  p  s    (aS.)Ar$   )__swig_destroy__r8   _swig_python_version_infor6   r   r,   r&   r   r
   r|  cvar
_real_cvar
_wrap_cvarSWIG_PYTHON_LEGACY_BOOLr
  )rp  r  )extendrG   rH   rY  r   r   r   r  r~  rr  endswithr  rN  maprT  r   )r   qnameri  r  resultsrX   MAGIC_METHODSrH  r   
last_tokenr4  r  r  dr(  r  r  s   f&ff           @@r   get_candidates*__IDAPython_Completion_Util.get_candidates8  sH   .He .HU .HH .H.H.H#.H%,.H.;.H=D.H.H.H%.H'..H06.H8>.H@G.H .H '.H )/.H 1:.H <F.H 	.H 	.H !+	.H -2	.H 4=	.H ?G	.H
 .H
 .H
  %.H
 '/.H
 16.H
 8?.H
 AE.H .H .H $.H &-.H /9.H ;C.H .H .H '.H )-.H /4.H 6?.H .H &.H (4.H 6@.H BK.H .H .H !.H #).H +6.H 8A.H CL.H .H .H $.H &,.H .=.H .H #.H %-.H /4.H 6<.H >G.H .H .H '.H )/.H 1=.H ?C.H EJ.H .H $.H &*.H ,8.H :B.H .H .H '.H )6.H 8=.H ?E.H GK.H .H .H !.H #-.H /3.H 5:.H <A.H CL.H  !.H  !.H  !'!.H  )2!.H  4<!.H  >I!.H" #.H" %#.H" '1#.H" 3>#.H" @I#.H$ %.H$ %.H$  &%.H$ (-%.H$ /6%.H$ 8>%.H$ @I%.H& '.H& '.H& )'.H& +1'.H& 39'.H& ;@'.H& BL'.H( ).H( !).H( #+).H( -4).H( 6;).H( =B).H* +.H* *+.H* ,7+.H* 9B+.H* DK+.H, -.H, 2-.H, 4B-.H. /.H. /.H. )/.H. +3/.H. 5=/.H. ?H/.H0 1.H0 #1.H0 %21.H0 4G1.H I .H2aS .H I2 	 ' 	(	(Z(BKK$E1c%j1n-R* .
 rJ((Z8Gs5zQ,,XzB,&- Fg-5G1//A4D u. 78||8  '(jj?&D 1g F $(#3#3GR#@ GD!#! <?q6A:Vaiih77!  # )*13GSbzH3A7KLG4''oIXF
#  		sI   .LAL% LL(L?LL1L
L+4L %L;6L;z([a-zA-Z_]([a-zA-Z0-9_\.]*)?)c                	    \         P                  P                  ^8  d   VP                  R4      MTpRpRpV^ 8  d-   W2^,
          ,          R9   d   W2^,
          ,          pV^,          p\        P
                  ! V P                  V4       F  pVP                  ^4      VP                  ^4      VP                  ^4      rp\         P                  P                  ^8  d   VP                  R4      pW(8  g   Km  W)8:  g   Ku  V P                  WqV4      w  rpYV'       d   ^M^ ,           rWWV	3pK  	  V#   \         d   p Rp?R# Rp?ii ; i)r   r  Nz[({)rG   r   rJ   r  rW  finditer	QNAME_PATr[  startendr  r  r   )r   ri  r  ulineresultr  rZ  r  r  r  matchesr  r  rep_xr(  s   &&&            r   __call__$__IDAPython_Completion_Util.__call__t  s!   	%%++a/ KK 59 F $1u1u.$)a%L!QT^^U;$)KKNEKKNEIIa Ec##))A-!LL1E:!(+/+>+>u),+(GD!&4Eq1(M3$T#=F < M 		s   C2D4 9D4 2D4 4E
E
r%   r   r/   )r   r   r9   r:   r;   rp   r  r~  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  rW  rX  r  r  r=   r%   r$   r   r  r    sw    <=~
, "%N	!/b"Hs4j4;"9(t 

;<Ir$   r  c                     V  FA  pVP                   Vn        VP                  Vn        \        Vn        VP                  Vn        KC  	  R # r/   )r   r   r   __len__r   r  	push_backrC  )classesr)   s   * r   _listify_typesr    s4    hh0]]
	 r$   c                d    ^ RI p\        f   VP                  4       s\        P                  W4      # )a  
Register a callback that will be called when an event happens.
:param when: one of NW_XXXX constants
:param callback: This callback prototype varies depending on the 'when' parameter:
                 The general callback format:
                     def notify_when_callback(nw_code)
                 In the case of NW_OPENIDB:
                     def notify_when_callback(nw_code, is_old_database)
:returns: Boolean
N)ida_idp_notify_when_dispatcher_notify_when_dispatcher_tnotify_when)whencallbackr  s   && r   r  r    s-     &")"C"C"E"..t>>r$   c                 F   a  \         P                  o V 3R  l\         n        R# )c                    < S! V !  # r/   r%   )rq  	real_hooks   *r   r   &__install_excepthook.<locals>.<lambda>  s
    9d#3r$   N)rG   
excepthook)r  s   @r   __install_excepthookr    s    I3CNr$   c                  :    ] tR tRtR tR tR tR tR tR t	Rt
R	# )
IDAPython_displayhooki  c                	0    \         P                  V n        R # r/   )rG   displayhookorig_displayhookrt   s   &r   rp   IDAPython_displayhook.__init__  s     #r$   c                	    VP                  V4       \        V4       F/  w  rgV^ 8  d   VP                  R4       V P                  WV4       K1  	  VP                  V4       R# )r   r_  N)rC  r  format_item)r   num_printerstorageitemopnr)   r   els   &&&&&&  r   
format_seq IDAPython_displayhook.format_seq  sO    s GCQwt$[26 ' 	sr$   c                	   Ve   \        V\        4      '       d   VP                  \        V4      4       R # \        V\        4      '       d   VP                  \        V4      4       R # \        V\        4      '       d   VP                  V! V4      4       R # \        V\        4      '       d   V P                  WVRR4       R # \        V\        4      '       d   V P                  WVRR4       R # \        V\        4      '       d   V P                  WVRR4       R # \        V\        34      '       d   VP                  R4       \        VP                  4       4       F`  w  rEV^ 8  d   VP                  R4       V P                  WV^ ,          4       VP                  R	4       V P                  WV^,          4       Kb  	  VP                  R
4       R # VP                  \        V4      4       R # )Nr  ]r{  r|  zset([z]){r_  rn  })r   r  rC  ra  r	  format_basestringinteger_typesrT  r  tupler!   r#  r  itemsr  )r   r  r  r  r   pairs   &&&&  r   r  !IDAPython_displayhook.format_item  sT   <:dD11NN4:&l++NN,T23m,,NN;t,-d##OOK$SAe$$OOK$SAc""OOK$Ftg&&NN3&tzz|4	7NN4(  tAw?t$  tAw? 5 NN3NN4:&r$   c                	    \        V4      # r/   )hex)r   r  s   &&r   
_print_hex IDAPython_displayhook._print_hex  s    1vr$   c                	6   . p^ RI pV P                  pVP                  4       VP                  ,          pWSP                  8X  d   \
        pM-WSP                  8X  d   \        pMWSP                  8X  d   \        pV P                  WBV4       RP                  V4      # )r   Nr   )r  r  ph_get_flag	PR_DEFNUMPRN_OCToctPRN_DECr;  PRN_BINbinr  r8  )r   r  r  r  r  dns   &&    r   displayhook_format(IDAPython_displayhook.displayhook_format  sx    oo  "W%6%66 K??"K??"Kt4wwwr$   c                	&   Ve   \        V4      \        J d   V P                  V4       R #  V P                  V4      p\        P
                  P                  RV,          4       R #    ^ R IpTP                  ! 4        T P                  T4        R # ; i)Nz%s
)	r   r  r  r  rG   stdoutwriter<  	print_exc)r   r  clobr<  s   &&  r   r  !IDAPython_displayhook.displayhook  sr    <4:-!!$'	(**40DJJVd]+	(!!!$'s   7A% %(B)r  N)r   r   r9   r:   rp   r  r  r  r  r  r=   r%   r$   r   r  r    s     0'2 
(r$   r  c                "   a aa R .oV VV3R lpV# )Fc            	        < S^ ,          '       g_   ^ RI p \        P                  ! 4       P                  P                  pV P                  ! V4       \        RS: RS: RS: R24       RS^ &   R# R# )r   NzPlease use "z" instead of "z" ("z@" is kept for backward-compatibility, and will be removed soon.)T)r<  rG   	_getframef_backprint_stackr]  )r<  r?  bad_attrnew_attrwarneds     r   r?  )_make_one_time_warning_message.<locals>.f	  sX    ayy&&--A!!!$h23 F1I r$   r%   )r  r  r?  r  s   ff @r   _make_one_time_warning_messager    s    WF Hr$   c                l   aa \        V S4      oVV3R  lpVV3R lp\        Y2'       d   V4      # R4      # )c                *   < S! 4        \        V S4      # r/   r   )r   _notify_bwcompatr  s   &r   _getter2_make_missed_695bwcompat_property.<locals>._getter  s    tX&&r$   c                ,   < S! 4        \        V SV4      # r/   )rN   )r   r   r  r  s   &&r   _setter2_make_missed_695bwcompat_property.<locals>._setter  s    tXq))r$   N)r  r   )r  r  
has_setterr  r  r  s   &f&  @r   !_make_missed_695bwcompat_propertyr    s3    5hI'* G
W====r$   c                    V ^8  d   QhRRRR/# )r   cmdliner;  r  'PyObject *'r%   )r  s   "r   r  r  &  s     4 4 4 4r$   c                .    \         P                  ! V 4      # r/   )r   parse_command_line3)r  s   &r   r   r   &  s    **733r$   c                .    \         P                  ! V 4      # )a=  Changes the script timeout value. The script wait box dialog will be hidden and shown again when the timeout elapses.
See also L{disable_script_timeout}.

:param timeout: This value is in seconds.
                If this value is set to zero then the script will never timeout.
:returns: Returns the old timeout value)r   set_script_timeout)timeouts   &r   r  r  *  s     ))'22r$   c                 ,    \         P                  ! 4       # )zDisables the script timeout and hides the script wait box.
Calling L{set_script_timeout} will not have any effects until the script is compiled and executed again

:returns: None)r   disable_script_timeoutr%   r$   r   r  r  4  s    
 --//r$   c                .    \         P                  ! V 4      # )zEnables or disables Python extlang.
When enabled, all expressions will be evaluated by Python.

:param enable: Set to True to enable, False otherwise)r   enable_extlang_pythonenables   &r   r  r  <  s    
 ,,V44r$   c                    V ^8  d   QhRRRR/# )r   r	  r  r  Noner%   )r  s   "r   r  r  D  s     1 1d 1d 1r$   c                .    \         P                  ! V 4      # r/   )r   enable_python_clir  s   &r   r  r  D  s    ((00r$   c                    V ^8  d   QhRRRR/# )r   _inr  r  r;  r%   )r  s   "r   r  r  H  s     . .< .3 .r$   c                .    \         P                  ! V 4      # r/   )r   r  )r  s   &r   r  r  H  s    ((--r$   c                    V ^8  d   QhRRRR/# r   _selfr  r  r  r%   )r  s   "r   r  r  L  s     + + + +r$   c                .    \         P                  ! V 4      # r/   )r   pygc_refreshr  s   &r   r  r  L  s    ##E**r$   c               $    V ^8  d   QhRRRRRR/# )r   r  r  groups_infosr  r%   )r  s   "r   r  r  P  s"     ? ?l ?, ??r$   c                .    \         P                  ! W4      # r/   )r   pygc_create_groups)r  r  s   &&r   r  r  P  s    ))%>>r$   c               (    V ^8  d   QhRRRRRRRR/# )r   r  r  groupsnew_currentr  r%   )r  s   "r   r  r  U  s0     F Fl FL FF!-Fr$   c                0    \         P                  ! WV4      # r/   )r   pygc_delete_groups)r  r  r  s   &&&r   r  r  U  s    ))%EEr$   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )r   r  r  r  expandr  r  r%   )r  s   "r   r  r  Z  s2      l L '37Cr$   c                2    \         P                  ! WVV4      # r/   )r   pygc_set_groups_visibility)r  r  r!  r  s   &&&&r   r#  r#  Z  s    11% r$   c                    V ^8  d   QhRRRR/# )r   r  r  r  z'TWidget *'r%   )r  s   "r   r  r  `  s     / /L /K /r$   c                .    \         P                  ! V 4      # r/   )r   pycim_get_widgetr  s   &r   r&  r&  `      ''..r$   c                    V ^8  d   QhRRRR/# r  r%   )r  s   "r   r  r  d  s     / /L /D /r$   c                .    \         P                  ! V 4      # r/   )r   pycim_view_closer  s   &r   r*  r*  d  r'  r$   c                     ] tR tRt$ Rt]! R R RR7      t]t]! ]	P                  ]	P                  4      tR]R&   R+R
 ltR t]	P                   tR,R ltR t]R R l4       t]R R l4       t]R 4       tR R ltR R lt]3R R lltR tR-R R lltR R ltR-R R lltR  t R! R" lt!R# R$ lt"R% R& lt#R' R( lt$R) t%R*t&R	# ).loader_input_tih  zhA helper class to work with linput_t related functions.
This class is also used by file loaders scripts.c                	6    V P                   P                  4       # r/   r
   r   )r  s   &r   r   loader_input_t.<lambda>k  s    r$   c                	8    V P                   P                  V4      # r/   r.  )r  r   s   &&r   r   r/  k  s    AFFJJqMr$   zThe membership flag)r  r  rg   Nc                	\    \         P                  ! V \         P                  ! V4      4       R # r/   )r   loader_input_t_swiginitnew_loader_input_t)r   	pycapsules   &&r   rp   loader_input_t.__init__r  s'    ++D+3(3* 	+r$   c                .    \         P                  ! V 4      # )zCloses the file)r   loader_input_t_closert   s   &r   r:  loader_input_t.closev  s    //55r$   c                0    \         P                  ! WV4      # )zOpens a file (or a remote file)

:param filename: the file name
:param remote: whether the file is local, or remote
:returns: Boolean)r   loader_input_t_open)r   rR   remotes   &&&r   rU  loader_input_t.open{  s     ..tvFFr$   c                .    \         P                  ! W4      # )zhLinks the current loader_input_t instance to a linput_t instance

:param linput: the linput_t to link to)r   loader_input_t_set_linput)r   linputs   &&r   
set_linputloader_input_t.set_linput  s     44TBBr$   c                    V ^8  d   QhRRRR/# )r   r?  'linput_t *'r  'loader_input_t *'r%   )r  s   "r   r  loader_input_t.__annotate__  s     > >L >,> >r$   c                	.    \         P                  ! V 4      # r/   )r   loader_input_t_from_linput)r?  s   &r   from_linputloader_input_t.from_linput  s    55f==r$   c                    V ^8  d   QhRRRR/# )r   r4  r  r  rD  r%   )r  s   "r   r  rE    s     B B B0B Br$   c                	.    \         P                  ! V 4      # r/   )r   loader_input_t_from_capsule)r4  s   &r   from_capsuleloader_input_t.from_capsule  s    66yAAr$   c                .    \         P                  ! V 4      # )zrA static method to construct an instance from a FILE*

:param fp: a FILE pointer
:returns: a new instance, or None)r   loader_input_t_from_fp)r  s   &r   from_fploader_input_t.from_fp  s     11"55r$   c                   V ^8  d   QhRR/# )r   r  rC  r%   )r  s   "r   r  rE    s     ; ;< ;r$   c                	.    \         P                  ! V 4      # r/   )r   loader_input_t_get_linputrt   s   &r   
get_linputloader_input_t.get_linput  s    44T::r$   c                    V ^8  d   QhRRRR/# )r   r  r   r   r  r%   )r  s   "r   r  rE    s     I I IS Ir$   c                0    \         P                  ! WV4      # )a"  Create a linput for process memory (By internally calling idaapi.create_memory_linput())
This linput will use dbg->read_memory() to read data

:param start: starting address of the input
:param size: size of the memory range to represent as linput
            if unknown, may be passed as 0)r   loader_input_t_open_memory)r   r  r   s   &&&r   open_memoryloader_input_t.open_memory  s     55d4HHr$   c                   V ^8  d   QhRR/# )r   offsetr  r%   )r  s   "r   r  rE    s     E E3 Er$   c                0    \         P                  ! WV4      # )zSet input source position

:param offset: the seek offset
:param whence: the position to seek from
:returns: the new position (not 0 as fseek!))r   loader_input_t_seek)r   r^  whences   &&&r   seekloader_input_t.seek  s     ..tVDDr$   c                .    \         P                  ! V 4      # )zReturns the current position)r   loader_input_t_tellrt   s   &r   tellloader_input_t.tell  s    ..t44r$   c                    V ^8  d   QhRRRR/# )r   r   r  fposr%   )r  s   "r   r  rE    s     A A AC Ar$   c                0    \         P                  ! WV4      # )zReturns a zero terminated string at the given position

:param size: maximum size of the string
:param fpos: if != -1 then seek will be performed before reading
:returns: The string or None on failure.)r   loader_input_t_getz)r   r   ri  s   &&&r   getzloader_input_t.getz  s     ..t4@@r$   c                   V ^8  d   QhRR/# )r   r   r  r%   )r  s   "r   r  rE    s     : : :r$   c                .    \         P                  ! W4      # )z}Reads a line from the input file. Returns the read line or None

:param len: the maximum line length
:returns: a str, or None)r   loader_input_t_gets)r   r   s   &&r   getsloader_input_t.gets  s    
 ..t99r$   c                   V ^8  d   QhRR/# )r   r   r  r%   )r  s   "r   r  rE    s     ; ; ;r$   c                .    \         P                  ! W4      # )zRead up to size bytes (all data if size is negative). Return an empty bytes object on EOF.

:param size: the maximum number of bytes to read
:returns: a bytes object)r   loader_input_t_read)r   r   s   &&r   rV  loader_input_t.read  s    
 ..t::r$   c                .    \         P                  ! V 4      # )z#Checks if the file is opened or not)r   loader_input_t_openedrt   s   &r   openedloader_input_t.opened  s    0066r$   c                    V ^8  d   QhRRRR/# )r   r   r  
big_endianr  r%   )r  s   "r   r  rE    s     L Lc Lt Lr$   c                0    \         P                  ! WV4      # )zSimilar to read() but it respect the endianness

:param size: the maximum number of bytes to read
:param big_endian: endianness
:returns: a str, or None)r   loader_input_t_readbytes)r   r   r|  s   &&&r   	readbytesloader_input_t.readbytes  s     33D
KKr$   c               (    V ^8  d   QhRRRRRRRR/# )r   rW  r  ea1r   ea2	patchabler  r%   )r  s   "r   r  rE    s(      S t $ 4 r$   c                2    \         P                  ! WW#V4      # )a  Load portion of file into the database
This function will include (ea1..ea2) into the addressing space of the
program (make it enabled)

:param li: pointer ot input source
:param pos: position in the file
:param ea1: start of range of destination linear addresses
:param ea2: end of range of destination linear addresses
:param patchable: should the kernel remember correspondance of
                  file offsets to linear addresses.
:returns: 1-ok,0-read error, a warning is displayed)r   loader_input_t_file2base)r   rW  r  r  r  s   &&&&&r   	file2baseloader_input_t.file2base  s     33Ds 	r$   c                   V ^8  d   QhRR/# )r   r  z'int64'r%   )r  s   "r   r  rE    s     5 5W 5r$   c                	.    \         P                  ! V 4      # r/   )r   loader_input_t_sizert   s   &r   r   loader_input_t.size  s    ..t44r$   c                   V ^8  d   QhRR/# )r   r  r  r%   )r  s   "r   r  rE    s     9 9 9r$   c                	.    \         P                  ! V 4      # r/   )r   loader_input_t_filenamert   s   &r   rR   loader_input_t.filename  s    22488r$   c                .    \         P                  ! V 4      # )zGReads a single byte from the file. Returns None if EOF or the read byte)r   loader_input_t_get_bytert   s   &r   get_byteloader_input_t.get_byte  s    22488r$   r%   r/   r   r
  )'r   r   r9   r:   r;   r   r   r   r   r   !loader_input_t___idc_cvt_id___get!loader_input_t___idc_cvt_id___setrg   r  rp   r:  delete_loader_input_tr  rU  r@  staticmethodrH  rM  rQ  rV  r[  SEEK_SETrb  rf  rl  rq  rV  ry  r  r  r   rR   r  r=   r%   r$   r   r,  r,  h  s    4-/I!#GH";));))+NC ++6 #88GC > > B B 6 6;I (0 E5A:;7L599r$   r,  r/   )    r  )r   B)r[  H)r  L)qQ)Fr   )NNN)TN)T)
__future__r   rG   r   r  __package__r   r   r   r~  r   ImportErrorr   r&   r,   r6   r   r8   r|  r  r  r>   r?   r@   
ida_idaapiBADADDR	BADADDR32	BADADDR64BADSELSIZE_MAXr  r   __EA64__rD   r-  r<  r6  bisectr  r  r;  r  r	  	long_typerW  rY   r_   rb   r  SEEK_CURSEEK_END
PLUGIN_MODPLUGIN_DRAW
PLUGIN_SEG
PLUGIN_UNLPLUGIN_HIDE
PLUGIN_DBGPLUGIN_PROC
PLUGIN_FIXPLUGIN_MULTIPLUGIN_SKIP	PLUGIN_OKPLUGIN_KEEPr   r  rf   ST_OVER_DEBUG_SEGST_OVER_LIB_FUNCobjectre   ri   r   r   r   r   r   r   r   r   r   r  r  
as_unicoder  r   r  r&  r*  r,  r2  r@  rI  rl  r  r  r  r  IDAPython_Completionr  
NW_OPENIDBNW_CLOSEIDB
NW_INITIDA
NW_TERMIDA	NW_REMOVEr  r  r  r  _IDAPython_displayhookr  r  r  HBF_CALL_WITH_NEW_EXECHBF_VOLATILE_METHOD_SETr   r  r  r  r  r  r  r  r  r#  r&  r*  r,  loader_input_t_swigregisterr%   r$   r   <module>r     s~   " 9#/"
 L$ L
 %==  % % 


!!	!!				
**    	 
 	"IM<LI 
',T
$
 




	     D  D$F $
91/ 91x"v ":$ 	% 	
/ /(*)* *)Z#- #'I 


 j1zA
 

; $-`#@M`@& @F 34 # 
 y h
 `
 d	 G ?$4
  A( A(H /0 (44
> %;; %== 43051.+?
F
//B9V B9J  ' ' 7I/  TDM4LIs   I= =J =JJJ 