+
    i                      R t ^ 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^ RIt ! R R]4      t]	P:                  ! ]4        ! R R]4      t]	P>                  ! ]4        ! R R]4      t ]	PB                  ! ] 4       ]	PD                  t" ]	PF                  t# ]	PH                  t$ ]	PJ                  t% ]	PL                  t& ]	PN                  t']	PP                  t(  ! R R]4      t)]	PT                  ! ])4       ]	PV                  t+R R lt,R R lt-R R lt.R R lt/ ! R R]4      t0]	Pb                  ! ]04        ! R R ]4      t2]	Pf                  ! ]24        ! R! R"]4      t4]	Pj                  ! ]44       R# R$ lt6 ! R% R&] 4      t7]	Pp                  ! ]74        ! R' R(]4      t9]	Pt                  ! ]94        ! R) R*]4      t;]	Px                  ! ];4        ! R+ R,]4      t=]	P|                  ! ]=4       ]	P~                  t?]?P                  t@]?P                  tA]?P                  tB]?P                  tC]?P                  tD]?P                  tE]?P                  tF ! R- R.]4      tG]	P                  ! ]G4        ! R/ R0]4      tI]	P                  ! ]I4        ! R1 R2]4      tK]	P                  ! ]K4        ! R3 R4]4      tM]	P                  ! ]M4       ]	P                  tO ]	P                  tP ]	P                  tQ ]	P                  tR ]	P                  tS ]	P                  tT  ! R5 R6]4      tU]	P                  ! ]U4        ! R7 R8]4      tW]	P                  ! ]W4        ! R9 R:]4      tY]	P                  ! ]Y4        ! R; R<]P                  4      t\]	P                  ! ]\4       ]?P                  t^]?P                  t_]?P                  t`]?P                  ta ! R= R>]4      tb]	P                  ! ]b4        ! R? R@]\4      td]	P                  ! ]d4       ]	P                  tf ]	P                  tg ]	P                  th ]	P                  ti ! RA RB]4      tj]	P                  ! ]j4       ]	P                  tl ]	P                  tm ]	P                  tn ]	P                  to]	P                  tp ]	P                  tq ]	P                  tr ]	P                  ts ]	P                  tt ]	P                  tu ]	P                  tv ]	P                  tw ]	P                  tx]	P                  ty ]	P                  tz ]	P                  t{ ]	P                  t| ]	P                  t} ]	P                  t~ ]	P                  t ]	EP                   t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP
                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                   t ]	EP"                  t ]	EP$                  t ]	EP&                  t ]	EP(                  t ]	EP*                  t ]	EP,                  t ]	EP.                  t ]	EP0                  t ]	EP2                  t ]	EP4                  t ]	EP6                  t ]	EP8                  t ]	EP:                  t ]	EP<                  t ]	EP>                  t ]	EP@                  t ]	EPB                  t ]	EPD                  t ]	EPF                  t]	EPH                  t]	EPJ                  t]	EPL                  t ]	EPN                  t ]	EPP                  t ]	EPR                  t ]	EPT                  t ]	EPV                  t ]	EPX                  t]	EPZ                  t ]	EP\                  t  ! RC RD]4      t]	EP`                  ! ]4       R}RE RF lltRG RH ltRI RJ ltRK RL ltRM RN ltRO RP ltRQ RR ltRS RT ltRU RV ltRW RX ltR~RY RZ lltR~R[ R\ lltR] R^ ltR_ R` ltRa Rb ltRc Rd ltRRe Rf lltRRg Rh lltRi Rj ltRk Rl ltRm Rn ltRo Rp lt ! Rq Rr]4      t]	EP                  ! ]4       Rs Rt ltRu Rv ltRw Rx ltRy Rz lt^ RIt^ RIt^ RIt]EP                  t]EP                  t]\t]dt]t]t]t]t ! R{ R|]EP                  4      tR#   ] d	    ^ RIt E	L i ; i)zGraph view management.)annotations)version_info.)
_ida_graphNc                     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   & AC:\Users\user\Downloads\ida93sp2\portable_win\python\ida_graph.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>.wrapper4   s'    s}}cll6G6G6IJJr#   r$   )r2   r3   s   f r   _swig_add_metaclassr5   1   s    KNr#   c                  >    ] tR t^9t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   r7   r7   9   s    U9$:J:JKKr#   r7   )TupleListUnionc                     ] tR t^Et]! R R RR7      t]tR t]	P                  tR R ltR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ lt R0 R1 lt!R2 R3 lt"R4 R5 lt#R6 R7 lt$R8 R9 lt%R: R; lt&R< R= lt'R> R? lt(R@ RA lt)]*PV                  t,]*PZ                  t.]*P^                  t0RBt1RC# )Dscreen_graph_selection_base_tc                	6    V P                   P                  4       # r.   r	   r   xs   &r   <lambda>&screen_graph_selection_base_t.<lambda>F       r#   c                	8    V P                   P                  V4      # r.   rC   rE   vs   &&r   rF   rG   F       AFFJJqMr#   The membership flagdocc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   &screen_graph_selection_base_t_swiginit!new_screen_graph_selection_base_tr   argss   &*r   __init__&screen_graph_selection_base_t.__init__J   s)    99$
--A./3A5 	6r#   c                   V ^8  d   QhRR/# )   returnz'selection_item_t &'r$   )formats   "r   __annotate__*screen_graph_selection_base_t.__annotate__O   s     O O!5 Or#   c                	2    \         P                  ! V .VO5!  # r.   )r   'screen_graph_selection_base_t_push_backrS   s   &*r   	push_back'screen_graph_selection_base_t.push_backO   s    AA$NNNr#   c                   V ^8  d   QhRR/# rX   rY   Noner$   )rZ   s   "r   r[   r\   R        G G Gr#   c                	.    \         P                  ! V 4      # r.   )r   &screen_graph_selection_base_t_pop_backr   s   &r   pop_back&screen_graph_selection_base_t.pop_backR       @@FFr#   c                   V ^8  d   QhRR/# rX   rY   intr$   )rZ   s   "r   r[   r\   U   s     C CS Cr#   c                	.    \         P                  ! V 4      # r.   )r   "screen_graph_selection_base_t_sizerg   s   &r   size"screen_graph_selection_base_t.sizeU   s    <<TBBr#   c                   V ^8  d   QhRR/# rX   rY   boolr$   )rZ   s   "r   r[   r\   X        D Dd Dr#   c                	.    \         P                  ! V 4      # r.   )r   #screen_graph_selection_base_t_emptyrg   s   &r   empty#screen_graph_selection_base_t.emptyX       ==dCCr#   c                    V ^8  d   QhRRRR/# )rX   _idxrm   rY   'selection_item_t const &'r$   )rZ   s   "r   r[   r\   [   s     G Gs G8 Gr#   c                	.    \         P                  ! W4      # r.   )r    screen_graph_selection_base_t_atr   r|   s   &&r   at screen_graph_selection_base_t.at[   s    ::4FFr#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\   ^   s     E Et Er#   c                	.    \         P                  ! V 4      # r.   )r   $screen_graph_selection_base_t_qclearrg   s   &r   qclear$screen_graph_selection_base_t.qclear^       >>tDDr#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\   a   ru   r#   c                	.    \         P                  ! V 4      # r.   )r   #screen_graph_selection_base_t_clearrg   s   &r   clear#screen_graph_selection_base_t.cleara   rz   r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\   d   s     L Ld Lr#   c                	2    \         P                  ! V .VO5!  # r.   )r   $screen_graph_selection_base_t_resizerS   s   &*r   resize$screen_graph_selection_base_t.resized   s    >>tKdKKr#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\   g   s     J JD Jr#   c                	2    \         P                  ! V .VO5!  # r.   )r   "screen_graph_selection_base_t_growrS   s   &*r   grow"screen_graph_selection_base_t.growg       <<TIDIIr#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r\   j   s     G G Gr#   c                	.    \         P                  ! V 4      # r.   )r   &screen_graph_selection_base_t_capacityrg   s   &r   capacity&screen_graph_selection_base_t.capacityj   rj   r#   c                    V ^8  d   QhRRRR/# rX   cntrm   rY   rc   r$   )rZ   s   "r   r[   r\   m   s     K K3 K$ Kr#   c                	.    \         P                  ! W4      # r.   )r   %screen_graph_selection_base_t_reserver   r   s   &&r   reserve%screen_graph_selection_base_t.reservem   s    ??JJr#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\   p   rd   r#   c                	.    \         P                  ! V 4      # r.   )r   &screen_graph_selection_base_t_truncaterg   s   &r   truncate&screen_graph_selection_base_t.truncatep   rj   r#   c                    V ^8  d   QhRRRR/# )rX   r'screen_graph_selection_base_t'rY   rc   r$   )rZ   s   "r   r[   r\   s   s     F F5 F Fr#   c                	.    \         P                  ! W4      # r.   )r   "screen_graph_selection_base_t_swapr   r   s   &&r   swap"screen_graph_selection_base_t.swaps       <<TEEr#   c                   V ^8  d   QhRR/# )rX   rY   z'selection_item_t *'r$   )rZ   s   "r   r[   r\   v   s     F F, Fr#   c                	.    \         P                  ! V 4      # r.   )r   %screen_graph_selection_base_t_extractrg   s   &r   extract%screen_graph_selection_base_t.extractv       ??EEr#   c               $    V ^8  d   QhRRRRRR/# )rX   s'selection_item_t'lenrm   rY   rc   r$   )rZ   s   "r   r[   r\   y   s'     M M* M M Mr#   c                	0    \         P                  ! WV4      # r.   )r   $screen_graph_selection_base_t_injectr   r   r   s   &&&r   inject$screen_graph_selection_base_t.injecty   s    >>tLLr#   c                    V ^8  d   QhRRRR/# rX   r   r   rY   rt   r$   )rZ   s   "r   r[   r\   |        H H7 H4 Hr#   c                	.    \         P                  ! W4      # r.   )r   $screen_graph_selection_base_t___eq__r   s   &&r   __eq__$screen_graph_selection_base_t.__eq__|       >>tGGr#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r\      r   r#   c                	.    \         P                  ! W4      # r.   )r   $screen_graph_selection_base_t___ne__r   s   &&r   __ne__$screen_graph_selection_base_t.__ne__   r   r#   c                   V ^8  d   QhRR/# rX   rY   z-'qvector< selection_item_t >::const_iterator'r$   )rZ   s   "r   r[   r\      s     K KJ Kr#   c                	2    \         P                  ! V .VO5!  # r.   )r   #screen_graph_selection_base_t_beginrS   s   &*r   begin#screen_graph_selection_base_t.begin       ==dJTJJr#   c                   V ^8  d   QhRR/# r   r$   )rZ   s   "r   r[   r\      s     I IH Ir#   c                	2    \         P                  ! V .VO5!  # r.   )r   !screen_graph_selection_base_t_endrS   s   &*r   end!screen_graph_selection_base_t.end   s    ;;DH4HHr#   c               $    V ^8  d   QhRRRRRR/# )rX   itr   rE   rY   ''qvector< selection_item_t >::iterator'r$   )rZ   s   "r   r[   r\      s)     L L+ L0B L3Lr#   c                	0    \         P                  ! WV4      # r.   )r   $screen_graph_selection_base_t_insertr   r   rE   s   &&&r   insert$screen_graph_selection_base_t.insert   s    >>tKKr#   c                   V ^8  d   QhRR/# )rX   rY   r   r$   )rZ   s   "r   r[   r\      s     K KD Kr#   c                	2    \         P                  ! V .VO5!  # r.   )r   #screen_graph_selection_base_t_eraserS   s   &*r   erase#screen_graph_selection_base_t.erase   r   r#   c                   V ^8  d   QhRR/# r   r$   )rZ   s   "r   r[   r\      s     J JI Jr#   c                	2    \         P                  ! V .VO5!  # r.   )r   "screen_graph_selection_base_t_findrS   s   &*r   find"screen_graph_selection_base_t.find   r   r#   c                    V ^8  d   QhRRRR/# rX   rE   r   rY   rt   r$   )rZ   s   "r   r[   r\      s     E E' E4 Er#   c                	.    \         P                  ! W4      # r.   )r   !screen_graph_selection_base_t_hasr   rE   s   &&r   has!screen_graph_selection_base_t.has   s    ;;DDDr#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r\      s     L L. L$ Lr#   c                	.    \         P                  ! W4      # r.   )r   (screen_graph_selection_base_t_add_uniquer   s   &&r   
add_unique(screen_graph_selection_base_t.add_unique   s    BB4KKr#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r\      s     F F( FD Fr#   c                	.    \         P                  ! W4      # r.   )r   "screen_graph_selection_base_t__delr   s   &&r   _del"screen_graph_selection_base_t._del   r   r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r\      s     F F Fr#   c                	.    \         P                  ! V 4      # r.   )r   %screen_graph_selection_base_t___len__rg   s   &r   __len__%screen_graph_selection_base_t.__len__   r   r#   c                    V ^8  d   QhRRRR/# )rX   irm   rY   r}   r$   )rZ   s   "r   r[   r\      s     M MS M$> Mr#   c                	.    \         P                  ! W4      # r.   )r   )screen_graph_selection_base_t___getitem__r   r  s   &&r   __getitem__)screen_graph_selection_base_t.__getitem__   s    CCDLLr#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   rK   r   rY   rc   r$   )rZ   s   "r   r[   r\      s'     P PS P%7 P4 Pr#   c                	0    \         P                  ! WV4      # r.   )r   )screen_graph_selection_base_t___setitem__r   r  rK   s   &&&r   __setitem__)screen_graph_selection_base_t.__setitem__   s    CCDQOOr#   c                    V ^8  d   QhRRRR/# )rX   rE   r   rY   rc   r$   )rZ   s   "r   r[   r\      s     H H* Hd Hr#   c                	.    \         P                  ! W4      # r.   )r   $screen_graph_selection_base_t_appendr   s   &&r   append$screen_graph_selection_base_t.append   r   r#   c                    V ^8  d   QhRRRR/# )rX   rE   r   rY   rc   r$   )rZ   s   "r   r[   r\      r   r#   c                	.    \         P                  ! W4      # r.   )r   $screen_graph_selection_base_t_extendr   s   &&r   extend$screen_graph_selection_base_t.extend   r   r#   r$   N)2r   r   r8   r9   r   r   r   r
   rU   r   $delete_screen_graph_selection_base_t__swig_destroy__r_   rh   rp   rx   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  
ida_idaapi_qvector_frontfront_qvector_backback_bounded_getitem_iterator__iter__r<   r$   r#   r   rA   rA   E   s   -/I!#GH6 "FFOGCDGEDLJGKGFFMHHKILKJELFFMPHH%%E##D33Hr#   rA   c                     ] tR t^t]! R R RR7      t]tR t]	P                  tR R ltR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ lt R0 R1 lt!R2 R3 lt"R4 R5 lt#R6 R7 lt$R8 R9 lt%R: R; lt&R< R= lt'R> R? lt(R@ RA lt)]*PV                  t,]*PZ                  t.]*P^                  t0RBt1RC# )Dnode_layout_tc                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   node_layout_t.<lambda>   rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r'     rL   r#   rM   rN   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   node_layout_t_swiginitnew_node_layout_trS   s   &*r   rU   node_layout_t.__init__   s'    ))$
1#1% 	&r#   c                   V ^8  d   QhRR/# )rX   rY   z
'rect_t &'r$   )rZ   s   "r   r[   node_layout_t.__annotate__   s     ? ? ?r#   c                	2    \         P                  ! V .VO5!  # r.   )r   node_layout_t_push_backrS   s   &*r   r_   node_layout_t.push_back   s    11$>>>r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r.          7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   node_layout_t_pop_backrg   s   &r   rh   node_layout_t.pop_back       0066r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r.     s     3 3S 3r#   c                	.    \         P                  ! V 4      # r.   )r   node_layout_t_sizerg   s   &r   rp   node_layout_t.size       ,,T22r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r.          4 4d 4r#   c                	.    \         P                  ! V 4      # r.   )r   node_layout_t_emptyrg   s   &r   rx   node_layout_t.empty       --d33r#   c                    V ^8  d   QhRRRR/# )rX   r|   rm   rY   'rect_t const &'r$   )rZ   s   "r   r[   r.     s     7 7s 7. 7r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t_atr   s   &&r   r   node_layout_t.at   s    **466r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r.     s     5 5t 5r#   c                	.    \         P                  ! V 4      # r.   )r   node_layout_t_qclearrg   s   &r   r   node_layout_t.qclear       ..t44r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r.     r>  r#   c                	.    \         P                  ! V 4      # r.   )r   node_layout_t_clearrg   s   &r   r   node_layout_t.clear   rB  r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r.     s     < <d <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   node_layout_t_resizerS   s   &*r   r   node_layout_t.resize       ..t;d;;r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r.     s     : :D :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   node_layout_t_growrS   s   &*r   r   node_layout_t.grow       ,,T9D99r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r.     s     7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   node_layout_t_capacityrg   s   &r   r   node_layout_t.capacity   r7  r#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r.     s     ; ;3 ;$ ;r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t_reserver   s   &&r   r   node_layout_t.reserve   s    //::r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r.     r3  r#   c                	.    \         P                  ! V 4      # r.   )r   node_layout_t_truncaterg   s   &r   r   node_layout_t.truncate   r7  r#   c                    V ^8  d   QhRRRR/# )rX   r   'node_layout_t'rY   rc   r$   )rZ   s   "r   r[   r.     s     6 6o 6 6r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t_swapr   s   &&r   r   node_layout_t.swap       ,,T55r#   c                   V ^8  d   QhRR/# )rX   rY   z
'rect_t *'r$   )rZ   s   "r   r[   r.     s     6 6
 6r#   c                	.    \         P                  ! V 4      # r.   )r   node_layout_t_extractrg   s   &r   r   node_layout_t.extract       //55r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   'rect_t'r   rm   rY   rc   r$   )rZ   s   "r   r[   r.     s!     = = =s =d =r#   c                	0    \         P                  ! WV4      # r.   )r   node_layout_t_injectr   s   &&&r   r   node_layout_t.inject   s    ..t<<r#   c                    V ^8  d   QhRRRR/# rX   r   rh  rY   rt   r$   )rZ   s   "r   r[   r.          8 8 84 8r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t___eq__r   s   &&r   r   node_layout_t.__eq__       ..t77r#   c                    V ^8  d   QhRRRR/# rx  r$   )rZ   s   "r   r[   r.     ry  r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t___ne__r   s   &&r   r   node_layout_t.__ne__   r}  r#   c                   V ^8  d   QhRR/# rX   rY   z#'qvector< rect_t >::const_iterator'r$   )rZ   s   "r   r[   r.     s     ; ;@ ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   node_layout_t_beginrS   s   &*r   r   node_layout_t.begin       --d:T::r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r.     s     9 9> 9r#   c                	2    \         P                  ! V .VO5!  # r.   )r   node_layout_t_endrS   s   &*r   r   node_layout_t.end       ++D8488r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   rs  rE   rY   'qvector< rect_t >::iterator'r$   )rZ   s   "r   r[   r.     s"     < < <h <)<r#   c                	0    \         P                  ! WV4      # r.   )r   node_layout_t_insertr   s   &&&r   r   node_layout_t.insert   s    ..t;;r#   c                   V ^8  d   QhRR/# )rX   rY   r  r$   )rZ   s   "r   r[   r.     s     ; ;: ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   node_layout_t_eraserS   s   &*r   r   node_layout_t.erase   r  r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r.     s     : :? :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   node_layout_t_findrS   s   &*r   r   node_layout_t.find   rZ  r#   c                    V ^8  d   QhRRRR/# rX   rE   rs  rY   rt   r$   )rZ   s   "r   r[   r.     s     5 5X 5 5r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t_hasr   s   &&r   r   node_layout_t.has       ++D44r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r.    s     < <H < <r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t_add_uniquer   s   &&r   r   node_layout_t.add_unique      224;;r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r.    s     6 6h 6$ 6r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t__delr   s   &&r   r   node_layout_t._del  rl  r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r.    s     6 6 6r#   c                	.    \         P                  ! V 4      # r.   )r   node_layout_t___len__rg   s   &r   r  node_layout_t.__len__  rq  r#   c                    V ^8  d   QhRRRR/# )rX   r  rm   rY   rD  r$   )rZ   s   "r   r[   r.    s     = =S =$4 =r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t___getitem__r  s   &&r   r	  node_layout_t.__getitem__      33D<<r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   rK   rs  rY   rc   r$   )rZ   s   "r   r[   r.    s&     @ @S @X @ @r#   c                	0    \         P                  ! WV4      # r.   )r   node_layout_t___setitem__r  s   &&&r   r  node_layout_t.__setitem__  s    33DQ??r#   c                    V ^8  d   QhRRRR/# )rX   rE   rs  rY   rc   r$   )rZ   s   "r   r[   r.    s     8 8 8D 8r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t_appendr   s   &&r   r  node_layout_t.append  r}  r#   c                    V ^8  d   QhRRRR/# )rX   rE   rh  rY   rc   r$   )rZ   s   "r   r[   r.    ry  r#   c                	.    \         P                  ! W4      # r.   )r   node_layout_t_extendr   s   &&r   r  node_layout_t.extend  r}  r#   r$   N)2r   r   r8   r9   r   r   r   r
   rU   r   delete_node_layout_tr  r_   rh   rp   rx   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   r!  r"  r#  r<   r$   r#   r   r%  r%     s    -/I!#GH& "66?734754<:7;766=88;9<;:5<66=@88%%E##D33Hr#   r%  c                     ] tR tRt]! R R RR7      t]tR t]	P                  tR R ltR	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#R7 R8 lt$R9 R: lt%R; R< lt&R= R> lt'R? R@ lt(RA RB lt)]*PV                  t,]*PZ                  t.]*P^                  t0RCt1RD# )E
pointvec_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   pointvec_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   pointvec_t_swiginitnew_pointvec_trS   s   &*r   rU   pointvec_t.__init__#      &&tZ-F-F-MNr#   c                   V ^8  d   QhRR/# )rX   rY   'point_t &'r$   )rZ   s   "r   r[   pointvec_t.__annotate__'  s     < < <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   pointvec_t_push_backrS   s   &*r   r_   pointvec_t.push_back'  rU  r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  *       4 4 4r#   c                	.    \         P                  ! V 4      # r.   )r   pointvec_t_pop_backrg   s   &r   rh   pointvec_t.pop_back*  rB  r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r  -  s     0 0S 0r#   c                	.    \         P                  ! V 4      # r.   )r   pointvec_t_sizerg   s   &r   rp   pointvec_t.size-  s    ))$//r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r  0       1 1d 1r#   c                	.    \         P                  ! V 4      # r.   )r   pointvec_t_emptyrg   s   &r   rx   pointvec_t.empty0      **400r#   c                    V ^8  d   QhRRRR/# )rX   r|   rm   rY   'point_t const &'r$   )rZ   s   "r   r[   r  3  s     4 4s 4/ 4r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t_atr   s   &&r   r   pointvec_t.at3  s    ''33r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  6  s     2 2t 2r#   c                	.    \         P                  ! V 4      # r.   )r   pointvec_t_qclearrg   s   &r   r   pointvec_t.qclear6      ++D11r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  9  r  r#   c                	.    \         P                  ! V 4      # r.   )r   pointvec_t_clearrg   s   &r   r   pointvec_t.clear9  r  r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  <  s     9 9d 9r#   c                	2    \         P                  ! V .VO5!  # r.   )r   pointvec_t_resizerS   s   &*r   r   pointvec_t.resize<  r  r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  ?  s     7 7D 7r#   c                	2    \         P                  ! V .VO5!  # r.   )r   pointvec_t_growrS   s   &*r   r   pointvec_t.grow?      ))$666r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r  B  s     4 4 4r#   c                	.    \         P                  ! V 4      # r.   )r   pointvec_t_capacityrg   s   &r   r   pointvec_t.capacityB  rB  r#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r  E  s     8 83 8$ 8r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t_reserver   s   &&r   r   pointvec_t.reserveE  s    ,,T77r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  H  r  r#   c                	.    \         P                  ! V 4      # r.   )r   pointvec_t_truncaterg   s   &r   r   pointvec_t.truncateH  rB  r#   c                    V ^8  d   QhRRRR/# )rX   r   'pointvec_t'rY   rc   r$   )rZ   s   "r   r[   r  K  s     3 3l 3d 3r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t_swapr   s   &&r   r   pointvec_t.swapK      ))$22r#   c                   V ^8  d   QhRR/# )rX   rY   z'point_t *'r$   )rZ   s   "r   r[   r  N  s     3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   pointvec_t_extractrg   s   &r   r   pointvec_t.extractN  r<  r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   	'point_t'r   rm   rY   rc   r$   )rZ   s   "r   r[   r  Q  s!     : :	 : :t :r#   c                	0    \         P                  ! WV4      # r.   )r   pointvec_t_injectr   s   &&&r   r   pointvec_t.injectQ  s    ++DS99r#   c                    V ^8  d   QhRRRR/# rX   r   r  rY   rt   r$   )rZ   s   "r   r[   r  T       5 5 5 5r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t___eq__r   s   &&r   r   pointvec_t.__eq__T  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  W  r  r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t___ne__r   s   &&r   r   pointvec_t.__ne__W  r  r#   c                   V ^8  d   QhRR/# rX   rY   z$'qvector< point_t >::const_iterator'r$   )rZ   s   "r   r[   r  Z  s     8 8A 8r#   c                	2    \         P                  ! V .VO5!  # r.   )r   pointvec_t_beginrS   s   &*r   r   pointvec_t.beginZ      **47$77r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r  ]  s     6 6? 6r#   c                	2    \         P                  ! V .VO5!  # r.   )r   pointvec_t_endrS   s   &*r   r   pointvec_t.end]  s    ((555r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   r  rE   rY   'qvector< point_t >::iterator'r$   )rZ   s   "r   r[   r  `  s"     9 9 9y 9*9r#   c                	0    \         P                  ! WV4      # r.   )r   pointvec_t_insertr   s   &&&r   r   pointvec_t.insert`  s    ++Da88r#   c                   V ^8  d   QhRR/# )rX   rY   r%  r$   )rZ   s   "r   r[   r  d  s     8 8; 8r#   c                	2    \         P                  ! V .VO5!  # r.   )r   pointvec_t_eraserS   s   &*r   r   pointvec_t.erased  r  r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r  g  s     7 7@ 7r#   c                	2    \         P                  ! V .VO5!  # r.   )r   pointvec_t_findrS   s   &*r   r   pointvec_t.findg  r  r#   c                    V ^8  d   QhRRRR/# rX   rE   r  rY   rt   r$   )rZ   s   "r   r[   r  j  s     2 2Y 2$ 2r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t_hasr   s   &&r   r   pointvec_t.hasj      ((11r#   c                    V ^8  d   QhRRRR/# r2  r$   )rZ   s   "r   r[   r  m  s     9 9I 9 9r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t_add_uniquer   s   &&r   r   pointvec_t.add_uniquem      //88r#   c                    V ^8  d   QhRRRR/# r2  r$   )rZ   s   "r   r[   r  p  s     3 3i 34 3r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t__delr   s   &&r   r   pointvec_t._delp  r  r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r  s  s     3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   pointvec_t___len__rg   s   &r   r  pointvec_t.__len__s  r<  r#   c                    V ^8  d   QhRRRR/# )rX   r  rm   rY   r  r$   )rZ   s   "r   r[   r  v  s     : :S :$5 :r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t___getitem__r  s   &&r   r	  pointvec_t.__getitem__v      0099r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   rK   r  rY   rc   r$   )rZ   s   "r   r[   r  y  s!     = =S =Y =$ =r#   c                	0    \         P                  ! WV4      # r.   )r   pointvec_t___setitem__r  s   &&&r   r  pointvec_t.__setitem__y  s    00!<<r#   c                    V ^8  d   QhRRRR/# )rX   rE   r  rY   rc   r$   )rZ   s   "r   r[   r  |  s     5 5	 5T 5r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t_appendr   s   &&r   r  pointvec_t.append|  r  r#   c                    V ^8  d   QhRRRR/# )rX   rE   r  rY   rc   r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   pointvec_t_extendr   s   &&r   r  pointvec_t.extend  r  r#   r$   N)2r   r   r8   r9   r   r   r   r
   rU   r   delete_pointvec_tr  r_   rh   rp   rx   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   r!  r"  r#  r<   r$   r#   r   r  r    s    -/I!#GHO!33<4014219748433:55869872933:=55%%E##D33Hr#   r  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R&    ]! ]P                   ]P"                  4      tR	]R
&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    R R ltR R ltR R ltR R ltR R ltR R ltR t]P@                  t!Rt"R# )node_info_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   node_info_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   rY    rL   r#   rM   rN   'bgcolor_t'bg_colorframe_colorrm   flagsida_idaapi.ea_teastrtextc                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   node_info_t.__annotate__  s     ; ;t ;r#   c                .    \         P                  ! V 4      # )zHas valid bg_color?
)r   node_info_t_valid_bg_colorrg   s   &r   valid_bg_colornode_info_t.valid_bg_color  s     44T::r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   rd    s     > >$ >r#   c                .    \         P                  ! V 4      # )zHas valid frame_color?
)r   node_info_t_valid_frame_colorrg   s   &r   valid_frame_colornode_info_t.valid_frame_color  s     77==r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   rd    s     5 5 5r#   c                .    \         P                  ! V 4      # )zHas valid ea?
)r   node_info_t_valid_earg   s   &r   valid_eanode_info_t.valid_ea  s     ..t44r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   rd    s     7 74 7r#   c                .    \         P                  ! V 4      # )zHas non-empty text?
)r   node_info_t_valid_textrg   s   &r   
valid_textnode_info_t.valid_text  s     0066r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   rd    s     8 8D 8r#   c                .    \         P                  ! V 4      # )zHas valid flags?
)r   node_info_t_valid_flagsrg   s   &r   valid_flagsnode_info_t.valid_flags  s     11$77r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   rd    s     @ @C @r#   c                .    \         P                  ! V 4      # )zJGet combination of Node info flags describing which attributes are valid.
)r   node_info_t_get_flags_for_validrg   s   &r   get_flags_for_validnode_info_t.get_flags_for_valid  s     99$??r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   node_info_t_swiginitnew_node_info_trg   s   &r   rU   node_info_t.__init__      ''j.H.H.JKr#   r$   N)#r   r   r8   r9   r   r   r   r
   r   node_info_t_bg_color_getnode_info_t_bg_color_setr\  __annotations__node_info_t_frame_color_getnode_info_t_frame_color_setr]  node_info_t_flags_getnode_info_t_flags_setr^  node_info_t_ea_getnode_info_t_ea_setr`  node_info_t_text_getnode_info_t_text_setrb  rg  rl  rq  rv  r{  r  rU   delete_node_info_tr  r<   r$   r#   r   rW  rW    s   -/I!#GH$Z%H%H++-Hk -'
##Z%K%K MK M*::JE3 ":#@#@%%'B '88*D# ;
>
5
7
8
@
L!44r#   rW  c               (    V ^8  d   QhRRRRRRRR/# )	rX   out'node_info_t'gid'graph_id_t'noderm   rY   rt   r$   )rZ   s   "r   r[   r[     s(     4 4} 4< 4s 4d 4r#   c                0    \         P                  ! WV4      # )zvGet node info. 
        
:param out: result
:param gid: id of desired graph
:param node: node number
:returns: success)r   get_node_info)r  r  r  s   &&&r   r  r    s     ##Cd33r#   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rX   r  r  r  rm   nir  r^  rY   rc   r$   )rZ   s   "r   r[   r[     s0     : :| :3 :M :# ::r#   c                0    \         P                  ! WW#4      # )zSet node info. 
        
:param gid: id of desired graph
:param node: node number
:param ni: node info to use
:param flags: combination of Node info flags, identifying which fields of 'ni' will be used)r   set_node_info)r  r  r  r^  s   &&&&r   r  r    s     ##Cr99r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r  rm   rY   rc   r$   )rZ   s   "r   r[   r[     s!     / /| /3 /$ /r#   c                .    \         P                  ! W4      # )z+Delete the node_info_t for the given node.
)r   del_node_info)r  r  s   &&r   r  r    s     ##C..r#   c               (    V ^8  d   QhRRRRRRRR/# )rX   r  r  r  rm   r^  rY   rc   r$   )rZ   s   "r   r[   r[     s(     6 6| 63 6s 6d 6r#   c                0    \         P                  ! WV4      # )zClear node info for the given node. 
        
:param gid: id of desired graph
:param node: node number
:param flags: combination of Node info flags, identifying which fields of node_info_t will be cleared)r   clr_node_info)r  r  r^  s   &&&r   r  r    s     ##Cu55r#   c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R lt]P                  tR tR tRtR# )graph_node_visitor_ti   c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   graph_node_visitor_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   !graph_node_visitor_t.__annotate__  s     < <t <r#   c                .    \         P                  ! V 4      # )zReset visited nodes.
)r   graph_node_visitor_t_reinitrg   s   &r   reinitgraph_node_visitor_t.reinit  s     55d;;r#   c                    V ^8  d   QhRRRR/# rX   nrm   rY   rc   r$   )rZ   s   "r   r[   r  
  s     D DS DD Dr#   c                .    \         P                  ! W4      # )zMark node as visited.
)r    graph_node_visitor_t_set_visitedr   r  s   &&r   set_visited graph_node_visitor_t.set_visited
  s     ::4CCr#   c                    V ^8  d   QhRRRR/# )rX   r  rm   rY   rt   r$   )rZ   s   "r   r[   r    s     C CC C4 Cr#   c                .    \         P                  ! W4      # )z(Have we already visited the given node?
)r   graph_node_visitor_t_is_visitedr  s   &&r   
is_visitedgraph_node_visitor_t.is_visited  s     99$BBr#   c                    V ^8  d   QhRRRR/# rX   arg0rm   rY   r$   )rZ   s   "r   r[   r    s     F Fs Fc Fr#   c                .    \         P                  ! W4      # )z2Implements action to take when a node is visited.
)r   graph_node_visitor_t_visit_noder   r  s   &&r   
visit_nodegraph_node_visitor_t.visit_node  s     99$EEr#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   arg1rY   rt   r$   )rZ   s   "r   r[   r    s!      c   r#   c                0    \         P                  ! WV4      # )z0Should the edge between 'n' and 'm' be ignored?
)r   &graph_node_visitor_t_is_forbidden_edge)r   r  r  s   &&&r   is_forbidden_edge&graph_node_visitor_t.is_forbidden_edge  s     @@ 	r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   graph_node_visitor_t_swiginitnew_graph_node_visitor_tr   _selfs   & r   rU   graph_node_visitor_t.__init__   >    >>11EE00z$$8%%*8, 	-r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   disownr   disown_graph_node_visitor_tweakrefproxyrg   s   &r   
__disown__graph_node_visitor_t.__disown__(  /    		..t4}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r  r  r  r  r  r   delete_graph_node_visitor_tr  rU   r  r<   r$   r#   r   r  r     sN    -/I!#GH<
D
C
F

 "==-#r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 R ltR R lt]P$                  tR tR tRtR# )graph_path_visitor_ti1  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   graph_path_visitor_t.<lambda>2  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  2  rL   r#   rM   rN   
'intvec_t'pathrt   prunec                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   !graph_path_visitor_t.__annotate__>  s     H H H Hr#   c                	.    \         P                  ! W4      # r.   )r   !graph_path_visitor_t_walk_forwardr  s   &&r   walk_forward!graph_path_visitor_t.walk_forward>      ;;DGGr#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  A  s     I I# I Ir#   c                	.    \         P                  ! W4      # r.   )r   "graph_path_visitor_t_walk_backwardr  s   &&r   walk_backward"graph_path_visitor_t.walk_backwardA      <<THHr#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   graph_path_visitor_t_swiginitnew_graph_path_visitor_tr  s   & r   rU   graph_path_visitor_t.__init__E  r  r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_graph_path_visitor_tr  r  rg   s   &r   r  graph_path_visitor_t.__disown__M  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   graph_path_visitor_t_path_getgraph_path_visitor_t_path_setr  r  graph_path_visitor_t_prune_getgraph_path_visitor_t_prune_setr  r  r  delete_graph_path_visitor_tr  rU   r  r<   r$   r#   r   r  r  1  s    -/I!#GH
 H H002D* 2:DD113E4 3HI!==-#r#   r  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   R	 tR
 R ltR R ltR R ltR R ltR R lt]P,                  tRtR# )point_tiV  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   point_t.<lambda>W  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  W  rL   r#   rM   rN   rm   rE   yc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   point_t_swiginitnew_point_trS   s   &*r   rU   point_t.__init__]  s    ##D**@*@$*GHr#   c                    V ^8  d   QhRRRR/# rX   r   r  rY   r  r$   )rZ   s   "r   r[   point_t.__annotate__`       / /Y /+ /r#   c                	.    \         P                  ! W4      # r.   )r   point_t_addr   s   &&r   addpoint_t.add`      %%d..r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  c  r	  r#   c                	.    \         P                  ! W4      # r.   )r   point_t_subr   s   &&r   subpoint_t.subc  r  r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  f  s     / /t /r#   c                	.    \         P                  ! V 4      # r.   )r   point_t_negaterg   s   &r   negatepoint_t.negatef      ((..r#   c                    V ^8  d   QhRRRR/# rX   r   r  rY   rt   r$   )rZ   s   "r   r[   r  i       2 2	 2T 2r#   c                	.    \         P                  ! W4      # r.   )r   point_t___eq__r   s   &&r   r   point_t.__eq__i  r6  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  l  r  r#   c                	.    \         P                  ! W4      # r.   )r   point_t___ne__r   s   &&r   r   point_t.__ne__l  r6  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   point_t_x_getpoint_t_x_setrE   r  point_t_y_getpoint_t_y_setr  rU   r  r  r  r   r   delete_point_tr  r<   r$   r#   r   r  r  V  s    -/I!#GHj..
0H0HIAsIj..
0H0HIAsII///22!00r#   r  c               $    V ^8  d   QhRRRRRR/# )rX   pr  qrY   'double'r$   )rZ   s   "r   r[   r[   t  s!     & & &y &H &r#   c                .    \         P                  ! W4      # )z$Calculate distance between p and q.
)r   	calc_dist)r*  r+  s   &&r   r.  r.  t  s     %%r#   c                  R    ] tR tRt]! R R RR7      t]tR t]	P                  tRtR# )	
pointseq_tiz  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   pointseq_t.<lambda>{  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r2  {  rL   r#   rM   rN   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   pointseq_t_swiginitnew_pointseq_trg   s   &r   rU   pointseq_t.__init__      &&tZ-F-F-HIr#   r$   N)r   r   r8   r9   r   r   r   r
   rU   r   delete_pointseq_tr  r<   r$   r#   r   r0  r0  z  s,    -/I!#GHJ!33r#   r0  c                  0   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   ]! ]P                   ]P"                  4      tR]R	&   ]! ]P&                  ]P(                  4      tR]R
&   R tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt R  R! lt!R" R# lt"R$ R% lt#R& R' lt$R( R) lt%R* R+ lt&R, R- lt']PP                  t)R.t*R/# )0rect_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   rect_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r=    rL   r#   rM   rN   rm   lefttoprightbottomc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   rect_t_swiginit
new_rect_trS   s   &*r   rU   rect_t.__init__  s    ""4)>)>)EFr#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   rect_t.__annotate__  s     . .t .r#   c                	.    \         P                  ! V 4      # r.   )r   rect_t_verifyrg   s   &r   verifyrect_t.verify      ''--r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   rH    s     - -c -r#   c                	.    \         P                  ! V 4      # r.   )r   rect_t_widthrg   s   &r   widthrect_t.width      &&t,,r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   rH    s     . .s .r#   c                	.    \         P                  ! V 4      # r.   )r   rect_t_heightrg   s   &r   heightrect_t.height  rM  r#   c                    V ^8  d   QhRRRR/# rX   r*  r  rY   rc   r$   )rZ   s   "r   r[   rH         2 2 2d 2r#   c                	.    \         P                  ! W4      # r.   )r   rect_t_move_tor   r*  s   &&r   move_torect_t.move_to  r6  r#   c                    V ^8  d   QhRRRR/# rZ  r$   )rZ   s   "r   r[   rH    r[  r#   c                	.    \         P                  ! W4      # r.   )r   rect_t_move_byr^  s   &&r   move_byrect_t.move_by  r6  r#   c                   V ^8  d   QhRR/# rX   rY   r  r$   )rZ   s   "r   r[   rH    s     . .y .r#   c                	.    \         P                  ! V 4      # r.   )r   rect_t_centerrg   s   &r   centerrect_t.center  rM  r#   c                   V ^8  d   QhRR/# rg  r$   )rZ   s   "r   r[   rH    s     / /	 /r#   c                	.    \         P                  ! V 4      # r.   )r   rect_t_topleftrg   s   &r   topleftrect_t.topleft  r  r#   c                   V ^8  d   QhRR/# rg  r$   )rZ   s   "r   r[   rH    s     3 3I 3r#   c                	.    \         P                  ! V 4      # r.   )r   rect_t_bottomrightrg   s   &r   bottomrightrect_t.bottomright  r<  r#   c                    V ^8  d   QhRRRR/# )rX   deltarm   rY   rc   r$   )rZ   s   "r   r[   rH    s     3 3# 3 3r#   c                	.    \         P                  ! W4      # r.   )r   rect_t_grow)r   rw  s   &&r   r   rect_t.grow  s    %%d22r#   c                    V ^8  d   QhRRRR/# rX   r   rs  rY   rc   r$   )rZ   s   "r   r[   rH    s     4 48 4t 4r#   c                	.    \         P                  ! W4      # r.   )r   rect_t_intersectr   s   &&r   	intersectrect_t.intersect      **433r#   c                    V ^8  d   QhRRRR/# r|  r$   )rZ   s   "r   r[   rH    s     5 5H 5 5r#   c                	.    \         P                  ! W4      # r.   )r   rect_t_make_unionr   s   &&r   
make_unionrect_t.make_union  r  r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   rH    s     - -d -r#   c                	.    \         P                  ! V 4      # r.   )r   rect_t_emptyrg   s   &r   rx   rect_t.empty  rS  r#   c                    V ^8  d   QhRRRR/# rX   r   rs  rY   rt   r$   )rZ   s   "r   r[   rH    s     @ @x @4 @r#   c                	.    \         P                  ! W4      # r.   )r   rect_t_is_intersection_emptyr   s   &&r   is_intersection_emptyrect_t.is_intersection_empty      66t??r#   c                    V ^8  d   QhRRRR/# )rX   r*  r  rY   rt   r$   )rZ   s   "r   r[   rH    s     3 3) 3t 3r#   c                	.    \         P                  ! W4      # r.   )r   rect_t_containsr^  s   &&r   containsrect_t.contains  r  r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   rH    s     , ,S ,r#   c                	.    \         P                  ! V 4      # r.   )r   rect_t_arearg   s   &r   arearect_t.area  s    %%d++r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   rH         1 1 1D 1r#   c                	.    \         P                  ! W4      # r.   )r   rect_t___eq__r   s   &&r   r   rect_t.__eq__      ''00r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   rH    r  r#   c                	.    \         P                  ! W4      # r.   )r   rect_t___ne__r   s   &&r   r   rect_t.__ne__  r  r#   r$   N)+r   r   r8   r9   r   r   r   r
   r   rect_t_left_getrect_t_left_setr?  r  rect_t_top_getrect_t_top_setr@  rect_t_right_getrect_t_right_setrA  rect_t_bottom_getrect_t_bottom_setrB  rU   rK  rQ  rW  r_  rd  rj  ro  rt  r   r  r  rx   r  r  r  r   r   delete_rect_tr  r<   r$   r#   r   r;  r;    s   -/I!#GH33Z5O5O 
D# 

11:3L3LMCM*55zE3 :77FC G.-.22./3345-@3,11!//r#   r;  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   R	 tR
 R ltR R ltR R ltR R ltR R lt]P,                  tRtR# )TPointDoublei  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   TPointDouble.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   r,  rE   r  c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   TPointDouble_swiginitnew_TPointDoublerS   s   &*r   rU   TPointDouble.__init__  s"    ((z/J/J0 	r#   c                    V ^8  d   QhRRRR/# rX   r   'TPointDouble'rY   rc   r$   )rZ   s   "r   r[   TPointDouble.__annotate__       4 4^ 4t 4r#   c                	.    \         P                  ! W4      # r.   )r   TPointDouble_addr   s   &&r   r  TPointDouble.add  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   TPointDouble_subr   s   &&r   r  TPointDouble.sub  r  r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r    s     4 4t 4r#   c                	.    \         P                  ! V 4      # r.   )r   TPointDouble_negaterg   s   &r   r  TPointDouble.negate  rB  r#   c                    V ^8  d   QhRRRR/# rX   r   r  rY   rt   r$   )rZ   s   "r   r[   r         7 7 7$ 7r#   c                	.    \         P                  ! W4      # r.   )r   TPointDouble___eq__r   s   &&r   r   TPointDouble.__eq__      --d66r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   TPointDouble___ne__r   s   &&r   r   TPointDouble.__ne__  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   TPointDouble_x_getTPointDouble_x_setrE   r  TPointDouble_y_getTPointDouble_y_setr  rU   r  r  r  r   r   delete_TPointDoubler  r<   r$   r#   r   r  r    s    -/I!#GH:88*Ax :88*Ax 44477!55r#   r  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR]R
&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    R R ltR t]P6                  tRtR# )edge_info_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   edge_info_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   r[  colorrm   rQ  srcoffdstoffz'pointseq_t'layoutc                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   edge_info_t.__annotate__  s     ; ;t ;r#   c                	.    \         P                  ! V 4      # r.   )r   edge_info_t_reverse_layoutrg   s   &r   reverse_layoutedge_info_t.reverse_layout      44T::r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   edge_info_t_swiginitnew_edge_info_trg   s   &r   rU   edge_info_t.__init__  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   edge_info_t_color_getedge_info_t_color_setr  r  edge_info_t_width_getedge_info_t_width_setrQ  edge_info_t_srcoff_getedge_info_t_srcoff_setr  edge_info_t_dstoff_getedge_info_t_dstoff_setr  edge_info_t_layout_getedge_info_t_layout_setr  r  rU   delete_edge_info_tr  r<   r$   r#   r   r  r    s    -/I!#GH!*"B"B((*E; **::JE3 :<<j FC  :<<j FC  #J$E$E))+FL +;L!44r#   r  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    R
 tR R ltR R ltR R lt]P(                  tRtR# )edge_layout_point_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   edge_layout_point_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   rm   pidx'edge_t'ec                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   edge_layout_point_t_swiginitnew_edge_layout_point_trS   s   &*r   rU   edge_layout_point_t.__init__(  s'    //j##7$%)7+ 	,r#   c                    V ^8  d   QhRRRR/# )rX   r   'edge_layout_point_t'rY   rm   r$   )rZ   s   "r   r[    edge_layout_point_t.__annotate__,  s     ? ?. ?# ?r#   c                	.    \         P                  ! W4      # r.   )r   edge_layout_point_t_comparer   s   &&r   compareedge_layout_point_t.compare,      55d>>r#   c                    V ^8  d   QhRRRR/# rX   r   r  rY   rt   r$   )rZ   s   "r   r[   r  /       > >- > >r#   c                	.    \         P                  ! W4      # r.   )r   edge_layout_point_t___eq__r   s   &&r   r   edge_layout_point_t.__eq__/      44T==r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  2  r  r#   c                	.    \         P                  ! W4      # r.   )r   edge_layout_point_t___ne__r   s   &&r   r   edge_layout_point_t.__ne__2  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   edge_layout_point_t_pidx_getedge_layout_point_t_pidx_setr  r  edge_layout_point_t_e_getedge_layout_point_t_e_setr  rU   r  r   r   delete_edge_layout_point_tr  r<   r$   r#   r   r  r    s    -/I!#GH@@//1D# 1:??	"	"$Ax $,?>>!<<r#   r  c                  V   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    R tR R ltR R ltR R ltR R lt]P0                  tRtR# )selection_item_ti:  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   selection_item_t.<lambda>;  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  ;  rL   r#   rM   rN   rt   is_noderm   r  r  elpc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   selection_item_t_swiginitnew_selection_item_trS   s   &*r   rU   selection_item_t.__init__K  s'    ,,T:  4!"&4( 	)r#   c                    V ^8  d   QhRRRR/# )rX   r   r   rY   rm   r$   )rZ   s   "r   r[   selection_item_t.__annotate__O  s     < <+ <s <r#   c                	.    \         P                  ! W4      # r.   )r   selection_item_t_comparer   s   &&r   r  selection_item_t.compareO  r  r#   c                    V ^8  d   QhRRRR/# rX   r   r   rY   rt   r$   )rZ   s   "r   r[   r'  R       ; ;* ;d ;r#   c                	.    \         P                  ! W4      # r.   )r   selection_item_t___eq__r   s   &&r   r   selection_item_t.__eq__R      11$::r#   c                    V ^8  d   QhRRRR/# r,  r$   )rZ   s   "r   r[   r'  U  r-  r#   c                	.    \         P                  ! W4      # r.   )r   selection_item_t___ne__r   s   &&r   r   selection_item_t.__ne__U  r1  r#   c                    V ^8  d   QhRRRR/# r,  r$   )rZ   s   "r   r[   r'  X  r-  r#   c                	.    \         P                  ! W4      # r.   )r   selection_item_t___lt__r   s   &&r   __lt__selection_item_t.__lt__X  r1  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   selection_item_t_is_node_getselection_item_t_is_node_setr   r  selection_item_t_node_getselection_item_t_node_setr  selection_item_t_elp_getselection_item_t_elp_setr!  rU   r  r   r   r9  delete_selection_item_tr  r<   r$   r#   r   r  r  :  s    -/I!#GHZDD//1GT 1==z!!#D# #!)*  *"E"E"GC	 G)<;;;!99r#   r  c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P(                  tRtR# )screen_graph_selection_ti`  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   !screen_graph_selection_t.<lambda>a  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   rE  a  rL   r#   rM   rN   c                    V ^8  d   QhRRRR/# )rX   itemr   rY   rt   r$   )rZ   s   "r   r[   %screen_graph_selection_t.__annotate__e  s     C C* Cd Cr#   c                	.    \         P                  ! W4      # r.   )r   screen_graph_selection_t_has)r   rH  s   &&r   r   screen_graph_selection_t.hase  s    66tBBr#   c                    V ^8  d   QhRRRR/# rX   r   'screen_graph_selection_t'rY   rc   r$   )rZ   s   "r   r[   rI  h       @ @/ @4 @r#   c                	.    \         P                  ! W4      # r.   )r   screen_graph_selection_t_addr   r   s   &&r   r  screen_graph_selection_t.addh  r  r#   c                    V ^8  d   QhRRRR/# rN  r$   )rZ   s   "r   r[   rI  k  rP  r#   c                	.    \         P                  ! W4      # r.   )r   screen_graph_selection_t_subrS  s   &&r   r  screen_graph_selection_t.subk  r  r#   c                    V ^8  d   QhRRRR/# rX   r  rm   rY   rc   r$   )rZ   s   "r   r[   rI  n       H HS HD Hr#   c                	.    \         P                  ! W4      # r.   )r   !screen_graph_selection_t_add_noder   r  s   &&r   add_node!screen_graph_selection_t.add_noden  r  r#   c                    V ^8  d   QhRRRR/# rZ  r$   )rZ   s   "r   r[   rI  q  r[  r#   c                	.    \         P                  ! W4      # r.   )r   !screen_graph_selection_t_del_noder^  s   &&r   del_node!screen_graph_selection_t.del_nodeq  r  r#   c               $    V ^8  d   QhRRRRRR/# rX   r  r  idxrm   rY   rc   r$   )rZ   s   "r   r[   rI  t  &     K K8 K# K Kr#   c                	0    \         P                  ! WV4      # r.   )r   "screen_graph_selection_t_add_pointr   r  rh  s   &&&r   	add_point"screen_graph_selection_t.add_pointt      <<TcJJr#   c               $    V ^8  d   QhRRRRRR/# rg  r$   )rZ   s   "r   r[   rI  w  ri  r#   c                	0    \         P                  ! WV4      # r.   )r   "screen_graph_selection_t_del_pointrl  s   &&&r   	del_point"screen_graph_selection_t.del_pointw  ro  r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   rI  z  s     E EC Er#   c                	.    \         P                  ! V 4      # r.   )r   $screen_graph_selection_t_nodes_countrg   s   &r   nodes_count$screen_graph_selection_t.nodes_countz  r   r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   rI  }  s     F FS Fr#   c                	.    \         P                  ! V 4      # r.   )r   %screen_graph_selection_t_points_countrg   s   &r   points_count%screen_graph_selection_t.points_count}  r   r#   c                    V ^8  d   QhRRRR/# )rX   look_for_nodesrt   rY   rm   r$   )rZ   s   "r   r[   rI    s      $ # r#   c                	0    \         P                  ! V V4      # r.   )r   $screen_graph_selection_t_items_count)r   r  s   &&r   items_count$screen_graph_selection_t.items_count  s    >>t 	r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   !screen_graph_selection_t_swiginitnew_screen_graph_selection_trg   s   &r   rU   !screen_graph_selection_t.__init__  s$    44T:((<) <+ 	,r#   r$   N)r   r   r8   r9   r   r   r   r
   r   r  r  r_  rd  rm  rs  rx  r}  r  rU   r   delete_screen_graph_selection_tr  r<   r$   r#   r   rC  rC  `  sh    -/I!#GHC@@HHKKEF, "AAr#   rC  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   ]! ]P                   ]P"                  4      tR]R
&   ]! ]P&                  ]P(                  4      tR]R&   R R ltR R ltR R ltR t]P4                  tRtR# )edge_segment_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   edge_segment_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   r  r  rm   nsegx0x1c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   edge_segment_t.__annotate__  s     6 6s 6r#   c                	.    \         P                  ! V 4      # r.   )r   edge_segment_t_lengthrg   s   &r   lengthedge_segment_t.length  rq  r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r    s     7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   edge_segment_t_torightrg   s   &r   torightedge_segment_t.toright  r7  r#   c                    V ^8  d   QhRRRR/# )rX   r   z'edge_segment_t'rY   rt   r$   )rZ   s   "r   r[   r    s     9 9( 9D 9r#   c                	.    \         P                  ! W4      # r.   )r   edge_segment_t___lt__r   s   &&r   r9  edge_segment_t.__lt__  r;  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   edge_segment_t_swiginitnew_edge_segment_trg   s   &r   rU   edge_segment_t.__init__  $    **42 2! 	"r#   r$   N)r   r   r8   r9   r   r   r   r
   r   edge_segment_t_e_getedge_segment_t_e_setr  r  edge_segment_t_nseg_getedge_segment_t_nseg_setr  edge_segment_t_x0_getedge_segment_t_x0_setr  edge_segment_t_x1_getedge_segment_t_x1_setr  r  r  r9  rU   delete_edge_segment_tr  r<   r$   r#   r   r  r    s    -/I!#GH:::JAx ;;Z!D# !z77B z77B 679" "77r#   r  c                     ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    ]! ]P&                  ]P(                  4      tR
]R&    ]! ]P,                  ]P.                  4      tR]R&    ]! ]P2                  ]P4                  4      tR]R&    R R ltR R ltR t]P>                  t Rt!R# )graph_item_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   graph_item_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   z'graph_item_type_t'r   r  r  rm   r  br  r*  r  r!  c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   graph_item_t.__annotate__       5 5 5r#   c                	.    \         P                  ! V 4      # r.   )r   graph_item_t_is_noderg   s   &r   r   graph_item_t.is_node  rL  r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   graph_item_t_is_edgerg   s   &r   is_edgegraph_item_t.is_edge  rL  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   graph_item_t_swiginitnew_graph_item_trg   s   &r   rU   graph_item_t.__init__  s    ((z/J/J/LMr#   r$   N)"r   r   r8   r9   r   r   r   r
   r   graph_item_t_type_getgraph_item_t_type_setr   r  graph_item_t_e_getgraph_item_t_e_setr  graph_item_t_n_getgraph_item_t_n_setr  graph_item_t_b_getgraph_item_t_b_setr  graph_item_t_p_getgraph_item_t_p_setr*  graph_item_t_elp_getgraph_item_t_elp_setr!  r   r  rU   delete_graph_item_tr  r<   r$   r#   r   r  r    s   -/I!#GH ()I)I((!*D
 *:88*Ax j33ZAs j33ZAs J99:Ay !)**I*I''")C	 )55N!55r#   r  c                  <   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   R	 R
 ltR R ltR R ltR R ltR tR R ltR R ltR R ltR R lt]P2                  tRtR# )
interval_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   interval_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   rm   r  r  c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   interval_t.__annotate__  r  r#   c                	.    \         P                  ! V 4      # r.   )r   interval_t_emptyrg   s   &r   rx   interval_t.empty  r  r#   c                    V ^8  d   QhRRRR/# rX   r   'interval_t'rY   rc   r$   )rZ   s   "r   r[   r    s     8 8< 84 8r#   c                	.    \         P                  ! W4      # r.   )r   interval_t_intersectr   s   &&r   r  interval_t.intersect  r}  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    s     9 9L 9D 9r#   c                	.    \         P                  ! W4      # r.   )r   interval_t_make_unionr   s   &&r   r  interval_t.make_union  r;  r#   c                    V ^8  d   QhRRRR/# )rX   shiftrm   rY   rc   r$   )rZ   s   "r   r[   r    s     : :S :D :r#   c                	.    \         P                  ! W4      # r.   )r   interval_t_move_by)r   r  s   &&r   rd  interval_t.move_by  s    ,,T99r#   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   interval_t_swiginitnew_interval_trS   s   &*r   rU   interval_t.__init__  r  r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r         2 2s 2r#   c                	.    \         P                  ! V 4      # r.   )r   interval_t_lengthrg   s   &r   r  interval_t.length  r  r#   c                    V ^8  d   QhRRRR/# )rX   rE   rm   rY   rt   r$   )rZ   s   "r   r[   r    s     7 7# 7 7r#   c                	.    \         P                  ! W4      # r.   )r   interval_t_containsr   s   &&r   r  interval_t.contains  r  r#   c                    V ^8  d   QhRRRR/# rX   r   r  rY   rt   r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   interval_t___eq__r   s   &&r   r   interval_t.__eq__  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  
  r  r#   c                	.    \         P                  ! W4      # r.   )r   interval_t___ne__r   s   &&r   r   interval_t.__ne__
  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   interval_t_x0_getinterval_t_x0_setr  r  interval_t_x1_getinterval_t_x1_setr  rx   r  r  rd  rU   r  r  r   r   delete_interval_tr  r<   r$   r#   r   r  r    s    -/I!#GHz33ZB z33ZB 189:O2755!33r#   r  c                  2   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR]R
&    R R ltR t]P*                  tRtR# )
row_info_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   row_info_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   r  nodesrm   r@  rB  c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   row_info_t.__annotate__#  r  r#   c                	.    \         P                  ! V 4      # r.   )r   row_info_t_heightrg   s   &r   rW  row_info_t.height#  r  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   row_info_t_swiginitnew_row_info_trg   s   &r   rU   row_info_t.__init__&  r8  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   row_info_t_nodes_getrow_info_t_nodes_setr
  r  row_info_t_top_getrow_info_t_top_setr@  row_info_t_bottom_getrow_info_t_bottom_setrB  rW  rU   delete_row_info_tr  r<   r$   r#   r   r  r    s    -/I!#GH !@!@'')E: )
55zC :;;ZFC 2J!33r#   r  c                  F   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR
]R&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    ]! ]P2                  ]P4                  4      tR]R&    ]P8                  tR R ltR R ltR R lt R R lt!R R lt"R R lt#R t$R t%R t&R!# )"drawable_graph_ti.  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   drawable_graph_t.<lambda>/  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  /  rL   r#   rM   rN   ra  titlert   rect_edges_madez'layout_type_t'current_layoutr  circle_centerrm   circle_radius'void *'callback_udc                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   drawable_graph_t.__annotate__Q  s     D D4 Dr#   c                	.    \         P                  ! V 4      # r.   )r   #drawable_graph_t_create_tree_layoutrg   s   &r   create_tree_layout#drawable_graph_t.create_tree_layoutQ  rz   r#   c               $    V ^8  d   QhRRRRRR/# )rX   r*  r  radiusrm   rY   rt   r$   )rZ   s   "r   r[   r(  T  s!      i   r#   c                	0    \         P                  ! WV4      # r.   )r   %drawable_graph_t_create_circle_layout)r   r*  r.  s   &&&r   create_circle_layout%drawable_graph_t.create_circle_layoutT  s    ??  	r#   c               $    V ^8  d   QhRRRRRR/# )rX   	_callback'hook_cb_t *'_udr%  rY   rc   r$   )rZ   s   "r   r[   r(  X  s&     N Nm N( Nd Nr#   c                	0    \         P                  ! WV4      # r.   )r   drawable_graph_t_set_callback)r   r4  r6  s   &&&r   set_callbackdrawable_graph_t.set_callbackX  s    77MMr#   c                    V ^8  d   QhRRRR/# )rX   coderm   rY   	'ssize_t'r$   )rZ   s   "r   r[   r(  [  s     > >3 >) >r#   c                	.    \         P                  ! W4      # r.   )r   drawable_graph_t_grcall)r   r<  s   &&r   grcalldrawable_graph_t.grcall[  s    11$==r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   z'edge_info_t *'r$   )rZ   s   "r   r[   r(  ^  s     = =( =o =r#   c                	.    \         P                  ! W4      # r.   )r   drawable_graph_t_get_edge)r   r  s   &&r   get_edgedrawable_graph_t.get_edge^  r  r#   c                    V ^8  d   QhRRRR/# )rX   r  rm   rY   rs  r$   )rZ   s   "r   r[   r(  a  s     : :s :h :r#   c                	.    \         P                  ! W4      # r.   )r   drawable_graph_t_nrectr  s   &&r   nrectdrawable_graph_t.nrecta  rH  r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   drawable_graph_t_swiginitnew_drawable_graph_tr  s   & r   rU   drawable_graph_t.__init__d  s>    >>--EE,,T:  4!!&4( 	)r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_drawable_graph_tr  r  rg   s   &r   r  drawable_graph_t.__disown__l  s/    		**40}}T""r#   r$   N)'r   r   r8   r9   r   r   r   r
   r   drawable_graph_t_title_getdrawable_graph_t_title_setr   r  $drawable_graph_t_rect_edges_made_get$drawable_graph_t_rect_edges_made_setr!  #drawable_graph_t_current_layout_get#drawable_graph_t_current_layout_setr"  "drawable_graph_t_circle_center_get"drawable_graph_t_circle_center_setr#  "drawable_graph_t_circle_radius_get"drawable_graph_t_circle_radius_setr$   drawable_graph_t_callback_ud_get drawable_graph_t_callback_ud_setr&  delete_drawable_graph_tr  r+  r1  r9  r@  rE  rJ  rU   r  r<   r$   r#   r   r  r  .  s4   -/I!#GH*??	#	#%E3 %$Z,,j,,.OT .&.z++Z++'-NO -'
**J** ,M9 ,!***J**,M3 ,$Z((*((*K *!99DN>=:)#r#   r  c                      ] tR tRt$ ]! R R RR7      tR t]tR R lt	]! ]
P                  ]
P                  4      tR	]R
&   RtR# )edge_infos_wrapper_tiy  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   edge_infos_wrapper_t.<lambda>z  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   rc  z  rL   r#   rM   rN   c                	    \        R 4      h)zNo constructor definedr   r   rT   kwargss   &*,r   rU   edge_infos_wrapper_t.__init__}  s    566r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   !edge_infos_wrapper_t.__annotate__  s     ; ;d ;r#   c                	.    \         P                  ! V 4      # r.   )r   edge_infos_wrapper_t_clearrg   s   &r   r   edge_infos_wrapper_t.clear  r  r#   z'edge_infos_t *'ptrr$   N)r   r   r8   r9   r   r   rU   r   r
   r   r   edge_infos_wrapper_t_ptr_getedge_infos_wrapper_t_ptr_setro  r  r<   r$   r#   r   ra  ra  y  sH    -/I!#G7H;$Z$$j&M&MOC	 Or#   ra  c                     ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&    ]! ]	P                  ]	P                  4      tR	]R
&    ]! ]	P"                  ]	P$                  4      tR]R&    ]! ]	P(                  ]	P*                  4      tR]R&   ]! ]	P.                  ]	P0                  4      tR]R&   ]! ]	P4                  ]	P6                  4      tR]R&   ]! ]	P:                  ]	P<                  4      tR]R&   ]! ]	P@                  ]	PB                  4      t"R]R&   ]! ]	PF                  ]	PH                  4      t%R]R&   ]	PL                  t'R R lt(R R lt)R R lt*R R lt+R R lt,R  R! lt-R" R# lt.R$ R% lt/R& R' lt0R( R) lt1R* R+ lt2R, R- lt3R. R/ lt4R0 R1 lt5R2 R3 lt6R4 R5 lt7R6 R7 lt8R8 R9 lt9R: R; lt:R< R= lt;R> R? lt<R@ RA lt=RB RC lt>RD RE lt?RF RG lt@RH RI ltARJ RK ltBRL RM ltCRN RO ltDRP RQ ltERR RS ltFRT RU ltGRV RW ltHRX RY ltIRZ R[ ltJR\ R] ltKR^ R_ ltLR` Ra ltMRb Rc ltNRd Re ltORf Rg ltPRh Ri ltQRj Rk ltRRl Rm ltSRn Ro ltTRp Rq ltURr Rs ltVRttWRu# )vinteractive_graph_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   interactive_graph_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   ru    rL   r#   rM   rN   c                	    \        R 4      hz*No constructor defined - class is abstractrf  rg  s   &*,r   rU   interactive_graph_t.__init__      IJJr#   rm   r  r  belongsz'bytevec_t'
node_flagsz'array_of_intvec_t'	org_succs	org_predssuccspredsz$'interactive_graph_t::node_layout_t'r
  z'edge_infos_wrapper_t'edgesc                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[    interactive_graph_t.__annotate__  s     9 9S 9r#   c                .    \         P                  ! V 4      # )zGet the total number of nodes (including group nodes, and including hidden nodes.)
See also node_qty()

:returns: the total number of nodes in the graph)r   interactive_graph_t_sizerg   s   &r   rp   interactive_graph_t.size  s    
 22488r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r    s     = = =r#   c                .    \         P                  ! V 4      # )zGet the number of visible nodes (the list can be retrieved using gdl.hpp's node_iterator)
See also size()

:returns: the number of visible nodes)r   interactive_graph_t_node_qtyrg   s   &r   node_qtyinteractive_graph_t.node_qty  s    
 66t<<r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r    s     : :d :r#   c                .    \         P                  ! V 4      # )zUIs the graph (visually) empty? 
        
:returns: true if there are no visible nodes)r   interactive_graph_t_emptyrg   s   &r   rx   interactive_graph_t.empty  s     33D99r#   c                    V ^8  d   QhRRRR/# rX   r  rm   rY   rt   r$   )rZ   s   "r   r[   r    s     A A3 A$ Ar#   c                .    \         P                  ! W4      # )zDIs the node visible?

:param node: the node number
:returns: success)r   interactive_graph_t_existsr^  s   &&r   existsinteractive_graph_t.exists  s    
 44T@@r#   c                    V ^8  d   QhRRRR/# rX   r  rm   rY   r$   )rZ   s   "r   r[   r    s      C 3 r#   c                0    \         P                  ! V V4      # )a  Get the node that currently visually represents 'node'. This will find the "closest" parent group node that's visible, by attempting to walk up the group nodes that contain 'node', and will stop when it finds a node that is currently visible.
See also get_group_node() 
        
:param node: the node
:returns: the node that represents 'node', or 'node' if it's not part of any group)r   +interactive_graph_t_get_node_representativer^  s   &&r   get_node_representative+interactive_graph_t.get_node_representative  s     EEd 	r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    s     I I3 I# Ir#   c                	.    \         P                  ! W4      # r.   )r   "interactive_graph_t_get_node_groupr^  s   &&r   get_node_group"interactive_graph_t.get_node_group  r  r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   grouprY   rc   r$   )rZ   s   "r   r[   r    s&     P P3 Ps Pd Pr#   c                	0    \         P                  ! WV4      # r.   )r   "interactive_graph_t_set_node_group)r   r  r  s   &&&r   set_node_group"interactive_graph_t.set_node_group  s    <<TOOr#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    s     J JC J4 Jr#   c                	.    \         P                  ! W4      # r.   )r   #interactive_graph_t_is_deleted_noder^  s   &&r   is_deleted_node#interactive_graph_t.is_deleted_node  s    ==dIIr#   c                    V ^8  d   QhRRRR/# rZ  r$   )rZ   s   "r   r[   r         K KS KD Kr#   c                	.    \         P                  ! W4      # r.   )r   $interactive_graph_t_set_deleted_noder^  s   &&r   set_deleted_node$interactive_graph_t.set_deleted_node      >>tJJr#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   $interactive_graph_t_is_subgraph_noder^  s   &&r   is_subgraph_node$interactive_graph_t.is_subgraph_node  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    s     F F Ft Fr#   c                	.    \         P                  ! W4      # r.   )r   interactive_graph_t_is_dot_noder^  s   &&r   is_dot_nodeinteractive_graph_t.is_dot_node  s    99$EEr#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    s     H H# H Hr#   c                	.    \         P                  ! W4      # r.   )r   !interactive_graph_t_is_group_noder^  s   &&r   is_group_node!interactive_graph_t.is_group_node  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r         N N Nt Nr#   c                	.    \         P                  ! W4      # r.   )r   'interactive_graph_t_is_displayable_noder^  s   &&r   is_displayable_node'interactive_graph_t.is_displayable_node      AA$MMr#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    s     I I3 I$ Ir#   c                	.    \         P                  ! W4      # r.   )r   "interactive_graph_t_is_simple_noder^  s   &&r   is_simple_node"interactive_graph_t.is_simple_node  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    s     L Lc LT Lr#   c                	.    \         P                  ! W4      # r.   )r   %interactive_graph_t_is_collapsed_noder^  s   &&r   is_collapsed_node%interactive_graph_t.is_collapsed_node  s    ??KKr#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! W4      # r.   )r   'interactive_graph_t_is_uncollapsed_noder^  s   &&r   is_uncollapsed_node'interactive_graph_t.is_uncollapsed_node  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    s     J JC J4 Jr#   c                .    \         P                  ! W4      # )zIs the node currently visible?
An invisible node is a node that's part of a group that's currently collapsed.

:param node: the node
:returns: success)r   #interactive_graph_t_is_visible_noder^  s   &&r   is_visible_node#interactive_graph_t.is_visible_node  s     ==dIIr#   c                    V ^8  d   QhRRRR/# )rX   r  rm   rY   r$   )rZ   s   "r   r[   r     s      S C r#   c                	0    \         P                  ! V V4      # r.   )r   +interactive_graph_t_get_first_subgraph_noder   r  s   &&r   get_first_subgraph_node+interactive_graph_t.get_first_subgraph_node   s    EEd 	r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   currentrY   r$   )rZ   s   "r   r[   r    s!      C #  r#   c                	0    \         P                  ! V W4      # r.   )r   *interactive_graph_t_get_next_subgraph_node)r   r  r  s   &&&r   get_next_subgraph_node*interactive_graph_t.get_next_subgraph_node  s    DDT 	r#   c                    V ^8  d   QhRRRR/# )rX   r
  'intvec_t const &'rY   rm   r$   )rZ   s   "r   r[   r    s     H H"4 H Hr#   c                .    \         P                  ! W4      # )zCreate a new group node, that will contain all the nodes in 'nodes'.

:param nodes: the nodes that will be part of the group
:returns: the group node, or -1 in case of error)r    interactive_graph_t_create_group)r   r
  s   &&r   create_group interactive_graph_t.create_group  s    
 ::4GGr#   c                    V ^8  d   QhRRRR/# )rX   r  rm   rY   rt   r$   )rZ   s   "r   r[   r    s     H H# H Hr#   c                .    \         P                  ! W4      # )zDelete a group node.
This deletes the group node only; it does not delete nodes that are part of the group.

:param group: the group node
:returns: success)r    interactive_graph_t_delete_groupr  s   &&r   delete_group interactive_graph_t.delete_group  s     ::4GGr#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   expandrt   rY   r$   )rZ   s   "r   r[   r    s!      S $ $ r#   c                0    \         P                  ! V W4      # )zyExpand/collapse a group node

:param group: the group node
:param expand: whether to expand or collapse
:returns: success)r   +interactive_graph_t_change_group_visibility)r   r  r  s   &&&r   change_group_visibility+interactive_graph_t.change_group_visibility  s     EEd 	r#   c                    V ^8  d   QhRRRR/# rX   r  rm   rY   r$   )rZ   s   "r   r[   r          = =s =c =r#   c                	.    \         P                  ! W4      # r.   )r   interactive_graph_t_nsuccr   r  s   &&r   nsuccinteractive_graph_t.nsucc   r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  #  r  r#   c                	.    \         P                  ! W4      # r.   )r   interactive_graph_t_npredr  s   &&r   npredinteractive_graph_t.npred#  r  r#   c               $    V ^8  d   QhRRRRRR/# rX   r  rm   r  rY   r$   )rZ   s   "r   r[   r  &  !     ? ?c ?c ?S ?r#   c                	0    \         P                  ! WV4      # r.   )r   interactive_graph_t_succr   r  r  s   &&&r   succinteractive_graph_t.succ&      224A>>r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rZ   s   "r   r[   r  )  r	  r#   c                	0    \         P                  ! WV4      # r.   )r   interactive_graph_t_predr  s   &&&r   predinteractive_graph_t.pred)  r  r#   c                    V ^8  d   QhRRRR/# rX   r  rm   rY   r  r$   )rZ   s   "r   r[   r  ,       ? ? ? 2 ?r#   c                	.    \         P                  ! W4      # r.   )r   interactive_graph_t_succsetr  s   &&r   succsetinteractive_graph_t.succset,  r
  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  /  r  r#   c                	.    \         P                  ! W4      # r.   )r   interactive_graph_t_predsetr  s   &&r   predsetinteractive_graph_t.predset/  r
  r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  2  s     : :d :r#   c                	.    \         P                  ! V 4      # r.   )r   interactive_graph_t_resetrg   s   &r   resetinteractive_graph_t.reset2  s    33D99r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r  5  s     @ @D @r#   c                .    \         P                  ! V 4      # )zTRecompute the layout, according to the value of 'current_layout'.

:returns: success)r   interactive_graph_t_redo_layoutrg   s   &r   redo_layoutinteractive_graph_t.redo_layout5  s     99$??r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  ;  s     > > >t >r#   c                .    \         P                  ! W4      # )z5Resize the graph to 'n' nodes

:param n: the new size)r   interactive_graph_t_resizer  s   &&r   r   interactive_graph_t.resize;  s     44T==r#   c                    V ^8  d   QhRRRR/# )rX   r   rs  rY   rm   r$   )rZ   s   "r   r[   r  A  s     @ @( @c @r#   c                .    \         P                  ! W4      # )zrAdd a node, possibly with a specific geometry

:param r: the node geometry (can be nullptr)
:returns: the new node)r   interactive_graph_t_add_noder   s   &&r   r_  interactive_graph_t.add_nodeA      
 66t??r#   c                    V ^8  d   QhRRRR/# )rX   r  rm   rY   r=  r$   )rZ   s   "r   r[   r  H  s     @ @# @ @r#   c                .    \         P                  ! W4      # )zQDelete a node

:param n: the node to delete
:returns: the number of deleted edges)r   interactive_graph_t_del_noder  s   &&r   rd  interactive_graph_t.del_nodeH  r3  r#   c               (    V ^8  d   QhRRRRRRRR/# )rX   r  rm   jei'edge_info_t'rY   rt   r$   )rZ   s   "r   r[   r  O  s.     G G# G# G= GD Gr#   c                	0    \         P                  ! WW#4      # r.   )r   interactive_graph_t_add_edge)r   r  r9  r:  s   &&&&r   add_edgeinteractive_graph_t.add_edgeO  s    66tFFr#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   r9  rY   rt   r$   )rZ   s   "r   r[   r  R  s&     C C# C# C Cr#   c                	0    \         P                  ! WV4      # r.   )r   interactive_graph_t_del_edge)r   r  r9  s   &&&r   del_edgeinteractive_graph_t.del_edgeR  s    66tBBr#   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )rX   r  rm   r9  rE   r  rY   rt   r$   )rZ   s   "r   r[   r  U  s6     M Mc Mc Mc Mc MT Mr#   c                	2    \         P                  ! WW#V4      # r.   )r    interactive_graph_t_replace_edge)r   r  r9  rE   r  s   &&&&&r   replace_edge interactive_graph_t.replace_edgeU  s    ::4A!LLr#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r  X  s     < < <r#   c                .    \         P                  ! V 4      # )a  Refresh the graph
A graph needs refreshing when it's "backing data". E.g., if the number (or contents) of the objects in the above example, change.
Let's say the user's plugin ends up finding a 5th piece of scattered data. It should then add it to its internal list of known objects, and tell IDA that the graph needs to be refreshed, using refresh_viewer(). This will cause IDA to:
* discard all its internal rendering information,
* call interactive_graph_t::refresh() on the graph so that the user's plugin has a chance to "sync" the number of nodes & edges that this graph contains, to the information that the plugin has collected so far
* re-create internal rendering information, and
* repaint the view



:returns: success)r   interactive_graph_t_refreshrg   s   &r   refreshinteractive_graph_t.refreshX  s     55d;;r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   r   rs  rY   rt   r$   )rZ   s   "r   r[   r  f  s&     D D3 D8 Dt Dr#   c                	0    \         P                  ! WV4      # r.   )r   interactive_graph_t_set_nrect)r   r  r   s   &&&r   	set_nrectinteractive_graph_t.set_nrectf  s    77CCr#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r:  r;  rY   rt   r$   )rZ   s   "r   r[   r  i  s&     D D( D D Dr#   c                	0    \         P                  ! WV4      # r.   )r   interactive_graph_t_set_edge)r   r  r:  s   &&&r   set_edgeinteractive_graph_t.set_edgei  s    66tCCr#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r  l  s     J Jd Jr#   c                	.    \         P                  ! V 4      # r.   )r   )interactive_graph_t_create_digraph_layoutrg   s   &r   create_digraph_layout)interactive_graph_t.create_digraph_layoutl  s    CCDIIr#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  o       F F$ Fr#   c                	.    \         P                  ! V 4      # r.   )r   %interactive_graph_t_del_custom_layoutrg   s   &r   del_custom_layout%interactive_graph_t.del_custom_layouto  r   r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r  r  r_  r#   c                	.    \         P                  ! V 4      # r.   )r   %interactive_graph_t_get_custom_layoutrg   s   &r   get_custom_layout%interactive_graph_t.get_custom_layoutr  r   r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  u  r_  r#   c                	.    \         P                  ! V 4      # r.   )r   %interactive_graph_t_set_custom_layoutrg   s   &r   set_custom_layout%interactive_graph_t.set_custom_layoutu  r   r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r  x       E E Er#   c                	.    \         P                  ! V 4      # r.   )r   $interactive_graph_t_get_graph_groupsrg   s   &r   get_graph_groups$interactive_graph_t.get_graph_groupsx  r   r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r  {  ro  r#   c                	.    \         P                  ! V 4      # r.   )r   $interactive_graph_t_set_graph_groupsrg   s   &r   set_graph_groups$interactive_graph_t.set_graph_groups{  r   r#   c                    V ^8  d   QhRRRR/# )rX   arg2r  rY   r_  r$   )rZ   s   "r   r[   r  ~  s     H H"4 H Hr#   c                	.    \         P                  ! W4      # r.   )r   !interactive_graph_t_calc_group_ea)r   rz  s   &&r   calc_group_ea!interactive_graph_t.calc_group_ea~  r  r#   c                   V ^8  d   QhRR/# rs   r$   )rZ   s   "r   r[   r    s     B Bd Br#   c                	.    \         P                  ! V 4      # r.   )r   !interactive_graph_t_is_user_graphrg   s   &r   is_user_graph!interactive_graph_t.is_user_graph  s    ;;DAAr#   r$   N)Xr   r   r8   r9   r   r   rU   r   r
   r   interactive_graph_t_gid_getinteractive_graph_t_gid_setr  r  interactive_graph_t_belongs_getinteractive_graph_t_belongs_setr{  "interactive_graph_t_node_flags_get"interactive_graph_t_node_flags_setr|  !interactive_graph_t_org_succs_get!interactive_graph_t_org_succs_setr}  !interactive_graph_t_org_preds_get!interactive_graph_t_org_preds_setr~  interactive_graph_t_succs_getinteractive_graph_t_succs_setr  interactive_graph_t_preds_getinteractive_graph_t_preds_setr  interactive_graph_t_nodes_getinteractive_graph_t_nodes_setr
  interactive_graph_t_edges_getinteractive_graph_t_edges_setr  delete_interactive_graph_tr  rp   r  rx   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_  rd  r>  rC  rH  rM  rR  rW  r\  rb  rg  rl  rr  rw  r}  r  r<   r$   r#   r   rs  rs    s   -/I!#GKH
>>
##%C %":'''')GZ )&z**J**,J ,%-j)):))&+I" + &.j)):))&+I" + "**%%z'O'O"
E 
 "**%%z'O'O"
E 
 3;:%%z'O'O3
E/ 
 %-Z%%z'O'O%
E! 
 "<<9=:AIPJKKFHNILNJHH==????:@>@@GCM<DDJFFFEEHB Br#   rs  c                  p    ] tR tRt]! R R RR7      t]t]P                  t
R R ltR R	 ltR
 tR tRtR# )graph_visitor_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   graph_visitor_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   c               $    V ^8  d   QhRRRRRR/# )rX   rz  rm   arg3rs  rY   r$   )rZ   s   "r   r[   graph_visitor_t.__annotate__  s&     G Gs G( Gc Gr#   c                	0    \         P                  ! WV4      # r.   )r   graph_visitor_t_visit_noder   rz  r  s   &&&r   r  graph_visitor_t.visit_node      44TFFr#   c               $    V ^8  d   QhRRRRRR/# )rX   rz  r  r  r;  rY   rm   r$   )rZ   s   "r   r[   r    s&     G Gx G} G Gr#   c                	0    \         P                  ! WV4      # r.   )r   graph_visitor_t_visit_edger  s   &&&r   
visit_edgegraph_visitor_t.visit_edge  r  r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! V4      4       R # r.   )r   r  r   graph_visitor_t_swiginitnew_graph_visitor_tr  s   & r   rU   graph_visitor_t.__init__  s=    >>_,EE++D*3  %3' 	(r#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   r  r   disown_graph_visitor_tr  r  rg   s   &r   r  graph_visitor_t.__disown__  s/    		))$/}}T""r#   r$   N)r   r   r8   r9   r   r   r   r
   r   delete_graph_visitor_tr  r  r  rU   r  r<   r$   r#   r   r  r    s<    -/I!#GH!88GG(#r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R
 t]P"                  tRtR# )group_crinfo_tiq  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   group_crinfo_t.<lambda>r  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  r  rL   r#   rM   rN   r  r
  ra  rb  c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   group_crinfo_t_swiginitnew_group_crinfo_trg   s   &r   rU   group_crinfo_t.__init__z  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   group_crinfo_t_nodes_getgroup_crinfo_t_nodes_setr
  r  group_crinfo_t_text_getgroup_crinfo_t_text_setrb  rU   delete_group_crinfo_tr  r<   r$   r#   r   r  r  q  sp    -/I!#GH !D!D++-E: -;;Z!D# !" "77r#   r  c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# )rX   r   ra  idrm   callbackr5  udr%  title_heightparent'TWidget *'rY   'graph_viewer_t *'r$   )rZ   s   "r   r[   r[     sA      s  } )4r#   c                2    \         P                  ! WW#WE4      # )aB  Create a custom graph viewer. 
        
:param title: the widget title
:param id: graph id
:param callback: callback to handle graph notifications (graph_notification_t)
:param ud: user data passed to callback
:param title_height: node title height
:param parent: the parent widget of the graph viewer
:returns: new viewer)r   create_graph_viewer)r   r  r  r  r  r  s   &&&&&&r   r  r    s     ))%X r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   r  r$   )rZ   s   "r   r[   r[     s     / /[ /,> /r#   c                .    \         P                  ! V 4      # )z(Get custom graph viewer for given form.
)r   get_graph_viewer)r  s   &r   r  r    s     &&v..r#   c                    V ^8  d   QhRRRR/# )rX   r  rm   rY   'interactive_graph_t *'r$   )rZ   s   "r   r[   r[     s     3 3 3(? 3r#   c                .    \         P                  ! V 4      # )z(Create a new empty graph with given id.
)r   create_interactive_graph)r  s   &r   r  r    s     ..r22r#   c                   V ^8  d   QhRR/# )rX   rY   r  r$   )rZ   s   "r   r[   r[     s     1 1!8 1r#   c                 *    \         P                  ! V !  # )a  This function has the following signatures:

    0. create_disasm_graph(ea: ida_idaapi.ea_t) -> interactive_graph_t *
    1. create_disasm_graph(ranges: const rangevec_t &) -> interactive_graph_t *

# 0: create_disasm_graph(ea: ida_idaapi.ea_t) -> interactive_graph_t *

Create a graph for the function that contains 'ea'.


# 1: create_disasm_graph(ranges: const rangevec_t &) -> interactive_graph_t *

Create a graph using an arbitrary set of ranges.

)r   create_disasm_graph)rT   s   *r   r  r    s      ))400r#   c                    V ^8  d   QhRRRR/# )rX   gvr  rY   r  r$   )rZ   s   "r   r[   r[     s     + ++ +/F +r#   c                .    \         P                  ! V 4      # )z0Get graph object for given custom graph viewer.
)r   get_viewer_graphr  s   &r   r  r    s     &&r**r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  g'interactive_graph_t'rY   rc   r$   )rZ   s   "r   r[   r[     s#     . .+ .0E . .r#   c                .    \         P                  ! W4      # )z6Set the underlying graph object for the given viewer.
)r   set_viewer_graph)r  r  s   &&r   r  r    s     &&r--r#   c                    V ^8  d   QhRRRR/# rX   r  r  rY   rc   r$   )rZ   s   "r   r[   r[     s     ) )) )T )r#   c                .    \         P                  ! V 4      # )z$Redraw the graph in the given view.
)r   refresh_viewerr  s   &r   r  r    s     $$R((r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     , ,, , ,r#   c                .    \         P                  ! V 4      # )z%Fit graph viewer to its parent form.
)r   viewer_fit_windowr  s   &r   r  r    s     ''++r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   rm   r$   )rZ   s   "r   r[   r[     s     - -- - -r#   c                .    \         P                  ! V 4      # )z3Get number of currently selected node (-1 if none)
)r   viewer_get_curnoder  s   &r   r  r    s     ((,,r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r  rm   rY   rc   r$   )rZ   s   "r   r[   r[     s"     1 1+ 13 1$ 1r#   c                .    \         P                  ! W4      # )z)Center the graph view on the given node.
)r   viewer_center_on)r  r  s   &&r   r  r    s     &&r00r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  gliz'graph_location_info_t const *'r^  rm   rY   rc   r$   )rZ   s   "r   r[   r[     s,     5 5) 5#5,/5595r#   c                0    \         P                  ! WV4      # )zSet location info for given graph view If flags contains GLICTL_CENTER, then the gli will be set to be the center of the view. Otherwise it will be the top-left. 
        )r   viewer_set_gli)r  r  r^  s   &&&r   r  r    s     $$Re44r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  z'graph_location_info_t *'r  r  r^  rm   rY   rt   r$   )rZ   s   "r   r[   r[     s,     5 51 57I 555r#   c                0    \         P                  ! WV4      # )zGet location info for given graph view If flags contains GLICTL_CENTER, then the gli that will be retrieved, will be the one at the center of the view. Otherwise it will be the top-left. 
        )r   viewer_get_gli)r  r  r^  s   &&&r   r  r    s     $$Se44r#   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rX   r  r  r  rm   r  r  r^  rY   rc   r$   )rZ   s   "r   r[   r[     s2     = =/ =C =] ===r#   c                0    \         P                  ! WW#4      # )z=Set node info for node in given viewer (see set_node_info())
)r   viewer_set_node_info)r  r  r  r^  s   &&&&r   r  r    s     **2"<<r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  r  r  r  rm   rY   rt   r$   )rZ   s   "r   r[   r[     s*     7 7/ 7m 7 77r#   c                0    \         P                  ! WV4      # )z=Get node info for node in given viewer (see get_node_info())
)r   viewer_get_node_info)r  r  r  s   &&&r   r  r    s     **2A66r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r  rm   rY   rc   r$   )rZ   s   "r   r[   r[     s"     2 2/ 2C 24 2r#   c                .    \         P                  ! W4      # )z@Delete node info for node in given viewer (see del_node_info())
)r   viewer_del_node_info)r  r  s   &&r   r  r    s     **211r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  out_group_nodesz'intvec_t *'giz'groups_crinfos_t const &'rY   rt   r$   )rZ   s   "r   r[   r[     s2     	D 	D/ 	D	D0	D48	Dr#   c                0    \         P                  ! WV4      # )at  This will perform an operation similar to what happens when a user manually selects a set of nodes, right-clicks and selects "Create group". This is a wrapper around interactive_graph_t::create_group that will, in essence:
* clone the current graph
* for each group_crinfo_t, attempt creating group in that new graph
* if all were successful, animate to that new graph.


)r   viewer_create_groups)r  r  r  s   &&&r   r  r    s     **2CCr#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  groupsr  new_currentrm   rY   rt   r$   )rZ   s   "r   r[   r[     s2     	D 	D/ 	D9K 	D	D	Dr#   c                0    \         P                  ! WV4      # )zWrapper around interactive_graph_t::delete_group. This function will:
* clone the current graph
* attempt deleting the groups in that new graph
* if successful, animate to that new graph. 


        )r   viewer_delete_groups)r  r   r  s   &&&r   r  r    s     **2{CCr#   c          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
rX   r  r  r   r  r  rt   r  rm   rY   r$   )rZ   s   "r   r[   r[     s4     
 
%7 

 $
36
=A
r#   c                2    \         P                  ! WVV4      # )zWrapper around interactive_graph_t::change_visibility. This function will:
* clone the current graph
* attempt changing visibility of the groups in that new graph
* if successful, animate to that new graph. 


        )r   viewer_set_groups_visibility)r  r   r  r  s   &&&&r   r  r    s     222v r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r   ra  rY   rt   r$   )rZ   s   "r   r[   r[     s"     7 71 7 7 7r#   c                .    \         P                  ! W4      # )zAttach a previously-registered action to the view's context menu. See kernwin.hpp for how to register actions. 
        
:param g: graph viewer
:param name: action name
:returns: success)r   viewer_attach_menu_item)r  r   s   &&r   r	  r	    s     --a66r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  sgsrO  rY   rt   r$   )rZ   s   "r   r[   r[   &  s$     4 4/ 44"&4r#   c                .    \         P                  ! W4      # )z/Get currently selected items for graph viewer.
)r   viewer_get_selection)r  r  s   &&r   r  r  &  s     **233r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  rW  rm   rY   r$   )rZ   s   "r   r[   r[   -  s"     = =#5 =s =c =r#   c                .    \         P                  ! W4      # )z;Set height of node title bars (grcode_set_titlebar_height)
)r   viewer_set_titlebar_height)r  rW  s   &&r   r  r  -  s     00<<r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   rc   r$   )rZ   s   "r   r[   r[   3  s     2 2 5 2 2r#   c                .    \         P                  ! V 4      # )zDelete graph object. 
        )r   delete_interactive_graph)r  s   &r   r  r  3  s     ..q11r#   c                      ] tR tRt$ ]! R R RR7      tR t]t]! ]	P                  ]	P                  4      tR]R&   R	tR
# )user_graph_place_ti9  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   user_graph_place_t.<lambda>:  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  :  rL   r#   rM   rN   c                	    \        R 4      hrx  rf  rg  s   &*,r   rU   user_graph_place_t.__init__=  rz  r#   rm   r  r$   N)r   r   r8   r9   r   r   rU   r   r
   r   user_graph_place_t_node_getuser_graph_place_t_node_setr  r  r<   r$   r#   r   r  r  9  sA    -/I!#GKH??	$	$&D# &r#   r  c               $    V ^8  d   QhRRRRRR/# )rX   r  rm   lnnumrY   z'user_graph_place_t *'r$   )rZ   s   "r   r[   r[   G  s"     ; ;# ;c ;5K ;r#   c                .    \         P                  ! W4      # )zIGet a copy of a user_graph_place_t (returns a pointer to static storage)
)r   create_user_graph_place)r  r  s   &&r   r   r   G  s     --d::r#   c                    V ^8  d   QhRRRR/# )rX   r  'PyObject *'rY   rc   r$   )rZ   s   "r   r[   r[   M  s     ' '\ 'T 'r#   c                .    \         P                  ! V 4      # r.   r   	pyg_closer  s   &r   r%  r%  M  s    &&r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r"  nidrm   rY   rc   r$   )rZ   s   "r   r[   r[   Q  s!     2 2< 2c 2T 2r#   c                .    \         P                  ! W4      # r.   r   pyg_select_node)r  r(  s   &&r   r+  r+  Q  s    %%e11r#   c                    V ^8  d   QhRRRR/# )rX   r  r"  rY   rt   r$   )rZ   s   "r   r[   r[   U  s     & &L &D &r#   c                .    \         P                  ! V 4      # r.   )r   pyg_showr&  s   &r   r.  r.  U  s    u%%r#   c                     a  ] tR tRt ! R R]P
                  4      t RR ltR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tV 3R ltRtV ;t# )GraphViewerif  c                  "    ] tR tRtR tR tRtR# )GraphViewer.UI_Hooks_Trampolineii  c                	    \         P                  P                  V 4       V P                  4        ^ RIpVP
                  ! V4      V n        R# )    N)ida_kernwinUI_HooksrU   hookr  refrK   )r   rK   r  s   && r   rU   (GraphViewer.UI_Hooks_Trampoline.__init__k  s1      ))$/IIK[[^DFr#   c                	    V P                  4       P                  4       pW8X  d"   V P                  4       P                  W24       R # R # r.   )rK   	GetWidgetOnPopup)r   wpopup_handlemy_ws   &&& r   populating_widget_popup7GraphViewer.UI_Hooks_Trampoline.populating_widget_popupq  s4    668%%'Dy  4 r#   )rK   N)r   r   r8   r9   rU   r@  r<   r$   r#   r   UI_Hooks_Trampoliner2  i  s    	$	5r#   rB  c                   a  VS n         . S n        . S n        VS n        V 3R lp\        P
                  ! V4      S n        \        P                  P                  S 4       S P                  S 4      S n
        R# )z
Constructs the GraphView object.
Please do not remove or rename the private fields

:param title: The title of the graph window
:param close_open: Should it attempt to close an existing graph (with same title) before creating this graph?
c                &   < SP                  V4      # r.   )	OnCommand)ctxcmd_idr   s   &&r   _qccb#GraphViewer.__init__.<locals>._qccb  s    >>&))r#   N)_title_nodes_edges_close_openr5  quick_widget_commands_t_quick_commandsCustomIDAMemorU   rB  ui_hooks_trampoline)r   r   
close_openrH  s   f&& r   rU   GraphViewer.__init__w  sa     %	**BB5I!!**40#'#;#;D#A r#   c                f    \        V P                  4      pV P                  P                  V4       V# )zGCreates a node associated with the given object and returns the node id)r   rK  r  )r   objr  s   && r   AddNodeGraphViewer.AddNode  s'    3	r#   c                    V\        V P                  4      8  g   Q RV,          4       hV\        V P                  4      8  g   Q RV,          4       hV P                  P                  W34       R# )z*Creates an edge between two given node idszSource node %d is out of boundsz$Destination node %d is out of boundsN)r   rK  rL  r  )r   src_node	dest_nodes   &&&r   AddEdgeGraphViewer.AddEdge  sq    #dkk   	<08;	< 3t{{   	B5	A	B H01r#   c                "    . V n         . V n        R# )zClears all the nodes and edgesN)rK  rL  rg   s   &r   ClearGraphViewer.Clear  s    r#   c                	V   a  V 3R  l\        ^ \        S P                  4      4       4       # )c              3  J   <"   T F  pSP                   V,          x  K  	  R # 5ir.   )rK  ).0indexr   s   & r   	<genexpr>'GraphViewer.__iter__.<locals>.<genexpr>  s     K0JuE""0Js    #)ranger   rK  rg   s   fr   r#  GraphViewer.__iter__  s    KaT[[9I0JKKr#   c                h    V\        V P                  4      8  d   \        hV P                  V,          # )z>Returns a reference to the object associated with this node id)r   rK  KeyError)r   rh  s   &&r   r	  GraphViewer.__getitem__  s'    #dkk""N;;s##r#   c                ,    \        V P                  4      # )zReturns the node count)r   rK  rg   s   &r   CountGraphViewer.Count  s    4;;r#   c                2    \         P                  ! V 4       R# )zW
Closes the graph.
It is possible to call Show() again (which will recreate the graph)
Nr$  rg   s   &r   CloseGraphViewer.Close  s    
 	T"r#   c                    V P                   '       d<   ^ RIpVP                  ! V P                  4      pV'       d   VP                  ! V^ 4       \
        P                  ! V 4      # )zA
Shows an existing graph or creates a new one

:returns: Boolean
N)rM  r5  find_widgetrJ  close_widgetr   r.  )r   r5  frms   &  r   ShowGraphViewer.Show  sK     ))$++6C((a0""4((r#   c                2    \         P                  ! W4       R# )zSelects a node on the graphNr*  )r   node_ids   &&r   SelectGraphViewer.Select  s    ""41r#   c                &    V P                  4        R# )aC  
Event called when the graph is refreshed or first created.
From this event you are supposed to create nodes and edges.
This callback is mandatory.

NOTE: ***It is important to clear previous nodes before adding nodes.***

:returns: Returning True tells the graph viewer to use the items. Otherwise old items will be used.
T)r^  rg   s   &r   	OnRefreshGraphViewer.OnRefresh  s     	

r#   c           	     	`    V P                   P                  V\        P                  RRRVR7      # )   N)captionr^  
menu_indexiconembshortcut)rO  r  r5  CHOOSER_POPUP_MENU)r   r   r  s   &&&r   
AddCommandGraphViewer.AddCommand  s3    ##''[2BD (  	r#   c                	<    V P                   P                  W4       R # r.   )rO  populate_popup)r   widgetr>  s   &&&r   r<  GraphViewer.OnPopup  s    ++FAr#   c                	    ^ # r4  r$   )r   rG  s   &&r   rE  GraphViewer.OnCommand  s    r#   c                	   < V'       d   V P                   P                  4        MV P                   P                  4        \        SV `  V4       R # r.   )rQ  r7  unhooksuper_OnBind)r   r7  r   s   &&r   r  GraphViewer._OnBind  s6    $$))+$$++-r#   )rM  rL  rK  rO  rJ  rQ  )F)r   r   r8   r9   r5  r6  rB  rU   rV  r[  r^  r#  r	  rl  ro  ru  ry  r|  r  r<  rE  r  r<   __classcell__)r   s   @r   r0  r0  f  sn    5k22 5 UB&2
L$ #)2
B r#   r0  r.   r  )r  )r:   
__future__r   sysr   _swig_python_version_info__package__r   r   r   builtinsr   ImportErrorr   r%   r+   r5   r   r7   r  SWIG_PYTHON_LEGACY_BOOLtypingr=   r>   r?   r  ida_gdlobjectrA   *screen_graph_selection_base_t_swigregisterr%  node_layout_t_swigregisterr  pointvec_t_swigregisterNIF_BG_COLORNIF_FRAME_COLORNIF_EANIF_TEXT	NIF_FLAGSNIF_ALLGLICTL_CENTERrW  node_info_t_swigregisterNIFF_SHOW_CONTENTSr  r  r  r  r  !graph_node_visitor_t_swigregisterr  !graph_path_visitor_t_swigregisterr  point_t_swigregisterr.  r0  pointseq_t_swigregisterr;  rect_t_swigregisterr  TPointDouble_swigregisterr  edge_info_t_swigregistercvarlayout_nonelayout_digraphlayout_treelayout_circlelayout_polar_treelayout_orthogonallayout_radial_treer   edge_layout_point_t_swigregisterr  selection_item_t_swigregisterrC  %screen_graph_selection_t_swigregisterr  edge_segment_t_swigregistergit_nonegit_edgegit_nodegit_toolgit_textgit_elpr  graph_item_t_swigregisterr  interval_t_swigregisterr  row_info_t_swigregistergdl_graph_tr  drawable_graph_t_swigregisterygapxgaparrow_heightarrow_widthra  !edge_infos_wrapper_t_swigregisterrs   interactive_graph_t_swigregisterMTG_GROUP_NODEMTG_DOT_NODEMTG_NON_DISPLAYABLE_NODECOLLAPSED_NODEr  graph_visitor_t_swigregistergrcode_calculating_layoutgrcode_layout_calculatedgrcode_changed_graphgrcode_reservedgrcode_clickedgrcode_dblclickedgrcode_creating_groupgrcode_deleting_groupgrcode_group_visibilitygrcode_gotfocusgrcode_lostfocusgrcode_user_refreshgrcode_reserved2grcode_user_textgrcode_user_sizegrcode_user_titlegrcode_user_drawgrcode_user_hintgrcode_destroyedgrcode_create_graph_viewergrcode_get_graph_viewergrcode_get_viewer_graphgrcode_create_interactive_graphgrcode_set_viewer_graphgrcode_refresh_viewergrcode_fit_windowgrcode_get_curnodegrcode_center_ongrcode_get_selectiongrcode_del_custom_layoutgrcode_set_custom_layoutgrcode_set_graph_groupsgrcode_cleargrcode_create_digraph_layoutgrcode_create_tree_layoutgrcode_create_circle_layoutgrcode_get_node_representativegrcode_find_subgraph_nodegrcode_create_groupgrcode_get_custom_layoutgrcode_get_graph_groupsgrcode_emptygrcode_is_visible_nodegrcode_delete_groupgrcode_change_group_visibilitygrcode_set_edgegrcode_node_qtygrcode_nrectgrcode_set_titlebar_heightgrcode_create_user_graph_placegrcode_create_disasm_graph1grcode_create_disasm_graph2grcode_set_node_infogrcode_get_node_infogrcode_del_node_infogrcode_viewer_create_groupsgrcode_viewer_delete_groupsgrcode_viewer_groups_visibilitygrcode_viewer_create_groups_vecgrcode_viewer_delete_groups_vec#grcode_viewer_groups_visibility_vecgrcode_delete_interactive_graphgrcode_edge_infos_wrapper_copygrcode_edge_infos_wrapper_cleargrcode_attach_menu_itemgrcode_set_gligrcode_get_glir  group_crinfo_t_swigregisterr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  user_graph_place_t_swigregisterr   r%  r+  r.  r5  edge_tnode_ordering_tabstract_graph_tmutable_graph_tcreate_mutable_graphdelete_mutable_graphgrcode_create_mutable_graphrP  r0  r$   r#   r   <module>r!     s#
    " 9#/"
 L$ L
 $<<  % %  f4F f4R  5 5!#f4F f4R  % %m 4e4 e4P  " ": .&&,,			  	


((95& 95x  # #K 022 4:/6+#6 +#\  , ,-A B#6 #D  , ,-A B1f 16    (&4 4  " ": .A0V A0H   v &66 6<  $ $\ 25& 5B  # #K 0$$""** ** ,, =& =8  + +,? @ :v  :F  ( ()9 :'B< 'BT  0 01I J8V 88  & &~ 6


%66 %6P  $ $\ 2#4 #4L  " ": .4 42  " ": .A#w** A#H  ( ()9 :yyyy  O6 O  , ,-A BxB* xBv  + +,? @**&&%>> **#f #4  ' ' 8&@@ %>> !66 ,,**00 "88 "88 $<< ,,..  44  .. .. .. 00 .. .. .. 'BB $<< $<< ","L"L $<< "88 00 22 .. !66 %>> %>> $<< &&)FF &@@ (DD !+!J!J &@@  44 %>> $<< &&#::  44 !+!J!J ,,,,&&'BB !+!J!J (DD (DD !66 !66 !66 (DD (DD ","L"L ","L"L ","L"L '1'' $","L"L !+!J!J ","L"L $<< ****8V 8  & &~ 6 /31&+.),-155=72	D	D
74=2& &  * *+= >;'2&   	))# %/ / = = z+++ zy:  s   e   ee